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 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.13.0...HEAD
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