@sproutsocial/seeds-react-menu 0.1.0 → 0.2.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.
Files changed (54) hide show
  1. package/.turbo/turbo-build.log +10 -10
  2. package/CHANGELOG.md +17 -1
  3. package/dist/esm/index.js +209 -198
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/index.d.mts +103 -37
  6. package/dist/index.d.ts +103 -37
  7. package/dist/index.js +239 -229
  8. package/dist/index.js.map +1 -1
  9. package/package.json +6 -5
  10. package/src/ActionMenu/ActionMenu.feature +9 -3
  11. package/src/ActionMenu/ActionMenu.tsx +75 -42
  12. package/src/ActionMenu/__tests__/ActionMenu.test.tsx +36 -42
  13. package/src/ActionMenu/__tests__/ActionMenu.typetest.tsx +13 -13
  14. package/src/MenuContent/MenuContent.tsx +31 -1
  15. package/src/MenuContent/MenuContentTypes.ts +2 -2
  16. package/src/MenuContent/styles.tsx +10 -6
  17. package/src/MenuFooter/MenuFooter.feature +1 -1
  18. package/src/MenuFooter/MenuFooter.tsx +8 -0
  19. package/src/MenuFooter/__tests__/MenuFooter.test.tsx +53 -26
  20. package/src/MenuFooter/styles.tsx +1 -1
  21. package/src/MenuGroup/MenuGroup.feature +14 -26
  22. package/src/MenuGroup/MenuGroup.tsx +21 -1
  23. package/src/MenuGroup/__tests__/MenuGroup.test.tsx +40 -6
  24. package/src/MenuGroup/styles.tsx +4 -3
  25. package/src/MenuHeader/MenuHeader.tsx +16 -5
  26. package/src/MenuHeader/__tests__/MenuHeader.test.tsx +50 -6
  27. package/src/MenuHeader/styles.tsx +21 -22
  28. package/src/MenuItem/MenuItem.feature +66 -26
  29. package/src/MenuItem/MenuItem.tsx +35 -20
  30. package/src/MenuItem/MenuItemTypes.ts +13 -1
  31. package/src/MenuItem/__tests__/MenuItem.test.tsx +431 -154
  32. package/src/MenuItem/__tests__/MenuItem.typetest.tsx +57 -38
  33. package/src/MenuItem/styles.tsx +42 -3
  34. package/src/{MenuItemSelectable/MenuItemSelectable.tsx → MenuItem/useOptionProps.tsx} +31 -54
  35. package/src/MenuRoot/MenuRoot.tsx +12 -17
  36. package/src/MenuRoot/__tests__/MenuRoot.test.tsx +3 -3
  37. package/src/MenuRoot/__tests__/MenuRoot.typetest.tsx +10 -10
  38. package/src/MultiSelectMenu/MultiSelectMenu.tsx +8 -1
  39. package/src/MultiSelectMenu/__tests__/MultiSelectMenu.test.tsx +19 -19
  40. package/src/MultiSelectMenu/__tests__/MultiSelectMenu.typetest.tsx +10 -10
  41. package/src/SingleSelectMenu/SingleSelectMenu.feature +11 -0
  42. package/src/SingleSelectMenu/SingleSelectMenu.tsx +9 -0
  43. package/src/SingleSelectMenu/__tests__/SingleSelectMenu.test.tsx +11 -14
  44. package/src/SingleSelectMenu/__tests__/SingleSelectMenu.typetest.tsx +14 -14
  45. package/src/__tests__/Menu.test.tsx +20 -16
  46. package/src/hooks/useItemsFromChildren.tsx +1 -4
  47. package/src/index.ts +0 -1
  48. package/src/menuTestingUtils.tsx +7 -4
  49. package/src/MenuItemSelectable/MenuItemSelectable.feature +0 -99
  50. package/src/MenuItemSelectable/MenuItemSelectableTypes.ts +0 -15
  51. package/src/MenuItemSelectable/__tests__/MenuItemSelectable.test.tsx +0 -303
  52. package/src/MenuItemSelectable/__tests__/MenuItemSelectable.typetest.tsx +0 -56
  53. package/src/MenuItemSelectable/index.ts +0 -5
  54. package/src/MenuItemSelectable/styles.tsx +0 -21
