@sproutsocial/seeds-react-menu 1.2.2 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +16 -0
- package/dist/esm/index.js +179 -133
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +217 -171
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Autocomplete/MultiAutocomplete.tsx +29 -18
- package/src/Autocomplete/SingleAutocomplete.tsx +14 -6
- package/src/Autocomplete/__tests__/Autocomplete.test.tsx +21 -0
- package/src/MenuContent/DefaultMenuEmptyState.tsx +17 -0
- package/src/MenuContent/MenuContent.tsx +14 -2
- package/src/MenuContent/MenuContentTypes.ts +2 -0
- package/src/MenuContent/__tests__/MenuContent.test.tsx +38 -17
- package/src/MenuContext.tsx +13 -0
- package/src/MenuItem/__tests__/MenuItem.test.tsx +11 -14
- package/src/MenuRoot/MenuRoot.tsx +9 -9
- package/src/SingleSelectMenu/SingleSelectMenu.stories.tsx +44 -0
- package/src/menuTestingUtils.tsx +12 -7
package/dist/index.js
CHANGED
|
@@ -169,7 +169,8 @@ var defaultMenuContext = {
|
|
|
169
169
|
items: [],
|
|
170
170
|
itemsMap: {},
|
|
171
171
|
isItemSelected: () => false,
|
|
172
|
-
getInputComponentProps: () => ({})
|
|
172
|
+
getInputComponentProps: () => ({}),
|
|
173
|
+
hasVisibleItems: false
|
|
173
174
|
};
|
|
174
175
|
var getSelectedItemIds = (selectedItems) => selectedItems?.reduce(
|
|
175
176
|
(selected, item) => ({ ...selected, [item.id]: true }),
|
|
@@ -190,6 +191,8 @@ var useMenu = ({
|
|
|
190
191
|
selectedItems,
|
|
191
192
|
getInputProps,
|
|
192
193
|
contentRef: contentRefFromProps,
|
|
194
|
+
autoCloseOnEmpty,
|
|
195
|
+
hiddenItemsCount,
|
|
193
196
|
...rest
|
|
194
197
|
} = {}) => {
|
|
195
198
|
const contentRef = contentRefFromProps || import_react.default.createRef();
|
|
@@ -244,6 +247,9 @@ var useMenu = ({
|
|
|
244
247
|
},
|
|
245
248
|
[getInputProps]
|
|
246
249
|
);
|
|
250
|
+
const hasVisibleItems = (0, import_react.useMemo)(() => {
|
|
251
|
+
return (hiddenItemsCount ?? 0) < items.length;
|
|
252
|
+
}, [items, hiddenItemsCount]);
|
|
247
253
|
return {
|
|
248
254
|
isOpen,
|
|
249
255
|
isListbox,
|
|
@@ -256,6 +262,8 @@ var useMenu = ({
|
|
|
256
262
|
getInputProps,
|
|
257
263
|
getInputComponentProps,
|
|
258
264
|
contentRef,
|
|
265
|
+
hasVisibleItems,
|
|
266
|
+
autoCloseOnEmpty,
|
|
259
267
|
...menuProps
|
|
260
268
|
};
|
|
261
269
|
};
|
|
@@ -2362,7 +2370,23 @@ var useMenuChildren = ({
|
|
|
2362
2370
|
|
|
2363
2371
|
// src/MenuContent/MenuContent.tsx
|
|
2364
2372
|
var import_react5 = require("react");
|
|
2373
|
+
|
|
2374
|
+
// src/MenuContent/DefaultMenuEmptyState.tsx
|
|
2375
|
+
var import_styled_components6 = __toESM(require("styled-components"));
|
|
2365
2376
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
2377
|
+
var StyledEmptyState = import_styled_components6.default.div`
|
|
2378
|
+
padding: ${({ theme: theme2 }) => theme2.space[350]};
|
|
2379
|
+
text-align: center;
|
|
2380
|
+
font-size: ${({ theme: theme2 }) => theme2.typography[200].fontSize};
|
|
2381
|
+
`;
|
|
2382
|
+
var DefaultMenuEmptyState = ({
|
|
2383
|
+
children
|
|
2384
|
+
}) => {
|
|
2385
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StyledEmptyState, { children: children || "No results found." });
|
|
2386
|
+
};
|
|
2387
|
+
|
|
2388
|
+
// src/MenuContent/MenuContent.tsx
|
|
2389
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
2366
2390
|
var MenuContent = ({
|
|
2367
2391
|
id = "menu_content",
|
|
2368
2392
|
children: childrenProp,
|
|
@@ -2370,11 +2394,21 @@ var MenuContent = ({
|
|
|
2370
2394
|
MenuItemComponent,
|
|
2371
2395
|
onKeyDown,
|
|
2372
2396
|
innerRef = null,
|
|
2397
|
+
emptyStateElement,
|
|
2373
2398
|
...rest
|
|
2374
2399
|
}) => {
|
|
2375
|
-
const {
|
|
2400
|
+
const {
|
|
2401
|
+
getToggleButtonProps,
|
|
2402
|
+
getMenuProps,
|
|
2403
|
+
isListbox,
|
|
2404
|
+
hasVisibleItems,
|
|
2405
|
+
autoCloseOnEmpty
|
|
2406
|
+
} = useMenuContentContext();
|
|
2376
2407
|
const toggleButtonProps = getToggleButtonProps?.();
|
|
2377
2408
|
const children = childrenProp || !menuItems || !menuItems.length ? childrenProp : mapMenuItems({ menuItems, MenuItemComponent });
|
|
2409
|
+
if (!hasVisibleItems && !autoCloseOnEmpty) {
|
|
2410
|
+
return emptyStateElement ?? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DefaultMenuEmptyState, {});
|
|
2411
|
+
}
|
|
2378
2412
|
if (!children) {
|
|
2379
2413
|
return null;
|
|
2380
2414
|
}
|
|
@@ -2385,7 +2419,7 @@ var MenuContent = ({
|
|
|
2385
2419
|
},
|
|
2386
2420
|
[onKeyDown, toggleButtonProps?.["onKeyDown"]]
|
|
2387
2421
|
);
|
|
2388
|
-
return /* @__PURE__ */ (0,
|
|
2422
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
2389
2423
|
StyledMenuContent,
|
|
2390
2424
|
{
|
|
2391
2425
|
autoFocus: true,
|
|
@@ -2411,47 +2445,47 @@ MenuContent.__MENU_PRIMITIVE_TYPE = "MenuContent";
|
|
|
2411
2445
|
var import_react6 = require("react");
|
|
2412
2446
|
|
|
2413
2447
|
// src/MenuFooter/styles.tsx
|
|
2414
|
-
var
|
|
2448
|
+
var import_styled_components7 = __toESM(require("styled-components"));
|
|
2415
2449
|
var import_seeds_react_box2 = require("@sproutsocial/seeds-react-box");
|
|
2416
|
-
var StyledMenuFooterBox = (0,
|
|
2450
|
+
var StyledMenuFooterBox = (0, import_styled_components7.default)(import_seeds_react_box2.Box)`
|
|
2417
2451
|
padding: ${({ theme: theme2 }) => theme2.space[350]} ${({ theme: theme2 }) => theme2.space[400]};
|
|
2418
2452
|
border-top: 1px solid ${(p) => p.theme.colors.container.border.base};
|
|
2419
2453
|
`;
|
|
2420
2454
|
|
|
2421
2455
|
// src/MenuFooter/MenuFooter.tsx
|
|
2422
|
-
var
|
|
2456
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
2423
2457
|
var MenuFooter = ({ children, ...rest }) => {
|
|
2424
|
-
return /* @__PURE__ */ (0,
|
|
2458
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(StyledMenuFooterBox, { ...rest, children });
|
|
2425
2459
|
};
|
|
2426
2460
|
|
|
2427
2461
|
// src/MenuGroup/MenuGroup.tsx
|
|
2428
2462
|
var import_react9 = require("react");
|
|
2429
2463
|
|
|
2430
2464
|
// src/MenuGroup/styles.tsx
|
|
2431
|
-
var
|
|
2465
|
+
var import_styled_components10 = __toESM(require("styled-components"));
|
|
2432
2466
|
|
|
2433
2467
|
// ../seeds-react-text/dist/esm/index.js
|
|
2434
2468
|
var import_react7 = require("react");
|
|
2435
|
-
var import_styled_components7 = __toESM(require("styled-components"));
|
|
2436
2469
|
var import_styled_components8 = __toESM(require("styled-components"));
|
|
2470
|
+
var import_styled_components9 = __toESM(require("styled-components"));
|
|
2437
2471
|
var import_seeds_react_system_props = require("@sproutsocial/seeds-react-system-props");
|
|
2438
|
-
var
|
|
2472
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
2439
2473
|
var import_react8 = require("react");
|
|
2440
|
-
var Container =
|
|
2474
|
+
var Container = import_styled_components9.default.span`
|
|
2441
2475
|
margin: 0;
|
|
2442
2476
|
padding-left: 0;
|
|
2443
2477
|
padding-right: 0;
|
|
2444
2478
|
font-family: ${(props) => props.theme.fontFamily};
|
|
2445
2479
|
font-style: ${(props) => props.isItalicized && "italic"};
|
|
2446
2480
|
|
|
2447
|
-
${(props) => props.truncated &&
|
|
2481
|
+
${(props) => props.truncated && import_styled_components9.css`
|
|
2448
2482
|
display: block;
|
|
2449
2483
|
overflow: hidden;
|
|
2450
2484
|
white-space: nowrap;
|
|
2451
2485
|
text-overflow: ellipsis;
|
|
2452
2486
|
`}
|
|
2453
2487
|
|
|
2454
|
-
${(props) => props.breakWord &&
|
|
2488
|
+
${(props) => props.breakWord && import_styled_components9.css`
|
|
2455
2489
|
word-break: break-word;
|
|
2456
2490
|
hyphens: auto;
|
|
2457
2491
|
`}
|
|
@@ -2463,40 +2497,40 @@ var Container = import_styled_components8.default.span`
|
|
|
2463
2497
|
${import_seeds_react_system_props.TYPOGRAPHY}
|
|
2464
2498
|
`;
|
|
2465
2499
|
var styles_default = Container;
|
|
2466
|
-
var Headline = (0,
|
|
2500
|
+
var Headline = (0, import_styled_components8.default)(styles_default)`
|
|
2467
2501
|
color: ${(props) => props.theme.colors.text.headline};
|
|
2468
2502
|
font-weight: ${(props) => props.theme.fontWeights.bold};
|
|
2469
2503
|
${(props) => props.theme.typography[400]}
|
|
2470
2504
|
`;
|
|
2471
|
-
var SubHeadline = (0,
|
|
2505
|
+
var SubHeadline = (0, import_styled_components8.default)(styles_default)`
|
|
2472
2506
|
color: ${(props) => props.theme.colors.text.headline};
|
|
2473
2507
|
font-weight: ${(props) => props.theme.fontWeights.bold};
|
|
2474
2508
|
${(props) => props.theme.typography[300]}
|
|
2475
2509
|
`;
|
|
2476
|
-
var SmallSubHeadline = (0,
|
|
2510
|
+
var SmallSubHeadline = (0, import_styled_components8.default)(styles_default)`
|
|
2477
2511
|
color: ${(props) => props.theme.colors.text.headline};
|
|
2478
2512
|
font-weight: ${(props) => props.theme.fontWeights.bold};
|
|
2479
2513
|
${(props) => props.theme.typography[200]}
|
|
2480
2514
|
`;
|
|
2481
|
-
var Byline = (0,
|
|
2515
|
+
var Byline = (0, import_styled_components8.default)(styles_default)`
|
|
2482
2516
|
color: ${(props) => props.theme.colors.text.subtext};
|
|
2483
2517
|
${(props) => props.theme.typography[200]}
|
|
2484
2518
|
`;
|
|
2485
|
-
var SmallByline = (0,
|
|
2519
|
+
var SmallByline = (0, import_styled_components8.default)(styles_default)`
|
|
2486
2520
|
color: ${(props) => props.theme.colors.text.subtext};
|
|
2487
2521
|
${(props) => props.theme.typography[100]}
|
|
2488
2522
|
`;
|
|
2489
|
-
var BodyCopy = (0,
|
|
2523
|
+
var BodyCopy = (0, import_styled_components8.default)(styles_default)`
|
|
2490
2524
|
color: ${(props) => props.theme.colors.text.body};
|
|
2491
2525
|
${(props) => props.theme.typography[300]}
|
|
2492
2526
|
`;
|
|
2493
|
-
var SmallBodyCopy = (0,
|
|
2527
|
+
var SmallBodyCopy = (0, import_styled_components8.default)(styles_default)`
|
|
2494
2528
|
color: ${(props) => props.theme.colors.text.body};
|
|
2495
2529
|
${(props) => props.theme.typography[200]}
|
|
2496
2530
|
`;
|
|
2497
2531
|
var Text = ({ fontSize: fontSize2, children, qa, color: color2, ...rest }) => {
|
|
2498
2532
|
const qaText = typeof children === "string" ? children : void 0;
|
|
2499
|
-
return /* @__PURE__ */ (0,
|
|
2533
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2500
2534
|
styles_default,
|
|
2501
2535
|
{
|
|
2502
2536
|
typeScale: fontSize2,
|
|
@@ -2511,7 +2545,7 @@ var Text = ({ fontSize: fontSize2, children, qa, color: color2, ...rest }) => {
|
|
|
2511
2545
|
var withTextLogic = (Component) => {
|
|
2512
2546
|
return ({ children, ...props }) => {
|
|
2513
2547
|
const qaText = typeof children === "string" ? children : void 0;
|
|
2514
|
-
return /* @__PURE__ */ (0,
|
|
2548
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Component, { "data-qa-text": qaText, ...props, children });
|
|
2515
2549
|
};
|
|
2516
2550
|
};
|
|
2517
2551
|
var HeadlineWithLogic = withTextLogic(Headline);
|
|
@@ -2539,7 +2573,7 @@ var Text_default = Text;
|
|
|
2539
2573
|
var index_default = Text_default;
|
|
2540
2574
|
|
|
2541
2575
|
// src/MenuGroup/styles.tsx
|
|
2542
|
-
var StyledMenuGroup =
|
|
2576
|
+
var StyledMenuGroup = import_styled_components10.default.li`
|
|
2543
2577
|
&:not(:last-child) {
|
|
2544
2578
|
border-bottom: 1px solid
|
|
2545
2579
|
${({ theme: theme2 }) => theme2.colors.container.border.base};
|
|
@@ -2555,18 +2589,18 @@ var StyledMenuGroup = import_styled_components9.default.li`
|
|
|
2555
2589
|
${layout}
|
|
2556
2590
|
${space}
|
|
2557
2591
|
`;
|
|
2558
|
-
var StyledTitle = (0,
|
|
2592
|
+
var StyledTitle = (0, import_styled_components10.default)(index_default.SmallSubHeadline)`
|
|
2559
2593
|
font-size: ${({ theme: theme2 }) => theme2.typography[100].fontSize};
|
|
2560
2594
|
margin: ${({ theme: theme2 }) => theme2.space[400]} ${({ theme: theme2 }) => theme2.space[400]}
|
|
2561
2595
|
0px ${({ theme: theme2 }) => theme2.space[400]};
|
|
2562
2596
|
`;
|
|
2563
|
-
var StyledMenuGroupUl =
|
|
2597
|
+
var StyledMenuGroupUl = import_styled_components10.default.ul`
|
|
2564
2598
|
margin: 0;
|
|
2565
2599
|
padding: 0;
|
|
2566
2600
|
`;
|
|
2567
2601
|
|
|
2568
2602
|
// src/MenuGroup/MenuGroup.tsx
|
|
2569
|
-
var
|
|
2603
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
2570
2604
|
var MenuGroup = ({
|
|
2571
2605
|
titleAs = "h3",
|
|
2572
2606
|
children: childrenProp,
|
|
@@ -2583,7 +2617,7 @@ var MenuGroup = ({
|
|
|
2583
2617
|
if (!children) {
|
|
2584
2618
|
return null;
|
|
2585
2619
|
}
|
|
2586
|
-
return /* @__PURE__ */ (0,
|
|
2620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2587
2621
|
StyledMenuGroup,
|
|
2588
2622
|
{
|
|
2589
2623
|
role: "group",
|
|
@@ -2593,8 +2627,8 @@ var MenuGroup = ({
|
|
|
2593
2627
|
color: color2,
|
|
2594
2628
|
...rest,
|
|
2595
2629
|
children: [
|
|
2596
|
-
title && /* @__PURE__ */ (0,
|
|
2597
|
-
/* @__PURE__ */ (0,
|
|
2630
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(StyledTitle, { role: "heading", as: titleAs, id: titleId, children: title }),
|
|
2631
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(StyledMenuGroupUl, { children })
|
|
2598
2632
|
]
|
|
2599
2633
|
}
|
|
2600
2634
|
);
|
|
@@ -2603,7 +2637,7 @@ MenuGroup.__MENU_PRIMITIVE_TYPE = "MenuGroup";
|
|
|
2603
2637
|
|
|
2604
2638
|
// src/MenuRoot/MenuRoot.tsx
|
|
2605
2639
|
var import_react10 = __toESM(require("react"));
|
|
2606
|
-
var
|
|
2640
|
+
var import_styled_components11 = __toESM(require("styled-components"));
|
|
2607
2641
|
var import_seeds_react_popout = require("@sproutsocial/seeds-react-popout");
|
|
2608
2642
|
var import_seeds_react_utilities = require("@sproutsocial/seeds-react-utilities");
|
|
2609
2643
|
|
|
@@ -2611,8 +2645,8 @@ var import_seeds_react_utilities = require("@sproutsocial/seeds-react-utilities"
|
|
|
2611
2645
|
var MOTION_DURATION_FAST = 0.15;
|
|
2612
2646
|
|
|
2613
2647
|
// src/MenuRoot/MenuRoot.tsx
|
|
2614
|
-
var
|
|
2615
|
-
var CustomPopoutContent = (0,
|
|
2648
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
2649
|
+
var CustomPopoutContent = (0, import_styled_components11.default)(import_seeds_react_popout.Popout.Content)`
|
|
2616
2650
|
padding: 0;
|
|
2617
2651
|
margin-left: 0;
|
|
2618
2652
|
margin-right: 0;
|
|
@@ -2660,12 +2694,12 @@ var MenuPopout = ({
|
|
|
2660
2694
|
},
|
|
2661
2695
|
[openMenu, closeMenu]
|
|
2662
2696
|
);
|
|
2663
|
-
return /* @__PURE__ */ (0,
|
|
2697
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2664
2698
|
import_seeds_react_popout.Popout,
|
|
2665
2699
|
{
|
|
2666
2700
|
isOpen: !!isOpen,
|
|
2667
2701
|
setIsOpen,
|
|
2668
|
-
content: (props) => /* @__PURE__ */ (0,
|
|
2702
|
+
content: (props) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(CustomPopoutContent, { width: popoutProps.fullWidth ? "initial" : width2, children: typeof content === "function" ? content(props) : content }),
|
|
2669
2703
|
focusLockProps: {
|
|
2670
2704
|
// correct jerking motion when scrolling while the Popout is open
|
|
2671
2705
|
// returnFocus: false,
|
|
@@ -2690,9 +2724,8 @@ var MenuRoot = ({
|
|
|
2690
2724
|
openMenu,
|
|
2691
2725
|
closeMenu,
|
|
2692
2726
|
inputValue,
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
getMenuProps
|
|
2727
|
+
getMenuProps,
|
|
2728
|
+
autoCloseOnEmpty = false
|
|
2696
2729
|
} = contextProps;
|
|
2697
2730
|
const toggleElementRef = import_react10.default.useRef(null);
|
|
2698
2731
|
const [finalWidth, setFinalWidth] = import_react10.default.useState();
|
|
@@ -2707,25 +2740,25 @@ var MenuRoot = ({
|
|
|
2707
2740
|
setFinalWidth(min_width);
|
|
2708
2741
|
}
|
|
2709
2742
|
}, [width2, toggleElementRef.current?.offsetWidth]);
|
|
2743
|
+
const menuContext = useMenu(contextProps);
|
|
2744
|
+
getMenuProps?.({}, { suppressRefError: true });
|
|
2710
2745
|
(0, import_react10.useEffect)(() => {
|
|
2711
|
-
if (!inputValue) return;
|
|
2712
|
-
if (
|
|
2746
|
+
if (!inputValue || !autoCloseOnEmpty) return;
|
|
2747
|
+
if (!menuContext.hasVisibleItems && isOpen) {
|
|
2713
2748
|
closeMenu?.();
|
|
2714
2749
|
}
|
|
2715
|
-
}, [
|
|
2716
|
-
|
|
2717
|
-
getMenuProps?.({}, { suppressRefError: true });
|
|
2718
|
-
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2750
|
+
}, [menuContext.hasVisibleItems, isOpen, inputValue, autoCloseOnEmpty]);
|
|
2751
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2719
2752
|
MenuPopout,
|
|
2720
2753
|
{
|
|
2721
2754
|
placement,
|
|
2722
2755
|
isOpen: !!isOpen,
|
|
2723
2756
|
openMenu,
|
|
2724
2757
|
closeMenu,
|
|
2725
|
-
content: /* @__PURE__ */ (0,
|
|
2758
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MenuContentProvider, { menuContext, children }),
|
|
2726
2759
|
width: finalWidth,
|
|
2727
2760
|
...popoutProps,
|
|
2728
|
-
children: (toggleProps) => /* @__PURE__ */ (0,
|
|
2761
|
+
children: (toggleProps) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2729
2762
|
MenuToggleProvider,
|
|
2730
2763
|
{
|
|
2731
2764
|
menuContext: {
|
|
@@ -2746,7 +2779,7 @@ var MenuRoot = ({
|
|
|
2746
2779
|
// src/MenuLabel.tsx
|
|
2747
2780
|
var import_react11 = require("react");
|
|
2748
2781
|
var import_seeds_react_label = require("@sproutsocial/seeds-react-label");
|
|
2749
|
-
var
|
|
2782
|
+
var import_jsx_runtime12 = (
|
|
2750
2783
|
// This fallback id should never be used, but it is here to satisfy TypeScript since getLabelProps could be undefined.
|
|
2751
2784
|
require("react/jsx-runtime")
|
|
2752
2785
|
);
|
|
@@ -2756,7 +2789,7 @@ var MenuLabel = ({
|
|
|
2756
2789
|
...rest
|
|
2757
2790
|
}) => {
|
|
2758
2791
|
const { getLabelProps } = useMenuToggleContext();
|
|
2759
|
-
return /* @__PURE__ */ (0,
|
|
2792
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2760
2793
|
import_seeds_react_label.Label,
|
|
2761
2794
|
{
|
|
2762
2795
|
htmlFor: "fallback_menu_label",
|
|
@@ -2770,10 +2803,10 @@ var MenuLabel = ({
|
|
|
2770
2803
|
|
|
2771
2804
|
// src/MenuToggleButton/MenuToggleButton.tsx
|
|
2772
2805
|
var import_seeds_react_button = require("@sproutsocial/seeds-react-button");
|
|
2773
|
-
var
|
|
2806
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
2774
2807
|
var MenuToggleButton = (props) => {
|
|
2775
2808
|
const { getToggleButtonProps, isListbox, getDropdownProps, ref, ariaProps } = useMenuToggleContext();
|
|
2776
|
-
return /* @__PURE__ */ (0,
|
|
2809
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2777
2810
|
import_seeds_react_button.Button,
|
|
2778
2811
|
{
|
|
2779
2812
|
appearance: "secondary",
|
|
@@ -2833,7 +2866,7 @@ var useItemFiltering = ({
|
|
|
2833
2866
|
};
|
|
2834
2867
|
|
|
2835
2868
|
// src/MenuSearchInput/MenuSearchInput.tsx
|
|
2836
|
-
var
|
|
2869
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
2837
2870
|
var MenuSearchInput = ({
|
|
2838
2871
|
getIsItemVisible,
|
|
2839
2872
|
inputProps,
|
|
@@ -2863,7 +2896,7 @@ var MenuSearchInput = ({
|
|
|
2863
2896
|
},
|
|
2864
2897
|
[toggleButtonProps.onKeyDown]
|
|
2865
2898
|
);
|
|
2866
|
-
return /* @__PURE__ */ (0,
|
|
2899
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2867
2900
|
import_seeds_react_input.Input,
|
|
2868
2901
|
{
|
|
2869
2902
|
onChange: (e, value) => {
|
|
@@ -2884,10 +2917,10 @@ var MenuSearchInput = ({
|
|
|
2884
2917
|
|
|
2885
2918
|
// src/MenuTokenInput.tsx
|
|
2886
2919
|
var import_react14 = __toESM(require("react"));
|
|
2887
|
-
var
|
|
2920
|
+
var import_styled_components12 = __toESM(require("styled-components"));
|
|
2888
2921
|
var import_seeds_react_token_input = require("@sproutsocial/seeds-react-token-input");
|
|
2889
|
-
var
|
|
2890
|
-
var StyledTokenInputWrapper =
|
|
2922
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
2923
|
+
var StyledTokenInputWrapper = import_styled_components12.default.div`
|
|
2891
2924
|
> div {
|
|
2892
2925
|
padding: 4px;
|
|
2893
2926
|
}
|
|
@@ -2921,7 +2954,7 @@ var MenuTokenInput = ({
|
|
|
2921
2954
|
const tokenToRemove = selectedItems?.find((item) => item.id === tokenId);
|
|
2922
2955
|
tokenToRemove && removeSelectedItem?.(tokenToRemove);
|
|
2923
2956
|
};
|
|
2924
|
-
return /* @__PURE__ */ (0,
|
|
2957
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StyledTokenInputWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2925
2958
|
import_seeds_react_token_input.TokenInput,
|
|
2926
2959
|
{
|
|
2927
2960
|
onKeyDown: (e, value) => {
|
|
@@ -2971,7 +3004,7 @@ var MenuTokenInput = ({
|
|
|
2971
3004
|
|
|
2972
3005
|
// src/MenuSearchTokenInput/MenuSearchTokenInput.tsx
|
|
2973
3006
|
var import_react15 = __toESM(require("react"));
|
|
2974
|
-
var
|
|
3007
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
2975
3008
|
var MenuSearchTokenInput = ({
|
|
2976
3009
|
getIsItemVisible,
|
|
2977
3010
|
getTokenProps,
|
|
@@ -3019,7 +3052,7 @@ var MenuSearchTokenInput = ({
|
|
|
3019
3052
|
},
|
|
3020
3053
|
[toggleButtonProps.onKeyDown]
|
|
3021
3054
|
);
|
|
3022
|
-
return /* @__PURE__ */ (0,
|
|
3055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3023
3056
|
MenuTokenInput,
|
|
3024
3057
|
{
|
|
3025
3058
|
onChange: (e, value2) => {
|
|
@@ -3044,7 +3077,7 @@ var import_react16 = __toESM(require("react"));
|
|
|
3044
3077
|
var import_seeds_react_icon2 = require("@sproutsocial/seeds-react-icon");
|
|
3045
3078
|
var import_seeds_react_box3 = require("@sproutsocial/seeds-react-box");
|
|
3046
3079
|
var import_seeds_react_utilities2 = require("@sproutsocial/seeds-react-utilities");
|
|
3047
|
-
var
|
|
3080
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
3048
3081
|
var SubmenuItemTrigger = ({
|
|
3049
3082
|
id,
|
|
3050
3083
|
children,
|
|
@@ -3053,7 +3086,7 @@ var SubmenuItemTrigger = ({
|
|
|
3053
3086
|
}) => {
|
|
3054
3087
|
const { getToggleButtonProps, getDropdownProps, ref, ariaProps } = useMenuToggleContext();
|
|
3055
3088
|
const toggleRef = ref && innerRef ? (0, import_seeds_react_utilities2.mergeRefs)([ref, innerRef].filter(Boolean)) : ref || innerRef;
|
|
3056
|
-
return /* @__PURE__ */ (0,
|
|
3089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3057
3090
|
MenuItem,
|
|
3058
3091
|
{
|
|
3059
3092
|
...rest,
|
|
@@ -3070,9 +3103,9 @@ var SubmenuItemTrigger = ({
|
|
|
3070
3103
|
{ suppressRefError: true }
|
|
3071
3104
|
),
|
|
3072
3105
|
id,
|
|
3073
|
-
children: /* @__PURE__ */ (0,
|
|
3106
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_seeds_react_box3.Box, { display: "flex", justifyContent: "space-between", children: [
|
|
3074
3107
|
children,
|
|
3075
|
-
/* @__PURE__ */ (0,
|
|
3108
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MenuItemActionRight, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_seeds_react_icon2.Icon, { name: "chevron-right-outline" }) })
|
|
3076
3109
|
] })
|
|
3077
3110
|
}
|
|
3078
3111
|
);
|
|
@@ -3182,7 +3215,7 @@ var SubmenuItem = ({
|
|
|
3182
3215
|
};
|
|
3183
3216
|
}
|
|
3184
3217
|
}, [document, onSubmenuKeydown]);
|
|
3185
|
-
const subMenuContent = /* @__PURE__ */ (0,
|
|
3218
|
+
const subMenuContent = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3186
3219
|
"div",
|
|
3187
3220
|
{
|
|
3188
3221
|
ref: submenuRef,
|
|
@@ -3193,13 +3226,13 @@ var SubmenuItem = ({
|
|
|
3193
3226
|
children: menuContent
|
|
3194
3227
|
}
|
|
3195
3228
|
);
|
|
3196
|
-
return /* @__PURE__ */ (0,
|
|
3229
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3197
3230
|
MenuComponent,
|
|
3198
3231
|
{
|
|
3199
3232
|
...{
|
|
3200
3233
|
...menuProps,
|
|
3201
3234
|
children: subMenuContent,
|
|
3202
|
-
menuToggleElement: /* @__PURE__ */ (0,
|
|
3235
|
+
menuToggleElement: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3203
3236
|
SubmenuItemTrigger,
|
|
3204
3237
|
{
|
|
3205
3238
|
innerRef: submenuItemRef,
|
|
@@ -3231,28 +3264,28 @@ var SubmenuItem = ({
|
|
|
3231
3264
|
SubmenuItem.__MENU_PRIMITIVE_TYPE = "MenuItem";
|
|
3232
3265
|
|
|
3233
3266
|
// src/ListboxToggleButton.tsx
|
|
3234
|
-
var
|
|
3267
|
+
var import_styled_components13 = __toESM(require("styled-components"));
|
|
3235
3268
|
var import_seeds_react_icon3 = require("@sproutsocial/seeds-react-icon");
|
|
3236
|
-
var
|
|
3237
|
-
var StyledListboxToggleButton = (0,
|
|
3269
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
3270
|
+
var StyledListboxToggleButton = (0, import_styled_components13.default)(
|
|
3238
3271
|
MenuToggleButton
|
|
3239
3272
|
)`
|
|
3240
|
-
${(props) => props.invalid &&
|
|
3273
|
+
${(props) => props.invalid && import_styled_components13.css`
|
|
3241
3274
|
border-color: ${(props2) => props2.theme.colors.form.border.error};
|
|
3242
3275
|
`}
|
|
3243
3276
|
`;
|
|
3244
|
-
var StyledChevron =
|
|
3277
|
+
var StyledChevron = import_styled_components13.default.div`
|
|
3245
3278
|
margin-left: ${({ theme: theme2 }) => theme2.space[300]};
|
|
3246
3279
|
${({ $isOpen }) => $isOpen && `
|
|
3247
3280
|
transform: rotate(-180deg);
|
|
3248
3281
|
`}
|
|
3249
3282
|
transition: transform 0.15s;
|
|
3250
3283
|
|
|
3251
|
-
${({ invalid }) => invalid &&
|
|
3284
|
+
${({ invalid }) => invalid && import_styled_components13.css`
|
|
3252
3285
|
color: ${(props) => props.theme.colors.icon.error};
|
|
3253
3286
|
`}
|
|
3254
3287
|
`;
|
|
3255
|
-
var StyledInnerButton =
|
|
3288
|
+
var StyledInnerButton = import_styled_components13.default.div`
|
|
3256
3289
|
display: flex;
|
|
3257
3290
|
justify-content: space-between;
|
|
3258
3291
|
`;
|
|
@@ -3261,9 +3294,9 @@ var ListboxToggleButton = ({
|
|
|
3261
3294
|
...buttonProps
|
|
3262
3295
|
}) => {
|
|
3263
3296
|
const { isOpen } = useMenuToggleContext();
|
|
3264
|
-
return /* @__PURE__ */ (0,
|
|
3297
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(StyledListboxToggleButton, { appearance: "secondary", ...buttonProps, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(StyledInnerButton, { children: [
|
|
3265
3298
|
children,
|
|
3266
|
-
/* @__PURE__ */ (0,
|
|
3299
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(StyledChevron, { $isOpen: isOpen, invalid: buttonProps.invalid, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_seeds_react_icon3.Icon, { name: "chevron-down-outline", fixedWidth: true, "aria-hidden": true }) })
|
|
3267
3300
|
] }) });
|
|
3268
3301
|
};
|
|
3269
3302
|
|
|
@@ -3432,7 +3465,7 @@ var useDownshiftDefaults = ({
|
|
|
3432
3465
|
};
|
|
3433
3466
|
|
|
3434
3467
|
// src/ActionMenu/ActionMenu.tsx
|
|
3435
|
-
var
|
|
3468
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
3436
3469
|
var handleStateChange = (changes, currentSelectedItem) => {
|
|
3437
3470
|
if (!(changes.type === import_downshift3.useSelect.stateChangeTypes.ToggleButtonKeyDownEnter || changes.type === import_downshift3.useSelect.stateChangeTypes.ToggleButtonKeyDownSpaceButton)) {
|
|
3438
3471
|
return;
|
|
@@ -3495,7 +3528,7 @@ var ActionMenu = ({
|
|
|
3495
3528
|
(0, import_react18.useEffect)(() => {
|
|
3496
3529
|
setCurrentSelectedItem(useSelectReturnProps.selectedItem);
|
|
3497
3530
|
}, [useSelectReturnProps.selectedItem]);
|
|
3498
|
-
return /* @__PURE__ */ (0,
|
|
3531
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3499
3532
|
MenuRootComponent,
|
|
3500
3533
|
{
|
|
3501
3534
|
...{
|
|
@@ -3516,7 +3549,7 @@ var ActionMenu = ({
|
|
|
3516
3549
|
// src/SingleSelectMenu/SingleSelectMenu.tsx
|
|
3517
3550
|
var import_react19 = require("react");
|
|
3518
3551
|
var import_downshift4 = require("downshift");
|
|
3519
|
-
var
|
|
3552
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
3520
3553
|
var SingleSelectMenu = ({
|
|
3521
3554
|
children: childrenProp,
|
|
3522
3555
|
stateReducer: externalStateReducer,
|
|
@@ -3543,7 +3576,7 @@ var SingleSelectMenu = ({
|
|
|
3543
3576
|
),
|
|
3544
3577
|
...useSelectProps
|
|
3545
3578
|
});
|
|
3546
|
-
return /* @__PURE__ */ (0,
|
|
3579
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3547
3580
|
MenuRootComponent,
|
|
3548
3581
|
{
|
|
3549
3582
|
...{
|
|
@@ -3564,7 +3597,7 @@ var SingleSelectMenu = ({
|
|
|
3564
3597
|
// src/MultiSelectMenu/MultiSelectMenu.tsx
|
|
3565
3598
|
var import_react20 = require("react");
|
|
3566
3599
|
var import_downshift5 = require("downshift");
|
|
3567
|
-
var
|
|
3600
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
3568
3601
|
var MultiSelectMenu = ({
|
|
3569
3602
|
children: childrenProp,
|
|
3570
3603
|
menuItems,
|
|
@@ -3637,7 +3670,7 @@ var MultiSelectMenu = ({
|
|
|
3637
3670
|
},
|
|
3638
3671
|
...useSelectProps
|
|
3639
3672
|
});
|
|
3640
|
-
return /* @__PURE__ */ (0,
|
|
3673
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3641
3674
|
MenuRootComponent,
|
|
3642
3675
|
{
|
|
3643
3676
|
...{
|
|
@@ -3665,11 +3698,12 @@ var MultiSelectMenu = ({
|
|
|
3665
3698
|
};
|
|
3666
3699
|
|
|
3667
3700
|
// src/Autocomplete/Autocomplete.tsx
|
|
3668
|
-
var
|
|
3701
|
+
var import_react23 = require("react");
|
|
3669
3702
|
|
|
3670
3703
|
// src/Autocomplete/SingleAutocomplete.tsx
|
|
3704
|
+
var import_react21 = require("react");
|
|
3671
3705
|
var import_downshift6 = require("downshift");
|
|
3672
|
-
var
|
|
3706
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
3673
3707
|
var SingleAutocomplete = ({
|
|
3674
3708
|
children: childrenProp,
|
|
3675
3709
|
stateReducer: externalStateReducer,
|
|
@@ -3685,14 +3719,15 @@ var SingleAutocomplete = ({
|
|
|
3685
3719
|
menuItems,
|
|
3686
3720
|
MenuItemComponent
|
|
3687
3721
|
});
|
|
3688
|
-
const
|
|
3722
|
+
const downshiftDefaults = useDownshiftDefaults({ isCombobox: true });
|
|
3723
|
+
const { setHiddenItemsMap, defaultDownshiftProps, hiddenItemsCount } = downshiftDefaults;
|
|
3689
3724
|
const { updateFilteredItems } = useItemFiltering({
|
|
3690
3725
|
allMenuItems,
|
|
3691
3726
|
itemToString: itemToString2,
|
|
3692
3727
|
getIsItemVisible,
|
|
3693
3728
|
setHiddenItemsMap
|
|
3694
3729
|
});
|
|
3695
|
-
const
|
|
3730
|
+
const useComboboxReturnProps = (0, import_downshift6.useCombobox)({
|
|
3696
3731
|
...defaultDownshiftProps.combobox,
|
|
3697
3732
|
items: allMenuItems,
|
|
3698
3733
|
itemToString: itemToString2,
|
|
@@ -3703,31 +3738,33 @@ var SingleAutocomplete = ({
|
|
|
3703
3738
|
),
|
|
3704
3739
|
...useComboboxProps
|
|
3705
3740
|
});
|
|
3706
|
-
|
|
3741
|
+
const { isOpen, closeMenu, inputValue } = useComboboxReturnProps;
|
|
3742
|
+
const { popoutProps: userPopoutProps } = useComboboxProps;
|
|
3743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
3707
3744
|
MenuRootComponent,
|
|
3708
3745
|
{
|
|
3709
3746
|
...{
|
|
3710
3747
|
isListbox: true,
|
|
3711
3748
|
items: allMenuItems,
|
|
3712
3749
|
itemToString: itemToString2,
|
|
3713
|
-
isOpen,
|
|
3714
|
-
setHiddenItemsMap,
|
|
3715
3750
|
...useComboboxProps,
|
|
3716
3751
|
...useComboboxReturnProps,
|
|
3717
|
-
...
|
|
3752
|
+
...downshiftDefaults
|
|
3718
3753
|
},
|
|
3719
3754
|
popoutProps: {
|
|
3720
|
-
focusOnContent: false
|
|
3755
|
+
focusOnContent: false,
|
|
3756
|
+
...userPopoutProps
|
|
3721
3757
|
},
|
|
3758
|
+
autoCloseOnEmpty: true,
|
|
3722
3759
|
children
|
|
3723
3760
|
}
|
|
3724
3761
|
);
|
|
3725
3762
|
};
|
|
3726
3763
|
|
|
3727
3764
|
// src/Autocomplete/MultiAutocomplete.tsx
|
|
3728
|
-
var
|
|
3765
|
+
var import_react22 = __toESM(require("react"));
|
|
3729
3766
|
var import_downshift7 = require("downshift");
|
|
3730
|
-
var
|
|
3767
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
3731
3768
|
var MultiAutocomplete = ({
|
|
3732
3769
|
children: childrenProp,
|
|
3733
3770
|
stateReducer: externalStateReducer,
|
|
@@ -3751,21 +3788,21 @@ var MultiAutocomplete = ({
|
|
|
3751
3788
|
menuItems,
|
|
3752
3789
|
MenuItemComponent
|
|
3753
3790
|
});
|
|
3754
|
-
const [selectedItems, setSelectedItems] =
|
|
3755
|
-
const [selectedItemIds, setSelectedItemIds] =
|
|
3756
|
-
const getIsItemVisibleMulti =
|
|
3757
|
-
(item,
|
|
3758
|
-
return (showSelectedItemsInDropdown || !selectedItemIds[item.id]) && getIsItemVisible(item,
|
|
3791
|
+
const [selectedItems, setSelectedItems] = import_react22.default.useState(initialSelectedItems);
|
|
3792
|
+
const [selectedItemIds, setSelectedItemIds] = import_react22.default.useState(getSelectedItemIds(initialSelectedItems));
|
|
3793
|
+
const getIsItemVisibleMulti = import_react22.default.useCallback(
|
|
3794
|
+
(item, inputValue2) => {
|
|
3795
|
+
return (showSelectedItemsInDropdown || !selectedItemIds[item.id]) && getIsItemVisible(item, inputValue2);
|
|
3759
3796
|
},
|
|
3760
3797
|
[selectedItemIds, showSelectedItemsInDropdown, getIsItemVisible]
|
|
3761
3798
|
);
|
|
3762
|
-
const getShouldFilterMulti =
|
|
3799
|
+
const getShouldFilterMulti = import_react22.default.useCallback(
|
|
3763
3800
|
(args) => {
|
|
3764
3801
|
return !showSelectedItemsInDropdown && Object.keys(selectedItemIds).length > 0 || defaultGetShouldFilter(args);
|
|
3765
3802
|
},
|
|
3766
3803
|
[selectedItemIds, showSelectedItemsInDropdown, getIsItemVisible]
|
|
3767
3804
|
);
|
|
3768
|
-
const
|
|
3805
|
+
const downshiftDefaults = useDownshiftDefaults({
|
|
3769
3806
|
isCombobox: true,
|
|
3770
3807
|
isMulti: true,
|
|
3771
3808
|
// handles the prop name mapping for multi select
|
|
@@ -3776,6 +3813,7 @@ var MultiAutocomplete = ({
|
|
|
3776
3813
|
...useComboboxProps
|
|
3777
3814
|
}
|
|
3778
3815
|
});
|
|
3816
|
+
const { setHiddenItemsMap, defaultDownshiftProps, hiddenItemsCount } = downshiftDefaults;
|
|
3779
3817
|
const { updateFilteredItems } = useItemFiltering({
|
|
3780
3818
|
allMenuItems,
|
|
3781
3819
|
itemToString: itemToString2,
|
|
@@ -3783,7 +3821,7 @@ var MultiAutocomplete = ({
|
|
|
3783
3821
|
getShouldFilter: getShouldFilterMulti,
|
|
3784
3822
|
setHiddenItemsMap
|
|
3785
3823
|
});
|
|
3786
|
-
|
|
3824
|
+
import_react22.default.useEffect(() => {
|
|
3787
3825
|
updateFilteredItems({ inputValue: "" });
|
|
3788
3826
|
}, [selectedItemIds]);
|
|
3789
3827
|
const useMultipleSelectionReturnProps = (0, import_downshift7.useMultipleSelection)({
|
|
@@ -3796,7 +3834,7 @@ var MultiAutocomplete = ({
|
|
|
3796
3834
|
onSelectedItemsChange && onSelectedItemsChange({ selectedItems: selectedItems2, ...changes });
|
|
3797
3835
|
}
|
|
3798
3836
|
});
|
|
3799
|
-
const
|
|
3837
|
+
const useComboboxReturnProps = (0, import_downshift7.useCombobox)({
|
|
3800
3838
|
...defaultDownshiftProps.combobox,
|
|
3801
3839
|
items: allMenuItems,
|
|
3802
3840
|
itemToString: itemToString2,
|
|
@@ -3806,7 +3844,7 @@ var MultiAutocomplete = ({
|
|
|
3806
3844
|
externalStateReducer
|
|
3807
3845
|
),
|
|
3808
3846
|
onStateChange(changes) {
|
|
3809
|
-
const { type, selectedItem: newSelectedItem, inputValue } = changes;
|
|
3847
|
+
const { type, selectedItem: newSelectedItem, inputValue: inputValue2 } = changes;
|
|
3810
3848
|
switch (type) {
|
|
3811
3849
|
// Add the selected item to the selected items list
|
|
3812
3850
|
case import_downshift7.useCombobox.stateChangeTypes.InputKeyDownEnter:
|
|
@@ -3827,55 +3865,63 @@ var MultiAutocomplete = ({
|
|
|
3827
3865
|
default:
|
|
3828
3866
|
break;
|
|
3829
3867
|
}
|
|
3830
|
-
if (
|
|
3868
|
+
if (inputValue2 !== void 0) updateFilteredItems({ inputValue: inputValue2 });
|
|
3831
3869
|
onStateChange && onStateChange(changes);
|
|
3832
3870
|
},
|
|
3833
3871
|
...useComboboxProps
|
|
3834
3872
|
});
|
|
3835
|
-
|
|
3873
|
+
const { isOpen, closeMenu, inputValue } = useComboboxReturnProps;
|
|
3874
|
+
const { popoutProps: userPopoutProps } = useComboboxProps;
|
|
3875
|
+
import_react22.default.useEffect(() => {
|
|
3876
|
+
if (!inputValue) return;
|
|
3877
|
+
if (allMenuItems && hiddenItemsCount >= allMenuItems.length && isOpen) {
|
|
3878
|
+
closeMenu?.();
|
|
3879
|
+
}
|
|
3880
|
+
}, [hiddenItemsCount, allMenuItems?.length, isOpen, inputValue]);
|
|
3881
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
3836
3882
|
MenuRootComponent,
|
|
3837
3883
|
{
|
|
3838
3884
|
...{
|
|
3839
3885
|
isListbox: true,
|
|
3840
3886
|
items: allMenuItems,
|
|
3841
3887
|
itemToString: itemToString2,
|
|
3842
|
-
isOpen,
|
|
3843
3888
|
initialSelectedItems,
|
|
3844
3889
|
onStateChange,
|
|
3845
3890
|
onSelectedItemsChange,
|
|
3846
3891
|
getA11yMultiStatusMessage,
|
|
3847
3892
|
onMultiSelectStateChange,
|
|
3848
3893
|
multiSelectStateReducer,
|
|
3849
|
-
setHiddenItemsMap,
|
|
3850
3894
|
...useComboboxProps,
|
|
3851
3895
|
...useComboboxReturnProps,
|
|
3852
3896
|
...useMultipleSelectionReturnProps,
|
|
3853
|
-
...
|
|
3897
|
+
...downshiftDefaults
|
|
3854
3898
|
},
|
|
3855
3899
|
popoutProps: {
|
|
3856
|
-
focusOnContent: false
|
|
3900
|
+
focusOnContent: false,
|
|
3901
|
+
...userPopoutProps
|
|
3857
3902
|
},
|
|
3903
|
+
autoCloseOnEmpty: true,
|
|
3858
3904
|
children
|
|
3859
3905
|
}
|
|
3860
3906
|
);
|
|
3861
3907
|
};
|
|
3862
3908
|
|
|
3863
3909
|
// src/Autocomplete/Autocomplete.tsx
|
|
3864
|
-
var
|
|
3910
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
3865
3911
|
var Autocomplete = ({
|
|
3866
3912
|
multiSelect = false,
|
|
3867
3913
|
...rest
|
|
3868
3914
|
}) => {
|
|
3869
3915
|
if (multiSelect) {
|
|
3870
|
-
return /* @__PURE__ */ (0,
|
|
3916
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(MultiAutocomplete, { ...rest });
|
|
3871
3917
|
}
|
|
3872
|
-
return /* @__PURE__ */ (0,
|
|
3918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(SingleAutocomplete, { ...rest });
|
|
3873
3919
|
};
|
|
3874
3920
|
|
|
3875
3921
|
// src/Autocomplete/AutocompleteInput.tsx
|
|
3876
|
-
var
|
|
3922
|
+
var import_react24 = require("react");
|
|
3877
3923
|
var import_seeds_react_input2 = require("@sproutsocial/seeds-react-input");
|
|
3878
|
-
var
|
|
3924
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
3879
3925
|
var AutocompleteInput = ({
|
|
3880
3926
|
onKeyDown,
|
|
3881
3927
|
onChange,
|
|
@@ -3886,7 +3932,7 @@ var AutocompleteInput = ({
|
|
|
3886
3932
|
...rest
|
|
3887
3933
|
}) => {
|
|
3888
3934
|
const { getInputComponentProps, inputValue, ref, ariaProps } = useMenuToggleContext();
|
|
3889
|
-
return /* @__PURE__ */ (0,
|
|
3935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
3890
3936
|
import_seeds_react_input2.Input,
|
|
3891
3937
|
{
|
|
3892
3938
|
id: "autocomplete_input",
|
|
@@ -3911,8 +3957,8 @@ var AutocompleteInput = ({
|
|
|
3911
3957
|
};
|
|
3912
3958
|
|
|
3913
3959
|
// src/Autocomplete/AutocompleteTokenInput.tsx
|
|
3914
|
-
var
|
|
3915
|
-
var
|
|
3960
|
+
var import_react25 = require("react");
|
|
3961
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
3916
3962
|
var AutocompleteTokenInput = ({
|
|
3917
3963
|
onKeyDown,
|
|
3918
3964
|
onChange,
|
|
@@ -3931,7 +3977,7 @@ var AutocompleteTokenInput = ({
|
|
|
3931
3977
|
ref,
|
|
3932
3978
|
ariaProps
|
|
3933
3979
|
} = useMenuToggleContext();
|
|
3934
|
-
return /* @__PURE__ */ (0,
|
|
3980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
3935
3981
|
MenuTokenInput,
|
|
3936
3982
|
{
|
|
3937
3983
|
id: "autocomplete_input",
|
|
@@ -3955,28 +4001,28 @@ var AutocompleteTokenInput = ({
|
|
|
3955
4001
|
|
|
3956
4002
|
// src/Autocomplete/AutocompleteSelect.tsx
|
|
3957
4003
|
var import_seeds_react_icon4 = __toESM(require("@sproutsocial/seeds-react-icon"));
|
|
3958
|
-
var
|
|
3959
|
-
var
|
|
4004
|
+
var import_react26 = require("react");
|
|
4005
|
+
var import_styled_components14 = __toESM(require("styled-components"));
|
|
3960
4006
|
var import_seeds_react_input3 = require("@sproutsocial/seeds-react-input");
|
|
3961
|
-
var
|
|
3962
|
-
var StyledAutocompleteInput = (0,
|
|
4007
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
4008
|
+
var StyledAutocompleteInput = (0, import_styled_components14.default)(AutocompleteInput)`
|
|
3963
4009
|
${import_seeds_react_input3.Accessory} {
|
|
3964
4010
|
pointer-events: none;
|
|
3965
4011
|
}
|
|
3966
4012
|
`;
|
|
3967
4013
|
var AutocompleteSelect = (props) => {
|
|
3968
|
-
return /* @__PURE__ */ (0,
|
|
4014
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
3969
4015
|
StyledAutocompleteInput,
|
|
3970
4016
|
{
|
|
3971
|
-
elemAfter: /* @__PURE__ */ (0,
|
|
4017
|
+
elemAfter: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_seeds_react_icon4.default, { name: "chevron-down" }),
|
|
3972
4018
|
...props
|
|
3973
4019
|
}
|
|
3974
4020
|
);
|
|
3975
4021
|
};
|
|
3976
4022
|
|
|
3977
4023
|
// src/NestedMenu/NestedMenu.tsx
|
|
3978
|
-
var
|
|
3979
|
-
var
|
|
4024
|
+
var import_react32 = require("react");
|
|
4025
|
+
var import_react33 = require("motion/react");
|
|
3980
4026
|
var import_downshift9 = require("downshift");
|
|
3981
4027
|
|
|
3982
4028
|
// src/reducers/nestedMenuStateReducer.tsx
|
|
@@ -4004,8 +4050,8 @@ var nestedMenuStateReducer = (_state, actionAndChanges) => {
|
|
|
4004
4050
|
};
|
|
4005
4051
|
|
|
4006
4052
|
// src/NestedMenu/NestedMenuContext.tsx
|
|
4007
|
-
var
|
|
4008
|
-
var
|
|
4053
|
+
var import_react27 = require("react");
|
|
4054
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
4009
4055
|
var defaultNestedMenuContext = {
|
|
4010
4056
|
selectedMenuPath: [],
|
|
4011
4057
|
setSelectedMenuId: () => {
|
|
@@ -4022,17 +4068,17 @@ var defaultNestedMenuContext = {
|
|
|
4022
4068
|
},
|
|
4023
4069
|
animationSpeed: MOTION_DURATION_FAST
|
|
4024
4070
|
};
|
|
4025
|
-
var NestedMenuContext = (0,
|
|
4071
|
+
var NestedMenuContext = (0, import_react27.createContext)(
|
|
4026
4072
|
defaultNestedMenuContext
|
|
4027
4073
|
);
|
|
4028
4074
|
var NestedMenuProvider = ({
|
|
4029
4075
|
children,
|
|
4030
4076
|
...nestedMenuProps
|
|
4031
4077
|
}) => {
|
|
4032
|
-
return /* @__PURE__ */ (0,
|
|
4078
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(NestedMenuContext.Provider, { value: nestedMenuProps, children });
|
|
4033
4079
|
};
|
|
4034
4080
|
var useNestedMenuContext = () => {
|
|
4035
|
-
const nestedMenuContextValue = (0,
|
|
4081
|
+
const nestedMenuContextValue = (0, import_react27.useContext)(NestedMenuContext);
|
|
4036
4082
|
if (nestedMenuContextValue === null) {
|
|
4037
4083
|
throw new Error(
|
|
4038
4084
|
"useNestedMenuContext must be used within a <NestedMenuContext.Provider />"
|
|
@@ -4042,13 +4088,13 @@ var useNestedMenuContext = () => {
|
|
|
4042
4088
|
};
|
|
4043
4089
|
|
|
4044
4090
|
// src/NestedMenu/NestedMenuContent.tsx
|
|
4045
|
-
var
|
|
4091
|
+
var import_react28 = require("react");
|
|
4046
4092
|
var import_seeds_react_utilities3 = require("@sproutsocial/seeds-react-utilities");
|
|
4047
4093
|
|
|
4048
4094
|
// src/NestedMenu/NestedMenuItem.tsx
|
|
4049
4095
|
var import_seeds_react_icon5 = require("@sproutsocial/seeds-react-icon");
|
|
4050
4096
|
var import_seeds_react_box4 = require("@sproutsocial/seeds-react-box");
|
|
4051
|
-
var
|
|
4097
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
4052
4098
|
var NestedMenuItem = ({
|
|
4053
4099
|
children,
|
|
4054
4100
|
childMenuId,
|
|
@@ -4064,15 +4110,15 @@ var NestedMenuItem = ({
|
|
|
4064
4110
|
}
|
|
4065
4111
|
}
|
|
4066
4112
|
} : {};
|
|
4067
|
-
return /* @__PURE__ */ (0,
|
|
4113
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenuItem, { ...onClickProps, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_seeds_react_box4.Box, { display: "flex", justifyContent: "space-between", children: [
|
|
4068
4114
|
children,
|
|
4069
|
-
childMenuId && /* @__PURE__ */ (0,
|
|
4115
|
+
childMenuId && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenuItemActionRight, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_seeds_react_icon5.Icon, { name: "arrow-right-outline" }) })
|
|
4070
4116
|
] }) });
|
|
4071
4117
|
};
|
|
4072
4118
|
NestedMenuItem.__MENU_PRIMITIVE_TYPE = "MenuItem";
|
|
4073
4119
|
|
|
4074
4120
|
// src/NestedMenu/NestedMenuContent.tsx
|
|
4075
|
-
var
|
|
4121
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
4076
4122
|
var NestedMenuContent = ({
|
|
4077
4123
|
innerRef: innerRefProp = null,
|
|
4078
4124
|
onKeyDown: onKeyDownProp,
|
|
@@ -4083,10 +4129,10 @@ var NestedMenuContent = ({
|
|
|
4083
4129
|
}) => {
|
|
4084
4130
|
const { highlightedIndex, items } = useMenuContentContext();
|
|
4085
4131
|
const { setSelectedMenuId, selectedMenuPath, goBack } = useNestedMenuContext();
|
|
4086
|
-
const internalRef = (0,
|
|
4132
|
+
const internalRef = (0, import_react28.useRef)(null);
|
|
4087
4133
|
const innerRef = (0, import_seeds_react_utilities3.mergeRefs)(internalRef, innerRefProp);
|
|
4088
4134
|
const contentProps = children ? { children } : { menuItems, MenuItemComponent };
|
|
4089
|
-
(0,
|
|
4135
|
+
(0, import_react28.useEffect)(() => {
|
|
4090
4136
|
internalRef?.current?.focus();
|
|
4091
4137
|
}, []);
|
|
4092
4138
|
const onKeyDown = (e) => {
|
|
@@ -4109,7 +4155,7 @@ var NestedMenuContent = ({
|
|
|
4109
4155
|
break;
|
|
4110
4156
|
}
|
|
4111
4157
|
};
|
|
4112
|
-
return /* @__PURE__ */ (0,
|
|
4158
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
4113
4159
|
MenuContent,
|
|
4114
4160
|
{
|
|
4115
4161
|
onKeyDown,
|
|
@@ -4124,19 +4170,19 @@ NestedMenuContent.__MENU_PRIMITIVE_TYPE = "MenuContent";
|
|
|
4124
4170
|
// src/NestedMenu/NestedMenuHeader.tsx
|
|
4125
4171
|
var import_seeds_react_button2 = require("@sproutsocial/seeds-react-button");
|
|
4126
4172
|
var import_seeds_react_icon6 = require("@sproutsocial/seeds-react-icon");
|
|
4127
|
-
var
|
|
4128
|
-
var
|
|
4173
|
+
var import_react29 = require("motion/react");
|
|
4174
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
4129
4175
|
var NestedMenuHeader = ({
|
|
4130
4176
|
backArrowLabel,
|
|
4131
4177
|
...props
|
|
4132
4178
|
}) => {
|
|
4133
4179
|
const { goBack, selectedMenuPath, animationSpeed } = useNestedMenuContext();
|
|
4134
4180
|
const showBackArrow = selectedMenuPath.length > 1;
|
|
4135
|
-
return /* @__PURE__ */ (0,
|
|
4181
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4136
4182
|
MenuHeader,
|
|
4137
4183
|
{
|
|
4138
|
-
leftAction: /* @__PURE__ */ (0,
|
|
4139
|
-
|
|
4184
|
+
leftAction: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react29.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4185
|
+
import_react29.motion.div,
|
|
4140
4186
|
{
|
|
4141
4187
|
initial: { opacity: 0 },
|
|
4142
4188
|
animate: { opacity: 1 },
|
|
@@ -4144,7 +4190,7 @@ var NestedMenuHeader = ({
|
|
|
4144
4190
|
opacity: 0,
|
|
4145
4191
|
transition: { duration: animationSpeed }
|
|
4146
4192
|
},
|
|
4147
|
-
children: showBackArrow ? /* @__PURE__ */ (0,
|
|
4193
|
+
children: showBackArrow ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_seeds_react_button2.Button, { onClick: goBack, ariaLabel: backArrowLabel, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_seeds_react_icon6.Icon, { name: "arrow-left" }) }) : void 0
|
|
4148
4194
|
},
|
|
4149
4195
|
`${selectedMenuPath}-header--button`
|
|
4150
4196
|
) }),
|
|
@@ -4154,8 +4200,8 @@ var NestedMenuHeader = ({
|
|
|
4154
4200
|
};
|
|
4155
4201
|
|
|
4156
4202
|
// src/NestedMenu/NestedMenuRoot.tsx
|
|
4157
|
-
var
|
|
4158
|
-
var
|
|
4203
|
+
var import_react30 = __toESM(require("react"));
|
|
4204
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
4159
4205
|
var NestedMenuRoot = ({
|
|
4160
4206
|
children,
|
|
4161
4207
|
menuToggleElement,
|
|
@@ -4163,21 +4209,21 @@ var NestedMenuRoot = ({
|
|
|
4163
4209
|
}) => {
|
|
4164
4210
|
const menuContext = useMenu(contextProps);
|
|
4165
4211
|
const { setActiveMenuContext, selectedMenuPath } = useNestedMenuContext();
|
|
4166
|
-
|
|
4212
|
+
import_react30.default.useEffect(() => {
|
|
4167
4213
|
setActiveMenuContext(menuContext);
|
|
4168
4214
|
}, [
|
|
4169
4215
|
selectedMenuPath[selectedMenuPath.length - 1],
|
|
4170
4216
|
menuContext.selectedItem,
|
|
4171
4217
|
menuContext.selectedItems?.length
|
|
4172
4218
|
]);
|
|
4173
|
-
return /* @__PURE__ */ (0,
|
|
4219
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MenuContentProvider, { menuContext, children });
|
|
4174
4220
|
};
|
|
4175
4221
|
|
|
4176
4222
|
// src/NestedMenu/NestedMenuPopout.tsx
|
|
4177
|
-
var
|
|
4178
|
-
var
|
|
4179
|
-
var
|
|
4180
|
-
var StyledDiv = (0,
|
|
4223
|
+
var import_react31 = require("motion/react");
|
|
4224
|
+
var import_styled_components15 = __toESM(require("styled-components"));
|
|
4225
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
4226
|
+
var StyledDiv = (0, import_styled_components15.default)(import_react31.motion.div)`
|
|
4181
4227
|
overflow: hidden;
|
|
4182
4228
|
`;
|
|
4183
4229
|
var NestedMenuPopout = ({
|
|
@@ -4187,7 +4233,7 @@ var NestedMenuPopout = ({
|
|
|
4187
4233
|
...popoutProps
|
|
4188
4234
|
}) => {
|
|
4189
4235
|
const { activeMenuContext, rootMenuContextProps, resetSelectedMenuPath } = useNestedMenuContext();
|
|
4190
|
-
return /* @__PURE__ */ (0,
|
|
4236
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
4191
4237
|
MenuPopout,
|
|
4192
4238
|
{
|
|
4193
4239
|
...popoutProps,
|
|
@@ -4196,8 +4242,8 @@ var NestedMenuPopout = ({
|
|
|
4196
4242
|
openMenu: rootMenuContextProps.openMenu,
|
|
4197
4243
|
closeMenu: rootMenuContextProps.closeMenu,
|
|
4198
4244
|
width: width2,
|
|
4199
|
-
content: (props) => /* @__PURE__ */ (0,
|
|
4200
|
-
children: (toggleProps) => /* @__PURE__ */ (0,
|
|
4245
|
+
content: (props) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StyledDiv, { layout: "position", children: typeof content === "function" ? content(props) : content }),
|
|
4246
|
+
children: (toggleProps) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
4201
4247
|
MenuToggleProvider,
|
|
4202
4248
|
{
|
|
4203
4249
|
menuContext: {
|
|
@@ -4213,7 +4259,7 @@ var NestedMenuPopout = ({
|
|
|
4213
4259
|
};
|
|
4214
4260
|
|
|
4215
4261
|
// src/NestedMenu/NestedMenu.tsx
|
|
4216
|
-
var
|
|
4262
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
4217
4263
|
var NestedMenu = ({
|
|
4218
4264
|
initialMenuId,
|
|
4219
4265
|
menus,
|
|
@@ -4229,9 +4275,9 @@ var NestedMenu = ({
|
|
|
4229
4275
|
const { defaultDownshiftProps, ...restDefaults } = useDownshiftDefaults({
|
|
4230
4276
|
isCombobox: false
|
|
4231
4277
|
});
|
|
4232
|
-
const uniqueId = (0,
|
|
4278
|
+
const uniqueId = (0, import_react32.useId)();
|
|
4233
4279
|
const nestedMenuId = externalNestedMenuId ?? `nested-menu-${uniqueId}`;
|
|
4234
|
-
const [hasLoadedOnce, setHasLoadedOnce] = (0,
|
|
4280
|
+
const [hasLoadedOnce, setHasLoadedOnce] = (0, import_react32.useState)(false);
|
|
4235
4281
|
const useSelectReturnProps = (0, import_downshift9.useSelect)({
|
|
4236
4282
|
...defaultDownshiftProps.select,
|
|
4237
4283
|
id: nestedMenuId,
|
|
@@ -4247,7 +4293,7 @@ var NestedMenu = ({
|
|
|
4247
4293
|
...useSelectReturnProps,
|
|
4248
4294
|
...restDefaults
|
|
4249
4295
|
};
|
|
4250
|
-
(0,
|
|
4296
|
+
(0, import_react32.useEffect)(() => {
|
|
4251
4297
|
if (!useSelectReturnProps.isOpen) {
|
|
4252
4298
|
setHasLoadedOnce(false);
|
|
4253
4299
|
} else {
|
|
@@ -4265,15 +4311,15 @@ var NestedMenu = ({
|
|
|
4265
4311
|
onIsOpenChange: onNestedIsOpenChange
|
|
4266
4312
|
};
|
|
4267
4313
|
rootMenuContextProps.getMenuProps?.({}, { suppressRefError: true });
|
|
4268
|
-
const [selectedMenuPath, setSelectedMenuPath] = (0,
|
|
4269
|
-
const [activeMenuContext, setActiveMenuContext] = (0,
|
|
4270
|
-
const [currentMenuId, setCurrentMenuId] = (0,
|
|
4271
|
-
const [isAdding, setIsAdding] = (0,
|
|
4314
|
+
const [selectedMenuPath, setSelectedMenuPath] = (0, import_react32.useState)([initialMenuId]);
|
|
4315
|
+
const [activeMenuContext, setActiveMenuContext] = (0, import_react32.useState)(defaultMenuContext);
|
|
4316
|
+
const [currentMenuId, setCurrentMenuId] = (0, import_react32.useState)(initialMenuId);
|
|
4317
|
+
const [isAdding, setIsAdding] = (0, import_react32.useState)(false);
|
|
4272
4318
|
const setSelectedMenuId = (id) => {
|
|
4273
4319
|
setIsAdding(true);
|
|
4274
4320
|
setSelectedMenuPath((currentPath) => [...currentPath, id]);
|
|
4275
4321
|
};
|
|
4276
|
-
(0,
|
|
4322
|
+
(0, import_react32.useEffect)(() => {
|
|
4277
4323
|
if (selectedMenuPath.length > 0) {
|
|
4278
4324
|
const newMenuId = selectedMenuPath[selectedMenuPath.length - 1];
|
|
4279
4325
|
setCurrentMenuId(newMenuId);
|
|
@@ -4367,8 +4413,8 @@ var NestedMenu = ({
|
|
|
4367
4413
|
initialIsOpen: true,
|
|
4368
4414
|
children: (
|
|
4369
4415
|
// Handles the smooth animating of the content
|
|
4370
|
-
/* @__PURE__ */ (0,
|
|
4371
|
-
|
|
4416
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react33.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
4417
|
+
import_react33.motion.div,
|
|
4372
4418
|
{
|
|
4373
4419
|
variants: contentVariants,
|
|
4374
4420
|
initial: "arrive",
|
|
@@ -4376,7 +4422,7 @@ var NestedMenu = ({
|
|
|
4376
4422
|
exit: "leave",
|
|
4377
4423
|
custom: { isAdding, hasLoadedOnce },
|
|
4378
4424
|
children: [
|
|
4379
|
-
MenuHeaderComponent && /* @__PURE__ */ (0,
|
|
4425
|
+
MenuHeaderComponent && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4380
4426
|
MenuHeaderComponent,
|
|
4381
4427
|
{
|
|
4382
4428
|
backArrowLabel,
|
|
@@ -4384,7 +4430,7 @@ var NestedMenu = ({
|
|
|
4384
4430
|
}
|
|
4385
4431
|
),
|
|
4386
4432
|
children && children,
|
|
4387
|
-
menuItems && !children && /* @__PURE__ */ (0,
|
|
4433
|
+
menuItems && !children && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4388
4434
|
NestedMenuContent,
|
|
4389
4435
|
{
|
|
4390
4436
|
menuItems,
|
|
@@ -4398,7 +4444,7 @@ var NestedMenu = ({
|
|
|
4398
4444
|
),
|
|
4399
4445
|
...restMenuProps
|
|
4400
4446
|
};
|
|
4401
|
-
return /* @__PURE__ */ (0,
|
|
4447
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4402
4448
|
NestedMenuProvider,
|
|
4403
4449
|
{
|
|
4404
4450
|
...{
|
|
@@ -4412,19 +4458,19 @@ var NestedMenu = ({
|
|
|
4412
4458
|
setActiveMenuContext,
|
|
4413
4459
|
animationSpeed
|
|
4414
4460
|
},
|
|
4415
|
-
children: /* @__PURE__ */ (0,
|
|
4461
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4416
4462
|
NestedMenuPopout,
|
|
4417
4463
|
{
|
|
4418
4464
|
content: MenuComponent && // Handles the rerender of the component
|
|
4419
|
-
/* @__PURE__ */ (0,
|
|
4420
|
-
|
|
4465
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react33.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4466
|
+
import_react33.motion.div,
|
|
4421
4467
|
{
|
|
4422
4468
|
variants: menuVariants,
|
|
4423
4469
|
initial: "arrive",
|
|
4424
4470
|
animate: "enter",
|
|
4425
4471
|
exit: "leave",
|
|
4426
4472
|
custom: { isAdding, hasLoadedOnce },
|
|
4427
|
-
children: /* @__PURE__ */ (0,
|
|
4473
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(MenuComponent, { ...nestedMenuProps })
|
|
4428
4474
|
},
|
|
4429
4475
|
`${currentMenuId}-content`
|
|
4430
4476
|
) }),
|