Modal class

Constructors

Modal()

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

dismissByIds(List<String> ids, {VoidCallback? onDismissed}) Future<List<String>>
Dismisses multiple modals by their IDs
dismissCurrentModal({VoidCallback? onModalDismissed}) Future<void>
Dismisses the currently active modal
dismissSnackbar(String id, {VoidCallback? onDismissed}) Future<bool>
Dismisses a specific snackbar by its ID
durationIndicator({required Duration duration, double height = 3.0, Color? color, Color? backgroundColor, BorderRadius? borderRadius, DurationIndicatorDirection direction = DurationIndicatorDirection.leftToRight}) Widget
Creates a duration indicator widget for use in custom snackbar builders
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

activeDialogId String?
Gets the ID of the currently active dialog (if any)
no setter
activeModalId String?
Returns the unique ID of the currently active modal
no setter
activeModalRegistry Map<String, ModalType>
Gets the registry of all active modals
no setter
activeSheetId String?
Gets the ID of the currently active sheet (if any)
no setter
activeSnackbarIds List<String>
Gets all IDs of active snackbars
no setter
allActiveModalIds List<String>
Gets all currently active modal IDs
no setter
bottomSheetTemplate Widget
Returns a default modal configuration
no setter
controller Injected<_ModalContent?>
Access to the active modal controller
no setter
dialogController Injected<_ModalContent?>
Controller for dialog modals
no setter
dismissModalAnimationController Injected<bool>
Controller that tracks the modal dismissal animation state
no setter
isActive bool
Indicates whether any modal is currently being shown
no setter
isBottomSheetActive bool
Returns true if a bottom sheet is currently active Bottom sheets use the sheet controller with bottom position
no setter
isBottomSheetDismissing bool
Returns true if a bottom sheet dismissal is in progress Bottom sheets use the sheet dismissing notifier
no setter
isDialogActive bool
Returns true if a dialog is currently active
no setter
isDialogDismissing bool
Returns true if a dialog dismissal is in progress
no setter
isDismissing bool
Flag to track if a dismissal operation is in progress Prevents multiple simultaneous dismissals
getter/setter pair
isSheetActive bool
Returns true if a bottom sheet is currently active
no setter
isSheetDismissing bool
Returns true if a sheet dismissal is in progress
no setter
isSideSheetActive bool
Returns true if a side sheet is currently active Side sheets use the sheet controller with left/right positions
no setter
isSideSheetDismissing bool
Returns true if a side sheet dismissal is in progress Side sheets use the sheet dismissing notifier
no setter
isSnackbarActive bool
Returns true if any snackbars are currently active
no setter
isSnackbarDismissing bool
Returns true if snackbar dismissal is in progress
no setter
isTopSheetActive bool
Returns true if a top sheet is currently active Top sheets use the sheet controller with top position
no setter
isTopSheetDismissing bool
Returns true if a top sheet dismissal is in progress Top sheets use the sheet dismissing notifier
no setter
sheetController Injected<_ModalContent?>
Controller for sheet modals (bottom, top, and side sheets)
no setter
sideSheetController Injected<_ModalContent?>
Access to the side sheet controller
no setter
snackbarController Injected<_ModalContent?>
Controller for snackbar modals
no setter
snackbarQueue Injected<Map<Alignment, List<_ModalContent>>>
Access to the snackbar queue
no setter
snackbarStackIndex Injected<int>
Access to the current snackbar stack index
no setter
snackStaggeredViewDismissBarrierColor Color
Background barrier color for the expanded staggered snackbar view
getter/setter pair

Static Methods

