origam 2.17.0 → 2.17.1

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.
Files changed (25) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/src/assets/css/main.css +1 -1
  3. package/dist/src/assets/css/tokens/dark.css +6 -4
  4. package/dist/src/assets/css/tokens/light.css +3 -2
  5. package/dist/src/assets/scss/tokens/_dark.scss +3 -2
  6. package/dist/src/assets/scss/tokens/_light.scss +3 -2
  7. package/dist/src/components/ColorPickerField/OrigamColorPickerField.vue +13 -13
  8. package/dist/src/components/DatePickerField/OrigamDatePickerField.vue +13 -13
  9. package/dist/src/components/Field/OrigamField.vue +36 -13
  10. package/dist/src/components/FileField/OrigamFileField.vue +15 -14
  11. package/dist/src/components/Masonry/OrigamMasonry.vue +1 -1
  12. package/dist/src/components/NumberField/OrigamNumberField.vue +13 -13
  13. package/dist/src/components/OtpInputField/OrigamOtpInputField.vue +13 -13
  14. package/dist/src/components/PasswordField/OrigamPasswordField.vue +15 -14
  15. package/dist/src/components/Select/OrigamSelect.vue +13 -13
  16. package/dist/src/components/Switch/OrigamSwitchTrack.vue +20 -0
  17. package/dist/src/components/TextField/OrigamTextField.vue +15 -14
  18. package/dist/src/components/TextareaField/OrigamTextareaField.vue +15 -14
  19. package/dist/src/components/VirtualScroll/OrigamVirtualScroll.vue +1 -1
  20. package/dist/src/consts/Commons/border.const.cjs +2 -1
  21. package/dist/src/consts/Commons/border.const.d.ts +19 -0
  22. package/dist/src/consts/Commons/border.const.js +15 -0
  23. package/dist/src/interfaces/Field/field.interface.d.ts +21 -1
  24. package/dist/src/types/tokens.type.d.ts +1 -1
  25. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -18,6 +18,60 @@ This project follows [Semantic Versioning](https://semver.org).
18
18
 
19
19
  ## [Unreleased]
20
20
 
21
+ ## [2.17.1] - 2026-09-14
22
+
23
+ Hotfix. Quatre correctifs, **aucune rupture d'API**. Trois des quatre ont
24
+ invalidé le diagnostic du ticket qui les demandait — les causes réelles sont
25
+ consignées ci-dessous, parce qu'elles sont plus instructives que les correctifs.
26
+
27
+ ### Fixed
28
+
29
+ - **`border` / `outlined` sur les champs ne coupe plus le label flottant** (#726).
30
+ La hiérarchie DOM est l'inverse de ce que les noms suggèrent : `origam-input`
31
+ est l'élément EXTÉRIEUR, `origam-field` est à l'intérieur. `useBorder` peignait
32
+ donc un rectangle SANS encoche dont le bord haut traversait le label.
33
+ `IFieldProps` étend désormais `IBorderProps` et route largeur / style / couleur
34
+ vers le canal de tokens que lisent les trois pattes `__outline` — l'encoche
35
+ s'ouvre d'elle-même. Mesure de l'aire d'intersection label × bande de bordure,
36
+ Chromium : TextField `61,41 px² → 0`, Select sans aucune prop `35,59 px² → 0`,
37
+ Select `border="thick"` `71,19 px² → 0`.
38
+ ⚠️ `OrigamSelect` déclare `border: true` dans son propre `withDefaults` : il
39
+ était donc cassé PAR DÉFAUT, sans qu'un consommateur passe quoi que ce soit.
40
+ Les 12 consommateurs d'`OrigamInput` ont été audités : 4 emboîtent un field
41
+ (corrigés), 8 n'en ont aucun et gardent `useBorder` sur leur racine.
42
+ Les valeurs directionnelles (`border="top"`, `borderBlock`…) ne peignent plus
43
+ rien sur les champs à encoche : un trait horizontal y couperait le label.
44
+
45
+ - **Le track de `OrigamSwitch` a de nouveau une bordure par défaut** (#727).
46
+ Les deux tokens étaient déclarés et LUS PAR PERSONNE — ils figuraient dans la
47
+ baseline `token-var-channels-dormant`. Changer leurs valeurs seules n'aurait
48
+ rien produit ; il fallait ajouter la déclaration qui les lit. Défaut :
49
+ `1px solid var(--origam-color__border---default)`, donc le switch suit le thème
50
+ actif. Mesure : `0px / none → 1px / solid`. La surcharge reste entière
51
+ (`border="thick"` → 2px, `border="top"` ramène les autres côtés à 0).
52
+
53
+ - **`OrigamMasonry` patche ses enfants au lieu de les reconstruire** (#735).
54
+ `:is="{ render: () => child }"` reconstruisait un objet littéral à CHAQUE passe
55
+ de rendu : Vue voyait un type différent et détruisait / recréait tout le
56
+ sous-arbre. Mesure Chromium sur UN SEUL redimensionnement, 9 enfants :
57
+ 117 nœuds ajoutés, 117 retirés, 0 enfant conservant son nœud DOM. Les enfants
58
+ perdaient focus, scroll, lecture média, transitions et état de composant, et
59
+ rejouaient leurs `onMounted`. Corrigé par `:is="child"` — branche `isVNode` de
60
+ `createVNode`. Survivants `0/9 → 9/9`. Présent depuis la naissance du
61
+ composant (2026-05-15), ce n'est pas une régression.
62
+
63
+ - **`OrigamVirtualScroll` rend de nouveau** (#736).
64
+ L'erreur `$setup.convertToUnit is not a function` désignait la victime, pas le
65
+ coupable : `convertToUnit` était bien importé ET exposé. `items?` était
66
+ optionnelle SANS défaut, `useVirtual` lit `items.value.length` synchroniquement
67
+ dans le `setup()`, le setup tombait, Vue n'assemblait jamais `__returned__`, et
68
+ le template échouait sur le premier symbole rencontré. Corrigé par
69
+ `items: () => []`. La doc annonçait déjà ce défaut — elle dit enfin vrai.
70
+ Balayage : 0 composant sur 218 appelle un symbole absent de son setup ;
71
+ sur la famille réelle (prop optionnelle lue sans garde), 35 → 34, les 34
72
+ restants étant 18 refus délibérés et 16 props `required: true`.
73
+
74
+
21
75
  ## [2.17.0] - 2026-09-14
22
76
 
23
77
  > ### ⛔ DÉROGATION ASSUMÉE — cette version MINEURE porte 8 ruptures d'API