@oxyhq/bloom 0.3.12 → 0.5.0

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 (191) hide show
  1. package/README.md +133 -90
  2. package/lib/commonjs/bottom-sheet/index.js +341 -98
  3. package/lib/commonjs/bottom-sheet/index.js.map +1 -1
  4. package/lib/commonjs/context-menu/index.js +18 -19
  5. package/lib/commonjs/context-menu/index.js.map +1 -1
  6. package/lib/commonjs/dialog/BloomDialogProvider.js +61 -0
  7. package/lib/commonjs/dialog/BloomDialogProvider.js.map +1 -0
  8. package/lib/commonjs/dialog/BloomDialogProvider.web.js +45 -0
  9. package/lib/commonjs/dialog/BloomDialogProvider.web.js.map +1 -0
  10. package/lib/commonjs/dialog/Dialog.js +197 -100
  11. package/lib/commonjs/dialog/Dialog.js.map +1 -1
  12. package/lib/commonjs/dialog/Dialog.web.js +194 -84
  13. package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
  14. package/lib/commonjs/dialog/SheetShell.js +149 -0
  15. package/lib/commonjs/dialog/SheetShell.js.map +1 -0
  16. package/lib/commonjs/dialog/alert-store.js +116 -0
  17. package/lib/commonjs/dialog/alert-store.js.map +1 -0
  18. package/lib/commonjs/dialog/alert.js +38 -0
  19. package/lib/commonjs/dialog/alert.js.map +1 -0
  20. package/lib/commonjs/dialog/context.js +10 -2
  21. package/lib/commonjs/dialog/context.js.map +1 -1
  22. package/lib/commonjs/dialog/index.js +8 -24
  23. package/lib/commonjs/dialog/index.js.map +1 -1
  24. package/lib/commonjs/dialog/index.web.js +10 -20
  25. package/lib/commonjs/dialog/index.web.js.map +1 -1
  26. package/lib/commonjs/index.js +101 -66
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/index.web.js +101 -66
  29. package/lib/commonjs/index.web.js.map +1 -1
  30. package/lib/commonjs/menu/index.js +21 -23
  31. package/lib/commonjs/menu/index.js.map +1 -1
  32. package/lib/commonjs/select/index.js +26 -27
  33. package/lib/commonjs/select/index.js.map +1 -1
  34. package/lib/commonjs/toast/index.js +42 -13
  35. package/lib/commonjs/toast/index.js.map +1 -1
  36. package/lib/commonjs/toast/index.web.js +19 -15
  37. package/lib/commonjs/toast/index.web.js.map +1 -1
  38. package/lib/module/bottom-sheet/index.js +341 -98
  39. package/lib/module/bottom-sheet/index.js.map +1 -1
  40. package/lib/module/context-menu/index.js +15 -16
  41. package/lib/module/context-menu/index.js.map +1 -1
  42. package/lib/module/dialog/BloomDialogProvider.js +57 -0
  43. package/lib/module/dialog/BloomDialogProvider.js.map +1 -0
  44. package/lib/module/dialog/BloomDialogProvider.web.js +41 -0
  45. package/lib/module/dialog/BloomDialogProvider.web.js.map +1 -0
  46. package/lib/module/dialog/Dialog.js +199 -87
  47. package/lib/module/dialog/Dialog.js.map +1 -1
  48. package/lib/module/dialog/Dialog.web.js +195 -70
  49. package/lib/module/dialog/Dialog.web.js.map +1 -1
  50. package/lib/module/dialog/SheetShell.js +143 -0
  51. package/lib/module/dialog/SheetShell.js.map +1 -0
  52. package/lib/module/dialog/alert-store.js +107 -0
  53. package/lib/module/dialog/alert-store.js.map +1 -0
  54. package/lib/module/dialog/alert.js +35 -0
  55. package/lib/module/dialog/alert.js.map +1 -0
  56. package/lib/module/dialog/context.js +10 -2
  57. package/lib/module/dialog/context.js.map +1 -1
  58. package/lib/module/dialog/index.js +3 -1
  59. package/lib/module/dialog/index.js.map +1 -1
  60. package/lib/module/dialog/index.web.js +9 -7
  61. package/lib/module/dialog/index.web.js.map +1 -1
  62. package/lib/module/index.js +2 -3
  63. package/lib/module/index.js.map +1 -1
  64. package/lib/module/index.web.js +2 -3
  65. package/lib/module/index.web.js.map +1 -1
  66. package/lib/module/menu/index.js +11 -13
  67. package/lib/module/menu/index.js.map +1 -1
  68. package/lib/module/select/index.js +27 -28
  69. package/lib/module/select/index.js.map +1 -1
  70. package/lib/module/toast/index.js +41 -11
  71. package/lib/module/toast/index.js.map +1 -1
  72. package/lib/module/toast/index.web.js +18 -13
  73. package/lib/module/toast/index.web.js.map +1 -1
  74. package/lib/typescript/commonjs/__tests__/Dialog.test.d.ts +2 -0
  75. package/lib/typescript/commonjs/__tests__/Dialog.test.d.ts.map +1 -0
  76. package/lib/typescript/commonjs/bottom-sheet/index.d.ts +47 -1
  77. package/lib/typescript/commonjs/bottom-sheet/index.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/context-menu/index.d.ts +4 -3
  79. package/lib/typescript/commonjs/context-menu/index.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/dialog/BloomDialogProvider.d.ts +27 -0
  81. package/lib/typescript/commonjs/dialog/BloomDialogProvider.d.ts.map +1 -0
  82. package/lib/typescript/commonjs/dialog/BloomDialogProvider.web.d.ts +15 -0
  83. package/lib/typescript/commonjs/dialog/BloomDialogProvider.web.d.ts.map +1 -0
  84. package/lib/typescript/commonjs/dialog/Dialog.d.ts +37 -10
  85. package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +26 -10
  87. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/dialog/SheetShell.d.ts +31 -0
  89. package/lib/typescript/commonjs/dialog/SheetShell.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/dialog/alert-store.d.ts +70 -0
  91. package/lib/typescript/commonjs/dialog/alert-store.d.ts.map +1 -0
  92. package/lib/typescript/commonjs/dialog/alert.d.ts +27 -0
  93. package/lib/typescript/commonjs/dialog/alert.d.ts.map +1 -0
  94. package/lib/typescript/commonjs/dialog/context.d.ts +7 -0
  95. package/lib/typescript/commonjs/dialog/context.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/dialog/index.d.ts +5 -2
  97. package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/dialog/index.web.d.ts +5 -2
  99. package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/dialog/types.d.ts +70 -15
  101. package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/index.d.ts +3 -3
  103. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/index.web.d.ts +3 -3
  105. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/menu/index.d.ts +4 -4
  107. package/lib/typescript/commonjs/menu/index.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/select/index.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/toast/index.d.ts +32 -3
  110. package/lib/typescript/commonjs/toast/index.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/toast/index.web.d.ts +14 -7
  112. package/lib/typescript/commonjs/toast/index.web.d.ts.map +1 -1
  113. package/lib/typescript/module/__tests__/Dialog.test.d.ts +2 -0
  114. package/lib/typescript/module/__tests__/Dialog.test.d.ts.map +1 -0
  115. package/lib/typescript/module/bottom-sheet/index.d.ts +47 -1
  116. package/lib/typescript/module/bottom-sheet/index.d.ts.map +1 -1
  117. package/lib/typescript/module/context-menu/index.d.ts +4 -3
  118. package/lib/typescript/module/context-menu/index.d.ts.map +1 -1
  119. package/lib/typescript/module/dialog/BloomDialogProvider.d.ts +27 -0
  120. package/lib/typescript/module/dialog/BloomDialogProvider.d.ts.map +1 -0
  121. package/lib/typescript/module/dialog/BloomDialogProvider.web.d.ts +15 -0
  122. package/lib/typescript/module/dialog/BloomDialogProvider.web.d.ts.map +1 -0
  123. package/lib/typescript/module/dialog/Dialog.d.ts +37 -10
  124. package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
  125. package/lib/typescript/module/dialog/Dialog.web.d.ts +26 -10
  126. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  127. package/lib/typescript/module/dialog/SheetShell.d.ts +31 -0
  128. package/lib/typescript/module/dialog/SheetShell.d.ts.map +1 -0
  129. package/lib/typescript/module/dialog/alert-store.d.ts +70 -0
  130. package/lib/typescript/module/dialog/alert-store.d.ts.map +1 -0
  131. package/lib/typescript/module/dialog/alert.d.ts +27 -0
  132. package/lib/typescript/module/dialog/alert.d.ts.map +1 -0
  133. package/lib/typescript/module/dialog/context.d.ts +7 -0
  134. package/lib/typescript/module/dialog/context.d.ts.map +1 -1
  135. package/lib/typescript/module/dialog/index.d.ts +5 -2
  136. package/lib/typescript/module/dialog/index.d.ts.map +1 -1
  137. package/lib/typescript/module/dialog/index.web.d.ts +5 -2
  138. package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
  139. package/lib/typescript/module/dialog/types.d.ts +70 -15
  140. package/lib/typescript/module/dialog/types.d.ts.map +1 -1
  141. package/lib/typescript/module/index.d.ts +3 -3
  142. package/lib/typescript/module/index.d.ts.map +1 -1
  143. package/lib/typescript/module/index.web.d.ts +3 -3
  144. package/lib/typescript/module/index.web.d.ts.map +1 -1
  145. package/lib/typescript/module/menu/index.d.ts +4 -4
  146. package/lib/typescript/module/menu/index.d.ts.map +1 -1
  147. package/lib/typescript/module/select/index.d.ts.map +1 -1
  148. package/lib/typescript/module/toast/index.d.ts +32 -3
  149. package/lib/typescript/module/toast/index.d.ts.map +1 -1
  150. package/lib/typescript/module/toast/index.web.d.ts +14 -7
  151. package/lib/typescript/module/toast/index.web.d.ts.map +1 -1
  152. package/package.json +3 -14
  153. package/src/__tests__/BottomSheet.test.tsx +149 -2
  154. package/src/__tests__/Dialog.test.tsx +177 -0
  155. package/src/bottom-sheet/index.tsx +367 -83
  156. package/src/context-menu/index.tsx +12 -12
  157. package/src/dialog/BloomDialogProvider.tsx +61 -0
  158. package/src/dialog/BloomDialogProvider.web.tsx +46 -0
  159. package/src/dialog/Dialog.tsx +217 -64
  160. package/src/dialog/Dialog.web.tsx +240 -75
  161. package/src/dialog/SheetShell.tsx +154 -0
  162. package/src/dialog/alert-store.ts +126 -0
  163. package/src/dialog/alert.ts +42 -0
  164. package/src/dialog/context.ts +14 -3
  165. package/src/dialog/index.ts +14 -2
  166. package/src/dialog/index.web.ts +20 -8
  167. package/src/dialog/types.ts +73 -16
  168. package/src/index.ts +17 -3
  169. package/src/index.web.ts +17 -3
  170. package/src/menu/index.tsx +13 -17
  171. package/src/select/index.tsx +30 -30
  172. package/src/toast/index.tsx +55 -11
  173. package/src/toast/index.web.tsx +33 -13
  174. package/lib/commonjs/prompt/Prompt.js +0 -267
  175. package/lib/commonjs/prompt/Prompt.js.map +0 -1
  176. package/lib/commonjs/prompt/index.js +0 -61
  177. package/lib/commonjs/prompt/index.js.map +0 -1
  178. package/lib/module/prompt/Prompt.js +0 -250
  179. package/lib/module/prompt/Prompt.js.map +0 -1
  180. package/lib/module/prompt/index.js +0 -4
  181. package/lib/module/prompt/index.js.map +0 -1
  182. package/lib/typescript/commonjs/prompt/Prompt.d.ts +0 -42
  183. package/lib/typescript/commonjs/prompt/Prompt.d.ts.map +0 -1
  184. package/lib/typescript/commonjs/prompt/index.d.ts +0 -3
  185. package/lib/typescript/commonjs/prompt/index.d.ts.map +0 -1
  186. package/lib/typescript/module/prompt/Prompt.d.ts +0 -42
  187. package/lib/typescript/module/prompt/Prompt.d.ts.map +0 -1
  188. package/lib/typescript/module/prompt/index.d.ts +0 -3
  189. package/lib/typescript/module/prompt/index.d.ts.map +0 -1
  190. package/src/prompt/Prompt.tsx +0 -247
  191. package/src/prompt/index.ts +0 -13
