import { BreadcrumbProps as AntdBreadcrumbProps } from 'antd/es/breadcrumb'; import React, { CSSProperties } from 'react'; import './BasicLayout.less'; import { Settings } from './defaultSettings'; import { GetPageTitleProps } from './getPageTitle'; import { HeaderViewProps } from './Header'; import { localeType } from './locales'; import { BaseMenuProps } from './SiderMenu/BaseMenu'; import { SiderMenuProps } from './SiderMenu/SiderMenu'; import { MenuDataItem, MessageDescriptor, Route, RouterTypes, WithFalse } from './typings'; import { WaterMarkProps } from './WaterMark'; import { PageHeaderWrapperProps } from './PageHeaderWrapper'; interface EnvDataProps { versionName?: string; buildTime?: string; copyright?: string; } export interface BasicLayoutProps extends Partial>, SiderMenuProps, HeaderViewProps, Partial { /** * logo url */ logo?: React.ReactNode | WithFalse<() => React.ReactNode>; loading?: boolean; locale?: localeType; onCollapse?: (collapsed: boolean) => void; headerRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>; footerRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>; showFooter?: boolean; menuRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>; menuItemRender?: BaseMenuProps['menuItemRender']; pageTitleRender?: WithFalse<(props: GetPageTitleProps, defaultPageTitle?: string, info?: { title: string; id: string; pageName: string; }) => string>; breadcrumbRender?: (routers: AntdBreadcrumbProps['routes']) => AntdBreadcrumbProps['routes']; menuDataRender?: (menuData: MenuDataItem[]) => MenuDataItem[]; itemRender?: AntdBreadcrumbProps['itemRender']; formatMessage?: (message: MessageDescriptor) => string; /** * 是否禁用移动端模式,有的管理系统不需要移动端模式,此属性设置为true即可 */ disableMobile?: boolean; contentStyle?: CSSProperties; isChildrenLayout?: boolean; className?: string; siderMenuStyle?: CSSProperties; /** * 兼用 content的 margin */ disableContentMargin?: boolean; waterMark?: WaterMarkProps; pageHeaderConfig?: PageHeaderWrapperProps; envData?: EnvDataProps; customStyle?: boolean; siderRadius?: boolean; } export declare type BasicLayoutContext = { [K in 'location']: BasicLayoutProps[K]; } & { breadcrumb: { [path: string]: MenuDataItem; }; }; /** * 🌃 Powerful and easy to use beautiful layout * 🏄‍ Support multiple topics and layout types * @param props */ declare const BasicLayout: React.FC; export default BasicLayout;