@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.
- package/lib/commonjs/floating/menu-sub-flyout.js +77 -5
- package/lib/commonjs/floating/menu-sub-flyout.js.map +1 -1
- package/lib/module/floating/menu-sub-flyout.js +77 -5
- package/lib/module/floating/menu-sub-flyout.js.map +1 -1
- package/lib/typescript/commonjs/floating/menu-sub-flyout.d.ts.map +1 -1
- package/lib/typescript/module/floating/menu-sub-flyout.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/floating/menu-sub-flyout.tsx +97 -6
- package/src/__tests__/support/collision-fixture-barrel.ts +0 -20
- package/src/__tests__/support/constructed-style-sheets.ts +0 -68
- package/src/__tests__/support/press-host.ts +0 -30
- package/src/__tests__/support/rendered-style.ts +0 -99
- package/src/__tests__/support/unread-hook-fixture.ts +0 -33
- package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +0 -7682
- package/src/theme/__tests__/fixtures/color-engine-golden.json +0 -1
|
@@ -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(
|
|
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))
|
|
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))
|
|
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:
|
|
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(
|
|
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))
|
|
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))
|
|
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:
|
|
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":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IACVC,WAAW,EACXC,SAAS,EACTC,eAAe,EACfC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,oBAAoB,QAAQ,oCAAiC;AACtE,SAASC,oCAAoC,IAAIC,gBAAgB,QAAQ,qBAAkB;AAC3F,SAASC,UAAU,QAAQ,gCAA6B;AACxD,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,oBAAoB,EACpBC,aAAa,QACR,gBAAa;AACpB,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,EAAE,EAAEC,cAAc,EAAEC,YAAY,EAAEC,aAAa,EAAEC,iBAAiB,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG,GAAG;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAG,EAAE;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA,SAASC,OAAOA,CAACC,IAAiB,EAAkB;EAClD,MAAMC,OAAO,GAAGD,IAA0C;EAC1D,IACE,OAAOC,OAAO,EAAEC,gBAAgB,KAAK,UAAU,IAC/C,OAAOD,OAAO,CAACE,mBAAmB,KAAK,UAAU,IACjD,OAAOF,OAAO,CAACG,QAAQ,KAAK,UAAU,IACtC,OAAOH,OAAO,CAACI,aAAa,KAAK,UAAU,EAC3C;IACA,OAAO,IAAI;EACb;EACA,OAAOJ,OAAO;AAChB;;AAEA;AACA,SAASK,cAAcA,CAACC,KAAY,EAAW;EAC7C,MAAMC,WAAW,GAAID,KAAK,CAAkBC,WAAW;EACvD,OAAOA,WAAW,KAAK,OAAO,IAAIA,WAAW,KAAK,KAAK;AACzD;;AAEA;AACA,SAASC,cAAcA,CAACT,IAAoB,EAAQ;EAClD,MAAMU,KAAK,GAAGV,IAAI,EAAEK,aAAa,CAAc,iFAAiF,CAAC;EACjIK,KAAK,EAAEC,KAAK,GAAG,CAAC;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CACtBC,GAAiC,EACjCC,IAAa,EACU;EACvB,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGtC,QAAQ,CAAwB,IAAI,CAAC;EAEjE,MAAMuC,OAAO,GAAG5C,WAAW,CAAC,MAAM;IAChC;IACA;IACA;IACA,MAAM6C,GAAG,GAAGL,GAAG,CAACM,OAGR;IACR,IAAI,OAAOD,GAAG,EAAEE,qBAAqB,KAAK,UAAU,EAAE;MACpDJ,SAAS,CAAC,IAAI,CAAC;MACf;IACF;IACA,MAAMK,MAAM,GAAGH,GAAG,CAACE,qBAAqB,CAAC,CAAC;IAC1C,MAAME,KAAK,GACT,OAAOJ,GAAG,CAACK,OAAO,KAAK,UAAU,GAAGL,GAAG,CAACK,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IACzE,MAAMC,OAAO,GAAGF,KAAK,GAAGA,KAAK,CAACF,qBAAqB,CAAC,CAAC,GAAGC,MAAM;IAC9D,MAAMI,IAAI,GAAG;MACXC,GAAG,EAAEL,MAAM,CAACK,GAAG;MACfC,MAAM,EAAEN,MAAM,CAACM,MAAM;MACrBC,IAAI,EAAEJ,OAAO,CAACI,IAAI;MAClBC,KAAK,EAAEL,OAAO,CAACK;IACjB,CAAC;IACD;IACA;IACA;IACAb,SAAS,CAAEG,OAAO,IAChBA,OAAO,IACPA,OAAO,CAACO,GAAG,KAAKD,IAAI,CAACC,GAAG,IACxBP,OAAO,CAACQ,MAAM,KAAKF,IAAI,CAACE,MAAM,IAC9BR,OAAO,CAACS,IAAI,KAAKH,IAAI,CAACG,IAAI,IAC1BT,OAAO,CAACU,KAAK,KAAKJ,IAAI,CAACI,KAAK,GACxBV,OAAO,GACPM,IACN,CAAC;EACH,CAAC,EAAE,CAACZ,GAAG,CAAC,CAAC;EAETtC,eAAe,CAAC,MAAM;IACpB,IAAI,CAACuC,IAAI,EAAE;MACTE,SAAS,CAAC,IAAI,CAAC;MACf;IACF;IACAC,OAAO,CAAC,CAAC;IACT,IAAI,OAAOa,qBAAqB,KAAK,UAAU,EAAE;IACjD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAIC,KAAK,GAAG,CAAC;IACb,IAAIC,MAAM,GAAGF,qBAAqB,CAAC,SAASG,KAAKA,CAAA,EAAG;MAClDhB,OAAO,CAAC,CAAC;MACTc,KAAK,IAAI,CAAC;MACV,IAAIA,KAAK,GAAGjC,aAAa,EAAEkC,MAAM,GAAGF,qBAAqB,CAACG,KAAK,CAAC;IAClE,CAAC,CAAC;IACF,OAAO,MAAMC,oBAAoB,CAACF,MAAM,CAAC;EAC3C,CAAC,EAAE,CAAClB,IAAI,EAAEG,OAAO,CAAC,CAAC;EAEnB3C,SAAS,CAAC,MAAM;IACd,IAAI,CAACwC,IAAI,IAAI,OAAOqB,MAAM,KAAK,WAAW,EAAE;IAC5C;IACA;IACAA,MAAM,CAACjC,gBAAgB,CAAC,QAAQ,EAAEe,OAAO,CAAC;IAC1CkB,MAAM,CAACjC,gBAAgB,CAAC,QAAQ,EAAEe,OAAO,EAAE,IAAI,CAAC;IAChD,OAAO,MAAM;MACXkB,MAAM,CAAChC,mBAAmB,CAAC,QAAQ,EAAEc,OAAO,CAAC;MAC7CkB,MAAM,CAAChC,mBAAmB,CAAC,QAAQ,EAAEc,OAAO,EAAE,IAAI,CAAC;IACrD,CAAC;EACH,CAAC,EAAE,CAACH,IAAI,EAAEG,OAAO,CAAC,CAAC;EAEnB,OAAOF,MAAM;AACf;AAeA,MAAMqB,gBAAgB,gBAAGhE,KAAK,CAACiE,aAAa,CAA+B,IAAI,CAAC;AAChFD,gBAAgB,CAACE,WAAW,GAAG,2BAA2B;AAE1D,SAASC,YAAYA,CAAA,EAA0B;EAC7C,MAAMC,KAAK,GAAGpE,KAAK,CAACqE,UAAU,CAACL,gBAAgB,CAAC;EAChD,IAAI,CAACI,KAAK,EAAE;IACV,MAAM,IAAIE,KAAK,CAAC,wEAAwE,CAAC;EAC3F;EACA,OAAOF,KAAK;AACd;;AAEA;AACA,OAAO,SAASG,mBAAmBA,CAACC,MAAc,EAAgB;EAChE,SAASC,OAAOA,CAAC;IAAEC,QAAQ;IAAEhC,IAAI;IAAEiC,WAAW,GAAG,KAAK;IAAEC;EAA2B,CAAC,EAAE;IACpF,MAAM,CAACC,MAAM,EAAEC,OAAO,CAAC,GAAGtE,oBAAoB,CAAU;MACtD4D,KAAK,EAAE1B,IAAI;MACXqC,YAAY,EAAEJ,WAAW;MACzBK,QAAQ,EAAEJ;IACZ,CAAC,CAAC;IACF,MAAMK,UAAU,GAAG5E,MAAM,CAAc,IAAI,CAAC;IAC5C,MAAM6E,UAAU,GAAG7E,MAAM,CAAuC,IAAI,CAAC;IAErE,MAAM8E,WAAW,GAAGlF,WAAW,CAAC,MAAM;MACpC,IAAIiF,UAAU,CAACnC,OAAO,KAAK,IAAI,EAAE;QAC/BqC,YAAY,CAACF,UAAU,CAACnC,OAAO,CAAC;QAChCmC,UAAU,CAACnC,OAAO,GAAG,IAAI;MAC3B;IACF,CAAC,EAAE,EAAE,CAAC;;IAEN;IACA;IACA7C,SAAS,CAAC,MAAMiF,WAAW,EAAE,CAACA,WAAW,CAAC,CAAC;IAE3C,MAAME,QAAQ,GAAGpF,WAAW,CAAC,MAAM;MACjCkF,WAAW,CAAC,CAAC;MACb;MACA;MACA,IAAI,CAACN,MAAM,EAAEC,OAAO,CAAC,IAAI,CAAC;IAC5B,CAAC,EAAE,CAACK,WAAW,EAAEN,MAAM,EAAEC,OAAO,CAAC,CAAC;IAElC,MAAMQ,SAAS,GAAGrF,WAAW,CAAC,MAAM;MAClCkF,WAAW,CAAC,CAAC;MACbD,UAAU,CAACnC,OAAO,GAAGwC,UAAU,CAAC,MAAM;QACpCL,UAAU,CAACnC,OAAO,GAAG,IAAI;QACzB+B,OAAO,CAAC,KAAK,CAAC;MAChB,CAAC,EAAErD,cAAc,CAAC;IACpB,CAAC,EAAE,CAAC0D,WAAW,EAAEL,OAAO,CAAC,CAAC;IAE1B,MAAMU,eAAe,GAAGvF,WAAW,CAAC,MAAM;MACxCkF,WAAW,CAAC,CAAC;MACbL,OAAO,CAAC,KAAK,CAAC;MACd,MAAMW,OAAO,GAAG9D,OAAO,CAACsD,UAAU,CAAClC,OAAO,CAAC;MAC3C0C,OAAO,EAAExD,aAAa,CAAc,mBAAmB,CAAC,EAAEM,KAAK,GAAG,CAAC;IACrE,CAAC,EAAE,CAAC4C,WAAW,EAAEL,OAAO,CAAC,CAAC;IAE1B,MAAMY,OAAO,GAAGtF,OAAO,CACrB,OAAO;MAAEsC,IAAI,EAAEmC,MAAM;MAAEC,OAAO;MAAEG,UAAU;MAAEI,QAAQ;MAAEC,SAAS;MAAEE;IAAgB,CAAC,CAAC,EACnF,CAACX,MAAM,EAAEC,OAAO,EAAEO,QAAQ,EAAEC,SAAS,EAAEE,eAAe,CACxD,CAAC;IAED,oBAAOhE,IAAA,CAACwC,gBAAgB,CAAC2B,QAAQ;MAACvB,KAAK,EAAEsB,OAAQ;MAAAhB,QAAA,EAAEA;IAAQ,CAA4B,CAAC;EAC1F;EACAD,OAAO,CAACP,WAAW,GAAG,GAAGM,MAAM,KAAK;EAEpC,SAASoB,cAAcA,CAAC;IACtBlB,QAAQ;IACRmB,QAAQ,GAAG,KAAK;IAChBC,KAAK,GAAG,KAAK;IACbC,OAAO;IACPC,kBAAkB;IAClBC,SAAS;IACTC,KAAK;IACLC;EACmB,CAAC,EAAE;IACtB,MAAMC,KAAK,GAAGxF,QAAQ,CAAC,CAAC;IACxB,MAAMyF,GAAG,GAAGlC,YAAY,CAAC,CAAC;IAC1B,MAAM;MAAEmC,KAAK;MAAEC;IAAK,CAAC,GAAGlF,aAAa,CAACqD,QAAQ,CAAC;IAC/C,MAAM,CAAC9C,IAAI,EAAE4E,OAAO,CAAC,GAAGlG,QAAQ,CAAc,IAAI,CAAC;IAEnD,MAAMmG,MAAM,GAAGxG,WAAW,CACvBmE,KAAkB,IAAK;MACtBoC,OAAO,CAACpC,KAAK,CAAC;MACdiC,GAAG,CAACpB,UAAU,CAAClC,OAAO,GAAGqB,KAAK;IAChC,CAAC,EACD,CAACiC,GAAG,CAACpB,UAAU,CACjB,CAAC;;IAED;IACA;IACA;IACA;IACA;IACA;IACA/E,SAAS,CAAC,MAAM;MACd,MAAM2B,OAAO,GAAGF,OAAO,CAACC,IAAI,CAAC;MAC7B,IAAI,CAACC,OAAO,IAAIgE,QAAQ,EAAE;MAE1B,MAAMa,MAAM,GAAIvE,KAAY,IAAK;QAC/B,IAAID,cAAc,CAACC,KAAK,CAAC,EAAEkE,GAAG,CAAChB,QAAQ,CAAC,CAAC;MAC3C,CAAC;MACD,MAAMsB,OAAO,GAAIxE,KAAY,IAAK;QAChC,IAAID,cAAc,CAACC,KAAK,CAAC,EAAEkE,GAAG,CAACf,SAAS,CAAC,CAAC;MAC5C,CAAC;MACD,MAAMsB,SAAS,GAAIzE,KAAY,IAAK;QAClC,MAAM0E,GAAG,GAAI1E,KAAK,CAAmB0E,GAAG;QACxC,IAAIA,GAAG,KAAK,YAAY,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,GAAG,EAAE;QAC5D1E,KAAK,CAAC2E,cAAc,CAAC,CAAC;QACtBT,GAAG,CAAChB,QAAQ,CAAC,CAAC;MAChB,CAAC;MAEDxD,OAAO,CAACC,gBAAgB,CAAC,aAAa,EAAE4E,MAAM,CAAC;MAC/C7E,OAAO,CAACC,gBAAgB,CAAC,cAAc,EAAE6E,OAAO,CAAC;MACjD9E,OAAO,CAACC,gBAAgB,CAAC,SAAS,EAAE8E,SAAS,CAAC;MAC9C,OAAO,MAAM;QACX/E,OAAO,CAACE,mBAAmB,CAAC,aAAa,EAAE2E,MAAM,CAAC;QAClD7E,OAAO,CAACE,mBAAmB,CAAC,cAAc,EAAE4E,OAAO,CAAC;QACpD9E,OAAO,CAACE,mBAAmB,CAAC,SAAS,EAAE6E,SAAS,CAAC;MACnD,CAAC;IACH,CAAC,EAAE,CAAChF,IAAI,EAAEiE,QAAQ,EAAEQ,GAAG,CAAC,CAAC;IAEzB,oBACE7E,IAAA,CAACjB,IAAI;MAACkC,GAAG,EAAEgE,MAAO;MAAA/B,QAAA,eAChBlD,IAAA,CAACJ,YAAY;QACX2F,IAAI,EAAC,UAAU;QACfC,QAAQ,EAAEX,GAAG,CAAC3D,IAAK;QACnBuE,QAAQ,EAAC,MAAM;QACfpB,QAAQ,EAAEA,QAAS;QACnBC,KAAK,EAAEA,KAAM;QACbC,OAAO,EAAEA;QACT;QACA;QACA;QACA;QACA;QAAA;QACAmB,QAAQ,eACN1F,IAAA,CAACL,cAAc;UAAAuD,QAAA,eACblD,IAAA,CAACd,gBAAgB;YACfyG,KAAK,EAAEnG,aAAc;YACrBoG,MAAM,EAAEpG,aAAc;YACtBqG,IAAI,EAAEjB,KAAK,CAACkB,MAAM,CAACC;UAAc,CAClC;QAAC,CACY,CACjB;QACDjB,KAAK,EAAEA;QACP;QACA;QAAA;QACAkB,OAAO,EAAEA,CAAA,KAAOnB,GAAG,CAAC3D,IAAI,GAAG2D,GAAG,CAACb,eAAe,CAAC,CAAC,GAAGa,GAAG,CAAChB,QAAQ,CAAC,CAAG;QACnEW,kBAAkB,EAAEA,kBAAmB;QACvCC,SAAS,EAAE/E,EAAE,CAACI,iBAAiB,EAAE2E,SAAS,CAAE;QAC5CC,KAAK,EAAEA,KAAM;QACbC,MAAM,EAAEA,MAAO;QAAAzB,QAAA,EACd6B;MAAI,CACO;IAAC,CACX,CAAC;EAEX;EACAX,cAAc,CAAC1B,WAAW,GAAG,GAAGM,MAAM,YAAY;EAElD,SAASiD,cAAcA,CAAC;IACtB/C,QAAQ;IACRgD,KAAK,GAAG,SAAS;IACjBC,IAAI,GAAG,OAAO;IACdC,KAAK,GAAG,OAAO;IACfC,UAAU,GAAG9G,oBAAoB;IACjC+G,WAAW;IACXC,QAAQ;IACRC,QAAQ;IACR/B,SAAS;IACTC,KAAK;IACLC;EACmB,CAAC,EAAE;IACtB,MAAME,GAAG,GAAGlC,YAAY,CAAC,CAAC;IAC1B,MAAMxB,MAAM,GAAGH,eAAe,CAAC6D,GAAG,CAACpB,UAAU,EAAEoB,GAAG,CAAC3D,IAAI,CAAC;IACxD,MAAM,CAACd,IAAI,EAAE4E,OAAO,CAAC,GAAGlG,QAAQ,CAAc,IAAI,CAAC;IAEnDJ,SAAS,CAAC,MAAM;MACd,MAAM2B,OAAO,GAAGF,OAAO,CAACC,IAAI,CAAC;MAC7B,IAAI,CAACC,OAAO,IAAI,CAACwE,GAAG,CAAC3D,IAAI,EAAE;MAE3B,MAAMgE,MAAM,GAAIvE,KAAY,IAAK;QAC/B,IAAID,cAAc,CAACC,KAAK,CAAC,EAAEkE,GAAG,CAAChB,QAAQ,CAAC,CAAC;MAC3C,CAAC;MACD,MAAMsB,OAAO,GAAIxE,KAAY,IAAK;QAChC,IAAID,cAAc,CAACC,KAAK,CAAC,EAAEkE,GAAG,CAACf,SAAS,CAAC,CAAC;MAC5C,CAAC;MACD,MAAMsB,SAAS,GAAIzE,KAAY,IAAK;QAClC,MAAM0E,GAAG,GAAI1E,KAAK,CAAmB0E,GAAG;QACxC,IAAIA,GAAG,KAAK,WAAW,EAAE;QACzB1E,KAAK,CAAC2E,cAAc,CAAC,CAAC;QACtBT,GAAG,CAACb,eAAe,CAAC,CAAC;MACvB,CAAC;MAED3D,OAAO,CAACC,gBAAgB,CAAC,aAAa,EAAE4E,MAAM,CAAC;MAC/C7E,OAAO,CAACC,gBAAgB,CAAC,cAAc,EAAE6E,OAAO,CAAC;MACjD9E,OAAO,CAACC,gBAAgB,CAAC,SAAS,EAAE8E,SAAS,CAAC;MAC9C,OAAO,MAAM;QACX/E,OAAO,CAACE,mBAAmB,CAAC,aAAa,EAAE2E,MAAM,CAAC;QAClD7E,OAAO,CAACE,mBAAmB,CAAC,cAAc,EAAE4E,OAAO,CAAC;QACpD9E,OAAO,CAACE,mBAAmB,CAAC,SAAS,EAAE6E,SAAS,CAAC;MACnD,CAAC;IACH,CAAC,EAAE,CAAChF,IAAI,EAAEyE,GAAG,CAAC,CAAC;;IAEf;IACA;IACA;IACA;IACA;IACA;IACAnG,SAAS,CAAC,MAAM;MACd,IAAI,CAACmG,GAAG,CAAC3D,IAAI,IAAI,OAAOuF,QAAQ,KAAK,WAAW,EAAE;MAClD,MAAMrB,SAAS,GAAIzE,KAAoB,IAAK;QAC1C,IAAIA,KAAK,CAAC0E,GAAG,KAAK,QAAQ,EAAE;QAC5B1E,KAAK,CAAC+F,wBAAwB,CAAC,CAAC;QAChC7B,GAAG,CAACb,eAAe,CAAC,CAAC;MACvB,CAAC;MACDyC,QAAQ,CAACnG,gBAAgB,CAAC,SAAS,EAAE8E,SAAS,EAAE,IAAI,CAAC;MACrD,OAAO,MAAMqB,QAAQ,CAAClG,mBAAmB,CAAC,SAAS,EAAE6E,SAAS,EAAE,IAAI,CAAC;IACvE,CAAC,EAAE,CAACP,GAAG,CAAC,CAAC;;IAET;IACA;IACAnG,SAAS,CAAC,MAAM;MACd,IAAI,CAACmG,GAAG,CAAC3D,IAAI,IAAI,CAACC,MAAM,EAAE;MAC1BN,cAAc,CAACV,OAAO,CAACC,IAAI,CAAC,CAAC;IAC/B,CAAC,EAAE,CAACyE,GAAG,CAAC3D,IAAI,EAAEC,MAAM,EAAEf,IAAI,CAAC,CAAC;IAE5B,oBACEJ,IAAA,CAACP,aAAa;MACZyB,IAAI,EAAE2D,GAAG,CAAC3D,IAAK;MACfC,MAAM,EAAEA,MAAO;MACfoE,IAAI,EAAC,MAAM;MACXW,KAAK,EAAEA,KAAM;MACbC,IAAI,EAAEA;MACN;MAAA;MACAC,KAAK,EAAEA;MACP;MACA;MAAA;MACAC,UAAU,EAAEA,UAAW;MACvBC,WAAW,EAAEA,WAAY;MACzBK,WAAW,EAAE,KAAM;MACnBC,KAAK,EAAE,KAAM;MACbC,SAAS,EAAEhC,GAAG,CAACb,eAAgB;MAC/BuC,QAAQ,EAAEA,QAAS;MACnBC,QAAQ,EAAEA;MACV;MACA;MAAA;MACA/B,SAAS,EAAE/E,EAAE,CAACL,oBAAoB,EAAEoF,SAAS,CAAE;MAC/CC,KAAK,EAAEA,KAAM;MACbC,MAAM,EAAEA,MAAO;MAAAzB,QAAA,eAOflD,IAAA,CAACb,UAAU;QAAC8B,GAAG,EAAE+D,OAAQ;QAACP,SAAS,EAAEnF,qBAAsB;QAAA4D,QAAA,EACxDA;MAAQ,CACC;IAAC,CACA,CAAC;EAEpB;EACA+C,cAAc,CAACvD,WAAW,GAAG,GAAGM,MAAM,YAAY;EAElD,OAAO;IAAE8D,GAAG,EAAE7D,OAAO;IAAE8D,UAAU,EAAE3C,cAAc;IAAE4C,UAAU,EAAEf;EAAe,CAAC;AACjF","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;
|
|
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;
|
|
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
|
@@ -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>(
|
|
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))
|
|
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))
|
|
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={
|
|
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';
|