package/dist/index.js CHANGED
@@ -111,20 +111,19 @@ __export(src_exports, {
111
111
  MenuGroup: () => MenuGroup,
112
112
  MenuHeader: () => MenuHeader,
113
113
  MenuItem: () => MenuItem,
114
+ MenuItemAction: () => MenuItemAction,
114
115
  MenuItemContainer: () => MenuItemContainer,
115
- MenuItemSelectable: () => MenuItemSelectable,
116
- MenuItemSelectableAction: () => MenuItemSelectableAction,
117
- MenuItemSelectableRow: () => MenuItemSelectableRow,
118
- MenuItemSelectableText: () => MenuItemSelectableText,
116
+ MenuItemRow: () => MenuItemRow,
117
+ MenuItemText: () => MenuItemText,
119
118
  MenuLabel: () => MenuLabel,
120
119
  MenuProvider: () => MenuProvider,
121
120
  MenuRoot: () => MenuRoot,
122
121
  MenuToggleButton: () => MenuToggleButton,
123
122
  MultiSelectMenu: () => MultiSelectMenu,
124
- SelectionIndicator: () => SelectionIndicator,
125
123
  SingleSelectMenu: () => SingleSelectMenu,
126
124
  StyledMenuGroup: () => StyledMenuGroup,
127
125
  StyledMenuGroupUl: () => StyledMenuGroupUl,
126
+ StyledMenuItem: () => StyledMenuItem,
128
127
  StyledTitle: () => StyledTitle,
129
128
  defaultUseSelectProps: () => defaultUseSelectProps,
130
129
  useItemsFromChildren: () => useItemsFromChildren,
@@ -135,7 +134,7 @@ __export(src_exports, {
135
134
  module.exports = __toCommonJS(src_exports);
136
135
 
137
136
  // src/MenuItem/MenuItem.tsx
138
- var import_react2 = require("react");
137
+ var import_react3 = require("react");
139
138
 
140
139
  // src/MenuContext.tsx
141
140
  var import_react = require("react");
@@ -184,15 +183,6 @@ var useMenuContext = () => {
184
183
  return menuContextValue;
185
184
  };
186
185
 
187
- // src/constants.ts
188
- var MENU_ITEM_ROLES = {
189
- MENUITEM: "menuitem",
190
- LISTITEM: "listitem",
191
- OPTION: "option",
192
- RADIO: "menuitemradio",
193
- CHECKBOX: "menuitemcheckbox"
194
- };
195
-
196
186
  // src/MenuItem/styles.tsx
197
187
  var import_styled_components2 = __toESM(require("styled-components"));
198
188
 
@@ -1741,17 +1731,35 @@ var highlightedStyles = import_styled_components2.css`
1741
1731
  background-color: ${({ theme: theme2 }) => theme2.colors.listItem.background.hover};
1742
1732
  `;
1743
1733
  var MenuItemContainer = import_styled_components2.default.li`
1734
+ box-sizing: border-box;
1735
+ list-style-type: none;
1736
+ margin-left: ${({ theme: theme2 }) => theme2.space[300]};
1737
+ margin-right: ${({ theme: theme2 }) => theme2.space[300]};
1738
+ transition: all ${({ theme: theme2 }) => theme2.duration["fast"]};
1739
+
1740
+ &:first-child {
1741
+ margin-top: ${({ theme: theme2 }) => theme2.space[300]};
1742
+ }
1743
+
1744
+ &:last-child {
1745
+ margin-bottom: ${({ theme: theme2 }) => theme2.space[300]};
1746
+ }
1747
+ `;
1748
+ var StyledMenuItem = import_styled_components2.default.div`
1749
+ display: block;
1750
+ box-sizing: border-box;
1751
+ width: 100%;
1744
1752
  border-radius: ${({ theme: theme2 }) => theme2.radii[500]};
1745
1753
  background-color: ${({ theme: theme2 }) => theme2.colors.listItem.background.base};
1746
1754
  border: 1px solid ${({ theme: theme2 }) => theme2.colors.listItem.background.base};
1747
1755
  color: ${({ theme: theme2 }) => theme2.colors.text.body};
1748
1756
  font-family: ${({ theme: theme2 }) => theme2.fontFamily};
1749
1757
  font-weight: ${({ theme: theme2 }) => theme2.fontWeights.normal};
1758
+ text-align: left;
1759
+ text-decoration: none;
1750
1760
  padding: ${({ theme: theme2 }) => theme2.space[300]};
1751
- list-style-type: none;
1752
1761
  outline: 0;
1753
1762
  ${({ theme: theme2 }) => theme2.typography[200]};
1754
- transition: all ${({ theme: theme2 }) => theme2.duration["fast"]};
1755
1763
 
1756
1764
  /* Highlighted */
1757
1765
  ${({ $highlighted }) => $highlighted && highlightedStyles}
@@ -1793,170 +1801,162 @@ var MenuItemContainer = import_styled_components2.default.li`
1793
1801
  ${layout}
1794
1802
  ${space}
1795
1803
  `;
1796
-
1797
- // src/MenuItem/MenuItem.tsx
1798
- var import_jsx_runtime2 = require("react/jsx-runtime");
1799
- var MenuItem = ({
1800
- id,
1801
- children,
1802
- role = "menuitem",
1803
- label,
1804
- onClick,
1805
- onKeyDown,
1806
- disabled: disabled2 = false,
1807
- ref,
1808
- color: color2,
1809
- ...props
1810
- }) => {
1811
- const { getItemProps, itemsMap, highlightedIndex, isListbox } = (0, import_react2.useContext)(MenuContext);
1812
- const item = itemsMap[id] || { index: 0, id };
1813
- const highlighted = highlightedIndex === item?.index;
1814
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
1815
- MenuItemContainer,
1816
- {
1817
- id,
1818
- tabIndex: role !== MENU_ITEM_ROLES.LISTITEM && !disabled2 ? -1 : void 0,
1819
- $highlighted: highlighted,
1820
- ...getItemProps?.({
1821
- ...isListbox ? {} : { role: "menuitem" },
1822
- item,
1823
- index: item.index,
1824
- // This prop no longer supported in downshift
1825
- // disabled,
1826
- onClick,
1827
- onKeyDown
1828
- }),
1829
- ...props,
1830
- children
1831
- }
1832
- );
1833
- };
1834
-
1835
- // src/MenuItemSelectable/MenuItemSelectable.tsx
1836
- var import_react3 = require("react");
1837
- var import_seeds_react_icon = require("@sproutsocial/seeds-react-icon");
1838
- var import_seeds_react_checkbox2 = require("@sproutsocial/seeds-react-checkbox");
1839
- var import_seeds_react_switch = require("@sproutsocial/seeds-react-switch");
1840
- var import_seeds_react_radio = require("@sproutsocial/seeds-react-radio");
1841
- var import_styled_components4 = require("styled-components");
1842
- var import_seeds_react_box = require("@sproutsocial/seeds-react-box");
1843
-
1844
- // src/MenuItemSelectable/styles.tsx
1845
- var import_styled_components3 = __toESM(require("styled-components"));
1846
- var MenuItemSelectableRow = import_styled_components3.default.div`
1804
+ var MenuItemRow = import_styled_components2.default.div`
1847
1805
  display: flex;
1848
1806
  align-items: center;
1849
1807
  pointer-events: none;
1850
1808
  `;
1851
- var MenuItemSelectableAction = import_styled_components3.default.div`
1809
+ var MenuItemAction = import_styled_components2.default.div`
1852
1810
  margin-right: ${({ theme: theme2 }) => theme2.space[300]};
1853
1811
  display: flex;
1854
1812
  align-items: center;
1855
1813
  justify-content: center;
1856
1814
  flex-shrink: 0;
1857
1815
  `;
1858
- var MenuItemSelectableText = import_styled_components3.default.div`
1816
+ var MenuItemText = import_styled_components2.default.div`
1859
1817
  word-break: break-word;
1860
1818
  flex-grow: 1;
1861
1819
  min-width: 0;
1862
1820
  `;
1863
1821
 
1864
- // src/MenuItemSelectable/MenuItemSelectable.tsx
1865
- var import_jsx_runtime3 = require("react/jsx-runtime");
1822
+ // src/MenuItem/useOptionProps.tsx
1823
+ var import_react2 = require("react");
1824
+ var import_seeds_react_icon = require("@sproutsocial/seeds-react-icon");
1825
+ var import_seeds_react_checkbox2 = require("@sproutsocial/seeds-react-checkbox");
1826
+ var import_seeds_react_switch = require("@sproutsocial/seeds-react-switch");
1827
+ var import_seeds_react_radio = require("@sproutsocial/seeds-react-radio");
1828
+ var import_styled_components3 = require("styled-components");
1829
+ var import_seeds_react_box = require("@sproutsocial/seeds-react-box");
1830
+ var import_jsx_runtime2 = require("react/jsx-runtime");
1866
1831
  var SelectionIndicator = ({
1867
1832
  id,
1868
1833
  inputType = "icon",
1869
1834
  "aria-labelledby": labeledBy,
1870
1835
  selected
1871
1836
  }) => {
1872
- const { space: space2 } = (0, import_styled_components4.useTheme)();
1837
+ const { space: space2 } = (0, import_styled_components3.useTheme)();
1873
1838
  const inputStub = (e) => {
1874
1839
  e.stopPropagation();
1875
1840
  };
1876
1841
  switch (inputType) {
1877
1842
  case "checkbox":
1878
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1843
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
1879
1844
  import_seeds_react_checkbox2.Checkbox,
1880
1845
  {
1881
1846
  onChange: () => {
1882
1847
  },
1883
1848
  checked: selected,
1884
1849
  "aria-labelledby": labeledBy,
1885
- id: `MenuItemSelectable-${inputType}-${id}`
1850
+ id: `MenuItem-${inputType}-${id}`
1886
1851
  }
1887
1852
  );
1888
1853
  case "switch":
1889
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1854
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
1890
1855
  import_seeds_react_switch.Switch,
1891
1856
  {
1892
1857
  onClick: inputStub,
1893
1858
  checked: !!selected,
1894
1859
  "aria-labelledby": labeledBy,
1895
- id: `MenuItemSelectable-${inputType}-${id}`
1860
+ id: `MenuItem-${inputType}-${id}`
1896
1861
  }
1897
1862
  );
1898
1863
  case "radio":
1899
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1864
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
1900
1865
  import_seeds_react_radio.Radio,
1901
1866
  {
1902
1867
  checked: selected,
1903
- id: `MenuItemSelectable-${inputType}-${id}`,
1904
- name: `MenuItemSelectable-${inputType}`,
1868
+ id: `MenuItem-${inputType}-${id}`,
1869
+ name: `MenuItem-${inputType}`,
1905
1870
  "aria-labelledby": labeledBy
1906
1871
  }
1907
1872
  );
1908
1873
  case "icon":
1909
1874
  if (selected) {
1910
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_seeds_react_icon.Icon, { name: "check-solid", "aria-hidden": true, size: "small" });
1875
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_seeds_react_icon.Icon, { name: "check-solid", "aria-hidden": true, size: "small" });
1911
1876
  } else {
1912
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_seeds_react_box.Box, { width: space2["400"] });
1877
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_seeds_react_box.Box, { width: space2["400"] });
1913
1878
  }
