mad_navigation library

Pure Dart: navigation interfaces and abstractions, independent of Flutter

This package provides core navigation abstractions and interfaces that are platform-agnostic and can be used across different Dart applications. It follows clean architecture principles to separate navigation logic from implementation.

To get started, import the library:

import 'package:mad_navigation/mad_navigation.dart';

Classes

BottomSheetUnknown
Represents an unknown bottom sheet route.
CupertinoPageType
Represents a Cupertino (iOS) style page.
DialogUnknown
Represents an unknown dialog route.
FadePageType
Represents a page with a fade transition effect.
MadNavigationService
A service interface for handling application navigation.
MadNavigationState
Represents the state of the application's navigation.
MadTabNavigationService
A service interface for handling tab-based navigation.
MadTabNavigationState
Represents the state of a tab-based navigation.
MadTabType
Base class for defining tab types in the application navigation.
MaterialPageType
Represents a Material Design style page.
Base class for bottom sheet navigation routes.
Base class for dialog-based navigation routes.
Base class for page-based navigation routes.
Base class for all navigation routes in the application.
Base class for tab-based navigation holders.
Nullable<T>
A wrapper class that makes any value nullable and equatable.
PageType
Base class for defining different types of pages in the application.
PageUnknown
Represents an unknown page route.
SimplePageType
Represents a simple page without any special transitions.

Mixins

Stringify
A mixin that provides a custom string representation of an object.

Extensions

ListNavTypeContext on RouteStack
Extension providing utility methods for route stacks.
NullableContext on Object?
Extension that adds nullable conversion capabilities to all objects.

Typedefs

AnyNavRoute = NavRoute
A type alias for a navigation route with dynamic type parameter.
A predicate function type for route matching in navigation operations.
RouteStack = Set<AnyNavRoute>
A type alias for a set of navigation routes that represents the current navigation stack.