fold-ng 0.13.0 → 0.15.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 +90 -1
- package/fesm2022/fold-ng.mjs +662 -78
- package/fesm2022/fold-ng.mjs.map +1 -1
- package/package.json +1 -1
- package/tmp-esm2022/tsconfig.lib.tsbuildinfo +1 -1
- package/types/fold-ng.d.ts +418 -64
- package/types/fold-ng.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,93 @@ All notable changes to **fold-ng** are documented here. The format follows
|
|
|
8
8
|
|
|
9
9
|
_Nothing yet._
|
|
10
10
|
|
|
11
|
+
## [0.15.0] - 2026-08-24
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **`fold-page-layout` a un créneau `[pageEyebrow]`** — la rangée AU-DESSUS du
|
|
16
|
+
titre, pour un fil d'Ariane, un lien de retour, une étiquette de rubrique.
|
|
17
|
+
C'est le seul créneau d'en-tête dont la mise en page ne restyle pas le
|
|
18
|
+
contenu : un fil et une étiquette n'ont rien de typographique en commun, donc
|
|
19
|
+
ce qu'on y projette garde son visage. Un eyebrow seul **n'allume pas**
|
|
20
|
+
l'en-tête — une étiquette sans titre n'étiquette rien.
|
|
21
|
+
|
|
22
|
+
Ce que ça remplace : un lien « ← Retour » projeté dans `[pageActions]`, donc
|
|
23
|
+
peint en haut à DROITE alors qu'il désigne le haut de la hiérarchie. Il y
|
|
24
|
+
était faute de place pour l'écrire ailleurs.
|
|
25
|
+
|
|
26
|
+
- **`fold-breadcrumb` gagne `[currentPage]`** (défaut `true`, aucun changement).
|
|
27
|
+
À `false`, le fil ne nomme que les **ancêtres** : le dernier maillon se
|
|
28
|
+
comporte comme les autres — lien s'il porte une cible, texte sinon — et plus
|
|
29
|
+
rien ne porte `aria-current`. C'est la forme qu'un fil prend au-dessus d'un
|
|
30
|
+
`<h1>` : le titre de la page EST la page courante. Sans ça, un fil posé dans
|
|
31
|
+
`[pageEyebrow]` devait soit répéter le titre en dernier maillon (du bruit que
|
|
32
|
+
l'œil saute), soit désigner la famille comme page courante — ce qui raconte au
|
|
33
|
+
lecteur d'écran quelque chose de faux.
|
|
34
|
+
|
|
35
|
+
## [0.14.0] - 2026-08-23
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- **BREAKING — `fold-nav-launcher` a DEUX niveaux.** Une tuile qui contient des
|
|
40
|
+
tuiles est un **groupe** (`fold-nav-group`) : aucun `level` à piloter, aucun
|
|
41
|
+
mode à basculer — le lanceur trouve la profondeur par requête de contenu,
|
|
42
|
+
exactement comme `fold-multiselect` trouve ses `fold-optgroup`. Deux niveaux
|
|
43
|
+
et pas plus : au troisième ce n'est plus un lanceur, c'est une arborescence.
|
|
44
|
+
|
|
45
|
+
Ce qui casse : `icon` devient **facultatif** sur `fold-nav-tile` (une entrée
|
|
46
|
+
de second niveau n'en a pas toujours ; sans icône, la ligne retombe sur un
|
|
47
|
+
point de statut plutôt que de décaler son libellé). La cascade d'entrée n'est
|
|
48
|
+
plus indexée sur `:nth-child` mais sur la **distance à la tuile touchée** —
|
|
49
|
+
c'est le lanceur qui la calcule, parce qu'aucune tuile ne peut connaître
|
|
50
|
+
seule sa distance à un doigt posé sur une autre. `variant` gagne `accent`.
|
|
51
|
+
|
|
52
|
+
Le lanceur se déclare enfin **surface de chrome** : il peignait le sol du
|
|
53
|
+
rail tout en lisant l'encre de la PAGE, ce qui donnait du texte sombre sur
|
|
54
|
+
sombre et des tuiles claires au milieu d'un panneau noir sous tout thème
|
|
55
|
+
mixte. Peindre le sol d'une famille sans en rejoindre la polarité, c'est en
|
|
56
|
+
revendiquer la moitié.
|
|
57
|
+
|
|
58
|
+
Nouveaux réglages : `eyebrow`, `heading`, `glass`, `closeLabel`, `backLabel`,
|
|
59
|
+
et un emplacement `footer` pour ce que l'application possède (le compte, la
|
|
60
|
+
déconnexion) et que la bibliothèque n'a pas à deviner.
|
|
61
|
+
|
|
62
|
+
Ce que la transition doit aux technologies d'assistance, parce que le
|
|
63
|
+
mouvement ne leur dit rien : le **focus suit le niveau** (et ne bouge qu'une
|
|
64
|
+
fois le niveau peint — pris une frame trop tôt il échouait en silence et le
|
|
65
|
+
piège retombait sur le bouton de fermeture, donc le curseur atterrissait sur
|
|
66
|
+
« renvoyer » à chaque descente) ; **Échap devient contextuel** (niveau 2 il
|
|
67
|
+
remonte, niveau 1 il ferme) ; le **niveau est annoncé** par une région vive.
|
|
68
|
+
Le balayage double la flèche, il ne la remplace pas.
|
|
69
|
+
|
|
70
|
+
### Added
|
|
71
|
+
|
|
72
|
+
- **`fold-menu` — `navLabel`**, le nom du repère `<nav>` du rail. Facultatif
|
|
73
|
+
pour un rail seul : la seule navigation d'une page n'a rien à distinguer.
|
|
74
|
+
Il cesse de l'être dès que la coquille en porte **deux** — un rail
|
|
75
|
+
d'application et un rail d'espace de travail s'annoncent alors tous les deux
|
|
76
|
+
« navigation », et plus rien ne les sépare. La galerie, qui a exactement ces
|
|
77
|
+
deux rails, les nomme désormais.
|
|
78
|
+
|
|
79
|
+
- **`fold-meter`** — une mesure en LECTURE SEULE dans une plage connue (une
|
|
80
|
+
complétude, un quota, un score). Ce n'est ni une barre de progression ni un
|
|
81
|
+
`fold-slider` : ce dernier est un `input type="range"`, focalisable,
|
|
82
|
+
déplaçable, et il s'annonce comme quelque chose qu'on peut changer. Un
|
|
83
|
+
`role="meter"` annonce une valeur déjà décidée. Le raccourci habituel — un
|
|
84
|
+
`div` de 4px — ne donne rien du tout à un lecteur d'écran, et c'est la raison
|
|
85
|
+
d'être du composant. La valeur est **bornée** plutôt que crue : au-delà du max
|
|
86
|
+
elle peindrait hors de la piste, et une plage inversée diviserait par un
|
|
87
|
+
négatif.
|
|
88
|
+
|
|
89
|
+
- **`fold-checklist`** — une liste de conditions et leur état. Troisième
|
|
90
|
+
apparition du motif (les règles d'un champ mot de passe, les préconditions
|
|
91
|
+
d'une zone dangereuse, puis une liste de publication), ce qui est le moment où
|
|
92
|
+
une forme cesse d'être une coïncidence. Chaque état est porté par un **glyphe
|
|
93
|
+
autant que par une couleur** : un point vert et un point ambre sont le même
|
|
94
|
+
point en niveaux de gris, en `forced-colors`, et pour une large part des
|
|
95
|
+
lecteurs. L'état est aussi dit **en toutes lettres** pour un lecteur d'écran,
|
|
96
|
+
qui ne voit aucun glyphe.
|
|
97
|
+
|
|
11
98
|
## [0.13.0] - 2026-08-23
|
|
12
99
|
|
|
13
100
|
### Changed
|
|
@@ -1849,7 +1936,9 @@ design-token stylesheet.
|
|
|
1849
1936
|
`currentColor`; `prefers-reduced-motion` + `forced-colors` are respected;
|
|
1850
1937
|
strings localise via inputs / providers (`provideFoldPanelLabels`).
|
|
1851
1938
|
|
|
1852
|
-
[unreleased]: https://github.com/hugoheynard/fold-ng/compare/v0.
|
|
1939
|
+
[unreleased]: https://github.com/hugoheynard/fold-ng/compare/v0.15.0...HEAD
|
|
1940
|
+
[0.15.0]: https://github.com/hugoheynard/fold-ng/releases/tag/v0.15.0
|
|
1941
|
+
[0.14.0]: https://github.com/hugoheynard/fold-ng/releases/tag/v0.14.0
|
|
1853
1942
|
[0.13.0]: https://github.com/hugoheynard/fold-ng/releases/tag/v0.13.0
|
|
1854
1943
|
[0.12.1]: https://github.com/hugoheynard/fold-ng/releases/tag/v0.12.1
|
|
1855
1944
|
[0.12.0]: https://github.com/hugoheynard/fold-ng/releases/tag/v0.12.0
|