@revikornmann/muka-ui 0.18.0 → 0.19.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 (118) hide show
  1. package/README.md +81 -60
  2. package/cli/bin/muka-ui.js +12 -5
  3. package/cli/commands/brand.js +33 -14
  4. package/cli/commands/init.js +21 -17
  5. package/cli/commands/install-skill.js +84 -26
  6. package/cli/templates/AGENTS.md +128 -0
  7. package/cli/templates/CLAUDE.md +8 -88
  8. package/cli/templates/muka-ui-guidelines.md +50 -14
  9. package/dist/cjs/components/Combobox/Combobox.css +116 -132
  10. package/dist/cjs/components/Combobox/Combobox.js +175 -52
  11. package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
  12. package/dist/cjs/components/Combobox/index.js.map +1 -1
  13. package/dist/cjs/components/DropdownSelect/DropdownSelect.css +225 -0
  14. package/dist/cjs/components/DropdownSelect/DropdownSelect.js +106 -0
  15. package/dist/cjs/components/DropdownSelect/DropdownSelect.js.map +1 -0
  16. package/dist/cjs/components/DropdownSelect/index.js +6 -0
  17. package/dist/cjs/components/DropdownSelect/index.js.map +1 -0
  18. package/dist/cjs/components/Icon/custom/ArrowReturnIcon.js +11 -0
  19. package/dist/cjs/components/Icon/custom/ArrowReturnIcon.js.map +1 -0
  20. package/dist/cjs/components/Icon/iconRegistry.js +5 -0
  21. package/dist/cjs/components/Icon/iconRegistry.js.map +1 -1
  22. package/dist/cjs/components/Input/Input.css +45 -8
  23. package/dist/cjs/components/Input/Input.js +14 -3
  24. package/dist/cjs/components/Input/Input.js.map +1 -1
  25. package/dist/cjs/components/Menu/Menu.css +123 -37
  26. package/dist/cjs/components/Menu/Menu.js +283 -25
  27. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  28. package/dist/cjs/components/ProgressTracker/ProgressTracker.css +273 -22
  29. package/dist/cjs/components/ProgressTracker/ProgressTracker.js +109 -9
  30. package/dist/cjs/components/ProgressTracker/ProgressTracker.js.map +1 -1
  31. package/dist/cjs/components/Scrollbar/Scrollbar.css +7 -6
  32. package/dist/cjs/components/index.js +5 -3
  33. package/dist/cjs/components/index.js.map +1 -1
  34. package/dist/esm/components/Combobox/Combobox.css +116 -132
  35. package/dist/esm/components/Combobox/Combobox.js +177 -54
  36. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  37. package/dist/esm/components/Combobox/index.js +1 -1
  38. package/dist/esm/components/Combobox/index.js.map +1 -1
  39. package/dist/esm/components/DropdownSelect/DropdownSelect.css +225 -0
  40. package/dist/esm/components/DropdownSelect/DropdownSelect.js +102 -0
  41. package/dist/esm/components/DropdownSelect/DropdownSelect.js.map +1 -0
  42. package/dist/esm/components/DropdownSelect/index.js +2 -0
  43. package/dist/esm/components/DropdownSelect/index.js.map +1 -0
  44. package/dist/esm/components/Icon/custom/ArrowReturnIcon.js +7 -0
  45. package/dist/esm/components/Icon/custom/ArrowReturnIcon.js.map +1 -0
  46. package/dist/esm/components/Icon/iconRegistry.js +5 -0
  47. package/dist/esm/components/Icon/iconRegistry.js.map +1 -1
  48. package/dist/esm/components/Input/Input.css +45 -8
  49. package/dist/esm/components/Input/Input.js +14 -3
  50. package/dist/esm/components/Input/Input.js.map +1 -1
  51. package/dist/esm/components/Menu/Menu.css +123 -37
  52. package/dist/esm/components/Menu/Menu.js +284 -26
  53. package/dist/esm/components/Menu/Menu.js.map +1 -1
  54. package/dist/esm/components/ProgressTracker/ProgressTracker.css +273 -22
  55. package/dist/esm/components/ProgressTracker/ProgressTracker.js +110 -10
  56. package/dist/esm/components/ProgressTracker/ProgressTracker.js.map +1 -1
  57. package/dist/esm/components/Scrollbar/Scrollbar.css +7 -6
  58. package/dist/esm/components/index.js +1 -0
  59. package/dist/esm/components/index.js.map +1 -1
  60. package/dist/styles/components/Combobox.css +116 -132
  61. package/dist/styles/components/DropdownSelect.css +225 -0
  62. package/dist/styles/components/Input.css +45 -8
  63. package/dist/styles/components/Menu.css +123 -37
  64. package/dist/styles/components/ProgressTracker.css +273 -22
  65. package/dist/styles/components/Scrollbar.css +7 -6
  66. package/dist/styles/components/Typography.css +89 -0
  67. package/dist/styles/index.css +1285 -605
  68. package/dist/styles/muka-dark.css +1285 -605
  69. package/dist/styles/muka-light.css +1285 -605
  70. package/dist/styles/tokens-bouwplan-dark.css +5 -4
  71. package/dist/styles/tokens-bouwplan-light.css +5 -4
  72. package/dist/styles/tokens-fscl-dark.css +25 -24
  73. package/dist/styles/tokens-fscl-light.css +25 -24
  74. package/dist/styles/tokens-grip-dark.css +4 -3
  75. package/dist/styles/tokens-grip-light.css +4 -3
  76. package/dist/styles/tokens-muka-dark.css +4 -3
  77. package/dist/styles/tokens-muka-light.css +4 -3
  78. package/dist/styles/tokens-wireframe-dark.css +49 -48
  79. package/dist/styles/tokens-wireframe-light.css +49 -48
  80. package/dist/styles/wireframe-dark.css +1330 -650
  81. package/dist/styles/wireframe-light.css +1330 -650
  82. package/dist/types/components/Combobox/Combobox.d.ts +38 -38
  83. package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
  84. package/dist/types/components/Combobox/index.d.ts +1 -1
  85. package/dist/types/components/Combobox/index.d.ts.map +1 -1
  86. package/dist/types/components/DropdownSelect/DropdownSelect.d.ts +71 -0
  87. package/dist/types/components/DropdownSelect/DropdownSelect.d.ts.map +1 -0
  88. package/dist/types/components/DropdownSelect/index.d.ts +2 -0
  89. package/dist/types/components/DropdownSelect/index.d.ts.map +1 -0
  90. package/dist/types/components/Icon/custom/ArrowReturnIcon.d.ts +9 -0
  91. package/dist/types/components/Icon/custom/ArrowReturnIcon.d.ts.map +1 -0
  92. package/dist/types/components/Icon/iconRegistry.d.ts.map +1 -1
  93. package/dist/types/components/Input/Input.d.ts +5 -0
  94. package/dist/types/components/Input/Input.d.ts.map +1 -1
  95. package/dist/types/components/Menu/Menu.d.ts +42 -2
  96. package/dist/types/components/Menu/Menu.d.ts.map +1 -1
  97. package/dist/types/components/ProgressTracker/ProgressTracker.d.ts +29 -8
  98. package/dist/types/components/ProgressTracker/ProgressTracker.d.ts.map +1 -1
  99. package/dist/types/components/index.d.ts +1 -0
  100. package/dist/types/components/index.d.ts.map +1 -1
  101. package/docs/consumers/README.md +116 -37
  102. package/docs/consumers/brand.md +261 -0
  103. package/docs/consumers/figma-console-mcp.md +116 -0
  104. package/docs/consumers/setup-instructions.md +98 -12
  105. package/docs/consumers/skills.md +79 -0
  106. package/package.json +4 -6
  107. package/scripts/postinstall-nudge.js +8 -4
  108. package/skills/add-brand/SKILL.md +204 -0
  109. package/skills/add-brand/reference.md +160 -0
  110. package/skills/figma-to-code/SKILL.md +127 -0
  111. package/skills/pull-from-figma/SKILL.md +123 -0
  112. package/skills/push-to-figma/SKILL.md +172 -0
  113. package/skills/setup-muka/SKILL.md +73 -13
  114. package/tokens/README.md +39 -17
  115. package/tokens/t2-alias/brand/bouwplan/fonts.json +1 -1
  116. package/tokens/t2-alias/brand/fscl/fonts.json +3 -3
  117. package/tokens/t2-alias/brand/wireframe/fonts.json +2 -2
  118. package/tokens/t4-components/menu.json +8 -3
