@olddevs/ui 4.2.1 → 4.3.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.
- package/CHANGELOG.md +22 -0
- package/dist/components/navigation/MegaMenu.d.ts +43 -23
- package/dist/components/navigation/MegaMenu.d.ts.map +1 -1
- package/dist/components/navigation/MegaMenu.js +110 -47
- package/dist/components/navigation/MegaMenu.js.map +1 -1
- package/dist/components/navigation/useMenuAim.d.ts +8 -8
- package/dist/components/navigation/useMenuAim.d.ts.map +1 -1
- package/dist/components/overlays/Menu.d.ts +4 -2
- package/dist/components/overlays/Menu.d.ts.map +1 -1
- package/dist/components/overlays/Menu.js.map +1 -1
- package/docs/components/index.en.md +2 -2
- package/docs/components/index.md +1 -1
- package/docs/components/navigation/mega-menu.en.md +91 -61
- package/docs/components/navigation/mega-menu.md +86 -56
- package/docs/components/overlays/menu.en.md +8 -4
- package/docs/components/overlays/menu.md +6 -3
- package/docs/getting-started.en.md +2 -2
- package/docs/getting-started.md +1 -1
- package/docs/glossary.en.md +23 -23
- package/docs/glossary.md +22 -22
- package/llms.txt +1 -1
- package/package.json +1 -1
- package/src/components/navigation/MegaMenu.tsx +300 -140
- package/src/components/navigation/useMenuAim.ts +19 -19
- package/src/components/overlays/Menu.tsx +12 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @olddevs/ui
|
|
2
2
|
|
|
3
|
+
## 4.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9e915a3: `MegaMenu` marks the current section and works better on phones and with server components:
|
|
8
|
+
|
|
9
|
+
- `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.
|
|
10
|
+
- `MegaMenuLink` takes `active` for the current page, as `NavItem` does. `current` still works and is deprecated until 5.0.
|
|
11
|
+
- `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.
|
|
12
|
+
- Typing a letter in the category column moves focus to the next category that starts with it.
|
|
13
|
+
- 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.
|
|
14
|
+
- 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.
|
|
15
|
+
- The reference calls the area next to the column the flyout ("Полка" in Russian); the width prop is still `showcaseWidth`.
|
|
16
|
+
|
|
17
|
+
`Menu` accepts the logical `end top` and `start top` in `placement`, which swap sides in right-to-left writing.
|
|
18
|
+
|
|
19
|
+
## 4.2.2
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- 13e5a7a: The "Where it comes from" section of the `MegaMenu` reference page shows the original animation of Amazon's triangle from Ben Kamens's post, served from the documentation site (ui.olddevs.ru) rather than a third-party host.
|
|
24
|
+
|
|
3
25
|
## 4.2.1
|
|
4
26
|
|
|
5
27
|
### 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
|
-
* Ширина
|
|
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
|
-
*
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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
|
-
* Текущую страницу кит не вычисляет — проп `
|
|
100
|
-
*
|
|
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":"AAIA,OAAO,EAcL,KAAK,wBAAwB,EAM7B,KAAK,YAAY,EACjB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAIf,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
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
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
|
62
|
-
const
|
|
63
|
-
|
|
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
|
-
|
|
139
|
-
|
|
140
|
-
if (
|
|
141
|
-
|
|
142
|
-
|
|
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 (
|
|
239
|
+
if (typeahead.current.text === "") {
|
|
240
|
+
openFromKey();
|
|
197
241
|
return;
|
|
242
|
+
}
|
|
198
243
|
event.preventDefault();
|
|
199
|
-
|
|
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 (
|
|
203
|
-
(
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
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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"}
|
|
@@ -6,7 +6,7 @@ interface Point {
|
|
|
6
6
|
y: number;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* Идёт ли шаг `from → to` к
|
|
9
|
+
* Идёт ли шаг `from → to` к Полке: направление шага лежит внутри сектора от
|
|
10
10
|
* `from` к двум углам её ближнего края.
|
|
11
11
|
*
|
|
12
12
|
* Векторное произведение, а не `atan2`: тот же сектор без разрыва угла на ±π.
|
|
@@ -14,24 +14,24 @@ interface Point {
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function isMovingToward(from: Point, to: Point, rect: DOMRect, side: "left" | "right"): boolean;
|
|
16
16
|
interface MenuAimOptions {
|
|
17
|
-
/** Открытая Категория; `null` —
|
|
17
|
+
/** Открытая Категория; `null` — Полки нет, и целиться не во что. */
|
|
18
18
|
value: string | null;
|
|
19
|
-
/** Открытая сейчас
|
|
19
|
+
/** Открытая сейчас Полка: её прямоугольник — цель. */
|
|
20
20
|
showcaseRef: RefObject<HTMLElement | null>;
|
|
21
|
-
/** Сменить Категорию (или закрыть
|
|
21
|
+
/** Сменить Категорию (или закрыть Полку — `null`). */
|
|
22
22
|
commit: (next: string | null) => void;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Прицел: решает, сменить Категорию под курсором сейчас или отложить.
|
|
26
26
|
*
|
|
27
|
-
* `request` зовётся из наведения на строку Столбца. Если
|
|
27
|
+
* `request` зовётся из наведения на строку Столбца. Если Полки нет или
|
|
28
28
|
* курсор не целится — смена сразу. Если целится — смена откладывается: курсор
|
|
29
29
|
* перестал целиться или стоит `AIM_SETTLE_MS` — открывается то, что под ним
|
|
30
|
-
* сейчас; дошёл до
|
|
30
|
+
* сейчас; дошёл до Полки — смена отменяется.
|
|
31
31
|
*
|
|
32
|
-
* Прямоугольник
|
|
32
|
+
* Прямоугольник Полки берётся заново на каждом шаге, а не кешируется:
|
|
33
33
|
* прокрутка страницы и смена размера окна не оставляют его устаревшим, а цена
|
|
34
|
-
* — одно чтение раскладки на кадр, и только пока
|
|
34
|
+
* — одно чтение раскладки на кадр, и только пока Полка открыта.
|
|
35
35
|
*/
|
|
36
36
|
export declare function useMenuAim({ value, showcaseRef, commit }: MenuAimOptions): {
|
|
37
37
|
request: (next: string | null) => void;
|