@oxyhq/bloom 1.0.5 → 1.0.6

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.
@@ -94,9 +94,50 @@ function isHoverPointer(event) {
94
94
  return pointerType === 'mouse' || pointerType === 'pen';
95
95
  }
96
96
 
97
+ /** Every role a menu ROW can carry — the rows a pointer can actually land on. */
98
+ const MENU_ITEM_SELECTOR = '[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"], [role="checkbox"], [role="radio"]';
99
+
100
+ /**
101
+ * Did the pointer leave for another ROW, rather than for the gap this sub's
102
+ * grace delay exists to cover?
103
+ *
104
+ * {@link CLOSE_DELAY_MS} buys time for ONE journey: the diagonal from a trigger
105
+ * row to its own flyout, across a strip where neither surface is hovered. Every
106
+ * other departure is unambiguous the moment it happens, and the most visible one
107
+ * is a SIBLING sub-trigger: two subs in a panel each own their state and their
108
+ * own timer, so the one being left served out its full delay while the one being
109
+ * entered had already opened — 300ms of two overlapping flyouts, which is not a
110
+ * grace period but a bug.
111
+ *
112
+ * "Another row" means the pointer landed on an actual menu ITEM that belongs to
113
+ * neither this sub's trigger nor its flyout. Testing for an ITEM rather than for
114
+ * a `[role="menu"]` ancestor is the whole subtlety: the diagonal to the flyout
115
+ * crosses the parent panel's own padding, which IS inside a `[role="menu"]` but
116
+ * is not a row — measured, a panel-ancestor test dismissed the flyout mid-journey
117
+ * and broke the very case the delay exists for.
118
+ *
119
+ * Both exclusions are load-bearing. Without the flyout check, arriving at the
120
+ * panel's first row would close the panel the move was aimed at. Without the
121
+ * trigger check, moving from the panel back onto its own trigger would close and
122
+ * immediately re-open, which flickers.
123
+ *
124
+ * A departure with no `relatedTarget` — off the window, or the node under the
125
+ * pointer being torn down — is NOT another row, so it keeps the delay and
126
+ * behaviour there is what it was.
127
+ */
128
+ function leavesForAnotherRow(event, ownFlyout, ownTrigger) {
129
+ const next = event.relatedTarget;
130
+ if (!(next instanceof Element)) return false;
131
+ const row = next.closest(MENU_ITEM_SELECTOR);
132
+ if (!row) return false;
133
+ if (ownFlyout?.contains(row)) return false;
134
+ if (ownTrigger?.contains(row)) return false;
135
+ return true;
136
+ }
137
+
97
138
  /** The first focusable descendant, so Right lands ON the panel's first row. */
98
139
  function focusFirstItem(node) {
99
- const first = node?.querySelector('[role="menuitem"], [role="menuitemcheckbox"], [role="checkbox"], [role="radio"]');
140
+ const first = node?.querySelector(MENU_ITEM_SELECTOR);
100
141
  first?.focus?.();
101
142
  }
102
143
 
@@ -211,6 +252,7 @@ function createFlyoutMenuSub(prefix) {
211
252
  onChange: onOpenChange
212
253
  });
213
254
  const triggerRef = (0, _react.useRef)(null);
255
+ const contentRef = (0, _react.useRef)(null);
214
256
  const closeTimer = (0, _react.useRef)(null);
215
257
  const cancelTimer = (0, _react.useCallback)(() => {
216
258
  if (closeTimer.current !== null) {
@@ -235,6 +277,10 @@ function createFlyoutMenuSub(prefix) {
235
277
  setOpen(false);
236
278
  }, CLOSE_DELAY_MS);
237
279
  }, [cancelTimer, setOpen]);
