UNPKG

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