@tamagui/sheet 2.3.3 → 2.4.0-1783099846627

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 (96) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/SheetImplementationCustom.cjs +42 -29
  3. package/dist/cjs/SheetImplementationCustom.native.js +46 -33
  4. package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
  5. package/dist/cjs/SheetScrollView.cjs +64 -22
  6. package/dist/cjs/SheetScrollView.native.js +66 -23
  7. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  8. package/dist/cjs/gestureState.cjs +13 -2
  9. package/dist/cjs/gestureState.native.js +14 -2
  10. package/dist/cjs/gestureState.native.js.map +1 -1
  11. package/dist/cjs/index.cjs +12 -1
  12. package/dist/cjs/index.native.js +11 -0
  13. package/dist/cjs/index.native.js.map +1 -1
  14. package/dist/cjs/setupGestureHandler.cjs +7 -4
  15. package/dist/cjs/setupGestureHandler.native.js +9 -4
  16. package/dist/cjs/setupGestureHandler.native.js.map +1 -1
  17. package/dist/cjs/useGestureHandlerPan.cjs +61 -8
  18. package/dist/cjs/useGestureHandlerPan.native.js +64 -8
  19. package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
  20. package/dist/cjs/useSheetScrollViewGestures.cjs +13 -3
  21. package/dist/esm/SheetImplementationCustom.mjs +43 -32
  22. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  23. package/dist/esm/SheetImplementationCustom.native.js +47 -36
  24. package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
  25. package/dist/esm/SheetScrollView.mjs +64 -22
  26. package/dist/esm/SheetScrollView.mjs.map +1 -1
  27. package/dist/esm/SheetScrollView.native.js +66 -23
  28. package/dist/esm/SheetScrollView.native.js.map +1 -1
  29. package/dist/esm/gestureState.mjs +13 -2
  30. package/dist/esm/gestureState.mjs.map +1 -1
  31. package/dist/esm/gestureState.native.js +14 -2
  32. package/dist/esm/gestureState.native.js.map +1 -1
  33. package/dist/esm/index.js +2 -0
  34. package/dist/esm/index.js.map +1 -1
  35. package/dist/esm/index.mjs +2 -0
  36. package/dist/esm/index.mjs.map +1 -1
  37. package/dist/esm/index.native.js +2 -0
  38. package/dist/esm/index.native.js.map +1 -1
  39. package/dist/esm/setupGestureHandler.mjs +7 -4
  40. package/dist/esm/setupGestureHandler.mjs.map +1 -1
  41. package/dist/esm/setupGestureHandler.native.js +9 -4
  42. package/dist/esm/setupGestureHandler.native.js.map +1 -1
  43. package/dist/esm/useGestureHandlerPan.mjs +62 -9
  44. package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
  45. package/dist/esm/useGestureHandlerPan.native.js +65 -9
  46. package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
  47. package/dist/esm/useSheetScrollViewGestures.mjs +13 -3
  48. package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
  49. package/dist/jsx/SheetImplementationCustom.mjs +43 -32
  50. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  51. package/dist/jsx/SheetImplementationCustom.native.js +46 -33
  52. package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
  53. package/dist/jsx/SheetScrollView.mjs +64 -22
  54. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  55. package/dist/jsx/SheetScrollView.native.js +66 -23
  56. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  57. package/dist/jsx/gestureState.mjs +13 -2
  58. package/dist/jsx/gestureState.mjs.map +1 -1
  59. package/dist/jsx/gestureState.native.js +14 -2
  60. package/dist/jsx/gestureState.native.js.map +1 -1
  61. package/dist/jsx/index.js +2 -0
  62. package/dist/jsx/index.js.map +1 -1
  63. package/dist/jsx/index.mjs +2 -0
  64. package/dist/jsx/index.mjs.map +1 -1
  65. package/dist/jsx/index.native.js +11 -0
  66. package/dist/jsx/index.native.js.map +1 -1
  67. package/dist/jsx/setupGestureHandler.mjs +7 -4
  68. package/dist/jsx/setupGestureHandler.mjs.map +1 -1
  69. package/dist/jsx/setupGestureHandler.native.js +9 -4
  70. package/dist/jsx/setupGestureHandler.native.js.map +1 -1
  71. package/dist/jsx/useGestureHandlerPan.mjs +62 -9
  72. package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
  73. package/dist/jsx/useGestureHandlerPan.native.js +64 -8
  74. package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
  75. package/dist/jsx/useSheetScrollViewGestures.mjs +13 -3
  76. package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
  77. package/package.json +20 -20
  78. package/src/SheetImplementationCustom.tsx +79 -47
  79. package/src/SheetScrollView.tsx +61 -13
  80. package/src/gestureState.ts +22 -2
  81. package/src/index.ts +4 -0
  82. package/src/setupGestureHandler.ts +12 -3
  83. package/src/types.tsx +3 -0
  84. package/src/useGestureHandlerPan.tsx +64 -10
  85. package/src/useSheetScrollViewGestures.ts +17 -2
  86. package/types/SheetImplementationCustom.d.ts.map +1 -1
  87. package/types/SheetScrollView.d.ts.map +1 -1
  88. package/types/gestureState.d.ts.map +1 -1
  89. package/types/index.d.ts +1 -0
  90. package/types/index.d.ts.map +1 -1
  91. package/types/setupGestureHandler.d.ts.map +1 -1
  92. package/types/types.d.ts +1 -0
  93. package/types/types.d.ts.map +1 -1
  94. package/types/useGestureHandlerPan.d.ts.map +1 -1
  95. package/types/useSheetScrollViewGestures.d.ts +2 -1
  96. package/types/useSheetScrollViewGestures.d.ts.map +1 -1
