@tamagui/sheet 2.0.0-1769536410877 → 2.0.0-1769546410712

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 (85) hide show
  1. package/dist/cjs/SheetImplementationCustom.cjs +31 -66
  2. package/dist/cjs/SheetImplementationCustom.js +40 -70
  3. package/dist/cjs/SheetImplementationCustom.js.map +1 -1
  4. package/dist/cjs/SheetImplementationCustom.native.js +33 -73
  5. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  6. package/dist/cjs/SheetScrollView.cjs +0 -2
  7. package/dist/cjs/SheetScrollView.js +0 -2
  8. package/dist/cjs/SheetScrollView.js.map +1 -1
  9. package/dist/cjs/SheetScrollView.native.js +0 -2
  10. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  11. package/dist/cjs/useGestureHandlerPan.cjs +11 -21
  12. package/dist/cjs/useGestureHandlerPan.js +11 -20
  13. package/dist/cjs/useGestureHandlerPan.js.map +1 -1
  14. package/dist/cjs/useGestureHandlerPan.native.js +11 -21
  15. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  16. package/dist/esm/SheetImplementationCustom.js +41 -73
  17. package/dist/esm/SheetImplementationCustom.js.map +1 -1
  18. package/dist/esm/SheetImplementationCustom.mjs +33 -68
  19. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  20. package/dist/esm/SheetImplementationCustom.native.js +35 -75
  21. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  22. package/dist/esm/SheetScrollView.js +0 -2
  23. package/dist/esm/SheetScrollView.js.map +1 -1
  24. package/dist/esm/SheetScrollView.mjs +0 -2
  25. package/dist/esm/SheetScrollView.mjs.map +1 -1
  26. package/dist/esm/SheetScrollView.native.js +0 -2
  27. package/dist/esm/SheetScrollView.native.js.map +1 -1
  28. package/dist/esm/useGestureHandlerPan.js +11 -20
  29. package/dist/esm/useGestureHandlerPan.js.map +1 -1
  30. package/dist/esm/useGestureHandlerPan.mjs +11 -21
  31. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  32. package/dist/esm/useGestureHandlerPan.native.js +11 -21
  33. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  34. package/dist/jsx/SheetImplementationCustom.js +41 -73
  35. package/dist/jsx/SheetImplementationCustom.js.map +1 -1
  36. package/dist/jsx/SheetImplementationCustom.mjs +33 -68
  37. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  38. package/dist/jsx/SheetImplementationCustom.native.js +33 -73
  39. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  40. package/dist/jsx/SheetScrollView.js +0 -2
  41. package/dist/jsx/SheetScrollView.js.map +1 -1
  42. package/dist/jsx/SheetScrollView.mjs +0 -2
  43. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  44. package/dist/jsx/SheetScrollView.native.js +0 -2
  45. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  46. package/dist/jsx/useGestureHandlerPan.js +11 -20
  47. package/dist/jsx/useGestureHandlerPan.js.map +1 -1
  48. package/dist/jsx/useGestureHandlerPan.mjs +11 -21
  49. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  50. package/dist/jsx/useGestureHandlerPan.native.js +11 -21
  51. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  52. package/package.json +20 -20
  53. package/src/SheetImplementationCustom.tsx +46 -138
  54. package/src/SheetScrollView.tsx +0 -2
  55. package/src/types.tsx +0 -47
  56. package/src/useGestureHandlerPan.tsx +10 -57
  57. package/types/SheetImplementationCustom.d.ts.map +1 -1
  58. package/types/SheetScrollView.d.ts.map +1 -1
  59. package/types/types.d.ts +0 -38
  60. package/types/types.d.ts.map +1 -1
  61. package/types/useGestureHandlerPan.d.ts +1 -2
  62. package/types/useGestureHandlerPan.d.ts.map +1 -1
  63. package/dist/cjs/useKeyboardControllerSheet.cjs +0 -38
  64. package/dist/cjs/useKeyboardControllerSheet.js +0 -34
  65. package/dist/cjs/useKeyboardControllerSheet.js.map +0 -6
  66. package/dist/cjs/useKeyboardControllerSheet.native.js +0 -114
  67. package/dist/cjs/useKeyboardControllerSheet.native.js.map +0 -1
  68. package/dist/esm/useKeyboardControllerSheet.js +0 -18
  69. package/dist/esm/useKeyboardControllerSheet.js.map +0 -6
  70. package/dist/esm/useKeyboardControllerSheet.mjs +0 -15
  71. package/dist/esm/useKeyboardControllerSheet.mjs.map +0 -1
  72. package/dist/esm/useKeyboardControllerSheet.native.js +0 -88
  73. package/dist/esm/useKeyboardControllerSheet.native.js.map +0 -1
  74. package/dist/jsx/useKeyboardControllerSheet.js +0 -18
  75. package/dist/jsx/useKeyboardControllerSheet.js.map +0 -6
  76. package/dist/jsx/useKeyboardControllerSheet.mjs +0 -15
  77. package/dist/jsx/useKeyboardControllerSheet.mjs.map +0 -1
  78. package/dist/jsx/useKeyboardControllerSheet.native.js +0 -114
  79. package/dist/jsx/useKeyboardControllerSheet.native.js.map +0 -1
  80. package/src/useKeyboardControllerSheet.native.ts +0 -136
  81. package/src/useKeyboardControllerSheet.ts +0 -26
  82. package/types/useKeyboardControllerSheet.d.ts +0 -7
  83. package/types/useKeyboardControllerSheet.d.ts.map +0 -1
  84. package/types/useKeyboardControllerSheet.native.d.ts +0 -13
  85. package/types/useKeyboardControllerSheet.native.d.ts.map +0 -1
@@ -45,27 +45,13 @@ var import_adapt = require("@tamagui/adapt"),
45
45
  import_contexts = require("./contexts.cjs"),
46
46
  import_GestureDetectorWrapper = require("./GestureDetectorWrapper.cjs"),
47
47
  import_GestureSheetContext = require("./GestureSheetContext.cjs"),
48
- import_native = require("@tamagui/native"),
49
48
  import_helpers = require("./helpers.cjs"),
50
49
  import_SheetContext = require("./SheetContext.cjs"),
51
50
  import_useGestureHandlerPan = require("./useGestureHandlerPan.cjs"),
52
- import_useKeyboardControllerSheet = require("./useKeyboardControllerSheet.cjs"),
53
51
  import_useSheetOpenState = require("./useSheetOpenState.cjs"),
54
52
  import_useSheetProviderProps = require("./useSheetProviderProps.cjs"),
55
53
  import_jsx_runtime = require("react/jsx-runtime");
56
54
  const hiddenSize = 10000.1;
