unfold-nav 0.1.1 → 1.0.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 +13 -0
- package/README.md +2 -1
- package/dist/layout.d.cts +2 -2
- package/dist/layout.d.ts +2 -2
- package/dist/unfold-nav.js +368 -316
- package/dist/unfold-nav.js.map +1 -1
- package/dist/unfold-nav.umd.cjs +9 -8
- package/dist/unfold-nav.umd.cjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
The existing navigation, public options, events and styling API become the stable 1.x API.
|
|
6
|
+
|
|
7
|
+
- Reuse graph geometry and SVG paths during hover and keyboard focus changes; coalesce resize work and read animation timing once per batch.
|
|
8
|
+
- Refresh current-page markers immediately, honor document base URLs, and remeasure labels after resizing, font loading and reopening.
|
|
9
|
+
- Cancel interrupted animation timers and label animations; keep collapsing children out of keyboard and screen-reader navigation.
|
|
10
|
+
- Handle rapid clicks, repeated typeahead letters, held activation keys, input composition and event listeners that close or remove the menu while it opens.
|
|
11
|
+
- Keep user page IDs separate from internal hub and label bookkeeping, including IDs with separator characters.
|
|
12
|
+
- Fall back safely from failing icon callbacks, refresh visible icons when the resolver changes, and copy validated offset objects.
|
|
13
|
+
- Keep inline menus aligned when an ancestor scrolls and let page controls receive pointer input during the closing animation.
|
|
14
|
+
- Add regression coverage for these behaviors while retaining the exhaustive showcase and Circuit layout checks.
|
|
15
|
+
|
|
3
16
|
## 0.1.1
|
|
4
17
|
|
|
5
18
|
- Link the npm homepage and README to the [live showcase](https://unfold-nav.romagnolo.eu).
|
package/README.md
CHANGED
|
@@ -13,7 +13,8 @@ same component works with a mouse, a finger or a keyboard, on desktop and on pho
|
|
|
13
13
|
- **Customisable:** options, `--unfold-*` CSS variables, `::part()` selectors, a slot for the button icon, per-page colours, and a hook to plug in any icon library.
|
|
14
14
|
- **Accessibility features:** a modal dialog with a standard tree of pages for screen readers, full keyboard support, focus management, high-contrast and forced-colors support, text that follows the reader's font size, and reduced motion. See [Accessibility](#accessibility).
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Version 1.x keeps the public options, events and styling API stable. It is designed for compact site maps;
|
|
17
|
+
see [layout limits](#layout-limits) and test your real menu content.
|
|
17
18
|
|
|
18
19
|
## Quick start
|
|
19
20
|
|
package/dist/layout.d.cts
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Pure geometry: where nodes go, where their labels go, and how edges are drawn.
|
|
3
3
|
* Coordinates are viewport pixels (y grows downwards, angles are clockwise from +x).
|
|
4
4
|
*
|
|
5
|
-
* The
|
|
5
|
+
* The layout prefers clearance: every node reserves room for its label at
|
|
6
6
|
* the moment its fan is placed, a fan is only accepted when all of its nodes *and* labels fit clear of
|
|
7
7
|
* everything already on screen (nodes, labels, edges, the viewport edge), and later fans have to keep
|
|
8
8
|
* clear of what's reserved. When that's impossible (a tiny screen, a huge menu) labels that don't fit
|
|
9
|
-
* are left out
|
|
9
|
+
* are left out. Extreme density can also exhaust node clearance; see the documented layout limits.
|
|
10
10
|
*/
|
|
11
11
|
export interface Vec {
|
|
12
12
|
x: number;
|
package/dist/layout.d.ts
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Pure geometry: where nodes go, where their labels go, and how edges are drawn.
|
|
3
3
|
* Coordinates are viewport pixels (y grows downwards, angles are clockwise from +x).
|
|
4
4
|
*
|
|
5
|
-
* The
|
|
5
|
+
* The layout prefers clearance: every node reserves room for its label at
|
|
6
6
|
* the moment its fan is placed, a fan is only accepted when all of its nodes *and* labels fit clear of
|
|
7
7
|
* everything already on screen (nodes, labels, edges, the viewport edge), and later fans have to keep
|
|
8
8
|
* clear of what's reserved. When that's impossible (a tiny screen, a huge menu) labels that don't fit
|
|
9
|
-
* are left out
|
|
9
|
+
* are left out. Extreme density can also exhaust node clearance; see the documented layout limits.
|
|
10
10
|
*/
|
|
11
11
|
export interface Vec {
|
|
12
12
|
x: number;
|