@gx-design-vue/pro-layout 0.1.0-beta.8 → 0.1.0-beta.81

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 (96) hide show
  1. package/README.md +3 -3
  2. package/dist/Context.d.ts +33 -39
  3. package/dist/ProLayout.d.ts +385 -368
  4. package/dist/{route.d.ts → RouteTypings.d.ts} +33 -32
  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/AppsLogoComponents/AppLogoList.d.ts +18 -0
  13. package/dist/components/AppsLogoComponents/AppsLogo.d.ts +5 -0
  14. package/dist/components/AppsLogoComponents/DefaultContent.d.ts +20 -0
  15. package/dist/components/AppsLogoComponents/SimpleContent.d.ts +30 -0
  16. package/dist/components/AppsLogoComponents/index.d.ts +13 -0
  17. package/dist/components/AppsLogoComponents/props.d.ts +23 -0
  18. package/dist/components/{GlobalHeader/style/index.d.ts → AppsLogoComponents/style/default.d.ts} +2 -1
  19. package/dist/components/AppsLogoComponents/style/index.d.ts +4 -0
  20. package/dist/components/{GlobalHeader/style/globalHeader.d.ts → AppsLogoComponents/style/simple.d.ts} +2 -1
  21. package/dist/components/CollapsedIcon/index.d.ts +19 -0
  22. package/dist/components/CollapsedIcon/style.d.ts +6 -0
  23. package/dist/components/GIcon/index.d.ts +11 -0
  24. package/dist/components/GIcon/style.d.ts +4 -0
  25. package/dist/components/GlobalFooter/index.d.ts +14 -14
  26. package/dist/components/GlobalHeader/DefaultHeader.d.ts +365 -337
  27. package/dist/components/GlobalHeader/index.d.ts +216 -153
  28. package/dist/components/GlobalHeader/props.d.ts +172 -120
  29. package/dist/components/GlobalHeader/style.d.ts +3 -0
  30. package/dist/components/LogoContent/index.d.ts +37 -55
  31. package/dist/components/LogoContent/props.d.ts +24 -20
  32. package/dist/components/PageContainer/PageHeader.d.ts +11 -10
  33. package/dist/components/PageContainer/PageLoading.d.ts +29 -0
  34. package/dist/components/PageContainer/index.d.ts +77 -34
  35. package/dist/components/PageContainer/props.d.ts +58 -16
  36. package/dist/components/PageLock/Popup.d.ts +38 -0
  37. package/dist/components/PageLock/UserForm.d.ts +30 -0
  38. package/dist/components/PageLock/index.d.ts +52 -0
  39. package/dist/components/PageLock/props.d.ts +41 -0
  40. package/dist/components/PageLock/style.d.ts +4 -0
  41. package/dist/components/PageLock/useFormState.d.ts +11 -0
  42. package/dist/components/PageTranstion/index.d.ts +4 -4
  43. package/dist/components/RightContent/Search/Panel.d.ts +26 -0
  44. package/dist/components/RightContent/Search/index.d.ts +35 -0
  45. package/dist/components/RightContent/Search/props.d.ts +9 -0
  46. package/dist/components/RightContent/Search/style.d.ts +4 -0
  47. package/dist/components/RightContent/index.d.ts +140 -0
  48. package/dist/components/RightContent/props.d.ts +70 -0
  49. package/dist/components/RightContent/style.d.ts +4 -0
  50. package/dist/components/SettingDrawer/BlockCheckbox.d.ts +9 -9
  51. package/dist/components/SettingDrawer/OthersChange.d.ts +9 -9
  52. package/dist/components/SettingDrawer/RegionalChange.d.ts +11 -11
  53. package/dist/components/SettingDrawer/ThemeColor.d.ts +13 -13
  54. package/dist/components/SettingDrawer/ThemeEditor.d.ts +19 -8
  55. package/dist/components/SettingDrawer/index.d.ts +101 -18
  56. package/dist/components/SettingDrawer/utils/config.d.ts +21 -1
  57. package/dist/components/SiderMenu/Arrow.d.ts +2 -0
  58. package/dist/components/SiderMenu/BaseMenu.d.ts +133 -148
  59. package/dist/components/SiderMenu/SiderMenu.d.ts +199 -221
  60. package/dist/components/SiderMenu/index.d.ts +190 -212
  61. package/dist/components/SiderMenu/props.d.ts +126 -145
  62. package/dist/components/SiderMenu/{style.d.ts → style/index.d.ts} +0 -2
  63. package/dist/components/SiderMenu/style/menu.d.ts +4 -0
  64. package/dist/components/SiderMenu/typings.d.ts +7 -7
  65. package/dist/components/TabsRoute/index.d.ts +96 -0
  66. package/dist/components/TabsRoute/props.d.ts +46 -0
  67. package/dist/components/{MultiTab → TabsRoute}/style.d.ts +1 -0
  68. package/dist/components/TabsRoute/utils/config.d.ts +14 -0
  69. package/dist/components/TabsRoute/utils/index.d.ts +1 -0
  70. package/dist/defaultSettings.d.ts +23 -38
  71. package/dist/hooks/menu/index.d.ts +16 -0
  72. package/dist/hooks/theme/index.d.ts +16 -0
  73. package/dist/hooks/useClockTime/index.d.ts +9 -0
  74. package/dist/index.d.ts +24 -19
  75. package/dist/pro-layout.js +6711 -0
  76. package/dist/pro-layout.umd.cjs +20 -0
  77. package/dist/props.d.ts +168 -158
  78. package/dist/style/index.d.ts +0 -7
  79. package/dist/typings.d.ts +19 -1
  80. package/dist/utils/coverToNewToken.d.ts +8 -3
  81. package/dist/utils/index.d.ts +18 -30
  82. package/dist/utils/menu.d.ts +22 -0
  83. package/dist/utils/style.d.ts +1 -0
  84. package/dist/utils/util.d.ts +7 -0
  85. package/package.json +26 -46
  86. package/dist/PageLoading.d.ts +0 -6
  87. package/dist/RenderTypings.d.ts +0 -29
  88. package/dist/components/MultiTab/index.d.ts +0 -80
  89. package/dist/components/MultiTab/props.d.ts +0 -34
  90. package/dist/components/MultiTab/utils/config.d.ts +0 -4
  91. package/dist/hooks/context/index.d.ts +0 -5
  92. package/dist/pro-layout.mjs +0 -7255
  93. package/dist/pro-layout.umd.js +0 -1
  94. package/dist/utils/getMenuData.d.ts +0 -8
  95. package/dist/utils/isImg/index.d.ts +0 -3
  96. package/dist/utils/isUrl/index.d.ts +0 -2
