expressive_kit 0.0.9
expressive_kit: ^0.0.9 copied to clipboard
A modern Flutter design system providing Material 3 Expressive components, spring motions, tactile feedback, and unified theme styles.
0.0.9 #
- Dependencies:
- Upgraded
hugeiconsfrom^1.2.0to^4.4.0. - Upgraded
material_uifrom^1.8.0to^1.9.0.
- Upgraded
0.0.8 #
- Widgets & Layout Precision:
- Fixed indicator pill vertical spacing in
ExpressiveNavigationBaron mobile platforms (Android, iOS) by scoping theheightconstraint insideSafeArea. - Preserved uniform, centered vertical alignment and consistent spacing between the active indicator pill and the top boundary of the navigation bar across all desktop (macOS, Windows, Linux) and mobile devices regardless of system gesture bar or home indicator insets.
- Added unit and widget regression tests verifying cross-platform safe area bottom padding and indicator distance consistency.
- Fixed indicator pill vertical spacing in
0.0.7 #
- Models & Cross-Cutting Properties:
- Added
AppDeviceInfomodel supporting device hardware, OS version release, SDK API level, processor, physical and available RAM sizes, and low-RAM flags withtoJson(),fromJson(),copyWith(), and value equality viaEquatable. - Added
AppPackageInfomodel supporting application name, semantic version, build number, and update time (ISO 8601 UTC) withtoJson(),fromJson(),copyWith(), and value equality viaEquatable. - Exported models directly via
package:expressive_kit/expressive_kit.dart. - Added comprehensive unit test suites maintaining 100.0% line coverage across all library source files.
- Added
0.0.6 #
- Theme Persistence & Helpers:
- Added
ExpressiveTheme.fromKey()andExpressiveTheme.toKey()for serializing and deserializingThemeModeto/from string keys ('LIGHT','DARK','SYSTEM') for local storage (SharedPreferences, Hive, SQLite). - Added convenience aliases
ExpressiveTheme.getThemeByName()andExpressiveTheme.getThemeName(). - Added
ThemeHelperclass (and aliasExpressiveThemeHelper) providing standardized methodsgetThemeName(),getThemeByName(),fromKey(), andtoKey(). - Added
.keygetter onThemeMode(ExpressiveThemeModeX) andColor(ExpressiveColorX) for direct key lookup.
- Added
0.0.5 #
- Internationalization & Localization (i18n / l10n):
- Added
ExpressiveLanguages(and aliasExpressiveLocales) providingdefaultLocale(Locale('en', 'US')), predefinedsupportedLocaleswith language and country codes, individual language constants (english,spanish,italian,german,french,portuguese), andfromLanguageCode()resolver. - Added dedicated unit tests for
ExpressiveLanguagesmaintaining 100.0% line coverage across all library source files.
- Added
0.0.4 #
- Internationalization & Localization (i18n / l10n):
- Added built-in
ExpressiveLocalizationssupporting 6 locales: English (en), Spanish (es), Italian (it), German (de), French (fr), and Portuguese (pt). - Included localized strings for theme modes (
themeLight,themeDark,themeSystem), language names, and all 19 standardized Material colors. - Added
ExpressiveLocalizationExtensionsproviding convenient.localizedName(context)extension methods onThemeMode,Locale, andColor. - Exported
ExpressiveLocalizationsdirectly inpackage:expressive_kit/expressive_kit.dart.
- Added built-in
- Theme & Colors:
- Added
ExpressiveColorswith standardized 19-colorpalette,defaultColor(Colors.teal), andfromKey()/toKey()helpers. - Adopted
ExpressiveColors.defaultColoras the defaultbaseColorparameter inExpressiveTheme.light()andExpressiveTheme.dark(). - Added
ExpressiveTheme.defaultThemeinitialized toThemeMode.system. - Replaced deprecated
Color.valueaccess withColor.toARGB32()for Flutter 3.27+ wide color gamut support.
- Added
- Typography:
- Unified
ExpressiveFontsby replacing the redundantgetAvailableFonts()method with the compile-time constantavailableFonts. - Added
ExpressiveFonts.defaultFontconstant (ExpressiveFonts.googleSansFlex) and adopted it as default parameter inExpressiveTheme.
- Unified
0.0.3 #
- Widgets & Enhancements:
- Fixed destination transition flicker in
ExpressiveNavigationBarby transitioning color alpha directly (activeIndicator.withValues(alpha: ...)) rather than lerping toColors.transparent. - Prevented color overshoots and white flashes in
ExpressiveNavigationBarpill indicators by adoptingCurves.easeOutCubic. - Added synchronized icon color tweening (
TweenAnimationBuilder<Color?>) and smooth cross-fading forselectedIcon(AnimatedSwitcher). - Updated
ExpressiveNavigationBarwidget tests to maintain 100.0% line coverage across all library source files.
- Fixed destination transition flicker in
- AI Agent Skill:
- Added
SKILL.md(in repository root and.agents/skills/expressive-kit/) as an actionable guide for AI coding assistants (Antigravity, Cursor, Windsurf, Claude Code, GitHub Copilot). - Included complete component usage patterns, theme and variable font configurations, and a comprehensive widget-by-widget migration guide from standard Material/Cupertino to
expressive_kit.
- Added
- Documentation & Examples:
- Added dedicated interactive Typography tab in
example/lib/main.dartshowcasing all 9 bundled variable font specimens (ExpressiveFonts), live custom text preview, optical weight variations, and live global theme font switching. - Refined input field prefix icon sizing in
example/lib/main.dartfor visual precision. - Added
screenshots/fonts_components.pngand updatedREADME.mdwith Section 5 "Typography & Variable Fonts". - Updated
README.mdwith instructions on utilizing the AI agent skill and bumped installation version to^0.0.3.
- Added dedicated interactive Typography tab in
0.0.2 #
- Typography & Fonts:
- Added
ExpressiveFontsutility with package-prefixed family constants andgetAvailableFonts()lookup. - Bundled 9 curated variable fonts: Google Sans Flex, Merriweather, Montserrat, Nunito, Open Sans, Orbitron, Playfair Display, Roboto, and Source Code Pro.
- Set
ExpressiveFonts.googleSansFlexas default typography inExpressiveTheme.light()andExpressiveTheme.dark(). - Added comprehensive unit test coverage for typography utilities.
- Added
- Icons Ecosystem:
- Fully unified icon ecosystem using
hugeicons: ^1.2.0across all components and gallery example.
- Fully unified icon ecosystem using
- Documentation & Examples:
- Overhauled
README.mdwith comprehensive English documentation, component showcases, and UI screenshots.
- Overhauled
- CI/CD & Automation:
- Configured automated pub.dev publishing via GitHub Actions with OpenID Connect (OIDC) token authentication on semantic release tags (
v*).
- Configured automated pub.dev publishing via GitHub Actions with OpenID Connect (OIDC) token authentication on semantic release tags (
0.0.1 #
- Initial release of
expressive_kit— A cohesive Flutter design system implementing Material 3 Expressive guidelines. - Buttons & Actions:
- Added
ExpressiveButtonwith filled, tonal, outlined variants, loading indicator, and full-width mode. - Added
ExpressiveSplitButtonwith primary action and contextual trailing dropdown. - Added
ExpressiveButtonGroupsegmented picker with continuous sliding pill indicator. - Added
ExpressiveIconButtonsupporting circle, squircle, and rounded rectangle shapes with badge/dot options.
- Added
- Navigation:
- Added
ExpressiveNavigationBarwith animated pill selector, icon morphing, and badge dots. - Added
ExpressiveTopAppBarwith standard and large heading variants (ExpressiveTopAppBar.large). - Added
ExpressiveFabMenuexpandable floating speed dial menu. - Added
ExpressiveFabin small (44dp), regular (56dp), large (80dp) sizes andExpressiveExtendedFab.
- Added
- Controls & Inputs:
- Added
ExpressiveSwitchwith capsule track and animated thumb check/cross icons. - Added
ExpressiveSliderwith thick capsule tracks and active progress feedback. - Added
ExpressiveSearchBar28dp pill container with trailing action slots and read-only mode.
- Added
- Layout & Content:
- Added
ExpressiveCardGroup,ExpressiveListTile, andExpressiveBadgefor Pixel Settings-style lists. - Added
ExpressiveCardwith 24dp adaptive corners and tactile touch reaction. - Added
ExpressiveCarouselmulti-browse horizontal scrolling with spring physics.
- Added
- Progress & Motion:
- Added
ExpressiveLinearProgressIndicatorandExpressiveCircularProgressIndicatorwith sinusoidal wavy paths (determinate and indeterminate). - Added
ExpressiveMotiontokens (springBouncy,springGentle,emphasized). - Added
ExpressivePressablefor physical tactile compression on tap.
- Added
- Theme & Typography:
- Added
ExpressiveTheme.light()andExpressiveTheme.dark()generators. - Added
ExpressiveFontswith 9 bundled variable font families (Google Sans Flex, Merriweather, Montserrat, Nunito, Open Sans, Orbitron, Playfair Display, Roboto, Source Code Pro).
- Added