/** * Configuration for the docs-sidebar component. */ export interface DocsSidebarMetadata { /** * Navigation sections to display. */ sections: DocsSidebarSection[]; /** * Currently active route for highlighting. */ activeRoute?: string[]; /** * Logo configuration for the sidebar header. */ logo?: DocsSidebarLogo; /** * Custom CSS class. */ cssClass?: string; /** * Background color override. */ backgroundColor?: string; } export interface DocsSidebarLogo { /** * Logo image source. */ src: string; /** * Alt text for accessibility. */ alt: string; /** * Optional title/text next to logo. */ title?: string; /** * Route to navigate when logo is clicked. */ route?: string[]; /** * Logo height (width auto-calculated). * @default '32px' */ height?: string; } export interface DocsSidebarSection { /** * Section title displayed in the sidebar. */ title: string; /** * Route for direct navigation (if no children). */ route?: string[]; /** * Child links under this section. */ children?: DocsSidebarLink[]; /** * Whether the section is expanded by default. * @default false */ expanded?: boolean; /** * Optional icon name (Ionicons). */ icon?: string; /** * Badge text (e.g., "New", "Beta"). */ badge?: string; } export interface DocsSidebarLink { /** * Link display text. */ label: string; /** * Route to navigate to. */ route: string[]; /** * Badge text (e.g., "New", "Deprecated"). */ badge?: string; /** * Badge color variant. */ badgeColor?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger'; }