@tamagui/sheet 2.1.0 → 2.2.0-1781071309197
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 +1 -1
- package/dist/cjs/SheetImplementationCustom.cjs +41 -64
- package/dist/cjs/SheetImplementationCustom.native.js +56 -69
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
- package/dist/cjs/SheetScrollView.cjs +57 -5
- package/dist/cjs/SheetScrollView.native.js +60 -5
- package/dist/cjs/SheetScrollView.native.js.map +1 -1
- package/dist/cjs/createSheet.cjs +5 -2
- package/dist/cjs/createSheet.native.js +5 -2
- package/dist/cjs/createSheet.native.js.map +1 -1
- package/dist/cjs/keyboardAvoidance.cjs +52 -1
- package/dist/cjs/keyboardAvoidance.native.js +54 -1
- package/dist/cjs/keyboardAvoidance.native.js.map +1 -1
- package/dist/cjs/nativeSheet.cjs +0 -1
- package/dist/cjs/nativeSheet.native.js +0 -1
- package/dist/cjs/nativeSheet.native.js.map +1 -1
- package/dist/cjs/useGestureHandlerPan.cjs +25 -10
- package/dist/cjs/useGestureHandlerPan.native.js +27 -10
- package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
- package/dist/cjs/useKeyboardControllerSheet.cjs +10 -4
- package/dist/cjs/useSafeAreaInsets.cjs +44 -0
- package/dist/cjs/useSafeAreaInsets.native.js +48 -0
- package/dist/cjs/useSafeAreaInsets.native.js.map +1 -0
- package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
- package/dist/cjs/useSheetScrollViewGestures.cjs +12 -2
- package/dist/cjs/useSheetScrollViewGestures.native.js +4 -0
- package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
- package/dist/cjs/webViewport.cjs +26 -1
- package/dist/cjs/webViewport.native.js +28 -1
- package/dist/cjs/webViewport.native.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.mjs +48 -73
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +70 -89
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/SheetScrollView.mjs +58 -6
- package/dist/esm/SheetScrollView.mjs.map +1 -1
- package/dist/esm/SheetScrollView.native.js +61 -6
- package/dist/esm/SheetScrollView.native.js.map +1 -1
- package/dist/esm/createSheet.mjs +7 -5
- package/dist/esm/createSheet.mjs.map +1 -1
- package/dist/esm/createSheet.native.js +17 -14
- package/dist/esm/createSheet.native.js.map +1 -1
- package/dist/esm/keyboardAvoidance.mjs +50 -1
- package/dist/esm/keyboardAvoidance.mjs.map +1 -1
- package/dist/esm/keyboardAvoidance.native.js +52 -1
- package/dist/esm/keyboardAvoidance.native.js.map +1 -1
- package/dist/esm/nativeSheet.mjs +0 -1
- package/dist/esm/nativeSheet.mjs.map +1 -1
- package/dist/esm/nativeSheet.native.js +0 -1
- package/dist/esm/nativeSheet.native.js.map +1 -1
- package/dist/esm/useGestureHandlerPan.mjs +25 -10
- package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
- package/dist/esm/useGestureHandlerPan.native.js +27 -10
- package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
- package/dist/esm/useKeyboardControllerSheet.mjs +11 -5
- package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
- package/dist/esm/useSafeAreaInsets.mjs +7 -0
- package/dist/esm/useSafeAreaInsets.mjs.map +1 -0
- package/dist/esm/useSafeAreaInsets.native.js +8 -0
- package/dist/esm/useSafeAreaInsets.native.js.map +1 -0
- package/dist/esm/useSheetProviderProps.mjs.map +1 -1
- package/dist/esm/useSheetProviderProps.native.js.map +1 -1
- package/dist/esm/useSheetScrollViewGestures.mjs +12 -2
- package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
- package/dist/esm/useSheetScrollViewGestures.native.js +4 -0
- package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -1
- package/dist/esm/webViewport.mjs +23 -2
- package/dist/esm/webViewport.mjs.map +1 -1
- package/dist/esm/webViewport.native.js +25 -2
- package/dist/esm/webViewport.native.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.mjs +48 -73
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +56 -69
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
- package/dist/jsx/SheetScrollView.mjs +58 -6
- package/dist/jsx/SheetScrollView.mjs.map +1 -1
- package/dist/jsx/SheetScrollView.native.js +60 -5
- package/dist/jsx/SheetScrollView.native.js.map +1 -1
- package/dist/jsx/createSheet.mjs +7 -5
- package/dist/jsx/createSheet.mjs.map +1 -1
- package/dist/jsx/createSheet.native.js +5 -2
- package/dist/jsx/createSheet.native.js.map +1 -1
- package/dist/jsx/keyboardAvoidance.mjs +50 -1
- package/dist/jsx/keyboardAvoidance.mjs.map +1 -1
- package/dist/jsx/keyboardAvoidance.native.js +54 -1
- package/dist/jsx/keyboardAvoidance.native.js.map +1 -1
- package/dist/jsx/nativeSheet.mjs +0 -1
- package/dist/jsx/nativeSheet.mjs.map +1 -1
- package/dist/jsx/nativeSheet.native.js +0 -1
- package/dist/jsx/nativeSheet.native.js.map +1 -1
- package/dist/jsx/useGestureHandlerPan.mjs +25 -10
- package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
- package/dist/jsx/useGestureHandlerPan.native.js +27 -10
- package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
- package/dist/jsx/useKeyboardControllerSheet.mjs +11 -5
- package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
- package/dist/jsx/useSafeAreaInsets.mjs +7 -0
- package/dist/jsx/useSafeAreaInsets.mjs.map +1 -0
- package/dist/jsx/useSafeAreaInsets.native.js +48 -0
- package/dist/jsx/useSafeAreaInsets.native.js.map +1 -0
- package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
- package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
- package/dist/jsx/useSheetScrollViewGestures.mjs +12 -2
- package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
- package/dist/jsx/useSheetScrollViewGestures.native.js +4 -0
- package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -1
- package/dist/jsx/webViewport.mjs +23 -2
- package/dist/jsx/webViewport.mjs.map +1 -1
- package/dist/jsx/webViewport.native.js +28 -1
- package/dist/jsx/webViewport.native.js.map +1 -1
- package/package.json +24 -25
- package/src/SheetImplementationCustom.tsx +147 -212
- package/src/SheetScrollView.tsx +81 -21
- package/src/createSheet.tsx +18 -6
- package/src/keyboardAvoidance.ts +91 -0
- package/src/nativeSheet.tsx +0 -1
- package/src/useGestureHandlerPan.tsx +29 -12
- package/src/useKeyboardControllerSheet.ts +35 -14
- package/src/useSafeAreaInsets.native.ts +29 -0
- package/src/useSafeAreaInsets.ts +19 -0
- package/src/useSheetProviderProps.tsx +4 -10
- package/src/useSheetScrollViewGestures.native.ts +4 -0
- package/src/useSheetScrollViewGestures.ts +19 -8
- package/src/webViewport.ts +56 -8
- package/test/keyboardAvoidance.test.ts +218 -2
- package/types/SheetContext.d.ts +0 -1
- package/types/SheetContext.d.ts.map +1 -1
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/SheetScrollView.d.ts.map +1 -1
- package/types/createSheet.d.ts +12 -12
- package/types/createSheet.d.ts.map +1 -1
- package/types/keyboardAvoidance.d.ts +18 -0
- package/types/keyboardAvoidance.d.ts.map +1 -1
- package/types/nativeSheet.d.ts.map +1 -1
- package/types/useGestureHandlerPan.d.ts +4 -1
- package/types/useGestureHandlerPan.d.ts.map +1 -1
- package/types/useKeyboardControllerSheet.d.ts +5 -5
- package/types/useKeyboardControllerSheet.d.ts.map +1 -1
- package/types/useSafeAreaInsets.d.ts +10 -0
- package/types/useSafeAreaInsets.d.ts.map +1 -0
- package/types/useSafeAreaInsets.native.d.ts +20 -0
- package/types/useSafeAreaInsets.native.d.ts.map +1 -0
- package/types/useSheetProviderProps.d.ts +0 -1
- package/types/useSheetProviderProps.d.ts.map +1 -1
- package/types/useSheetScrollViewGestures.d.ts.map +1 -1
- package/types/useSheetScrollViewGestures.native.d.ts.map +1 -1
- package/types/webViewport.d.ts +13 -7
- package/types/webViewport.d.ts.map +1 -1
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { jsx
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ProvideAdaptContext, useAdaptContext } from "@tamagui/adapt";
|
|
3
3
|
import { AnimatePresence } from "@tamagui/animate-presence";
|
|
4
4
|
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
5
5
|
import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
6
|
-
import { LayoutMeasurementController, View
|
|
7
|
-
import {
|
|
8
|
-
import { needsPortalRepropagation, Portal } from "@tamagui/portal";
|
|
6
|
+
import { LayoutMeasurementController, View, useConfiguration, useDidFinishSSR, useEvent, useThemeName } from "@tamagui/core";
|
|
7
|
+
import { Portal, needsPortalRepropagation } from "@tamagui/portal";
|
|
9
8
|
import React, { useState } from "react";
|
|
10
|
-
import { Dimensions, PanResponder, View } from "react-native";
|
|
9
|
+
import { Dimensions, PanResponder, View as View$1 } from "react-native";
|
|
11
10
|
import { ParentSheetContext, SheetInsideSheetContext } from "./contexts.native.js";
|
|
12
11
|
import { GestureDetectorWrapper } from "./GestureDetectorWrapper.native.js";
|
|
13
12
|
import { getGestureHandlerState } from "./gestureState.native.js";
|
|
14
13
|
import { GestureSheetProvider } from "./GestureSheetContext.native.js";
|
|
15
14
|
import { resisted } from "./helpers.native.js";
|
|
16
|
-
import { getKeyboardOccludedHeight } from "./keyboardAvoidance.native.js";
|
|
17
|
-
import { getStableLayoutViewportHeight,
|
|
15
|
+
import { getKeyboardAdjustedSheetY, getKeyboardOccludedHeight, getSheetReleasePosition } from "./keyboardAvoidance.native.js";
|
|
16
|
+
import { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getStableLayoutViewportHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop } from "./webViewport.native.js";
|
|
18
17
|
import { SheetProvider } from "./SheetContext.native.js";
|
|
19
18
|
import { useGestureHandlerPan } from "./useGestureHandlerPan.native.js";
|
|
20
19
|
import { useKeyboardControllerSheet } from "./useKeyboardControllerSheet.native.js";
|
|
20
|
+
import { SafeAreaInsetsContext, useSafeAreaInsets } from "./useSafeAreaInsets.native.js";
|
|
21
21
|
import { useSheetOpenState } from "./useSheetOpenState.native.js";
|
|
22
22
|
import { useSheetProviderProps } from "./useSheetProviderProps.native.js";
|
|
23
23
|
var hiddenSize = 10000.1;
|
|
@@ -29,12 +29,6 @@ var rnghRootStyleClosed = {
|
|
|
29
29
|
width: "100%",
|
|
30
30
|
height: 0
|
|
31
31
|
};
|
|
32
|
-
var _cachedSafeAreaTop;
|
|
33
|
-
function getSafeAreaTopInset() {
|
|
34
|
-
if (_cachedSafeAreaTop !== void 0) return _cachedSafeAreaTop;
|
|
35
|
-
_cachedSafeAreaTop = getSafeArea().getInsets().top;
|
|
36
|
-
return _cachedSafeAreaTop;
|
|
37
|
-
}
|
|
38
32
|
var relativeDimensionTo = isWeb ? "window" : "screen";
|
|
39
33
|
function getStableViewportHeight() {
|
|
40
34
|
if (isWeb && typeof window !== "undefined") return getStableLayoutViewportHeight();
|
|
@@ -42,6 +36,9 @@ function getStableViewportHeight() {
|
|
|
42
36
|
}
|
|
43
37
|
var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {
|
|
44
38
|
var parentSheet = React.useContext(ParentSheetContext);
|
|
39
|
+
var safeAreaInsets = useSafeAreaInsets();
|
|
40
|
+
var _safeAreaInsets_top;
|
|
41
|
+
var safeAreaTopInset = (_safeAreaInsets_top = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) !== null && _safeAreaInsets_top !== void 0 ? _safeAreaInsets_top : 0;
|
|
45
42
|
var {
|
|
46
43
|
transition,
|
|
47
44
|
transitionConfig: transitionConfigProp,
|
|
@@ -61,6 +58,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
61
58
|
var {
|
|
62
59
|
frameSize,
|
|
63
60
|
setFrameSize,
|
|
61
|
+
dismissOnSnapToBottom,
|
|
64
62
|
snapPoints,
|
|
65
63
|
snapPointsMode,
|
|
66
64
|
hasFit,
|
|
@@ -114,21 +112,8 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
114
112
|
if (open && frameSize) stableFrameSize.current = frameSize;
|
|
115
113
|
}, [open, frameSize]);
|
|
116
114
|
var isWebKbSheet = isWeb && hasFit && moveOnKeyboardChange;
|
|
117
|
-
var
|
|
118
|
-
var
|
|
119
|
-
var stableKbGeom = React.useRef({
|
|
120
|
-
frame: 0,
|
|
121
|
-
screen: 0
|
|
122
|
-
});
|
|
123
|
-
if ((!isWeb || !isKeyboardVisible) && frameSize > 0 && screenSize > 0) {
|
|
124
|
-
stableKbGeom.current.frame = frameSize;
|
|
125
|
-
stableKbGeom.current.screen = screenSize;
|
|
126
|
-
hasCleanKbBaseline.current = true;
|
|
127
|
-
} else if (isWebKbSheet && isKeyboardVisible && !hasCleanKbBaseline.current && screenSize > 0) stableKbGeom.current.screen = Math.max(stableKbGeom.current.screen, screenSize);
|
|
128
|
-
var seedingKbBaseline = isWebKbSheet && isKeyboardVisible && !hasCleanKbBaseline.current && !seedSettled.current;
|
|
129
|
-
var freezeForKb = isWebKbSheet && isKeyboardVisible && stableKbGeom.current.frame > 0;
|
|
130
|
-
var effScreenSize = freezeForKb ? stableKbGeom.current.screen : screenSize;
|
|
131
|
-
var effectiveFrameSize = freezeForKb ? stableKbGeom.current.frame : open ? frameSize : stableFrameSize.current || frameSize;
|
|
115
|
+
var effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;
|
|
116
|
+
var effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
|
|
132
117
|
var positions = React.useMemo(function () {
|
|
133
118
|
return snapPoints.map(function (point) {
|
|
134
119
|
return getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize);
|
|
@@ -146,31 +131,34 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
146
131
|
var activePositions = React.useMemo(function () {
|
|
147
132
|
if (isDragging || isDraggingRef.current) return activePositionsRef.current;
|
|
148
133
|
var result;
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
134
|
+
if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else result = positions.map(function (p) {
|
|
135
|
+
return getKeyboardAdjustedSheetY({
|
|
136
|
+
sheetY: p,
|
|
137
|
+
screenSize: effScreenSize,
|
|
138
|
+
isKeyboardVisible,
|
|
139
|
+
keyboardHeight,
|
|
140
|
+
shouldTranslate: true,
|
|
141
|
+
safeAreaTop: isWeb ? getWebVisualViewportOffsetTop() : safeAreaTopInset
|
|
154
142
|
});
|
|
155
|
-
}
|
|
143
|
+
});
|
|
156
144
|
activePositionsRef.current = result;
|
|
157
145
|
return result;
|
|
158
|
-
}, [positions, isKeyboardVisible, keyboardHeight,
|
|
159
|
-
var keyboardOccludedHeight =
|
|
146
|
+
}, [positions, isKeyboardVisible, keyboardHeight, effScreenSize, isDragging, safeAreaTopInset]);
|
|
147
|
+
var keyboardOccludedHeight = getKeyboardOccludedHeight({
|
|
160
148
|
frameSize: effectiveFrameSize,
|
|
161
149
|
isKeyboardVisible,
|
|
162
150
|
keyboardHeight,
|
|
163
151
|
screenSize: effScreenSize,
|
|
164
152
|
sheetY: position >= 0 ? activePositions[position] : void 0
|
|
165
153
|
});
|
|
166
|
-
var keyboardStableFrameHeight =
|
|
154
|
+
var keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : 0;
|
|
167
155
|
var {
|
|
168
156
|
useAnimatedNumber,
|
|
169
157
|
useAnimatedNumberStyle,
|
|
170
158
|
useAnimatedNumberReaction
|
|
171
159
|
} = animationDriver;
|
|
172
160
|
var _animationDriver_View;
|
|
173
|
-
var AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View :
|
|
161
|
+
var AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : View;
|
|
174
162
|
useIsomorphicLayoutEffect(function () {
|
|
175
163
|
if (!(sheetInsideSheet && open)) return;
|
|
176
164
|
sheetInsideSheet(true);
|
|
@@ -228,7 +216,8 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
228
216
|
}
|
|
229
217
|
var animateTo = useEvent(function (position2, animationOverride) {
|
|
230
218
|
if (frameSize === 0) return;
|
|
231
|
-
var
|
|
219
|
+
var closeTarget = isWeb ? Math.max(effScreenSize, getMaxViewportHeight()) : effScreenSize;
|
|
220
|
+
var toValue = isHidden || position2 === -1 ? closeTarget : activePositions[position2];
|
|
232
221
|
if (at.current === toValue) return;
|
|
233
222
|
at.current = toValue;
|
|
234
223
|
stopSpring();
|
|
@@ -326,17 +315,17 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
326
315
|
isExternalDrag = false;
|
|
327
316
|
previouslyScrolling = false;
|
|
328
317
|
setPanning(false);
|
|
329
|
-
var
|
|
330
|
-
var closestPoint =
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
}
|
|
318
|
+
var currentPos = at.current;
|
|
319
|
+
var closestPoint = getSheetReleasePosition({
|
|
320
|
+
positions: activePositions,
|
|
321
|
+
projectedEnd: currentPos + frameSize * vy * .2,
|
|
322
|
+
currentPosition: currentPos,
|
|
323
|
+
frameSize,
|
|
324
|
+
dismissOnSnapToBottom,
|
|
325
|
+
snapPointsMode,
|
|
326
|
+
isKeyboardVisible,
|
|
327
|
+
isWeb
|
|
328
|
+
});
|
|
340
329
|
setPosition(closestPoint);
|
|
341
330
|
animateTo(closestPoint);
|
|
342
331
|
};
|
|
@@ -399,6 +388,9 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
399
388
|
};
|
|
400
389
|
return PanResponder.create({
|
|
401
390
|
onMoveShouldSetPanResponder: onMoveShouldSet,
|
|
391
|
+
onPanResponderTerminationRequest: function () {
|
|
392
|
+
return false;
|
|
393
|
+
},
|
|
402
394
|
onPanResponderGrant: grant,
|
|
403
395
|
onPanResponderMove: function (_e, param) {
|
|
404
396
|
var {
|
|
@@ -414,9 +406,8 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
414
406
|
onPanResponderTerminate: finish,
|
|
415
407
|
onPanResponderRelease: finish
|
|
416
408
|
});
|
|
417
|
-
}, [disableDrag, isShowingInnerSheet, animateTo, frameSize, activePositions, setPosition]);
|
|
409
|
+
}, [disableDrag, isShowingInnerSheet, animateTo, frameSize, activePositions, setPosition, dismissOnSnapToBottom, snapPointsMode]);
|
|
418
410
|
React.useEffect(function () {
|
|
419
|
-
if (isWeb) return;
|
|
420
411
|
if (isDragging || isHidden || !open || disableAnimation) return;
|
|
421
412
|
if (!frameSize || !screenSize) return;
|
|
422
413
|
animateTo(position, {
|
|
@@ -466,42 +457,30 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
466
457
|
type: "direct"
|
|
467
458
|
});
|
|
468
459
|
},
|
|
460
|
+
dismissOnSnapToBottom,
|
|
461
|
+
snapPointsMode,
|
|
462
|
+
isKeyboardVisible,
|
|
469
463
|
pauseKeyboardHandler
|
|
470
464
|
});
|
|
471
465
|
var ignoreLayoutForKeyboard = useEvent(function () {
|
|
472
|
-
return isWeb && moveOnKeyboardChange &&
|
|
473
|
-
});
|
|
474
|
-
var shouldSeedKbFrame = useEvent(function () {
|
|
475
|
-
return isWebKbSheet && !hasCleanKbBaseline.current && !seedSettled.current && ignoreLayoutForKeyboard();
|
|
476
|
-
});
|
|
477
|
-
var shouldSeedKbScreen = useEvent(function () {
|
|
478
|
-
return isWebKbSheet && !hasCleanKbBaseline.current && ignoreLayoutForKeyboard();
|
|
466
|
+
return isWeb && moveOnKeyboardChange && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT;
|
|
479
467
|
});
|
|
480
468
|
var handleAnimationViewLayout = useEvent(function (e) {
|
|
481
469
|
var _e_nativeEvent;
|
|
482
470
|
if (!open && stableFrameSize.current !== 0) return;
|
|
483
|
-
var seeding = shouldSeedKbFrame();
|
|
484
|
-
if (!seeding && ignoreLayoutForKeyboard()) return;
|
|
485
471
|
var layoutHeight = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height;
|
|
486
|
-
|
|
472
|
+
if (ignoreLayoutForKeyboard() && frameSize > 0) return;
|
|
473
|
+
var next = modal ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;
|
|
487
474
|
if (!next) return;
|
|
488
|
-
|
|
489
|
-
if (seeding) {
|
|
490
|
-
if (rounded > stableKbGeom.current.frame) stableKbGeom.current.frame = rounded;else if (stableKbGeom.current.frame > 0) seedSettled.current = true;
|
|
491
|
-
}
|
|
492
|
-
setFrameSize(rounded);
|
|
475
|
+
setFrameSize(Math.round(next));
|
|
493
476
|
});
|
|
494
477
|
var handleMaxContentViewLayout = React.useCallback(function (e) {
|
|
495
478
|
var _e_nativeEvent;
|
|
496
|
-
if (
|
|
497
|
-
setMaxContentSize(Math.round(getStableViewportHeight()));
|
|
498
|
-
return;
|
|
499
|
-
}
|
|
500
|
-
if (ignoreLayoutForKeyboard()) return;
|
|
479
|
+
if (ignoreLayoutForKeyboard() && screenSize > 0) return;
|
|
501
480
|
var next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, getStableViewportHeight());
|
|
502
481
|
if (!next) return;
|
|
503
482
|
setMaxContentSize(Math.round(next));
|
|
504
|
-
}, [ignoreLayoutForKeyboard,
|
|
483
|
+
}, [ignoreLayoutForKeyboard, screenSize]);
|
|
505
484
|
var animatedStyle = useAnimatedNumberStyle(animatedNumber, React.useCallback(function (val) {
|
|
506
485
|
"worklet";
|
|
507
486
|
|
|
@@ -523,29 +502,28 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
523
502
|
var setHasScrollView = React.useCallback(function (val) {
|
|
524
503
|
hasScrollView.current = val;
|
|
525
504
|
}, []);
|
|
526
|
-
var contents = /* @__PURE__ */
|
|
505
|
+
var contents = /* @__PURE__ */jsx(LayoutMeasurementController, {
|
|
527
506
|
disable: !open,
|
|
528
|
-
children: /* @__PURE__ */
|
|
507
|
+
children: /* @__PURE__ */jsx(ParentSheetContext.Provider, {
|
|
529
508
|
value: nextParentContext,
|
|
530
|
-
children: /* @__PURE__ */
|
|
509
|
+
children: /* @__PURE__ */jsx(SheetProvider, {
|
|
531
510
|
...providerProps,
|
|
532
511
|
keyboardOccludedHeight,
|
|
533
512
|
isKeyboardVisible,
|
|
534
513
|
keyboardStableFrameHeight,
|
|
535
|
-
isKeyboardSeeding: seedingKbBaseline,
|
|
536
514
|
setHasScrollView,
|
|
537
|
-
children: /* @__PURE__ */
|
|
515
|
+
children: /* @__PURE__ */jsxs(GestureSheetProvider, {
|
|
538
516
|
isDragging,
|
|
539
517
|
blockPan,
|
|
540
518
|
setBlockPan,
|
|
541
519
|
panGesture,
|
|
542
520
|
panGestureRef,
|
|
543
|
-
children: [/* @__PURE__ */
|
|
521
|
+
children: [/* @__PURE__ */jsx(AnimatePresence, {
|
|
544
522
|
custom: {
|
|
545
523
|
open
|
|
546
524
|
},
|
|
547
525
|
children: shouldHideParentSheet || !open ? null : overlayComponent
|
|
548
|
-
}), snapPointsMode !== "percent" && /* @__PURE__ */
|
|
526
|
+
}), snapPointsMode !== "percent" && /* @__PURE__ */jsx(View$1, {
|
|
549
527
|
style: {
|
|
550
528
|
opacity: 0,
|
|
551
529
|
position: "absolute",
|
|
@@ -556,7 +534,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
556
534
|
pointerEvents: "none"
|
|
557
535
|
},
|
|
558
536
|
onLayout: handleMaxContentViewLayout
|
|
559
|
-
}), /* @__PURE__ */
|
|
537
|
+
}), /* @__PURE__ */jsx(AnimatedView, {
|
|
560
538
|
ref,
|
|
561
539
|
onLayout: handleAnimationViewLayout,
|
|
562
540
|
transition: isDragging || disableAnimation ? null : transition,
|
|
@@ -572,13 +550,13 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
572
550
|
pointerEvents: "none"
|
|
573
551
|
})
|
|
574
552
|
}, animatedStyle],
|
|
575
|
-
children: gestureHandlerEnabled && panGesture ? /* @__PURE__ */
|
|
553
|
+
children: gestureHandlerEnabled && panGesture ? /* @__PURE__ */jsx(GestureDetectorWrapper, {
|
|
576
554
|
gesture: panGesture,
|
|
577
555
|
style: {
|
|
578
556
|
flex: 1
|
|
579
557
|
},
|
|
580
558
|
children: props.children
|
|
581
|
-
}) : /* @__PURE__ */
|
|
559
|
+
}) : /* @__PURE__ */jsx(View$1, {
|
|
582
560
|
...(panResponder === null || panResponder === void 0 ? void 0 : panResponder.panHandlers),
|
|
583
561
|
style: {
|
|
584
562
|
flex: 1,
|
|
@@ -592,26 +570,29 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
|
|
|
592
570
|
})
|
|
593
571
|
})
|
|
594
572
|
});
|
|
595
|
-
if (needsPortalRepropagation()) contents = /* @__PURE__ */
|
|
573
|
+
if (needsPortalRepropagation()) contents = /* @__PURE__ */jsx(ProvideAdaptContext, {
|
|
596
574
|
...useAdaptContext(),
|
|
597
|
-
children:
|
|
575
|
+
children: /* @__PURE__ */jsx(SafeAreaInsetsContext.Provider, {
|
|
576
|
+
value: safeAreaInsets,
|
|
577
|
+
children: contents
|
|
578
|
+
})
|
|
598
579
|
});
|
|
599
580
|
var shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : true;
|
|
600
581
|
if (modal) {
|
|
601
582
|
var RNGHRoot = getGestureHandlerState().RootView;
|
|
602
|
-
var mountedContents = shouldMountChildren ? /* @__PURE__ */
|
|
583
|
+
var mountedContents = shouldMountChildren ? /* @__PURE__ */jsx(ContainerComponent, {
|
|
603
584
|
children: contents
|
|
604
585
|
}) : null;
|
|
605
|
-
var modalContents = /* @__PURE__ */
|
|
586
|
+
var modalContents = /* @__PURE__ */jsx(Portal, {
|
|
606
587
|
stackZIndex: zIndex,
|
|
607
588
|
...portalProps,
|
|
608
|
-
children: mountedContents && RNGHRoot ? /* @__PURE__ */
|
|
589
|
+
children: mountedContents && RNGHRoot ? /* @__PURE__ */jsx(RNGHRoot, {
|
|
609
590
|
style: open ? rnghRootStyleOpen : rnghRootStyleClosed,
|
|
610
591
|
children: mountedContents
|
|
611
592
|
}) : mountedContents
|
|
612
593
|
});
|
|
613
594
|
if (isWeb) return modalContents;
|
|
614
|
-
return /* @__PURE__ */
|
|
595
|
+
return /* @__PURE__ */jsx(SheetInsideSheetContext.Provider, {
|
|
615
596
|
value: onInnerSheet,
|
|
616
597
|
children: modalContents
|
|
617
598
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","ProvideAdaptContext","useAdaptContext","AnimatePresence","useComposedRefs","isWeb","useIsomorphicLayoutEffect","LayoutMeasurementController","View","TamaguiView","useConfiguration","useDidFinishSSR","useEvent","useThemeName","getSafeArea","needsPortalRepropagation","Portal","React","useState","Dimensions","PanResponder","ParentSheetContext","SheetInsideSheetContext","GestureDetectorWrapper","getGestureHandlerState","GestureSheetProvider","resisted","getKeyboardOccludedHeight","getStableLayoutViewportHeight","getWebKeyboardHeight","MIN_KEYBOARD_HEIGHT","SheetProvider","useGestureHandlerPan","useKeyboardControllerSheet","useSheetOpenState","useSheetProviderProps","hiddenSize","rnghRootStyleOpen","width","height","rnghRootStyleClosed","_cachedSafeAreaTop","getSafeAreaTopInset","getInsets","top","relativeDimensionTo","getStableViewportHeight","window","get","SheetImplementationCustom","forwardRef","SheetImplementationCustom2","props","forwardedRef","parentSheet","useContext","transition","transitionConfig","transitionConfigProp","modal","zIndex","moveOnKeyboardChange","unmountChildrenWhenHidden","portalProps","containerComponent","ContainerComponent","Fragment","onAnimationComplete","state","overlayComponent","setOverlayComponent","providerProps","onOverlayComponent","frameSize","setFrameSize","snapPoints","snapPointsMode","hasFit","position","setPosition","scrollBridge","screenSize","setMaxContentSize","maxSnapPoint","open","controller","isHidden","openRef","useRef","current","sheetRef","ref","contentRef","animationDriver","Error","_animationDriver_animations","animationProp","animationPropConfig","Array","isArray","animations","isShowingInnerSheet","setIsShowingInnerSheet","shouldHideParentSheet","sheetInsideSheet","onInnerSheet","useCallback","hasChild","keyboardHeight","isKeyboardVisible","dismissKeyboard","pauseKeyboardHandler","flushPendingHide","enabled","Boolean","stableFrameSize","useEffect","isWebKbSheet","hasCleanKbBaseline","seedSettled","stableKbGeom","frame","screen","Math","max","seedingKbBaseline","freezeForKb","effScreenSize","effectiveFrameSize","positions","useMemo","map","point","getYPositions","isDragging","setIsDragging_","isDraggingRef","setIsDragging","val","activePositionsRef","activePositions","result","safeAreaTop","p","keyboardOccludedHeight","sheetY","keyboardStableFrameHeight","useAnimatedNumber","useAnimatedNumberStyle","useAnimatedNumberReaction","_animationDriver_View","AnimatedView","nextParentContext","startPosition","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","value","hostRef","paneY","minY","wasAtTop","isAtTop","nowAtTop","_scrollBridge_setScrollEnabled","y","_scrollBridge_forceScrollTo","forceScrollTo","call","scrollLockY","setScrollEnabled","_scrollBridge_setScrollEnabled1","stopSpring","stop","onFinishAnimate","animateTo","position2","animationOverride","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","_controller_onAnimationComplete","setOpacity","setTimeout","setValue","type","duration","scrollLock","scrollStartY","isTopPosition","_props_disableDrag","disableDrag","blockPan","setBlockPan","panResponder","paneMinY","startY","setPanning","release","param","vy","setParentDragging","isExternalDrag","previouslyScrolling","end","closestPoint","dist","Number","POSITIVE_INFINITY","i","length","curDist","finish","_e","state2","dragAt","dy","onMoveShouldSet","e","getShouldSet","target","handleRef","scrollNodeTouched","hasScrollableContent","isScrolled","isDraggingUp","isNearTop","abs","granted","grant","startPanDrag","drag","to","snapToPosition","positionIndex","create","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderRelease","wasDragging","panGesture","panGestureRef","gestureHandlerEnabled","getCurrentPosition","setAnimatedPosition","ignoreLayoutForKeyboard","shouldSeedKbFrame","shouldSeedKbScreen","handleAnimationViewLayout","_e_nativeEvent","seeding","layoutHeight","nativeEvent","layout","next","min","rounded","round","handleMaxContentViewLayout","animatedStyle","transform","translateY","opacity","forcedContentHeight","setHasScrollView","contents","disable","children","Provider","isKeyboardSeeding","custom","style","left","right","bottom","pointerEvents","onLayout","disableClassName","minHeight","gesture","flex","panHandlers","shouldMountChildren","RNGHRoot","RootView","mountedContents","modalContents","stackZIndex","mode","endsWith","pct","slice","isNaN","console","warn","pct1"],"sources":["../../src/SheetImplementationCustom.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","jsxs","ProvideAdaptContext","useAdaptContext","AnimatePresence","useComposedRefs","isWeb","useIsomorphicLayoutEffect","LayoutMeasurementController","View","useConfiguration","useDidFinishSSR","useEvent","useThemeName","Portal","needsPortalRepropagation","React","useState","Dimensions","PanResponder","View$1","ParentSheetContext","SheetInsideSheetContext","GestureDetectorWrapper","getGestureHandlerState","GestureSheetProvider","resisted","getKeyboardAdjustedSheetY","getKeyboardOccludedHeight","getSheetReleasePosition","MIN_KEYBOARD_HEIGHT","getMaxViewportHeight","getStableLayoutViewportHeight","getWebKeyboardResizeHeight","getWebVisualViewportOffsetTop","SheetProvider","useGestureHandlerPan","useKeyboardControllerSheet","SafeAreaInsetsContext","useSafeAreaInsets","useSheetOpenState","useSheetProviderProps","hiddenSize","rnghRootStyleOpen","width","height","rnghRootStyleClosed","relativeDimensionTo","getStableViewportHeight","window","get","SheetImplementationCustom","forwardRef","SheetImplementationCustom2","props","forwardedRef","parentSheet","useContext","safeAreaInsets","_safeAreaInsets_top","safeAreaTopInset","top","transition","transitionConfig","transitionConfigProp","modal","zIndex","moveOnKeyboardChange","unmountChildrenWhenHidden","portalProps","containerComponent","ContainerComponent","Fragment","onAnimationComplete","state","overlayComponent","setOverlayComponent","providerProps","onOverlayComponent","frameSize","setFrameSize","dismissOnSnapToBottom","snapPoints","snapPointsMode","hasFit","position","setPosition","scrollBridge","screenSize","setMaxContentSize","maxSnapPoint","open","controller","isHidden","openRef","useRef","current","sheetRef","ref","contentRef","animationDriver","Error","_animationDriver_animations","animationProp","animationPropConfig","Array","isArray","animations","isShowingInnerSheet","setIsShowingInnerSheet","shouldHideParentSheet","sheetInsideSheet","onInnerSheet","useCallback","hasChild","keyboardHeight","isKeyboardVisible","dismissKeyboard","pauseKeyboardHandler","flushPendingHide","enabled","Boolean","stableFrameSize","useEffect","isWebKbSheet","effScreenSize","effectiveFrameSize","positions","useMemo","map","point","getYPositions","isDragging","setIsDragging_","isDraggingRef","setIsDragging","val","activePositionsRef","activePositions","result","p","sheetY","shouldTranslate","safeAreaTop","keyboardOccludedHeight","keyboardStableFrameHeight","useAnimatedNumber","useAnimatedNumberStyle","useAnimatedNumberReaction","_animationDriver_View","AnimatedView","nextParentContext","startPosition","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","value","hostRef","paneY","minY","wasAtTop","isAtTop","nowAtTop","_scrollBridge_setScrollEnabled","y","_scrollBridge_forceScrollTo","forceScrollTo","call","scrollLockY","setScrollEnabled","_scrollBridge_setScrollEnabled1","stopSpring","stop","onFinishAnimate","animateTo","position2","animationOverride","closeTarget","Math","max","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","_controller_onAnimationComplete","setOpacity","setTimeout","setValue","type","duration","scrollLock","scrollStartY","isTopPosition","_props_disableDrag","disableDrag","blockPan","setBlockPan","panResponder","paneMinY","startY","setPanning","release","param","vy","setParentDragging","isExternalDrag","previouslyScrolling","currentPos","closestPoint","projectedEnd","currentPosition","finish","_e","state2","dragAt","dy","onMoveShouldSet","e","getShouldSet","target","handleRef","scrollNodeTouched","hasScrollableContent","isScrolled","isDraggingUp","isNearTop","abs","granted","grant","startPanDrag","drag","to","snapToPosition","positionIndex","create","onMoveShouldSetPanResponder","onPanResponderTerminationRequest","onPanResponderGrant","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderRelease","wasDragging","panGesture","panGestureRef","gestureHandlerEnabled","getCurrentPosition","setAnimatedPosition","ignoreLayoutForKeyboard","handleAnimationViewLayout","_e_nativeEvent","layoutHeight","nativeEvent","layout","next","min","round","handleMaxContentViewLayout","animatedStyle","transform","translateY","opacity","forcedContentHeight","setHasScrollView","contents","disable","children","Provider","custom","style","left","right","bottom","pointerEvents","onLayout","disableClassName","minHeight","gesture","flex","panHandlers","shouldMountChildren","RNGHRoot","RootView","mountedContents","modalContents","stackZIndex","mode","endsWith","pct","Number","slice","isNaN","console","warn","pct1"],"sources":["SheetImplementationCustom.native.js"],"sourcesContent":["import { jsx, jsxs } from \"react/jsx-runtime\";\nimport { ProvideAdaptContext, useAdaptContext } from \"@tamagui/adapt\";\nimport { AnimatePresence } from \"@tamagui/animate-presence\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { LayoutMeasurementController, View, useConfiguration, useDidFinishSSR, useEvent, useThemeName } from \"@tamagui/core\";\nimport { Portal, needsPortalRepropagation } from \"@tamagui/portal\";\nimport React, { useState } from \"react\";\nimport { Dimensions, PanResponder, View as View$1 } from \"react-native\";\nimport { ParentSheetContext, SheetInsideSheetContext } from \"./contexts\";\nimport { GestureDetectorWrapper } from \"./GestureDetectorWrapper\";\nimport { getGestureHandlerState } from \"./gestureState\";\nimport { GestureSheetProvider } from \"./GestureSheetContext\";\nimport { resisted } from \"./helpers\";\nimport { getKeyboardAdjustedSheetY, getKeyboardOccludedHeight, getSheetReleasePosition } from \"./keyboardAvoidance\";\nimport { MIN_KEYBOARD_HEIGHT, getMaxViewportHeight, getStableLayoutViewportHeight, getWebKeyboardResizeHeight, getWebVisualViewportOffsetTop } from \"./webViewport\";\nimport { SheetProvider } from \"./SheetContext\";\nimport { useGestureHandlerPan } from \"./useGestureHandlerPan\";\nimport { useKeyboardControllerSheet } from \"./useKeyboardControllerSheet\";\nimport { SafeAreaInsetsContext, useSafeAreaInsets } from \"./useSafeAreaInsets\";\nimport { useSheetOpenState } from \"./useSheetOpenState\";\nimport { useSheetProviderProps } from \"./useSheetProviderProps\";\n\nvar hiddenSize = 10000.1;\nvar rnghRootStyleOpen = {\n\twidth: \"100%\",\n\theight: \"100%\"\n};\nvar rnghRootStyleClosed = {\n\twidth: \"100%\",\n\theight: 0\n};\nvar relativeDimensionTo = isWeb ? \"window\" : \"screen\";\nfunction getStableViewportHeight() {\n\tif (isWeb && typeof window !== \"undefined\") return getStableLayoutViewportHeight();\n\treturn Dimensions.get(relativeDimensionTo).height;\n}\nvar SheetImplementationCustom = /* @__PURE__ */ React.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {\n\tvar parentSheet = React.useContext(ParentSheetContext);\n\tvar safeAreaInsets = useSafeAreaInsets();\n\tvar _safeAreaInsets_top;\n\tvar safeAreaTopInset = (_safeAreaInsets_top = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) !== null && _safeAreaInsets_top !== void 0 ? _safeAreaInsets_top : 0;\n\tvar { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, portalProps, containerComponent: ContainerComponent = React.Fragment, onAnimationComplete } = props;\n\tvar state = useSheetOpenState(props);\n\tvar [overlayComponent, setOverlayComponent] = React.useState(null);\n\tvar providerProps = useSheetProviderProps(props, state, { onOverlayComponent: setOverlayComponent });\n\tvar { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;\n\tvar { open, controller, isHidden } = state;\n\tvar openRef = React.useRef(open);\n\topenRef.current = open;\n\tvar sheetRef = React.useRef(void 0);\n\tvar ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef);\n\tvar { animationDriver } = useConfiguration();\n\tif (!animationDriver) throw new Error(`Sheet requires an animation driver to be set`);\n\tvar transitionConfig = (function() {\n\t\tvar _animationDriver_animations;\n\t\tif (transitionConfigProp) return transitionConfigProp;\n\t\tvar [animationProp, animationPropConfig] = !transition ? [] : Array.isArray(transition) ? transition : [transition];\n\t\tif (animationProp && ((_animationDriver_animations = animationDriver.animations) === null || _animationDriver_animations === void 0 ? void 0 : _animationDriver_animations[animationProp])) return {\n\t\t\t...animationDriver.animations[animationProp],\n\t\t\t...animationPropConfig\n\t\t};\n\t\treturn null;\n\t})();\n\tvar [isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(false);\n\tvar shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet && needsPortalRepropagation();\n\tvar sheetInsideSheet = React.useContext(SheetInsideSheetContext);\n\tvar onInnerSheet = React.useCallback(function(hasChild) {\n\t\tsetIsShowingInnerSheet(hasChild);\n\t}, []);\n\tvar { keyboardHeight, isKeyboardVisible, dismissKeyboard, pauseKeyboardHandler, flushPendingHide } = useKeyboardControllerSheet({ enabled: Boolean(moveOnKeyboardChange) });\n\tvar stableFrameSize = React.useRef(frameSize);\n\tReact.useEffect(function() {\n\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t}, [open, frameSize]);\n\tvar isWebKbSheet = isWeb && hasFit && moveOnKeyboardChange;\n\tvar effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;\n\tvar effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;\n\tvar positions = React.useMemo(function() {\n\t\treturn snapPoints.map(function(point) {\n\t\t\treturn getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize);\n\t\t});\n\t}, [\n\t\teffScreenSize,\n\t\teffectiveFrameSize,\n\t\tsnapPoints,\n\t\tsnapPointsMode\n\t]);\n\tvar [isDragging, setIsDragging_] = React.useState(false);\n\tvar isDraggingRef = React.useRef(false);\n\tvar setIsDragging = React.useCallback(function(val) {\n\t\tisDraggingRef.current = val;\n\t\tpauseKeyboardHandler.current = val;\n\t\tsetIsDragging_(val);\n\t\tif (!val) flushPendingHide();\n\t}, [pauseKeyboardHandler, flushPendingHide]);\n\tvar activePositionsRef = React.useRef(positions);\n\tvar activePositions = React.useMemo(function() {\n\t\tif (isDragging || isDraggingRef.current) return activePositionsRef.current;\n\t\tvar result;\n\t\tif (!isKeyboardVisible || keyboardHeight <= 0) result = positions;\n\t\telse result = positions.map(function(p) {\n\t\t\treturn getKeyboardAdjustedSheetY({\n\t\t\t\tsheetY: p,\n\t\t\t\tscreenSize: effScreenSize,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardHeight,\n\t\t\t\tshouldTranslate: true,\n\t\t\t\tsafeAreaTop: isWeb ? getWebVisualViewportOffsetTop() : safeAreaTopInset\n\t\t\t});\n\t\t});\n\t\tactivePositionsRef.current = result;\n\t\treturn result;\n\t}, [\n\t\tpositions,\n\t\tisKeyboardVisible,\n\t\tkeyboardHeight,\n\t\teffScreenSize,\n\t\tisDragging,\n\t\tsafeAreaTopInset\n\t]);\n\tvar keyboardOccludedHeight = getKeyboardOccludedHeight({\n\t\tframeSize: effectiveFrameSize,\n\t\tisKeyboardVisible,\n\t\tkeyboardHeight,\n\t\tscreenSize: effScreenSize,\n\t\tsheetY: position >= 0 ? activePositions[position] : void 0\n\t});\n\tvar keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : 0;\n\tvar { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver;\n\tvar _animationDriver_View;\n\tvar AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : View;\n\tuseIsomorphicLayoutEffect(function() {\n\t\tif (!(sheetInsideSheet && open)) return;\n\t\tsheetInsideSheet(true);\n\t\treturn function() {\n\t\t\tsheetInsideSheet(false);\n\t\t};\n\t}, [sheetInsideSheet, open]);\n\tvar nextParentContext = React.useMemo(function() {\n\t\treturn { zIndex };\n\t}, [zIndex]);\n\tvar startPosition = useDidFinishSSR() && screenSize ? screenSize : hiddenSize;\n\tvar animatedNumber = useAnimatedNumber(startPosition);\n\tvar at = React.useRef(startPosition);\n\tvar hasntMeasured = at.current === hiddenSize;\n\tvar [disableAnimation, setDisableAnimation] = useState(hasntMeasured);\n\tvar skipAdaptAnimation = React.useRef(false);\n\tif (controller === null || controller === void 0 ? void 0 : controller.skipNextAnimation) skipAdaptAnimation.current = true;\n\tvar hasScrollView = React.useRef(false);\n\tvar opacityFallbackTimer = React.useRef(null);\n\tuseAnimatedNumberReaction({\n\t\tvalue: animatedNumber,\n\t\thostRef: sheetRef\n\t}, React.useCallback(function(value) {\n\t\tat.current = value;\n\t\tscrollBridge.paneY = value;\n\t\tvar minY = activePositions[0];\n\t\tvar wasAtTop = scrollBridge.isAtTop;\n\t\tvar nowAtTop = value <= minY + 5;\n\t\tif (wasAtTop !== nowAtTop) {\n\t\t\tscrollBridge.isAtTop = nowAtTop;\n\t\t\tif (nowAtTop) {\n\t\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\t\tvar _scrollBridge_forceScrollTo;\n\t\t\t\t\t(_scrollBridge_forceScrollTo = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo === void 0 || _scrollBridge_forceScrollTo.call(scrollBridge, 0);\n\t\t\t\t\tscrollBridge.y = 0;\n\t\t\t\t}\n\t\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t\t} else {\n\t\t\t\tvar _scrollBridge_setScrollEnabled1;\n\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\t(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false);\n\t\t\t}\n\t\t}\n\t}, [animationDriver, activePositions]));\n\tfunction stopSpring() {\n\t\tanimatedNumber.stop();\n\t\tif (scrollBridge.onFinishAnimate) {\n\t\t\tscrollBridge.onFinishAnimate();\n\t\t\tscrollBridge.onFinishAnimate = void 0;\n\t\t}\n\t}\n\tvar animateTo = useEvent(function(position2, animationOverride) {\n\t\tif (frameSize === 0) return;\n\t\tvar closeTarget = isWeb ? Math.max(effScreenSize, getMaxViewportHeight()) : effScreenSize;\n\t\tvar toValue = isHidden || position2 === -1 ? closeTarget : activePositions[position2];\n\t\tif (at.current === toValue) return;\n\t\tat.current = toValue;\n\t\tstopSpring();\n\t\tvar isOpenAnimation = position2 !== -1 && !isHidden;\n\t\tif (opacityFallbackTimer.current) {\n\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\topacityFallbackTimer.current = null;\n\t\t}\n\t\tvar animationCompleteCallback = function() {\n\t\t\tvar _controller_onAnimationComplete;\n\t\t\tif (opacityFallbackTimer.current) {\n\t\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\t\topacityFallbackTimer.current = null;\n\t\t\t}\n\t\t\tif (!isOpenAnimation && !openRef.current) setOpacity(0);\n\t\t\tonAnimationComplete === null || onAnimationComplete === void 0 || onAnimationComplete({ open: isOpenAnimation });\n\t\t\tcontroller === null || controller === void 0 || (_controller_onAnimationComplete = controller.onAnimationComplete) == null || _controller_onAnimationComplete.call(controller, { open: isOpenAnimation });\n\t\t};\n\t\tif (!isOpenAnimation) opacityFallbackTimer.current = setTimeout(function() {\n\t\t\topacityFallbackTimer.current = null;\n\t\t\tif (!openRef.current) setOpacity(0);\n\t\t}, 1e3);\n\t\tif (skipAdaptAnimation.current) {\n\t\t\tskipAdaptAnimation.current = false;\n\t\t\tanimatedNumber.setValue(toValue, {\n\t\t\t\ttype: \"timing\",\n\t\t\t\tduration: 0\n\t\t\t}, animationCompleteCallback);\n\t\t\treturn;\n\t\t}\n\t\tanimatedNumber.setValue(toValue, animationOverride || {\n\t\t\ttype: \"spring\",\n\t\t\t...transitionConfig\n\t\t}, animationCompleteCallback);\n\t});\n\tuseIsomorphicLayoutEffect(function() {\n\t\tif (hasntMeasured && screenSize && frameSize) {\n\t\t\tat.current = screenSize;\n\t\t\tanimatedNumber.setValue(screenSize, {\n\t\t\t\ttype: \"timing\",\n\t\t\t\tduration: 0\n\t\t\t}, function() {\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tsetDisableAnimation(false);\n\t\t\t\t}, 10);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (disableAnimation) return;\n\t\tif (isDraggingRef.current) return;\n\t\tif (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;\n\t\tanimateTo(position);\n\t\tif (position === -1) {\n\t\t\tscrollBridge.scrollLock = false;\n\t\t\tscrollBridge.scrollStartY = -1;\n\t\t}\n\t\tif (open && position >= 0) {\n\t\t\tvar isTopPosition = position === 0;\n\t\t\tscrollBridge.isAtTop = isTopPosition;\n\t\t\tif (isTopPosition) {\n\t\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t\t} else {\n\t\t\t\tvar _scrollBridge_setScrollEnabled1;\n\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\t(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false);\n\t\t\t}\n\t\t}\n\t}, [\n\t\thasntMeasured,\n\t\tdisableAnimation,\n\t\tisHidden,\n\t\tframeSize,\n\t\tscreenSize,\n\t\topen,\n\t\tposition\n\t]);\n\tvar _props_disableDrag;\n\tvar disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller === null || controller === void 0 ? void 0 : controller.disableDrag;\n\tuseThemeName();\n\tvar [blockPan, setBlockPan] = React.useState(false);\n\tvar panResponder = React.useMemo(function() {\n\t\tif (disableDrag) return;\n\t\tif (!frameSize) return;\n\t\tif (isShowingInnerSheet) return;\n\t\tvar minY = activePositions[0];\n\t\tscrollBridge.paneMinY = minY;\n\t\tvar startY = at.current;\n\t\tfunction setPanning(val) {\n\t\t\tsetIsDragging(val);\n\t\t}\n\t\tvar release = function(param) {\n\t\t\tvar { vy } = param;\n\t\t\tscrollBridge.setParentDragging(false);\n\t\t\tif (scrollBridge.scrollLock) return;\n\t\t\tisExternalDrag = false;\n\t\t\tpreviouslyScrolling = false;\n\t\t\tsetPanning(false);\n\t\t\tvar currentPos = at.current;\n\t\t\tvar closestPoint = getSheetReleasePosition({\n\t\t\t\tpositions: activePositions,\n\t\t\t\tprojectedEnd: currentPos + frameSize * vy * .2,\n\t\t\t\tcurrentPosition: currentPos,\n\t\t\t\tframeSize,\n\t\t\t\tdismissOnSnapToBottom,\n\t\t\t\tsnapPointsMode,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tisWeb\n\t\t\t});\n\t\t\tsetPosition(closestPoint);\n\t\t\tanimateTo(closestPoint);\n\t\t};\n\t\tvar finish = function(_e, state2) {\n\t\t\trelease({\n\t\t\t\tvy: state2.vy,\n\t\t\t\tdragAt: state2.dy\n\t\t\t});\n\t\t};\n\t\tvar previouslyScrolling = false;\n\t\tvar onMoveShouldSet = function(e, param) {\n\t\t\tvar { dy } = param;\n\t\t\tfunction getShouldSet() {\n\t\t\t\tif (e.target === providerProps.handleRef.current) return true;\n\t\t\t\tif (scrollBridge.scrollNodeTouched) return false;\n\t\t\t\tif (scrollBridge.hasScrollableContent === true) {\n\t\t\t\t\tif (scrollBridge.scrollLock) return false;\n\t\t\t\t\tvar isScrolled = scrollBridge.y !== 0;\n\t\t\t\t\tvar isDraggingUp = dy < 0;\n\t\t\t\t\tvar isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;\n\t\t\t\t\tif (isScrolled) return false;\n\t\t\t\t\tif (isNearTop) {\n\t\t\t\t\t\tif (hasScrollView.current && isDraggingUp) return false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn Math.abs(dy) > 10;\n\t\t\t}\n\t\t\tvar granted = getShouldSet();\n\t\t\tif (granted) scrollBridge.setParentDragging(true);\n\t\t\treturn granted;\n\t\t};\n\t\tvar grant = function() {\n\t\t\tsetPanning(true);\n\t\t\tstopSpring();\n\t\t\tstartY = at.current;\n\t\t};\n\t\tvar isExternalDrag = false;\n\t\tscrollBridge.startPanDrag = function() {\n\t\t\tisExternalDrag = true;\n\t\t\tgrant();\n\t\t};\n\t\tscrollBridge.drag = function(dy) {\n\t\t\tif (!isExternalDrag) {\n\t\t\t\tisExternalDrag = true;\n\t\t\t\tgrant();\n\t\t\t}\n\t\t\tvar to = dy + startY;\n\t\t\tanimatedNumber.setValue(resisted(to, minY), { type: \"direct\" });\n\t\t};\n\t\tscrollBridge.release = release;\n\t\tscrollBridge.snapToPosition = function(positionIndex) {\n\t\t\tisExternalDrag = false;\n\t\t\tsetPanning(false);\n\t\t\tsetPosition(positionIndex);\n\t\t\tanimateTo(positionIndex);\n\t\t};\n\t\treturn PanResponder.create({\n\t\t\tonMoveShouldSetPanResponder: onMoveShouldSet,\n\t\t\tonPanResponderTerminationRequest: function() {\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tonPanResponderGrant: grant,\n\t\t\tonPanResponderMove: function(_e, param) {\n\t\t\t\tvar { dy } = param;\n\t\t\t\tvar to = resisted(dy + startY, minY);\n\t\t\t\tif (to <= minY) scrollBridge.setParentDragging(false);\n\t\t\t\telse scrollBridge.setParentDragging(true);\n\t\t\t\tanimatedNumber.setValue(to, { type: \"direct\" });\n\t\t\t},\n\t\t\tonPanResponderEnd: finish,\n\t\t\tonPanResponderTerminate: finish,\n\t\t\tonPanResponderRelease: finish\n\t\t});\n\t}, [\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tanimateTo,\n\t\tframeSize,\n\t\tactivePositions,\n\t\tsetPosition,\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode\n\t]);\n\tReact.useEffect(function() {\n\t\tif (isDragging || isHidden || !open || disableAnimation) return;\n\t\tif (!frameSize || !screenSize) return;\n\t\tanimateTo(position, {\n\t\t\ttype: \"timing\",\n\t\t\tduration: 250\n\t\t});\n\t}, [isKeyboardVisible, keyboardHeight]);\n\tvar wasDragging = React.useRef(false);\n\tReact.useEffect(function() {\n\t\tif (isDragging) {\n\t\t\twasDragging.current = true;\n\t\t\treturn;\n\t\t}\n\t\tif (!wasDragging.current) return;\n\t\twasDragging.current = false;\n\t\tif (!frameSize || !screenSize || isHidden || !open) return;\n\t\tanimateTo(position);\n\t}, [isDragging]);\n\tReact.useEffect(function() {\n\t\tif (!open && isKeyboardVisible) {\n\t\t\tdismissKeyboard();\n\t\t\tpauseKeyboardHandler.current = false;\n\t\t\tflushPendingHide();\n\t\t}\n\t}, [open]);\n\tvar { panGesture, panGestureRef, gestureHandlerEnabled } = useGestureHandlerPan({\n\t\tpositions: activePositions,\n\t\tframeSize,\n\t\tsetPosition,\n\t\tanimateTo,\n\t\tstopSpring,\n\t\tscrollBridge,\n\t\tsetIsDragging,\n\t\tgetCurrentPosition: function() {\n\t\t\treturn at.current;\n\t\t},\n\t\tresisted,\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tsetAnimatedPosition: function(val) {\n\t\t\tat.current = val;\n\t\t\tanimatedNumber.setValue(val, { type: \"direct\" });\n\t\t},\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode,\n\t\tisKeyboardVisible,\n\t\tpauseKeyboardHandler\n\t});\n\tvar ignoreLayoutForKeyboard = useEvent(function() {\n\t\treturn isWeb && moveOnKeyboardChange && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT;\n\t});\n\tvar handleAnimationViewLayout = useEvent(function(e) {\n\t\tvar _e_nativeEvent;\n\t\tif (!open && stableFrameSize.current !== 0) return;\n\t\tvar layoutHeight = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height;\n\t\tif (ignoreLayoutForKeyboard() && frameSize > 0) return;\n\t\tvar next = modal ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;\n\t\tif (!next) return;\n\t\tsetFrameSize(Math.round(next));\n\t});\n\tvar handleMaxContentViewLayout = React.useCallback(function(e) {\n\t\tvar _e_nativeEvent;\n\t\tif (ignoreLayoutForKeyboard() && screenSize > 0) return;\n\t\tvar next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, getStableViewportHeight());\n\t\tif (!next) return;\n\t\tsetMaxContentSize(Math.round(next));\n\t}, [ignoreLayoutForKeyboard, screenSize]);\n\tvar animatedStyle = useAnimatedNumberStyle(animatedNumber, React.useCallback(function(val) {\n\t\t\"worklet\";\n\t\treturn { transform: [{ translateY: frameSize === 0 ? hiddenSize : val }] };\n\t}, [frameSize]));\n\tvar [opacity, setOpacity] = React.useState(open ? 1 : 0);\n\tif (open && opacity === 0) {\n\t\tsetOpacity(1);\n\t\tif (opacityFallbackTimer.current) {\n\t\t\tclearTimeout(opacityFallbackTimer.current);\n\t\t\topacityFallbackTimer.current = null;\n\t\t}\n\t}\n\tvar forcedContentHeight = hasFit ? void 0 : snapPointsMode === \"percent\" ? `${maxSnapPoint}${isWeb ? modal ? \"dvh\" : \"%\" : \"%\"}` : maxSnapPoint;\n\tvar setHasScrollView = React.useCallback(function(val) {\n\t\thasScrollView.current = val;\n\t}, []);\n\tvar contents = /* @__PURE__ */ jsx(LayoutMeasurementController, {\n\t\tdisable: !open,\n\t\tchildren: /* @__PURE__ */ jsx(ParentSheetContext.Provider, {\n\t\t\tvalue: nextParentContext,\n\t\t\tchildren: /* @__PURE__ */ jsx(SheetProvider, {\n\t\t\t\t...providerProps,\n\t\t\t\tkeyboardOccludedHeight,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardStableFrameHeight,\n\t\t\t\tsetHasScrollView,\n\t\t\t\tchildren: /* @__PURE__ */ jsxs(GestureSheetProvider, {\n\t\t\t\t\tisDragging,\n\t\t\t\t\tblockPan,\n\t\t\t\t\tsetBlockPan,\n\t\t\t\t\tpanGesture,\n\t\t\t\t\tpanGestureRef,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ jsx(AnimatePresence, {\n\t\t\t\t\t\t\tcustom: { open },\n\t\t\t\t\t\t\tchildren: shouldHideParentSheet || !open ? null : overlayComponent\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tsnapPointsMode !== \"percent\" && /* @__PURE__ */ jsx(View$1, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\t\tpointerEvents: \"none\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonLayout: handleMaxContentViewLayout\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ jsx(AnimatedView, {\n\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\tonLayout: handleAnimationViewLayout,\n\t\t\t\t\t\t\ttransition: isDragging || disableAnimation ? null : transition,\n\t\t\t\t\t\t\tdisableClassName: true,\n\t\t\t\t\t\t\tstyle: [{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\tzIndex,\n\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\theight: forcedContentHeight,\n\t\t\t\t\t\t\t\tminHeight: forcedContentHeight,\n\t\t\t\t\t\t\t\topacity: !shouldHideParentSheet ? opacity : 0,\n\t\t\t\t\t\t\t\t...(shouldHideParentSheet || !open) && { pointerEvents: \"none\" }\n\t\t\t\t\t\t\t}, animatedStyle],\n\t\t\t\t\t\t\tchildren: gestureHandlerEnabled && panGesture ? /* @__PURE__ */ jsx(GestureDetectorWrapper, {\n\t\t\t\t\t\t\t\tgesture: panGesture,\n\t\t\t\t\t\t\t\tstyle: { flex: 1 },\n\t\t\t\t\t\t\t\tchildren: props.children\n\t\t\t\t\t\t\t}) : /* @__PURE__ */ jsx(View$1, {\n\t\t\t\t\t\t\t\t...panResponder === null || panResponder === void 0 ? void 0 : panResponder.panHandlers,\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\theight: \"100%\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: props.children\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t});\n\tif (needsPortalRepropagation()) contents = /* @__PURE__ */ jsx(ProvideAdaptContext, {\n\t\t...useAdaptContext(),\n\t\tchildren: /* @__PURE__ */ jsx(SafeAreaInsetsContext.Provider, {\n\t\t\tvalue: safeAreaInsets,\n\t\t\tchildren: contents\n\t\t})\n\t});\n\tvar shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : true;\n\tif (modal) {\n\t\tvar RNGHRoot = getGestureHandlerState().RootView;\n\t\tvar mountedContents = shouldMountChildren ? /* @__PURE__ */ jsx(ContainerComponent, { children: contents }) : null;\n\t\tvar modalContents = /* @__PURE__ */ jsx(Portal, {\n\t\t\tstackZIndex: zIndex,\n\t\t\t...portalProps,\n\t\t\tchildren: mountedContents && RNGHRoot ? /* @__PURE__ */ jsx(RNGHRoot, {\n\t\t\t\tstyle: open ? rnghRootStyleOpen : rnghRootStyleClosed,\n\t\t\t\tchildren: mountedContents\n\t\t\t}) : mountedContents\n\t\t});\n\t\tif (isWeb) return modalContents;\n\t\treturn /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, {\n\t\t\tvalue: onInnerSheet,\n\t\t\tchildren: modalContents\n\t\t});\n\t}\n\treturn contents;\n});\nfunction getYPositions(mode, point, screenSize, frameSize) {\n\tif (!screenSize || !frameSize) return 0;\n\tif (mode === \"mixed\") {\n\t\tif (typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\t\tif (point === \"fit\") return screenSize - Math.min(screenSize, frameSize);\n\t\tif (point.endsWith(\"%\")) {\n\t\t\tvar pct = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100;\n\t\t\tif (Number.isNaN(pct)) {\n\t\t\t\tconsole.warn(\"Invalid snapPoint percentage string\");\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn Math.round(screenSize - pct * screenSize);\n\t\t}\n\t\tconsole.warn(\"Invalid snapPoint unknown value\");\n\t\treturn 0;\n\t}\n\tif (mode === \"fit\") {\n\t\tif (point === 0) return screenSize;\n\t\treturn screenSize - Math.min(screenSize, frameSize);\n\t}\n\tif (mode === \"constant\" && typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\tvar pct1 = Math.min(100, Math.max(0, Number(point))) / 100;\n\tif (Number.isNaN(pct1)) {\n\t\tconsole.warn(\"Invalid snapPoint percentage\");\n\t\treturn 0;\n\t}\n\treturn Math.round(screenSize - pct1 * screenSize);\n}\n\nexport { SheetImplementationCustom };"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ import { useGestureSheetContext } from "./GestureSheetContext.mjs";
|
|
|
7
7
|
import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState.mjs";
|
|
8
8
|
import { useSheetContext } from "./SheetContext.mjs";
|
|
9
9
|
import { useSheetScrollViewGestures } from "./useSheetScrollViewGestures.mjs";
|
|
10
|
-
import {
|
|
10
|
+
import { getStableLayoutViewportHeight, getWebKeyboardBottomInset, getWebKeyboardResizeHeight, isEditableElement, MIN_KEYBOARD_HEIGHT } from "./webViewport.mjs";
|
|
11
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
12
|
const SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
|
|
13
13
|
const SheetScrollView = React.forwardRef(({
|
|
@@ -26,7 +26,7 @@ const SheetScrollView = React.forwardRef(({
|
|
|
26
26
|
screenSize
|
|
27
27
|
} = context;
|
|
28
28
|
const keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
|
|
29
|
-
const isKeyboardVisible = context.isKeyboardVisible === true || isWeb &&
|
|
29
|
+
const isKeyboardVisible = context.isKeyboardVisible === true || isWeb && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT;
|
|
30
30
|
const [scrollEnabled] = useControllableState({
|
|
31
31
|
prop: scrollEnabledProp,
|
|
32
32
|
defaultProp: true
|
|
@@ -43,10 +43,7 @@ const SheetScrollView = React.forwardRef(({
|
|
|
43
43
|
} : {
|
|
44
44
|
flex: 1
|
|
45
45
|
};
|
|
46
|
-
const
|
|
47
|
-
const keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? isKeyboardSeeding ? {
|
|
48
|
-
maxHeight: frozenFrameHeight
|
|
49
|
-
} : {
|
|
46
|
+
const keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
|
|
50
47
|
height: frozenFrameHeight,
|
|
51
48
|
maxHeight: frozenFrameHeight
|
|
52
49
|
} : null;
|
|
@@ -57,6 +54,7 @@ const SheetScrollView = React.forwardRef(({
|
|
|
57
54
|
const useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;
|
|
58
55
|
const currentScrollOffset = useRef(0);
|
|
59
56
|
const lockedScrollY = useRef(0);
|
|
57
|
+
const focusedInputScrollFrame = useRef(0);
|
|
60
58
|
const setScrollEnabled = (next, lockTo) => {
|
|
61
59
|
if (!next) {
|
|
62
60
|
const lockY = lockTo ?? currentScrollOffset.current;
|
|
@@ -79,6 +77,56 @@ const SheetScrollView = React.forwardRef(({
|
|
|
79
77
|
animated: false
|
|
80
78
|
});
|
|
81
79
|
};
|
|
80
|
+
const scrollFocusedInputClearOfKeyboard = React.useCallback(() => {
|
|
81
|
+
if (!isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const node = scrollRef.current?.getScrollableNode();
|
|
85
|
+
const active = document.activeElement;
|
|
86
|
+
if (!node || !active || !isEditableElement(active) || !node.contains(active)) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const keyboardHeight = Math.max(keyboardOccludedHeight, getWebKeyboardBottomInset());
|
|
90
|
+
if (keyboardHeight <= 0) return;
|
|
91
|
+
const activeRect = active.getBoundingClientRect();
|
|
92
|
+
const nodeRect = node.getBoundingClientRect();
|
|
93
|
+
const margin = 12;
|
|
94
|
+
const keyboardTop = getStableLayoutViewportHeight() - keyboardHeight;
|
|
95
|
+
const visibleTop = nodeRect.top + margin;
|
|
96
|
+
const visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;
|
|
97
|
+
let nextScrollTop = node.scrollTop;
|
|
98
|
+
if (activeRect.bottom > visibleBottom) {
|
|
99
|
+
nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);
|
|
100
|
+
} else if (activeRect.top < visibleTop) {
|
|
101
|
+
nextScrollTop -= Math.ceil(visibleTop - activeRect.top);
|
|
102
|
+
}
|
|
103
|
+
const maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);
|
|
104
|
+
nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));
|
|
105
|
+
if (nextScrollTop === node.scrollTop) return;
|
|
106
|
+
node.scrollTop = nextScrollTop;
|
|
107
|
+
currentScrollOffset.current = nextScrollTop;
|
|
108
|
+
scrollBridge.y = nextScrollTop;
|
|
109
|
+
if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;
|
|
110
|
+
}, [hasFit, isKeyboardVisible, keyboardOccludedHeight, scrollBridge]);
|
|
111
|
+
const scheduleFocusedInputScroll = React.useCallback(() => {
|
|
112
|
+
if (!isWeb || !hasFit) return;
|
|
113
|
+
cancelAnimationFrame(focusedInputScrollFrame.current);
|
|
114
|
+
focusedInputScrollFrame.current = requestAnimationFrame(() => {
|
|
115
|
+
scrollFocusedInputClearOfKeyboard();
|
|
116
|
+
focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);
|
|
117
|
+
});
|
|
118
|
+
}, [hasFit, scrollFocusedInputClearOfKeyboard]);
|
|
119
|
+
useEffect(() => {
|
|
120
|
+
if (!isWeb || !hasFit) return;
|
|
121
|
+
scheduleFocusedInputScroll();
|
|
122
|
+
window.addEventListener("focusin", scheduleFocusedInputScroll);
|
|
123
|
+
window.visualViewport?.addEventListener("resize", scheduleFocusedInputScroll);
|
|
124
|
+
return () => {
|
|
125
|
+
cancelAnimationFrame(focusedInputScrollFrame.current);
|
|
126
|
+
window.removeEventListener("focusin", scheduleFocusedInputScroll);
|
|
127
|
+
window.visualViewport?.removeEventListener("resize", scheduleFocusedInputScroll);
|
|
128
|
+
};
|
|
129
|
+
}, [hasFit, scheduleFocusedInputScroll]);
|
|
82
130
|
useEffect(() => {
|
|
83
131
|
setHasScrollView(true);
|
|
84
132
|
if (isGestureHandlerEnabled()) {
|
|
@@ -115,6 +163,9 @@ const SheetScrollView = React.forwardRef(({
|
|
|
115
163
|
if (height !== contentHeight.current) {
|
|
116
164
|
contentHeight.current = height;
|
|
117
165
|
updateScrollable();
|
|
166
|
+
if (keyboardOccludedHeight > 0) {
|
|
167
|
+
scheduleFocusedInputScroll();
|
|
168
|
+
}
|
|
118
169
|
}
|
|
119
170
|
},
|
|
120
171
|
children: [children, keyboardOccludedHeight > 0 && /* @__PURE__ */jsx(View, {
|
|
@@ -190,6 +241,7 @@ const SheetScrollView = React.forwardRef(({
|
|
|
190
241
|
const {
|
|
191
242
|
y
|
|
192
243
|
} = e.nativeEvent.contentOffset;
|
|
244
|
+
currentScrollOffset.current = y;
|
|
193
245
|
scrollBridge.y = y;
|
|
194
246
|
if (y > 0) scrollBridge.scrollStartY = -1;
|
|
195
247
|
onScroll?.(e);
|