@tamagui/sheet 2.1.0 → 2.2.0-1781071309197

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/SheetImplementationCustom.cjs +41 -64
  3. package/dist/cjs/SheetImplementationCustom.native.js +56 -69
  4. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  5. package/dist/cjs/SheetScrollView.cjs +57 -5
  6. package/dist/cjs/SheetScrollView.native.js +60 -5
  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/keyboardAvoidance.cjs +52 -1
  12. package/dist/cjs/keyboardAvoidance.native.js +54 -1
  13. package/dist/cjs/keyboardAvoidance.native.js.map +1 -1
  14. package/dist/cjs/nativeSheet.cjs +0 -1
  15. package/dist/cjs/nativeSheet.native.js +0 -1
  16. package/dist/cjs/nativeSheet.native.js.map +1 -1
  17. package/dist/cjs/useGestureHandlerPan.cjs +25 -10
  18. package/dist/cjs/useGestureHandlerPan.native.js +27 -10
  19. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  20. package/dist/cjs/useKeyboardControllerSheet.cjs +10 -4
  21. package/dist/cjs/useSafeAreaInsets.cjs +44 -0
  22. package/dist/cjs/useSafeAreaInsets.native.js +48 -0
  23. package/dist/cjs/useSafeAreaInsets.native.js.map +1 -0
  24. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  25. package/dist/cjs/useSheetScrollViewGestures.cjs +12 -2
  26. package/dist/cjs/useSheetScrollViewGestures.native.js +4 -0
  27. package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
  28. package/dist/cjs/webViewport.cjs +26 -1
  29. package/dist/cjs/webViewport.native.js +28 -1
  30. package/dist/cjs/webViewport.native.js.map +1 -1
  31. package/dist/esm/SheetImplementationCustom.mjs +48 -73
  32. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  33. package/dist/esm/SheetImplementationCustom.native.js +70 -89
  34. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  35. package/dist/esm/SheetScrollView.mjs +58 -6
  36. package/dist/esm/SheetScrollView.mjs.map +1 -1
  37. package/dist/esm/SheetScrollView.native.js +61 -6
  38. package/dist/esm/SheetScrollView.native.js.map +1 -1
  39. package/dist/esm/createSheet.mjs +7 -5
  40. package/dist/esm/createSheet.mjs.map +1 -1
  41. package/dist/esm/createSheet.native.js +17 -14
  42. package/dist/esm/createSheet.native.js.map +1 -1
  43. package/dist/esm/keyboardAvoidance.mjs +50 -1
  44. package/dist/esm/keyboardAvoidance.mjs.map +1 -1
  45. package/dist/esm/keyboardAvoidance.native.js +52 -1
  46. package/dist/esm/keyboardAvoidance.native.js.map +1 -1
  47. package/dist/esm/nativeSheet.mjs +0 -1
  48. package/dist/esm/nativeSheet.mjs.map +1 -1
  49. package/dist/esm/nativeSheet.native.js +0 -1
  50. package/dist/esm/nativeSheet.native.js.map +1 -1
  51. package/dist/esm/useGestureHandlerPan.mjs +25 -10
  52. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  53. package/dist/esm/useGestureHandlerPan.native.js +27 -10
  54. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  55. package/dist/esm/useKeyboardControllerSheet.mjs +11 -5
  56. package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
  57. package/dist/esm/useSafeAreaInsets.mjs +7 -0
  58. package/dist/esm/useSafeAreaInsets.mjs.map +1 -0
  59. package/dist/esm/useSafeAreaInsets.native.js +8 -0
  60. package/dist/esm/useSafeAreaInsets.native.js.map +1 -0
  61. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  62. package/dist/esm/useSheetProviderProps.native.js.map +1 -1
  63. package/dist/esm/useSheetScrollViewGestures.mjs +12 -2
  64. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  65. package/dist/esm/useSheetScrollViewGestures.native.js +4 -0
  66. package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -1
  67. package/dist/esm/webViewport.mjs +23 -2
  68. package/dist/esm/webViewport.mjs.map +1 -1
  69. package/dist/esm/webViewport.native.js +25 -2
  70. package/dist/esm/webViewport.native.js.map +1 -1
  71. package/dist/jsx/SheetImplementationCustom.mjs +48 -73
  72. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  73. package/dist/jsx/SheetImplementationCustom.native.js +56 -69
  74. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  75. package/dist/jsx/SheetScrollView.mjs +58 -6
  76. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  77. package/dist/jsx/SheetScrollView.native.js +60 -5
  78. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  79. package/dist/jsx/createSheet.mjs +7 -5
  80. package/dist/jsx/createSheet.mjs.map +1 -1
  81. package/dist/jsx/createSheet.native.js +5 -2
  82. package/dist/jsx/createSheet.native.js.map +1 -1
  83. package/dist/jsx/keyboardAvoidance.mjs +50 -1
  84. package/dist/jsx/keyboardAvoidance.mjs.map +1 -1
  85. package/dist/jsx/keyboardAvoidance.native.js +54 -1
  86. package/dist/jsx/keyboardAvoidance.native.js.map +1 -1
  87. package/dist/jsx/nativeSheet.mjs +0 -1
  88. package/dist/jsx/nativeSheet.mjs.map +1 -1
  89. package/dist/jsx/nativeSheet.native.js +0 -1
  90. package/dist/jsx/nativeSheet.native.js.map +1 -1
  91. package/dist/jsx/useGestureHandlerPan.mjs +25 -10
  92. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  93. package/dist/jsx/useGestureHandlerPan.native.js +27 -10
  94. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  95. package/dist/jsx/useKeyboardControllerSheet.mjs +11 -5
  96. package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
  97. package/dist/jsx/useSafeAreaInsets.mjs +7 -0
  98. package/dist/jsx/useSafeAreaInsets.mjs.map +1 -0
  99. package/dist/jsx/useSafeAreaInsets.native.js +48 -0
  100. package/dist/jsx/useSafeAreaInsets.native.js.map +1 -0
  101. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  102. package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
  103. package/dist/jsx/useSheetScrollViewGestures.mjs +12 -2
  104. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  105. package/dist/jsx/useSheetScrollViewGestures.native.js +4 -0
  106. package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -1
  107. package/dist/jsx/webViewport.mjs +23 -2
  108. package/dist/jsx/webViewport.mjs.map +1 -1
  109. package/dist/jsx/webViewport.native.js +28 -1
  110. package/dist/jsx/webViewport.native.js.map +1 -1
  111. package/package.json +24 -25
  112. package/src/SheetImplementationCustom.tsx +147 -212
  113. package/src/SheetScrollView.tsx +81 -21
  114. package/src/createSheet.tsx +18 -6
  115. package/src/keyboardAvoidance.ts +91 -0
  116. package/src/nativeSheet.tsx +0 -1
  117. package/src/useGestureHandlerPan.tsx +29 -12
  118. package/src/useKeyboardControllerSheet.ts +35 -14
  119. package/src/useSafeAreaInsets.native.ts +29 -0
  120. package/src/useSafeAreaInsets.ts +19 -0
  121. package/src/useSheetProviderProps.tsx +4 -10
  122. package/src/useSheetScrollViewGestures.native.ts +4 -0
  123. package/src/useSheetScrollViewGestures.ts +19 -8
  124. package/src/webViewport.ts +56 -8
  125. package/test/keyboardAvoidance.test.ts +218 -2
  126. package/types/SheetContext.d.ts +0 -1
  127. package/types/SheetContext.d.ts.map +1 -1
  128. package/types/SheetImplementationCustom.d.ts.map +1 -1
  129. package/types/SheetScrollView.d.ts.map +1 -1
  130. package/types/createSheet.d.ts +12 -12
  131. package/types/createSheet.d.ts.map +1 -1
  132. package/types/keyboardAvoidance.d.ts +18 -0
  133. package/types/keyboardAvoidance.d.ts.map +1 -1
  134. package/types/nativeSheet.d.ts.map +1 -1
  135. package/types/useGestureHandlerPan.d.ts +4 -1
  136. package/types/useGestureHandlerPan.d.ts.map +1 -1
  137. package/types/useKeyboardControllerSheet.d.ts +5 -5
  138. package/types/useKeyboardControllerSheet.d.ts.map +1 -1
  139. package/types/useSafeAreaInsets.d.ts +10 -0
  140. package/types/useSafeAreaInsets.d.ts.map +1 -0
  141. package/types/useSafeAreaInsets.native.d.ts +20 -0
  142. package/types/useSafeAreaInsets.native.d.ts.map +1 -0
  143. package/types/useSheetProviderProps.d.ts +0 -1
  144. package/types/useSheetProviderProps.d.ts.map +1 -1
  145. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
  146. package/types/useSheetScrollViewGestures.native.d.ts.map +1 -1
  147. package/types/webViewport.d.ts +13 -7
  148. package/types/webViewport.d.ts.map +1 -1
