@keyblade/pro-components 1.10.2 → 1.11.1

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 (44) hide show
  1. package/es/components.d.ts +11 -0
  2. package/es/index.d.ts +14 -0
  3. package/es/index.js +26 -0
  4. package/es/pro-keep-alive-router-view/index.d.ts +152 -0
  5. package/es/pro-keep-alive-router-view/index.js +10 -0
  6. package/es/pro-keep-alive-router-view/pro-keep-alive-router-view.vue.d.ts +45 -0
  7. package/es/pro-keep-alive-router-view/pro-keep-alive-router-view.vue.js +56 -0
  8. package/es/pro-keep-alive-router-view/pro-keep-alive-router-view.vue2.js +4 -0
  9. package/es/pro-layout/hooks.d.ts +25 -0
  10. package/es/pro-layout/hooks.js +106 -0
  11. package/es/pro-layout/index.d.ts +393 -0
  12. package/es/pro-layout/index.js +16 -0
  13. package/es/pro-layout/pro-layout.vue.d.ts +227 -0
  14. package/es/pro-layout/pro-layout.vue.js +303 -0
  15. package/es/pro-layout/pro-layout.vue2.js +1 -0
  16. package/es/pro-layout/pro-layout.vue3.js +5 -0
  17. package/es/pro-menu/index.d.ts +167 -0
  18. package/es/pro-menu/index.js +12 -0
  19. package/es/pro-menu/interface.d.ts +39 -0
  20. package/es/pro-menu/pro-menu.vue.d.ts +46 -0
  21. package/es/pro-menu/pro-menu.vue.js +127 -0
  22. package/es/pro-menu/pro-menu.vue2.js +1 -0
  23. package/es/pro-menu/pro-menu.vue3.js +5 -0
  24. package/es/pro-page-container/index.d.ts +228 -0
  25. package/es/pro-page-container/index.js +12 -0
  26. package/es/pro-page-container/pro-page-container.vue.d.ts +88 -0
  27. package/es/pro-page-container/pro-page-container.vue.js +54 -0
  28. package/es/pro-page-container/pro-page-container.vue2.js +1 -0
  29. package/es/pro-page-container/pro-page-container.vue3.js +5 -0
  30. package/es/pro-page-header/index.d.ts +242 -0
  31. package/es/pro-page-header/index.js +13 -0
  32. package/es/pro-page-header/pro-page-header.vue.d.ts +106 -0
  33. package/es/pro-page-header/pro-page-header.vue.js +144 -0
  34. package/es/pro-page-header/pro-page-header.vue2.js +1 -0
  35. package/es/pro-page-header/pro-page-header.vue3.js +5 -0
  36. package/es/pro-reuse-tabs/index.d.ts +188 -0
  37. package/es/pro-reuse-tabs/index.js +12 -0
  38. package/es/pro-reuse-tabs/interface.d.ts +15 -0
  39. package/es/pro-reuse-tabs/pro-reuse-tabs.vue.d.ts +59 -0
  40. package/es/pro-reuse-tabs/pro-reuse-tabs.vue.js +70 -0
  41. package/es/pro-reuse-tabs/pro-reuse-tabs.vue2.js +1 -0
  42. package/es/pro-reuse-tabs/pro-reuse-tabs.vue3.js +5 -0
  43. package/es/style.css +1 -0
  44. package/package.json +1 -1