@@ -1,17 +1,52 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React, { createContext, useCallback, useContext, useMemo, useRef, useState, } from 'react';
3
+ import React, { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState, } from 'react';
4
4
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
5
5
  import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
6
6
  import { Icon } from '../Icon';
7
7
  import { Scrollbar } from '../Scrollbar';
8
8
  import './Menu.css';
9
- const MenuContext = createContext({ trigger: 'click' });
9
+ const MenuContext = createContext({ trigger: 'click', open: false });
10
10
  const MenuSearchContext = createContext({
11
11
  query: '',
12
12
  setQuery: () => { },
13
13
  searchable: false,
14
+ highlightedId: null,
15
+ registerSearchNavItem: () => () => { },
16
+ moveHighlight: () => { },
17
+ selectHighlighted: () => { },
14
18
  });
19
+ const MenuSearchHitsContext = createContext(null);
20
+ function useReportVisibleSearchResult(visible) {
21
+ const report = useContext(MenuSearchHitsContext);
22
+ useLayoutEffect(() => {
23
+ if (!visible || !report)
24
+ return undefined;
25
+ report(1);
26
+ return () => report(-1);
27
+ }, [visible, report]);
28
+ }
29
+ /**
30
+ * Registers an enabled, visible row for MenuSearch arrow/Enter navigation.
31
+ * Returns whether this row is the current search highlight.
32
+ */
33
+ function useSearchNavHighlight(options) {
34
+ const { enabled, disabled, select } = options;
35
+ const { searchable, highlightedId, registerSearchNavItem } = useMenuSearch();
36
+ const id = React.useId();
37
+ const selectRef = useRef(select);
38
+ selectRef.current = select;
39
+ useLayoutEffect(() => {
40
+ if (!searchable || !enabled || disabled)
41
+ return undefined;
42
+ return registerSearchNavItem({
43
+ id,
44
+ disabled: false,
45
+ select: () => selectRef.current(),
46
+ });
47
+ }, [searchable, enabled, disabled, id, registerSearchNavItem]);
48
+ return searchable && enabled && !disabled && highlightedId === id;
49
+ }
15
50
  export function useMenuSearch() {
16
51
  return useContext(MenuSearchContext);
17
52
  }
