mad_navigation_impl 0.3.1+1
mad_navigation_impl: ^0.3.1+1 copied to clipboard
A pure Dart implementation of navigation services and utilities for mad_navigation package.
0.3.1 (24-09-2025) #
Updated #
NavigationBuildernow uses the generic typeS extends MadNavigationStatefor the parametersuponandbuilder.
0.3.0 (11-09-2025) #
Breaking changes #
RouterTabDelegatehas been renamed toTabRouterDelegate.NavTabPagehas been renamed toNavTabHolder.TabPageMapperhas been renamed toTabHolderMapper.
0.2.0 (29-08-2025) #
Breaking changes #
For the MadRouteMapper class, the principle of registering NavRoute object handlers has been
changed. Instead of
directly adding handlers to switch-case, a new API is now used:
MadNavMapperis a base class for grouping routes by type (PageMapper,TabPageMapper,DialogMapper,BottomSheetMapper), providing typed processing ofNavRouteroutes.MadRouteBuilder— a class for creating route handlers, allowing you to define the route type and the associated widget via thebuilderfunction. Supports route compatibility checking via the canHandle method and handler invocation via thecallmethod.
Added #
Exception classes inherited from MadNavigationException:
MissingPageFactoryException— aPageobject could not be created for the passed route.UnhandledRouteException— the route was not handled by any registered handler.DuplicateRouteException— the route builder has already been added.
Updated #
- The navigation example in
examplehas been reworked.
0.1.3 (11-08-2025) #
Added #
- The
routerdirectory in themad_navigation_fluttermodule, including:MadRouteMapper— an abstraction for displayingNavRouteinPagewith support for various page types (NavPage,NavDialog,NavBottomSheet, etc.);MadPageFactoryBuilder— a factory for creating pages with the ability to extend and customize them viabuildCustomPageFromMissingNavPageandbuildCustomPageFromMissingNavRoute;pages— contains basic implementations of page types for navigation, including standard Flutter pages (MaterialPage,CupertinoPage) and custom pages with animations (FadeAnimationPage,SimplePage), as well as pages for displaying modal components — dialogs (Dialog) and bottom sheets (BottomSheet);AppRouterDelegate— implementation ofRouterDelegatefor managing navigation using the root page stack (MadNavigationService).RouterTabDelegate— implementation ofRouterDelegatefor managing navigation using a combined tab stack (MadTabNavigationService).MadUrlParser— abstraction for parsing and restoring route state (with support for flutter web).
0.1.2 (21-07-2025) #
0.1.1 (01-07-2025) #
Added #
DelayedPopTransitionDelegate— a delegate that allows you to avoid a type error that occurs whenpopis executed quickly.
0.1.0 (23-05-2025) #
Breaking Changes #
MadNavigationStatehas been split into two separate classes:MadNavigationState- the base navigation state class;MadTabNavigationState- an extended navigation state class for working with tabs.MadNavigationServicehas been split into two separate services:MadNavigationService- basic navigation service;MadTabNavigationService- extended navigation service for working with tabs.
- A similar split has been made for
MadNavigationServiceImplintoMadNavigationServiceImplandMadTabNavigationServiceImpl.
Updated #
- Fixed empty stack errors when working with
popandpopUntill; - Added a type restriction for
NavigationListenerandNavigationBuilder; - Redesigned the navigation example in
example.
0.0.2 (13-05-2025) #
Added #
Standard navigation methods:
void replaceInRoot<T>({NavRoute<T> oldRoute, NavRoute<T> newRoute})void replaceInTab<T>({NavRoute<T> oldRoute, NavRoute<T> newRoute})Future<T?> popAndPushToRoot<T>(NavRoute<T> route, {Object? result})Future<T?> popAndPushToCurrentTab<T>(NavRoute<T> route, {Object? result})void popUntil(NavRoutePredicate predicate)Future<T?> pushAndRemoveUntilForRootStack<T>(NavRoute<T> route, {NavRoutePredicate predicate})Future<T?> pushAndRemoveUntilForTabStack<T>(NavRoute<T> route, {NavRoutePredicate predicate})
Updated #
The PageType enumeration has been replaced with an abstract class to allow for type extension.
0.0.1 (05-05-2025) #
Initial release
Added #
- The
mad_navigationmodule, containing models and descriptions of system navigation methods (not including user transitions);- The navigation state is described by the
MadNavigationStateclass, and the basic methods are defined inMadNavigationService; NavPage,NavDialog, andNavBottomSheetare used for page, dialog, and BS instances, respectively.- The
PageTabNav,MadTabType, andMadTabStateclasses have been created to manage tabs.
- The navigation state is described by the
- The
mad_navigation_implmodule contains the implementation of theMadNavigationServiceImplnavigator based on the flutter independent packagebloc. - The
mad_navigation_fluttermodule contains components for managing the application UI, such asNavigationListenerandNavigationBuilder. - Other utilities and extensions of navigation functionality.