@@ -0,0 +1,303 @@
1
+ import { defineComponent as U, useCssVars as X, toRefs as Y, useSlots as Z, provide as I, ref as ee, watch as A, resolveComponent as a, openBlock as o, createBlock as u, normalizeClass as l, withCtx as s, createVNode as r, createElementVNode as p, unref as n, renderSlot as y, createElementBlock as m, Fragment as k, createTextVNode as _, toDisplayString as v, createCommentVNode as f } from "vue";
2
+ import { useHooks as te } from "./hooks.js";
3
+ const le = ["src"], ae = ["src"], e = "keyblade-pro-layout", oe = 48, re = /* @__PURE__ */ U({
4
+ __name: "pro-layout",
5
+ props: {
6
+ /**
7
+ * 布局模式
8
+ * side:侧边菜单布局
9
+ * mix:混合菜单布局
10
+ * */
11
+ layout: {
12
+ type: String,
13
+ required: !1,
14
+ default: "mix"
15
+ },
16
+ /** 头部高度 */
17
+ headerHeight: {
18
+ type: Number,
19
+ required: !1,
20
+ default: 60
21
+ },
22
+ /** logo */
23
+ logo: {
24
+ type: String,
25
+ required: !1,
26
+ default: "http://p3-armor.byteimg.com/tos-cn-i-49unhts6dw/dfdba5317c0c20ce20e64fac803d52bc.svg~tplv-49unhts6dw-image.image"
27
+ },
28
+ /** 标题 */
29
+ title: {
30
+ type: String,
31
+ required: !1,
32
+ default: "KeyBlade Pro"
33
+ },
34
+ /** 侧边栏宽度 */
35
+ siderWidth: {
36
+ type: Number,
37
+ required: !1,
38
+ default: 220
39
+ },
40
+ /** 侧边栏响应式的断点 */
41
+ siderBreakpoint: {
42
+ type: String,
43
+ required: !1,
44
+ default: "xl"
45
+ },
46
+ /** 侧边栏是否收缩,会受 siderBreakpoint 影响 */
47
+ siderCollapsed: {
48
+ type: Boolean,
49
+ required: !1,
50
+ default: !1
51
+ },
52
+ /** 菜单项 */
53
+ menuItems: {
54
+ type: Array,
55
+ required: !1,
56
+ default: () => []
57
+ },
58
+ /** 页脚标题 */
59
+ footerTitle: {
60
+ type: String,
61
+ required: !1,
62
+ default: "KeyBlade Pro"
63
+ },
64
+ /** 是否隐藏页脚 */
65
+ hideFooter: {
66
+ type: Boolean,
67
+ required: !1,
68
+ default: !1
69
+ },
70
+ /** 是否隐藏多页签 */
71
+ hideTabs: {
72
+ type: Boolean,
73
+ required: !1,
74
+ default: !1
75
+ },
76
+ /** tabs尺寸 */
77
+ tabsSize: {
78
+ type: String,
79
+ required: !1,
80
+ default: "small"
81
+ },
82
+ /** tabs类型 */
83
+ tabsType: {
84
+ type: String,
85
+ required: !1,
86
+ default: "rounded"
87
+ },
88
+ /** tabs头部间距 */
89
+ tabsHeaderPadding: {
90
+ type: Boolean,
91
+ required: !1,
92
+ default: !0
93
+ },
94
+ /** 禁用全局路由缓存 */
95
+ disableKeepAlive: {
96
+ type: Boolean,
97
+ required: !1,
98
+ default: !1
99
+ }
100
+ },
101
+ emits: {
102
+ /** 收缩事件 */
103
+ collapse: (t) => !0,
104
+ /** keepAlive改变事件 */
105
+ keepAliveIncludeChange: (t) => !0
106
+ },
107
+ setup(t, { emit: $ }) {
108
+ const c = t;
109
+ X((i) => ({
110
+ c299e954: W,
111
+ "5c2d09d7": z,
112
+ "4313bece": V
113
+ }));
114
+ const { menuItems: C } = Y(c), b = Z(), {
115
+ menuSelectedKeys: P,
116
+ breadcrumbItems: w,
117
+ tabs: T,
118
+ keepAliveInclude: h,
119
+ onMenuItemClick: H,
120
+ onTabClick: K,
121
+ onTabDelete: N
122
+ } = te(C, {
123
+ hideTabs: c.hideTabs,
124
+ disableKeepAlive: c.disableKeepAlive
125
+ });
126
+ I("ProBreadcrumbItems", w), I("ProKeepAliveInclude", h);
127
+ const W = `${c.headerHeight}px`, z = `${c.siderWidth}px`, V = `${oe}px`, d = ee(c.siderCollapsed), q = (i) => {
128
+ d.value = i, $("collapse", i);
129
+ };
130
+ return A(() => c.siderCollapsed, () => {
131
+ d.value = c.siderCollapsed;
132
+ }, { immediate: !0 }), A(h, () => {
133
+ $("keepAliveIncludeChange", h.value);
134
+ }, { immediate: !0 }), (i, S) => {
135
+ const B = a("a-typography-title"), x = a("a-space"), D = a("a-layout-header"), F = a("kb-pro-menu"), M = a("icon-menu-unfold"), E = a("icon-menu-fold"), R = a("a-button"), j = a("a-layout-sider"), G = a("kb-pro-reuse-tabs"), J = a("a-affix"), L = a("kb-pro-keep-alive-router-view"), O = a("a-layout-content"), Q = a("a-layout-footer"), g = a("a-layout");
136
+ return o(), u(g, {
137
+ class: l([e, `${e}-${t.layout}`])
138
+ }, {
139
+ default: s(() => [
140
+ r(D, {
141
+ class: l([`${e}-header`, { [`${e}-header-collapsed`]: d.value }])
142
+ }, {
143
+ default: s(() => [
144
+ p("div", {
145
+ class: l(`${e}-header-left`)
146
+ }, [
147
+ n(b)["header-left"] ? y(i.$slots, "header-left", { key: 0 }) : (o(), m(k, { key: 1 }, [
148
+ t.layout !== "side" ? (o(), m("div", {
149
+ key: 0,
150
+ class: l(`${e}-header-left-logo`)
151
+ }, [
152
+ r(x, null, {
153
+ default: s(() => [
154
+ p("img", {
155
+ class: l(`${e}-header-left-logo-img`),
156
+ alt: "logo",
157
+ src: t.logo
158
+ }, null, 10, le),
159
+ d.value ? f("", !0) : (o(), u(B, {
160
+ key: 0,
161
+ class: l(`${e}-header-left-logo-title`),
162
+ heading: 5
163
+ }, {
164
+ default: s(() => [
165
+ _(v(t.title), 1)
166
+ ]),
167
+ _: 1
168
+ }, 8, ["class"]))
169
+ ]),
170
+ _: 1
171
+ })
172
+ ], 2)) : f("", !0)
173
+ ], 64))
174
+ ], 2),
175
+ p("div", {
176
+ class: l(`${e}-header-center`)
177
+ }, [
178
+ n(b)["header-center"] ? y(i.$slots, "header-center", { key: 0 }) : f("", !0)
179
+ ], 2),
180
+ p("div", {
181
+ class: l(`${e}-header-right`)
182
+ }, [
183
+ y(i.$slots, "header-right")
184
+ ], 2)
185
+ ]),
186
+ _: 3
187
+ }, 8, ["class"]),
188
+ r(g, null, {
189
+ default: s(() => [
190
+ r(j, {
191
+ class: l([`${e}-sider`, { [`${e}-sider-collapsed`]: d.value }]),
192
+ width: t.siderWidth,
193
+ collapsible: !0,
194
+ breakpoint: t.siderBreakpoint,
195
+ collapsed: d.value,
196
+ "hide-trigger": !0,
197
+ onCollapse: q
198
+ }, {
199
+ default: s(() => [
200
+ p("div", {
201
+ class: l(`${e}-sider-content`)
202
+ }, [
203
+ n(b)["sider-top"] ? y(i.$slots, "sider-top", { key: 0 }) : (o(), m(k, { key: 1 }, [
204
+ t.layout === "side" ? (o(), m("div", {
205
+ key: 0,
206
+ class: l(`${e}-sider-content-logo`)
207
+ }, [
208
+ r(x, null, {
209
+ default: s(() => [
210
+ p("img", {
211
+ class: l(`${e}-sider-content-logo-img`),
212
+ alt: "logo",
213
+ src: t.logo
214
+ }, null, 10, ae),
215
+ d.value ? f("", !0) : (o(), u(B, {
216
+ key: 0,
217
+ class: l(`${e}-sider-content-logo-title`),
218
+ heading: 5
219
+ }, {
220
+ default: s(() => [
221
+ _(v(t.title), 1)
222
+ ]),
223
+ _: 1
224
+ }, 8, ["class"]))
225
+ ]),
226
+ _: 1
227
+ })
228
+ ], 2)) : f("", !0)
229
+ ], 64)),
230
+ r(F, {
231
+ collapsed: d.value,
232
+ "selected-keys": n(P),
233
+ items: n(C),
234
+ onMenuItemClick: n(H)
235
+ }, null, 8, ["collapsed", "selected-keys", "items", "onMenuItemClick"])
236
+ ], 2),
237
+ r(R, {
238
+ class: l(`${e}-sider-collapse-btn`),
239
+ size: "mini",
240
+ onClick: S[0] || (S[0] = (se) => q(!d.value))
241
+ }, {
242
+ icon: s(() => [
243
+ d.value ? (o(), u(M, { key: 0 })) : (o(), u(E, { key: 1 }))
244
+ ]),
245
+ _: 1
246
+ }, 8, ["class"])
247
+ ]),
248
+ _: 3
249
+ }, 8, ["class", "width", "breakpoint", "collapsed"]),
250
+ r(g, {
251
+ class: l([`${e}-body`, { [`${e}-body-collapsed`]: d.value }])
252
+ }, {
253
+ default: s(() => [
254
+ t.hideTabs ? f("", !0) : (o(), u(J, {
255
+ key: 0,
256
+ class: l(`${e}-body-affix`),
257
+ offsetTop: t.headerHeight
258
+ }, {
259
+ default: s(() => [
260
+ n(T).length > 0 ? (o(), u(G, {
261
+ key: 0,
262
+ tabs: n(T),
263
+ "tabs-size": t.tabsSize,
264
+ "tabs-type": t.tabsType,
265
+ "tabs-header-padding": t.tabsHeaderPadding,
266
+ onTabClick: n(K),
267
+ onTabDelete: n(N)
268
+ }, null, 8, ["tabs", "tabs-size", "tabs-type", "tabs-header-padding", "onTabClick", "onTabDelete"])) : f("", !0)
269
+ ]),
270
+ _: 1
271
+ }, 8, ["class", "offsetTop"])),
272
+ r(O, null, {
273
+ default: s(() => [
274
+ r(L)
275
+ ]),
276
+ _: 1
277
+ }),
278
+ t.hideFooter ? f("", !0) : (o(), m(k, { key: 1 }, [
279
+ n(b).footer !== void 0 ? y(i.$slots, "footer", { key: 0 }) : (o(), u(Q, {
280
+ key: 1,
281
+ class: l(`${e}-body-footer`)
282
+ }, {
283
+ default: s(() => [
284
+ _(v(t.footerTitle), 1)
285
+ ]),
286
+ _: 1
287
+ }, 8, ["class"]))
288
+ ], 64))
289
+ ]),
290
+ _: 3
291
+ }, 8, ["class"])
292
+ ]),
293
+ _: 3
294
+ })
295
+ ]),
296
+ _: 3
297
+ }, 8, ["class"]);
298
+ };
299
+ }
300
+ });
301
+ export {
302
+ re as default
303
+ };
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,5 @@
1
+ import o from "./pro-layout.vue.js";
2
+ import "./pro-layout.vue2.js";
3
+ export {
4
+ o as default
5
+ };
@@ -0,0 +1,167 @@
1
+ import type { App } from 'vue';
2
+ declare const ProMenu: {
3
+ new (...args: any[]): {
4
+ $: import("vue").ComponentInternalInstance;
5
+ $data: {};
6
+ $props: {
7
+ mode?: "horizontal" | "vertical" | undefined;
8
+ key?: string | number | symbol | undefined;
9
+ ref?: import("vue").VNodeRef | undefined;
10
+ ref_for?: boolean | undefined;
11
+ ref_key?: string | undefined;
12
+ onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
13
+ [key: string]: any;
14
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
15
+ [key: string]: any;
16
+ }>) => void)[] | undefined;
17
+ onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
18
+ [key: string]: any;
19
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
20
+ [key: string]: any;
21
+ }>) => void)[] | undefined;
22
+ onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
23
+ [key: string]: any;
24
+ }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
25
+ [key: string]: any;
26
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
27
+ [key: string]: any;
28
+ }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
29
+ [key: string]: any;
30
+ }>) => void)[] | undefined;
31
+ onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
+ [key: string]: any;
33
+ }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
34
+ [key: string]: any;
35
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
36
+ [key: string]: any;
37
+ }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
38
+ [key: string]: any;
39
+ }>) => void)[] | undefined;
40
+ onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
41
+ [key: string]: any;
42
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
43
+ [key: string]: any;
44
+ }>) => void)[] | undefined;
45
+ onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
46
+ [key: string]: any;
47
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
48
+ [key: string]: any;
49
+ }>) => void)[] | undefined;
50
+ class?: unknown;
51
+ style?: unknown;
52
+ readonly collapsed: boolean;
53
+ readonly selectedKeys: string[];
54
+ readonly items: import("./interface").IProMenuItem[];
55
+ "onMenu-item-click"?: ((key: string) => any) | undefined;
56
+ };
57
+ $attrs: {
58
+ [x: string]: unknown;
59
+ };
60
+ $refs: {
61
+ [x: string]: unknown;
62
+ };
63
+ $slots: Readonly<{
64
+ [name: string]: import("vue").Slot<any> | undefined;
65
+ }>;
66
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
67
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
68
+ $emit: (event: "menu-item-click", key: string) => void;
69
+ $el: any;
70
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
71
+ mode: {
72
+ type: import("vue").PropType<"horizontal" | "vertical">;
73
+ required: false;
74
+ default: string;
75
+ };
76
+ collapsed: {
77
+ type: import("vue").PropType<boolean>;
78
+ required: true;
79
+ };
80
+ selectedKeys: {
81
+ type: import("vue").PropType<string[]>;
82
+ required: true;
83
+ };
84
+ items: {
85
+ type: import("vue").PropType<import("./interface").IProMenuItem[]>;
86
+ required: true;
87
+ };
88
+ }>> & {
89
+ "onMenu-item-click"?: ((key: string) => any) | undefined;
90
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
91
+ "menu-item-click": (key: string) => void;
92
+ }, string, {
93
+ mode: "horizontal" | "vertical";
94
+ }, {}, string, {}> & {
95
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
96
+ created?: ((() => void) | (() => void)[]) | undefined;
97
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
98
+ mounted?: ((() => void) | (() => void)[]) | undefined;
99
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
100
+ updated?: ((() => void) | (() => void)[]) | undefined;
101
+ activated?: ((() => void) | (() => void)[]) | undefined;
102
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
103
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
104
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
105
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
106
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
107
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
108
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
109
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
110
+ };
111
+ $forceUpdate: () => void;
112
+ $nextTick: typeof import("vue").nextTick;
113
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
114
+ } & Readonly<import("vue").ExtractPropTypes<{
115
+ mode: {
116
+ type: import("vue").PropType<"horizontal" | "vertical">;
117
+ required: false;
118
+ default: string;
119
+ };
120
+ collapsed: {
121
+ type: import("vue").PropType<boolean>;
122
+ required: true;
123
+ };
124
+ selectedKeys: {
125
+ type: import("vue").PropType<string[]>;
126
+ required: true;
127
+ };
128
+ items: {
129
+ type: import("vue").PropType<import("./interface").IProMenuItem[]>;
130
+ required: true;
131
+ };
132
+ }>> & {
133
+ "onMenu-item-click"?: ((key: string) => any) | undefined;
134
+ } & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
135
+ __isFragment?: undefined;
136
+ __isTeleport?: undefined;
137
+ __isSuspense?: undefined;
138
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
139
+ mode: {
140
+ type: import("vue").PropType<"horizontal" | "vertical">;
141
+ required: false;
142
+ default: string;
143
+ };
144
+ collapsed: {
145
+ type: import("vue").PropType<boolean>;
146
+ required: true;
147
+ };
148
+ selectedKeys: {
149
+ type: import("vue").PropType<string[]>;
150
+ required: true;
151
+ };
152
+ items: {
153
+ type: import("vue").PropType<import("./interface").IProMenuItem[]>;
154
+ required: true;
155
+ };
156
+ }>> & {
157
+ "onMenu-item-click"?: ((key: string) => any) | undefined;
158
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
159
+ "menu-item-click": (key: string) => void;
160
+ }, string, {
161
+ mode: "horizontal" | "vertical";
162
+ }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
163
+ install: (app: App) => void;
164
+ };
165
+ export * from './interface';
166
+ export { ProMenu };
167
+ export default ProMenu;
@@ -0,0 +1,12 @@
1
+ import n from "./pro-menu.vue.js";
2
+ import "./pro-menu.vue2.js";
3
+ import { Menu as t } from "@arco-design/web-vue";
4
+ const e = Object.assign(n, {
5
+ install: (o) => {
6
+ o.use(t), o.component("KbProMenu", n);
7
+ }
8
+ }), i = e;
9
+ export {
10
+ e as ProMenu,
11
+ i as default
12
+ };
@@ -0,0 +1,39 @@
1
+ export interface IProMenuItem {
2
+ /** 英文名称(唯一标识,不能重复) */
3
+ name: string;
4
+ /** 路径 */
5
+ path: string;
6
+ /** 中文名称 */
7
+ title: string;
8
+ /** 当此节点被选中的时候也会选中 activatedKeys 的节点 */
9
+ activatedKeys?: string[];
10
+ /**
11
+ * 菜单图标
12
+ * 方式一、arco design icon: 'icon-apps',这样需要在主项目中,手动使用 app.use(IconXXX) 进行注册,否则按需加载不能识别动态组件
13
+ * 方式二、url: 绝对路径或相对路径
14
+ * */
15
+ icon?: string;
16
+ /**
17
+ * 选中菜单图标
18
+ * 方式一、arco design icon: 'icon-apps',这样需要在主项目中,手动使用 app.use(IconXXX) 进行注册,否则按需加载不能识别动态组件
19
+ * 方式二、url: 绝对路径或相对路径
20
+ * */
21
+ selectedIcon?: string;
22
+ /** 如果设置为 true,右侧菜单不显示 */
23
+ hideInMenu?: boolean;
24
+ /** 如果设置为 true,右侧菜单不显示下面子菜单 */
25
+ hideChildrenInMenu?: boolean;
26
+ /** 如果设置为 true,则不会出现在多页签中 */
27
+ noAffix?: boolean;
28
+ /** 面包屑 */
29
+ breadcrumbs?: {
30
+ path?: string;
31
+ label: string;
32
+ }[];
33
+ /** 默认缓存,如果设置为 true,页面将不会被缓存 */
34
+ ignoreCache?: boolean;
35
+ /** 组件key,影响缓存和渲染 */
36
+ componentKey?: 'path' | 'fullPath';
37
+ /** 子菜单 */
38
+ children?: IProMenuItem[];
39
+ }
@@ -0,0 +1,46 @@
1
+ import { type PropType } from 'vue';
2
+ import type { IProMenuItem } from './interface';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ mode: {
5
+ type: PropType<"horizontal" | "vertical">;
6
+ required: false;
7
+ default: string;
8
+ };
9
+ collapsed: {
10
+ type: PropType<boolean>;
11
+ required: true;
12
+ };
13
+ selectedKeys: {
14
+ type: PropType<string[]>;
15
+ required: true;
16
+ };
17
+ items: {
18
+ type: PropType<IProMenuItem[]>;
19
+ required: true;
20
+ };
21
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
22
+ "menu-item-click": (key: string) => void;
23
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
24
+ mode: {
25
+ type: PropType<"horizontal" | "vertical">;
26
+ required: false;
27
+ default: string;
28
+ };
29
+ collapsed: {
30
+ type: PropType<boolean>;
31
+ required: true;
32
+ };
33
+ selectedKeys: {
34
+ type: PropType<string[]>;
35
+ required: true;
36
+ };
37
+ items: {
38
+ type: PropType<IProMenuItem[]>;
39
+ required: true;
40
+ };
41
+ }>> & {
42
+ "onMenu-item-click"?: ((key: string) => any) | undefined;
43
+ }, {
44
+ mode: "horizontal" | "vertical";
45
+ }, {}>;
46
+ export default _default;