@keyblade/pro-components 1.10.2 → 1.11.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.
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,188 @@
1
+ import type { App } from 'vue';
2
+ declare const ProReuseTabs: {
3
+ new (...args: any[]): {
4
+ $: import("vue").ComponentInternalInstance;
5
+ $data: {};
6
+ $props: {
7
+ tabs?: import("./interface").IProTab[] | undefined;
8
+ tabsSize?: "small" | "mini" | "medium" | "large" | undefined;
9
+ tabsType?: "line" | "text" | "card" | "card-gutter" | "rounded" | "capsule" | undefined;
10
+ tabsHeaderPadding?: boolean | undefined;
11
+ key?: string | number | symbol | undefined;
12
+ ref?: import("vue").VNodeRef | undefined;
13
+ ref_for?: boolean | undefined;
14
+ ref_key?: string | undefined;
15
+ onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
16
+ [key: string]: any;
17
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
18
+ [key: string]: any;
19
+ }>) => void)[] | undefined;
20
+ onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
21
+ [key: string]: any;
22
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
23
+ [key: string]: any;
24
+ }>) => void)[] | undefined;
25
+ onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
26
+ [key: string]: any;
27
+ }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
28
+ [key: string]: any;
29
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
30
+ [key: string]: any;
31
+ }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
+ [key: string]: any;
33
+ }>) => void)[] | undefined;
34
+ onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
+ [key: string]: any;
36
+ }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
+ [key: string]: any;
38
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
39
+ [key: string]: any;
40
+ }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
41
+ [key: string]: any;
42
+ }>) => void)[] | undefined;
43
+ onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
44
+ [key: string]: any;
45
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
46
+ [key: string]: any;
47
+ }>) => void)[] | undefined;
48
+ onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
49
+ [key: string]: any;
50
+ }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
51
+ [key: string]: any;
52
+ }>) => void)[] | undefined;
53
+ class?: unknown;
54
+ style?: unknown;
55
+ "onTab-click"?: ((key: string) => any) | undefined;
56
+ "onTab-delete"?: ((key: string) => any) | undefined;
57
+ };
58
+ $attrs: {
59
+ [x: string]: unknown;
60
+ };
61
+ $refs: {
62
+ [x: string]: unknown;
63
+ };
64
+ $slots: Readonly<{
65
+ [name: string]: import("vue").Slot<any> | undefined;
66
+ }>;
67
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
68
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
69
+ $emit: ((event: "tab-click", key: string) => void) & ((event: "tab-delete", key: string) => void);
70
+ $el: any;
71
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
72
+ tabs: {
73
+ type: import("vue").PropType<import("./interface").IProTab[]>;
74
+ required: true;
75
+ default: () => never[];
76
+ };
77
+ tabsSize: {
78
+ type: import("vue").PropType<"small" | "mini" | "medium" | "large">;
79
+ required: false;
80
+ default: string;
81
+ };
82
+ tabsType: {
83
+ type: import("vue").PropType<"line" | "text" | "card" | "card-gutter" | "rounded" | "capsule">;
84
+ required: false;
85
+ default: string;
86
+ };
87
+ tabsHeaderPadding: {
88
+ type: import("vue").PropType<boolean>;
89
+ required: false;
90
+ default: boolean;
91
+ };
92
+ }>> & {
93
+ "onTab-click"?: ((key: string) => any) | undefined;
94
+ "onTab-delete"?: ((key: string) => any) | undefined;
95
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
96
+ "tab-click": (key: string) => void;
97
+ "tab-delete": (key: string) => void;
98
+ }, string, {
99
+ tabs: import("./interface").IProTab[];
100
+ tabsSize: "small" | "mini" | "medium" | "large";
101
+ tabsType: "line" | "text" | "card" | "card-gutter" | "rounded" | "capsule";
102
+ tabsHeaderPadding: boolean;
103
+ }, {}, string, {}> & {
104
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
105
+ created?: ((() => void) | (() => void)[]) | undefined;
106
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
107
+ mounted?: ((() => void) | (() => void)[]) | undefined;
108
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
109
+ updated?: ((() => void) | (() => void)[]) | undefined;
110
+ activated?: ((() => void) | (() => void)[]) | undefined;
111
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
112
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
113
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
114
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
115
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
116
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
117
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
118
+ 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;
119
+ };
120
+ $forceUpdate: () => void;
121
+ $nextTick: typeof import("vue").nextTick;
122
+ $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;
123
+ } & Readonly<import("vue").ExtractPropTypes<{
124
+ tabs: {
125
+ type: import("vue").PropType<import("./interface").IProTab[]>;
126
+ required: true;
127
+ default: () => never[];
128
+ };
129
+ tabsSize: {
130
+ type: import("vue").PropType<"small" | "mini" | "medium" | "large">;
131
+ required: false;
132
+ default: string;
133
+ };
134
+ tabsType: {
135
+ type: import("vue").PropType<"line" | "text" | "card" | "card-gutter" | "rounded" | "capsule">;
136
+ required: false;
137
+ default: string;
138
+ };
139
+ tabsHeaderPadding: {
140
+ type: import("vue").PropType<boolean>;
141
+ required: false;
142
+ default: boolean;
143
+ };
144
+ }>> & {
145
+ "onTab-click"?: ((key: string) => any) | undefined;
146
+ "onTab-delete"?: ((key: string) => any) | undefined;
147
+ } & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
148
+ __isFragment?: undefined;
149
+ __isTeleport?: undefined;
150
+ __isSuspense?: undefined;
151
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
152
+ tabs: {
153
+ type: import("vue").PropType<import("./interface").IProTab[]>;
154
+ required: true;
155
+ default: () => never[];
156
+ };
157
+ tabsSize: {
158
+ type: import("vue").PropType<"small" | "mini" | "medium" | "large">;
159
+ required: false;
160
+ default: string;
161
+ };
162
+ tabsType: {
163
+ type: import("vue").PropType<"line" | "text" | "card" | "card-gutter" | "rounded" | "capsule">;
164
+ required: false;
165
+ default: string;
166
+ };
167
+ tabsHeaderPadding: {
168
+ type: import("vue").PropType<boolean>;
169
+ required: false;
170
+ default: boolean;
171
+ };
172
+ }>> & {
173
+ "onTab-click"?: ((key: string) => any) | undefined;
174
+ "onTab-delete"?: ((key: string) => any) | undefined;
175
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
176
+ "tab-click": (key: string) => void;
177
+ "tab-delete": (key: string) => void;
178
+ }, string, {
179
+ tabs: import("./interface").IProTab[];
180
+ tabsSize: "small" | "mini" | "medium" | "large";
181
+ tabsType: "line" | "text" | "card" | "card-gutter" | "rounded" | "capsule";
182
+ tabsHeaderPadding: boolean;
183
+ }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
184
+ install: (app: App) => void;
185
+ };
186
+ export * from './interface';
187
+ export { ProReuseTabs };
188
+ export default ProReuseTabs;
@@ -0,0 +1,12 @@
1
+ import o from "./pro-reuse-tabs.vue.js";
2
+ import "./pro-reuse-tabs.vue2.js";
3
+ import { Tabs as e } from "@arco-design/web-vue";
4
+ const t = Object.assign(o, {
5
+ install: (s) => {
6
+ s.use(e), s.component("KbProReuseTabs", o);
7
+ }
8
+ }), n = t;
9
+ export {
10
+ t as ProReuseTabs,
11
+ n as default
12
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * tab
3
+ */
4
+ export interface IProTab {
5
+ /** 菜单名称 */
6
+ name: string;
7
+ /** 所有父级且包含自己的所有名称(主要用作路由缓存) */
8
+ parentNames: string[];
9
+ /** 菜单标题 */
10
+ title: string;
11
+ /** 完整路径 */
12
+ fullPath: string;
13
+ /** 是否激活 */
14
+ active: boolean;
15
+ }
@@ -0,0 +1,59 @@
1
+ import { type PropType } from 'vue';
2
+ import type { IProTab } from './interface';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ tabs: {
5
+ type: PropType<IProTab[]>;
6
+ required: true;
7
+ default: () => never[];
8
+ };
9
+ tabsSize: {
10
+ type: PropType<"small" | "mini" | "medium" | "large">;
11
+ required: false;
12
+ default: string;
13
+ };
14
+ /** tabs类型 */
15
+ tabsType: {
16
+ type: PropType<"line" | "text" | "card" | "card-gutter" | "rounded" | "capsule">;
17
+ required: false;
18
+ default: string;
19
+ };
20
+ tabsHeaderPadding: {
21
+ type: PropType<boolean>;
22
+ required: false;
23
+ default: boolean;
24
+ };
25
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
26
+ "tab-click": (key: string) => void;
27
+ "tab-delete": (key: string) => void;
28
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
29
+ tabs: {
30
+ type: PropType<IProTab[]>;
31
+ required: true;
32
+ default: () => never[];
33
+ };
34
+ tabsSize: {
35
+ type: PropType<"small" | "mini" | "medium" | "large">;
36
+ required: false;
37
+ default: string;
38
+ };
39
+ /** tabs类型 */
40
+ tabsType: {
41
+ type: PropType<"line" | "text" | "card" | "card-gutter" | "rounded" | "capsule">;
42
+ required: false;
43
+ default: string;
44
+ };
45
+ tabsHeaderPadding: {
46
+ type: PropType<boolean>;
47
+ required: false;
48
+ default: boolean;
49
+ };
50
+ }>> & {
51
+ "onTab-click"?: ((key: string) => any) | undefined;
52
+ "onTab-delete"?: ((key: string) => any) | undefined;
53
+ }, {
54
+ tabs: IProTab[];
55
+ tabsSize: "small" | "mini" | "medium" | "large";
56
+ tabsType: "line" | "text" | "card" | "card-gutter" | "rounded" | "capsule";
57
+ tabsHeaderPadding: boolean;
58
+ }, {}>;
59
+ export default _default;
@@ -0,0 +1,70 @@
1
+ import { defineComponent as y, computed as m, resolveComponent as l, openBlock as a, createElementBlock as d, normalizeClass as f, createVNode as k, withCtx as g, Fragment as v, renderList as h, createBlock as C } from "vue";
2
+ const S = "keyblade-pro-reuse-tabs", q = /* @__PURE__ */ y({
3
+ __name: "pro-reuse-tabs",
4
+ props: {
5
+ tabs: {
6
+ type: Array,
7
+ required: !0,
8
+ default: () => []
9
+ },
10
+ tabsSize: {
11
+ type: String,
12
+ required: !1,
13
+ default: "small"
14
+ },
15
+ /** tabs类型 */
16
+ tabsType: {
17
+ type: String,
18
+ required: !1,
19
+ default: "rounded"
20
+ },
21
+ tabsHeaderPadding: {
22
+ type: Boolean,
23
+ required: !1,
24
+ default: !0
25
+ }
26
+ },
27
+ emits: {
28
+ "tab-click": (e) => !0,
29
+ "tab-delete": (e) => !0
30
+ },
31
+ setup(e, { emit: n }) {
32
+ const s = e, o = m(() => {
33
+ var t;
34
+ return ((t = s.tabs.find((r) => r.active)) == null ? void 0 : t.name) ?? void 0;
35
+ }), c = (t) => {
36
+ n("tab-click", String(t));
37
+ }, u = (t) => {
38
+ n("tab-delete", String(t));
39
+ };
40
+ return (t, r) => {
41
+ const b = l("a-tab-pane"), p = l("a-tabs");
42
+ return a(), d("div", {
43
+ class: f(S)
44
+ }, [
45
+ k(p, {
46
+ "active-key": o.value,
47
+ size: e.tabsSize,
48
+ type: e.tabsType,
49
+ "header-padding": e.tabsHeaderPadding,
50
+ editable: e.tabs.length > 1,
51
+ "hide-content": "",
52
+ "destroy-on-hide": "",
53
+ onTabClick: c,
54
+ onDelete: u
55
+ }, {
56
+ default: g(() => [
57
+ (a(!0), d(v, null, h(e.tabs, (i) => (a(), C(b, {
58
+ key: i.name,
59
+ title: i.title
60
+ }, null, 8, ["title"]))), 128))
61
+ ]),
62
+ _: 1
63
+ }, 8, ["active-key", "size", "type", "header-padding", "editable"])
64
+ ]);
65
+ };
66
+ }
67
+ });
68
+ export {
69
+ q as default
70
+ };
@@ -0,0 +1,5 @@
1
+ import o from "./pro-reuse-tabs.vue.js";
2
+ import "./pro-reuse-tabs.vue2.js";
3
+ export {
4
+ o as default
5
+ };
package/es/style.css ADDED
@@ -0,0 +1 @@
1
+ .keyblade-pro-page-container .keyblade-pro-page-container-content{padding:20px}.keyblade-pro-reuse-tabs{position:relative;background-color:var(--color-bg-2);padding:4px 20px}.keyblade-pro-menu .keyblade-pro-menu-item-img{width:14px;height:auto}.keyblade-pro-layout{width:100%;height:100%}.keyblade-pro-layout .keyblade-pro-layout-header{position:fixed;top:0;left:0;width:100%;height:var(--c299e954);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background-color:var(--color-bg-2);border-bottom:1px solid var(--color-border);transition:all .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-header-left{cursor:pointer;display:flex;align-items:center}.keyblade-pro-layout .keyblade-pro-layout-header-left-logo-img{width:28px;height:28px}.keyblade-pro-layout .keyblade-pro-layout-header-left-logo-title.arco-typography{margin:0;font-size:18px}.keyblade-pro-layout .keyblade-pro-layout-header-center{flex:1}.keyblade-pro-layout .keyblade-pro-layout-sider{padding-top:var(--c299e954);position:fixed;top:0;left:0;z-index:99;height:100%;transition:all .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-sider-content{position:relative;height:100%;overflow:auto}.keyblade-pro-layout .keyblade-pro-layout-sider-collapse-btn.arco-btn{position:absolute;right:12px;bottom:12px}.keyblade-pro-layout .keyblade-pro-layout-body{padding-top:var(--c299e954);padding-left:var(--5c2d09d7);min-height:100vh;overflow-y:hidden;background-color:var(--color-fill-2);transition:padding .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-body-affix .arco-affix{z-index:98}.keyblade-pro-layout .keyblade-pro-layout-body-footer{display:flex;align-items:center;justify-content:center;height:40px;color:var(--color-text-2);text-align:center}.keyblade-pro-layout .keyblade-pro-layout-body-collapsed{padding-left:var(--4313bece)}.keyblade-pro-layout-side .keyblade-pro-layout-header{z-index:98;left:var(--5c2d09d7);width:calc(100% - var(--5c2d09d7))}.keyblade-pro-layout-side .keyblade-pro-layout-header-collapsed{left:var(--4313bece);width:calc(100% - var(--4313bece))}.keyblade-pro-layout-side .keyblade-pro-layout-sider{padding-top:0}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo{position:relative;display:flex;align-items:center;padding:16px;cursor:pointer;transition:padding .3s cubic-bezier(.645,.045,.355,1)}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo-img{width:28px;height:28px}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo-title.arco-typography{margin:0;font-size:18px}.keyblade-pro-layout-side .keyblade-pro-layout-sider-collapsed .keyblade-pro-layout-sider-content-logo{padding:16px 10px}.keyblade-pro-page-header{background:var(--color-bg-2);padding:16px 32px}.keyblade-pro-page-header .keyblade-pro-page-header-section-breadcrumb .arco-breadcrumb-item:first-child{padding-left:0}.keyblade-pro-page-header .keyblade-pro-page-header-title.arco-typography{padding-top:4px;margin-top:0}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@keyblade/pro-components",
3
3
  "description": "KeyBlade Pro Components",
4
4
  "author": "yangshuai <704807396@qq.com>",
5
- "version": "1.10.2",
5
+ "version": "1.11.0",
6
6
  "private": false,
7
7
  "type": "module",
8
8
  "main": "es/index.js",