showAppBottomSheetPage<T> function
Future<T?>
showAppBottomSheetPage<T>({
- required BuildContext context,
- required Widget child,
- String? title,
- Widget? titleWidget,
- bool showCloseButton = true,
- VoidCallback? onCloseButton,
- AppSheetCloseSide closeSide = AppSheetCloseSide.end,
- double topPeek = kBottomSheetTopPeek,
- bool isDismissible = true,
- AppStyle? style,
- AppRadiusMode? radiusMode,
- bool scaleBelow = true,
Exibe um AppBottomSheetPage como modal (slide-up + barrier + swipe para
baixo). Retorna o valor passado a Navigator.pop ou null se fechado.
Com useRootNavigator true, sobe no navigator raiz (cobre a bottom
navigation). O roteamento fica no app; o DS não depende de router.
Implementation
Future<T?> showAppBottomSheetPage<T>({
required BuildContext context,
required Widget child,
String? title,
Widget? titleWidget,
Widget? footer,
bool showCloseButton = true,
VoidCallback? onCloseButton,
AppSheetCloseSide closeSide = AppSheetCloseSide.end,
double topPeek = kBottomSheetTopPeek,
bool isDismissible = true,
bool useRootNavigator = false,
AppStyle? style,
AppRadiusMode? radiusMode,
bool scaleBelow = true,
}) {
return pushBottomSheet<T>(
context: context,
isDismissible: isDismissible,
useRootNavigator: useRootNavigator,
asPage: true,
scaleBelow: scaleBelow,
contentBuilder: (BuildContext context) => BottomSheetEngine(
mode: BottomSheetMode.page,
title: title,
titleWidget: titleWidget,
footer: footer,
showCloseButton: showCloseButton,
onCloseButton: onCloseButton,
closeSide: closeSide,
topPeek: topPeek,
style: style,
radiusMode: radiusMode,
child: child,
),
);
}