@@ -84,6 +84,9 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
84
84
  } : {
85
85
  flex: 1
86
86
  };
87
+ var contentContainerStyle = hasFit ? void 0 : {
88
+ minHeight: "100%"
89
+ };
87
90
  var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
88
91
  height: frozenFrameHeight,
89
92
  maxHeight: frozenFrameHeight
@@ -94,20 +97,33 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
94
97
  } = (0, import_gestureState.getGestureHandlerState)();
95
98
  var useRNGHScrollView = (0, import_gestureState.isGestureHandlerEnabled)() && RNGHScrollView && panGestureRef;
96
99
  var currentScrollOffset = (0, import_react.useRef)(0);
100
+ var lastEmittedScrollOffset = (0, import_react.useRef)(0);
97
101
  var lockedScrollY = (0, import_react.useRef)(0);
98
102
  var focusedInputScrollFrame = (0, import_react.useRef)(0);
99
103
  var setScrollEnabled = function (next, lockTo) {
100
104
  if (!next) {
101
- var _scrollRef_current_scrollTo, _scrollRef_current;
102
- var lockY = lockTo !== null && lockTo !== void 0 ? lockTo : currentScrollOffset.current;
105
+ var _ref;
106
+ var lockY = (_ref = lockTo !== null && lockTo !== void 0 ? lockTo : scrollBridge.scrollLockY) !== null && _ref !== void 0 ? _ref : currentScrollOffset.current;
107
+ if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {
108
+ return;
109
+ }
110
+ scrollBridge.enabled = false;
103
111
  lockedScrollY.current = lockY;
104
112
  scrollBridge.scrollLockY = lockY;
105
- (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {
106
- x: 0,
107
- y: lockY,
108
- animated: false
109
- });
113
+ if (currentScrollOffset.current !== lockY) {
114
+ var _scrollRef_current_scrollTo, _scrollRef_current;
115
+ (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {
116
+ x: 0,
117
+ y: lockY,
118
+ animated: false
119
+ });
120
+ currentScrollOffset.current = lockY;
121
+ }
110
122
  } else {
123
+ if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {
124
+ return;
125
+ }
126
+ scrollBridge.enabled = true;
111
127
  lockedScrollY.current = currentScrollOffset.current;
112
128
  scrollBridge.scrollLockY = void 0;
113
129
  }
@@ -119,7 +135,31 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
119
135
  y,
120
136
  animated: false
121
137
  });
138
+ currentScrollOffset.current = y;
122
139
  };
140
+ var emitManualScroll = import_react.default.useCallback(function (node, y) {
141
+ currentScrollOffset.current = y;
142
+ scrollBridge.y = y;
143
+ if (y > 0) scrollBridge.scrollStartY = -1;
144
+ lastEmittedScrollOffset.current = y;
145
+ onScroll === null || onScroll === void 0 ? void 0 : onScroll({
146
+ nativeEvent: {
147
+ contentOffset: {
148
+ x: node.scrollLeft,
149
+ y
150
+ },
151
+ contentSize: {
152
+ height: node.scrollHeight,
153
+ width: node.scrollWidth
154
+ },
155
+ layoutMeasurement: {
156
+ height: node.offsetHeight,
157
+ width: node.offsetWidth
158
+ }
159
+ },
160
+ timeStamp: Date.now()
161
+ });
162
+ }, [onScroll, scrollBridge]);
123
163
  var scrollFocusedInputClearOfKeyboard = import_react.default.useCallback(function () {
124
164
  var _scrollRef_current;
125
165
  if (!import_core.isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {
@@ -201,7 +241,8 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
201
241
  scrollBridge,
202
242
  hasScrollableContent,
203
243
  scrollEnabled,
204
- setScrollEnabled
244
+ setScrollEnabled,
245
+ onManualScroll: emitManualScroll
205
246
  });
206
247
  var contentWrapper = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_core.View, {
207
248
  onLayout: function (e) {
@@ -246,26 +287,29 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
246
287
  animated: false
247
288
  });
248
289
  }
290
+ currentScrollOffset.current = scrollBridge.scrollLockY;
249
291
  scrollBridge.y = scrollBridge.scrollLockY;
250
- onScroll === null || onScroll === void 0 ? void 0 : onScroll({
251
- ...e,
252
- nativeEvent: {
253
- ...e.nativeEvent,
254
- contentOffset: {
255
- ...e.nativeEvent.contentOffset,
256
- y: scrollBridge.scrollLockY
292
+ if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {
293
+ lastEmittedScrollOffset.current = scrollBridge.scrollLockY;
294
+ onScroll === null || onScroll === void 0 ? void 0 : onScroll({
295
+ ...e,
296
+ nativeEvent: {
297
+ ...e.nativeEvent,
298
+ contentOffset: {
299
+ ...e.nativeEvent.contentOffset,
300
+ y: scrollBridge.scrollLockY
301
+ }
257
302
  }
258
- }
259
- });
303
+ });
304
+ }
260
305
  return;
261
306
  }
262
307
  scrollBridge.y = y;
263
308
  if (y > 0) scrollBridge.scrollStartY = -1;
309
+ lastEmittedScrollOffset.current = y;
264
310
  onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
265
311
  },