@@ -58,11 +93,20 @@ function matchesSearch(children, query) {
58
93
  * Built on Radix DropdownMenu / ContextMenu.
59
94
  */
60
95
  export const Menu = ({ children, trigger = 'click', open, onOpenChange, defaultOpen, modal = true, }) => {
61
- const value = useMemo(() => ({ trigger, onOpenChange }), [trigger, onOpenChange]);
96
+ const [uncontrolledOpen, setUncontrolledOpen] = useState(Boolean(defaultOpen));
97
+ const isControlled = open !== undefined;
98
+ const isOpen = isControlled ? Boolean(open) : uncontrolledOpen;
99
+ const handleOpenChange = useCallback((next) => {
100
+ if (!isControlled) {
101
+ setUncontrolledOpen(next);
102
+ }
103
+ onOpenChange?.(next);
104
+ }, [isControlled, onOpenChange]);
105
+ const value = useMemo(() => ({ trigger, open: isOpen }), [trigger, isOpen]);
62
106
  if (trigger === 'context') {
63
- return (_jsx(MenuContext.Provider, { value: value, children: _jsx(ContextMenuPrimitive.Root, { onOpenChange: onOpenChange, modal: modal, children: children }) }));
107
+ return (_jsx(MenuContext.Provider, { value: value, children: _jsx(ContextMenuPrimitive.Root, { onOpenChange: handleOpenChange, modal: modal, children: children }) }));
64
108
  }
65
- return (_jsx(MenuContext.Provider, { value: value, children: _jsx(DropdownMenuPrimitive.Root, { open: open, onOpenChange: onOpenChange, defaultOpen: defaultOpen, modal: modal, children: children }) }));
109
+ return (_jsx(MenuContext.Provider, { value: value, children: _jsx(DropdownMenuPrimitive.Root, { open: open, onOpenChange: handleOpenChange, defaultOpen: defaultOpen, modal: modal, children: children }) }));
66
110
  };
67
111
  /** Alias for Figma / docs naming parity with "Dropdown Menu". */
68
112
  export const DropdownMenu = Menu;
@@ -105,11 +149,111 @@ function partitionMenuChildren(children) {
105
149
  });
106
150
  return { search, items };
107
151
  }
