Composants de champs
- breaking change : Vous devez désormais utiliser les nouveaux composants
FormCheckbox
etFormSwitch
dans vos domaines/champs à la place deCheckbox
etSwitch
. Ces nouveaux composants incluent la gestion du message d'erreur et s'intègrent donc mieux avec le reste des composants de saisie. Les "anciens" composants sont désormais incompatibles avec un usage dans un domaine. Vous pouvez (et devriez) toujours continuer à les utiliser dans tous les autres cas où ils ne sont pas utilisés en tant qu'InputComponent
. - Focus passe désormais
comment
,error
,edit
,id
,label
,name
etrequired
à tous les composants de domaines (InputComponent
,LabelComponent
...), au lieu de se restreindre arbitrairement aux propriétés utilisées par les composants standard de Focus - Le composant de Label gère désormais lui même son affichage en erreur et obligatoire, au lieu de passer par du CSS sur le Field. Il est aussi possible de surcharger le texte correspondant à l'étoile. De plus, il ne pose plus le "for" quand on est pas en édition (!!).
- Un composant
SupportingText
a été ajouté pour mutualiser la gestion du texte d'erreur sur tous les composants. Les variables CSS qu'il utilise ne sont donc plus préfixées par--text-field-
, et vous pouvez désormais les styliser au global dans l'application via la clé de themesupportingText
(en plus d'être utilisé dans leTextField
et ses dérivés, il est aussi présent dansBooleanRadio
,SelectCheckbox
,InputFile
... et les nouveaux composants pour les checkboxes et switches).
Améliorations d'accessibilité
- Il est maintenant possible de naviguer au clavier dans les tableaux, aussi bien pour cliquer sur les éléments du tableau (s'ils sont cliquables) que sur le tri
- La popin et le dialog posent désormais un Focus Trap, qui permet de ne pas pouvoir "tabber" en dehors lorsqu'ils sont ouverts
- Le menu du Scrollspy peut être navigué au clavier (et affiche l'icône du Panel s'il y'en a une)
Ces trois évolutions sont visibles sur le starter kit 😉
eslint => oxlint
Le module tooling ne bundle plus eslint, mais oxlint. Il s'agit d'une réécriture complète d'ESLint qui a vocation à terme à le remplacer définitivement. C'est au moins 50x plus rapide déjà, et il y a 80-90% des règles déjà implémentées aujourd'hui.
Si vous voulez garder ESLint, il vous faudra le réinstaller "à la main", sinon vous pouvez regarder ce commit du starter kit qui fait la migration => klee-contrib/focus4-starter-kit@3468dcc
(Remarque : le tri des imports se fait avec un module prettier désormais au lieu du linter, ce qui est aussi bien plus rapide pour un résultat identique si bien configuré, n'oubliez pas de reprendre la configuration du starter kit pour l'avoir, le module est inclus dans l'installation du module tooling)