package/dist/props.d.ts CHANGED
@@ -1,32 +1,66 @@
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
+ contentWidth: {
28
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["contentWidth"]>;
29
+ default: () => undefined;
30
+ };
31
+ pageContainerProps: {
32
+ type: PropType<PageContainerPropsType>;
33
+ };
8
34
  pure: BooleanConstructor;
9
- token: PropType<BaseLayoutDesignToken>;
35
+ token: PropType<DeepPartial<ProAliasToken>>;
36
+ menuData: {
37
+ type: PropType<AppRouteModule[]>;
38
+ default: () => AppRouteModule[];
39
+ };
40
+ levelMenuData: {
41
+ type: PropType<AppRouteModule[]>;
42
+ default: () => undefined;
43
+ };
10
44
  waterMark: {
11
45
  type: PropType<boolean>;
12
46
  default: boolean;
13
47
  };
48
+ pageLockRender: {
49
+ type: PropType<DefaultRender>;
50
+ default: undefined;
51
+ };
14
52
  /**
15
53
  * 是否禁用移动端模式,有的管理系统不需要移动端模式,此属性设置为true即可
16
54
  */
17
55
  disableMobile: {
18
- type: BooleanConstructor;
56
+ type: PropType<boolean>;
19
57
  required: boolean;
20
58
  };
