import { MenuItemObject, MenuItemId, MenuProps, NavProps, MenuSubmenuProps } from '@befe/brick-comp-menu'; import { ConfiguredComponent } from '@befe/brick-core'; /** * @public */ export interface SideNavMenuItemObject extends MenuItemObject { } type PropsFromMenu = Pick; export interface SideNavProps extends PropsFromMenu, NavProps { /** * 自定义 class */ className?: string; /** * 是否折叠控制值 */ collapsed?: boolean; /** * 是否折叠默认值 */ defaultCollapsed?: boolean; /** * 是否折叠的变化回调 */ onChangeCollapsed?: (collapsed: boolean) => void; /** * 用于在一些特殊情景中指定 menuPopper 的 popup portal 挂在的容器(默认是 `document.body`,了解更多见 [Popup](/components/popup)) * * e.g * [Page](/components/page) 由于屏幕小宽度(isMinWidth)而使 sidebar 进入"屏边抽屉"模式的情况下, * 因为鼠标进入 三级 menuPopper 而离开 sidebar 使其呼出的问题,需要将 portal container 指定为 `Sidebar.inner` */ submenuPopperPortalContainer?: MenuSubmenuProps['portalContainer']; } interface SideNavState { collapsed: boolean; menuSelectedIds: MenuItemId[]; menuExpandedIds: MenuItemId[]; } export declare class SideNav extends ConfiguredComponent { static displayName: string; static defaultProps: { className: string; reverseColor: boolean; defaultCollapsed: boolean; }; static getDerivedStateFromProps(nextProps: SideNavProps): Partial | null; state: SideNavState; constructor(props: SideNavProps); get className(): string; handleClickToggle: () => void; handleChangeSelectedIds: MenuProps['onChangeSelectedIds']; handleChangeExpandedIds: MenuProps['onChangeExpandedIds']; renderMenuItem: (item: SideNavMenuItemObject, index: number, level?: number) => import("react/jsx-runtime").JSX.Element; renderMenu(): import("react/jsx-runtime").JSX.Element | null; renderToggle(): import("react/jsx-runtime").JSX.Element; render(): import("react/jsx-runtime").JSX.Element; } export {};