show<T> static method

Future<T?> show<T>(
  1. BuildContext context, {
  2. required String title,
  3. required Widget content,
  4. Widget? icon,
  5. List<Widget> actions = const [],
  6. bool barrierDismissible = true,
  7. String? description,
})

Implementation

static Future<T?> show<T>(
  BuildContext context, {
  required String title,
  required Widget content,
  Widget? icon,
  List<Widget> actions = const [],
  bool barrierDismissible = true,
  String? description,
}) {
  final colors = context.colors;

  return showGeneralDialog<T>(
    context: context,
    barrierDismissible: barrierDismissible,
    barrierLabel: 'Dismiss',
    barrierColor: colors.textPrimary.withValues(alpha: .38),
    transitionDuration: const Duration(milliseconds: 180),
    pageBuilder: (dialogContext, _, _) {
      return SafeArea(
        child: Center(
          child: Padding(
            padding: Dimensions.p24,
            child: Material(
              color: Colors.transparent,
              child: ConstrainedBox(
                constraints: const BoxConstraints(maxWidth: 440),
                child: _KiteDialogSurface(
                  title: title,
                  description: description,
                  icon: icon,
                  content: content,
                  actions: actions,
                ),
              ),
            ),
          ),
        ),
      );
    },
    transitionBuilder: (_, animation, _, child) {
      final curved = CurvedAnimation(
        parent: animation,
        curve: Curves.easeOutCubic,
        reverseCurve: Curves.easeInCubic,
      );
      return FadeTransition(
        opacity: curved,
        child: ScaleTransition(
          scale: Tween<double>(begin: .96, end: 1).animate(curved),
          child: child,
        ),
      );
    },
  );
}