voo_navigation_core 0.2.1
voo_navigation_core: ^0.2.1 copied to clipboard
Core foundation package for voo_navigation - shared entities, atoms, molecules, and utilities for building adaptive navigation.
0.2.1 #
Changed #
- VooNavigationItem: Removed strict assertion requiring
route,destination,onTap, orchildren- Items can now be created without navigation callbacks when using scaffold-level
onNavigationItemSelected - Cleaned up
VooNavigationItem.divider()factory to no longer require unnecessaryonTap
- Items can now be created without navigation callbacks when using scaffold-level
Added #
- VooNavigationConfig: Added validation that ensures navigation is properly configured
- When
onNavigationItemSelectedis provided, items don't need individual navigation callbacks - When
onNavigationItemSelectedis NOT provided, items must haveroute,destination,onTap, orchildren - Dividers are automatically skipped during validation
- Recursive validation for nested children items
- When
0.2.0 #
Added #
-
VooContextSwitcher: Inline context/project switching component for dynamic navigation
VooContextItem- Entity representing a switchable context (project, workspace, environment)VooContextSwitcherConfig- Main configuration class with items, callbacks, and customizationVooContextSwitcherStyle- Style configuration for card, modal, and item appearanceVooContextSwitcherPosition- Enum for positioning (beforeItems, afterHeader)
-
Context Switcher Widgets:
VooContextSwitcher- Main widget combining card and modal with overlay animationVooContextSwitcherCard- Elegant pill-style selector with color indicator dotVooContextSwitcherModal- Dropdown modal with context list, search, and create button
-
Navigation Item Enhancement:
sectionHeaderWidget- Embed custom widgets (like context switcher) inside expandable sectionssectionHeaderLineColor- Custom color for the vertical line next to section header widgets
-
Custom Builders: Full customization support with
cardBuilderandmodalBuilder -
VooMultiSwitcher: Unified organization and user switching component
VooMultiSwitcherConfig- Main configuration class for the multi-switcherVooMultiSwitcherUser- Entity representing a switchable user accountVooMultiSwitcherStyle- Style configuration for card, modal, and sectionsVooMultiSwitcherPosition- Enum for positioning (header, footer)
-
Multi-Switcher Widgets:
VooMultiSwitcher- Main widget combining card and modal with overlay animationVooMultiSwitcherCard- Closed state showing stacked org + user avatarsVooMultiSwitcherModal- Expanded state with organization and user sectionsVooMultiSwitcherOrganizationSection- Organization list with selectionVooMultiSwitcherUserSection- User info with settings and logout actionsVooStackedAvatars- Overlapping org + user avatar displayVooMultiSwitcherOrgTile,VooMultiSwitcherUserTile,VooMultiSwitcherActionTile- List tiles
-
Custom Builders: Full customization support with
cardBuilderandmodalBuilder -
Animation: Smooth overlay animation with spring physics using
Curves.easeOutBack
Changed #
VooNavigationConfignow includesmultiSwitcherandmultiSwitcherPositionfields
0.1.4 #
Added #
- VooNavigationTokens: New centralized design tokens for consistent styling across all navigation components
VooNavigationTokensclass with static constants for icon sizes, spacing, typography, border radius, and opacity valuesVooNavigationTokensThemeextension onBuildContextfor theme-aware color generation:context.navSelectedBackground([customColor])- Selected item background with 10% opacitycontext.navHoverBackground- Hover background with 4% opacitycontext.navMutedIconColor- Muted icon color with 70% opacitycontext.floatingNavBackground- Theme-aware floating nav background (surfaceContainerHighest)context.floatingNavForeground- Floating nav foreground colorcontext.floatingNavSelectedColor- Primary color for selected floating nav itemscontext.navDividerColor- Divider color with proper opacitycontext.navBorderSubtle- Subtle border color
Improved #
- Design System Consistency: All navigation packages now use shared tokens from
voo_navigation_core - Modern Appearance: Updated default
itemBorderRadiusto 8dp for a more modern look
0.1.3 #
Fixed #
- VooPageConfig Properties Not Applied: Fixed
appBarTitle,appBarLeading, andadditionalAppBarActionsfromVooPageConfignot being applied to the app bar- Added
additionalActionsparameter toVooMobileAppBarto support appending actions to the default actions - Actions are now properly merged instead of being ignored
- Added
0.1.1 #
Added #
- VooCollapseState: InheritedWidget for propagating collapse state to descendants
- Enables auto-detection of compact mode for child widgets
VooCollapseState.isCollapsedOf(context)to read collapse stateVooCollapseState.toggleCallbackOf(context)to get toggle callback
- VooUserProfileConfig: Data-only config class for user profile
- Simpler API for configuring user profile in navigation
- Auto-handles compact mode based on VooCollapseState
Changed #
- Default Behavior: Made collapsible navigation and user profile the default
enableCollapsibleRailnow defaults totrueshowUserProfilenow defaults totrue
- VooUserProfileFooter:
compactparameter now nullable (bool?)- When null, auto-detects from VooCollapseState in widget tree
- VooOrganizationSwitcher:
compactparameter now nullable (bool?)- When null, auto-detects from VooCollapseState in widget tree
- Unified Theme: Default theme changed to clean flat design
- Default theme is now
minimalModernwithcontainerBorderRadius: 0 navigationRailMargindefaults to0(flush to edge)
- Default theme is now
0.1.0 #
Added #
-
Initial release - extracted from voo_navigation package
-
Domain Entities: Core navigation configuration and data models
VooNavigationType- Navigation layout types (bottomNavigation, navigationRail, extendedNavigationRail, navigationDrawer)VooNavigationItem- Navigation item with icons, labels, badges, routingVooNavigationConfig- Master configuration for navigation systemVooBreakpoint- Responsive breakpoints with Material 3 defaultsVooNavigationTheme- Visual styling configuration (glassmorphism, liquidGlass, blurry, neomorphism, material3Enhanced, minimalModern)VooNavigationRoute- GoRouter integration routesVooNavigationSection- Hierarchical navigation groupingVooPageConfig- Per-page scaffold customization
-
Atoms: 20 foundational UI components
- Badges:
VooAnimatedBadge,VooModernBadge,VooDotBadge,VooTextBadge,VooIconWithBadge - Indicators:
VooNavigationIndicator,VooThemedIndicator,VooLineIndicator,VooPillIndicator,VooGlowIndicator,VooCustomIndicator,VooBackgroundIndicator - Icons:
VooNavigationIcon,VooAnimatedIcon,VooModernIcon - Labels:
VooNavigationLabel - Surfaces:
VooGlassSurface,VooLiquidGlassSurface,VooNeomorphSurface - Controls:
VooCollapseToggle
- Badges:
-
Molecules: 12 composite components
- App Bar:
VooMobileAppBar,VooAppBarLeading,VooAppBarTitle,VooAppBarActions - Themed:
VooThemedNavItem,VooThemedNavContainer - Generic:
VooNavigationBadge,VooNavigationItemWidget,VooDropdownHeader,VooDropdownChildren,VooDropdownChildItem - User Profile:
VooUserProfileFooter
- App Bar:
-
Utils: Navigation helper utilities
VooNavigationAnimations- Animation presets and transitionsVooNavigationHelper- Static helper methods for navigationVooNavigationInherited- InheritedWidget for config propagation