UNPKG

3.24 kBTypeScriptView Raw
1import type { GenerateStyle } from '@ant-design/pro-provider';
2import type { AffixProps, BreadcrumbProps, TabPaneProps, TabsProps } from 'antd';
3import { SpinProps } from 'antd';
4import type { ReactNode } from 'react';
5import React from 'react';
6import type { WithFalse } from '../../typing';
7import type { FooterToolbarProps } from '../FooterToolbar';
8import type { PageHeaderProps } from '../PageHeader';
9import type { WaterMarkProps } from '../WaterMark';
10import type { PageContainerToken, pageContainerToken } from './style';
11import 'antd/lib/breadcrumb/style';
12export type PageHeaderTabConfig = {
13 /** @name tabs 的列表 */
14 tabList?: (TabPaneProps & {
15 key?: React.Key;
16 })[];
17 /** @name tabActiveKey 当前选中 tab 的 key */
18 tabActiveKey?: TabsProps['activeKey'];
19 /** @name tab 修改时触发 */
20 onTabChange?: TabsProps['onChange'];
21 /** @name tab 上额外的区域 */
22 tabBarExtraContent?: TabsProps['tabBarExtraContent'];
23 /** @name tabs 的其他配置 */
24 tabProps?: TabsProps;
25 /**
26 * @deprecated 请使用 fixedHeader
27 * @name fixHeader 固定 PageHeader 到页面顶部
28 */
29 fixHeader?: boolean;
30 /** @name fixedHeader 固定 PageHeader 到页面顶部 */
31 fixedHeader?: boolean;
32};
33export type PageContainerProps = {
34 title?: React.ReactNode | false;
35 content?: React.ReactNode;
36 extraContent?: React.ReactNode;
37 prefixCls?: string;
38 footer?: ReactNode[];
39 /**
40 * @name token 自定义的 token
41 */
42 token?: pageContainerToken;
43 /**
44 * 与 antd 完全相同
45 *
46 * @name PageHeader 的配置
47 */
48 header?: Partial<PageHeaderProps> & {
49 children?: React.ReactNode;
50 };
51 /** @name pageHeaderRender 自定义 pageHeader */
52 pageHeaderRender?: WithFalse<(props: PageContainerProps) => React.ReactNode>;
53 /**
54 * 与 antd 完全相同
55 *
56 * @name affixProps 固钉的配置
57 */
58 affixProps?: Omit<AffixProps, 'children'>;
59 /**
60 * 只加载内容区域
61 *
62 * @name loading 是否加载
63 */
64 loading?: boolean | SpinProps | React.ReactNode;
65 /**
66 * 自定义 breadcrumb,
67 * @name breadcrumbRender 返回false不展示
68 */
69 breadcrumbRender?: PageHeaderProps['breadcrumbRender'] | false;
70 /** @name WaterMarkProps 水印的配置 */
71 waterMarkProps?: WaterMarkProps;
72 /** @name BreadcrumbProps 配置面包屑 */
73 breadcrumb?: BreadcrumbProps;
74 children?: React.ReactNode;
75 stylish?: GenerateStyle<PageContainerToken>;
76 footerStylish?: GenerateStyle<PageContainerToken>;
77 footerToolBarProps?: FooterToolbarProps;
78} & PageHeaderTabConfig & Omit<PageHeaderProps, 'title' | 'footer' | 'breadcrumbRender' | 'breadcrumb'>;
79/**
80 * 配置与面包屑相同,只是增加了自动根据路由计算面包屑的功能。此功能必须要在 ProLayout 中使用。
81 *
82 * @param props
83 * @returns
84 */
85declare const ProBreadcrumb: React.FC<BreadcrumbProps>;
86declare const PageContainer: React.FC<PageContainerProps>;
87declare const ProPageHeader: (props: PageContainerProps & {
88 prefixedClassName: string;
89}) => import("react/jsx-runtime").JSX.Element | null;
90export { PageContainer, ProBreadcrumb, ProPageHeader };