@@ -50,7 +50,11 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
50
50
  onDismissAttempt,
51
51
  detached = false,
52
52
  showHandle = true,
53
- backdropOpacity = 0.5
53
+ backdropOpacity = 0.5,
54
+ scrollable = true,
55
+ manualActivation = false,
56
+ dynamicBackdrop = false,
57
+ handleComponent
54
58
  } = props;
55
59
  const insets = useSafeAreaInsets();
56
60
  const theme = useTheme();
@@ -65,6 +69,16 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
65
69
  const closeTimeoutRef = useRef(null);
66
70
  const hasClosedRef = useRef(false);
67
71
  const scrollViewRef = useRef(null);
72
+ /**
73
+ * Monotonically increasing counter that identifies "the current close
74
+ * attempt". Bumped every time the sheet re-opens (`present()`), so any
75
+ * in-flight `withTiming` completion callback or fallback timer from a
76
+ * PREVIOUS close cycle becomes a no-op. Without this guard, a stale
77
+ * `runOnJS(finishClose)` from an aborted close would fire `onDismiss`
78
+ * and unmount the sheet immediately after the user opens it again,
79
+ * causing "tap to open does nothing" reports in production.
80
+ */
81
+ const closeGenerationRef = useRef(0);
68
82
  const screenHeightSV = useSharedValue(screenHeight);
