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.
- package/CHANGELOG.md +54 -0
- package/dist/src/assets/css/main.css +1 -1
- package/dist/src/assets/css/tokens/dark.css +6 -4
- package/dist/src/assets/css/tokens/light.css +3 -2
- package/dist/src/assets/scss/tokens/_dark.scss +3 -2
- package/dist/src/assets/scss/tokens/_light.scss +3 -2
- package/dist/src/components/ColorPickerField/OrigamColorPickerField.vue +13 -13
- package/dist/src/components/DatePickerField/OrigamDatePickerField.vue +13 -13
- package/dist/src/components/Field/OrigamField.vue +36 -13
- package/dist/src/components/FileField/OrigamFileField.vue +15 -14
- package/dist/src/components/Masonry/OrigamMasonry.vue +1 -1
- package/dist/src/components/NumberField/OrigamNumberField.vue +13 -13
- package/dist/src/components/OtpInputField/OrigamOtpInputField.vue +13 -13
- package/dist/src/components/PasswordField/OrigamPasswordField.vue +15 -14
- package/dist/src/components/Select/OrigamSelect.vue +13 -13
- package/dist/src/components/Switch/OrigamSwitchTrack.vue +20 -0
- package/dist/src/components/TextField/OrigamTextField.vue +15 -14
- package/dist/src/components/TextareaField/OrigamTextareaField.vue +15 -14
- package/dist/src/components/VirtualScroll/OrigamVirtualScroll.vue +1 -1
- package/dist/src/consts/Commons/border.const.cjs +2 -1
- package/dist/src/consts/Commons/border.const.d.ts +19 -0
- package/dist/src/consts/Commons/border.const.js +15 -0
- package/dist/src/interfaces/Field/field.interface.d.ts +21 -1
- package/dist/src/types/tokens.type.d.ts +1 -1
- 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
|