@gx-design-vue/pro-layout 0.1.0-beta.9 → 0.1.0-beta.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +3 -3
  2. package/dist/Context.d.ts +35 -40
  3. package/dist/ProLayout.d.ts +397 -367
  4. package/dist/{route.d.ts → RouteTypings.d.ts} +31 -31
  5. package/dist/SlotsTypings.d.ts +64 -0
  6. package/dist/WrapContent.d.ts +5 -5
  7. package/dist/_utils/ant-design-vue/badge.d.ts +1 -0
  8. package/dist/_utils/ant-design-vue/breadcrumb.d.ts +1 -0
  9. package/dist/_utils/ant-design-vue/index.d.ts +4 -0
  10. package/dist/_utils/ant-design-vue/menu.d.ts +2 -0
  11. package/dist/_utils/ant-design-vue/spin.d.ts +1 -0
  12. package/dist/components/AppPage/context.d.ts +6 -0
  13. package/dist/components/AppPage/index.d.ts +52 -0
  14. package/dist/components/AppPage/style.d.ts +4 -0
  15. package/dist/components/AppsLogoComponents/AppLogoList.d.ts +18 -0
  16. package/dist/components/AppsLogoComponents/AppsLogo.d.ts +5 -0
  17. package/dist/components/AppsLogoComponents/DefaultContent.d.ts +20 -0
  18. package/dist/components/AppsLogoComponents/SimpleContent.d.ts +30 -0
  19. package/dist/components/AppsLogoComponents/index.d.ts +13 -0
  20. package/dist/components/AppsLogoComponents/props.d.ts +23 -0
  21. package/dist/components/{GlobalHeader/style/index.d.ts → AppsLogoComponents/style/default.d.ts} +2 -1
  22. package/dist/components/AppsLogoComponents/style/index.d.ts +4 -0
  23. package/dist/components/{GlobalHeader/style/globalHeader.d.ts → AppsLogoComponents/style/simple.d.ts} +2 -1
  24. package/dist/components/CollapsedIcon/index.d.ts +19 -0
  25. package/dist/components/CollapsedIcon/style.d.ts +6 -0
  26. package/dist/components/GIcon/index.d.ts +11 -0
  27. package/dist/components/GIcon/style.d.ts +4 -0
  28. package/dist/components/GlobalFooter/index.d.ts +14 -14
  29. package/dist/components/GlobalHeader/DefaultHeader.d.ts +372 -343
  30. package/dist/components/GlobalHeader/index.d.ts +216 -153
  31. package/dist/components/GlobalHeader/props.d.ts +172 -120
  32. package/dist/components/GlobalHeader/style.d.ts +3 -0
  33. package/dist/components/LogoContent/index.d.ts +37 -55
  34. package/dist/components/LogoContent/props.d.ts +24 -20
  35. package/dist/components/PageContainer/PageHeader.d.ts +11 -10
  36. package/dist/components/PageContainer/index.d.ts +79 -36
  37. package/dist/components/PageContainer/props.d.ts +59 -17
  38. package/dist/components/PageLock/Popup.d.ts +38 -0
  39. package/dist/components/PageLock/UserForm.d.ts +30 -0
  40. package/dist/components/PageLock/index.d.ts +52 -0
  41. package/dist/components/PageLock/props.d.ts +41 -0
  42. package/dist/components/PageLock/style.d.ts +4 -0
  43. package/dist/components/PageLock/useFormState.d.ts +11 -0
  44. package/dist/components/PageTranstion/index.d.ts +4 -4
  45. package/dist/components/RightContent/Search/Panel.d.ts +26 -0
  46. package/dist/components/RightContent/Search/index.d.ts +35 -0
  47. package/dist/components/RightContent/Search/props.d.ts +9 -0
  48. package/dist/components/RightContent/Search/style.d.ts +4 -0
  49. package/dist/components/RightContent/index.d.ts +140 -0
  50. package/dist/components/RightContent/props.d.ts +70 -0
  51. package/dist/components/RightContent/style.d.ts +4 -0
  52. package/dist/components/SettingDrawer/BlockCheckbox.d.ts +9 -9
  53. package/dist/components/SettingDrawer/OthersChange.d.ts +9 -9
  54. package/dist/components/SettingDrawer/RegionalChange.d.ts +11 -11
  55. package/dist/components/SettingDrawer/ThemeColor.d.ts +13 -13
  56. package/dist/components/SettingDrawer/ThemeEditor.d.ts +19 -8
  57. package/dist/components/SettingDrawer/index.d.ts +102 -19
  58. package/dist/components/SettingDrawer/utils/config.d.ts +21 -1
  59. package/dist/components/SiderMenu/Arrow.d.ts +2 -0
  60. package/dist/components/SiderMenu/BaseMenu.d.ts +133 -148
  61. package/dist/components/SiderMenu/SiderMenu.d.ts +199 -221
  62. package/dist/components/SiderMenu/index.d.ts +190 -212
  63. package/dist/components/SiderMenu/props.d.ts +126 -145
  64. package/dist/components/SiderMenu/{style.d.ts → style/index.d.ts} +0 -2
  65. package/dist/components/SiderMenu/style/menu.d.ts +4 -0
  66. package/dist/components/SiderMenu/typings.d.ts +7 -7
  67. package/dist/components/TabsRoute/index.d.ts +96 -0
  68. package/dist/components/TabsRoute/props.d.ts +46 -0
  69. package/dist/components/{MultiTab → TabsRoute}/style.d.ts +1 -0
  70. package/dist/components/TabsRoute/utils/config.d.ts +14 -0
  71. package/dist/components/TabsRoute/utils/index.d.ts +1 -0
  72. package/dist/defaultSettings.d.ts +23 -38
  73. package/dist/hooks/menu/context.d.ts +9 -0
  74. package/dist/hooks/menu/index.d.ts +19 -0
  75. package/dist/hooks/theme/index.d.ts +16 -0
  76. package/dist/hooks/useClockTime/index.d.ts +9 -0
  77. package/dist/index.d.ts +24 -19
  78. package/dist/pro-layout.js +6867 -0
  79. package/dist/pro-layout.umd.cjs +20 -0
  80. package/dist/props.d.ts +174 -158
  81. package/dist/style/index.d.ts +0 -7
  82. package/dist/typings.d.ts +19 -1
  83. package/dist/utils/coverToNewToken.d.ts +8 -3
  84. package/dist/utils/index.d.ts +18 -30
  85. package/dist/utils/menu.d.ts +22 -0
  86. package/dist/utils/style.d.ts +1 -0
  87. package/dist/utils/util.d.ts +7 -0
  88. package/package.json +26 -46
  89. package/dist/PageLoading.d.ts +0 -6
  90. package/dist/RenderTypings.d.ts +0 -29
  91. package/dist/components/MultiTab/index.d.ts +0 -80
  92. package/dist/components/MultiTab/props.d.ts +0 -34
  93. package/dist/components/MultiTab/utils/config.d.ts +0 -4
  94. package/dist/hooks/context/index.d.ts +0 -5
  95. package/dist/pro-layout.mjs +0 -15317
  96. package/dist/pro-layout.umd.js +0 -106
  97. package/dist/utils/getMenuData.d.ts +0 -8
  98. package/dist/utils/isImg/index.d.ts +0 -3
  99. package/dist/utils/isUrl/index.d.ts +0 -2