21
59
  contentStyle: {
22
60
  type: PropType<CSSProperties>;
23
61
  default: () => null;
24
62
  };
25
- breadcrumb: {
26
- type: PropType<BreadcrumbProps>;
27
- default: () => null;
28
- };
29
- disableContentMargin: import("vue-types").VueTypeValidableDef<boolean>;
63
+ breadcrumb: PropType<BreadcrumbProps>;
30
64
  isChildrenLayout: import("vue-types").VueTypeValidableDef<boolean>;
31
65
  loading: import("vue-types").VueTypeValidableDef<boolean>;
32
66
  footerLinks: {
@@ -38,115 +72,76 @@ export declare const basicLayoutProps: {
38
72
  blankTarget: boolean;
39
73
  } | {
40
74
  key: string;
41
- title: JSX.Element;
75
+ title: import("vue/jsx-runtime").JSX.Element;
42
76
  href: string;
43
77
  blankTarget: boolean;
44
78
  })[];
45
79
  };
80
+ tabsVisible: PropType<boolean>;
81
+ tabsRouteItemRender: {
82
+ type: PropType<import("./SlotsTypings").TabsRouteItemRender>;
83
+ default: () => undefined;
84
+ };
46
85
  copyrightRender: {
47
- type: PropType<CopyrightRender>;
86
+ type: PropType<DefaultRender>;
48
87
  default: () => undefined;
49
88
  };
50
89
  footerRender: {
51
90
  type: PropType<FooterRender>;
52
91
  default: () => undefined;
53
92
  };
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;
93
+ onTabsChange: {
94
+ type: PropType<(list: AppRouteModule[]) => void>;
70
95
  };
71
- pageContentStyle: import("vue-types").VueTypeValidableDef<CSSProperties>;
72
- usePageCard: import("vue-types").VueTypeValidableDef<boolean> & {
73
- default: boolean;
74
- } & {
75
- default: boolean;
96
+ onReloadPage: {
97
+ type: PropType<() => void>;
76
98
  };
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;
99
+ 'onUpdate:tabs': {
100
+ type: PropType<(list: AppRouteModule[]) => void>;
86
101
  };
102
+ hasSiderMenu: PropType<boolean>;
87
103
  collapsedWidth: import("vue-types").VueTypeValidableDef<number> & {
88
104
  default: number;
89
105
  } & {
90
106
  default: number;
91
107
  };
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>;
108
+ siderWidth: {
109
+ type: PropType<number>;
110
+ default: undefined;
104
111
  };
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;
112
+ menuLoading: PropType<boolean>;
113
+ autoHideHeader: PropType<boolean>;
114
+ isMobile: PropType<boolean>;
115
+ headerMainWidth: {
116
+ type: PropType<number | string>;
117
+ default: undefined;
108
118
  };
109
119
  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>>;
120
+ type: PropType<import("./SlotsTypings").HeaderRender>;
111
121
  default: () => undefined;
112
122
  };
113
123
  headerContentRender: {
114
- type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<(props: any) => import("@gx-design-vue/pro-utils/dist").CustomRender>>;
124
+ type: PropType<import("./SlotsTypings").HeaderContentRender>;
115
125
  default: () => undefined;
116
126
  };
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
127
  menuRender: {
137
128
  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
129
  default: () => undefined;
139
130
  };
131
+ appLogoListRender: {
132
+ type: PropType<DefaultRender>;
133
+ default: () => undefined;
134
+ };
140
135
  extraRightDropdownRender: {
141
- type: PropType<import("./RenderTypings").ExtraRightDropdownRender>;
136
+ type: PropType<DefaultRender>;
142
137
  default: () => undefined;
143
138
  };
144
139
  rightContentRender: {
145
- type: PropType<import("./RenderTypings").RightContentRender>;
140
+ type: PropType<import("./SlotsTypings").RightContentRender>;
146
141
  default: () => undefined;
147
142
  };
