garnish_ui 0.5.3
garnish_ui: ^0.5.3 copied to clipboard
A premium, brand-agnostic Flutter UI component library with built-in animations, 5 visual style categories, fully customizable theming, and 40+ accessible components.
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.
0.5.3 - 2026-01-28 #
Changed #
- Pubspec: topics reduced to 5 (pub.dev limit) — ui, components, design-system, widgets, animation.
0.5.2 - 2026-01-28 #
Added #
- Charts —
GarnishGraph(line/bar) andGarnishPieChart(pie/donut) with all 5 style categories. - Shared constants —
KSpacing,KRadii,KDurations,KOpacity,KChart,KTooltip, etc. for consistent styling across components. - Tests — Core constants test (
test/core/constants_test.dart) for KDurations, KSpacing, KRadii, KColors, KBreakpoints.
Changed #
- README updated with Graph/Pie Chart, Core utilities section, Accessibility section, and version ^0.5.2.
- Pubspec: additional topics (theme, accessibility, forms, charts) and second screenshot for pub.dev.
- Library docs: corrected navigation component list (GarnishNavBar, GarnishBreadcrumb, GarnishBottomNav).
- Fixed dead_null_aware_expression in
garnish_graph.dart; added dartdoc for new constants. - Animation test "respects delay before animating" now pumps past delay to avoid pending timer.
0.5.1 - 2026-01-28 #
Changed #
- README and example app updated to document the easy animation API (no controller; use
animation.trigger()).
0.5.0 - 2026-01-28 #
Changed (BREAKING) #
- Simplified Animation API — The easiest way to trigger animations!
GarnishAnimationnow has a.trigger()method - just call it to play!- No callbacks, no extra classes, no complexity
Removed (BREAKING) #
- Removed
onAnimationReadycallback (useanimation.trigger()instead) - Removed
animationTriggerparameter (use same animation on multiple widgets) - Removed
GarnishAnimationTriggerclass (no longer needed)
Migration Guide #
Before (0.4.x):
// Old way - callbacks and extra objects
late VoidCallback _shake;
GarnishTextField(
animation: GarnishAnimation.shake(animateOnMount: false),
onAnimationReady: (trigger) => _shake = trigger,
)
_shake();
After (0.5.0):
// New way - just call trigger()!
final shake = GarnishAnimation.shake();
GarnishTextField(animation: shake)
shake.trigger();
0.4.0 - 2026-01-28 #
Added #
- Animation Triggering — Ways to trigger animations programmatically
- All components support animation parameters
Example #
// Simple callback approach
late VoidCallback _shake;
GarnishTextField(
animation: GarnishAnimation.shake(animateOnMount: false),
onAnimationReady: (trigger) => _shake = trigger,
)
_shake(); // Just call the function!
// Shared trigger for multiple widgets
final errorShake = GarnishAnimationTrigger();
GarnishTextField(animationTrigger: errorShake, ...)
GarnishButton(animationTrigger: errorShake, ...)
errorShake.animate(); // Shakes all widgets at once
0.3.3 - 2026-01-27 #
Added #
- Live documentation site at garnishui.netlify.app
- Documentation badge in README
Changed #
- Updated homepage and documentation URLs to point to live docs site
0.3.1 - 2026-01-27 #
0.3.0 - 2026-01-27 #
Added #
-
Animation System — Built-in animations for all components
GarnishAnimation— 10 preset animations (fadeIn, fadeSlideUp, scale, bounce, pulse, shake, flip, etc.)GarnishAnimationController— Programmatic animation control- Staggered animations for lists
- Customizable duration, curve, and delay
-
Style Categories — 5 distinct visual styles
- Minimal, Material, Neumorphism, Glassmorphism, Brutalism
GarnishStyledContainer— Multi-style container componentGarnishStyleCategory— Style category enum
-
New Input Components
GarnishDatePicker— Calendar date selection with range supportGarnishTimePicker— Time selection (12/24 hour format)GarnishTextArea— Multi-line text input with auto-resize
-
New Display Components
GarnishBadge— Status indicators, tags, notification dotsGarnishProgress— Linear and circular progress indicatorsGarnishListTile— Consistent list items with leading/trailingGarnishTable— Data table with sorting and selectionGarnishDivider— Horizontal and vertical content separators
-
New Feedback Components
GarnishAlert— Contextual feedback (info, success, warning, error)GarnishEmptyState— Placeholder for empty data statesGarnishSkeleton— Shimmer loading placeholders
-
New Layout Components
GarnishAccordion— Collapsible content sectionsGarnishCarousel— Horizontal slider with auto-play and indicators
-
New Navigation Components
GarnishBreadcrumb— Hierarchical navigation trailGarnishBottomNav— Mobile bottom navigation with badges
Changed #
- All components now support the
animationparameter - Enhanced theming with additional color tokens (success, warning, info)
- Improved dark mode colors and contrast
- Better keyboard navigation and focus management
- Optimized performance for 60fps animations
Fixed #
- Various accessibility improvements
- Consistent spacing across all components
- Border radius consistency
0.2.0 - 2026-01-25 #
Added #
- Additional button variants (ghost, destructive)
GarnishIconButton— Icon-only button componentGarnishCheckbox,GarnishRadio,GarnishSwitch— Selection controlsGarnishSelect— Dropdown selection with searchGarnishSlider— Range slider with marksGarnishAvatar— Profile pictures with initials fallbackGarnishTooltip— Contextual hover informationGarnishBottomSheet— Bottom slide-up panelGarnishSnackbar— Toast notifications
Changed #
- Improved theming API
- Better TypeScript-like null safety patterns
- Enhanced responsive utilities
0.1.0 - 2026-01-24 #
Added #
- Initial release of Garnish UI
- Core theming system with light and dark mode support
GarnishTheme— Theme configurationGarnishColors— Color paletteGarnishTypography— Text styles
- Button components
GarnishButton— Primary button with variants- Button styles and theming
- Input components
GarnishTextField— Text input with validation- Input styles and theming
- Card components
GarnishCard— Flexible container- Card styles and theming
- Dialog components
GarnishDialog— Modal overlay- Dialog styles and theming
- Navigation components
GarnishNavBar— Top navigation- Navigation styles and theming
- Utility functions
- Color manipulation
- Spacing helpers
- Animation curves