1914
1879
  default:
1915
1880
  return null;
1916
1881
  }
1917
1882
  };
1918
- var MenuItemSelectable = ({
1883
+ var useOptionProps = ({
1919
1884
  id,
1920
1885
  children,
1921
1886
  inputType = "icon",
1922
- inputLabel,
1887
+ inputLabelId,
1923
1888
  ...props
1924
1889
  }) => {
1925
- const { selectedItem, selectedItems, isListbox } = (0, import_react3.useContext)(MenuContext);
1926
- const selected = (0, import_react3.useMemo)(
1890
+ const { selectedItem, selectedItems, isListbox } = (0, import_react2.useContext)(MenuContext);
1891
+ const selected = (0, import_react2.useMemo)(
1927
1892
  () => selectedItem?.id === id || !!selectedItems?.find((item) => item?.id === id),
1928
1893
  [selectedItem, selectedItems]
1929
1894
  );
1930
- if (isListbox === false) {
1931
- console.warn(
1932
- "MenuItemSelectable is invalid when isListbox is false (Menu)"
1933
- );
1934
- }
1935
- const label = inputLabel || `menu-item-child-${id}`;
1936
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1937
- MenuItem,
1895
+ const label = inputLabelId || `menu-item-child-${id}`;
1896
+ return isListbox ? {
1897
+ active: selected,
1898
+ ["aria-selected"]: selected,
1899
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(MenuItemRow, { children: [
1900
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(MenuItemAction, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
1901
+ SelectionIndicator,
1902
+ {
1903
+ id,
1904
+ "aria-labelledby": label,
1905
+ inputType,
1906
+ selected: !!selected
1907
+ }
1908
+ ) }),
1909
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(MenuItemText, { id: label, children })
1910
+ ] }),
1911
+ ...props
1912
+ } : {};
1913
+ };
1914
+
1915
+ // src/MenuItem/MenuItem.tsx
1916
+ var import_jsx_runtime3 = require("react/jsx-runtime");
1917
+ var MenuItem = ({
1918
+ id,
1919
+ children,
1920
+ onClick,
1921
+ onKeyDown,
1922
+ disabled: disabled2 = false,
1923
+ ref,
1924
+ href,
1925
+ color: color2,
1926
+ ...props
1927
+ }) => {
1928
+ const { getItemProps, itemsMap, highlightedIndex, isListbox } = (0, import_react3.useContext)(MenuContext);
1929
+ const { ...optionProps } = useOptionProps({
1930
+ id,
1931
+ children,
1932
+ ...props
1933
+ });
1934
+ const item = itemsMap[id] || { index: 0, id };
1935
+ const highlighted = highlightedIndex === item?.index;
1936
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(MenuItemContainer, { role: "none", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1937
+ StyledMenuItem,
1938
1938
  {
1939
- active: selected,
1940
1939
  id,
1941
- "aria-selected": selected,
1942
- ...props,
1943
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(MenuItemSelectableRow, { children: [
1944
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(MenuItemSelectableAction, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1945
- SelectionIndicator,
1946
- {
1947
- id,
1948
- "aria-labelledby": label,
1949
- inputType,
1950
- selected: !!selected
1951
- }
1952
- ) }),
1953
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(MenuItemSelectableText, { id: label, children })
1954
- ] })
1940
+ $highlighted: highlighted,
1941
+ ...getItemProps?.({
1942
+ ...isListbox ? {} : { role: "menuitem" },
1943
+ item,
1944
+ index: item.index,
1945
+ // This prop no longer supported in downshift
1946
+ // disabled,
1947
+ onClick,
1948
+ onKeyDown
1949
+ }),
1950
+ as: isListbox ? void 0 : href ? "a" : "button",
1951
+ href,
1952
+ children,
1953
+ ...optionProps,
1954
+ ...props
1955
1955
  }
1956
- );
1956
+ ) });
1957
1957
  };
