@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.
- package/es/pro-layout/enum.d.ts +16 -0
- package/es/pro-layout/enum.js +5 -0
- package/es/pro-layout/hooks.d.ts +89 -12
- package/es/pro-layout/hooks.js +122 -82
- package/es/pro-layout/index.d.ts +19 -284
- package/es/pro-layout/pro-layout.vue.d.ts +14 -236
- package/es/pro-layout/pro-layout.vue.js +150 -233
- package/es/pro-layout/type.d.ts +83 -0
- package/es/pro-menu/index.d.ts +3 -3
- package/es/pro-menu/interface.d.ts +11 -0
- package/es/pro-menu/pro-menu.vue.d.ts +2 -2
- package/es/pro-menu/pro-menu.vue.js +43 -41
- package/es/style.css +1 -1
- package/package.json +1 -1
|
@@ -1,318 +1,235 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useHooks as
|
|
3
|
-
import {
|
|
4
|
-
const
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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: (
|
|
29
|
+
collapse: (g) => !0,
|
|
122
30
|
/** keepAlive改变事件 */
|
|
123
|
-
keepAliveIncludeChange: (
|
|
31
|
+
keepAliveIncludeChange: (g) => !0
|
|
124
32
|
},
|
|
125
|
-
setup(
|
|
126
|
-
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
33
|
+
setup(g, { emit: E }) {
|
|
34
|
+
ae((e) => ({
|
|
35
|
+
"4a477a1a": z.value,
|
|
36
|
+
"3599ef93": G,
|
|
37
|
+
"5b478c92": J
|
|
130
38
|
}));
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
const
|
|
145
|
-
r.value =
|
|
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
|
-
|
|
148
|
-
|
|
149
|
-
})
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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:
|
|
169
|
-
e.hideHeader ?
|
|
66
|
+
default: d(() => [
|
|
67
|
+
e.hideHeader ? n("", !0) : (l(), i(O, {
|
|
170
68
|
key: 0,
|
|
171
|
-
class:
|
|
69
|
+
class: a([`${t}-header`, { [`${t}-header-collapsed`]: r.value }])
|
|
172
70
|
}, {
|
|
173
|
-
default:
|
|
174
|
-
|
|
175
|
-
class:
|
|
71
|
+
default: d(() => [
|
|
72
|
+
h("div", {
|
|
73
|
+
class: a(`${t}-header-left`)
|
|
176
74
|
}, [
|
|
177
|
-
|
|
178
|
-
e.layout !== "side" ? (
|
|
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:
|
|
78
|
+
class: a(`${t}-header-left-logo`)
|
|
181
79
|
}, [
|
|
182
|
-
|
|
183
|
-
default:
|
|
184
|
-
|
|
185
|
-
class:
|
|
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,
|
|
189
|
-
r.value ?
|
|
86
|
+
}, null, 10, ue),
|
|
87
|
+
r.value ? n("", !0) : (l(), i(A, {
|
|
190
88
|
key: 0,
|
|
191
|
-
class:
|
|
89
|
+
class: a(`${t}-header-left-logo-title`),
|
|
192
90
|
heading: 5
|
|
193
91
|
}, {
|
|
194
|
-
default:
|
|
195
|
-
|
|
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)) :
|
|
100
|
+
], 2)) : n("", !0)
|
|
203
101
|
], 64))
|
|
204
102
|
], 2),
|
|
205
|
-
|
|
206
|
-
class:
|
|
103
|
+
h("div", {
|
|
104
|
+
class: a(`${t}-header-center`)
|
|
207
105
|
}, [
|
|
208
|
-
|
|
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
|
-
|
|
211
|
-
class:
|
|
121
|
+
h("div", {
|
|
122
|
+
class: a(`${t}-header-right`)
|
|
212
123
|
}, [
|
|
213
|
-
|
|
124
|
+
c(e.$slots, "header-right")
|
|
214
125
|
], 2)
|
|
215
126
|
]),
|
|
216
127
|
_: 3
|
|
217
128
|
}, 8, ["class"])),
|
|
218
|
-
|
|
219
|
-
default:
|
|
220
|
-
|
|
221
|
-
|
|
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:
|
|
139
|
+
onCollapse: W
|
|
228
140
|
}, {
|
|
229
|
-
default:
|
|
230
|
-
|
|
231
|
-
class:
|
|
141
|
+
default: d(() => [
|
|
142
|
+
h("div", {
|
|
143
|
+
class: a(`${t}-sider-content`)
|
|
232
144
|
}, [
|
|
233
|
-
|
|
234
|
-
e.layout === "side" ? (
|
|
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:
|
|
148
|
+
class: a(`${t}-sider-content-logo`)
|
|
237
149
|
}, [
|
|
238
|
-
|
|
239
|
-
default:
|
|
240
|
-
|
|
241
|
-
class:
|
|
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,
|
|
245
|
-
r.value ?
|
|
156
|
+
}, null, 10, pe),
|
|
157
|
+
r.value ? n("", !0) : (l(), i(A, {
|
|
246
158
|
key: 0,
|
|
247
|
-
class:
|
|
159
|
+
class: a(`${t}-sider-content-logo-title`),
|
|
248
160
|
heading: 5
|
|
249
161
|
}, {
|
|
250
|
-
default:
|
|
251
|
-
|
|
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)) :
|
|
170
|
+
], 2)) : n("", !0)
|
|
259
171
|
], 64)),
|
|
260
|
-
|
|
172
|
+
p(D, {
|
|
173
|
+
mode: "vertical",
|
|
261
174
|
collapsed: r.value,
|
|
262
|
-
"selected-keys":
|
|
263
|
-
items:
|
|
175
|
+
"selected-keys": o(R),
|
|
176
|
+
items: o(H),
|
|
264
177
|
"menu-props": e.menuProps,
|
|
265
|
-
onMenuItemClick:
|
|
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
|
-
|
|
269
|
-
class:
|
|
181
|
+
p(X, {
|
|
182
|
+
class: a(`${t}-sider-collapse-btn`),
|
|
270
183
|
size: "mini",
|
|
271
|
-
onClick:
|
|
184
|
+
onClick: y[2] || (y[2] = (_) => W(!r.value))
|
|
272
185
|
}, {
|
|
273
|
-
icon:
|
|
274
|
-
r.value ? (
|
|
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
|
-
|
|
282
|
-
class:
|
|
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:
|
|
285
|
-
e.hideTabs ?
|
|
201
|
+
default: d(() => [
|
|
202
|
+
e.hideTabs ? n("", !0) : (l(), i(x, {
|
|
286
203
|
key: 0,
|
|
287
|
-
class:
|
|
204
|
+
class: a(`${t}-body-affix`),
|
|
288
205
|
offsetTop: e.hideHeader ? 0 : e.headerHeight
|
|
289
206
|
}, {
|
|
290
|
-
default:
|
|
291
|
-
|
|
207
|
+
default: d(() => [
|
|
208
|
+
o(M).length > 0 ? (l(), i(Z, {
|
|
292
209
|
key: 0,
|
|
293
|
-
tabs:
|
|
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:
|
|
298
|
-
onTabDelete:
|
|
299
|
-
}, null, 8, ["tabs", "tabs-size", "tabs-type", "tabs-header-padding", "onTabClick", "onTabDelete"])) :
|
|
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
|
-
|
|
304
|
-
default:
|
|
305
|
-
|
|
220
|
+
p(te, null, {
|
|
221
|
+
default: d(() => [
|
|
222
|
+
p(ee)
|
|
306
223
|
]),
|
|
307
224
|
_: 1
|
|
308
225
|
}),
|
|
309
|
-
e.hideFooter ?
|
|
310
|
-
|
|
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:
|
|
229
|
+
class: a(`${t}-body-footer`)
|
|
313
230
|
}, {
|
|
314
|
-
default:
|
|
315
|
-
|
|
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
|
-
|
|
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
|
+
}
|
package/es/pro-menu/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ declare const ProMenu: {
|
|
|
8
8
|
};
|
|
9
9
|
collapsed: {
|
|
10
10
|
type: import('vue').PropType<boolean>;
|
|
11
|
-
required:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
37
|
+
required: false;
|
|
38
38
|
};
|
|
39
39
|
selectedKeys: {
|
|
40
40
|
type: PropType<string[]>;
|