@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useGestureHandlerPan.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -28,19 +28,13 @@ function useGestureHandlerPan(config) {
28
28
  // track previous translation for direction detection (like actions-sheet)
29
29
  prevTranslationY: 0,
30
30
  // track if scroll was engaged (scrollY > 0) at some point
31
- scrollEngaged: !1,
32
- // positions frozen at gesture start — keyboard may dismiss during drag (input blur),
33
- // causing positions to revert. Frozen positions ensure stable snap calculation.
34
- frozenPositions: [],
35
- frozenMinY: 0,
36
- // whether pan gesture actually started (vs just a tap in onBegin)
37
- panStarted: !1
31
+ scrollEngaged: !1
38
32
  }),
39
33
  onStart = useCallback(() => {
40
- stopSpring();
41
- }, [stopSpring]),
42
- onEnd = useCallback((closestPoint, animationOverride) => {
43
- setIsDragging(!1), scrollBridge.setParentDragging(!1), scrollBridge.setScrollEnabled?.(!0), setPosition(closestPoint), animateTo(closestPoint, animationOverride);
34
+ stopSpring(), setIsDragging(!0);
35
+ }, [stopSpring, setIsDragging]),
36
+ onEnd = useCallback(closestPoint => {
37
+ setIsDragging(!1), scrollBridge.setParentDragging(!1), scrollBridge.setScrollEnabled?.(!0), setPosition(closestPoint), animateTo(closestPoint);
44
38
  }, [setIsDragging, scrollBridge, setPosition, animateTo]);