package/dist/props.d.ts CHANGED
@@ -1,32 +1,72 @@
1
- import type { PropType, CSSProperties } from 'vue';
2
- import type { BaseLayoutDesignToken } from '@gx-design-vue/pro-provider';
3
- import type { AppRouteModule } from './route';
4
- import type { BreadcrumbProps } from './Context';
5
- import type { FooterRender, CopyrightRender } from './RenderTypings';
1
+ import type { CSSProperties, PropType } from 'vue';
2
+ import type { DeepPartial, ProAliasToken } from '@gx-design-vue/pro-provider';
3
+ import type { BreadcrumbProps } from './typings';
4
+ import type { AppRouteModule } from './RouteTypings';
5
+ import type { PageContainerPropsType } from './Context';
6
+ import type { DefaultRender, FooterRender } from './SlotsTypings';
6
7
  import type { Links } from './components/GlobalFooter';
8
+ export type ShortcutKeyProps = {
9
+ search?: {
10
+ keys?: string;
11
+ disabeld?: boolean;
12
+ };
13
+ lock?: {
14
+ keys?: string;
15
+ disabeld?: boolean;
16
+ };
17
+ };
18
+ export declare const darkThemeProps: {
19
+ dark: {
20
+ type: PropType<boolean | "system">;
21
+ default: undefined;
22
+ };
23
+ onDarkChange: PropType<(value?: boolean | "system") => void>;
24
+ 'onUpdate:dark': PropType<(value?: boolean | "system") => void>;
25
+ };
7
26
  export declare const basicLayoutProps: {
27
+ id: PropType<string>;
28
+ class: PropType<string>;
29
+ style: {
30
+ type: PropType<CSSProperties>;
31
+ default: () => {};
32
+ };
33
+ contentWidth: {
34
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["contentWidth"]>;
35
+ default: () => undefined;
36
+ };
37
+ pageContainerProps: {
38
+ type: PropType<PageContainerPropsType>;
39
+ };
8
40
  pure: BooleanConstructor;
9
- token: PropType<BaseLayoutDesignToken>;
41
+ token: PropType<DeepPartial<ProAliasToken>>;
42
+ menuData: {
43
+ type: PropType<AppRouteModule[]>;
44
+ default: undefined;
45
+ };
46
+ levelMenuData: {
47
+ type: PropType<AppRouteModule[]>;
48
+ default: () => undefined;
49
+ };
10
50
  waterMark: {
11
51
  type: PropType<boolean>;
12
52
  default: boolean;
13
53
  };
54
+ pageLockRender: {
55
+ type: PropType<DefaultRender>;
56
+ default: undefined;
57
+ };
14
58
  /**
15
59
  * 是否禁用移动端模式,有的管理系统不需要移动端模式,此属性设置为true即可
16
60
  */
17
61
  disableMobile: {
18
- type: BooleanConstructor;
62
+ type: PropType<boolean>;
19
63
  required: boolean;
20
64
  };
21
65
  contentStyle: {
22
66
  type: PropType<CSSProperties>;
23
67
  default: () => null;
24
68
  };
25
- breadcrumb: {
26
- type: PropType<BreadcrumbProps>;
27
- default: () => null;
28
- };
29
- disableContentMargin: import("vue-types").VueTypeValidableDef<boolean>;
69
+ breadcrumb: PropType<BreadcrumbProps>;
30
70
  isChildrenLayout: import("vue-types").VueTypeValidableDef<boolean>;
31
71
  loading: import("vue-types").VueTypeValidableDef<boolean>;
32
72
  footerLinks: {
@@ -38,115 +78,76 @@ export declare const basicLayoutProps: {
38
78
  blankTarget: boolean;
39
79
  } | {
40
80
  key: string;
41
- title: JSX.Element;
81
+ title: import("vue/jsx-runtime").JSX.Element;
42
82
  href: string;
43
83
  blankTarget: boolean;
44
84
  })[];
45
85
  };
