@zevra/ui 0.36.0 → 0.37.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 +42 -0
- package/dist/css-inline.d.ts.map +1 -1
- package/dist/css-inline.js +1 -1
- package/dist/css-inline.js.map +1 -1
- package/package.json +1 -1
- package/react/css-inline.ts +1 -1
- package/src/feedback.css +30 -5
package/DECISIONS.md
CHANGED
|
@@ -1655,3 +1655,45 @@ C'est exactement ce qu'il a fait au premier jet, et il avait raison.
|
|
|
1655
1655
|
Il a aussi rendu un service immédiat : un `git checkout` d'essai avait
|
|
1656
1656
|
annulé le nettoyage de `tokens.css`, encore non commité. Le garde a signalé
|
|
1657
1657
|
la régression dans la minute.
|
|
1658
|
+
|
|
1659
|
+
## L'infobulle se pose en bas de l'écran sur téléphone (29/08/2026, 0.37.0)
|
|
1660
|
+
|
|
1661
|
+
Le commentaire de `.zv-tooltip` annonçait la dette : « le centrage sur une
|
|
1662
|
+
cible collée au bord peut encore la décaler : limite connue, une variante
|
|
1663
|
+
d'ancrage latéral s'arbitrera si le cas se présente ». Le cas s'est présenté,
|
|
1664
|
+
et il est mesurable.
|
|
1665
|
+
|
|
1666
|
+
Sur le tableau de bord de mcp-factory, à 375 px, le document fait **416 px**
|
|
1667
|
+
de large : barre de défilement horizontale sur toute la page. En masquant les
|
|
1668
|
+
seules infobulles il retombe à 360. Elles sont la cause ENTIÈRE, le bloc de
|
|
1669
|
+
code n'y est pour rien.
|
|
1670
|
+
|
|
1671
|
+
Le mécanisme : `left: 50%; transform: translateX(-50%)` sur une cible proche
|
|
1672
|
+
du bord droit. Le plafond `max-width: calc(100vw - 40px)` ne corrigeait rien,
|
|
1673
|
+
puisque ce n'est pas la largeur qui déborde mais la POSITION.
|
|
1674
|
+
|
|
1675
|
+
⚠️ Le débordement par la droite, lui, s'entend : il crée un défilement
|
|
1676
|
+
horizontal sur TOUTE la page, y compris là où l'infobulle n'est pas. C'est ce
|
|
1677
|
+
qui le rend cher, et facile à imputer au mauvais bloc.
|
|
1678
|
+
|
|
1679
|
+
**La variante d'ancrage latéral a été écartée.** Elle aurait obligé chaque
|
|
1680
|
+
app à choisir le bon côté pour chaque bulle (quarante et une sur ce seul
|
|
1681
|
+
tableau de bord) et à le refaire à chaque déplacement d'un bouton. Une
|
|
1682
|
+
correction qui se re-décide à chaque intégration n'est pas une correction.
|
|
1683
|
+
|
|
1684
|
+
Sous le point de rupture, la bulle CESSE DE FLOTTER au-dessus de sa cible :
|
|
1685
|
+
elle se pose en bas de l'écran, pleine largeur, en `position: fixed`. Le
|
|
1686
|
+
débordement devient impossible par construction, quelle que soit la place de
|
|
1687
|
+
la cible. C'est aussi le seul endroit où une bulle reste lisible sur 320 px
|
|
1688
|
+
sans se replier en cinq lignes au-dessus d'un bouton.
|
|
1689
|
+
|
|
1690
|
+
**Le desktop ne bouge pas d'un pixel** : tout est dans la requête média, et
|
|
1691
|
+
la règle hors média n'est pas touchée.
|
|
1692
|
+
|
|
1693
|
+
Ce que ça ne règle PAS, et qui reste vrai : le tactile ne survole pas. Une
|
|
1694
|
+
bulle ne s'ouvre au doigt que si sa cible prend le focus au tap, ce qui vaut
|
|
1695
|
+
d'un bouton et pas d'un texte. La doctrine du composant tient donc plus que
|
|
1696
|
+
jamais : l'infobulle est un COMPLÉMENT DISPENSABLE, et l'information
|
|
1697
|
+
nécessaire passe par `aria-describedby` et par le texte visible. Une app qui
|
|
1698
|
+
y met la raison d'un bouton grisé s'en remet à un geste que la moitié de ses
|
|
1699
|
+
visiteurs n'ont pas.
|
package/dist/css-inline.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|