266
- contentContainerStyle: {
267
- minHeight: "100%"
268
- },
312
+ contentContainerStyle,
269
313
  bounces: false,
270
314
  keyboardShouldPersistTaps: "always",
271
315
  keyboardDismissMode: "none",
@@ -291,11 +335,10 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
291
335
  currentScrollOffset.current = y;
292
336
  scrollBridge.y = y;
293
337
  if (y > 0) scrollBridge.scrollStartY = -1;
338
+ lastEmittedScrollOffset.current = y;
294
339
  onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
295
340
  },
296
- contentContainerStyle: {
297
- minHeight: "100%"
298
- },
341
+ contentContainerStyle,
299
342
  ...gestureProps,
300
343
  ...props,
301
344
  ...keyboardFrozenOverride,
@@ -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","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":[]}
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","contentContainerStyle","minHeight","keyboardFrozenOverride","panGestureRef","ScrollView","RNGHScrollView","getGestureHandlerState","useRNGHScrollView","isGestureHandlerEnabled","currentScrollOffset","lastEmittedScrollOffset","lockedScrollY","focusedInputScrollFrame","setScrollEnabled","next","lockTo","_ref","lockY","scrollLockY","current","enabled","_scrollRef_current_scrollTo","_scrollRef_current","scrollTo","call","x","y","animated","forceScrollTo","emitManualScroll","useCallback","node","scrollStartY","nativeEvent","contentOffset","scrollLeft","contentSize","scrollHeight","width","scrollWidth","layoutMeasurement","offsetHeight","offsetWidth","timeStamp","Date","now","scrollFocusedInputClearOfKeyboard","getScrollableNode","active","document","activeElement","isEditableElement","contains","keyboardHeight","getWebKeyboardBottomInset","activeRect","getBoundingClientRect","nodeRect","margin","keyboardTop","getStableLayoutViewportHeight","visibleTop","top","visibleBottom","min","bottom","nextScrollTop","scrollTop","ceil","maxScrollTop","clientHeight","scheduleFocusedInputScroll","cancelAnimationFrame","requestAnimationFrame","useEffect","_window_visualViewport","window","addEventListener","visualViewport","_window_visualViewport2","removeEventListener","updateScrollable","recordFitHeight","gestureProps","useSheetScrollViewGestures","onManualScroll","contentWrapper","jsxs","View","onLayout","e","floor","layout","jsx","RNGHComponent","composeRefs","style","scrollEventThrottle","simultaneousHandlers","bounces","keyboardShouldPersistTaps","keyboardDismissMode"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -29,13 +29,24 @@ __export(gestureState_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(gestureState_exports);
31
31
  var import_native = require("@tamagui/native");
32
+ const SHEET_GESTURE_STATE_KEY = "__tamagui_sheet_gesture_state__";
33
+ function getSheetGestureHandlerState() {
34
+ const g = globalThis;
35
+ return g[SHEET_GESTURE_STATE_KEY] ?? (0, import_native.getGestureHandler)().state;
36
+ }
32
37
  function isGestureHandlerEnabled() {
33
- return (0, import_native.getGestureHandler)().isEnabled;
38
+ return getSheetGestureHandlerState().enabled;
34
39
  }
35
40
  function getGestureHandlerState() {
36
- return (0, import_native.getGestureHandler)().state;
41
+ return getSheetGestureHandlerState();
37
42
  }
