FluentDialogRoute<T> constructor

FluentDialogRoute<T>({
  1. required WidgetBuilder builder,
  2. required BuildContext context,
  3. CapturedThemes? themes,
  4. bool barrierDismissible = true,
  5. Color? barrierColor = const Color(0x8A000000),
  6. String? barrierLabel,
  7. Duration transitionDuration = const Duration(milliseconds: 200),
  8. RouteTransitionsBuilder? transitionBuilder = _defaultTransitionBuilder,
  9. RouteSettings? settings,
  10. bool dismissWithEsc = true,
})

A dialog route with Fluent entrance and exit animations, modal barrier color

Implementation

FluentDialogRoute({
  required WidgetBuilder builder,
  required BuildContext context,
  CapturedThemes? themes,
  super.barrierDismissible,
  super.barrierColor = const Color(0x8A000000),
  String? barrierLabel,
  super.transitionDuration,
  super.transitionBuilder = _defaultTransitionBuilder,
  super.settings,
  bool dismissWithEsc = true,
}) : super(
        pageBuilder: (context, animation, secondaryAnimation) {
          final pageChild = Builder(builder: builder);
          final dialog = themes?.wrap(pageChild) ?? pageChild;
          return SafeArea(
            child: Actions(
              actions: {
                if (dismissWithEsc) DismissIntent: _DismissAction(context),
              },
              child: FocusScope(
                autofocus: true,
                child: dialog,
              ),
            ),
          );
        },
        barrierLabel: barrierLabel ??
            FluentLocalizations.of(context).modalBarrierDismissLabel,
      );