@tamagui/sheet 2.0.0 → 2.1.0-1780182832733

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 (97) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/SheetImplementationCustom.cjs +46 -22
  3. package/dist/cjs/SheetImplementationCustom.native.js +58 -27
  4. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  5. package/dist/cjs/SheetScrollView.cjs +15 -4
  6. package/dist/cjs/SheetScrollView.native.js +15 -4
  7. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  8. package/dist/cjs/createSheet.cjs +5 -2
  9. package/dist/cjs/createSheet.native.js +5 -2
  10. package/dist/cjs/createSheet.native.js.map +1 -1
  11. package/dist/cjs/nativeSheet.cjs +2 -0
  12. package/dist/cjs/nativeSheet.native.js +2 -0
  13. package/dist/cjs/nativeSheet.native.js.map +1 -1
  14. package/dist/cjs/useKeyboardControllerSheet.cjs +65 -6
  15. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  16. package/dist/cjs/useSheetScrollViewGestures.cjs +6 -1
  17. package/dist/cjs/webViewport.cjs +58 -0
  18. package/dist/cjs/webViewport.native.js +63 -0
  19. package/dist/cjs/webViewport.native.js.map +1 -0
  20. package/dist/esm/SheetImplementationCustom.mjs +46 -22
  21. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  22. package/dist/esm/SheetImplementationCustom.native.js +58 -27
  23. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  24. package/dist/esm/SheetScrollView.mjs +16 -5
  25. package/dist/esm/SheetScrollView.mjs.map +1 -1
  26. package/dist/esm/SheetScrollView.native.js +16 -5
  27. package/dist/esm/SheetScrollView.native.js.map +1 -1
  28. package/dist/esm/createSheet.mjs +6 -3
  29. package/dist/esm/createSheet.mjs.map +1 -1
  30. package/dist/esm/createSheet.native.js +6 -3
  31. package/dist/esm/createSheet.native.js.map +1 -1
  32. package/dist/esm/nativeSheet.mjs +2 -0
  33. package/dist/esm/nativeSheet.mjs.map +1 -1
  34. package/dist/esm/nativeSheet.native.js +2 -0
  35. package/dist/esm/nativeSheet.native.js.map +1 -1
  36. package/dist/esm/useKeyboardControllerSheet.mjs +66 -7
  37. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
  38. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  39. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  40. package/dist/esm/useSheetScrollViewGestures.mjs +6 -1
  41. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  42. package/dist/esm/webViewport.mjs +29 -0
  43. package/dist/esm/webViewport.mjs.map +1 -0
  44. package/dist/esm/webViewport.native.js +31 -0
  45. package/dist/esm/webViewport.native.js.map +1 -0
  46. package/dist/jsx/SheetImplementationCustom.mjs +46 -22
  47. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  48. package/dist/jsx/SheetImplementationCustom.native.js +58 -27
  49. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  50. package/dist/jsx/SheetScrollView.mjs +16 -5
  51. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  52. package/dist/jsx/SheetScrollView.native.js +15 -4
  53. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  54. package/dist/jsx/createSheet.mjs +6 -3
  55. package/dist/jsx/createSheet.mjs.map +1 -1
  56. package/dist/jsx/createSheet.native.js +5 -2
  57. package/dist/jsx/createSheet.native.js.map +1 -1
  58. package/dist/jsx/nativeSheet.mjs +2 -0
  59. package/dist/jsx/nativeSheet.mjs.map +1 -1
  60. package/dist/jsx/nativeSheet.native.js +2 -0
  61. package/dist/jsx/nativeSheet.native.js.map +1 -1
  62. package/dist/jsx/useKeyboardControllerSheet.mjs +66 -7
  63. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
  64. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  65. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  66. package/dist/jsx/useSheetScrollViewGestures.mjs +6 -1
  67. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  68. package/dist/jsx/webViewport.mjs +29 -0
  69. package/dist/jsx/webViewport.mjs.map +1 -0
  70. package/dist/jsx/webViewport.native.js +63 -0
  71. package/dist/jsx/webViewport.native.js.map +1 -0
  72. package/package.json +20 -20
  73. package/src/SheetImplementationCustom.tsx +207 -53
  74. package/src/SheetScrollView.tsx +36 -9
  75. package/src/createSheet.tsx +18 -6
  76. package/src/nativeSheet.tsx +2 -0
  77. package/src/types.tsx +11 -1
  78. package/src/useKeyboardControllerSheet.ts +123 -10
  79. package/src/useSheetProviderProps.tsx +10 -0
  80. package/src/useSheetScrollViewGestures.ts +23 -2
  81. package/src/webViewport.ts +81 -0
  82. package/types/SheetContext.d.ts +2 -0
  83. package/types/SheetContext.d.ts.map +1 -1
  84. package/types/SheetImplementationCustom.d.ts.map +1 -1
  85. package/types/SheetScrollView.d.ts.map +1 -1
  86. package/types/createSheet.d.ts +12 -12
  87. package/types/createSheet.d.ts.map +1 -1
  88. package/types/nativeSheet.d.ts.map +1 -1
  89. package/types/types.d.ts +4 -1
  90. package/types/types.d.ts.map +1 -1
  91. package/types/useKeyboardControllerSheet.d.ts +14 -3
  92. package/types/useKeyboardControllerSheet.d.ts.map +1 -1
  93. package/types/useSheetProviderProps.d.ts +2 -0
  94. package/types/useSheetProviderProps.d.ts.map +1 -1
  95. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
  96. package/types/webViewport.d.ts +31 -0
  97. package/types/webViewport.d.ts.map +1 -0