57
- let _cachedSafeAreaTop;
58
- function getSafeAreaTopInset() {
59
- if (_cachedSafeAreaTop !== void 0) return _cachedSafeAreaTop;
60
- const sa = (0, import_native.getSafeArea)();
61
- if (sa.isEnabled) return _cachedSafeAreaTop = sa.getInsets().top, _cachedSafeAreaTop;
62
- try {
63
- _cachedSafeAreaTop = require("react-native-safe-area-context").initialWindowMetrics?.insets?.top ?? 0;
64
- } catch {
65
- _cachedSafeAreaTop = 0;
66
- }
67
- return _cachedSafeAreaTop ?? 0;
68
- }
69
55
  let sheetHiddenStyleSheet = null;
70
56
  const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
71
57
  SheetImplementationCustom = import_react.default.forwardRef(function (props, forwardedRef) {
@@ -129,30 +115,6 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
129
115
  }, [open, frameSize]);
130
116
  const effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize,
131
117
  positions = import_react.default.useMemo(() => snapPoints.map(point => getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize)), [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]),
132
- {
133
- keyboardHeight,
134
- isKeyboardVisible,
135
- dismissKeyboard,
136
- pauseKeyboardHandler,
137
- flushPendingHide
138
- } = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({
139
- enabled: !import_constants.isWeb && !!moveOnKeyboardChange
140
- }),
141
- [isDragging, setIsDragging_] = import_react.default.useState(!1),
142
- isDraggingRef = import_react.default.useRef(!1),
143
- setIsDragging = import_react.default.useCallback(val => {
144
- isDraggingRef.current = val, pauseKeyboardHandler.current = val, setIsDragging_(val), val || flushPendingHide();
145
- }, [pauseKeyboardHandler, flushPendingHide]),
146
- activePositionsRef = import_react.default.useRef(positions),
147
- activePositions = import_react.default.useMemo(() => {
148
- if (isDragging || isDraggingRef.current) return activePositionsRef.current;
149
- let result;
150
- if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
151
- const safeAreaTop = import_constants.isWeb ? 0 : getSafeAreaTopInset();
152
- result = positions.map(p => screenSize && p >= screenSize ? p : Math.max(safeAreaTop, p - keyboardHeight));
153
- }
154
- return activePositionsRef.current = result, result;
155
- }, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]),
156
118
  {
157
119
  useAnimatedNumber,
158
120
  useAnimatedNumberStyle,
@@ -178,18 +140,18 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
178
140
  hostRef: sheetRef
179
141
  }, import_react.default.useCallback(value => {
180
142
  at.current = value, scrollBridge.paneY = value;
181
- const minY = activePositions[0],
143
+ const minY = positions[0],
182
144
  wasAtTop = scrollBridge.isAtTop,
183
145
  nowAtTop = value <= minY + 5;
184
146
  wasAtTop !== nowAtTop && (scrollBridge.isAtTop = nowAtTop, nowAtTop ? (scrollBridge.scrollLockY = void 0, scrollBridge.setScrollEnabled?.(!0)) : (scrollBridge.scrollLockY = 0, scrollBridge.setScrollEnabled?.(!1)));
185
- }, [animationDriver, activePositions]));
147
+ }, [animationDriver, positions]));
186
148
  function stopSpring() {
187
149
  animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
188
150
  }
189
- const animateTo = (0, import_core.useEvent)((position2, animationOverride) => {
151
+ const animateTo = (0, import_core.useEvent)(position2 => {
190
152
  if (frameSize === 0) return;
191
- let toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
192
- at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, animationOverride || {
153
+ let toValue = isHidden || position2 === -1 ? screenSize : positions[position2];
154
+ at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, {
193
155
  type: "spring",
194
156
  ...transitionConfig
195
157
  }));
@@ -213,6 +175,7 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
213
175
  }, [hasntMeasured, disableAnimation, isHidden, frameSize, screenSize, open, position]);
214
176
  const disableDrag = props.disableDrag ?? controller?.disableDrag,
215
177
  themeName = (0, import_core.useThemeName)(),
178
+ [isDragging, setIsDragging] = import_react.default.useState(!1),
216
179
  [blockPan, setBlockPan] = import_react.default.useState(!1),
217
180
  panResponder = import_react.default.useMemo(() => {
218
181
  if (disableDrag || !frameSize || isShowingInnerSheet) return;
@@ -289,29 +252,13 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
289
252
  onPanResponderTerminate: finish,
290
253
  onPanResponderRelease: finish
291
254
  });
292
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
293
- import_react.default.useEffect(() => {
294
- isDragging || isHidden || !open || disableAnimation || !frameSize || !screenSize || animateTo(position, {
295
- type: "timing",
296
- duration: 250
297
- });
298
- }, [isKeyboardVisible, keyboardHeight]);
299
- const wasDragging = import_react.default.useRef(!1);
300
- import_react.default.useEffect(() => {
301
- if (isDragging) {
302
- wasDragging.current = !0;
303
- return;
304
- }
305
- wasDragging.current && (wasDragging.current = !1, !(!frameSize || !screenSize || isHidden || !open) && animateTo(position));
306
- }, [isDragging]), import_react.default.useEffect(() => {
307
- !open && isKeyboardVisible && dismissKeyboard();
308
- }, [open]);
309
- const {
255
+ }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]),
256
+ {
310
257
  panGesture,
311
258
  panGestureRef,
312
259
  gestureHandlerEnabled
313
260
  } = (0, import_useGestureHandlerPan.useGestureHandlerPan)({
314
- positions: activePositions,
261
+ positions,
315
262
  frameSize,
316
263
  setPosition,
317
264
  animateTo,
@@ -323,11 +270,10 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
323
270
  disableDrag,
324
271
  isShowingInnerSheet,
325
272
  setAnimatedPosition: val => {
326
- at.current = val, animatedNumber.setValue(val, {
273
+ animatedNumber.setValue(val, {
327
274
  type: "direct"
328
275
  });
329
- },
330
- pauseKeyboardHandler
276
+ }
331
277
  }),
332
278
  handleAnimationViewLayout = import_react.default.useCallback(e => {
333
279
  if (!open && stableFrameSize.current !== 0) return;
@@ -348,7 +294,26 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
348
294
  }]
349
295
  };
350
296
  }),
