{# # ============================================================================ # MOLECULE: EXPAND TOGGLE # ============================================================================ # # Bouton "Tout déplier / Tout replier" pour les listes d'accordéons. # Gère le swap d'icône et de label selon l'état (expanded/collapsed). # Doit être associé à une fonction JS qui lit/écrit data-expanded. # # ============================================================================ # COMPOSITION (Atomes utilisés) # ============================================================================ # # Aucun — SVG inline pour éviter la dépendance à l'atom icon # # ============================================================================ # PARAMÈTRES # ============================================================================ # # | Paramètre | Type | Défaut | Description | # |---------------|---------|-----------------|--------------------------------------| # | id | string | 'expand-toggle' | ID HTML du bouton (ciblage JS) | # | onclick | string | '' | Fonction JS à appeler au clic | # | labelExpand | string | 'Tout déplier' | Label quand tout est replié | # | labelCollapse | string | 'Tout replier' | Label quand tout est déplié | # | class | string | '' | Classes additionnelles | # # ============================================================================ # EXEMPLES D'UTILISATION # ============================================================================ # # Simple (avec fonction JS toggleAllSections()): # {% include '_molecules/expand-toggle/expand-toggle.html.twig' with { # id: 'cd-toggle-all', # onclick: 'toggleAllSections()' # } %} # # Labels personnalisés: # {% include '_molecules/expand-toggle/expand-toggle.html.twig' with { # id: 'my-toggle', # onclick: 'myToggleFn()', # labelExpand: 'Développer tout', # labelCollapse: 'Réduire tout' # } %} # # ============================================================================ #} {# ============================================================================ CONFIGURATION DES VALEURS PAR DÉFAUT ============================================================================ #} {% set id = id ?? 'expand-toggle' %} {% set onclick = onclick ?? '' %} {% set labelExpand = labelExpand ?? 'Tout déplier' %} {% set labelCollapse = labelCollapse ?? 'Tout replier' %} {% set class = class ?? '' %} {# ============================================================================ RENDU HTML ============================================================================ #}