tfn_design_system 0.3.2
tfn_design_system: ^0.3.2 copied to clipboard
TFN's Design System building blocks for Flutter applications.
0.1.0 #
Initial release.
- Figma-generated design tokens: colours, colour primitives, component colours, spacing, corners, shapes, typography and brand assets, bundled per brand as
BrandTokens BrandThemeScopeinherited widget for strongly typed token access anywhere in the widget tree- Token generation pipeline from the Figma variable export (
tokens/figma_export.json+dart run scripts/generate_tokens.dart) - Core components:
AppButtonwith elevated, filled, outline and text styles plus leading/trailing icons- Inputs:
TextInput,PasswordInput,SearchInput,CellphoneInput(with country selector),StandardDropdownMenu - Form controls:
AppCheckbox(tri-state),AppRadio,AppSwitch - Cards:
ContainerCard,MessageCard(success / error / warning / info) - Chips:
FilterChip,SelectionChip - Navigation:
AppNavigationBar,AppTabs,AppMenuItem - Feedback:
Loader,AppLinearProgressIndicator,AppCircularProgressIndicator,NotificationBadge,OnlineStatusBadge,AppTooltip - Misc:
UserAvatar,AppListItem,AppCardListItem,ResponsiveImage
- Layout shells:
AuthShell(responsive branded auth layout) andViewShell(with.loading()and.error()states) - Sign-in feature scaffold (
SignInScreenwith loading / error / data views) and mockUser/Vehiclerepositories for prototyping and Widgetbook ResponsiveUtilbreakpoint helpers (mobile ≤ 600, tablet 800–1200, large ≥ 1200)
0.2.0 #
- Elevation is now tokenised: new
ElevationTokens(none/low/medium/high) backed by aBaseElevationscale, with a requiredelevationfield onBrandTokens. The shared theme builder reads elevation from tokens instead of hardcoded values - Added
copyWithtoBrandTokens,BrandAssets,ShapeTokens,SpacingTokens,TypographyTokens,TypographyStyleandElevationTokens, so brands can extend the base tokens by overriding only what they need (some theme shapes now derive from the base scale this way) AuthShellcontent is now scrollable: it centers when the viewport has room and scrolls when it's too short (small screens, open keyboard), instead of overflowingAppMenuItemselected check icon now uses the brand primary colour (iconPrimary) instead of neutral black, so selection reads as a branded state under every theme- Chip border width now comes from the spacing tokens instead of a raw value, matching the checkbox border
- Added doc comments across the public component API (buttons, inputs, form controls, navigation, tooltip and the sign-in feature)
- Publishing hygiene for pub.dev: added
.pubignoreand removed generated build artifacts from the package
0.3.2 #
- Move assets into the theme