@lodev09/react-native-true-sheet 4.0.0-beta.0 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +42 -31
- package/RNTrueSheet.podspec +10 -2
- package/android/build.gradle +2 -1
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +174 -49
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerViewManager.kt +7 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentView.kt +371 -18
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentViewManager.kt +14 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterView.kt +150 -21
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterViewManager.kt +14 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetHeaderView.kt +38 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetHeaderViewManager.kt +28 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetModule.kt +84 -24
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetPackage.kt +5 -4
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetPeekView.kt +72 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetPeekViewManager.kt +33 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetStateUpdater.kt +45 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +526 -231
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +1217 -603
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +136 -29
- package/android/src/main/java/com/lodev09/truesheet/core/RNScreensEventObserver.kt +63 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetBottomSheetBehavior.kt +36 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetBottomSheetView.kt +255 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetCoordinatorLayout.kt +303 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +277 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDimView.kt +162 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetGrabberView.kt +180 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetKeyboardObserver.kt +207 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetStackManager.kt +220 -0
- package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetDragEvents.kt +71 -0
- package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetFocusEvents.kt +65 -0
- package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetLifecycleEvents.kt +112 -0
- package/android/src/main/java/com/lodev09/truesheet/events/TrueSheetStateEvents.kt +56 -0
- package/android/src/main/java/com/lodev09/truesheet/utils/KeyboardUtils.kt +84 -0
- package/android/src/main/java/com/lodev09/truesheet/utils/ScreenUtils.kt +93 -67
- package/android/src/main/java/com/lodev09/truesheet/utils/ViewUtils.kt +30 -0
- package/android/src/main/jni/CMakeLists.txt +63 -0
- package/android/src/main/jni/TrueSheetSpec.h +19 -0
- package/android/src/main/jni/TrueSheetStateUpdater.cpp +96 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewComponentDescriptor.h +24 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.cpp +43 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.h +28 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.cpp +11 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.h +37 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewComponentDescriptor.h +24 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewShadowNode.cpp +56 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewShadowNode.h +28 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewState.cpp +11 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewState.h +41 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetInsets.cpp +18 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetInsets.h +16 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewComponentDescriptor.h +28 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.cpp +61 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.h +45 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewState.cpp +23 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewState.h +52 -0
- package/ios/TrueSheetContainerView.h +81 -6
- package/ios/TrueSheetContainerView.mm +275 -21
- package/ios/TrueSheetContentView.h +38 -1
- package/ios/TrueSheetContentView.mm +413 -43
- package/ios/TrueSheetFooterView.h +27 -2
- package/ios/TrueSheetFooterView.mm +141 -35
- package/ios/{events/OnDidDismissEvent.h → TrueSheetHeaderView.h} +10 -7
- package/ios/TrueSheetHeaderView.mm +64 -0
- package/ios/TrueSheetModule.mm +92 -5
- package/ios/TrueSheetPeekView.h +32 -0
- package/ios/TrueSheetPeekView.mm +99 -0
- package/ios/TrueSheetView.h +7 -15
- package/ios/TrueSheetView.mm +633 -215
- package/ios/TrueSheetViewController.h +84 -16
- package/ios/TrueSheetViewController.mm +1136 -333
- package/ios/core/RNScreensEventObserver.h +46 -0
- package/ios/core/RNScreensEventObserver.mm +280 -0
- package/ios/core/TrueSheetBlurView.h +27 -0
- package/ios/core/TrueSheetBlurView.mm +82 -0
- package/ios/core/TrueSheetDetentCalculator.h +107 -0
- package/ios/core/TrueSheetDetentCalculator.mm +197 -0
- package/ios/core/TrueSheetGrabberView.h +72 -0
- package/ios/core/TrueSheetGrabberView.mm +178 -0
- package/ios/core/TrueSheetKeyboardObserver.h +39 -0
- package/ios/core/TrueSheetKeyboardObserver.mm +112 -0
- package/ios/events/TrueSheetDragEvents.h +39 -0
- package/ios/events/TrueSheetDragEvents.mm +62 -0
- package/ios/events/{OnPositionChangeEvent.h → TrueSheetFocusEvents.h} +8 -5
- package/ios/events/TrueSheetFocusEvents.mm +49 -0
- package/ios/events/TrueSheetLifecycleEvents.h +40 -0
- package/ios/events/TrueSheetLifecycleEvents.mm +71 -0
- package/ios/events/TrueSheetStateEvents.h +35 -0
- package/ios/events/TrueSheetStateEvents.mm +49 -0
- package/ios/tvos/TrueSheetStubs.mm +154 -0
- package/ios/{events/OnMountEvent.h → utils/BlurUtil.h} +5 -7
- package/ios/utils/BlurUtil.mm +69 -0
- package/ios/utils/GestureUtil.h +7 -0
- package/ios/utils/GestureUtil.mm +12 -0
- package/ios/utils/PlatformUtil.h +15 -0
- package/ios/utils/UIView+FirstResponder.h +15 -0
- package/ios/utils/UIView+FirstResponder.mm +26 -0
- package/ios/{events/OnWillDismissEvent.h → utils/UIView+ScrollEdgeInteraction.h} +6 -7
- package/ios/utils/UIView+ScrollEdgeInteraction.mm +62 -0
- package/ios/utils/WindowUtil.mm +17 -1
- package/lib/module/TrueSheet.js +224 -64
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/module/TrueSheet.web.js +1201 -0
- package/lib/module/TrueSheet.web.js.map +1 -0
- package/lib/module/TrueSheetPeek.js +15 -0
- package/lib/module/TrueSheetPeek.js.map +1 -0
- package/lib/module/TrueSheetPeek.web.js +55 -0
- package/lib/module/TrueSheetPeek.web.js.map +1 -0
- package/lib/module/TrueSheetProvider.js +28 -0
- package/lib/module/TrueSheetProvider.js.map +1 -0
- package/lib/module/TrueSheetProvider.web.js +157 -0
- package/lib/module/TrueSheetProvider.web.js.map +1 -0
- package/lib/module/fabric/TrueSheetContainerViewNativeComponent.ts +1 -1
- package/lib/module/fabric/TrueSheetContentViewNativeComponent.ts +5 -1
- package/lib/module/fabric/TrueSheetFooterViewNativeComponent.ts +10 -2
- package/lib/module/fabric/TrueSheetHeaderViewNativeComponent.ts +8 -0
- package/lib/module/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
- package/lib/module/fabric/TrueSheetViewNativeComponent.ts +105 -18
- package/lib/module/index.js +3 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/mocks/index.js +93 -0
- package/lib/module/mocks/index.js.map +1 -0
- package/lib/module/mocks/navigation.js +85 -0
- package/lib/module/mocks/navigation.js.map +1 -0
- package/lib/module/mocks/reanimated.js +91 -0
- package/lib/module/mocks/reanimated.js.map +1 -0
- package/lib/module/navigation/TrueSheetRouter.js +170 -0
- package/lib/module/navigation/TrueSheetRouter.js.map +1 -0
- package/lib/module/navigation/TrueSheetView.js +71 -0
- package/lib/module/navigation/TrueSheetView.js.map +1 -0
- package/lib/module/navigation/createTrueSheetNavigator.js +63 -0
- package/lib/module/navigation/createTrueSheetNavigator.js.map +1 -0
- package/lib/module/navigation/index.js +6 -0
- package/lib/module/navigation/index.js.map +1 -0
- package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js +56 -0
- package/lib/module/navigation/screen/ReanimatedTrueSheetScreen.js.map +1 -0
- package/lib/module/navigation/screen/TrueSheetScreen.js +49 -0
- package/lib/module/navigation/screen/TrueSheetScreen.js.map +1 -0
- package/lib/module/navigation/screen/index.js +5 -0
- package/lib/module/navigation/screen/index.js.map +1 -0
- package/lib/module/navigation/screen/types.js +4 -0
- package/lib/module/navigation/screen/types.js.map +1 -0
- package/lib/module/navigation/screen/useSheetScreenState.js +68 -0
- package/lib/module/navigation/screen/useSheetScreenState.js.map +1 -0
- package/lib/module/navigation/types.js +4 -0
- package/lib/module/navigation/types.js.map +1 -0
- package/lib/module/navigation/useTrueSheetNavigation.js +24 -0
- package/lib/module/navigation/useTrueSheetNavigation.js.map +1 -0
- package/lib/module/reanimated/ReanimatedTrueSheet.js +15 -9
- package/lib/module/reanimated/ReanimatedTrueSheet.js.map +1 -1
- package/lib/module/reanimated/ReanimatedTrueSheet.web.js +81 -0
- package/lib/module/reanimated/ReanimatedTrueSheet.web.js.map +1 -0
- package/lib/module/reanimated/ReanimatedTrueSheetProvider.js +4 -2
- package/lib/module/reanimated/ReanimatedTrueSheetProvider.js.map +1 -1
- package/lib/module/reanimated/index.js +2 -2
- package/lib/module/reanimated/index.js.map +1 -1
- package/lib/module/reanimated/useReanimatedPositionChangeHandler.web.js +20 -0
- package/lib/module/reanimated/useReanimatedPositionChangeHandler.web.js.map +1 -0
- package/lib/module/specs/NativeTrueSheetModule.js.map +1 -1
- package/lib/module/web/constants.js +16 -0
- package/lib/module/web/constants.js.map +1 -0
- package/lib/module/web/vaul/README.md +9 -0
- package/lib/module/web/vaul/browser.js +30 -0
- package/lib/module/web/vaul/browser.js.map +1 -0
- package/lib/module/web/vaul/constants.js +15 -0
- package/lib/module/web/vaul/constants.js.map +1 -0
- package/lib/module/web/vaul/context.js +59 -0
- package/lib/module/web/vaul/context.js.map +1 -0
- package/lib/module/web/vaul/helpers.js +93 -0
- package/lib/module/web/vaul/helpers.js.map +1 -0
- package/lib/module/web/vaul/index.js +1309 -0
- package/lib/module/web/vaul/index.js.map +1 -0
- package/lib/module/web/vaul/style.css +287 -0
- package/lib/module/web/vaul/style.css.d.js +2 -0
- package/lib/module/web/vaul/style.css.d.js.map +1 -0
- package/lib/module/web/vaul/types.js +2 -0
- package/lib/module/web/vaul/types.js.map +1 -0
- package/lib/module/web/vaul/use-composed-refs.js +34 -0
- package/lib/module/web/vaul/use-composed-refs.js.map +1 -0
- package/lib/module/web/vaul/use-controllable-state.js +54 -0
- package/lib/module/web/vaul/use-controllable-state.js.map +1 -0
- package/lib/module/web/vaul/use-position-fixed.js +123 -0
- package/lib/module/web/vaul/use-position-fixed.js.map +1 -0
- package/lib/module/web/vaul/use-prevent-scroll.js +258 -0
- package/lib/module/web/vaul/use-prevent-scroll.js.map +1 -0
- package/lib/module/web/vaul/use-scale-background.js +57 -0
- package/lib/module/web/vaul/use-scale-background.js.map +1 -0
- package/lib/module/web/vaul/use-snap-points.js +305 -0
- package/lib/module/web/vaul/use-snap-points.js.map +1 -0
- package/lib/typescript/src/TrueSheet.d.ts +51 -14
- package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.types.d.ts +463 -54
- package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.web.d.ts +5 -0
- package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -0
- package/lib/typescript/src/TrueSheetPeek.d.ts +9 -0
- package/lib/typescript/src/TrueSheetPeek.d.ts.map +1 -0
- package/lib/typescript/src/TrueSheetPeek.web.d.ts +28 -0
- package/lib/typescript/src/TrueSheetPeek.web.d.ts.map +1 -0
- package/lib/typescript/src/TrueSheetProvider.d.ts +18 -0
- package/lib/typescript/src/TrueSheetProvider.d.ts.map +1 -0
- package/lib/typescript/src/TrueSheetProvider.web.d.ts +27 -0
- package/lib/typescript/src/TrueSheetProvider.web.d.ts.map +1 -0
- package/lib/typescript/src/fabric/TrueSheetContainerViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/fabric/TrueSheetContentViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/fabric/TrueSheetFooterViewNativeComponent.d.ts +2 -0
- package/lib/typescript/src/fabric/TrueSheetFooterViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/fabric/TrueSheetHeaderViewNativeComponent.d.ts +6 -0
- package/lib/typescript/src/fabric/TrueSheetHeaderViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/fabric/TrueSheetPeekViewNativeComponent.d.ts +6 -0
- package/lib/typescript/src/fabric/TrueSheetPeekViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts +67 -16
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/mocks/index.d.ts +43 -0
- package/lib/typescript/src/mocks/index.d.ts.map +1 -0
- package/lib/typescript/src/mocks/navigation.d.ts +66 -0
- package/lib/typescript/src/mocks/navigation.d.ts.map +1 -0
- package/lib/typescript/src/mocks/reanimated.d.ts +48 -0
- package/lib/typescript/src/mocks/reanimated.d.ts.map +1 -0
- package/lib/typescript/src/navigation/TrueSheetRouter.d.ts +57 -0
- package/lib/typescript/src/navigation/TrueSheetRouter.d.ts.map +1 -0
- package/lib/typescript/src/navigation/TrueSheetView.d.ts +10 -0
- package/lib/typescript/src/navigation/TrueSheetView.d.ts.map +1 -0
- package/lib/typescript/src/navigation/createTrueSheetNavigator.d.ts +35 -0
- package/lib/typescript/src/navigation/createTrueSheetNavigator.d.ts.map +1 -0
- package/lib/typescript/src/navigation/index.d.ts +6 -0
- package/lib/typescript/src/navigation/index.d.ts.map +1 -0
- package/lib/typescript/src/navigation/screen/ReanimatedTrueSheetScreen.d.ts +3 -0
- package/lib/typescript/src/navigation/screen/ReanimatedTrueSheetScreen.d.ts.map +1 -0
- package/lib/typescript/src/navigation/screen/TrueSheetScreen.d.ts +3 -0
- package/lib/typescript/src/navigation/screen/TrueSheetScreen.d.ts.map +1 -0
- package/lib/typescript/src/navigation/screen/index.d.ts +4 -0
- package/lib/typescript/src/navigation/screen/index.d.ts.map +1 -0
- package/lib/typescript/src/navigation/screen/types.d.ts +15 -0
- package/lib/typescript/src/navigation/screen/types.d.ts.map +1 -0
- package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts +35 -0
- package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts.map +1 -0
- package/lib/typescript/src/navigation/types.d.ts +153 -0
- package/lib/typescript/src/navigation/types.d.ts.map +1 -0
- package/lib/typescript/src/navigation/useTrueSheetNavigation.d.ts +23 -0
- package/lib/typescript/src/navigation/useTrueSheetNavigation.d.ts.map +1 -0
- package/lib/typescript/src/reanimated/ReanimatedTrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/reanimated/ReanimatedTrueSheet.web.d.ts +41 -0
- package/lib/typescript/src/reanimated/ReanimatedTrueSheet.web.d.ts.map +1 -0
- package/lib/typescript/src/reanimated/ReanimatedTrueSheetProvider.d.ts +8 -2
- package/lib/typescript/src/reanimated/ReanimatedTrueSheetProvider.d.ts.map +1 -1
- package/lib/typescript/src/reanimated/useReanimatedPositionChangeHandler.web.d.ts +15 -0
- package/lib/typescript/src/reanimated/useReanimatedPositionChangeHandler.web.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeTrueSheetModule.d.ts +25 -3
- package/lib/typescript/src/specs/NativeTrueSheetModule.d.ts.map +1 -1
- package/lib/typescript/src/web/constants.d.ts +14 -0
- package/lib/typescript/src/web/constants.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/browser.d.ts +8 -0
- package/lib/typescript/src/web/vaul/browser.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/constants.d.ts +13 -0
- package/lib/typescript/src/web/vaul/constants.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/context.d.ts +53 -0
- package/lib/typescript/src/web/vaul/context.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/helpers.d.ts +17 -0
- package/lib/typescript/src/web/vaul/helpers.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/index.d.ts +228 -0
- package/lib/typescript/src/web/vaul/index.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/types.d.ts +7 -0
- package/lib/typescript/src/web/vaul/types.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-composed-refs.d.ts +14 -0
- package/lib/typescript/src/web/vaul/use-composed-refs.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-controllable-state.d.ts +9 -0
- package/lib/typescript/src/web/vaul/use-controllable-state.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-position-fixed.d.ts +19 -0
- package/lib/typescript/src/web/vaul/use-position-fixed.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-prevent-scroll.d.ts +18 -0
- package/lib/typescript/src/web/vaul/use-prevent-scroll.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-scale-background.d.ts +2 -0
- package/lib/typescript/src/web/vaul/use-scale-background.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-snap-points.d.ts +38 -0
- package/lib/typescript/src/web/vaul/use-snap-points.d.ts.map +1 -0
- package/package.json +78 -34
- package/react-native.config.js +9 -2
- package/src/TrueSheet.tsx +276 -60
- package/src/TrueSheet.types.ts +525 -71
- package/src/TrueSheet.web.tsx +1366 -0
- package/src/TrueSheetPeek.tsx +11 -0
- package/src/TrueSheetPeek.web.tsx +63 -0
- package/src/TrueSheetProvider.tsx +33 -0
- package/src/TrueSheetProvider.web.tsx +220 -0
- package/src/fabric/TrueSheetContainerViewNativeComponent.ts +1 -1
- package/src/fabric/TrueSheetContentViewNativeComponent.ts +5 -1
- package/src/fabric/TrueSheetFooterViewNativeComponent.ts +10 -2
- package/src/fabric/TrueSheetHeaderViewNativeComponent.ts +8 -0
- package/src/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
- package/src/fabric/TrueSheetViewNativeComponent.ts +105 -18
- package/src/index.ts +2 -2
- package/src/mocks/index.ts +89 -0
- package/src/mocks/navigation.ts +72 -0
- package/src/mocks/reanimated.ts +101 -0
- package/src/navigation/TrueSheetRouter.ts +234 -0
- package/src/navigation/TrueSheetView.tsx +99 -0
- package/src/navigation/createTrueSheetNavigator.tsx +93 -0
- package/src/navigation/index.ts +14 -0
- package/src/navigation/screen/ReanimatedTrueSheetScreen.tsx +61 -0
- package/src/navigation/screen/TrueSheetScreen.tsx +54 -0
- package/src/navigation/screen/index.ts +3 -0
- package/src/navigation/screen/types.ts +21 -0
- package/src/navigation/screen/useSheetScreenState.ts +107 -0
- package/src/navigation/types.ts +219 -0
- package/src/navigation/useTrueSheetNavigation.ts +26 -0
- package/src/reanimated/ReanimatedTrueSheet.tsx +12 -7
- package/src/reanimated/ReanimatedTrueSheet.web.tsx +75 -0
- package/src/reanimated/ReanimatedTrueSheetProvider.tsx +12 -8
- package/src/reanimated/useReanimatedPositionChangeHandler.web.ts +31 -0
- package/src/specs/NativeTrueSheetModule.ts +28 -3
- package/src/web/constants.ts +13 -0
- package/src/web/vaul/README.md +9 -0
- package/src/web/vaul/browser.ts +38 -0
- package/src/web/vaul/constants.ts +20 -0
- package/src/web/vaul/context.ts +101 -0
- package/src/web/vaul/helpers.ts +124 -0
- package/src/web/vaul/index.tsx +1740 -0
- package/src/web/vaul/style.css +287 -0
- package/src/web/vaul/style.css.d.ts +1 -0
- package/src/web/vaul/types.ts +7 -0
- package/src/web/vaul/use-composed-refs.ts +35 -0
- package/src/web/vaul/use-controllable-state.ts +66 -0
- package/src/web/vaul/use-position-fixed.ts +147 -0
- package/src/web/vaul/use-prevent-scroll.ts +309 -0
- package/src/web/vaul/use-scale-background.ts +64 -0
- package/src/web/vaul/use-snap-points.ts +455 -0
- package/android/src/main/java/com/lodev09/truesheet/events/DetentChangeEvent.kt +0 -26
- package/android/src/main/java/com/lodev09/truesheet/events/DidDismissEvent.kt +0 -20
- package/android/src/main/java/com/lodev09/truesheet/events/DidPresentEvent.kt +0 -26
- package/android/src/main/java/com/lodev09/truesheet/events/DragBeginEvent.kt +0 -26
- package/android/src/main/java/com/lodev09/truesheet/events/DragChangeEvent.kt +0 -26
- package/android/src/main/java/com/lodev09/truesheet/events/DragEndEvent.kt +0 -26
- package/android/src/main/java/com/lodev09/truesheet/events/MountEvent.kt +0 -20
- package/android/src/main/java/com/lodev09/truesheet/events/PositionChangeEvent.kt +0 -32
- package/android/src/main/java/com/lodev09/truesheet/events/SizeChangeEvent.kt +0 -27
- package/android/src/main/java/com/lodev09/truesheet/events/WillDismissEvent.kt +0 -20
- package/android/src/main/java/com/lodev09/truesheet/events/WillPresentEvent.kt +0 -26
- package/android/src/main/res/values/styles.xml +0 -8
- package/ios/events/OnDetentChangeEvent.h +0 -28
- package/ios/events/OnDetentChangeEvent.mm +0 -30
- package/ios/events/OnDidDismissEvent.mm +0 -25
- package/ios/events/OnDidPresentEvent.h +0 -28
- package/ios/events/OnDidPresentEvent.mm +0 -30
- package/ios/events/OnDragBeginEvent.h +0 -28
- package/ios/events/OnDragBeginEvent.mm +0 -30
- package/ios/events/OnDragChangeEvent.h +0 -28
- package/ios/events/OnDragChangeEvent.mm +0 -30
- package/ios/events/OnDragEndEvent.h +0 -28
- package/ios/events/OnDragEndEvent.mm +0 -30
- package/ios/events/OnMountEvent.mm +0 -25
- package/ios/events/OnPositionChangeEvent.mm +0 -32
- package/ios/events/OnSizeChangeEvent.h +0 -28
- package/ios/events/OnSizeChangeEvent.mm +0 -30
- package/ios/events/OnWillDismissEvent.mm +0 -25
- package/ios/events/OnWillPresentEvent.h +0 -28
- package/ios/events/OnWillPresentEvent.mm +0 -30
- package/ios/utils/LayoutUtil.h +0 -44
- package/ios/utils/LayoutUtil.mm +0 -50
- package/lib/module/TrueSheetGrabber.js +0 -51
- package/lib/module/TrueSheetGrabber.js.map +0 -1
- package/lib/typescript/src/TrueSheetGrabber.d.ts +0 -39
- package/lib/typescript/src/TrueSheetGrabber.d.ts.map +0 -1
- package/src/TrueSheetGrabber.tsx +0 -82
- package/src/__mocks__/index.js +0 -67
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Created by Jovanni Lo (@lodev09)
|
|
3
|
+
// Copyright (c) 2024-present. All rights reserved.
|
|
4
|
+
//
|
|
5
|
+
// This source code is licensed under the MIT license found in the
|
|
6
|
+
// LICENSE file in the root directory of this source tree.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
10
|
+
|
|
11
|
+
#import <objc/runtime.h>
|
|
12
|
+
#import "PlatformUtil.h"
|
|
13
|
+
#import "UIView+ScrollEdgeInteraction.h"
|
|
14
|
+
|
|
15
|
+
static const void *kEdgeEffectHintKey = &kEdgeEffectHintKey;
|
|
16
|
+
|
|
17
|
+
@implementation UIView (ScrollEdgeInteraction)
|
|
18
|
+
|
|
19
|
+
- (void)cleanupEdgeInteraction API_AVAILABLE(ios(26.0)) {
|
|
20
|
+
#if RNTS_IPHONE_OS_VERSION_AVAILABLE(26_0)
|
|
21
|
+
for (id<UIInteraction> interaction in [self.interactions copy]) {
|
|
22
|
+
if ([interaction isKindOfClass:[UIScrollEdgeElementContainerInteraction class]]) {
|
|
23
|
+
[self removeInteraction:interaction];
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
#endif
|
|
28
|
+
|
|
29
|
+
UILabel *hint = objc_getAssociatedObject(self, kEdgeEffectHintKey);
|
|
30
|
+
[hint removeFromSuperview];
|
|
31
|
+
objc_setAssociatedObject(self, kEdgeEffectHintKey, nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
- (void)setupEdgeInteractionWithScrollView:(nullable UIScrollView *)scrollView
|
|
35
|
+
edge:(UIRectEdge)edge API_AVAILABLE(ios(26.0)) {
|
|
36
|
+
[self cleanupEdgeInteraction];
|
|
37
|
+
|
|
38
|
+
if (!scrollView) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#if RNTS_IPHONE_OS_VERSION_AVAILABLE(26_0)
|
|
43
|
+
// UIScrollEdgeElementContainerInteraction requires standard UIKit element
|
|
44
|
+
// descendants (UILabel, UIControl, etc.) to trigger the edge effect.
|
|
45
|
+
// RCTViewComponentView subviews are not recognized, so we add a
|
|
46
|
+
// non-visible UILabel as an element hint.
|
|
47
|
+
UILabel *hint = [[UILabel alloc] initWithFrame:self.bounds];
|
|
48
|
+
hint.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
|
|
49
|
+
hint.userInteractionEnabled = NO;
|
|
50
|
+
[self addSubview:hint];
|
|
51
|
+
objc_setAssociatedObject(self, kEdgeEffectHintKey, hint, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
|
52
|
+
|
|
53
|
+
UIScrollEdgeElementContainerInteraction *interaction = [[UIScrollEdgeElementContainerInteraction alloc] init];
|
|
54
|
+
interaction.scrollView = scrollView;
|
|
55
|
+
interaction.edge = edge;
|
|
56
|
+
[self addInteraction:interaction];
|
|
57
|
+
#endif
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@end
|
|
61
|
+
|
|
62
|
+
#endif
|
package/ios/utils/WindowUtil.mm
CHANGED
|
@@ -15,10 +15,13 @@
|
|
|
15
15
|
+ (nullable UIWindow *)keyWindow {
|
|
16
16
|
NSSet<UIScene *> *connectedScenes = [UIApplication sharedApplication].connectedScenes;
|
|
17
17
|
|
|
18
|
+
UIWindow *fallbackWindow = nil;
|
|
19
|
+
|
|
18
20
|
for (UIScene *scene in connectedScenes) {
|
|
19
21
|
if ([scene isKindOfClass:[UIWindowScene class]]) {
|
|
20
22
|
UIWindowScene *windowScene = (UIWindowScene *)scene;
|
|
21
23
|
|
|
24
|
+
// Check for foreground active first (preferred)
|
|
22
25
|
if (windowScene.activationState == UISceneActivationStateForegroundActive) {
|
|
23
26
|
for (UIWindow *window in windowScene.windows) {
|
|
24
27
|
if (window.isKeyWindow) {
|
|
@@ -31,10 +34,23 @@
|
|
|
31
34
|
return windowScene.windows.firstObject;
|
|
32
35
|
}
|
|
33
36
|
}
|
|
37
|
+
|
|
38
|
+
// Store a fallback window for transitional states (e.g., deep link handling from background or cold start)
|
|
39
|
+
if (fallbackWindow == nil && windowScene.windows.count > 0) {
|
|
40
|
+
for (UIWindow *window in windowScene.windows) {
|
|
41
|
+
if (window.isKeyWindow) {
|
|
42
|
+
fallbackWindow = window;
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (fallbackWindow == nil) {
|
|
47
|
+
fallbackWindow = windowScene.windows.firstObject;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
34
50
|
}
|
|
35
51
|
}
|
|
36
52
|
|
|
37
|
-
return
|
|
53
|
+
return fallbackWindow;
|
|
38
54
|
}
|
|
39
55
|
|
|
40
56
|
@end
|
package/lib/module/TrueSheet.js
CHANGED
|
@@ -4,9 +4,10 @@ import { PureComponent, createRef, isValidElement, createElement } from 'react';
|
|
|
4
4
|
import TrueSheetViewNativeComponent from './fabric/TrueSheetViewNativeComponent';
|
|
5
5
|
import TrueSheetContainerViewNativeComponent from './fabric/TrueSheetContainerViewNativeComponent';
|
|
6
6
|
import TrueSheetContentViewNativeComponent from './fabric/TrueSheetContentViewNativeComponent';
|
|
7
|
+
import TrueSheetHeaderViewNativeComponent from './fabric/TrueSheetHeaderViewNativeComponent';
|
|
7
8
|
import TrueSheetFooterViewNativeComponent from './fabric/TrueSheetFooterViewNativeComponent';
|
|
8
9
|
import TrueSheetModule from "./specs/NativeTrueSheetModule.js";
|
|
9
|
-
import { Platform,
|
|
10
|
+
import { Platform, StyleSheet, BackHandler, findNodeHandle, processColor } from 'react-native';
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
const LINKING_ERROR = `The package '@lodev09/react-native-true-sheet' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
12
13
|
ios: "- You have run 'pod install'\n",
|
|
@@ -15,8 +16,18 @@ const LINKING_ERROR = `The package '@lodev09/react-native-true-sheet' doesn't se
|
|
|
15
16
|
if (!TrueSheetModule) {
|
|
16
17
|
throw new Error(LINKING_ERROR);
|
|
17
18
|
}
|
|
19
|
+
// Claim touches that no descendant claimed so the responder negotiation
|
|
20
|
+
// doesn't bubble up to touchables outside the sheet
|
|
21
|
+
const absorbUnclaimedTouches = () => true;
|
|
22
|
+
|
|
23
|
+
// Stop raw touch events from bubbling past the sheet to outside ancestors
|
|
24
|
+
const stopTouchPropagation = event => event.stopPropagation();
|
|
18
25
|
export class TrueSheet extends PureComponent {
|
|
19
26
|
displayName = 'TrueSheet';
|
|
27
|
+
backHandlerSubscription = null;
|
|
28
|
+
isPresented = false;
|
|
29
|
+
isSheetVisible = true;
|
|
30
|
+
|
|
20
31
|
/**
|
|
21
32
|
* Map of sheet names against their instances.
|
|
22
33
|
*/
|
|
@@ -26,6 +37,11 @@ export class TrueSheet extends PureComponent {
|
|
|
26
37
|
* Resolver to be called when mount event is received
|
|
27
38
|
*/
|
|
28
39
|
presentationResolver = null;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Tracks if a present operation is in progress
|
|
43
|
+
*/
|
|
44
|
+
isPresenting = false;
|
|
29
45
|
constructor(props) {
|
|
30
46
|
super(props);
|
|
31
47
|
this.nativeRef = /*#__PURE__*/createRef();
|
|
@@ -34,9 +50,7 @@ export class TrueSheet extends PureComponent {
|
|
|
34
50
|
// Lazy load by default, except when initialDetentIndex is set (for auto-presentation)
|
|
35
51
|
const shouldRenderImmediately = props.initialDetentIndex !== undefined && props.initialDetentIndex >= 0;
|
|
36
52
|
this.state = {
|
|
37
|
-
shouldRenderNativeView: shouldRenderImmediately
|
|
38
|
-
containerWidth: undefined,
|
|
39
|
-
containerHeight: undefined
|
|
53
|
+
shouldRenderNativeView: shouldRenderImmediately
|
|
40
54
|
};
|
|
41
55
|
this.onMount = this.onMount.bind(this);
|
|
42
56
|
this.onWillDismiss = this.onWillDismiss.bind(this);
|
|
@@ -48,7 +62,12 @@ export class TrueSheet extends PureComponent {
|
|
|
48
62
|
this.onDragChange = this.onDragChange.bind(this);
|
|
49
63
|
this.onDragEnd = this.onDragEnd.bind(this);
|
|
50
64
|
this.onPositionChange = this.onPositionChange.bind(this);
|
|
51
|
-
this.
|
|
65
|
+
this.onWillFocus = this.onWillFocus.bind(this);
|
|
66
|
+
this.onDidFocus = this.onDidFocus.bind(this);
|
|
67
|
+
this.onWillBlur = this.onWillBlur.bind(this);
|
|
68
|
+
this.onDidBlur = this.onDidBlur.bind(this);
|
|
69
|
+
this.handleBackPress = this.handleBackPress.bind(this);
|
|
70
|
+
this.onVisibilityChange = this.onVisibilityChange.bind(this);
|
|
52
71
|
}
|
|
53
72
|
validateDetents() {
|
|
54
73
|
const {
|
|
@@ -64,7 +83,7 @@ export class TrueSheet extends PureComponent {
|
|
|
64
83
|
// Warn for invalid detent fractions
|
|
65
84
|
if (detents) {
|
|
66
85
|
detents.forEach((detent, index) => {
|
|
67
|
-
if (detent
|
|
86
|
+
if (typeof detent === 'number' && detent !== -1 && detent !== -2) {
|
|
68
87
|
if (detent <= 0 || detent > 1) {
|
|
69
88
|
console.warn(`TrueSheet: detent at index ${index} (${detent}) should be between 0 and 1. It will be clamped.`);
|
|
70
89
|
}
|
|
@@ -100,29 +119,46 @@ export class TrueSheet extends PureComponent {
|
|
|
100
119
|
* Present the sheet by given `name` (Promise-based)
|
|
101
120
|
* @param name - Sheet name (must match sheet's name prop)
|
|
102
121
|
* @param index - Detent index (default: 0)
|
|
122
|
+
* @param animated - Whether to animate the presentation (default: true)
|
|
103
123
|
* @returns Promise that resolves when sheet is fully presented
|
|
104
124
|
* @throws Error if sheet not found or presentation fails
|
|
105
125
|
*/
|
|
106
|
-
static async present(name, index = 0) {
|
|
126
|
+
static async present(name, index = 0, animated = true) {
|
|
107
127
|
const instance = TrueSheet.getInstance(name);
|
|
108
128
|
if (!instance) {
|
|
109
129
|
throw new Error(`Sheet with name "${name}" not found`);
|
|
110
130
|
}
|
|
111
|
-
return instance.present(index);
|
|
131
|
+
return instance.present(index, animated);
|
|
112
132
|
}
|
|
113
133
|
|
|
114
134
|
/**
|
|
115
135
|
* Dismiss the sheet by given `name` (Promise-based)
|
|
116
136
|
* @param name - Sheet name
|
|
137
|
+
* @param animated - Whether to animate the dismissal (default: true)
|
|
117
138
|
* @returns Promise that resolves when sheet is fully dismissed
|
|
118
139
|
* @throws Error if sheet not found or dismissal fails
|
|
119
140
|
*/
|
|
120
|
-
static async dismiss(name) {
|
|
141
|
+
static async dismiss(name, animated = true) {
|
|
142
|
+
const instance = TrueSheet.getInstance(name);
|
|
143
|
+
if (!instance) {
|
|
144
|
+
throw new Error(`Sheet with name "${name}" not found`);
|
|
145
|
+
}
|
|
146
|
+
return instance.dismiss(animated);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Dismiss only the sheets presented on top of a sheet by given `name`
|
|
151
|
+
* @param name - Sheet name
|
|
152
|
+
* @param animated - Whether to animate the dismissal (default: true)
|
|
153
|
+
* @returns Promise that resolves when all child sheets are dismissed
|
|
154
|
+
* @throws Error if sheet not found
|
|
155
|
+
*/
|
|
156
|
+
static async dismissStack(name, animated = true) {
|
|
121
157
|
const instance = TrueSheet.getInstance(name);
|
|
122
158
|
if (!instance) {
|
|
123
159
|
throw new Error(`Sheet with name "${name}" not found`);
|
|
124
160
|
}
|
|
125
|
-
return instance.
|
|
161
|
+
return instance.dismissStack(animated);
|
|
126
162
|
}
|
|
127
163
|
|
|
128
164
|
/**
|
|
@@ -139,6 +175,16 @@ export class TrueSheet extends PureComponent {
|
|
|
139
175
|
}
|
|
140
176
|
return instance.resize(index);
|
|
141
177
|
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Dismiss all presented sheets by dismissing from the bottom of the stack.
|
|
181
|
+
* This ensures child sheets are dismissed first before their parent.
|
|
182
|
+
* @param animated - Whether to animate the dismissals (default: true)
|
|
183
|
+
* @returns Promise that resolves when all sheets are dismissed
|
|
184
|
+
*/
|
|
185
|
+
static async dismissAll(animated = true) {
|
|
186
|
+
return TrueSheetModule?.dismissAll(animated);
|
|
187
|
+
}
|
|
142
188
|
registerInstance() {
|
|
143
189
|
if (this.props.name) {
|
|
144
190
|
TrueSheet.instances[this.props.name] = this;
|
|
@@ -156,16 +202,29 @@ export class TrueSheet extends PureComponent {
|
|
|
156
202
|
this.props.onWillPresent?.(event);
|
|
157
203
|
}
|
|
158
204
|
onDidPresent(event) {
|
|
205
|
+
this.isPresented = true;
|
|
206
|
+
if (Platform.OS === 'android') {
|
|
207
|
+
this.backHandlerSubscription?.remove();
|
|
208
|
+
this.backHandlerSubscription = BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
|
|
209
|
+
}
|
|
159
210
|
this.props.onDidPresent?.(event);
|
|
160
211
|
}
|
|
161
212
|
onWillDismiss(event) {
|
|
162
213
|
this.props.onWillDismiss?.(event);
|
|
163
214
|
}
|
|
164
215
|
onDidDismiss(event) {
|
|
165
|
-
|
|
166
|
-
this.
|
|
167
|
-
|
|
168
|
-
|
|
216
|
+
this.isPresented = false;
|
|
217
|
+
this.isSheetVisible = true;
|
|
218
|
+
this.backHandlerSubscription?.remove();
|
|
219
|
+
this.backHandlerSubscription = null;
|
|
220
|
+
|
|
221
|
+
// Clean up native view after dismiss for lazy loading.
|
|
222
|
+
// Skip unmount if a present is in progress to avoid race condition.
|
|
223
|
+
if (!this.isPresenting) {
|
|
224
|
+
this.setState({
|
|
225
|
+
shouldRenderNativeView: false
|
|
226
|
+
});
|
|
227
|
+
}
|
|
169
228
|
this.props.onDidDismiss?.(event);
|
|
170
229
|
}
|
|
171
230
|
onMount(event) {
|
|
@@ -188,30 +247,49 @@ export class TrueSheet extends PureComponent {
|
|
|
188
247
|
onPositionChange(event) {
|
|
189
248
|
this.props.onPositionChange?.(event);
|
|
190
249
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
250
|
+
onWillFocus(event) {
|
|
251
|
+
this.props.onWillFocus?.(event);
|
|
252
|
+
}
|
|
253
|
+
onDidFocus(event) {
|
|
254
|
+
this.props.onDidFocus?.(event);
|
|
255
|
+
}
|
|
256
|
+
onWillBlur(event) {
|
|
257
|
+
this.props.onWillBlur?.(event);
|
|
258
|
+
}
|
|
259
|
+
onDidBlur(event) {
|
|
260
|
+
this.props.onDidBlur?.(event);
|
|
261
|
+
}
|
|
262
|
+
onVisibilityChange(event) {
|
|
263
|
+
this.isSheetVisible = event.nativeEvent.visible;
|
|
264
|
+
}
|
|
265
|
+
handleBackPress() {
|
|
266
|
+
if (!this.isPresented || !this.isSheetVisible) return false;
|
|
196
267
|
|
|
197
|
-
//
|
|
198
|
-
this.
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
268
|
+
// The native view can be detached (e.g. host screen unmounted by navigation)
|
|
269
|
+
// before onDidDismiss removes this subscription. Treat back press as a no-op
|
|
270
|
+
// instead of throwing from the handle getter.
|
|
271
|
+
const nodeHandle = findNodeHandle(this.nativeRef.current);
|
|
272
|
+
if (nodeHandle == null || nodeHandle === -1) return false;
|
|
202
273
|
|
|
203
|
-
//
|
|
274
|
+
// When not dismissible, let back propagate (e.g. navigation goes back to the previous screen)
|
|
275
|
+
if (this.props.dismissible === false) {
|
|
276
|
+
return this.props.onBackPress?.() ?? false;
|
|
277
|
+
}
|
|
278
|
+
TrueSheetModule?.handleBackPress(nodeHandle);
|
|
279
|
+
return this.props.onBackPress?.() ?? true;
|
|
204
280
|
}
|
|
205
281
|
|
|
206
282
|
/**
|
|
207
|
-
* Present the
|
|
208
|
-
* @param index -
|
|
283
|
+
* Present the sheet at a given detent index.
|
|
284
|
+
* @param index - The detent index to present at (default: 0)
|
|
285
|
+
* @param animated - Whether to animate the presentation (default: true)
|
|
209
286
|
*/
|
|
210
|
-
async present(index = 0) {
|
|
287
|
+
async present(index = 0, animated = true) {
|
|
211
288
|
const detentsLength = Math.min(this.props.detents?.length ?? 2, 3); // Max 3 detents
|
|
212
289
|
if (index < 0 || index >= detentsLength) {
|
|
213
290
|
throw new Error(`TrueSheet: present index (${index}) is out of bounds. detents array has ${detentsLength} item(s)`);
|
|
214
291
|
}
|
|
292
|
+
this.isPresenting = true;
|
|
215
293
|
|
|
216
294
|
// Lazy load: render native view if not already rendered
|
|
217
295
|
if (!this.state.shouldRenderNativeView) {
|
|
@@ -222,22 +300,33 @@ export class TrueSheet extends PureComponent {
|
|
|
222
300
|
});
|
|
223
301
|
});
|
|
224
302
|
}
|
|
225
|
-
|
|
303
|
+
await TrueSheetModule?.presentByRef(this.handle, index, animated);
|
|
304
|
+
this.isPresenting = false;
|
|
226
305
|
}
|
|
227
306
|
|
|
228
307
|
/**
|
|
229
|
-
*
|
|
230
|
-
*
|
|
308
|
+
* Resize the sheet to a given detent index.
|
|
309
|
+
* @param index - The detent index to resize to
|
|
231
310
|
*/
|
|
232
311
|
async resize(index) {
|
|
233
|
-
await this.
|
|
312
|
+
await TrueSheetModule?.resizeByRef(this.handle, index);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* Dismiss this sheet and all sheets presented on top of it in a single animation.
|
|
317
|
+
* @param animated - Whether to animate the dismissal (default: true)
|
|
318
|
+
*/
|
|
319
|
+
async dismiss(animated = true) {
|
|
320
|
+
return TrueSheetModule?.dismissByRef(this.handle, animated);
|
|
234
321
|
}
|
|
235
322
|
|
|
236
323
|
/**
|
|
237
|
-
*
|
|
324
|
+
* Dismiss only the sheets presented on top of this sheet, keeping this sheet presented.
|
|
325
|
+
* If no sheets are presented on top, this method does nothing.
|
|
326
|
+
* @param animated - Whether to animate the dismissal (default: true)
|
|
238
327
|
*/
|
|
239
|
-
async
|
|
240
|
-
return TrueSheetModule?.
|
|
328
|
+
async dismissStack(animated = true) {
|
|
329
|
+
return TrueSheetModule?.dismissStackByRef(this.handle, animated);
|
|
241
330
|
}
|
|
242
331
|
componentDidMount() {
|
|
243
332
|
this.registerInstance();
|
|
@@ -252,34 +341,48 @@ export class TrueSheet extends PureComponent {
|
|
|
252
341
|
}
|
|
253
342
|
componentWillUnmount() {
|
|
254
343
|
this.unregisterInstance();
|
|
255
|
-
|
|
256
|
-
|
|
344
|
+
this.backHandlerSubscription?.remove();
|
|
345
|
+
this.backHandlerSubscription = null;
|
|
257
346
|
this.presentationResolver = null;
|
|
258
347
|
}
|
|
259
348
|
render() {
|
|
260
349
|
const {
|
|
261
350
|
detents = [0.5, 1],
|
|
262
|
-
backgroundColor
|
|
351
|
+
backgroundColor,
|
|
263
352
|
dismissible = true,
|
|
353
|
+
draggable = true,
|
|
264
354
|
grabber = true,
|
|
355
|
+
grabberOptions,
|
|
356
|
+
accessibilityOptions,
|
|
265
357
|
dimmed = true,
|
|
266
358
|
initialDetentIndex = -1,
|
|
267
359
|
initialDetentAnimated = true,
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
360
|
+
dimmedDetentIndex,
|
|
361
|
+
backgroundBlur,
|
|
362
|
+
blurOptions,
|
|
271
363
|
cornerRadius,
|
|
272
|
-
|
|
273
|
-
|
|
364
|
+
maxContentHeight,
|
|
365
|
+
maxContentWidth,
|
|
366
|
+
anchor = 'center',
|
|
367
|
+
anchorOffset,
|
|
368
|
+
scrollableOptions,
|
|
369
|
+
footerOptions,
|
|
370
|
+
presentation = 'page',
|
|
274
371
|
children,
|
|
275
372
|
style,
|
|
373
|
+
header,
|
|
374
|
+
headerStyle,
|
|
375
|
+
headerOptions,
|
|
276
376
|
footer,
|
|
277
|
-
|
|
377
|
+
footerStyle,
|
|
378
|
+
insetAdjustment = 'automatic',
|
|
379
|
+
...rest
|
|
278
380
|
} = this.props;
|
|
279
381
|
|
|
280
382
|
// Trim to max 3 detents and clamp fractions
|
|
281
383
|
const resolvedDetents = detents.slice(0, 3).map(detent => {
|
|
282
384
|
if (detent === 'auto' || detent === -1) return -1;
|
|
385
|
+
if (detent === 'peek' || detent === -2) return -2;
|
|
283
386
|
|
|
284
387
|
// Default to 0.1 if zero or below
|
|
285
388
|
if (detent <= 0) return 0.1;
|
|
@@ -287,22 +390,45 @@ export class TrueSheet extends PureComponent {
|
|
|
287
390
|
// Clamp to maximum of 1
|
|
288
391
|
return Math.min(1, detent);
|
|
289
392
|
});
|
|
393
|
+
|
|
394
|
+
// Cache grabberOptions to avoid creating a new object every render
|
|
395
|
+
if (grabberOptions !== this.cachedGrabberOptions) {
|
|
396
|
+
this.cachedGrabberOptions = grabberOptions;
|
|
397
|
+
this.resolvedGrabberOptions = {
|
|
398
|
+
...grabberOptions,
|
|
399
|
+
color: processColor(grabberOptions?.color)
|
|
400
|
+
};
|
|
401
|
+
}
|
|
290
402
|
return /*#__PURE__*/_jsx(TrueSheetViewNativeComponent, {
|
|
403
|
+
...rest,
|
|
291
404
|
ref: this.nativeRef,
|
|
292
405
|
style: styles.sheetView,
|
|
293
406
|
detents: resolvedDetents,
|
|
294
|
-
|
|
295
|
-
|
|
407
|
+
backgroundBlur: backgroundBlur,
|
|
408
|
+
blurOptions: blurOptions,
|
|
409
|
+
backgroundColor: backgroundColor,
|
|
296
410
|
cornerRadius: cornerRadius,
|
|
297
411
|
grabber: grabber,
|
|
412
|
+
grabberOptions: this.resolvedGrabberOptions,
|
|
413
|
+
accessibilityOptions: accessibilityOptions,
|
|
298
414
|
dimmed: dimmed,
|
|
299
|
-
|
|
300
|
-
keyboardMode: keyboardMode,
|
|
415
|
+
dimmedDetentIndex: dimmedDetentIndex,
|
|
301
416
|
initialDetentIndex: initialDetentIndex,
|
|
302
417
|
initialDetentAnimated: initialDetentAnimated,
|
|
303
418
|
dismissible: dismissible,
|
|
304
|
-
|
|
305
|
-
|
|
419
|
+
draggable: draggable,
|
|
420
|
+
maxContentHeight: maxContentHeight,
|
|
421
|
+
maxContentWidth: maxContentWidth,
|
|
422
|
+
anchor: anchor,
|
|
423
|
+
anchorOffset: anchorOffset,
|
|
424
|
+
scrollableOptions: scrollableOptions,
|
|
425
|
+
headerOptions: headerOptions,
|
|
426
|
+
footerOptions: {
|
|
427
|
+
footerPosition: footerOptions?.position,
|
|
428
|
+
keyboardOffset: footerOptions?.keyboardOffset
|
|
429
|
+
},
|
|
430
|
+
presentation: presentation,
|
|
431
|
+
insetAdjustment: insetAdjustment,
|
|
306
432
|
onMount: this.onMount,
|
|
307
433
|
onWillPresent: this.onWillPresent,
|
|
308
434
|
onDidPresent: this.onDidPresent,
|
|
@@ -313,37 +439,71 @@ export class TrueSheet extends PureComponent {
|
|
|
313
439
|
onDragChange: this.onDragChange,
|
|
314
440
|
onDragEnd: this.onDragEnd,
|
|
315
441
|
onPositionChange: this.onPositionChange,
|
|
316
|
-
|
|
442
|
+
onWillFocus: this.onWillFocus,
|
|
443
|
+
onDidFocus: this.onDidFocus,
|
|
444
|
+
onWillBlur: this.onWillBlur,
|
|
445
|
+
onDidBlur: this.onDidBlur,
|
|
446
|
+
onVisibilityChange: this.onVisibilityChange,
|
|
317
447
|
children: this.state.shouldRenderNativeView && /*#__PURE__*/_jsxs(TrueSheetContainerViewNativeComponent, {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
children: [/*#__PURE__*/_jsx(
|
|
448
|
+
style: styles.container,
|
|
449
|
+
onStartShouldSetResponder: absorbUnclaimedTouches,
|
|
450
|
+
onTouchStart: stopTouchPropagation,
|
|
451
|
+
onTouchMove: stopTouchPropagation,
|
|
452
|
+
onTouchEnd: stopTouchPropagation,
|
|
453
|
+
onTouchCancel: stopTouchPropagation,
|
|
454
|
+
children: [header && /*#__PURE__*/_jsx(TrueSheetHeaderViewNativeComponent, {
|
|
455
|
+
style: [styles.header, headerOptions?.position === 'absolute' && styles.absoluteHeader, headerStyle],
|
|
456
|
+
children: /*#__PURE__*/isValidElement(header) ? header : /*#__PURE__*/createElement(header)
|
|
457
|
+
}), /*#__PURE__*/_jsx(TrueSheetContentViewNativeComponent, {
|
|
325
458
|
style: style,
|
|
326
|
-
collapsable: false,
|
|
327
459
|
children: children
|
|
328
460
|
}), footer && /*#__PURE__*/_jsx(TrueSheetFooterViewNativeComponent, {
|
|
329
|
-
|
|
330
|
-
|
|
461
|
+
autoBottomInset: insetAdjustment === 'automatic',
|
|
462
|
+
style: [styles.footer, footerOptions?.position === 'absolute' ? styles.absoluteFooter : styles.relativeFooter, footerStyle],
|
|
331
463
|
children: /*#__PURE__*/isValidElement(footer) ? footer : /*#__PURE__*/createElement(footer)
|
|
332
464
|
})]
|
|
333
465
|
})
|
|
334
466
|
});
|
|
335
467
|
}
|
|
336
468
|
}
|
|
469
|
+
|
|
470
|
+
// Compile-time check: `TrueSheet`'s static surface must satisfy `TrueSheetStaticMethods`.
|
|
471
|
+
TrueSheet;
|
|
337
472
|
const styles = StyleSheet.create({
|
|
338
473
|
sheetView: {
|
|
474
|
+
...StyleSheet.absoluteFill,
|
|
475
|
+
zIndex: -9999,
|
|
476
|
+
pointerEvents: 'box-none'
|
|
477
|
+
},
|
|
478
|
+
// Fill the sheet so flex layouts track the sheet's size per detent
|
|
479
|
+
container: {
|
|
480
|
+
...StyleSheet.absoluteFill
|
|
481
|
+
},
|
|
482
|
+
header: {
|
|
483
|
+
pointerEvents: 'box-none'
|
|
484
|
+
},
|
|
485
|
+
// Floats over the content so it doesn't take up layout space
|
|
486
|
+
absoluteHeader: {
|
|
339
487
|
position: 'absolute',
|
|
340
|
-
|
|
341
|
-
|
|
488
|
+
top: 0,
|
|
489
|
+
left: 0,
|
|
490
|
+
right: 0,
|
|
491
|
+
zIndex: 1
|
|
342
492
|
},
|
|
343
493
|
footer: {
|
|
494
|
+
pointerEvents: 'box-none'
|
|
495
|
+
},
|
|
496
|
+
// Pinned to the sheet's bottom edge via Yoga since the container tracks the
|
|
497
|
+
// sheet's visible height — takes up layout space below the content
|
|
498
|
+
relativeFooter: {
|
|
499
|
+
marginTop: 'auto'
|
|
500
|
+
},
|
|
501
|
+
// Floats over the content so it doesn't take up layout space
|
|
502
|
+
absoluteFooter: {
|
|
344
503
|
position: 'absolute',
|
|
345
504
|
left: 0,
|
|
346
|
-
right: 0
|
|
505
|
+
right: 0,
|
|
506
|
+
bottom: 0
|
|
347
507
|
}
|
|
348
508
|
});
|
|
349
509
|
//# sourceMappingURL=TrueSheet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","processColor","StyleSheet","findNodeHandle","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","TrueSheet","displayName","instances","presentationResolver","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","containerWidth","containerHeight","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onSizeChange","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","dismiss","resize","registerInstance","unregisterInstance","event","setState","width","height","nativeEvent","Promise","resolve","presentByRef","dismissByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","dismissible","grabber","dimmed","initialDetentAnimated","keyboardMode","dimmedIndex","blurTint","cornerRadius","maxHeight","edgeToEdgeFullScreen","children","style","footer","testID","resolvedDetents","slice","map","ref","styles","sheetView","background","collapsable","create","position","zIndex","left","right"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PureComponent","createRef","isValidElement","createElement","TrueSheetViewNativeComponent","TrueSheetContainerViewNativeComponent","TrueSheetContentViewNativeComponent","TrueSheetHeaderViewNativeComponent","TrueSheetFooterViewNativeComponent","TrueSheetModule","Platform","StyleSheet","BackHandler","findNodeHandle","processColor","jsx","_jsx","jsxs","_jsxs","LINKING_ERROR","select","ios","default","Error","absorbUnclaimedTouches","stopTouchPropagation","event","stopPropagation","TrueSheet","displayName","backHandlerSubscription","isPresented","isSheetVisible","instances","presentationResolver","isPresenting","constructor","props","nativeRef","validateDetents","shouldRenderImmediately","initialDetentIndex","undefined","state","shouldRenderNativeView","onMount","bind","onWillDismiss","onDidDismiss","onWillPresent","onDidPresent","onDetentChange","onDragBegin","onDragChange","onDragEnd","onPositionChange","onWillFocus","onDidFocus","onWillBlur","onDidBlur","handleBackPress","onVisibilityChange","detents","length","console","warn","forEach","detent","index","detentsLength","Math","min","getInstance","name","instance","handle","nodeHandle","current","present","animated","dismiss","dismissStack","resize","dismissAll","registerInstance","unregisterInstance","OS","remove","addEventListener","setState","nativeEvent","visible","dismissible","onBackPress","Promise","resolve","presentByRef","resizeByRef","dismissByRef","dismissStackByRef","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","backgroundColor","draggable","grabber","grabberOptions","accessibilityOptions","dimmed","initialDetentAnimated","dimmedDetentIndex","backgroundBlur","blurOptions","cornerRadius","maxContentHeight","maxContentWidth","anchor","anchorOffset","scrollableOptions","footerOptions","presentation","children","style","header","headerStyle","headerOptions","footer","footerStyle","insetAdjustment","rest","resolvedDetents","slice","map","cachedGrabberOptions","resolvedGrabberOptions","color","ref","styles","sheetView","footerPosition","position","keyboardOffset","container","onStartShouldSetResponder","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","absoluteHeader","autoBottomInset","absoluteFooter","relativeFooter","create","absoluteFill","zIndex","pointerEvents","top","left","right","marginTop","bottom"],"sourceRoot":"../../src","sources":["TrueSheet.tsx"],"mappings":"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","ignoreList":[]}
|