38
43
  function setGestureHandlerState(updates) {
44
+ const g = globalThis;
45
+ const sheetState = g[SHEET_GESTURE_STATE_KEY];
46
+ if (sheetState) {
47
+ Object.assign(sheetState, updates);
48
+ return;
49
+ }
39
50
  (0, import_native.getGestureHandler)().set(updates);
40
51
  }
41
52
  const setGestureState = setGestureHandlerState;
@@ -31,13 +31,25 @@ __export(gestureState_exports, {
31
31
  });
32
32
  module.exports = __toCommonJS(gestureState_exports);
33
33
  var import_native = require("@tamagui/native");
34
+ var SHEET_GESTURE_STATE_KEY = "__tamagui_sheet_gesture_state__";
35
+ function getSheetGestureHandlerState() {
36
+ var g = globalThis;
37
+ var _g_SHEET_GESTURE_STATE_KEY;
38
+ return (_g_SHEET_GESTURE_STATE_KEY = g[SHEET_GESTURE_STATE_KEY]) !== null && _g_SHEET_GESTURE_STATE_KEY !== void 0 ? _g_SHEET_GESTURE_STATE_KEY : (0, import_native.getGestureHandler)().state;
39
+ }
34
40
  function isGestureHandlerEnabled() {
35
- return (0, import_native.getGestureHandler)().isEnabled;
41
+ return getSheetGestureHandlerState().enabled;
36
42
  }
37
43
  function getGestureHandlerState() {
38
- return (0, import_native.getGestureHandler)().state;
44
+ return getSheetGestureHandlerState();
39
45
  }
40
46
  function setGestureHandlerState(updates) {
47
+ var g = globalThis;
48
+ var sheetState = g[SHEET_GESTURE_STATE_KEY];
49
+ if (sheetState) {
50
+ Object.assign(sheetState, updates);
51
+ return;
52
+ }
41
53
  (0, import_native.getGestureHandler)().set(updates);
42
54
  }
43
55
  var setGestureState = setGestureHandlerState;
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","gestureState_exports","__export","getGestureHandlerState","isGestureHandlerEnabled","setGestureHandlerState","setGestureState","module","exports","import_native","require","getGestureHandler","isEnabled","state","updates","set"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA;AAAA;AAKAC,MAAA,CAAAC,OAAA,GAAAZ,YAAqD,CAAAK,oBAAA;AAK9C,IAAAQ,aAAS,GAAAC,OAAA,kBAAmC;AACjD,SAAAN,uBAAOA,CAAA;EACT,WAAAK,aAAA,CAAAE,iBAAA,IAAAC,SAAA;AAEO;AACL,SAAAT,sBAAOA,CAAA;EACT,WAAAM,aAAA,CAAAE,iBAAA,IAAAE,KAAA;AAEO;AACL,SAAAR,uBAAAS,OAAkB,EAAE;EACtB,IAAAL,aAAA,CAAAE,iBAAA,IAAAI,GAAA,CAAAD,OAAA;AAGO","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","gestureState_exports","__export","getGestureHandlerState","isGestureHandlerEnabled","setGestureHandlerState","setGestureState","module","exports","import_native","require","SHEET_GESTURE_STATE_KEY","getSheetGestureHandlerState","g","globalThis","_g_SHEET_GESTURE_STATE_KEY","getGestureHandler","state","enabled","updates","sheetState","Object","assign","set"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA;AAAA;AAKAC,MAAA,CAAAC,OAAA,GAAAZ,YAAqD,CAAAK,oBAAA;AAIrD,IAAAQ,aAAM,GAAAC,OAAA,kBAA0B;AAEhC,IAAAC,uBAAS,oCAA4C;AACnD,SAAMC,2BAAIA,CAAA;EAIV,IAAAC,CAAA,GAAOC,UAAE;EACX,IAAAC,0BAAA;EAGO,OAAS,CAAAA,0BAAmC,GAAAF,CAAA,CAAAF,uBAAA,eAAAI,0BAAA,cAAAA,0BAAA,OAAAN,aAAA,CAAAO,iBAAA,IAAAC,KAAA;AACjD;AACF,SAAAb,wBAAA;EAEO,OAASQ,2BAAuC,GAAAM,OAAA;AACrD;AACF,SAAAf,uBAAA;EAEO,OAASS,2BAAuB;AACrC;AAIA,SAAMP,sBAAeA,CAAAc,OAAA;EACrB,IAAIN,CAAA,GAAAC,UAAY;EACd,IAAAM,UAAO,GAAOP,CAAA,CAAAF,uBAAmB;EACjC,IAAAS,UAAA;IACFC,MAAA,CAAAC,MAAA,CAAAF,UAAA,EAAAD,OAAA;IAEA;EACF;EAGO,IAAMV,aAAA,CAAAO,iBAAkB,IAAAO,GAAA,CAAAJ,OAAA","ignoreList":[]}
@@ -2,6 +2,12 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
5
11
  var __copyProps = (to, from, except, desc) => {
6
12
  if (from && typeof from === "object" || typeof from === "function") {
7
13
  for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
@@ -16,6 +22,10 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
16
22
  value: true
17
23
  }), mod);
