import type { Breakpoint } from '../../shared/utils/breakpoint-observer'; import type { CssClassMap } from '../../shared/utils/interfaces'; import type { BrDensity } from '../global.types'; export type HeaderSlotName = 'logo' | 'signature' | 'links' | 'functions' | 'search-icon' | 'search' | 'access' | 'menu-trigger' | 'caption' | 'subcaption'; export type HeaderAreaConfig = { cssClassMap: CssClassMap; breakpoints: { loose: Breakpoint[]; compact: Breakpoint[]; }; hasContent: boolean; isVisible: boolean; isActive?: boolean; event?: { click?: (event: MouseEvent) => void; focus?: (event: FocusEvent) => void; }; }; export type HeaderArea = { [K in HeaderSlotName]: HeaderAreaConfig; }; export type HeaderDensity = BrDensity; export type HeaderShrinkFirst = 'links' | 'functions'; export type HeaderLayoutWidth = 'contained' | 'full'; export interface HeaderCompactChangeDetail { compact: boolean; parentId: string; }