@zevra/ui 0.37.0 → 0.38.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/DECISIONS.md CHANGED
@@ -1697,3 +1697,42 @@ jamais : l'infobulle est un COMPLÉMENT DISPENSABLE, et l'information
1697
1697
  nécessaire passe par `aria-describedby` et par le texte visible. Une app qui
1698
1698
  y met la raison d'un bouton grisé s'en remet à un geste que la moitié de ses
1699
1699
  visiteurs n'ont pas.
1700
+
1701
+ ## Les liens de la barre tombent avec le burger (29/08/2026, 0.38.0)
1702
+
1703
+ `.zv-nav__links` n'était masquée sous le point de rupture que pour
1704
+ `zv-nav--riche`, dont le seuil est 1150 px et qui vise les barres denses. Sur
1705
+ une barre normale, sous 768 px, le burger apparaissait ET les liens
1706
+ restaient : deux navigations pour une, et un débordement au premier libellé
1707
+ un peu long.
1708
+
1709
+ Le commentaire du module disait pourtant l'intention, deux règles plus haut :
1710
+ « le burger n'existe que là où les liens disparaissent ». C'était vrai dans un
1711
+ sens seulement.
1712
+
1713
+ **Ce que faisaient les consommateurs.** memoire, landing, lexform et
1714
+ mcp-factory posaient `zv-only-desktop` à la main sur `NavLinks` ; campus
1715
+ passait par `zv-nav--riche`. Quatre sur cinq collaient la même rustine, et
1716
+ memoire avait écrit le commentaire qui l'explique : « `.zv-nav__links` n'est
1717
+ pas masquée d'office ». Une rustine que tout le monde recopie est un défaut
1718
+ du paquet, pas un usage.
1719
+
1720
+ **Pourquoi ce n'était pas déjà fait, et pourquoi ça l'est maintenant.** Le
1721
+ commentaire d'origine donnait la raison : masquer d'office « casserait les
1722
+ pages sans burger ». C'est juste, et ça méritait mieux qu'une classe à poser
1723
+ partout. La règle est donc conditionnée par `:has(.zv-nav__burger)` : les
1724
+ liens ne disparaissent QUE là où un burger les remplace. L'objection tombe
1725
+ sans rien sacrifier, et la phrase écrite plus haut devient vraie dans les
1726
+ deux sens.
1727
+
1728
+ `:has()` est déjà employé neuf fois dans le paquet, dont `.zv-header:has(>
1729
+ .zv-nav)`. Ce n'est pas une nouveauté qu'on introduit ici.
1730
+
1731
+ **Ce qui a été écarté** : masquer d'office et documenter qu'il faut un
1732
+ burger. Ça déplace la charge sur l'intégrateur pour un cas que le CSS sait
1733
+ détecter lui-même, et ça casse toute barre existante sans burger le jour de
1734
+ la montée de version.
1735
+
1736
+ Aucun consommateur ne régresse : les quatre qui posaient `zv-only-desktop`
1737
+ obtiennent le même rendu (la classe devient redondante, elle peut partir),
1738
+ et campus masque déjà à 1150, ce qui contient 768.
@@ -1 +1 @@
1
- {"version":3,"file":"css-inline.d.ts","sourceRoot":"","sources":["../react/css-inline.ts"],"names":[],"mappings":"AAGA;;;iEAGiE;AACjE,eAAO,MAAM,WAAW,EAAE,MAAyyzR,CAAA;AAEn0zR;;;yBAGyB;AACzB,eAAO,MAAM,WAAW,EAAE,MAAk4B,CAAA"}
1
+ {"version":3,"file":"css-inline.d.ts","sourceRoot":"","sources":["../react/css-inline.ts"],"names":[],"mappings":"AAGA;;;iEAGiE;AACjE,eAAO,MAAM,WAAW,EAAE,MAAim1R,CAAA;AAE3n1R;;;yBAGyB;AACzB,eAAO,MAAM,WAAW,EAAE,MAAk4B,CAAA"}