351
- [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
297
+ sizeBeforeKeyboard = import_react.default.useRef(null);
298
+ import_react.default.useEffect(() => {
299
+ if (import_constants.isWeb || !moveOnKeyboardChange) return;
300
+ const keyboardShowListener = import_react_native.Keyboard.addListener(import_constants.currentPlatform === "ios" ? "keyboardWillShow" : "keyboardDidShow", e => {
301
+ sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = isHidden || position === -1 ? screenSize : positions[position], animatedNumber.setValue(Math.max(sizeBeforeKeyboard.current - e.endCoordinates.height, 0), {
302
+ type: "timing",
303
+ duration: 250
304
+ }));
305
+ }),
306
+ keyboardDidHideListener = import_react_native.Keyboard.addListener("keyboardDidHide", () => {
307
+ sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current, {
308
+ type: "timing",
309
+ duration: 250
310
+ }), sizeBeforeKeyboard.current = null);
311
+ });
312
+ return () => {
313
+ keyboardDidHideListener.remove(), keyboardShowListener.remove();
314
+ };
315
+ }, [moveOnKeyboardChange, positions, position, isHidden]);
316
+ const [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
352
317
  open && opacity === 0 && setOpacity(1), import_react.default.useEffect(() => {
353
318
  if (!open) {
354
319
  const tm = setTimeout(() => {
@@ -25,21 +25,8 @@ __export(SheetImplementationCustom_exports, {
25
25
  SheetImplementationCustom: () => SheetImplementationCustom
26
26
  });
27
27
  module.exports = __toCommonJS(SheetImplementationCustom_exports);
28
- var import_adapt = require("@tamagui/adapt"), import_animate_presence = require("@tamagui/animate-presence"), import_compose_refs = require("@tamagui/compose-refs"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_portal = require("@tamagui/portal"), import_react = __toESM(require("react"), 1), import_react_native = require("react-native-web"), import_contexts = require("./contexts"), import_GestureDetectorWrapper = require("./GestureDetectorWrapper"), import_GestureSheetContext = require("./GestureSheetContext"), import_native = require("@tamagui/native"), import_helpers = require("./helpers"), import_SheetContext = require("./SheetContext"), import_useGestureHandlerPan = require("./useGestureHandlerPan"), import_useKeyboardControllerSheet = require("./useKeyboardControllerSheet"), import_useSheetOpenState = require("./useSheetOpenState"), import_useSheetProviderProps = require("./useSheetProviderProps"), import_jsx_runtime = require("react/jsx-runtime");
28
+ var import_adapt = require("@tamagui/adapt"), import_animate_presence = require("@tamagui/animate-presence"), import_compose_refs = require("@tamagui/compose-refs"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_portal = require("@tamagui/portal"), import_react = __toESM(require("react"), 1), import_react_native = require("react-native-web"), import_contexts = require("./contexts"), import_GestureDetectorWrapper = require("./GestureDetectorWrapper"), import_GestureSheetContext = require("./GestureSheetContext"), import_helpers = require("./helpers"), import_SheetContext = require("./SheetContext"), import_useGestureHandlerPan = require("./useGestureHandlerPan"), import_useSheetOpenState = require("./useSheetOpenState"), import_useSheetProviderProps = require("./useSheetProviderProps"), import_jsx_runtime = require("react/jsx-runtime");
29
29
  const hiddenSize = 10000.1;
30
- let _cachedSafeAreaTop;
31
- function getSafeAreaTopInset() {
32
- if (_cachedSafeAreaTop !== void 0) return _cachedSafeAreaTop;
33
- const sa = (0, import_native.getSafeArea)();
34
- if (sa.isEnabled)
35
- return _cachedSafeAreaTop = sa.getInsets().top, _cachedSafeAreaTop;
36
- try {
37
- _cachedSafeAreaTop = require("react-native-safe-area-context").initialWindowMetrics?.insets?.top ?? 0;
38
- } catch {
39
- _cachedSafeAreaTop = 0;
40
- }
41
- return _cachedSafeAreaTop ?? 0;
42
- }
43
30
  let sheetHiddenStyleSheet = null;
44
31
  const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetImplementationCustom = import_react.default.forwardRef(
45
32
  function(props, forwardedRef) {
@@ -88,30 +75,7 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
88
75
  (point) => getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize)
89
76
  ),
90
77
  [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]
91
- ), {
92
- keyboardHeight,
93
- isKeyboardVisible,
94
- dismissKeyboard,
95
- pauseKeyboardHandler,
96
- flushPendingHide
97
- } = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({
98
- enabled: !import_constants.isWeb && !!moveOnKeyboardChange
99
- }), [isDragging, setIsDragging_] = import_react.default.useState(!1), isDraggingRef = import_react.default.useRef(!1), setIsDragging = import_react.default.useCallback(
100
- (val) => {
101
- isDraggingRef.current = val, pauseKeyboardHandler.current = val, setIsDragging_(val), val || flushPendingHide();
102
- },
103
- [pauseKeyboardHandler, flushPendingHide]
104
- ), activePositionsRef = import_react.default.useRef(positions), activePositions = import_react.default.useMemo(() => {
105
- if (isDragging || isDraggingRef.current) return activePositionsRef.current;
106
- let result;
107
- if (!isKeyboardVisible || keyboardHeight <= 0)
108
- result = positions;
109
- else {
110
- const safeAreaTop = import_constants.isWeb ? 0 : getSafeAreaTopInset();
111
- result = positions.map((p) => screenSize && p >= screenSize ? p : Math.max(safeAreaTop, p - keyboardHeight));
112
- }
113
- return activePositionsRef.current = result, result;
114
- }, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]), { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver, AnimatedView = animationDriver.View ?? import_core.View;
78
+ ), { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver, AnimatedView = animationDriver.View ?? import_core.View;
115
79
  (0, import_constants.useIsomorphicLayoutEffect)(() => {
116
80
  if (sheetInsideSheet && open)
117
81
  return sheetInsideSheet(!0), () => {
@@ -132,25 +96,22 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
132
96
  import_react.default.useCallback(
133
97
  (value) => {
134
98
  at.current = value, scrollBridge.paneY = value;
135
- const minY = activePositions[0], wasAtTop = scrollBridge.isAtTop, nowAtTop = value <= minY + 5;
99
+ const minY = positions[0], wasAtTop = scrollBridge.isAtTop, nowAtTop = value <= minY + 5;
136
100
  wasAtTop !== nowAtTop && (scrollBridge.isAtTop = nowAtTop, nowAtTop ? (scrollBridge.scrollLockY = void 0, scrollBridge.setScrollEnabled?.(!0)) : (scrollBridge.scrollLockY = 0, scrollBridge.setScrollEnabled?.(!1)));
137
101
  },
138
- [animationDriver, activePositions]
102
+ [animationDriver, positions]
139
103
  )
140
104
  );
141
105
  function stopSpring() {
142
106
  animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
143
107
  }
144
- const animateTo = (0, import_core.useEvent)((position2, animationOverride) => {
108
+ const animateTo = (0, import_core.useEvent)((position2) => {
145
109
  if (frameSize === 0) return;
146
- let toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
147
- at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(
148
- toValue,
149
- animationOverride || {
150
- type: "spring",
151
- ...transitionConfig
152
- }
153
- ));
110
+ let toValue = isHidden || position2 === -1 ? screenSize : positions[position2];
111
+ at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, {
112
+ type: "spring",
113
+ ...transitionConfig
114
+ }));
154
115
  });
155
116
  (0, import_constants.useIsomorphicLayoutEffect)(() => {
156
117
  if (hasntMeasured && screenSize && frameSize) {
@@ -173,7 +134,7 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
173
134
  scrollBridge.isAtTop = isTopPosition, isTopPosition ? (scrollBridge.scrollLockY = void 0, scrollBridge.setScrollEnabled?.(!0)) : (scrollBridge.scrollLockY = 0, scrollBridge.setScrollEnabled?.(!1));
174
135
  }
175
136
  }, [hasntMeasured, disableAnimation, isHidden, frameSize, screenSize, open, position]);
176
- const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = (0, import_core.useThemeName)(), [blockPan, setBlockPan] = import_react.default.useState(!1), panResponder = import_react.default.useMemo(() => {
137
+ const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = (0, import_core.useThemeName)(), [isDragging, setIsDragging] = import_react.default.useState(!1), [blockPan, setBlockPan] = import_react.default.useState(!1), panResponder = import_react.default.useMemo(() => {
177
138
  if (disableDrag || !frameSize || isShowingInnerSheet) return;
178
139
  const minY = positions[0];
179
140
  scrollBridge.paneMinY = minY;
@@ -235,22 +196,8 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
235
196
  onPanResponderTerminate: finish,
236
197
  onPanResponderRelease: finish
237
198
  });
238
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
239
- import_react.default.useEffect(() => {
240
- isDragging || isHidden || !open || disableAnimation || !frameSize || !screenSize || animateTo(position, { type: "timing", duration: 250 });
241
- }, [isKeyboardVisible, keyboardHeight]);
242
- const wasDragging = import_react.default.useRef(!1);
243
- import_react.default.useEffect(() => {
244
- if (isDragging) {
245
- wasDragging.current = !0;
246
- return;
247
- }
248
- wasDragging.current && (wasDragging.current = !1, !(!frameSize || !screenSize || isHidden || !open) && animateTo(position));
249
- }, [isDragging]), import_react.default.useEffect(() => {
250
- !open && isKeyboardVisible && dismissKeyboard();
251
- }, [open]);
252
- const { panGesture, panGestureRef, gestureHandlerEnabled } = (0, import_useGestureHandlerPan.useGestureHandlerPan)({
253
- positions: activePositions,
199
+ }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]), { panGesture, panGestureRef, gestureHandlerEnabled } = (0, import_useGestureHandlerPan.useGestureHandlerPan)({
200
+ positions,
254
201
  frameSize,
255
202
  setPosition,
256
203
  animateTo,
@@ -262,9 +209,8 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
262
209
  disableDrag,
263
210
  isShowingInnerSheet,
264
211
  setAnimatedPosition: (val) => {
265
- at.current = val, animatedNumber.setValue(val, { type: "direct" });
266
- },
267
- pauseKeyboardHandler
212
+ animatedNumber.setValue(val, { type: "direct" });
213
+ }
268
214
  }), handleAnimationViewLayout = import_react.default.useCallback(
269
215
  (e) => {
270
216
  if (!open && stableFrameSize.current !== 0)
@@ -284,7 +230,31 @@ const relativeDimensionTo = import_constants.isWeb ? "window" : "screen", SheetI
284
230
  return {
285
231
  transform: [{ translateY: frameSize === 0 ? hiddenSize : val }]
286
232
  };
287
- }), [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
233
+ }), sizeBeforeKeyboard = import_react.default.useRef(null);
234
+ import_react.default.useEffect(() => {
235
+ if (import_constants.isWeb || !moveOnKeyboardChange) return;
236
+ const keyboardShowListener = import_react_native.Keyboard.addListener(
237
+ import_constants.currentPlatform === "ios" ? "keyboardWillShow" : "keyboardDidShow",
238
+ (e) => {
239
+ sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = isHidden || position === -1 ? screenSize : positions[position], animatedNumber.setValue(
240
+ Math.max(sizeBeforeKeyboard.current - e.endCoordinates.height, 0),
241
+ {
242
+ type: "timing",
243
+ duration: 250
244
+ }
245
+ ));
246
+ }
247
+ ), keyboardDidHideListener = import_react_native.Keyboard.addListener("keyboardDidHide", () => {
248
+ sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current, {
249
+ type: "timing",
250
+ duration: 250
251
+ }), sizeBeforeKeyboard.current = null);
252
+ });
253
+ return () => {
254
+ keyboardDidHideListener.remove(), keyboardShowListener.remove();
255
+ };
256
+ }, [moveOnKeyboardChange, positions, position, isHidden]);
257
+ const [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
288
258
  open && opacity === 0 && setOpacity(1), import_react.default.useEffect(() => {
289
259
  if (!open) {
290
260
  const tm = setTimeout(() => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/SheetImplementationCustom.tsx"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAqD,2BACrD,0BAAgC,sCAChC,sBAAgC,kCAChC,mBAAkE,+BAClE,cAQO,0BACP,gBAAiD,4BACjD,eAAgC,8BAOhC,sBAAyD,yBACzD,kBAA4D,uBAC5D,gCAAuC,qCACvC,6BAAqC,kCACrC,iBAAyB,sBACzB,sBAA8B,2BAE9B,8BAAqC,mCACrC,2BAAkC,gCAClC,+BAAsC,oCA+hB1B;AA7hBZ,MAAM,aAAa;AAEnB,IAAI,wBAAiD;AAGrD,MAAM,sBAAsB,yBAAQ,WAAW,UAElC,4BAA4B,aAAAA,QAAM;AAAA,EAC7C,SAAmC,OAAO,cAAc;AACtD,UAAM,cAAc,aAAAA,QAAM,WAAW,kCAAkB,GAEjD;AAAA,MACJ;AAAA,MACA,kBAAkB;AAAA,MAClB,QAAQ;AAAA,MACR,SAAS,YAAY,SAAS;AAAA,MAC9B,uBAAuB;AAAA,MACvB,4BAA4B;AAAA,MAC5B;AAAA,MACA,oBAAoB,qBAAqB,aAAAA,QAAM;AAAA,IACjD,IAAI,OAEE,YAAQ,4CAAkB,KAAK,GAC/B,CAAC,kBAAkB,mBAAmB,IAAI,aAAAA,QAAM,SAA0B,IAAI,GAE9E,oBAAgB,oDAAsB,OAAO,OAAO;AAAA,MACxD,oBAAoB;AAAA,IACtB,CAAC,GACK;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,eACE,EAAE,MAAM,YAAY,SAAS,IAAI,OAEjC,WAAW,aAAAA,QAAM,OAAa,MAA4B,GAC1D,UAAM,qCAAgB,cAAc,UAAU,cAAc,UAAiB,GAG7E,EAAE,gBAAgB,QAAI,8BAAiB;AAE7C,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,8CAA8C;AAGhE,UAAM,oBAAoB,MAAM;AAE9B,UAAI;AACF,eAAO;AAGT,YAAM,CAAC,eAAe,mBAAmB,IAAK,aAE1C,MAAM,QAAQ,UAAU,IACtB,aACC,CAAC,UAAU,IAHd,CAAC;AAML,aAAI,iBAAiB,gBAAgB,aAAa,aAAuB,IAChE;AAAA,QACL,GAAI,gBAAgB,WAAW,aAAuB;AAAA,QACtD,GAAG;AAAA,MACL,IAGK;AAAA,IACT,GAAG,GAKG,CAAC,qBAAqB,sBAAsB,IAAI,aAAAA,QAAM,SAAS,EAAK,GAEpE,wBACJ,CAAC,0BAAS,SAAS,2BAAuB,wCAAyB,GAE/D,mBAAmB,aAAAA,QAAM,WAAW,uCAAuB,GAC3D,eAAe,aAAAA,QAAM,YAAY,CAAC,aAAsB;AAC5D,6BAAuB,QAAQ;AAAA,IACjC,GAAG,CAAC,CAAC,GAGC,kBAAkB,aAAAA,QAAM,OAAO,SAAS;AAE9C,iBAAAA,QAAM,UAAU,MAAM;AAEpB,MAAI,QAAQ,cACV,gBAAgB,UAAU;AAAA,IAE9B,GAAG,CAAC,MAAM,SAAS,CAAC;AAIpB,UAAM,qBAAqB,OAAO,YAAY,gBAAgB,WAAW,WAEnE,YAAY,aAAAA,QAAM;AAAA,MACtB,MACE,WAAW;AAAA,QAAI,CAAC,UACd,cAAc,gBAAgB,OAAO,YAAY,kBAAkB;AAAA,MACrE;AAAA,MACF,CAAC,YAAY,oBAAoB,YAAY,cAAc;AAAA,IAC7D,GAEM,EAAE,mBAAmB,wBAAwB,0BAA0B,IAC3E,iBACI,eAAgB,gBAAgB,QAAQ,YAAAC;AAE9C,oDAA0B,MAAM;AAC9B,UAAM,oBAAoB;AAC1B,gCAAiB,EAAI,GACd,MAAM;AACX,2BAAiB,EAAK;AAAA,QACxB;AAAA,IACF,GAAG,CAAC,kBAAkB,IAAI,CAAC;AAE3B,UAAM,oBAAoB,aAAAD,QAAM;AAAA,MAC9B,OAAO;AAAA,QACL;AAAA,MACF;AAAA,MACA,CAAC,MAAM;AAAA,IACT,GAGM,oBADY,6BAAgB,KACC,aAAa,aAAa,YACvD,iBAAiB,kBAAkB,aAAa,GAChD,KAAK,aAAAA,QAAM,OAAO,aAAa,GAC/B,gBAAgB,GAAG,YAAY,YAC/B,CAAC,kBAAkB,mBAAmB,QAAI,uBAAS,aAAa,GAEhE,gBAAgB,aAAAA,QAAM,OAAO,EAAK;AAExC;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA,aAAAA,QAAM;AAAA,QACJ,CAAC,UAAU;AACT,aAAG,UAAU,OACb,aAAa,QAAQ;AAGrB,gBAAM,OAAO,UAAU,CAAC,GAClB,WAAW,aAAa,SACxB,WAAW,SAAS,OAAO;AACjC,UAAI,aAAa,aACf,aAAa,UAAU,UAGnB,YACF,aAAa,cAAc,QAC3B,aAAa,mBAAmB,EAAI,MAEpC,aAAa,cAAc,GAC3B,aAAa,mBAAmB,EAAK;AAAA,QAG3C;AAAA,QACA,CAAC,iBAAiB,SAAS;AAAA,MAC7B;AAAA,IACF;AAEA,aAAS,aAAa;AACpB,qBAAe,KAAK,GAChB,aAAa,oBACf,aAAa,gBAAgB,GAC7B,aAAa,kBAAkB;AAAA,IAEnC;AAEA,UAAM,gBAAY,sBAAS,CAACE,cAAqB;AAC/C,UAAI,cAAc,EAAG;AAErB,UAAI,UAAU,YAAYA,cAAa,KAAK,aAAa,UAAUA,SAAQ;AAE3E,MAAI,GAAG,YAAY,YAEnB,GAAG,UAAU,SACb,WAAW,GAEX,eAAe,SAAS,SAAS;AAAA,QAC/B,MAAM;AAAA,QACN,GAAG;AAAA,MACL,CAAC;AAAA,IACH,CAAC;AAED,oDAA0B,MAAM;AAM9B,UAAI,iBAAiB,cAAc,WAAW;AAC5C,WAAG,UAAU,YACb,eAAe;AAAA,UACb;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,UAAU;AAAA,UACZ;AAAA,UACA,MAAM;AAEJ,uBAAW,MAAM;AACf,kCAAoB,EAAK;AAAA,YAC3B,GAAG,EAAE;AAAA,UACP;AAAA,QACF;AACA;AAAA,MACF;AAEA,UAAI,qBAIA,GAAC,aAAa,CAAC,cAAc,YAAa,iBAAiB,CAAC,UAKhE,UAAU,QAAQ,GAGd,aAAa,OACf,aAAa,aAAa,IAC1B,aAAa,eAAe,KAK1B,QAAQ,YAAY,IAAG;AACzB,cAAM,gBAAgB,aAAa;AACnC,qBAAa,UAAU,eACnB,iBACF,aAAa,cAAc,QAC3B,aAAa,mBAAmB,EAAI,MAEpC,aAAa,cAAc,GAC3B,aAAa,mBAAmB,EAAK;AAAA,MAEzC;AAAA,IACF,GAAG,CAAC,eAAe,kBAAkB,UAAU,WAAW,YAAY,MAAM,QAAQ,CAAC;AAErF,UAAM,cAAc,MAAM,eAAe,YAAY,aAC/C,gBAAY,0BAAa,GACzB,CAAC,YAAY,aAAa,IAAI,aAAAF,QAAM,SAAS,EAAK,GAClD,CAAC,UAAU,WAAW,IAAI,aAAAA,QAAM,SAAS,EAAK,GAE9C,eAAe,aAAAA,QAAM,QAAQ,MAAM;AAGvC,UAFI,eACA,CAAC,aACD,oBAAqB;AAEzB,YAAM,OAAO,UAAU,CAAC;AACxB,mBAAa,WAAW;AACxB,UAAI,SAAS,GAAG;AAEhB,eAAS,WAAW,KAAc;AAChC,sBAAc,GAAG,GAIV,0BACH,wBAAwB,SAAS,cAAc,OAAO,GAClD,OAAO,SAAS,OAAS,OAC3B,SAAS,KAAK,YAAY,qBAAqB,IAG9C,MAGH,sBAAsB,YACpB,oFAHF,sBAAsB,YAAY;AAAA,MAMxC;AAEA,YAAM,UAAU,CAAC,EAAE,IAAI,OAAO,MAAsC;AAElE,YADA,aAAa,kBAAkB,EAAK,GAChC,aAAa;AACf;AAGF,yBAAiB,IACjB,sBAAsB,IACtB,WAAW,EAAK;AAIhB,cAAM,MAHK,SAAS,SAGH,YAAY,KAAK;AAClC,YAAI,eAAe,GACf,OAAO,OAAO;AAElB,iBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,gBAAME,YAAW,UAAU,CAAC,GACtB,UAAU,MAAMA,YAAW,MAAMA,YAAWA,YAAW;AAC7D,UAAI,UAAU,SACZ,OAAO,SACP,eAAe;AAAA,QAEnB;AAGA,oBAAY,YAAY,GACxB,UAAU,YAAY;AAAA,MACxB,GAEM,SAAS,CAAC,IAA2BC,WAAoC;AAC7E,gBAAQ;AAAA,UACN,IAAIA,OAAM;AAAA,UACV,QAAQA,OAAM;AAAA,QAChB,CAAC;AAAA,MACH;AAEA,UAAI,sBAAsB;AAE1B,YAAM,kBAAkB,CACtB,GACA,EAAE,GAAG,MACO;AACZ,iBAAS,eAAe;AAEtB,cAAI,EAAE,WAAW,cAAc,UAAU;AACvC,mBAAO;AAGT,cAAI,aAAa,yBAAyB,IAAM;AAC9C,gBAAI,aAAa;AACf,qBAAO;AAGT,kBAAM,aAAa,aAAa,MAAM,GAGhC,eAAe,KAAK,GAGpB,YAAY,aAAa,QAAQ,KAAK,aAAa;AACzD,gBAAI;AACF,2CAAsB,IACf;AAGT,gBAAI,aACE,cAAc,WAAW;AAC3B,qBAAO;AAAA,UAGb;AAGA,iBAAO,KAAK,IAAI,EAAE,IAAI;AAAA,QACxB;AAEA,cAAM,UAAU,aAAa;AAE7B,eAAI,WACF,aAAa,kBAAkB,EAAI,GAG9B;AAAA,MACT,GAEM,QAAQ,MAAM;AAClB,mBAAW,EAAI,GACf,WAAW,GACX,SAAS,GAAG;AAAA,MACd;AAEA,UAAI,iBAAiB;AAErB,0BAAa,OAAO,CAAC,OAAO;AAC1B,QAAK,mBACH,iBAAiB,IACjB,MAAM;AAER,cAAM,KAAK,KAAK;AAChB,uBAAe,aAAS,yBAAS,IAAI,IAAI,GAAG,EAAE,MAAM,SAAS,CAAC;AAAA,MAChE,GAEA,aAAa,UAAU,SAEhB,iCAAa,OAAO;AAAA,QACzB,6BAA6B;AAAA,QAC7B,qBAAqB;AAAA,QACrB,oBAAoB,CAAC,IAAI,EAAE,GAAG,MAAM;AAClC,gBAAM,SAAS,KAAK,QACd,SAAK,yBAAS,QAAQ,IAAI;AAIhC,UADgB,MAAM,OAEpB,aAAa,kBAAkB,EAAK,IAEpC,aAAa,kBAAkB,EAAI,GAGrC,eAAe,SAAS,IAAI,EAAE,MAAM,SAAS,CAAC;AAAA,QAChD;AAAA,QACA,mBAAmB;AAAA,QACnB,yBAAyB;AAAA,QACzB,uBAAuB;AAAA,MACzB,CAAC;AAAA,IACH,GAAG,CAAC,aAAa,qBAAqB,WAAW,WAAW,WAAW,WAAW,CAAC,GAG7E,EAAE,YAAY,eAAe,sBAAsB,QAAI,kDAAqB;AAAA,MAChF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,oBAAoB,MAAM,GAAG;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,MACA,qBAAqB,CAAC,QAAgB;AAGpC,uBAAe,SAAS,KAAK,EAAE,MAAM,SAAS,CAAC;AAAA,MACjD;AAAA,IACF,CAAC,GAEK,4BAA4B,aAAAH,QAAM;AAAA,MACtC,CAAC,MAAyB;AAExB,YAAI,CAAC,QAAQ,gBAAgB,YAAY;AACvC;AAKF,cAAM,eAAe,EAAE,aAAa,OAAO,QACrC,OAAO,QACT,KAAK,IAAI,cAAc,+BAAW,IAAI,mBAAmB,EAAE,MAAM,IACjE;AACJ,QAAK,QACL,aAAa,IAAI;AAAA,MACnB;AAAA,MACA,CAAC,MAAM,KAAK;AAAA,IACd,GAEM,6BAA6B,aAAAA,QAAM,YAAY,CAAC,MAAyB;AAE7E,YAAM,OAAO,KAAK;AAAA,QAChB,EAAE,aAAa,OAAO;AAAA,QACtB,+BAAW,IAAI,mBAAmB,EAAE;AAAA,MACtC;AACA,MAAK,QACL,kBAAkB,IAAI;AAAA,IACxB,GAAG,CAAC,CAAC,GAEC,gBAAgB,uBAAuB,gBAAgB,CAAC,QAAQ;AACpE;AAGA,aAAO;AAAA,QACL,WAAW,CAAC,EAAE,YAHG,cAAc,IAAI,aAAa,IAGvB,CAAC;AAAA,MAC5B;AAAA,IACF,CAAC,GAEK,qBAAqB,aAAAA,QAAM,OAAsB,IAAI;AAC3D,iBAAAA,QAAM,UAAU,MAAM;AACpB,UAAI,0BAAS,CAAC,qBAAsB;AACpC,YAAM,uBAAuB,6BAAS;AAAA,QACpC,qCAAoB,QAAQ,qBAAqB;AAAA,QACjD,CAAC,MAAM;AACL,UAAI,mBAAmB,YAAY,SACnC,mBAAmB,UACjB,YAAY,aAAa,KAAK,aAAa,UAAU,QAAQ,GAC/D,eAAe;AAAA,YACb,KAAK,IAAI,mBAAmB,UAAU,EAAE,eAAe,QAAQ,CAAC;AAAA,YAChE;AAAA,cACE,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AAAA,UACF;AAAA,QACF;AAAA,MACF,GACM,0BAA0B,6BAAS,YAAY,mBAAmB,MAAM;AAC5E,QAAI,mBAAmB,YAAY,SACnC,eAAe,SAAS,mBAAmB,SAAS;AAAA,UAClD,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC,GACD,mBAAmB,UAAU;AAAA,MAC/B,CAAC;AAED,aAAO,MAAM;AACX,gCAAwB,OAAO,GAC/B,qBAAqB,OAAO;AAAA,MAC9B;AAAA,IACF,GAAG,CAAC,sBAAsB,WAAW,UAAU,QAAQ,CAAC;AAIxD,UAAM,CAAC,SAAS,UAAU,IAAI,aAAAA,QAAM,SAAS,OAAO,IAAI,CAAC;AACzD,IAAI,QAAQ,YAAY,KACtB,WAAW,CAAC,GAEd,aAAAA,QAAM,UAAU,MAAM;AACpB,UAAI,CAAC,MAAM;AAET,cAAM,KAAK,WAAW,MAAM;AAC1B,qBAAW,CAAC;AAAA,QACd,GAAG,GAAG;AACN,eAAO,MAAM;AACX,uBAAa,EAAE;AAAA,QACjB;AAAA,MACF;AAAA,IACF,GAAG,CAAC,IAAI,CAAC;AAET,UAAM,sBAAsB,SACxB,SACA,mBAAmB;AAAA;AAAA,MAEjB,GAAG,YAAY,GAAG,0BAAS,QAAQ,QAAe,GAAG;AAAA,QACrD,cAEA,mBAAmB,aAAAA,QAAM,YAAY,CAAC,QAAiB;AAC3D,oBAAc,UAAU;AAAA,IAC1B,GAAG,CAAC,CAAC;AAOL,QAAI,WACF,4CAAC,2CAA4B,SAAS,CAAC,MACrC,sDAAC,mCAAmB,UAAnB,EAA4B,OAAO,mBAClC,sDAAC,qCAAe,GAAG,eAAe,kBAChC;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAEA;AAAA,sDAAC,2CAAgB,QAAQ,EAAE,KAAK,GAC7B,mCAAyB,CAAC,OAAO,OAAO,kBAC3C;AAAA,UAEC,mBAAmB,aAClB;AAAA,YAAC;AAAA;AAAA,cACC,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,UAAU;AAAA,gBACV,KAAK;AAAA,gBACL,MAAM;AAAA,gBACN,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,eAAe;AAAA,cACjB;AAAA,cACA,UAAU;AAAA;AAAA,UACZ;AAAA,UAGF;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACC,GAAI,CAAC,yBAAyB,cAAc;AAAA,cAC7C,UAAU;AAAA,cAGV,YAAY,cAAc,mBAAmB,OAAO;AAAA,cAEpD,kBAAgB;AAAA,cAChB,OAAO;AAAA,gBACL;AAAA,kBACE,UAAU;AAAA,kBACV;AAAA,kBACA,OAAO;AAAA,kBACP,QAAQ;AAAA,kBACR,WAAW;AAAA,kBACX,SAAU,wBAAkC,IAAV;AAAA,kBAClC,IAAK,yBAAyB,CAAC,SAAS;AAAA,oBACtC,eAAe;AAAA,kBACjB;AAAA,gBACF;AAAA,gBACA;AAAA,cACF;AAAA,cAEC,mCAAyB,aACxB,4CAAC,wDAAuB,SAAS,YAAY,OAAO,EAAE,MAAM,EAAE,GAC3D,gBAAM,UACT,IAEA,MAAM;AAAA;AAAA,UAEV;AAAA;AAAA;AAAA,IACF,GACF,GACF,GACF;AAeF,UAAM,sBAAsB,4BAA4B,CAAC,CAAC,UAAU;AAEpE,QAAI,OAAO;AACT,YAAM,gBACJ,4CAAC,wBAAO,aAAa,QAAS,GAAG,aAC9B,iCACC,4CAAC,sBACC,sDAAC,qBAAM,SAAO,IAAC,gBAAc,IAAC,MAAM,WACjC,oBACH,GACF,GAEJ;AAGF,aAAI,yBACK,gBAKP,4CAAC,wCAAwB,UAAxB,EAAiC,OAAO,cACtC,yBACH;AAAA,IAEJ;AAEA,WAAO;AAAA,EACT;AACF;AAEA,SAAS,cACP,MACA,OACA,YACA,WACA;AACA,MAAI,CAAC,cAAc,CAAC;AAClB,WAAO;AAGT,MAAI,SAAS,SAAS;AACpB,QAAI,OAAO,SAAU;AACnB,aAAO,aAAa,KAAK,IAAI,YAAY,KAAK,IAAI,GAAG,KAAK,CAAC;AAE7D,QAAI,UAAU;AACZ,aAAO,aAAa,KAAK,IAAI,YAAY,SAAS;AAEpD,QAAI,MAAM,SAAS,GAAG,GAAG;AACvB,YAAMI,OAAM,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,OAAO,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;AACrE,aAAI,OAAO,MAAMA,IAAG,KAClB,QAAQ,KAAK,qCAAqC,GAC3C,KAEF,KAAK,MAAM,aAAaA,OAAM,UAAU;AAAA,IACjD;AACA,mBAAQ,KAAK,iCAAiC,GACvC;AAAA,EACT;AAEA,MAAI,SAAS;AACX,WAAI,UAAU,IAAU,aACjB,aAAa,KAAK,IAAI,YAAY,SAAS;AAGpD,MAAI,SAAS,cAAc,OAAO,SAAU;AAC1C,WAAO,aAAa,KAAK,IAAI,YAAY,KAAK,IAAI,GAAG,KAAK,CAAC;AAG7D,QAAM,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,OAAO,KAAK,CAAC,CAAC,IAAI;AACxD,SAAI,OAAO,MAAM,GAAG,KAClB,QAAQ,KAAK,8BAA8B,GACpC,KAGF,KAAK,MAAM,aAAa,MAAM,UAAU;AACjD;",
5
5
  "names": ["React", "TamaguiView", "position", "state", "pct"]
6
6
  }
@@ -48,30 +48,12 @@ var import_jsx_runtime = require("react/jsx-runtime"),
48
48
  import_contexts = require("./contexts.native.js"),
49
49
  import_GestureDetectorWrapper = require("./GestureDetectorWrapper.native.js"),
50
50
  import_GestureSheetContext = require("./GestureSheetContext.native.js"),
51
- import_native = require("@tamagui/native"),
52
51
  import_helpers = require("./helpers.native.js"),
53
52
  import_SheetContext = require("./SheetContext.native.js"),
54
53
  import_useGestureHandlerPan = require("./useGestureHandlerPan.native.js"),
55
- import_useKeyboardControllerSheet = require("./useKeyboardControllerSheet.native.js"),
56
54
  import_useSheetOpenState = require("./useSheetOpenState.native.js"),
57
55
  import_useSheetProviderProps = require("./useSheetProviderProps.native.js"),
58
- hiddenSize = 10000.1,
59
- _cachedSafeAreaTop;
60
- function getSafeAreaTopInset() {
61
- if (_cachedSafeAreaTop !== void 0) return _cachedSafeAreaTop;
62
- var sa = (0, import_native.getSafeArea)();
63
- if (sa.isEnabled) return _cachedSafeAreaTop = sa.getInsets().top, _cachedSafeAreaTop;
64
- try {
65
- var _sac_initialWindowMetrics_insets,
66
- _sac_initialWindowMetrics,
67
- sac = require("react-native-safe-area-context"),
68
- _sac_initialWindowMetrics_insets_top;
69
- _cachedSafeAreaTop = (_sac_initialWindowMetrics_insets_top = (_sac_initialWindowMetrics = sac.initialWindowMetrics) === null || _sac_initialWindowMetrics === void 0 || (_sac_initialWindowMetrics_insets = _sac_initialWindowMetrics.insets) === null || _sac_initialWindowMetrics_insets === void 0 ? void 0 : _sac_initialWindowMetrics_insets.top) !== null && _sac_initialWindowMetrics_insets_top !== void 0 ? _sac_initialWindowMetrics_insets_top : 0;
70
- } catch {
71
- _cachedSafeAreaTop = 0;
72
- }
73
- return _cachedSafeAreaTop ?? 0;
74
- }
56
+ hiddenSize = 10000.1;
75
57
  var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
76
58
  SheetImplementationCustom = /* @__PURE__ */import_react.default.forwardRef(function (props, forwardedRef) {
77
59
  var parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext),
@@ -139,32 +121,6 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
139
121
  return getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize);
140
122
  });
141
123
  }, [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]),
142
- {
143
- keyboardHeight,
144
- isKeyboardVisible,
145
- dismissKeyboard,
146
- pauseKeyboardHandler,
147
- flushPendingHide
148
- } = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({
149
- enabled: !import_constants.isWeb && !!moveOnKeyboardChange
150
- }),
151
- [isDragging, setIsDragging_] = import_react.default.useState(!1),
152
- isDraggingRef = import_react.default.useRef(!1),
153
- setIsDragging = import_react.default.useCallback(function (val) {
154
- isDraggingRef.current = val, pauseKeyboardHandler.current = val, setIsDragging_(val), val || flushPendingHide();
155
- }, [pauseKeyboardHandler, flushPendingHide]),
156
- activePositionsRef = import_react.default.useRef(positions),
157
- activePositions = import_react.default.useMemo(function () {
158
- if (isDragging || isDraggingRef.current) return activePositionsRef.current;
159
- var result;
160
- if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
161
- var safeAreaTop = import_constants.isWeb ? 0 : getSafeAreaTopInset();
162
- result = positions.map(function (p) {
163
- return screenSize && p >= screenSize ? p : Math.max(safeAreaTop, p - keyboardHeight);
164
- });
165
- }
166
- return activePositionsRef.current = result, result;
167
- }, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]),
168
124
  {
169
125
  useAnimatedNumber,
170
126
  useAnimatedNumberStyle,
@@ -194,7 +150,7 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
194
150
  hostRef: sheetRef
195
151
  }, import_react.default.useCallback(function (value) {
196
152
  at.current = value, scrollBridge.paneY = value;
197
- var minY = activePositions[0],
153
+ var minY = positions[0],
198
154
  wasAtTop = scrollBridge.isAtTop,
199
155
  nowAtTop = value <= minY + 5;
200
156
  if (wasAtTop !== nowAtTop) if (scrollBridge.isAtTop = nowAtTop, nowAtTop) {
@@ -204,14 +160,14 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
204
160
  var _scrollBridge_setScrollEnabled1;
205
161
  scrollBridge.scrollLockY = 0, (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, !1);
206
162
  }
207
- }, [animationDriver, activePositions]));
163
+ }, [animationDriver, positions]));
208
164
  function stopSpring() {
209
165
  animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
210
166
  }
