@tamagui/sheet 2.0.0-rc.3 → 2.0.0-rc.31
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/.turbo/turbo-build.log +2 -0
- package/controller/index.cjs +2 -0
- package/controller/index.js +2 -0
- package/controller/index.native.cjs +2 -0
- package/controller/index.native.js +2 -0
- package/dist/cjs/SheetImplementationCustom.cjs +32 -33
- package/dist/cjs/SheetImplementationCustom.native.js +28 -24
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
- package/dist/cjs/useGestureHandlerPan.cjs +1 -1
- package/dist/cjs/useGestureHandlerPan.native.js +1 -1
- package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.mjs +33 -34
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +29 -25
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/useGestureHandlerPan.mjs +1 -1
- package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
- package/dist/esm/useGestureHandlerPan.native.js +1 -1
- package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.mjs +33 -34
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +28 -24
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
- package/dist/jsx/index.js +11 -11
- package/dist/jsx/index.js.map +1 -6
- package/dist/jsx/useGestureHandlerPan.mjs +1 -1
- package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
- package/dist/jsx/useGestureHandlerPan.native.js +1 -1
- package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
- package/next.md +78 -0
- package/package.json +31 -46
- package/setup-gesture-handler/index.cjs +2 -0
- package/setup-gesture-handler/index.js +2 -0
- package/setup-gesture-handler/index.native.cjs +2 -0
- package/setup-gesture-handler/index.native.js +2 -0
- package/setup-gesture-handler.cjs +1 -0
- package/src/SheetImplementationCustom.tsx +69 -38
- package/src/types.tsx +5 -0
- package/src/useGestureHandlerPan.tsx +5 -3
- package/tsconfig.json +56 -0
- package/types/Sheet.d.ts +3 -0
- package/types/Sheet.d.ts.map +1 -1
- package/types/SheetImplementationCustom.d.ts +3 -0
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/createSheet.d.ts +3 -0
- package/types/createSheet.d.ts.map +1 -1
- package/types/types.d.ts +6 -0
- package/types/types.d.ts.map +1 -1
- package/types/useGestureHandlerPan.d.ts.map +1 -1
- package/dist/cjs/GestureDetectorWrapper.js +0 -29
- package/dist/cjs/GestureDetectorWrapper.js.map +0 -6
- package/dist/cjs/GestureSheetContext.js +0 -43
- package/dist/cjs/GestureSheetContext.js.map +0 -6
- package/dist/cjs/Sheet.js +0 -104
- package/dist/cjs/Sheet.js.map +0 -6
- package/dist/cjs/SheetContext.js +0 -28
- package/dist/cjs/SheetContext.js.map +0 -6
- package/dist/cjs/SheetController.js +0 -52
- package/dist/cjs/SheetController.js.map +0 -6
- package/dist/cjs/SheetImplementationCustom.js +0 -393
- package/dist/cjs/SheetImplementationCustom.js.map +0 -6
- package/dist/cjs/SheetScrollView.js +0 -137
- package/dist/cjs/SheetScrollView.js.map +0 -6
- package/dist/cjs/constants.js +0 -24
- package/dist/cjs/constants.js.map +0 -6
- package/dist/cjs/contexts.js +0 -33
- package/dist/cjs/contexts.js.map +0 -6
- package/dist/cjs/controller.js +0 -23
- package/dist/cjs/controller.js.map +0 -6
- package/dist/cjs/createSheet.js +0 -152
- package/dist/cjs/createSheet.js.map +0 -6
- package/dist/cjs/gestureState.js +0 -34
- package/dist/cjs/gestureState.js.map +0 -6
- package/dist/cjs/helpers.js +0 -26
- package/dist/cjs/helpers.js.map +0 -6
- package/dist/cjs/index.js +0 -25
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/nativeSheet.js +0 -56
- package/dist/cjs/nativeSheet.js.map +0 -6
- package/dist/cjs/setupGestureHandler.js +0 -38
- package/dist/cjs/setupGestureHandler.js.map +0 -6
- package/dist/cjs/types.js +0 -14
- package/dist/cjs/types.js.map +0 -6
- package/dist/cjs/useGestureHandlerPan.js +0 -126
- package/dist/cjs/useGestureHandlerPan.js.map +0 -6
- package/dist/cjs/useKeyboardControllerSheet.js +0 -34
- package/dist/cjs/useKeyboardControllerSheet.js.map +0 -6
- package/dist/cjs/useSheet.js +0 -22
- package/dist/cjs/useSheet.js.map +0 -6
- package/dist/cjs/useSheetController.js +0 -39
- package/dist/cjs/useSheetController.js.map +0 -6
- package/dist/cjs/useSheetOffscreenSize.js +0 -43
- package/dist/cjs/useSheetOffscreenSize.js.map +0 -6
- package/dist/cjs/useSheetOpenState.js +0 -37
- package/dist/cjs/useSheetOpenState.js.map +0 -6
- package/dist/cjs/useSheetProviderProps.js +0 -130
- package/dist/cjs/useSheetProviderProps.js.map +0 -6
- package/dist/cjs/useSheetScrollViewGestures.js +0 -102
- package/dist/cjs/useSheetScrollViewGestures.js.map +0 -6
- package/dist/esm/GestureDetectorWrapper.js +0 -15
- package/dist/esm/GestureDetectorWrapper.js.map +0 -6
- package/dist/esm/GestureSheetContext.js +0 -28
- package/dist/esm/GestureSheetContext.js.map +0 -6
- package/dist/esm/Sheet.js +0 -92
- package/dist/esm/Sheet.js.map +0 -6
- package/dist/esm/SheetContext.js +0 -13
- package/dist/esm/SheetContext.js.map +0 -6
- package/dist/esm/SheetController.js +0 -31
- package/dist/esm/SheetController.js.map +0 -6
- package/dist/esm/SheetImplementationCustom.js +0 -395
- package/dist/esm/SheetImplementationCustom.js.map +0 -6
- package/dist/esm/SheetScrollView.js +0 -122
- package/dist/esm/SheetScrollView.js.map +0 -6
- package/dist/esm/constants.js +0 -8
- package/dist/esm/constants.js.map +0 -6
- package/dist/esm/contexts.js +0 -9
- package/dist/esm/contexts.js.map +0 -6
- package/dist/esm/controller.js +0 -11
- package/dist/esm/controller.js.map +0 -6
- package/dist/esm/createSheet.js +0 -153
- package/dist/esm/createSheet.js.map +0 -6
- package/dist/esm/gestureState.js +0 -18
- package/dist/esm/gestureState.js.map +0 -6
- package/dist/esm/helpers.js +0 -10
- package/dist/esm/helpers.js.map +0 -6
- package/dist/esm/nativeSheet.js +0 -46
- package/dist/esm/nativeSheet.js.map +0 -6
- package/dist/esm/setupGestureHandler.js +0 -22
- package/dist/esm/setupGestureHandler.js.map +0 -6
- package/dist/esm/types.js +0 -1
- package/dist/esm/types.js.map +0 -6
- package/dist/esm/useGestureHandlerPan.js +0 -111
- package/dist/esm/useGestureHandlerPan.js.map +0 -6
- package/dist/esm/useKeyboardControllerSheet.js +0 -18
- package/dist/esm/useKeyboardControllerSheet.js.map +0 -6
- package/dist/esm/useSheet.js +0 -6
- package/dist/esm/useSheet.js.map +0 -6
- package/dist/esm/useSheetController.js +0 -15
- package/dist/esm/useSheetController.js.map +0 -6
- package/dist/esm/useSheetOffscreenSize.js +0 -27
- package/dist/esm/useSheetOffscreenSize.js.map +0 -6
- package/dist/esm/useSheetOpenState.js +0 -22
- package/dist/esm/useSheetOpenState.js.map +0 -6
- package/dist/esm/useSheetProviderProps.js +0 -109
- package/dist/esm/useSheetProviderProps.js.map +0 -6
- package/dist/esm/useSheetScrollViewGestures.js +0 -86
- package/dist/esm/useSheetScrollViewGestures.js.map +0 -6
- package/dist/jsx/GestureDetectorWrapper.js +0 -15
- package/dist/jsx/GestureDetectorWrapper.js.map +0 -6
- package/dist/jsx/GestureSheetContext.js +0 -28
- package/dist/jsx/GestureSheetContext.js.map +0 -6
- package/dist/jsx/Sheet.js +0 -92
- package/dist/jsx/Sheet.js.map +0 -6
- package/dist/jsx/SheetContext.js +0 -13
- package/dist/jsx/SheetContext.js.map +0 -6
- package/dist/jsx/SheetController.js +0 -31
- package/dist/jsx/SheetController.js.map +0 -6
- package/dist/jsx/SheetImplementationCustom.js +0 -395
- package/dist/jsx/SheetImplementationCustom.js.map +0 -6
- package/dist/jsx/SheetScrollView.js +0 -122
- package/dist/jsx/SheetScrollView.js.map +0 -6
- package/dist/jsx/constants.js +0 -8
- package/dist/jsx/constants.js.map +0 -6
- package/dist/jsx/contexts.js +0 -9
- package/dist/jsx/contexts.js.map +0 -6
- package/dist/jsx/controller.js +0 -11
- package/dist/jsx/controller.js.map +0 -6
- package/dist/jsx/createSheet.js +0 -153
- package/dist/jsx/createSheet.js.map +0 -6
- package/dist/jsx/gestureState.js +0 -18
- package/dist/jsx/gestureState.js.map +0 -6
- package/dist/jsx/helpers.js +0 -10
- package/dist/jsx/helpers.js.map +0 -6
- package/dist/jsx/nativeSheet.js +0 -46
- package/dist/jsx/nativeSheet.js.map +0 -6
- package/dist/jsx/setupGestureHandler.js +0 -22
- package/dist/jsx/setupGestureHandler.js.map +0 -6
- package/dist/jsx/types.js +0 -1
- package/dist/jsx/types.js.map +0 -6
- package/dist/jsx/useGestureHandlerPan.js +0 -111
- package/dist/jsx/useGestureHandlerPan.js.map +0 -6
- package/dist/jsx/useKeyboardControllerSheet.js +0 -18
- package/dist/jsx/useKeyboardControllerSheet.js.map +0 -6
- package/dist/jsx/useSheet.js +0 -6
- package/dist/jsx/useSheet.js.map +0 -6
- package/dist/jsx/useSheetController.js +0 -15
- package/dist/jsx/useSheetController.js.map +0 -6
- package/dist/jsx/useSheetOffscreenSize.js +0 -27
- package/dist/jsx/useSheetOffscreenSize.js.map +0 -6
- package/dist/jsx/useSheetOpenState.js +0 -22
- package/dist/jsx/useSheetOpenState.js.map +0 -6
- package/dist/jsx/useSheetProviderProps.js +0 -109
- package/dist/jsx/useSheetProviderProps.js.map +0 -6
- package/dist/jsx/useSheetScrollViewGestures.js +0 -86
- package/dist/jsx/useSheetScrollViewGestures.js.map +0 -6
- package/types/GestureDetectorWrapper.native.d.ts +0 -14
- package/types/GestureDetectorWrapper.native.d.ts.map +0 -1
- package/types/gestureState.native.d.ts +0 -12
- package/types/gestureState.native.d.ts.map +0 -1
- package/types/setupGestureHandler.native.d.ts +0 -41
- package/types/setupGestureHandler.native.d.ts.map +0 -1
- package/types/useGestureHandlerPan.native.d.ts +0 -33
- package/types/useGestureHandlerPan.native.d.ts.map +0 -1
- package/types/useSheetScrollViewGestures.web.d.ts +0 -15
- package/types/useSheetScrollViewGestures.web.d.ts.map +0 -1
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { composeRefs } from "@tamagui/compose-refs";
|
|
2
|
-
import { View } from "@tamagui/core";
|
|
3
|
-
import { ScrollView } from "@tamagui/scroll-view";
|
|
4
|
-
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
5
|
-
import React, { useEffect, useRef, useState } from "react";
|
|
6
|
-
import { useGestureSheetContext } from "./GestureSheetContext";
|
|
7
|
-
import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState";
|
|
8
|
-
import { useSheetContext } from "./SheetContext";
|
|
9
|
-
import { useSheetScrollViewGestures } from "./useSheetScrollViewGestures";
|
|
10
|
-
import { jsx } from "react/jsx-runtime";
|
|
11
|
-
const SHEET_SCROLL_VIEW_NAME = "SheetScrollView", SheetScrollView = React.forwardRef(
|
|
12
|
-
({
|
|
13
|
-
__scopeSheet,
|
|
14
|
-
children,
|
|
15
|
-
onScroll,
|
|
16
|
-
scrollEnabled: scrollEnabledProp,
|
|
17
|
-
...props
|
|
18
|
-
}, ref) => {
|
|
19
|
-
const context = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet), gestureContext = useGestureSheetContext(), { scrollBridge, setHasScrollView } = context, [scrollEnabled] = useControllableState({
|
|
20
|
-
prop: scrollEnabledProp,
|
|
21
|
-
defaultProp: !0
|
|
22
|
-
}), scrollRef = React.useRef(null), panGestureRef = gestureContext?.panGestureRef, { ScrollView: RNGHScrollView } = getGestureHandlerState(), useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef, currentScrollOffset = useRef(0), lockedScrollY = useRef(0), setScrollEnabled = (next, lockTo) => {
|
|
23
|
-
if (next)
|
|
24
|
-
lockedScrollY.current = currentScrollOffset.current, scrollBridge.scrollLockY = void 0;
|
|
25
|
-
else {
|
|
26
|
-
const lockY = lockTo ?? currentScrollOffset.current;
|
|
27
|
-
lockedScrollY.current = lockY, scrollBridge.scrollLockY = lockY, scrollRef.current?.scrollTo?.({ x: 0, y: lockY, animated: !1 });
|
|
28
|
-
}
|
|
29
|
-
}, forceScrollTo = (y) => {
|
|
30
|
-
scrollRef.current?.scrollTo?.({ x: 0, y, animated: !1 });
|
|
31
|
-
};
|
|
32
|
-
useEffect(() => (setHasScrollView(!0), isGestureHandlerEnabled() && (scrollBridge.setScrollEnabled = setScrollEnabled, scrollBridge.forceScrollTo = forceScrollTo), () => {
|
|
33
|
-
setHasScrollView(!1), scrollBridge.setScrollEnabled = void 0, scrollBridge.forceScrollTo = void 0;
|
|
34
|
-
}), []);
|
|
35
|
-
const [hasScrollableContent, setHasScrollableContent] = useState(!0), parentHeight = useRef(0), contentHeight = useRef(0), updateScrollable = () => {
|
|
36
|
-
parentHeight.current && contentHeight.current && setHasScrollableContent(contentHeight.current > parentHeight.current);
|
|
37
|
-
};
|
|
38
|
-
useEffect(() => {
|
|
39
|
-
scrollBridge.hasScrollableContent = hasScrollableContent;
|
|
40
|
-
}, [hasScrollableContent]);
|
|
41
|
-
const gestureProps = useSheetScrollViewGestures({
|
|
42
|
-
scrollRef,
|
|
43
|
-
scrollBridge,
|
|
44
|
-
hasScrollableContent,
|
|
45
|
-
scrollEnabled,
|
|
46
|
-
setScrollEnabled
|
|
47
|
-
}), contentWrapper = /* @__PURE__ */ jsx(
|
|
48
|
-
View,
|
|
49
|
-
{
|
|
50
|
-
onLayout: (e) => {
|
|
51
|
-
const height = Math.floor(e.nativeEvent.layout.height);
|
|
52
|
-
height !== contentHeight.current && (contentHeight.current = height, updateScrollable());
|
|
53
|
-
},
|
|
54
|
-
children
|
|
55
|
-
}
|
|
56
|
-
);
|
|
57
|
-
return useRNGHScrollView && RNGHScrollView && panGestureRef ? /* @__PURE__ */ jsx(
|
|
58
|
-
RNGHScrollView,
|
|
59
|
-
{
|
|
60
|
-
ref: composeRefs(scrollRef, ref),
|
|
61
|
-
style: { flex: 1 },
|
|
62
|
-
scrollEventThrottle: 1,
|
|
63
|
-
scrollEnabled,
|
|
64
|
-
simultaneousHandlers: [panGestureRef],
|
|
65
|
-
onLayout: (e) => {
|
|
66
|
-
parentHeight.current = Math.ceil(e.nativeEvent.layout.height), updateScrollable();
|
|
67
|
-
},
|
|
68
|
-
onScroll: (e) => {
|
|
69
|
-
const { y } = e.nativeEvent.contentOffset;
|
|
70
|
-
if (currentScrollOffset.current = y, scrollBridge.scrollLockY !== void 0) {
|
|
71
|
-
y !== scrollBridge.scrollLockY && scrollRef.current?.scrollTo?.({
|
|
72
|
-
x: 0,
|
|
73
|
-
y: scrollBridge.scrollLockY,
|
|
74
|
-
animated: !1
|
|
75
|
-
}), scrollBridge.y = scrollBridge.scrollLockY, onScroll?.({
|
|
76
|
-
...e,
|
|
77
|
-
nativeEvent: {
|
|
78
|
-
...e.nativeEvent,
|
|
79
|
-
contentOffset: {
|
|
80
|
-
...e.nativeEvent.contentOffset,
|
|
81
|
-
y: scrollBridge.scrollLockY
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e);
|
|
88
|
-
},
|
|
89
|
-
contentContainerStyle: { minHeight: "100%" },
|
|
90
|
-
bounces: !1,
|
|
91
|
-
keyboardShouldPersistTaps: "always",
|
|
92
|
-
keyboardDismissMode: "none",
|
|
93
|
-
...props,
|
|
94
|
-
children: contentWrapper
|
|
95
|
-
}
|
|
96
|
-
) : /* @__PURE__ */ jsx(
|
|
97
|
-
ScrollView,
|
|
98
|
-
{
|
|
99
|
-
onLayout: (e) => {
|
|
100
|
-
parentHeight.current = Math.ceil(e.nativeEvent.layout.height), updateScrollable();
|
|
101
|
-
},
|
|
102
|
-
ref: composeRefs(scrollRef, ref),
|
|
103
|
-
flex: 1,
|
|
104
|
-
scrollEventThrottle: 1,
|
|
105
|
-
className: "_ovs-contain",
|
|
106
|
-
scrollEnabled,
|
|
107
|
-
onScroll: (e) => {
|
|
108
|
-
const { y } = e.nativeEvent.contentOffset;
|
|
109
|
-
scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e);
|
|
110
|
-
},
|
|
111
|
-
contentContainerStyle: { minHeight: "100%" },
|
|
112
|
-
...gestureProps,
|
|
113
|
-
...props,
|
|
114
|
-
children: contentWrapper
|
|
115
|
-
}
|
|
116
|
-
);
|
|
117
|
-
}
|
|
118
|
-
);
|
|
119
|
-
export {
|
|
120
|
-
SheetScrollView
|
|
121
|
-
};
|
|
122
|
-
//# sourceMappingURL=SheetScrollView.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/SheetScrollView.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/constants.js
DELETED
package/dist/esm/contexts.js
DELETED
package/dist/esm/contexts.js.map
DELETED
package/dist/esm/controller.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { SheetController } from "./SheetController";
|
|
2
|
-
import {
|
|
3
|
-
SheetControllerContext,
|
|
4
|
-
useSheetController
|
|
5
|
-
} from "./useSheetController";
|
|
6
|
-
export {
|
|
7
|
-
SheetController,
|
|
8
|
-
SheetControllerContext,
|
|
9
|
-
useSheetController
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=controller.js.map
|
package/dist/esm/createSheet.js
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
2
|
-
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
3
|
-
import { View } from "@tamagui/core";
|
|
4
|
-
import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
|
|
5
|
-
import { resolveViewZIndex } from "@tamagui/portal";
|
|
6
|
-
import { RemoveScroll } from "@tamagui/remove-scroll";
|
|
7
|
-
import { useDidFinishSSR } from "@tamagui/use-did-finish-ssr";
|
|
8
|
-
import { StackZIndexContext } from "@tamagui/z-index-stack";
|
|
9
|
-
import { forwardRef, useMemo, useEffect, useRef } from "react";
|
|
10
|
-
import { Platform } from "react-native-web";
|
|
11
|
-
import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants";
|
|
12
|
-
|
|
13
|
-
import { useSheetContext } from "./SheetContext";
|
|
14
|
-
import { SheetImplementationCustom } from "./SheetImplementationCustom";
|
|
15
|
-
import { SheetScrollView } from "./SheetScrollView";
|
|
16
|
-
import { useSheetController } from "./useSheetController";
|
|
17
|
-
import { useSheetOffscreenSize } from "./useSheetOffscreenSize";
|
|
18
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
19
|
-
function createSheet({ Handle, Frame, Overlay }) {
|
|
20
|
-
const SheetHandle = Handle.styleable(
|
|
21
|
-
({ __scopeSheet, ...props }, forwardedRef) => {
|
|
22
|
-
const context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet), composedRef = useComposedRefs(context.handleRef, forwardedRef), wasDraggingRef = useRef(!1);
|
|
23
|
-
return useEffect(() => {
|
|
24
|
-
if (context.scrollBridge)
|
|
25
|
-
return context.scrollBridge.onParentDragging((isDragging) => {
|
|
26
|
-
isDragging && (wasDraggingRef.current = !0);
|
|
27
|
-
});
|
|
28
|
-
}, [context.scrollBridge]), context.onlyShowFrame ? null : (
|
|
29
|
-
// @ts-ignore
|
|
30
|
-
/* @__PURE__ */ jsx(
|
|
31
|
-
Handle,
|
|
32
|
-
{
|
|
33
|
-
ref: composedRef,
|
|
34
|
-
onPressIn: () => {
|
|
35
|
-
wasDraggingRef.current = !1;
|
|
36
|
-
},
|
|
37
|
-
onPress: () => {
|
|
38
|
-
if (wasDraggingRef.current) {
|
|
39
|
-
wasDraggingRef.current = !1;
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
const max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0), nextPos = (context.position + 1) % max;
|
|
43
|
-
context.setPosition(nextPos);
|
|
44
|
-
},
|
|
45
|
-
open: context.open,
|
|
46
|
-
...props
|
|
47
|
-
}
|
|
48
|
-
)
|
|
49
|
-
);
|
|
50
|
-
}
|
|
51
|
-
), SheetOverlay = Overlay.styleable((propsIn, ref) => {
|
|
52
|
-
const { __scopeSheet, ...props } = propsIn, context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet), element = useMemo(() => (
|
|
53
|
-
// @ts-ignore
|
|
54
|
-
/* @__PURE__ */ jsx(
|
|
55
|
-
Overlay,
|
|
56
|
-
{
|
|
57
|
-
...props,
|
|
58
|
-
onPress: composeEventHandlers(
|
|
59
|
-
props.onPress,
|
|
60
|
-
context.dismissOnOverlayPress ? () => {
|
|
61
|
-
context.setOpen(!1);
|
|
62
|
-
} : void 0
|
|
63
|
-
)
|
|
64
|
-
}
|
|
65
|
-
)
|
|
66
|
-
), [props.onPress, props.opacity, context.dismissOnOverlayPress]);
|
|
67
|
-
return useIsomorphicLayoutEffect(() => {
|
|
68
|
-
context.onOverlayComponent?.(element);
|
|
69
|
-
}, [element]), context.onlyShowFrame, null;
|
|
70
|
-
}), SheetFrame = Frame.styleable(
|
|
71
|
-
({
|
|
72
|
-
__scopeSheet,
|
|
73
|
-
adjustPaddingForOffscreenContent,
|
|
74
|
-
disableHideBottomOverflow,
|
|
75
|
-
children,
|
|
76
|
-
...props
|
|
77
|
-
}, forwardedRef) => {
|
|
78
|
-
const context = useSheetContext(SHEET_NAME, __scopeSheet), { hasFit, disableRemoveScroll, frameSize, contentRef, open } = context, composedContentRef = useComposedRefs(forwardedRef, contentRef), offscreenSize = useSheetOffscreenSize(context), stableFrameSize = useRef(frameSize);
|
|
79
|
-
useEffect(() => {
|
|
80
|
-
open && frameSize && (stableFrameSize.current = frameSize);
|
|
81
|
-
}, [open, frameSize]);
|
|
82
|
-
const sheetContents = useMemo(() => {
|
|
83
|
-
const shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;
|
|
84
|
-
return (
|
|
85
|
-
// @ts-expect-error
|
|
86
|
-
/* @__PURE__ */ jsxs(
|
|
87
|
-
Frame,
|
|
88
|
-
{
|
|
89
|
-
ref: composedContentRef,
|
|
90
|
-
flex: hasFit && open ? 0 : 1,
|
|
91
|
-
flexBasis: hasFit ? "auto" : void 0,
|
|
92
|
-
height: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,
|
|
93
|
-
pointerEvents: open ? "auto" : "none",
|
|
94
|
-
"data-state": open ? "open" : "closed",
|
|
95
|
-
...props,
|
|
96
|
-
children: [
|
|
97
|
-
/* @__PURE__ */ jsx(StackZIndexContext, { zIndex: resolveViewZIndex(props.zIndex), children }),
|
|
98
|
-
adjustPaddingForOffscreenContent && /* @__PURE__ */ jsx(View, { "data-sheet-offscreen-pad": !0, height: offscreenSize, width: "100%" })
|
|
99
|
-
]
|
|
100
|
-
}
|
|
101
|
-
)
|
|
102
|
-
);
|
|
103
|
-
}, [
|
|
104
|
-
open,
|
|
105
|
-
props,
|
|
106
|
-
frameSize,
|
|
107
|
-
offscreenSize,
|
|
108
|
-
adjustPaddingForOffscreenContent,
|
|
109
|
-
hasFit
|
|
110
|
-
]);
|
|
111
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
112
|
-
/* @__PURE__ */ jsx(RemoveScroll, { enabled: !disableRemoveScroll && context.open, children: sheetContents }),
|
|
113
|
-
!disableHideBottomOverflow && // @ts-ignore
|
|
114
|
-
/* @__PURE__ */ jsx(
|
|
115
|
-
Frame,
|
|
116
|
-
{
|
|
117
|
-
...props,
|
|
118
|
-
componentName: "SheetCover",
|
|
119
|
-
children: null,
|
|
120
|
-
testID: void 0,
|
|
121
|
-
id: void 0,
|
|
122
|
-
position: "absolute",
|
|
123
|
-
bottom: "-100%",
|
|
124
|
-
zIndex: -1,
|
|
125
|
-
height: context.frameSize,
|
|
126
|
-
left: 0,
|
|
127
|
-
right: 0,
|
|
128
|
-
borderWidth: 0,
|
|
129
|
-
borderRadius: 0,
|
|
130
|
-
shadowOpacity: 0
|
|
131
|
-
}
|
|
132
|
-
)
|
|
133
|
-
] });
|
|
134
|
-
}
|
|
135
|
-
), Sheet = forwardRef(function(props, ref) {
|
|
136
|
-
const hydrated = useDidFinishSSR(), { isShowingNonSheet } = useSheetController();
|
|
137
|
-
let SheetImplementation = SheetImplementationCustom;
|
|
138
|
-
return props.native && Platform.OS, isShowingNonSheet || !hydrated ? null : /* @__PURE__ */ jsx(SheetImplementation, { ref, ...props });
|
|
139
|
-
}), components = {
|
|
140
|
-
Frame: SheetFrame,
|
|
141
|
-
Overlay: SheetOverlay,
|
|
142
|
-
Handle: SheetHandle,
|
|
143
|
-
ScrollView: SheetScrollView
|
|
144
|
-
}, Controlled = withStaticProperties(Sheet, components);
|
|
145
|
-
return withStaticProperties(Sheet, {
|
|
146
|
-
...components,
|
|
147
|
-
Controlled
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
export {
|
|
151
|
-
createSheet
|
|
152
|
-
};
|
|
153
|
-
//# sourceMappingURL=createSheet.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/createSheet.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,iCAAiC;AAQ1C,SAAS,YAAY;AACrB,SAAS,sBAAsB,4BAA4B;AAC3D,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAEnC,SAAS,YAAkB,SAAS,WAAW,cAAc;AAE7D,SAAS,gBAAgB;AACzB,SAAS,mBAAmB,YAAY,0BAA0B;AAClE,OAA+B;AAC/B,SAAS,uBAAuB;AAChC,SAAS,iCAAiC;AAC1C,SAAS,uBAAuB;AAEhC,SAAS,0BAA0B;AACnC,SAAS,6BAA6B;AA0C9B,SAoJA,UApJA,KAkHE,YAlHF;AAhCD,SAAS,YAId,EAAE,QAAQ,OAAO,QAAQ,GAAwC;AACjE,QAAM,cAAc,OAAO;AAAA,IACzB,CACE,EAAE,cAAc,GAAG,MAAM,GACzB,iBACG;AACH,YAAM,UAAU,gBAAgB,mBAAmB,YAAY,GACzD,cAAc,gBAAgC,QAAQ,WAAW,YAAY,GAG7E,iBAAiB,OAAO,EAAK;AAYnC,aATA,UAAU,MAAM;AACd,YAAK,QAAQ;AACb,iBAAO,QAAQ,aAAa,iBAAiB,CAAC,eAAwB;AACpE,YAAI,eACF,eAAe,UAAU;AAAA,UAE7B,CAAC;AAAA,MACH,GAAG,CAAC,QAAQ,YAAY,CAAC,GAErB,QAAQ,gBACH;AAAA;AAAA,QAKP;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,WAAW,MAAM;AAEf,6BAAe,UAAU;AAAA,YAC3B;AAAA,YACA,SAAS,MAAM;AAEb,kBAAI,eAAe,SAAS;AAC1B,+BAAe,UAAU;AACzB;AAAA,cACF;AAEA,oBAAM,MACJ,QAAQ,WAAW,UAAU,QAAQ,wBAAwB,KAAK,IAC9D,WAAW,QAAQ,WAAW,KAAK;AACzC,sBAAQ,YAAY,OAAO;AAAA,YAC7B;AAAA,YACA,MAAM,QAAQ;AAAA,YACb,GAAG;AAAA;AAAA,QACN;AAAA;AAAA,IAEJ;AAAA,EACF,GAMM,eAAe,QAAQ,UAAgC,CAAC,SAAS,QAAQ;AAC7E,UAAM,EAAE,cAAc,GAAG,MAAM,IAAI,SAC7B,UAAU,gBAAgB,oBAAoB,YAAY,GAK1D,UAAU,QAAQ;AAAA;AAAA,MAGpB;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,SAAS;AAAA,YACP,MAAM;AAAA,YACN,QAAQ,wBACJ,MAAM;AACJ,sBAAQ,QAAQ,EAAK;AAAA,YACvB,IACA;AAAA,UACN;AAAA;AAAA,MACF;AAAA,OAED,CAAC,MAAM,SAAS,MAAM,SAAS,QAAQ,qBAAqB,CAAC;AAMhE,WAJA,0BAA0B,MAAM;AAC9B,cAAQ,qBAAqB,OAAO;AAAA,IACtC,GAAG,CAAC,OAAO,CAAC,GAER,QAAQ,eACH;AAAA,EAIX,CAAC,GAsBK,aAAa,MAAM;AAAA,IACvB,CACE;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,GACA,iBACG;AACH,YAAM,UAAU,gBAAgB,YAAY,YAAY,GAClD,EAAE,QAAQ,qBAAqB,WAAW,YAAY,KAAK,IAAI,SAC/D,qBAAqB,gBAAgB,cAAc,UAAU,GAC7D,gBAAgB,sBAAsB,OAAO,GAG7C,kBAAkB,OAAO,SAAS;AACxC,gBAAU,MAAM;AACd,QAAI,QAAQ,cACV,gBAAgB,UAAU;AAAA,MAE9B,GAAG,CAAC,MAAM,SAAS,CAAC;AAEpB,YAAM,gBAAgB,QAAQ,MAAM;AAElC,cAAM,uBAAuB,UAAU,CAAC,QAAQ,gBAAgB;AAEhE;AAAA;AAAA,UAEE;AAAA,YAAC;AAAA;AAAA,cACC,KAAK;AAAA,cACL,MAAM,UAAU,OAAO,IAAI;AAAA,cAC3B,WAAW,SAAS,SAAS;AAAA,cAC7B,QACE,uBACI,gBAAgB,UAChB,SACE,SACA;AAAA,cAER,eAAe,OAAO,SAAS;AAAA,cAC/B,cAAY,OAAO,SAAS;AAAA,cAC3B,GAAG;AAAA,cAEJ;AAAA,oCAAC,sBAAmB,QAAQ,kBAAkB,MAAM,MAAM,GACvD,UACH;AAAA,gBAEC,oCACC,oBAAC,QAAK,4BAAwB,IAAC,QAAQ,eAAe,OAAM,QAAO;AAAA;AAAA;AAAA,UAEvE;AAAA;AAAA,MAEJ,GAAG;AAAA,QACD;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAED,aACE,iCACE;AAAA,4BAAC,gBAAa,SAAS,CAAC,uBAAuB,QAAQ,MACpD,yBACH;AAAA,QAGC,CAAC;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACJ,eAAc;AAAA,YACd,UAAU;AAAA,YAEV,QAAQ;AAAA,YACR,IAAI;AAAA,YACJ,UAAS;AAAA,YACT,QAAO;AAAA,YACP,QAAQ;AAAA,YACR,QAAQ,QAAQ;AAAA,YAChB,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,YACb,cAAc;AAAA,YACd,eAAe;AAAA;AAAA,QACjB;AAAA,SAEJ;AAAA,IAEJ;AAAA,EACF,GAMM,QAAQ,WAA+B,SAAe,OAAO,KAAK;AACtE,UAAM,WAAW,gBAAgB,GAC3B,EAAE,kBAAkB,IAAI,mBAAmB;AAEjD,QAAI,sBAAsB;AAe1B,WAbI,MAAM,UAAU,SAAS,IAazB,qBAAqB,CAAC,WACjB,OAGF,oBAAC,uBAAoB,KAAW,GAAG,OAAO;AAAA,EACnD,CAAC,GAEK,aAAa;AAAA,IACjB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,EACd,GAEM,aAAa,qBAAqB,OAAO,UAAU;AAKzD,SAAO,qBAAqB,OAAO;AAAA,IACjC,GAAG;AAAA,IACH;AAAA,EACF,CAAC;AACH;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/gestureState.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { getGestureHandler } from "@tamagui/native";
|
|
2
|
-
function isGestureHandlerEnabled() {
|
|
3
|
-
return getGestureHandler().isEnabled;
|
|
4
|
-
}
|
|
5
|
-
function getGestureHandlerState() {
|
|
6
|
-
return getGestureHandler().state;
|
|
7
|
-
}
|
|
8
|
-
function setGestureHandlerState(updates) {
|
|
9
|
-
getGestureHandler().set(updates);
|
|
10
|
-
}
|
|
11
|
-
const setGestureState = setGestureHandlerState;
|
|
12
|
-
export {
|
|
13
|
-
getGestureHandlerState,
|
|
14
|
-
isGestureHandlerEnabled,
|
|
15
|
-
setGestureHandlerState,
|
|
16
|
-
setGestureState
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=gestureState.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/gestureState.ts"],
|
|
4
|
-
"mappings": "AAKA,SAAS,yBAA4C;AAK9C,SAAS,0BAAmC;AACjD,SAAO,kBAAkB,EAAE;AAC7B;AAEO,SAAS,yBAAuC;AACrD,SAAO,kBAAkB,EAAE;AAC7B;AAEO,SAAS,uBAAuB,SAAsC;AAC3E,oBAAkB,EAAE,IAAI,OAAO;AACjC;AAGO,MAAM,kBAAkB;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/helpers.js
DELETED
package/dist/esm/helpers.js.map
DELETED
package/dist/esm/nativeSheet.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { YStack } from "@tamagui/stacks";
|
|
2
|
-
import { useEffect, useRef } from "react";
|
|
3
|
-
import { View } from "react-native-web";
|
|
4
|
-
import { SheetProvider } from "./SheetContext";
|
|
5
|
-
import { useSheetOpenState } from "./useSheetOpenState";
|
|
6
|
-
import { useSheetProviderProps } from "./useSheetProviderProps";
|
|
7
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
const nativeSheets = {
|
|
9
|
-
ios: null
|
|
10
|
-
};
|
|
11
|
-
function getNativeSheet(platform) {
|
|
12
|
-
return nativeSheets[platform];
|
|
13
|
-
}
|
|
14
|
-
function setupNativeSheet(platform, RNIOSModal) {
|
|
15
|
-
const { ModalSheetView, ModalSheetViewMainContent } = RNIOSModal;
|
|
16
|
-
platform === "ios" && (nativeSheets[platform] = (props) => {
|
|
17
|
-
const state = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state), { open, setOpen } = state, ref = useRef(void 0);
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
open ? ref.current?.presentModal() : ref.current?.dismissModal();
|
|
20
|
-
}, [open]);
|
|
21
|
-
function setOpenInternal(next) {
|
|
22
|
-
props.onOpenChange?.(open), setOpen(next);
|
|
23
|
-
}
|
|
24
|
-
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(SheetProvider, { setHasScrollView: emptyFn, ...providerProps, onlyShowFrame: !0, children: [
|
|
25
|
-
/* @__PURE__ */ jsx(ModalSheetView, { ref, onModalDidDismiss: () => setOpenInternal(!1), children: /* @__PURE__ */ jsx(ModalSheetViewMainContent, { children: /* @__PURE__ */ jsx(View, { style: { flex: 1 }, children: props.children }) }) }),
|
|
26
|
-
/* @__PURE__ */ jsx(
|
|
27
|
-
YStack,
|
|
28
|
-
{
|
|
29
|
-
position: "absolute",
|
|
30
|
-
opacity: 0,
|
|
31
|
-
pointerEvents: "none",
|
|
32
|
-
width: 0,
|
|
33
|
-
height: 0,
|
|
34
|
-
children: props.children
|
|
35
|
-
}
|
|
36
|
-
)
|
|
37
|
-
] }) });
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
const emptyFn = () => {
|
|
41
|
-
};
|
|
42
|
-
export {
|
|
43
|
-
getNativeSheet,
|
|
44
|
-
setupNativeSheet
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=nativeSheet.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/nativeSheet.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,cAAc;AAEvB,SAAS,WAAW,cAAc;AAClC,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AAqD9B,mBAIQ,KAHN,YADF;AA/CR,MAAM,eAAmF;AAAA,EACvF,KAAK;AACP;AAEO,SAAS,eAAe,UAAgC;AAC7D,SAAO,aAAa,QAAQ;AAC9B;AAEO,SAAS,iBACd,UACA,YACA;AACA,QAAM,EAAE,gBAAgB,0BAA0B,IAAI;AAEtD,EAAI,aAAa,UACf,aAAa,QAAQ,IAAI,CAAC,UAAsB;AAC9C,UAAM,QAAQ,kBAAkB,KAAK,GAC/B,gBAAgB,sBAAsB,OAAO,KAAK,GAIlD,EAAE,MAAM,QAAQ,IAAI,OACpB,MAAM,OAGT,MAAS;AAEZ,cAAU,MAAM;AACd,MAAI,OACF,IAAI,SAAS,aAAa,IAE1B,IAAI,SAAS,aAAa;AAAA,IAE9B,GAAG,CAAC,IAAI,CAAC;AAET,aAAS,gBAAgB,MAAe;AACtC,YAAM,eAAe,IAAI,GACzB,QAAQ,IAAI;AAAA,IACd;AAQA,WACE,gCACE,+BAAC,iBAAc,kBAAkB,SAAU,GAAG,eAAe,eAAa,IACxE;AAAA,0BAAC,kBAAe,KAAU,mBAAmB,MAAM,gBAAgB,EAAK,GACtE,8BAAC,6BACC,8BAAC,QAAK,OAAO,EAAE,MAAM,EAAE,GAAI,gBAAM,UAAS,GAC5C,GACF;AAAA,MAIA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,SAAS;AAAA,UACT,eAAc;AAAA,UACd,OAAO;AAAA,UACP,QAAQ;AAAA,UAEP,gBAAM;AAAA;AAAA,MACT;AAAA,OACF,GACF;AAAA,EAEJ;AAEJ;AAEA,MAAM,UAAU,MAAM;AAEtB;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { getGestureHandler } from "@tamagui/native";
|
|
2
|
-
function isGestureHandlerEnabled() {
|
|
3
|
-
return getGestureHandler().isEnabled;
|
|
4
|
-
}
|
|
5
|
-
function setupGestureHandler(config) {
|
|
6
|
-
const g = globalThis;
|
|
7
|
-
if (g.__tamagui_sheet_gesture_handler_setup)
|
|
8
|
-
return;
|
|
9
|
-
g.__tamagui_sheet_gesture_handler_setup = !0;
|
|
10
|
-
const { Gesture, GestureDetector, ScrollView } = config;
|
|
11
|
-
Gesture && GestureDetector && getGestureHandler().set({
|
|
12
|
-
enabled: !0,
|
|
13
|
-
Gesture,
|
|
14
|
-
GestureDetector,
|
|
15
|
-
ScrollView: ScrollView || null
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
export {
|
|
19
|
-
isGestureHandlerEnabled,
|
|
20
|
-
setupGestureHandler
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=setupGestureHandler.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/setupGestureHandler.ts"],
|
|
4
|
-
"mappings": "AAIA,SAAS,yBAAyB;AAE3B,SAAS,0BAAmC;AACjD,SAAO,kBAAkB,EAAE;AAC7B;AAQO,SAAS,oBAAoB,QAAyC;AAC3E,QAAM,IAAI;AACV,MAAI,EAAE;AACJ;AAEF,IAAE,wCAAwC;AAE1C,QAAM,EAAE,SAAS,iBAAiB,WAAW,IAAI;AAEjD,EAAI,WAAW,mBACb,kBAAkB,EAAE,IAAI;AAAA,IACtB,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,YAAY,cAAc;AAAA,EAC5B,CAAC;AAEL;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=types.js.map
|
package/dist/esm/types.js.map
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { useCallback, useMemo, useRef } from "react";
|
|
2
|
-
import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState";
|
|
3
|
-
const AT_TOP_THRESHOLD = 5;
|
|
4
|
-
function useGestureHandlerPan(config) {
|
|
5
|
-
const {
|
|
6
|
-
positions,
|
|
7
|
-
frameSize,
|
|
8
|
-
setPosition,
|
|
9
|
-
animateTo,
|
|
10
|
-
stopSpring,
|
|
11
|
-
scrollBridge,
|
|
12
|
-
setIsDragging,
|
|
13
|
-
getCurrentPosition,
|
|
14
|
-
resisted,
|
|
15
|
-
disableDrag,
|
|
16
|
-
isShowingInnerSheet,
|
|
17
|
-
setAnimatedPosition,
|
|
18
|
-
scrollGestureRef
|
|
19
|
-
} = config, gestureHandlerEnabled = isGestureHandlerEnabled(), panGestureRef = useRef(null), gestureStateRef = useRef({
|
|
20
|
-
startY: 0,
|
|
21
|
-
// track last translation when pan was active (for position calculation after handoff)
|
|
22
|
-
lastPanTranslationY: 0,
|
|
23
|
-
// accumulated position offset from all pan movements
|
|
24
|
-
accumulatedOffset: 0,
|
|
25
|
-
// track previous translation for direction detection (like actions-sheet)
|
|
26
|
-
prevTranslationY: 0,
|
|
27
|
-
// track if scroll was engaged (scrollY > 0) at some point
|
|
28
|
-
scrollEngaged: !1,
|
|
29
|
-
// positions frozen at gesture start — keyboard may dismiss during drag (input blur),
|
|
30
|
-
// causing positions to revert. Frozen positions ensure stable snap calculation.
|
|
31
|
-
frozenPositions: [],
|
|
32
|
-
frozenMinY: 0,
|
|
33
|
-
// whether pan gesture actually started (vs just a tap in onBegin)
|
|
34
|
-
panStarted: !1
|
|
35
|
-
}), onStart = useCallback(() => {
|
|
36
|
-
stopSpring();
|
|
37
|
-
}, [stopSpring]), onEnd = useCallback(
|
|
38
|
-
(closestPoint, animationOverride) => {
|
|
39
|
-
setIsDragging(!1), scrollBridge.setParentDragging(!1), scrollBridge.setScrollEnabled?.(!0), setPosition(closestPoint), animateTo(closestPoint, animationOverride);
|
|
40
|
-
},
|
|
41
|
-
[setIsDragging, scrollBridge, setPosition, animateTo]
|
|
42
|
-
);
|
|
43
|
-
return {
|
|
44
|
-
panGesture: useMemo(() => {
|
|
45
|
-
if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize)
|
|
46
|
-
return null;
|
|
47
|
-
const { Gesture } = getGestureHandlerState();
|
|
48
|
-
if (!Gesture)
|
|
49
|
-
return null;
|
|
50
|
-
const minY = positions[0], gs = gestureStateRef.current, gesture = Gesture.Pan().withRef(panGestureRef).activeOffsetY([-10, 10]).failOffsetX([-20, 20]).shouldCancelWhenOutside(!1).onBegin(() => {
|
|
51
|
-
gs.panStarted = !1, config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = !0);
|
|
52
|
-
const pos = getCurrentPosition(), atTop = pos <= minY + AT_TOP_THRESHOLD, currentScrollY = scrollBridge.y;
|
|
53
|
-
gs.startY = pos, gs.lastPanTranslationY = 0, gs.accumulatedOffset = 0, gs.prevTranslationY = 0, gs.scrollEngaged = currentScrollY > 0, gs.frozenPositions = [...positions], gs.frozenMinY = minY, atTop || scrollBridge.setScrollEnabled?.(!1, 0);
|
|
54
|
-
}).onStart(() => {
|
|
55
|
-
gs.panStarted = !0, setIsDragging(!0), scrollBridge.initialPosition = gs.startY, onStart();
|
|
56
|
-
}).onChange((event) => {
|
|
57
|
-
const { translationY } = event, isSwipingDown = gs.prevTranslationY < translationY, deltaY = translationY - gs.prevTranslationY;
|
|
58
|
-
gs.prevTranslationY = translationY;
|
|
59
|
-
const scrollY = scrollBridge.y;
|
|
60
|
-
scrollY > 0 && (gs.scrollEngaged = !0);
|
|
61
|
-
const isCurrentlyAtTop = gs.startY + gs.accumulatedOffset <= minY + AT_TOP_THRESHOLD, nodeIsScrolling = scrollY > 0;
|
|
62
|
-
let panHandles = !1;
|
|
63
|
-
const hasScrollableContent = scrollBridge.hasScrollableContent !== !1;
|
|
64
|
-
if (isCurrentlyAtTop ? isSwipingDown ? nodeIsScrolling && hasScrollableContent ? panHandles = !1 : (gs.scrollEngaged, panHandles = !0) : hasScrollableContent ? panHandles = !1 : panHandles = !0 : isSwipingDown ? panHandles = !nodeIsScrolling || !hasScrollableContent : panHandles = !0, panHandles) {
|
|
65
|
-
const lockTo = isCurrentlyAtTop ? void 0 : 0;
|
|
66
|
-
scrollBridge.setScrollEnabled?.(!1, lockTo), gs.accumulatedOffset += deltaY;
|
|
67
|
-
const newPosition = resisted(gs.startY + gs.accumulatedOffset, minY);
|
|
68
|
-
scrollBridge.paneY = newPosition, setAnimatedPosition(newPosition), scrollBridge.setParentDragging(newPosition > minY);
|
|
69
|
-
} else
|
|
70
|
-
scrollBridge.setScrollEnabled?.(!0);
|
|
71
|
-
}).onEnd((event) => {
|
|
72
|
-
const { velocityY } = event, currentPos = gs.startY + gs.accumulatedOffset;
|
|
73
|
-
scrollBridge.scrollLockY = void 0;
|
|
74
|
-
const snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions, snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
|
|
75
|
-
if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
|
|
76
|
-
onEnd(0);
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
const velocity = velocityY / 1e3, projectedEnd = currentPos + frameSize * velocity * 0.2;
|
|
80
|
-
let closestPoint = 0, minDist = Number.POSITIVE_INFINITY;
|
|
81
|
-
for (let i = 0; i < snapPositions.length; i++) {
|
|
82
|
-
const pos = snapPositions[i], dist = Math.abs(projectedEnd - pos);
|
|
83
|
-
dist < minDist && (minDist = dist, closestPoint = i);
|
|
84
|
-
}
|
|
85
|
-
onEnd(closestPoint);
|
|
86
|
-
}).onFinalize(() => {
|
|
87
|
-
scrollBridge.scrollLockY = void 0, gs.panStarted ? setIsDragging(!1) : config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = !1);
|
|
88
|
-
}).runOnJS(!0);
|
|
89
|
-
return scrollGestureRef?.current ? gesture.simultaneousWithExternalGesture(scrollGestureRef.current) : gesture;
|
|
90
|
-
}, [
|
|
91
|
-
gestureHandlerEnabled,
|
|
92
|
-
disableDrag,
|
|
93
|
-
isShowingInnerSheet,
|
|
94
|
-
frameSize,
|
|
95
|
-
positions,
|
|
96
|
-
scrollBridge,
|
|
97
|
-
getCurrentPosition,
|
|
98
|
-
resisted,
|
|
99
|
-
onStart,
|
|
100
|
-
onEnd,
|
|
101
|
-
setIsDragging,
|
|
102
|
-
setAnimatedPosition
|
|
103
|
-
]),
|
|
104
|
-
panGestureRef,
|
|
105
|
-
gestureHandlerEnabled
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
export {
|
|
109
|
-
useGestureHandlerPan
|
|
110
|
-
};
|
|
111
|
-
//# sourceMappingURL=useGestureHandlerPan.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/useGestureHandlerPan.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { useRef } from "react";
|
|
2
|
-
const noop = () => {
|
|
3
|
-
};
|
|
4
|
-
function useKeyboardControllerSheet(_options) {
|
|
5
|
-
const pauseKeyboardHandler = useRef(!1);
|
|
6
|
-
return {
|
|
7
|
-
keyboardControllerEnabled: !1,
|
|
8
|
-
keyboardHeight: 0,
|
|
9
|
-
isKeyboardVisible: !1,
|
|
10
|
-
dismissKeyboard: noop,
|
|
11
|
-
pauseKeyboardHandler,
|
|
12
|
-
flushPendingHide: noop
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
export {
|
|
16
|
-
useKeyboardControllerSheet
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=useKeyboardControllerSheet.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/useKeyboardControllerSheet.ts"],
|
|
4
|
-
"mappings": "AAKA,SAAS,cAAc;AAMvB,MAAM,OAAO,MAAM;AAAC;AAEb,SAAS,2BACd,UAC+B;AAC/B,QAAM,uBAAuB,OAAO,EAAK;AACzC,SAAO;AAAA,IACL,2BAA2B;AAAA,IAC3B,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB;AAAA,IACA,kBAAkB;AAAA,EACpB;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|