@oxyhq/bloom 1.0.4 → 1.0.5

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.
@@ -127,7 +127,7 @@ The API is one thing on both platforms — a shadcn call site ports across uncha
127
127
 
128
128
  **On web** the sub-panel flies out beside its trigger row, the way shadcn's does, and its chevron points right:
129
129
 
130
- - Hovering the row opens it; leaving either surface schedules a close 300 ms later, and entering either one cancels that — which is what keeps it open while the pointer travels diagonally across the gap between them.
130
+ - Real mouse or pen movement over the row opens it; a reflow or transition that moves the row under a parked pointer does not count as hover intent. Leaving either surface schedules a close 300 ms later, and real pointer movement over either one cancels that — which keeps it open while the pointer travels diagonally across the gap between them.
131
131
  - Pressing the row toggles it, so a click and a touch-web tap both work.
132
132
  - <kbd>→</kbd> opens it and moves focus onto its first row; <kbd>←</kbd> closes it and returns focus to the trigger.
133
133
  - <kbd>Esc</kbd> closes the **innermost** surface first: one press shuts the sub-panel and leaves the menu open, a second shuts the menu.
@@ -33,10 +33,10 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
33
33
  * - **Stack rank.** Taken by the `OverlayRoot` inside `FloatingPanel`, on
34
34
  * mount, like every other surface. The sub-panel mounts AFTER the root panel,
35
35
  * so it paints above it by construction and carries no `zIndex`.
36
- * - **Hover intent.** Opening on hover is easy; staying open while the pointer
37
- * travels diagonally from the row to the panel is the part that needs a
38
- * delay. Leaving either surface SCHEDULES a close, entering either CANCELS
39
- * it, and the delay is long enough (`CLOSE_DELAY_MS`) to cross the gap.
36
+ * - **Hover intent.** A real mouse/pen move over the row opens it; a layout
37
+ * transition placing the row under a parked pointer does not. Leaving either
38
+ * surface SCHEDULES a close, moving over either CANCELS it, and the delay is
39
+ * long enough (`CLOSE_DELAY_MS`) to cross the gap.
40
40
  * - **Keyboard.** Right opens and moves into the panel, Left and Escape leave
41
41
  * it. Escape is handled here in the CAPTURE phase with
42
42
  * `stopImmediatePropagation`, which is the only way the INNERMOST surface
@@ -88,6 +88,12 @@ function domNode(node) {
88
88
  return element;
89
89
  }
90
90
 
91
+ /** Touch movement is scrolling/dragging, not hover intent. */
92
+ function isHoverPointer(event) {
93
+ const pointerType = event.pointerType;
94
+ return pointerType === 'mouse' || pointerType === 'pen';
95
+ }
96
+
91
97
  /** The first focusable descendant, so Right lands ON the panel's first row. */