45
39
  return {
46
40
  panGesture: useMemo(() => {
@@ -52,13 +46,12 @@ function useGestureHandlerPan(config) {
52
46
  const minY = positions[0],
53
47
  gs = gestureStateRef.current,
54
48
  gesture = Gesture.Pan().withRef(panGestureRef).failOffsetX([-20, 20]).shouldCancelWhenOutside(!1).onBegin(() => {
55
- gs.panStarted = !1, config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = !0);
56
49
  const pos = getCurrentPosition(),
57
50
  atTop = pos <= minY + AT_TOP_THRESHOLD,
58
51
  currentScrollY = scrollBridge.y;
59
- gs.startY = pos, gs.lastPanTranslationY = 0, gs.accumulatedOffset = 0, gs.prevTranslationY = 0, gs.scrollEngaged = currentScrollY > 0, gs.frozenPositions = [...positions], gs.frozenMinY = minY, atTop || scrollBridge.setScrollEnabled?.(!1, 0);
52
+ gs.startY = pos, gs.lastPanTranslationY = 0, gs.accumulatedOffset = 0, gs.prevTranslationY = 0, gs.scrollEngaged = currentScrollY > 0, atTop || scrollBridge.setScrollEnabled?.(!1, 0);
60
53
  }).onStart(() => {
61
- gs.panStarted = !0, setIsDragging(!0), scrollBridge.initialPosition = gs.startY, onStart();
54
+ scrollBridge.initialPosition = gs.startY, onStart();
62
55
  }).onChange(event => {
63
56
  const {
64
57
  translationY
@@ -83,10 +76,7 @@ function useGestureHandlerPan(config) {
83
76
  velocityY
84
77
  } = event,
85
78
  currentPos = gs.startY + gs.accumulatedOffset;
86
- scrollBridge.scrollLockY = void 0;
87
- const snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions,
88
- snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
89
- if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
79
+ if (scrollBridge.scrollLockY = void 0, currentPos <= minY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
90
80
  onEnd(0);
91
81
  return;
92
82
  }
@@ -94,14 +84,14 @@ function useGestureHandlerPan(config) {
94
84
  projectedEnd = currentPos + frameSize * velocity * 0.2;
95
85
  let closestPoint = 0,
96
86
  minDist = Number.POSITIVE_INFINITY;
97
- for (let i = 0; i < snapPositions.length; i++) {
98
- const pos = snapPositions[i],
87
+ for (let i = 0; i < positions.length; i++) {
88
+ const pos = positions[i],
99
89
  dist = Math.abs(projectedEnd - pos);
100
90
  dist < minDist && (minDist = dist, closestPoint = i);
101
91
  }
102
92
  onEnd(closestPoint);
103
93
  }).onFinalize(() => {
104
- scrollBridge.scrollLockY = void 0, gs.panStarted ? setIsDragging(!1) : config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = !1);
94
+ scrollBridge.scrollLockY = void 0;
105
95
  }).runOnJS(!0);
106
96
  return scrollGestureRef?.current ? gesture.simultaneousWithExternalGesture(scrollGestureRef.current) : gesture;
107
97
  }, [gestureHandlerEnabled, disableDrag, isShowingInnerSheet, frameSize, positions, scrollBridge, getCurrentPosition, resisted, onStart, onEnd, setIsDragging, setAnimatedPosition]),
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMemo","useRef","getGestureHandlerState","isGestureHandlerEnabled","AT_TOP_THRESHOLD","useGestureHandlerPan","config","positions","frameSize","setPosition","animateTo","stopSpring","scrollBridge","setIsDragging","getCurrentPosition","resisted","disableDrag","isShowingInnerSheet","setAnimatedPosition","scrollGestureRef","gestureHandlerEnabled","panGestureRef","gestureStateRef","startY","lastPanTranslationY","accumulatedOffset","prevTranslationY","scrollEngaged","frozenPositions","frozenMinY","panStarted","onStart","onEnd","closestPoint","animationOverride","setParentDragging","setScrollEnabled","panGesture","Gesture","minY","gs","current","gesture","Pan","withRef","failOffsetX","shouldCancelWhenOutside","onBegin","pauseKeyboardHandler","pos","atTop","currentScrollY","y","initialPosition","onChange","event","translationY","isSwipingDown","deltaY","scrollY","isCurrentlyAtTop","nodeIsScrolling","panHandles","hasScrollableContent","lockTo","newPosition","paneY","velocityY","currentPos","scrollLockY","snapPositions","length","snapMinY","velocity","projectedEnd","minDist","Number","POSITIVE_INFINITY","i","dist","Math","abs","onFinalize","runOnJS","simultaneousWithExternalGesture"],"sources":["../../src/useGestureHandlerPan.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useMemo","useRef","getGestureHandlerState","isGestureHandlerEnabled","AT_TOP_THRESHOLD","useGestureHandlerPan","config","positions","frameSize","setPosition","animateTo","stopSpring","scrollBridge","setIsDragging","getCurrentPosition","resisted","disableDrag","isShowingInnerSheet","setAnimatedPosition","scrollGestureRef","gestureHandlerEnabled","panGestureRef","gestureStateRef","startY","lastPanTranslationY","accumulatedOffset","prevTranslationY","scrollEngaged","onStart","onEnd","closestPoint","setParentDragging","setScrollEnabled","panGesture","Gesture","minY","gs","current","gesture","Pan","withRef","failOffsetX","shouldCancelWhenOutside","onBegin","pos","atTop","currentScrollY","y","initialPosition","onChange","event","translationY","isSwipingDown","deltaY","scrollY","isCurrentlyAtTop","nodeIsScrolling","panHandles","hasScrollableContent","lockTo","newPosition","paneY","velocityY","currentPos","scrollLockY","velocity","projectedEnd","minDist","Number","POSITIVE_INFINITY","i","length","dist","Math","abs","onFinalize","runOnJS","simultaneousWithExternalGesture"],"sources":["../../src/useGestureHandlerPan.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -55,20 +55,14 @@ function useGestureHandlerPan(config) {
55
55
  // track previous translation for direction detection (like actions-sheet)
56
56
  prevTranslationY: 0,
57
57
  // track if scroll was engaged (scrollY > 0) at some point
58
- scrollEngaged: !1,
59
- // positions frozen at gesture start — keyboard may dismiss during drag (input blur),
60
- // causing positions to revert. Frozen positions ensure stable snap calculation.
61
- frozenPositions: [],
62
- frozenMinY: 0,
63
- // whether pan gesture actually started (vs just a tap in onBegin)
64
- panStarted: !1
58
+ scrollEngaged: !1
65
59
  }),
66
60
  onStart = (0, import_react.useCallback)(function () {
67
- stopSpring();
68
- }, [stopSpring]),
69
- onEnd = (0, import_react.useCallback)(function (closestPoint, animationOverride) {
61
+ stopSpring(), setIsDragging(!0);
62
+ }, [stopSpring, setIsDragging]),
63
+ onEnd = (0, import_react.useCallback)(function (closestPoint) {
70
64
  var _scrollBridge_setScrollEnabled;
71
- setIsDragging(!1), scrollBridge.setParentDragging(!1), (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, !0), setPosition(closestPoint), animateTo(closestPoint, animationOverride);
65
+ setIsDragging(!1), scrollBridge.setParentDragging(!1), (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, !0), setPosition(closestPoint), animateTo(closestPoint);
72
66
  }, [setIsDragging, scrollBridge, setPosition, animateTo]),
73
67
  panGesture = (0, import_react.useMemo)(function () {
74
68
  if (!gestureHandlerEnabled || disableDrag || isShowingInnerSheet || !frameSize) return null;
@@ -79,16 +73,15 @@ function useGestureHandlerPan(config) {
79
73
  var minY = positions[0],
80
74
  gs = gestureStateRef.current,
81
75
  gesture = Gesture.Pan().withRef(panGestureRef).failOffsetX([-20, 20]).shouldCancelWhenOutside(!1).onBegin(function () {
82
- gs.panStarted = !1, config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = !0);
83
76
  var pos = getCurrentPosition(),
84
77
  atTop = pos <= minY + AT_TOP_THRESHOLD,
85
78
  currentScrollY = scrollBridge.y;
86
- if (gs.startY = pos, gs.lastPanTranslationY = 0, gs.accumulatedOffset = 0, gs.prevTranslationY = 0, gs.scrollEngaged = currentScrollY > 0, gs.frozenPositions = [...positions], gs.frozenMinY = minY, !atTop) {
79
+ if (gs.startY = pos, gs.lastPanTranslationY = 0, gs.accumulatedOffset = 0, gs.prevTranslationY = 0, gs.scrollEngaged = currentScrollY > 0, !atTop) {
87
80
  var _scrollBridge_setScrollEnabled;
88
81
  (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, !1, 0);
89
82
  }
90
83
  }).onStart(function () {
91
- gs.panStarted = !0, setIsDragging(!0), scrollBridge.initialPosition = gs.startY, onStart();
84
+ scrollBridge.initialPosition = gs.startY, onStart();
92
85
  }).onChange(function (event) {
93
86
  var {
94
87
  translationY
@@ -118,21 +111,18 @@ function useGestureHandlerPan(config) {
118
111
  velocityY
119
112
  } = event,
120
113
  currentPos = gs.startY + gs.accumulatedOffset;
121
- scrollBridge.scrollLockY = void 0;
122
- var snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions,
123
- snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
124
- if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
114
+ if (scrollBridge.scrollLockY = void 0, currentPos <= minY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
125
115
  onEnd(0);
126
116
  return;
127
117
  }
128
- for (var velocity = velocityY / 1e3, projectedEnd = currentPos + frameSize * velocity * 0.2, closestPoint = 0, minDist = Number.POSITIVE_INFINITY, i = 0; i < snapPositions.length; i++) {
129
- var pos = snapPositions[i],
118
+ for (var velocity = velocityY / 1e3, projectedEnd = currentPos + frameSize * velocity * 0.2, closestPoint = 0, minDist = Number.POSITIVE_INFINITY, i = 0; i < positions.length; i++) {
119
+ var pos = positions[i],
130
120
  dist = Math.abs(projectedEnd - pos);
131
121
  dist < minDist && (minDist = dist, closestPoint = i);
132
122
  }
133
123
  onEnd(closestPoint);
134
124
  }).onFinalize(function () {
135
- scrollBridge.scrollLockY = void 0, gs.panStarted ? setIsDragging(!1) : config.pauseKeyboardHandler && (config.pauseKeyboardHandler.current = !1);
125
+ scrollBridge.scrollLockY = void 0;
136
126
  }).runOnJS(!0);
137
127
  return scrollGestureRef?.current ? gesture.simultaneousWithExternalGesture(scrollGestureRef.current) : gesture;
138
128
  }, [gestureHandlerEnabled, disableDrag, isShowingInnerSheet, frameSize, positions, scrollBridge, getCurrentPosition, resisted, onStart, onEnd, setIsDragging, setAnimatedPosition]);
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useGestureHandlerPan_exports","useGestureHandlerPan","module","exports","import_react","require","import_gestureState","AT_TOP_THRESHOLD","config","positions","frameSize","setPosition","animateTo","stopSpring","scrollBridge","setIsDragging","getCurrentPosition","resisted","disableDrag","isShowingInnerSheet","setAnimatedPosition","scrollGestureRef","gestureHandlerEnabled","isGestureHandlerEnabled","panGestureRef","useRef","gestureStateRef","startY","lastPanTranslationY","accumulatedOffset","prevTranslationY","scrollEngaged","frozenPositions","frozenMinY","panStarted","onStart","useCallback","onEnd","closestPoint","animationOverride","_scrollBridge_setScrollEnabled","setParentDragging","setScrollEnabled","panGesture","useMemo","Gesture","getGestureHandlerState","minY","gs","current","gesture","Pan","withRef","failOffsetX","shouldCancelWhenOutside","onBegin","pauseKeyboardHandler","pos","atTop","currentScrollY","y","initialPosition","onChange","event","translationY","isSwipingDown","deltaY","scrollY","currentPos","isCurrentlyAtTop","nodeIsScrolling","panHandles","hasScrollableContent","lockTo","newPosition","paneY","_scrollBridge_setScrollEnabled1","velocityY","scrollLockY","snapPositions","length","snapMinY","velocity","projectedEnd","minDist","Number","POSITIVE_INFINITY","i","dist","Math","abs","onFinalize","runOnJS","simultaneousWithExternalGesture"],"sources":["../../src/useGestureHandlerPan.tsx"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAwB;AAKjC,IAAAC,gBAAM,GAAAF,MAAmB,CAAAG,wBAAA;AA8ClB,IAAAC,iBAAS,GAAAJ,MAAqB,CAAAK,mBAA4C;AAC/E,IAAAC,YAAM,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAAA,IACJC,QAAA,GAAAA,CAAAC,MAAA,EAAAC,GAAA;IAAA,KACA,IAAAC,IAAA,IAAAD,GAAA,EACAZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;MAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;MAAAE,UAAA;IAAA;EAAA;EAAAC,WACA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;IAAA,IACAF,IAAA,WAAAA,IAAA,uBAAAA,IAAA,gBACA,SAAAG,GAAA,IAAAhB,iBAAA,CAAAa,IAAA,GACA,CAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,IAAAnB,SAAA,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;IAAA,OACAE,EAAA;EAAA;AACA,IACAM,YAAA,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IACAE,4BAAA;AAAAhB,QACA,CAAAgB,4BAAA;EAAAC,oBACA,EAAAA,CAAA,KAAAA;AAAA,EACF;AAO+BC,MAC7B,CAAAC,OAAQ,GAAAN,YAAA,CAAAG,4BAAA;AAAA,IAAAI,YAAA,GAAAC,OAAA;EAAAC,mBAAA,GAAAD,OAAA;EAAAE,gBAAA;AAAA,SAERN,oBAAqBA,CAAAO,MAAA;EAAA;MAAAC,SAAA;MAAAC,SAAA;MAAAC,WAAA;MAAAC,SAAA;MAAAC,UAAA;MAAAC,YAAA;MAAAC,aAAA;MAAAC,kBAAA;MAAAC,QAAA;MAAAC,WAAA;MAAAC,mBAAA;MAAAC,mBAAA;MAAAC;IAAA,IAAAb,MAAA;IAAAc,qBAAA,OAAAhB,mBAAA,CAAAiB,uBAAA;IAAAC,aAAA,OAAApB,YAAA,CAAAqB,MAAA;IAAAC,eAAA,OAAAtB,YAAA,CAAAqB,MAAA;MAErBE,MAAA;MAAmB;MAEnBC,mBAAkB;MAAA;MAElBC,iBAAe;MAAA;MAAAC,gBAAA;MAGf;MACAC,aAAY;MAAA;MAEZ;MACDC,eAEe;MACdC,UAAA,EAAW;MACb;MAGEC,UAAC;IACC;IAAAC,OAAA,OAAc/B,YACd,CAAAgC,WAAa,cAAkB;MAKjCvB,UAAA;IAAA,GACC,CACHA,UAAA,CAuPA;IAAAwB,KAAO,OAAAjC,YAAA,CAAAgC,WAAA,YAAAE,YAAA,EAAAC,iBAAA;MACL,IAAAC,8BAtP+B;MAE/BzB,aAAK,MAAAD,YAAA,CAAyB2B,iBAAe,OAAAD,8BAAwB,GAAA1B,YAAA,CAAA4B,gBAAA,cAAAF,8BAAA,eAAAA,8BAAA,CAAA5C,IAAA,CAAAkB,YAAA,OAAAH,WAAA,CAAA2B,YAAA,GAAA1B,SAAA,CAAA0B,YAAA,EAAAC,iBAAA;IACnE,IAGFxB,aAAQ,EACRD,YAAK,EACHH,WAAO,EAGTC,SAAM,CAeF;IAAA+B,UAAG,OAAAvC,YAKQ,CAAAwC,OAAA;MAKX,KAAAtB,qBAAY,IAAAJ,WACN,IAAAC,mBAAsB,KAAAT,SACtB,EAEN,OAAG;MAauC,IAE3C;QACAmC;MAAQ,KAAM,GAAAvC,mBAAA,CAAAwC,sBAAA;MAGb,KAAAD,OAAG,EAML,OACC;MACC,IAAAE,IAAA,GAAMtC,SAAE;QAAauC,EAAA,GAAItB,eAInB,CAAAuB,OAAgB;QAAGC,OAAA,GAAAL,OAAA,CAAAM,GAAmB,GAAAC,OAAA,CAAA5B,aAC7B,EAAA6B,WAAe,EAC9B,KAEA,GAEA,EAAAC,uBACK,KAAAC,OAAA,CAAgB;UAKrBP,EAAA,CAAAd,UAAM,OAAA1B,MAAA,CADagD,oBAAe,KAAAhD,MAAA,CAAAgD,oBACY,CAAAP,OAAA,GACxC;UASN,IAAAQ,GAAI,GAAAzC,kBAAa;YAAA0C,KAAA,GAAAD,GAAA,IAAAV,IAAA,GAAAxC,gBAAA;YAAAoD,cAAA,GAAA7C,YAAA,CAAA8C,CAAA;UAIjB,IAAAZ,EAAA,CAAArB,MAAM,GAAA8B,GAAA,EAAAT,EAAA,CAAApB,mBAAuB,GAAa,GAAAoB,EAAA,CAAAnB,iBAAyB,MAAAmB,EAAA,CAAAlB,gBAAA,MAAAkB,EAAA,CAAAjB,aAAA,GAAA4B,cAAA,MAAAX,EAAA,CAAAhB,eAAA,IA6CnE,GAAAvB,SA3CK,CA+CH,EAAAuC,EAAA,CAAAf,UAAM,GAASc,IAAA,GAAAW,KAAA;YACf,IAAAlB,8BAAgC;YAIhC,CAAAA,8BAA6B,GAAG1B,YAAY,CAAA4B,gBAAA,MAAuB,QAAAF,8BAAA,eAAAA,8BAAA,CAAA5C,IAAA,CAAAkB,YAAA;UAGnE;QAEiD,GAAAqB,OACnD;UAEEa,EAAA,CAAAd,UAAA,IAAa,GAAAnB,aAAA,GAAmB,GAAID,YAAA,CAAA+C,eAAA,GAAAb,EAAA,CAAArB,MAAA,EAAAQ,OAAA;QAAA,EAGxC,CAAC2B,QACM,CAAC,UAAAC,KAAiC;UACvC;cAAAC;YAAQ,CAAU,GAAAD,KAAI;YAAAE,aAChB,GAAajB,EAAG,CAAAlB,gBAAY,GAAAkC,YAAA;YAAAE,MAAA,GAAAF,YAAA,GAAAhB,EAAA,CAAAlB,gBAAA;UAKlCkB,EAAA,CAAAlB,gBAAa,GAAAkC,YAAc;UAO3B,IAAAG,OAAM,GAAArD,YACJ,CAAG8C,CAAA;UAILO,OAAI,SAAAnB,EAAA,CAAAjB,aAAyB;UAC3B,IAAAqC,UAAO,GAAApB,EAAA,CAAArB,MAAA,GAAAqB,EAAA,CAAAnB,iBAAA;YAAAwC,gBAAA,GAAAD,UAAA,IAAArB,IAAA,GAAAxC,gBAAA;YAAA+D,eAAA,GAAAH,OAAA;YAAAI,UAAA;YAAAC,oBAAA,GAAA1D,YAAA,CAAA0D,oBAAA;UACP,IAAAH,gBAAA,GAAAJ,aAAA,GAAAK,eAAA,IAAAE,oBAAA,GAAAD,UAAA,SAAAvB,EAAA,CAAAjB,aAAA,EAAAwC,UAAA,SAAAC,oBAAA,GAAAD,UAAA,QAAAA,UAAA,QAAAN,aAAA,GAAAM,UAAA,IAAAD,eAAA,KAAAE,oBAAA,GAAAD,UAAA,OAAAA,UAAA;YACF,IAAA/B,8BAAA;cAAAiC,MAAA,GAAAJ,gBAAA;YAGA,CAAA7B,8BAA6B,GACvB1B,YAAA,CAAA4B,gBAA4B,cAAYF,8BAAW,eAAAA,8BAAA,CAAA5C,IAAA,CAAAkB,YAAA,MAAA2D,MAAA,GAAAzB,EAAA,CAAAnB,iBAAA,IAAAqC,MAAA;YAEzD,IAAIQ,WAAA,GAAAzD,QACA,CAAA+B,EAAA,CAAArB,MAAU,GAAOqB,EAAA,CAAAnB,iBAAA,EAAAkB,IAAA;YAErBjC,YAAS,CAAI6D,KAAG,GAAID,WAAA,EAActD,mBAAa,CAAAsD,WAAA,GAAA5D,YAAA,CAAA2B,iBAAA,CAAAiC,WAAA,GAAA3B,IAAA;UAC7C;YAEA,IAAI6B,+BACQ;YAGd,CAAAA,+BAAA,GAAA9D,YAAA,CAAA4B,gBAAA,cAAAkC,+BAAA,eAAAA,+BAAA,CAAAhF,IAAA,CAAAkB,YAAA;UAEA;QAAkB,EACpB,CAACuB,KACA,WAAW0B,KAAM;UAGhB;cAAAc;YAAa,IAAAd,KAAA;YAAAK,UACT,GAAGpB,EAAA,CAAArB,MAAA,GAAAqB,EAEL,CAAAnB,iBAAmB;UAQvBf,YACS,CAAIgE,WAAA;UAIf,IAAAC,aAAI,GAAA/B,EAAA,CAAAhB,eAEK,CAAAgD,MAAQ,OAAAhC,EAAA,CAAAhB,eAAA,GAAAvB,SAAgC;YAAAwE,QAAiB,GAAAjC,EAAA,CAAAhB,eAG3D,CAAAgD,MAAA,OAAAhC,EAAA,CAAAf,UAAA,GAAAc,IAAA;UACT,IAAGqB,UAAA,IAAAa,QAAA,GAAA1E,gBAAA,IAAAO,YAAA,CAAA8C,CAAA;YACDvB,KAAA;YACA;UACA;UACA,SAAA6C,QAAA,GAAAL,SAAA,QAAAM,YAAA,GAAAf,UAAA,GAAA1D,SAAA,GAAAwE,QAAA,QAAA5C,YAAA,MAAA8C,OAAA,GAAAC,MAAA,CAAAC,iBAAA,EAAAC,CAAA,MAAAA,CAAA,GAAAR,aAAA,CAAAC,MAAA,EAAAO,CAAA;YACA,IAAA9B,GAAA,GAAAsB,aAAA,CAAAQ,CAAA;cAAAC,IAAA,GAAAC,IAAA,CAAAC,GAAA,CAAAP,YAAA,GAAA1B,GAAA;YACA+B,IAAA,GAAAJ,OAAA,KAAAA,OAAA,GAAAI,IAAA,EAAAlD,YAAA,GAAAiD,CAAA;UACA;UACAlD,KAAA,CAAAC,YAAA;QAAA,EACA,CAAAqD,UAAA;UACA7E,YAAA,CAAAgE,WAAA,WAAA9B,EAAA,CAAAd,UAAA,GAAAnB,aAAA,OAAAP,MAAA,CAAAgD,oBAAA,KAAAhD,MAAA,CAAAgD,oBAAA,CAAAP,OAAA;QAAA,EACA,CAAA2C,OAAA;MAAA,OACAvE,gBAAA,EAAA4B,OAAA,GAAAC,OAAA,CAAA2C,+BAAA,CAAAxE,gBAAA,CAAA4B,OAAA,IAAAC,OAAA;IAAA,GACD,CAIC5B,qBAAA,EACAJ,WAAA,EACFC,mBAAA,EACFT,SAAA,E","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useGestureHandlerPan_exports","useGestureHandlerPan","module","exports","import_react","require","import_gestureState","AT_TOP_THRESHOLD","config","positions","frameSize","setPosition","animateTo","stopSpring","scrollBridge","setIsDragging","getCurrentPosition","resisted","disableDrag","isShowingInnerSheet","setAnimatedPosition","scrollGestureRef","gestureHandlerEnabled","isGestureHandlerEnabled","panGestureRef","useRef","gestureStateRef","startY","lastPanTranslationY","accumulatedOffset","prevTranslationY","scrollEngaged","onStart","useCallback","onEnd","closestPoint","_scrollBridge_setScrollEnabled","setParentDragging","setScrollEnabled","panGesture","useMemo","Gesture","getGestureHandlerState","minY","gs","current","gesture","Pan","withRef","failOffsetX","shouldCancelWhenOutside","onBegin","pos","atTop","currentScrollY","y","initialPosition","onChange","event","translationY","isSwipingDown","deltaY","scrollY","currentPos","isCurrentlyAtTop","nodeIsScrolling","panHandles","hasScrollableContent","lockTo","newPosition","paneY","_scrollBridge_setScrollEnabled1","velocityY","scrollLockY","velocity","projectedEnd","minDist","Number","POSITIVE_INFINITY","i","length","dist","Math","abs","onFinalize","runOnJS","simultaneousWithExternalGesture"],"sources":["../../src/useGestureHandlerPan.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/sheet",
3
- "version": "2.0.0-1769536410877",
3
+ "version": "2.0.0-1769546410712",
4
4
  "type": "module",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -72,24 +72,24 @@
72
72
  }
73
73
  },
74
74
  "dependencies": {
75
- "@tamagui/adapt": "2.0.0-1769536410877",
76
- "@tamagui/animate-presence": "2.0.0-1769536410877",
77
- "@tamagui/animations-react-native": "2.0.0-1769536410877",
78
- "@tamagui/compose-refs": "2.0.0-1769536410877",
79
- "@tamagui/constants": "2.0.0-1769536410877",
80
- "@tamagui/core": "2.0.0-1769536410877",
81
- "@tamagui/create-context": "2.0.0-1769536410877",
82
- "@tamagui/helpers": "2.0.0-1769536410877",
83
- "@tamagui/native": "2.0.0-1769536410877",
84
- "@tamagui/portal": "2.0.0-1769536410877",
85
- "@tamagui/remove-scroll": "2.0.0-1769536410877",
86
- "@tamagui/scroll-view": "2.0.0-1769536410877",
87
- "@tamagui/stacks": "2.0.0-1769536410877",
88
- "@tamagui/use-constant": "2.0.0-1769536410877",
89
- "@tamagui/use-controllable-state": "2.0.0-1769536410877",
90
- "@tamagui/use-did-finish-ssr": "2.0.0-1769536410877",
91
- "@tamagui/use-keyboard-visible": "2.0.0-1769536410877",
92
- "@tamagui/z-index-stack": "2.0.0-1769536410877"
75
+ "@tamagui/adapt": "2.0.0-1769546410712",
76
+ "@tamagui/animate-presence": "2.0.0-1769546410712",
77
+ "@tamagui/animations-react-native": "2.0.0-1769546410712",
78
+ "@tamagui/compose-refs": "2.0.0-1769546410712",
79
+ "@tamagui/constants": "2.0.0-1769546410712",
80
+ "@tamagui/core": "2.0.0-1769546410712",
81
+ "@tamagui/create-context": "2.0.0-1769546410712",
82
+ "@tamagui/helpers": "2.0.0-1769546410712",
83
+ "@tamagui/native": "2.0.0-1769546410712",
84
+ "@tamagui/portal": "2.0.0-1769546410712",
85
+ "@tamagui/remove-scroll": "2.0.0-1769546410712",
86
+ "@tamagui/scroll-view": "2.0.0-1769546410712",
87
+ "@tamagui/stacks": "2.0.0-1769546410712",
88
+ "@tamagui/use-constant": "2.0.0-1769546410712",
89
+ "@tamagui/use-controllable-state": "2.0.0-1769546410712",
90
+ "@tamagui/use-did-finish-ssr": "2.0.0-1769546410712",
91
+ "@tamagui/use-keyboard-visible": "2.0.0-1769546410712",
92
+ "@tamagui/z-index-stack": "2.0.0-1769546410712"
93
93
  },
94
94
  "peerDependencies": {
95
95
  "react": "*",
@@ -102,7 +102,7 @@
102
102
  }
103
103
  },
104
104
  "devDependencies": {
105
- "@tamagui/build": "2.0.0-1769536410877",
105
+ "@tamagui/build": "2.0.0-1769546410712",
106
106
  "react": "*",
107
107
  "react-native": "0.81.5",
108
108
  "react-native-gesture-handler": "~2.28.0"
@@ -19,41 +19,19 @@ import type {
19
19
  LayoutChangeEvent,
20
20
  PanResponderGestureState,
21
21
  } from 'react-native'
22
- import { Dimensions, PanResponder, View } from 'react-native'
22
+ import { Dimensions, Keyboard, PanResponder, View } from 'react-native'
23
23
  import { ParentSheetContext, SheetInsideSheetContext } from './contexts'
24
24
  import { GestureDetectorWrapper } from './GestureDetectorWrapper'
25
25
  import { GestureSheetProvider } from './GestureSheetContext'
26
- import { getSafeArea } from '@tamagui/native'
27
26
  import { resisted } from './helpers'
28
27
  import { SheetProvider } from './SheetContext'
29
28
  import type { SheetProps, SnapPointsMode } from './types'
30
29
  import { useGestureHandlerPan } from './useGestureHandlerPan'
31
- import { useKeyboardControllerSheet } from './useKeyboardControllerSheet'
32
30
  import { useSheetOpenState } from './useSheetOpenState'
33
31
  import { useSheetProviderProps } from './useSheetProviderProps'
34
32
 
35
33
  const hiddenSize = 10_000.1
36
34
 
37
- // safe area top inset, cached per-session (device-constant value)
38
- let _cachedSafeAreaTop: number | undefined
39
- function getSafeAreaTopInset(): number {
40
- if (_cachedSafeAreaTop !== undefined) return _cachedSafeAreaTop
41
- // try tamagui native safe area state first
42
- const sa = getSafeArea()
43
- if (sa.isEnabled) {
44
- _cachedSafeAreaTop = sa.getInsets().top
45
- return _cachedSafeAreaTop
46
- }
47
- // fallback: react-native-safe-area-context initialWindowMetrics (no provider needed)
48
- try {
49
- const sac = require('react-native-safe-area-context')
50
- _cachedSafeAreaTop = sac.initialWindowMetrics?.insets?.top ?? 0
51
- } catch {
52
- _cachedSafeAreaTop = 0
53
- }
54
- return _cachedSafeAreaTop ?? 0
55
- }
56
-
57
35
  let sheetHiddenStyleSheet: HTMLStyleElement | null = null
58
36
 
59
37
  // on web we are always relative to window, on to screen
@@ -163,74 +141,6 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
163
141
  [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]
164
142
  )
165
143
 
166
- // keyboard state tracking — just tracks height/visibility, no position animation.
167
- // Position animation is handled via keyboard-adjusted positions below,
168
- // matching the react-native-actions-sheet pattern.
169
- const {
170
- keyboardHeight,
171
- isKeyboardVisible,
172
- dismissKeyboard,
173
- pauseKeyboardHandler,
174
- flushPendingHide,
175
- } = useKeyboardControllerSheet({
176
- enabled: !isWeb && Boolean(moveOnKeyboardChange),
177
- })
178
-
179
- const [isDragging, setIsDragging_] = React.useState(false)
180
-
181
- // synchronous dragging ref — set BEFORE async state commits.
182
- // RNGH onBegin fires before keyboard hide event reaches JS,
183
- // so the ref is true by the time activePositions memo re-evaluates.
184
- // Also controls pauseKeyboardHandler to freeze keyboard state during drag.
185
- const isDraggingRef = React.useRef(false)
186
- const setIsDragging = React.useCallback(
187
- (val: boolean) => {
188
- isDraggingRef.current = val
189
- pauseKeyboardHandler.current = val
190
- setIsDragging_(val)
191
- // when drag ends, flush any keyboard hide that was suppressed during drag
192
- // so isKeyboardVisible/keyboardHeight reflect actual state
193
- if (!val) {
194
- flushPendingHide()
195
- }
196
- },
197
- [pauseKeyboardHandler, flushPendingHide]
198
- )
199
-
200
- // keyboard-adjusted positions: shift snap points up by keyboard height
201
- // when keyboard is visible. This drives both gesture snap calculation
202
- // and animation targets — keyboard never dismissed during drag.
203
- // Capped at safe area top inset so the sheet never goes above the notch/status bar
204
- // (matching the react-native-actions-sheet pattern).
205
- //
206
- // IMPORTANT: frozen during drag to prevent gesture handler recreation.
207
- // When user drags, TextInput may blur → keyboard dismisses → positions would revert,
208
- // causing the gesture useMemo to recreate and cancel the active drag.
209
- // The post-drag reconciliation effect handles animating to correct position after drag ends.
210
- const activePositionsRef = React.useRef(positions)
211
- const activePositions = React.useMemo(() => {
212
- // during drag, return frozen positions to prevent gesture handler recreation.
213
- // check both state (for re-render trigger) and ref (for synchronous check
214
- // when keyboard hide event fires before isDragging state commits)
215
- if (isDragging || isDraggingRef.current) return activePositionsRef.current
216
-
217
- let result: number[]
218
- if (!isKeyboardVisible || keyboardHeight <= 0) {
219
- result = positions
220
- } else {
221
- const safeAreaTop = isWeb ? 0 : getSafeAreaTopInset()
222
- result = positions.map((p) => {
223
- // don't adjust the off-screen/close position (from dismissOnSnapToBottom's 0% snap)
224
- // — it must stay at screenSize so the user can drag between real snap points
225
- // without accidentally closing the sheet
226
- if (screenSize && p >= screenSize) return p
227
- return Math.max(safeAreaTop, p - keyboardHeight)
228
- })
229
- }
230
- activePositionsRef.current = result
231
- return result
232
- }, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging])
233
-
234
144
  const { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } =
235
145
  animationDriver
236
146
  const AnimatedView = (animationDriver.View ?? TamaguiView) as typeof Animated.View
@@ -269,8 +179,8 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
269
179
  at.current = value
270
180
  scrollBridge.paneY = value
271
181
  // update isAtTop for scroll enable/disable
272
- // activePositions[0] is the top snap point (keyboard-adjusted minY)
273
- const minY = activePositions[0]
182
+ // positions[0] is the top snap point (minY)
183
+ const minY = positions[0]
274
184
  const wasAtTop = scrollBridge.isAtTop
275
185
  const nowAtTop = value <= minY + 5
276
186
  if (wasAtTop !== nowAtTop) {
@@ -286,7 +196,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
286
196
  }
287
197
  }
