show<T> static method

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

Presents a standard dialog and completes with the popped result.

Implementation

static Future<T?> show<T>(
  BuildContext context, {
  required Widget dialog,
  bool barrierDismissible = true,
}) {
  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) => Center(
            child: Padding(padding: dialogTheme.screenMargin, child: dialog),
          ),
        ),
      );
    },
    transitionBuilder: (context, animation, secondary, child) =>
        _transition(context, animation, secondary, child, dialogTheme),
  );
}