@lodev09/react-native-true-sheet 4.0.0-beta.0 → 4.0.0-beta.10
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 +62 -30
- package/RNTrueSheet.podspec +10 -2
- package/android/build.gradle +24 -2
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerView.kt +189 -47
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContainerViewManager.kt +7 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentView.kt +401 -19
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetContentViewManager.kt +18 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetFooterView.kt +145 -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/TrueSheetOverlayView.kt +106 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetOverlayViewManager.kt +45 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetPackage.kt +6 -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 +63 -0
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetView.kt +564 -226
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +1399 -598
- package/android/src/main/java/com/lodev09/truesheet/TrueSheetViewManager.kt +161 -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 +375 -0
- package/android/src/main/java/com/lodev09/truesheet/core/TrueSheetDetentCalculator.kt +299 -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/TrueSheetOverlayRootView.kt +137 -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 +127 -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/TouchEventDeduper.kt +31 -0
- package/android/src/main/java/com/lodev09/truesheet/utils/ViewUtils.kt +42 -0
- package/android/src/main/jni/CMakeLists.txt +63 -0
- package/android/src/main/jni/TrueSheetSpec.h +20 -0
- package/android/src/main/jni/TrueSheetStateUpdater.cpp +96 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewComponentDescriptor.h +16 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.cpp +68 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewShadowNode.h +33 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.cpp +11 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetContentViewState.h +39 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewComponentDescriptor.h +24 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetFooterViewShadowNode.cpp +63 -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/TrueSheetLayoutUtils.h +46 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetOverlayViewComponentDescriptor.h +21 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetOverlayViewShadowNode.cpp +17 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetOverlayViewShadowNode.h +36 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewComponentDescriptor.h +28 -0
- package/common/cpp/react/renderer/components/TrueSheetSpec/TrueSheetViewShadowNode.cpp +30 -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 +88 -6
- package/ios/TrueSheetContainerView.mm +278 -21
- package/ios/TrueSheetContentView.h +54 -1
- package/ios/TrueSheetContentView.mm +371 -47
- package/ios/TrueSheetFooterView.h +33 -2
- package/ios/TrueSheetFooterView.mm +187 -35
- package/ios/{events/OnWillDismissEvent.h → TrueSheetHeaderView.h} +10 -7
- package/ios/TrueSheetHeaderView.mm +64 -0
- package/ios/TrueSheetModule.h +2 -7
- package/ios/TrueSheetModule.mm +98 -20
- package/ios/TrueSheetOverlayView.h +32 -0
- package/ios/TrueSheetOverlayView.mm +161 -0
- package/ios/TrueSheetPeekView.h +32 -0
- package/ios/TrueSheetPeekView.mm +99 -0
- package/ios/TrueSheetView.h +7 -15
- package/ios/TrueSheetView.mm +775 -215
- package/ios/TrueSheetViewController.h +94 -16
- package/ios/TrueSheetViewController.mm +1316 -331
- 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 +188 -0
- package/ios/core/TrueSheetKeyboardObserver.h +39 -0
- package/ios/core/TrueSheetKeyboardObserver.mm +112 -0
- package/ios/core/TrueSheetOverlayContainerView.h +31 -0
- package/ios/core/TrueSheetOverlayContainerView.mm +35 -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 +42 -0
- package/ios/events/TrueSheetLifecycleEvents.mm +79 -0
- package/ios/events/TrueSheetStateEvents.h +35 -0
- package/ios/events/TrueSheetStateEvents.mm +49 -0
- package/ios/tvos/TrueSheetStubs.mm +166 -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/utils/UIView+ScrollEdgeInteraction.h +26 -0
- package/ios/utils/UIView+ScrollEdgeInteraction.mm +84 -0
- package/ios/utils/WindowUtil.mm +17 -1
- package/lib/module/TrueSheet.js +349 -74
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/module/TrueSheet.web.js +1270 -0
- package/lib/module/TrueSheet.web.js.map +1 -0
- package/lib/module/TrueSheetOverlay.js +30 -0
- package/lib/module/TrueSheetOverlay.js.map +1 -0
- package/lib/module/TrueSheetOverlay.web.js +35 -0
- package/lib/module/TrueSheetOverlay.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/TrueSheetOverlayViewNativeComponent.ts +12 -0
- package/lib/module/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
- package/lib/module/fabric/TrueSheetViewNativeComponent.ts +110 -18
- package/lib/module/index.js +4 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/mocks/index.js +103 -0
- package/lib/module/mocks/index.js.map +1 -0
- package/lib/module/mocks/navigation.js +95 -0
- package/lib/module/mocks/navigation.js.map +1 -0
- package/lib/module/mocks/navigationExpoRouter.js +21 -0
- package/lib/module/mocks/navigationExpoRouter.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/TrueSheetNavigatorContent.js +73 -0
- package/lib/module/navigation/TrueSheetNavigatorContent.js.map +1 -0
- package/lib/module/navigation/actions.js +50 -0
- package/lib/module/navigation/actions.js.map +1 -0
- package/lib/module/navigation/base-types.js +2 -0
- package/lib/module/navigation/base-types.js.map +1 -0
- package/lib/module/navigation/createTrueSheetRouter.js +157 -0
- package/lib/module/navigation/createTrueSheetRouter.js.map +1 -0
- package/lib/module/navigation/expo-router/base-types.js +2 -0
- package/lib/module/navigation/expo-router/base-types.js.map +1 -0
- package/lib/module/navigation/expo-router/index.js +50 -0
- package/lib/module/navigation/expo-router/index.js.map +1 -0
- package/lib/module/navigation/expo-router/types.js +4 -0
- package/lib/module/navigation/expo-router/types.js.map +1 -0
- package/lib/module/navigation/index.js +47 -0
- package/lib/module/navigation/index.js.map +1 -0
- package/lib/module/navigation/navigator.js +10 -0
- package/lib/module/navigation/navigator.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 +69 -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/dom.js +10 -0
- package/lib/module/web/dom.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 +19 -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 +99 -0
- package/lib/module/web/vaul/helpers.js.map +1 -0
- package/lib/module/web/vaul/index.js +1342 -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 +57 -14
- package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.types.d.ts +535 -55
- 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/TrueSheetOverlay.d.ts +8 -0
- package/lib/typescript/src/TrueSheetOverlay.d.ts.map +1 -0
- package/lib/typescript/src/TrueSheetOverlay.web.d.ts +8 -0
- package/lib/typescript/src/TrueSheetOverlay.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/TrueSheetOverlayViewNativeComponent.d.ts +6 -0
- package/lib/typescript/src/fabric/TrueSheetOverlayViewNativeComponent.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 +71 -16
- package/lib/typescript/src/fabric/TrueSheetViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/mocks/index.d.ts +47 -0
- package/lib/typescript/src/mocks/index.d.ts.map +1 -0
- package/lib/typescript/src/mocks/navigation.d.ts +70 -0
- package/lib/typescript/src/mocks/navigation.d.ts.map +1 -0
- package/lib/typescript/src/mocks/navigationExpoRouter.d.ts +22 -0
- package/lib/typescript/src/mocks/navigationExpoRouter.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/TrueSheetNavigatorContent.d.ts +5 -0
- package/lib/typescript/src/navigation/TrueSheetNavigatorContent.d.ts.map +1 -0
- package/lib/typescript/src/navigation/actions.d.ts +71 -0
- package/lib/typescript/src/navigation/actions.d.ts.map +1 -0
- package/lib/typescript/src/navigation/base-types.d.ts +9 -0
- package/lib/typescript/src/navigation/base-types.d.ts.map +1 -0
- package/lib/typescript/src/navigation/createTrueSheetRouter.d.ts +3 -0
- package/lib/typescript/src/navigation/createTrueSheetRouter.d.ts.map +1 -0
- package/lib/typescript/src/navigation/expo-router/base-types.d.ts +8 -0
- package/lib/typescript/src/navigation/expo-router/base-types.d.ts.map +1 -0
- package/lib/typescript/src/navigation/expo-router/index.d.ts +37 -0
- package/lib/typescript/src/navigation/expo-router/index.d.ts.map +1 -0
- package/lib/typescript/src/navigation/expo-router/types.d.ts +44 -0
- package/lib/typescript/src/navigation/expo-router/types.d.ts.map +1 -0
- package/lib/typescript/src/navigation/index.d.ts +45 -0
- package/lib/typescript/src/navigation/index.d.ts.map +1 -0
- package/lib/typescript/src/navigation/navigator.d.ts +7 -0
- package/lib/typescript/src/navigation/navigator.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 +14 -0
- package/lib/typescript/src/navigation/screen/types.d.ts.map +1 -0
- package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts +34 -0
- package/lib/typescript/src/navigation/screen/useSheetScreenState.d.ts.map +1 -0
- package/lib/typescript/src/navigation/types.d.ts +213 -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/dom.d.ts +7 -0
- package/lib/typescript/src/web/dom.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 +14 -0
- package/lib/typescript/src/web/vaul/constants.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/context.d.ts +54 -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 +234 -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 +104 -37
- package/react-native.config.js +10 -2
- package/src/TrueSheet.tsx +424 -70
- package/src/TrueSheet.types.ts +602 -72
- package/src/TrueSheet.web.tsx +1437 -0
- package/src/TrueSheetOverlay.tsx +24 -0
- package/src/TrueSheetOverlay.web.tsx +33 -0
- package/src/TrueSheetPeek.tsx +11 -0
- package/src/TrueSheetPeek.web.tsx +64 -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/TrueSheetOverlayViewNativeComponent.ts +12 -0
- package/src/fabric/TrueSheetPeekViewNativeComponent.ts +8 -0
- package/src/fabric/TrueSheetViewNativeComponent.ts +110 -18
- package/src/index.ts +3 -2
- package/src/mocks/index.ts +96 -0
- package/src/mocks/navigation.ts +79 -0
- package/src/mocks/navigationExpoRouter.ts +41 -0
- package/src/mocks/reanimated.ts +100 -0
- package/src/navigation/TrueSheetNavigatorContent.tsx +106 -0
- package/src/navigation/actions.ts +78 -0
- package/src/navigation/base-types.ts +20 -0
- package/src/navigation/createTrueSheetRouter.ts +194 -0
- package/src/navigation/expo-router/base-types.ts +18 -0
- package/src/navigation/expo-router/index.ts +90 -0
- package/src/navigation/expo-router/types.ts +116 -0
- package/src/navigation/index.ts +80 -0
- package/src/navigation/navigator.ts +18 -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 +19 -0
- package/src/navigation/screen/useSheetScreenState.ts +102 -0
- package/src/navigation/types.ts +302 -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/dom.ts +9 -0
- package/src/web/vaul/README.md +9 -0
- package/src/web/vaul/browser.ts +38 -0
- package/src/web/vaul/constants.ts +24 -0
- package/src/web/vaul/context.ts +102 -0
- package/src/web/vaul/helpers.ts +131 -0
- package/src/web/vaul/index.tsx +1785 -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.h +0 -26
- 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 @@
|
|
|
1
|
+
{"version":3,"names":["createElement","forwardRef","isValidElement","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","StyleSheet","useColorScheme","useWindowDimensions","View","measurePeekContentHeight","TrueSheetPeekContext","usePortalContainer","useRegisterSheet","useSheetStack","COLOR_SURFACE_CONTAINER_LOW_DARK","COLOR_SURFACE_CONTAINER_LOW_LIGHT","DEFAULT_ANCHOR_OFFSET","DEFAULT_CORNER_RADIUS","DEFAULT_DETACHED_OFFSET","DEFAULT_FORM_SHEET_HEIGHT_RATIO","DEFAULT_FORM_SHEET_WIDTH","DEFAULT_GRABBER_COLOR_DARK","DEFAULT_GRABBER_COLOR_LIGHT","DEFAULT_GRABBER_HEIGHT","DEFAULT_GRABBER_TOP_MARGIN","DEFAULT_GRABBER_WIDTH","DEFAULT_MAX_WIDTH","getDOMElement","Drawer","DEFAULT_PEEK_HEIGHT","DRAG_CLASS","TRANSITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getScrollableElement","scrollable","HTMLElement","node","getScrollableNode","TrueSheetComponent","props","ref","children","name","dismissible","draggable","cornerRadius","style","backgroundColor","backgroundColorProp","maxContentHeight","maxContentWidth","anchor","anchorOffset","scrollableRef","scrollableOptions","grabber","grabberOptions","accessibilityOptions","detents","dimmed","dimmedDetentIndex","initialDetentIndex","header","headerStyle","headerOptions","footer","footerStyle","footerOptions","presentation","detached","detachedOffset","elevation","insetAdjustment","initialDetentAnimated","onPositionChange","onWillPresent","onDidPresent","onWillDismiss","onDidDismiss","onDismissAttempt","onDetentChange","onDragBegin","onDragChange","onDragEnd","onMount","onWillFocus","onDidFocus","onWillBlur","onDidBlur","validDetents","filter","d","snapPointsProps","length","snapPoints","fadeFromIndex","Math","min","width","windowWidth","height","windowHeight","isLandscapeOrTablet","isFormSheet","effectiveDetached","colorScheme","shouldAutoPresent","isOpen","setIsOpen","activeSnapPoint","setActiveSnapPoint","current","includes","validDetentsRef","hasAutoDetent","handleSetActiveSnapPoint","snapPoint","handleOpenChange","open","portalContainer","handlePointerDownOutside","e","target","Node","contains","preventDefault","Element","wrapper","drawerContentRef","closest","above","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_DISCONNECTED","compareDocumentPosition","dismissAboveRef","dismissDescendantsRef","methods","present","index","detent","undefined","Error","dismiss","resize","dismissStack","animated","methodsRef","headerHeight","setHeaderHeight","footerHeight","setFooterHeight","handleHeaderLayout","nativeEvent","layout","handleFooterLayout","headerElRef","footerElRef","peekContentHeight","setPeekContentHeight","contentRef","peekElRef","peekContext","peekRef","handleContentLayout","peekEl","contentEl","absoluteHeader","position","absoluteHeaderRef","resolvedHeaderStyle","absoluteHeaderStyle","absoluteFooter","absoluteFooterRef","footerOwnsInset","Boolean","resolvedFooterStyle","flat","flatten","base","paddingBottom","paddingVertical","padding","baseCss","peekHeight","hasBoundedScrollable","setHasBoundedScrollable","scrollableAutoHeight","setScrollableAutoHeight","detectedScrollerRef","measureNaturalHeight","isConnected","headerEl","footerEl","offsetHeight","scroller","scrollContent","firstElementChild","clientHeight","max","canceled","rafId","mutationObserver","resizeObserver","attach","drawerEl","window","requestAnimationFrame","measure","observed","observe","resolved","disconnect","ResizeObserver","MutationObserver","childList","subtree","cancelAnimationFrame","isScrollLocked","measuredContentHeight","setMeasuredContentHeight","effectiveMaxContentHeight","effectiveDetachedOffset","visibleHeight","onWillPresentRef","onDidPresentRef","onWillDismissRef","onDidDismissRef","onDetentChangeRef","onDragBeginRef","onDragChangeRef","onDragEndRef","onPositionChangeRef","activeSnapPointRef","geometryInputsRef","computeDetentGeometry","inputs","windowH","innerHeight","effectiveH","ceiling","measuredHeight","autoHeight","livePeekContentHeight","livePeekHeight","positions","values","h","push","computeDetentInfo","live","snap","indexOf","getBoundingClientRect","top","interpolateFromPosition","count","epsilon","firstPos","lastPos","indexRaw","detentRaw","indexProgress","detentProgress","clamped","i","pos","nextPos","range","progress","clampedProgress","sizedLayoutRef","isDraggingRef","isSettlingAfterDragRef","updateSizedLayoutHeight","abs","SIZED_LAYOUT_HEIGHT","minHeight","handlePositionChange","realtime","onMountRef","wasOpenRef","wasOpen","onWillBlurRef","fireDone","onDidFocusRef","onDidBlurRef","start","drawer","onWillFocusRef","targets","waitForSettle","pending","flatMap","el","getAnimations","a","playState","Promise","allSettled","map","finished","then","detentChangeStateRef","prev","handleDrag","handleRelease","_event","isNested","dismissAbove","descendants","parent","parentWrapper","transition","DURATION","EASE","join","wrapperTransition","CLIP_NONE","setClip","next","clipPath","transform","readTranslateY","match","Number","parseFloat","computeTargetY","parentSnap","getPropertyValue","nodeRef","childTop","applyFormClip","form","find","isFormSheetRef","childDrawer","childWrapper","snapY","childBottomGap","bottom","childMaxW","maxWidth","innerWidth","formLeft","formRight","formBottom","rect","left","right","radius","apply","classList","targetY","currentY","raf","observer","attributes","attributeFilter","childNode","onDismissAttemptRef","handleDismissAttempt","prevDescendantCountRef","prevCount","gained","lost","useSizedLayout","effectiveCornerRadius","dropShadow","mergedContentStyle","display","flexDirection","borderTopLeftRadius","borderTopRightRadius","overflow","contentInsetAdjustmentBehavior","defaultGrabberColor","grabberHeight","footerFloatStyle","pointerEvents","wrapperStyle","needsMargins","marginLeft","marginRight","handleStyle","topMargin","borderRadius","color","opacity","zIndex","Provider","value","Root","onOpenChange","onDrag","onRelease","repositionInputs","modal","nested","detachedRadius","initialAnimated","detachedWrapperStyle","onContentHeightChange","contentHeight","Portal","container","Overlay","overlayStyle","Content","onPointerDownOutside","detachedSiblings","onLayout","Title","visuallyHiddenStyle","paneTitle","Handle","sizedLayoutStyle","contentFillStyle","relativeFooterStyle","inset","marginTop","flex","margin","clip","whiteSpace","border","STATIC_METHOD_ERROR","TrueSheet","rejectStatic","dismissAll"],"sourceRoot":"../../src","sources":["TrueSheet.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet } from 'react-native';
|
|
4
|
+
import TrueSheetOverlayViewNativeComponent from './fabric/TrueSheetOverlayViewNativeComponent';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Renders its children in a native layer above every presented sheet — for
|
|
8
|
+
* toasts, dialogs, and other content a sheet must not cover.
|
|
9
|
+
* Fills the window; touches that miss its children pass through to the views beneath.
|
|
10
|
+
*/
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
export const TrueSheetOverlay = ({
|
|
13
|
+
style,
|
|
14
|
+
...rest
|
|
15
|
+
}) => /*#__PURE__*/_jsx(TrueSheetOverlayViewNativeComponent, {
|
|
16
|
+
...rest,
|
|
17
|
+
style: [styles.overlay, style]
|
|
18
|
+
});
|
|
19
|
+
const styles = StyleSheet.create({
|
|
20
|
+
// Sized to the window from native — absolute so it takes no layout space.
|
|
21
|
+
// Children render in a native container, so the host itself must never
|
|
22
|
+
// catch touches (Android forces it visible on layout).
|
|
23
|
+
overlay: {
|
|
24
|
+
position: 'absolute',
|
|
25
|
+
top: 0,
|
|
26
|
+
left: 0,
|
|
27
|
+
pointerEvents: 'none'
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=TrueSheetOverlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","TrueSheetOverlayViewNativeComponent","jsx","_jsx","TrueSheetOverlay","style","rest","styles","overlay","create","position","top","left","pointerEvents"],"sourceRoot":"../../src","sources":["TrueSheetOverlay.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAwB,cAAc;AAEzD,OAAOC,mCAAmC,MAAM,8CAA8C;;AAE9F;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA;AAKA,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,KAAK;EAAE,GAAGC;AAAgB,CAAC,kBAC5DH,IAAA,CAACF,mCAAmC;EAAA,GAAKK,IAAI;EAAED,KAAK,EAAE,CAACE,MAAM,CAACC,OAAO,EAAEH,KAAK;AAAE,CAAE,CACjF;AAED,MAAME,MAAM,GAAGP,UAAU,CAACS,MAAM,CAAC;EAC/B;EACA;EACA;EACAD,OAAO,EAAE;IACPE,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/// <reference lib="dom" />
|
|
4
|
+
import { useLayoutEffect, useState } from 'react';
|
|
5
|
+
import { createPortal } from 'react-dom';
|
|
6
|
+
import { StyleSheet, View } from 'react-native';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Renders its children in a layer above every presented sheet — for
|
|
10
|
+
* toasts, dialogs, and other content a sheet must not cover.
|
|
11
|
+
* Fills the window; touches that miss its children pass through to the views beneath.
|
|
12
|
+
*/
|
|
13
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
+
export const TrueSheetOverlay = ({
|
|
15
|
+
style,
|
|
16
|
+
...rest
|
|
17
|
+
}) => {
|
|
18
|
+
// Portal target appended to the body so it stacks above the sheets' portal
|
|
19
|
+
const [container] = useState(() => typeof document !== 'undefined' ? document.createElement('div') : null);
|
|
20
|
+
useLayoutEffect(() => {
|
|
21
|
+
if (!container) return;
|
|
22
|
+
container.style.cssText = 'position:fixed;inset:0;pointer-events:none';
|
|
23
|
+
document.body.appendChild(container);
|
|
24
|
+
return () => {
|
|
25
|
+
container.remove();
|
|
26
|
+
};
|
|
27
|
+
}, [container]);
|
|
28
|
+
if (!container) return null;
|
|
29
|
+
return /*#__PURE__*/createPortal(/*#__PURE__*/_jsx(View, {
|
|
30
|
+
pointerEvents: "box-none",
|
|
31
|
+
...rest,
|
|
32
|
+
style: [StyleSheet.absoluteFill, style]
|
|
33
|
+
}), container);
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=TrueSheetOverlay.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useLayoutEffect","useState","createPortal","StyleSheet","View","jsx","_jsx","TrueSheetOverlay","style","rest","container","document","createElement","cssText","body","appendChild","remove","pointerEvents","absoluteFill"],"sourceRoot":"../../src","sources":["TrueSheetOverlay.web.tsx"],"mappings":";;AAAA;AACA,SAASA,eAAe,EAAEC,QAAQ,QAAQ,OAAO;AACjD,SAASC,YAAY,QAAQ,WAAW;AACxC,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;;AAE/D;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA;AAKA,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,KAAK;EAAE,GAAGC;AAAgB,CAAC,KAAK;EACjE;EACA,MAAM,CAACC,SAAS,CAAC,GAAGT,QAAQ,CAAC,MAC3B,OAAOU,QAAQ,KAAK,WAAW,GAAGA,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,GAAG,IACpE,CAAC;EAEDZ,eAAe,CAAC,MAAM;IACpB,IAAI,CAACU,SAAS,EAAE;IAEhBA,SAAS,CAACF,KAAK,CAACK,OAAO,GAAG,4CAA4C;IACtEF,QAAQ,CAACG,IAAI,CAACC,WAAW,CAACL,SAAS,CAAC;IACpC,OAAO,MAAM;MACXA,SAAS,CAACM,MAAM,CAAC,CAAC;IACpB,CAAC;EACH,CAAC,EAAE,CAACN,SAAS,CAAC,CAAC;EAEf,IAAI,CAACA,SAAS,EAAE,OAAO,IAAI;EAE3B,oBAAOR,YAAY,cACjBI,IAAA,CAACF,IAAI;IAACa,aAAa,EAAC,UAAU;IAAA,GAAKR,IAAI;IAAED,KAAK,EAAE,CAACL,UAAU,CAACe,YAAY,EAAEV,KAAK;EAAE,CAAE,CAAC,EACpFE,SACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import TrueSheetPeekViewNativeComponent from './fabric/TrueSheetPeekViewNativeComponent';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Wrapper component that marks its children as the sheet's peek content.
|
|
7
|
+
* When rendered within a `TrueSheet`, the `"peek"` detent reveals everything
|
|
8
|
+
* from the top of the sheet through the bottom of this component — content
|
|
9
|
+
* below it stays hidden until the sheet is expanded.
|
|
10
|
+
*/
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
export const TrueSheetPeek = props => /*#__PURE__*/_jsx(TrueSheetPeekViewNativeComponent, {
|
|
13
|
+
...props
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=TrueSheetPeek.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TrueSheetPeekViewNativeComponent","jsx","_jsx","TrueSheetPeek","props"],"sourceRoot":"../../src","sources":["TrueSheetPeek.tsx"],"mappings":";;AAEA,OAAOA,gCAAgC,MAAM,2CAA2C;;AAExF;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,GAAA,IAAAC,IAAA;AAMA,OAAO,MAAMC,aAAa,GAAIC,KAAgB,iBAAKF,IAAA,CAACF,gCAAgC;EAAA,GAAKI;AAAK,CAAG,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createContext, useContext, useEffect, useRef } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { getDOMElement } from "./web/dom.js";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Reports the measured peek content height to the owning TrueSheet.
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
export const TrueSheetPeekContext = /*#__PURE__*/createContext(null);
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Distance from the top of the content view to the bottom of the peek view,
|
|
16
|
+
* so the peek view's offset within the content (padding, views above it)
|
|
17
|
+
* counts toward the peek detent. Both rects live in the drawer's transformed
|
|
18
|
+
* subtree, so an in-flight translate cancels out of the delta.
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export const measurePeekContentHeight = (peekElement, contentElement) => peekElement.getBoundingClientRect().bottom - contentElement.getBoundingClientRect().top;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Wrapper component that marks its children as the sheet's peek content.
|
|
25
|
+
* When rendered within a `TrueSheet`, the `"peek"` detent reveals everything
|
|
26
|
+
* from the top of the sheet through the bottom of this component — content
|
|
27
|
+
* below it stays hidden until the sheet is expanded.
|
|
28
|
+
*/
|
|
29
|
+
export const TrueSheetPeek = ({
|
|
30
|
+
onLayout,
|
|
31
|
+
...rest
|
|
32
|
+
}) => {
|
|
33
|
+
const context = useContext(TrueSheetPeekContext);
|
|
34
|
+
const localRef = useRef(null);
|
|
35
|
+
|
|
36
|
+
// Register into the sheet's peek ref so it can measure the peek live
|
|
37
|
+
// during detent geometry computation (state lags the first willPresent).
|
|
38
|
+
const viewRef = context?.peekRef ?? localRef;
|
|
39
|
+
useEffect(() => () => context?.setPeekContentHeight(0), [context]);
|
|
40
|
+
const handleLayout = event => {
|
|
41
|
+
if (context) {
|
|
42
|
+
const peekElement = getDOMElement(viewRef.current);
|
|
43
|
+
const contentElement = getDOMElement(context.contentRef.current);
|
|
44
|
+
const bottom = peekElement && contentElement ? measurePeekContentHeight(peekElement, contentElement) : event.nativeEvent.layout.height;
|
|
45
|
+
context.setPeekContentHeight(bottom);
|
|
46
|
+
}
|
|
47
|
+
onLayout?.(event);
|
|
48
|
+
};
|
|
49
|
+
return /*#__PURE__*/_jsx(View, {
|
|
50
|
+
...rest,
|
|
51
|
+
ref: viewRef,
|
|
52
|
+
onLayout: handleLayout
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=TrueSheetPeek.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useEffect","useRef","View","getDOMElement","jsx","_jsx","TrueSheetPeekContext","measurePeekContentHeight","peekElement","contentElement","getBoundingClientRect","bottom","top","TrueSheetPeek","onLayout","rest","context","localRef","viewRef","peekRef","setPeekContentHeight","handleLayout","event","current","contentRef","nativeEvent","layout","height","ref"],"sourceRoot":"../../src","sources":["TrueSheetPeek.web.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAkBC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACpF,SAAiCC,IAAI,QAAwB,cAAc;AAE3E,SAASC,aAAa,QAAQ,cAAW;;AAEzC;AACA;AACA;AACA;AAHA,SAAAC,GAAA,IAAAC,IAAA;AAUA,OAAO,MAAMC,oBAAoB,gBAAGR,aAAa,CAAmC,IAAI,CAAC;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMS,wBAAwB,GAAGA,CACtCC,WAAwB,EACxBC,cAA2B,KAE3BD,WAAW,CAACE,qBAAqB,CAAC,CAAC,CAACC,MAAM,GAAGF,cAAc,CAACC,qBAAqB,CAAC,CAAC,CAACE,GAAG;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAgB,CAAC,KAAK;EACjE,MAAMC,OAAO,GAAGjB,UAAU,CAACO,oBAAoB,CAAC;EAChD,MAAMW,QAAQ,GAAGhB,MAAM,CAAO,IAAI,CAAC;;EAEnC;EACA;EACA,MAAMiB,OAAO,GAAGF,OAAO,EAAEG,OAAO,IAAIF,QAAQ;EAE5CjB,SAAS,CAAC,MAAM,MAAMgB,OAAO,EAAEI,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAACJ,OAAO,CAAC,CAAC;EAElE,MAAMK,YAAY,GAAIC,KAAwB,IAAK;IACjD,IAAIN,OAAO,EAAE;MACX,MAAMR,WAAW,GAAGL,aAAa,CAACe,OAAO,CAACK,OAAO,CAAC;MAClD,MAAMd,cAAc,GAAGN,aAAa,CAACa,OAAO,CAACQ,UAAU,CAACD,OAAO,CAAC;MAEhE,MAAMZ,MAAM,GACVH,WAAW,IAAIC,cAAc,GACzBF,wBAAwB,CAACC,WAAW,EAAEC,cAAc,CAAC,GACrDa,KAAK,CAACG,WAAW,CAACC,MAAM,CAACC,MAAM;MAErCX,OAAO,CAACI,oBAAoB,CAACT,MAAM,CAAC;IACtC;IAEAG,QAAQ,GAAGQ,KAAK,CAAC;EACnB,CAAC;EAED,oBAAOjB,IAAA,CAACH,IAAI;IAAA,GAAKa,IAAI;IAAEa,GAAG,EAAEV,OAAQ;IAACJ,QAAQ,EAAEO;EAAa,CAAE,CAAC;AACjE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { TrueSheet } from './TrueSheet';
|
|
4
|
+
/**
|
|
5
|
+
* Provider for TrueSheet on native platforms.
|
|
6
|
+
* This is a pass-through component - no context is needed on native
|
|
7
|
+
* since TrueSheet uses static instance methods internally.
|
|
8
|
+
*/
|
|
9
|
+
export function TrueSheetProvider({
|
|
10
|
+
children
|
|
11
|
+
}) {
|
|
12
|
+
return children;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Hook to control TrueSheet instances by name.
|
|
17
|
+
* On native, this maps directly to TrueSheet static methods.
|
|
18
|
+
*/
|
|
19
|
+
export function useTrueSheet() {
|
|
20
|
+
return {
|
|
21
|
+
present: TrueSheet.present,
|
|
22
|
+
dismiss: TrueSheet.dismiss,
|
|
23
|
+
dismissStack: TrueSheet.dismissStack,
|
|
24
|
+
resize: TrueSheet.resize,
|
|
25
|
+
dismissAll: TrueSheet.dismissAll
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=TrueSheetProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TrueSheet","TrueSheetProvider","children","useTrueSheet","present","dismiss","dismissStack","resize","dismissAll"],"sourceRoot":"../../src","sources":["TrueSheetProvider.tsx"],"mappings":";;AAEA,SAASA,SAAS,QAAQ,aAAa;AASvC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAC;EAAEC;AAAiC,CAAC,EAAE;EACtE,OAAOA,QAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAA,EAA2B;EACrD,OAAO;IACLC,OAAO,EAAEJ,SAAS,CAACI,OAAO;IAC1BC,OAAO,EAAEL,SAAS,CAACK,OAAO;IAC1BC,YAAY,EAAEN,SAAS,CAACM,YAAY;IACpCC,MAAM,EAAEP,SAAS,CAACO,MAAM;IACxBC,UAAU,EAAER,SAAS,CAACQ;EACxB,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useSyncExternalStore } from 'react';
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
const SheetContext = /*#__PURE__*/createContext(null);
|
|
6
|
+
const NO_PROVIDER_ERROR = 'TrueSheet: useTrueSheet() requires a <TrueSheetProvider> ancestor on web.';
|
|
7
|
+
const EMPTY_STACK = Object.freeze([]);
|
|
8
|
+
export function TrueSheetProvider({
|
|
9
|
+
children
|
|
10
|
+
}) {
|
|
11
|
+
const namedSheetsRef = useRef(new Map());
|
|
12
|
+
const stackRef = useRef(EMPTY_STACK);
|
|
13
|
+
const listenersRef = useRef(new Set());
|
|
14
|
+
|
|
15
|
+
// Stable portal container created once. Attached to an anchor div rendered
|
|
16
|
+
// in this provider's tree so the sheets unmount cleanly with the provider
|
|
17
|
+
// (e.g., when a screen-scoped provider unmounts on navigation).
|
|
18
|
+
const portalContainer = useMemo(() => typeof document !== 'undefined' ? document.createElement('div') : null, []);
|
|
19
|
+
const anchorRef = useRef(null);
|
|
20
|
+
useLayoutEffect(() => {
|
|
21
|
+
const anchor = anchorRef.current;
|
|
22
|
+
if (!anchor || !portalContainer) return;
|
|
23
|
+
anchor.appendChild(portalContainer);
|
|
24
|
+
return () => {
|
|
25
|
+
if (portalContainer.parentNode) {
|
|
26
|
+
portalContainer.parentNode.removeChild(portalContainer);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}, [portalContainer]);
|
|
30
|
+
const value = useMemo(() => {
|
|
31
|
+
const notify = () => listenersRef.current.forEach(listener => listener());
|
|
32
|
+
return {
|
|
33
|
+
registerByName: (name, ref) => {
|
|
34
|
+
namedSheetsRef.current.set(name, ref);
|
|
35
|
+
return () => {
|
|
36
|
+
if (namedSheetsRef.current.get(name) === ref) {
|
|
37
|
+
namedSheetsRef.current.delete(name);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
resolveByName: name => {
|
|
42
|
+
const ref = namedSheetsRef.current.get(name);
|
|
43
|
+
const methods = ref?.current;
|
|
44
|
+
if (!methods) {
|
|
45
|
+
throw new Error(`TrueSheet: no sheet registered with name "${name}"`);
|
|
46
|
+
}
|
|
47
|
+
return methods;
|
|
48
|
+
},
|
|
49
|
+
pushOpen: entry => {
|
|
50
|
+
if (stackRef.current.some(e => e.ref === entry.ref)) return;
|
|
51
|
+
stackRef.current = [...stackRef.current, entry];
|
|
52
|
+
notify();
|
|
53
|
+
},
|
|
54
|
+
popOpen: entry => {
|
|
55
|
+
const idx = stackRef.current.findIndex(e => e.ref === entry.ref);
|
|
56
|
+
if (idx < 0) return;
|
|
57
|
+
stackRef.current = [...stackRef.current.slice(0, idx), ...stackRef.current.slice(idx + 1)];
|
|
58
|
+
notify();
|
|
59
|
+
},
|
|
60
|
+
subscribeStack: listener => {
|
|
61
|
+
listenersRef.current.add(listener);
|
|
62
|
+
return () => {
|
|
63
|
+
listenersRef.current.delete(listener);
|
|
64
|
+
};
|
|
65
|
+
},
|
|
66
|
+
getStackSnapshot: () => stackRef.current,
|
|
67
|
+
portalContainer
|
|
68
|
+
};
|
|
69
|
+
}, [portalContainer]);
|
|
70
|
+
return /*#__PURE__*/_jsxs(SheetContext.Provider, {
|
|
71
|
+
value: value,
|
|
72
|
+
children: [children, /*#__PURE__*/_jsx("div", {
|
|
73
|
+
ref: anchorRef
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
export function usePortalContainer() {
|
|
78
|
+
const ctx = useContext(SheetContext);
|
|
79
|
+
return ctx?.portalContainer ?? null;
|
|
80
|
+
}
|
|
81
|
+
export function useTrueSheet() {
|
|
82
|
+
const ctx = useContext(SheetContext);
|
|
83
|
+
return useMemo(() => {
|
|
84
|
+
if (!ctx) {
|
|
85
|
+
const reject = async () => {
|
|
86
|
+
throw new Error(NO_PROVIDER_ERROR);
|
|
87
|
+
};
|
|
88
|
+
return {
|
|
89
|
+
present: reject,
|
|
90
|
+
resize: reject,
|
|
91
|
+
dismiss: reject,
|
|
92
|
+
dismissStack: reject,
|
|
93
|
+
dismissAll: reject
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
present: (name, index, animated) => ctx.resolveByName(name).present(index, animated),
|
|
98
|
+
resize: (name, index) => ctx.resolveByName(name).resize(index),
|
|
99
|
+
dismiss: (name, animated) => ctx.resolveByName(name).dismiss(animated),
|
|
100
|
+
dismissStack: (name, animated) => ctx.resolveByName(name).dismissStack(animated),
|
|
101
|
+
dismissAll: async animated => {
|
|
102
|
+
const stack = ctx.getStackSnapshot();
|
|
103
|
+
await Promise.all([...stack].reverse().map(entry => entry.ref.current?.dismiss(animated)));
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}, [ctx]);
|
|
107
|
+
}
|
|
108
|
+
export function useRegisterSheet(name, ref) {
|
|
109
|
+
const ctx = useContext(SheetContext);
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
if (!ctx || !name) return;
|
|
112
|
+
return ctx.registerByName(name, ref);
|
|
113
|
+
}, [ctx, name, ref]);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Registers the sheet in the open stack while `isOpen` is true and returns
|
|
118
|
+
* live data used by each sheet to render stacked visuals and dismiss children.
|
|
119
|
+
*/
|
|
120
|
+
export function useSheetStack(ref, nodeRef, isOpen, isFormSheet) {
|
|
121
|
+
const ctx = useContext(SheetContext);
|
|
122
|
+
const isFormSheetRef = useRef(isFormSheet);
|
|
123
|
+
isFormSheetRef.current = isFormSheet;
|
|
124
|
+
const entry = useMemo(() => ({
|
|
125
|
+
ref,
|
|
126
|
+
nodeRef,
|
|
127
|
+
isFormSheetRef
|
|
128
|
+
}), [ref, nodeRef]);
|
|
129
|
+
useEffect(() => {
|
|
130
|
+
if (!ctx || !isOpen) return;
|
|
131
|
+
ctx.pushOpen(entry);
|
|
132
|
+
return () => ctx.popOpen(entry);
|
|
133
|
+
}, [ctx, entry, isOpen]);
|
|
134
|
+
const subscribe = useCallback(listener => {
|
|
135
|
+
if (!ctx) return () => {};
|
|
136
|
+
return ctx.subscribeStack(listener);
|
|
137
|
+
}, [ctx]);
|
|
138
|
+
const getSnapshot = useCallback(() => ctx ? ctx.getStackSnapshot() : EMPTY_STACK, [ctx]);
|
|
139
|
+
const stack = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
140
|
+
const stackIndex = stack.findIndex(e => e.ref === ref);
|
|
141
|
+
const isNested = stackIndex > 0;
|
|
142
|
+
const descendants = useMemo(() => stackIndex < 0 ? EMPTY_STACK : stack.slice(stackIndex + 1), [stack, stackIndex]);
|
|
143
|
+
const dismissAbove = useCallback(async animated => {
|
|
144
|
+
if (!ctx) return;
|
|
145
|
+
const snapshot = ctx.getStackSnapshot();
|
|
146
|
+
const idx = snapshot.findIndex(e => e.ref === ref);
|
|
147
|
+
if (idx < 0) return;
|
|
148
|
+
const above = snapshot.slice(idx + 1);
|
|
149
|
+
await Promise.all([...above].reverse().map(e => e.ref.current?.dismiss(animated)));
|
|
150
|
+
}, [ctx, ref]);
|
|
151
|
+
return {
|
|
152
|
+
descendants,
|
|
153
|
+
isNested,
|
|
154
|
+
dismissAbove
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=TrueSheetProvider.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useLayoutEffect","useMemo","useRef","useSyncExternalStore","jsx","_jsx","jsxs","_jsxs","SheetContext","NO_PROVIDER_ERROR","EMPTY_STACK","Object","freeze","TrueSheetProvider","children","namedSheetsRef","Map","stackRef","listenersRef","Set","portalContainer","document","createElement","anchorRef","anchor","current","appendChild","parentNode","removeChild","value","notify","forEach","listener","registerByName","name","ref","set","get","delete","resolveByName","methods","Error","pushOpen","entry","some","e","popOpen","idx","findIndex","slice","subscribeStack","add","getStackSnapshot","Provider","usePortalContainer","ctx","useTrueSheet","reject","present","resize","dismiss","dismissStack","dismissAll","index","animated","stack","Promise","all","reverse","map","useRegisterSheet","useSheetStack","nodeRef","isOpen","isFormSheet","isFormSheetRef","subscribe","getSnapshot","stackIndex","isNested","descendants","dismissAbove","snapshot","above"],"sourceRoot":"../../src","sources":["TrueSheetProvider.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,4 +5,4 @@ export interface NativeProps extends ViewProps {
|
|
|
5
5
|
// No props needed - container accesses props from parent TrueSheetView
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
export default codegenNativeComponent<NativeProps>('TrueSheetContainerView'
|
|
8
|
+
export default codegenNativeComponent<NativeProps>('TrueSheetContainerView');
|
|
@@ -5,4 +5,8 @@ export interface NativeProps extends ViewProps {
|
|
|
5
5
|
// No props needed - size will be controlled by parent
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// interfaceOnly: shadow node/state/descriptor are custom (common/cpp) so the
|
|
9
|
+
// content can be bounded to the container when a ScrollView is detected
|
|
10
|
+
export default codegenNativeComponent<NativeProps>('TrueSheetContentView', {
|
|
11
|
+
interfaceOnly: true,
|
|
12
|
+
});
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import type { ViewProps } from 'react-native';
|
|
2
|
+
import type { WithDefault } from 'react-native/Libraries/Types/CodegenTypes';
|
|
2
3
|
import { codegenNativeComponent } from 'react-native';
|
|
3
4
|
|
|
4
5
|
export interface NativeProps extends ViewProps {
|
|
5
|
-
//
|
|
6
|
+
// Seeds the footer's first layout with the sheet's bottom safe-area inset
|
|
7
|
+
// (insetAdjustment: 'automatic') so a late-set footer doesn't need a second
|
|
8
|
+
// layout pass — and a visible sheet resize — once native pushes the inset
|
|
9
|
+
autoBottomInset?: WithDefault<boolean, false>;
|
|
6
10
|
}
|
|
7
11
|
|
|
8
|
-
|
|
12
|
+
// interfaceOnly: shadow node/state/descriptor are custom (common/cpp) so the
|
|
13
|
+
// footer can absorb the sheet's bottom safe-area inset as padding
|
|
14
|
+
export default codegenNativeComponent<NativeProps>('TrueSheetFooterView', {
|
|
15
|
+
interfaceOnly: true,
|
|
16
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ViewProps } from 'react-native';
|
|
2
|
+
import { codegenNativeComponent } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export interface NativeProps extends ViewProps {
|
|
5
|
+
// Header-specific props can be added here if needed
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export default codegenNativeComponent<NativeProps>('TrueSheetHeaderView', {});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ViewProps } from 'react-native';
|
|
2
|
+
import { codegenNativeComponent } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export interface NativeProps extends ViewProps {
|
|
5
|
+
// No props needed - sized to the window from native
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// interfaceOnly: shadow node/state/descriptor are custom (common/cpp) so the
|
|
9
|
+
// overlay is sized to the window
|
|
10
|
+
export default codegenNativeComponent<NativeProps>('TrueSheetOverlayView', {
|
|
11
|
+
interfaceOnly: true,
|
|
12
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ViewProps } from 'react-native';
|
|
2
|
+
import { codegenNativeComponent } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export interface NativeProps extends ViewProps {
|
|
5
|
+
// Peek-specific props can be added here if needed
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export default codegenNativeComponent<NativeProps>('TrueSheetPeekView', {});
|