@once-ui-system/core 2.0.0-alpha.0 → 2.0.0-alpha.2
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/AGENTS.md +1 -1
- package/LICENSE.md +21 -0
- package/ai/catalog.json +11 -4
- package/ai/components/Effect.json +1 -1
- package/ai/components/Feedback.json +1 -0
- package/ai/components/Form.json +15 -0
- package/ai/components/Input.json +3 -2
- package/ai/components/{Particle.json → ParticleFx.json} +1 -1
- package/ai/components/ScrollContainer.json +9 -1
- package/ai/components/Textarea.json +3 -2
- package/ai/components/ThemeSwitcher.json +2 -1
- package/ai/eval-tasks.md +2 -1
- package/ai/examples/auth.tsx +1 -2
- package/ai/examples/blocks/Dashboard1.tsx +8 -8
- package/ai/examples/blocks/Feed3.tsx +4 -4
- package/ai/examples/blocks/Footer4.tsx +2 -2
- package/ai/examples/blocks/Header2.tsx +1 -1
- package/ai/examples/blocks/Header4.tsx +1 -2
- package/ai/examples/blocks/Productivity1.tsx +1 -1
- package/ai/examples/blocks/Roadmap1.tsx +3 -3
- package/ai/examples/blocks/Sidebar1.tsx +1 -1
- package/ai/examples/blocks/Sidebar2.tsx +1 -1
- package/ai/examples/blocks/Table1.tsx +3 -3
- package/ai/examples/blocks/manifest.json +2 -2
- package/ai/examples/dashboard.tsx +5 -5
- package/ai/examples/marketing-hero.tsx +2 -2
- package/ai/examples/pricing.tsx +3 -3
- package/ai/examples/settings.tsx +4 -4
- package/ai/gotchas.json +26 -2
- package/ai/manifest.json +2 -2
- package/ai/recipes.md +1 -1
- package/ai/rules.compact.md +8 -2
- package/ai/rules.md +18 -6
- package/ai/spec.json +35 -10
- package/ai/tasks/settings.json +1 -1
- package/dist/AGENTS.md +1 -1
- package/dist/ai/catalog.json +11 -4
- package/dist/ai/components/Effect.json +1 -1
- package/dist/ai/components/Feedback.json +1 -0
- package/dist/ai/components/Form.json +15 -0
- package/dist/ai/components/Input.json +3 -2
- package/dist/ai/components/{Particle.json → ParticleFx.json} +1 -1
- package/dist/ai/components/ScrollContainer.json +9 -1
- package/dist/ai/components/Textarea.json +3 -2
- package/dist/ai/components/ThemeSwitcher.json +2 -1
- package/dist/ai/eval-tasks.md +2 -1
- package/dist/ai/examples/blocks/manifest.json +2 -2
- package/dist/ai/gotchas.json +26 -2
- package/dist/ai/manifest.json +2 -2
- package/dist/ai/recipes.md +1 -1
- package/dist/ai/rules.compact.md +8 -2
- package/dist/ai/rules.md +18 -6
- package/dist/ai/spec.json +35 -10
- package/dist/ai/tasks/settings.json +1 -1
- package/dist/components/Animation.d.ts +1 -2
- package/dist/components/Animation.d.ts.map +1 -1
- package/dist/components/Animation.js +1 -1
- package/dist/components/Animation.js.map +1 -1
- package/dist/components/ArrowNavigationContext.d.ts.map +1 -1
- package/dist/components/ArrowNavigationContext.js +12 -3
- package/dist/components/ArrowNavigationContext.js.map +1 -1
- package/dist/components/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar.js +1 -1
- package/dist/components/Avatar.js.map +1 -1
- package/dist/components/Carousel.js +1 -1
- package/dist/components/Carousel.js.map +1 -1
- package/dist/components/ContextMenu.d.ts +1 -1
- package/dist/components/ContextMenu.d.ts.map +1 -1
- package/dist/components/CountFx.d.ts.map +1 -1
- package/dist/components/CountFx.js +19 -7
- package/dist/components/CountFx.js.map +1 -1
- package/dist/components/CursorCard.d.ts +1 -1
- package/dist/components/CursorCard.d.ts.map +1 -1
- package/dist/components/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker.js +9 -2
- package/dist/components/DatePicker.js.map +1 -1
- package/dist/components/DropdownWrapper.d.ts +1 -1
- package/dist/components/DropdownWrapper.d.ts.map +1 -1
- package/dist/components/DropdownWrapper.js +178 -35
- package/dist/components/DropdownWrapper.js.map +1 -1
- package/dist/components/DropdownWrapper.module.scss +3 -1
- package/dist/components/Effect.d.ts +2 -2
- package/dist/components/Effect.d.ts.map +1 -1
- package/dist/components/Effect.js +2 -2
- package/dist/components/Effect.js.map +1 -1
- package/dist/components/EmojiPicker.js +1 -1
- package/dist/components/EmojiPicker.js.map +1 -1
- package/dist/components/Feedback.d.ts +4 -0
- package/dist/components/Feedback.d.ts.map +1 -1
- package/dist/components/Feedback.js +2 -2
- package/dist/components/Feedback.js.map +1 -1
- package/dist/components/FocusTrap.d.ts +3 -3
- package/dist/components/FocusTrap.d.ts.map +1 -1
- package/dist/components/FocusTrap.js +10 -0
- package/dist/components/FocusTrap.js.map +1 -1
- package/dist/components/Form.d.ts +48 -0
- package/dist/components/Form.d.ts.map +1 -0
- package/dist/components/Form.js +191 -0
- package/dist/components/Form.js.map +1 -0
- package/dist/components/Form.module.scss +160 -0
- package/dist/components/FormContext.d.ts +20 -0
- package/dist/components/FormContext.d.ts.map +1 -0
- package/dist/components/FormContext.js +12 -0
- package/dist/components/FormContext.js.map +1 -0
- package/dist/components/Input.d.ts +3 -0
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/Input.js +13 -2
- package/dist/components/Input.js.map +1 -1
- package/dist/components/Input.module.scss +27 -6
- package/dist/components/OgCard.d.ts.map +1 -1
- package/dist/components/OgCard.js +7 -4
- package/dist/components/OgCard.js.map +1 -1
- package/dist/components/{Particle.d.ts → ParticleFx.d.ts} +9 -4
- package/dist/components/ParticleFx.d.ts.map +1 -0
- package/dist/components/{Particle.js → ParticleFx.js} +9 -4
- package/dist/components/ParticleFx.js.map +1 -0
- package/dist/components/ScrollContainer.d.ts +69 -2
- package/dist/components/ScrollContainer.d.ts.map +1 -1
- package/dist/components/ScrollContainer.js +377 -46
- package/dist/components/ScrollContainer.js.map +1 -1
- package/dist/components/ScrollContainer.module.scss +131 -0
- package/dist/components/Select.d.ts +1 -1
- package/dist/components/Select.d.ts.map +1 -1
- package/dist/components/Select.js +1 -1
- package/dist/components/Select.js.map +1 -1
- package/dist/components/Setting.d.ts.map +1 -1
- package/dist/components/Setting.js +6 -1
- package/dist/components/Setting.js.map +1 -1
- package/dist/components/Table.js +2 -2
- package/dist/components/Table.js.map +1 -1
- package/dist/components/Textarea.d.ts +3 -0
- package/dist/components/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea.js +22 -6
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/ThemeSwitcher.d.ts +16 -0
- package/dist/components/ThemeSwitcher.d.ts.map +1 -1
- package/dist/components/ThemeSwitcher.js +48 -9
- package/dist/components/ThemeSwitcher.js.map +1 -1
- package/dist/components/ThemeSwitcher.module.scss +112 -0
- package/dist/components/User.js +1 -1
- package/dist/components/User.js.map +1 -1
- package/dist/components/UserMenu.d.ts +1 -1
- package/dist/components/UserMenu.d.ts.map +1 -1
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -1
- package/dist/components/index.js.map +1 -1
- package/dist/data/emoji-data.json +10 -0
- package/dist/hooks/useArrowNavigation.d.ts.map +1 -1
- package/dist/hooks/useArrowNavigation.js +52 -7
- package/dist/hooks/useArrowNavigation.js.map +1 -1
- package/dist/modules/navigation/MegaMenu.d.ts.map +1 -1
- package/dist/modules/navigation/MegaMenu.js +76 -10
- package/dist/modules/navigation/MegaMenu.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/scripts/validate-ai-code.js +239 -21
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/scripts/validate-ai-code.js +239 -21
- package/dist/components/Particle.d.ts.map +0 -1
- package/dist/components/Particle.js.map +0 -1
|
@@ -47,6 +47,7 @@ export * from "./ClientFlex";
|
|
|
47
47
|
export * from "./Flex";
|
|
48
48
|
export * from "./FlipFx";
|
|
49
49
|
export * from "./FocusTrap";
|
|
50
|
+
export * from "./Form";
|
|
50
51
|
export * from "./GlitchFx";
|
|
51
52
|
export * from "./ServerGrid";
|
|
52
53
|
export * from "./ClientGrid";
|
|
@@ -77,7 +78,7 @@ export * from "./NumberInput";
|
|
|
77
78
|
export * from "./OgCard";
|
|
78
79
|
export * from "./Option";
|
|
79
80
|
export * from "./OTPInput";
|
|
80
|
-
export * from "./
|
|
81
|
+
export * from "./ParticleFx";
|
|
81
82
|
export * from "./PasswordInput";
|
|
82
83
|
export * from "./ProgressBar";
|
|
83
84
|
export * from "./Pulse";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
package/dist/components/index.js
CHANGED
|
@@ -47,6 +47,7 @@ export * from "./ClientFlex";
|
|
|
47
47
|
export * from "./Flex";
|
|
48
48
|
export * from "./FlipFx";
|
|
49
49
|
export * from "./FocusTrap";
|
|
50
|
+
export * from "./Form";
|
|
50
51
|
export * from "./GlitchFx";
|
|
51
52
|
export * from "./ServerGrid";
|
|
52
53
|
export * from "./ClientGrid";
|
|
@@ -77,7 +78,7 @@ export * from "./NumberInput";
|
|
|
77
78
|
export * from "./OgCard";
|
|
78
79
|
export * from "./Option";
|
|
79
80
|
export * from "./OTPInput";
|
|
80
|
-
export * from "./
|
|
81
|
+
export * from "./ParticleFx";
|
|
81
82
|
export * from "./PasswordInput";
|
|
82
83
|
export * from "./ProgressBar";
|
|
83
84
|
export * from "./Pulse";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useArrowNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/useArrowNavigation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,aAAa,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"useArrowNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/useArrowNavigation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,aAAa,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAE3F,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,kBAAkB,GAAI,2JAahC,sBAAsB;;;uBA8KjB,aAAa,CAAC,WAAW,CAAC;;CA6HjC,CAAC"}
|
|
@@ -1,22 +1,63 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useState, useCallback, useEffect } from "react";
|
|
2
|
+
import { useState, useCallback, useEffect, useRef } from "react";
|
|
3
3
|
export const useArrowNavigation = ({ layout, itemCount, columns = 8, containerRef, onSelect, onFocusChange, wrap = true, initialFocusedIndex = -1, itemSelector = '[role="option"], [data-value], button, [tabindex]:not([tabindex="-1"])', autoFocus = false, disabled = false, disableHighlighting = false, }) => {
|
|
4
4
|
const [focusedIndex, setFocusedIndex] = useState(initialFocusedIndex);
|
|
5
|
+
/** The index this effect last acted on. Seeded with `initialFocusedIndex` so
|
|
6
|
+
* the mount pass reads as "nothing moved". */
|
|
7
|
+
const lastFocusedIndex = useRef(initialFocusedIndex);
|
|
5
8
|
// Reset focused index when item count changes
|
|
6
9
|
useEffect(() => {
|
|
7
10
|
if (focusedIndex >= itemCount) {
|
|
8
11
|
setFocusedIndex(itemCount > 0 ? 0 : -1);
|
|
9
12
|
}
|
|
10
13
|
}, [itemCount, focusedIndex]);
|
|
11
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Where `autoFocus` starts. A native select opens on the value it is already
|
|
16
|
+
* showing, so a list that carries a selection starts there rather than at
|
|
17
|
+
* the top: opening a year picker on 2001 with the chosen 2025 scrolled out
|
|
18
|
+
* of sight is the same list, told from the wrong end.
|
|
19
|
+
*
|
|
20
|
+
* The selection is read from `aria-selected`, which is the consumer's to
|
|
21
|
+
* author — `Option` sets it from its `selected` prop. A list with no
|
|
22
|
+
* selection, a menu or a command palette, has none set and starts at its
|
|
23
|
+
* first enabled item, as before. Disabled items are skipped either way,
|
|
24
|
+
* including a selected one: focus has to land somewhere usable.
|
|
25
|
+
*/
|
|
26
|
+
const resolveInitialIndex = useCallback(() => {
|
|
27
|
+
const items = containerRef?.current
|
|
28
|
+
? Array.from(containerRef.current.querySelectorAll(itemSelector))
|
|
29
|
+
: [];
|
|
30
|
+
const enabled = (item) => !!item && !item.hasAttribute("disabled") && item.getAttribute("aria-disabled") !== "true";
|
|
31
|
+
const selected = items.findIndex((item) => item.getAttribute("aria-selected") === "true" && enabled(item));
|
|
32
|
+
if (selected >= 0)
|
|
33
|
+
return selected;
|
|
34
|
+
const first = items.findIndex((item) => enabled(item));
|
|
35
|
+
return first >= 0 ? first : 0;
|
|
36
|
+
}, [containerRef, itemSelector]);
|
|
37
|
+
// Auto-focus on mount if enabled
|
|
12
38
|
useEffect(() => {
|
|
13
39
|
if (autoFocus && itemCount > 0 && focusedIndex === -1) {
|
|
14
|
-
setFocusedIndex(
|
|
40
|
+
setFocusedIndex(resolveInitialIndex());
|
|
15
41
|
}
|
|
16
|
-
}, [autoFocus, itemCount, focusedIndex]);
|
|
42
|
+
}, [autoFocus, itemCount, focusedIndex, resolveInitialIndex]);
|
|
17
43
|
// Update focus when focusedIndex changes
|
|
18
44
|
useEffect(() => {
|
|
45
|
+
const indexMoved = lastFocusedIndex.current !== focusedIndex;
|
|
46
|
+
lastFocusedIndex.current = focusedIndex;
|
|
19
47
|
if (focusedIndex >= 0 && containerRef?.current) {
|
|
48
|
+
// Nothing moved: this pass is only reacting to `initialFocusedIndex` on
|
|
49
|
+
// mount. Taking focus there steals it from whatever the user is actually
|
|
50
|
+
// on — a DatePicker remounts its calendar when the month selector
|
|
51
|
+
// closes, and focus jumped off the month trigger onto a day button.
|
|
52
|
+
// Take focus anyway when the consumer asked for it, or when nothing
|
|
53
|
+
// holds it: after a keyed remount the element that had focus is gone and
|
|
54
|
+
// the browser has fallen back to <body>, so focusing restores rather
|
|
55
|
+
// than steals. Compared against the index rather than a "first run" flag
|
|
56
|
+
// because StrictMode runs mount effects twice and a flag would let the
|
|
57
|
+
// second pass through.
|
|
58
|
+
const focusIsNowhere = !document.activeElement || document.activeElement === document.body;
|
|
59
|
+
if (!indexMoved && !autoFocus && !focusIsNowhere)
|
|
60
|
+
return;
|
|
20
61
|
const items = Array.from(containerRef.current.querySelectorAll(itemSelector));
|
|
21
62
|
if (items.length > focusedIndex) {
|
|
22
63
|
// Check if the item is disabled
|
|
@@ -32,7 +73,7 @@ export const useArrowNavigation = ({ layout, itemCount, columns = 8, containerRe
|
|
|
32
73
|
}
|
|
33
74
|
}
|
|
34
75
|
}
|
|
35
|
-
}, [focusedIndex, containerRef, itemSelector, onFocusChange]);
|
|
76
|
+
}, [focusedIndex, containerRef, itemSelector, onFocusChange, autoFocus]);
|
|
36
77
|
// Helper function to find the next non-disabled item
|
|
37
78
|
const findNextEnabledItem = useCallback((currentIndex, direction) => {
|
|
38
79
|
if (!containerRef?.current)
|
|
@@ -180,15 +221,19 @@ export const useArrowNavigation = ({ layout, itemCount, columns = 8, containerRe
|
|
|
180
221
|
items.forEach((item, index) => {
|
|
181
222
|
// Check if the item is disabled
|
|
182
223
|
const isDisabled = item.hasAttribute("disabled") || item.getAttribute("aria-disabled") === "true";
|
|
224
|
+
// `aria-selected` is deliberately not touched here. It says which option
|
|
225
|
+
// is *chosen*, which is the consumer's to author and ours to read when
|
|
226
|
+
// deciding where to open; writing it from `focusedIndex` conflated the
|
|
227
|
+
// two, so a screen reader announced whichever option the arrow keys had
|
|
228
|
+
// reached as the selected one and the real selection as unselected.
|
|
229
|
+
// Highlighting is `data-highlighted` and the class.
|
|
183
230
|
if (index === focusedIndex && !isDisabled) {
|
|
184
231
|
item.setAttribute("data-highlighted", "true");
|
|
185
232
|
item.classList.add("highlighted");
|
|
186
|
-
item.setAttribute("aria-selected", "true");
|
|
187
233
|
}
|
|
188
234
|
else {
|
|
189
235
|
item.removeAttribute("data-highlighted");
|
|
190
236
|
item.classList.remove("highlighted");
|
|
191
|
-
item.setAttribute("aria-selected", "false");
|
|
192
237
|
}
|
|
193
238
|
});
|
|
194
239
|
}, [containerRef, itemSelector, focusedIndex, disableHighlighting]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useArrowNavigation.js","sourceRoot":"","sources":["../../src/hooks/useArrowNavigation.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,WAAW,EAA4B,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useArrowNavigation.js","sourceRoot":"","sources":["../../src/hooks/useArrowNavigation.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,WAAW,EAA4B,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAmB3F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,MAAM,EACN,SAAS,EACT,OAAO,GAAG,CAAC,EACX,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,IAAI,GAAG,IAAI,EACX,mBAAmB,GAAG,CAAC,CAAC,EACxB,YAAY,GAAG,wEAAwE,EACvF,SAAS,GAAG,KAAK,EACjB,QAAQ,GAAG,KAAK,EAChB,mBAAmB,GAAG,KAAK,GACJ,EAAE,EAAE;IAC3B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,mBAAmB,CAAC,CAAC;IAC9E;mDAC+C;IAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAErD,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;YAC9B,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9B;;;;;;;;;;;OAWG;IACH,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,MAAM,KAAK,GAAG,YAAY,EAAE,OAAO;YACjC,CAAC,CAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAmB;YACpF,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,CAAC,IAA6B,EAAE,EAAE,CAChD,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC;QAE5F,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CACzE,CAAC;QACF,IAAI,QAAQ,IAAI,CAAC;YAAE,OAAO,QAAQ,CAAC;QAEnC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAGjC,iCAAiC;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,SAAS,GAAG,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACtD,eAAe,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE9D,yCAAyC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,KAAK,YAAY,CAAC;QAC7D,gBAAgB,CAAC,OAAO,GAAG,YAAY,CAAC;QAExC,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC;YAC/C,wEAAwE;YACxE,yEAAyE;YACzE,kEAAkE;YAClE,oEAAoE;YACpE,oEAAoE;YACpE,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,uEAAuE;YACvE,uBAAuB;YACvB,MAAM,cAAc,GAClB,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,CAAC;YACtE,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc;gBAAE,OAAO;YAEzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CACnC,CAAC;YAEnB,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;gBAChC,gCAAgC;gBAChC,MAAM,UAAU,GACd,KAAK,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;oBAC5C,KAAK,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC;gBAE/D,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,sCAAsC;oBACtC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEnD,wDAAwD;oBACxD,gFAAgF;oBAEhF,iCAAiC;oBACjC,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;IAEzE,qDAAqD;IACrD,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,YAAoB,EAAE,SAAiB,EAAU,EAAE;QAClD,IAAI,CAAC,YAAY,EAAE,OAAO;YAAE,OAAO,YAAY,CAAC;QAEhD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CACnC,CAAC;QAEnB,IAAI,KAAK,GAAG,YAAY,CAAC;QACzB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,6DAA6D;QAC7D,OAAO,SAAS,GAAG,SAAS,EAAE,CAAC;YAC7B,KAAK,IAAI,SAAS,CAAC;YAEnB,kBAAkB;YAClB,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;gBACvB,IAAI,IAAI,EAAE,CAAC;oBACT,KAAK,GAAG,CAAC,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,OAAO,YAAY,CAAC,CAAC,qBAAqB;gBAC5C,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,IAAI,EAAE,CAAC;oBACT,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,OAAO,YAAY,CAAC,CAAC,qBAAqB;gBAC5C,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;gBAC3B,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,2BAA2B;YAC3B,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,UAAU,GACd,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;oBACrC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC;gBACxD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,SAAS,EAAE,CAAC;QACd,CAAC;QAED,uDAAuD;QACvD,OAAO,YAAY,CAAC;IACtB,CAAC,EACD,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAC9C,CAAC;IAEF,sEAAsE;IACtE,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,UAAkB,EAAU,EAAE;QAC7B,IAAI,CAAC,YAAY,EAAE,OAAO;YAAE,OAAO,UAAU,CAAC;QAE9C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CACnC,CAAC;QAEnB,qCAAqC;QACrC,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,UAAU,GACd,KAAK,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;gBAC1C,KAAK,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC;YAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,OAAO,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC,EACD,CAAC,YAAY,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAClD,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,CAA6B,EAAE,EAAE;QAChC,IAAI,QAAQ,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO;QAExC,IAAI,QAAQ,GAAG,YAAY,CAAC;QAE5B,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACd,KAAK,YAAY;gBACf,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC1C,QAAQ,GAAG,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM;YAER,KAAK,WAAW;gBACd,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC1C,QAAQ,GAAG,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM;YAER,KAAK,WAAW;gBACd,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACxB,QAAQ,GAAG,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClD,CAAC;qBAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC7B,qCAAqC;oBACrC,MAAM,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;oBACzC,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;wBAC1B,QAAQ,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;oBACjD,CAAC;yBAAM,IAAI,IAAI,EAAE,CAAC;wBAChB,2CAA2C;wBAC3C,MAAM,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;wBACtC,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACxB,QAAQ,GAAG,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC7B,mCAAmC;oBACnC,MAAM,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;oBACzC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;wBACnB,QAAQ,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;oBACjD,CAAC;yBAAM,IAAI,IAAI,EAAE,CAAC;wBAChB,qCAAqC;wBACrC,MAAM,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;wBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;wBACtD,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;wBAC/C,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,MAAM;gBACT,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,GAAG,CAAC,CAAC;gBACb,MAAM;YAER,KAAK,KAAK;gBACR,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC;gBACzB,MAAM;YAER,KAAK,OAAO,CAAC;YACb,KAAK,GAAG;gBACN,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;oBAClD,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;gBAC3B,CAAC;gBACD,MAAM;YAER;gBACE,OAAO;QACX,CAAC;QAED,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CACrE,CAAC;IAEF;;OAEG;IACH,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,IAAI,CAAC,YAAY,EAAE,OAAO,IAAI,mBAAmB;YAAE,OAAO;QAE1D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAkB,CAAC;QAE/F,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,gCAAgC;YAChC,MAAM,UAAU,GACd,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC;YAEjF,yEAAyE;YACzE,uEAAuE;YACvE,uEAAuE;YACvE,wEAAwE;YACxE,oEAAoE;YACpE,oDAAoD;YACpD,IAAI,KAAK,KAAK,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEpE,oDAAoD;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,qBAAqB,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE1C,OAAO;QACL,YAAY;QACZ,eAAe;QACf,aAAa;QACb,qBAAqB;KACtB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MegaMenu.d.ts","sourceRoot":"","sources":["../../../src/modules/navigation/MegaMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAqD,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAU,IAAI,EAAiC,MAAM,QAAQ,CAAC;AAIrE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IACtE,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"MegaMenu.d.ts","sourceRoot":"","sources":["../../../src/modules/navigation/MegaMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAqD,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAU,IAAI,EAAiC,MAAM,QAAQ,CAAC;AAIrE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IACtE,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAyZ5C,CAAC"}
|
|
@@ -4,6 +4,13 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
|
4
4
|
import { Column, Flex, Icon, Row, Text, ToggleButton } from "../../";
|
|
5
5
|
import { useAdapters } from "../../contexts/AdapterProvider";
|
|
6
6
|
import styles from "./MegaMenu.module.scss";
|
|
7
|
+
/**
|
|
8
|
+
* What the panel adds around its content: the surface wrapper's `padding="12"`
|
|
9
|
+
* on each side and its 1px border on each side. The clipping box is exactly the
|
|
10
|
+
* surface, so this is all of it — anything else that ends up between the two
|
|
11
|
+
* belongs here too, or the panel will be short by that much.
|
|
12
|
+
*/
|
|
13
|
+
const DROPDOWN_CHROME = 26;
|
|
7
14
|
export const MegaMenu = ({ menuGroups, className, ...rest }) => {
|
|
8
15
|
const { usePathname } = useAdapters();
|
|
9
16
|
const pathname = usePathname();
|
|
@@ -36,7 +43,28 @@ export const MegaMenu = ({ menuGroups, className, ...rest }) => {
|
|
|
36
43
|
// Find the active content row
|
|
37
44
|
const activeContent = contentRefs.current[activeDropdown];
|
|
38
45
|
if (activeContent) {
|
|
39
|
-
|
|
46
|
+
/*
|
|
47
|
+
* Two passes, because the height depends on the width.
|
|
48
|
+
*
|
|
49
|
+
* This used to be one: everything was set to `max-content` and
|
|
50
|
+
* both dimensions were read together. At `max-content` nothing
|
|
51
|
+
* wraps, so the height that came back was the height of text
|
|
52
|
+
* laid out on one line — but the panel is then locked to the
|
|
53
|
+
* measured *width*, where that text does wrap. The content grew,
|
|
54
|
+
* the box did not, and `overflow: hidden` took the difference off
|
|
55
|
+
* the bottom. The last section of a tall panel disappeared.
|
|
56
|
+
*
|
|
57
|
+
* Restoring the fill-width children reaches the same failure by
|
|
58
|
+
* its own route. They are forced to `max-content` for the
|
|
59
|
+
* measurement and put back afterwards, so a button measured at
|
|
60
|
+
* its natural width can come back narrower, wrap its label, and
|
|
61
|
+
* add a line that the recorded height never included.
|
|
62
|
+
*
|
|
63
|
+
* So: measure the width with everything unconstrained, put the
|
|
64
|
+
* panel at that width with the children back as they were, let
|
|
65
|
+
* it reflow, and only then read the height. The second read sees
|
|
66
|
+
* the layout the panel will actually be displayed in.
|
|
67
|
+
*/
|
|
40
68
|
const fillWidthButtons = activeContent.querySelectorAll('[class*="fill-width"]');
|
|
41
69
|
const originalWidths = [];
|
|
42
70
|
fillWidthButtons.forEach((button, index) => {
|
|
@@ -47,29 +75,67 @@ export const MegaMenu = ({ menuGroups, className, ...rest }) => {
|
|
|
47
75
|
const originalHeight = dropdown.style.height;
|
|
48
76
|
const originalWidth = dropdown.style.width;
|
|
49
77
|
const originalOverflow = dropdown.style.overflow;
|
|
78
|
+
const originalTransition = activeContent.style.transition;
|
|
79
|
+
const originalTransform = activeContent.style.transform;
|
|
80
|
+
/*
|
|
81
|
+
* Measure the panel's layout, not the frame of the open
|
|
82
|
+
* animation this happens to land on.
|
|
83
|
+
*
|
|
84
|
+
* A panel animates in from `scale(0.9)`, and this runs a couple
|
|
85
|
+
* of frames into that transition — so the box the panel draws
|
|
86
|
+
* right now is around nine tenths of the box it is going to
|
|
87
|
+
* settle at. Anything read from `getBoundingClientRect` is
|
|
88
|
+
* scaled with it, and which fraction you get depends on where
|
|
89
|
+
* the frame lands, which is not a thing to size a panel from.
|
|
90
|
+
* Switching the transform off for the measurement makes the
|
|
91
|
+
* numbers describe the layout; the transition goes off with it
|
|
92
|
+
* so putting the transform back does not re-run the animation.
|
|
93
|
+
*/
|
|
94
|
+
activeContent.style.transition = "none";
|
|
95
|
+
activeContent.style.transform = "none";
|
|
50
96
|
dropdown.style.height = "auto";
|
|
51
97
|
dropdown.style.width = "max-content";
|
|
52
98
|
dropdown.style.overflow = "visible";
|
|
53
99
|
// Force reflow
|
|
54
100
|
dropdown.offsetHeight;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
101
|
+
/*
|
|
102
|
+
* Pass one: width, with everything unconstrained.
|
|
103
|
+
*
|
|
104
|
+
* `scrollWidth` is rounded to an integer and a max-content width
|
|
105
|
+
* is rarely whole, so on its own it can hand the content a
|
|
106
|
+
* fraction of a pixel less than it asked for. Taking the larger
|
|
107
|
+
* of it and the ceiling of the real box rounds the panel up
|
|
108
|
+
* instead of down.
|
|
109
|
+
*/
|
|
110
|
+
const contentWidth = Math.max(activeContent.scrollWidth, Math.ceil(activeContent.getBoundingClientRect().width));
|
|
111
|
+
const width = contentWidth + DROPDOWN_CHROME;
|
|
112
|
+
// Restore the children before the height is read rather than
|
|
113
|
+
// after: their real widths are part of what the height is.
|
|
59
114
|
fillWidthButtons.forEach((button, index) => {
|
|
60
115
|
button.style.width = originalWidths[index];
|
|
61
116
|
});
|
|
117
|
+
/*
|
|
118
|
+
* Pass two: height, at the width the panel is about to be given
|
|
119
|
+
* and with its children back as they were. `height` is still
|
|
120
|
+
* `auto`, so the content is free to be as tall as that makes it.
|
|
121
|
+
*/
|
|
122
|
+
dropdown.style.width = `${width}px`;
|
|
123
|
+
// Force reflow
|
|
124
|
+
dropdown.offsetHeight;
|
|
125
|
+
const contentHeight = Math.max(activeContent.offsetHeight, Math.ceil(activeContent.getBoundingClientRect().height));
|
|
62
126
|
// Restore original dimensions
|
|
63
127
|
dropdown.style.height = originalHeight;
|
|
64
128
|
dropdown.style.width = originalWidth;
|
|
65
129
|
dropdown.style.overflow = originalOverflow;
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
|
|
130
|
+
// Put the transform back and flush it while the transition is
|
|
131
|
+
// still off, so the panel does not animate a second time.
|
|
132
|
+
activeContent.style.transform = originalTransform;
|
|
133
|
+
activeContent.offsetHeight;
|
|
134
|
+
activeContent.style.transition = originalTransition;
|
|
69
135
|
setDropdownPosition({
|
|
70
136
|
left: rect.left - parentRect.left,
|
|
71
|
-
width
|
|
72
|
-
height: contentHeight +
|
|
137
|
+
width,
|
|
138
|
+
height: contentHeight + DROPDOWN_CHROME,
|
|
73
139
|
});
|
|
74
140
|
}
|
|
75
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MegaMenu.js","sourceRoot":"","sources":["../../../src/modules/navigation/MegaMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAkB,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,MAAM,MAAM,wBAAwB,CAAC;AA8B5C,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IACtF,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3F,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,mBAAmB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,CAAwC,EAAE,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,MAAM,CAAwC,EAAE,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,MAAM,CAA4C,SAAS,CAAC,CAAC;IACvF,MAAM,eAAe,GAAG,MAAM,CAA4C,SAAS,CAAC,CAAC;IAErF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc,IAAI,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACzD,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAEvF,mCAAmC;gBACnC,mBAAmB,CAAC;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI;oBACjC,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG,EAAE,iBAAiB;iBAC/B,CAAC,CAAC;gBAEH,iFAAiF;gBACjF,qBAAqB,CAAC,GAAG,EAAE;oBACzB,qBAAqB,CAAC,GAAG,EAAE;wBACzB,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;4BACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;4BAErC,8BAA8B;4BAC9B,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;4BAE1D,IAAI,aAAa,EAAE,CAAC;gCAClB
|
|
1
|
+
{"version":3,"file":"MegaMenu.js","sourceRoot":"","sources":["../../../src/modules/navigation/MegaMenu.tsx"],"names":[],"mappings":"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"}
|