showMacosSheet<T> function

Future<T?> showMacosSheet<T>({
  1. required BuildContext context,
  2. required WidgetBuilder builder,
  3. bool barrierDismissible = false,
  4. Color? barrierColor,
  5. String? barrierLabel,
  6. bool useRootNavigator = true,
  7. RouteSettings? routeSettings,
  8. Constraints? constraints,
})

Displays a MacosSheet above the current application.

Implementation

Future<T?> showMacosSheet<T>({
  required BuildContext context,
  required WidgetBuilder builder,
  bool barrierDismissible = false,
  Color? barrierColor,
  String? barrierLabel,
  bool useRootNavigator = true,
  RouteSettings? routeSettings,
  Constraints? constraints,
}) {
  barrierColor ??= MacosDynamicColor.resolve(
    MacosColors.controlBackgroundColor,
    context,
  ).withOpacity(0.6);

  return Navigator.of(context, rootNavigator: useRootNavigator).push<T>(
    _MacosSheetRoute<T>(
      settings: routeSettings,
      pageBuilder: (context, animation, secondaryAnimation) {
        if (constraints is BoxConstraints) {
          return Center(
            child: Container(
              constraints: constraints,
              child: builder(context),
            ),
          );
        } else {
          return builder(context);
        }
      },
      barrierDismissible: barrierDismissible,
      barrierColor: barrierColor,
      barrierLabel: barrierLabel ??
          MaterialLocalizations.of(context).modalBarrierDismissLabel,
    ),
  );
}