Details
Composant Details (sh-details)
Le composant sh-details encapsule un unique élément HTML <details> dans le shadow DOM, avec des slots pour le résumé et le contenu, une icône dans le <summary>, et un groupement optionnel par attribut name (accordéon entre plusieurs instances).
Usage
Attributs et propriétés
open(booléen) : ouvre le panneau lorsqu’il est présent. Réactif après chargement (attribut ou propriétéelement.open).name(chaîne) : nom de groupe. Plusieurssh-detailsavec le mêmenamese comportent comme un accordéon : une seule instance ouverte à la fois (fermeture des autres à l’ouverture). La portée est le document entier.icon-position(optionnel) :startouend(défaut :end, y compris pour toute valeur invalide). Propriétéelement.iconPosition.
Slots
summary: contenu du résumé. Contenu de phrasé uniquement. Un<summary>porte unrole="button"implicite, et la règle ARIA Children Presentational: True retire ses descendants interactifs de l’arbre d’accessibilité : un lien ou un contrôle imbriqué y est inatteignable pour les technologies d’assistance. Placez le contenu interactif danscontent.content: contenu repliable.icon: icône optionnelle dans le summary. Si absent, unsh-iconpar défaut est affiché.
Événement toggle
Comme <details>, le host émet un événement toggle avec bubbles: false, composed: false et cancelable: false — il ne franchit pas la frontière du shadow DOM, écoutez-le directement sur l’élément. C’est une ToggleEvent avec oldState / newState lorsque le navigateur la supporte, sinon un CustomEvent portant la même charge dans detail.
Styling avec ::part
details: l’élément<details>racine.summary: l’élément<summary>.content: le<div>qui enveloppe le slotcontent.icon: le<span>qui enveloppe le sloticon.icon-svg: le SVG interne dush-iconpar défaut, ré-exporté.
Exemples
Ouvert par défaut
Accordéon (plusieurs composants)
JavaScript
CSS custom properties
Le thème brutal définit --sh-details-border-color sur sh-details (voir le package styles). Vous pouvez la surcharger pour personnaliser l’apparence.