import type { Snippet } from "svelte"; export interface AppHeaderProps { /** * Force le mode compact (burger). Calque la source : le burger est à GAUCHE * et la nav desktop est masquée quand `compact` est vrai. */ compact?: boolean; /** État ouvert du panneau burger (contrôlé). */ menuOpen?: boolean; /** Callback de bascule du burger (clic sur le bouton compact). */ onMenuToggle?: () => void; /** aria-label du bouton burger. */ menuLabel?: string; /** * Id du tiroir, partagé entre `aria-controls` (burger) et `id` (drawer). * Auto-généré et stable si non fourni. */ drawerId?: string; /** * Marque structurée (décision actée : logo SENT + sous-titre). Rend le bloc * canonique « logo carré + nom + sous-titre produit » sans dupliquer de CSS * côté consommateur. Si le snippet `logo` est fourni, il a priorité (contrôle * total) ; sinon ces props produisent le bloc marque par défaut. */ brandName?: string; /** Sous-titre produit affiché sous le nom (ex. « Design System », « dataviz »). */ productName?: string; /** Source de l'image du logo carré (ex. `/SENT-logo-squared.svg`). */ logoSrc?: string; /** Texte alternatif du logo (décoratif par défaut). */ logoAlt?: string; /** Cible du lien de la marque. Défaut : `/`. */ brandHref?: string; /** aria-label du lien de marque (sinon dérivé de `brandName` + `productName`). */ brandLabel?: string; /** Logo (décision actée : logo SENT + sous-titre). Prioritaire sur `brandName`/`logoSrc`. */ logo?: Snippet; /** Liens de navigation (rendus dans le