69
83
  // Keep shared value in sync when screen dimensions change (rotation/resize)
70
84
  useEffect(() => {
@@ -79,6 +93,21 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
79
93
  const context = useSharedValue({
80
94
  y: 0
81
95
  });
96
+ // Mirror of `closeGenerationRef` for worklet access. Bumped from the JS
97
+ // thread in lockstep with the ref so gesture worklets always see the
98
+ // current generation when they snapshot it on `onEnd`.
99
+ const closeGeneration = useSharedValue(0);
100
+ // Used by `manualActivation` body pan to track the touch's initial Y so
101
+ // it can compute downward distance for the activation decision.
102
+ const touchStartY = useSharedValue(0);
103
+
104
+ // Refs used to mark the handle pan and the body pan as mutually
105
+ // simultaneous (manualActivation mode only). Without this RNGH treats them
106
+ // as racing gestures and a touch that begins in the handle area could be
107
+ // claimed by whichever recognizer activates first — leading to
108
+ // inconsistent drag start.
109
+ const bodyPanRef = useRef(undefined);
110
+ const handlePanRef = useRef(undefined);
82
111
  useKeyboardHandler({
83
112
  onMove: e => {
84
113
  'worklet';
@@ -112,7 +141,20 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
112
141
  useEffect(() => {
113
142
  renderedRef.current = rendered;
114
143
  }, [rendered]);
115
- const finishClose = useCallback(() => {
144
+
145
+ /**
146
+ * Commit a close. Two guards prevent stale callbacks from firing:
147
+ * 1. `hasClosedRef` — protects against the fallback timer AND the
148
+ * animation callback both racing to call us within a single close
149
+ * cycle.
150
+ * 2. `generation` — protects against a callback from a PREVIOUS close
151
+ * cycle firing AFTER the user reopened. If the live generation has
152
+ * advanced past the one captured when the close started, this
153
+ * callback is from a cycle that the user has implicitly cancelled
154
+ * by reopening — silently drop it.
155
+ */
156
+ const finishClose = useCallback(generation => {
157
+ if (closeGenerationRef.current !== generation) return;
116
158
  if (hasClosedRef.current) return;
117
159
  hasClosedRef.current = true;
118
160
  safeClose();
@@ -125,16 +167,25 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
125
167
  closeTimeoutRef.current = null;
126
168
  }
127
169
  hasClosedRef.current = false;
170
+ // Bump generation: any pending close-completion callback from a
171
+ // prior cycle (animation or fallback timer) will now no-op when
172
+ // it eventually fires, because its captured generation is stale.
173
+ closeGenerationRef.current += 1;
174
+ closeGeneration.value = closeGenerationRef.current;
128
175
  opacity.value = withTiming(1, {
129
176
  duration: 250
130
177
  });
131
178
  translateY.value = withSpring(0, SPRING_CONFIG);
132
179
  } else if (rendered) {
180
+ // Capture the generation for THIS close cycle so the animation
181
+ // callback (running on the UI thread, scheduled back to JS) and
182
+ // the fallback timer agree on which cycle they belong to.
183
+ const generation = closeGenerationRef.current;
133
184
  opacity.value = withTiming(0, {
134
185
  duration: 250
135
186
  }, finished => {
136
187
  if (finished) {
137
- runOnJS(finishClose)();
188
+ runOnJS(finishClose)(generation);
138
189
  }
139
190
  });
140
191
  translateY.value = withSpring(screenHeight, {
@@ -142,21 +193,22 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
142
193
  stiffness: 250
143
194
  });
144
195
 
145
- // Fallback timer to ensure close completes (especially on web)
196
+ // Fallback timer to ensure close completes (especially on web
197
+ // where reanimated callbacks occasionally drop on tab blur).
146
198
  if (closeTimeoutRef.current) {
147
199
  clearTimeout(closeTimeoutRef.current);
148
200
  }
149
201
  closeTimeoutRef.current = setTimeout(() => {
150
- finishClose();
202
+ finishClose(generation);
151
203
  closeTimeoutRef.current = null;
152
204
  }, 300);
153
205
  }
154
- }, [visible, rendered, finishClose]);
206
+ }, [visible, rendered, finishClose, screenHeight, closeGeneration, opacity, translateY]);
155
207
 
156
208
  // On unmount: ensure pending close callbacks (e.g. consumer's `onDismiss`)
157
209
  // still fire if the BS is yanked mid-animation by a parent re-render.
158
- // Without this, `Dialog.Outer.handleDismiss` never runs and queued
159
- // callbacks like `Prompt.Action`'s post-close handler are silently lost.
210
+ // Without this, `Dialog`'s `handleDismiss` never runs and queued
211
+ // callbacks (post-close handlers) are silently lost.
160
212
  // Only fires when the sheet was actually rendered (open or closing) to
161
213
  // avoid spuriously calling onDismiss on bare unmount of a never-opened
162
214
  // sheet. Refs are read inside the cleanup, so latest values are captured.
@@ -203,79 +255,216 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
203
255
  }), [present, dismiss, scrollTo]);
