fold-ng 0.17.0 → 0.18.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 +77 -1
- package/fesm2022/fold-ng.mjs +28 -5
- 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 +16 -1
- package/types/fold-ng.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,80 @@ All notable changes to **fold-ng** are documented here. The format follows
|
|
|
8
8
|
|
|
9
9
|
_Nothing yet._
|
|
10
10
|
|
|
11
|
+
## [0.18.0] - 2026-08-28
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **`fold-app-shell` : la bande `subheader`**, sous la barre d'en-tête — une
|
|
16
|
+
sous-barre de navigation, un ruban de contexte, une rangée de filtres.
|
|
17
|
+
|
|
18
|
+
Elle suit **exactement la règle de placement de l'en-tête** :
|
|
19
|
+
`subheaderLayout="inset"` (par défaut) la pose au-dessus de la colonne de
|
|
20
|
+
contenu, les rails montant à son flanc ; `"full"` l'étire sur toutes les
|
|
21
|
+
colonnes, au-dessus des rails. Deux réglages de hauteur l'accompagnent,
|
|
22
|
+
`subheaderHeight` (52) et `subheaderHeightMobile` (48), avec leurs variables
|
|
23
|
+
`--fold-shell-subheader-height*` — la même paire entrée typée / variable CSS
|
|
24
|
+
que le reste de la coque.
|
|
25
|
+
|
|
26
|
+
Comme le pied, elle est **auto-effaçante** : sans rien de projeté, elle ne
|
|
27
|
+
réclame aucune rangée. Elle est rendue en `<div>` nu — `<header>` est déjà
|
|
28
|
+
pris, et la sémantique de la bande (un `<nav>`, une barre d'outils) appartient
|
|
29
|
+
à ce que l'application y projette.
|
|
30
|
+
|
|
31
|
+
Le tiroir mobile et son voile descendent maintenant de
|
|
32
|
+
`--fold-shell-chrome-offset` : l'en-tête, plus la bande quand il y en a une.
|
|
33
|
+
Sans ça, la navigation mobile se serait glissée **par-dessus** la sous-barre.
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- **`fold-app-shell` : les rangées de la grille sont générées, plus écrites à la
|
|
38
|
+
main.** Trois bandes optionnellement pleine largeur font dix-huit états ;
|
|
39
|
+
l'en-tête et le pied à eux seuls occupaient déjà quatre blocs
|
|
40
|
+
`grid-template-areas`, et ajouter la sous-barre les aurait portés à dix-huit
|
|
41
|
+
blocs copiés-collés.
|
|
42
|
+
|
|
43
|
+
Une boucle les émet depuis les deux mêmes faits que portent déjà les classes
|
|
44
|
+
de l'hôte. Chaque sélecteur généré est **exact** — une bande encastrée nomme
|
|
45
|
+
son `:not(.*-full)`, une bande absente son `:not(:has([…]))` — si bien que
|
|
46
|
+
deux règles ne peuvent plus viser la même coque : la cascade ne départage plus
|
|
47
|
+
rien, l'ordre des sources non plus. C'est aussi ce qui permet à la version
|
|
48
|
+
étroite de ré-émettre le même jeu et de gagner simplement en venant après.
|
|
49
|
+
|
|
50
|
+
Aucun changement de rendu : les quatre combinaisons existantes produisent les
|
|
51
|
+
mêmes rangées qu'avant.
|
|
52
|
+
|
|
53
|
+
## [0.17.1] - 2026-08-26
|
|
54
|
+
|
|
55
|
+
### Fixed
|
|
56
|
+
|
|
57
|
+
- **`fold-data-table` : le mode cartes ne rendait RIEN avec l'API documentée.**
|
|
58
|
+
`narrowLayout="cards"` plus un `foldRowCard` projeté — la forme que la 0.13.0
|
|
59
|
+
a introduite et que le JSDoc recommande — laissait un espace blanc à la place
|
|
60
|
+
du tableau.
|
|
61
|
+
|
|
62
|
+
Le gabarit basculait bien : `@if (!cardMode())` retirait le `<table>` et
|
|
63
|
+
construisait la liste, cartes remplies du contenu du consommateur. La feuille
|
|
64
|
+
de style, elle, gardait une **seconde porte** — `.folddt--custom.folddt--narrow`
|
|
65
|
+
— dont les classes venaient de l'entrée **dépréciée** `mobileLayout`. Sur la
|
|
66
|
+
nouvelle API cette paire ne se posait jamais, et la liste restait
|
|
67
|
+
`display: none`. Le tableau était parti, les cartes étaient cachées.
|
|
68
|
+
|
|
69
|
+
`auto-cards` était atteint pour la même raison : `.folddt--cards` n'avait
|
|
70
|
+
aucune règle en face. Seul `mobileLayout="custom"`, le chemin déprécié,
|
|
71
|
+
fonctionnait.
|
|
72
|
+
|
|
73
|
+
La correction retire la porte plutôt que de la réparer : la liste n'est dans
|
|
74
|
+
l'arbre QUE en mode cartes, donc sa présence suffit. Ce fichier disait déjà
|
|
75
|
+
« two gates that had to agree were one gate too many » — et en gardait deux.
|
|
76
|
+
Les classes `folddt--cards` et `folddt--custom`, qui ne stylaient plus rien,
|
|
77
|
+
disparaissent avec.
|
|
78
|
+
|
|
79
|
+
Aucun cas ne l'avait vu : les huit cas « mobile layout » pilotaient tous
|
|
80
|
+
`mobileLayout`. Un cas pilote désormais `narrowLayout`, et un autre lit la
|
|
81
|
+
**feuille de style** — le DOM n'a jamais été le problème, et jsdom n'applique
|
|
82
|
+
pas les styles d'un composant, si bien qu'un `getComputedStyle` y passe au
|
|
83
|
+
vert sur une liste cachée.
|
|
84
|
+
|
|
11
85
|
## [0.17.0] - 2026-08-26
|
|
12
86
|
|
|
13
87
|
### Added
|
|
@@ -2172,7 +2246,9 @@ design-token stylesheet.
|
|
|
2172
2246
|
`currentColor`; `prefers-reduced-motion` + `forced-colors` are respected;
|
|
2173
2247
|
strings localise via inputs / providers (`provideFoldPanelLabels`).
|
|
2174
2248
|
|
|
2175
|
-
[unreleased]: https://github.com/hugoheynard/fold-ng/compare/v0.
|
|
2249
|
+
[unreleased]: https://github.com/hugoheynard/fold-ng/compare/v0.18.0...HEAD
|
|
2250
|
+
[0.18.0]: https://github.com/hugoheynard/fold-ng/releases/tag/v0.18.0
|
|
2251
|
+
[0.17.1]: https://github.com/hugoheynard/fold-ng/releases/tag/v0.17.1
|
|
2176
2252
|
[0.17.0]: https://github.com/hugoheynard/fold-ng/releases/tag/v0.17.0
|
|
2177
2253
|
[0.16.0]: https://github.com/hugoheynard/fold-ng/releases/tag/v0.16.0
|
|
2178
2254
|
[0.15.0]: https://github.com/hugoheynard/fold-ng/releases/tag/v0.15.0
|