18
24
  var index_exports = {};
25
+ __export(index_exports, {
26
+ unstable_getSheetGestureHandlerState: () => import_gestureState.getGestureHandlerState,
27
+ unstable_isSheetGestureHandlerEnabled: () => import_gestureState.isGestureHandlerEnabled
28
+ });
19
29
  module.exports = __toCommonJS(index_exports);
20
30
  __reExport(index_exports, require("./Sheet.cjs"), module.exports);
21
31
  __reExport(index_exports, require("./useSheet.cjs"), module.exports);
@@ -27,4 +37,5 @@ __reExport(index_exports, require("./useSheetOffscreenSize.cjs"), module.exports
27
37
  __reExport(index_exports, require("./SheetScrollView.cjs"), module.exports);
28
38
  __reExport(index_exports, require("./nativeSheet.cjs"), module.exports);
29
39
  __reExport(index_exports, require("./types.cjs"), module.exports);
30
- __reExport(index_exports, require("./contexts.cjs"), module.exports);
40
+ __reExport(index_exports, require("./contexts.cjs"), module.exports);
41
+ var import_gestureState = require("./gestureState.cjs");
@@ -4,6 +4,12 @@ var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
7
13
  var __copyProps = (to, from, except, desc) => {
8
14
  if (from && typeof from === "object" || typeof from === "function") {
9
15
  for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
@@ -18,6 +24,10 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
18
24
  value: true
19
25
  }), mod);
20
26
  var index_exports = {};
27
+ __export(index_exports, {
28
+ unstable_getSheetGestureHandlerState: () => import_gestureState.getGestureHandlerState,
29
+ unstable_isSheetGestureHandlerEnabled: () => import_gestureState.isGestureHandlerEnabled
30
+ });
21
31
  module.exports = __toCommonJS(index_exports);
22
32
  __reExport(index_exports, require("./Sheet.native.js"), module.exports);
23
33
  __reExport(index_exports, require("./useSheet.native.js"), module.exports);