92
98
  function focusFirstItem(node) {
93
99
  const first = node?.querySelector('[role="menuitem"], [role="menuitemcheckbox"], [role="checkbox"], [role="radio"]');
@@ -218,8 +224,10 @@ function createFlyoutMenuSub(prefix) {
218
224
  (0, _react.useEffect)(() => cancelTimer, [cancelTimer]);
219
225
  const keepOpen = (0, _react.useCallback)(() => {
220
226
  cancelTimer();
221
- setOpen(true);
222
- }, [cancelTimer, setOpen]);
227
+ // `pointermove` is intentionally continuous. Once open, cancel the close
228
+ // timer without re-notifying a controlled consumer on every coordinate.
229
+ if (!isOpen) setOpen(true);
230
+ }, [cancelTimer, isOpen, setOpen]);
223
231
  const closeSoon = (0, _react.useCallback)(() => {
224
232
  cancelTimer();
225
233
  closeTimer.current = setTimeout(() => {
@@ -269,28 +277,33 @@ function createFlyoutMenuSub(prefix) {
269
277
  sub.triggerRef.current = value;
270
278
  }, [sub.triggerRef]);
271
279
 
272
- // Hover and keyboard through DOM listeners on the wrapper rather than RN
273
- // props: `Item` renders its own `Pressable` and publishes neither
274
- // `onHoverIn` nor `onKeyDown`, and widening its prop surface for one
275
- // web-only caller is the wrong trade. `mouseenter`/`mouseleave` do not
276
- // bubble, so they describe THIS row and not the rows under the panel.
280
+ // Pointer intent and keyboard through DOM listeners on the wrapper rather
281
+ // than RN props: `Item` renders its own `Pressable` and publishes neither
282
+ // pointer movement nor `onKeyDown`, and widening its prop surface for one
283
+ // web-only caller is the wrong trade. Crucially, `pointermove` needs actual
284
+ // coordinates to change: unlike enter, layout motion cannot synthesize it
285
+ // when a transition puts this row under a parked pointer.
277
286
  (0, _react.useEffect)(() => {
278
287
  const element = domNode(node);
279
288
  if (!element || disabled) return;
280
- const onEnter = () => sub.keepOpen();
281
- const onLeave = () => sub.closeSoon();
289
+ const onMove = event => {
290
+ if (isHoverPointer(event)) sub.keepOpen();
291
+ };
292
+ const onLeave = event => {
293
+ if (isHoverPointer(event)) sub.closeSoon();
294
+ };
282
295
  const onKeyDown = event => {
283
296
  const key = event.key;
284
297
  if (key !== 'ArrowRight' && key !== 'Enter' && key !== ' ') return;
285
298
  event.preventDefault();
286
299
  sub.keepOpen();
287
300
  };
288
- element.addEventListener('mouseenter', onEnter);
289
- element.addEventListener('mouseleave', onLeave);
301
+ element.addEventListener('pointermove', onMove);
302
+ element.addEventListener('pointerleave', onLeave);
290
303
  element.addEventListener('keydown', onKeyDown);
291
304
  return () => {
292
- element.removeEventListener('mouseenter', onEnter);
293
- element.removeEventListener('mouseleave', onLeave);
305
+ element.removeEventListener('pointermove', onMove);
306
+ element.removeEventListener('pointerleave', onLeave);
294
307
  element.removeEventListener('keydown', onKeyDown);
295
308
  };
296
309
  }, [node, disabled, sub]);
@@ -349,20 +362,24 @@ function createFlyoutMenuSub(prefix) {
349
362
  (0, _react.useEffect)(() => {
350
363
  const element = domNode(node);
351
364
  if (!element || !sub.open) return;
352
- const onEnter = () => sub.keepOpen();
353
- const onLeave = () => sub.closeSoon();
365
+ const onMove = event => {
366
+ if (isHoverPointer(event)) sub.keepOpen();
367
+ };
368
+ const onLeave = event => {
369
+ if (isHoverPointer(event)) sub.closeSoon();
370
+ };
354
371
  const onKeyDown = event => {
355
372
  const key = event.key;
356
373
  if (key !== 'ArrowLeft') return;
357
374
  event.preventDefault();
358
375
  sub.closeAndRefocus();
359
376
  };
360
- element.addEventListener('mouseenter', onEnter);
361
- element.addEventListener('mouseleave', onLeave);
377
+ element.addEventListener('pointermove', onMove);
378
+ element.addEventListener('pointerleave', onLeave);
362
379
  element.addEventListener('keydown', onKeyDown);
363
380
  return () => {
364
- element.removeEventListener('mouseenter', onEnter);
365
- element.removeEventListener('mouseleave', onLeave);
381
+ element.removeEventListener('pointermove', onMove);
382
+ element.removeEventListener('pointerleave', onLeave);
366
383
  element.removeEventListener('keydown', onKeyDown);
367
384
  };
368
385
  }, [node, sub]);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useControllableState","_Chevron","_styledPrimitives","_useTheme","_constants","_FloatingPanel","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CLOSE_DELAY_MS","SETTLE_FRAMES","domNode","node","element","addEventListener","removeEventListener","contains","querySelector","focusFirstItem","first","focus","useFlyoutAnchor","ref","open","anchor","setAnchor","useState","measure","useCallback","row","current","getBoundingClientRect","rowBox","panel","closest","sideBox","next","top","bottom","left","right","useLayoutEffect","requestAnimationFrame","frame","handle","again","cancelAnimationFrame","useEffect","window","SubFlyoutContext","React","createContext","displayName","useSubFlyout","value","useContext","Error","createFlyoutMenuSub","prefix","MenuSub","children","defaultOpen","onOpenChange","isOpen","setOpen","useControllableState","defaultValue","onChange","triggerRef","useRef","closeTimer","cancelTimer","clearTimeout","keepOpen","closeSoon","setTimeout","closeAndRefocus","trigger","context","useMemo","jsx","Provider","MenuSubTrigger","disabled","inset","leading","accessibilityLabel","className","style","testID","theme","useTheme","sub","title","body","splitChildren","setNode","attach","onEnter","onLeave","onKeyDown","event","key","preventDefault","View","MenuRowShell","role","expanded","hasPopup","trailing","MenuRowChevron","ChevronRight_Stroke2_Corner0_Rounded","width","ROW_ICON_SIZE","height","fill","colors","textSecondary","onPress","cx","SUB_TRIGGER_CLASS","MenuSubContent","label","side","align","sideOffset","MENU_SUB_SIDE_OFFSET","alignOffset","minWidth","maxWidth","document","stopImmediatePropagation","FloatingPanel","dismissible","modal","onDismiss","MENU_SUB_PANEL_CLASS","StyledView","MENU_SUB_SCROLL_CLASS","Sub","SubTrigger","SubContent"],"sourceRoot":"../../../src","sources":["floating/menu-sub-flyout.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useControllableState","_Chevron","_styledPrimitives","_useTheme","_constants","_FloatingPanel","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CLOSE_DELAY_MS","SETTLE_FRAMES","domNode","node","element","addEventListener","removeEventListener","contains","querySelector","isHoverPointer","event","pointerType","focusFirstItem","first","focus","useFlyoutAnchor","ref","open","anchor","setAnchor","useState","measure","useCallback","row","current","getBoundingClientRect","rowBox","panel","closest","sideBox","next","top","bottom","left","right","useLayoutEffect","requestAnimationFrame","frame","handle","again","cancelAnimationFrame","useEffect","window","SubFlyoutContext","React","createContext","displayName","useSubFlyout","value","useContext","Error","createFlyoutMenuSub","prefix","MenuSub","children","defaultOpen","onOpenChange","isOpen","setOpen","useControllableState","defaultValue","onChange","triggerRef","useRef","closeTimer","cancelTimer","clearTimeout","keepOpen","closeSoon","setTimeout","closeAndRefocus","trigger","context","useMemo","jsx","Provider","MenuSubTrigger","disabled","inset","leading","accessibilityLabel","className","style","testID","theme","useTheme","sub","title","body","splitChildren","setNode","attach","onMove","onLeave","onKeyDown","key","preventDefault","View","MenuRowShell","role","expanded","hasPopup","trailing","MenuRowChevron","ChevronRight_Stroke2_Corner0_Rounded","width","ROW_ICON_SIZE","height","fill","colors","textSecondary","onPress","cx","SUB_TRIGGER_CLASS","MenuSubContent","label","side","align","sideOffset","MENU_SUB_SIDE_OFFSET","alignOffset","minWidth","maxWidth","document","stopImmediatePropagation","FloatingPanel","dismissible","modal","onDismiss","MENU_SUB_PANEL_CLASS","StyledView","MENU_SUB_SCROLL_CLASS","Sub","SubTrigger","SubContent"],"sourceRoot":"../../../src","sources":["floating/menu-sub-flyout.tsx"],"mappings":"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","ignoreList":[]}
@@ -18,10 +18,10 @@
18
18
  * - **Stack rank.** Taken by the `OverlayRoot` inside `FloatingPanel`, on
19
19
  * mount, like every other surface. The sub-panel mounts AFTER the root panel,
20
20
  * so it paints above it by construction and carries no `zIndex`.
21
- * - **Hover intent.** Opening on hover is easy; staying open while the pointer
22
- * travels diagonally from the row to the panel is the part that needs a
23
- * delay. Leaving either surface SCHEDULES a close, entering either CANCELS
24
- * it, and the delay is long enough (`CLOSE_DELAY_MS`) to cross the gap.
21
+ * - **Hover intent.** A real mouse/pen move over the row opens it; a layout
22
+ * transition placing the row under a parked pointer does not. Leaving either
23
+ * surface SCHEDULES a close, moving over either CANCELS it, and the delay is
24
+ * long enough (`CLOSE_DELAY_MS`) to cross the gap.
25
25
  * - **Keyboard.** Right opens and moves into the panel, Left and Escape leave
26
26
  * it. Escape is handled here in the CAPTURE phase with
27
27
  * `stopImmediatePropagation`, which is the only way the INNERMOST surface
@@ -82,6 +82,12 @@ function domNode(node) {
82
82
  return element;
83
83
  }
84
84
 
85
+ /** Touch movement is scrolling/dragging, not hover intent. */
86
+ function isHoverPointer(event) {
87
+ const pointerType = event.pointerType;
88
+ return pointerType === 'mouse' || pointerType === 'pen';
89
+ }
90
+
85
91
  /** The first focusable descendant, so Right lands ON the panel's first row. */
86
92
  function focusFirstItem(node) {
87
93
  const first = node?.querySelector('[role="menuitem"], [role="menuitemcheckbox"], [role="checkbox"], [role="radio"]');
@@ -212,8 +218,10 @@ export function createFlyoutMenuSub(prefix) {
212
218
  useEffect(() => cancelTimer, [cancelTimer]);
213
219
  const keepOpen = useCallback(() => {
214
220
  cancelTimer();
215
- setOpen(true);
216
- }, [cancelTimer, setOpen]);
221
+ // `pointermove` is intentionally continuous. Once open, cancel the close
222
+ // timer without re-notifying a controlled consumer on every coordinate.
223
+ if (!isOpen) setOpen(true);
224
+ }, [cancelTimer, isOpen, setOpen]);
217
225
  const closeSoon = useCallback(() => {
218
226
  cancelTimer();
219
227
  closeTimer.current = setTimeout(() => {
@@ -263,28 +271,33 @@ export function createFlyoutMenuSub(prefix) {
263
271
  sub.triggerRef.current = value;
264
272
  }, [sub.triggerRef]);
265
273
 
266
- // Hover and keyboard through DOM listeners on the wrapper rather than RN
267
- // props: `Item` renders its own `Pressable` and publishes neither
268
- // `onHoverIn` nor `onKeyDown`, and widening its prop surface for one
269
- // web-only caller is the wrong trade. `mouseenter`/`mouseleave` do not
270
- // bubble, so they describe THIS row and not the rows under the panel.
274
+ // Pointer intent and keyboard through DOM listeners on the wrapper rather
275
+ // than RN props: `Item` renders its own `Pressable` and publishes neither
276
+ // pointer movement nor `onKeyDown`, and widening its prop surface for one
277
+ // web-only caller is the wrong trade. Crucially, `pointermove` needs actual
278
+ // coordinates to change: unlike enter, layout motion cannot synthesize it
279
+ // when a transition puts this row under a parked pointer.
271
280
  useEffect(() => {
272
281
  const element = domNode(node);
273
282
  if (!element || disabled) return;
274
- const onEnter = () => sub.keepOpen();
275
- const onLeave = () => sub.closeSoon();
283
+ const onMove = event => {
284
+ if (isHoverPointer(event)) sub.keepOpen();
285
+ };
286
+ const onLeave = event => {
287
+ if (isHoverPointer(event)) sub.closeSoon();
288
+ };
276
289
  const onKeyDown = event => {
277
290
  const key = event.key;
278
291
  if (key !== 'ArrowRight' && key !== 'Enter' && key !== ' ') return;
279
292
  event.preventDefault();
280
293
  sub.keepOpen();
281
294
  };
282
- element.addEventListener('mouseenter', onEnter);
283
- element.addEventListener('mouseleave', onLeave);
295
+ element.addEventListener('pointermove', onMove);
296
+ element.addEventListener('pointerleave', onLeave);
284
297
  element.addEventListener('keydown', onKeyDown);
285
298
  return () => {
286
- element.removeEventListener('mouseenter', onEnter);
287
- element.removeEventListener('mouseleave', onLeave);
299
+ element.removeEventListener('pointermove', onMove);
300
+ element.removeEventListener('pointerleave', onLeave);
288
301
  element.removeEventListener('keydown', onKeyDown);
289
302
  };
290
303
  }, [node, disabled, sub]);
@@ -343,20 +356,24 @@ export function createFlyoutMenuSub(prefix) {
343
356
  useEffect(() => {
344
357
  const element = domNode(node);
345
358
  if (!element || !sub.open) return;
346
- const onEnter = () => sub.keepOpen();
347
- const onLeave = () => sub.closeSoon();
359
+ const onMove = event => {
360
+ if (isHoverPointer(event)) sub.keepOpen();
361
+ };
362
+ const onLeave = event => {
363
+ if (isHoverPointer(event)) sub.closeSoon();
364
+ };
348
365
  const onKeyDown = event => {
349
366
  const key = event.key;
350
367
  if (key !== 'ArrowLeft') return;
351
368
  event.preventDefault();
352
369
  sub.closeAndRefocus();
353
370
  };
354
- element.addEventListener('mouseenter', onEnter);
355
- element.addEventListener('mouseleave', onLeave);
371
+ element.addEventListener('pointermove', onMove);
372
+ element.addEventListener('pointerleave', onLeave);
356
373
  element.addEventListener('keydown', onKeyDown);
357
374
  return () => {
358
- element.removeEventListener('mouseenter', onEnter);
359
- element.removeEventListener('mouseleave', onLeave);
375
+ element.removeEventListener('pointermove', onMove);
376
+ element.removeEventListener('pointerleave', onLeave);
360
377
  element.removeEventListener('keydown', onKeyDown);
361
378
  };
362
379
  }, [node, sub]);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useLayoutEffect","useMemo","useRef","useState","View","useControllableState","ChevronRight_Stroke2_Corner0_Rounded","ChevronRightIcon","StyledView","useTheme","MENU_SUB_PANEL_CLASS","MENU_SUB_SCROLL_CLASS","MENU_SUB_SIDE_OFFSET","ROW_ICON_SIZE","FloatingPanel","cx","MenuRowChevron","MenuRowShell","splitChildren","SUB_TRIGGER_CLASS","jsx","_jsx","CLOSE_DELAY_MS","SETTLE_FRAMES","domNode","node","element","addEventListener","removeEventListener","contains","querySelector","focusFirstItem","first","focus","useFlyoutAnchor","ref","open","anchor","setAnchor","measure","row","current","getBoundingClientRect","rowBox","panel","closest","sideBox","next","top","bottom","left","right","requestAnimationFrame","frame","handle","again","cancelAnimationFrame","window","SubFlyoutContext","createContext","displayName","useSubFlyout","value","useContext","Error","createFlyoutMenuSub","prefix","MenuSub","children","defaultOpen","onOpenChange","isOpen","setOpen","defaultValue","onChange","triggerRef","closeTimer","cancelTimer","clearTimeout","keepOpen","closeSoon","setTimeout","closeAndRefocus","trigger","context","Provider","MenuSubTrigger","disabled","inset","leading","accessibilityLabel","className","style","testID","theme","sub","title","body","setNode","attach","onEnter","onLeave","onKeyDown","event","key","preventDefault","role","expanded","hasPopup","trailing","width","height","fill","colors","textSecondary","onPress","MenuSubContent","label","side","align","sideOffset","alignOffset","minWidth","maxWidth","document","stopImmediatePropagation","dismissible","modal","onDismiss","Sub","SubTrigger","SubContent"],"sourceRoot":"../../../src","sources":["floating/menu-sub-flyout.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useLayoutEffect","useMemo","useRef","useState","View","useControllableState","ChevronRight_Stroke2_Corner0_Rounded","ChevronRightIcon","StyledView","useTheme","MENU_SUB_PANEL_CLASS","MENU_SUB_SCROLL_CLASS","MENU_SUB_SIDE_OFFSET","ROW_ICON_SIZE","FloatingPanel","cx","MenuRowChevron","MenuRowShell","splitChildren","SUB_TRIGGER_CLASS","jsx","_jsx","CLOSE_DELAY_MS","SETTLE_FRAMES","domNode","node","element","addEventListener","removeEventListener","contains","querySelector","isHoverPointer","event","pointerType","focusFirstItem","first","focus","useFlyoutAnchor","ref","open","anchor","setAnchor","measure","row","current","getBoundingClientRect","rowBox","panel","closest","sideBox","next","top","bottom","left","right","requestAnimationFrame","frame","handle","again","cancelAnimationFrame","window","SubFlyoutContext","createContext","displayName","useSubFlyout","value","useContext","Error","createFlyoutMenuSub","prefix","MenuSub","children","defaultOpen","onOpenChange","isOpen","setOpen","defaultValue","onChange","triggerRef","closeTimer","cancelTimer","clearTimeout","keepOpen","closeSoon","setTimeout","closeAndRefocus","trigger","context","Provider","MenuSubTrigger","disabled","inset","leading","accessibilityLabel","className","style","testID","theme","sub","title","body","setNode","attach","onMove","onLeave","onKeyDown","key","preventDefault","role","expanded","hasPopup","trailing","width","height","fill","colors","textSecondary","onPress","MenuSubContent","label","side","align","sideOffset","alignOffset","minWidth","maxWidth","document","stopImmediatePropagation","dismissible","modal","onDismiss","Sub","SubTrigger","SubContent"],"sourceRoot":"../../../src","sources":["floating/menu-sub-flyout.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-sub-flyout.d.ts","sourceRoot":"","sources":["../../../../src/floating/menu-sub-flyout.tsx"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;AA6LjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAiPhE"}
1
+ {"version":3,"file":"menu-sub-flyout.d.ts","sourceRoot":"","sources":["../../../../src/floating/menu-sub-flyout.tsx"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;AAmMjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA4PhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-sub-flyout.d.ts","sourceRoot":"","sources":["../../../../src/floating/menu-sub-flyout.tsx"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;AA6LjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAiPhE"}
1
+ {"version":3,"file":"menu-sub-flyout.d.ts","sourceRoot":"","sources":["../../../../src/floating/menu-sub-flyout.tsx"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAGV,YAAY,EAGb,MAAM,SAAS,CAAC;AAmMjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA4PhE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/bloom",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
6
6
  "main": "lib/commonjs/index.js",
@@ -16,10 +16,10 @@
16
16
  * - **Stack rank.** Taken by the `OverlayRoot` inside `FloatingPanel`, on
17
17
  * mount, like every other surface. The sub-panel mounts AFTER the root panel,
18
18
  * so it paints above it by construction and carries no `zIndex`.
19
- * - **Hover intent.** Opening on hover is easy; staying open while the pointer
20
- * travels diagonally from the row to the panel is the part that needs a
21
- * delay. Leaving either surface SCHEDULES a close, entering either CANCELS
22
- * it, and the delay is long enough (`CLOSE_DELAY_MS`) to cross the gap.
19
+ * - **Hover intent.** A real mouse/pen move over the row opens it; a layout
20
+ * transition placing the row under a parked pointer does not. Leaving either
21
+ * surface SCHEDULES a close, moving over either CANCELS it, and the delay is
22
+ * long enough (`CLOSE_DELAY_MS`) to cross the gap.
23
23
  * - **Keyboard.** Right opens and moves into the panel, Left and Escape leave
24
24
  * it. Escape is handled here in the CAPTURE phase with
25
25
  * `stopImmediatePropagation`, which is the only way the INNERMOST surface
@@ -111,6 +111,12 @@ function domNode(node: View | null): DomNode | null {
111
111
  return element as DomNode;
112
112
  }
113
113
 
114
+ /** Touch movement is scrolling/dragging, not hover intent. */
115
+ function isHoverPointer(event: Event): boolean {
116
+ const pointerType = (event as PointerEvent).pointerType;
117
+ return pointerType === 'mouse' || pointerType === 'pen';
118
+ }
119
+
114
120
  /** The first focusable descendant, so Right lands ON the panel's first row. */
115
121
  function focusFirstItem(node: DomNode | null): void {
116
122
  const first = node?.querySelector<HTMLElement>('[role="menuitem"], [role="menuitemcheckbox"], [role="checkbox"], [role="radio"]');
@@ -272,8 +278,10 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
272
278
 
273
279
  const keepOpen = useCallback(() => {
274
280
  cancelTimer();
275
- setOpen(true);
276
- }, [cancelTimer, setOpen]);
281
+ // `pointermove` is intentionally continuous. Once open, cancel the close
282
+ // timer without re-notifying a controlled consumer on every coordinate.
283
+ if (!isOpen) setOpen(true);
284
+ }, [cancelTimer, isOpen, setOpen]);
277
285
 
278
286
  const closeSoon = useCallback(() => {
279
287
  cancelTimer();
@@ -322,17 +330,22 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
322
330
  [sub.triggerRef],
323
331
  );
324
332
 
325
- // Hover and keyboard through DOM listeners on the wrapper rather than RN
326
- // props: `Item` renders its own `Pressable` and publishes neither
327
- // `onHoverIn` nor `onKeyDown`, and widening its prop surface for one
328
- // web-only caller is the wrong trade. `mouseenter`/`mouseleave` do not
329
- // bubble, so they describe THIS row and not the rows under the panel.
333
+ // Pointer intent and keyboard through DOM listeners on the wrapper rather
334
+ // than RN props: `Item` renders its own `Pressable` and publishes neither
335
+ // pointer movement nor `onKeyDown`, and widening its prop surface for one
336
+ // web-only caller is the wrong trade. Crucially, `pointermove` needs actual
337
+ // coordinates to change: unlike enter, layout motion cannot synthesize it
338
+ // when a transition puts this row under a parked pointer.
330
339
  useEffect(() => {
331
340
  const element = domNode(node);
332
341
  if (!element || disabled) return;
333
342
 
334
- const onEnter = () => sub.keepOpen();
335
- const onLeave = () => sub.closeSoon();
343
+ const onMove = (event: Event) => {
344
+ if (isHoverPointer(event)) sub.keepOpen();
345
+ };
346
+ const onLeave = (event: Event) => {
347
+ if (isHoverPointer(event)) sub.closeSoon();
348
+ };
336
349
  const onKeyDown = (event: Event) => {
337
350
  const key = (event as KeyboardEvent).key;
338
351
  if (key !== 'ArrowRight' && key !== 'Enter' && key !== ' ') return;
@@ -340,12 +353,12 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
340
353
  sub.keepOpen();
341
354
  };
342
355
 
343
- element.addEventListener('mouseenter', onEnter);
344
- element.addEventListener('mouseleave', onLeave);
356
+ element.addEventListener('pointermove', onMove);
357
+ element.addEventListener('pointerleave', onLeave);
345
358
  element.addEventListener('keydown', onKeyDown);
346
359
  return () => {
347
- element.removeEventListener('mouseenter', onEnter);
348
- element.removeEventListener('mouseleave', onLeave);
360
+ element.removeEventListener('pointermove', onMove);
361
+ element.removeEventListener('pointerleave', onLeave);
349
362
  element.removeEventListener('keydown', onKeyDown);
350
363
  };
351
364
  }, [node, disabled, sub]);
@@ -409,8 +422,12 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
409
422
  const element = domNode(node);
410
423
  if (!element || !sub.open) return;
411
424
 
412
- const onEnter = () => sub.keepOpen();
413
- const onLeave = () => sub.closeSoon();
425
+ const onMove = (event: Event) => {
426
+ if (isHoverPointer(event)) sub.keepOpen();
427
+ };
428
+ const onLeave = (event: Event) => {
429
+ if (isHoverPointer(event)) sub.closeSoon();
430
+ };
414
431
  const onKeyDown = (event: Event) => {
415
432
  const key = (event as KeyboardEvent).key;
416
433
  if (key !== 'ArrowLeft') return;
@@ -418,12 +435,12 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
418
435
  sub.closeAndRefocus();
419
436
  };
420
437
 
421
- element.addEventListener('mouseenter', onEnter);
422
- element.addEventListener('mouseleave', onLeave);
438
+ element.addEventListener('pointermove', onMove);
439
+ element.addEventListener('pointerleave', onLeave);
423
440
  element.addEventListener('keydown', onKeyDown);
424
441
  return () => {
425
- element.removeEventListener('mouseenter', onEnter);
426
- element.removeEventListener('mouseleave', onLeave);
442
+ element.removeEventListener('pointermove', onMove);
443
+ element.removeEventListener('pointerleave', onLeave);
427
444
  element.removeEventListener('keydown', onKeyDown);
428
445
  };
429
446
  }, [node, sub]);