/** * Identité de l'utilisateur connecté à afficher dans la zone compte du Header. * * Le composant garantit qu'une identité connectée ne se réduit JAMAIS à une * icône carrée nue : le nom est toujours rendu, et l'email l'accompagne quand * il est fourni. L'avatar utilise la photo si `avatarUrl` est présente, sinon * il retombe sur les `initials` (calculées depuis le nom si non fournies). */ export type HeaderAccount = { /** Nom affiché de la personne connectée. Obligatoire : pas de carré sans nom. */ name: string; /** Email optionnel, affiché sous le nom et dans le menu compte. */ email?: string; /** URL de la photo de profil. Si absente, on rend les initiales. */ avatarUrl?: string | null; /** Initiales explicites. Si absentes, dérivées du `name`. */ initials?: string; }; /** Dérive des initiales lisibles (max 2 lettres) à partir d'un nom complet. */ export declare function deriveInitials(name: string): string; import type { Snippet } from "svelte"; import type { HTMLAttributes } from "svelte/elements"; type HeaderProps = Omit, "class"> & { title?: string; label?: string; sticky?: boolean; class?: string; logo?: Snippet; navigation?: Snippet; actions?: Snippet; children?: Snippet; /** * Identité connectée (additif). Quand fourni, le Header rend une zone compte * complète (avatar OU initiales + nom + email + déclencheur de menu). Sans * cet objet, l'état « anonyme » s'affiche via le snippet `actions` du parent * (typiquement un CTA « Se connecter »). */ account?: HeaderAccount; /** Texte du déclencheur de connexion rendu quand `account` est absent. */ signInLabel?: string; /** Snippet du menu compte (contenu du panneau ouvert sous l'avatar). */ accountMenu?: Snippet; /** Indique si le menu compte est ouvert (état contrôlé par le parent). */ accountMenuOpen?: boolean; /** Callback déclenché au clic sur le bouton compte. */ onAccountTriggerClick?: () => void; /** Callback déclenché au clic sur le CTA de connexion (état anonyme). */ onSignIn?: () => void; }; declare const Header: import("svelte").Component; type Header = ReturnType; export default Header; //# sourceMappingURL=Header.svelte.d.ts.map