@edgeandnode/eds-react 1.0.1 → 1.1.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 (219) hide show
  1. package/README.md +50 -8
  2. package/dist/EDSContext.d.ts +4 -1
  3. package/dist/EDSContext.d.ts.map +1 -1
  4. package/dist/EDSContext.js +7 -0
  5. package/dist/EDSContext.js.map +1 -1
  6. package/dist/EDSProvider.d.ts +13 -6
  7. package/dist/EDSProvider.d.ts.map +1 -1
  8. package/dist/EDSProvider.js +60 -68
  9. package/dist/EDSProvider.js.map +1 -1
  10. package/dist/components/Address.d.ts +3 -3
  11. package/dist/components/Address.d.ts.map +1 -1
  12. package/dist/components/Address.js.map +1 -1
  13. package/dist/components/Avatar.d.ts +3 -3
  14. package/dist/components/Avatar.d.ts.map +1 -1
  15. package/dist/components/Avatar.js +3 -2
  16. package/dist/components/Avatar.js.map +1 -1
  17. package/dist/components/Breadcrumbs.parts.d.ts +7 -6
  18. package/dist/components/Breadcrumbs.parts.d.ts.map +1 -1
  19. package/dist/components/Breadcrumbs.parts.js +15 -14
  20. package/dist/components/Breadcrumbs.parts.js.map +1 -1
  21. package/dist/components/Button.d.ts.map +1 -1
  22. package/dist/components/Button.js +3 -2
  23. package/dist/components/Button.js.map +1 -1
  24. package/dist/components/Card.d.ts +8 -4
  25. package/dist/components/Card.d.ts.map +1 -1
  26. package/dist/components/Card.js +2 -1
  27. package/dist/components/Card.js.map +1 -1
  28. package/dist/components/Cluster.d.ts +3 -3
  29. package/dist/components/Cluster.d.ts.map +1 -1
  30. package/dist/components/Cluster.js.map +1 -1
  31. package/dist/components/CodeBlock.parts.d.ts.map +1 -1
  32. package/dist/components/CodeBlock.parts.js +16 -20
  33. package/dist/components/CodeBlock.parts.js.map +1 -1
  34. package/dist/components/CopyButton.d.ts.map +1 -1
  35. package/dist/components/CopyButton.js +3 -2
  36. package/dist/components/CopyButton.js.map +1 -1
  37. package/dist/components/Icon.d.ts.map +1 -1
  38. package/dist/components/Icon.js +3 -3
  39. package/dist/components/Icon.js.map +1 -1
  40. package/dist/components/Keyboard.js +1 -1
  41. package/dist/components/LocalTheme.d.ts +29 -0
  42. package/dist/components/LocalTheme.d.ts.map +1 -0
  43. package/dist/components/LocalTheme.js +28 -0
  44. package/dist/components/LocalTheme.js.map +1 -0
  45. package/dist/components/Menu.parts.d.ts +43 -9
  46. package/dist/components/Menu.parts.d.ts.map +1 -1
  47. package/dist/components/Menu.parts.js +121 -115
  48. package/dist/components/Menu.parts.js.map +1 -1
  49. package/dist/components/Modal.parts.d.ts +1 -1
  50. package/dist/components/Modal.parts.d.ts.map +1 -1
  51. package/dist/components/Modal.parts.js +22 -11
  52. package/dist/components/Modal.parts.js.map +1 -1
  53. package/dist/components/Pane.parts.d.ts +23 -22
  54. package/dist/components/Pane.parts.d.ts.map +1 -1
  55. package/dist/components/Pane.parts.js +3 -3
  56. package/dist/components/Pane.parts.js.map +1 -1
  57. package/dist/components/Prose.d.ts +1 -1
  58. package/dist/components/Prose.d.ts.map +1 -1
  59. package/dist/components/Prose.js +3 -3
  60. package/dist/components/Prose.js.map +1 -1
  61. package/dist/components/Prose.meta.d.ts +5 -0
  62. package/dist/components/Prose.meta.d.ts.map +1 -1
  63. package/dist/components/Prose.meta.js +10 -0
  64. package/dist/components/Prose.meta.js.map +1 -1
  65. package/dist/components/SegmentedControl.parts.d.ts.map +1 -1
  66. package/dist/components/SegmentedControl.parts.js +3 -2
  67. package/dist/components/SegmentedControl.parts.js.map +1 -1
  68. package/dist/components/Select.parts.d.ts +12 -7
  69. package/dist/components/Select.parts.d.ts.map +1 -1
  70. package/dist/components/Select.parts.js +28 -18
  71. package/dist/components/Select.parts.js.map +1 -1
  72. package/dist/components/TabSet.parts.d.ts.map +1 -1
  73. package/dist/components/TabSet.parts.js +3 -2
  74. package/dist/components/TabSet.parts.js.map +1 -1
  75. package/dist/components/Table.parts.d.ts.map +1 -1
  76. package/dist/components/Table.parts.js +3 -4
  77. package/dist/components/Table.parts.js.map +1 -1
  78. package/dist/components/ThemeSwitcher.d.ts +5 -5
  79. package/dist/components/ThemeSwitcher.d.ts.map +1 -1
  80. package/dist/components/ThemeSwitcher.js +6 -5
  81. package/dist/components/ThemeSwitcher.js.map +1 -1
  82. package/dist/components/Tooltip.parts.js +2 -2
  83. package/dist/components/Tooltip.parts.js.map +1 -1
  84. package/dist/components/base/Addon.d.ts.map +1 -1
  85. package/dist/components/base/Addon.js +2 -4
  86. package/dist/components/base/Addon.js.map +1 -1
  87. package/dist/components/base/ButtonOrLink.parts.d.ts.map +1 -1
  88. package/dist/components/base/ButtonOrLink.parts.js +2 -1
  89. package/dist/components/base/ButtonOrLink.parts.js.map +1 -1
  90. package/dist/components/base/MaybeButtonOrLink.d.ts +7 -5
  91. package/dist/components/base/MaybeButtonOrLink.d.ts.map +1 -1
  92. package/dist/components/base/MaybeButtonOrLink.js +7 -2
  93. package/dist/components/base/MaybeButtonOrLink.js.map +1 -1
  94. package/dist/components/base/Render.d.ts +25 -6
  95. package/dist/components/base/Render.d.ts.map +1 -1
  96. package/dist/components/base/Render.js +4 -3
  97. package/dist/components/base/Render.js.map +1 -1
  98. package/dist/components/base/index.d.ts +1 -1
  99. package/dist/components/base/index.d.ts.map +1 -1
  100. package/dist/components/base/index.js.map +1 -1
  101. package/dist/components/index.d.ts +1 -0
  102. package/dist/components/index.d.ts.map +1 -1
  103. package/dist/components/index.js +1 -0
  104. package/dist/components/index.js.map +1 -1
  105. package/dist/hooks/useCSSProp.js +1 -1
  106. package/dist/hooks/useCSSProp.js.map +1 -1
  107. package/dist/hooks/useEDS.d.ts +24 -1
  108. package/dist/hooks/useEDS.d.ts.map +1 -1
  109. package/dist/hooks/useEDS.js +26 -2
  110. package/dist/hooks/useEDS.js.map +1 -1
  111. package/dist/hooks/useStyleObserver.d.ts.map +1 -1
  112. package/dist/hooks/useStyleObserver.js +2 -1
  113. package/dist/hooks/useStyleObserver.js.map +1 -1
  114. package/dist/icons/CalendarDynamicIcon.d.ts.map +1 -1
  115. package/dist/icons/CalendarDynamicIcon.js +3 -1
  116. package/dist/icons/CalendarDynamicIcon.js.map +1 -1
  117. package/dist/index.d.ts +2 -1
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +1 -0
  120. package/dist/index.js.map +1 -1
  121. package/dist/theme-persistence.d.ts +18 -0
  122. package/dist/theme-persistence.d.ts.map +1 -0
  123. package/dist/theme-persistence.js +25 -0
  124. package/dist/theme-persistence.js.map +1 -0
  125. package/dist/utils/getReactNodeKey.d.ts.map +1 -1
  126. package/dist/utils/getReactNodeKey.js +31 -13
  127. package/dist/utils/getReactNodeKey.js.map +1 -1
  128. package/dist/utils/index.d.ts +1 -1
  129. package/dist/utils/index.d.ts.map +1 -1
  130. package/dist/utils/index.js +1 -1
  131. package/dist/utils/index.js.map +1 -1
  132. package/dist/utils/internal/getTooltipProps.d.ts +9 -0
  133. package/dist/utils/internal/getTooltipProps.d.ts.map +1 -0
  134. package/dist/utils/internal/getTooltipProps.js +18 -0
  135. package/dist/utils/internal/getTooltipProps.js.map +1 -0
  136. package/dist/utils/internal/index.d.ts +4 -0
  137. package/dist/utils/internal/index.d.ts.map +1 -0
  138. package/dist/utils/internal/index.js +4 -0
  139. package/dist/utils/internal/index.js.map +1 -0
  140. package/dist/utils/internal/resolveLazy.d.ts +29 -0
  141. package/dist/utils/internal/resolveLazy.d.ts.map +1 -0
  142. package/dist/utils/internal/resolveLazy.js +40 -0
  143. package/dist/utils/internal/resolveLazy.js.map +1 -0
  144. package/dist/utils/internal/styleScheduler.d.ts.map +1 -0
  145. package/dist/utils/internal/styleScheduler.js.map +1 -0
  146. package/dist/utils/isComponentType.d.ts +9 -0
  147. package/dist/utils/isComponentType.d.ts.map +1 -0
  148. package/dist/utils/isComponentType.js +22 -0
  149. package/dist/utils/isComponentType.js.map +1 -0
  150. package/dist/utils/isReactNode.d.ts +7 -0
  151. package/dist/utils/isReactNode.d.ts.map +1 -1
  152. package/dist/utils/isReactNode.js +11 -0
  153. package/dist/utils/isReactNode.js.map +1 -1
  154. package/dist/utils/reactNodeToString.d.ts +3 -0
  155. package/dist/utils/reactNodeToString.d.ts.map +1 -1
  156. package/dist/utils/reactNodeToString.js +6 -0
  157. package/dist/utils/reactNodeToString.js.map +1 -1
  158. package/dist/utils/styleObserver.js +1 -1
  159. package/dist/utils/trimReactNode.d.ts +3 -0
  160. package/dist/utils/trimReactNode.d.ts.map +1 -1
  161. package/dist/utils/trimReactNode.js +6 -0
  162. package/dist/utils/trimReactNode.js.map +1 -1
  163. package/package.json +24 -23
  164. package/scripts/update-skill.cjs +18 -5
  165. package/skill/SKILL.md +95 -57
  166. package/skill/references/tokens.md +2 -8
  167. package/src/EDSContext.ts +10 -1
  168. package/src/EDSProvider.tsx +111 -80
  169. package/src/components/Address.tsx +4 -3
  170. package/src/components/Avatar.tsx +10 -5
  171. package/src/components/Breadcrumbs.parts.tsx +35 -18
  172. package/src/components/Button.tsx +7 -2
  173. package/src/components/Card.tsx +14 -8
  174. package/src/components/Cluster.tsx +5 -3
  175. package/src/components/CodeBlock.parts.tsx +20 -24
  176. package/src/components/CopyButton.tsx +3 -2
  177. package/src/components/Icon.tsx +3 -9
  178. package/src/components/Keyboard.tsx +1 -1
  179. package/src/components/LocalTheme.tsx +47 -0
  180. package/src/components/Menu.parts.tsx +368 -245
  181. package/src/components/Modal.parts.tsx +28 -11
  182. package/src/components/Pane.parts.tsx +31 -26
  183. package/src/components/Prose.meta.ts +10 -0
  184. package/src/components/Prose.tsx +4 -3
  185. package/src/components/SegmentedControl.parts.tsx +3 -8
  186. package/src/components/Select.parts.tsx +43 -34
  187. package/src/components/TabSet.parts.tsx +3 -5
  188. package/src/components/Table.parts.tsx +3 -3
  189. package/src/components/ThemeSwitcher.tsx +13 -15
  190. package/src/components/Tooltip.parts.tsx +2 -2
  191. package/src/components/base/Addon.tsx +3 -4
  192. package/src/components/base/ButtonOrLink.parts.tsx +2 -1
  193. package/src/components/base/MaybeButtonOrLink.tsx +11 -6
  194. package/src/components/base/Render.tsx +28 -4
  195. package/src/components/base/index.ts +2 -0
  196. package/src/components/index.ts +8 -0
  197. package/src/hooks/useCSSProp.ts +1 -1
  198. package/src/hooks/useEDS.ts +26 -2
  199. package/src/hooks/useStyleObserver.ts +2 -1
  200. package/src/icons/CalendarDynamicIcon.tsx +1 -0
  201. package/src/index.ts +2 -1
  202. package/src/theme-persistence.ts +31 -0
  203. package/src/utils/getReactNodeKey.ts +30 -14
  204. package/src/utils/index.ts +1 -1
  205. package/src/utils/internal/getTooltipProps.ts +25 -0
  206. package/src/utils/internal/index.ts +3 -0
  207. package/src/utils/internal/resolveLazy.ts +44 -0
  208. package/src/utils/isComponentType.ts +27 -0
  209. package/src/utils/isReactNode.ts +11 -0
  210. package/src/utils/reactNodeToString.ts +7 -0
  211. package/src/utils/styleObserver.ts +1 -1
  212. package/src/utils/trimReactNode.tsx +7 -0
  213. package/dist/utils/styleScheduler.d.ts.map +0 -1
  214. package/dist/utils/styleScheduler.js.map +0 -1
  215. package/src/__snapshots__/compiled.css +0 -22499
  216. package/styles/tailwind.storybook.css +0 -19
  217. /package/dist/utils/{styleScheduler.d.ts → internal/styleScheduler.d.ts} +0 -0
  218. /package/dist/utils/{styleScheduler.js → internal/styleScheduler.js} +0 -0
  219. /package/src/utils/{styleScheduler.ts → internal/styleScheduler.ts} +0 -0
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { mergeProps } from '@base-ui/react';
4
+ import { LocalThemeContext, THEME_CLASSES } from '../EDSContext.js';
5
+ import { Render } from './base/Render.js';
6
+ /**
7
+ * Renders its content in the given theme, whatever the page's theme is. Unlike switching between
8
+ * `Dark` and `Light`, changing `theme` doesn't remount the content. Components that need to know
9
+ * the theme in JavaScript can read it with `useEDS().activeTheme`.
10
+ */
11
+ export function LocalTheme({ theme, ...props }) {
12
+ return (_jsx(LocalThemeContext.Provider, { value: theme, children: _jsx(Render, { ...mergeProps({ className: THEME_CLASSES[theme] }, props) }) }));
13
+ }
14
+ /**
15
+ * Renders its content in the dark theme, whatever the page's theme is. Components that need to know
16
+ * the theme in JavaScript can read it with `useEDS().activeTheme`.
17
+ */
18
+ export function Dark(props) {
19
+ return _jsx(LocalTheme, { theme: "dark", ...props });
20
+ }
21
+ /**
22
+ * Renders its content in the light theme, whatever the page's theme is. Components that need to
23
+ * know the theme in JavaScript can read it with `useEDS().activeTheme`.
24
+ */
25
+ export function Light(props) {
26
+ return _jsx(LocalTheme, { theme: "light", ...props });
27
+ }
28
+ //# sourceMappingURL=LocalTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalTheme.js","sourceRoot":"","sources":["../../src/components/LocalTheme.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAG3C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAsB,MAAM,kBAAkB,CAAA;AACvF,OAAO,EAAE,MAAM,EAA+C,MAAM,kBAAmB,CAAA;AAavF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAmB;IAC7D,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACtC,KAAC,MAAM,OAAK,UAAU,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAI,GAC3C,CAC9B,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,OAAO,KAAC,UAAU,IAAC,KAAK,EAAC,MAAM,KAAK,KAAK,GAAI,CAAA;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,OAAO,KAAC,UAAU,IAAC,KAAK,EAAC,OAAO,KAAK,KAAK,GAAI,CAAA;AAChD,CAAC"}
@@ -71,6 +71,36 @@ export declare namespace MenuProps {
71
71
  * @default false
72
72
  */
73
73
  highlightCheckedOnOpen?: boolean | undefined;
74
+ /**
75
+ * Adds `Menu.Search` to the header and filters items by their text (or `label`) as the user
76
+ * types. A custom `header` must include `Menu.Search`, which handles the keyboard navigation.
77
+ * Pass a function to customize matching, or `'manual'` to filter the items yourself (e.g.
78
+ * results from an API). Defaults to `true` if `searchValue` or `onSearchValueChange` is set.
79
+ */
80
+ searchable?: boolean | ((item: {
81
+ label: string;
82
+ searchValue: string;
83
+ }) => boolean) | 'manual' | undefined;
84
+ /** The search query, to control it along with `onSearchValueChange`. */
85
+ searchValue?: string | undefined;
86
+ /**
87
+ * Called when the search query changes, including when it's reset after the menu closes (then
88
+ * `eventDetails.reason` is `'popup-close'`).
89
+ */
90
+ onSearchValueChange?: ((searchValue: string, eventDetails: Menu.FilterProvider.ChangeEventDetails) => void) | undefined;
91
+ /**
92
+ * Shown in a searchable menu when no item matches. A string is rendered in a `Menu.Empty`, and
93
+ * `null` renders nothing.
94
+ *
95
+ * @default <Menu.Empty />
96
+ */
97
+ empty?: ReactNode | undefined;
98
+ /**
99
+ * Marks the items as loading (e.g. search results from an API). In a searchable menu, a
100
+ * `LoadingIcon` also shows in the search input, or in place of the empty state until a search
101
+ * finishes.
102
+ */
103
+ loading?: boolean | undefined;
74
104
  }
