prf_design 1.0.8
prf_design: ^1.0.8 copied to clipboard
PRF Design System - Shared widgets, theme system, and essential utilities.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.8 - 2026-08-22 #
Changed #
- Downgraded
phone_form_fieldfrom^11.0.1to^10.0.18and removed thematerial_uidependency. v11 builds on the standalonematerial_uipackage whose widgets resolve separate Material/Theme/MaterialLocalizations classes, which crashed with "No Material widget found" / "No MaterialLocalizations found" whenPRFPhoneInputwas rendered inside hosts providing only Flutter's widgets (e.g.showModalBottomSheet). v10 is the last major built on the framework's own Material library and needs no workarounds.
1.0.7 - 2026-08-22 #
Added #
PRFOpacities— shared opacity steps for tinted overlays, borders, glows and disabled content (faint,subtle,hairline,muted,glow,accent,half,prominent,high,stronger,nearOpaque), exported from the tokens barrel.
1.0.3 - 2026-08-22 #
Added #
- New
layoutswidget category, exported from the main widgets barrel. PRFTabletSplitScaffold— canonical tablet geometry for list/detail screens: centered max-width stage with a content column and side panel column separated by a hairline divider (configurable flex weights and max width).PRFBrandPanel— navy "Living Root" side panel used on tablet split screens, with root-motif painting behind an optionally scrollable body.PRFTabletHeaderRow— tablet screen header with back navigation, an ellipsizing title, an optional inline loading spinner slot, and trailing actions.
Changed #
PRFTimelineMissionCardnow uses anInkWellfor tap ripple feedback instead of a bareGestureDetector.PRFTimelineMissionCardexposesSemantics(button role, school/status label, action hint) for accessibility.- Capacity info chip on
PRFTimelineMissionCardusescolorScheme.primary.
1.0.2 - 2026-08-06 #
Added #
PRFAdaptive+PRFBreakpointsadaptive layer, replacingflutter_adaptive_ui.- Unified
PRFButton(primary/secondary/destructive/google variants). - Unified
PRFTextField(text/email/name/number/password/textArea types). PRFPdfViewertaking decodedUint8Listbytes (no network I/O in the package).- Offline Manrope/Lato fonts declared as Flutter font assets.
Changed #
- Rewritten
PRFColorsas the single source of truth for every hex value (brand anchors, navy/lime 10-stop palettes, grays, status, accents). PRFThemenow uses a hand-authored Material 3ColorSchemeper brightness; droppedPRFThemeConfigand index-flipping palettes.PRFTheme.light/darkaccept optionalcolors:(PRFBaseColors, scheme derived from Material 3 tonal palettes) andcolorScheme:(full override) so consuming apps can bring their own palette.- Token values re-based on a 4px spacing grid and fixed radius scale.
PRFMediaCarouselcopy (tooltips, image error text) is now parameterized.PRFPhoneInputaccepts acountrieslist (defaults to Kenya).- Button and input widgets consolidated from per-variant folders into a single adaptive implementation.
Removed #
- Dependencies:
flutter_adaptive_ui,google_fonts,http. - Widgets with no consumers:
ImagePreviewPage,AnimatedStatCard,StatHighlightCard. - Backwards-compatible wrapper widgets:
PRFPrimaryButton,PRFSecondaryButton,PRFDestroyButton,PRFGoogleAuthButton,PRFTextInput,PRFEmailInput,PRFNameInput,PRFNumberInput,PRFPasswordInput,PRFTextAreaInput— usePRFButton/PRFTextFielddirectly (seedocs/migration_guide.md). PRFThemeConfig,PRFTextTheme.getErrorTextStyle/getSuccessTextStyle/getWarningTextStyle/getInfoTextStyle/getCaptionTextStyle.
0.4.0 - 2026-03-12 #
Changed #
- Breaking:
PRFTheme.lightandPRFTheme.darknow require an explicitscaleFactor. - Breaking:
PRFTextThemeAPIs now require an explicitscaleFactorand no longer acceptBuildContext.
Migration #
// Before
theme: PRFTheme.light(context)
darkTheme: PRFTheme.dark(context)
// After
theme: PRFTheme.light(
scaleFactor: DeviceHelper.getScaleFactor(context: context),
)
darkTheme: PRFTheme.dark(
scaleFactor: DeviceHelper.getScaleFactor(context: context),
)
// Before
PRFTextTheme.getButtonTextStyle(context)
PRFTextTheme.getErrorTextStyle(context)
// After
PRFTextTheme.getButtonTextStyle(scaleFactor: 1)
PRFTextTheme.getErrorTextStyle(scaleFactor: 1)
0.3.0 - 2026-02-11 #
Added #
PRFSnackbarunified snackbar helper with typed variants (error,success,info,warning).PRFSnackbarTypeenum for snackbar category styling.
Changed #
- Replaced
PRFErrorSnackbarwithPRFSnackbarfor broader snackbar support beyond errors. - Removed
publish_tofield from pubspec.yaml (defaults to pub.dev). - Release workflow now triggers on push to main (when pubspec.yaml changes) and via manual dispatch.
0.2.0 - 2026-02-11 #
Added #
- CI workflow for automated format, analysis, and test checks.
- Release workflow for automated pub.dev publishing and GitHub Releases.
- MIT License, CHANGELOG, and .gitignore.
- Package metadata:
repository,homepage,issue_trackerin pubspec.yaml.
Changed #
- Configured package for pub.dev distribution.
0.1.0 - 2026-02-11 #
Added #
- Theme System: PRFTheme (light/dark), PRFColors, PRFColorPalette, PRFColorsExtension, PRFStatusExtension, PRFTextTheme with Google Fonts (Lato).
- Widgets: PRFPrimaryButton, PRFSecondaryButton, PRFDestroyButton, GoogleAuthButton, PRFEmailInput, PRFPasswordInput, PRFTextInput, FormFieldLabel, PRFCircularProgressIndicator, PRFLinearProgressIndicator, PRFEmptyView, PRFErrorView, PRFErrorSnackbar, PRFCategoryChips, ImagePreviewPage, ReplyStatusView, AnimatedStatCard, StatHighlightCard, PDFViewerPage, WrappedPageIndicator.
- Utilities: DeviceHelper, Debouncer, DateFormatter, NumberFormatter, StringFormatter.
- Models: PRFFailure, PRFErrorType, PRFErrorSeverity.