showAdaptive<T> static method
Future<T?>
showAdaptive<T>(
- BuildContext context, {
- required String title,
- required Widget content,
- required String confirmLabel,
- required VoidCallback? onConfirm,
- String dismissLabel = M3EDialogStrings.cancel,
- Widget? icon,
- M3EDialogPosition position = M3EDialogPosition.center,
- bool barrierDismissible = true,
- M3EDialogController? controller,
- Future<
bool> onDismissRequest()?, - bool autofocusFirst = true,
- String? semanticLabel,
Presents an M3EAdaptiveDialog: full-screen below the compact breakpoint, basic above it, morphing when the width crosses it.
Implementation
static Future<T?> showAdaptive<T>(
BuildContext context, {
required String title,
required Widget content,
required String confirmLabel,
required VoidCallback? onConfirm,
String dismissLabel = M3EDialogStrings.cancel,
Widget? icon,
M3EDialogPosition position = M3EDialogPosition.center,
bool barrierDismissible = true,
M3EDialogController? controller,
Future<bool> Function()? onDismissRequest,
bool autofocusFirst = true,
String? semanticLabel,
}) {
final double width = MediaQuery.sizeOf(context).width;
final M3EDialogTheme dialogTheme = _themeOf(context).dialogTheme;
return _pushDialog<T>(
context,
variant: width < dialogTheme.compactBreakpoint
? M3EDialogVariant.fullScreen
: M3EDialogVariant.basic,
barrierDismissible: barrierDismissible,
controller: controller,
onDismissRequest: onDismissRequest,
autofocusFirst: autofocusFirst,
builder: (BuildContext context) => M3EAdaptiveDialog(
title: title,
content: content,
confirmLabel: confirmLabel,
onConfirm: onConfirm,
dismissLabel: dismissLabel,
icon: icon,
position: position,
controller: controller,
semanticLabel: semanticLabel,
),
);
}