75
105
  interface CommonProps extends HTMLProps, OwnProps, EDSComponentProps<typeof MenuMeta> {
76
106
  }
@@ -80,7 +110,7 @@ export declare namespace MenuProps {
80
110
  }
81
111
  }
82
112
  export type MenuProps<T extends OptionValue = OptionValue> = MenuProps.NonRadioProps | MenuProps.RadioProps<T>;
83
- export declare function MenuRoot<T extends OptionValue>({ ref: passedRef, trigger, triggerMode, anchor: passedAnchor, side, gap, align, alignOffset, matchTriggerWidth, matchTriggerHeight, open: controlledOpen, defaultOpen, onOpenChange, header, footer, highlightCheckedOnOpen, label, type, value, defaultValue, onValueChange, children, ...props }: MenuProps<T>): import("react").JSX.Element;
113
+ export declare function MenuRoot<T extends OptionValue>({ ref: passedRef, trigger, triggerMode, anchor: passedAnchor, side, gap, align, alignOffset, matchTriggerWidth, matchTriggerHeight, open: controlledOpen, defaultOpen, onOpenChange, header: passedHeader, footer, highlightCheckedOnOpen, searchable: passedSearchable, searchValue, onSearchValueChange, empty, loading, label, type, value, defaultValue, onValueChange, children, ...props }: MenuProps<T>): import("react").JSX.Element;
84
114
  export declare namespace MenuRoot {
85
115
  var displayName: string;
86
116
  }
