zoni_ui 0.1.1
zoni_ui: ^0.1.1 copied to clipboard
A comprehensive Flutter design system providing themes, components, and utilities for building consistent Zoni applications.
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.1.1 - 2024-10-26 #
Added #
Typography Components
- ZoniText: Complete Material Design 3 typography system
- 15 named constructors for all text styles (displayLarge, displayMedium, displaySmall, headlineLarge, headlineMedium, headlineSmall, titleLarge, titleMedium, titleSmall, bodyLarge, bodyMedium, bodySmall, labelLarge, labelMedium, labelSmall)
- Consistent styling with theme integration
- Accessibility support with semantic labels
Layout Components
- ZoniContainer: Flexible container component with semantic variants
- Named constructors: card(), surface(), small(), medium(), large()
- Consistent spacing and styling
- Theme-aware background colors
- ZoniDivider: Versatile divider component
- 3 variants: solid, dashed, dotted
- 3 thickness options: thin, medium, thick
- Horizontal and vertical orientations
- Custom painter for advanced line styles
- ZoniGrid: Responsive 12-column grid system
- Column spanning with ZoniGridItem
- Configurable spacing and auto-adjustment
- Responsive breakpoint support
Navigation Components
- ZoniAppBar: Enhanced app bar with Zoni branding
- Material Design 3 styling
- Custom color schemes
- Action button support
- ZoniTabs: Comprehensive tab system
- Multiple variants: primary, secondary, outlined
- Scrollable and fixed tab bars
- Custom styling and theming
- ZoniBreadcrumb: Navigation breadcrumb component
- Customizable separators
- Click navigation support
- Overflow handling
- ZoniPagination: Complete pagination component
- Page number display and navigation
- First/last page buttons
- Customizable page size
- ZoniBottomNavigation: Material 3 bottom navigation
- Custom styling with Zoni brand colors
- Icon and label support
- State management for selected items
Input Components
- ZoniCheckbox: Enhanced checkbox component
- 5 variants: primary, secondary, success, warning, error
- 3 sizes: small, medium, large
- List tile integration support
- ZoniRadio: Type-safe radio button component
- Generic type support: ZoniRadio
- 5 variants: primary, secondary, success, warning, error
- 3 sizes: small, medium, large
- Group management with ZoniRadioGroup
- ZoniSwitch: Material 3 switch component
- 5 variants: primary, secondary, success, warning, error
- 3 sizes: small, medium, large
- Support for both standalone switches and switch list tiles
- ZoniSlider: Customizable slider component
- Range and single value support
- Custom styling and theming
- Accessibility features
- ZoniDropdown: Enhanced dropdown component
- Multiple selection support
- Custom styling
- Search functionality
Display Components
- ZoniAvatar: Flexible avatar component
- Multiple sizes and variants
- Image, text, and icon support
- Fallback handling
- ZoniBadge: Notification badge component
- 7 variants: primary, secondary, success, warning, error, info, light
- 3 sizes: small, medium, large
- Text and count badge support
- ZoniChip: Interactive chip component
- 6 variants: filled, outlined, input, choice, filter, action
- 3 sizes: small, medium, large
- Selection and deletion support
- ZoniTooltip: Enhanced tooltip component
- Multiple positions and variants
- Custom styling and theming
- Accessibility support
- ZoniList: Comprehensive list components
- ZoniListTile with enhanced styling
- ZoniExpansionTile for collapsible content
- ZoniListView with built-in styling
Feedback Components
- ZoniSnackbar: Enhanced snackbar component
- 4 semantic variants: info, success, warning, error
- Action button support
- Custom duration and positioning
- ZoniDialog: Comprehensive dialog system
- Multiple variants: info, success, warning, error, confirmation
- Custom actions and content
- Accessibility features
- ZoniProgress: Progress indicator components
- Linear and circular variants
- Determinate and indeterminate modes
- Custom styling and theming
- ZoniAlert: Alert/banner component
- 4 semantic variants: info, success, warning, error
- 3 sizes: small, medium, large
- Dismissible functionality with callbacks
Enhanced #
Design System
- Zoni Brand Colors: Complete integration of Zoni color palette
- Core colors: Zoni Blue (#007BFF), Fresh Green (#28A745), Neutral Gray (#6C757D), Warm Orange (#FD7E14), Soft White (#FFFFFF), Deep Black (#212529)
- Semantic color variants for all components
- Consistent color application across the design system
Developer Experience
- Centralized ZoniUI API: Single entry point for all design system utilities
- Organized component access through ZoniUI class
- Consistent naming conventions
- Type-safe APIs with comprehensive error handling
Example Application
- Comprehensive Component Showcase: Updated example app with all new components
- Interactive demonstrations of all component variants
- Real-world usage examples
- Responsive design patterns
Fixed #
- Debug Method Issues: Resolved compilation errors caused by orphaned debugFillProperties methods
- Import Dependencies: Added proper imports for DragStartBehavior and other Flutter dependencies
- File System Conflicts: Overcame file creation/deletion conflicts during development
- Deprecated API Usage: Updated withOpacity() calls to use withValues(alpha:) for better precision
Technical Improvements #
- Material Design 3 Compliance: All components follow latest Material Design guidelines
- Type Safety: Enhanced generic type support and proper enum usage
- Performance: Efficient rendering with proper widget lifecycle management
- Code Quality: Consistent architecture patterns across all components
0.1.0 2024-01-XX #
Added #
Design System Foundation
- Complete color system with semantic tokens following Material Design 3
- Typography scale with display, headline, title, body, and label styles
- Spacing system following 8pt grid
- Border radius and elevation constants
- Animation duration constants
- Responsive breakpoint constants
Theme System
- Light and dark theme implementations
- Material Design 3 color schemes
- Comprehensive component theming
- Theme switching support
Components
- ZoniButton: Multi-variant button component with filled, outlined, text, and filled tonal styles
- Multiple sizes (small, medium, large)
- Loading states with progress indicators
- Icon support
- Accessibility features
- Tooltip support
- ZoniCard: Flexible card component with elevation variants
- Multiple elevation levels
- Custom padding and margins
- Tap interaction support
- Accessibility features
- ZoniTextField: Comprehensive text input component
- Multiple sizes
- Prefix and suffix icon support
- Helper and error text
- Form validation support
- Accessibility features
- ZoniLoadingIndicator: Loading indicator with multiple styles
- Circular, linear, and dots variants
- Multiple sizes
- Custom colors
- Accessibility features
Developer Experience
- Comprehensive documentation
- Complete test coverage (unit, widget, and golden tests)
- Strict linting rules and code quality standards
- Type-safe APIs with proper error handling
- Debug utilities and diagnostic properties
Accessibility
- Semantic labels for all components
- Screen reader support
- Keyboard navigation support
- High contrast support
- Focus management
Technical Details #
- Minimum Flutter version: 3.10.0
- Minimum Dart version: 3.0.0
- Material Design 3 support
- Null safety enabled
- Comprehensive test coverage