appBuilder(BuildContext context, Widget? child, {BorderRadius? borderRadius, bool shouldBounceOnTap = true, Color backgroundColor = Colors.black, bool showDebugPrints = false}) Widget
Hook for MaterialApp.builder / WidgetsApp.builder.
dismissAll({VoidCallback? onDismissed}) → void
Dismisses all active modals of all types immediately
dismissAllSnackbars() → void
Dismisses all snackbars while preserving other active modals
dismissBottomSheet({String? id, VoidCallback? onDismissed}) Future<void>
Dismisses only the bottom sheet, preserving snackbars and dialogs
dismissById(String id, {VoidCallback? onDismissed}) Future<bool>
Dismisses a specific modal by its ID (PRIMARY DISMISSAL METHOD)
dismissByType(ModalType type) Future<void>
Dismisses modals by type
dismissDialog({String? id, VoidCallback? onDismissed}) Future<void>
Dismisses only the dialog by its ID
dismissSideSheet({String? id, VoidCallback? onDismissed}) Future<void>
Dismisses the active side sheet (if any)
dismissSnackbarAtPosition(Alignment position) → void
Dismisses snackbars at a specific position
dismissTopSheet({String? id, VoidCallback? onDismissed}) Future<void>
Dismisses the currently active top sheet
disposeActivator() → void
Cleans up resources used by the modal system
getActiveIdsByType(ModalType type) List<String>
Gets all active modal IDs of a specific type
getModalTypeById(String id) ModalType?
Gets the type of an active modal by its ID
isModalActiveById(String id) bool
Checks if a modal with the given ID exists and is active
registerHeightResetCallback(VoidCallback callback) → void
Registers a callback function to reset modal height measurements
show({BuildContext? context, required ModalWidgetBuilder builder, String? id, ModalType modalType = ModalType.sheet, Alignment modalPosition = Alignment.bottomCenter, ModalAnimationType modalAnimationType = ModalAnimationType.fade, bool shouldBlurBackground = false, double blurAmount = 3.0, bool isDismissable = true, bool blockBackgroundInteraction = false, bool isDraggable = false, bool isExpandable = false, double? size, double expandedPercentageSize = 85, double contentPaddingByDragHandle = 35.0, bool isSwipeable = true, Duration? autoDismissDuration, SnackbarDisplayMode snackbarDisplayMode = SnackbarDisplayMode.staggered, int maxStackedSnackbars = 3, Color? backgroundColor, double? snackbarWidth, Color barrierColor = Colors.transparent, Offset? offset, SheetPosition? sheetPosition, Function? onDismissed, VoidCallback? onExpanded, VoidCallback? onTap}) → void
Displays a modal on screen
showSnackbar({BuildContext? context, String? text, IconData? prefixIcon, bool showSuffixIcon = true, Color? backgroundColor, Color textColor = Colors.white, Color iconColor = Colors.white, ModalWidgetBuilder? builder, Alignment position = Alignment.topCenter, Duration? duration = const Duration(seconds: 4), bool isDismissible = true, Color barrierColor = Colors.transparent, SnackbarDisplayMode displayMode = SnackbarDisplayMode.replace, String? id, double? width, Offset? offset, int maxStackedSnackbars = 3, Function? onDismissed, VoidCallback? onTap, bool showDurationTimer = true, Color? durationTimerColor, DurationIndicatorDirection durationTimerDirection = DurationIndicatorDirection.leftToRight, bool handleDurationTimerManually = false}) → void
Shows a snackbar with support for multiple stacked snackbars
updateParams({required String id, ModalWidgetBuilder? builder, String? builderId, double? blurAmount, bool? shouldBlurBackground, bool? isExpandable, double? size, bool resetSize = false, double? expandedPercentageSize, double? contentPaddingByDragHandle, SheetPosition? sheetPosition, bool? isDismissable, bool? blockBackgroundInteraction, bool? isDraggable, Function? onDismissed, Function? onExpanded, ModalType? modalType, Alignment? modalPosition, ModalAnimationType? modalAnimationType, bool? isSwipeable, Duration? autoDismissDuration, SnackbarDisplayMode? snackbarDisplayMode, int? maxStackedSnackbars, Color? backgroundColor, bool resetBackgroundColor = false, double? snackbarWidth, Color? barrierColor, Offset? offset = _noOffsetChange}) → void
Updates specific parameters of an active modal without recreating the entire ModalContent