280
+ const closeNow = (0, _react.useCallback)(() => {
281
+ cancelTimer();
282
+ setOpen(false);
283
+ }, [cancelTimer, setOpen]);
238
284
  const closeAndRefocus = (0, _react.useCallback)(() => {
239
285
  cancelTimer();
240
286
  setOpen(false);
@@ -245,10 +291,12 @@ function createFlyoutMenuSub(prefix) {
245
291
  open: isOpen,
246
292
  setOpen,
247
293
  triggerRef,
294
+ contentRef,
248
295
  keepOpen,
249
296
  closeSoon,
297
+ closeNow,
250
298
  closeAndRefocus
251
- }), [isOpen, setOpen, keepOpen, closeSoon, closeAndRefocus]);
299
+ }), [isOpen, setOpen, keepOpen, closeSoon, closeNow, closeAndRefocus]);
252
300
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(SubFlyoutContext.Provider, {
253
301
  value: context,
254
302
  children: children
@@ -290,7 +338,14 @@ function createFlyoutMenuSub(prefix) {
290
338
  if (isHoverPointer(event)) sub.keepOpen();
291
339
  };
292
340
  const onLeave = event => {
293
- if (isHoverPointer(event)) sub.closeSoon();
341
+ if (!isHoverPointer(event)) return;
342
+ // Straight onto another row of the parent panel — a sibling trigger, or
343
+ // any plain item — is not the diagonal the delay exists for.
344
+ if (leavesForAnotherRow(event, domNode(sub.contentRef.current), element)) {
345
+ sub.closeNow();
346
+ return;
347
+ }
348
+ sub.closeSoon();
294
349
  };
295
350
  const onKeyDown = event => {
296
351
  const key = event.key;
@@ -359,6 +414,15 @@ function createFlyoutMenuSub(prefix) {
359
414
  const sub = useSubFlyout();
360
415
  const anchor = useFlyoutAnchor(sub.triggerRef, sub.open);
361
416
  const [node, setNode] = (0, _react.useState)(null);
417
+
418
+ // State for this component's own effects, a ref for the TRIGGER's leave
419
+ // handler: that handler runs from a DOM listener, outside React's render,
420
+ // so it needs a value it can read at event time rather than one captured
421
+ // when the listener was attached.
422
+ const attachContent = (0, _react.useCallback)(value => {
423
+ setNode(value);
424
+ sub.contentRef.current = value;
425
+ }, [sub.contentRef]);
362
426
  (0, _react.useEffect)(() => {
363
427
  const element = domNode(node);
364
428
  if (!element || !sub.open) return;
@@ -366,7 +430,15 @@ function createFlyoutMenuSub(prefix) {
366
430
  if (isHoverPointer(event)) sub.keepOpen();
367
431
  };
368
432
  const onLeave = event => {
369
- if (isHoverPointer(event)) sub.closeSoon();
433
+ if (!isHoverPointer(event)) return;
434
+ // Leaving the flyout for a row of the parent panel is just as
435
+ // unambiguous as leaving the trigger for one: the pointer has arrived
436
+ // somewhere, and it is not this sub.
437
+ if (leavesForAnotherRow(event, element, domNode(sub.triggerRef.current))) {
438
+ sub.closeNow();
439
+ return;
440
+ }
441
+ sub.closeSoon();
370
442
  };
371
443
  const onKeyDown = event => {
372
444
  const key = event.key;
@@ -433,7 +505,7 @@ function createFlyoutMenuSub(prefix) {
433
505
  style: style,
434
506
  testID: testID,
435
507
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledView, {
436
- ref: setNode,
508
+ ref: attachContent,
437
509
  className: _constants.MENU_SUB_SCROLL_CLASS,
438
510
  children: children
439
511
  })
@@ -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","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":[]}
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","MENU_ITEM_SELECTOR","leavesForAnotherRow","ownFlyout","ownTrigger","next","relatedTarget","Element","row","closest","focusFirstItem","first","focus","useFlyoutAnchor","ref","open","anchor","setAnchor","useState","measure","useCallback","current","getBoundingClientRect","rowBox","panel","sideBox","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","contentRef","closeTimer","cancelTimer","clearTimeout","keepOpen","closeSoon","setTimeout","closeNow","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","attachContent","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":[]}
@@ -88,9 +88,50 @@ function isHoverPointer(event) {
88
88
  return pointerType === 'mouse' || pointerType === 'pen';
89
89
  }
90
90
 
91
+ /** Every role a menu ROW can carry — the rows a pointer can actually land on. */
92
+ const MENU_ITEM_SELECTOR = '[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"], [role="checkbox"], [role="radio"]';
93
+
94
+ /**
95
+ * Did the pointer leave for another ROW, rather than for the gap this sub's
96
+ * grace delay exists to cover?
97
+ *
98
+ * {@link CLOSE_DELAY_MS} buys time for ONE journey: the diagonal from a trigger
99
+ * row to its own flyout, across a strip where neither surface is hovered. Every
100
+ * other departure is unambiguous the moment it happens, and the most visible one
101
+ * is a SIBLING sub-trigger: two subs in a panel each own their state and their
102
+ * own timer, so the one being left served out its full delay while the one being
103
+ * entered had already opened — 300ms of two overlapping flyouts, which is not a
104
+ * grace period but a bug.
105
+ *
106
+ * "Another row" means the pointer landed on an actual menu ITEM that belongs to
107
+ * neither this sub's trigger nor its flyout. Testing for an ITEM rather than for
108
+ * a `[role="menu"]` ancestor is the whole subtlety: the diagonal to the flyout
109
+ * crosses the parent panel's own padding, which IS inside a `[role="menu"]` but
110
+ * is not a row — measured, a panel-ancestor test dismissed the flyout mid-journey
111
+ * and broke the very case the delay exists for.
112
+ *
113
+ * Both exclusions are load-bearing. Without the flyout check, arriving at the
114
+ * panel's first row would close the panel the move was aimed at. Without the
115
+ * trigger check, moving from the panel back onto its own trigger would close and
116
+ * immediately re-open, which flickers.
117
+ *
118
+ * A departure with no `relatedTarget` — off the window, or the node under the
119
+ * pointer being torn down — is NOT another row, so it keeps the delay and
120
+ * behaviour there is what it was.
121
+ */
122
+ function leavesForAnotherRow(event, ownFlyout, ownTrigger) {
123
+ const next = event.relatedTarget;
124
+ if (!(next instanceof Element)) return false;
125
+ const row = next.closest(MENU_ITEM_SELECTOR);
126
+ if (!row) return false;
127
+ if (ownFlyout?.contains(row)) return false;
128
+ if (ownTrigger?.contains(row)) return false;
129
+ return true;
130
+ }
131
+
91
132
  /** The first focusable descendant, so Right lands ON the panel's first row. */
92
133
  function focusFirstItem(node) {
93
- const first = node?.querySelector('[role="menuitem"], [role="menuitemcheckbox"], [role="checkbox"], [role="radio"]');
134
+ const first = node?.querySelector(MENU_ITEM_SELECTOR);
94
135
  first?.focus?.();
95
136
  }
96
137
 
@@ -205,6 +246,7 @@ export function createFlyoutMenuSub(prefix) {
205
246
  onChange: onOpenChange
206
247
  });
207
248
  const triggerRef = useRef(null);
249
+ const contentRef = useRef(null);
208
250
  const closeTimer = useRef(null);
209
251
  const cancelTimer = useCallback(() => {
210
252
  if (closeTimer.current !== null) {
@@ -229,6 +271,10 @@ export function createFlyoutMenuSub(prefix) {
229
271
  setOpen(false);
230
272
  }, CLOSE_DELAY_MS);
231
273
  }, [cancelTimer, setOpen]);
274
+ const closeNow = useCallback(() => {
275
+ cancelTimer();
276
+ setOpen(false);
277
+ }, [cancelTimer, setOpen]);
232
278
  const closeAndRefocus = useCallback(() => {
233
279
  cancelTimer();
234
280
  setOpen(false);
@@ -239,10 +285,12 @@ export function createFlyoutMenuSub(prefix) {
239
285
  open: isOpen,
240
286
  setOpen,
241
287
  triggerRef,
288
+ contentRef,
242
289
  keepOpen,
243
290
  closeSoon,
291
+ closeNow,
244
292
  closeAndRefocus
245
- }), [isOpen, setOpen, keepOpen, closeSoon, closeAndRefocus]);
293
+ }), [isOpen, setOpen, keepOpen, closeSoon, closeNow, closeAndRefocus]);
246
294
  return /*#__PURE__*/_jsx(SubFlyoutContext.Provider, {
247
295
  value: context,
248
296
  children: children
@@ -284,7 +332,14 @@ export function createFlyoutMenuSub(prefix) {
284
332
  if (isHoverPointer(event)) sub.keepOpen();
285
333
  };
286
334
  const onLeave = event => {
287
- if (isHoverPointer(event)) sub.closeSoon();
335
+ if (!isHoverPointer(event)) return;
336
+ // Straight onto another row of the parent panel — a sibling trigger, or
337
+ // any plain item — is not the diagonal the delay exists for.
338
+ if (leavesForAnotherRow(event, domNode(sub.contentRef.current), element)) {
339
+ sub.closeNow();
340
+ return;
341
+ }
342
+ sub.closeSoon();
288
343
  };
289
344
  const onKeyDown = event => {
290
345
  const key = event.key;
@@ -353,6 +408,15 @@ export function createFlyoutMenuSub(prefix) {
353
408
  const sub = useSubFlyout();
354
409
  const anchor = useFlyoutAnchor(sub.triggerRef, sub.open);
355
410
  const [node, setNode] = useState(null);
411
+
412
+ // State for this component's own effects, a ref for the TRIGGER's leave
413
+ // handler: that handler runs from a DOM listener, outside React's render,
414
+ // so it needs a value it can read at event time rather than one captured
415
+ // when the listener was attached.
416
+ const attachContent = useCallback(value => {
417
+ setNode(value);
418
+ sub.contentRef.current = value;
419
+ }, [sub.contentRef]);
356
420
  useEffect(() => {
357
421
  const element = domNode(node);
358
422
  if (!element || !sub.open) return;
@@ -360,7 +424,15 @@ export function createFlyoutMenuSub(prefix) {
360
424
  if (isHoverPointer(event)) sub.keepOpen();
361
425
  };
362
426
  const onLeave = event => {
363
- if (isHoverPointer(event)) sub.closeSoon();
427
+ if (!isHoverPointer(event)) return;
428
+ // Leaving the flyout for a row of the parent panel is just as
429
+ // unambiguous as leaving the trigger for one: the pointer has arrived
430
+ // somewhere, and it is not this sub.
431
+ if (leavesForAnotherRow(event, element, domNode(sub.triggerRef.current))) {
432
+ sub.closeNow();
433
+ return;
434
+ }
435
+ sub.closeSoon();
364
436
  };
365
437
  const onKeyDown = event => {
366
438
  const key = event.key;
@@ -427,7 +499,7 @@ export function createFlyoutMenuSub(prefix) {
427
499
  style: style,
428
500
  testID: testID,
429
501
  children: /*#__PURE__*/_jsx(StyledView, {
430
- ref: setNode,
502
+ ref: attachContent,
431
503
  className: MENU_SUB_SCROLL_CLASS,
432
504
  children: children
433
505
  })
@@ -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","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
+ {"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","MENU_ITEM_SELECTOR","leavesForAnotherRow","ownFlyout","ownTrigger","next","relatedTarget","Element","row","closest","focusFirstItem","first","focus","useFlyoutAnchor","ref","open","anchor","setAnchor","measure","current","getBoundingClientRect","rowBox","panel","sideBox","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","contentRef","closeTimer","cancelTimer","clearTimeout","keepOpen","closeSoon","setTimeout","closeNow","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","attachContent","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;AAmMjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA4PhE"}
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;AA6PjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA6RhE"}
@@ -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;AAmMjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA4PhE"}
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;AA6PjB,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA6RhE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/bloom",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
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",
@@ -117,9 +117,55 @@ function isHoverPointer(event: Event): boolean {
117
117
  return pointerType === 'mouse' || pointerType === 'pen';
118
118
  }
119
119
 
120
+ /** Every role a menu ROW can carry — the rows a pointer can actually land on. */
121
+ const MENU_ITEM_SELECTOR =
122
+ '[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"], [role="checkbox"], [role="radio"]';
123
+
124
+ /**
125
+ * Did the pointer leave for another ROW, rather than for the gap this sub's
126
+ * grace delay exists to cover?
127
+ *
128
+ * {@link CLOSE_DELAY_MS} buys time for ONE journey: the diagonal from a trigger
129
+ * row to its own flyout, across a strip where neither surface is hovered. Every
130
+ * other departure is unambiguous the moment it happens, and the most visible one
131
+ * is a SIBLING sub-trigger: two subs in a panel each own their state and their
132
+ * own timer, so the one being left served out its full delay while the one being
133
+ * entered had already opened — 300ms of two overlapping flyouts, which is not a
134
+ * grace period but a bug.
135
+ *
136
+ * "Another row" means the pointer landed on an actual menu ITEM that belongs to
137
+ * neither this sub's trigger nor its flyout. Testing for an ITEM rather than for
138
+ * a `[role="menu"]` ancestor is the whole subtlety: the diagonal to the flyout
139
+ * crosses the parent panel's own padding, which IS inside a `[role="menu"]` but
140
+ * is not a row — measured, a panel-ancestor test dismissed the flyout mid-journey
141
+ * and broke the very case the delay exists for.
142
+ *
143
+ * Both exclusions are load-bearing. Without the flyout check, arriving at the
144
+ * panel's first row would close the panel the move was aimed at. Without the
145
+ * trigger check, moving from the panel back onto its own trigger would close and
146
+ * immediately re-open, which flickers.
147
+ *
148
+ * A departure with no `relatedTarget` — off the window, or the node under the
149
+ * pointer being torn down — is NOT another row, so it keeps the delay and
150
+ * behaviour there is what it was.
151
+ */
152
+ function leavesForAnotherRow(
153
+ event: Event,
154
+ ownFlyout: DomNode | null,
155
+ ownTrigger: DomNode | null,
156
+ ): boolean {
157
+ const next = (event as PointerEvent).relatedTarget;
158
+ if (!(next instanceof Element)) return false;
159
+ const row = next.closest(MENU_ITEM_SELECTOR);
160
+ if (!row) return false;
161
+ if (ownFlyout?.contains(row as HTMLElement)) return false;
162
+ if (ownTrigger?.contains(row as HTMLElement)) return false;
163
+ return true;
164
+ }
165
+
120
166
  /** The first focusable descendant, so Right lands ON the panel's first row. */
121
167
  function focusFirstItem(node: DomNode | null): void {
122
- const first = node?.querySelector<HTMLElement>('[role="menuitem"], [role="menuitemcheckbox"], [role="checkbox"], [role="radio"]');
168
+ const first = node?.querySelector<HTMLElement>(MENU_ITEM_SELECTOR);
123
169
  first?.focus?.();
124
170
  }
125
171
 
@@ -235,10 +281,22 @@ interface SubFlyoutContextValue {
235
281
  setOpen: (next: boolean) => void;
236
282
  /** The trigger row's wrapper, measured to anchor the panel. */
237
283
  triggerRef: React.RefObject<View | null>;
284
+ /**
285
+ * The flyout's scroller, so the TRIGGER can tell a pointer heading for its own
286
+ * panel from one heading for a sibling row. Written by `MenuSubContent`; null
287
+ * whenever the panel is closed, which is exactly when there is nothing to
288
+ * cross to.
289
+ */
290
+ contentRef: React.RefObject<View | null>;
238
291
  /** Cancel a scheduled close — the pointer arrived on one of the two surfaces. */
239
292
  keepOpen: () => void;
240
293
  /** Schedule a close — the pointer left one of them, and may be crossing to the other. */
241
294
  closeSoon: () => void;
295
+ /**
296
+ * Close immediately, WITHOUT moving focus — the pointer has already landed on
297
+ * another row, and refocusing this trigger would take focus off it.
298
+ */
299
+ closeNow: () => void;
242
300
  /** Close now and put focus back on the trigger row (Left, Escape). */
243
301
  closeAndRefocus: () => void;
244
302
  }
@@ -263,6 +321,7 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
263
321
  onChange: onOpenChange,
264
322
  });
265
323
  const triggerRef = useRef<View | null>(null);
324
+ const contentRef = useRef<View | null>(null);
266
325
  const closeTimer = useRef<ReturnType<typeof setTimeout> | null>(null);
267
326
 
268
327
  const cancelTimer = useCallback(() => {
@@ -291,6 +350,11 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
291
350
  }, CLOSE_DELAY_MS);
292
351
  }, [cancelTimer, setOpen]);
293
352
 
353
+ const closeNow = useCallback(() => {
354
+ cancelTimer();
355
+ setOpen(false);
356
+ }, [cancelTimer, setOpen]);
357
+
294
358
  const closeAndRefocus = useCallback(() => {
295
359
  cancelTimer();
296
360
  setOpen(false);
@@ -299,8 +363,8 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
299
363
  }, [cancelTimer, setOpen]);
300
364
 
301
365
  const context = useMemo<SubFlyoutContextValue>(
302
- () => ({ open: isOpen, setOpen, triggerRef, keepOpen, closeSoon, closeAndRefocus }),
303
- [isOpen, setOpen, keepOpen, closeSoon, closeAndRefocus],
366
+ () => ({ open: isOpen, setOpen, triggerRef, contentRef, keepOpen, closeSoon, closeNow, closeAndRefocus }),
367
+ [isOpen, setOpen, keepOpen, closeSoon, closeNow, closeAndRefocus],
304
368
  );
305
369
 
306
370
  return <SubFlyoutContext.Provider value={context}>{children}</SubFlyoutContext.Provider>;
@@ -344,7 +408,14 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
344
408
  if (isHoverPointer(event)) sub.keepOpen();
345
409
  };
346
410
  const onLeave = (event: Event) => {
347
- if (isHoverPointer(event)) sub.closeSoon();
411
+ if (!isHoverPointer(event)) return;
412
+ // Straight onto another row of the parent panel — a sibling trigger, or
413
+ // any plain item — is not the diagonal the delay exists for.
414
+ if (leavesForAnotherRow(event, domNode(sub.contentRef.current), element)) {
415
+ sub.closeNow();
416
+ return;
417
+ }
418
+ sub.closeSoon();
348
419
  };
349
420
  const onKeyDown = (event: Event) => {
350
421
  const key = (event as KeyboardEvent).key;
@@ -418,6 +489,18 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
418
489
  const anchor = useFlyoutAnchor(sub.triggerRef, sub.open);
419
490
  const [node, setNode] = useState<View | null>(null);
420
491
 
492
+ // State for this component's own effects, a ref for the TRIGGER's leave
493
+ // handler: that handler runs from a DOM listener, outside React's render,
494
+ // so it needs a value it can read at event time rather than one captured
495
+ // when the listener was attached.
496
+ const attachContent = useCallback(
497
+ (value: View | null) => {
498
+ setNode(value);
499
+ sub.contentRef.current = value;
500
+ },
501
+ [sub.contentRef],
502
+ );
503
+
421
504
  useEffect(() => {
422
505
  const element = domNode(node);
423
506
  if (!element || !sub.open) return;
@@ -426,7 +509,15 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
426
509
  if (isHoverPointer(event)) sub.keepOpen();
427
510
  };
428
511
  const onLeave = (event: Event) => {
429
- if (isHoverPointer(event)) sub.closeSoon();
512
+ if (!isHoverPointer(event)) return;
513
+ // Leaving the flyout for a row of the parent panel is just as
514
+ // unambiguous as leaving the trigger for one: the pointer has arrived
515
+ // somewhere, and it is not this sub.
516
+ if (leavesForAnotherRow(event, element, domNode(sub.triggerRef.current))) {
517
+ sub.closeNow();
518
+ return;
519
+ }
520
+ sub.closeSoon();
430
521
  };
431
522
  const onKeyDown = (event: Event) => {
432
523
  const key = (event as KeyboardEvent).key;
@@ -498,7 +589,7 @@ export function createFlyoutMenuSub(prefix: string): MenuSubParts {
498
589
  flyout's pointer hit box — without it that 4px ring is a place where
499
590
  the pointer is over the panel but over nothing listening, and a
500
591
  pointer resting there would schedule a close. */}
501
- <StyledView ref={setNode} className={MENU_SUB_SCROLL_CLASS}>
592
+ <StyledView ref={attachContent} className={MENU_SUB_SCROLL_CLASS}>
502
593
  {children}
503
594
  </StyledView>
504
595
  </FloatingPanel>
@@ -1,20 +0,0 @@
1
- /**
2
- * A barrel that DELIBERATELY offers one name from two declarations, so that
3
- * `barrel-name-collisions.test.ts` can prove its detector fires. It reproduces
4
- * the shipped `Item` shape: a star export carrying `Item` from `item/`, and an
5
- * explicit re-export binding that same name to a different component.
6
- *
7
- * Nothing imports this at runtime. bob's `exclude` keeps it out of `lib/`, and
8
- * `files: ["src", …]` does ship it inside the tarball's `src/` like the other
9
- * test files there — but no entry point reaches it, so no bundler links it, and
10
- * `package.json#exports` never names it.
11
- *
12
- * The `Card` lines below are the other half of the
13
- * control: one name offered twice from ONE declaration, which the detector must
14
- * stay quiet about — otherwise its cheapest fix would be deleting a legitimate
15
- * redundant re-export.
16
- */
17
- export * from '../../item';
18
- export { Card as Item } from '../../card';
19
- export { Card } from '../../card';
20
- export * from '../../card';