buildShadcnDialogTransitions function

Widget buildShadcnDialogTransitions(
  1. BuildContext context,
  2. BorderRadiusGeometry borderRadius,
  3. AlignmentGeometry alignment,
  4. Animation<double> animation,
  5. Animation<double> secondaryAnimation,
  6. bool fullScreen,
  7. Widget child,
)

Implementation

Widget buildShadcnDialogTransitions(
    BuildContext context,
    BorderRadiusGeometry borderRadius,
    AlignmentGeometry alignment,
    Animation<double> animation,
    Animation<double> secondaryAnimation,
    bool fullScreen,
    Widget child) {
  var scaleTransition = ScaleTransition(
    scale: CurvedAnimation(
      parent: animation.drive(Tween<double>(begin: 0.7, end: 1.0)),
      curve: Curves.easeOut,
      reverseCurve: Curves.easeIn,
    ),
    child: FadeTransition(
      opacity: CurvedAnimation(
        parent: animation,
        curve: Curves.easeOut,
      ),
      child: child,
    ),
  );
  return FocusScope(
    child: fullScreen
        ? MultiModel(
            data: const [
              Model(ModalContainer.kFullScreenMode, true),
            ],
            child: scaleTransition,
          )
        : Align(
            alignment: alignment,
            child: scaleTransition,
          ),
  );
}