{# # ============================================================================ # MOLECULE: NAV GROUP # ============================================================================ # # Groupe de navigation avec sous-éléments repliables. # S'ouvre/ferme au clic. S'ouvre automatiquement si un enfant est actif. # Masqué entièrement en mode sidebar collapsed. # # ============================================================================ # PARAMÈTRES # ============================================================================ # # | Paramètre | Type | Défaut | Description | # |-------------|--------|----------|---------------------------------------| # | label | string | (requis) | Label du groupe | # | icon | string | null | Icône du groupe | # | colorScheme | string | 'blue' | 'blue' ou 'violet' | # | active | bool | false | Un enfant est-il actif ? | # | children | array | [] | Sous-éléments {label, href, icon, active} | # # ============================================================================ #} {% set label = label ?? 'Groupe' %} {% set icon = icon ?? null %} {% set colorScheme = colorScheme ?? 'blue' %} {% set active = active ?? false %} {% set children = children ?? [] %} {% if colorScheme == 'violet' %} {% set hoverBg = 'hover:bg-[linear-gradient(135deg,rgba(139,92,246,0.12)_0%,rgba(167,139,250,0.08)_100%)] hover:text-cohorts-dark' %} {% set accent = 'cohorts' %} {% set lineColor = 'bg-cohorts/20' %} {% set childActive = 'bg-cohorts/10 text-cohorts-dark font-semibold' %} {% set childHover = 'hover:bg-cohorts/5 hover:text-cohorts-dark' %} {% else %} {% set hoverBg = 'hover:bg-[linear-gradient(135deg,rgba(12,129,228,0.12)_0%,rgba(58,158,235,0.08)_100%)] hover:text-primary-dark' %} {% set accent = 'primary' %} {% set lineColor = 'bg-primary/20' %} {% set childActive = 'bg-primary/10 text-primary-dark font-semibold' %} {% set childHover = 'hover:bg-primary/5 hover:text-primary-dark' %} {% endif %} {# Masqué en sidebar collapsed #}