@tamagui/sheet 2.0.0-1769495042619 → 2.0.0-1769536410877
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/dist/cjs/SheetImplementationCustom.cjs +66 -31
- package/dist/cjs/SheetImplementationCustom.js +70 -40
- package/dist/cjs/SheetImplementationCustom.js.map +1 -1
- package/dist/cjs/SheetImplementationCustom.native.js +73 -33
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
- package/dist/cjs/SheetScrollView.cjs +2 -0
- package/dist/cjs/SheetScrollView.js +2 -0
- package/dist/cjs/SheetScrollView.js.map +1 -1
- package/dist/cjs/SheetScrollView.native.js +2 -0
- package/dist/cjs/SheetScrollView.native.js.map +1 -1
- package/dist/cjs/useGestureHandlerPan.cjs +21 -11
- package/dist/cjs/useGestureHandlerPan.js +20 -11
- package/dist/cjs/useGestureHandlerPan.js.map +1 -1
- package/dist/cjs/useGestureHandlerPan.native.js +21 -11
- package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
- package/dist/cjs/useKeyboardControllerSheet.cjs +38 -0
- package/dist/cjs/useKeyboardControllerSheet.js +34 -0
- package/dist/cjs/useKeyboardControllerSheet.js.map +6 -0
- package/dist/cjs/useKeyboardControllerSheet.native.js +114 -0
- package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -0
- package/dist/esm/SheetImplementationCustom.js +73 -41
- package/dist/esm/SheetImplementationCustom.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.mjs +68 -33
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +75 -35
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/SheetScrollView.js +2 -0
- package/dist/esm/SheetScrollView.js.map +1 -1
- package/dist/esm/SheetScrollView.mjs +2 -0
- package/dist/esm/SheetScrollView.mjs.map +1 -1
- package/dist/esm/SheetScrollView.native.js +2 -0
- package/dist/esm/SheetScrollView.native.js.map +1 -1
- package/dist/esm/useGestureHandlerPan.js +20 -11
- package/dist/esm/useGestureHandlerPan.js.map +1 -1
- package/dist/esm/useGestureHandlerPan.mjs +21 -11
- package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
- package/dist/esm/useGestureHandlerPan.native.js +21 -11
- package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
- package/dist/esm/useKeyboardControllerSheet.js +18 -0
- package/dist/esm/useKeyboardControllerSheet.js.map +6 -0
- package/dist/esm/useKeyboardControllerSheet.mjs +15 -0
- package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -0
- package/dist/esm/useKeyboardControllerSheet.native.js +88 -0
- package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -0
- package/dist/jsx/SheetImplementationCustom.js +73 -41
- package/dist/jsx/SheetImplementationCustom.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.mjs +68 -33
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +73 -33
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
- package/dist/jsx/SheetScrollView.js +2 -0
- package/dist/jsx/SheetScrollView.js.map +1 -1
- package/dist/jsx/SheetScrollView.mjs +2 -0
- package/dist/jsx/SheetScrollView.mjs.map +1 -1
- package/dist/jsx/SheetScrollView.native.js +2 -0
- package/dist/jsx/SheetScrollView.native.js.map +1 -1
- package/dist/jsx/useGestureHandlerPan.js +20 -11
- package/dist/jsx/useGestureHandlerPan.js.map +1 -1
- package/dist/jsx/useGestureHandlerPan.mjs +21 -11
- package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
- package/dist/jsx/useGestureHandlerPan.native.js +21 -11
- package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
- package/dist/jsx/useKeyboardControllerSheet.js +18 -0
- package/dist/jsx/useKeyboardControllerSheet.js.map +6 -0
- package/dist/jsx/useKeyboardControllerSheet.mjs +15 -0
- package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -0
- package/dist/jsx/useKeyboardControllerSheet.native.js +114 -0
- package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -0
- package/package.json +20 -20
- package/src/SheetImplementationCustom.tsx +138 -46
- package/src/SheetScrollView.tsx +2 -0
- package/src/types.tsx +47 -0
- package/src/useGestureHandlerPan.tsx +57 -10
- package/src/useKeyboardControllerSheet.native.ts +136 -0
- package/src/useKeyboardControllerSheet.ts +26 -0
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/SheetScrollView.d.ts.map +1 -1
- package/types/types.d.ts +38 -0
- package/types/types.d.ts.map +1 -1
- package/types/useGestureHandlerPan.d.ts +2 -1
- package/types/useGestureHandlerPan.d.ts.map +1 -1
- package/types/useKeyboardControllerSheet.d.ts +7 -0
- package/types/useKeyboardControllerSheet.d.ts.map +1 -0
- package/types/useKeyboardControllerSheet.native.d.ts +13 -0
- package/types/useKeyboardControllerSheet.native.d.ts.map +1 -0
|
@@ -45,13 +45,27 @@ var import_adapt = require("@tamagui/adapt"),
|
|
|
45
45
|
import_contexts = require("./contexts.cjs"),
|
|
46
46
|
import_GestureDetectorWrapper = require("./GestureDetectorWrapper.cjs"),
|
|
47
47
|
import_GestureSheetContext = require("./GestureSheetContext.cjs"),
|
|
48
|
+
import_native = require("@tamagui/native"),
|
|
48
49
|
import_helpers = require("./helpers.cjs"),
|
|
49
50
|
import_SheetContext = require("./SheetContext.cjs"),
|
|
50
51
|
import_useGestureHandlerPan = require("./useGestureHandlerPan.cjs"),
|
|
52
|
+
import_useKeyboardControllerSheet = require("./useKeyboardControllerSheet.cjs"),
|
|
51
53
|
import_useSheetOpenState = require("./useSheetOpenState.cjs"),
|
|
52
54
|
import_useSheetProviderProps = require("./useSheetProviderProps.cjs"),
|
|
53
55
|
import_jsx_runtime = require("react/jsx-runtime");
|
|
54
56
|
const hiddenSize = 10000.1;
|
|
57
|
+
let _cachedSafeAreaTop;
|
|
58
|
+
function getSafeAreaTopInset() {
|
|
59
|
+
if (_cachedSafeAreaTop !== void 0) return _cachedSafeAreaTop;
|
|
60
|
+
const sa = (0, import_native.getSafeArea)();
|
|
61
|
+
if (sa.isEnabled) return _cachedSafeAreaTop = sa.getInsets().top, _cachedSafeAreaTop;
|
|
62
|
+
try {
|
|
63
|
+
_cachedSafeAreaTop = require("react-native-safe-area-context").initialWindowMetrics?.insets?.top ?? 0;
|
|
64
|
+
} catch {
|
|
65
|
+
_cachedSafeAreaTop = 0;
|
|
66
|
+
}
|
|
67
|
+
return _cachedSafeAreaTop ?? 0;
|
|
68
|
+
}
|
|
55
69
|
let sheetHiddenStyleSheet = null;
|
|
56
70
|
const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
57
71
|
SheetImplementationCustom = import_react.default.forwardRef(function (props, forwardedRef) {
|
|
@@ -115,6 +129,30 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
115
129
|
}, [open, frameSize]);
|
|
116
130
|
const effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize,
|
|
117
131
|
positions = import_react.default.useMemo(() => snapPoints.map(point => getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize)), [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]),
|
|
132
|
+
{
|
|
133
|
+
keyboardHeight,
|
|
134
|
+
isKeyboardVisible,
|
|
135
|
+
dismissKeyboard,
|
|
136
|
+
pauseKeyboardHandler,
|
|
137
|
+
flushPendingHide
|
|
138
|
+
} = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({
|
|
139
|
+
enabled: !import_constants.isWeb && !!moveOnKeyboardChange
|
|
140
|
+
}),
|
|
141
|
+
[isDragging, setIsDragging_] = import_react.default.useState(!1),
|
|
142
|
+
isDraggingRef = import_react.default.useRef(!1),
|
|
143
|
+
setIsDragging = import_react.default.useCallback(val => {
|
|
144
|
+
isDraggingRef.current = val, pauseKeyboardHandler.current = val, setIsDragging_(val), val || flushPendingHide();
|
|
145
|
+
}, [pauseKeyboardHandler, flushPendingHide]),
|
|
146
|
+
activePositionsRef = import_react.default.useRef(positions),
|
|
147
|
+
activePositions = import_react.default.useMemo(() => {
|
|
148
|
+
if (isDragging || isDraggingRef.current) return activePositionsRef.current;
|
|
149
|
+
let result;
|
|
150
|
+
if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
|
|
151
|
+
const safeAreaTop = import_constants.isWeb ? 0 : getSafeAreaTopInset();
|
|
152
|
+
result = positions.map(p => screenSize && p >= screenSize ? p : Math.max(safeAreaTop, p - keyboardHeight));
|
|
153
|
+
}
|
|
154
|
+
return activePositionsRef.current = result, result;
|
|
155
|
+
}, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]),
|
|
118
156
|
{
|
|
119
157
|
useAnimatedNumber,
|
|
120
158
|
useAnimatedNumberStyle,
|
|
@@ -140,18 +178,18 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
140
178
|
hostRef: sheetRef
|
|
141
179
|
}, import_react.default.useCallback(value => {
|
|
142
180
|
at.current = value, scrollBridge.paneY = value;
|
|
143
|
-
const minY =
|
|
181
|
+
const minY = activePositions[0],
|
|
144
182
|
wasAtTop = scrollBridge.isAtTop,
|
|
145
183
|
nowAtTop = value <= minY + 5;
|
|
146
184
|
wasAtTop !== nowAtTop && (scrollBridge.isAtTop = nowAtTop, nowAtTop ? (scrollBridge.scrollLockY = void 0, scrollBridge.setScrollEnabled?.(!0)) : (scrollBridge.scrollLockY = 0, scrollBridge.setScrollEnabled?.(!1)));
|
|
147
|
-
}, [animationDriver,
|
|
185
|
+
}, [animationDriver, activePositions]));
|
|
148
186
|
function stopSpring() {
|
|
149
187
|
animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
|
|
150
188
|
}
|
|
151
|
-
const animateTo = (0, import_core.useEvent)(position2 => {
|
|
189
|
+
const animateTo = (0, import_core.useEvent)((position2, animationOverride) => {
|
|
152
190
|
if (frameSize === 0) return;
|
|
153
|
-
let toValue = isHidden || position2 === -1 ? screenSize :
|
|
154
|
-
at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, {
|
|
191
|
+
let toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
|
|
192
|
+
at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, animationOverride || {
|
|
155
193
|
type: "spring",
|
|
156
194
|
...transitionConfig
|
|
157
195
|
}));
|
|
@@ -175,7 +213,6 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
175
213
|
}, [hasntMeasured, disableAnimation, isHidden, frameSize, screenSize, open, position]);
|
|
176
214
|
const disableDrag = props.disableDrag ?? controller?.disableDrag,
|
|
177
215
|
themeName = (0, import_core.useThemeName)(),
|
|
178
|
-
[isDragging, setIsDragging] = import_react.default.useState(!1),
|
|
179
216
|
[blockPan, setBlockPan] = import_react.default.useState(!1),
|
|
180
217
|
panResponder = import_react.default.useMemo(() => {
|
|
181
218
|
if (disableDrag || !frameSize || isShowingInnerSheet) return;
|
|
@@ -252,13 +289,29 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
252
289
|
onPanResponderTerminate: finish,
|
|
253
290
|
onPanResponderRelease: finish
|
|
254
291
|
});
|
|
255
|
-
}, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition])
|
|
256
|
-
|
|
292
|
+
}, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
|
|
293
|
+
import_react.default.useEffect(() => {
|
|
294
|
+
isDragging || isHidden || !open || disableAnimation || !frameSize || !screenSize || animateTo(position, {
|
|
295
|
+
type: "timing",
|
|
296
|
+
duration: 250
|
|
297
|
+
});
|
|
298
|
+
}, [isKeyboardVisible, keyboardHeight]);
|
|
299
|
+
const wasDragging = import_react.default.useRef(!1);
|
|
300
|
+
import_react.default.useEffect(() => {
|
|
301
|
+
if (isDragging) {
|
|
302
|
+
wasDragging.current = !0;
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
wasDragging.current && (wasDragging.current = !1, !(!frameSize || !screenSize || isHidden || !open) && animateTo(position));
|
|
306
|
+
}, [isDragging]), import_react.default.useEffect(() => {
|
|
307
|
+
!open && isKeyboardVisible && dismissKeyboard();
|
|
308
|
+
}, [open]);
|
|
309
|
+
const {
|
|
257
310
|
panGesture,
|
|
258
311
|
panGestureRef,
|
|
259
312
|
gestureHandlerEnabled
|
|
260
313
|
} = (0, import_useGestureHandlerPan.useGestureHandlerPan)({
|
|
261
|
-
positions,
|
|
314
|
+
positions: activePositions,
|
|
262
315
|
frameSize,
|
|
263
316
|
setPosition,
|
|
264
317
|
animateTo,
|
|
@@ -270,10 +323,11 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
270
323
|
disableDrag,
|
|
271
324
|
isShowingInnerSheet,
|
|
272
325
|
setAnimatedPosition: val => {
|
|
273
|
-
animatedNumber.setValue(val, {
|
|
326
|
+
at.current = val, animatedNumber.setValue(val, {
|
|
274
327
|
type: "direct"
|
|
275
328
|
});
|
|
276
|
-
}
|
|
329
|
+
},
|
|
330
|
+
pauseKeyboardHandler
|
|
277
331
|
}),
|
|
278
332
|
handleAnimationViewLayout = import_react.default.useCallback(e => {
|
|
279
333
|
if (!open && stableFrameSize.current !== 0) return;
|
|
@@ -294,26 +348,7 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
294
348
|
}]
|
|
295
349
|
};
|
|
296
350
|
}),
|
|
297
|
-
|
|
298
|
-
import_react.default.useEffect(() => {
|
|
299
|
-
if (import_constants.isWeb || !moveOnKeyboardChange) return;
|
|
300
|
-
const keyboardShowListener = import_react_native.Keyboard.addListener(import_constants.currentPlatform === "ios" ? "keyboardWillShow" : "keyboardDidShow", e => {
|
|
301
|
-
sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = isHidden || position === -1 ? screenSize : positions[position], animatedNumber.setValue(Math.max(sizeBeforeKeyboard.current - e.endCoordinates.height, 0), {
|
|
302
|
-
type: "timing",
|
|
303
|
-
duration: 250
|
|
304
|
-
}));
|
|
305
|
-
}),
|
|
306
|
-
keyboardDidHideListener = import_react_native.Keyboard.addListener("keyboardDidHide", () => {
|
|
307
|
-
sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current, {
|
|
308
|
-
type: "timing",
|
|
309
|
-
duration: 250
|
|
310
|
-
}), sizeBeforeKeyboard.current = null);
|
|
311
|
-
});
|
|
312
|
-
return () => {
|
|
313
|
-
keyboardDidHideListener.remove(), keyboardShowListener.remove();
|
|
314
|
-
};
|
|
315
|
-
}, [moveOnKeyboardChange, positions, position, isHidden]);
|
|
316
|
-
const [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
|
|
351
|
+
[opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
|
|
317
352
|
open && opacity === 0 && setOpacity(1), import_react.default.useEffect(() => {
|
|
318
353
|
if (!open) {
|
|
319
354
|
const tm = setTimeout(() => {
|
|
@@ -25,8 +25,21 @@ __export(SheetImplementationCustom_exports, {
|
|
|
25
25
|
SheetImplementationCustom: () => SheetImplementationCustom
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(SheetImplementationCustom_exports);
|
|
28
|
-
var import_adapt = require("@tamagui/adapt"), import_animate_presence = require("@tamagui/animate-presence"), import_compose_refs = require("@tamagui/compose-refs"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_portal = require("@tamagui/portal"), import_react = __toESM(require("react"), 1), import_react_native = require("react-native-web"), import_contexts = require("./contexts"), import_GestureDetectorWrapper = require("./GestureDetectorWrapper"), import_GestureSheetContext = require("./GestureSheetContext"), import_helpers = require("./helpers"), import_SheetContext = require("./SheetContext"), import_useGestureHandlerPan = require("./useGestureHandlerPan"), import_useSheetOpenState = require("./useSheetOpenState"), import_useSheetProviderProps = require("./useSheetProviderProps"), import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
+
var import_adapt = require("@tamagui/adapt"), import_animate_presence = require("@tamagui/animate-presence"), import_compose_refs = require("@tamagui/compose-refs"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_portal = require("@tamagui/portal"), import_react = __toESM(require("react"), 1), import_react_native = require("react-native-web"), import_contexts = require("./contexts"), import_GestureDetectorWrapper = require("./GestureDetectorWrapper"), import_GestureSheetContext = require("./GestureSheetContext"), import_native = require("@tamagui/native"), import_helpers = require("./helpers"), import_SheetContext = require("./SheetContext"), import_useGestureHandlerPan = require("./useGestureHandlerPan"), import_useKeyboardControllerSheet = require("./useKeyboardControllerSheet"), import_useSheetOpenState = require("./useSheetOpenState"), import_useSheetProviderProps = require("./useSheetProviderProps"), import_jsx_runtime = require("react/jsx-runtime");
|
|
29
29
|
const hiddenSize = 10000.1;
|
|
30
|
+
let _cachedSafeAreaTop;
|
|
31
|
+
function getSafeAreaTopInset() {
|
|
32
|
+
if (_cachedSafeAreaTop !== void 0) return _cachedSafeAreaTop;
|
|
33
|
+
const sa = (0, import_native.getSafeArea)();
|
|
34
|
+
if (sa.isEnabled)
|
|
35
|
+
return _cachedSafeAreaTop = sa.getInsets().top, _cachedSafeAreaTop;
|
|
36
|
+
try {
|
|
37
|
+
_cachedSafeAreaTop = require("react-native-safe-area-context").initialWindowMetrics?.insets?.top ?? 0;
|
|
38
|
+
} catch {
|
|
39
|
+
_cachedSafeAreaTop = 0;
|
|
40
|
+
}
|
|
41
|
+
return _cachedSafeAreaTop ?? 0;
|
|
42
|
+
}
|
|
30
43
|
let sheetHiddenStyleSheet = null;
|
|
31
44
|
const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetImplementationCustom = import_react.default.forwardRef(
|
|
32
45
|
function(props, forwardedRef) {
|
|
@@ -75,7 +88,30 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
|
|
|
75
88
|
(point) => getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize)
|
|
76
89
|
),
|
|
77
90
|
[screenSize, effectiveFrameSize, snapPoints, snapPointsMode]
|
|
78
|
-
), {
|
|
91
|
+
), {
|
|
92
|
+
keyboardHeight,
|
|
93
|
+
isKeyboardVisible,
|
|
94
|
+
dismissKeyboard,
|
|
95
|
+
pauseKeyboardHandler,
|
|
96
|
+
flushPendingHide
|
|
97
|
+
} = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({
|
|
98
|
+
enabled: !import_constants.isWeb && !!moveOnKeyboardChange
|
|
99
|
+
}), [isDragging, setIsDragging_] = import_react.default.useState(!1), isDraggingRef = import_react.default.useRef(!1), setIsDragging = import_react.default.useCallback(
|
|
100
|
+
(val) => {
|
|
101
|
+
isDraggingRef.current = val, pauseKeyboardHandler.current = val, setIsDragging_(val), val || flushPendingHide();
|
|
102
|
+
},
|
|
103
|
+
[pauseKeyboardHandler, flushPendingHide]
|
|
104
|
+
), activePositionsRef = import_react.default.useRef(positions), activePositions = import_react.default.useMemo(() => {
|
|
105
|
+
if (isDragging || isDraggingRef.current) return activePositionsRef.current;
|
|
106
|
+
let result;
|
|
107
|
+
if (!isKeyboardVisible || keyboardHeight <= 0)
|
|
108
|
+
result = positions;
|
|
109
|
+
else {
|
|
110
|
+
const safeAreaTop = import_constants.isWeb ? 0 : getSafeAreaTopInset();
|
|
111
|
+
result = positions.map((p) => screenSize && p >= screenSize ? p : Math.max(safeAreaTop, p - keyboardHeight));
|
|
112
|
+
}
|
|
113
|
+
return activePositionsRef.current = result, result;
|
|
114
|
+
}, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]), { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver, AnimatedView = animationDriver.View ?? import_core.View;
|
|
79
115
|
(0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
80
116
|
if (sheetInsideSheet && open)
|
|
81
117
|
return sheetInsideSheet(!0), () => {
|
|
@@ -96,22 +132,25 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
|
|
|
96
132
|
import_react.default.useCallback(
|
|
97
133
|
(value) => {
|
|
98
134
|
at.current = value, scrollBridge.paneY = value;
|
|
99
|
-
const minY =
|
|
135
|
+
const minY = activePositions[0], wasAtTop = scrollBridge.isAtTop, nowAtTop = value <= minY + 5;
|
|
100
136
|
wasAtTop !== nowAtTop && (scrollBridge.isAtTop = nowAtTop, nowAtTop ? (scrollBridge.scrollLockY = void 0, scrollBridge.setScrollEnabled?.(!0)) : (scrollBridge.scrollLockY = 0, scrollBridge.setScrollEnabled?.(!1)));
|
|
101
137
|
},
|
|
102
|
-
[animationDriver,
|
|
138
|
+
[animationDriver, activePositions]
|
|
103
139
|
)
|
|
104
140
|
);
|
|
105
141
|
function stopSpring() {
|
|
106
142
|
animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
|
|
107
143
|
}
|
|
108
|
-
const animateTo = (0, import_core.useEvent)((position2) => {
|
|
144
|
+
const animateTo = (0, import_core.useEvent)((position2, animationOverride) => {
|
|
109
145
|
if (frameSize === 0) return;
|
|
110
|
-
let toValue = isHidden || position2 === -1 ? screenSize :
|
|
111
|
-
at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
146
|
+
let toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
|
|
147
|
+
at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(
|
|
148
|
+
toValue,
|
|
149
|
+
animationOverride || {
|
|
150
|
+
type: "spring",
|
|
151
|
+
...transitionConfig
|
|
152
|
+
}
|
|
153
|
+
));
|
|
115
154
|
});
|
|
116
155
|
(0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
117
156
|
if (hasntMeasured && screenSize && frameSize) {
|
|
@@ -134,7 +173,7 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
|
|
|
134
173
|
scrollBridge.isAtTop = isTopPosition, isTopPosition ? (scrollBridge.scrollLockY = void 0, scrollBridge.setScrollEnabled?.(!0)) : (scrollBridge.scrollLockY = 0, scrollBridge.setScrollEnabled?.(!1));
|
|
135
174
|
}
|
|
136
175
|
}, [hasntMeasured, disableAnimation, isHidden, frameSize, screenSize, open, position]);
|
|
137
|
-
const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = (0, import_core.useThemeName)(), [
|
|
176
|
+
const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = (0, import_core.useThemeName)(), [blockPan, setBlockPan] = import_react.default.useState(!1), panResponder = import_react.default.useMemo(() => {
|
|
138
177
|
if (disableDrag || !frameSize || isShowingInnerSheet) return;
|
|
139
178
|
const minY = positions[0];
|
|
140
179
|
scrollBridge.paneMinY = minY;
|
|
@@ -196,8 +235,22 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
|
|
|
196
235
|
onPanResponderTerminate: finish,
|
|
197
236
|
onPanResponderRelease: finish
|
|
198
237
|
});
|
|
199
|
-
}, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition])
|
|
200
|
-
|
|
238
|
+
}, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
|
|
239
|
+
import_react.default.useEffect(() => {
|
|
240
|
+
isDragging || isHidden || !open || disableAnimation || !frameSize || !screenSize || animateTo(position, { type: "timing", duration: 250 });
|
|
241
|
+
}, [isKeyboardVisible, keyboardHeight]);
|
|
242
|
+
const wasDragging = import_react.default.useRef(!1);
|
|
243
|
+
import_react.default.useEffect(() => {
|
|
244
|
+
if (isDragging) {
|
|
245
|
+
wasDragging.current = !0;
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
wasDragging.current && (wasDragging.current = !1, !(!frameSize || !screenSize || isHidden || !open) && animateTo(position));
|
|
249
|
+
}, [isDragging]), import_react.default.useEffect(() => {
|
|
250
|
+
!open && isKeyboardVisible && dismissKeyboard();
|
|
251
|
+
}, [open]);
|
|
252
|
+
const { panGesture, panGestureRef, gestureHandlerEnabled } = (0, import_useGestureHandlerPan.useGestureHandlerPan)({
|
|
253
|
+
positions: activePositions,
|
|
201
254
|
frameSize,
|
|
202
255
|
setPosition,
|
|
203
256
|
animateTo,
|
|
@@ -209,8 +262,9 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
|
|
|
209
262
|
disableDrag,
|
|
210
263
|
isShowingInnerSheet,
|
|
211
264
|
setAnimatedPosition: (val) => {
|
|
212
|
-
animatedNumber.setValue(val, { type: "direct" });
|
|
213
|
-
}
|
|
265
|
+
at.current = val, animatedNumber.setValue(val, { type: "direct" });
|
|
266
|
+
},
|
|
267
|
+
pauseKeyboardHandler
|
|
214
268
|
}), handleAnimationViewLayout = import_react.default.useCallback(
|
|
215
269
|
(e) => {
|
|
216
270
|
if (!open && stableFrameSize.current !== 0)
|
|
@@ -230,31 +284,7 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
|
|
|
230
284
|
return {
|
|
231
285
|
transform: [{ translateY: frameSize === 0 ? hiddenSize : val }]
|
|
232
286
|
};
|
|
233
|
-
}),
|
|
234
|
-
import_react.default.useEffect(() => {
|
|
235
|
-
if (import_constants.isWeb || !moveOnKeyboardChange) return;
|
|
236
|
-
const keyboardShowListener = import_react_native.Keyboard.addListener(
|
|
237
|
-
import_constants.currentPlatform === "ios" ? "keyboardWillShow" : "keyboardDidShow",
|
|
238
|
-
(e) => {
|
|
239
|
-
sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = isHidden || position === -1 ? screenSize : positions[position], animatedNumber.setValue(
|
|
240
|
-
Math.max(sizeBeforeKeyboard.current - e.endCoordinates.height, 0),
|
|
241
|
-
{
|
|
242
|
-
type: "timing",
|
|
243
|
-
duration: 250
|
|
244
|
-
}
|
|
245
|
-
));
|
|
246
|
-
}
|
|
247
|
-
), keyboardDidHideListener = import_react_native.Keyboard.addListener("keyboardDidHide", () => {
|
|
248
|
-
sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current, {
|
|
249
|
-
type: "timing",
|
|
250
|
-
duration: 250
|
|
251
|
-
}), sizeBeforeKeyboard.current = null);
|
|
252
|
-
});
|
|
253
|
-
return () => {
|
|
254
|
-
keyboardDidHideListener.remove(), keyboardShowListener.remove();
|
|
255
|
-
};
|
|
256
|
-
}, [moveOnKeyboardChange, positions, position, isHidden]);
|
|
257
|
-
const [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
|
|
287
|
+
}), [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
|
|
258
288
|
open && opacity === 0 && setOpacity(1), import_react.default.useEffect(() => {
|
|
259
289
|
if (!open) {
|
|
260
290
|
const tm = setTimeout(() => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/SheetImplementationCustom.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["React", "TamaguiView", "position", "state", "pct"]
|
|
6
6
|
}
|
|
@@ -48,12 +48,30 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
48
48
|
import_contexts = require("./contexts.native.js"),
|
|
49
49
|
import_GestureDetectorWrapper = require("./GestureDetectorWrapper.native.js"),
|
|
50
50
|
import_GestureSheetContext = require("./GestureSheetContext.native.js"),
|
|
51
|
+
import_native = require("@tamagui/native"),
|
|
51
52
|
import_helpers = require("./helpers.native.js"),
|
|
52
53
|
import_SheetContext = require("./SheetContext.native.js"),
|
|
53
54
|
import_useGestureHandlerPan = require("./useGestureHandlerPan.native.js"),
|
|
55
|
+
import_useKeyboardControllerSheet = require("./useKeyboardControllerSheet.native.js"),
|
|
54
56
|
import_useSheetOpenState = require("./useSheetOpenState.native.js"),
|
|
55
57
|
import_useSheetProviderProps = require("./useSheetProviderProps.native.js"),
|
|
56
|
-
hiddenSize = 10000.1
|
|
58
|
+
hiddenSize = 10000.1,
|
|
59
|
+
_cachedSafeAreaTop;
|
|
60
|
+
function getSafeAreaTopInset() {
|
|
61
|
+
if (_cachedSafeAreaTop !== void 0) return _cachedSafeAreaTop;
|
|
62
|
+
var sa = (0, import_native.getSafeArea)();
|
|
63
|
+
if (sa.isEnabled) return _cachedSafeAreaTop = sa.getInsets().top, _cachedSafeAreaTop;
|
|
64
|
+
try {
|
|
65
|
+
var _sac_initialWindowMetrics_insets,
|
|
66
|
+
_sac_initialWindowMetrics,
|
|
67
|
+
sac = require("react-native-safe-area-context"),
|
|
68
|
+
_sac_initialWindowMetrics_insets_top;
|
|
69
|
+
_cachedSafeAreaTop = (_sac_initialWindowMetrics_insets_top = (_sac_initialWindowMetrics = sac.initialWindowMetrics) === null || _sac_initialWindowMetrics === void 0 || (_sac_initialWindowMetrics_insets = _sac_initialWindowMetrics.insets) === null || _sac_initialWindowMetrics_insets === void 0 ? void 0 : _sac_initialWindowMetrics_insets.top) !== null && _sac_initialWindowMetrics_insets_top !== void 0 ? _sac_initialWindowMetrics_insets_top : 0;
|
|
70
|
+
} catch {
|
|
71
|
+
_cachedSafeAreaTop = 0;
|
|
72
|
+
}
|
|
73
|
+
return _cachedSafeAreaTop ?? 0;
|
|
74
|
+
}
|
|
57
75
|
var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
58
76
|
SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(function (props, forwardedRef) {
|
|
59
77
|
var parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext),
|
|
@@ -121,6 +139,32 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
121
139
|
return getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize);
|
|
122
140
|
});
|
|
123
141
|
}, [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]),
|
|
142
|
+
{
|
|
143
|
+
keyboardHeight,
|
|
144
|
+
isKeyboardVisible,
|
|
145
|
+
dismissKeyboard,
|
|
146
|
+
pauseKeyboardHandler,
|
|
147
|
+
flushPendingHide
|
|
148
|
+
} = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({
|
|
149
|
+
enabled: !import_constants.isWeb && !!moveOnKeyboardChange
|
|
150
|
+
}),
|
|
151
|
+
[isDragging, setIsDragging_] = import_react.default.useState(!1),
|
|
152
|
+
isDraggingRef = import_react.default.useRef(!1),
|
|
153
|
+
setIsDragging = import_react.default.useCallback(function (val) {
|
|
154
|
+
isDraggingRef.current = val, pauseKeyboardHandler.current = val, setIsDragging_(val), val || flushPendingHide();
|
|
155
|
+
}, [pauseKeyboardHandler, flushPendingHide]),
|
|
156
|
+
activePositionsRef = import_react.default.useRef(positions),
|
|
157
|
+
activePositions = import_react.default.useMemo(function () {
|
|
158
|
+
if (isDragging || isDraggingRef.current) return activePositionsRef.current;
|
|
159
|
+
var result;
|
|
160
|
+
if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
|
|
161
|
+
var safeAreaTop = import_constants.isWeb ? 0 : getSafeAreaTopInset();
|
|
162
|
+
result = positions.map(function (p) {
|
|
163
|
+
return screenSize && p >= screenSize ? p : Math.max(safeAreaTop, p - keyboardHeight);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return activePositionsRef.current = result, result;
|
|
167
|
+
}, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]),
|
|
124
168
|
{
|
|
125
169
|
useAnimatedNumber,
|
|
126
170
|
useAnimatedNumberStyle,
|
|
@@ -150,7 +194,7 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
150
194
|
hostRef: sheetRef
|
|
151
195
|
}, import_react.default.useCallback(function (value) {
|
|
152
196
|
at.current = value, scrollBridge.paneY = value;
|
|
153
|
-
var minY =
|
|
197
|
+
var minY = activePositions[0],
|
|
154
198
|
wasAtTop = scrollBridge.isAtTop,
|
|
155
199
|
nowAtTop = value <= minY + 5;
|
|
156
200
|
if (wasAtTop !== nowAtTop) if (scrollBridge.isAtTop = nowAtTop, nowAtTop) {
|
|
@@ -160,14 +204,14 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
160
204
|
var _scrollBridge_setScrollEnabled1;
|
|
161
205
|
scrollBridge.scrollLockY = 0, (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, !1);
|
|
162
206
|
}
|
|
163
|
-
}, [animationDriver,
|
|
207
|
+
}, [animationDriver, activePositions]));
|
|
164
208
|
function stopSpring() {
|
|
165
209
|
animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
|
|
166
210
|
}
|
|
167
|
-
var animateTo = (0, import_core.useEvent)(function (position2) {
|
|
211
|
+
var animateTo = (0, import_core.useEvent)(function (position2, animationOverride) {
|
|
168
212
|
if (frameSize !== 0) {
|
|
169
|
-
var toValue = isHidden || position2 === -1 ? screenSize :
|
|
170
|
-
at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, {
|
|
213
|
+
var toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
|
|
214
|
+
at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, animationOverride || {
|
|
171
215
|
type: "spring",
|
|
172
216
|
...transitionConfig
|
|
173
217
|
}));
|
|
@@ -199,7 +243,6 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
199
243
|
var _props_disableDrag,
|
|
200
244
|
disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller?.disableDrag,
|
|
201
245
|
themeName = (0, import_core.useThemeName)(),
|
|
202
|
-
[isDragging, setIsDragging] = import_react.default.useState(!1),
|
|
203
246
|
[blockPan, setBlockPan] = import_react.default.useState(!1),
|
|
204
247
|
panResponder = import_react.default.useMemo(function () {
|
|
205
248
|
if (disableDrag || !frameSize || isShowingInnerSheet) return;
|
|
@@ -278,13 +321,29 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
278
321
|
onPanResponderTerminate: finish,
|
|
279
322
|
onPanResponderRelease: finish
|
|
280
323
|
});
|
|
281
|
-
}, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition])
|
|
282
|
-
|
|
324
|
+
}, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
|
|
325
|
+
import_react.default.useEffect(function () {
|
|
326
|
+
isDragging || isHidden || !open || disableAnimation || !frameSize || !screenSize || animateTo(position, {
|
|
327
|
+
type: "timing",
|
|
328
|
+
duration: 250
|
|
329
|
+
});
|
|
330
|
+
}, [isKeyboardVisible, keyboardHeight]);
|
|
331
|
+
var wasDragging = import_react.default.useRef(!1);
|
|
332
|
+
import_react.default.useEffect(function () {
|
|
333
|
+
if (isDragging) {
|
|
334
|
+
wasDragging.current = !0;
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
wasDragging.current && (wasDragging.current = !1, !(!frameSize || !screenSize || isHidden || !open) && animateTo(position));
|
|
338
|
+
}, [isDragging]), import_react.default.useEffect(function () {
|
|
339
|
+
!open && isKeyboardVisible && dismissKeyboard();
|
|
340
|
+
}, [open]);
|
|
341
|
+
var {
|
|
283
342
|
panGesture,
|
|
284
343
|
panGestureRef,
|
|
285
344
|
gestureHandlerEnabled
|
|
286
345
|
} = (0, import_useGestureHandlerPan.useGestureHandlerPan)({
|
|
287
|
-
positions,
|
|
346
|
+
positions: activePositions,
|
|
288
347
|
frameSize,
|
|
289
348
|
setPosition,
|
|
290
349
|
animateTo,
|
|
@@ -298,10 +357,11 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
298
357
|
disableDrag,
|
|
299
358
|
isShowingInnerSheet,
|
|
300
359
|
setAnimatedPosition: function (val) {
|
|
301
|
-
animatedNumber.setValue(val, {
|
|
360
|
+
at.current = val, animatedNumber.setValue(val, {
|
|
302
361
|
type: "direct"
|
|
303
362
|
});
|
|
304
|
-
}
|
|
363
|
+
},
|
|
364
|
+
pauseKeyboardHandler
|
|
305
365
|
}),
|
|
306
366
|
handleAnimationViewLayout = import_react.default.useCallback(function (e) {
|
|
307
367
|
var _e_nativeEvent;
|
|
@@ -326,27 +386,7 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
|
|
|
326
386
|
}]
|
|
327
387
|
};
|
|
328
388
|
}),
|
|
329
|
-
|
|
330
|
-
import_react.default.useEffect(function () {
|
|
331
|
-
if (!(import_constants.isWeb || !moveOnKeyboardChange)) {
|
|
332
|
-
var keyboardShowListener = import_react_native.Keyboard.addListener(import_constants.currentPlatform === "ios" ? "keyboardWillShow" : "keyboardDidShow", function (e) {
|
|
333
|
-
sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = isHidden || position === -1 ? screenSize : positions[position], animatedNumber.setValue(Math.max(sizeBeforeKeyboard.current - e.endCoordinates.height, 0), {
|
|
334
|
-
type: "timing",
|
|
335
|
-
duration: 250
|
|
336
|
-
}));
|
|
337
|
-
}),
|
|
338
|
-
keyboardDidHideListener = import_react_native.Keyboard.addListener("keyboardDidHide", function () {
|
|
339
|
-
sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current, {
|
|
340
|
-
type: "timing",
|
|
341
|
-
duration: 250
|
|
342
|
-
}), sizeBeforeKeyboard.current = null);
|
|
343
|
-
});
|
|
344
|
-
return function () {
|
|
345
|
-
keyboardDidHideListener.remove(), keyboardShowListener.remove();
|
|
346
|
-
};
|
|
347
|
-
}
|
|
348
|
-
}, [moveOnKeyboardChange, positions, position, isHidden]);
|
|
349
|
-
var [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
|
|
389
|
+
[opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
|
|
350
390
|
open && opacity === 0 && setOpacity(1), import_react.default.useEffect(function () {
|
|
351
391
|
if (!open) {
|
|
352
392
|
var tm = setTimeout(function () {
|