/** * Top-level item definition for the side navigation. */ export type SidebarTopLevelItem = { /** * Destination URL for the item. */ url: string; /** * Display label for the item. */ name: string; /** * Optional icon name for the item. */ icon?: string; /** * Whether the item is currently selected. */ selected?: boolean; /** * Optional child items. */ children?: SidebarItem[]; }; /** * Side navigation item definition without the icon field. */ export type SidebarItem = Exclude; /** * Header configuration for the side navigation. */ export type SidebarHeaderConfig = { /** * Header headline text. */ headline?: string; /** * Logo shown when expanded. */ expandLogo?: string; /** * Logo shown when collapsed. */ collapseLogo?: string; }; /** * Responsive state flags used by the side navigation. */ export type ResponsiveBehavior = { /** * Whether the sidebar is visible. */ showSideBar: boolean; /** * Whether the backdrop is visible. */ showBackdrop: boolean; /** * Whether the sidebar can be scrolled. */ canBeScrolled: boolean; /** * Whether clicking a link closes the sidebar. */ showSideBarOnClickLink: boolean; }; /** * Default open behavior for the sidebar. */ export type OpenByDefaultType = 'open' | 'close' | 'disableCollapse';