Skip to content

v12.3

Latest
Compare
Choose a tag to compare
@JabX JabX released this 26 Jun 16:37
· 9 commits to master since this release

Composants de champs

  • breaking change : Vous devez désormais utiliser les nouveaux composants FormCheckbox et FormSwitch dans vos domaines/champs à la place de Checkbox et Switch. 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 et required à 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 theme supportingText (en plus d'être utilisé dans le TextField et ses dérivés, il est aussi présent dans BooleanRadio, 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)