@@ -64,7 +64,7 @@ const SheetScrollView = import_react.default.forwardRef(({
64
64
  screenSize
65
65
  } = context;
66
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;
67
+ const isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;
68
68
  const [scrollEnabled] = (0, import_use_controllable_state.useControllableState)({
69
69
  prop: scrollEnabledProp,
70
70
  defaultProp: true
@@ -81,10 +81,7 @@ const SheetScrollView = import_react.default.forwardRef(({
81
81
  } : {
82
82
  flex: 1
83
83
  };
84
- const isKeyboardSeeding = context.isKeyboardSeeding === true;
85
- const keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? isKeyboardSeeding ? {
86
- maxHeight: frozenFrameHeight
87
- } : {
84
+ const keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
88
85
  height: frozenFrameHeight,
89
86
  maxHeight: frozenFrameHeight
90
87
  } : null;
@@ -95,6 +92,7 @@ const SheetScrollView = import_react.default.forwardRef(({
95
92
  const useRNGHScrollView = (0, import_gestureState.isGestureHandlerEnabled)() && RNGHScrollView && panGestureRef;
96
93
  const currentScrollOffset = (0, import_react.useRef)(0);
97
94
  const lockedScrollY = (0, import_react.useRef)(0);
95
+ const focusedInputScrollFrame = (0, import_react.useRef)(0);
98
96
  const setScrollEnabled = (next, lockTo) => {
99
97
  if (!next) {
100
98
  const lockY = lockTo ?? currentScrollOffset.current;
@@ -117,6 +115,56 @@ const SheetScrollView = import_react.default.forwardRef(({
117
115
  animated: false
118
116
  });
119
117
  };
118
+ const scrollFocusedInputClearOfKeyboard = import_react.default.useCallback(() => {
119
+ if (!import_core.isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {
120
+ return;
121
+ }
122
+ const node = scrollRef.current?.getScrollableNode();
123
+ const active = document.activeElement;
124
+ if (!node || !active || !(0, import_webViewport.isEditableElement)(active) || !node.contains(active)) {
125
+ return;
126
+ }
127
+ const keyboardHeight = Math.max(keyboardOccludedHeight, (0, import_webViewport.getWebKeyboardBottomInset)());
128
+ if (keyboardHeight <= 0) return;
129
+ const activeRect = active.getBoundingClientRect();
130
+ const nodeRect = node.getBoundingClientRect();
131
+ const margin = 12;
132
+ const keyboardTop = (0, import_webViewport.getStableLayoutViewportHeight)() - keyboardHeight;
133
+ const visibleTop = nodeRect.top + margin;
134
+ const visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;
135
+ let nextScrollTop = node.scrollTop;
136
+ if (activeRect.bottom > visibleBottom) {
137
+ nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);
138
+ } else if (activeRect.top < visibleTop) {
139
+ nextScrollTop -= Math.ceil(visibleTop - activeRect.top);
140
+ }
141
+ const maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);
142
+ nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));
143
+ if (nextScrollTop === node.scrollTop) return;
144
+ node.scrollTop = nextScrollTop;
145
+ currentScrollOffset.current = nextScrollTop;
146
+ scrollBridge.y = nextScrollTop;
147
+ if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;
148
+ }, [hasFit, isKeyboardVisible, keyboardOccludedHeight, scrollBridge]);
149
+ const scheduleFocusedInputScroll = import_react.default.useCallback(() => {
150
+ if (!import_core.isWeb || !hasFit) return;
151
+ cancelAnimationFrame(focusedInputScrollFrame.current);
152
+ focusedInputScrollFrame.current = requestAnimationFrame(() => {
153
+ scrollFocusedInputClearOfKeyboard();
154
+ focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);
155
+ });
156
+ }, [hasFit, scrollFocusedInputClearOfKeyboard]);
157
+ (0, import_react.useEffect)(() => {
158
+ if (!import_core.isWeb || !hasFit) return;
159
+ scheduleFocusedInputScroll();
160
+ window.addEventListener("focusin", scheduleFocusedInputScroll);
161
+ window.visualViewport?.addEventListener("resize", scheduleFocusedInputScroll);
162
+ return () => {
163
+ cancelAnimationFrame(focusedInputScrollFrame.current);
164
+ window.removeEventListener("focusin", scheduleFocusedInputScroll);
165
+ window.visualViewport?.removeEventListener("resize", scheduleFocusedInputScroll);
166
+ };
167
+ }, [hasFit, scheduleFocusedInputScroll]);
120
168
  (0, import_react.useEffect)(() => {
121
169
  setHasScrollView(true);
122
170
  if ((0, import_gestureState.isGestureHandlerEnabled)()) {
@@ -153,6 +201,9 @@ const SheetScrollView = import_react.default.forwardRef(({
153
201
  if (height !== contentHeight.current) {
154
202
  contentHeight.current = height;
155
203
  updateScrollable();
204
+ if (keyboardOccludedHeight > 0) {
205
+ scheduleFocusedInputScroll();
206
+ }
156
207
  }
157
208
  },
158
209
  children: [children, keyboardOccludedHeight > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_core.View, {
@@ -228,6 +279,7 @@ const SheetScrollView = import_react.default.forwardRef(({
228
279
  const {
229
280
  y
230
281
  } = e.nativeEvent.contentOffset;
282
+ currentScrollOffset.current = y;
231
283
  scrollBridge.y = y;
232
284
  if (y > 0) scrollBridge.scrollStartY = -1;
233
285
  onScroll?.(e);
@@ -67,7 +67,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
67
67
  screenSize
68
68
  } = context;
69
69
  var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
70
- var isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.getWebKeyboardHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;
70
+ var isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;
71
71
  var [scrollEnabled] = (0, import_use_controllable_state.useControllableState)({
72
72
  prop: scrollEnabledProp,
73
73
  defaultProp: true
@@ -84,10 +84,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
84
84
  } : {
85
85
  flex: 1
86
86
  };
87
- var isKeyboardSeeding = context.isKeyboardSeeding === true;
88
- var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? isKeyboardSeeding ? {
89
- maxHeight: frozenFrameHeight
90
- } : {
87
+ var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
91
88
  height: frozenFrameHeight,
92
89
  maxHeight: frozenFrameHeight
93
90
  } : null;
@@ -98,6 +95,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
98
95
  var useRNGHScrollView = (0, import_gestureState.isGestureHandlerEnabled)() && RNGHScrollView && panGestureRef;
99
96
  var currentScrollOffset = (0, import_react.useRef)(0);
100
97
  var lockedScrollY = (0, import_react.useRef)(0);
98
+ var focusedInputScrollFrame = (0, import_react.useRef)(0);
101
99
  var setScrollEnabled = function (next, lockTo) {
102
100
  if (!next) {
103
101
  var _scrollRef_current_scrollTo, _scrollRef_current;
@@ -122,6 +120,59 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
122
120
  animated: false
123
121
  });
124
122
  };
123
+ var scrollFocusedInputClearOfKeyboard = import_react.default.useCallback(function () {
124
+ var _scrollRef_current;
125
+ if (!import_core.isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {
126
+ return;
127
+ }
128
+ var node = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.getScrollableNode();
129
+ var active = document.activeElement;
130
+ if (!node || !active || !(0, import_webViewport.isEditableElement)(active) || !node.contains(active)) {
131
+ return;
132
+ }
133
+ var keyboardHeight = Math.max(keyboardOccludedHeight, (0, import_webViewport.getWebKeyboardBottomInset)());
134
+ if (keyboardHeight <= 0) return;
135
+ var activeRect = active.getBoundingClientRect();
136
+ var nodeRect = node.getBoundingClientRect();
137
+ var margin = 12;
138
+ var keyboardTop = (0, import_webViewport.getStableLayoutViewportHeight)() - keyboardHeight;
139
+ var visibleTop = nodeRect.top + margin;
140
+ var visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;
141
+ var nextScrollTop = node.scrollTop;
142
+ if (activeRect.bottom > visibleBottom) {
143
+ nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);
144
+ } else if (activeRect.top < visibleTop) {
145
+ nextScrollTop -= Math.ceil(visibleTop - activeRect.top);
146
+ }
147
+ var maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);
148
+ nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));
149
+ if (nextScrollTop === node.scrollTop) return;
150
+ node.scrollTop = nextScrollTop;
151
+ currentScrollOffset.current = nextScrollTop;
152
+ scrollBridge.y = nextScrollTop;
153
+ if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;
154
+ }, [hasFit, isKeyboardVisible, keyboardOccludedHeight, scrollBridge]);
155
+ var scheduleFocusedInputScroll = import_react.default.useCallback(function () {
156
+ if (!import_core.isWeb || !hasFit) return;
157
+ cancelAnimationFrame(focusedInputScrollFrame.current);
158
+ focusedInputScrollFrame.current = requestAnimationFrame(function () {
159
+ scrollFocusedInputClearOfKeyboard();
160
+ focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);
161
+ });
162
+ }, [hasFit, scrollFocusedInputClearOfKeyboard]);
163
+ (0, import_react.useEffect)(function () {
164
+ var _window_visualViewport;
165
+ if (!import_core.isWeb || !hasFit) return;
166
+ scheduleFocusedInputScroll();
167
+ window.addEventListener("focusin", scheduleFocusedInputScroll);
168
+ (_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.addEventListener("resize", scheduleFocusedInputScroll);
169
+ return function () {
170
+ var _window_visualViewport2;
171
+ cancelAnimationFrame(focusedInputScrollFrame.current);
172
+ window.removeEventListener("focusin", scheduleFocusedInputScroll);
173
+ (_window_visualViewport2 = window.visualViewport) === null || _window_visualViewport2 === void 0 ? void 0 : _window_visualViewport2.removeEventListener("resize", scheduleFocusedInputScroll);
174
+ };
175
+ }, [hasFit, scheduleFocusedInputScroll]);
125
176
  (0, import_react.useEffect)(function () {
126
177
  setHasScrollView(true);
127
178
  if ((0, import_gestureState.isGestureHandlerEnabled)()) {
@@ -158,6 +209,9 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
158
209
  if (height !== contentHeight.current) {
159
210
  contentHeight.current = height;
160
211
  updateScrollable();
212
+ if (keyboardOccludedHeight > 0) {
213
+ scheduleFocusedInputScroll();
214
+ }
161
215
  }
162
216
  },
163
217
  children: [children, keyboardOccludedHeight > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_core.View, {
@@ -234,6 +288,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
234
288
  var {
235
289
  y
236
290
  } = e.nativeEvent.contentOffset;
291
+ currentScrollOffset.current = y;
237
292
  scrollBridge.y = y;
238
293
  if (y > 0) scrollBridge.scrollStartY = -1;
239
294
  onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SheetScrollView_exports","__export","SheetScrollView","module","exports","import_jsx_runtime","require","import_compose_refs","import_core","import_scroll_view","import_use_controllable_state","import_react","__toESM","import_GestureSheetContext","import_gestureState","import_SheetContext","import_useSheetScrollViewGestures","import_webViewport","SHEET_SCROLL_VIEW_NAME","default","forwardRef","param","ref","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","context","useSheetContext","gestureContext","useGestureSheetContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","isKeyboardVisible","isWeb","getWebKeyboardHeight","MIN_KEYBOARD_HEIGHT","useControllableState","prop","defaultProp","scrollRef","useRef","hasScrollableContent","setHasScrollableContent","useState","parentHeight","contentHeight","frozenFrameHeight","keyboardStableFrameHeight","fitSizingStyle","flex","height","maxHeight","isKeyboardSeeding","keyboardFrozenOverride","panGestureRef","ScrollView","RNGHScrollView","getGestureHandlerState","useRNGHScrollView","isGestureHandlerEnabled","currentScrollOffset","lockedScrollY","setScrollEnabled","next","lockTo","_scrollRef_current_scrollTo","_scrollRef_current","lockY","current","scrollLockY","scrollTo","call","x","y","animated","forceScrollTo","useEffect","updateScrollable","recordFitHeight","gestureProps","useSheetScrollViewGestures","contentWrapper","jsxs","View","onLayout","e","floor","nativeEvent","layout","jsx","width","RNGHComponent","composeRefs","style","scrollEventThrottle","simultaneousHandlers","ceil","contentOffset","scrollStartY","contentContainerStyle","minHeight","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SheetScrollView_exports","__export","SheetScrollView","module","exports","import_jsx_runtime","require","import_compose_refs","import_core","import_scroll_view","import_use_controllable_state","import_react","__toESM","import_GestureSheetContext","import_gestureState","import_SheetContext","import_useSheetScrollViewGestures","import_webViewport","SHEET_SCROLL_VIEW_NAME","default","forwardRef","param","ref","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","context","useSheetContext","gestureContext","useGestureSheetContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","isKeyboardVisible","isWeb","getWebKeyboardResizeHeight","MIN_KEYBOARD_HEIGHT","useControllableState","prop","defaultProp","scrollRef","useRef","hasScrollableContent","setHasScrollableContent","useState","parentHeight","contentHeight","frozenFrameHeight","keyboardStableFrameHeight","fitSizingStyle","flex","height","maxHeight","keyboardFrozenOverride","panGestureRef","ScrollView","RNGHScrollView","getGestureHandlerState","useRNGHScrollView","isGestureHandlerEnabled","currentScrollOffset","lockedScrollY","focusedInputScrollFrame","setScrollEnabled","next","lockTo","_scrollRef_current_scrollTo","_scrollRef_current","lockY","current","scrollLockY","scrollTo","call","x","y","animated","forceScrollTo","scrollFocusedInputClearOfKeyboard","useCallback","node","getScrollableNode","active","document","activeElement","isEditableElement","contains","keyboardHeight","getWebKeyboardBottomInset","activeRect","getBoundingClientRect","nodeRect","margin","keyboardTop","getStableLayoutViewportHeight","visibleTop","top","visibleBottom","min","bottom","nextScrollTop","scrollTop","ceil","maxScrollTop","scrollHeight","clientHeight","scrollStartY","scheduleFocusedInputScroll","cancelAnimationFrame","requestAnimationFrame","useEffect","_window_visualViewport","window","addEventListener","visualViewport","_window_visualViewport2","removeEventListener","updateScrollable","recordFitHeight","gestureProps","useSheetScrollViewGestures","contentWrapper","jsxs","View","onLayout","e","floor","nativeEvent","layout","jsx","width","RNGHComponent","composeRefs","style","scrollEventThrottle","simultaneousHandlers","contentOffset","contentContainerStyle","minHeight","bounces","keyboardShouldPersistTaps","keyboardDismissMode"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -42,6 +42,7 @@ var import_SheetImplementationCustom = require("./SheetImplementationCustom.cjs"
42
42
  var import_SheetScrollView = require("./SheetScrollView.cjs");
43
43
  var import_useSheetController = require("./useSheetController.cjs");
44
44
  var import_useSheetOffscreenSize = require("./useSheetOffscreenSize.cjs");
45
+ var import_webViewport = require("./webViewport.cjs");
45
46
  var import_jsx_runtime = require("react/jsx-runtime");
46
47
  function createSheet({
47
48
  Handle,
@@ -148,13 +149,15 @@ function createSheet({
148
149
  }), !disableHideBottomOverflow && /* @__PURE__ */(0, import_jsx_runtime.jsx)(Frame, {
149
150
  ...props,
150
151
  componentName: "SheetCover",
152
+ "data-sheet-cover": "",
151
153
  children: null,
152
154
  testID: void 0,
153
155
  id: void 0,
154
156
  position: "absolute",
155
- bottom: "-100%",
157
+ top: "100%",
156
158
  zIndex: -1,
157
- height: context.frameSize,
159
+ height: import_constants.isWeb ? Math.max(context.frameSize, (0, import_webViewport.getMaxViewportHeight)()) : context.frameSize,
160
+ maxHeight: import_constants.isWeb ? "none" : void 0,
158
161
  left: 0,
159
162
  right: 0,
160
163
  borderWidth: 0,
@@ -45,6 +45,7 @@ var import_SheetImplementationCustom = require("./SheetImplementationCustom.nati
45
45
  var import_SheetScrollView = require("./SheetScrollView.native.js");
46
46
  var import_useSheetController = require("./useSheetController.native.js");
47
47
  var import_useSheetOffscreenSize = require("./useSheetOffscreenSize.native.js");
48
+ var import_webViewport = require("./webViewport.native.js");
48
49
  function createSheet(param) {
49
50
  var {
50
51
  Handle,
@@ -154,13 +155,15 @@ function createSheet(param) {
154
155
  }), !disableHideBottomOverflow && /* @__PURE__ */(0, import_jsx_runtime.jsx)(Frame, {
155
156
  ...props,
156
157
  componentName: "SheetCover",
158
+ "data-sheet-cover": "",
157
159
  children: null,
158
160
  testID: void 0,
159
161
  id: void 0,
160
162
  position: "absolute",
161
- bottom: "-100%",
163
+ top: "100%",
162
164
  zIndex: -1,
163
- height: context.frameSize,
165
+ height: import_constants.isWeb ? Math.max(context.frameSize, (0, import_webViewport.getMaxViewportHeight)()) : context.frameSize,
166
+ maxHeight: import_constants.isWeb ? "none" : void 0,
164
167
  left: 0,
165
168
  right: 0,
166
169
  borderWidth: 0,
@@ -1 +1 @@
1
- {"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","createSheet_exports","__export","createSheet","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_core","import_helpers","import_portal","import_remove_scroll","import_use_did_finish_ssr","import_z_index_stack","import_react","import_react_native","import_constants2","import_nativeSheet","import_SheetContext","import_SheetImplementationCustom","import_SheetScrollView","import_useSheetController","import_useSheetOffscreenSize","param","Handle","Frame","Overlay","SheetHandle","styleable","param2","forwardedRef","__scopeSheet","props","context","useSheetContext","SHEET_HANDLE_NAME","composedRef","useComposedRefs","handleRef","wasDraggingRef","useRef","useEffect","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","jsx","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","SHEET_OVERLAY_NAME","element","useMemo","composeEventHandlers","dismissOnOverlayPress","setOpen","opacity","useIsomorphicLayoutEffect","_context_onOverlayComponent","onOverlayComponent","call","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","SHEET_NAME","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","useSheetOffscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","jsxs","flex","flexBasis","height","pointerEvents","StackZIndexContext","zIndex","resolveViewZIndex","View","width","Fragment","RemoveScroll","enabled","componentName","testID","id","bottom","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","forwardRef","Sheet2","hydrated","useDidFinishSSR","isShowingNonSheet","useSheetController","SheetImplementation","SheetImplementationCustom","native","Platform","OS","impl","getNativeSheet","components","ScrollView","SheetScrollView","Controlled","withStaticProperties"],"sources":["../../src/createSheet.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","createSheet_exports","__export","createSheet","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_core","import_helpers","import_portal","import_remove_scroll","import_use_did_finish_ssr","import_z_index_stack","import_react","import_react_native","import_constants2","import_nativeSheet","import_SheetContext","import_SheetImplementationCustom","import_SheetScrollView","import_useSheetController","import_useSheetOffscreenSize","import_webViewport","param","Handle","Frame","Overlay","SheetHandle","styleable","param2","forwardedRef","__scopeSheet","props","context","useSheetContext","SHEET_HANDLE_NAME","composedRef","useComposedRefs","handleRef","wasDraggingRef","useRef","useEffect","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","jsx","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","SHEET_OVERLAY_NAME","element","useMemo","composeEventHandlers","dismissOnOverlayPress","setOpen","opacity","useIsomorphicLayoutEffect","_context_onOverlayComponent","onOverlayComponent","call","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","SHEET_NAME","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","useSheetOffscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","jsxs","flex","flexBasis","height","pointerEvents","StackZIndexContext","zIndex","resolveViewZIndex","View","width","Fragment","RemoveScroll","enabled","componentName","testID","id","top","isWeb","Math","getMaxViewportHeight","maxHeight","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","forwardRef","Sheet2","hydrated","useDidFinishSSR","isShowingNonSheet","useSheetController","SheetImplementation","SheetImplementationCustom","native","Platform","OS","impl","getNativeSheet","components","ScrollView","SheetScrollView","Controlled","withStaticProperties"],"sources":["../../src/createSheet.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -22,9 +22,60 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var keyboardAvoidance_exports = {};
24
24
  __export(keyboardAvoidance_exports, {
25
- getKeyboardOccludedHeight: () => getKeyboardOccludedHeight
25
+ getKeyboardAdjustedSheetY: () => getKeyboardAdjustedSheetY,
26
+ getKeyboardOccludedHeight: () => getKeyboardOccludedHeight,
27
+ getSheetReleasePosition: () => getSheetReleasePosition
26
28
  });
27
29
  module.exports = __toCommonJS(keyboardAvoidance_exports);
30
+ function getKeyboardAdjustedSheetY({
31
+ sheetY,
32
+ screenSize,
33
+ isKeyboardVisible,
34
+ keyboardHeight,
35
+ shouldTranslate,
36
+ safeAreaTop
37
+ }) {
38
+ if (!shouldTranslate || !isKeyboardVisible || keyboardHeight <= 0 || screenSize <= 0 || sheetY >= screenSize) {
39
+ return sheetY;
40
+ }
41
+ return Math.max(safeAreaTop, sheetY - keyboardHeight);
42
+ }
43
+ function getSheetReleasePosition({
44
+ positions,
45
+ projectedEnd,
46
+ currentPosition,
47
+ frameSize,
48
+ dismissOnSnapToBottom,
49
+ snapPointsMode,
50
+ isKeyboardVisible,
51
+ isWeb
52
+ }) {
53
+ let closestPoint = 0;
54
+ let dist = Number.POSITIVE_INFINITY;
55
+ for (let i = 0; i < positions.length; i++) {
56
+ const position = positions[i];
57
+ const curDist = Math.abs(projectedEnd - position);
58
+ if (curDist < dist) {
59
+ dist = curDist;
60
+ closestPoint = i;
61
+ }
62
+ }
63
+ const dismissPoint = positions.length - 1;
64
+ const isKeyboardFitDismiss = isWeb && dismissOnSnapToBottom && isKeyboardVisible && snapPointsMode === "fit" && positions.length === 2 && closestPoint === dismissPoint;
65
+ if (!isKeyboardFitDismiss) {
66
+ return closestPoint;
67
+ }
68
+ const openPosition = positions[0];
69
+ const dismissPosition = positions[dismissPoint];
70
+ const dismissDistance = dismissPosition - openPosition;
71
+ if (dismissDistance <= 0 || frameSize <= 0) {
72
+ return closestPoint;
73
+ }
74
+ const draggedDistance = Math.max(0, currentPosition - openPosition);
75
+ const thresholdBase = Math.min(frameSize, dismissDistance);
76
+ const dismissThreshold = Math.max(120, thresholdBase * 0.35);
77
+ return draggedDistance >= dismissThreshold ? closestPoint : 0;
78
+ }
28
79
  function getKeyboardOccludedHeight({
29
80
  frameSize,
30
81
  isKeyboardVisible,
@@ -24,9 +24,62 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var keyboardAvoidance_exports = {};
26
26
  __export(keyboardAvoidance_exports, {
27
- getKeyboardOccludedHeight: () => getKeyboardOccludedHeight
27
+ getKeyboardAdjustedSheetY: () => getKeyboardAdjustedSheetY,
28
+ getKeyboardOccludedHeight: () => getKeyboardOccludedHeight,
29
+ getSheetReleasePosition: () => getSheetReleasePosition
28
30
  });
29
31
  module.exports = __toCommonJS(keyboardAvoidance_exports);
32
+ function getKeyboardAdjustedSheetY(param) {
33
+ var {
34
+ sheetY,
35
+ screenSize,
36
+ isKeyboardVisible,
37
+ keyboardHeight,
38
+ shouldTranslate,
39
+ safeAreaTop
40
+ } = param;
41
+ if (!shouldTranslate || !isKeyboardVisible || keyboardHeight <= 0 || screenSize <= 0 || sheetY >= screenSize) {
42
+ return sheetY;
43
+ }
44
+ return Math.max(safeAreaTop, sheetY - keyboardHeight);
45
+ }
46
+ function getSheetReleasePosition(param) {
47
+ var {
48
+ positions,
49
+ projectedEnd,
50
+ currentPosition,
51
+ frameSize,
52
+ dismissOnSnapToBottom,
53
+ snapPointsMode,
54
+ isKeyboardVisible,
55
+ isWeb
56
+ } = param;
57
+ var closestPoint = 0;
58
+ var dist = Number.POSITIVE_INFINITY;
59
+ for (var i = 0; i < positions.length; i++) {
60
+ var position = positions[i];
61
+ var curDist = Math.abs(projectedEnd - position);
62
+ if (curDist < dist) {
63
+ dist = curDist;
64
+ closestPoint = i;
65
+ }
66
+ }
67
+ var dismissPoint = positions.length - 1;
68
+ var isKeyboardFitDismiss = isWeb && dismissOnSnapToBottom && isKeyboardVisible && snapPointsMode === "fit" && positions.length === 2 && closestPoint === dismissPoint;
69
+ if (!isKeyboardFitDismiss) {
70
+ return closestPoint;
71
+ }
72
+ var openPosition = positions[0];
73
+ var dismissPosition = positions[dismissPoint];
74
+ var dismissDistance = dismissPosition - openPosition;
75
+ if (dismissDistance <= 0 || frameSize <= 0) {
76
+ return closestPoint;
77
+ }
78
+ var draggedDistance = Math.max(0, currentPosition - openPosition);
79
+ var thresholdBase = Math.min(frameSize, dismissDistance);
80
+ var dismissThreshold = Math.max(120, thresholdBase * 0.35);
81
+ return draggedDistance >= dismissThreshold ? closestPoint : 0;
82
+ }
30
83
  function getKeyboardOccludedHeight(param) {
31
84
  var {
32
85
  frameSize,
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","keyboardAvoidance_exports","__export","getKeyboardOccludedHeight","module","exports","param","frameSize","isKeyboardVisible","keyboardHeight","screenSize","sheetY","keyboardTop","sheetBottom","occludedHeight","Math","ceil","min","max"],"sources":["../../src/keyboardAvoidance.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,yBAAA;AAAAC,QAAA,CAAAD,yBAAA;EAAAE,yBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAOC,MAAA,CAAAC,OAAS,GAAAT,YAAA,CAAAK,yBAA0B;AAAA,SACxCE,0BAAAG,KAAA;EACA;IAAAC,SAAA;IAAAC,iBAAA;IAAAC,cAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAL,KAAA;EACA,KAAAE,iBAAA,IAAAC,cAAA,SAAAC,UAAA,SAAAH,SAAA,SAAAI,MAAA,eAAAA,MAAA,IAAAD,UAAA;IACA;EACA;EACF,IAMGE,WAAA,GAAAF,UAAA,GAAAD,cAAA;EACD,IACEI,WAAC,GAAAF,MAAA,GACDJ,SAAA;EAMA,IAAAO,cAAO,GAAAC,IAAA,CAAAC,IAAA,CAAAH,WAAA,GAAAD,WAAA;EACT,OAAAG,IAAA,CAAAE,GAAA,CAAAV,SAAA,EAAAQ,IAAA,CAAAG,GAAA,IAAAJ,cAAA;AAEA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","keyboardAvoidance_exports","__export","getKeyboardAdjustedSheetY","getKeyboardOccludedHeight","getSheetReleasePosition","module","exports","param","sheetY","screenSize","isKeyboardVisible","keyboardHeight","shouldTranslate","safeAreaTop","Math","max","positions","projectedEnd","currentPosition","frameSize","dismissOnSnapToBottom","snapPointsMode","isWeb","closestPoint","dist","Number","POSITIVE_INFINITY","i","length","position","curDist","abs","dismissPoint","isKeyboardFitDismiss","openPosition","dismissPosition","dismissDistance","draggedDistance","thresholdBase","min","dismissThreshold","keyboardTop","sheetBottom","occludedHeight","ceil"],"sources":["../../src/keyboardAvoidance.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -70,7 +70,6 @@ function setupNativeSheet(platform, RNIOSModal) {
70
70
  keyboardOccludedHeight: 0,
71
71
  isKeyboardVisible: false,
72
72
  keyboardStableFrameHeight: 0,
73
- isKeyboardSeeding: false,
74
73
  ...providerProps,
75
74
  onlyShowFrame: true,
76
75
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(ModalSheetView, {
@@ -75,7 +75,6 @@ function setupNativeSheet(platform, RNIOSModal) {
75
75
  keyboardOccludedHeight: 0,
76
76
  isKeyboardVisible: false,
77
77
  keyboardStableFrameHeight: 0,
78
- isKeyboardSeeding: false,
79
78
  ...providerProps,
80
79
  onlyShowFrame: true,
81
80
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(ModalSheetView, {
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","nativeSheet_exports","__export","getNativeSheet","setupNativeSheet","module","exports","import_jsx_runtime","require","import_stacks","import_react","import_react_native","import_SheetContext","import_useSheetOpenState","import_useSheetProviderProps","nativeSheets","ios","platform","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","useSheetOpenState","providerProps","useSheetProviderProps","open","setOpen","ref","useRef","useEffect","_ref_current","current","presentModal","_ref_current1","dismissModal","setOpenInternal","next","_props_onOpenChange","onOpenChange","call","jsx","Fragment","children","jsxs","SheetProvider","setHasScrollView","emptyFn","keyboardOccludedHeight","isKeyboardVisible","keyboardStableFrameHeight","isKeyboardSeeding","onlyShowFrame","onModalDidDismiss","View","style","flex"],"sources":["../../src/nativeSheet.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAuB,CAAAK,mBAAA;AAEvB,IAAAM,kBAAkC,GAAAC,OAAA;AAClC,IAAAC,aAAA,GAAAD,OAAqB;AACrB,IAAAE,YAAA,GAAAF,OAA8B;AAE9B,IAAAG,mBAAA,GAAAH,OAAkC;AAClC,IAAAI,mBAAA,GAAAJ,OAAA,2BAAsC;AAqD9B,IAAAK,wBAAA,GAAAL,OAAA;AA/CR,IAAAM,4BAAyF,GAAAN,OAAA;AAAA,IACvFO,YAAK;EACPC,GAAA;AAEO;AACL,SAAOb,cAAaA,CAAAc,QAAQ;EAC9B,OAAAF,YAAA,CAAAE,QAAA;AAEO;AAIL,SAAMb,gBAAEA,CAAgBa,QAAA,EAAAC,UAAA;EAExB,IAAI;IAAAC,cAAa;IAAAC;EAAO,IAAAF,UAAA;EACtB,IAAAD,QAAA,KAAa,OAAQ;IACnBF,YAAM,CAAAE,QAAQ,cAAAI,KAAA;MACd,IAAAC,KAAM,OAAAT,wBAAgB,CAAAU,iBAAA,EAAAF,KAAA;MAItB,IAAAG,aAAc,KAAQ,EAAAV,4BAAI,CAAAW,qBAAA,EAAAJ,KAAA,EAAAC,KAAA;MAC1B;QAAMI,IAAA;QAAAC;MAAM,IAAAL,KAAA;MAKZ,IAAAM,GAAA,OAAAlB,YAAA,CAAAmB,MAAU,EAAM;MACd,IAAAnB,YAAU,CAAAoB,SAAA;QACR,IAAAJ,IAAI;UACN,IAAAK,YAAO;UACL,CAAAA,YAAa,GAAAH,GAAA,CAAAI,OAAa,cAAAD,YAAA,uBAAAA,YAAA,CAAAE,YAAA;QAC5B;UACE,IAAIC,aAAC;UAET,CAAAA,aAAS,GAAAN,GAAA,CAAgBI,OAAe,cAAAE,aAAA,uBAAAA,aAAA,CAAAC,YAAA;QACtC;MACA,IACFT,IAAA,CAQA;MAEI,SAACU,gBAAAC,IAAA;QAAA,IAAAC,mBAAA;QAAA,CAAAA,mBACmB,GAAAjB,KAAA,CAAAkB,YAAA,cAAAD,mBAAA,uBAAAA,mBAAA,CAAAE,IAAA,CAAAnB,KAAA,EAAAK,IAAA;QAAAC,OAClB,CAAAU,IAAA;MAAwB;MACL,OACnB,mBAAA9B,kBAA2B,CAAAkC,GAAA,EAAAlC,kBAAA,CAAAmC,QAAA;QAAAC,QAC3B,iBAAmB,IAAApC,kBAAA,CAAAqC,IAAA,EAAAhC,mBAAA,CAAAiC,aAAA;UAClBC,gBAAG,EAAAC,OAAA;UACJC,sBAAa;UAEbC,iBAAA;UAAAC,yBAAA;UAIAC,iBAIA;UAAA,GAAA3B,aAAC;UAAA4B,aAAA;UAAAT,QACC,GAAS,eACA,IAAApC,kBAAA,CAAAkC,GAAA,EAAAtB,cAAA;YAAAS,GACT;YAAcyB,iBACP,WAAAA,CAAA;cACP,OAAAjB,eAAQ;YAAA;YAEDO,QAAA,qBAAApC,kBAAA,CAAAkC,GAAA,EAAArB,yBAAA;cACTuB,QAAA,qBAAApC,kBAAA,CAAAkC,GAAA,EAAA9B,mBAAA,CAAA2C,IAAA;gBAAAC,KAAA;kBAAAC,IAAA;gBAEJ;gBAEJb,QAAA,EAAAtB,KAAA,CAAAsB;cACF;YACF;UAEM,IAEN","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","nativeSheet_exports","__export","getNativeSheet","setupNativeSheet","module","exports","import_jsx_runtime","require","import_stacks","import_react","import_react_native","import_SheetContext","import_useSheetOpenState","import_useSheetProviderProps","nativeSheets","ios","platform","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","useSheetOpenState","providerProps","useSheetProviderProps","open","setOpen","ref","useRef","useEffect","_ref_current","current","presentModal","_ref_current1","dismissModal","setOpenInternal","next","_props_onOpenChange","onOpenChange","call","jsx","Fragment","children","jsxs","SheetProvider","setHasScrollView","emptyFn","keyboardOccludedHeight","isKeyboardVisible","keyboardStableFrameHeight","onlyShowFrame","onModalDidDismiss","View","style","flex"],"sources":["../../src/nativeSheet.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAuB,CAAAK,mBAAA;AAEvB,IAAAM,kBAAkC,GAAAC,OAAA;AAClC,IAAAC,aAAA,GAAAD,OAAqB;AACrB,IAAAE,YAAA,GAAAF,OAA8B;AAE9B,IAAAG,mBAAA,GAAAH,OAAkC;AAClC,IAAAI,mBAAA,GAAAJ,OAAA,2BAAsC;AAqD9B,IAAAK,wBAAA,GAAAL,OAAA;AA/CR,IAAAM,4BAAyF,GAAAN,OAAA;AAAA,IACvFO,YAAK;EACPC,GAAA;AAEO;AACL,SAAOb,cAAaA,CAAAc,QAAQ;EAC9B,OAAAF,YAAA,CAAAE,QAAA;AAEO;AAIL,SAAMb,gBAAEA,CAAgBa,QAAA,EAAAC,UAAA;EAExB,IAAI;IAAAC,cAAa;IAAAC;EAAO,IAAAF,UAAA;EACtB,IAAAD,QAAA,KAAa,OAAQ;IACnBF,YAAM,CAAAE,QAAQ,cAAAI,KAAA;MACd,IAAAC,KAAM,OAAAT,wBAAgB,CAAAU,iBAAA,EAAAF,KAAA;MAItB,IAAAG,aAAc,KAAQ,EAAAV,4BAAI,CAAAW,qBAAA,EAAAJ,KAAA,EAAAC,KAAA;MAC1B;QAAMI,IAAA;QAAAC;MAAM,IAAAL,KAAA;MAKZ,IAAAM,GAAA,OAAAlB,YAAA,CAAAmB,MAAU,EAAM;MACd,IAAAnB,YAAU,CAAAoB,SAAA;QACR,IAAAJ,IAAI;UACN,IAAAK,YAAO;UACL,CAAAA,YAAa,GAAAH,GAAA,CAAAI,OAAa,cAAAD,YAAA,uBAAAA,YAAA,CAAAE,YAAA;QAC5B;UACE,IAAIC,aAAC;UAET,CAAAA,aAAS,GAAAN,GAAA,CAAgBI,OAAe,cAAAE,aAAA,uBAAAA,aAAA,CAAAC,YAAA;QACtC;MACA,IACFT,IAAA,CAQA;MAEI,SAACU,gBAAAC,IAAA;QAAA,IAAAC,mBAAA;QAAA,CAAAA,mBACmB,GAAAjB,KAAA,CAAAkB,YAAA,cAAAD,mBAAA,uBAAAA,mBAAA,CAAAE,IAAA,CAAAnB,KAAA,EAAAK,IAAA;QAAAC,OAClB,CAAAU,IAAA;MAAwB;MACL,OACnB,mBAAA9B,kBAA2B,CAAAkC,GAAA,EAAAlC,kBAAA,CAAAmC,QAAA;QAAAC,QACvB,qBAAApC,kBAAA,CAAAqC,IAAA,EAAAhC,mBAAA,CAAAiC,aAAA;UACJC,gBAAa,EAAAC,OAAA;UAEbC,sBAAA;UAAAC,iBAAA;UAIAC,yBAIA;UAAA,GAAA1B,aAAC;UAAA2B,aAAA;UAAAR,QACC,GAAS,eACA,IAAApC,kBAAA,CAAAkC,GAAA,EAAAtB,cAAA;YAAAS,GACT;YAAcwB,iBACP,WAAAA,CAAA;cACP,OAAAhB,eAAQ;YAAA;YAEDO,QAAA,qBAAApC,kBAAA,CAAAkC,GAAA,EAAArB,yBAAA;cACTuB,QAAA,qBAAApC,kBAAA,CAAAkC,GAAA,EAAA9B,mBAAA,CAAA0C,IAAA;gBAAAC,KAAA;kBAAAC,IAAA;gBAEJ;gBAEJZ,QAAA,EAAAtB,KAAA,CAAAsB;cACF;YACF;UAEM,IAEN","ignoreList":[]}
@@ -25,8 +25,10 @@ __export(useGestureHandlerPan_exports, {
25
25
  useGestureHandlerPan: () => useGestureHandlerPan
26
26
  });
27
27
  module.exports = __toCommonJS(useGestureHandlerPan_exports);
28
+ var import_constants = require("@tamagui/constants");
28
29
  var import_react = require("react");
29
30
  var import_gestureState = require("./gestureState.cjs");
31
+ var import_keyboardAvoidance = require("./keyboardAvoidance.cjs");
30
32
  const AT_TOP_THRESHOLD = 5;
31
33
  function useGestureHandlerPan(config) {
32
34
  const {
@@ -46,6 +48,16 @@ function useGestureHandlerPan(config) {
46
48
  } = config;
47
49
  const gestureHandlerEnabled = (0, import_gestureState.isGestureHandlerEnabled)();
48
50
  const panGestureRef = (0, import_react.useRef)(null);
51
+ const releaseConfigRef = (0, import_react.useRef)({
52
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
53
+ snapPointsMode: config.snapPointsMode ?? "percent",
54
+ isKeyboardVisible: config.isKeyboardVisible === true
55
+ });
56
+ releaseConfigRef.current = {
57
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
58
+ snapPointsMode: config.snapPointsMode ?? "percent",
59
+ isKeyboardVisible: config.isKeyboardVisible === true
60
+ };
49
61
  const gestureStateRef = (0, import_react.useRef)({
50
62
  startY: 0,
51
63
  // track last translation when pan was active (for position calculation after handoff)
@@ -60,6 +72,7 @@ function useGestureHandlerPan(config) {
60
72
  // causing positions to revert. Frozen positions ensure stable snap calculation.
61
73
  frozenPositions: [],
62
74
  frozenMinY: 0,
75
+ frozenIsKeyboardVisible: false,
63
76
  // whether pan gesture actually started (vs just a tap in onBegin)
64
77
  panStarted: false
65
78
  });
@@ -100,6 +113,7 @@ function useGestureHandlerPan(config) {
100
113
  gs.scrollEngaged = currentScrollY > 0;
101
114
  gs.frozenPositions = [...positions];
102
115
  gs.frozenMinY = minY;
116
+ gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
103
117
  if (!atTop) {
104
118
  scrollBridge.setScrollEnabled?.(false, 0);
105
119
  }
@@ -172,16 +186,17 @@ function useGestureHandlerPan(config) {
172
186
  }
173
187
  const velocity = velocityY / 1e3;
174
188
  const projectedEnd = currentPos + frameSize * velocity * 0.2;
175
- let closestPoint = 0;
176
- let minDist = Number.POSITIVE_INFINITY;
177
- for (let i = 0; i < snapPositions.length; i++) {
178
- const pos = snapPositions[i];
179
- const dist = Math.abs(projectedEnd - pos);
180
- if (dist < minDist) {
181
- minDist = dist;
182
- closestPoint = i;
183
- }
184
- }
189
+ const releaseConfig = releaseConfigRef.current;
190
+ const closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({
191
+ positions: snapPositions,
192
+ projectedEnd,
193
+ currentPosition: currentPos,
194
+ frameSize,
195
+ dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,
196
+ snapPointsMode: releaseConfig.snapPointsMode,
197
+ isKeyboardVisible: gs.frozenIsKeyboardVisible,
198
+ isWeb: import_constants.isWeb
199
+ });
185
200
  onEnd(closestPoint);
186
201
  }).onFinalize(() => {
187
202
  scrollBridge.scrollLockY = void 0;