import { HTMLAttributes, MouseEventHandler, ReactNode } from '../../../../node_modules/.pnpm/react@19.1.1/node_modules/react'; import { NavigationGuard, NavigationItem, NavigationVisibilityContext } from './navigation.types'; export type NavigationRenderLinkProps = { href: string; children: ReactNode; itemId: string; depth: number; disabled?: boolean; isActive: boolean; isAncestorActive: boolean; }; export type NavigationRenderItemContentProps = { item: NavigationItem; depth: number; hasChildren: boolean; isActive: boolean; isAncestorActive: boolean; open: boolean; expanded: boolean; }; export type NavigationRenderChildrenProps = { item: NavigationItem; depth: number; children: ReactNode; }; export type PrimaryNavigationTreeProps = HTMLAttributes & { items: NavigationItem[]; pathname?: string; context?: TContext; guard?: NavigationGuard; renderLink: (props: NavigationRenderLinkProps) => ReactNode; renderItemContent?: (props: NavigationRenderItemContentProps) => ReactNode; renderChildren?: (props: NavigationRenderChildrenProps) => ReactNode; expandedItemIds?: string[]; defaultExpandedItemIds?: string[]; expandActiveAncestors?: boolean; mountCollapsedBranches?: boolean; onExpandedItemIdsChange?: (ids: string[]) => void; }; export type WorkspaceSidebarEnvironment = "prod" | "dev" | "test"; export type WorkspaceSidebarLogoConfig = { env?: WorkspaceSidebarEnvironment; logo?: ReactNode; brandName?: ReactNode; versionSlot?: ReactNode; buildDate?: ReactNode; }; export type WorkspaceSidebarSupportConfig = { label?: ReactNode; icon?: ReactNode; onClick?: MouseEventHandler; disabled?: boolean; ariaLabel?: string; }; export type WorkspaceSidebarUserMenuItem = { id: string; label: ReactNode; href?: string; icon?: ReactNode; trailingIcon?: ReactNode; disabled?: boolean; onSelect?: MouseEventHandler; }; export type WorkspaceSidebarUserMenuLinkRenderProps = { item: WorkspaceSidebarUserMenuItem; className: string; children: ReactNode; href: string; role: "menuitem"; ariaDisabled?: boolean; disabled?: boolean; onClick: MouseEventHandler; }; export type WorkspaceSidebarUserConfig = { name: ReactNode; email?: ReactNode; avatar: ReactNode; unreadIndicator?: ReactNode; menuItems?: WorkspaceSidebarUserMenuItem[]; renderMenuLink?: (props: WorkspaceSidebarUserMenuLinkRenderProps) => ReactNode; menuOpen?: boolean; onMenuOpenChange?: (open: boolean) => void; }; export type WorkspaceNavigationSidebarProps = Omit, "collapseButton" | "expandActiveAncestors" | "footerSlot" | "headerSlot" | "logoSlot" | "renderChildren" | "renderItemContent" | "supportSlot" | "userSlot"> & { logo?: WorkspaceSidebarLogoConfig; support?: WorkspaceSidebarSupportConfig | ReactNode; user?: WorkspaceSidebarUserConfig; }; export type SectionShellItem = { id: string; label: ReactNode; href: string; disabled?: boolean; match?: "exact" | "prefix" | ((pathname: string, href: string) => boolean); }; export type SectionShellProps = HTMLAttributes & { header?: SectionShellItem; items: SectionShellItem[]; pathname?: string; actionSlot?: ReactNode; overflowTriggerSlot?: ReactNode; renderLink: (props: NavigationRenderLinkProps) => ReactNode; sticky?: boolean; }; export type WorkspaceSectionShellProps = Omit; export type LocalNavigationItem = { id: string; label: ReactNode; href: string; disabled?: boolean; match?: "exact" | "prefix" | ((pathname: string, href: string) => boolean); }; export type LocalNavigationProps = HTMLAttributes & { header?: LocalNavigationItem; items: LocalNavigationItem[]; pathname?: string; actionSlot?: ReactNode; overflowTriggerSlot?: ReactNode; renderLink: (props: NavigationRenderLinkProps) => ReactNode; sticky?: boolean; orientation?: "vertical" | "horizontal"; }; //# sourceMappingURL=layout.types.d.ts.map