voo_navigation_core 0.2.1 copy "voo_navigation_core: ^0.2.1" to clipboard
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, or children
    • Items can now be created without navigation callbacks when using scaffold-level onNavigationItemSelected
    • Cleaned up VooNavigationItem.divider() factory to no longer require unnecessary onTap

Added #

  • VooNavigationConfig: Added validation that ensures navigation is properly configured
    • When onNavigationItemSelected is provided, items don't need individual navigation callbacks
    • When onNavigationItemSelected is NOT provided, items must have route, destination, onTap, or children
    • Dividers are automatically skipped during validation
    • Recursive validation for nested children items

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 customization
    • VooContextSwitcherStyle - Style configuration for card, modal, and item appearance
    • VooContextSwitcherPosition - Enum for positioning (beforeItems, afterHeader)
  • Context Switcher Widgets:

    • VooContextSwitcher - Main widget combining card and modal with overlay animation
    • VooContextSwitcherCard - Elegant pill-style selector with color indicator dot
    • VooContextSwitcherModal - Dropdown modal with context list, search, and create button
  • Navigation Item Enhancement:

    • sectionHeaderWidget - Embed custom widgets (like context switcher) inside expandable sections
    • sectionHeaderLineColor - Custom color for the vertical line next to section header widgets
  • Custom Builders: Full customization support with cardBuilder and modalBuilder

  • VooMultiSwitcher: Unified organization and user switching component

    • VooMultiSwitcherConfig - Main configuration class for the multi-switcher
    • VooMultiSwitcherUser - Entity representing a switchable user account
    • VooMultiSwitcherStyle - Style configuration for card, modal, and sections
    • VooMultiSwitcherPosition - Enum for positioning (header, footer)
  • Multi-Switcher Widgets:

    • VooMultiSwitcher - Main widget combining card and modal with overlay animation
    • VooMultiSwitcherCard - Closed state showing stacked org + user avatars
    • VooMultiSwitcherModal - Expanded state with organization and user sections
    • VooMultiSwitcherOrganizationSection - Organization list with selection
    • VooMultiSwitcherUserSection - User info with settings and logout actions
    • VooStackedAvatars - Overlapping org + user avatar display
    • VooMultiSwitcherOrgTile, VooMultiSwitcherUserTile, VooMultiSwitcherActionTile - List tiles
  • Custom Builders: Full customization support with cardBuilder and modalBuilder

  • Animation: Smooth overlay animation with spring physics using Curves.easeOutBack

Changed #

  • VooNavigationConfig now includes multiSwitcher and multiSwitcherPosition fields

0.1.4 #

Added #

  • VooNavigationTokens: New centralized design tokens for consistent styling across all navigation components
    • VooNavigationTokens class with static constants for icon sizes, spacing, typography, border radius, and opacity values
    • VooNavigationTokensTheme extension on BuildContext for theme-aware color generation:
      • context.navSelectedBackground([customColor]) - Selected item background with 10% opacity
      • context.navHoverBackground - Hover background with 4% opacity
      • context.navMutedIconColor - Muted icon color with 70% opacity
      • context.floatingNavBackground - Theme-aware floating nav background (surfaceContainerHighest)
      • context.floatingNavForeground - Floating nav foreground color
      • context.floatingNavSelectedColor - Primary color for selected floating nav items
      • context.navDividerColor - Divider color with proper opacity
      • context.navBorderSubtle - Subtle border color

Improved #

  • Design System Consistency: All navigation packages now use shared tokens from voo_navigation_core
  • Modern Appearance: Updated default itemBorderRadius to 8dp for a more modern look

0.1.3 #

Fixed #

  • VooPageConfig Properties Not Applied: Fixed appBarTitle, appBarLeading, and additionalAppBarActions from VooPageConfig not being applied to the app bar
    • Added additionalActions parameter to VooMobileAppBar to support appending actions to the default actions
    • Actions are now properly merged instead of being ignored

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 state
    • VooCollapseState.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
    • enableCollapsibleRail now defaults to true
    • showUserProfile now defaults to true
  • VooUserProfileFooter: compact parameter now nullable (bool?)
    • When null, auto-detects from VooCollapseState in widget tree
  • VooOrganizationSwitcher: compact parameter 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 minimalModern with containerBorderRadius: 0
    • navigationRailMargin defaults to 0 (flush to edge)

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, routing
    • VooNavigationConfig - Master configuration for navigation system
    • VooBreakpoint - Responsive breakpoints with Material 3 defaults
    • VooNavigationTheme - Visual styling configuration (glassmorphism, liquidGlass, blurry, neomorphism, material3Enhanced, minimalModern)
    • VooNavigationRoute - GoRouter integration routes
    • VooNavigationSection - Hierarchical navigation grouping
    • VooPageConfig - 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
  • Molecules: 12 composite components

    • App Bar: VooMobileAppBar, VooAppBarLeading, VooAppBarTitle, VooAppBarActions
    • Themed: VooThemedNavItem, VooThemedNavContainer
    • Generic: VooNavigationBadge, VooNavigationItemWidget, VooDropdownHeader, VooDropdownChildren, VooDropdownChildItem
    • User Profile: VooUserProfileFooter
  • Utils: Navigation helper utilities

    • VooNavigationAnimations - Animation presets and transitions
    • VooNavigationHelper - Static helper methods for navigation
    • VooNavigationInherited - InheritedWidget for config propagation
1
likes
150
points
262
downloads

Publisher

verified publishervoostack.com

Weekly Downloads

Core foundation package for voo_navigation - shared entities, atoms, molecules, and utilities for building adaptive navigation.

Homepage
Repository (GitHub)
View/report issues

Topics

#flutter #navigation #material-design #ui-components

Documentation

API reference

License

MIT (license)

Dependencies

collection, equatable, flutter, flutter_bloc, go_router, material_design_icons_flutter, meta, voo_motion, voo_responsive, voo_tokens

More

Packages that depend on voo_navigation_core