@olddevs/ui 4.2.2 → 4.4.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 (84) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/components/navigation/MegaMenu.d.ts +43 -23
  3. package/dist/components/navigation/MegaMenu.d.ts.map +1 -1
  4. package/dist/components/navigation/MegaMenu.js +110 -47
  5. package/dist/components/navigation/MegaMenu.js.map +1 -1
  6. package/dist/components/navigation/useMenuAim.d.ts +8 -8
  7. package/dist/components/navigation/useMenuAim.d.ts.map +1 -1
  8. package/dist/components/overlays/Menu.d.ts +4 -2
  9. package/dist/components/overlays/Menu.d.ts.map +1 -1
  10. package/dist/components/overlays/Menu.js.map +1 -1
  11. package/dist/editor/RichTextEditor.d.ts.map +1 -1
  12. package/dist/editor/RichTextEditor.js +38 -4
  13. package/dist/editor/RichTextEditor.js.map +1 -1
  14. package/dist/editor/core/handle.d.ts +1 -5
  15. package/dist/editor/core/handle.d.ts.map +1 -1
  16. package/dist/editor/core/handle.js +1 -13
  17. package/dist/editor/core/handle.js.map +1 -1
  18. package/dist/editor/core/handleWatchers.d.ts +6 -0
  19. package/dist/editor/core/handleWatchers.d.ts.map +1 -0
  20. package/dist/editor/core/handleWatchers.js +14 -0
  21. package/dist/editor/core/handleWatchers.js.map +1 -0
  22. package/dist/editor/core/tools.d.ts +7 -2
  23. package/dist/editor/core/tools.d.ts.map +1 -1
  24. package/dist/editor/core/tools.js +2 -1
  25. package/dist/editor/core/tools.js.map +1 -1
  26. package/dist/editor/features/toc/RichTextToc.d.ts +63 -0
  27. package/dist/editor/features/toc/RichTextToc.d.ts.map +1 -0
  28. package/dist/editor/features/toc/RichTextToc.js +372 -0
  29. package/dist/editor/features/toc/RichTextToc.js.map +1 -0
  30. package/dist/editor/features/toc/headings.d.ts +31 -0
  31. package/dist/editor/features/toc/headings.d.ts.map +1 -0
  32. package/dist/editor/features/toc/headings.js +25 -0
  33. package/dist/editor/features/toc/headings.js.map +1 -0
  34. package/dist/editor/features/toc/stickyOffset.d.ts +3 -0
  35. package/dist/editor/features/toc/stickyOffset.d.ts.map +1 -0
  36. package/dist/editor/features/toc/stickyOffset.js +14 -0
  37. package/dist/editor/features/toc/stickyOffset.js.map +1 -0
  38. package/dist/editor/index.d.ts +2 -0
  39. package/dist/editor/index.d.ts.map +1 -1
  40. package/dist/editor/index.js +1 -0
  41. package/dist/editor/index.js.map +1 -1
  42. package/dist/i18n/defaults.d.ts.map +1 -1
  43. package/dist/i18n/defaults.js +1 -0
  44. package/dist/i18n/defaults.js.map +1 -1
  45. package/dist/i18n/messages.d.ts +5 -0
  46. package/dist/i18n/messages.d.ts.map +1 -1
  47. package/dist/locales/ru.d.ts.map +1 -1
  48. package/dist/locales/ru.js +1 -0
  49. package/dist/locales/ru.js.map +1 -1
  50. package/docs/api/messages.en.md +743 -0
  51. package/docs/api/messages.md +1 -0
  52. package/docs/api/utilities.en.md +233 -0
  53. package/docs/components/content/rich-text-toc.en.md +130 -0
  54. package/docs/components/content/rich-text-toc.md +129 -0
  55. package/docs/components/index.en.md +3 -2
  56. package/docs/components/index.md +2 -1
  57. package/docs/components/inputs/rich-text-editor.en.md +52 -34
  58. package/docs/components/inputs/rich-text-editor.md +20 -2
  59. package/docs/components/navigation/mega-menu.en.md +86 -61
  60. package/docs/components/navigation/mega-menu.md +81 -56
  61. package/docs/components/overlays/menu.en.md +8 -4
  62. package/docs/components/overlays/menu.md +6 -3
  63. package/docs/conventions.en.md +318 -0
  64. package/docs/getting-started.en.md +5 -5
  65. package/docs/getting-started.md +4 -4
  66. package/docs/glossary.en.md +24 -23
  67. package/docs/glossary.md +23 -22
  68. package/docs/index.en.md +53 -0
  69. package/llms.txt +2 -1
  70. package/package.json +1 -1
  71. package/src/components/navigation/MegaMenu.tsx +300 -140
  72. package/src/components/navigation/useMenuAim.ts +19 -19
  73. package/src/components/overlays/Menu.tsx +12 -2
  74. package/src/editor/RichTextEditor.tsx +107 -3
  75. package/src/editor/core/handle.ts +2 -23
  76. package/src/editor/core/handleWatchers.ts +27 -0
  77. package/src/editor/core/tools.ts +9 -2
  78. package/src/editor/features/toc/RichTextToc.tsx +712 -0
  79. package/src/editor/features/toc/headings.ts +70 -0
  80. package/src/editor/features/toc/stickyOffset.ts +21 -0
  81. package/src/editor/index.ts +2 -0
  82. package/src/i18n/defaults.ts +1 -0
  83. package/src/i18n/messages.ts +5 -0
  84. package/src/locales/ru.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # @olddevs/ui