86
+ tabsVisible: PropType<boolean>;
87
+ tabsRouteItemRender: {
88
+ type: PropType<import("./SlotsTypings").TabsRouteItemRender>;
89
+ default: () => undefined;
90
+ };
46
91
  copyrightRender: {
47
- type: PropType<CopyrightRender>;
92
+ type: PropType<DefaultRender>;
48
93
  default: () => undefined;
49
94
  };
50
95
  footerRender: {
51
96
  type: PropType<FooterRender>;
52
97
  default: () => undefined;
53
98
  };
54
- menuData: {
55
- type: PropType<AppRouteModule[]>;
56
- default: () => AppRouteModule[];
57
- };
58
- collapsed: import("vue-types").VueTypeValidableDef<boolean>;
59
- pageHeaderRender: {
60
- type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<() => import("@gx-design-vue/pro-utils/dist").CustomRender>>;
61
- default: () => undefined;
62
- };
63
- contentRender: {
64
- type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<() => import("@gx-design-vue/pro-utils/dist").CustomRender>>;
65
- default: () => undefined;
66
- };
67
- breadcrumbRender: {
68
- type: PropType<import("./RenderTypings").PageHeaderRender>;
69
- default: () => undefined;
99
+ onTabsChange: {
100
+ type: PropType<(list: AppRouteModule[]) => void>;
70
101
  };
71
- pageContentStyle: import("vue-types").VueTypeValidableDef<CSSProperties>;
72
- usePageCard: import("vue-types").VueTypeValidableDef<boolean> & {
73
- default: boolean;
74
- } & {
75
- default: boolean;
102
+ onReloadPage: {
103
+ type: PropType<() => void>;
76
104
  };
77
- pageCardProps: PropType<{
78
- loading: boolean;
79
- bodyStyle: CSSProperties;
80
- }>;
81
- isMobile: import("vue-types").VueTypeValidableDef<boolean>;
82
- siderWidth: import("vue-types").VueTypeValidableDef<number> & {
83
- default: number;
84
- } & {
85
- default: number;
105
+ 'onUpdate:tabs': {
106
+ type: PropType<(list: AppRouteModule[]) => void>;
86
107
  };
108
+ hasSiderMenu: PropType<boolean>;
87
109
  collapsedWidth: import("vue-types").VueTypeValidableDef<number> & {
88
110
  default: number;
89
111
  } & {
90
112
  default: number;
91
113
  };
92
- isFixedMultiTab: {
93
- type: PropType<boolean>;
94
- default: boolean;
95
- };
96
- onReloadPage: {
97
- type: PropType<() => void>;
98
- };
99
- onChangeTabs: {
100
- type: PropType<(list: AppRouteModule[]) => void>;
101
- };
102
- 'onUpdate:tabs': {
103
- type: PropType<(list: AppRouteModule[]) => void>;
114
+ siderWidth: {
115
+ type: PropType<number>;
116
+ default: undefined;
104
117
  };
105
- headerTitleRender: {
106
- type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<(props: any, defaultDom: import("@gx-design-vue/pro-utils/dist").CustomRender) => import("@gx-design-vue/pro-utils/dist").CustomRender>>;
107
- default: () => undefined;
118
+ menuLoading: PropType<boolean>;
119
+ autoHideHeader: PropType<boolean>;
120
+ isMobile: PropType<boolean>;
121
+ headerMainWidth: {
122
+ type: PropType<number | string>;
123
+ default: undefined;
108
124
  };
109
125
  headerRender: {
110
- type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<(props: any, defaultDom: import("@gx-design-vue/pro-utils/dist").CustomRender) => import("@gx-design-vue/pro-utils/dist").CustomRender>>;
126
+ type: PropType<import("./SlotsTypings").HeaderRender>;
111
127
  default: () => undefined;
112
128
  };
113
129
  headerContentRender: {
114
- type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<(props: any) => import("@gx-design-vue/pro-utils/dist").CustomRender>>;
130
+ type: PropType<import("./SlotsTypings").HeaderContentRender>;
115
131
  default: () => undefined;
116
132
  };
117
- hasSiderMenu: PropType<boolean>;
118
- logo: {
119
- type: PropType<import("@gx-design-vue/pro-utils/dist").CustomRender>;
120
- default: () => undefined;
121
- };
122
- logoStyle: {
123
- type: PropType<CSSProperties>;
124
- default: () => undefined;
125
- };
126
- logoDirection: {
127
- type: PropType<"horizontal" | "vertical">;
128
- default: string;
129
- };
130
- menuLoading: PropType<boolean>;
131
- autoHideHeader: PropType<boolean>;
132
- headerTheme: {
133
- type: PropType<import("@gx-design-vue/pro-provider").ThemeType>;
134
- default: string;
135
- };
136
133
  menuRender: {
137
134
  type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<(props: any, defaultDom: import("@gx-design-vue/pro-utils/dist").CustomRender) => import("@gx-design-vue/pro-utils/dist").CustomRender>>;
138
135
  default: () => undefined;
139
136
  };
137
+ appLogoListRender: {
138
+ type: PropType<DefaultRender>;
139
+ default: () => undefined;
140
+ };
140
141
  extraRightDropdownRender: {
141
- type: PropType<import("./RenderTypings").ExtraRightDropdownRender>;
142
+ type: PropType<DefaultRender>;
142
143
  default: () => undefined;
143
144
  };
144
145
  rightContentRender: {
145
- type: PropType<import("./RenderTypings").RightContentRender>;
146
+ type: PropType<import("./SlotsTypings").RightContentRender>;
146
147
  default: () => undefined;
147
148
  };
148
149
  collapsedButtonRender: {
149
- type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<(collapsed?: boolean | undefined) => import("@gx-design-vue/pro-utils/dist").CustomRender>>;
150
+ type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<(collapsed: boolean, dom?: import("@gx-design-vue/pro-utils/dist").CustomRender) => import("@gx-design-vue/pro-utils/dist").CustomRender>>;
150
151
  default: () => undefined;
151
152
  };
152
153
  matchMenuKeys: {
@@ -157,137 +158,152 @@ export declare const basicLayoutProps: {
157
158
  type: PropType<(collapsed: boolean) => void>;
158
159
  };
159
160
  onOpenKeys: {
160
- type: PropType<(openKeys: import("@gx-design-vue/pro-utils/dist").WithFalse<string[]>) => void>;
161
+ type: PropType<(openKeys: string[]) => void>;
161
162
  };
162
- onMenuHeaderClick: PropType<Function>;
163
163
  onSelect: {
164
- type: PropType<(selectedKeys: import("@gx-design-vue/pro-utils/dist").WithFalse<string[]>) => void>;
164
+ type: PropType<(selectedKeys: string[]) => void>;
165
+ };
166
+ logo: {
167
+ type: PropType<import("@gx-design-vue/pro-utils/dist").CustomRender>;
168
+ default: () => undefined;
165
169
  };
170
+ logoStyle: {
171
+ type: PropType<CSSProperties>;
172
+ default: () => undefined;
173
+ };
174
+ logoContentRender: {
175
+ type: PropType<import("./SlotsTypings").HeaderLogoRender>;
176
+ default: () => undefined;
177
+ };
178
+ onLogoClick: PropType<() => void>;
179
+ mode: {
180
+ type: PropType<import("ant-design-vue/es/menu/src/interface").MenuMode>;
181
+ default: string;
182
+ };
183
+ collapsed: {
184
+ type: PropType<boolean>;
185
+ default: boolean;
186
+ };
187
+ openKeys: {
188
+ type: PropType<string[]>;
189
+ default: () => never[];
190
+ };
191
+ selectedKeys: {
192
+ type: PropType<string[]>;
193
+ default: () => never[];
194
+ };
195
+ menuProps: {
196
+ type: PropType<Record<string, any>>;
197
+ default: () => null;
198
+ };
199
+ menuItemRender: {
200
+ type: PropType<import("./components/SiderMenu/BaseMenu").CustomMenuRender["menuItemRender"]>;
201
+ default: () => undefined;
202
+ };
203
+ subMenuItemRender: {
204
+ type: PropType<import("./components/SiderMenu/BaseMenu").CustomMenuRender["subMenuItemRender"]>;
205
+ default: () => undefined;
206
+ };
207
+ onClick: PropType<(info: import("ant-design-vue/es/menu/src/interface").MenuInfo) => void>;
166
208
  theme: {
167
- type: PropType<import("@gx-design-vue/pro-provider").ThemeType | undefined>;
168
- default: import("@gx-design-vue/pro-provider").ThemeType | undefined;
209
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["theme"]>;
210
+ default: string;
169
211
  };
170
212
  layout: {
171
- type: PropType<"side" | "mix" | "simple" | "wide">;
172
- default: "side" | "mix" | "simple" | "wide";
213
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["layout"]>;
214
+ default: import("@gx-design-vue/pro-provider/dist").ProLayoutType;
173
215
  };
174
216
  wideWidth: {
175
- type: PropType<number | undefined>;
176
- default: number | undefined;
217
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["wideWidth"]>;
218
+ default: string | number | undefined;
177
219
  };
178
220
  splitMenus: {
179
- type: PropType<boolean>;
221
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["splitMenus"]>;
180
222
  default: boolean;
181
223
  };
182
- fixedMultiTab: {
183
- type: PropType<boolean>;
224
+ fixedTabsBar: {
225
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["fixedTabsBar"]>;
184
226
  default: boolean;
185
227
  };
186
228
  showProgressBar: {
187
- type: PropType<boolean>;
229
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["showProgressBar"]>;
188
230
  default: boolean;
189
231
  };
190
232
  fixedHeader: {
191
- type: PropType<boolean>;
233
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["fixedHeader"]>;
192
234
  default: boolean;
193
235
  };
194
236
  fixSiderbar: {
195
- type: PropType<boolean>;
237
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["fixSiderbar"]>;
196
238
  default: boolean;
197
239
  };
198
240
  showTabsBar: {
199
- type: PropType<boolean>;
241
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["showTabsBar"]>;
200
242
  default: boolean;
201
243
  };
202
- showFullScreen: {
203
- type: PropType<boolean | undefined>;
204
- default: boolean | undefined;
244
+ storageTabsBar: {
245
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["storageTabsBar"]>;
246
+ default: boolean;
205
247
  };
206
248
  headerHeight: {
207
- type: PropType<number | undefined>;
249
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["headerHeight"]>;
208
250
  default: number | undefined;
209
251
  };
210
252
  title: {
211
- type: PropType<string>;
253
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["title"]>;
212
254
  default: string;
213
255
  };
214
256
  iconfontUrl: {
215
- type: PropType<string | undefined>;
257
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["iconfontUrl"]>;
216
258
  default: string | undefined;
217
259
  };
218
260
  animate: {
219
- type: PropType<{
220
- disabled?: boolean | undefined;
221
- name: string;
222
- direction: string;
223
- } | undefined>;
261
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["animate"]>;
224
262
  default: {
225
- disabled?: boolean | undefined;
263
+ disabled?: boolean;
226
264
  name: string;
227
265
  direction: string;
228
266
  } | undefined;
229
267
  };
230
268
  primaryColor: {
231
- type: PropType<string>;
269
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["primaryColor"]>;
232
270
  default: string;
233
271
  };
234
- links: {
235
- type: PropType<import("./RenderTypings").LinksRender>;
272
+ suppressSiderWhenMenuEmpty: {
273
+ type: PropType<boolean>;
274
+ default: boolean;
275
+ };
276
+ breakpoint: {
277
+ type: PropType<import("./components/SiderMenu/typings").SiderProps["breakpoint"] | false>;
278
+ default: () => boolean;
279
+ };
280
+ siderActionsRender: {
281
+ type: PropType<DefaultRender>;
236
282
  default: () => undefined;
237
283
  };
238
- menuHeaderRender: {
239
- type: PropType<import("./RenderTypings").HeaderLogoRender>;
284
+ menuLinksRender: {
285
+ type: PropType<DefaultRender>;
240
286
  default: () => undefined;
241
287
  };
242
288
  menuFooterRender: {
243
- type: PropType<import("./RenderTypings").MenuFooterRender>;
244
- default: () => boolean;
289
+ type: PropType<import("./SlotsTypings").MenuFooterRender>;
290
+ default: () => undefined;
245
291
  };
246
292
  menuContentRender: {
247
- type: PropType<import("./RenderTypings").MenuContentRender>;
248
- default: () => boolean;
249
- };
250
- menuExtraRender: {
251
- type: PropType<import("./RenderTypings").MenuExtraRender>;
252
- default: () => boolean;
293
+ type: PropType<import("./SlotsTypings").MenuContentRender>;
294
+ default: () => undefined;
253
295
  };
254
- breakpoint: {
255
- type: PropType<false | "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | undefined>;
256
- default: () => boolean;
296
+ menuHeaderRender: {
297
+ type: PropType<import("./SlotsTypings").MenuHeaderRender>;
298
+ default: () => undefined;
257
299
  };
258
300
  onMenuClick: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
259
301
  default: (...args: any[]) => any;
260
302
  };
261
- mode: {
262
- type: PropType<import("ant-design-vue").MenuMode>;
263
- default: string;
264
- };
265
- openKeys: {
266
- type: PropType<boolean | string[]>;
267
- default: () => never[];
268
- };
269
- selectedKeys: {
270
- type: PropType<string[]>;
271
- default: () => never[];
272
- };
273
- menuProps: {
274
- type: PropType<Record<string, any>>;
275
- default: () => null;
276
- };
277
- menuItemRender: {
278
- type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<(args: {
279
- item: AppRouteModule;
280
- title?: JSX.Element | undefined;
281
- icon?: JSX.Element | undefined;
282
- }) => import("@gx-design-vue/pro-utils/dist").CustomRender> | undefined>;
283
- default: () => boolean;
284
- };
285
- subMenuItemRender: {
286
- type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<(args: {
287
- item: AppRouteModule;
288
- children?: import("@gx-design-vue/pro-utils/dist").CustomRender[] | undefined;
289
- }) => import("@gx-design-vue/pro-utils/dist").CustomRender> | undefined>;
290
- default: () => boolean;
303
+ dark: {
304
+ type: PropType<boolean | "system">;
305
+ default: undefined;
291
306
  };
292
- onClick: PropType<(...args: any) => void>;
307
+ onDarkChange: PropType<(value?: boolean | "system") => void>;
308
+ 'onUpdate:dark': PropType<(value?: boolean | "system") => void>;
293
309
  };
@@ -3,12 +3,5 @@ import type { ProAliasToken } from '@gx-design-vue/pro-provider';
3
3
  export interface ProLayoutToken extends ProAliasToken {
4
4
  componentCls: string;
5
5
  }
6
- /**
7
- * 主要区别:
8
- * 需要手动引入 import 'antd/dist/antd.css';
9
- * 需要重置 menu 的样式
10
- * @param token
11
- * @returns
12
- */
13
6
  export declare const compatibleStyle: GenerateStyle<ProLayoutToken>;
14
7
  export declare const genProLayoutStyle: GenerateStyle<ProLayoutToken>;
package/dist/typings.d.ts CHANGED
@@ -1 +1,19 @@
1
- export type ProProps = Record<never, never>;
1
+ import type { CustomRender } from '@gx-design-vue/pro-utils';
2
+ export interface AntRoute {
3
+ path: string;
4
+ breadcrumbName: string;
5
+ children?: Omit<AntRoute, 'children'>[];
6
+ }
7
+ export interface BreadcrumbProps {
8
+ prefixCls?: string;
9
+ routes?: AntRoute[];
10
+ params?: any;
11
+ separator?: CustomRender;
12
+ itemRender?: (opts: {
13
+ route: AntRoute;
14
+ params: any;
15
+ routes: Array<AntRoute>;
16
+ paths: Array<string>;
17
+ }) => CustomRender;
18
+ }
19
+ export type BreadcrumbListReturn = Pick<BreadcrumbProps, Extract<keyof BreadcrumbProps, 'routes' | 'itemRender'>>;
@@ -1,4 +1,9 @@
1
- import type { ProAliasToken, ThemeConfig } from '@gx-design-vue/pro-provider';
2
- export declare function coverToNewToken(staticToken: Record<string, string | number | undefined>, token: Partial<ProAliasToken>, theme: ThemeConfig['theme'], type: 'sider' | 'header'): {
3
- [x: string]: string | number | undefined;
1
+ import type { ProAliasToken } from '@gx-design-vue/pro-provider';
2
+ export declare function coverToNewToken({ type, token, dark, staticToken }: {
3
+ staticToken: Record<string, string | number | undefined>;
4
+ token: ProAliasToken;
5
+ dark: boolean;
6
+ type: 'sider' | 'header';
7
+ }): Record<string, string | number | undefined> & {
8
+ [k: string]: unknown;
4
9
  };
@@ -1,41 +1,29 @@
1
- import type { AppRouteModule } from '../route';
2
- import type { ThemeConfig } from '@gx-design-vue/pro-provider';
3
- export { default as isUrl } from './isUrl';
4
- export { default as isImg } from './isImg';
5
- export * from './coverToNewToken';
1
+ import type { ProLayoutConfig } from '@gx-design-vue/pro-provider';
2
+ export * from './menu';
6
3
  export * from './animate';
7
- export declare function clearMenuItem(menusData: AppRouteModule[]): AppRouteModule[];
8
- export declare function flatMap(menusData: AppRouteModule[]): AppRouteModule[];
9
- export declare function getMenuFirstChildren(menus: AppRouteModule[], key?: string): AppRouteModule[];
10
- export declare function getMenuFirstLastChildPath(data: AppRouteModule[]): string;
11
- export declare function handleThemeConfig(config: ThemeConfig): {
12
- theme: import("@gx-design-vue/pro-provider").ThemeType | undefined;
13
- layout: "side" | "mix" | "simple" | "wide";
4
+ export * from './coverToNewToken';
5
+ export declare function handleThemeConfig(config: ProLayoutConfig): {
6
+ title: string;
7
+ theme: import("@gx-design-vue/pro-provider/dist").BaseMenuTheme;
8
+ layout: import("@gx-design-vue/pro-provider/dist").ProLayoutType;
14
9
  splitMenus: boolean;
15
- fixedMultiTab: boolean;
16
10
  fixedHeader: boolean;
17
11
  fixSiderbar: boolean;
18
12
  showProgressBar: boolean;
19
13
  showTabsBar: boolean;
20
- showFullScreen?: boolean | undefined;
21
- headerHeight?: number | undefined;
22
- wideWidth?: number | undefined;
23
- autoHideHeader: boolean;
24
- title: string;
25
- colorWeak?: boolean | undefined;
26
- iconfontUrl?: string | undefined;
14
+ fixedTabsBar: boolean;
15
+ storageTabsBar: boolean;
16
+ headerHeight?: number;
17
+ wideWidth?: number | string;
18
+ contentWidth?: number | string;
19
+ colorWeak?: boolean;
20
+ iconfontUrl?: string;
27
21
  animate?: {
28
- disabled?: boolean | undefined;
22
+ disabled?: boolean;
29
23
  name: string;
30
24
  direction: string;
31
- } | undefined;
25
+ };
32
26
  primaryColor: string;
33
27
  };
34
- export declare function checkThemeStatus(config: Partial<ThemeConfig>): ThemeConfig;
35
- export type StringKeyOf<T> = Extract<keyof T, string>;
36
- /**
37
- * Creates an object composed of the picked object properties.
38
- * @param obj The source object
39
- * @param paths The property paths to pick
40
- */
41
- export declare function pick<T, K extends keyof T>(obj: T, paths: K[]): Pick<T, K>;
28
+ export declare function checkThemeStatus(config: Partial<ProLayoutConfig>): ProLayoutConfig;
29
+ export declare function removeDuplicatesByName<T>(array: T[], key: keyof T): T[];
@@ -0,0 +1,22 @@
1
+ import type { RecordType } from '@gx-design-vue/pro-utils';
2
+ import type { AppRouteModule } from '../RouteTypings';
3
+ export type MenuData = {
4
+ menuData: AppRouteModule[];
5
+ breadcrumb: RecordType;
6
+ getLevel: () => AppRouteModule[];
7
+ };
8
+ export declare function hanlePathKey(record: AppRouteModule): string;
9
+ export declare const getMenuData: (routes: AppRouteModule[]) => MenuData;
10
+ export declare function clearMenuItem(menusData: AppRouteModule[]): AppRouteModule[];
11
+ export declare function flatMap(menusData: AppRouteModule[]): AppRouteModule[];
12
+ export declare function getMenuFirstChildren(menus: AppRouteModule[], key?: string): AppRouteModule[];
13
+ export declare function getLastPath(data: AppRouteModule[]): string;
14
+ export declare function findLastKey(tree: AppRouteModule[], targetKey: string): string | undefined;
15
+ export declare function getMatchedList({ menuData, levelMenuData }: {
16
+ menuData: AppRouteModule[];
17
+ levelMenuData: AppRouteModule[];
18
+ }, { path, name }: {
19
+ path: string;
20
+ name: AppRouteModule['name'];
21
+ }): AppRouteModule[];
22
+ export declare function filterTree(tree: AppRouteModule[], filterFn: (node: AppRouteModule) => boolean): AppRouteModule[];
@@ -0,0 +1 @@
1
+ export declare const layout = "::view-transition-new(root),::view-transition-old(root) {\n animation: none;\n mix-blend-mode: normal;\n}\n\n::view-transition-old(root) {\n z-index: 1;\n}\n\n::view-transition-new(root) {\n z-index: 2147483646;\n}\n\nhtml[data-theme=\"dark\"]::view-transition-old(root) {\n z-index: 2147483646;\n}\n\nhtml[data-theme=\"dark\"]::view-transition-new(root) {\n z-index: 1;\n}";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 根据指定字段对对象数组进行去重
3
+ * @param arr 要去重的对象数组
4
+ * @param key 去重依据的字段名
5
+ * @returns 去重后的对象数组
6
+ */
7
+ export declare function uniqueByField<T>(arr: T[], key: keyof T): T[];