288
198
  },
289
- [animationDriver, activePositions]
199
+ [animationDriver, positions]
290
200
  )
291
201
  )
292
202
 
@@ -298,23 +208,20 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
298
208
  }
299
209
  }
300
210
 
301
- const animateTo = useEvent((position: number, animationOverride?: any) => {
211
+ const animateTo = useEvent((position: number) => {
302
212
  if (frameSize === 0) return
303
213
 
304
- let toValue = isHidden || position === -1 ? screenSize : activePositions[position]
214
+ let toValue = isHidden || position === -1 ? screenSize : positions[position]
305
215
 
306
216
  if (at.current === toValue) return
307
217
 
308
218
  at.current = toValue
309
219
  stopSpring()
310
220
 
311
- animatedNumber.setValue(
312
- toValue,
313
- animationOverride || {
314
- type: 'spring',
315
- ...transitionConfig,
316
- }
317
- )
221
+ animatedNumber.setValue(toValue, {
222
+ type: 'spring',
223
+ ...transitionConfig,
224
+ })
318
225
  })
319
226
 
320
227
  useIsomorphicLayoutEffect(() => {
@@ -375,6 +282,7 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
375
282
 
376
283
  const disableDrag = props.disableDrag ?? controller?.disableDrag
377
284
  const themeName = useThemeName()
285
+ const [isDragging, setIsDragging] = React.useState(false)
378
286
  const [blockPan, setBlockPan] = React.useState(false)
379
287
 
380
288
  const panResponder = React.useMemo(() => {
@@ -534,41 +442,9 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
534
442
  })
535
443
  }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition])
536
444
 
537
- // animate to keyboard-adjusted position when keyboard state changes
538
- React.useEffect(() => {
539
- if (isDragging || isHidden || !open || disableAnimation) return
540
- if (!frameSize || !screenSize) return
541
- // use timing animation to match iOS keyboard animation (~250ms)
542
- animateTo(position, { type: 'timing', duration: 250 })
543
- }, [isKeyboardVisible, keyboardHeight])
544
-
545
- // reconcile position after drag ends — if keyboard dismissed during drag
546
- // (e.g., input blur), activePositions reverted but onEnd used frozen positions
547
- // for snap index. This effect ensures the sheet animates to the correct
548
- // non-keyboard-adjusted position for the chosen snap index.
549
- const wasDragging = React.useRef(false)
550
- React.useEffect(() => {
551
- if (isDragging) {
552
- wasDragging.current = true
553
- return
554
- }
555
- if (!wasDragging.current) return
556
- wasDragging.current = false
557
- // drag just ended — reconcile position with latest activePositions
558
- if (!frameSize || !screenSize || isHidden || !open) return
559
- animateTo(position)
560
- }, [isDragging])
561
-
562
- // dismiss keyboard when sheet closes
563
- React.useEffect(() => {
564
- if (!open && isKeyboardVisible) {
565
- dismissKeyboard()
566
- }
567
- }, [open])
568
-
569
445
  // gesture handler hook for RNGH-based gesture coordination
570
446
  const { panGesture, panGestureRef, gestureHandlerEnabled } = useGestureHandlerPan({
571
- positions: activePositions,
447
+ positions,
572
448
  frameSize,
573
449
  setPosition,
574
450
  animateTo,
@@ -581,10 +457,9 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
581
457
  isShowingInnerSheet,
582
458
  setAnimatedPosition: (val: number) => {
583
459
  // directly set the animated value for smooth dragging
584
- at.current = val
460
+ // console.warn('[RNGH-Sheet] setAnimatedPosition:', val.toFixed(1))
585
461
  animatedNumber.setValue(val, { type: 'direct' })
586
462
  },
587
- pauseKeyboardHandler,
588
463
  })
589
464
 
590
465
  const handleAnimationViewLayout = React.useCallback(
@@ -625,6 +500,39 @@ export const SheetImplementationCustom = React.forwardRef<View, SheetProps>(
625
500
  }
626
501
  })