2
2
 
3
+ ## 4.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b9fd75b: `RichTextToc` in `@olddevs/ui/editor` is a table of contents for a long Document next to `RichTextView` or a `readOnly` `RichTextEditor`:
8
+
9
+ - Collapsed, it is a strip of strokes, one per heading, with the current section highlighted while the page scrolls. Hovering the strip opens the list of headings; a click scrolls to the heading and moves focus to it, and the list stays open until the pointer leaves.
10
+ - Headings come from the DOM of `target`, a ref to the View or the Editor's handle: `h1`–`h4` at the top level and inside Wrappers, not in Layout columns or custom Blocks. With fewer than two headings nothing renders.
11
+ - No anchors: the address does not change and the Document gets no `id`s. `offsetVar` (default `--topbar-h`) puts the heading under a sticky header, as in ADR-0016.
12
+ - `listWidth` sets the width of the list (default 240px); long titles end with an ellipsis. When there is no room to the left of the text, the strip hides itself.
13
+ - New message `editor.toc`: "Table of contents", «Оглавление» in `ru`.
14
+
15
+ - 08eb808: `RichTextEditor` gets the `toc` Tool: the table of contents of `RichTextToc` in the Editor's left gutter.
16
+
17
+ - Switch it on by name, `tools={[...RICH_TEXT_PRESETS.full, "toc"]}`. It is in neither Preset, so no existing screen changes its layout; `RICH_TEXT_PRESETS.full` is now every built-in Tool except `toc`.
18
+ - The gutter appears with the second heading and goes away with it. The strip lines up with the first heading and sticks under the fixed Toolbar, or to the top of a field with `maxHeight`.
19
+ - A jump while editing puts the caret at the end of the heading; in `readOnly` it focuses the heading, as `RichTextToc` does.
20
+
21
+ ### Patch Changes
22
+
23
+ - 31abbbe: `RichTextEditor` with `name` keeps the value of its hidden form field when the owner re-renders. Before, any re-render after the engine had written the field reset it to the incoming string, because React rewrites `defaultValue` of an `input type="hidden"` on every update, so a form could submit a stale Document.
24
+ - 51fcc79: The last four Reference pages now have English Translations: the Reference index, the shared conventions, the `UiMessages` catalog and the utilities API (`docs/index.en.md`, `docs/conventions.en.md`, `docs/api/messages.en.md`, `docs/api/utilities.en.md`). Every page in `docs/` now has an English version.
25
+
26
+ ## 4.3.0
27
+
28
+ ### Minor Changes
29
+
30
+ - 9e915a3: `MegaMenu` marks the current section and works better on phones and with server components:
31
+
32
+ - `MegaMenuCategory` takes `active`: the row gets `aria-current="true"` and the accent color, and with no flyout open, Tab enters the column on that category.
33
+ - `MegaMenuLink` takes `active` for the current page, as `NavItem` does. `current` still works and is deprecated until 5.0.
34
+ - `MegaMenuGroup` takes `link`, a router link for the column title, like `link` on a category. Links passed in a fragment now each get their own list item.
35
+ - Typing a letter in the category column moves focus to the next category that starts with it.
36
+ - On screens under 640px the dropdown spans the window instead of shrinking to its longest label, so it no longer changes width when you drill down or gets pushed off screen by a long label.
37
+ - Categories rendered from a Next.js server component or wrapped in your own components now work fully: the column has a Tab stop before hydration, and on a narrow screen a `value` that names a category without a flyout no longer blanks the catalog.
38
+ - The reference calls the area next to the column the flyout ("Полка" in Russian); the width prop is still `showcaseWidth`.
39
+
40
+ `Menu` accepts the logical `end top` and `start top` in `placement`, which swap sides in right-to-left writing.
41
+
3
42
  ## 4.2.2