@@ -1,2 +1,2 @@
1
1
  $ tamagui-build
2
- built @tamagui/sheet in 8881 ms
2
+ built @tamagui/sheet in 1261 ms
@@ -51,6 +51,7 @@ var import_gestureState = require("./gestureState.cjs");
51
51
  var import_GestureSheetContext = require("./GestureSheetContext.cjs");
52
52
  var import_helpers = require("./helpers.cjs");
53
53
  var import_keyboardAvoidance = require("./keyboardAvoidance.cjs");
54
+ var import_webViewport = require("./webViewport.cjs");
54
55
  var import_SheetContext = require("./SheetContext.cjs");
55
56
  var import_useGestureHandlerPan = require("./useGestureHandlerPan.cjs");
56
57
  var import_useKeyboardControllerSheet = require("./useKeyboardControllerSheet.cjs");
@@ -74,6 +75,10 @@ function getSafeAreaTopInset() {
74
75
  }
75
76
  let sheetHiddenStyleSheet = null;
76
77
  const relativeDimensionTo = import_constants.isWeb ? "window" : "screen";
78
+ function getStableViewportHeight() {
79
+ if (import_constants.isWeb && typeof window !== "undefined") return (0, import_webViewport.getStableLayoutViewportHeight)();
80
+ return import_react_native.Dimensions.get(relativeDimensionTo).height;
81
+ }
77
82
  const SheetImplementationCustom = import_react.default.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {
78
83
  const parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext);