1958
1958
 
1959
- // src/MenuItemSelectable/MenuItemSelectableTypes.ts
1959
+ // src/MenuItem/MenuItemTypes.ts
1960
1960
  var INPUT_TYPES = {
1961
1961
  CHECKBOX: "checkbox",
1962
1962
  RADIO: "radio",
@@ -1968,8 +1968,8 @@ var INPUT_TYPES = {
1968
1968
  var import_react4 = require("react");
1969
1969
 
1970
1970
  // src/MenuHeader/styles.tsx
1971
- var import_styled_components5 = __toESM(require("styled-components"));
1972
- var MenuHeaderContainer = import_styled_components5.default.div`
1971
+ var import_styled_components4 = __toESM(require("styled-components"));
1972
+ var MenuHeaderContainer = import_styled_components4.default.div`
1973
1973
  border-color: ${({ theme: theme2 }) => theme2.colors.container.border.base};
1974
1974
  border-bottom-width: 1px;
1975
1975
  border-bottom-style: solid;
@@ -1977,26 +1977,9 @@ var MenuHeaderContainer = import_styled_components5.default.div`
1977
1977
  width: 100%;
1978
1978
  font-size: ${({ theme: theme2 }) => theme2.typography[200].fontSize};
1979
1979
  display: flex;
1980
+ flex-direction: column;
1980
1981
  padding: ${({ theme: theme2 }) => theme2.space[350]} ${({ theme: theme2 }) => theme2.space[400]};
1981
1982
 
1982
- > a {
1983
- white-space: nowrap;
1984
- }
1985
-
1986
- &:first-child {
1987
- flex-grow: 1;
1988
- justify-self: start;
1989
- }
1990
-
1991
- &:last-child {
1992
- flex-grow: 1;
1993
- justify-self: end;
1994
- }
1995
-
1996
- ${({ $leftAction, theme: theme2 }) => $leftAction && `
1997
- padding-left: ${theme2.space[350]};
1998
- `}
1999
-
2000
1983
  ${border}
2001
1984
  ${color}
2002
1985
  ${flexbox}
@@ -2005,23 +1988,40 @@ var MenuHeaderContainer = import_styled_components5.default.div`
2005
1988
  ${space}
2006
1989
  ${position}
2007
1990
  `;
2008
- var MenuTitleText = import_styled_components5.default.h3`
1991
+ var MenuTitleText = import_styled_components4.default.h3`
2009
1992
  color: ${({ theme: theme2 }) => theme2.colors.text.headline};
2010
1993
  font-weight: ${({ theme: theme2 }) => theme2.fontWeights.bold};
2011
1994
  margin: 0px;
2012
1995
  flex-grow: 2;
2013
1996
  justify-self: start;
2014
1997
 
1998
+ ${({ theme: theme2 }) => theme2.typography[200]}
1999
+
2015
2000
  ${({ $leftAction, theme: theme2 }) => $leftAction && `
2016
2001
  padding-left: ${theme2.space[350]};
2017
2002
  `}
2018
-
2019
- ${({ theme: theme2 }) => theme2.typography[200]}
2020
2003
  `;
2021
- var MenuChildrenContainer = import_styled_components5.default.div`
2004
+ var MenuChildrenContainer = import_styled_components4.default.div`
2022
2005
  grid-column: 1 / -1;
2023
2006
  margin-top: ${({ theme: theme2 }) => theme2.space[300]};
2024
2007
  `;
2008
+ var MenuHeaderFeatures = import_styled_components4.default.div`
2009
+ display: flex;
2010
+
2011
+ > a {
2012
+ white-space: nowrap;
2013
+ }
2014
+
2015
+ &:first-child {
2016
+ flex-grow: 1;
2017
+ justify-self: start;
2018
+ }
2019
+
2020
+ &:last-child {
2021
+ flex-grow: 1;
2022
+ justify-self: end;
2023
+ }
2024
+ `;
2025
2025
 
2026
2026
  // src/MenuHeader/MenuHeader.tsx
2027
2027
  var import_jsx_runtime4 = require("react/jsx-runtime");
@@ -2033,21 +2033,21 @@ var MenuHeader = ({
2033
2033
  ...rest
2034
2034
  }) => {
2035
2035
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(MenuHeaderContainer, { $leftAction: !!leftAction, ...rest, children: [
2036
- leftAction && leftAction,
2037
- title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuTitleText, { $leftAction: !!leftAction, children: title }),
2038
- rightAction && rightAction,
2036
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(MenuHeaderFeatures, { $leftAction: !!leftAction, children: [
2037
+ leftAction && leftAction,
2038
+ title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuTitleText, { $leftAction: !!leftAction, children: title }),
2039
+ rightAction && rightAction
2040
+ ] }),
2039
2041
  children && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuChildrenContainer, { children })
2040
2042
  ] }) });
2041
2043
  };
2042
2044
 
2043
2045
  // src/MenuContent/styles.tsx
2044
- var import_styled_components6 = __toESM(require("styled-components"));
2045
- var StyledMenuContent = import_styled_components6.default.ul`
2046
+ var import_styled_components5 = __toESM(require("styled-components"));
2047
+ var import_react5 = require("motion/react");
2048
+ var StyledMenuContent = (0, import_styled_components5.default)(import_react5.motion.ul)`
2046
2049
  margin: 0;
2047
- padding: ${({ theme: theme2 }) => theme2.space[300]} 0;
2048
- &:focus {
2049
- ${focusRing}
2050
- }
2050
+ padding: 0;
2051
2051
  `;
2052
2052
 
2053
2053
  // src/MenuContent/MenuContent.tsx
@@ -2057,7 +2057,7 @@ var MenuContent = ({
2057
2057
  children,
2058
2058
  ...rest
2059
2059
  }) => {
2060
- const { getToggleButtonProps } = useMenuContext();
2060
+ const { getToggleButtonProps, getMenuProps, isListbox } = useMenuContext();
2061
2061
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2062
2062
  StyledMenuContent,
2063
2063
  {
@@ -2066,6 +2066,13 @@ var MenuContent = ({
2066
2066
  tabIndex: 0,
2067
2067
  onKeyDown: getToggleButtonProps?.().onKeyDown,
2068
2068
  "aria-activedescendant": getToggleButtonProps?.()["aria-activedescendant"],
2069
+ ...getMenuProps?.(
2070
+ {
2071
+ ...isListbox ? {} : { role: "menu" }
2072
+ },
2073
+ // Suppress ref error for now
2074
+ { suppressRefError: true }
2075
+ ),
2069
2076
  ...rest,
2070
2077
  children
2071
2078
  }
@@ -2073,13 +2080,13 @@ var MenuContent = ({
2073
2080
  };
2074
2081
 
2075
2082
  // src/MenuFooter/MenuFooter.tsx
2076
- var import_react5 = require("react");
2083
+ var import_react6 = require("react");
2077
2084
 
2078
2085
  // src/MenuFooter/styles.tsx
2079
- var import_styled_components7 = __toESM(require("styled-components"));
2086
+ var import_styled_components6 = __toESM(require("styled-components"));
2080
2087
  var import_seeds_react_box2 = require("@sproutsocial/seeds-react-box");
2081
- var StyledMenuFooterBox = (0, import_styled_components7.default)(import_seeds_react_box2.Box)`
2082
- padding: ${(p) => p.theme.space[350]};
2088
+ var StyledMenuFooterBox = (0, import_styled_components6.default)(import_seeds_react_box2.Box)`
2089
+ padding: ${(p) => p.theme.space[400]};
2083
2090
  border-top: 1px solid ${(p) => p.theme.colors.container.border.base};
2084
2091
  `;
2085
2092
 
@@ -2090,19 +2097,19 @@ var MenuFooter = ({ children, ...rest }) => {
2090
2097
  };
2091
2098
 
2092
2099
  // src/MenuGroup/MenuGroup.tsx
2093
- var import_react8 = require("react");
2100
+ var import_react9 = require("react");
2094
2101
 
2095
2102
  // src/MenuGroup/styles.tsx
2096
- var import_styled_components10 = __toESM(require("styled-components"));
2103
+ var import_styled_components9 = __toESM(require("styled-components"));
2097
2104
 
2098
2105
  // ../seeds-react-text/dist/esm/index.js
2099
- var import_react6 = require("react");
2106
+ var import_react7 = require("react");
2107
+ var import_styled_components7 = __toESM(require("styled-components"));
2100
2108
  var import_styled_components8 = __toESM(require("styled-components"));
2101
- var import_styled_components9 = __toESM(require("styled-components"));
2102
2109
  var import_seeds_react_system_props = require("@sproutsocial/seeds-react-system-props");
2103
2110
  var import_jsx_runtime7 = require("react/jsx-runtime");
2104
- var import_react7 = require("react");
2105
- var Container = import_styled_components9.default.span`
2111
+ var import_react8 = require("react");
2112
+ var Container = import_styled_components8.default.span`
2106
2113
  margin: 0;
2107
2114
  padding-left: 0;
2108
2115
  padding-right: 0;
@@ -2111,14 +2118,14 @@ var Container = import_styled_components9.default.span`
2111
2118
  return props.isItalicized && "italic";
2112
2119
  }};
2113
2120
 
2114
- ${(props) => props.truncated && import_styled_components9.css`
2121
+ ${(props) => props.truncated && import_styled_components8.css`
2115
2122
  display: block;
2116
2123
  overflow: hidden;
2117
2124
  white-space: nowrap;
2118
2125
  text-overflow: ellipsis;
2119
2126
  `}
2120
2127
 
2121
- ${(props) => props.breakWord && import_styled_components9.css`
2128
+ ${(props) => props.breakWord && import_styled_components8.css`
2122
2129
  word-break: break-word;
2123
2130
  hyphens: auto;
2124
2131
  `}
@@ -2130,34 +2137,34 @@ var Container = import_styled_components9.default.span`
2130
2137
  ${import_seeds_react_system_props.TYPOGRAPHY}
2131
2138
  `;
2132
2139
  var styles_default = Container;
2133
- var Headline = (0, import_styled_components8.default)(styles_default)`
2140
+ var Headline = (0, import_styled_components7.default)(styles_default)`
2134
2141
  color: ${(props) => props.theme.colors.text.headline};
2135
2142
  font-weight: ${(props) => props.theme.fontWeights.bold};
2136
2143
  ${(props) => props.theme.typography[400]}
2137
2144
  `;
2138
- var SubHeadline = (0, import_styled_components8.default)(styles_default)`
2145
+ var SubHeadline = (0, import_styled_components7.default)(styles_default)`
2139
2146
  color: ${(props) => props.theme.colors.text.headline};
2140
2147
  font-weight: ${(props) => props.theme.fontWeights.bold};
2141
2148
  ${(props) => props.theme.typography[300]}
2142
2149
  `;
2143
- var SmallSubHeadline = (0, import_styled_components8.default)(styles_default)`
2150
+ var SmallSubHeadline = (0, import_styled_components7.default)(styles_default)`
2144
2151
  color: ${(props) => props.theme.colors.text.headline};
2145
2152
  font-weight: ${(props) => props.theme.fontWeights.bold};
2146
2153
  ${(props) => props.theme.typography[200]}
2147
2154
  `;
2148
- var Byline = (0, import_styled_components8.default)(styles_default)`
2155
+ var Byline = (0, import_styled_components7.default)(styles_default)`
2149
2156
  color: ${(props) => props.theme.colors.text.subtext};
2150
2157
  ${(props) => props.theme.typography[200]}
2151
2158
  `;
2152
- var SmallByline = (0, import_styled_components8.default)(styles_default)`
2159
+ var SmallByline = (0, import_styled_components7.default)(styles_default)`
2153
2160
  color: ${(props) => props.theme.colors.text.subtext};
2154
2161
  ${(props) => props.theme.typography[100]}
2155
2162
  `;
2156
- var BodyCopy = (0, import_styled_components8.default)(styles_default)`
2163
+ var BodyCopy = (0, import_styled_components7.default)(styles_default)`
2157
2164
  color: ${(props) => props.theme.colors.text.body};
2158
2165
  ${(props) => props.theme.typography[300]}
2159
2166
  `;
2160
- var SmallBodyCopy = (0, import_styled_components8.default)(styles_default)`
2167
+ var SmallBodyCopy = (0, import_styled_components7.default)(styles_default)`
2161
2168
  color: ${(props) => props.theme.colors.text.body};
2162
2169
  ${(props) => props.theme.typography[200]}
2163
2170
  `;
@@ -2193,13 +2200,14 @@ var Text_default = Text;
2193
2200
  var src_default = Text_default;
2194
2201
 
2195
2202
  // src/MenuGroup/styles.tsx
2196
- var StyledMenuGroup = import_styled_components10.default.li`
2203
+ var StyledMenuGroup = import_styled_components9.default.li`
2197
2204
  &:not(:last-child) {
2198
2205
  border-bottom: 1px solid
2199
2206
  ${({ theme: theme2 }) => theme2.colors.container.border.base};
2200
2207
  }
2201
2208
  list-style: none;
2202
2209
  margin: 0;
2210
+
2203
2211
  ${border}
2204
2212
  ${position}
2205
2213
  ${color}
@@ -2208,13 +2216,13 @@ var StyledMenuGroup = import_styled_components10.default.li`
2208
2216
  ${layout}
2209
2217
  ${space}
2210
2218
  `;
2211
- var StyledTitle = (0, import_styled_components10.default)(src_default.SmallSubHeadline)`
2212
- margin: ${({ theme: theme2 }) => theme2.space[200]} 0px
2213
- ${({ theme: theme2 }) => theme2.space[300]} ${({ theme: theme2 }) => theme2.space[300]};
2219
+ var StyledTitle = (0, import_styled_components9.default)(src_default.SmallSubHeadline)`
2220
+ margin: ${({ theme: theme2 }) => theme2.space[400]} ${({ theme: theme2 }) => theme2.space[400]}
2221
+ 0px ${({ theme: theme2 }) => theme2.space[400]};
2214
2222
  `;
2215
- var StyledMenuGroupUl = import_styled_components10.default.ul`
2223
+ var StyledMenuGroupUl = import_styled_components9.default.ul`
2216
2224
  margin: 0;
2217
- padding: ${({ theme: theme2 }) => theme2.space[300]};
2225
+ padding: 0;
2218
2226
  `;
2219
2227
 
2220
2228
  // src/MenuGroup/MenuGroup.tsx
@@ -2235,7 +2243,7 @@ var MenuGroup = ({
2235
2243
  color: color2,
2236
2244
  ...rest,
2237
2245
  children: [
2238
- title && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(StyledTitle, { as: titleAs, id: titleId, children: title }),
2246
+ title && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(StyledTitle, { role: "heading", as: titleAs, id: titleId, children: title }),
2239
2247
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(StyledMenuGroupUl, { children })
2240
2248
  ]
2241
2249
  }
@@ -2243,24 +2251,24 @@ var MenuGroup = ({
2243
2251
  };
2244
2252
 
2245
2253
  // src/MenuRoot/MenuRoot.tsx
2246
- var import_react9 = require("react");
2247
- var import_styled_components11 = __toESM(require("styled-components"));
2254
+ var import_react10 = require("react");
2255
+ var import_styled_components10 = __toESM(require("styled-components"));
2248
2256
  var import_seeds_react_popout = require("@sproutsocial/seeds-react-popout");
2249
2257
  var import_jsx_runtime9 = require("react/jsx-runtime");
2250
- var CustomPopoutContent = (0, import_styled_components11.default)(import_seeds_react_popout.Popout.Content)`
2258
+ var CustomPopoutContent = (0, import_styled_components10.default)(import_seeds_react_popout.Popout.Content)`
2251
2259
  padding: 0;
2252
2260
  margin-left: 0;
2253
2261
  margin-right: 0;
2254
2262
  `;
2255
2263
  var MenuRoot = ({
2256
2264
  children,
2257
- triggerElement,
2265
+ menuToggleElement,
2258
2266
  popoutProps,
2259
2267
  width: width2 = "300px",
2260
2268
  ...contextProps
2261
2269
  }) => {
2262
- const { isListbox, isOpen, openMenu, closeMenu, getMenuProps } = contextProps;
2263
- const setIsOpen = (0, import_react9.useCallback)(
2270
+ const { isOpen, openMenu, closeMenu } = contextProps;
2271
+ const setIsOpen = (0, import_react10.useCallback)(
2264
2272
  (newIsOpen) => {
2265
2273
  newIsOpen ? openMenu?.() : closeMenu?.();
2266
2274
  },
@@ -2271,19 +2279,7 @@ var MenuRoot = ({
2271
2279
  {
2272
2280
  isOpen: !!isOpen,
2273
2281
  setIsOpen,
2274
- content: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(CustomPopoutContent, { width: width2, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
2275
- "div",
2276
- {
2277
- ...getMenuProps?.(
2278
- {
2279
- ...isListbox ? {} : { role: "menu" }
2280
- },
2281
- // Suppress ref error for now
2282
- { suppressRefError: true }
2283
- ),
2284
- children
2285
- }
2286
- ) }),
2282
+ content: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(CustomPopoutContent, { width: width2, children }),
2287
2283
  focusLockProps: {
2288
2284
  // correct jerking motion when scrolling while the Popout is open
2289
2285
  // returnFocus: false,
@@ -2291,13 +2287,13 @@ var MenuRoot = ({
2291
2287
  },
2292
2288
  disableWrapperAria: true,
2293
2289
  ...popoutProps,
2294
- children: triggerElement
2290
+ children: menuToggleElement
2295
2291
  }
2296
2292
  ) });
2297
2293
  };
2298
2294
 
2299
2295
  // src/MenuLabel.tsx
2300
- var import_react10 = require("react");
2296
+ var import_react11 = require("react");
2301
2297
  var import_jsx_runtime10 = require("react/jsx-runtime");
2302
2298
  var MenuLabel = ({ children, ...rest }) => {
2303
2299
  const { getLabelProps } = useMenuContext();
@@ -2305,14 +2301,14 @@ var MenuLabel = ({ children, ...rest }) => {
2305
2301
  };
2306
2302
 
2307
2303
  // src/MenuToggleButton.tsx
2308
- var import_react11 = require("react");
2304
+ var import_react12 = require("react");
2309
2305
  var import_seeds_react_button = require("@sproutsocial/seeds-react-button");
2310
2306
  var import_jsx_runtime11 = require("react/jsx-runtime");
2311
2307
  var MenuToggleButton = ({
2312
2308
  children,
2313
2309
  ...rest
2314
2310
  }) => {
2315
- const { getToggleButtonProps, isListbox, getDropdownProps } = (0, import_react11.useContext)(MenuContext);
2311
+ const { getToggleButtonProps, isListbox, getDropdownProps } = (0, import_react12.useContext)(MenuContext);
2316
2312
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2317
2313
  import_seeds_react_button.Button,
2318
2314
  {
@@ -2330,11 +2326,11 @@ var MenuToggleButton = ({
2330
2326
  };
2331
2327
 
2332
2328
  // src/ActionMenu/ActionMenu.tsx
2333
- var import_react13 = require("react");
2329
+ var import_react14 = __toESM(require("react"));
2334
2330
  var import_downshift2 = require("downshift");
2335
2331
 
2336
2332
  // src/hooks/useItemsFromChildren.tsx
2337
- var import_react12 = __toESM(require("react"));
2333
+ var import_react13 = __toESM(require("react"));
2338
2334
  var walkAllChildren = (children, callback) => {
2339
2335
  const walk = (element, parents2) => {
2340
2336
  if (element === null || element === void 0)
@@ -2342,12 +2338,12 @@ var walkAllChildren = (children, callback) => {
2342
2338
  callback(element, parents2);
2343
2339
  const newParents = [...parents2, element];
2344
2340
  const children2 = element.props?.children;
2345
- import_react12.default.Children.toArray(children2).forEach((child) => {
2341
+ import_react13.default.Children.toArray(children2).forEach((child) => {
2346
2342
  walk(child, newParents);
2347
2343
  });
2348
2344
  };
2349
2345
  const parents = [];
2350
- import_react12.default.Children.toArray(children).forEach((child) => {
2346
+ import_react13.default.Children.toArray(children).forEach((child) => {
2351
2347
  walk(child, parents);
2352
2348
  });
2353
2349
  };
@@ -2357,7 +2353,7 @@ var checkIfIsElement = (element, name) => {
2357
2353
  var getAllMenuItems = (children) => {
2358
2354
  const allMenuItems = [];
2359
2355
  walkAllChildren(children, (element, parents) => {
2360
- if (checkIfIsElement(element, "MenuItem") || checkIfIsElement(element, "MenuItemSelectable")) {
2356
+ if (checkIfIsElement(element, "MenuItem")) {
2361
2357
  allMenuItems.push({
2362
2358
  element,
2363
2359
  parents
@@ -2369,7 +2365,7 @@ var getAllMenuItems = (children) => {
2369
2365
  var useItemsFromChildren = ({
2370
2366
  children
2371
2367
  }) => {
2372
- const { allMenuItems, menuItemsMap } = (0, import_react12.useMemo)(() => {
2368
+ const { allMenuItems, menuItemsMap } = (0, import_react13.useMemo)(() => {
2373
2369
  const allMenuItemElements = getAllMenuItems(children);
2374
2370
  const menuItemsMap2 = {};
2375
2371
  const allMenuItems2 = allMenuItemElements.map(
@@ -2417,37 +2413,50 @@ var itemToString = (item) => {
2417
2413
 
2418
2414
  // src/ActionMenu/ActionMenu.tsx
2419
2415
  var import_jsx_runtime12 = require("react/jsx-runtime");
2416
+ var handleStateChange = (changes, currentSelectedItem) => {
2417
+ if (!(changes.type === import_downshift2.useSelect.stateChangeTypes.ToggleButtonKeyDownEnter || changes.type === import_downshift2.useSelect.stateChangeTypes.ToggleButtonKeyDownSpaceButton)) {
2418
+ return;
2419
+ }
2420
+ const selectedItem = changes.selectedItem || currentSelectedItem;
2421
+ if (!selectedItem)
2422
+ return;
2423
+ if (selectedItem.element?.props?.disabled) {
2424
+ return;
2425
+ }
2426
+ const isEnterKeyDown = changes.type === import_downshift2.useSelect.stateChangeTypes.ToggleButtonKeyDownEnter;
2427
+ const selectedItemProps = selectedItem.element?.props;
2428
+ if (selectedItemProps?.onClick) {
2429
+ const syntheticKeyboardEvent = new KeyboardEvent("keydown", {
2430
+ key: isEnterKeyDown ? "Enter" : " ",
2431
+ code: isEnterKeyDown ? "Enter" : "Space",
2432
+ bubbles: true,
2433
+ cancelable: true,
2434
+ view: window
2435
+ });
2436
+ selectedItemProps?.onClick?.(
2437
+ syntheticKeyboardEvent
2438
+ );
2439
+ }
2440
+ if (selectedItemProps?.href) {
2441
+ if (selectedItemProps.target) {
2442
+ window.open(selectedItemProps.href, selectedItemProps.target);
2443
+ } else {
2444
+ window.location.href = selectedItemProps?.href;
2445
+ }
2446
+ }
2447
+ };
2420
2448
  var ActionMenu = ({
2421
2449
  children,
2422
2450
  stateReducer: externalStateReducer,
2423
2451
  ...useSelectProps
2424
2452
  }) => {
2425
2453
  const { allMenuItems, menuItemsMap } = useItemsFromChildren({ children });
2426
- const handleStateChange = (changes) => {
2427
- const { selectedItem } = changes;
2428
- if (selectedItem.element?.props?.disabled) {
2429
- return;
2430
- }
2431
- if (changes.type === import_downshift2.useSelect.stateChangeTypes.ToggleButtonKeyDownEnter || changes.type === import_downshift2.useSelect.stateChangeTypes.ToggleButtonKeyDownSpaceButton) {
2432
- const isEnterKeyDown = changes.type === import_downshift2.useSelect.stateChangeTypes.ToggleButtonKeyDownEnter;
2433
- const selectedItemProps = selectedItem.element?.props;
2434
- const syntheticKeyboardEvent = new KeyboardEvent("keydown", {
2435
- key: isEnterKeyDown ? "Enter" : " ",
2436
- code: isEnterKeyDown ? "Enter" : "Space",
2437
- bubbles: true,
2438
- cancelable: true,
2439
- view: window
2440
- });
2441
- selectedItemProps?.onClick?.(
2442
- syntheticKeyboardEvent
2443
- );
2444
- }
2445
- };
2454
+ const [currentSelectedItem, setCurrentSelectedItem] = import_react14.default.useState(null);
2446
2455
  const { isOpen, ...useSelectReturnProps } = (0, import_downshift2.useSelect)({
2447
2456
  ...defaultUseSelectProps,
2448
2457
  items: allMenuItems,
2449
2458
  itemToString,
2450
- onSelectedItemChange: handleStateChange,
2459
+ onStateChange: (changes) => handleStateChange(changes, currentSelectedItem),
2451
2460
  stateReducer: (state, actionAndChanges) => {
2452
2461
  let newState;
2453
2462
  newState = useSelectStateReducer(state, actionAndChanges);
@@ -2458,6 +2467,9 @@ var ActionMenu = ({
2458
2467
  },
2459
2468
  ...useSelectProps
2460
2469
  });
2470
+ (0, import_react14.useEffect)(() => {
2471
+ setCurrentSelectedItem(useSelectReturnProps.selectedItem);
2472
+ }, [useSelectReturnProps.selectedItem]);
2461
2473
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2462
2474
  MenuRoot,
2463
2475
  {
@@ -2476,7 +2488,7 @@ var ActionMenu = ({
2476
2488
  };
2477
2489
 
2478
2490
  // src/SingleSelectMenu/SingleSelectMenu.tsx
2479
- var import_react14 = require("react");
2491
+ var import_react15 = require("react");
2480
2492
  var import_downshift3 = require("downshift");
2481
2493
  var import_jsx_runtime13 = require("react/jsx-runtime");
2482
2494
  var SingleSelectMenu = ({
@@ -2517,7 +2529,7 @@ var SingleSelectMenu = ({
2517
2529
  };
2518
2530
 
2519
2531
  // src/MultiSelectMenu/MultiSelectMenu.tsx
2520
- var import_react15 = require("react");
2532
+ var import_react16 = require("react");
2521
2533
  var import_downshift4 = require("downshift");
2522
2534
  var import_jsx_runtime14 = require("react/jsx-runtime");
2523
2535
  var selectReducerForMultiSelect = (state, actionAndChanges) => {
@@ -2587,7 +2599,6 @@ var MultiSelectMenu = ({
2587
2599
  case import_downshift4.useSelect.stateChangeTypes.ToggleButtonKeyDownEnter:
2588
2600
  case import_downshift4.useSelect.stateChangeTypes.ToggleButtonKeyDownSpaceButton:
2589
2601
  case import_downshift4.useSelect.stateChangeTypes.ItemClick:
2590
- case import_downshift4.useSelect.stateChangeTypes.ToggleButtonBlur:
2591
2602
  if (!newSelectedItem)
2592
2603
  break;
2593
2604
  if (selectedItems?.find((item) => item?.id === newSelectedItem.id)) {
@@ -2637,20 +2648,19 @@ var MultiSelectMenu = ({
2637
2648
  MenuGroup,
2638
2649
  MenuHeader,
2639
2650
  MenuItem,
2651
+ MenuItemAction,
2640
2652
  MenuItemContainer,
2641
- MenuItemSelectable,
2642
- MenuItemSelectableAction,
2643
- MenuItemSelectableRow,
2644
- MenuItemSelectableText,
2653
+ MenuItemRow,
2654
+ MenuItemText,
2645
2655
  MenuLabel,
2646
2656
  MenuProvider,
2647
2657
  MenuRoot,
2648
2658
  MenuToggleButton,
2649
2659
  MultiSelectMenu,
2650
- SelectionIndicator,
2651
2660
  SingleSelectMenu,
2652
2661
  StyledMenuGroup,
2653
2662
  StyledMenuGroupUl,
2663
+ StyledMenuItem,
2654
2664
  StyledTitle,
2655
2665
  defaultUseSelectProps,
2656
2666
  useItemsFromChildren,