627
502
 
503
+ const sizeBeforeKeyboard = React.useRef<number | null>(null)
504
+ React.useEffect(() => {
505
+ if (isWeb || !moveOnKeyboardChange) return
506
+ const keyboardShowListener = Keyboard.addListener(
507
+ currentPlatform === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow',
508
+ (e) => {
509
+ if (sizeBeforeKeyboard.current !== null) return
510
+ sizeBeforeKeyboard.current =
511
+ isHidden || position === -1 ? screenSize : positions[position]
512
+ animatedNumber.setValue(
513
+ Math.max(sizeBeforeKeyboard.current - e.endCoordinates.height, 0),
514
+ {
515
+ type: 'timing',
516
+ duration: 250,
517
+ }
518
+ )
519
+ }
520
+ )
521
+ const keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', () => {
522
+ if (sizeBeforeKeyboard.current === null) return
523
+ animatedNumber.setValue(sizeBeforeKeyboard.current, {
524
+ type: 'timing',
525
+ duration: 250,
526
+ })
527
+ sizeBeforeKeyboard.current = null
528
+ })
529
+
530
+ return () => {
531
+ keyboardDidHideListener.remove()
532
+ keyboardShowListener.remove()
533
+ }
534
+ }, [moveOnKeyboardChange, positions, position, isHidden])
535
+
628
536
  // we need to set this *after* fully closed to 0, to avoid it overlapping
