TdDialogRoute<T> constructor

TdDialogRoute<T>({
  1. required WidgetBuilder builder,
  2. CapturedThemes? themes,
  3. required Color? barrierColor,
  4. bool barrierDismissible = true,
  5. String? barrierLabel,
  6. bool useSafeArea = true,
  7. RouteSettings? settings,
  8. Offset? anchorPoint,
  9. TraversalEdgeBehavior? traversalEdgeBehavior,
})

Implementation

TdDialogRoute({
  required WidgetBuilder builder,
  CapturedThemes? themes,
  required super.barrierColor,
  super.barrierDismissible,
  super.barrierLabel,
  bool useSafeArea = true,
  super.settings,
  super.anchorPoint,
  super.traversalEdgeBehavior,
}) : super(
        pageBuilder: (BuildContext buildContext, Animation<double> animation, Animation<double> secondaryAnimation) {
          final Widget pageChild = Builder(builder: builder);

          Widget dialog = themes?.wrap(pageChild) ?? pageChild;

          if (useSafeArea) {
            dialog = SafeArea(child: dialog);
          }

          return dialog;
        },
        transitionDuration: const Duration(milliseconds: 200),
        transitionBuilder:
            (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) {
          return Opacity(
            opacity: animation.value,
            child: Transform.scale(
              scale: 0.6 + animation.value * 0.4,
              child: child,
            ),
          );
        },
      );