204
256
  const nativeGesture = useMemo(() => Gesture.Native(), []);
205
257
 
206
- // Memoized pan gesture recreating a Gesture.Pan() on every render causes
207
- // gesture detach/reattach during animations and breaks React Compiler memoization.
208
- const panGesture = useMemo(() => Gesture.Pan().enabled(enablePanDownToClose).simultaneousWithExternalGesture(nativeGesture).onStart(() => {
209
- 'worklet';
258
+ // Body pan — two strategies, switched by `manualActivation`.
259
+ //
260
+ // (1) Legacy mode (`manualActivation: false`, the bloom 0.3.x default):
261
+ // Pan is always active. We snapshot the scroll offset at `onStart`
262
+ // and gate movement on `scrollOffsetY <= 8` during the gesture.
263
+ // This is what current bloom consumers expect.
264
+ //
265
+ // (2) gorhom-style mode (`manualActivation: true`):
266
+ // Pan uses `manualActivation(true)` and only flips to active when
267
+ // the inner ScrollView is at the top AND the user has moved their
268
+ // finger downward > 8dp. In every other case it fails, so the
269
+ // ScrollView keeps full ownership of the touch. This is the only
270
+ // RNGH 2.x pattern that does not steal vertical events from the
271
+ // inner scroller on Android. Required for FileManagement /
272
+ // PhotoPicker style sheets.
273
+ const panGesture = useMemo(() => {
274
+ if (manualActivation) {
275
+ return Gesture.Pan().enabled(enablePanDownToClose).withRef(bodyPanRef).manualActivation(true).simultaneousWithExternalGesture(scrollViewRef, handlePanRef).onTouchesDown(e => {
276
+ 'worklet';
210
277
 
211
- context.value = {
212
- y: translateY.value
213
- };
214
- allowPanClose.value = scrollOffsetY.value <= 8;
215
- }).onUpdate(event => {
216
- 'worklet';
278
+ const t = e.changedTouches[0];
279
+ if (t) touchStartY.value = t.absoluteY;
280
+ context.value = {
281
+ y: translateY.value
282
+ };
283
+ }).onTouchesMove((e, state) => {
284
+ 'worklet';
217
285
 
218
- if (!allowPanClose.value) {
219
- return;
220
- }
221
- const newTranslateY = context.value.y + event.translationY;
222
- // If user is scrolling down while content isn't at (or near) the top, let ScrollView handle it
223
- const atTopOrNearTop = scrollOffsetY.value <= 8; // slightly larger tolerance for smoother handoff
224
- if (event.translationY > 0 && !atTopOrNearTop) {
225
- return;
226
- }
227
- if (newTranslateY >= 0) {
228
- translateY.value = newTranslateY;
229
- } else if (detached) {
230
- // Only allow overdrag (pulling up beyond top) when detached
231
- translateY.value = newTranslateY * 0.3;
232
- } else {
233
- // In normal mode, prevent overdrag - clamp to 0
234
- translateY.value = 0;
235
- }
236
- }).onEnd(event => {
237
- 'worklet';
286
+ const t = e.changedTouches[0];
287
+ if (!t) return;
288
+ const dy = t.absoluteY - touchStartY.value;
289
+ const atTop = scrollOffsetY.value <= 4;
290
+ // Activate only when (at scroll top) AND (finger has moved
291
+ // downward by > 8dp). Any other motion: fail so the
292
+ // ScrollView claims the gesture.
293
+ if (atTop && dy > 8) {
294
+ state.activate();
295
+ } else if (dy < -4 || !atTop) {
296
+ state.fail();
297
+ }
298
+ }).onUpdate(event => {
299
+ 'worklet';
238
300
 
239
- if (!allowPanClose.value) {
240
- return;
241
- }
242
- const velocity = event.velocityY;
243
- const distance = translateY.value;
244
- // Require a deeper pull to close (more like native bottom sheets)
245
- const closeThreshold = Math.max(140, screenHeightSV.value * 0.25);
246
- const fastSwipeThreshold = 900;
247
- const shouldClose = velocity > fastSwipeThreshold || distance > closeThreshold && velocity > -300;
248
- if (shouldClose) {
249
- translateY.value = withSpring(screenHeightSV.value, {
250
- ...SPRING_CONFIG,
251
- velocity: velocity
252
- });
253
- opacity.value = withTiming(0, {
254
- duration: 250
255
- }, finished => {
256
- if (finished) {
257
- runOnJS(finishClose)();
301
+ if (event.translationY < 0) return;
302
+ const newTranslateY = context.value.y + event.translationY;
303
+ if (newTranslateY >= 0) {
304
+ translateY.value = newTranslateY;
305
+ }
306
+ }).onEnd(event => {
307
+ 'worklet';
308
+
309
+ const velocity = event.velocityY;
310
+ const distance = translateY.value;
311
+ const closeThreshold = Math.max(140, screenHeightSV.value * 0.25);
312
+ const fastSwipeThreshold = 900;
313
+ const shouldClose = velocity > fastSwipeThreshold || distance > closeThreshold && velocity > -300;
314
+ if (shouldClose) {
315
+ // Snapshot the generation on the UI thread at the
316
+ // moment the close gesture commits. The completion
317
+ // callback only fires `finishClose` if no reopen
318
+ // bumped the generation in between.
319
+ const generation = closeGeneration.value;
320
+ translateY.value = withSpring(screenHeightSV.value, {
321
+ ...SPRING_CONFIG,
322
+ velocity
323
+ });
324
+ opacity.value = withTiming(0, {
325
+ duration: 250
326
+ }, finished => {
327
+ if (finished) runOnJS(finishClose)(generation);
328
+ });
329
+ } else {
330
+ translateY.value = withSpring(0, {
331
+ ...SPRING_CONFIG,
332
+ velocity
333
+ });
258
334
  }
259
- });
260
- } else {
261
- translateY.value = withSpring(0, {
262
- ...SPRING_CONFIG,
263
- velocity: velocity
264
335
  });
265
336
  }
266
- }),
267
- // Shared values are stable refs; enablePanDownToClose and detached are the only
268
- // JS-side values that change the gesture's behavior.
269
- // finishClose is stable (useCallback with stable deps).
270
- // eslint-disable-next-line react-hooks/exhaustive-deps
271
- [enablePanDownToClose, detached, nativeGesture, finishClose]);
337
+
338
+ // Legacy always-active pan (bloom 0.3.x behaviour).
339
+ return Gesture.Pan().enabled(enablePanDownToClose).simultaneousWithExternalGesture(nativeGesture).onStart(() => {
340
+ 'worklet';
341
+
342
+ context.value = {
343
+ y: translateY.value
344
+ };
345
+ allowPanClose.value = scrollOffsetY.value <= 8;
346
+ }).onUpdate(event => {
347
+ 'worklet';
348
+
349
+ if (!allowPanClose.value) {
350
+ return;
351
+ }
352
+ const newTranslateY = context.value.y + event.translationY;
353
+ // If user is scrolling down while content isn't at (or near) the top, let ScrollView handle it
354
+ const atTopOrNearTop = scrollOffsetY.value <= 8; // slightly larger tolerance for smoother handoff
355
+ if (event.translationY > 0 && !atTopOrNearTop) {
356
+ return;
357
+ }
358
+ if (newTranslateY >= 0) {
359
+ translateY.value = newTranslateY;
360
+ } else if (detached) {
361
+ // Only allow overdrag (pulling up beyond top) when detached
362
+ translateY.value = newTranslateY * 0.3;
363
+ } else {
364
+ // In normal mode, prevent overdrag - clamp to 0
365
+ translateY.value = 0;
366
+ }
367
+ }).onEnd(event => {
368
+ 'worklet';
369
+
370
+ if (!allowPanClose.value) {
371
+ return;
372
+ }
373
+ const velocity = event.velocityY;
374
+ const distance = translateY.value;
375
+ // Require a deeper pull to close (more like native bottom sheets)
376
+ const closeThreshold = Math.max(140, screenHeightSV.value * 0.25);
377
+ const fastSwipeThreshold = 900;
378
+ const shouldClose = velocity > fastSwipeThreshold || distance > closeThreshold && velocity > -300;
379
+ if (shouldClose) {
380
+ const generation = closeGeneration.value;
381
+ translateY.value = withSpring(screenHeightSV.value, {
382
+ ...SPRING_CONFIG,
383
+ velocity: velocity
384
+ });
385
+ opacity.value = withTiming(0, {
386
+ duration: 250
387
+ }, finished => {
388
+ if (finished) {
389
+ runOnJS(finishClose)(generation);
390
+ }
391
+ });
392
+ } else {
393
+ translateY.value = withSpring(0, {
394
+ ...SPRING_CONFIG,
395
+ velocity: velocity
396
+ });
397
+ }
398
+ });
399
+ // Shared values are stable refs; the listed deps are the only JS-side
400
+ // values that change the gesture's behavior. `finishClose` is stable
401
+ // (useCallback with stable deps).
402
+ // eslint-disable-next-line react-hooks/exhaustive-deps
403
+ }, [enablePanDownToClose, detached, manualActivation, nativeGesture, finishClose]);
404
+
405
+ // Dedicated handle pan — only built in `manualActivation` mode. Always
406
+ // active so users can drag the handle even while content is mid-scroll.
407
+ // In legacy mode the body pan already wraps the whole sheet (handle
408
+ // included), so no separate gesture is needed.
409
+ const handlePanGesture = useMemo(() => {
410
+ if (!manualActivation) return undefined;
411
+ return Gesture.Pan().enabled(enablePanDownToClose && enableHandlePanningGesture).withRef(handlePanRef).simultaneousWithExternalGesture(bodyPanRef).activeOffsetY([-8, 8]).onStart(() => {
412
+ 'worklet';
413
+
414
+ context.value = {
415
+ y: translateY.value
416
+ };
417
+ }).onUpdate(event => {
418
+ 'worklet';
419
+
420
+ const newTranslateY = context.value.y + event.translationY;
421
+ if (newTranslateY >= 0) {
422
+ translateY.value = newTranslateY;
423
+ } else if (detached) {
424
+ translateY.value = newTranslateY * 0.3;
425
+ } else {
426
+ translateY.value = 0;
427
+ }
428
+ }).onEnd(event => {
429
+ 'worklet';
430
+
431
+ const velocity = event.velocityY;
432
+ const distance = translateY.value;
433
+ const closeThreshold = Math.max(140, screenHeightSV.value * 0.25);
434
+ const fastSwipeThreshold = 900;
435
+ const shouldClose = velocity > fastSwipeThreshold || distance > closeThreshold && velocity > -300;
436
+ if (shouldClose) {
437
+ const generation = closeGeneration.value;
438
+ translateY.value = withSpring(screenHeightSV.value, {
439
+ ...SPRING_CONFIG,
440
+ velocity
441
+ });
442
+ opacity.value = withTiming(0, {
443
+ duration: 250
444
+ }, finished => {
445
+ if (finished) runOnJS(finishClose)(generation);
446
+ });
447
+ } else {
448
+ translateY.value = withSpring(0, {
449
+ ...SPRING_CONFIG,
450
+ velocity
451
+ });
452
+ }
453
+ });
454
+ // eslint-disable-next-line react-hooks/exhaustive-deps
455
+ }, [manualActivation, enablePanDownToClose, enableHandlePanningGesture, detached, finishClose]);
272
456
 
273
457
  // `opacity.value` drives the fade in/out (0 -> 1). `backdropOpacity` is the
274
458
  // final dim level once fully visible. We multiply so the consumer-provided
275
- // dim opacity applies smoothly across the animation.
276
- const backdropStyle = useAnimatedStyle(() => ({
277
- opacity: opacity.value * backdropOpacity
278
- }), [backdropOpacity]);
459
+ // dim opacity applies smoothly across the animation. When
460
+ // `dynamicBackdrop` is enabled, the dim also fades proportionally with
461
+ // drag distance (iOS Photos style).
462
+ const backdropStyle = useAnimatedStyle(() => {
463
+ const dragFactor = dynamicBackdrop ? interpolate(translateY.value, [0, screenHeightSV.value * 0.4], [1, 0.3], 'clamp') : 1;
464
+ return {
465
+ opacity: opacity.value * backdropOpacity * dragFactor
466
+ };
467
+ }, [backdropOpacity, dynamicBackdrop]);
279
468
  const sheetStyle = useAnimatedStyle(() => {
280
469
  const scale = interpolate(translateY.value, [0, screenHeightSV.value], [1, 0.95]);
281
470
  return {
@@ -332,6 +521,64 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
332
521
  });
333
522
  }, [colors.background, theme.isDark, detached]);
334
523
  if (!rendered) return null;
524
+
525
+ // Default handle render — used when `handleComponent` is not provided.
526
+ const renderDefaultHandle = () => /*#__PURE__*/_jsx(View, {
527
+ style: dynamicStyles.handle
528
+ });
529
+ const handleNode = showHandle ? handleComponent ? handleComponent() : renderDefaultHandle() : null;
530
+
531
+ // In `manualActivation` mode the handle gets its own gesture detector
532
+ // sitting in a dedicated absolutely-positioned hit area at the top of the
533
+ // sheet. In legacy mode the handle is rendered inline as a decorative
534
+ // overlay (the body pan covers the entire sheet, handle included).
535
+ const handleSlot = handleNode && manualActivation && handlePanGesture ? /*#__PURE__*/_jsx(GestureDetector, {
536
+ gesture: handlePanGesture,
537
+ children: /*#__PURE__*/_jsx(View, {
538
+ style: styles.handleHitArea,
539
+ accessible: true,
540
+ accessibilityRole: "adjustable",
541
+ children: handleNode
542
+ })
543
+ }) : handleNode;
544
+
545
+ // Inner content: scrollable wraps in Animated.ScrollView, non-scrollable
546
+ // renders children directly. In legacy mode the scrollview is also
547
+ // wrapped in the `nativeGesture` detector for scroll/pan coordination.
548
+ const scrollViewNode = /*#__PURE__*/_jsx(Animated.ScrollView, {
549
+ ref: scrollViewRef,
550
+ style: [styles.scrollView, Platform.OS === 'web' && {
551
+ scrollbarWidth: 'thin',
552
+ scrollbarColor: `${colors.border} transparent`
553
+ }],
554
+ contentContainerStyle: dynamicStyles.scrollContent,
555
+ showsVerticalScrollIndicator: false,
556
+ keyboardShouldPersistTaps: "handled",
557
+ onScroll: scrollHandler,
558
+ scrollEventThrottle: 16,
559
+ ...(Platform.OS === 'web' ? {
560
+ className: 'bottom-sheet-scrollview'
561
+ } : undefined),
562
+ onLayout: () => {
563
+ if (Platform.OS === 'web') {
564
+ createWebScrollbarStyle(colors.border);
565
+ }
566
+ },
567
+ children: children
568
+ });
569
+ const bodyContent = scrollable ? manualActivation
570
+ // In manualActivation mode the scroll view is referenced by the
571
+ // pan's simultaneous list directly; no wrapping native gesture.
572
+ ? scrollViewNode
573
+ // Legacy mode: native gesture wraps the scroll view to coordinate
574
+ // with the always-active body pan.
575
+ : /*#__PURE__*/_jsx(GestureDetector, {
576
+ gesture: nativeGesture,
577
+ children: scrollViewNode
578
+ }) : /*#__PURE__*/_jsx(View, {
579
+ style: styles.nonScrollableContent,
580
+ children: children
581
+ });
335
582
  return /*#__PURE__*/_jsx(Modal, {
336
583
  visible: rendered,
337
584
  transparent: true,
@@ -359,32 +606,7 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
359
606
  style: [dynamicStyles.sheet, sheetMarginStyle, sheetStyle, sheetHeightStyle, style],
360
607
  children: [backgroundComponent?.({
361
608
  style: styles.background
362
- }), showHandle && /*#__PURE__*/_jsx(View, {
363
- style: dynamicStyles.handle
364
- }), /*#__PURE__*/_jsx(GestureDetector, {
365
- gesture: nativeGesture,
366
- children: /*#__PURE__*/_jsx(Animated.ScrollView, {
367
- ref: scrollViewRef,
368
- style: [styles.scrollView, Platform.OS === 'web' && {
369
- scrollbarWidth: 'thin',
370
- scrollbarColor: `${colors.border} transparent`
371
- }],
372
- contentContainerStyle: dynamicStyles.scrollContent,
373
- showsVerticalScrollIndicator: false,
374
- keyboardShouldPersistTaps: "handled",
375
- onScroll: scrollHandler,
376
- scrollEventThrottle: 16,
377
- ...(Platform.OS === 'web' ? {
378
- className: 'bottom-sheet-scrollview'
379
- } : undefined),
380
- onLayout: () => {
381
- if (Platform.OS === 'web') {
382
- createWebScrollbarStyle(colors.border);
383
- }
384
- },
385
- children: children
386
- })
387
- })]
609
+ }), handleSlot, bodyContent]
388
610
  })