79
84
  const {
@@ -133,12 +138,6 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
133
138
  const onInnerSheet = import_react.default.useCallback(hasChild => {
134
139
  setIsShowingInnerSheet(hasChild);
135
140
  }, []);
136
- const stableFrameSize = import_react.default.useRef(frameSize);
137
- import_react.default.useEffect(() => {
138
- if (open && frameSize) stableFrameSize.current = frameSize;
139
- }, [open, frameSize]);
140
- const effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
141
- const positions = import_react.default.useMemo(() => snapPoints.map(point => getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize)), [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
142
141
  const {
143
142
  keyboardHeight,
144
143
  isKeyboardVisible,
@@ -146,8 +145,16 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
146
145
  pauseKeyboardHandler,
147
146
  flushPendingHide
148
147
  } = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({
149
- enabled: !import_constants.isWeb && Boolean(moveOnKeyboardChange)
148
+ enabled: Boolean(moveOnKeyboardChange)
150
149
  });
150
+ const stableFrameSize = import_react.default.useRef(frameSize);
151
+ import_react.default.useEffect(() => {
152
+ if (open && frameSize) stableFrameSize.current = frameSize;
153
+ }, [open, frameSize]);
154
+ const isWebKbSheet = import_constants.isWeb && hasFit && moveOnKeyboardChange;
155
+ const effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;
156
+ const effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
157
+ const positions = import_react.default.useMemo(() => snapPoints.map(point => getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize)), [effScreenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
151
158
  const [isDragging, setIsDragging_] = import_react.default.useState(false);
152
159
  const isDraggingRef = import_react.default.useRef(false);
153
160
  const setIsDragging = import_react.default.useCallback(val => {
@@ -161,7 +168,7 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
161
168
  if (isDragging || isDraggingRef.current) return activePositionsRef.current;
162
169
  let result;
163
170
  if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
164
- const safeAreaTop = import_constants.isWeb ? 0 : getSafeAreaTopInset();
171
+ const safeAreaTop = getSafeAreaTopInset();
165
172
  result = positions.map(p => {
166
173
  if (screenSize && p >= screenSize) return p;
167
174
  return Math.max(safeAreaTop, p - keyboardHeight);
@@ -171,12 +178,13 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
171
178
  return result;
172
179
  }, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]);
173
180
  const keyboardOccludedHeight = (0, import_keyboardAvoidance.getKeyboardOccludedHeight)({
174
- frameSize,
175
- isKeyboardVisible: !import_constants.isWeb && isKeyboardVisible,
181
+ frameSize: effectiveFrameSize,
182
+ isKeyboardVisible,
176
183
  keyboardHeight,
177
- screenSize,
184
+ screenSize: effScreenSize,
178
185
  sheetY: position >= 0 ? activePositions[position] : void 0
179
186
  });
187
+ const keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : 0;
180
188
  const {
181
189
  useAnimatedNumber,
182
190
  useAnimatedNumberStyle,
@@ -235,7 +243,8 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
235
243
  }
236
244
  const animateTo = (0, import_core.useEvent)((position2, animationOverride) => {
237
245
  if (frameSize === 0) return;
238
- let toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
246
+ const closeTarget = import_constants.isWeb ? Math.max(effScreenSize, (0, import_webViewport.getMaxViewportHeight)()) : effScreenSize;
247
+ let toValue = isHidden || position2 === -1 ? closeTarget : activePositions[position2];
239
248
  if (at.current === toValue) return;
240
249
  at.current = toValue;
241
250
  stopSpring();
@@ -288,6 +297,7 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
288
297
  return;
289
298
  }
290
299
  if (disableAnimation) return;
300
+ if (isDraggingRef.current) return;
291
301
  if (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;
292
302
  animateTo(position);
293
303
  if (position === -1) {
@@ -313,7 +323,7 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
313
323
  if (disableDrag) return;
314
324
  if (!frameSize) return;
315
325
  if (isShowingInnerSheet) return;
316
- const minY = positions[0];
326
+ const minY = activePositions[0];
317
327
  scrollBridge.paneMinY = minY;
318
328
  let startY = at.current;
319
329
  function setPanning(val) {
@@ -335,8 +345,8 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
335
345
  const end = at.current + frameSize * vy * .2;
336
346
  let closestPoint = 0;
337
347
  let dist = Number.POSITIVE_INFINITY;
338
- for (let i = 0; i < positions.length; i++) {
339
- const position2 = positions[i];
348
+ for (let i = 0; i < activePositions.length; i++) {
349
+ const position2 = activePositions[i];
340
350
  const curDist = end > position2 ? end - position2 : position2 - end;
341
351
  if (curDist < dist) {
342
352
  dist = curDist;
@@ -358,6 +368,7 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
358
368
  }) => {
359
369
  function getShouldSet() {
360
370
  if (e.target === providerProps.handleRef.current) return true;
371
+ if (scrollBridge.scrollNodeTouched) return false;
361
372
  if (scrollBridge.hasScrollableContent === true) {
362
373
  if (scrollBridge.scrollLock) return false;
363
374
  const isScrolled = scrollBridge.y !== 0;
@@ -380,6 +391,10 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
380
391
  startY = at.current;
381
392
  };
382
393
  let isExternalDrag = false;
394
+ scrollBridge.startPanDrag = () => {
395
+ isExternalDrag = true;
396
+ grant();
397
+ };
383
398
  scrollBridge.drag = dy => {
384
399
  if (!isExternalDrag) {
385
400
  isExternalDrag = true;
@@ -414,7 +429,7 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
414
429
  onPanResponderTerminate: finish,
415
430
  onPanResponderRelease: finish
416
431
  });
417
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
432
+ }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, activePositions, setPosition]);
418
433
  import_react.default.useEffect(() => {
419
434
  if (isDragging || isHidden || !open || disableAnimation) return;
420
435
  if (!frameSize || !screenSize) return;
@@ -435,7 +450,11 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
435
450
  animateTo(position);
436
451
  }, [isDragging]);
437
452
  import_react.default.useEffect(() => {
438
- if (!open && isKeyboardVisible) dismissKeyboard();
453
+ if (!open && isKeyboardVisible) {
454
+ dismissKeyboard();
455
+ pauseKeyboardHandler.current = false;
456
+ flushPendingHide();
457
+ }
439
458
  }, [open]);
440
459
  const {
441
460
  panGesture,
@@ -461,18 +480,21 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
461
480
  },
462
481
  pauseKeyboardHandler
463
482
  });
483
+ const ignoreLayoutForKeyboard = (0, import_core.useEvent)(() => import_constants.isWeb && moveOnKeyboardChange && (0, import_webViewport.getWebKeyboardHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT);
464
484
  const handleAnimationViewLayout = (0, import_core.useEvent)(e => {
465
485
  if (!open && stableFrameSize.current !== 0) return;
466
486
  const layoutHeight = e.nativeEvent?.layout.height;
467
- const next = modal ? Math.min(layoutHeight, import_react_native.Dimensions.get(relativeDimensionTo).height) : layoutHeight;
487
+ if (ignoreLayoutForKeyboard() && frameSize > 0) return;
488
+ const next = modal ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;
468
489
  if (!next) return;
469
- setFrameSize(next);
490
+ setFrameSize(Math.round(next));
470
491
  });
471
492
  const handleMaxContentViewLayout = import_react.default.useCallback(e => {
472
- const next = Math.min(e.nativeEvent?.layout.height, import_react_native.Dimensions.get(relativeDimensionTo).height);
493
+ if (ignoreLayoutForKeyboard() && screenSize > 0) return;
494
+ const next = Math.min(e.nativeEvent?.layout.height, getStableViewportHeight());
473
495
  if (!next) return;
474
- setMaxContentSize(next);
475
- }, []);
496
+ setMaxContentSize(Math.round(next));
497
+ }, [ignoreLayoutForKeyboard, screenSize]);
476
498
  const animatedStyle = useAnimatedNumberStyle(animatedNumber, import_react.default.useCallback(val => {
477
499
  "worklet";
478
500
 
@@ -501,6 +523,8 @@ const SheetImplementationCustom = import_react.default.forwardRef(function Sheet
501
523
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_SheetContext.SheetProvider, {
502
524
  ...providerProps,
503
525
  keyboardOccludedHeight,
526
+ isKeyboardVisible,
527
+ keyboardStableFrameHeight,
504
528
  setHasScrollView,
505
529
  children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_GestureSheetContext.GestureSheetProvider, {
506
530
  isDragging,
@@ -54,6 +54,7 @@ var import_gestureState = require("./gestureState.native.js");
54
54
  var import_GestureSheetContext = require("./GestureSheetContext.native.js");
55
55
  var import_helpers = require("./helpers.native.js");
56
56
  var import_keyboardAvoidance = require("./keyboardAvoidance.native.js");
57
+ var import_webViewport = require("./webViewport.native.js");
57
58
  var import_SheetContext = require("./SheetContext.native.js");
58
59
  var import_useGestureHandlerPan = require("./useGestureHandlerPan.native.js");
59
60
  var import_useKeyboardControllerSheet = require("./useKeyboardControllerSheet.native.js");
@@ -75,6 +76,10 @@ function getSafeAreaTopInset() {
75
76
  return _cachedSafeAreaTop;
76
77
  }
77
78
  var relativeDimensionTo = import_constants.isWeb ? "window" : "screen";
79
+ function getStableViewportHeight() {
80
+ if (import_constants.isWeb && typeof window !== "undefined") return (0, import_webViewport.getStableLayoutViewportHeight)();
81
+ return import_react_native.Dimensions.get(relativeDimensionTo).height;
82
+ }
78
83
  var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {
79
84
  var parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext);
80
85
  var {
@@ -135,16 +140,6 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
135
140
  var onInnerSheet = import_react.default.useCallback(function (hasChild) {
136
141
  setIsShowingInnerSheet(hasChild);
137
142
  }, []);
138
- var stableFrameSize = import_react.default.useRef(frameSize);
139
- import_react.default.useEffect(function () {
140
- if (open && frameSize) stableFrameSize.current = frameSize;
141
- }, [open, frameSize]);
142
- var effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
143
- var positions = import_react.default.useMemo(function () {
144
- return snapPoints.map(function (point) {
145
- return getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize);
146
- });
147
- }, [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
148
143
  var {
149
144
  keyboardHeight,
150
145
  isKeyboardVisible,
@@ -152,8 +147,20 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
152
147
  pauseKeyboardHandler,
153
148
  flushPendingHide
154
149
  } = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({
155
- enabled: !import_constants.isWeb && Boolean(moveOnKeyboardChange)
150
+ enabled: Boolean(moveOnKeyboardChange)
156
151
  });
152
+ var stableFrameSize = import_react.default.useRef(frameSize);
153
+ import_react.default.useEffect(function () {
154
+ if (open && frameSize) stableFrameSize.current = frameSize;
155
+ }, [open, frameSize]);
156
+ var isWebKbSheet = import_constants.isWeb && hasFit && moveOnKeyboardChange;
157
+ var effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;
158
+ var effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
159
+ var positions = import_react.default.useMemo(function () {
160
+ return snapPoints.map(function (point) {
161
+ return getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize);
162
+ });
163
+ }, [effScreenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
157
164
  var [isDragging, setIsDragging_] = import_react.default.useState(false);
158
165
  var isDraggingRef = import_react.default.useRef(false);
159
166
  var setIsDragging = import_react.default.useCallback(function (val) {
@@ -167,7 +174,7 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
167
174
  if (isDragging || isDraggingRef.current) return activePositionsRef.current;
168
175
  var result;
169
176
  if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
170
- var safeAreaTop = import_constants.isWeb ? 0 : getSafeAreaTopInset();
177
+ var safeAreaTop = getSafeAreaTopInset();
171
178
  result = positions.map(function (p) {
172
179
  if (screenSize && p >= screenSize) return p;
173
180
  return Math.max(safeAreaTop, p - keyboardHeight);
@@ -177,12 +184,13 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
177
184
  return result;
178
185
  }, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]);
179
186
  var keyboardOccludedHeight = (0, import_keyboardAvoidance.getKeyboardOccludedHeight)({
180
- frameSize,
181
- isKeyboardVisible: !import_constants.isWeb && isKeyboardVisible,
187
+ frameSize: effectiveFrameSize,
188
+ isKeyboardVisible,
182
189
  keyboardHeight,
183
- screenSize,
190
+ screenSize: effScreenSize,
184
191
  sheetY: position >= 0 ? activePositions[position] : void 0
185
192
  });
193
+ var keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : 0;
186
194
  var {
187
195
  useAnimatedNumber,
188
196
  useAnimatedNumberStyle,
@@ -247,7 +255,8 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
247
255
  }
248
256
  var animateTo = (0, import_core.useEvent)(function (position2, animationOverride) {
249
257
  if (frameSize === 0) return;
250
- var toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
258
+ var closeTarget = import_constants.isWeb ? Math.max(effScreenSize, (0, import_webViewport.getMaxViewportHeight)()) : effScreenSize;
259
+ var toValue = isHidden || position2 === -1 ? closeTarget : activePositions[position2];
251
260
  if (at.current === toValue) return;
252
261
  at.current = toValue;
253
262
  stopSpring();
@@ -301,6 +310,7 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
301
310
  return;
302
311
  }
303
312
  if (disableAnimation) return;
313
+ if (isDraggingRef.current) return;
304
314
  if (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;
305
315
  animateTo(position);
306
316
  if (position === -1) {
@@ -320,7 +330,12 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
320
330
  (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false);
321
331
  }
322
332
  }
323
- }, [hasntMeasured, disableAnimation, isHidden, frameSize, screenSize, open, position]);
333
+ },
334
+ // NOTE: effScreenSize/effectiveFrameSize are intentionally NOT deps. With the
335
+ // spacer approach the frame's position target is frozen across keyboard
336
+ // open/close (same stable baseline), so it must NOT re-animate — keyboard
337
+ // avoidance is the bottom spacer + scroll, not a frame move.
338
+ [hasntMeasured, disableAnimation, isHidden, frameSize, screenSize, open, position]);
324
339
  var _props_disableDrag;
325
340
  var disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller === null || controller === void 0 ? void 0 : controller.disableDrag;
326
341
  (0, import_core.useThemeName)();
@@ -329,7 +344,7 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
329
344
  if (disableDrag) return;
330
345
  if (!frameSize) return;
331
346
  if (isShowingInnerSheet) return;
332
- var minY = positions[0];
347
+ var minY = activePositions[0];
333
348
  scrollBridge.paneMinY = minY;
334
349
  var startY = at.current;
335
350
  function setPanning(val) {
@@ -347,8 +362,8 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
347
362
  var end = at.current + frameSize * vy * .2;
348
363
  var closestPoint = 0;
349
364
  var dist = Number.POSITIVE_INFINITY;
350
- for (var i = 0; i < positions.length; i++) {
351
- var position2 = positions[i];
365
+ for (var i = 0; i < activePositions.length; i++) {
366
+ var position2 = activePositions[i];
352
367
  var curDist = end > position2 ? end - position2 : position2 - end;
353
368
  if (curDist < dist) {
354
369
  dist = curDist;
@@ -371,6 +386,7 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
371
386
  } = param;
372
387
  function getShouldSet() {
373
388
  if (e.target === providerProps.handleRef.current) return true;
389
+ if (scrollBridge.scrollNodeTouched) return false;
374
390
  if (scrollBridge.hasScrollableContent === true) {
375
391
  if (scrollBridge.scrollLock) return false;
376
392
  var isScrolled = scrollBridge.y !== 0;
@@ -393,6 +409,10 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
393
409
  startY = at.current;
394
410
  };
395
411
  var isExternalDrag = false;
412
+ scrollBridge.startPanDrag = function () {
413
+ isExternalDrag = true;
414
+ grant();
415
+ };
396
416
  scrollBridge.drag = function (dy) {
397
417
  if (!isExternalDrag) {
398
418
  isExternalDrag = true;
@@ -428,7 +448,7 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
428
448
  onPanResponderTerminate: finish,
429
449
  onPanResponderRelease: finish
430
450
  });
431
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
451
+ }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, activePositions, setPosition]);
432
452
  import_react.default.useEffect(function () {
433
453
  if (isDragging || isHidden || !open || disableAnimation) return;
434
454
  if (!frameSize || !screenSize) return;
@@ -449,7 +469,11 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
449
469
  animateTo(position);
450
470
  }, [isDragging]);
451
471
  import_react.default.useEffect(function () {
452
- if (!open && isKeyboardVisible) dismissKeyboard();
472
+ if (!open && isKeyboardVisible) {
473
+ dismissKeyboard();
474
+ pauseKeyboardHandler.current = false;
475
+ flushPendingHide();
476
+ }
453
477
  }, [open]);
454
478
  var {
455
479
  panGesture,
@@ -477,20 +501,25 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
477
501
  },
478
502
  pauseKeyboardHandler
479
503
  });
504
+ var ignoreLayoutForKeyboard = (0, import_core.useEvent)(function () {
505
+ return import_constants.isWeb && moveOnKeyboardChange && (0, import_webViewport.getWebKeyboardHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;
506
+ });
480
507
  var handleAnimationViewLayout = (0, import_core.useEvent)(function (e) {
481
508
  var _e_nativeEvent;
482
509
  if (!open && stableFrameSize.current !== 0) return;
483
510
  var layoutHeight = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height;
484
- var next = modal ? Math.min(layoutHeight, import_react_native.Dimensions.get(relativeDimensionTo).height) : layoutHeight;
511
+ if (ignoreLayoutForKeyboard() && frameSize > 0) return;
512
+ var next = modal ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;
485
513
  if (!next) return;
486
- setFrameSize(next);
514
+ setFrameSize(Math.round(next));
487
515
  });
488
516
  var handleMaxContentViewLayout = import_react.default.useCallback(function (e) {
489
517
  var _e_nativeEvent;
490
- var next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, import_react_native.Dimensions.get(relativeDimensionTo).height);
518
+ if (ignoreLayoutForKeyboard() && screenSize > 0) return;
519
+ var next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, getStableViewportHeight());
491
520
  if (!next) return;
492
- setMaxContentSize(next);
493
- }, []);
521
+ setMaxContentSize(Math.round(next));
522
+ }, [ignoreLayoutForKeyboard, screenSize]);
494
523
  var animatedStyle = useAnimatedNumberStyle(animatedNumber, import_react.default.useCallback(function (val) {
495
524
  "worklet";
496
525
 
@@ -519,6 +548,8 @@ var SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(f
519
548
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_SheetContext.SheetProvider, {
520
549
  ...providerProps,
521
550
  keyboardOccludedHeight,
551
+ isKeyboardVisible,
552
+ keyboardStableFrameHeight,
522
553
  setHasScrollView,
523
554
  children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_GestureSheetContext.GestureSheetProvider, {
524
555
  isDragging,
@@ -1 +1 @@
1
- {"version":3,"names":["isNodeMode","mod","__esModule","__defProp","target","value","enumerable","__toCommonJS","__copyProps","SheetImplementationCustom_exports","__export","SheetImplementationCustom","module","exports","import_jsx_runtime","require","import_adapt","import_animate_presence","import_compose_refs","import_constants","import_core","import_native","import_portal","import_react","__toESM","import_react_native","import_contexts","import_GestureDetectorWrapper","import_gestureState","import_GestureSheetContext","import_helpers","import_keyboardAvoidance","import_SheetContext","import_useGestureHandlerPan","import_useKeyboardControllerSheet","import_useSheetOpenState","import_useSheetProviderProps","hiddenSize","rnghRootStyleOpen","width","height","rnghRootStyleClosed","_cachedSafeAreaTop","getSafeAreaTopInset","getSafeArea","getInsets","top","relativeDimensionTo","isWeb","default","forwardRef","SheetImplementationCustom2","props","forwardedRef","parentSheet","useContext","ParentSheetContext","transition","transitionConfig","transitionConfigProp","modal","zIndex","moveOnKeyboardChange","unmountChildrenWhenHidden","portalProps","containerComponent","ContainerComponent","Fragment","onAnimationComplete","state","useSheetOpenState","overlayComponent","setOverlayComponent","useState","providerProps","useSheetProviderProps","onOverlayComponent","frameSize","setFrameSize","snapPoints","snapPointsMode","hasFit","position","setPosition","scrollBridge","screenSize","setMaxContentSize","maxSnapPoint","open","controller","isHidden","openRef","useRef","current","sheetRef","ref","useComposedRefs","contentRef","animationDriver","useConfiguration","Error","_animationDriver_animations","animationProp","animationPropConfig","Array","isArray","animations","isShowingInnerSheet","setIsShowingInnerSheet","shouldHideParentSheet","needsPortalRepropagation","sheetInsideSheet","SheetInsideSheetContext","onInnerSheet","useCallback","hasChild","stableFrameSize","useEffect","effectiveFrameSize","positions","useMemo","map","point","getYPositions","keyboardHeight","isKeyboardVisible","dismissKeyboard","pauseKeyboardHandler","flushPendingHide","useKeyboardControllerSheet","enabled","Boolean","isDragging","setIsDragging_","isDraggingRef","setIsDragging","val","activePositionsRef","activePositions","result","safeAreaTop","p","Math","max","keyboardOccludedHeight","getKeyboardOccludedHeight","sheetY","useAnimatedNumber","useAnimatedNumberStyle","useAnimatedNumberReaction","_animationDriver_View","AnimatedView","View","useIsomorphicLayoutEffect","nextParentContext","startPosition","useDidFinishSSR","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","hostRef","paneY","minY","wasAtTop","isAtTop","nowAtTop","_scrollBridge_setScrollEnabled","y","_scrollBridge_forceScrollTo","forceScrollTo","call","scrollLockY","setScrollEnabled","_scrollBridge_setScrollEnabled1","stopSpring","stop","onFinishAnimate","animateTo","useEvent","position2","animationOverride","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","_controller_onAnimationComplete","setOpacity","setTimeout","setValue","type","duration","scrollLock","scrollStartY","isTopPosition","_props_disableDrag","disableDrag","useThemeName","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","handleRef","hasScrollableContent","isScrolled","isDraggingUp","isNearTop","abs","granted","grant","drag","to","resisted","snapToPosition","positionIndex","PanResponder","create","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","toFull","onPanResponderEnd","onPanResponderTerminate","onPanResponderRelease","wasDragging","panGesture","panGestureRef","gestureHandlerEnabled","useGestureHandlerPan","getCurrentPosition","setAnimatedPosition","handleAnimationViewLayout","_e_nativeEvent","layoutHeight","nativeEvent","layout","next","min","Dimensions","get","handleMaxContentViewLayout","animatedStyle","transform","translateY","opacity","forcedContentHeight","setHasScrollView","contents","jsx","LayoutMeasurementController","disable","children","Provider","SheetProvider","jsxs","GestureSheetProvider","AnimatePresence","custom","style","left","right","bottom","pointerEvents","onLayout","disableClassName","minHeight","GestureDetectorWrapper","gesture","flex","panHandlers","adaptContext","useAdaptContext","ProvideAdaptContext","shouldMountChildren","RNGHRoot","getGestureHandlerState","RootView","mountedContents","modalContents","Portal","stackZIndex","mode","endsWith","pct","slice","isNaN","console","warn","round","pct1"],"sources":["../../src/SheetImplementationCustom.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isNodeMode","mod","__esModule","__defProp","target","value","enumerable","__toCommonJS","__copyProps","SheetImplementationCustom_exports","__export","SheetImplementationCustom","module","exports","import_jsx_runtime","require","import_adapt","import_animate_presence","import_compose_refs","import_constants","import_core","import_native","import_portal","import_react","__toESM","import_react_native","import_contexts","import_GestureDetectorWrapper","import_gestureState","import_GestureSheetContext","import_helpers","import_keyboardAvoidance","import_webViewport","import_SheetContext","import_useGestureHandlerPan","import_useKeyboardControllerSheet","import_useSheetOpenState","import_useSheetProviderProps","hiddenSize","rnghRootStyleOpen","width","height","rnghRootStyleClosed","_cachedSafeAreaTop","getSafeAreaTopInset","getSafeArea","getInsets","top","relativeDimensionTo","isWeb","getStableViewportHeight","window","getStableLayoutViewportHeight","Dimensions","get","default","forwardRef","SheetImplementationCustom2","props","forwardedRef","parentSheet","useContext","ParentSheetContext","transition","transitionConfig","transitionConfigProp","modal","zIndex","moveOnKeyboardChange","unmountChildrenWhenHidden","portalProps","containerComponent","ContainerComponent","Fragment","onAnimationComplete","state","useSheetOpenState","overlayComponent","setOverlayComponent","useState","providerProps","useSheetProviderProps","onOverlayComponent","frameSize","setFrameSize","snapPoints","snapPointsMode","hasFit","position","setPosition","scrollBridge","screenSize","setMaxContentSize","maxSnapPoint","open","controller","isHidden","openRef","useRef","current","sheetRef","ref","useComposedRefs","contentRef","animationDriver","useConfiguration","Error","_animationDriver_animations","animationProp","animationPropConfig","Array","isArray","animations","isShowingInnerSheet","setIsShowingInnerSheet","shouldHideParentSheet","needsPortalRepropagation","sheetInsideSheet","SheetInsideSheetContext","onInnerSheet","useCallback","hasChild","keyboardHeight","isKeyboardVisible","dismissKeyboard","pauseKeyboardHandler","flushPendingHide","useKeyboardControllerSheet","enabled","Boolean","stableFrameSize","useEffect","isWebKbSheet","effScreenSize","effectiveFrameSize","positions","useMemo","map","point","getYPositions","isDragging","setIsDragging_","isDraggingRef","setIsDragging","val","activePositionsRef","activePositions","result","safeAreaTop","p","Math","max","keyboardOccludedHeight","getKeyboardOccludedHeight","sheetY","keyboardStableFrameHeight","useAnimatedNumber","useAnimatedNumberStyle","useAnimatedNumberReaction","_animationDriver_View","AnimatedView","View","useIsomorphicLayoutEffect","nextParentContext","startPosition","useDidFinishSSR","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","hostRef","paneY","minY","wasAtTop","isAtTop","nowAtTop","_scrollBridge_setScrollEnabled","y","_scrollBridge_forceScrollTo","forceScrollTo","call","scrollLockY","setScrollEnabled","_scrollBridge_setScrollEnabled1","stopSpring","stop","onFinishAnimate","animateTo","useEvent","position2","animationOverride","closeTarget","getMaxViewportHeight","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","_controller_onAnimationComplete","setOpacity","setTimeout","setValue","type","duration","scrollLock","scrollStartY","isTopPosition","_props_disableDrag","disableDrag","useThemeName","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","handleRef","scrollNodeTouched","hasScrollableContent","isScrolled","isDraggingUp","isNearTop","abs","granted","grant","startPanDrag","drag","to","resisted","snapToPosition","positionIndex","PanResponder","create","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","toFull","onPanResponderEnd","onPanResponderTerminate","onPanResponderRelease","wasDragging","panGesture","panGestureRef","gestureHandlerEnabled","useGestureHandlerPan","getCurrentPosition","setAnimatedPosition","ignoreLayoutForKeyboard","getWebKeyboardHeight","MIN_KEYBOARD_HEIGHT","handleAnimationViewLayout","_e_nativeEvent","layoutHeight","nativeEvent","layout","next","min","round","handleMaxContentViewLayout","animatedStyle","transform","translateY","opacity","forcedContentHeight","setHasScrollView","contents","jsx","LayoutMeasurementController","disable","children","Provider","SheetProvider","jsxs","GestureSheetProvider","AnimatePresence","custom","style","left","right","bottom","pointerEvents","onLayout","disableClassName","minHeight","GestureDetectorWrapper","gesture","flex","panHandlers","adaptContext","useAdaptContext","ProvideAdaptContext","shouldMountChildren","RNGHRoot","getGestureHandlerState","RootView","mountedContents","modalContents","Portal","stackZIndex","mode","endsWith","pct","slice","isNaN","console","warn","pct1"],"sources":["../../src/SheetImplementationCustom.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -45,6 +45,7 @@ var import_GestureSheetContext = require("./GestureSheetContext.cjs");
45
45
  var import_gestureState = require("./gestureState.cjs");
46
46
  var import_SheetContext = require("./SheetContext.cjs");
47
47
  var import_useSheetScrollViewGestures = require("./useSheetScrollViewGestures.cjs");
48
+ var import_webViewport = require("./webViewport.cjs");
48
49
  var import_jsx_runtime = require("react/jsx-runtime");
49
50
  const SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
50
51
  const SheetScrollView = import_react.default.forwardRef(({
@@ -63,6 +64,7 @@ const SheetScrollView = import_react.default.forwardRef(({
63
64
  screenSize
64
65
  } = context;
65
66
  const keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
67
+ const isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.getWebKeyboardHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;
66
68
  const [scrollEnabled] = (0, import_use_controllable_state.useControllableState)({
67
69
  prop: scrollEnabledProp,
68
70
  defaultProp: true
@@ -71,14 +73,18 @@ const SheetScrollView = import_react.default.forwardRef(({
71
73
  const [hasScrollableContent, setHasScrollableContent] = (0, import_react.useState)(true);
72
74
  const parentHeight = (0, import_react.useRef)(0);
73
75
  const contentHeight = (0, import_react.useRef)(0);
74
- const keyboardFrozenHeight = hasFit && keyboardOccludedHeight > 0 && parentHeight.current ? parentHeight.current : void 0;
76
+ const frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);
75
77
  const fitSizingStyle = hasFit ? {
76
78
  flex: void 0,
77
- height: keyboardFrozenHeight,
79
+ height: void 0,
78
80
  maxHeight: screenSize || void 0
79
81
  } : {
80
82
  flex: 1
81
83
  };
84
+ const keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
85
+ height: frozenFrameHeight,
86
+ maxHeight: frozenFrameHeight
87
+ } : null;
82
88
  const panGestureRef = gestureContext?.panGestureRef;
83
89
  const {
84
90
  ScrollView: RNGHScrollView
@@ -125,6 +131,9 @@ const SheetScrollView = import_react.default.forwardRef(({
125
131
  setHasScrollableContent(contentHeight.current > parentHeight.current);
126
132
  }
127
133
  };
134
+ const recordFitHeight = height => {
135
+ parentHeight.current = height;
136
+ };
128
137
  (0, import_react.useEffect)(() => {
129
138
  scrollBridge.hasScrollableContent = hasScrollableContent;
130
139
  }, [hasScrollableContent]);
@@ -158,7 +167,7 @@ const SheetScrollView = import_react.default.forwardRef(({
158
167
  scrollEnabled,
159
168
  simultaneousHandlers: [panGestureRef],
160
169
  onLayout: e => {
161
- parentHeight.current = Math.ceil(e.nativeEvent.layout.height);
170
+ recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
162
171
  updateScrollable();
163
172
  },
164
173
  onScroll: e => {
@@ -198,12 +207,13 @@ const SheetScrollView = import_react.default.forwardRef(({
198
207
  keyboardShouldPersistTaps: "always",
199
208
  keyboardDismissMode: "none",
200
209
  ...props,
210
+ ...keyboardFrozenOverride,
201
211
  children: contentWrapper
202
212
  });
203
213
  }
204
214
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_scroll_view.ScrollView, {
205
215
  onLayout: e => {
206
- parentHeight.current = Math.ceil(e.nativeEvent.layout.height);
216
+ recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
207
217
  updateScrollable();
208
218
  },
209
219
  ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),
@@ -224,6 +234,7 @@ const SheetScrollView = import_react.default.forwardRef(({
224
234
  },
225
235
  ...gestureProps,
226
236
  ...props,
237
+ ...keyboardFrozenOverride,
227
238
  children: contentWrapper
228
239
  });
229
240
  });