@keyblade/pro-components 1.12.17 → 1.13.0

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.
@@ -1,318 +1,235 @@
1
- import { defineComponent as ee, useCssVars as te, ref as A, toRefs as ae, useSlots as le, provide as _, onMounted as oe, watch as W, resolveComponent as o, createBlock as u, openBlock as s, normalizeClass as l, withCtx as n, createCommentVNode as c, createVNode as f, createElementVNode as p, renderSlot as y, createElementBlock as h, unref as i, Fragment as $, createTextVNode as C, toDisplayString as q } from "vue";
2
- import { useHooks as se } from "./hooks.js";
3
- import { useRouter as de } from "vue-router";
4
- const ne = ["src"], re = ["src"], t = "keyblade-pro-layout", ie = 48, ye = /* @__PURE__ */ ee({
1
+ import { defineComponent as le, useCssVars as ae, ref as N, useSlots as se, computed as de, provide as C, onMounted as ne, watch as V, resolveComponent as s, createBlock as i, openBlock as l, normalizeClass as a, withCtx as d, createCommentVNode as n, createVNode as p, createElementVNode as h, renderSlot as c, createElementBlock as m, unref as o, Fragment as k, createTextVNode as T, toDisplayString as P } from "vue";
2
+ import { useHooks as re } from "./hooks.js";
3
+ import { ProLayoutMode as ie, ProLayoutMenuType as F } from "./enum.js";
4
+ const ue = ["src"], pe = ["src"], t = "keyblade-pro-layout", ce = 48, he = /* @__PURE__ */ le({
5
5
  __name: "pro-layout",
6
6
  props: {
7
- /**
8
- * 布局模式
9
- * side:侧边菜单布局
10
- * mix:混合菜单布局
11
- * */
12
- layout: {
13
- type: String,
14
- required: !1,
15
- default: "mix"
16
- },
17
- /** 是否隐藏头部 */
18
- hideHeader: {
19
- type: Boolean,
20
- required: !1,
21
- default: !1
22
- },
23
- /** 头部高度 */
24
- headerHeight: {
25
- type: Number,
26
- required: !1,
27
- default: 60
28
- },
29
- /** logo */
30
- logo: {
31
- type: String,
32
- required: !1,
33
- default: "http://p3-armor.byteimg.com/tos-cn-i-49unhts6dw/dfdba5317c0c20ce20e64fac803d52bc.svg~tplv-49unhts6dw-image.image"
34
- },
35
- /** 标题 */
36
- title: {
37
- type: String,
38
- required: !1,
39
- default: "KeyBlade Pro"
40
- },
41
- /** 侧边栏宽度 */
42
- siderWidth: {
43
- type: Number,
44
- required: !1,
45
- default: 220
46
- },
47
- /** 侧边栏响应式的断点 */
48
- siderBreakpoint: {
49
- type: String,
50
- required: !1,
51
- default: "xl"
52
- },
53
- /** 侧边栏是否收缩,会受 siderBreakpoint 影响 */
54
- siderCollapsed: {
55
- type: Boolean,
56
- required: !1,
57
- default: !1
58
- },
59
- /** 菜单项 */
60
- menuItems: {
61
- type: Array,
62
- required: !1,
63
- default: () => []
64
- },
65
- /** 菜单属性 */
66
- menuProps: {
67
- type: Object,
68
- required: !1,
69
- default: () => ({})
70
- },
71
- /** 页脚标题 */
72
- footerTitle: {
73
- type: String,
74
- required: !1,
75
- default: "KeyBlade Pro"
76
- },
77
- /** 是否隐藏页脚 */
78
- hideFooter: {
79
- type: Boolean,
80
- required: !1,
81
- default: !1
82
- },
83
- /** 是否隐藏多页签 */
84
- hideTabs: {
85
- type: Boolean,
86
- required: !1,
87
- default: !1
88
- },
89
- /** tabs尺寸 */
90
- tabsSize: {
91
- type: String,
92
- required: !1,
93
- default: "small"
94
- },
95
- /** tabs类型 */
96
- tabsType: {
97
- type: String,
98
- required: !1,
99
- default: "rounded"
100
- },
101
- /** tabs头部间距 */
102
- tabsHeaderPadding: {
103
- type: Boolean,
104
- required: !1,
105
- default: !0
106
- },
107
- /** 禁用全局路由缓存 */
108
- disableKeepAlive: {
109
- type: Boolean,
110
- required: !1,
111
- default: !1
112
- },
113
- /** 菜单项点击事件 */
114
- onMenuItemClick: {
115
- type: Function,
116
- required: !1
117
- }
7
+ layout: { default: ie.mix },
8
+ hideHeader: { type: Boolean, default: !1 },
9
+ hiderSider: { type: Boolean, default: !1 },
10
+ headerHeight: { default: 60 },
11
+ logo: { default: "http://p3-armor.byteimg.com/tos-cn-i-49unhts6dw/dfdba5317c0c20ce20e64fac803d52bc.svg~tplv-49unhts6dw-image.image" },
12
+ title: { default: "KeyBlade Pro" },
13
+ siderWidth: { default: 220 },
14
+ siderBreakpoint: { default: "xl" },
15
+ siderCollapsed: { type: Boolean, default: !1 },
16
+ menuItems: { default: () => [] },
17
+ menuProps: { default: () => ({}) },
18
+ footerTitle: { default: "KeyBlade Pro" },
19
+ hideFooter: { type: Boolean, default: !1 },
20
+ hideTabs: { type: Boolean, default: !1 },
21
+ tabsSize: { default: "small" },
22
+ tabsType: { default: "rounded" },
23
+ tabsHeaderPadding: { type: Boolean, default: !0 },
24
+ disableKeepAlive: { type: Boolean, default: !1 },
25
+ onMenuItemClick: {}
118
26
  },
119
27
  emits: {
120
28
  /** 收缩事件 */
121
- collapse: (e) => !0,
29
+ collapse: (g) => !0,
122
30
  /** keepAlive改变事件 */
123
- keepAliveIncludeChange: (e) => !0
31
+ keepAliveIncludeChange: (g) => !0
124
32
  },
125
- setup(e, { emit: K }) {
126
- te((a) => ({
127
- "41512b1e": x.value,
128
- "514ba31c": V,
129
- "27c679ae": F
33
+ setup(g, { emit: E }) {
34
+ ae((e) => ({
35
+ "4a477a1a": z.value,
36
+ "3599ef93": G,
37
+ "5b478c92": J
130
38
  }));
131
- const d = e, T = K, b = de(), { menuItems: I } = ae(d), m = le(), {
132
- menuSelectedKeys: M,
133
- breadcrumbItems: N,
134
- tabs: B,
135
- keepAliveInclude: k,
136
- onMenuItemClick: z,
137
- onTabClick: D,
138
- onTabDelete: S
139
- } = se(I, {
140
- hideTabs: d.hideTabs,
141
- disableKeepAlive: d.disableKeepAlive
142
- });
143
- _("ProBreadcrumbItems", N), _("ProKeepAliveInclude", k), _("onProReuseTabDelete", S);
144
- const x = A(`${d.headerHeight}px`), V = `${d.siderWidth}px`, F = `${ie}px`, r = A(d.siderCollapsed), P = (a) => {
145
- r.value = a, T("collapse", a);
39
+ const u = g, B = E, f = se(), I = de(() => u.hiderSider || b.value.length > 0 && H.value.length === 0), {
40
+ topMenuItems: b,
41
+ siderMenuItems: H,
42
+ topMenuSelectedKeys: L,
43
+ siderMenuSelectedKeys: R,
44
+ breadcrumbItems: j,
45
+ tabs: M,
46
+ keepAliveInclude: v,
47
+ onProMenuItemClick: S,
48
+ onTabClick: q,
49
+ onTabDelete: w
50
+ } = re(u);
51
+ C("ProBreadcrumbItems", j), C("ProKeepAliveInclude", v), C("onProReuseTabDelete", w);
52
+ const z = N(`${u.headerHeight}px`), G = `${u.siderWidth}px`, J = `${ce}px`, r = N(u.siderCollapsed), W = (e) => {
53
+ r.value = e, B("collapse", e);
146
54
  };
147
- oe(() => {
148
- d.hideHeader && (x.value = "0px");
149
- });
150
- const R = async (a) => {
151
- if (a != null && a.path && !(d != null && d.onMenuItemClick && !await d.onMenuItemClick(a))) {
152
- if (a.path.startsWith("http") || a.path.startsWith("https")) {
153
- window.open(a.path);
154
- return;
155
- }
156
- b == null || b.push({ path: a.path }), z(a.name);
157
- }
158
- };
159
- return W(() => d.siderCollapsed, () => {
160
- r.value = d.siderCollapsed;
161
- }, { immediate: !0 }), W(k, () => {
162
- T("keepAliveIncludeChange", k.value);
163
- }, { immediate: !0 }), (a, g) => {
164
- const w = o("a-typography-title"), H = o("a-space"), E = o("a-layout-header"), j = o("kb-pro-menu"), O = o("icon-menu-unfold"), G = o("icon-menu-fold"), J = o("a-button"), L = o("a-layout-sider"), Q = o("kb-pro-reuse-tabs"), U = o("a-affix"), X = o("kb-pro-keep-alive-router-view"), Y = o("a-layout-content"), Z = o("a-layout-footer"), v = o("a-layout");
165
- return s(), u(v, {
166
- class: l([t, `${t}-${e.layout}`])
55
+ return ne(() => {
56
+ u.hideHeader && (z.value = "0px");
57
+ }), V(() => u.siderCollapsed, () => {
58
+ r.value = u.siderCollapsed;
59
+ }, { immediate: !0 }), V(v, () => {
60
+ B("keepAliveIncludeChange", v.value);
61
+ }, { immediate: !0 }), (e, y) => {
62
+ const A = s("a-typography-title"), K = s("a-space"), D = s("kb-pro-menu"), O = s("a-layout-header"), Q = s("icon-menu-unfold"), U = s("icon-menu-fold"), X = s("a-button"), Y = s("a-layout-sider"), Z = s("kb-pro-reuse-tabs"), x = s("a-affix"), ee = s("kb-pro-keep-alive-router-view"), te = s("a-layout-content"), oe = s("a-layout-footer"), $ = s("a-layout");
63
+ return l(), i($, {
64
+ class: a([t, `${t}-${e.layout}`])
167
65
  }, {
168
- default: n(() => [
169
- e.hideHeader ? c("", !0) : (s(), u(E, {
66
+ default: d(() => [
67
+ e.hideHeader ? n("", !0) : (l(), i(O, {
170
68
  key: 0,
171
- class: l([`${t}-header`, { [`${t}-header-collapsed`]: r.value }])
69
+ class: a([`${t}-header`, { [`${t}-header-collapsed`]: r.value }])
172
70
  }, {
173
- default: n(() => [
174
- p("div", {
175
- class: l(`${t}-header-left`)
71
+ default: d(() => [
72
+ h("div", {
73
+ class: a(`${t}-header-left`)
176
74
  }, [
177
- i(m)["header-left"] ? y(a.$slots, "header-left", { key: 0 }) : (s(), h($, { key: 1 }, [
178
- e.layout !== "side" ? (s(), h("div", {
75
+ o(f)["header-left"] ? c(e.$slots, "header-left", { key: 0 }) : (l(), m(k, { key: 1 }, [
76
+ e.layout !== "side" ? (l(), m("div", {
179
77
  key: 0,
180
- class: l(`${t}-header-left-logo`)
78
+ class: a(`${t}-header-left-logo`)
181
79
  }, [
182
- f(H, null, {
183
- default: n(() => [
184
- p("img", {
185
- class: l(`${t}-header-left-logo-img`),
80
+ p(K, null, {
81
+ default: d(() => [
82
+ h("img", {
83
+ class: a(`${t}-header-left-logo-img`),
186
84
  alt: "logo",
187
85
  src: e.logo
188
- }, null, 10, ne),
189
- r.value ? c("", !0) : (s(), u(w, {
86
+ }, null, 10, ue),
87
+ r.value ? n("", !0) : (l(), i(A, {
190
88
  key: 0,
191
- class: l(`${t}-header-left-logo-title`),
89
+ class: a(`${t}-header-left-logo-title`),
192
90
  heading: 5
193
91
  }, {
194
- default: n(() => [
195
- C(q(e.title), 1)
92
+ default: d(() => [
93
+ T(P(e.title), 1)
196
94
  ]),
197
95
  _: 1
198
96
  }, 8, ["class"]))
199
97
  ]),
200
98
  _: 1
201
99
  })
202
- ], 2)) : c("", !0)
100
+ ], 2)) : n("", !0)
203
101
  ], 64))
204
102
  ], 2),
205
- p("div", {
206
- class: l(`${t}-header-center`)
103
+ h("div", {
104
+ class: a(`${t}-header-center`)
207
105
  }, [
208
- i(m)["header-center"] ? y(a.$slots, "header-center", { key: 0 }) : c("", !0)
106
+ o(f)["header-center-left"] ? c(e.$slots, "header-center-left", { key: 0 }) : n("", !0),
107
+ o(b).length > 0 ? (l(), m(k, { key: 1 }, [
108
+ o(b).length > 0 ? (l(), i(D, {
109
+ key: 0,
110
+ mode: "horizontal",
111
+ "selected-keys": o(L),
112
+ items: o(b),
113
+ "menu-props": e.menuProps,
114
+ onMenuItemClick: y[0] || (y[0] = (_) => o(S)(o(F).top, _))
115
+ }, null, 8, ["selected-keys", "items", "menu-props"])) : n("", !0)
116
+ ], 64)) : (l(), m(k, { key: 2 }, [
117
+ o(f)["header-center-center"] ? c(e.$slots, "header-center-center", { key: 0 }) : n("", !0)
118
+ ], 64)),
119
+ o(f)["header-center-right"] ? c(e.$slots, "header-center-right", { key: 3 }) : n("", !0)
209
120
  ], 2),
210
- p("div", {
211
- class: l(`${t}-header-right`)
121
+ h("div", {
122
+ class: a(`${t}-header-right`)
212
123
  }, [
213
- y(a.$slots, "header-right")
124
+ c(e.$slots, "header-right")
214
125
  ], 2)
215
126
  ]),
216
127
  _: 3
217
128
  }, 8, ["class"])),
218
- f(v, null, {
219
- default: n(() => [
220
- f(L, {
221
- class: l([`${t}-sider`, { [`${t}-sider-collapsed`]: r.value }]),
129
+ p($, null, {
130
+ default: d(() => [
131
+ I.value ? n("", !0) : (l(), i(Y, {
132
+ key: 0,
133
+ class: a([`${t}-sider`, { [`${t}-sider-collapsed`]: r.value }]),
222
134
  width: e.siderWidth,
223
135
  collapsible: !0,
224
136
  breakpoint: e.siderBreakpoint,
225
137
  collapsed: r.value,
226
138
  "hide-trigger": !0,
227
- onCollapse: P
139
+ onCollapse: W
228
140
  }, {
229
- default: n(() => [
230
- p("div", {
231
- class: l(`${t}-sider-content`)
141
+ default: d(() => [
142
+ h("div", {
143
+ class: a(`${t}-sider-content`)
232
144
  }, [
233
- i(m)["sider-top"] ? y(a.$slots, "sider-top", { key: 0 }) : (s(), h($, { key: 1 }, [
234
- e.layout === "side" ? (s(), h("div", {
145
+ o(f)["sider-top"] ? c(e.$slots, "sider-top", { key: 0 }) : (l(), m(k, { key: 1 }, [
146
+ e.layout === "side" ? (l(), m("div", {
235
147
  key: 0,
236
- class: l(`${t}-sider-content-logo`)
148
+ class: a(`${t}-sider-content-logo`)
237
149
  }, [
238
- f(H, null, {
239
- default: n(() => [
240
- p("img", {
241
- class: l(`${t}-sider-content-logo-img`),
150
+ p(K, null, {
151
+ default: d(() => [
152
+ h("img", {
153
+ class: a(`${t}-sider-content-logo-img`),
242
154
  alt: "logo",
243
155
  src: e.logo
244
- }, null, 10, re),
245
- r.value ? c("", !0) : (s(), u(w, {
156
+ }, null, 10, pe),
157
+ r.value ? n("", !0) : (l(), i(A, {
246
158
  key: 0,
247
- class: l(`${t}-sider-content-logo-title`),
159
+ class: a(`${t}-sider-content-logo-title`),
248
160
  heading: 5
249
161
  }, {
250
- default: n(() => [
251
- C(q(e.title), 1)
162
+ default: d(() => [
163
+ T(P(e.title), 1)
252
164
  ]),
253
165
  _: 1
254
166
  }, 8, ["class"]))
255
167
  ]),
256
168
  _: 1
257
169
  })
258
- ], 2)) : c("", !0)
170
+ ], 2)) : n("", !0)
259
171
  ], 64)),
260
- f(j, {
172
+ p(D, {
173
+ mode: "vertical",
261
174
  collapsed: r.value,
262
- "selected-keys": i(M),
263
- items: i(I),
175
+ "selected-keys": o(R),
176
+ items: o(H),
264
177
  "menu-props": e.menuProps,
265
- onMenuItemClick: R
178
+ onMenuItemClick: y[1] || (y[1] = (_) => o(S)(o(F).side, _))
266
179
  }, null, 8, ["collapsed", "selected-keys", "items", "menu-props"])
267
180
  ], 2),
268
- f(J, {
269
- class: l(`${t}-sider-collapse-btn`),
181
+ p(X, {
182
+ class: a(`${t}-sider-collapse-btn`),
270
183
  size: "mini",
271
- onClick: g[0] || (g[0] = (ue) => P(!r.value))
184
+ onClick: y[2] || (y[2] = (_) => W(!r.value))
272
185
  }, {
273
- icon: n(() => [
274
- r.value ? (s(), u(O, { key: 0 })) : (s(), u(G, { key: 1 }))
186
+ icon: d(() => [
187
+ r.value ? (l(), i(Q, { key: 0 })) : (l(), i(U, { key: 1 }))
275
188
  ]),
276
189
  _: 1
277
190
  }, 8, ["class"])
278
191
  ]),
279
192
  _: 3
280
- }, 8, ["class", "width", "breakpoint", "collapsed"]),
281
- f(v, {
282
- class: l([`${t}-body`, { [`${t}-body-collapsed`]: r.value }])
193
+ }, 8, ["class", "width", "breakpoint", "collapsed"])),
194
+ p($, {
195
+ class: a([
196
+ `${t}-body`,
197
+ { [`${t}-body-hide-sider`]: I.value },
198
+ { [`${t}-body-collapsed`]: r.value }
199
+ ])
283
200
  }, {
284
- default: n(() => [
285
- e.hideTabs ? c("", !0) : (s(), u(U, {
201
+ default: d(() => [
202
+ e.hideTabs ? n("", !0) : (l(), i(x, {
286
203
  key: 0,
287
- class: l(`${t}-body-affix`),
204
+ class: a(`${t}-body-affix`),
288
205
  offsetTop: e.hideHeader ? 0 : e.headerHeight
289
206
  }, {
290
- default: n(() => [
291
- i(B).length > 0 ? (s(), u(Q, {
207
+ default: d(() => [
208
+ o(M).length > 0 ? (l(), i(Z, {
292
209
  key: 0,
293
- tabs: i(B),
210
+ tabs: o(M),
294
211
  "tabs-size": e.tabsSize,
295
212
  "tabs-type": e.tabsType,
296
213
  "tabs-header-padding": e.tabsHeaderPadding,
297
- onTabClick: i(D),
298
- onTabDelete: i(S)
299
- }, null, 8, ["tabs", "tabs-size", "tabs-type", "tabs-header-padding", "onTabClick", "onTabDelete"])) : c("", !0)
214
+ onTabClick: o(q),
215
+ onTabDelete: o(w)
216
+ }, null, 8, ["tabs", "tabs-size", "tabs-type", "tabs-header-padding", "onTabClick", "onTabDelete"])) : n("", !0)
300
217
  ]),
301
218
  _: 1
302
219
  }, 8, ["class", "offsetTop"])),
303
- f(Y, null, {
304
- default: n(() => [
305
- f(X)
220
+ p(te, null, {
221
+ default: d(() => [
222
+ p(ee)
306
223
  ]),
307
224
  _: 1
308
225
  }),
309
- e.hideFooter ? c("", !0) : (s(), h($, { key: 1 }, [
310
- i(m).footer !== void 0 ? y(a.$slots, "footer", { key: 0 }) : (s(), u(Z, {
226
+ e.hideFooter ? n("", !0) : (l(), m(k, { key: 1 }, [
227
+ o(f).footer !== void 0 ? c(e.$slots, "footer", { key: 0 }) : (l(), i(oe, {
311
228
  key: 1,
312
- class: l(`${t}-body-footer`)
229
+ class: a(`${t}-body-footer`)
313
230
  }, {
314
- default: n(() => [
315
- C(q(e.footerTitle), 1)
231
+ default: d(() => [
232
+ T(P(e.footerTitle), 1)
316
233
  ]),
317
234
  _: 1
318
235
  }, 8, ["class"]))
@@ -330,5 +247,5 @@ const ne = ["src"], re = ["src"], t = "keyblade-pro-layout", ie = 48, ye = /* @_
330
247
  }
331
248
  });
332
249
  export {
333
- ye as default
250
+ he as default
334
251
  };
@@ -0,0 +1,83 @@
1
+ import { ProLayoutMode } from './enum.ts';
2
+ import { IProMenuItem } from '../pro-menu';
3
+ import { MenuProps } from '@arco-design/web-vue/es/menu/interface';
4
+ export interface IProLayoutProps {
5
+ /**
6
+ * 布局模式
7
+ * side:侧边菜单布局
8
+ * mix:混合菜单布局
9
+ * */
10
+ layout?: ProLayoutMode;
11
+ /**
12
+ * 是否隐藏头部
13
+ */
14
+ hideHeader?: boolean;
15
+ /**
16
+ * 是否隐藏侧边栏
17
+ */
18
+ hiderSider?: boolean;
19
+ /**
20
+ * 头部高度
21
+ */
22
+ headerHeight?: number;
23
+ /**
24
+ * logo
25
+ */
26
+ logo?: string;
27
+ /**
28
+ * 标题
29
+ */
30
+ title?: string;
31
+ /**
32
+ * 侧边栏宽度
33
+ */
34
+ siderWidth?: number;
35
+ /**
36
+ * 侧边栏响应式的断点
37
+ */
38
+ siderBreakpoint?: 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs';
39
+ /**
40
+ * 侧边栏是否收缩,会受 siderBreakpoint 影响
41
+ */
42
+ siderCollapsed?: boolean;
43
+ /**
44
+ * 菜单项
45
+ */
46
+ menuItems: IProMenuItem[];
47
+ /**
48
+ * 菜单特有属性
49
+ */
50
+ menuProps?: Partial<MenuProps>;
51
+ /**
52
+ * 页脚标题
53
+ */
54
+ footerTitle?: string;
55
+ /**
56
+ * 是否隐藏页脚
57
+ */
58
+ hideFooter?: boolean;
59
+ /**
60
+ * 是否隐藏多页签
61
+ */
62
+ hideTabs?: boolean;
63
+ /**
64
+ * tabs尺寸
65
+ */
66
+ tabsSize?: 'mini' | 'small' | 'medium' | 'large';
67
+ /**
68
+ * tabs类型
69
+ */
70
+ tabsType?: 'line' | 'card' | 'card-gutter' | 'text' | 'rounded' | 'capsule';
71
+ /**
72
+ * tabs头部间距
73
+ */
74
+ tabsHeaderPadding?: boolean;
75
+ /**
76
+ * 禁用全局路由缓存
77
+ */
78
+ disableKeepAlive?: boolean;
79
+ /**
80
+ * 菜单点击事件
81
+ */
82
+ onMenuItemClick?: (item: IProMenuItem) => Promise<boolean>;
83
+ }
@@ -8,7 +8,7 @@ declare const ProMenu: {
8
8
  };
9
9
  collapsed: {
10
10
  type: import('vue').PropType<boolean>;
11
- required: true;
11
+ required: false;
12
12
  };
13
13
  selectedKeys: {
14
14
  type: import('vue').PropType<string[]>;
@@ -45,7 +45,7 @@ declare const ProMenu: {
45
45
  };
46
46
  collapsed: {
47
47
  type: import('vue').PropType<boolean>;
48
- required: true;
48
+ required: false;
49
49
  };
50
50
  selectedKeys: {
51
51
  type: import('vue').PropType<string[]>;
@@ -77,7 +77,7 @@ declare const ProMenu: {
77
77
  };
78
78
  collapsed: {
79
79
  type: import('vue').PropType<boolean>;
80
- required: true;
80
+ required: false;
81
81
  };
82
82
  selectedKeys: {
83
83
  type: import('vue').PropType<string[]>;
@@ -5,6 +5,17 @@ export interface IProMenuItem {
5
5
  path: string;
6
6
  /** 中文名称 */
7
7
  title: string;
8
+ /** 是否是顶部菜单
9
+ * 1.侧边菜单布局不生效
10
+ * 2.如果父级菜单设置了 topChildrenMenu,则该菜单属性不生效
11
+ * 3.如果父级菜单没有设置 topChildrenMenu,但子菜单只要有一个设置了topMenu,则所有同级菜单的 topMenu 都跟随该菜单设置相同值,并且该菜单的父级菜单 topChildrenMenu 也会自动设置成相同值
12
+ * */
13
+ topMenu?: boolean;
14
+ /** 子菜单是否顶部菜单
15
+ * 1.侧边栏布局不生效
16
+ * 2.如果该菜单设置了 topChildrenMenu ,则下级子菜单的 topMenu 全部都跟随父级菜单的topChildrenMenu
17
+ * */
18
+ topChildrenMenu?: boolean;
8
19
  /** 当此节点被选中的时候也会选中 activatedKeys 的节点 */
9
20
  activatedKeys?: string[];
10
21
  /**
@@ -9,7 +9,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
9
9
  };
10
10
  collapsed: {
11
11
  type: PropType<boolean>;
12
- required: true;
12
+ required: false;
13
13
  };
14
14
  selectedKeys: {
15
15
  type: PropType<string[]>;
@@ -34,7 +34,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
34
34
  };
35
35
  collapsed: {
36
36
  type: PropType<boolean>;
37
- required: true;
37
+ required: false;
38
38
  };
39
39
  selectedKeys: {
40
40
  type: PropType<string[]>;