@sproutsocial/seeds-react-menu 1.2.3 → 1.3.1
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 +156 -113
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +168 -126
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Autocomplete/MultiAutocomplete.tsx +3 -0
- package/src/Autocomplete/SingleAutocomplete.tsx +3 -7
- package/src/Autocomplete/__tests__/Autocomplete.test.tsx +21 -0
- package/src/MenuContent/DefaultMenuEmptyState.tsx +17 -0
- package/src/MenuContent/MenuContent.tsx +15 -2
- package/src/MenuContent/MenuContentTypes.ts +2 -0
- package/src/MenuContent/__tests__/MenuContent.test.tsx +38 -17
- package/src/MenuContext.tsx +14 -0
- package/src/MenuItem/__tests__/MenuItem.test.tsx +11 -14
- package/src/MenuRoot/MenuRoot.tsx +9 -2
- package/src/SingleSelectMenu/SingleSelectMenu.stories.tsx +44 -0
- package/src/menuTestingUtils.tsx +12 -7
package/dist/index.js
CHANGED
|
@@ -169,7 +169,9 @@ var defaultMenuContext = {
|
|
|
169
169
|
items: [],
|
|
170
170
|
itemsMap: {},
|
|
171
171
|
isItemSelected: () => false,
|
|
172
|
-
getInputComponentProps: () => ({})
|
|
172
|
+
getInputComponentProps: () => ({}),
|
|
173
|
+
hasVisibleItems: false,
|
|
174
|
+
isInitialized: false
|
|
173
175
|
};
|
|
174
176
|
var getSelectedItemIds = (selectedItems) => selectedItems?.reduce(
|
|
175
177
|
(selected, item) => ({ ...selected, [item.id]: true }),
|
|
@@ -190,6 +192,8 @@ var useMenu = ({
|
|
|
190
192
|
selectedItems,
|
|
191
193
|
getInputProps,
|
|
192
194
|
contentRef: contentRefFromProps,
|
|
195
|
+
autoCloseOnEmpty,
|
|
196
|
+
hiddenItemsCount,
|
|
193
197
|
...rest
|
|
194
198
|
} = {}) => {
|
|
195
199
|
const contentRef = contentRefFromProps || import_react.default.createRef();
|
|
@@ -244,6 +248,9 @@ var useMenu = ({
|
|
|
244
248
|
},
|
|
245
249
|
[getInputProps]
|
|
246
250
|
);
|
|
251
|
+
const hasVisibleItems = (0, import_react.useMemo)(() => {
|
|
252
|
+
return (hiddenItemsCount ?? 0) < items.length;
|
|
253
|
+
}, [items, hiddenItemsCount]);
|
|
247
254
|
return {
|
|
248
255
|
isOpen,
|
|
249
256
|
isListbox,
|
|
@@ -256,6 +263,9 @@ var useMenu = ({
|
|
|
256
263
|
getInputProps,
|
|
257
264
|
getInputComponentProps,
|
|
258
265
|
contentRef,
|
|
266
|
+
hasVisibleItems,
|
|
267
|
+
autoCloseOnEmpty,
|
|
268
|
+
isInitialized: true,
|
|
259
269
|
...menuProps
|
|
260
270
|
};
|
|
261
271
|
};
|
|
@@ -2362,7 +2372,23 @@ var useMenuChildren = ({
|
|
|
2362
2372
|
|
|
2363
2373
|
// src/MenuContent/MenuContent.tsx
|
|
2364
2374
|
var import_react5 = require("react");
|
|
2375
|
+
|
|
2376
|
+
// src/MenuContent/DefaultMenuEmptyState.tsx
|
|
2377
|
+
var import_styled_components6 = __toESM(require("styled-components"));
|
|
2365
2378
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
2379
|
+
var StyledEmptyState = import_styled_components6.default.div`
|
|
2380
|
+
padding: ${({ theme: theme2 }) => theme2.space[350]};
|
|
2381
|
+
text-align: center;
|
|
2382
|
+
font-size: ${({ theme: theme2 }) => theme2.typography[200].fontSize};
|
|
2383
|
+
`;
|
|
2384
|
+
var DefaultMenuEmptyState = ({
|
|
2385
|
+
children
|
|
2386
|
+
}) => {
|
|
2387
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StyledEmptyState, { children: children || "No results found." });
|
|
2388
|
+
};
|
|
2389
|
+
|
|
2390
|
+
// src/MenuContent/MenuContent.tsx
|
|
2391
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
2366
2392
|
var MenuContent = ({
|
|
2367
2393
|
id = "menu_content",
|
|
2368
2394
|
children: childrenProp,
|
|
@@ -2370,11 +2396,22 @@ var MenuContent = ({
|
|
|
2370
2396
|
MenuItemComponent,
|
|
2371
2397
|
onKeyDown,
|
|
2372
2398
|
innerRef = null,
|
|
2399
|
+
emptyStateElement,
|
|
2373
2400
|
...rest
|
|
2374
2401
|
}) => {
|
|
2375
|
-
const {
|
|
2402
|
+
const {
|
|
2403
|
+
getToggleButtonProps,
|
|
2404
|
+
getMenuProps,
|
|
2405
|
+
isListbox,
|
|
2406
|
+
hasVisibleItems,
|
|
2407
|
+
autoCloseOnEmpty,
|
|
2408
|
+
isInitialized
|
|
2409
|
+
} = useMenuContentContext();
|
|
2376
2410
|
const toggleButtonProps = getToggleButtonProps?.();
|
|
2377
2411
|
const children = childrenProp || !menuItems || !menuItems.length ? childrenProp : mapMenuItems({ menuItems, MenuItemComponent });
|
|
2412
|
+
if (isInitialized && !hasVisibleItems && !autoCloseOnEmpty) {
|
|
2413
|
+
return emptyStateElement ?? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DefaultMenuEmptyState, {});
|
|
2414
|
+
}
|
|
2378
2415
|
if (!children) {
|
|
2379
2416
|
return null;
|
|
2380
2417
|
}
|
|
@@ -2385,7 +2422,7 @@ var MenuContent = ({
|
|
|
2385
2422
|
},
|
|
2386
2423
|
[onKeyDown, toggleButtonProps?.["onKeyDown"]]
|
|
2387
2424
|
);
|
|
2388
|
-
return /* @__PURE__ */ (0,
|
|
2425
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
2389
2426
|
StyledMenuContent,
|
|
2390
2427
|
{
|
|
2391
2428
|
autoFocus: true,
|
|
@@ -2411,47 +2448,47 @@ MenuContent.__MENU_PRIMITIVE_TYPE = "MenuContent";
|
|
|
2411
2448
|
var import_react6 = require("react");
|
|
2412
2449
|
|
|
2413
2450
|
// src/MenuFooter/styles.tsx
|
|
2414
|
-
var
|
|
2451
|
+
var import_styled_components7 = __toESM(require("styled-components"));
|
|
2415
2452
|
var import_seeds_react_box2 = require("@sproutsocial/seeds-react-box");
|
|
2416
|
-
var StyledMenuFooterBox = (0,
|
|
2453
|
+
var StyledMenuFooterBox = (0, import_styled_components7.default)(import_seeds_react_box2.Box)`
|
|
2417
2454
|
padding: ${({ theme: theme2 }) => theme2.space[350]} ${({ theme: theme2 }) => theme2.space[400]};
|
|
2418
2455
|
border-top: 1px solid ${(p) => p.theme.colors.container.border.base};
|
|
2419
2456
|
`;
|
|
2420
2457
|
|
|
2421
2458
|
// src/MenuFooter/MenuFooter.tsx
|
|
2422
|
-
var
|
|
2459
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
2423
2460
|
var MenuFooter = ({ children, ...rest }) => {
|
|
2424
|
-
return /* @__PURE__ */ (0,
|
|
2461
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(StyledMenuFooterBox, { ...rest, children });
|
|
2425
2462
|
};
|
|
2426
2463
|
|
|
2427
2464
|
// src/MenuGroup/MenuGroup.tsx
|
|
2428
2465
|
var import_react9 = require("react");
|
|
2429
2466
|
|
|
2430
2467
|
// src/MenuGroup/styles.tsx
|
|
2431
|
-
var
|
|
2468
|
+
var import_styled_components10 = __toESM(require("styled-components"));
|
|
2432
2469
|
|
|
2433
2470
|
// ../seeds-react-text/dist/esm/index.js
|
|
2434
2471
|
var import_react7 = require("react");
|
|
2435
|
-
var import_styled_components7 = __toESM(require("styled-components"));
|
|
2436
2472
|
var import_styled_components8 = __toESM(require("styled-components"));
|
|
2473
|
+
var import_styled_components9 = __toESM(require("styled-components"));
|
|
2437
2474
|
var import_seeds_react_system_props = require("@sproutsocial/seeds-react-system-props");
|
|
2438
|
-
var
|
|
2475
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
2439
2476
|
var import_react8 = require("react");
|
|
2440
|
-
var Container =
|
|
2477
|
+
var Container = import_styled_components9.default.span`
|
|
2441
2478
|
margin: 0;
|
|
2442
2479
|
padding-left: 0;
|
|
2443
2480
|
padding-right: 0;
|
|
2444
2481
|
font-family: ${(props) => props.theme.fontFamily};
|
|
2445
2482
|
font-style: ${(props) => props.isItalicized && "italic"};
|
|
2446
2483
|
|
|
2447
|
-
${(props) => props.truncated &&
|
|
2484
|
+
${(props) => props.truncated && import_styled_components9.css`
|
|
2448
2485
|
display: block;
|
|
2449
2486
|
overflow: hidden;
|
|
2450
2487
|
white-space: nowrap;
|
|
2451
2488
|
text-overflow: ellipsis;
|
|
2452
2489
|
`}
|
|
2453
2490
|
|
|
2454
|
-
${(props) => props.breakWord &&
|
|
2491
|
+
${(props) => props.breakWord && import_styled_components9.css`
|
|
2455
2492
|
word-break: break-word;
|
|
2456
2493
|
hyphens: auto;
|
|
2457
2494
|
`}
|
|
@@ -2463,40 +2500,40 @@ var Container = import_styled_components8.default.span`
|
|
|
2463
2500
|
${import_seeds_react_system_props.TYPOGRAPHY}
|
|
2464
2501
|
`;
|
|
2465
2502
|
var styles_default = Container;
|
|
2466
|
-
var Headline = (0,
|
|
2503
|
+
var Headline = (0, import_styled_components8.default)(styles_default)`
|
|
2467
2504
|
color: ${(props) => props.theme.colors.text.headline};
|
|
2468
2505
|
font-weight: ${(props) => props.theme.fontWeights.bold};
|
|
2469
2506
|
${(props) => props.theme.typography[400]}
|
|
2470
2507
|
`;
|
|
2471
|
-
var SubHeadline = (0,
|
|
2508
|
+
var SubHeadline = (0, import_styled_components8.default)(styles_default)`
|
|
2472
2509
|
color: ${(props) => props.theme.colors.text.headline};
|
|
2473
2510
|
font-weight: ${(props) => props.theme.fontWeights.bold};
|
|
2474
2511
|
${(props) => props.theme.typography[300]}
|
|
2475
2512
|
`;
|
|
2476
|
-
var SmallSubHeadline = (0,
|
|
2513
|
+
var SmallSubHeadline = (0, import_styled_components8.default)(styles_default)`
|
|
2477
2514
|
color: ${(props) => props.theme.colors.text.headline};
|
|
2478
2515
|
font-weight: ${(props) => props.theme.fontWeights.bold};
|
|
2479
2516
|
${(props) => props.theme.typography[200]}
|
|
2480
2517
|
`;
|
|
2481
|
-
var Byline = (0,
|
|
2518
|
+
var Byline = (0, import_styled_components8.default)(styles_default)`
|
|
2482
2519
|
color: ${(props) => props.theme.colors.text.subtext};
|
|
2483
2520
|
${(props) => props.theme.typography[200]}
|
|
2484
2521
|
`;
|
|
2485
|
-
var SmallByline = (0,
|
|
2522
|
+
var SmallByline = (0, import_styled_components8.default)(styles_default)`
|
|
2486
2523
|
color: ${(props) => props.theme.colors.text.subtext};
|
|
2487
2524
|
${(props) => props.theme.typography[100]}
|
|
2488
2525
|
`;
|
|
2489
|
-
var BodyCopy = (0,
|
|
2526
|
+
var BodyCopy = (0, import_styled_components8.default)(styles_default)`
|
|
2490
2527
|
color: ${(props) => props.theme.colors.text.body};
|
|
2491
2528
|
${(props) => props.theme.typography[300]}
|
|
2492
2529
|
`;
|
|
2493
|
-
var SmallBodyCopy = (0,
|
|
2530
|
+
var SmallBodyCopy = (0, import_styled_components8.default)(styles_default)`
|
|
2494
2531
|
color: ${(props) => props.theme.colors.text.body};
|
|
2495
2532
|
${(props) => props.theme.typography[200]}
|
|
2496
2533
|
`;
|
|
2497
2534
|
var Text = ({ fontSize: fontSize2, children, qa, color: color2, ...rest }) => {
|
|
2498
2535
|
const qaText = typeof children === "string" ? children : void 0;
|
|
2499
|
-
return /* @__PURE__ */ (0,
|
|
2536
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2500
2537
|
styles_default,
|
|
2501
2538
|
{
|
|
2502
2539
|
typeScale: fontSize2,
|
|
@@ -2511,7 +2548,7 @@ var Text = ({ fontSize: fontSize2, children, qa, color: color2, ...rest }) => {
|
|
|
2511
2548
|
var withTextLogic = (Component) => {
|
|
2512
2549
|
return ({ children, ...props }) => {
|
|
2513
2550
|
const qaText = typeof children === "string" ? children : void 0;
|
|
2514
|
-
return /* @__PURE__ */ (0,
|
|
2551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Component, { "data-qa-text": qaText, ...props, children });
|
|
2515
2552
|
};
|
|
2516
2553
|
};
|
|
2517
2554
|
var HeadlineWithLogic = withTextLogic(Headline);
|
|
@@ -2539,7 +2576,7 @@ var Text_default = Text;
|
|
|
2539
2576
|
var index_default = Text_default;
|
|
2540
2577
|
|
|
2541
2578
|
// src/MenuGroup/styles.tsx
|
|
2542
|
-
var StyledMenuGroup =
|
|
2579
|
+
var StyledMenuGroup = import_styled_components10.default.li`
|
|
2543
2580
|
&:not(:last-child) {
|
|
2544
2581
|
border-bottom: 1px solid
|
|
2545
2582
|
${({ theme: theme2 }) => theme2.colors.container.border.base};
|
|
@@ -2555,18 +2592,18 @@ var StyledMenuGroup = import_styled_components9.default.li`
|
|
|
2555
2592
|
${layout}
|
|
2556
2593
|
${space}
|
|
2557
2594
|
`;
|
|
2558
|
-
var StyledTitle = (0,
|
|
2595
|
+
var StyledTitle = (0, import_styled_components10.default)(index_default.SmallSubHeadline)`
|
|
2559
2596
|
font-size: ${({ theme: theme2 }) => theme2.typography[100].fontSize};
|
|
2560
2597
|
margin: ${({ theme: theme2 }) => theme2.space[400]} ${({ theme: theme2 }) => theme2.space[400]}
|
|
2561
2598
|
0px ${({ theme: theme2 }) => theme2.space[400]};
|
|
2562
2599
|
`;
|
|
2563
|
-
var StyledMenuGroupUl =
|
|
2600
|
+
var StyledMenuGroupUl = import_styled_components10.default.ul`
|
|
2564
2601
|
margin: 0;
|
|
2565
2602
|
padding: 0;
|
|
2566
2603
|
`;
|
|
2567
2604
|
|
|
2568
2605
|
// src/MenuGroup/MenuGroup.tsx
|
|
2569
|
-
var
|
|
2606
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
2570
2607
|
var MenuGroup = ({
|
|
2571
2608
|
titleAs = "h3",
|
|
2572
2609
|
children: childrenProp,
|
|
@@ -2583,7 +2620,7 @@ var MenuGroup = ({
|
|
|
2583
2620
|
if (!children) {
|
|
2584
2621
|
return null;
|
|
2585
2622
|
}
|
|
2586
|
-
return /* @__PURE__ */ (0,
|
|
2623
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2587
2624
|
StyledMenuGroup,
|
|
2588
2625
|
{
|
|
2589
2626
|
role: "group",
|
|
@@ -2593,8 +2630,8 @@ var MenuGroup = ({
|
|
|
2593
2630
|
color: color2,
|
|
2594
2631
|
...rest,
|
|
2595
2632
|
children: [
|
|
2596
|
-
title && /* @__PURE__ */ (0,
|
|
2597
|
-
/* @__PURE__ */ (0,
|
|
2633
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(StyledTitle, { role: "heading", as: titleAs, id: titleId, children: title }),
|
|
2634
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(StyledMenuGroupUl, { children })
|
|
2598
2635
|
]
|
|
2599
2636
|
}
|
|
2600
2637
|
);
|
|
@@ -2603,7 +2640,7 @@ MenuGroup.__MENU_PRIMITIVE_TYPE = "MenuGroup";
|
|
|
2603
2640
|
|
|
2604
2641
|
// src/MenuRoot/MenuRoot.tsx
|
|
2605
2642
|
var import_react10 = __toESM(require("react"));
|
|
2606
|
-
var
|
|
2643
|
+
var import_styled_components11 = __toESM(require("styled-components"));
|
|
2607
2644
|
var import_seeds_react_popout = require("@sproutsocial/seeds-react-popout");
|
|
2608
2645
|
var import_seeds_react_utilities = require("@sproutsocial/seeds-react-utilities");
|
|
2609
2646
|
|
|
@@ -2611,8 +2648,8 @@ var import_seeds_react_utilities = require("@sproutsocial/seeds-react-utilities"
|
|
|
2611
2648
|
var MOTION_DURATION_FAST = 0.15;
|
|
2612
2649
|
|
|
2613
2650
|
// src/MenuRoot/MenuRoot.tsx
|
|
2614
|
-
var
|
|
2615
|
-
var CustomPopoutContent = (0,
|
|
2651
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
2652
|
+
var CustomPopoutContent = (0, import_styled_components11.default)(import_seeds_react_popout.Popout.Content)`
|
|
2616
2653
|
padding: 0;
|
|
2617
2654
|
margin-left: 0;
|
|
2618
2655
|
margin-right: 0;
|
|
@@ -2660,12 +2697,12 @@ var MenuPopout = ({
|
|
|
2660
2697
|
},
|
|
2661
2698
|
[openMenu, closeMenu]
|
|
2662
2699
|
);
|
|
2663
|
-
return /* @__PURE__ */ (0,
|
|
2700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2664
2701
|
import_seeds_react_popout.Popout,
|
|
2665
2702
|
{
|
|
2666
2703
|
isOpen: !!isOpen,
|
|
2667
2704
|
setIsOpen,
|
|
2668
|
-
content: (props) => /* @__PURE__ */ (0,
|
|
2705
|
+
content: (props) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(CustomPopoutContent, { width: popoutProps.fullWidth ? "initial" : width2, children: typeof content === "function" ? content(props) : content }),
|
|
2669
2706
|
focusLockProps: {
|
|
2670
2707
|
// correct jerking motion when scrolling while the Popout is open
|
|
2671
2708
|
// returnFocus: false,
|
|
@@ -2690,9 +2727,8 @@ var MenuRoot = ({
|
|
|
2690
2727
|
openMenu,
|
|
2691
2728
|
closeMenu,
|
|
2692
2729
|
inputValue,
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
getMenuProps
|
|
2730
|
+
getMenuProps,
|
|
2731
|
+
autoCloseOnEmpty = false
|
|
2696
2732
|
} = contextProps;
|
|
2697
2733
|
const toggleElementRef = import_react10.default.useRef(null);
|
|
2698
2734
|
const [finalWidth, setFinalWidth] = import_react10.default.useState();
|
|
@@ -2709,17 +2745,23 @@ var MenuRoot = ({
|
|
|
2709
2745
|
}, [width2, toggleElementRef.current?.offsetWidth]);
|
|
2710
2746
|
const menuContext = useMenu(contextProps);
|
|
2711
2747
|
getMenuProps?.({}, { suppressRefError: true });
|
|
2712
|
-
|
|
2748
|
+
(0, import_react10.useEffect)(() => {
|
|
2749
|
+
if (!inputValue || !autoCloseOnEmpty) return;
|
|
2750
|
+
if (!menuContext.hasVisibleItems && isOpen) {
|
|
2751
|
+
closeMenu?.();
|
|
2752
|
+
}
|
|
2753
|
+
}, [menuContext.hasVisibleItems, isOpen, inputValue, autoCloseOnEmpty]);
|
|
2754
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2713
2755
|
MenuPopout,
|
|
2714
2756
|
{
|
|
2715
2757
|
placement,
|
|
2716
2758
|
isOpen: !!isOpen,
|
|
2717
2759
|
openMenu,
|
|
2718
2760
|
closeMenu,
|
|
2719
|
-
content: /* @__PURE__ */ (0,
|
|
2761
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MenuContentProvider, { menuContext, children }),
|
|
2720
2762
|
width: finalWidth,
|
|
2721
2763
|
...popoutProps,
|
|
2722
|
-
children: (toggleProps) => /* @__PURE__ */ (0,
|
|
2764
|
+
children: (toggleProps) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2723
2765
|
MenuToggleProvider,
|
|
2724
2766
|
{
|
|
2725
2767
|
menuContext: {
|
|
@@ -2740,7 +2782,7 @@ var MenuRoot = ({
|
|
|
2740
2782
|
// src/MenuLabel.tsx
|
|
2741
2783
|
var import_react11 = require("react");
|
|
2742
2784
|
var import_seeds_react_label = require("@sproutsocial/seeds-react-label");
|
|
2743
|
-
var
|
|
2785
|
+
var import_jsx_runtime12 = (
|
|
2744
2786
|
// This fallback id should never be used, but it is here to satisfy TypeScript since getLabelProps could be undefined.
|
|
2745
2787
|
require("react/jsx-runtime")
|
|
2746
2788
|
);
|
|
@@ -2750,7 +2792,7 @@ var MenuLabel = ({
|
|
|
2750
2792
|
...rest
|
|
2751
2793
|
}) => {
|
|
2752
2794
|
const { getLabelProps } = useMenuToggleContext();
|
|
2753
|
-
return /* @__PURE__ */ (0,
|
|
2795
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2754
2796
|
import_seeds_react_label.Label,
|
|
2755
2797
|
{
|
|
2756
2798
|
htmlFor: "fallback_menu_label",
|
|
@@ -2764,10 +2806,10 @@ var MenuLabel = ({
|
|
|
2764
2806
|
|
|
2765
2807
|
// src/MenuToggleButton/MenuToggleButton.tsx
|
|
2766
2808
|
var import_seeds_react_button = require("@sproutsocial/seeds-react-button");
|
|
2767
|
-
var
|
|
2809
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
2768
2810
|
var MenuToggleButton = (props) => {
|
|
2769
2811
|
const { getToggleButtonProps, isListbox, getDropdownProps, ref, ariaProps } = useMenuToggleContext();
|
|
2770
|
-
return /* @__PURE__ */ (0,
|
|
2812
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2771
2813
|
import_seeds_react_button.Button,
|
|
2772
2814
|
{
|
|
2773
2815
|
appearance: "secondary",
|
|
@@ -2827,7 +2869,7 @@ var useItemFiltering = ({
|
|
|
2827
2869
|
};
|
|
2828
2870
|
|
|
2829
2871
|
// src/MenuSearchInput/MenuSearchInput.tsx
|
|
2830
|
-
var
|
|
2872
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
2831
2873
|
var MenuSearchInput = ({
|
|
2832
2874
|
getIsItemVisible,
|
|
2833
2875
|
inputProps,
|
|
@@ -2857,7 +2899,7 @@ var MenuSearchInput = ({
|
|
|
2857
2899
|
},
|
|
2858
2900
|
[toggleButtonProps.onKeyDown]
|
|
2859
2901
|
);
|
|
2860
|
-
return /* @__PURE__ */ (0,
|
|
2902
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2861
2903
|
import_seeds_react_input.Input,
|
|
2862
2904
|
{
|
|
2863
2905
|
onChange: (e, value) => {
|
|
@@ -2878,10 +2920,10 @@ var MenuSearchInput = ({
|
|
|
2878
2920
|
|
|
2879
2921
|
// src/MenuTokenInput.tsx
|
|
2880
2922
|
var import_react14 = __toESM(require("react"));
|
|
2881
|
-
var
|
|
2923
|
+
var import_styled_components12 = __toESM(require("styled-components"));
|
|
2882
2924
|
var import_seeds_react_token_input = require("@sproutsocial/seeds-react-token-input");
|
|
2883
|
-
var
|
|
2884
|
-
var StyledTokenInputWrapper =
|
|
2925
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
2926
|
+
var StyledTokenInputWrapper = import_styled_components12.default.div`
|
|
2885
2927
|
> div {
|
|
2886
2928
|
padding: 4px;
|
|
2887
2929
|
}
|
|
@@ -2915,7 +2957,7 @@ var MenuTokenInput = ({
|
|
|
2915
2957
|
const tokenToRemove = selectedItems?.find((item) => item.id === tokenId);
|
|
2916
2958
|
tokenToRemove && removeSelectedItem?.(tokenToRemove);
|
|
2917
2959
|
};
|
|
2918
|
-
return /* @__PURE__ */ (0,
|
|
2960
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StyledTokenInputWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2919
2961
|
import_seeds_react_token_input.TokenInput,
|
|
2920
2962
|
{
|
|
2921
2963
|
onKeyDown: (e, value) => {
|
|
@@ -2965,7 +3007,7 @@ var MenuTokenInput = ({
|
|
|
2965
3007
|
|
|
2966
3008
|
// src/MenuSearchTokenInput/MenuSearchTokenInput.tsx
|
|
2967
3009
|
var import_react15 = __toESM(require("react"));
|
|
2968
|
-
var
|
|
3010
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
2969
3011
|
var MenuSearchTokenInput = ({
|
|
2970
3012
|
getIsItemVisible,
|
|
2971
3013
|
getTokenProps,
|
|
@@ -3013,7 +3055,7 @@ var MenuSearchTokenInput = ({
|
|
|
3013
3055
|
},
|
|
3014
3056
|
[toggleButtonProps.onKeyDown]
|
|
3015
3057
|
);
|
|
3016
|
-
return /* @__PURE__ */ (0,
|
|
3058
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3017
3059
|
MenuTokenInput,
|
|
3018
3060
|
{
|
|
3019
3061
|
onChange: (e, value2) => {
|
|
@@ -3038,7 +3080,7 @@ var import_react16 = __toESM(require("react"));
|
|
|
3038
3080
|
var import_seeds_react_icon2 = require("@sproutsocial/seeds-react-icon");
|
|
3039
3081
|
var import_seeds_react_box3 = require("@sproutsocial/seeds-react-box");
|
|
3040
3082
|
var import_seeds_react_utilities2 = require("@sproutsocial/seeds-react-utilities");
|
|
3041
|
-
var
|
|
3083
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
3042
3084
|
var SubmenuItemTrigger = ({
|
|
3043
3085
|
id,
|
|
3044
3086
|
children,
|
|
@@ -3047,7 +3089,7 @@ var SubmenuItemTrigger = ({
|
|
|
3047
3089
|
}) => {
|
|
3048
3090
|
const { getToggleButtonProps, getDropdownProps, ref, ariaProps } = useMenuToggleContext();
|
|
3049
3091
|
const toggleRef = ref && innerRef ? (0, import_seeds_react_utilities2.mergeRefs)([ref, innerRef].filter(Boolean)) : ref || innerRef;
|
|
3050
|
-
return /* @__PURE__ */ (0,
|
|
3092
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3051
3093
|
MenuItem,
|
|
3052
3094
|
{
|
|
3053
3095
|
...rest,
|
|
@@ -3064,9 +3106,9 @@ var SubmenuItemTrigger = ({
|
|
|
3064
3106
|
{ suppressRefError: true }
|
|
3065
3107
|
),
|
|
3066
3108
|
id,
|
|
3067
|
-
children: /* @__PURE__ */ (0,
|
|
3109
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_seeds_react_box3.Box, { display: "flex", justifyContent: "space-between", children: [
|
|
3068
3110
|
children,
|
|
3069
|
-
/* @__PURE__ */ (0,
|
|
3111
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MenuItemActionRight, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_seeds_react_icon2.Icon, { name: "chevron-right-outline" }) })
|
|
3070
3112
|
] })
|
|
3071
3113
|
}
|
|
3072
3114
|
);
|
|
@@ -3176,7 +3218,7 @@ var SubmenuItem = ({
|
|
|
3176
3218
|
};
|
|
3177
3219
|
}
|
|
3178
3220
|
}, [document, onSubmenuKeydown]);
|
|
3179
|
-
const subMenuContent = /* @__PURE__ */ (0,
|
|
3221
|
+
const subMenuContent = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3180
3222
|
"div",
|
|
3181
3223
|
{
|
|
3182
3224
|
ref: submenuRef,
|
|
@@ -3187,13 +3229,13 @@ var SubmenuItem = ({
|
|
|
3187
3229
|
children: menuContent
|
|
3188
3230
|
}
|
|
3189
3231
|
);
|
|
3190
|
-
return /* @__PURE__ */ (0,
|
|
3232
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3191
3233
|
MenuComponent,
|
|
3192
3234
|
{
|
|
3193
3235
|
...{
|
|
3194
3236
|
...menuProps,
|
|
3195
3237
|
children: subMenuContent,
|
|
3196
|
-
menuToggleElement: /* @__PURE__ */ (0,
|
|
3238
|
+
menuToggleElement: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3197
3239
|
SubmenuItemTrigger,
|
|
3198
3240
|
{
|
|
3199
3241
|
innerRef: submenuItemRef,
|
|
@@ -3225,28 +3267,28 @@ var SubmenuItem = ({
|
|
|
3225
3267
|
SubmenuItem.__MENU_PRIMITIVE_TYPE = "MenuItem";
|
|
3226
3268
|
|
|
3227
3269
|
// src/ListboxToggleButton.tsx
|
|
3228
|
-
var
|
|
3270
|
+
var import_styled_components13 = __toESM(require("styled-components"));
|
|
3229
3271
|
var import_seeds_react_icon3 = require("@sproutsocial/seeds-react-icon");
|
|
3230
|
-
var
|
|
3231
|
-
var StyledListboxToggleButton = (0,
|
|
3272
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
3273
|
+
var StyledListboxToggleButton = (0, import_styled_components13.default)(
|
|
3232
3274
|
MenuToggleButton
|
|
3233
3275
|
)`
|
|
3234
|
-
${(props) => props.invalid &&
|
|
3276
|
+
${(props) => props.invalid && import_styled_components13.css`
|
|
3235
3277
|
border-color: ${(props2) => props2.theme.colors.form.border.error};
|
|
3236
3278
|
`}
|
|
3237
3279
|
`;
|
|
3238
|
-
var StyledChevron =
|
|
3280
|
+
var StyledChevron = import_styled_components13.default.div`
|
|
3239
3281
|
margin-left: ${({ theme: theme2 }) => theme2.space[300]};
|
|
3240
3282
|
${({ $isOpen }) => $isOpen && `
|
|
3241
3283
|
transform: rotate(-180deg);
|
|
3242
3284
|
`}
|
|
3243
3285
|
transition: transform 0.15s;
|
|
3244
3286
|
|
|
3245
|
-
${({ invalid }) => invalid &&
|
|
3287
|
+
${({ invalid }) => invalid && import_styled_components13.css`
|
|
3246
3288
|
color: ${(props) => props.theme.colors.icon.error};
|
|
3247
3289
|
`}
|
|
3248
3290
|
`;
|
|
3249
|
-
var StyledInnerButton =
|
|
3291
|
+
var StyledInnerButton = import_styled_components13.default.div`
|
|
3250
3292
|
display: flex;
|
|
3251
3293
|
justify-content: space-between;
|
|
3252
3294
|
`;
|
|
@@ -3255,9 +3297,9 @@ var ListboxToggleButton = ({
|
|
|
3255
3297
|
...buttonProps
|
|
3256
3298
|
}) => {
|
|
3257
3299
|
const { isOpen } = useMenuToggleContext();
|
|
3258
|
-
return /* @__PURE__ */ (0,
|
|
3300
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(StyledListboxToggleButton, { appearance: "secondary", ...buttonProps, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(StyledInnerButton, { children: [
|
|
3259
3301
|
children,
|
|
3260
|
-
/* @__PURE__ */ (0,
|
|
3302
|
+
/* @__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 }) })
|
|
3261
3303
|
] }) });
|
|
3262
3304
|
};
|
|
3263
3305
|
|
|
@@ -3426,7 +3468,7 @@ var useDownshiftDefaults = ({
|
|
|
3426
3468
|
};
|
|
3427
3469
|
|
|
3428
3470
|
// src/ActionMenu/ActionMenu.tsx
|
|
3429
|
-
var
|
|
3471
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
3430
3472
|
var handleStateChange = (changes, currentSelectedItem) => {
|
|
3431
3473
|
if (!(changes.type === import_downshift3.useSelect.stateChangeTypes.ToggleButtonKeyDownEnter || changes.type === import_downshift3.useSelect.stateChangeTypes.ToggleButtonKeyDownSpaceButton)) {
|
|
3432
3474
|
return;
|
|
@@ -3489,7 +3531,7 @@ var ActionMenu = ({
|
|
|
3489
3531
|
(0, import_react18.useEffect)(() => {
|
|
3490
3532
|
setCurrentSelectedItem(useSelectReturnProps.selectedItem);
|
|
3491
3533
|
}, [useSelectReturnProps.selectedItem]);
|
|
3492
|
-
return /* @__PURE__ */ (0,
|
|
3534
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3493
3535
|
MenuRootComponent,
|
|
3494
3536
|
{
|
|
3495
3537
|
...{
|
|
@@ -3510,7 +3552,7 @@ var ActionMenu = ({
|
|
|
3510
3552
|
// src/SingleSelectMenu/SingleSelectMenu.tsx
|
|
3511
3553
|
var import_react19 = require("react");
|
|
3512
3554
|
var import_downshift4 = require("downshift");
|
|
3513
|
-
var
|
|
3555
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
3514
3556
|
var SingleSelectMenu = ({
|
|
3515
3557
|
children: childrenProp,
|
|
3516
3558
|
stateReducer: externalStateReducer,
|
|
@@ -3537,7 +3579,7 @@ var SingleSelectMenu = ({
|
|
|
3537
3579
|
),
|
|
3538
3580
|
...useSelectProps
|
|
3539
3581
|
});
|
|
3540
|
-
return /* @__PURE__ */ (0,
|
|
3582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3541
3583
|
MenuRootComponent,
|
|
3542
3584
|
{
|
|
3543
3585
|
...{
|
|
@@ -3558,7 +3600,7 @@ var SingleSelectMenu = ({
|
|
|
3558
3600
|
// src/MultiSelectMenu/MultiSelectMenu.tsx
|
|
3559
3601
|
var import_react20 = require("react");
|
|
3560
3602
|
var import_downshift5 = require("downshift");
|
|
3561
|
-
var
|
|
3603
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
3562
3604
|
var MultiSelectMenu = ({
|
|
3563
3605
|
children: childrenProp,
|
|
3564
3606
|
menuItems,
|
|
@@ -3631,7 +3673,7 @@ var MultiSelectMenu = ({
|
|
|
3631
3673
|
},
|
|
3632
3674
|
...useSelectProps
|
|
3633
3675
|
});
|
|
3634
|
-
return /* @__PURE__ */ (0,
|
|
3676
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3635
3677
|
MenuRootComponent,
|
|
3636
3678
|
{
|
|
3637
3679
|
...{
|
|
@@ -3662,9 +3704,9 @@ var MultiSelectMenu = ({
|
|
|
3662
3704
|
var import_react23 = require("react");
|
|
3663
3705
|
|
|
3664
3706
|
// src/Autocomplete/SingleAutocomplete.tsx
|
|
3665
|
-
var import_react21 =
|
|
3707
|
+
var import_react21 = require("react");
|
|
3666
3708
|
var import_downshift6 = require("downshift");
|
|
3667
|
-
var
|
|
3709
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
3668
3710
|
var SingleAutocomplete = ({
|
|
3669
3711
|
children: childrenProp,
|
|
3670
3712
|
stateReducer: externalStateReducer,
|
|
@@ -3700,13 +3742,8 @@ var SingleAutocomplete = ({
|
|
|
3700
3742
|
...useComboboxProps
|
|
3701
3743
|
});
|
|
3702
3744
|
const { isOpen, closeMenu, inputValue } = useComboboxReturnProps;
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
if (allMenuItems && hiddenItemsCount >= allMenuItems.length && isOpen) {
|
|
3706
|
-
closeMenu?.();
|
|
3707
|
-
}
|
|
3708
|
-
}, [hiddenItemsCount, allMenuItems?.length, isOpen, inputValue]);
|
|
3709
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3745
|
+
const { popoutProps: userPopoutProps } = useComboboxProps;
|
|
3746
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
3710
3747
|
MenuRootComponent,
|
|
3711
3748
|
{
|
|
3712
3749
|
...{
|
|
@@ -3718,8 +3755,10 @@ var SingleAutocomplete = ({
|
|
|
3718
3755
|
...downshiftDefaults
|
|
3719
3756
|
},
|
|
3720
3757
|
popoutProps: {
|
|
3721
|
-
focusOnContent: false
|
|
3758
|
+
focusOnContent: false,
|
|
3759
|
+
...userPopoutProps
|
|
3722
3760
|
},
|
|
3761
|
+
autoCloseOnEmpty: true,
|
|
3723
3762
|
children
|
|
3724
3763
|
}
|
|
3725
3764
|
);
|
|
@@ -3728,7 +3767,7 @@ var SingleAutocomplete = ({
|
|
|
3728
3767
|
// src/Autocomplete/MultiAutocomplete.tsx
|
|
3729
3768
|
var import_react22 = __toESM(require("react"));
|
|
3730
3769
|
var import_downshift7 = require("downshift");
|
|
3731
|
-
var
|
|
3770
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
3732
3771
|
var MultiAutocomplete = ({
|
|
3733
3772
|
children: childrenProp,
|
|
3734
3773
|
stateReducer: externalStateReducer,
|
|
@@ -3835,13 +3874,14 @@ var MultiAutocomplete = ({
|
|
|
3835
3874
|
...useComboboxProps
|
|
3836
3875
|
});
|
|
3837
3876
|
const { isOpen, closeMenu, inputValue } = useComboboxReturnProps;
|
|
3877
|
+
const { popoutProps: userPopoutProps } = useComboboxProps;
|
|
3838
3878
|
import_react22.default.useEffect(() => {
|
|
3839
3879
|
if (!inputValue) return;
|
|
3840
3880
|
if (allMenuItems && hiddenItemsCount >= allMenuItems.length && isOpen) {
|
|
3841
3881
|
closeMenu?.();
|
|
3842
3882
|
}
|
|
3843
3883
|
}, [hiddenItemsCount, allMenuItems?.length, isOpen, inputValue]);
|
|
3844
|
-
return /* @__PURE__ */ (0,
|
|
3884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
3845
3885
|
MenuRootComponent,
|
|
3846
3886
|
{
|
|
3847
3887
|
...{
|
|
@@ -3860,29 +3900,31 @@ var MultiAutocomplete = ({
|
|
|
3860
3900
|
...downshiftDefaults
|
|
3861
3901
|
},
|
|
3862
3902
|
popoutProps: {
|
|
3863
|
-
focusOnContent: false
|
|
3903
|
+
focusOnContent: false,
|
|
3904
|
+
...userPopoutProps
|
|
3864
3905
|
},
|
|
3906
|
+
autoCloseOnEmpty: true,
|
|
3865
3907
|
children
|
|
3866
3908
|
}
|
|
3867
3909
|
);
|
|
3868
3910
|
};
|
|
3869
3911
|
|
|
3870
3912
|
// src/Autocomplete/Autocomplete.tsx
|
|
3871
|
-
var
|
|
3913
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
3872
3914
|
var Autocomplete = ({
|
|
3873
3915
|
multiSelect = false,
|
|
3874
3916
|
...rest
|
|
3875
3917
|
}) => {
|
|
3876
3918
|
if (multiSelect) {
|
|
3877
|
-
return /* @__PURE__ */ (0,
|
|
3919
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(MultiAutocomplete, { ...rest });
|
|
3878
3920
|
}
|
|
3879
|
-
return /* @__PURE__ */ (0,
|
|
3921
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(SingleAutocomplete, { ...rest });
|
|
3880
3922
|
};
|
|
3881
3923
|
|
|
3882
3924
|
// src/Autocomplete/AutocompleteInput.tsx
|
|
3883
3925
|
var import_react24 = require("react");
|
|
3884
3926
|
var import_seeds_react_input2 = require("@sproutsocial/seeds-react-input");
|
|
3885
|
-
var
|
|
3927
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
3886
3928
|
var AutocompleteInput = ({
|
|
3887
3929
|
onKeyDown,
|
|
3888
3930
|
onChange,
|
|
@@ -3893,7 +3935,7 @@ var AutocompleteInput = ({
|
|
|
3893
3935
|
...rest
|
|
3894
3936
|
}) => {
|
|
3895
3937
|
const { getInputComponentProps, inputValue, ref, ariaProps } = useMenuToggleContext();
|
|
3896
|
-
return /* @__PURE__ */ (0,
|
|
3938
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
3897
3939
|
import_seeds_react_input2.Input,
|
|
3898
3940
|
{
|
|
3899
3941
|
id: "autocomplete_input",
|
|
@@ -3919,7 +3961,7 @@ var AutocompleteInput = ({
|
|
|
3919
3961
|
|
|
3920
3962
|
// src/Autocomplete/AutocompleteTokenInput.tsx
|
|
3921
3963
|
var import_react25 = require("react");
|
|
3922
|
-
var
|
|
3964
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
3923
3965
|
var AutocompleteTokenInput = ({
|
|
3924
3966
|
onKeyDown,
|
|
3925
3967
|
onChange,
|
|
@@ -3938,7 +3980,7 @@ var AutocompleteTokenInput = ({
|
|
|
3938
3980
|
ref,
|
|
3939
3981
|
ariaProps
|
|
3940
3982
|
} = useMenuToggleContext();
|
|
3941
|
-
return /* @__PURE__ */ (0,
|
|
3983
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
3942
3984
|
MenuTokenInput,
|
|
3943
3985
|
{
|
|
3944
3986
|
id: "autocomplete_input",
|
|
@@ -3963,19 +4005,19 @@ var AutocompleteTokenInput = ({
|
|
|
3963
4005
|
// src/Autocomplete/AutocompleteSelect.tsx
|
|
3964
4006
|
var import_seeds_react_icon4 = __toESM(require("@sproutsocial/seeds-react-icon"));
|
|
3965
4007
|
var import_react26 = require("react");
|
|
3966
|
-
var
|
|
4008
|
+
var import_styled_components14 = __toESM(require("styled-components"));
|
|
3967
4009
|
var import_seeds_react_input3 = require("@sproutsocial/seeds-react-input");
|
|
3968
|
-
var
|
|
3969
|
-
var StyledAutocompleteInput = (0,
|
|
4010
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
4011
|
+
var StyledAutocompleteInput = (0, import_styled_components14.default)(AutocompleteInput)`
|
|
3970
4012
|
${import_seeds_react_input3.Accessory} {
|
|
3971
4013
|
pointer-events: none;
|
|
3972
4014
|
}
|
|
3973
4015
|
`;
|
|
3974
4016
|
var AutocompleteSelect = (props) => {
|
|
3975
|
-
return /* @__PURE__ */ (0,
|
|
4017
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
3976
4018
|
StyledAutocompleteInput,
|
|
3977
4019
|
{
|
|
3978
|
-
elemAfter: /* @__PURE__ */ (0,
|
|
4020
|
+
elemAfter: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_seeds_react_icon4.default, { name: "chevron-down" }),
|
|
3979
4021
|
...props
|
|
3980
4022
|
}
|
|
3981
4023
|
);
|
|
@@ -4012,7 +4054,7 @@ var nestedMenuStateReducer = (_state, actionAndChanges) => {
|
|
|
4012
4054
|
|
|
4013
4055
|
// src/NestedMenu/NestedMenuContext.tsx
|
|
4014
4056
|
var import_react27 = require("react");
|
|
4015
|
-
var
|
|
4057
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
4016
4058
|
var defaultNestedMenuContext = {
|
|
4017
4059
|
selectedMenuPath: [],
|
|
4018
4060
|
setSelectedMenuId: () => {
|
|
@@ -4036,7 +4078,7 @@ var NestedMenuProvider = ({
|
|
|
4036
4078
|
children,
|
|
4037
4079
|
...nestedMenuProps
|
|
4038
4080
|
}) => {
|
|
4039
|
-
return /* @__PURE__ */ (0,
|
|
4081
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(NestedMenuContext.Provider, { value: nestedMenuProps, children });
|
|
4040
4082
|
};
|
|
4041
4083
|
var useNestedMenuContext = () => {
|
|
4042
4084
|
const nestedMenuContextValue = (0, import_react27.useContext)(NestedMenuContext);
|
|
@@ -4055,7 +4097,7 @@ var import_seeds_react_utilities3 = require("@sproutsocial/seeds-react-utilities
|
|
|
4055
4097
|
// src/NestedMenu/NestedMenuItem.tsx
|
|
4056
4098
|
var import_seeds_react_icon5 = require("@sproutsocial/seeds-react-icon");
|
|
4057
4099
|
var import_seeds_react_box4 = require("@sproutsocial/seeds-react-box");
|
|
4058
|
-
var
|
|
4100
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
4059
4101
|
var NestedMenuItem = ({
|
|
4060
4102
|
children,
|
|
4061
4103
|
childMenuId,
|
|
@@ -4071,15 +4113,15 @@ var NestedMenuItem = ({
|
|
|
4071
4113
|
}
|
|
4072
4114
|
}
|
|
4073
4115
|
} : {};
|
|
4074
|
-
return /* @__PURE__ */ (0,
|
|
4116
|
+
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: [
|
|
4075
4117
|
children,
|
|
4076
|
-
childMenuId && /* @__PURE__ */ (0,
|
|
4118
|
+
childMenuId && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenuItemActionRight, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_seeds_react_icon5.Icon, { name: "arrow-right-outline" }) })
|
|
4077
4119
|
] }) });
|
|
4078
4120
|
};
|
|
4079
4121
|
NestedMenuItem.__MENU_PRIMITIVE_TYPE = "MenuItem";
|
|
4080
4122
|
|
|
4081
4123
|
// src/NestedMenu/NestedMenuContent.tsx
|
|
4082
|
-
var
|
|
4124
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
4083
4125
|
var NestedMenuContent = ({
|
|
4084
4126
|
innerRef: innerRefProp = null,
|
|
4085
4127
|
onKeyDown: onKeyDownProp,
|
|
@@ -4116,7 +4158,7 @@ var NestedMenuContent = ({
|
|
|
4116
4158
|
break;
|
|
4117
4159
|
}
|
|
4118
4160
|
};
|
|
4119
|
-
return /* @__PURE__ */ (0,
|
|
4161
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
4120
4162
|
MenuContent,
|
|
4121
4163
|
{
|
|
4122
4164
|
onKeyDown,
|
|
@@ -4132,17 +4174,17 @@ NestedMenuContent.__MENU_PRIMITIVE_TYPE = "MenuContent";
|
|
|
4132
4174
|
var import_seeds_react_button2 = require("@sproutsocial/seeds-react-button");
|
|
4133
4175
|
var import_seeds_react_icon6 = require("@sproutsocial/seeds-react-icon");
|
|
4134
4176
|
var import_react29 = require("motion/react");
|
|
4135
|
-
var
|
|
4177
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
4136
4178
|
var NestedMenuHeader = ({
|
|
4137
4179
|
backArrowLabel,
|
|
4138
4180
|
...props
|
|
4139
4181
|
}) => {
|
|
4140
4182
|
const { goBack, selectedMenuPath, animationSpeed } = useNestedMenuContext();
|
|
4141
4183
|
const showBackArrow = selectedMenuPath.length > 1;
|
|
4142
|
-
return /* @__PURE__ */ (0,
|
|
4184
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4143
4185
|
MenuHeader,
|
|
4144
4186
|
{
|
|
4145
|
-
leftAction: /* @__PURE__ */ (0,
|
|
4187
|
+
leftAction: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react29.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
4146
4188
|
import_react29.motion.div,
|
|
4147
4189
|
{
|
|
4148
4190
|
initial: { opacity: 0 },
|
|
@@ -4151,7 +4193,7 @@ var NestedMenuHeader = ({
|
|
|
4151
4193
|
opacity: 0,
|
|
4152
4194
|
transition: { duration: animationSpeed }
|
|
4153
4195
|
},
|
|
4154
|
-
children: showBackArrow ? /* @__PURE__ */ (0,
|
|
4196
|
+
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
|
|
4155
4197
|
},
|
|
4156
4198
|
`${selectedMenuPath}-header--button`
|
|
4157
4199
|
) }),
|
|
@@ -4162,7 +4204,7 @@ var NestedMenuHeader = ({
|
|
|
4162
4204
|
|
|
4163
4205
|
// src/NestedMenu/NestedMenuRoot.tsx
|
|
4164
4206
|
var import_react30 = __toESM(require("react"));
|
|
4165
|
-
var
|
|
4207
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
4166
4208
|
var NestedMenuRoot = ({
|
|
4167
4209
|
children,
|
|
4168
4210
|
menuToggleElement,
|
|
@@ -4177,14 +4219,14 @@ var NestedMenuRoot = ({
|
|
|
4177
4219
|
menuContext.selectedItem,
|
|
4178
4220
|
menuContext.selectedItems?.length
|
|
4179
4221
|
]);
|
|
4180
|
-
return /* @__PURE__ */ (0,
|
|
4222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MenuContentProvider, { menuContext, children });
|
|
4181
4223
|
};
|
|
4182
4224
|
|
|
4183
4225
|
// src/NestedMenu/NestedMenuPopout.tsx
|
|
4184
4226
|
var import_react31 = require("motion/react");
|
|
4185
|
-
var
|
|
4186
|
-
var
|
|
4187
|
-
var StyledDiv = (0,
|
|
4227
|
+
var import_styled_components15 = __toESM(require("styled-components"));
|
|
4228
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
4229
|
+
var StyledDiv = (0, import_styled_components15.default)(import_react31.motion.div)`
|
|
4188
4230
|
overflow: hidden;
|
|
4189
4231
|
`;
|
|
4190
4232
|
var NestedMenuPopout = ({
|
|
@@ -4194,7 +4236,7 @@ var NestedMenuPopout = ({
|
|
|
4194
4236
|
...popoutProps
|
|
4195
4237
|
}) => {
|
|
4196
4238
|
const { activeMenuContext, rootMenuContextProps, resetSelectedMenuPath } = useNestedMenuContext();
|
|
4197
|
-
return /* @__PURE__ */ (0,
|
|
4239
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
4198
4240
|
MenuPopout,
|
|
4199
4241
|
{
|
|
4200
4242
|
...popoutProps,
|
|
@@ -4203,8 +4245,8 @@ var NestedMenuPopout = ({
|
|
|
4203
4245
|
openMenu: rootMenuContextProps.openMenu,
|
|
4204
4246
|
closeMenu: rootMenuContextProps.closeMenu,
|
|
4205
4247
|
width: width2,
|
|
4206
|
-
content: (props) => /* @__PURE__ */ (0,
|
|
4207
|
-
children: (toggleProps) => /* @__PURE__ */ (0,
|
|
4248
|
+
content: (props) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StyledDiv, { layout: "position", children: typeof content === "function" ? content(props) : content }),
|
|
4249
|
+
children: (toggleProps) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
4208
4250
|
MenuToggleProvider,
|
|
4209
4251
|
{
|
|
4210
4252
|
menuContext: {
|
|
@@ -4220,7 +4262,7 @@ var NestedMenuPopout = ({
|
|
|
4220
4262
|
};
|
|
4221
4263
|
|
|
4222
4264
|
// src/NestedMenu/NestedMenu.tsx
|
|
4223
|
-
var
|
|
4265
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
4224
4266
|
var NestedMenu = ({
|
|
4225
4267
|
initialMenuId,
|
|
4226
4268
|
menus,
|
|
@@ -4374,7 +4416,7 @@ var NestedMenu = ({
|
|
|
4374
4416
|
initialIsOpen: true,
|
|
4375
4417
|
children: (
|
|
4376
4418
|
// Handles the smooth animating of the content
|
|
4377
|
-
/* @__PURE__ */ (0,
|
|
4419
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react33.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
4378
4420
|
import_react33.motion.div,
|
|
4379
4421
|
{
|
|
4380
4422
|
variants: contentVariants,
|
|
@@ -4383,7 +4425,7 @@ var NestedMenu = ({
|
|
|
4383
4425
|
exit: "leave",
|
|
4384
4426
|
custom: { isAdding, hasLoadedOnce },
|
|
4385
4427
|
children: [
|
|
4386
|
-
MenuHeaderComponent && /* @__PURE__ */ (0,
|
|
4428
|
+
MenuHeaderComponent && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4387
4429
|
MenuHeaderComponent,
|
|
4388
4430
|
{
|
|
4389
4431
|
backArrowLabel,
|
|
@@ -4391,7 +4433,7 @@ var NestedMenu = ({
|
|
|
4391
4433
|
}
|
|
4392
4434
|
),
|
|
4393
4435
|
children && children,
|
|
4394
|
-
menuItems && !children && /* @__PURE__ */ (0,
|
|
4436
|
+
menuItems && !children && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4395
4437
|
NestedMenuContent,
|
|
4396
4438
|
{
|
|
4397
4439
|
menuItems,
|
|
@@ -4405,7 +4447,7 @@ var NestedMenu = ({
|
|
|
4405
4447
|
),
|
|
4406
4448
|
...restMenuProps
|
|
4407
4449
|
};
|
|
4408
|
-
return /* @__PURE__ */ (0,
|
|
4450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4409
4451
|
NestedMenuProvider,
|
|
4410
4452
|
{
|
|
4411
4453
|
...{
|
|
@@ -4419,11 +4461,11 @@ var NestedMenu = ({
|
|
|
4419
4461
|
setActiveMenuContext,
|
|
4420
4462
|
animationSpeed
|
|
4421
4463
|
},
|
|
4422
|
-
children: /* @__PURE__ */ (0,
|
|
4464
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4423
4465
|
NestedMenuPopout,
|
|
4424
4466
|
{
|
|
4425
4467
|
content: MenuComponent && // Handles the rerender of the component
|
|
4426
|
-
/* @__PURE__ */ (0,
|
|
4468
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react33.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
4427
4469
|
import_react33.motion.div,
|
|
4428
4470
|
{
|
|
4429
4471
|
variants: menuVariants,
|
|
@@ -4431,7 +4473,7 @@ var NestedMenu = ({
|
|
|
4431
4473
|
animate: "enter",
|
|
4432
4474
|
exit: "leave",
|
|
4433
4475
|
custom: { isAdding, hasLoadedOnce },
|
|
4434
|
-
children: /* @__PURE__ */ (0,
|
|
4476
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(MenuComponent, { ...nestedMenuProps })
|
|
4435
4477
|
},
|
|
4436
4478
|
`${currentMenuId}-content`
|
|
4437
4479
|
) }),
|