629
537
  // the page when resizing quickly on web for example
630
538
  const [opacity, setOpacity] = React.useState(open ? 1 : 0)
@@ -279,8 +279,6 @@ export const SheetScrollView = React.forwardRef<
279
279
  }}
280
280
  contentContainerStyle={{ minHeight: '100%' }}
281
281
  bounces={false}
282
- keyboardShouldPersistTaps="always"
283
- keyboardDismissMode="none"
284
282
  {...props}
285
283
  >
286
284
  {/* wrapper to measure actual content height (not min-height expanded) */}
package/src/types.tsx CHANGED
@@ -125,50 +125,3 @@ export type ScrollBridge = {
125
125
  // whether sheet is at top position (for scroll enable/disable)
126
126
  isAtTop?: boolean
127
127
  }
128
-
129
- // keyboard controller sheet types
130
-
131
- export interface KeyboardControllerSheetOptions {
132
- /**
133
- * Whether keyboard handling is enabled.
134
- * When false, the hook is a no-op.
135
- */
136
- enabled: boolean
137
- }
138
-
139
- export interface KeyboardControllerSheetResult {
140
- /**
141
- * Whether keyboard-controller is available and enabled.
142
- */
143
- keyboardControllerEnabled: boolean
144
-
145
- /**
146
- * Current keyboard height (0 when hidden).
147
- * On web or when keyboard-controller is not available, always 0.
148
- */
149
- keyboardHeight: number
150
-
151
- /**
152
- * Whether the keyboard is currently visible.
153
- */
154
- isKeyboardVisible: boolean
155
-
156
- /**
157
- * Dismiss the keyboard programmatically.
158
- * Called when sheet closes to dismiss the keyboard.
159
- */
160
- dismissKeyboard: () => void
161
-
162
- /**
163
- * Ref to pause keyboard hide state updates (action-sheet pattern).
164
- * When true, keyboard hide events are ignored — keeps isKeyboardVisible=true
165
- * and keyboardHeight at their last values during drag.
166
- */
167
- pauseKeyboardHandler: React.RefObject<boolean>
168
-
169
- /**
170
- * Flush any keyboard hide event that was suppressed while paused.
171
- * Call after drag ends to reconcile actual keyboard state.
172
- */
173
- flushPendingHide: () => void
174
- }