148
143
  collapsedButtonRender: {
149
- type: PropType<import("@gx-design-vue/pro-utils/dist").WithFalse<(collapsed?: boolean | undefined) => import("@gx-design-vue/pro-utils/dist").CustomRender>>;
144
+ 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
145
  default: () => undefined;
151
146
  };
152
147
  matchMenuKeys: {
@@ -157,137 +152,152 @@ export declare const basicLayoutProps: {
157
152
  type: PropType<(collapsed: boolean) => void>;
158
153
  };
159
154
  onOpenKeys: {
160
- type: PropType<(openKeys: import("@gx-design-vue/pro-utils/dist").WithFalse<string[]>) => void>;
155
+ type: PropType<(openKeys: string[]) => void>;
161
156
  };
162
- onMenuHeaderClick: PropType<Function>;
163
157
  onSelect: {
164
- type: PropType<(selectedKeys: import("@gx-design-vue/pro-utils/dist").WithFalse<string[]>) => void>;
158
+ type: PropType<(selectedKeys: string[]) => void>;
159
+ };
160
+ logo: {
161
+ type: PropType<import("@gx-design-vue/pro-utils/dist").CustomRender>;
162
+ default: () => undefined;
165
163
  };
164
+ logoStyle: {
165
+ type: PropType<CSSProperties>;
166
+ default: () => undefined;
167
+ };
168
+ logoContentRender: {
169
+ type: PropType<import("./SlotsTypings").HeaderLogoRender>;
170
+ default: () => undefined;
171
+ };
172
+ onLogoClick: PropType<Function>;
173
+ mode: {
174
+ type: PropType<import("ant-design-vue/es/menu/src/interface").MenuMode>;
175
+ default: string;
176
+ };
177
+ collapsed: {
178
+ type: PropType<boolean>;
179
+ default: boolean;
180
+ };
181
+ openKeys: {
182
+ type: PropType<string[]>;
183
+ default: () => never[];
184
+ };
185
+ selectedKeys: {
186
+ type: PropType<string[]>;
187
+ default: () => never[];
188
+ };
189
+ menuProps: {
190
+ type: PropType<Record<string, any>>;
191
+ default: () => null;
192
+ };
193
+ menuItemRender: {
194
+ type: PropType<import("./components/SiderMenu/BaseMenu").CustomMenuRender["menuItemRender"]>;
195
+ default: () => undefined;
196
+ };
197
+ subMenuItemRender: {
198
+ type: PropType<import("./components/SiderMenu/BaseMenu").CustomMenuRender["subMenuItemRender"]>;
199
+ default: () => undefined;
200
+ };
201
+ onClick: PropType<(info: import("ant-design-vue/es/menu/src/interface").MenuInfo) => void>;
166
202
  theme: {
167
- type: PropType<import("@gx-design-vue/pro-provider").ThemeType | undefined>;
168
- default: import("@gx-design-vue/pro-provider").ThemeType | undefined;
203
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["theme"]>;
204
+ default: string;
169
205
  };
170
206
  layout: {
171
- type: PropType<"side" | "mix" | "simple" | "wide">;
172
- default: "side" | "mix" | "simple" | "wide";
207
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["layout"]>;
208
+ default: import("@gx-design-vue/pro-provider/dist").ProLayoutType;
173
209
  };
174
210
  wideWidth: {
175
- type: PropType<number | undefined>;
176
- default: number | undefined;
211
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["wideWidth"]>;
212
+ default: string | number | undefined;
177
213
  };
178
214
  splitMenus: {
179
- type: PropType<boolean>;
215
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["splitMenus"]>;
180
216
  default: boolean;
181
217
  };
182
- fixedMultiTab: {
183
- type: PropType<boolean>;
218
+ fixedTabsBar: {
219
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["fixedTabsBar"]>;
184
220
  default: boolean;
185
221
  };
186
222
  showProgressBar: {
187
- type: PropType<boolean>;
223
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["showProgressBar"]>;
188
224
  default: boolean;
189
225
  };
190
226
  fixedHeader: {
191
- type: PropType<boolean>;
227
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["fixedHeader"]>;
192
228
  default: boolean;
193
229
  };
194
230
  fixSiderbar: {
195
- type: PropType<boolean>;
231
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["fixSiderbar"]>;
196
232
  default: boolean;
197
233
  };
198
234
  showTabsBar: {
199
- type: PropType<boolean>;
235
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["showTabsBar"]>;
200
236
  default: boolean;
201
237
  };
202
- showFullScreen: {
203
- type: PropType<boolean | undefined>;
204
- default: boolean | undefined;
238
+ storageTabsBar: {
239
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["storageTabsBar"]>;
240
+ default: boolean;
205
241
  };
206
242
  headerHeight: {
207
- type: PropType<number | undefined>;
243
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["headerHeight"]>;
208
244
  default: number | undefined;
209
245
  };
210
246
  title: {
211
- type: PropType<string>;
247
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["title"]>;
212
248
  default: string;
213
249
  };
214
250
  iconfontUrl: {
215
- type: PropType<string | undefined>;
251
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["iconfontUrl"]>;
216
252
  default: string | undefined;
217
253
  };
218
254
  animate: {
219
- type: PropType<{
220
- disabled?: boolean | undefined;
221
- name: string;
222
- direction: string;
223
- } | undefined>;
255
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["animate"]>;
224
256
  default: {
225
- disabled?: boolean | undefined;
257
+ disabled?: boolean;
226
258
  name: string;
227
259
  direction: string;
228
260
  } | undefined;
229
261
  };
230
262
  primaryColor: {
231
- type: PropType<string>;
263
+ type: PropType<import("@gx-design-vue/pro-provider/dist").ProLayoutConfig["primaryColor"]>;
232
264
  default: string;
233
265
  };
234
- links: {
235
- type: PropType<import("./RenderTypings").LinksRender>;
266
+ suppressSiderWhenMenuEmpty: {
267
+ type: PropType<boolean>;
268
+ default: boolean;
269
+ };
270
+ breakpoint: {
271
+ type: PropType<import("./components/SiderMenu/typings").SiderProps["breakpoint"] | false>;
272
+ default: () => boolean;
273
+ };
274
+ siderActionsRender: {
275
+ type: PropType<DefaultRender>;
236
276
  default: () => undefined;
237
277
  };
238
- menuHeaderRender: {
239
- type: PropType<import("./RenderTypings").HeaderLogoRender>;
278
+ menuLinksRender: {
279
+ type: PropType<DefaultRender>;
240
280
  default: () => undefined;
241
281
  };
242
282
  menuFooterRender: {
243
- type: PropType<import("./RenderTypings").MenuFooterRender>;
244
- default: () => boolean;
283
+ type: PropType<import("./SlotsTypings").MenuFooterRender>;
284
+ default: () => undefined;
245
285
  };
246
286
  menuContentRender: {
247
- type: PropType<import("./RenderTypings").MenuContentRender>;
248
- default: () => boolean;
249
- };
250
- menuExtraRender: {
251
- type: PropType<import("./RenderTypings").MenuExtraRender>;
252
- default: () => boolean;
287
+ type: PropType<import("./SlotsTypings").MenuContentRender>;
288
+ default: () => undefined;
253
289
  };
254
- breakpoint: {
255
- type: PropType<false | "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | undefined>;
256
- default: () => boolean;
290
+ menuHeaderRender: {
291
+ type: PropType<import("./SlotsTypings").MenuHeaderRender>;
292
+ default: () => undefined;
257
293
  };
258
294
  onMenuClick: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
259
295
  default: (...args: any[]) => any;
260
296
  };
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;
297
+ dark: {
298
+ type: PropType<boolean | "system">;
299
+ default: undefined;
291
300
  };
292
- onClick: PropType<(...args: any) => void>;
301
+ onDarkChange: PropType<(value?: boolean | "system") => void>;
302
+ 'onUpdate:dark': PropType<(value?: boolean | "system") => void>;
293
303
  };
@@ -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[];