@tamagui/sheet 2.0.0 → 2.1.0

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.
Files changed (83) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/SheetImplementationCustom.cjs +73 -24
  3. package/dist/cjs/SheetImplementationCustom.native.js +83 -28
  4. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  5. package/dist/cjs/SheetScrollView.cjs +18 -4
  6. package/dist/cjs/SheetScrollView.native.js +18 -4
  7. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  8. package/dist/cjs/nativeSheet.cjs +3 -0
  9. package/dist/cjs/nativeSheet.native.js +3 -0
  10. package/dist/cjs/nativeSheet.native.js.map +1 -1
  11. package/dist/cjs/useKeyboardControllerSheet.cjs +62 -6
  12. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  13. package/dist/cjs/useSheetScrollViewGestures.cjs +6 -1
  14. package/dist/cjs/webViewport.cjs +50 -0
  15. package/dist/cjs/webViewport.native.js +54 -0
  16. package/dist/cjs/webViewport.native.js.map +1 -0
  17. package/dist/esm/SheetImplementationCustom.mjs +73 -24
  18. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  19. package/dist/esm/SheetImplementationCustom.native.js +83 -28
  20. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  21. package/dist/esm/SheetScrollView.mjs +19 -5
  22. package/dist/esm/SheetScrollView.mjs.map +1 -1
  23. package/dist/esm/SheetScrollView.native.js +19 -5
  24. package/dist/esm/SheetScrollView.native.js.map +1 -1
  25. package/dist/esm/nativeSheet.mjs +3 -0
  26. package/dist/esm/nativeSheet.mjs.map +1 -1
  27. package/dist/esm/nativeSheet.native.js +3 -0
  28. package/dist/esm/nativeSheet.native.js.map +1 -1
  29. package/dist/esm/useKeyboardControllerSheet.mjs +63 -7
  30. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
  31. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  32. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  33. package/dist/esm/useSheetScrollViewGestures.mjs +6 -1
  34. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  35. package/dist/esm/webViewport.mjs +22 -0
  36. package/dist/esm/webViewport.mjs.map +1 -0
  37. package/dist/esm/webViewport.native.js +23 -0
  38. package/dist/esm/webViewport.native.js.map +1 -0
  39. package/dist/jsx/SheetImplementationCustom.mjs +73 -24
  40. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  41. package/dist/jsx/SheetImplementationCustom.native.js +83 -28
  42. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  43. package/dist/jsx/SheetScrollView.mjs +19 -5
  44. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  45. package/dist/jsx/SheetScrollView.native.js +18 -4
  46. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  47. package/dist/jsx/nativeSheet.mjs +3 -0
  48. package/dist/jsx/nativeSheet.mjs.map +1 -1
  49. package/dist/jsx/nativeSheet.native.js +3 -0
  50. package/dist/jsx/nativeSheet.native.js.map +1 -1
  51. package/dist/jsx/useKeyboardControllerSheet.mjs +63 -7
  52. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
  53. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  54. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  55. package/dist/jsx/useSheetScrollViewGestures.mjs +6 -1
  56. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  57. package/dist/jsx/webViewport.mjs +22 -0
  58. package/dist/jsx/webViewport.mjs.map +1 -0
  59. package/dist/jsx/webViewport.native.js +54 -0
  60. package/dist/jsx/webViewport.native.js.map +1 -0
  61. package/package.json +20 -20
  62. package/src/SheetImplementationCustom.tsx +300 -56
  63. package/src/SheetScrollView.tsx +48 -9
  64. package/src/nativeSheet.tsx +3 -0
  65. package/src/types.tsx +11 -1
  66. package/src/useKeyboardControllerSheet.ts +106 -10
  67. package/src/useSheetProviderProps.tsx +16 -0
  68. package/src/useSheetScrollViewGestures.ts +23 -2
  69. package/src/webViewport.ts +52 -0
  70. package/types/SheetContext.d.ts +3 -0
  71. package/types/SheetContext.d.ts.map +1 -1
  72. package/types/SheetImplementationCustom.d.ts.map +1 -1
  73. package/types/SheetScrollView.d.ts.map +1 -1
  74. package/types/nativeSheet.d.ts.map +1 -1
  75. package/types/types.d.ts +4 -1
  76. package/types/types.d.ts.map +1 -1
  77. package/types/useKeyboardControllerSheet.d.ts +14 -3
  78. package/types/useKeyboardControllerSheet.d.ts.map +1 -1
  79. package/types/useSheetProviderProps.d.ts +3 -0
  80. package/types/useSheetProviderProps.d.ts.map +1 -1
  81. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
  82. package/types/webViewport.d.ts +30 -0
  83. package/types/webViewport.d.ts.map +1 -0
@@ -13,6 +13,7 @@ import { getGestureHandlerState } from "./gestureState.mjs";
13
13
  import { GestureSheetProvider } from "./GestureSheetContext.mjs";
14
14
  import { resisted } from "./helpers.mjs";
15
15
  import { getKeyboardOccludedHeight } from "./keyboardAvoidance.mjs";
16
+ import { getStableLayoutViewportHeight, getWebKeyboardHeight, MIN_KEYBOARD_HEIGHT } from "./webViewport.mjs";
16
17
  import { SheetProvider } from "./SheetContext.mjs";
17
18
  import { useGestureHandlerPan } from "./useGestureHandlerPan.mjs";
18
19
  import { useKeyboardControllerSheet } from "./useKeyboardControllerSheet.mjs";
@@ -36,6 +37,10 @@ function getSafeAreaTopInset() {
36
37
  }
37
38
  let sheetHiddenStyleSheet = null;
38
39
  const relativeDimensionTo = isWeb ? "window" : "screen";
