CSS Part sémantiques

#Lien direct vers cette section

En plus de CSS part propres à chacun, les composants Ariane exposent des CSS part qui ont un rôle sémantique et transverse.
Un même élément expose souvent plusieurs CSS part complémentaires, par exemple control (sémantique) et link (spécifique).

Ces ::part() sémantiques facilitent la personnalisation des éléments communs à chacun des composants, permettant une meilleure intégration à un Design System par exemple.

Part sémantiqueSignificationExemples
(nom du composant)Racine du composant.ar-charcounter::part(charcounter), ar-datepicker::part(datepicker), ar-breadcrumb::part(breadcrumb)
panelConteneur flottant secondaire (datepicker, dropdown...).ar-datepicker::part(panel)
triggerOuvre/ferme un panel ou une zone repliable.ar-datepicker::part(trigger)
header / footerEn-tête / pied de composant.ar-datepicker::part(header)
bodyZone de contenu principal.ar-dialog::part(body), ar-alert::part(body)
controlÉlément interactif générique (hors field/action-button/trigger).ar-pagination::part(link), ar-datepicker::part(day)
fieldÉlément qui reçoit une saisie. Deux sous-rôles standard, réutilisables par tout futur composant : input (champ texte/textarea) et select (liste déroulante).ar-datepicker::part(input), ar-pagination::part(select)
action-buttonBouton qui déclenche une action ponctuelle (pas un toggle de panel).ar-pagination::part(prev), ar-datepicker::part(today-button)
indicatorMarqueur/indicateur visuel.ar-table-sort::part(indicator)
labelTexte descriptif.ar-datepicker::part(label)
iconIcône.ar-alert::part(icon)

Parts d'état

#Lien direct vers cette section

Certains ::part() portent en plus un modificateur d'état, selon la convention <élément>--<état> : l'élément de base reste présent, l'état s'ajoute en second part sur le même attribut (ex. part="indicator indicator--current").
Ces parts d'état permettent une customisation avancée des composants dans leur différents états.

ÉtatSignificationExemples
--currentPosition atteinte par navigation.ar-pagination::part(item--current)
--selectedChoix actif de l'utilisateur.ar-tab::part(tab--selected)
--disabledDésactivé.ar-pagination::part(nav-button--disabled)
--warningÉtat d'avertissement.ar-charcounter::part(count--warning)
--errorÉtat d'erreur.ar-charcounter::part(count--error)
--desktopAffichage desktop d'un élément ayant une variante mobile.ar-breadcrumb::part(list--desktop)
--mobileAffichage mobile d'un élément ayant une variante desktop.ar-breadcrumb::part(list--mobile)
--substepSous-liste d'étape imbriquée dans une liste d'étape parente.ar-stepper-item::part(list--substep)