389
611
  })]
390
612
  })
@@ -424,6 +646,7 @@ const styles = StyleSheet.create({
424
646
  borderTopLeftRadius: 24,
425
647
  borderTopRightRadius: 24
426
648
  },
649
+ /** Legacy (non-manualActivation) handle: decorative overlay only. */
427
650
  handle: {
428
651
  position: 'absolute',
429
652
  top: 10,
@@ -434,6 +657,23 @@ const styles = StyleSheet.create({
434
657
  borderRadius: 3,
435
658
  zIndex: 100
436
659
  },
660
+ /**
661
+ * Hit area for the drag handle in `manualActivation` mode. Absolutely
662
+ * positioned at the top of the sheet so the area visually "floats" above
663
+ * the content — content scrolls up underneath it (no layout offset)
664
+ * while the thumb can still grab the full-width 28dp strip to drag.
665
+ */
666
+ handleHitArea: {
667
+ position: 'absolute',
668
+ top: 0,
669
+ left: 0,
670
+ right: 0,
671
+ height: 28,
672
+ alignItems: 'center',
673
+ justifyContent: 'flex-start',
674
+ paddingTop: 6,
675
+ zIndex: 100
676
+ },
437
677
  background: {
438
678
  ...StyleSheet.absoluteFillObject
439
679
  },
@@ -442,6 +682,9 @@ const styles = StyleSheet.create({
442
682
  },
443
683
  scrollContent: {
444
684
  flexGrow: 1
685
+ },
686
+ nonScrollableContent: {
687
+ flex: 1
445
688
  }
446
689
  });
447
690
 
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useImperativeHandle","useRef","useEffect","useState","useCallback","useMemo","View","StyleSheet","Modal","Pressable","Dimensions","Platform","Gesture","GestureDetector","GestureHandlerRootView","Animated","interpolate","runOnJS","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","withSpring","withTiming","useSafeAreaInsets","useTheme","jsx","_jsx","jsxs","_jsxs","noopKeyboardHandler","_handlers","_deps","useKeyboardHandler","OS","require","moduleName","useScreenDimensions","dimensions","setDimensions","get","subscription","addEventListener","window","remove","SPRING_CONFIG","damping","stiffness","mass","BottomSheet","props","ref","children","onDismiss","enablePanDownToClose","backgroundComponent","backdropComponent","style","enableHandlePanningGesture","onDismissAttempt","detached","showHandle","backdropOpacity","insets","theme","colors","height","screenHeight","visible","setVisible","rendered","setRendered","closeTimeoutRef","hasClosedRef","scrollViewRef","screenHeightSV","value","translateY","opacity","scrollOffsetY","isScrollAtTop","allowPanClose","keyboardHeight","context","y","onMove","e","onEnd","safeClose","safeCloseRef","current","renderedRef","finishClose","clearTimeout","duration","finished","setTimeout","createWebScrollbarStyle","border","removeWebScrollbarStyle","present","dismiss","scrollTo","animated","close","expand","collapse","nativeGesture","Native","panGesture","Pan","enabled","simultaneousWithExternalGesture","onStart","onUpdate","event","newTranslateY","translationY","atTopOrNearTop","velocity","velocityY","distance","closeThreshold","Math","max","fastSwipeThreshold","shouldClose","backdropStyle","sheetStyle","scale","transform","sheetHeightStyle","maxHeight","top","bottom","sheetMarginStyle","marginBottom","handleBackdropPress","scrollHandler","onScroll","contentOffset","dynamicStyles","create","handle","styles","backgroundColor","isDark","sheet","background","sheetDetached","sheetNormal","scrollContent","transparent","animationType","statusBarTranslucent","onRequestClose","rootView","absoluteFill","backdrop","onPress","backdropTouchable","gesture","ScrollView","scrollView","scrollbarWidth","scrollbarColor","contentContainerStyle","showsVerticalScrollIndicator","keyboardShouldPersistTaps","scrollEventThrottle","className","undefined","onLayout","displayName","flex","position","overflow","maxWidth","alignSelf","marginHorizontal","left","right","borderRadius","borderTopLeftRadius","borderTopRightRadius","marginLeft","width","zIndex","absoluteFillObject","flexGrow","borderColor","document","styleElement","getElementById","SCROLLBAR_STYLE_ID","createElement","id","head","appendChild","scrollbarHoverColor","startsWith","replace","textContent"],"sourceRoot":"../../../src","sources":["bottom-sheet/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useImperativeHandle","useRef","useEffect","useState","useCallback","useMemo","View","StyleSheet","Modal","Pressable","Dimensions","Platform","Gesture","GestureDetector","GestureHandlerRootView","Animated","interpolate","runOnJS","useAnimatedScrollHandler","useAnimatedStyle","useSharedValue","withSpring","withTiming","useSafeAreaInsets","useTheme","jsx","_jsx","jsxs","_jsxs","noopKeyboardHandler","_handlers","_deps","useKeyboardHandler","OS","require","moduleName","useScreenDimensions","dimensions","setDimensions","get","subscription","addEventListener","window","remove","SPRING_CONFIG","damping","stiffness","mass","BottomSheet","props","ref","children","onDismiss","enablePanDownToClose","backgroundComponent","backdropComponent","style","enableHandlePanningGesture","onDismissAttempt","detached","showHandle","backdropOpacity","scrollable","manualActivation","dynamicBackdrop","handleComponent","insets","theme","colors","height","screenHeight","visible","setVisible","rendered","setRendered","closeTimeoutRef","hasClosedRef","scrollViewRef","closeGenerationRef","screenHeightSV","value","translateY","opacity","scrollOffsetY","isScrollAtTop","allowPanClose","keyboardHeight","context","y","closeGeneration","touchStartY","bodyPanRef","undefined","handlePanRef","onMove","e","onEnd","safeClose","safeCloseRef","current","renderedRef","finishClose","generation","clearTimeout","duration","finished","setTimeout","createWebScrollbarStyle","border","removeWebScrollbarStyle","present","dismiss","scrollTo","animated","close","expand","collapse","nativeGesture","Native","panGesture","Pan","enabled","withRef","simultaneousWithExternalGesture","onTouchesDown","t","changedTouches","absoluteY","onTouchesMove","state","dy","atTop","activate","fail","onUpdate","event","translationY","newTranslateY","velocity","velocityY","distance","closeThreshold","Math","max","fastSwipeThreshold","shouldClose","onStart","atTopOrNearTop","handlePanGesture","activeOffsetY","backdropStyle","dragFactor","sheetStyle","scale","transform","sheetHeightStyle","maxHeight","top","bottom","sheetMarginStyle","marginBottom","handleBackdropPress","scrollHandler","onScroll","contentOffset","dynamicStyles","create","handle","styles","backgroundColor","isDark","sheet","background","sheetDetached","sheetNormal","scrollContent","renderDefaultHandle","handleNode","handleSlot","gesture","handleHitArea","accessible","accessibilityRole","scrollViewNode","ScrollView","scrollView","scrollbarWidth","scrollbarColor","contentContainerStyle","showsVerticalScrollIndicator","keyboardShouldPersistTaps","scrollEventThrottle","className","onLayout","bodyContent","nonScrollableContent","transparent","animationType","statusBarTranslucent","onRequestClose","rootView","absoluteFill","backdrop","onPress","backdropTouchable","displayName","flex","position","overflow","maxWidth","alignSelf","marginHorizontal","left","right","borderRadius","borderTopLeftRadius","borderTopRightRadius","marginLeft","width","zIndex","alignItems","justifyContent","paddingTop","absoluteFillObject","flexGrow","borderColor","document","styleElement","getElementById","SCROLLBAR_STYLE_ID","createElement","id","head","appendChild","scrollbarHoverColor","startsWith","replace","textContent"],"sourceRoot":"../../../src","sources":["bottom-sheet/index.tsx"],"mappings":"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","ignoreList":[]}