mervey_ui_kit 0.2.0
mervey_ui_kit: ^0.2.0 copied to clipboard
Adaptive Material/Cupertino design system: theming tokens, semantic color palette and reusable widgets that pick the right backend per platform.
0.2.0 #
- Single source of truth for the host brand.
AppButton's primary Cupertino variant now fills withAppColorPalette.brandPrimary(and tints its label withonBrand) read off the installedThemeExtension, matching the Material variant and the secondary Cupertino variant. Previously it usedCupertinoButton.filled, which painted fromCupertinoTheme.primaryColorand fell back to the default iOS blue when the brand palette was not also wired into the Cupertino theme. AppTheme.wrapWithCupertino/cupertinoThemeOfnow inherit the brand from theAppColorPalette/AppTypographyTokensalready installed on the Material theme, so configuringpalette:once onlight/darkbrands both platforms — no second wiring step. Explicit arguments tocupertinoThemeOfstill override the inherited tokens.
0.1.0 #
Initial release.
- Requires Dart
>= 3.6.0and Flutter>= 3.27.0(usesColor.withValues(alpha:)). - Adaptive Material/Cupertino theming entry point (
AppTheme.light,AppTheme.dark) with optionalpalette,typographyandiconsoverrides. - Semantic color palette (
AppColorPalette) with.light()/.dark()factories and neutral Material defaults; brand overrides via named parameters.toColorSchemefills the Material 3 surface-container ramp,outline/outlineVariantandsurfaceTintso M3 widgets stay aligned with the palette. - Cupertino theme builder (
AppTheme.cupertinoTheme/cupertinoThemeOf) returns a fully populatedCupertinoThemeDataon every platform;wrapWithCupertinostill gates installation to iOS. - Design tokens:
AppSpacing,AppRadii,AppFonts,AppTextStyles,AppTypographyTokens,AppIconTokens. Font defaults arenull→ system fonts on every platform; no third-party fonts ship with the kit. - Components:
AppButton,AppGlassButton,AppTextField,AppSearchField,AppCard,AppTappableCard,AppBottomSheet,AppDialog,AppNavbar,AppPill,AppPillTabs,AppScaffold,AppSnackBar,AppSwitch,AvatarInitials,BadgedIcon,IconActionButton,LoadingState,ErrorState,EmptyState,showInputDialog. AppDialogActionexposesdismissOnPressso callers can keep the dialog open for validation / async work.- Context extensions:
context.colors,context.typography,context.icons.