@zevra/ui 0.47.0 → 0.49.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/react/icon.tsx CHANGED
@@ -57,6 +57,9 @@ export interface IconButtonProps
57
57
  * L'écrire pour l'ACTION (« Fermer le panneau ») et non pour le dessin
58
58
  * (« Croix ») : c'est ce que le lecteur d'écran annonce. */
59
59
  label: string
60
+ /** Geste DESTRUCTIF (la corbeille d'une ligne) : grise au repos, rouge
61
+ * sur fond pâle au survol, comme `variante="fantome-danger"`. */
62
+ danger?: boolean
60
63
  taille?: IconProps['taille']
61
64
  /** `arrondis` (option) ou `vifs` (défaut de la charte). Sans valeur, le
62
65
  * composant suit son conteneur : voir `Angles`. */
@@ -68,6 +71,7 @@ export interface IconButtonProps
68
71
  export function IconButton({
69
72
  icone,
70
73
  label,
74
+ danger,
71
75
  taille = 'lg',
72
76
  angles,
73
77
  className,
@@ -79,7 +83,7 @@ export function IconButton({
79
83
  <button
80
84
  type={type}
81
85
  aria-label={label}
82
- className={cx('zv-icon-btn', classeAngles(angles), className)}
86
+ className={cx('zv-icon-btn', danger && 'zv-icon-btn--danger', classeAngles(angles), className)}
83
87
  {...reste}
84
88
  >
85
89
  {icone ? <Icon nom={icone} taille={taille} /> : children}
package/src/icons.css CHANGED
@@ -81,6 +81,17 @@
81
81
  color: var(--ink);
82
82
  }
83
83
 
84
+ /* L'icône qui DÉTRUIT (27/10/2026, 0.48.0, HORS RELEVÉ, voir DECISIONS.md) :
85
+ * la corbeille d'une ligne. Grise au repos comme les autres ; au survol,
86
+ * l'encre --err sur le fond --err-soft, les teintes du fantôme destructif
87
+ * (`fantome-danger`). Pas d'aplat : une rangée de corbeilles rouges
88
+ * pleines crierait sur toute la liste. Le désactivé, déclaré plus bas à
89
+ * spécificité supérieure, l'emporte. */
90
+ .zv-icon-btn--danger:hover {
91
+ background: var(--err-soft);
92
+ color: var(--err);
93
+ }
94
+
84
95
  /* Désactivé. C'était la SEULE classe interactive du module sans cet état :
85
96
  * .zv-btn, .zv-chrome-btn, .zv-menu__item, .zv-pager__arrow, .zv-range et
86
97
  * les champs en ont tous un. Sans lui, un bouton fermé se rendait comme un
@@ -147,6 +147,10 @@
147
147
  font-weight: 500;
148
148
  color: var(--ink-2);
149
149
  text-decoration: none;
150
+ /* Le rayon d'action (DECISIONS, 02/11/2026) : 0 par défaut, et sous
151
+ * `zv-arrondi` l'entrée s'arrondit comme les boutons et les champs, au
152
+ * lieu de trancher à angle vif dans une colonne arrondie. */
153
+ border-radius: var(--r-btn);
150
154
  }
151
155
 
152
156
  /* ⚠️ CONTRE-ORDRE, pas un style. base.css repeint les liens nus en accent, et
package/src/tokens.css CHANGED
@@ -155,6 +155,21 @@
155
155
  --fmt-pdf: #c4362b;
156
156
  --fmt-docx: #2a5ba8;
157
157
 
158
+ /* Séries de données (DECISIONS, « La palette de données », 02/11/2026).
159
+ * HORS RELEVÉ. Cinq teintes catégorielles dans un ORDRE fixe : l'ordre
160
+ * écarte les voisines pour un daltonien (ΔE 9,1 au plus juste, 19,6 en
161
+ * vision normale), validé au script de palette catégorielle sur blanc.
162
+ * Pas de sixième teinte : le reste se replie dans `--serie-autres`.
163
+ * ⚠️ 3, 4 et 5 passent sous 3:1 sur le blanc : un graphique qui les
164
+ * emploie porte une légende ET une vue tableau. Ce n'est pas le spectre,
165
+ * qui garde ses trois emplois. */
166
+ --serie-1: #2a78d6;
167
+ --serie-2: #eb6834;
168
+ --serie-3: #1baf7a;
169
+ --serie-4: #eda100;
170
+ --serie-5: #e87ba4;
171
+ --serie-autres: #8a93a8;
172
+
158
173
  /* Signature */
159
174
  --spec-filet: 56px; /* filet de spectre 56×2px devant chaque kicker */
160
175
  }
package/tokens/index.js CHANGED
@@ -62,11 +62,19 @@ export const degrades = {
62
62
  }
63
63
 
64
64
  /**
65
- * Palette ordonnée pour les visualisations de données. Dérivée du spectre :
66
- * un graphe reste ainsi dans la marque sans emprunter à l'indigo, qui porte
67
- * l'action et ne doit pas se confondre avec une série de données.
65
+ * Palette ordonnée pour les visualisations de données : miroir de
66
+ * `--serie-1` à `--serie-5` (tokens.css), dans le MÊME ordre, qui est ce qui
67
+ * les garde distinctes pour un daltonien. Au-delà de cinq séries, le reste se
68
+ * replie dans `serieAutres`, jamais dans une sixième teinte.
69
+ *
70
+ * Elle remplace la série dérivée du spectre (0.48 et avant), dont deux
71
+ * voisines étaient indiscernables même en vision normale : voir DECISIONS,
72
+ * « La palette de données » (02/11/2026).
68
73
  */
69
- export const serieGraphique = ['#5848f8', '#2f6ef8', '#14c2f8', '#8a3af8', '#b8a8f8']
74
+ export const serieGraphique = ['#2a78d6', '#eb6834', '#1baf7a', '#eda100', '#e87ba4']
75
+
76
+ /** Le repli « Autres » d'un graphique : le gris des étiquettes (`--label`). */
77
+ export const serieAutres = '#8a93a8'
70
78
 
71
79
  export const polices = {
72
80
  display: '"Outfit", "Helvetica Neue", Arial, sans-serif',
@@ -124,4 +132,4 @@ export const ombres = {
124
132
  glyph: 'drop-shadow(0 24px 32px rgba(88, 72, 248, 0.28))',
125
133
  }
126
134
 
127
- export default { couleurs, degrades, serieGraphique, polices, tailles, mesures, rayons, ombres }
135
+ export default { couleurs, degrades, serieGraphique, serieAutres, polices, tailles, mesures, rayons, ombres }