1 | import type { MenuDataItem } from '@umijs/route-utils';
|
2 | import type { MenuTheme } from 'antd/lib/menu/MenuContext';
|
3 | export declare type ContentWidth = 'Fluid' | 'Fixed';
|
4 | export declare type RenderSetting = {
|
5 | headerRender?: false;
|
6 | footerRender?: false;
|
7 | menuRender?: false;
|
8 | menuHeaderRender?: false;
|
9 | };
|
10 | export declare type PureSettings = {
|
11 | /**
|
12 | * @name theme for nav menu
|
13 | *
|
14 | * @type "light" | "dark" | "realDark"
|
15 | */
|
16 | navTheme?: MenuTheme | 'realDark' | undefined;
|
17 | /**
|
18 | * @name 顶部菜单的颜色,mix 模式下生效
|
19 | * @type "light" | "dark"
|
20 | */
|
21 | headerTheme?: MenuTheme;
|
22 | /**
|
23 | * @name customize header height
|
24 | * @example 顶栏高度修改为64 headerHeight={64}
|
25 | */
|
26 | headerHeight?: number;
|
27 | /**
|
28 | * @name layout 的布局方式
|
29 | * @type 'side' | 'top' | 'mix'
|
30 | *
|
31 | * @example 顶部菜单 layout="top"
|
32 | * @example 侧边菜单 layout="side"
|
33 | * @example 混合布局 既有顶部也有侧边 layout="mix"
|
34 | */
|
35 | layout?: 'side' | 'top' | 'mix';
|
36 | /** @name layout of content: `Fluid` or `Fixed`, only works when layout is top */
|
37 | contentWidth?: ContentWidth;
|
38 | /** @name sticky header */
|
39 | fixedHeader?: boolean;
|
40 | /** @name sticky siderbar */
|
41 | fixSiderbar?: boolean;
|
42 | /**
|
43 | * @name menu 相关的一些配置,可以配置菜单的行为
|
44 | *
|
45 | * @example 关闭菜单国际化 menu={{ locale: false }}
|
46 | * @example 默认打开所有的菜单 menu={{ defaultOpenAll:true }}
|
47 | * @example 让菜单处于loading 状态 menu={{ loading: true }}
|
48 | * @example 异步加载菜单数据 menu={{params:{ pathname } request: async (params) => { return [{name:"主页",path=params.pathname}]} }}
|
49 | * @example 使用 MenuGroup 来聚合菜单 menu={{ mode: 'group' }}
|
50 | * @example 取消自动关闭菜单 menu={{ autoClose: false }}
|
51 | * @example 忽略收起时自动关闭菜单 menu={{ ignoreFlatMenu: true }}
|
52 | */
|
53 | menu?: {
|
54 | /**
|
55 | * @name 菜单国际化的配置
|
56 | */
|
57 | locale?: boolean;
|
58 | /**
|
59 | * @name 默认打开所有的菜单
|
60 | */
|
61 | defaultOpenAll?: boolean;
|
62 | /**
|
63 | * @name 是否忽略用户手动折叠过的菜单状态,如选择忽略,折叠按钮切换之后也可实现展开所有菜单
|
64 | */
|
65 | ignoreFlatMenu?: boolean;
|
66 | /**
|
67 | * @name 菜单的 loading 配置
|
68 | */
|
69 | loading?: boolean;
|
70 | /**
|
71 | * @name 菜单的 loading 发生改变
|
72 | */
|
73 | onLoadingChange?: (loading?: boolean) => void;
|
74 | /**
|
75 | * @name 菜单远程请求时用的参数,只有 params 变化才会重新触发 request
|
76 | *
|
77 | */
|
78 | params?: Record<string, any>;
|
79 | /**
|
80 | * @name 菜单远程请求的方法,只有 params 变化才会重新触发 request
|
81 | */
|
82 | request?: (params: Record<string, any>, defaultMenuData: MenuDataItem[]) => Promise<MenuDataItem[]>;
|
83 | /**
|
84 | * @name 菜单聚合的模式
|
85 | */
|
86 | type?: 'sub' | 'group';
|
87 | /**
|
88 | * @name 取消自动关闭菜单
|
89 | */
|
90 | autoClose?: false;
|
91 | };
|
92 | /**
|
93 | * 设置为 false,在 layout 中只展示 pageName,而不是 pageName - title
|
94 | *
|
95 | * @name Layout 的 title,也会显示在浏览器标签上
|
96 | */
|
97 | title?: string | false;
|
98 | /**
|
99 | * Your custom iconfont Symbol script Url eg://at.alicdn.com/t/font_1039637_btcrd5co4w.js
|
100 | * 注意:如果需要图标多色,Iconfont 图标项目里要进行批量去色处理 Usage: https://github.com/ant-design/ant-design-pro/pull/3517
|
101 | */
|
102 | iconfontUrl?: string;
|
103 | /** @name 主色,需要配合 umi 使用 */
|
104 | primaryColor?: string;
|
105 | /** @name 全局增加滤镜 */
|
106 | colorWeak?: boolean;
|
107 | /**
|
108 | * 只在 mix 模式下生效
|
109 | *
|
110 | * @name 切割菜单
|
111 | */
|
112 | splitMenus?: boolean;
|
113 | };
|
114 | export declare type ProSettings = PureSettings & RenderSetting;
|
115 | declare const defaultSettings: ProSettings;
|
116 | export default defaultSettings;
|