4
43
 
5
44
  ### Patch Changes
@@ -5,85 +5,105 @@ export interface MegaMenuProps extends Omit<ComponentPropsWithoutRef<"nav">, "ch
5
5
  "aria-label": string;
6
6
  /** Категории — `MegaMenuCategory`, прямыми детьми (фрагменты допустимы). */
7
7
  children?: ReactNode;
8
- /** Открытая Категория — управляемо. `null` — Витрина закрыта. */
8
+ /** Открытая Категория — управляемо. `null` — Полка закрыта. */
9
9
  value?: string | null;
10
10
  /** Открытая Категория при монтировании, без управления. */
11
11
  defaultValue?: string | null;
12
- /** Открылась другая Категория или Витрина закрылась. */
12
+ /** Открылась другая Категория или Полка закрылась. */
13
13
  onValueChange?: (value: string | null) => void;
14
14
  /**
15
- * Ширина Витрины — длина CSS или пиксели. Одна на все Категории: каталог не
15
+ * Ширина Полки — длина CSS или пиксели. Одна на все Категории: каталог не
16
16
  * должен прыгать, когда у соседних Категорий разный объём.
17
17
  */
18
18
  showcaseWidth?: number | string;
19
19
  }
20
20
  /**
21
- * Мегаменю в духе Amazon: Столбец категорий слева, Витрина наведённой
21
+ * Мегаменю в духе Amazon: Столбец категорий слева, Полка наведённой
22
22
  * Категории справа.
23
23
  *
24
- * СОСТАВНОЙ API, как у `Menu`: Витрина разнородна — колонки ссылок, промо,
24
+ * СОСТАВНОЙ API, как у `Menu`: Полка разнородна — колонки ссылок, промо,
25
25
  * своё содержимое, — и описывать её массивом значило бы завести второй язык
26
26
  * разметки рядом с JSX.
27
27
  *
28
- * Витрина — потомок своей Категории в DOM, а не портал. Отсюда сразу три
28
+ * Полка — потомок своей Категории в DOM, а не портал. Отсюда сразу три
29
29
  * следствия, и все нужные: порядок Tab идёт «Категория → её ссылки → дальше
30
- * по странице», уход указателя из Столбца в Витрину не считается уходом из
31
- * меню, а Витрина встаёт вплотную к Столбцу без расчёта позиции — она
30
+ * по странице», уход указателя из Столбца в Полку не считается уходом из
31
+ * меню, а Полка встаёт вплотную к Столбцу без расчёта позиции — она
32
32
  * `absolute` от корня.
33
33
  */
34
34
  export declare const MegaMenu: import("react").ForwardRefExoticComponent<MegaMenuProps & import("react").RefAttributes<HTMLElement>>;
35
35
  export interface MegaMenuCategoryProps {
36
36
  /** Ключ Категории — им же её открывают через `value`. */
37
37
  id: string;
38
- /** Подпись в Столбце; она же — доступное имя Витрины. */
38
+ /** Подпись в Столбце; она же — доступное имя Полки. */
39
39
  label: ReactNode;
40
40
  /** Иконка слева от подписи; скрыта от скринридера. */
41
41
  icon?: ReactNode;
42
42
  /**
43
- * Адрес раздела целиком. С Витриной — заголовок-ссылка в её начале, без
44
- * Витрины — сама строка Столбца становится ссылкой.
43
+ * Адрес раздела целиком. С Полкой — заголовок-ссылка в её начале, без
44
+ * Полки — сама строка Столбца становится ссылкой.
45
45
  */
46
46
  href?: string;
47
47
  /**
48
48
  * Ссылка роутера вместо `href`: пустой элемент (`<Link href="/x" />`),
49
49
  * подпись уезжает внутрь. Отдельным пропом, а не `asChild`: дети Категории —
50
- * это её Витрина.
50
+ * это её Полка.
51
51
  */
52
52
  link?: ReactElement;
53
53
  /** Видна, но не открывается и пропускается стрелками. */
54
54
  disabled?: boolean;
55
- /** Содержимое Витрины: `MegaMenuGroup` и что угодно своё. Без детей Витрины нет. */
55
+ /**
56
+ * Текущая страница лежит в этом разделе: `aria-current="true"` и вид
57
+ * текущей, открыта Полка или нет. Ничего не открывает; без открытой Полки
58
+ * Tab приходит в Столбец на эту Категорию. Вычисляет потребитель, как
59
+ * `active` у `NavItem`: правила сравнения адресов у каждого роутера свои.
60
+ */
61
+ active?: boolean;
62
+ /** Содержимое Полки: `MegaMenuGroup` и что угодно своё. Без детей Полки нет. */
56
63
  children?: ReactNode;
57
64
  /** Классы на строку Столбца. */
58
65
  className?: string;
59
66
  }