@@ -30,4 +40,5 @@ __reExport(index_exports, require("./SheetScrollView.native.js"), module.exports
30
40
  __reExport(index_exports, require("./nativeSheet.native.js"), module.exports);
31
41
  __reExport(index_exports, require("./types.native.js"), module.exports);
32
42
  __reExport(index_exports, require("./contexts.native.js"), module.exports);
43
+ var import_gestureState = require("./gestureState.native.js");
33
44
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","module","exports","__reExport","require"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAP,YAAc,CAAAK,aAAA;AACdG,UAAA,CAAAH,aAAA,EAAcI,OAAA,uBAAAH,MADd,CAAAC,OAAA;AAEAC,UAAA,CAAAH,aAAA,EAAcI,OAAA,0BAAAH,MAFd,CAAAC,OAAA;AAGAC,UAAA,CAAAH,aAAA,EAAcI,OAAA,6BAAAH,MAHd,CAAAC,OAAA;AAIAC,UAAA,CAAAH,aAAA,EAAcI,OAAA,iCAAAH,MAJd,CAAAC,OAAA;AAKAC,UAAA,CAAAH,aAAA,EAAcI,OAAA,oCALdH,MAAA,CAAAC,OAAA;AAMAC,UAAA,CAAAH,aAAA,EAAcI,OAAA,mCAAAH,MANd,CAAAC,OAAA;AAOAC,UAAA,CAAAH,aAAA,EAAcI,OAAA,oCAPd,GAAAH,MAAA,CAAAC,OAAA;AAQAC,UAAA,CAAAH,aAAA,EAAcI,OAAA,8BARd,GAAAH,MAAA,CAAAC,OAAA;AASAC,UAAA,CAAAH,aAAA,EAAcI,OAAA,0BATd,GAAAH,MAAA,CAAAC,OAAA;AAUAC,UAAA,CAAAH,aAAA,EAAcI,OAAA,uBAAAH,MAVd,CAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","unstable_getSheetGestureHandlerState","import_gestureState","getGestureHandlerState","unstable_isSheetGestureHandlerEnabled","isGestureHandlerEnabled","module","exports","__reExport","require"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,oCAAA,EAAAA,CAAA,KAAAC,mBAAA,CAAAC,sBAAA;EAAAC,qCAAA,EAAAA,CAAA,KAAAF,mBAAA,CAAAG;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAb,YAAc,CAAAK,aAAA;AACdS,UAAA,CAAAT,aAAA,EAAcU,OAAA,uBAAAH,MADd,CAAAC,OAAA;AAEAC,UAAA,CAAAT,aAAA,EAAcU,OAAA,0BAAAH,MAFd,CAAAC,OAAA;AAGAC,UAAA,CAAAT,aAAA,EAAcU,OAAA,6BAAAH,MAHd,CAAAC,OAAA;AAIAC,UAAA,CAAAT,aAAA,EAAcU,OAAA,iCAAAH,MAJd,CAAAC,OAAA;AAKAC,UAAA,CAAAT,aAAA,EAAcU,OAAA,oCALdH,MAAA,CAAAC,OAAA;AAMAC,UAAA,CAAAT,aAAA,EAAcU,OAAA,mCAAAH,MANd,CAAAC,OAAA;AAOAC,UAAA,CAAAT,aAAA,EAAcU,OAAA,oCAPd,GAAAH,MAAA,CAAAC,OAAA;AAQAC,UAAA,CAAAT,aAAA,EAAcU,OAAA,8BARd,GAAAH,MAAA,CAAAC,OAAA;AASAC,UAAA,CAAAT,aAAA,EAAcU,OAAA,0BATd,GAAAH,MAAA,CAAAC,OAAA;AAUAC,UAAA,CAAAT,aAAA,EAAcU,OAAA,uBAAAH,MAVd,CAAAC,OAAA;AAWAC,UAAA,CAAAT,aAAA,EAGOU,OAAA,0BAAAH,MAAA,CAAAC,OAAA","ignoreList":[]}
@@ -27,8 +27,10 @@ __export(setupGestureHandler_exports, {
27
27
  });
28
28
  module.exports = __toCommonJS(setupGestureHandler_exports);
29
29
  var import_native = require("@tamagui/native");
30
+ const SHEET_GESTURE_STATE_KEY = "__tamagui_sheet_gesture_state__";
30
31
  function isGestureHandlerEnabled() {
31
- return (0, import_native.getGestureHandler)().isEnabled;
32
+ const g = globalThis;
33
+ return g[SHEET_GESTURE_STATE_KEY]?.enabled ?? (0, import_native.getGestureHandler)().isEnabled;
32
34
  }
33
35
  function setupGestureHandler(config) {
34
36
  const g = globalThis;
@@ -42,11 +44,12 @@ function setupGestureHandler(config) {
42
44
  ScrollView
43
45
  } = config;
44
46
  if (Gesture && GestureDetector) {
45
- (0, import_native.getGestureHandler)().set({
47
+ g[SHEET_GESTURE_STATE_KEY] = {
46
48
  enabled: true,
47
49
  Gesture,
48
50
  GestureDetector,
49
- ScrollView: ScrollView || null
50
- });
51
+ ScrollView: ScrollView || null,
52
+ RootView: null
53
+ };
51
54
  }
52
55
  }
@@ -29,8 +29,12 @@ __export(setupGestureHandler_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(setupGestureHandler_exports);
31
31
  var import_native = require("@tamagui/native");
32
+ var SHEET_GESTURE_STATE_KEY = "__tamagui_sheet_gesture_state__";
32
33
  function isGestureHandlerEnabled() {
33
- return (0, import_native.getGestureHandler)().isEnabled;
34
+ var _g_SHEET_GESTURE_STATE_KEY;
35
+ var g = globalThis;
36
+ var _g_SHEET_GESTURE_STATE_KEY_enabled;
37
+ return (_g_SHEET_GESTURE_STATE_KEY_enabled = (_g_SHEET_GESTURE_STATE_KEY = g[SHEET_GESTURE_STATE_KEY]) === null || _g_SHEET_GESTURE_STATE_KEY === void 0 ? void 0 : _g_SHEET_GESTURE_STATE_KEY.enabled) !== null && _g_SHEET_GESTURE_STATE_KEY_enabled !== void 0 ? _g_SHEET_GESTURE_STATE_KEY_enabled : (0, import_native.getGestureHandler)().isEnabled;
34
38
  }
35
39
  function setupGestureHandler(config) {
36
40
  var g = globalThis;
@@ -44,12 +48,13 @@ function setupGestureHandler(config) {
44
48
  ScrollView
45
49
  } = config;
46
50
  if (Gesture && GestureDetector) {
47
- (0, import_native.getGestureHandler)().set({
51
+ g[SHEET_GESTURE_STATE_KEY] = {
48
52
  enabled: true,
49
53
  Gesture,
50
54
  GestureDetector,
51
- ScrollView: ScrollView || null
52
- });
55
+ ScrollView: ScrollView || null,
56
+ RootView: null
57
+ };
53
58
  }
54
59
  }
55
60
  //# sourceMappingURL=setupGestureHandler.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","setupGestureHandler_exports","__export","isGestureHandlerEnabled","setupGestureHandler","module","exports","import_native","require","getGestureHandler","isEnabled","config","g","globalThis","__tamagui_sheet_gesture_handler_setup","Gesture","GestureDetector","ScrollView","set","enabled"],"sources":["../../src/setupGestureHandler.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,2BAAA;AAAAC,QAAA,CAAAD,2BAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AAIAC,MAAA,CAAAC,OAAA,GAAAV,YAAkC,CAAAK,2BAAA;AAE3B,IAAAM,aAAS,GAAAC,OAAA,kBAAmC;AACjD,SAAAL,uBAAOA,CAAA;EACT,WAAAI,aAAA,CAAAE,iBAAA,IAAAC,SAAA;AAQO;AACL,SAAMN,mBAAIA,CAAAO,MAAA;EACV,IAAIC,CAAA,GAAEC,UAAA;EACJ,IAAAD,CAAA,CAAAE,qCAAA;IACF;EACA;EAEAF,CAAA,CAAAE,qCAAkC,OAAW;EAE7C,IAAI;IAAAC,OAAA;IAAWC,eAAA;IAAiBC;EAAA,IAAAN,MAAA;EAC9B,IAAAI,OAAA,IAAAC,eAAA;IAAwB,EACtB,EAAAT,aAAS,CAAAE,iBAAA,IAAAS,GAAA;MACTC,OAAA;MACAJ,OAAA;MACAC,eAAY;MACbC,UAAA,EAAAA,UAAA;IACH;EACF","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","setupGestureHandler_exports","__export","isGestureHandlerEnabled","setupGestureHandler","module","exports","import_native","require","SHEET_GESTURE_STATE_KEY","_g_SHEET_GESTURE_STATE_KEY","g","globalThis","_g_SHEET_GESTURE_STATE_KEY_enabled","enabled","getGestureHandler","isEnabled","config","__tamagui_sheet_gesture_handler_setup","Gesture","GestureDetector","ScrollView","RootView"],"sources":["../../src/setupGestureHandler.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,2BAAA;AAAAC,QAAA,CAAAD,2BAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AAIAC,MAAA,CAAAC,OAAA,GAAAV,YAAkC,CAAAK,2BAAA;AAIlC,IAAAM,aAAM,GAAAC,OAAA,kBAA0B;AAEzB,IAAAC,uBAAS,oCAAmC;AACjD,SAAMN,uBAAIA,CAAA;EAIV,IAAAO,0BAAS;EACX,IAAAC,CAAA,GAAAC,UAAA;EAQO,IAAAC,kCAAsE;EAC3E,OAAM,CAAAA,kCAAI,IAAAH,0BAAA,GAAAC,CAAA,CAAAF,uBAAA,eAAAC,0BAAA,uBAAAA,0BAAA,CAAAI,OAAA,cAAAD,kCAAA,cAAAA,kCAAA,OAAAN,aAAA,CAAAQ,iBAAA,IAAAC,SAAA;AACV;AACE,SAAAZ,oBAAAa,MAAA;EACF,IAAAN,CAAA,GAAAC,UAAA;EACA,IAAED,CAAA,CAAAO,qCAAwC;IAE1C;EAEA;EACEP,CAAA,CAAAO,qCAA6B;EAAA,IAC3B;IAAAC,OAAS;IAAAC,eAAA;IAAAC;EAAA,IAAAJ,MAAA;EAAA,IACTE,OAAA,IAAAC,eAAA;IAAAT,CAAA,CACAF,uBAAA;MACAK,OAAA,MAAY;MACZK,OAAA;MACFC,eAAA;MACFC,UAAA,EAAAA,UAAA;MACFC,QAAA","ignoreList":[]}
@@ -30,6 +30,7 @@ var import_react = require("react");
30
30
  var import_gestureState = require("./gestureState.cjs");
31
31
  var import_keyboardAvoidance = require("./keyboardAvoidance.cjs");
32
32
  const AT_TOP_THRESHOLD = 5;
33
+ const SCROLL_HANDOFF_THRESHOLD = 160;
33
34
  function useGestureHandlerPan(config) {
34
35
  const {
35
36
  positions,
@@ -74,15 +75,41 @@ function useGestureHandlerPan(config) {
74
75
  frozenMinY: 0,
75
76
  frozenIsKeyboardVisible: false,
76
77
  // whether pan gesture actually started (vs just a tap in onBegin)
77
- panStarted: false
78
+ panStarted: false,
79
+ startedBelowTop: false,
80
+ upwardDragAfterTop: 0,
81
+ scrollUnlockedAfterTop: false,
82
+ keepScrollLockedAfterEnd: false
78
83
  });
84
+ const unlockScrollTimer = (0, import_react.useRef)(null);
85
+ (0, import_react.useEffect)(() => {
86
+ return () => {
87
+ if (unlockScrollTimer.current) {
88
+ clearTimeout(unlockScrollTimer.current);
89
+ unlockScrollTimer.current = null;
90
+ }
91
+ };
92
+ }, []);
79
93
  const onStart = (0, import_react.useCallback)(() => {
80
94
  stopSpring();
81
95
  }, [stopSpring]);
82
- const onEnd = (0, import_react.useCallback)((closestPoint, animationOverride) => {
96
+ const onEnd = (0, import_react.useCallback)((closestPoint, animationOverride, keepScrollLocked = false) => {
97
+ if (unlockScrollTimer.current) {
98
+ clearTimeout(unlockScrollTimer.current);
99
+ unlockScrollTimer.current = null;
100
+ }
83
101
  setIsDragging(false);
84
102
  scrollBridge.setParentDragging(false);
85
- scrollBridge.setScrollEnabled?.(true);
103
+ scrollBridge.lockScrollAtTop = false;
104
+ if (keepScrollLocked) {
105
+ scrollBridge.setScrollEnabled?.(false, 0);
106
+ unlockScrollTimer.current = setTimeout(() => {
107
+ unlockScrollTimer.current = null;
108
+ scrollBridge.setScrollEnabled?.(true);
109
+ }, 160);
110
+ } else {
111
+ scrollBridge.setScrollEnabled?.(true);
112
+ }
86
113
  setPosition(closestPoint);
87
114
  animateTo(closestPoint, animationOverride);
88
115
  }, [setIsDragging, scrollBridge, setPosition, animateTo]);
@@ -114,6 +141,15 @@ function useGestureHandlerPan(config) {
114
141
  gs.frozenPositions = [...positions];
115
142
  gs.frozenMinY = minY;
116
143
  gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
144
+ gs.startedBelowTop = !atTop;
145
+ gs.upwardDragAfterTop = 0;
146
+ gs.scrollUnlockedAfterTop = false;
147
+ gs.keepScrollLockedAfterEnd = false;
148
+ scrollBridge.lockScrollAtTop = false;
149
+ if (unlockScrollTimer.current) {
150
+ clearTimeout(unlockScrollTimer.current);
151
+ unlockScrollTimer.current = null;
152
+ }
117
153
  if (!atTop) {
118
154
  scrollBridge.setScrollEnabled?.(false, 0);
119
155
  }
@@ -155,13 +191,24 @@ function useGestureHandlerPan(config) {
155
191
  }
156
192
  } else {
157
193
  if (hasScrollableContent) {
158
- panHandles = false;
194
+ if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {
195
+ gs.upwardDragAfterTop += Math.max(0, -deltaY);
196
+ if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {
197
+ gs.scrollUnlockedAfterTop = true;
198
+ panHandles = false;
199
+ } else {
200
+ panHandles = true;
201
+ }
202
+ } else {
203
+ panHandles = false;
204
+ }
159
205
  } else {
160
206
  panHandles = true;
161
207
  }
162
208
  }
163
209
  }
164
210
  if (panHandles) {
211
+ scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
165
212
  const lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
166
213
  scrollBridge.setScrollEnabled?.(false, lockTo);
167
214
  gs.accumulatedOffset += deltaY;
@@ -170,18 +217,23 @@ function useGestureHandlerPan(config) {
170
217
  setAnimatedPosition(newPosition);
171
218
  scrollBridge.setParentDragging(newPosition > minY);
172
219
  } else {
220
+ scrollBridge.lockScrollAtTop = false;
173
221
  scrollBridge.setScrollEnabled?.(true);
222
+ scrollBridge.setParentDragging(false);
174
223
  }
175
224
  }).onEnd(event => {
176
225
  const {
177
226
  velocityY
178
227
  } = event;
179
228
  const currentPos = gs.startY + gs.accumulatedOffset;
180
- scrollBridge.scrollLockY = void 0;
229
+ const keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
230
+ scrollBridge.lockScrollAtTop = false;
231
+ scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : void 0;
232
+ gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;
181
233
  const snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
182
234
  const snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
183
235
  if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
184
- onEnd(0);
236
+ onEnd(0, void 0, keepScrollLockedAfterEnd);
185
237
  return;
186
238
  }
187
239
  const velocity = velocityY / 1e3;
@@ -197,9 +249,10 @@ function useGestureHandlerPan(config) {
197
249
  isKeyboardVisible: gs.frozenIsKeyboardVisible,
198
250
  isWeb: import_constants.isWeb
199
251
  });
200
- onEnd(closestPoint);
252
+ onEnd(closestPoint, void 0, keepScrollLockedAfterEnd);
201
253
  }).onFinalize(() => {
202
- scrollBridge.scrollLockY = void 0;
254
+ scrollBridge.lockScrollAtTop = false;
255
+ scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : void 0;
203
256
  if (gs.panStarted) {
204
257
  setIsDragging(false);
205
258
  } else {