/// import { Component, RefObject, ReactNode } from 'react'; import { ResizeObserver } from '@juggle/resize-observer'; import { ContentProps } from '@befe/brick-comp-layout'; import { EventListenerHandler } from '@befe/brick-utils'; export declare const LAYOUT_FLUID_MIN_WIDTH = 1280; /** * @public */ export interface PageSidebarRenderProps { /** * (暂定)sidebar 是否折叠 */ sidebarCollapsed?: boolean; /** * (暂定)切换 page 的 sidebar 折叠方法 */ changeSidebarCollapsed?: (sidebarCollapsed: boolean) => void; /** * (暂定) page 中的 refSidebarInner */ refSidebarInner?: RefObject; } export interface PageProps { /** * 自定义 class */ className?: string; /** * 页头区渲染器 */ renderHeader?: () => ReactNode; /** * 侧边栏区渲染器 * * **注意** PageSidebarRenderProps 暂定 */ renderSidebar?: (sidebarRenderProps: PageSidebarRenderProps) => ReactNode; /** * 内容区渲染器 */ renderContent?: () => ReactNode; /** * 面包屑区渲染器 */ renderBreadcrumb?: () => ReactNode; /** * 页脚区渲染器 */ renderFooter?: () => ReactNode; /** * 是否默认折叠侧边栏 */ defaultSidebarCollapsed?: boolean; /** * 折叠侧边栏的的(样式)类型 */ sidebarCollapsedType?: 'slim' | 'hidden'; /** * 内容 `` 的 type * * 详见 [layout](/components/layout) 中 `` 关于 `props.type` 的说明 */ contentType?: ContentProps['type']; /** * header 区是否区反色,取值应该与其中的 HeadNav 的 reverseColor一致 * * - true: header 底色为 brand color * - false: header 底色为白底 */ headerReverseColor?: boolean; /** * header 是否有下阴影,进在 headerReverseColor 为 false 时有效 */ headerShadow?: boolean; /** * @private 没有子节点 api */ children?: never; /** * sidebar 模式 * - 'auto' 自动响应宽度在小尺寸滑出屏幕外,以提供更大的 content 控件 * - 'static' 静态,不响应宽度变化 */ sidebarMode?: 'auto' | 'static'; } interface PageState { isMinWidth: boolean; sidebarCollapsed: boolean; } export declare class Page extends Component { static displayName: string; static defaultProps: { className: string; defaultSidebarCollapsed: boolean; headerReverseColor: boolean; sidebarCollapsedType: string; sidebarMode: string; }; state: { isMinWidth: boolean; sidebarCollapsed: boolean; }; scrollListenerHandler?: EventListenerHandler | null; currentDocumentHeight: number; resizeObserver: ResizeObserver; refHeader: RefObject; refSidebarInner: RefObject; refContentLayout: RefObject; refFooter: RefObject; get className(): string; get hasSidebar(): boolean; get isMinWidth(): boolean; get isSidebarCollapsed(): boolean; handleChangeSidebarCollapsed: (sidebarCollapsed: boolean) => void; handleDocResize: import("lodash").DebouncedFunc<() => void>; updateIsMinWidth: (width: number) => void; updateSidebarHeight: () => void; renderHeader(): false | "" | 0 | import("react/jsx-runtime").JSX.Element | null | undefined; renderContent(): import("react/jsx-runtime").JSX.Element; renderFooter(): false | "" | 0 | import("react/jsx-runtime").JSX.Element | null | undefined; submenuPopperPortalContainer: () => HTMLDivElement | null; injectPortalContainerToSideNav(child: ReactNode): ReactNode; renderSidebarContent(): ReactNode; renderSidebar(): false | "" | 0 | import("react/jsx-runtime").JSX.Element | null | undefined; renderSimplePage(): import("react/jsx-runtime").JSX.Element; renderSidebarPage(): import("react/jsx-runtime").JSX.Element; addViewportListeners(): void; removeViewportListeners(): void; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(): void; render(): import("react/jsx-runtime").JSX.Element; } export {};