60
67
  /**
61
- * Категория Столбца и её Витрина.
68
+ * Категория Столбца и её Полка.
62
69
  *
63
- * Содержимое Витрины монтируется только у открытой Категории: каталог из
70
+ * Содержимое Полки монтируется только у открытой Категории: каталог из
64
71
  * сотни ссылок и картинок не должен грузить всё разом. Сам регион при этом
65
72
  * есть всегда (скрытым): на него указывает `aria-controls` кнопки.
66
73
  */
67
- export declare function MegaMenuCategory({ id, label, icon, href, link, disabled, children, className, }: MegaMenuCategoryProps): import("react").JSX.Element;
74
+ export declare function MegaMenuCategory({ id, label, icon, href, link, disabled, active, children, className, }: MegaMenuCategoryProps): import("react").JSX.Element;
68
75
  export interface MegaMenuGroupProps {
69
76
  /** Заголовок колонки; он же подписывает её список ссылок. */
70
77
  title: ReactNode;
71
78
  /** Адрес подраздела целиком: заголовок становится ссылкой. */
72
79
  href?: string;
73
- /** Ссылки колонки — `MegaMenuLink`. Каждая уезжает в свой пункт списка. */
80
+ /**
81
+ * Ссылка роутера вместо `href`: пустой элемент (`<Link href="/x" />`),
82
+ * заголовок уезжает внутрь — как `link` у Категории.
83
+ */
84
+ link?: ReactElement;
85
+ /**
86
+ * Ссылки колонки — `MegaMenuLink`. Каждая уезжает в свой пункт списка,
87
+ * в том числе пришедшие фрагментом.
88
+ */
74
89
  children?: ReactNode;
75
90
  /** Классы на колонку. */
76
91
  className?: string;
77
92
  }
78
93
  /**
79
- * Колонка Витрины: заголовок и список ссылок под ним.
94
+ * Колонка Полки: заголовок и список ссылок под ним.
80
95
  *
81
96
  * Список подписан заголовком (`aria-labelledby`): скринридер объявляет
82
- * «Смартфоны, список, 5 пунктов», а не безымянный список посреди Витрины.
97
+ * «Смартфоны, список, 5 пунктов», а не безымянный список посреди Полки.
83
98
  */