108
- export const MenuContent = React.forwardRef(({ children, align = 'start', side = 'bottom', sideOffset = 4, alignOffset = 0, className = '', loop = true, onCloseAutoFocus, searchable = false, scrollbar = false, }, ref) => {
109
- const { trigger } = useContext(MenuContext);
152
+ export const MenuContent = React.forwardRef(({ children, align = 'start', side = 'bottom', sideOffset = 4, alignOffset = 0, className = '', style, loop = true, onOpenAutoFocus, onCloseAutoFocus, searchable = false, scrollbar = false, }, ref) => {
153
+ const { trigger, open } = useContext(MenuContext);
110
154
  const [query, setQuery] = useState('');
155
+ const [searchHits, setSearchHits] = useState(0);
156
+ const [highlightedId, setHighlightedId] = useState(null);
111
157
  const viewportRef = useRef(null);
112
- const searchValue = useMemo(() => ({ query, setQuery, searchable }), [query, searchable]);
158
+ const searchNavItemsRef = useRef([]);
159
+ // Clear search when the menu closes so the next open shows all options.
160
+ useEffect(() => {
161
+ if (!open) {
162
+ setQuery('');
163
+ setHighlightedId(null);
164
+ }
165
+ }, [open]);
166
+ const reportSearchHits = useCallback((delta) => {
167
+ setSearchHits((count) => count + delta);
168
+ }, []);
169
+ const registerSearchNavItem = useCallback((item) => {
170
+ searchNavItemsRef.current.push(item);
171
+ return () => {
172
+ searchNavItemsRef.current = searchNavItemsRef.current.filter((entry) => entry.id !== item.id);
173
+ };
174
+ }, []);
175
+ const moveHighlight = useCallback((delta) => {
176
+ const enabled = searchNavItemsRef.current.filter((item) => !item.disabled);
177
+ if (enabled.length === 0) {
178
+ setHighlightedId(null);
179
+ return;
180
+ }
181
+ setHighlightedId((current) => {
182
+ const index = enabled.findIndex((item) => item.id === current);
183
+ const from = index === -1 ? (delta > 0 ? -1 : 0) : index;
184
+ const next = (from + delta + enabled.length) % enabled.length;
185
+ return enabled[next].id;
186
+ });
187
+ }, []);
188
+ const highlightedIdRef = useRef(null);
189
+ highlightedIdRef.current = highlightedId;
190
+ const selectHighlighted = useCallback(() => {
191
+ const enabled = searchNavItemsRef.current.filter((item) => !item.disabled);
192
+ const currentId = highlightedIdRef.current;
193
+ const target = enabled.find((item) => item.id === currentId) ?? enabled[0] ?? null;
194
+ target?.select();
195
+ }, []);
196
+ // After children register, pin highlight to the first enabled row (or keep
197
+ // the current one when it is still in the filtered list).
198
+ useLayoutEffect(() => {
199
+ if (!searchable) {
200
+ searchNavItemsRef.current = [];
201
+ if (highlightedIdRef.current !== null)
202
+ setHighlightedId(null);
203
+ return;
204
+ }
205
+ const enabled = searchNavItemsRef.current.filter((item) => !item.disabled);
206
+ setHighlightedId((current) => {
207
+ if (current && enabled.some((item) => item.id === current))
208
+ return current;
209
+ return enabled[0]?.id ?? null;
210
+ });
211
+ });
212
+ useLayoutEffect(() => {
213
+ if (!highlightedId || !viewportRef.current)
214
+ return;
215
+ const active = viewportRef.current.querySelector('.muka-menu__item[data-highlighted]');
216
+ if (typeof active?.scrollIntoView === 'function') {
217
+ active.scrollIntoView({ block: 'nearest' });
218
+ }
219
+ }, [highlightedId]);
220
+ const handleQueryChange = useCallback((next) => {
221
+ setQuery(next);
222
+ // Force re-pin to the first match on the next layout pass.
223
+ setHighlightedId(null);
224
+ }, []);
225
+ const searchValue = useMemo(() => ({
226
+ query,
227
+ setQuery: handleQueryChange,
228
+ searchable,
229
+ highlightedId,
230
+ registerSearchNavItem,
231
+ moveHighlight,
232
+ selectHighlighted,
233
+ }), [
234
+ query,
235
+ handleQueryChange,
236
+ searchable,
237
+ highlightedId,
238
+ registerSearchNavItem,
239
+ moveHighlight,
240
+ selectHighlighted,
241
+ ]);
242
+ // Prefer the sticky search field so typing + arrow/Enter nav work immediately.
243
+ const handleOpenAutoFocus = useCallback((event) => {
244
+ if (onOpenAutoFocus) {
245
+ onOpenAutoFocus(event);
246
+ return;
247
+ }
248
+ if (!searchable)
249
+ return;
250
+ const content = event.currentTarget;
251
+ const input = content?.querySelector?.('.muka-menu__search-input');
252
+ if (input) {
253
+ event.preventDefault();
254
+ input.focus();
255
+ }
256
+ }, [onOpenAutoFocus, searchable]);
113
257
  const { search, items } = partitionMenuChildren(children);
114
258
  const searchNodes = search.length > 0 ? search : searchable ? _jsx(MenuSearch, {}) : null;
115
259
  const contentClasses = [
@@ -120,49 +264,119 @@ export const MenuContent = React.forwardRef(({ children, align = 'start', side =
120
264
  ]
121
265
  .filter(Boolean)
122
266
  .join(' ');
123
- const body = (_jsxs(MenuSearchContext.Provider, { value: searchValue, children: [searchNodes, _jsxs("div", { className: "muka-menu__body", children: [_jsx("div", { className: "muka-menu__viewport", ref: viewportRef, children: items }), scrollbar ? _jsx(Scrollbar, { viewportRef: viewportRef }) : null] })] }));
267
+ const body = (_jsx(MenuSearchContext.Provider, { value: searchValue, children: _jsxs(MenuSearchHitsContext.Provider, { value: reportSearchHits, children: [searchNodes, _jsxs("div", { className: "muka-menu__body", children: [_jsxs("div", { className: "muka-menu__viewport", ref: viewportRef, children: [items, searchable && query && searchHits === 0 ? (_jsx("div", { className: "muka-menu__empty", role: "status", children: "No results" })) : null] }), scrollbar ? _jsx(Scrollbar, { viewportRef: viewportRef }) : null] })] }) }));
268
+ // Radix types omit onOpenAutoFocus from menu Content (private FocusScope prop),
269
+ // but it is supported at runtime — required so searchable menus focus the field.
124
270
  if (trigger === 'context') {
125
- return (_jsx(ContextMenuPrimitive.Portal, { children: _jsx(ContextMenuPrimitive.Content, { ref: ref, alignOffset: alignOffset, className: contentClasses, loop: loop, onCloseAutoFocus: onCloseAutoFocus, children: body }) }));
271
+ const contextContentProps = {
272
+ ref,
273
+ alignOffset,
274
+ className: contentClasses,
275
+ style,
276
+ loop,
277
+ onOpenAutoFocus: handleOpenAutoFocus,
278
+ onCloseAutoFocus,
279
+ children: body,
280
+ };
281
+ return (_jsx(ContextMenuPrimitive.Portal, { children: _jsx(ContextMenuPrimitive.Content, { ...contextContentProps }) }));
126
282
  }
127
- return (_jsx(DropdownMenuPrimitive.Portal, { children: _jsx(DropdownMenuPrimitive.Content, { ref: ref, align: align, side: side, sideOffset: sideOffset, alignOffset: alignOffset, className: contentClasses, loop: loop, onCloseAutoFocus: onCloseAutoFocus, children: body }) }));
283
+ const dropdownContentProps = {
284
+ ref,
285
+ align,
286
+ side,
287
+ sideOffset,
288
+ alignOffset,
289
+ className: contentClasses,
290
+ style,
291
+ loop,
292
+ onOpenAutoFocus: handleOpenAutoFocus,
293
+ onCloseAutoFocus,
294
+ children: body,
295
+ };
296
+ return (_jsx(DropdownMenuPrimitive.Portal, { children: _jsx(DropdownMenuPrimitive.Content, { ...dropdownContentProps }) }));
128
297
  });
129
298
  MenuContent.displayName = 'MenuContent';
130
299
  /**
131
300
  * MenuSearch — sticky search header for filtering menu items.
132
301
  * Must be used inside a `MenuContent` with `searchable`.
133
302
  */
134
- export const MenuSearch = React.forwardRef(({ placeholder = 'Search', className = '', 'aria-label': ariaLabel }, ref) => {
135
- const { query, setQuery, searchable } = useMenuSearch();
303
+ export const MenuSearch = React.forwardRef(({ placeholder = 'Search', size = 'md', className = '', 'aria-label': ariaLabel }, ref) => {
304
+ const { query, setQuery, searchable, moveHighlight, selectHighlighted, } = useMenuSearch();
136
305
  const handleKeyDown = useCallback((e) => {
137
- // Keep typing in the field from driving Radix typeahead / menu focus.
306
+ // Keep typing from driving Radix typeahead, but own arrow/Enter for
307
+ // highlight + commit while focus stays in the search field.
308
+ if (e.key === 'ArrowDown') {
309
+ e.preventDefault();
310
+ e.stopPropagation();
311
+ moveHighlight(1);
312
+ return;
313
+ }
314
+ if (e.key === 'ArrowUp') {
315
+ e.preventDefault();
316
+ e.stopPropagation();
317
+ moveHighlight(-1);
318
+ return;
319
+ }
320
+ if (e.key === 'Enter') {
321
+ e.preventDefault();
322
+ e.stopPropagation();
323
+ selectHighlighted();
324
+ return;
325
+ }
138
326
  e.stopPropagation();
139
- }, []);
327
+ }, [moveHighlight, selectHighlighted]);
140
328
  if (!searchable) {
141
329
  return null;
142
330
  }
143
- const rootClasses = ['muka-menu__search', className].filter(Boolean).join(' ');
144
- return (_jsxs("div", { className: rootClasses, "data-muka-menu-search": "", children: [_jsx("span", { className: "muka-menu__search-icon", "aria-hidden": "true", children: _jsx(Icon, { name: "search", variant: "line", size: "md" }) }), _jsx("input", { ref: ref, type: "search", className: "muka-menu__search-input", value: query, onChange: (e) => setQuery(e.target.value), onKeyDown: handleKeyDown, placeholder: placeholder, "aria-label": ariaLabel || placeholder, autoComplete: "off", autoCorrect: "off", spellCheck: false }), query.length > 0 && (_jsx("button", { type: "button", className: "muka-menu__search-clear", onClick: () => setQuery(''), "aria-label": "Clear search", tabIndex: -1, children: _jsx(Icon, { name: "close", variant: "line", size: "sm" }) }))] }));
331
+ const iconSize = size === 'sm' ? 'xs' : 'sm';
332
+ const rootClasses = [
333
+ 'muka-menu__search',
334
+ size === 'sm' && 'muka-menu__search--sm',
335
+ className,
336
+ ]
337
+ .filter(Boolean)
338
+ .join(' ');
339
+ return (_jsxs("div", { className: rootClasses, "data-muka-menu-search": "", children: [_jsx("span", { className: "muka-menu__search-icon", "aria-hidden": "true", children: _jsx(Icon, { name: "search", variant: "line", size: iconSize }) }), _jsx("input", { ref: ref, type: "search", className: "muka-menu__search-input", value: query, onChange: (e) => setQuery(e.target.value), onKeyDown: handleKeyDown, placeholder: placeholder, "aria-label": ariaLabel || placeholder, autoComplete: "off", autoCorrect: "off", spellCheck: false }), query.length > 0 && (_jsx("button", { type: "button", className: "muka-menu__search-clear", onClick: () => setQuery(''), "aria-label": "Clear search", tabIndex: -1, children: _jsx(Icon, { name: "close", variant: "line", size: iconSize }) }))] }));
145
340
  });
146
341
  MenuSearch.displayName = 'MenuSearch';
147
342
  /**
148
343
  * MenuItem - An action item within the menu
149
344
  */
150
- export const MenuItem = React.forwardRef(({ children, onSelect, disabled = false, destructive = false, icon, shortcut, className = '', textValue, }, ref) => {
345
+ export const MenuItem = React.forwardRef(({ children, onSelect, disabled = false, destructive = false, icon, shortcut, hint, highlighted = false, id, className = '', textValue, }, ref) => {
151
346
  const Primitives = useMenuPrimitives();
152
347
  const { query, searchable } = useMenuSearch();
153
348
  const labelText = textValue ?? getSearchableText(children);
154
- if (searchable && query && !matchesSearch(labelText, query)) {
349
+ const hidden = Boolean(searchable && query && !matchesSearch(labelText, query));
350
+ useReportVisibleSearchResult(searchable && Boolean(query) && !hidden);
351
+ const itemRef = useRef(null);
352
+ const setRefs = useCallback((node) => {
353
+ itemRef.current = node;
354
+ if (typeof ref === 'function')
355
+ ref(node);
356
+ else if (ref)
357
+ ref.current = node;
358
+ }, [ref]);
359
+ const searchHighlighted = useSearchNavHighlight({
360
+ enabled: searchable && !hidden,
361
+ disabled,
362
+ select: () => itemRef.current?.click(),
363
+ });
364
+ if (hidden) {
155
365
  return null;
156
366
  }
367
+ const isHighlighted = highlighted || searchHighlighted;
368
+ const showEnterHint = (hint === 'enter' || searchHighlighted) && !shortcut;
157
369
  const itemClasses = [
158
370
  'muka-menu__item',
371
+ showEnterHint && 'muka-menu__item--hint-enter',
372
+ shortcut && 'muka-menu__item--has-shortcut',
159
373
  destructive && 'muka-menu__item--destructive',
160
374
  disabled && 'muka-menu__item--disabled',
161
375
  className,
162
376
  ]
163
377
  .filter(Boolean)
164
378
  .join(' ');
165
- return (_jsxs(Primitives.Item, { ref: ref, className: itemClasses, onSelect: onSelect, disabled: disabled, textValue: labelText, children: [icon && _jsx("span", { className: "muka-menu__item-icon", children: icon }), _jsx("span", { className: "muka-menu__item-label", children: searchable && query ? highlightMenuMatch(labelText, query) : children }), shortcut && _jsx("span", { className: "muka-menu__item-shortcut", children: shortcut })] }));
379
+ return (_jsxs(Primitives.Item, { ref: setRefs, id: id, className: itemClasses, onSelect: onSelect, disabled: disabled, textValue: labelText, "aria-label": searchable && query ? labelText : undefined, "data-highlighted": isHighlighted ? '' : undefined, children: [icon && _jsx("span", { className: "muka-menu__item-icon", children: icon }), _jsx("span", { className: "muka-menu__item-label", children: searchable && query ? highlightMenuMatch(labelText, query) : children }), shortcut ? (_jsx("span", { className: "muka-menu__item-shortcut", children: shortcut })) : showEnterHint ? (_jsx("span", { className: "muka-menu__item-hint", "aria-hidden": "true", children: _jsx(Icon, { name: "arrow-return", size: "md", color: "var(--color-text-muted-default)" }) })) : null] }));
166
380
  });
167
381
  MenuItem.displayName = 'MenuItem';
168
382
  /**
@@ -186,23 +400,50 @@ MenuGroup.displayName = 'MenuGroup';
186
400
  /**
187
401
  * MenuCheckboxItem - A checkable menu item
188
402
  */
189
- export const MenuCheckboxItem = React.forwardRef(({ children, checked, onCheckedChange, disabled = false, icon, className = '', textValue, }, ref) => {
403
+ export const MenuCheckboxItem = React.forwardRef(({ children, checked, onCheckedChange, disabled = false, icon, indicator: indicatorPlacement = 'leading', className = '', textValue, }, ref) => {
190
404
  const Primitives = useMenuPrimitives();
191
405
  const { query, searchable } = useMenuSearch();
192
406
  const labelText = textValue ?? getSearchableText(children);
193
- if (searchable && query && !matchesSearch(labelText, query)) {
407
+ const hidden = Boolean(searchable && query && !matchesSearch(labelText, query));
408
+ useReportVisibleSearchResult(searchable && Boolean(query) && !hidden);
409
+ const itemRef = useRef(null);
410
+ const setRefs = useCallback((node) => {
411
+ itemRef.current = node;
412
+ if (typeof ref === 'function')
413
+ ref(node);
414
+ else if (ref)
415
+ ref.current = node;
416
+ }, [ref]);
417
+ const searchHighlighted = useSearchNavHighlight({
418
+ enabled: searchable && !hidden,
419
+ disabled,
420
+ select: () => itemRef.current?.click(),
421
+ });
422
+ if (hidden) {
194
423
  return null;
195
424
  }
425
+ const trailing = indicatorPlacement === 'trailing' || Boolean(icon);
426
+ // Search highlight owns the trailing slot for the return affordance.
427
+ const showTrailingCheck = trailing && !searchHighlighted;
196
428
  const itemClasses = [
197
429
  'muka-menu__item',
198
430
  'muka-menu__item--checkbox',
431
+ trailing && 'muka-menu__item--checkbox-trailing',
432
+ searchHighlighted && 'muka-menu__item--hint-enter',
199
433
  disabled && 'muka-menu__item--disabled',
200
434
  className,
201
435
  ]
202
436
  .filter(Boolean)
203
437
  .join(' ');
204
- const indicator = (_jsx("span", { className: "muka-menu__item-indicator", children: _jsx(Primitives.ItemIndicator, { children: _jsx(Icon, { name: "check", size: "sm" }) }) }));
205
- return (_jsxs(Primitives.CheckboxItem, { ref: ref, className: itemClasses, checked: checked, onCheckedChange: onCheckedChange, disabled: disabled, textValue: labelText, children: [icon ? _jsx("span", { className: "muka-menu__item-icon", children: icon }) : indicator, _jsx("span", { className: "muka-menu__item-label", children: searchable && query ? highlightMenuMatch(labelText, query) : children }), icon ? indicator : null] }));
438
+ const indicator = (_jsx("span", { className: [
439
+ 'muka-menu__item-indicator',
440
+ trailing && 'muka-menu__item-indicator--trailing',
441
+ ]
442
+ .filter(Boolean)
443
+ .join(' '), children: _jsx(Primitives.ItemIndicator, { children: _jsx(Icon, { name: "check", size: "md", color: trailing
444
+ ? 'var(--color-text-subtle-default)'
445
+ : undefined }) }) }));
446
+ return (_jsxs(Primitives.CheckboxItem, { ref: setRefs, className: itemClasses, checked: checked, onCheckedChange: onCheckedChange, disabled: disabled, textValue: labelText, "aria-label": searchable && query ? labelText : undefined, "data-highlighted": searchHighlighted ? '' : undefined, children: [icon ? _jsx("span", { className: "muka-menu__item-icon", children: icon }) : null, !trailing ? indicator : null, _jsx("span", { className: "muka-menu__item-label", children: searchable && query ? highlightMenuMatch(labelText, query) : children }), showTrailingCheck ? indicator : null, searchHighlighted ? (_jsx("span", { className: "muka-menu__item-hint", "aria-hidden": "true", children: _jsx(Icon, { name: "arrow-return", size: "md", color: "var(--color-text-muted-default)" }) })) : null] }));
206
447
  });
207
448
  MenuCheckboxItem.displayName = 'MenuCheckboxItem';
208
449
  /**
@@ -221,19 +462,36 @@ export const MenuRadioItem = React.forwardRef(({ children, value, disabled = fal
221
462
  const Primitives = useMenuPrimitives();
222
463
  const { query, searchable } = useMenuSearch();
223
464
  const labelText = textValue ?? getSearchableText(children);
224
- if (searchable && query && !matchesSearch(labelText, query)) {
465
+ const hidden = Boolean(searchable && query && !matchesSearch(labelText, query));
466
+ useReportVisibleSearchResult(searchable && Boolean(query) && !hidden);
467
+ const itemRef = useRef(null);
468
+ const setRefs = useCallback((node) => {
469
+ itemRef.current = node;
470
+ if (typeof ref === 'function')
471
+ ref(node);
472
+ else if (ref)
473
+ ref.current = node;
474
+ }, [ref]);
475
+ const searchHighlighted = useSearchNavHighlight({
476
+ enabled: searchable && !hidden,
477
+ disabled,
478
+ select: () => itemRef.current?.click(),
479
+ });
480
+ if (hidden) {
225
481
  return null;
226
482
  }
483
+ const showTrailingCheck = indicator === 'check' && !searchHighlighted;
227
484
  const itemClasses = [
228
485
  'muka-menu__item',
229
486
  'muka-menu__item--radio',
230
487
  indicator === 'check' && 'muka-menu__item--radio-check',
488
+ searchHighlighted && 'muka-menu__item--hint-enter',
231
489
  disabled && 'muka-menu__item--disabled',
232
490
  className,
233
491
  ]
234
492
  .filter(Boolean)
235
493
  .join(' ');
236
- return (_jsxs(Primitives.RadioItem, { ref: ref, className: itemClasses, value: value, disabled: disabled, textValue: labelText, children: [indicator === 'dot' && (_jsx("span", { className: "muka-menu__item-indicator", children: _jsx(Primitives.ItemIndicator, { children: _jsx("span", { className: "muka-menu__radio-dot" }) }) })), _jsx("span", { className: "muka-menu__item-label", children: searchable && query ? highlightMenuMatch(labelText, query) : children }), indicator === 'check' && (_jsx("span", { className: "muka-menu__item-indicator muka-menu__item-indicator--trailing", children: _jsx(Primitives.ItemIndicator, { children: _jsx(Icon, { name: "check", size: "sm" }) }) }))] }));
494
+ return (_jsxs(Primitives.RadioItem, { ref: setRefs, className: itemClasses, value: value, disabled: disabled, textValue: labelText, "aria-label": searchable && query ? labelText : undefined, "data-highlighted": searchHighlighted ? '' : undefined, children: [indicator === 'dot' && (_jsx("span", { className: "muka-menu__item-indicator", children: _jsx(Primitives.ItemIndicator, { children: _jsx("span", { className: "muka-menu__radio-dot" }) }) })), _jsx("span", { className: "muka-menu__item-label", children: searchable && query ? highlightMenuMatch(labelText, query) : children }), showTrailingCheck && (_jsx("span", { className: "muka-menu__item-indicator muka-menu__item-indicator--trailing", children: _jsx(Primitives.ItemIndicator, { children: _jsx(Icon, { name: "check", size: "md", color: "var(--color-text-subtle-default)" }) }) })), searchHighlighted ? (_jsx("span", { className: "muka-menu__item-hint", "aria-hidden": "true", children: _jsx(Icon, { name: "arrow-return", size: "md", color: "var(--color-text-muted-default)" }) })) : null] }));
237
495
  });
238
496
  MenuRadioItem.displayName = 'MenuRadioItem';
239
497
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../components/Menu/Menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../components/Menu/Menu.tsx"],"names":[],"mappings":"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"}