show<T> static method

Future<T?> show<T>(
  1. BuildContext context, {
  2. required Widget dialog,
  3. bool barrierDismissible = true,
  4. bool? resizeToAvoidBottomInset,
})

Presents a standard dialog and completes with the popped result.

Implementation

static Future<T?> show<T>(
  BuildContext context, {
  required Widget dialog,
  bool barrierDismissible = true,
  bool? resizeToAvoidBottomInset,
}) {
  final M3EThemeData theme =
      M3EThemeScope.resolveOf(context) ?? M3ETheme.of(context);
  final dialogTheme = theme.dialogTheme;
  return showGeneralDialog<T>(
    context: context,
    barrierDismissible: barrierDismissible,
    barrierLabel: 'Dismiss',
    barrierColor: dialogTheme.scrimColor(theme.colorScheme),
    transitionDuration: M3EMotion.medium2,
    pageBuilder: (BuildContext context, _, _) {
      return M3EScrimSystemUi.wrap(
        M3EComponentTheme(
          builder: (context) => M3EDialogInset(
            padding: dialogTheme.screenMargin,
            resizeToAvoidBottomInset: resizeToAvoidBottomInset,
            child: dialog,
          ),
        ),
      );
    },
    transitionBuilder: (context, animation, secondary, child) =>
        _transition(context, animation, secondary, child, dialogTheme),
  );
}