@@ -101,6 +131,11 @@ export declare namespace MenuItemProps {
101
131
  interface HTMLProps extends Omit<ComponentProps<'button'>, 'defaultChecked' | 'defaultValue' | 'onChange' | 'type' | 'value'> {
102
132
  }
103
133
  interface OwnProps {
134
+ /**
135
+ * Text that search and typeahead match against. Defaults to the item's rendered text, addons
136
+ * included.
137
+ */
138
+ label?: string | undefined;
104
139
  addonBefore?: AddonValue | undefined;
105
140
  addonAfter?: AddonValue | undefined;
106
141
  disabled?: boolean | undefined;
@@ -142,26 +177,25 @@ export declare namespace MenuItemProps {
142
177
  }
143
178
  }
144
179
  export type MenuItemProps<T extends OptionValue = OptionValue> = MenuItemProps.PlainProps | MenuItemProps.CheckboxProps | MenuItemProps.RadioProps<T>;
145
- export declare function MenuItem<T extends OptionValue>({ ref: passedRef, type: passedType, addonBefore: passedAddonBefore, addonAfter: passedAddonAfter, variant, loading, href, target, checked, defaultChecked, onCheckedChange, value: passedValue, disabled: passedDisabled, children, ...props }: MenuItemProps<T>): import("react").JSX.Element;
180
+ export declare function MenuItem<T extends OptionValue>({ ref: passedRef, type: passedType, label, addonBefore: passedAddonBefore, addonAfter: passedAddonAfter, variant, loading, href, target, checked, defaultChecked, onCheckedChange, value: passedValue, disabled: passedDisabled, children, ...props }: MenuItemProps<T>): import("react").JSX.Element;
146
181
  export declare namespace MenuItem {
147
182
  var displayName: string;
148
183
  }
149
- export interface MenuSearchProps extends Omit<ComponentProps<'input'>, 'children'> {
184
+ export interface MenuSearchProps extends Omit<ComponentProps<'input'>, 'children' | 'value' | 'defaultValue'> {
150
185
  /** @default 'Search' */
151
186
  placeholder?: string | undefined;
152
- value?: string | undefined;
153
- defaultValue?: string | undefined;
154
- onValueChange?: ((value: string) => void) | undefined;
155
187
  }
156
- export declare function MenuSearch({ ref: passedRef, placeholder: passedPlaceholder, value: controlledValue, defaultValue, onValueChange, ...props }: MenuSearchProps): import("react").JSX.Element;
188
+ /** Search input for the `header` of a `searchable` menu, which filters its items. */
189
+ export declare function MenuSearch({ placeholder, ...props }: MenuSearchProps): import("react").JSX.Element;
157
190
  export declare namespace MenuSearch {
158
191
  var displayName: string;
159
192
  }
160
193
  export interface MenuEmptyProps extends ComponentProps<'div'> {
161
194
  }
162
195
  /**
163
- * Renders the standard empty-state treatment for a `Menu` (typically shown when search filters
164
- * yield no results, or when a `Menu` has no items at all). Defaults to `"No results"`.
196
+ * Renders the standard empty-state treatment for a `Menu`, e.g. when it has no items. Searchable
197
+ * menus render it when no item matches (see `empty`). Its text wraps instead of widening the menu.
198
+ * Defaults to `"No results"`.
165
199
  */
166
200
  export declare function MenuEmpty({ children, ...props }: MenuEmptyProps): import("react").JSX.Element;
167
201
  export declare namespace MenuEmpty {
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.parts.d.ts","sourceRoot":"","sources":["../../src/components/Menu.parts.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.parts.d.ts","sourceRoot":"","sources":["../../src/components/Menu.parts.tsx"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { useMergedRefs } from '@base-ui/utils/useMergedRefs';
8
8
  import { twToPx } from '@edgeandnode/eds-css';
9
9
  import { ArrowRightInteractiveIcon, ArrowUpRightInteractiveIcon, CaretRightIcon, CheckIcon, LoadingIcon, MagnifyingGlassIcon, XIcon, } from '@edgeandnode/eds-react/icons';
10
10
  import { useAutoValue, useControlled, useCSSPropsPolyfill, useCSSState, useEDS, } from '../hooks/index.js';
11
- import { cn, getCSSPropsAttributes, setInputValue, splitProps, } from '../utils/index.js';
11
+ import { cn, getCSSPropsAttributes, splitProps } from '../utils/index.js';
12
12
  import { renderAddon } from './base/Addon.js';
13
13
  import { ButtonOrLink } from './base/ButtonOrLink.js';
14
14
  import { Portal } from './base/Portal.js';
@@ -17,8 +17,10 @@ import { Button } from './Button.js';
17
17
  import { Checkbox } from './Checkbox.js';
18
18
  import { MenuMeta } from './Menu.meta.js';
19
19
  const MenuTriggerContext = createContext(false);
20
- export function MenuRoot({ ref: passedRef, trigger, triggerMode, anchor: passedAnchor, side, gap, align, alignOffset, matchTriggerWidth, matchTriggerHeight, open: controlledOpen, defaultOpen, onOpenChange, header, footer, highlightCheckedOnOpen, label, type, value, defaultValue, onValueChange, children, ...props }) {
21
- const { dirProps } = useEDS();
20
+ const MenuSearchableContext = createContext(false);
21
+ const MenuSearchLoadingContext = createContext(false);
22
+ export function MenuRoot({ ref: passedRef, trigger, triggerMode, anchor: passedAnchor, side, gap, align, alignOffset, matchTriggerWidth, matchTriggerHeight, open: controlledOpen, defaultOpen, onOpenChange, header: passedHeader, footer, highlightCheckedOnOpen, searchable: passedSearchable, searchValue, onSearchValueChange, empty, loading, label, type, value, defaultValue, onValueChange, children, ...props }) {
23
+ const { dirProps, localThemeClass } = useEDS();
22
24
  const isSubmenu = useContext(MenuGroupContext) !== null;
23
25
  const isContextMenu = triggerMode === 'right-click' && !isSubmenu;
24
26
  const hasTrigger = trigger !== undefined;
@@ -80,33 +82,43 @@ export function MenuRoot({ ref: passedRef, trigger, triggerMode, anchor: passedA
80
82
  capturePointerCoords,
81
83
  });
82
84
  useHighlightCheckedOnOpen(popupRef, open, highlightCheckedOnOpen);
85
+ const searchable = passedSearchable ?? (searchValue !== undefined || onSearchValueChange !== undefined);
86
+ const [onSearchValueChangeAfterClose, reportPendingSearchReset] = useSearchResetAfterClose(onSearchValueChange);
87
+ const header = passedHeader !== undefined ? passedHeader : searchable ? _jsx(MenuSearch, {}) : undefined;
83
88
  return (_jsx("span", { "data-has-trigger": hasTrigger || undefined, className: cn(`root-contents [anchor-scope:all]
84
89
  not-data-has-trigger:**:data-base-ui-focus-guard:hidden`,
85
90
  // Very imperfect workaround for https://bugs.webkit.org/show_bug.cgi?id=301871
86
91
  `safari:root-inline
87
- i:safari:not-data-is-submenu:size-max`), children: _jsxs(MenuRoot, { actionsRef: actionsRef, open: open, onOpenChange: (newOpen) => {
88
- // A menu with no trigger can still be opened/closed by the consumer, but it should not send events
89
- if (hasTrigger)
90
- setOpen(newOpen);
91
- }, ...(!isSubmenu && !isContextMenu && { modal: hasTrigger }), closeParentOnEsc: true, children: [_jsx(MenuTriggerContext.Provider, { value: true, children: renderedTriggerElement ?? (_jsx(MenuInlineFallback, { label: label, portalRef: portalRef, rootProps: props })) }), _jsx(Portal, { children: _jsx("span", { ref: cssPropsPolyfillRef, ...mergeProps({ className: cn('eds-menu invisible! block!', cssPropsClassName) }, cssPropsAttributes, cssPropsPolyfillAttributes, dirProps, props), hidden: undefined }) }), _jsx(Menu.Portal, { container: !hasTrigger
92
- ? portalRef
93
- : /**
94
- * Specifying `document.body` because while it is the default for top-level menus, a submenu
95
- * defaults to using the same portal as its parent, which is not desirable when the parent is
96
- * rendered inline (it can cause the submenu to appear behind other elements).
97
- */
98
- typeof document !== 'undefined'
99
- ? document.body
100
- : undefined, children: _jsx(Menu.Positioner, { ref: passedRef, anchor: anchor, side: cssProps.side === 'start'
101
- ? 'inline-start'
102
- : cssProps.side === 'end'
103
- ? 'inline-end'
104
- : cssProps.side, sideOffset: twToPx(cssProps.gap), align: cssProps.align, alignOffset: twToPx(cssProps.alignOffset), collisionPadding: 8, collisionAvoidance: {
105
- side: 'flip',
106
- align: 'flip',
107
- fallbackAxisSide: cssProps.side === 'start' || cssProps.side === 'end' ? 'end' : 'none',
108
- }, "data-has-trigger": hasTrigger || undefined, "data-match-trigger-width": cssProps.matchTriggerWidth || undefined, "data-match-trigger-height": cssProps.matchTriggerHeight || undefined, ...mergeProps({
109
- className: cn(`
92
+ i:safari:not-data-is-submenu:size-max`), children: _jsx(MenuFilter, { searchable: searchable, searchValue: searchValue, onSearchValueChange: onSearchValueChangeAfterClose, children: _jsxs(MenuRoot, { actionsRef: actionsRef, open: open, onOpenChange: (newOpen) => {
93
+ if (newOpen)
94
+ reportPendingSearchReset();
95
+ // A menu with no trigger can still be opened/closed by the consumer, but it should not send events
96
+ if (hasTrigger)
97
+ setOpen(newOpen);
98
+ }, onOpenChangeComplete: (newOpen) => {
99
+ if (!newOpen)
100
+ reportPendingSearchReset();
101
+ }, ...(!isSubmenu && !isContextMenu && { modal: hasTrigger }), closeParentOnEsc: true, children: [_jsx(MenuTriggerContext.Provider, { value: true, children: renderedTriggerElement ?? (_jsx(MenuInlineFallback, { label: label, portalRef: portalRef, rootProps: props })) }), _jsx(Portal, { children: _jsx("span", { ref: cssPropsPolyfillRef, ...mergeProps({ className: cn('eds-menu invisible! block!', cssPropsClassName) }, cssPropsAttributes, cssPropsPolyfillAttributes, dirProps, props), hidden: undefined }) }), _jsx(Menu.Portal, { container: !hasTrigger
102
+ ? portalRef
103
+ : /**
104
+ * Specifying `document.body` because while it is the default for top-level menus, a submenu
105
+ * defaults to using the same portal as its parent, which is not desirable when the parent is
106
+ * rendered inline (it can cause the submenu to appear behind other elements).
107
+ */
108
+ typeof document !== 'undefined'
109
+ ? document.body
110
+ : undefined,
111
+ // Inline menus are portalled in place, so they already inherit the local theme
112
+ className: hasTrigger ? localThemeClass : undefined, children: _jsx(Menu.Positioner, { ref: passedRef, anchor: anchor, side: cssProps.side === 'start'
113
+ ? 'inline-start'
114
+ : cssProps.side === 'end'
115
+ ? 'inline-end'
116
+ : cssProps.side, sideOffset: twToPx(cssProps.gap), align: cssProps.align, alignOffset: twToPx(cssProps.alignOffset), collisionPadding: 8, collisionAvoidance: {
117
+ side: 'flip',
118
+ align: 'flip',
119
+ fallbackAxisSide: cssProps.side === 'start' || cssProps.side === 'end' ? 'end' : 'none',
120
+ }, "data-has-trigger": hasTrigger || undefined, "data-match-trigger-width": cssProps.matchTriggerWidth || undefined, "data-match-trigger-height": cssProps.matchTriggerHeight || undefined, ...mergeProps({
121
+ className: cn(`
110
122
  eds-menu root-flex
111
123
  [--available-height-but-not-too-small:max(var(--available-height),--spacing(16))]
112
124
  [anchor-name:--eds-menu]
@@ -125,15 +137,49 @@ export function MenuRoot({ ref: passedRef, trigger, triggerMode, anchor: passedA
125
137
  u:i:data-[match-trigger-width=at-most]:max-w-[min(var(--anchor-width),var(--available-width))]
126
138
  u:i:data-[match-trigger-width=true]:w-(--anchor-width)
127
139
  `, cssPropsClassName),
128
- }, cssPropsAttributes, cssPropsPolyfillAttributes, dirProps, props), render: (renderProps, state) => (_jsxs(_Fragment, { children: [_jsx("div", { ...renderProps, style: hasTrigger ? renderProps.style : undefined }), hasTrigger && state.open && state.anchorHidden && actionsRef.current ? (_jsx(LayoutEffect, { effect: actionsRef.current.close })) : null] })), children: _jsx(Menu.Popup, { ref: popupRef, "data-initial-open": initialOpen.current || undefined, className: "\n flex grow origin-(--transform-origin) flex-col overflow-clip rounded-inherit bg-muted outline-0 transition\n data-ending-style:scale-95\n data-ending-style:opacity-0\n data-starting-style:not-data-initial-open:scale-95\n data-starting-style:not-data-initial-open:opacity-0\n ", onKeyDown: handleMenuPopupKeyDown, children: _jsx(MenuPopupContent, { header: header, footer: footer, children: label !== undefined || type !== undefined ? (type === 'radio' ? (_jsx(MenuGroup, { label: label, type: type, value: value, defaultValue: defaultValue, onValueChange: onValueChange, children: children })) : (_jsx(MenuGroup, { label: label, type: type, children: children }))) : (children) }) }) }) })] }, `${hasTrigger}-${triggerMode}`) }));
140
+ }, cssPropsAttributes, cssPropsPolyfillAttributes, dirProps, props), render: (renderProps, state) => (_jsxs(_Fragment, { children: [_jsx("div", { ...renderProps, style: hasTrigger ? renderProps.style : undefined }), hasTrigger && state.open && state.anchorHidden && actionsRef.current ? (_jsx(LayoutEffect, { effect: actionsRef.current.close })) : null] })), children: _jsx(Menu.Popup, { ref: popupRef, "data-initial-open": initialOpen.current || undefined, className: "\n flex grow origin-(--transform-origin) flex-col overflow-clip rounded-inherit bg-muted outline-0 transition\n data-ending-style:scale-95\n data-ending-style:opacity-0\n data-starting-style:not-data-initial-open:scale-95\n data-starting-style:not-data-initial-open:opacity-0\n ", onKeyDown: handleMenuPopupKeyDown, children: _jsx(MenuPopupContent, { header: header, footer: footer, empty: empty, loading: loading, children: label !== undefined || type !== undefined ? (type === 'radio' ? (_jsx(MenuGroup, { label: label, type: type, value: value, defaultValue: defaultValue, onValueChange: onValueChange, children: children })) : (_jsx(MenuGroup, { label: label, type: type, children: children }))) : (children) }) }) }) })] }, `${hasTrigger}-${triggerMode}`) }) }));
129
141
  }
130
142
  MenuRoot.displayName = 'Menu';
143
+ /** Makes the menu filterable when it's `searchable` (see `MenuProps.OwnProps['searchable']`). */
144
+ function MenuFilter({ searchable, searchValue, onSearchValueChange, children, }) {
145
+ const filter = useMemo(() => searchable === 'manual'
146
+ ? null
147
+ : typeof searchable === 'function'
148
+ ? (label, query) => searchable({ label, searchValue: query })
149
+ : undefined, [searchable]);
150
+ return (_jsx(MenuSearchableContext.Provider, { value: Boolean(searchable), children: searchable ? (_jsx(Menu.FilterProvider, { filter: filter, autoHighlight: true, value: searchValue, onValueChange: onSearchValueChange, children: children })) : (children) }));
151
+ }
131
152
  /**
132
- * Popup chrome: minimum-width spacer, optional header, scrollable items area, optional footer,
133
- * border overlay.
153
+ * Holds back the search reset that Base UI reports as the menu starts closing until it has finished
154
+ * closing (or reopens), so items filtered outside of Base UI (e.g. with `searchable="manual"`)
155
+ * don't change while it animates out. Base UI keeps filtering its own items with the previous query
156
+ * until then too.
134
157
  */
135
- function MenuPopupContent({ header, footer, children, }) {
136
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-58" }), header ? (_jsx("div", { className: "nested/menu-header u:shrink-0 u:border-b u:border-muted u:p-4", children: header })) : null, _jsx("div", { className: "grow scroll-p-8 scrollbar-thin overflow-x-clip overflow-y-auto gradient-mask-y", children: _jsx("div", { className: "overflow-clip p-2", children: _jsxs(MenuGroupContext.Provider, { value: "root", children: [children, _jsx("div", { className: "mt-[calc(-2*(--spacing(2))-1px)] not-preceded-by-peer/menu-group:hidden" })] }) }) }), footer ? (_jsx("div", { className: "nested/menu-footer u:shrink-0 u:border-t u:border-muted u:p-4", children: footer })) : null, _jsx("div", { className: "pointer-events-none absolute inset-0 rounded-inherit border border-muted" })] }));
158
+ function useSearchResetAfterClose(onSearchValueChange) {
159
+ const pendingResetRef = useRef(null);
160
+ const onSearchValueChangeAfterClose = onSearchValueChange &&
161
+ ((searchValue, eventDetails) => {
162
+ if (eventDetails.reason === 'popup-close') {
163
+ pendingResetRef.current = () => onSearchValueChange(searchValue, eventDetails);
164
+ }
165
+ else {
166
+ onSearchValueChange(searchValue, eventDetails);
167
+ }
168
+ });
169
+ const reportPendingReset = () => {
170
+ pendingResetRef.current?.();
171
+ pendingResetRef.current = null;
172
+ };
173
+ return [onSearchValueChangeAfterClose, reportPendingReset];
174
+ }
175
+ /**
176
+ * Popup chrome: minimum-width spacer, optional header, scrollable items area (with a searchable
177
+ * menu's empty state), optional footer, border overlay.
178
+ */
179
+ function MenuPopupContent({ header, footer, empty, loading = false, children, }) {
180
+ const searchable = useContext(MenuSearchableContext);
181
+ const [emptyShowsLoading, setEmptyShowsLoading] = useState(false);
182
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-58" }), header ? (_jsx("div", { className: "nested/menu-header u:shrink-0 u:border-b u:border-muted u:p-4", children: _jsx(MenuSearchLoadingContext.Provider, { value: loading && !emptyShowsLoading, children: header }) })) : null, _jsx("div", { className: "grow scroll-p-8 scrollbar-thin overflow-x-clip overflow-y-auto gradient-mask-y", children: _jsxs("div", { className: "overflow-clip p-2", children: [searchable ? (_jsx(Menu.Empty, { children: _jsx(MenuEmptyContent, { empty: empty, loading: loading, onLoadingShownChange: setEmptyShowsLoading }) })) : null, _jsx(Menu.List, { "aria-busy": loading || undefined, className: "outline-0", children: _jsx(MenuGroupContext.Provider, { value: "root", children: children }) })] }) }), footer ? (_jsx("div", { className: "nested/menu-footer u:shrink-0 u:border-t u:border-muted u:p-4", children: footer })) : null, _jsx("div", { className: "pointer-events-none absolute inset-0 rounded-inherit border border-muted" })] }));
137
183
  }
138
184
  /**
139
185
  * Resolves the anchor `Menu.Positioner` should point at, and returns a pointer-capture handler for
@@ -182,8 +228,8 @@ function MenuInlineFallback({ label, portalRef, rootProps, }) {
182
228
  (label && typeof label === 'string' ? label : undefined) ||
183
229
  'Menu', ...mergeProps({
184
230
  className: cn(`
185
- pointer-events-none absolute inset-[anchor(inside)] size-auto! [position-anchor:--eds-menu]
186
- not-open:hidden
231
+ pointer-events-none! absolute! inset-[anchor(inside)]! z-auto! m-0! size-auto! [position-anchor:--eds-menu]!
232
+ not-open:hidden!
187
233
  u:rounded-12
188
234
  `),
189
235
  }, rootProps) }), _jsx("div", { ref: portalRef, className: "contents *:contents" })] }));
@@ -230,9 +276,28 @@ function renderMenuTriggerElement({ trigger, triggerMode, triggerRef, isSubmenu,
230
276
  return (_jsx(Menu.Trigger, { ref: triggerRef, openOnHover: triggerMode === 'hover', "data-open-on-hover": triggerMode === 'hover' || undefined, className: "\n u:inherit-position\n u:i:open:data-open-on-hover:state-hover\n u:iii:open:not-data-open-on-hover:state-active\n ", onPointerDown: capturePointerCoords, onPointerEnter: capturePointerCoords, render: renderTrigger }));
231
277
  }
232
278
  }
279
+ /**
280
+ * The content of a searchable menu's `Menu.Empty`, which Base UI only renders while no item
281
+ * matches. Until a search finishes, `empty` would be premature, so `loading` shows a `LoadingIcon`
282
+ * instead (rather than in the search input).
283
+ */
284
+ function MenuEmptyContent({ empty, loading, onLoadingShownChange, }) {
285
+ const [searchFinished, setSearchFinished] = useState(!loading);
286
+ if (!loading && !searchFinished)
287
+ setSearchFinished(true);
288
+ useLayoutEffect(() => {
289
+ onLoadingShownChange(!searchFinished);
290
+ return () => onLoadingShownChange(false);
291
+ }, [searchFinished, onLoadingShownChange]);
292
+ if (!searchFinished) {
293
+ return (_jsx(MenuEmpty, { children: _jsx("span", { className: "flex h-lh items-center justify-center", children: _jsx(LoadingIcon, {}) }) }));
294
+ }
295
+ return empty === undefined || typeof empty === 'string' ? _jsx(MenuEmpty, { children: empty }) : empty;
296
+ }
233
297
  /**
234
298
  * Focus the `[data-checked]` item on open so Base UI's composite syncs its active index to it (Base
235
- * UI has no `initialActiveIndex` API).
299
+ * UI has no `initialActiveIndex` API). In a searchable menu, typing then moves focus back to the
300
+ * search input.
236
301
  */
237
302
  function useHighlightCheckedOnOpen(popupRef, open, enabled) {
238
303
  useEffect(() => {
@@ -250,19 +315,12 @@ function useHighlightCheckedOnOpen(popupRef, open, enabled) {
250
315
  highlightedItem === checkedItem) {
251
316
  return;
252
317
  }
253
- const searchInput = popup.querySelector('input[type="search"]');
254
- const searchWasFocused = searchInput !== null && document.activeElement === searchInput;
255
318
  checkedItem.focus({ preventScroll: false });
256
- if (searchWasFocused)
257
- searchInput.focus({ preventScroll: true });
258
319
  });
259
320
  return () => cancelAnimationFrame(frameId);
260
321
  }, [popupRef, open, enabled]);
261
322
  }
