From b0f7e0a7eea4cd1c6315b6944eb8fdc68219fa92 Mon Sep 17 00:00:00 2001 From: hguillaume Date: Wed, 1 Oct 2025 18:28:20 +0200 Subject: [PATCH] fix: scroll draggable modal with isScrollable prop --- .../docs/Components/draggable-modal.en-US.mdx | 7 ++++ .../src/components/draggable-modal/index.tsx | 36 +++++++++++++------ 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/apps/docs/pages/docs/Components/draggable-modal.en-US.mdx b/apps/docs/pages/docs/Components/draggable-modal.en-US.mdx index 8989dee..fd5db7f 100644 --- a/apps/docs/pages/docs/Components/draggable-modal.en-US.mdx +++ b/apps/docs/pages/docs/Components/draggable-modal.en-US.mdx @@ -72,6 +72,13 @@ Extends every `Box` props and `BottomSheetModalProps` from `@gorhom/bottom-sheet prop={{ type: "() => void", required: false }} /> +### `isScrollable` + + + ### `scrollViewProps` void; + isScrollable?: boolean; scrollViewProps?: BottomSheetScrollViewProps; } @@ -35,7 +36,15 @@ export const DraggableModal = forwardRef< const { colorMode } = useColorMode(); const bottomSheetModalRef = mergeRefs(_ref, ref); - const { children, isOpen, onClose, h, scrollViewProps, ...rest } = props; + const { + children, + isOpen, + onClose, + h, + isScrollable, + scrollViewProps, + ...rest + } = props; useEffect(() => { if (isOpen) { @@ -86,6 +95,15 @@ export const DraggableModal = forwardRef< const safeAreaViewStyle = { flex: 1, }; + + const modalContent = ( + + + {children as ReactNode} + + + ); + return ( - - - - - {children as ReactNode} - - - - + {isScrollable ? ( + + {modalContent} + + ) : ( + {modalContent} + )} ); });