84
- export declare function MegaMenuGroup({ title, href, children, className }: MegaMenuGroupProps): import("react").JSX.Element;
99
+ export declare function MegaMenuGroup({ title, href, link, children, className }: MegaMenuGroupProps): import("react").JSX.Element;
85
100
  export interface MegaMenuLinkProps extends ComponentPropsWithoutRef<"a"> {
86
101
  /** Ссылка ведёт на текущую страницу: `aria-current="page"` и вид текущей. */
102
+ active?: boolean;
103
+ /**
104
+ * @deprecated Используйте `active`: текущий пункт навигации в ките — `active`,
105
+ * как у `NavItem`. Алиас работает до 5.0.
106
+ */
87
107
  current?: boolean;
88
108
  /** Иконка слева от подписи; скрыта от скринридера. */
89
109
  icon?: ReactNode;
@@ -94,10 +114,10 @@ export interface MegaMenuLinkProps extends ComponentPropsWithoutRef<"a"> {
94
114
  asChild?: boolean;
95
115
  }
96
116
  /**
97
- * Ссылка Витрины.
117
+ * Ссылка Полки.
98
118
  *
99
- * Текущую страницу кит не вычисляет — проп `current`, как `active` у
100
- * `NavItem`: правила сравнения адресов у каждого роутера свои (ADR-0018).
119
+ * Текущую страницу кит не вычисляет — проп `active`, как у `NavItem`:
120
+ * правила сравнения адресов у каждого роутера свои (ADR-0018).
101
121
  */
102
122
  export declare const MegaMenuLink: import("react").ForwardRefExoticComponent<MegaMenuLinkProps & import("react").RefAttributes<HTMLAnchorElement>>;
103
123
  export interface MegaMenuTriggerProps {
@@ -1 +1 @@
1
- {"version":3,"file":"MegaMenu.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/MegaMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MegaMenu.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/MegaMenu.tsx"],"names":[],"mappings":"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"}
@@ -23,20 +23,12 @@ function useMegaMenu(part) {
23
23
  function domId(baseId, kind, id) {
24
24
  return `${baseId}-${kind}-${encodeURIComponent(id)}`;
25
25
  }
26
- function categoryChildren(children) {
27
- const result = [];
28
- Children.forEach(children, (child) => {
29
- if (!isValidElement(child))
30
- return;
31
- if (child.type === Fragment) {
32
- result.push(...categoryChildren(child.props.children));
33
- }
34
- else if (child.type === MegaMenuCategory) {
35
- result.push(child);
36
- }
37
- });
38
- return result;
26
+ function flattenFragments(children) {
27
+ return Children.toArray(children).flatMap((child) => isValidElement(child) && child.type === Fragment
28
+ ? flattenFragments(child.props.children)
29
+ : [child]);
39
30
  }
31
+ const TYPEAHEAD_RESET_MS = 500;
40
32
  function forwardKey(node, flipped) {
41
33
  const rtl = getComputedStyle(node).direction === "rtl";
42
34
  return rtl === flipped ? "ArrowRight" : "ArrowLeft";
@@ -58,9 +50,40 @@ export const MegaMenu = forwardRef(function MegaMenu({ children, value: valuePro
58
50
  const pendingFocus = useRef(null);
59
51
  const returnFocus = useRef(null);
60
52
  const leaveTimer = useRef(null);
61
- const categories = categoryChildren(children);
62
- const firstEnabled = categories.find((category) => !category.props.disabled)?.props.id ?? null;
63
- const tabStop = focusedId ?? value ?? firstEnabled;
53
+ const [registry, setRegistry] = useState(() => new Map());
54
+ const register = useCallback((id, record) => {
55
+ setRegistry((prev) => {
56
+ const old = prev.get(id);
57
+ if (old &&
58
+ old.hasShowcase === record.hasShowcase &&
59
+ old.disabled === record.disabled &&
60
+ old.active === record.active)
61
+ return prev;
62
+ return new Map(prev).set(id, record);
63
+ });
64
+ }, []);
65
+ const unregister = useCallback((id) => {
66
+ setRegistry((prev) => {
67
+ if (!prev.has(id))
68
+ return prev;
69
+ const next = new Map(prev);
70
+ next.delete(id);
71
+ return next;
72
+ });
73
+ }, []);
74
+ const tabbable = (id) => id !== null && registry.has(id) && !registry.get(id)?.disabled ? id : null;
75
+ let firstEnabled = null;
76
+ let activeId = null;
77
+ for (const [id, record] of registry) {
78
+ if (record.disabled)
79
+ continue;
80
+ firstEnabled ??= id;
81
+ if (record.active)
82
+ activeId ??= id;
83
+ }
84
+ const tabStop = registry.size === 0
85
+ ? undefined
86
+ : (tabbable(focusedId) ?? tabbable(value) ?? activeId ?? firstEnabled);
64
87
  const valueRef = useRef(value);
65
88
  valueRef.current = value;
66
89
  const onValueChangeRef = useRef(onValueChange);
@@ -101,11 +124,7 @@ export const MegaMenu = forwardRef(function MegaMenu({ children, value: valuePro
101
124
  const narrow = useNarrowScreen();
102
125
  const narrowRef = useRef(narrow);
103
126
  narrowRef.current = narrow;
104
- const drilledId = narrow && value !== null
105
- ? categories.length === 0
106
- ? value
107
- : (categories.find((category) => category.props.id === value && Children.toArray(category.props.children).length > 0)?.props.id ?? null)
108
- : null;
127
+ const drilledId = narrow && value !== null && registry.get(value)?.hasShowcase === true ? value : null;
109
128
  const aim = useMenuAim({ value, showcaseRef, commit: switchByPointer });
110
129
  const { cancel: cancelAim, request: requestAim } = aim;
111
130
  const [flipped, setFlipped] = useState(false);
@@ -135,14 +154,11 @@ export const MegaMenu = forwardRef(function MegaMenu({ children, value: valuePro
135
154
  window.addEventListener("resize", measureFlip);
136
155
  return () => window.removeEventListener("resize", measureFlip);
137
156
  }, [measureFlip, showcaseWidth, value === null]);
138
- useLayoutEffect(() => {
139
- const nodes = categoryNodes(true);
140
- if (nodes.length === 0 || nodes.some((node) => node.tabIndex === 0))
141
- return;
142
- const first = nodes.find((node) => node.getAttribute("aria-disabled") !== "true");
143
- if (first?.dataset.megaCategory)
144
- setFocusedId(first.dataset.megaCategory);
145
- });
157
+ const typeahead = useRef({ text: "", timer: null });
158
+ useEffect(() => () => {
159
+ if (typeahead.current.timer)
160
+ clearTimeout(typeahead.current.timer);
161
+ }, []);
146
162
  const focusCategory = useCallback((id) => {
147
163
  const node = categoryNodes(true).find((candidate) => candidate.dataset.megaCategory === id);
148
164
  node?.focus();
@@ -167,10 +183,38 @@ export const MegaMenu = forwardRef(function MegaMenu({ children, value: valuePro
167
183
  cancelAim();
168
184
  setValue(null);
169
185
  };
186
+ const matchTypeahead = (event, nodes, index) => {
187
+ if (event.key.length !== 1 || event.ctrlKey || event.metaKey || event.altKey)
188
+ return undefined;
189
+ const state = typeahead.current;
190
+ if (state.timer)
191
+ clearTimeout(state.timer);
192
+ state.timer = setTimeout(() => {
193
+ state.text = "";
194
+ state.timer = null;
195
+ }, TYPEAHEAD_RESET_MS);
196
+ const key = event.key.toLocaleLowerCase();
197
+ const cycling = state.text.length > 1 && [...state.text].every((c) => c === state.text[0]);
198
+ state.text = cycling && key !== state.text[0] ? key : state.text + key;
199
+ const repeated = [...state.text].every((char) => char === state.text[0]);
200
+ const query = repeated ? key : state.text;
201
+ const start = repeated ? index + 1 : Math.max(index, 0);
202
+ const ordered = [...nodes.slice(start), ...nodes.slice(0, start)];
203
+ return ordered.find((node) => (node.querySelector("[data-mega-label]")?.textContent ?? "")
204
+ .trim()
205
+ .toLocaleLowerCase()
206
+ .startsWith(query));
207
+ };
170
208
  const onCategoryKeyDown = (event, id, hasShowcase) => {
171
209
  const node = event.currentTarget;
172
210
  const enabled = categoryNodes();
173
211
  const index = enabled.indexOf(node);
212
+ const openFromKey = () => {
213
+ if (!hasShowcase || node.getAttribute("aria-disabled") === "true")
214
+ return;
215
+ event.preventDefault();
216
+ openCategory(id, true);
217
+ };
174
218
  let target;
175
219
  switch (event.key) {
176
220
  case "ArrowDown":
@@ -191,23 +235,32 @@ export const MegaMenu = forwardRef(function MegaMenu({ children, value: valuePro
191
235
  close();
192
236
  }
193
237
  return;
194
- case "Enter":
195
238
  case " ":
196
- if (!hasShowcase || node.getAttribute("aria-disabled") === "true")
239
+ if (typeahead.current.text === "") {
240
+ openFromKey();
197
241
  return;
242
+ }
198
243
  event.preventDefault();
199
- openCategory(id, true);
244
+ target = matchTypeahead(event, enabled, index);
245
+ if (!target)
246
+ return;
247
+ break;
248
+ case "Enter":
249
+ openFromKey();
200
250
  return;
201
251
  default:
202
- if (hasShowcase &&
203
- (event.key === "ArrowLeft" || event.key === "ArrowRight") &&
204
- event.key === forwardKey(node, measureFlip())) {
205
- if (node.getAttribute("aria-disabled") === "true")
206
- return;
207
- event.preventDefault();
208
- openCategory(id, true);
252
+ if (event.key === "ArrowLeft" || event.key === "ArrowRight") {
253
+ if (hasShowcase &&
254
+ event.key === forwardKey(node, measureFlip()) &&
255
+ node.getAttribute("aria-disabled") !== "true") {
256
+ event.preventDefault();
257
+ openCategory(id, true);
258
+ }
259
+ return;
209
260
  }
210
- return;
261
+ target = matchTypeahead(event, enabled, index);
262
+ if (!target)
263
+ return;
211
264
  }
212
265
  event.preventDefault();
213
266
  if (!target || target === node)
@@ -252,6 +305,8 @@ export const MegaMenu = forwardRef(function MegaMenu({ children, value: valuePro
252
305
  baseId,
253
306
  value,
254
307
  tabStop,
308
+ register,
309
+ unregister,
255
310
  openCategory,
256
311
  close,
257
312
  hoverCategory: narrow ? () => { } : requestAim,
@@ -270,6 +325,8 @@ export const MegaMenu = forwardRef(function MegaMenu({ children, value: valuePro
270
325
  baseId,
271
326
  value,
272
327
  tabStop,
328
+ register,
329
+ unregister,
273
330
  flipped,
274
331
  narrow,
275
332
  drilledId,
@@ -327,6 +384,7 @@ const CATEGORY_CLASS = "text-fg-0 flex w-full cursor-pointer items-center gap-2
327
384
  "px-2.5 py-2 text-start text-[13px] leading-5 no-underline select-none " +
328
385
  "focus-visible:outline-accent-strong focus-visible:outline-2 focus-visible:-outline-offset-2 " +
329
386
  "aria-expanded:bg-bg-2 aria-expanded:font-semibold " +
387
+ "aria-[current=true]:text-accent-strong " +
330
388
  "aria-disabled:cursor-default aria-disabled:opacity-50";
331
389
  const CATEGORY_LINK_CLASS = "hover:bg-bg-2";
332
390
  const CATEGORY_ICON_CLASS = "text-fg-2 flex shrink-0";
@@ -345,7 +403,7 @@ const SHOWCASE_HEADING_CLASS = "text-fg-0 hover:text-accent-strong mb-3 inline-f
345
403
  "font-semibold no-underline";
346
404
  const SHOWCASE_GRID_CLASS = "grid grid-cols-[repeat(auto-fill,minmax(10rem,1fr))] gap-x-6 gap-y-5";
347
405
  const SHOWCASE_GRID_DRILLED_CLASS = "grid grid-cols-1 gap-y-5";
348
- export function MegaMenuCategory({ id, label, icon, href, link, disabled = false, children, className, }) {
406
+ export function MegaMenuCategory({ id, label, icon, href, link, disabled = false, active = false, children, className, }) {
349
407
  const menu = useMegaMenu("MegaMenuCategory");
350
408
  const hasShowcase = Children.toArray(children).length > 0;
351
409
  const open = hasShowcase && menu.value === id;
@@ -356,6 +414,9 @@ export function MegaMenuCategory({ id, label, icon, href, link, disabled = false
356
414
  const messages = useMessages();
357
415
  const drilled = menu.drilledId === id;
358
416
  const coveredByOther = menu.drilledId !== null && !drilled;
417
+ const { register, unregister } = menu;
418
+ useLayoutEffect(() => () => unregister(id), [id, unregister]);
419
+ useLayoutEffect(() => register(id, { hasShowcase, disabled, active }), [id, hasShowcase, disabled, active, register]);
359
420
  useEffect(() => {
360
421
  if (!open || menu.pendingFocus.current !== id)
361
422
  return;
@@ -372,8 +433,9 @@ export function MegaMenuCategory({ id, label, icon, href, link, disabled = false
372
433
  id: categoryId,
373
434
  "data-mega-category": id,
374
435
  "data-mega-showcase": hasShowcase ? "true" : "false",
375
- tabIndex: menu.tabStop === id ? 0 : -1,
436
+ tabIndex: (menu.tabStop === undefined ? !disabled : menu.tabStop === id) ? 0 : -1,
376
437
  "aria-disabled": disabled || undefined,
438
+ "aria-current": active ? "true" : undefined,
377
439
  onFocus: () => menu.onCategoryFocus(id),
378
440
  onKeyDown: (event) => menu.onCategoryKeyDown(event, id, hasShowcase),
379
441
  onPointerEnter: (event) => {
@@ -382,7 +444,7 @@ export function MegaMenuCategory({ id, label, icon, href, link, disabled = false
382
444
  menu.hoverCategory(hasShowcase ? id : null);
383
445
  },
384
446
  };
385
- const content = (_jsxs(_Fragment, { children: [icon != null && (_jsx("span", { "aria-hidden": true, className: CATEGORY_ICON_CLASS, children: icon })), _jsx("span", { className: CATEGORY_LABEL_CLASS, children: label })] }));
447
+ const content = (_jsxs(_Fragment, { children: [icon != null && (_jsx("span", { "aria-hidden": true, className: CATEGORY_ICON_CLASS, children: icon })), _jsx("span", { "data-mega-label": "", className: CATEGORY_LABEL_CLASS, children: label })] }));
386
448
  if (!hasShowcase) {
387
449
  const routed = link != null && !disabled;
388
450
  const Comp = routed ? Slot : "a";
@@ -402,21 +464,22 @@ function ShowcaseHeading({ href, link, children, }) {
402
464
  const GROUP_TITLE_CLASS = "text-fg-0 mb-1.5 text-[13px] font-semibold";
403
465
  const GROUP_TITLE_LINK_CLASS = "hover:text-accent-strong text-inherit no-underline";
404
466
  const GROUP_LIST_CLASS = "m-0 flex list-none flex-col p-0";
405
- export function MegaMenuGroup({ title, href, children, className }) {
467
+ export function MegaMenuGroup({ title, href, link, children, className }) {
406
468
  const titleId = useId();
407
- return (_jsxs("div", { className: cn("min-w-0", className), children: [_jsx("div", { id: titleId, className: GROUP_TITLE_CLASS, children: href != null ? (_jsx("a", { href: href, className: GROUP_TITLE_LINK_CLASS, children: title })) : (title) }), _jsx("ul", { "aria-labelledby": titleId, className: GROUP_LIST_CLASS, children: Children.map(children, (child) => (child == null ? null : _jsx("li", { children: child }))) })] }));
469
+ return (_jsxs("div", { className: cn("min-w-0", className), children: [_jsx("div", { id: titleId, className: GROUP_TITLE_CLASS, children: link != null ? (_jsxs(Slot, { className: GROUP_TITLE_LINK_CLASS, children: [title, _jsx(Slottable, { children: link })] })) : href != null ? (_jsx("a", { href: href, className: GROUP_TITLE_LINK_CLASS, children: title })) : (title) }), _jsx("ul", { "aria-labelledby": titleId, className: GROUP_LIST_CLASS, children: flattenFragments(children).map((child, index) => (_jsx("li", { children: child }, index))) })] }));
408
470
  }
409
471
  const LINK_CLASS = "text-fg-1 hover:text-fg-0 flex items-center gap-2 rounded-sm py-1 text-[13px] leading-5 " +
410
472
  "no-underline hover:underline " +
411
473
  "focus-visible:outline-accent-strong focus-visible:outline-2 focus-visible:outline-offset-2 " +
412
474
  "aria-[current=page]:text-accent-strong aria-[current=page]:font-semibold";
413
- export const MegaMenuLink = forwardRef(function MegaMenuLink({ current = false, icon, asChild = false, children, className, ...rest }, ref) {
475
+ export const MegaMenuLink = forwardRef(function MegaMenuLink({ active, current, icon, asChild = false, children, className, ...rest }, ref) {
414
476
  const Comp = asChild ? Slot : "a";
415
- return (_jsxs(Comp, { ref: ref, "aria-current": current ? "page" : undefined, className: cn(LINK_CLASS, className), ...rest, children: [icon != null && (_jsx("span", { "aria-hidden": true, className: "text-fg-2 flex shrink-0", children: icon })), asChild ? _jsx(Slottable, { children: children }) : children] }));
477
+ return (_jsxs(Comp, { ref: ref, "aria-current": (active ?? current) ? "page" : undefined, className: cn(LINK_CLASS, className), ...rest, children: [icon != null && (_jsx("span", { "aria-hidden": true, className: "text-fg-2 flex shrink-0", children: icon })), asChild ? _jsx(Slottable, { children: children }) : children] }));
416
478
  });
417
479
  const MegaMenuTriggerContext = createContext(null);
418
480
  const DropdownPortal = withoutToolbarAxis(PopoverPrimitive.Portal);
419
481
  const DROPDOWN_CONTENT_CLASS = `${OVERLAY_LAYER.popover} outline-none ` +
482
+ "max-sm:w-[calc(100vw-1rem)] max-sm:max-w-[var(--radix-popover-content-available-width)] " +
420
483
  "data-[state=open]:animate-fadein data-[state=closed]:animate-fadeout";
421
484
  const OVERLAY_SCROLL_CLASS = "max-h-[var(--radix-popover-content-available-height)] overflow-y-auto overscroll-contain " +
422
485
  "[@supports(-webkit-touch-callout:none)]:max-h-[min(24rem,60dvh)]!";
@@ -1 +1 @@
1
- {"version":3,"file":"MegaMenu.js","sourceRoot":"","sources":["../../../src/components/navigation/MegaMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MegaMenu.js","sourceRoot":"","sources":["../../../src/components/navigation/MegaMenu.tsx"],"names":[],"mappings":"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"}