262
- /**
263
- * Keydown handler for `Menu.Popup`. Handles Shift + Tab escaping the popup and inline-search-input
264
- * / composite-item coordination.
265
- */
323
+ /** Keydown handler for `Menu.Popup`. Handles Shift + Tab escaping the popup. */
266
324
  function handleMenuPopupKeyDown(event) {
267
325
  /**
268
326
  * Ensure Shift + Tab doesn't close the menu if there is a previous focusable element that is not
@@ -290,54 +348,6 @@ function handleMenuPopupKeyDown(event) {
290
348
  if ((previousElement && !previousElementIsMenuItem) ||
291
349
  (!activeElementIsMenuItem && previousElementIsMenuItem)) {
292
350
  event.preventBaseUIHandler();
293
- return;
294
- }
295
- }
296
- // If there is a search input in the menu...
297
- const searchInput = event.currentTarget.querySelector('input[type="search"]');
298
- if (searchInput instanceof HTMLInputElement) {
299
- // If the user typed some text, ensure it goes in the input instead of Base UI focusing the item that matches
300
- if ((event.key.length === 1 && event.key !== ' ') ||
301
- event.key === 'Backspace' ||
302
- event.key === 'ArrowLeft' ||
303
- event.key === 'ArrowRight') {
304
- event.preventBaseUIHandler();
305
- searchInput.focus();
306
- }
307
- else {
308
- const searchInputIsFocused = document.activeElement === searchInput;
309
- const menuItems = [...event.currentTarget.querySelectorAll('.eds-menu-item')];
310
- const highlightedMenuItem = menuItems.find((item) => item.matches('[data-highlighted]'));
311
- /**
312
- * If the user pressed the down arrow while the search input is focused and there is a single
313
- * menu item in the results, move the focus to it because it may already be highlighted, which
314
- * would prevent Base UI from focusing it.
315
- */
316
- if (event.key === 'ArrowDown' && searchInputIsFocused && menuItems.length === 1) {
317
- event.preventBaseUIHandler();
318
- menuItems[0].focus();
319
- }
320
- // Inversely, if the user pressed the up arrow and the focus is on the only menu item, move it back to the search input
321
- else if (event.key === 'ArrowUp' &&
322
- menuItems.length === 1 &&
323
- document.activeElement === menuItems[0]) {
324
- event.preventDefault();
325
- searchInput.focus();
326
- }
327
- // If the user pressed Enter while the search input is focused and a menu item is highlighted, select it
328
- else if (event.key === 'Enter' && searchInputIsFocused && highlightedMenuItem) {
329
- highlightedMenuItem.focus();
330
- window.setTimeout(() => {
331
- highlightedMenuItem.dispatchEvent(new KeyboardEvent('keydown', {
332
- key: 'Enter',
333
- code: 'Enter',
334
- keyCode: 13,
335
- which: 13,
336
- bubbles: true,
337
- cancelable: true,
338
- }));
339
- }, 0);
340
- }
341
351
  }