211
- var animateTo = (0, import_core.useEvent)(function (position2, animationOverride) {
167
+ var animateTo = (0, import_core.useEvent)(function (position2) {
212
168
  if (frameSize !== 0) {
213
- var toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
214
- at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, animationOverride || {
169
+ var toValue = isHidden || position2 === -1 ? screenSize : positions[position2];
170
+ at.current !== toValue && (at.current = toValue, stopSpring(), animatedNumber.setValue(toValue, {
215
171
  type: "spring",
216
172
  ...transitionConfig
217
173
  }));
@@ -243,6 +199,7 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
243
199
  var _props_disableDrag,
244
200
  disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller?.disableDrag,
245
201
  themeName = (0, import_core.useThemeName)(),
202
+ [isDragging, setIsDragging] = import_react.default.useState(!1),
246
203
  [blockPan, setBlockPan] = import_react.default.useState(!1),
247
204
  panResponder = import_react.default.useMemo(function () {
248
205
  if (disableDrag || !frameSize || isShowingInnerSheet) return;
@@ -321,29 +278,13 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
321
278
  onPanResponderTerminate: finish,
322
279
  onPanResponderRelease: finish
323
280
  });
324
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
325
- import_react.default.useEffect(function () {
326
- isDragging || isHidden || !open || disableAnimation || !frameSize || !screenSize || animateTo(position, {
327
- type: "timing",
328
- duration: 250
329
- });
330
- }, [isKeyboardVisible, keyboardHeight]);
331
- var wasDragging = import_react.default.useRef(!1);
332
- import_react.default.useEffect(function () {
333
- if (isDragging) {
334
- wasDragging.current = !0;
335
- return;
336
- }
337
- wasDragging.current && (wasDragging.current = !1, !(!frameSize || !screenSize || isHidden || !open) && animateTo(position));
338
- }, [isDragging]), import_react.default.useEffect(function () {
339
- !open && isKeyboardVisible && dismissKeyboard();
340
- }, [open]);
341
- var {
281
+ }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]),
282
+ {
342
283
  panGesture,
343
284
  panGestureRef,
344
285
  gestureHandlerEnabled
345
286
  } = (0, import_useGestureHandlerPan.useGestureHandlerPan)({
346
- positions: activePositions,
287
+ positions,
347
288
  frameSize,
348
289
  setPosition,
349
290
  animateTo,
@@ -357,11 +298,10 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
357
298
  disableDrag,
358
299
  isShowingInnerSheet,
359
300
  setAnimatedPosition: function (val) {
360
- at.current = val, animatedNumber.setValue(val, {
301
+ animatedNumber.setValue(val, {
361
302
  type: "direct"
362
303
  });
363
- },
364
- pauseKeyboardHandler
304
+ }
365
305
  }),
366
306
  handleAnimationViewLayout = import_react.default.useCallback(function (e) {
367
307
  var _e_nativeEvent;
@@ -386,7 +326,27 @@ var relativeDimensionTo = import_constants.isWeb ? "window" : "screen",
386
326
  }]
387
327
  };
388
328
  }),
389
- [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
329
+ sizeBeforeKeyboard = import_react.default.useRef(null);
330
+ import_react.default.useEffect(function () {
331
+ if (!(import_constants.isWeb || !moveOnKeyboardChange)) {
332
+ var keyboardShowListener = import_react_native.Keyboard.addListener(import_constants.currentPlatform === "ios" ? "keyboardWillShow" : "keyboardDidShow", function (e) {
333
+ sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = isHidden || position === -1 ? screenSize : positions[position], animatedNumber.setValue(Math.max(sizeBeforeKeyboard.current - e.endCoordinates.height, 0), {
334
+ type: "timing",
335
+ duration: 250
336
+ }));
337
+ }),
338
+ keyboardDidHideListener = import_react_native.Keyboard.addListener("keyboardDidHide", function () {
339
+ sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current, {
340
+ type: "timing",
341
+ duration: 250
342
+ }), sizeBeforeKeyboard.current = null);
343
+ });
344
+ return function () {
345
+ keyboardDidHideListener.remove(), keyboardShowListener.remove();
346
+ };
347
+ }
348
+ }, [moveOnKeyboardChange, positions, position, isHidden]);
349
+ var [opacity, setOpacity] = import_react.default.useState(open ? 1 : 0);
390
350
  open && opacity === 0 && setOpacity(1), import_react.default.useEffect(function () {
391
351
  if (!open) {
392
352
  var tm = setTimeout(function () {