Action hierarchy
Primary, secondary et destructive.
.btn-*
Le poids visuel suit l’importance de l’action, pas sa position.
x-ui.icon-button
Primary, secondary et destructive.
.btn-*
Label accessible obligatoire, tooltip selon la familiarité.
x-ui.icon-button
Pour des commandes adjacentes, jamais pour simuler des tabs.
x-ui.button-group
Les composants conservent le contrat serveur tout en centralisant l’accessibilité.
x-ui.form-field · x-ui.*-input
Inline pour la validation, alert pour le persistant, toast pour le résultat asynchrone.
Les toasts sont portés dans la couche globale.
window.kviewToast
Le formulaire décrit la confirmation, le singleton gère le dialogue.
data-ui-confirm
Collection vide, aucun résultat et récupération d’erreur.
x-ui.empty-state
Préserver la géométrie finale et exposer l’état busy.
x-ui.loading-state
Chaque niveau possède une responsabilité de composition distincte.