342
352
  }
343
353
  }
@@ -353,10 +363,12 @@ export function MenuGroup({ label, type = 'plain', value, defaultValue, onValueC
353
363
  if (isNested) {
354
364
  throw new Error(`[Menu] Groups cannot be nested, make sure you're not using \`Menu.Group\` in a \`Menu\` with a \`label\` and/or \`type\` prop (implicit group)`);
355
365
  }
356
- return (_jsx(MenuGroupContext.Provider, { value: menuGroupContextValue, children: _jsxs(Menu.Group, { ...mergeProps({ className: cn('peer/menu-group u:-m-2 u:mb-2 u:border-b u:border-muted u:p-2') }, props), render: type === 'radio' ? (_jsx(Menu.RadioGroup, { value: value, defaultValue: defaultValue, onValueChange: onValueChange })) : (_jsx("div", {})), children: [label ? (_jsx(Menu.GroupLabel, { className: "truncate p-2 text-12 text-muted", children: label })) : null, children] }) }));
366
+ return (_jsx(MenuGroupContext.Provider, { value: menuGroupContextValue, children: _jsxs(Menu.Group, { ...mergeProps({
367
+ className: cn('u:-m-2 u:border-muted u:p-2 u:has-[~:not([hidden]):not(:empty)]:mb-2 u:has-[~:not([hidden]):not(:empty)]:border-b'),
368
+ }, props), render: type === 'radio' ? (_jsx(Menu.RadioGroup, { value: value, defaultValue: defaultValue, onValueChange: onValueChange })) : (_jsx("div", {})), children: [label ? (_jsx(Menu.GroupLabel, { className: "truncate p-2 text-12 text-muted", children: label })) : null, children] }) }));
357
369
  }
358
370
  MenuGroup.displayName = 'Menu.Group';
359
- export function MenuItem({ ref: passedRef, type: passedType, addonBefore: passedAddonBefore, addonAfter: passedAddonAfter, variant, loading, href, target, checked, defaultChecked, onCheckedChange, value: passedValue, disabled: passedDisabled, children, ...props }) {
371
+ export function MenuItem({ ref: passedRef, type: passedType, label, addonBefore: passedAddonBefore, addonAfter: passedAddonAfter, variant, loading, href, target, checked, defaultChecked, onCheckedChange, value: passedValue, disabled: passedDisabled, children, ...props }) {
360
372
  const elementRef = useRef(null);
361
373
  const elementPassedRef = useMergedRefs(elementRef, passedRef);
362
374
  const autoValue = useAutoValue(children);
@@ -425,18 +437,18 @@ export function MenuItem({ ref: passedRef, type: passedType, addonBefore: passed
425
437
  ...props,
426
438
  };
427
439
  if (type === 'submenu-trigger') {
428
- return _jsx(Menu.SubmenuTrigger, { nativeButton: true, disabled: disabled, render: renderItem(baseProps) });
440
+ return (_jsx(Menu.SubmenuTrigger, { nativeButton: true, label: label, disabled: disabled, render: renderItem(baseProps) }));
429
441
  }
430
442
  if (type === 'checkbox') {
431
- return (_jsx(CheckboxItem, { ...baseProps, nativeButton: true, checked: checked, defaultChecked: defaultChecked, onCheckedChange: onCheckedChange, disabled: disabled, render: renderItem }));
443
+ return (_jsx(CheckboxItem, { ...baseProps, nativeButton: true, label: label, checked: checked, defaultChecked: defaultChecked, onCheckedChange: onCheckedChange, disabled: disabled, render: renderItem }));
432
444
  }
433
445
  if (type === 'radio') {
434
- return (_jsx(Menu.RadioItem, { ...baseProps, nativeButton: true, closeOnClick: true, value: passedValue !== undefined ? passedValue : autoValue, disabled: disabled, render: renderItem }));
446
+ return (_jsx(Menu.RadioItem, { ...baseProps, nativeButton: true, closeOnClick: true, label: label, value: passedValue !== undefined ? passedValue : autoValue, disabled: disabled, render: renderItem }));
435
447
  }
436
448
  if (href !== undefined) {
437
- return (_jsx(Menu.LinkItem, { ...baseProps, closeOnClick: true, href: href, target: target, render: renderItem, children: children }));
449
+ return (_jsx(Menu.LinkItem, { ...baseProps, closeOnClick: true, label: label, href: href, target: target, render: renderItem, children: children }));
438
450
  }
439
- return _jsx(Menu.Item, { ...baseProps, nativeButton: true, disabled: disabled, render: renderItem });
451
+ return (_jsx(Menu.Item, { ...baseProps, nativeButton: true, label: label, disabled: disabled, render: renderItem }));
440
452
  }
441
453
  MenuItem.displayName = 'Menu.Item';
442
454
  function MenuItemAddon({ children, ...props }) {
@@ -444,30 +456,24 @@ function MenuItemAddon({ children, ...props }) {
444
456
  className: cn('eds-addon root-flex items-center justify-center u:h-(--eds-addon-size) u:min-w-(--eds-addon-size) u:shrink-0 u:addon-medium'),
445
457
  }, props), children: children }));