40
+ function getStableViewportHeight() {
41
+ if (isWeb && typeof window !== "undefined") return getStableLayoutViewportHeight();
42
+ return Dimensions.get(relativeDimensionTo).height;
43
+ }
39
44
  const SheetImplementationCustom = React.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {
40
45
  const parentSheet = React.useContext(ParentSheetContext);
41
46
  const {
@@ -95,12 +100,6 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
95
100
  const onInnerSheet = React.useCallback(hasChild => {
96
101
  setIsShowingInnerSheet(hasChild);
97
102
  }, []);
98
- const stableFrameSize = React.useRef(frameSize);
99
- React.useEffect(() => {
100
- if (open && frameSize) stableFrameSize.current = frameSize;
101
- }, [open, frameSize]);
102
- const effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
103
- const positions = React.useMemo(() => snapPoints.map(point => getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize)), [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
104
103
  const {
105
104
  keyboardHeight,
106
105
  isKeyboardVisible,
@@ -108,8 +107,29 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
108
107
  pauseKeyboardHandler,
109
108
  flushPendingHide
110
109
  } = useKeyboardControllerSheet({
111
- enabled: !isWeb && Boolean(moveOnKeyboardChange)
110
+ enabled: Boolean(moveOnKeyboardChange)
111
+ });
112
+ const stableFrameSize = React.useRef(frameSize);
113
+ React.useEffect(() => {
114
+ if (open && frameSize) stableFrameSize.current = frameSize;
115
+ }, [open, frameSize]);
116
+ const isWebKbSheet = isWeb && hasFit && moveOnKeyboardChange;
117
+ const hasCleanKbBaseline = React.useRef(false);
118
+ const seedSettled = React.useRef(false);
119
+ const stableKbGeom = React.useRef({
120
+ frame: 0,
121
+ screen: 0
112
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
+ const seedingKbBaseline = isWebKbSheet && isKeyboardVisible && !hasCleanKbBaseline.current && !seedSettled.current;
129
+ const freezeForKb = isWebKbSheet && isKeyboardVisible && stableKbGeom.current.frame > 0;
130
+ const effScreenSize = freezeForKb ? stableKbGeom.current.screen : screenSize;
131
+ const effectiveFrameSize = freezeForKb ? stableKbGeom.current.frame : open ? frameSize : stableFrameSize.current || frameSize;
132
+ const positions = React.useMemo(() => snapPoints.map(point => getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize)), [effScreenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
113
133
  const [isDragging, setIsDragging_] = React.useState(false);
114
134
  const isDraggingRef = React.useRef(false);
115
135
  const setIsDragging = React.useCallback(val => {
@@ -122,8 +142,8 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
122
142
  const activePositions = React.useMemo(() => {
123
143
  if (isDragging || isDraggingRef.current) return activePositionsRef.current;
124
144
  let result;
125
- if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
126
- const safeAreaTop = isWeb ? 0 : getSafeAreaTopInset();
145
+ if (isWeb || !isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
146
+ const safeAreaTop = getSafeAreaTopInset();
127
147
  result = positions.map(p => {
128
148
  if (screenSize && p >= screenSize) return p;
129
149
  return Math.max(safeAreaTop, p - keyboardHeight);
@@ -132,13 +152,14 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
132
152
  activePositionsRef.current = result;
133
153
  return result;
134
154
  }, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]);
135
- const keyboardOccludedHeight = getKeyboardOccludedHeight({
136
- frameSize,
137
- isKeyboardVisible: !isWeb && isKeyboardVisible,
155
+ const keyboardOccludedHeight = seedingKbBaseline ? 0 : getKeyboardOccludedHeight({
156
+ frameSize: effectiveFrameSize,
157
+ isKeyboardVisible,
138
158
  keyboardHeight,
139
- screenSize,
159
+ screenSize: effScreenSize,
140
160
  sheetY: position >= 0 ? activePositions[position] : void 0
141
161
  });
162
+ const keyboardStableFrameHeight = !isWebKbSheet ? 0 : seedingKbBaseline ? stableKbGeom.current.screen || screenSize : stableKbGeom.current.frame > 0 ? stableKbGeom.current.frame : 0;
142
163
  const {
143
164
  useAnimatedNumber,
144
165
  useAnimatedNumberStyle,
@@ -197,7 +218,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
197
218
  }
198
219
  const animateTo = useEvent((position2, animationOverride) => {
199
220
  if (frameSize === 0) return;
200
- let toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
221
+ let toValue = isHidden || position2 === -1 ? effScreenSize : activePositions[position2];
201
222
  if (at.current === toValue) return;
202
223
  at.current = toValue;
203
224
  stopSpring();
@@ -250,6 +271,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
250
271
  return;
251
272
  }
252
273
  if (disableAnimation) return;
274
+ if (isDraggingRef.current) return;
253
275
  if (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;
254
276
  animateTo(position);
255
277
  if (position === -1) {
@@ -275,7 +297,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
275
297
  if (disableDrag) return;
276
298
  if (!frameSize) return;
277
299
  if (isShowingInnerSheet) return;
278
- const minY = positions[0];
300
+ const minY = activePositions[0];
279
301
  scrollBridge.paneMinY = minY;
280
302
  let startY = at.current;
281
303
  function setPanning(val) {
@@ -297,8 +319,8 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
297
319
  const end = at.current + frameSize * vy * .2;
298
320
  let closestPoint = 0;
299
321
  let dist = Number.POSITIVE_INFINITY;
300
- for (let i = 0; i < positions.length; i++) {
301
- const position2 = positions[i];
322
+ for (let i = 0; i < activePositions.length; i++) {
323
+ const position2 = activePositions[i];
302
324
  const curDist = end > position2 ? end - position2 : position2 - end;
303
325
  if (curDist < dist) {
304
326
  dist = curDist;
@@ -320,6 +342,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
320
342
  }) => {
321
343
  function getShouldSet() {
322
344
  if (e.target === providerProps.handleRef.current) return true;
345
+ if (scrollBridge.scrollNodeTouched) return false;
323
346
  if (scrollBridge.hasScrollableContent === true) {
324
347
  if (scrollBridge.scrollLock) return false;
325
348
  const isScrolled = scrollBridge.y !== 0;
@@ -342,6 +365,10 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
342
365
  startY = at.current;
343
366
  };
344
367
  let isExternalDrag = false;
368
+ scrollBridge.startPanDrag = () => {
369
+ isExternalDrag = true;
370
+ grant();
371
+ };
345
372
  scrollBridge.drag = dy => {
346
373
  if (!isExternalDrag) {
347
374
  isExternalDrag = true;
@@ -375,8 +402,9 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
375
402
  onPanResponderTerminate: finish,
376
403
  onPanResponderRelease: finish
377
404
  });
378
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
405
+ }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, activePositions, setPosition]);
379
406
  React.useEffect(() => {
407
+ if (isWeb) return;
380
408
  if (isDragging || isHidden || !open || disableAnimation) return;
381
409
  if (!frameSize || !screenSize) return;
382
410
  animateTo(position, {
@@ -396,7 +424,11 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
396
424
  animateTo(position);
397
425
  }, [isDragging]);
398
426
  React.useEffect(() => {
399
- if (!open && isKeyboardVisible) dismissKeyboard();
427
+ if (!open && isKeyboardVisible) {
428
+ dismissKeyboard();
429
+ pauseKeyboardHandler.current = false;
430
+ flushPendingHide();
431
+ }
400
432
  }, [open]);
401
433
  const {
402
434
  panGesture,
@@ -422,18 +454,32 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
422
454
  },
423
455
  pauseKeyboardHandler
424
456
  });
457
+ const ignoreLayoutForKeyboard = useEvent(() => isWeb && moveOnKeyboardChange && getWebKeyboardHeight() >= MIN_KEYBOARD_HEIGHT);
458
+ const shouldSeedKbFrame = useEvent(() => isWebKbSheet && !hasCleanKbBaseline.current && !seedSettled.current && ignoreLayoutForKeyboard());
459
+ const shouldSeedKbScreen = useEvent(() => isWebKbSheet && !hasCleanKbBaseline.current && ignoreLayoutForKeyboard());
425
460
  const handleAnimationViewLayout = useEvent(e => {
426
461
  if (!open && stableFrameSize.current !== 0) return;
462
+ const seeding = shouldSeedKbFrame();
463
+ if (!seeding && ignoreLayoutForKeyboard()) return;
427
464
  const layoutHeight = e.nativeEvent?.layout.height;
428
- const next = modal ? Math.min(layoutHeight, Dimensions.get(relativeDimensionTo).height) : layoutHeight;
465
+ const next = modal || seeding ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;
429
466
  if (!next) return;
430
- setFrameSize(next);
467
+ const rounded = Math.round(next);
468
+ if (seeding) {
469
+ if (rounded > stableKbGeom.current.frame) stableKbGeom.current.frame = rounded;else if (stableKbGeom.current.frame > 0) seedSettled.current = true;
470
+ }
471
+ setFrameSize(rounded);
431
472
  });
432
473
  const handleMaxContentViewLayout = React.useCallback(e => {
433
- const next = Math.min(e.nativeEvent?.layout.height, Dimensions.get(relativeDimensionTo).height);
474
+ if (shouldSeedKbScreen()) {
475
+ setMaxContentSize(Math.round(getStableViewportHeight()));
476
+ return;
477
+ }
478
+ if (ignoreLayoutForKeyboard()) return;
479
+ const next = Math.min(e.nativeEvent?.layout.height, getStableViewportHeight());
434
480
  if (!next) return;
435
- setMaxContentSize(next);
436
- }, []);
481
+ setMaxContentSize(Math.round(next));
482
+ }, [ignoreLayoutForKeyboard, shouldSeedKbScreen]);
437
483
  const animatedStyle = useAnimatedNumberStyle(animatedNumber, React.useCallback(val => {
438
484
  "worklet";
439
485
 
@@ -462,6 +508,9 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
462
508
  children: /* @__PURE__ */jsx(SheetProvider, {
463
509
  ...providerProps,
464
510
  keyboardOccludedHeight,
511
+ isKeyboardVisible,
512
+ keyboardStableFrameHeight,
513
+ isKeyboardSeeding: seedingKbBaseline,
465
514
  setHasScrollView,
466
515
  children: /* @__PURE__ */jsxs(GestureSheetProvider, {
467
516
  isDragging,
@@ -1 +1 @@
1
- {"version":3,"names":["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","SheetProvider","useGestureHandlerPan","useKeyboardControllerSheet","useSheetOpenState","useSheetProviderProps","jsx","jsxs","hiddenSize","rnghRootStyleOpen","width","height","rnghRootStyleClosed","_cachedSafeAreaTop","getSafeAreaTopInset","getInsets","top","sheetHiddenStyleSheet","relativeDimensionTo","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","animationProp","animationPropConfig","Array","isArray","animations","isShowingInnerSheet","setIsShowingInnerSheet","shouldHideParentSheet","sheetInsideSheet","onInnerSheet","useCallback","hasChild","stableFrameSize","useEffect","effectiveFrameSize","positions","useMemo","map","point","getYPositions","keyboardHeight","isKeyboardVisible","dismissKeyboard","pauseKeyboardHandler","flushPendingHide","enabled","Boolean","isDragging","setIsDragging_","isDraggingRef","setIsDragging","val","activePositionsRef","activePositions","result","safeAreaTop","p","Math","max","keyboardOccludedHeight","sheetY","useAnimatedNumber","useAnimatedNumberStyle","useAnimatedNumberReaction","AnimatedView","nextParentContext","startPosition","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","value","hostRef","paneY","minY","wasAtTop","isAtTop","nowAtTop","y","forceScrollTo","scrollLockY","setScrollEnabled","stopSpring","stop","onFinishAnimate","animateTo","position2","animationOverride","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","setOpacity","setTimeout","setValue","type","duration","scrollLock","scrollStartY","isTopPosition","disableDrag","blockPan","setBlockPan","panResponder","paneMinY","startY","setPanning","document","createElement","head","appendChild","innerText","release","vy","setParentDragging","isExternalDrag","previouslyScrolling","end","closestPoint","dist","Number","POSITIVE_INFINITY","i","length","curDist","finish","_e","state2","dragAt","dy","onMoveShouldSet","e","getShouldSet","target","handleRef","hasScrollableContent","isScrolled","isDraggingUp","isNearTop","abs","granted","grant","drag","to","snapToPosition","positionIndex","create","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderRelease","wasDragging","panGesture","panGestureRef","gestureHandlerEnabled","getCurrentPosition","setAnimatedPosition","handleAnimationViewLayout","layoutHeight","nativeEvent","layout","next","min","get","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","pct2","slice","isNaN","console","warn","round","pct"],"sources":["../../src/SheetImplementationCustom.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["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","jsx","jsxs","hiddenSize","rnghRootStyleOpen","width","height","rnghRootStyleClosed","_cachedSafeAreaTop","getSafeAreaTopInset","getInsets","top","sheetHiddenStyleSheet","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","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","AnimatedView","nextParentContext","startPosition","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","value","hostRef","paneY","minY","wasAtTop","isAtTop","nowAtTop","y","forceScrollTo","scrollLockY","setScrollEnabled","stopSpring","stop","onFinishAnimate","animateTo","position2","animationOverride","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","setOpacity","setTimeout","setValue","type","duration","scrollLock","scrollStartY","isTopPosition","disableDrag","blockPan","setBlockPan","panResponder","paneMinY","startY","setPanning","document","createElement","head","appendChild","innerText","release","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","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","pct2","slice","isNaN","console","warn","pct"],"sources":["../../src/SheetImplementationCustom.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,mBAAA,EAAqBC,eAAA,QAAuB;AACrD,SAASC,eAAA,QAAuB;AAChC,SAASC,eAAA,QAAuB;AAChC,SAASC,KAAA,EAAOC,yBAAA,QAAiC;AACjD,SAAAC,2BAAA,EAAAC,IAAA,IAAAC,WAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,QAAA,EAAAC,YAAA;AAAA,SACEC,WAAA;AAAA,SACAC,wBAAQ,EAAAC,MAAA;AAAA,OACRC,KAAA,IAAAC,QAAA;AAAA,SACAC,UAAA,EAAAC,YAAA,EAAAZ,IAAA;AAAA,SACAa,kBAAA,EAAAC,uBAAA;AAAA,SACAC,sBAAA;AAAA,SACKC,sBAAA;AACP,SAASC,oBAAmB;AAC5B,SAASC,QAAA,uBAA0B;AACnC,SAAOC,yBAAyB;AAOhC,SAASC,6BAA0B,EAAAC,oBAAY,EAAAC,mBAAA;AAC/C,SAASC,aAAA,QAAoB;AAC7B,SAASC,oBAAA,oCAA8B;AACvC,SAASC,0BAAA,QAA8B;AACvC,SAASC,iBAAA,iCAA4B;AACrC,SAASC,qBAAgB;AACzB,SAASC,GAAA,EAAAC,IAAA,2BAAiC;AAC1C,MAAAC,UAAA;AAAA,MACEC,iBAAA;EAAAC,KACA;EAAAC,MACA;AAAA;AAEF,MAAAC,mBAAS;EAETF,KAAA,QAAS;EACTC,MAAA,EAAS;AACT;AACA,IAAAE,kBAAS;AA27BG,SAOEC,mBAPFA,CAAA;EAz7BZ,IAAAD,kBAAmB,oBAAAA,kBAAA;EAOnBA,kBAAM,GAAA7B,WAAsB,EAAO,CAAA+B,SAAQ,GAAAC,GAAQ;EACnD,OAAMH,kBAAA;AAGN;AACA,IAAAI,qBAAS,OAA8B;AACrC,MAAIC,mBAAA,GAAA3C,KAAuB,GAAW,QAAO;AAE7C,SAAA4C,uBAAqBA,CAAA,EAAY;EACjC,IAAA5C,KAAO,WAAA6C,MAAA,yBAAAtB,6BAAA;EACT,OAAAT,UAAA,CAAAgC,GAAA,CAAAH,mBAAA,EAAAP,MAAA;AAEA;AAGA,MAAMW,yBAAsB,GAAAnC,KAAQ,CAAAoC,UAAW,UAAAC,2BAAAC,KAAA,EAAAC,YAAA;EAU/C,MAAAC,WAAS,GAAAxC,KAAA,CAAAyC,UAAkC,CAAArC,kBAAA;EACzC,MAAI;IAAAsC,UAAS;IAAAC,gBAAkB,EAAAC,oBAAoB;IAAAC,KAAA;IAAAC,MAAA,GAA8BN,WAAA,CAAAM,MAAA;IAAAC,oBAAA;IAAAC,yBAAA;IAAAC,WAAA;IAAAC,kBAAA,EAAAC,kBAAA,GAAAnD,KAAA,CAAAoD,QAAA;IAAAC;EAAA,IAAAf,KAAA;EACjF,MAAAgB,KAAO,GAAArC,iBAAe,CAAAqB,KAAA;EACxB,OAAAiB,gBAAA,EAAAC,mBAAA,IAAAxD,KAAA,CAAAC,QAAA;EAEO,MAAMwD,aAAA,GAAAvC,qBAAkC,CAAAoB,KAAA,EAAAgB,KAAA;IAAAI,kBAAA,EAAAF;EAAA;EAAA,MAC7C;IAAAG,SAAS;IAAAC,YAAA;IAAAC,UAA0B;IAAOC,cAAc;IAAAC,MAAA;IAAAC,QAAA;IAAAC,WAAA;IAAAC,YAAA;IAAAC,UAAA;IAAAC,iBAAA;IAAAC;EAAA,IAAAZ,aAAA;EACtD;IAAAa,IAAM;IAAAC,UAAc;IAAAC;EAAM,IAAAlB,KAAW;EAErC,MAAAmB,OAAM,GAAAzE,KAAA,CAAA0E,MAAA,CAAAJ,IAAA;EAAAG,OACJ,CAAAE,OAAA,GAAAL,IAAA;EAAA,MACAM,QAAA,GAAA5E,KAAA,CAAkB0E,MAAA;EAAA,MAClBG,GAAA,GAAA1F,eAAQ,CAAAoD,YAAA,EAAAqC,QAAA,EAAAnB,aAAA,CAAAqB,UAAA;EAAA,MACR;IAAAC;EAAS,IAAYtF,gBAAS;EAAA,KAC9BsF,eAAA,QAAuB,IAAAC,KAAA;EAAA,MACvBrC,gBAAA;IAA4B,IAC5BC,oBAAA,SAAAA,oBAAA;IAAA,MACA,CAAAqC,aAAA,EAAAC,mBAAoB,IAAqB,CAAAxC,UAAM,QAAAyC,KAAA,CAAAC,OAAA,CAAA1C,UAAA,IAAAA,UAAA,IAAAA,UAAA;IAAA,IAC/CuC,aAAA,IAAAF,eAAA,CAAAM,UAAA,GAAAJ,aAAA;MAAA,GACFF,eAAI,CAAAM,UAAA,CAAAJ,aAAA;MAEJ,GAAAC;IACA;IAEA,WAAM;EAAoD;EACpC,MACrB,CAAAI,mBAAA,EAAAC,sBAAA,IAAAvF,KAAA,CAAAC,QAAA;EACD,MAAAuF,qBAAM,IAAApG,KAAA,IAAAyD,KAAA,IAAAyC,mBAAA,IAAAxF,wBAAA;EAAA,MACJ2F,gBAAA,GAAAzF,KAAA,CAAAyC,UAAA,CAAApC,uBAAA;EAAA,MACAqF,YAAA,GAAA1F,KAAA,CAAA2F,WAAA,CAAAC,QAAA;IAAAL,sBACA,CAAAK,QAAA;EAAA,KACA;EAAA,MACA;IAAAC,cAAA;IAAAC,iBAAA;IAAAC,eAAA;IAAAC,oBAAA;IAAAC;EAAA,IAAAjF,0BAAA;IAAAkF,OAAA,EAAAC,OAAA,CAAApD,oBAAA;EAAA;EAAA,MACAqD,eAAA,GAAApG,KAAA,CAAA0E,MAAA,CAAAf,SAAA;EAAA3D,KACA,CAAAqG,SAAA;IAAA,IACA/B,IAAA,IAAAX,SAAA,EAAAyC,eAAA,CAAAzB,OAAA,GAAAhB,SAAA;EAAA,IAAAW,IACA,EAAAX,SAAA;EAAA,MACA2C,YAAA,GAAAlH,KAAA,IAAA2E,MAAA,IAAAhB,oBAAA;EAAA,MACAwD,kBAAA,GAAAvG,KAAA,CAAA0E,MAAA;EAAA,MACF8B,WAAI,GAAAxG,KAAA,CAAA0E,MAAA;EACJ,MAAA+B,YAAc,GAAAzG,KAAA,CAAA0E,MAAY;IAC1BgC,KAAA,GAAM;IACNC,MAAA;EAEA;EACA,MAAAvH,KAAM,IAAM,CAAA0G,iBAAgB,KAAAnC,SAAc,QAAUQ,UAAA,IAAc;IAGlEsC,YAAQ,CAAA9B,OAAA,CAAA+B,KAAgB,GAAA/C,SAAI;IAE5B8C,YAAK,CAAA9B,OAAA,CAAAgC,MAAiB,GAAAxC,UAAA;IACpBoC,kBAAU,CAAA5B,OAAM;EAA8C,OAChE,IAAA2B,YAAA,IAAAR,iBAAA,KAAAS,kBAAA,CAAA5B,OAAA,IAAAR,UAAA,MAAAsC,YAAA,CAAA9B,OAAA,CAAAgC,MAAA,GAAAC,IAAA,CAAAC,GAAA,CAAAJ,YAAA,CAAA9B,OAAA,CAAAgC,MAAA,EAAAxC,UAAA;EAEA,MAAA2C,iBAAM,GAAAR,YAA0B,IAAAR,iBAAA,KAAAS,kBAAA,CAAA5B,OAAA,KAAA6B,WAAA,CAAA7B,OAAA;EAE9B,MAAAoC,WAAI,GAAAT,YAAsB,IAAAR,iBAAA,IAAAW,YAAA,CAAA9B,OAAA,CAAA+B,KAAA;EACxB,MAAAM,aAAO,GAAAD,WAAA,GAAAN,YAAA,CAAA9B,OAAA,CAAAgC,MAAA,GAAAxC,UAAA;EAAA,MACT8C,kBAAA,GAAAF,WAAA,GAAAN,YAAA,CAAA9B,OAAA,CAAA+B,KAAA,GAAApC,IAAA,GAAAX,SAAA,GAAAyC,eAAA,CAAAzB,OAAA,IAAAhB,SAAA;EAEA,MAAAuD,SAAO,GAAAlH,KAAA,CAAAmH,OAAe,OAAAtD,UAAmB,CAAAuD,GAAK,CAAAC,KAAA,IAC1CC,aACM,CAAAxD,cAAQ,EAAUuD,KACtB,EAAAL,aACE,EAAAC,kBAAU,KAGlBD,aAAI,EACFC,kBAAO,EAAApD,UACL,EAAqDC,cAClD;EACL,MACF,CAAAyD,UAAA,EAAAC,cAAA,IAAAxH,KAAA,CAAAC,QAAA;EAEA,MAAAwH,aAAO,GAAAzH,KAAA,CAAA0E,MAAA;EAAA,MACNgD,aAAA,GAAA1H,KAAA,CAAA2F,WAAA,CAAAgC,GAAA;IAKHF,aAAO,CAAA9C,OAAA,GAAAgD,GAAA;IAEP3B,oBAAM,CAAArB,OAAA,GAAAgD,GACH;IAEHH,cAAM,CAAAG,GAAA;IACN,KAAAA,GAAM,EAAA1B,gBAAe;EACnB,IAAAD,oBAAA,EAAAC,gBAA+B;EAAA,MAC9B2B,kBAAE,GAAA5H,KAAA,CAAA0E,MAAA,CAAAwC,SAAA;EAKL,MAAAW,eAAM,GAAA7H,KAAA,CAAAmH,OAAA;IAAA,IACJI,UAAA,IAAAE,aAAA,CAAA9C,OAAA,SAAAiD,kBAAA,CAAAjD,OAAA;IAAA,IACAmD,MAAA;IAAA,IACA1I,KAAA,KAAA0G,iBAAA,IAAAD,cAAA,OAAAiC,MAAA,GAAAZ,SAAA,MACA;MAAA,MACAa,WAAA,GAAApG,mBAAA;MAAAmG,MACE,GAAAZ,SAAA,CAAAE,GAAA,CAAAY,CAAA;QAA2B,IAC7B7D,UAAS,IAAA6D,CAAQ,IAAA7D,UAAA,SAAoB6D,CAAA;QACvC,OAACpB,IAAA,CAAAC,GAAA,CAAAkB,WAAA,EAAAC,CAAA,GAAAnC,cAAA;MAGD;IAEA;IAEE+B,kBAAY,CAAAjD,OAAA,GAAWmD,MAAA;IACrB,OAAAA,MAAA;EAA0B,IAC5BZ,SACE,EAgBJpB,iBAAM,EAKND,cAAM,EAGN1B,UAAM,EACNoD,UAAM,CACN;EAIE,MAAAU,sBAAqB,GAAAnB,iBAAQ,OAAApG,yBAAA;IAC7BiD,SAAA,EAAAsD,kBAAqB;IACrBnB,iBAAA;IAA6BD,cAE7B;IAiBA1B,UAAA,EAAA6C,aAAqB;IAAyDkB,MAChF,EAAAlE,QAAA,QAAA6D,eAAA,CAAA7D,QAAA;EAGA;EAKA,MAAAmE,yBACE,IAAA7B,YAAgB,OAAAQ,iBAAqB,GAAaL,YAAQ,CAAA9B,OAAQ,CAAAgC,MAAA,IAAAxC,UAAA,GAAAsC,YAAA,CAAA9B,OAAA,CAAA+B,KAAA,OAAAD,YAAA,CAAA9B,OAAA,CAAA+B,KAAA;EACpE;IAAA0B,iBAAsB;IAAAC,sBAAc;IAAAC;EAA8B,IAAAvD,eAAA;EAIlE,MAAAwD,YAAM,GAAAxD,eAAqB,CAAAxF,IAAA,IACvBC,WAAA;EAKJH,yBAAkB,OAAM;IAAA,IACtB,EAAAoG,gBACa,IAAAnB,IAAA;IAAAmB,gBAAK,CACd;IAAsE,OACxE;MAAAA,gBACD,MAAe;IAA8C;EAGhE,IAAAA,gBAAO,EAAYnB,IAAA;EAMnB,MAAAkE,iBAAM,GAAgBxI,KAAM,CAAAmH,OAAO,QAAK;IAAArE;EAAA,KAAAA,MAAA;EACxC,MAAA2F,aAAM,GAAA/I,eAAsB,MAAAyE,UAAA,GAAAA,UAAA,GAAA9C,UAAA;EAAA,MACzBqH,cAAiB,GAAAN,iBAAA,CAAAK,aAAA;EAChB,MAAAE,EAAA,GAAA3I,KAAA,CAAA0E,MAAc,CAAA+D,aAAU;EACxB,MAAAG,aAAA,GAAAD,EAAA,CAAAhE,OAAqB,KAAAtD,UAAU;EAC/B,OAAAwH,gBAAe,EAAGC,mBAAA,IAAA7I,QAAA,CAAA2I,aAAA;EAGlB,MAAAG,kBAAU,GAAA/I,KAAA,CAAA0E,MAAA;EACR,IAAAH,UAAA,EAAAyE,iBAAiB,EAAAD,kBAAA,CAAApE,OAAA;EAAA,MAAAsE,aACnB,GAAAjJ,KAAA,CAAA0E,MAAA;EAAA,MACFwE,oBAAA,GAAAlJ,KAAA,CAAA0E,MAAA;EAAA4D,yBACC;IAAsCa,KACzC,EAAAT,cAAA;IAmBAU,OAAA,EAAMxE;EACN,GAAA5E,KAAA,CAAM2F,WAAA,CAAAwD,KAAkB;IACtBR,EAAA,CAAAhE,OAAI,GAAAwE,KAAA;IAEJjF,YAAI,CAAAmF,KAAA,GAAAF,KAAA;IACJ,MAAAG,IAAI,GAAAzB,eAAU;IACZ,MAAA0B,QAAA,GAASrF,YAAA,CAAAsF,OAAA;IAAA,MACXC,QAAO,GAAAN,KAAA,IAAAG,IAAA;IACL,IAAAC,QAAM,KAAAE,QAAA,EAAc;MACpBvF,YAAA,CAAAsF,OAAS,GAAAC,QAAe;MAItB,IAAAA,QAAI;QACJ,IAAAvF,YAAO,CAAAwF,CAAK,IAAI;UAA+BxF,YAChD,CAAAyF,aAAA;UAAAzF,YACH,CAAAwF,CAAA;QACA;QACAxF,YAAO,CAAA0F,WAAA;QACT1F,YAAI,CAAA2F,gBAAW,OAAmB;MAElC,OAAM;QAAyB3F,YAAA,CAAA0F,WAAA;QAAA1F,YAAA,CAAA2F,gBAAA;MAAA;IAAA;EAI3B,IAAA9E,eACA,EAAA8C,eAA0B;EAAA,SACxBiC,UAAWA,CAAA;IAAApB,cACX,CAAAqB,IAAA;IAAA,IACA7F,YAAA,CAAA8F,eAAA;MAAA9F,YACA,CAAA8F,eAAY;MAAA9F,YACJ,CAAA8F,eAAgB;IAA4B;EAgB1D;EAQA,MAAAC,SAAQ,GAAAtK,QAAA,EAAAuK,SAAmB,EAAAC,iBAAwB;IAEnD,IAAAxG,SAAM;IAEN,IAAAyG,OAAA,GAAA5F,QAAA,IAAA0F,SAAgC,UAAAlD,aAAA,GAAAa,eAAA,CAAAqC,SAAA;IAC9B,IAAAvB,EAAA,CAAAhE,OAAM,KAAAyF,OAAA;IACNzB,EAAA,CAAAhE,OAAA,GAAAyF,OAAA;IACAN,UAAA,CAAO;IACL,MAAAO,eAAA,GAAiBH,SAAK,YAAA1F,QAAA;IAAA,IACxB0E,oBAAA,CAAAvE,OAAA;MAAA2F,YACE,CAAApB,oBAAuB,CAAAvE,OAAA;MAE3BuE,oBAAM,CAAAvE,OAAoB,OAAM;IAAA;IACvB,MACL4F,yBAAA,GAAAA,CAAA;MAAA,IACFrB,oBAAA,CAAAvE,OAAA;QAAA2F,YACO,CAAApB,oBAAA,CAAAvE,OAAA;QACTuE,oBAAA,CAAAvE,OAAA;MAEA;MACA,KAAA0F,eAAM,IAAgB,CAAA5F,OAAA,CAAAE,OAAa,EAAA6F,UAAa;MAChDnH,mBAAM;QAAiBiB,IAAA,EAAA+F;MAAkB;MACzC9F,UAAM,EAAKlB,mBAAa;QAAAiB,IAAa,EAAA+F;MAAA;IACrC;IACA,KAAAA,eAAO,EAAAnB,oBAAkB,CAAAvE,OAAuB,GAAA8F,UAAS;MAGzDvB,oBAAM,CAAAvE,OAAqB,OAAM;MACjC,KAAIF,OAAA,CAAAE,OAAY,EAAA6F,UAAA;IACd;IAA6B,IAC/BzB,kBAAA,CAAApE,OAAA;MAEAoE,kBAAM,CAAApE,OAAgB,GAAM;MAG5B+D,cAAM,CAAAgC,QAAA,CAAAN,OAAuB;QAE7BO,IAAA;QAAAC,QACE;MAAA,GAAAL,yBACS;MAAA;IACE;IACX7B,cACM,CAAAgC,QAAA,CAAAN,OAAA,EAAAD,iBAAA;MAAAQ,IAAA,EACH;MACC,GAAAhI;IACA,GAAA4H,yBAAa,CAAQ;EAGrB;EACAlL,yBAAM,CAAW;IACjB,IAAAuJ,aAAM,IAAAzE,UAAW,IAASR,SAAO;MACjCgF,EAAA,CAAAhE,OAAA,GAAIR,UAAA;MACFuE,cAAA,CAAAgC,QAAa,CAAAvG,UAAU;QAGvBwG,IAAA,UAAI;QAGFC,QAAA;MACE;QACAH,UAAA;UAAiB3B,mBACnB;QACA;MACA;MAAoC;IAEpC;IACA,IAAAD,gBAAA;IAAqC,IAAApB,aACvC,CAAA9C,OAAA;IAAA,KAAAhB,SACF,KAAAQ,UAAA,IAAAK,QAAA,IAAAoE,aAAA,KAAAtE,IAAA;IAAA2F,SACF,CAAAjG,QAAA;IAAA,IAAAA,QACC;MAAgCE,YACnC,CAAA2G,UAAA;MAAA3G,YACF,CAAA4G,YAAA;IAEA;IACE,IAAAxG,IAAA,IAAAN,QAAe,IAAK;MACpB,MAAA+G,aAAI,GAAa/G,QAAA;MACfE,YAAA,CAAAsF,OAAa,GAAAuB,aAAgB;MAC7B,IAAAA,aAAA,EAAa;QAAkB7G,YACjC,CAAA0F,WAAA;QACF1F,YAAA,CAAA2F,gBAAA;MAEA,OAAM;QACJ3F,YAAI,CAAA0F,WAAiB;QAKrB1F,YAAI,CAAA2F,gBACU;MAEd;IAEA;EACA,IAEAjB,aAAM,EAGNC,gBAAI,EACFrE,QAAA,EACAb,SAAA,EAA+BQ,UACjC,EAEAG,IAAA,EACEN,QAAA,CACE;EACA,MAAAgH,WAAA,GAAA1I,KAAA,CAAA0I,WAAqB,IAAUzG,UAAA,EAAAyG,WAAA;EAAApL,YACjC;EAIA,OAAAqL,QAAK,EAAAC,WAAA,IAAoBlL,KAAA,CAAAC,QAAQ,MAAS;EACxC,MAAAkL,YAAA,GAAYnL,KAAA,CAAAmH,OAAA;IAAA,IAAA6D,WACd;IACA,KAAArH,SAAA;IAGA,IAAA2B,mBAAY;IAA+C,MAC7DgE,IAAA,GAAAzB,eAAA;IAGA3D,YAAK,CAAAkH,QAAA,GAAA9B,IAAiB;IACpB,IAAA+B,MAAA,GAAA1C,EAAA,CAAAhE,OAAA;IACE,SAAA2G,WAAA3D,GAAA;MAEAD,aAAK,CAAAC,GAAA;MACH,KAAA7F,qBAAY;QAAAA,qBACd,GAAAyJ,QAAA,CAAAC,aAAA;QAAA,IACF,OAAOD,QAAA,CAAAE,IAAA,kBAAAF,QAAA,CAAAE,IAAA,CAAAC,WAAA,CAAA5J,qBAAA;MAAA;MAIT,KAAA6F,GAAI,EAAA7F,qBAAmB,CAAA6J,SAAS,WAC9B7J,qBAAmB,CAAA6J,SAAU;IAC7B;IAAe,MAAAC,OACb,GAAAA,CAAA;MAAAC;IAAA;MAAA3H,YACE,CAAA4H,iBAAgB,MAAU,CAAE;MAAA,IAAA5H,YAC9B,CAAA2G,UAAA;MAAAkB,cACF;MACAC,mBAAA;MAAAV,UACF;MAEA,MAAAW,GAAA,GAAAtD,EAAA,CAAAhE,OAAe,GAAAhB,SAAA,GAAAkI,EAAA;MAAA,IAAAK,YACb;MAAA,IAAAC,IACA,GAAAC,MAAA,CAAAC,iBAAqB;MAAA,SACnBC,CAAA,GAAM,GAAAA,CAAA,GAAAzE,eAAA,CAAA0E,MAAA,EAAAD,CAAA;QAAA,MACNpC,SAAG,GAAArC,eAAA,CAAAyE,CAAA;QAAA,MACLE,OAAA,GAAAP,GAAA,GAAA/B,SAAA,GAAA+B,GAAA,GAAA/B,SAAA,GAAAA,SAAA,GAAA+B,GAAA;QAAA,IACAO,OAAA,GAAAL,IAAA;UAAAA,IACF,GAAAK,OAAA;UACDN,YAAA,GAAAI,CAAA;QAED;MAME;MACErI,WAAG,CAAAiI,YAAU;MACbjC,SAAA,CAAAiC,YAAe;IAAA;IACb,MAAAO,MACA,GAAAA,CAAAC,EAAA,EAAAC,MAAA;MAAAf,OAAA;QACQC,EAAA,EAAAc,MACN,CAAAd,EAAA;QAAUe,MACZ,EAAAD,MAAA,CAAAE;MAAA;IAGE;IACE,IAAAb,mBAAA;IAAyB,MAAAc,eACtB,GAAAA,CAAAC,CAAA;MAAAF;IAAA;MAAA,SACPG,aAAA;QAAA,IACFD,CAAA,CAAAE,MAAA,KAAAxJ,aAAA,CAAAyJ,SAAA,CAAAvI,OAAA;QACA,IAAAT,YAAA,CAAAiJ,iBAAA;QAAA,IACFjJ,YAAA,CAAAkJ,oBAAA;UAEA,IAAAlJ,YAAI,CAAA2G,UAAkB;UACpB,MAAAwC,UAAA,GAAAnJ,YAAA,CAAAwF,CAAA;UAAA,MACF4D,YAAA,GAAAT,EAAA;UAQA,MAAIU,SAAA,GAAArJ,YAAuB,CAAAmF,KAAA,QAAAnF,YAAA,CAAAkH,QAAA;UACzB,IAAAiC,UAAA;UAAA,IACFE,SAAA;YAEA,IAAItE,aAAC,CAAatE,OAAC,IAAA2I,YAAc,SAAa;UAC5C;QAAA;QAIF,OAAA1G,IAAA,CAAU4G,GAAA,CAAAX,EAAA,IAAQ;MAGlB;MACE,MAAAY,OAAA,GAAAT,YAAa;MACb,IAAAS,OAAA,EAAAvJ,YAAa,CAAA4H,iBAAe;MAAA,OAC9B2B,OAAA;IAIA;IACE,MAAAC,KAAA,GAAMA,CAAA;MACNpC,UAAA;MACAxB,UAAI;MACFuB,MAAA,GAAA1C,EAAA,CAAAhE,OAAA;IACA;IAAoC,IAAAoH,cAC/B;IACL7H,YAAA,CAAAyJ,YAAa;MACb5B,cAAA,OAAa;MAAwB2B,KACvC;IAAA;IACFxJ,YACE,CAAA0J,IAAA,GAAef,EAAA;MAEnB,KAAAd,cAAM,EAAc;QACpBA,cAAM,OAAY;QAClB2B,KAAA,CAAM,CAAC;MAEP;MACE,MAAAG,EAAI,GAAAhB,EAAA,GAAAxB,MAAa;MACjB3C,cAAK,CAAAgC,QAAW,CAAAjK,QAAA,CAAAoN,EAAA,EAAAvE,IAAA;QAAAqB,IAAA;MAAA;IAChB;IAMAzG,YAAM,CAAA0H,OAAO,GAAAA,OAAA;IACb1H,YAAA,CAAA4J,cAAa,GAAWC,aAAA;MACxBhC,cAAI,GAAS,KAAG;MAEhBT,UAAA,MAAS;MACPrH,WAAA,CAAA8J,aAAiB;MAGjB9D,SAAI,CAAA8D,aAAY;IACd;IACE,OAAA5N,YAAA,CAAA6N,MAAA;MACAC,2BAAW,EAASnB,eAAS;MAC3BoB,mBAAA,EAASR,KAAK;MAAiCS,kBACjD,EAAAA,CAAAzB,EAAA;QAAAG;MAAA;QAAA,MACFgB,EAAA,GAAApN,QAAA,CAAAoM,EAAA,GAAAxB,MAAA,EAAA/B,IAAA;QACA,IAAAuE,EAAA,IAAIvE,IAAC,EAAKpF,YAAA,CAAA4H,iBAAA,aACR5H,YAAA,CAAA4H,iBAAsB;QAAYpD,cAC7B,CAAAgC,QAAA,CAAAmD,EAAA;UAAAlD,IAAA;QAAA;MACL;MACEyD,iBACJ,EAAA3B,MAAA;MAAA4B,uBACF,EAAA5B,MAAA;MAAA6B,qBACF,EAAA7B;IAEA;EACE,IACAzB,WAAI,EACF1F,mBAAA,EAAA2E,SACF,EAEAtG,SAAA,EACAkE,eAAA,EACA5D,WAAA,CAIA;EAEAjE,KAAA,CAAAqG,SAAM,OAAM;IAEZ,IAAAjH,KAAA,EAAI;IACJ,IAAAmI,UAAI,IAAO/C,QAAO,KAAAF,IAAA,IAAAuE,gBAAA;IAElB,KAAAlF,SAAA,IAAS,CAAIQ,UAAO;IAClB8F,SAAA,CAAAjG,QAAM;MACN2G,IAAA,UAAM;MACNC,QAAA;IACE;EACA,IAAA9E,iBAAA,EAAAD,cAAe;EAAA,MAAA0I,WACjB,GAAAvO,KAAA,CAAA0E,MAAA;EAAA1E,KAAA,CAAAqG,SACF;IAGA,IAAAkB,UAAA;MACAgH,WAAA,CAAA5J,OAAU;MAAY;IAGxB;IACE,KAAA4J,WAAQ,CAAA5J,OAAA;IAAA4J,WACN,CAAI5J,OAAM;IAAA,KAAAhB,SACV,IAAQ,CAAAQ,UAAM,IAAAK,QAAA,KAAAF,IAAA;IAAA2F,SACf,CAAAjG,QAAA;EAAA,IAAAuD,UACH;EAEAvH,KAAA,CAAAqG,SAAI;IAEJ,KAAA/B,IAAA,IAAMwB,iBACJ,EACA;MAEAC,eAAS;MAEPC,oBAAM,CAAArB,OAAW;MACfsB,gBAAO;IAAA;EAST,IAAA3B,IAAA;EACE;IAAAkK,UAAO;IAAAC,aAAA;IAAAC;EAAA,IAAA3N,oBAAA;IAAAmG,SACT,EAAAW,eAAA;IAEAlE,SAAA;IACEM,WAAA;IACEgG,SAAA;IAAOH,UACT;IAEA5F,YAAA;IAGAwD,aAAA;IAGAiH,kBAAM,EAAAA,CAAA,KAAAhG,EAAY,CAAAhE,OAAA;IAClBlE,QAAA;IACEuK,WAAA;IACA1F,mBAAO;IAAAsJ,mBACT,EAAAjH,GAAA;MAEAgB,EAAA,CAAAhE,OAAA,GAAIgD,GAAA;MACFe,cAAA,CAAIgC,QAAA,CAAA/C,GAAA,EAAc;QAAAgD,IAAA;MAAW;IAC3B;IAAO3E;EACT;EACF,MAAA6I,uBACF,GAAAlP,QAAA,OAAAP,KAAA,IAAA2D,oBAAA,IAAAnC,oBAAA,MAAAC,mBAAA;EAGA,MAAAiO,iBAAY,GAAInP,QAAM,OAAA2G,YAAA,KAAAC,kBAAA,CAAA5B,OAAA,KAAA6B,WAAA,CAAA7B,OAAA,IAAAkK,uBAAA;EAAA,MAAAE,kBACxB,GAAApP,QAAA,OAAA2G,YAAA,KAAAC,kBAAA,CAAA5B,OAAA,IAAAkK,uBAAA;EAEA,MAAAG,yBAAgB,GAAArP,QAAa,CAAAoN,CAAA;IAE7B,KAAAzI,IAAA,IAAI8B,eAAS,CAAAzB,OAAA;IACX,MAAAsK,OAAA,GAAAH,iBAAa;IAAsB,KAAAG,OACrC,IAAAJ,uBAAA;IAEA,MAAAK,YAAO,GAAAnC,CAAA,CAAAoC,WAAA,EAAAC,MAAA,CAAA5N,MAAA;IAAA,MACT6N,IAAA,GAAAxM,KAAA,IAAAoM,OAAA,GAAArI,IAAA,CAAA0I,GAAA,CAAAJ,YAAA,EAAAlN,uBAAA,MAAAkN,YAAA;IAEA,KAAAG,IAAA,EAAM;IACJ,MAAAE,OAAA,GAAA3I,IAAW,CAAI4I,KAAA,CAAAH,IAAA;IACf,IAAAJ,OAAA;MACA,IAAAM,OAAA,GAAS9I,YAAG,CAAA9B,OAAA,CAAA+B,KAAA,EAAAD,YAAA,CAAA9B,OAAA,CAAA+B,KAAA,GAAA6I,OAAA,MACd,IAAA9I,YAAA,CAAA9B,OAAA,CAAA+B,KAAA,MAAAF,WAAA,CAAA7B,OAAA;IAEA;IAQAf,YAAA,CAAA2L,OAAa;EACX;EACA,MAAAE,0BAAM,GAAAzP,KAAA,CAAA2F,WAAA,CAAAoH,CAAA;IAAA,IACRgC,kBAAA;MAEA3K,iBAAa,CAAAwC,IAAA,CAAO4I,KAAC,CAAAxN,uBAAO;MAC1B;IACE;IACA,IAAA6M,uBAAM;IAAA,MACRQ,IAAA,GAAAzI,IAAA,CAAA0I,GAAA,CAAAvC,CAAA,CAAAoC,WAAA,EAAAC,MAAA,CAAA5N,MAAA,EAAAQ,uBAAA;IACA,KAAAqN,IAAA;IACAjL,iBAAA,CAAAwC,IAAe,CAAA4I,KAAA,CAAAH,IAAS;EAAsC,IAAAR,uBAChE,EAAAE,kBAAA;EAEA,MAAAW,aAAa,GAAArH,sBAAU,CAAAK,cAAA,EAAA1I,KAAA,CAAA2F,WAAA,CAAAgC,GAAA;IAGvB;;IACE;MAAAgI,SAAA;QAAiBC,UAAA,EAAAjM,SAAA,SAAAtC,UAAA,GAAAsG;MAAA;IAAA;EACjB,IAAAhE,SAAA;EACA,OAAAkM,OAAA,EAAArF,UAAgB,IAAAxK,KAAA,CAAAC,QAAA,CAAAqE,IAAA;EAChB,IAAAA,IAAA,IAAAuL,OAAY;IACZrF,UAAA;IAAuB,IACzBtB,oBAAA,CAAAvE,OAAA;MAEA2F,YAAO,CAAApB,oBAAoB,CAAAvE,OAAA;MAAAuE,oBACzB,CAAAvE,OAAA,OAA6B;IAAA;EACR;EAEnB,MAAAmL,mBAAe,GAAA/L,MAAK,YAAAD,cAAA,oBAAAO,YAAA,GAAAjF,KAAA,GAAAyD,KAAA,yBAAAwB,YAAA;EACpB,MAAA0L,gBAAW,GAAA/P,KAAS,CAAA2F,WAAY,CAAAgC,GAAA;IAGhCsB,aAAA,CAAMtE,OAAA,GAAUgD,GAAA;EAChB;EACE,IAAAqI,QAAA,kBAAa7O,GAAA,CAAA7B,2BAAuB;IAAA2Q,OAAA,EACtC,CAAA3L,IAAA;IACE4L,QAAA,iBAAa/O,GAAA,CAAAf,kBAAsB,CAAA+P,QAAA;MAAAhH,KAAA,EACrCX,iBAAA;MAEA0H,QAAA,iBAAe/O,GAAA,CAAAL,aAAqB;QAAU,GAAA2C,aAChD;QAAAwE,sBACA;QAAmBnC,iBACnB;QAAyBqC,yBACzB;QAAuBiI,iBACxB,EAAAtJ,iBAAA;QACHiJ,gBAAG;QAAAG,QACD,iBAAA9O,IAAA,CAAAZ,oBAAA;UAAA+G,UACA;UAAA0D,QACA;UAAAC,WACA;UAAAsD,UACA;UAAAC,aACA;UACDyB,QAAA,GAOD,eAAgB/O,GAAA,CAAMjC,eAAA;YACpBmR,MAAI;cAAO/L;YAAA;YACX4L,QAAI,EAAA1K,qBAA2B,KAAAlB,IAAQ,UAAAf;UACvC,IAEAO,cAAU,cAAkB,mBAAoB3C,GAAA,CAAI5B,IAAC;YACpD+Q,KAAC;cAMJT,OAAM;cACN7L,QAAM,YAAgB;cACpBnC,GAAI;cACF0O,IAAA;cACAC,KAAA;cACFC,MAAA;cACAC,aAAK,EAAY;YACjB;YAEAC,QAAK,EAAAlB;UACL,IACF,eAAetO,GAAA,CAAAoH,YAAA;YAGf1D,GAAM;YACJ8L,QAAK,EAAA3B,yBAA2B;YAC9BtM,UAAA,EAAA6E,UAAgB,IAAAsB,gBAAA,UAAAnG,UAAA;YAIhBkO,gBAAA,MAAqB;YACrBN,KAAA;cACFtM,QAAA;cACElB,MAAK;cAGTvB,KAAQ;cACNC,MAAA,EAAAsO,mBAAW;cACXe,SAAA,EAAAf,mBAAA;cACAD,OAAA,GAAArK,qBAAA,GAAAqK,OAAA;cACA,KAAArK,qBAAA,KAAAlB,IAAA;gBAAAoM,aAAA;cAAA;YACA,GAAAhB,aAAA;YACAQ,QAAA,EAAAxB,qBAAA,IAAAF,UAAA,kBAAArN,GAAA,CAAAb,sBAAA;cACAwQ,OAAA,EAAAtC,UAAA;cACA8B,KAAA;gBAAAS,IAAA;cAAA,CAAoB;cACpBb,QAAA,EAAA5N,KAAA,CAAA4N;YACA,oBAAA/O,GAAA,CAAA5B,IAAA;cACA,GAAA4L,YAAA,EAAA6F,WAAA;cACAV,KAAA;gBAEES,IAAG;gBACHxP,KAAA;gBACFC,MAAA;cACA;cACD0O,QAAA,EAAA5N,KAAA,CAAA4N;YASD;UACE;QAgBF;MAA0B;IAKE;EAI5B;EAA2B,MACzBe,mBAAM,GAAiBjO,yBAAmB,KAAW6M,OAAA;EAAwB,IAC/EhN,KAAA;IAEA,MAAAqO,QAAM,GAAA3Q,sBAA4B,GAAA4Q,QAAU;IAE1C,MAAAC,eAAa,GAAAH,mBAAgB,GAAY,eAAG9P,GAAA,CAAAgC,kBAAA;MAAA+M,QAAA,EAAAF;IAAA;IAC1C,MAAAqB,aAAA,kBAAAlQ,GAAA,CAAApB,MAAA;MAAAuR,WACF,EAAAxO,MAAA;MAEA,GAAAG,WAAM;MACNiN,QAAK,EAAAkB,eAAW,IAAAF,QAAA,kBAA2B/P,GAAA,CAAA+P,QAAA;QAI3CZ,KAAA,EAAAhM,IAAM,GAAAhD,iBAAiB,GAAAG,mBAAoB;QAK3CyO,QAAM,EAAAkB;MAIN,KAAAA;IAIA;IAMA,IAAAhS,KAAI,SAASiS,aAAA;IACX,sBAAclQ,GAAA,CAAAd,uBAA4B,CAAA8P,QAAA;MACxChH,KAAA,EAAAzD,YAAA;MAA6BwK,QAC/B,EAAAmB;IACE;EAAsB;EACxB,OACFrB,QAAA;AACA;AAAoB,SACrB1I,cAAAiK,IAAA,EAAAlK,KAAA,EAAAlD,UAAA,EAAAR,SAAA;EAED,KAAAQ,UAAM,KAAAR,SAAA,SAA6B;EAAM,IAAA4N,IACtC,KAAyB;IAKxB,WAAIlK,KAAA,aAAmB,SAAGlD,UAAA,GAAAyC,IAAA,CAAA0I,GAAA,CAAAnL,UAAA,EAAAyC,IAAA,CAAAC,GAAA,IAAAQ,KAAA;IACxB,IAAAA,KAAA,mBAAkBlD,UAAW,GAAAyC,IAAA,CAAA0I,GAAA,CAAAnL,UAAA,EAAyBR,SAAC;IACvD,IAAA0D,KAAA,CAAAmK,QAAA;MAAA,MACFC,IAAA,GAAA7K,IAAA,CAAA0I,GAAA,MAAA1I,IAAA,CAAAC,GAAA,IAAAuF,MAAA,CAAA/E,KAAA,CAAAqK,KAAA;MACA,IAAAtF,MAAI,CAAAuF,KAAA,CAAAF,IAAA;QAEJG,OAAA,CAAAC,IAAM,sCAAsC;QAC5C,QAAI;MAEJ;MAAkC,OACpCjL,IAAA,CAAA4I,KAAA,CAAArL,UAAA,GAAAsN,IAAA,GAAAtN,UAAA;IAAA;IAC4CyN,OAC9C,CAAAC,IAAA;IAEA,QAAM;EAA+B;EAEjC,IAAAN,IAAA;IACA,IAAAlK,KAAA,KAAM,UAAAlD,UAAa;IAEnB,OAAAA,UAAO,GAAAyC,IAAA,CAAA0I,GAAA,CAAAnL,UAAA,EAAAR,SAAA;EAAA;EACqB,IAAA4N,IAC5B,0BAAAlK,KAAA,sBAAAlD,UAAA,GAAAyC,IAAA,CAAA0I,GAAA,CAAAnL,UAAA,EAAAyC,IAAA,CAAAC,GAAA,IAAAQ,KAAA;EAAA,MACFyK,GAAA,GAAAlL,IAAA,CAAA0I,GAAA,MAAA1I,IAAA,CAAAC,GAAA,IAAAuF,MAAA,CAAA/E,KAAA;EAAA,IAAA+E,MACC,CAAAuF,KAAS,CAAAG,GAAA;IAAAF,OACZ,CAAAC,IAAA;IAEA,QAAM;EAIN;EACA,OAAIjL,IAAA,CAAA4I,KAAQ,CAAArL,UAAY,GAAG2N,GAAA,GAAA3N,UAAA;AACzB;AAEA,SAAAhC,yBAAyB","ignoreList":[]}
@@ -14,6 +14,7 @@ import { getGestureHandlerState } from "./gestureState.native.js";
14
14
  import { GestureSheetProvider } from "./GestureSheetContext.native.js";
15
15
  import { resisted } from "./helpers.native.js";
16
16
  import { getKeyboardOccludedHeight } from "./keyboardAvoidance.native.js";
17
+ import { getStableLayoutViewportHeight, getWebKeyboardHeight, MIN_KEYBOARD_HEIGHT } from "./webViewport.native.js";
17
18
  import { SheetProvider } from "./SheetContext.native.js";
18
19
  import { useGestureHandlerPan } from "./useGestureHandlerPan.native.js";
19
20
  import { useKeyboardControllerSheet } from "./useKeyboardControllerSheet.native.js";
@@ -35,6 +36,10 @@ function getSafeAreaTopInset() {
35
36
  return _cachedSafeAreaTop;
36
37
  }
37
38
  var relativeDimensionTo = isWeb ? "window" : "screen";
39
+ function getStableViewportHeight() {
40
+ if (isWeb && typeof window !== "undefined") return getStableLayoutViewportHeight();
41
+ return Dimensions.get(relativeDimensionTo).height;
42
+ }
38
43
  var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {
39
44
  var parentSheet = React.useContext(ParentSheetContext);
40
45
  var {
@@ -95,16 +100,6 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
95
100
  var onInnerSheet = React.useCallback(function (hasChild) {
96
101
  setIsShowingInnerSheet(hasChild);
97
102
  }, []);
98
- var stableFrameSize = React.useRef(frameSize);
99
- React.useEffect(function () {
100
- if (open && frameSize) stableFrameSize.current = frameSize;
101
- }, [open, frameSize]);
102
- var effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
103
- var positions = React.useMemo(function () {
104
- return snapPoints.map(function (point) {
105
- return getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize);
106
- });
107
- }, [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
108
103
  var {
109
104
  keyboardHeight,
110
105
  isKeyboardVisible,
@@ -112,8 +107,33 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
112
107
  pauseKeyboardHandler,
113
108
  flushPendingHide
114
109
  } = useKeyboardControllerSheet({
115
- enabled: !isWeb && Boolean(moveOnKeyboardChange)
110
+ enabled: Boolean(moveOnKeyboardChange)
116
111
  });
112
+ var stableFrameSize = React.useRef(frameSize);
113
+ React.useEffect(function () {
114
+ if (open && frameSize) stableFrameSize.current = frameSize;
115
+ }, [open, frameSize]);
116
+ var isWebKbSheet = isWeb && hasFit && moveOnKeyboardChange;
117
+ var hasCleanKbBaseline = React.useRef(false);
118
+ var seedSettled = React.useRef(false);
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;
132
+ var positions = React.useMemo(function () {
133
+ return snapPoints.map(function (point) {
134
+ return getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize);
135
+ });
136
+ }, [effScreenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
117
137
  var [isDragging, setIsDragging_] = React.useState(false);
118
138
  var isDraggingRef = React.useRef(false);
119
139
  var setIsDragging = React.useCallback(function (val) {
@@ -126,8 +146,8 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
126
146
  var activePositions = React.useMemo(function () {
127
147
  if (isDragging || isDraggingRef.current) return activePositionsRef.current;
128
148
  var result;
129
- if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
130
- var safeAreaTop = isWeb ? 0 : getSafeAreaTopInset();
149
+ if (isWeb || !isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
150
+ var safeAreaTop = getSafeAreaTopInset();
131
151
  result = positions.map(function (p) {
132
152
  if (screenSize && p >= screenSize) return p;
133
153
  return Math.max(safeAreaTop, p - keyboardHeight);
@@ -136,13 +156,14 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
136
156
  activePositionsRef.current = result;
137
157
  return result;
138
158
  }, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]);
139
- var keyboardOccludedHeight = getKeyboardOccludedHeight({
140
- frameSize,
141
- isKeyboardVisible: !isWeb && isKeyboardVisible,
159
+ var keyboardOccludedHeight = seedingKbBaseline ? 0 : getKeyboardOccludedHeight({
160
+ frameSize: effectiveFrameSize,
161
+ isKeyboardVisible,
142
162
  keyboardHeight,
143
- screenSize,
163
+ screenSize: effScreenSize,
144
164
  sheetY: position >= 0 ? activePositions[position] : void 0
145
165
  });
166
+ var keyboardStableFrameHeight = !isWebKbSheet ? 0 : seedingKbBaseline ? stableKbGeom.current.screen || screenSize : stableKbGeom.current.frame > 0 ? stableKbGeom.current.frame : 0;
146
167
  var {
147
168
  useAnimatedNumber,
148
169
  useAnimatedNumberStyle,
@@ -207,7 +228,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
207
228
  }
208
229
  var animateTo = useEvent(function (position2, animationOverride) {
209
230
  if (frameSize === 0) return;
210
- var toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
231
+ var toValue = isHidden || position2 === -1 ? effScreenSize : activePositions[position2];
211
232
  if (at.current === toValue) return;
212
233
  at.current = toValue;
213
234
  stopSpring();
@@ -261,6 +282,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
261
282
  return;
262
283
  }
263
284
  if (disableAnimation) return;
285
+ if (isDraggingRef.current) return;
264
286
  if (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;
265
287
  animateTo(position);
266
288
  if (position === -1) {
@@ -289,7 +311,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
289
311
  if (disableDrag) return;
290
312
  if (!frameSize) return;
291
313
  if (isShowingInnerSheet) return;
292
- var minY = positions[0];
314
+ var minY = activePositions[0];
293
315
  scrollBridge.paneMinY = minY;
294
316
  var startY = at.current;
295
317
  function setPanning(val) {
@@ -307,8 +329,8 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
307
329
  var end = at.current + frameSize * vy * .2;
308
330
  var closestPoint = 0;
309
331
  var dist = Number.POSITIVE_INFINITY;
310
- for (var i = 0; i < positions.length; i++) {
311
- var position2 = positions[i];
332
+ for (var i = 0; i < activePositions.length; i++) {
333
+ var position2 = activePositions[i];
312
334
  var curDist = end > position2 ? end - position2 : position2 - end;
313
335
  if (curDist < dist) {
314
336
  dist = curDist;
@@ -331,6 +353,7 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
331
353
  } = param;
332
354
  function getShouldSet() {
333
355
  if (e.target === providerProps.handleRef.current) return true;
356
+ if (scrollBridge.scrollNodeTouched) return false;
334
357
  if (scrollBridge.hasScrollableContent === true) {
335
358
  if (scrollBridge.scrollLock) return false;
336
359
  var isScrolled = scrollBridge.y !== 0;
@@ -353,6 +376,10 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
353
376
  startY = at.current;
354
377
  };
355
378
  var isExternalDrag = false;
379
+ scrollBridge.startPanDrag = function () {
380
+ isExternalDrag = true;
381
+ grant();
382
+ };
356
383
  scrollBridge.drag = function (dy) {
357
384
  if (!isExternalDrag) {
358
385
  isExternalDrag = true;
@@ -387,8 +414,9 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
387
414
  onPanResponderTerminate: finish,
388
415
  onPanResponderRelease: finish
389
416
  });
390
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
417
+ }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, activePositions, setPosition]);
391
418
  React.useEffect(function () {
419
+ if (isWeb) return;
392
420
  if (isDragging || isHidden || !open || disableAnimation) return;
393
421
  if (!frameSize || !screenSize) return;
394
422
  animateTo(position, {
@@ -408,7 +436,11 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
408
436
  animateTo(position);
409
437
  }, [isDragging]);
410
438
  React.useEffect(function () {
411
- if (!open && isKeyboardVisible) dismissKeyboard();
439
+ if (!open && isKeyboardVisible) {
440
+ dismissKeyboard();
441
+ pauseKeyboardHandler.current = false;
442
+ flushPendingHide();
443
+ }
412
444
  }, [open]);
413
445
  var {
414
446
  panGesture,
@@ -436,20 +468,40 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
436
468
  },
437
469
  pauseKeyboardHandler
438
470
  });
471
+ var ignoreLayoutForKeyboard = useEvent(function () {
472
+ return isWeb && moveOnKeyboardChange && getWebKeyboardHeight() >= MIN_KEYBOARD_HEIGHT;
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();
479
+ });
439
480
  var handleAnimationViewLayout = useEvent(function (e) {
440
481
  var _e_nativeEvent;
441
482
  if (!open && stableFrameSize.current !== 0) return;
483
+ var seeding = shouldSeedKbFrame();
484
+ if (!seeding && ignoreLayoutForKeyboard()) return;
442
485
  var layoutHeight = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height;
443
- var next = modal ? Math.min(layoutHeight, Dimensions.get(relativeDimensionTo).height) : layoutHeight;
486
+ var next = modal || seeding ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;
444
487
  if (!next) return;
445
- setFrameSize(next);
488
+ var rounded = Math.round(next);
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);
446
493
  });
447
494
  var handleMaxContentViewLayout = React.useCallback(function (e) {
448
495
  var _e_nativeEvent;
449
- var next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, Dimensions.get(relativeDimensionTo).height);
496
+ if (shouldSeedKbScreen()) {
497
+ setMaxContentSize(Math.round(getStableViewportHeight()));
498
+ return;
499
+ }
500
+ if (ignoreLayoutForKeyboard()) return;
501
+ var next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, getStableViewportHeight());
450
502
  if (!next) return;
451
- setMaxContentSize(next);
452
- }, []);
503
+ setMaxContentSize(Math.round(next));
504
+ }, [ignoreLayoutForKeyboard, shouldSeedKbScreen]);
453
505
  var animatedStyle = useAnimatedNumberStyle(animatedNumber, React.useCallback(function (val) {
454
506
  "worklet";
455
507
 
@@ -478,6 +530,9 @@ var SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function SheetIm
478
530
  children: /* @__PURE__ */_jsx(SheetProvider, {
479
531
  ...providerProps,
480
532
  keyboardOccludedHeight,
533
+ isKeyboardVisible,
534
+ keyboardStableFrameHeight,
535
+ isKeyboardSeeding: seedingKbBaseline,
481
536
  setHasScrollView,
482
537
  children: /* @__PURE__ */_jsxs(GestureSheetProvider, {
483
538
  isDragging,