446
458
  }
447
- export function MenuSearch({ ref: passedRef, placeholder: passedPlaceholder, value: controlledValue, defaultValue, onValueChange, ...props }) {
448
- const inputRef = useRef(null);
449
- const inputPassedRef = useMergedRefs(inputRef, passedRef);
450
- const placeholder = passedPlaceholder ?? 'Search';
451
- const [value, setValue] = useControlled(controlledValue, defaultValue ?? '', onValueChange);
459
+ /** Search input for the `header` of a `searchable` menu, which filters its items. */
460
+ export function MenuSearch({ placeholder = 'Search', ...props }) {
461
+ if (!useContext(MenuSearchableContext)) {
462
+ throw new Error('[Menu] `Menu.Search` must be used in a `searchable` menu');
463
+ }
464
+ const loading = useContext(MenuSearchLoadingContext);
452
465
  const { rootProps, nestedProps } = splitProps(props);
453
- return (_jsxs("div", { ...mergeProps({ className: cn('root-flex items-center u:-m-4 u:text-14 u:text-default') }, rootProps), children: [_jsx(MagnifyingGlassIcon, { alt: "", className: "absolute inset-y-0 inset-s-3.5 my-auto size-3.5" }), _jsx("input", { ref: inputPassedRef, type: "search", placeholder: placeholder, "aria-label": placeholder, value: value, ...mergeProps({
454
- className: cn('peer -mb-px h-10 w-0 grow ps-8.5 outline-0'),
455
- onChange: (event) => setValue(event.target.value),
456
- }, nestedProps) }), _jsx("div", { className: "me-1.5 flex size-7 shrink-0 items-center justify-center peer-placeholder-shown:hidden", children: _jsx(Button, { variant: "naked", size: "xsmall", tabIndex: -1, onClick: () => {
457
- const input = inputRef.current;
458
- if (!input)
459
- return;
460
- setInputValue(input, '');
461
- input.focus();
462
- }, className: "h-full", children: _jsx(XIcon, { alt: "Clear" }) }) })] }));
466
+ return (_jsxs("div", { ...mergeProps({ className: cn('root-flex items-center u:-m-4 u:text-14 u:text-default') }, rootProps), children: [loading ? (_jsx(LoadingIcon, { className: "absolute inset-y-0 inset-s-3.5 my-auto size-3.5" })) : (_jsx(MagnifyingGlassIcon, { alt: "", className: "absolute inset-y-0 inset-s-3.5 my-auto size-3.5" })), _jsx(Menu.Input, { placeholder: placeholder, "aria-label": placeholder, ...mergeProps({ className: cn('peer -mb-px h-10 w-0 grow ps-8.5 outline-0') }, nestedProps) }), _jsx("div", { className: "me-1.5 flex size-7 shrink-0 items-center justify-center peer-placeholder-shown:hidden", children: _jsx(Menu.Clear, { "aria-hidden": false, render: _jsx(Button, { variant: "naked", size: "xsmall", className: "h-full" }), children: _jsx(XIcon, { alt: "Clear" }) }) })] }));
463
467
  }
464
468
  MenuSearch.displayName = 'Menu.Search';
465
469
  /**
466
- * Renders the standard empty-state treatment for a `Menu` (typically shown when search filters
467
- * yield no results, or when a `Menu` has no items at all). Defaults to `"No results"`.
470
+ * Renders the standard empty-state treatment for a `Menu`, e.g. when it has no items. Searchable
471
+ * menus render it when no item matches (see `empty`). Its text wraps instead of widening the menu.
472
+ * Defaults to `"No results"`.
468
473
  */
469
474
  export function MenuEmpty({ children = 'No results', ...props }) {
470
- return (_jsx("div", { ...mergeProps({ className: cn('p-2 u:text-16 u:text-muted') }, props), children: children }));
475
+ // `contain-inline-size` keeps the text from widening a menu that sizes to fit its content
476
+ return (_jsx("div", { ...mergeProps({ className: cn('p-2 contain-inline-size u:text-16 u:text-muted') }, props), children: children }));
471
477
  }
472
478
  MenuEmpty.displayName = 'Menu.Empty';
473
479
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.parts.js","sourceRoot":"","sources":["../../src/components/Menu.parts.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.parts.js","sourceRoot":"","sources":["../../src/components/Menu.parts.tsx"],"names":[],"mappings":"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"}