jky-component-lib 0.0.65 → 0.0.72

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 (75) hide show
  1. package/dist/es/components.d.ts +1 -0
  2. package/dist/es/components.js +4 -1
  3. package/dist/es/form/Form.vue.d.ts +8 -8
  4. package/dist/es/index.js +15 -0
  5. package/dist/es/menu/Menu.vue.d.ts +5 -4
  6. package/dist/es/menu/Menu.vue.js +63 -70
  7. package/dist/es/menu/MenuItem.vue.d.ts +7 -0
  8. package/dist/es/menu/MenuItem.vue.js +67 -0
  9. package/dist/es/menu/MenuItem.vue2.js +4 -0
  10. package/dist/es/menu/style.css +3 -2
  11. package/dist/es/package.json.js +1 -1
  12. package/dist/es/page-header/PageHeader.vue.js +2 -2
  13. package/dist/es/page-header/PopoverMenu.vue.js +2 -2
  14. package/dist/es/page-layout/PageLayout.vue.d.ts +11 -31
  15. package/dist/es/page-layout/PageLayout.vue.js +274 -103
  16. package/dist/es/page-layout/style.css +59 -0
  17. package/dist/es/page-table/PageTable.vue.d.ts +28 -28
  18. package/dist/es/style.css +1190 -69
  19. package/dist/es/styles.css +1 -1
  20. package/dist/es/tabs/TabContent.vue.d.ts +16 -0
  21. package/dist/es/tabs/TabContent.vue.js +65 -0
  22. package/dist/es/tabs/TabContent.vue3.js +5 -0
  23. package/dist/es/tabs/Tabs.vue.d.ts +46 -0
  24. package/dist/es/tabs/Tabs.vue.js +311 -0
  25. package/dist/es/tabs/Tabs.vue3.js +5 -0
  26. package/dist/es/tabs/index.d.ts +9 -0
  27. package/dist/es/tabs/index.js +8 -0
  28. package/dist/es/tabs/routeListener.d.ts +19 -0
  29. package/dist/es/tabs/routeListener.js +26 -0
  30. package/dist/es/tabs/style.css +29 -0
  31. package/dist/es/tabs/useTabs.d.ts +27 -0
  32. package/dist/es/tabs/useTabs.js +59 -0
  33. package/dist/es/tabs/useTabsStore.d.ts +53 -0
  34. package/dist/es/tabs/useTabsStore.js +208 -0
  35. package/dist/lib/components.d.ts +1 -0
  36. package/dist/lib/components.js +4 -1
  37. package/dist/lib/form/Form.vue.d.ts +8 -8
  38. package/dist/lib/index.js +15 -0
  39. package/dist/lib/menu/Menu.vue.d.ts +5 -4
  40. package/dist/lib/menu/Menu.vue.js +62 -69
  41. package/dist/lib/menu/MenuItem.vue.d.ts +7 -0
  42. package/dist/lib/menu/MenuItem.vue.js +67 -0
  43. package/dist/lib/menu/MenuItem.vue2.js +4 -0
  44. package/dist/lib/menu/style.css +3 -2
  45. package/dist/lib/package.json.js +1 -1
  46. package/dist/lib/page-header/PageHeader.vue.js +3 -3
  47. package/dist/lib/page-header/PopoverMenu.vue.js +2 -2
  48. package/dist/lib/page-layout/PageLayout.vue.d.ts +11 -31
  49. package/dist/lib/page-layout/PageLayout.vue.js +273 -102
  50. package/dist/lib/page-layout/style.css +59 -0
  51. package/dist/lib/page-table/PageTable.vue.d.ts +28 -28
  52. package/dist/lib/style.css +1190 -69
  53. package/dist/lib/styles.css +1 -1
  54. package/dist/lib/tabs/TabContent.vue.d.ts +16 -0
  55. package/dist/lib/tabs/TabContent.vue.js +65 -0
  56. package/dist/lib/tabs/TabContent.vue3.js +5 -0
  57. package/dist/lib/tabs/Tabs.vue.d.ts +46 -0
  58. package/dist/lib/tabs/Tabs.vue.js +311 -0
  59. package/dist/lib/tabs/Tabs.vue3.js +5 -0
  60. package/dist/lib/tabs/index.d.ts +9 -0
  61. package/dist/lib/tabs/index.js +8 -0
  62. package/dist/lib/tabs/routeListener.d.ts +19 -0
  63. package/dist/lib/tabs/routeListener.js +26 -0
  64. package/dist/lib/tabs/style.css +29 -0
  65. package/dist/lib/tabs/useTabs.d.ts +27 -0
  66. package/dist/lib/tabs/useTabs.js +59 -0
  67. package/dist/lib/tabs/useTabsStore.d.ts +53 -0
  68. package/dist/lib/tabs/useTabsStore.js +208 -0
  69. package/package.json +21 -4
  70. package/dist/es/menu/Aside.vue.d.ts +0 -17
  71. package/dist/es/menu/Aside.vue.js +0 -44
  72. package/dist/es/menu/Aside.vue2.js +0 -4
  73. package/dist/lib/menu/Aside.vue.d.ts +0 -17
  74. package/dist/lib/menu/Aside.vue.js +0 -44
  75. package/dist/lib/menu/Aside.vue2.js +0 -4
@@ -10,5 +10,6 @@ export * from './page-layout';
10
10
  export * from './page-table';
11
11
  export * from './rich-editor';
12
12
  export * from './say-hello';
13
+ export * from './tabs';
13
14
  export declare const components: Plugin[];
14
15
  export default components;
@@ -9,6 +9,7 @@ import { JkyPageLayout } from "./page-layout/index.js";
9
9
  import { JkyPageTable } from "./page-table/index.js";
10
10
  import { JkyRichEditor } from "./rich-editor/index.js";
11
11
  import { JkySayHello } from "./say-hello/index.js";
12
+ import { JkyTabs } from "./tabs/index.js";
12
13
  const components = [
13
14
  JkySayHello,
14
15
  JkyButton,
@@ -20,7 +21,8 @@ const components = [
20
21
  JkyAddInput,
21
22
  JkyRichEditor,
22
23
  JkyPageTable,
23
- JkyPageLayout
24
+ JkyPageLayout,
25
+ JkyTabs
24
26
  ];
25
27
  export {
26
28
  JkyAddInput,
@@ -34,5 +36,6 @@ export {
34
36
  JkyPageTable,
35
37
  JkyRichEditor,
36
38
  JkySayHello,
39
+ JkyTabs,
37
40
  components
38
41
  };
@@ -88,7 +88,7 @@ declare function getFormInstance(): ({
88
88
  validateOnRuleChange: boolean;
89
89
  }> & Omit<Readonly<import('element-plus').FormProps> & Readonly<{
90
90
  onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
91
- }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
91
+ }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & {
92
92
  validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
93
93
  validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
94
94
  resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
@@ -97,7 +97,7 @@ declare function getFormInstance(): ({
97
97
  getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
98
98
  fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
99
99
  setInitialValues: (initModel: Record<string, any>) => void;
100
- }> & {} & import('vue').ComponentCustomProperties & {} & {
100
+ } & {} & import('vue').ComponentCustomProperties & {} & {
101
101
  $slots: {
102
102
  default?: (props: {}) => any;
103
103
  };
@@ -195,7 +195,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
195
195
  validateOnRuleChange: boolean;
196
196
  }> & Omit<Readonly<import('element-plus').FormProps> & Readonly<{
197
197
  onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
198
- }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
198
+ }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & {
199
199
  validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
200
200
  validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
201
201
  resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
@@ -204,7 +204,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
204
204
  getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
205
205
  fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
206
206
  setInitialValues: (initModel: Record<string, any>) => void;
207
- }> & {} & import('vue').ComponentCustomProperties & {} & {
207
+ } & {} & import('vue').ComponentCustomProperties & {} & {
208
208
  $slots: {
209
209
  default?: (props: {}) => any;
210
210
  };
@@ -293,7 +293,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
293
293
  validateOnRuleChange: boolean;
294
294
  }> & Omit<Readonly<import('element-plus').FormProps> & Readonly<{
295
295
  onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
296
- }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
296
+ }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & {
297
297
  validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
298
298
  validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
299
299
  resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
@@ -302,7 +302,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
302
302
  getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
303
303
  fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
304
304
  setInitialValues: (initModel: Record<string, any>) => void;
305
- }> & {} & import('vue').ComponentCustomProperties & {} & {
305
+ } & {} & import('vue').ComponentCustomProperties & {} & {
306
306
  $slots: {
307
307
  default?: (props: {}) => any;
308
308
  };
@@ -427,7 +427,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
427
427
  validateOnRuleChange: boolean;
428
428
  }> & Omit<Readonly<import('element-plus').FormProps> & Readonly<{
429
429
  onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
430
- }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
430
+ }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & {
431
431
  validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
432
432
  validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
433
433
  resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
@@ -436,7 +436,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
436
436
  getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
437
437
  fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
438
438
  setInitialValues: (initModel: Record<string, any>) => void;
439
- }> & {} & import('vue').ComponentCustomProperties & {} & {
439
+ } & {} & import('vue').ComponentCustomProperties & {} & {
440
440
  $slots: {
441
441
  default?: (props: {}) => any;
442
442
  };
package/dist/es/index.js CHANGED
@@ -2,6 +2,8 @@ import { components } from "./components.js";
2
2
  import { createInstaller } from "./utils/installer.js";
3
3
  /* empty css */
4
4
  import { JkyComponentLibResolver } from "./resolver.js";
5
+ import { default as default2 } from "./tabs/TabContent.vue.js";
6
+ /* empty css */
5
7
  import { JkyAddInput } from "./add-input/index.js";
6
8
  import { JkyButton } from "./button/index.js";
7
9
  import { JkyButtonNav } from "./button-nav/index.js";
@@ -13,6 +15,10 @@ import { JkyPageLayout } from "./page-layout/index.js";
13
15
  import { JkyPageTable } from "./page-table/index.js";
14
16
  import { JkyRichEditor } from "./rich-editor/index.js";
15
17
  import { JkySayHello } from "./say-hello/index.js";
18
+ import { JkyTabs } from "./tabs/index.js";
19
+ import { clearRouteListeners, emitRouteChange, onRouteChange } from "./tabs/routeListener.js";
20
+ import { createTabsStore, resetTabsStore, useTabsStore } from "./tabs/useTabsStore.js";
21
+ import { useTabs } from "./tabs/useTabs.js";
16
22
  const installer = createInstaller(components);
17
23
  const install = installer.install;
18
24
  const version = installer.version;
@@ -29,8 +35,17 @@ export {
29
35
  JkyPageTable,
30
36
  JkyRichEditor,
31
37
  JkySayHello,
38
+ default2 as JkyTabContent,
39
+ JkyTabs,
40
+ clearRouteListeners,
32
41
  components,
42
+ createTabsStore,
33
43
  installer as default,
44
+ emitRouteChange,
34
45
  install,
46
+ onRouteChange,
47
+ resetTabsStore,
48
+ useTabs,
49
+ useTabsStore,
35
50
  version
36
51
  };
@@ -1,17 +1,18 @@
1
- import { MenuItem, MenuProps } from './types';
1
+ import { MenuProps } from './types';
2
2
  declare function __VLS_template(): {
3
3
  attrs: Partial<{}>;
4
4
  slots: {
5
5
  default?(_: {}): any;
6
- default?(_: {}): any;
7
6
  };
8
7
  refs: {};
9
8
  rootEl: any;
10
9
  };
11
10
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
12
11
  declare const __VLS_component: import('vue').DefineComponent<MenuProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<MenuProps> & Readonly<{}>, {
13
- aside: boolean;
14
- menuData: MenuItem[];
12
+ levels: number;
13
+ readonly uniqueOpened: boolean;
14
+ readonly menuTrigger: import('element-plus/es/utils').EpPropMergeType<StringConstructor, "click" | "hover", unknown>;
15
+ menuData: import('./types').MenuItem[];
15
16
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
17
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
18
  export default _default;
@@ -17,22 +17,31 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { defineComponent, openBlock, createBlock, withCtx, createVNode, unref, mergeProps, createElementBlock, Fragment, renderList, resolveDynamicComponent, renderSlot, h } from "vue";
20
+ import { defineComponent, useAttrs, openBlock, createBlock, unref, mergeProps, withCtx, createElementBlock, Fragment, renderList, normalizeClass, createCommentVNode, toDisplayString, renderSlot } from "vue";
21
21
  import { ElMenu, ElSubMenu, ElMenuItem } from "element-plus";
22
- import _sfc_main$1 from "./Aside.vue.js";
22
+ import _sfc_main$1 from "./MenuItem.vue.js";
23
+ const _hoisted_1 = {
24
+ key: 1,
25
+ class: "jky-menu-item__title"
26
+ };
27
+ const _hoisted_2 = {
28
+ key: 1,
29
+ class: "jky-menu-item__title"
30
+ };
23
31
  const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, {
24
- name: "JkyMenu"
32
+ name: "JkyMenu",
33
+ inheritAttrs: false
25
34
  }), {
26
35
  __name: "Menu",
27
36
  props: {
28
- aside: { type: Boolean, default: false },
29
37
  menuData: { default: () => [] },
38
+ levels: { default: 0 },
30
39
  mode: {},
31
40
  defaultActive: {},
32
41
  defaultOpeneds: {},
33
- uniqueOpened: { type: Boolean },
42
+ uniqueOpened: { type: Boolean, default: true },
34
43
  router: { type: Boolean },
35
- menuTrigger: {},
44
+ menuTrigger: { default: "click" },
36
45
  collapse: { type: Boolean },
37
46
  backgroundColor: {},
38
47
  textColor: {},
@@ -51,76 +60,60 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
51
60
  },
52
61
  setup(__props) {
53
62
  const props = __props;
54
- function renderMenuItem(item) {
55
- var _a;
56
- return h(
57
- ElMenuItem,
58
- {
59
- index: item.index || item.id || "",
60
- disabled: (_a = item.disabled) != null ? _a : false,
61
- route: item.route
62
- },
63
- {
64
- default: () => [
65
- item.icon ? h("span", { class: "jky-menu-item__icon" }, [h("span", { class: item.icon })]) : null,
66
- item.title ? h("span", { class: "jky-menu-item__title" }, item.title) : null
67
- ]
68
- }
69
- );
70
- }
71
- function renderSubMenu(item) {
72
- var _a;
73
- const children = item.children || [];
74
- return h(
75
- ElSubMenu,
76
- {
77
- index: item.index || item.id || "",
78
- disabled: (_a = item.disabled) != null ? _a : false,
79
- popperOffset: item.popperOffset
80
- },
81
- {
82
- title: () => [
83
- item.icon ? h("span", { class: "jky-menu-item__icon" }, [h("span", { class: item.icon })]) : null,
84
- item.title ? h("span", { class: "jky-menu-item__title" }, item.title) : null
85
- ],
86
- default: () => children.map((child) => renderMenuNode(child))
87
- }
88
- );
89
- }
90
- function renderMenuNode(item) {
91
- if (item.children && item.children.length > 0) {
92
- return renderSubMenu(item);
93
- }
94
- return renderMenuItem(item);
95
- }
63
+ const attrs = useAttrs();
96
64
  return (_ctx, _cache) => {
97
- return props.aside ? (openBlock(), createBlock(_sfc_main$1, { key: 0 }, {
98
- default: withCtx(() => [
99
- createVNode(unref(ElMenu), mergeProps({ class: "jky-menu" }, __spreadValues(__spreadValues({}, props), _ctx.$attrs)), {
100
- default: withCtx(() => [
101
- props.menuData && props.menuData.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(props.menuData, (item) => {
102
- return openBlock(), createBlock(resolveDynamicComponent(renderMenuNode(item)), {
103
- key: item.index || item.id
104
- });
105
- }), 128)) : renderSlot(_ctx.$slots, "default", { key: 1 })
106
- ]),
107
- _: 3
108
- }, 16)
109
- ]),
110
- _: 3
111
- })) : (openBlock(), createBlock(unref(ElMenu), mergeProps({
112
- key: 1,
113
- class: "jky-menu"
114
- }, __spreadValues(__spreadValues({}, props), _ctx.$attrs)), {
65
+ return openBlock(), createBlock(unref(ElMenu), mergeProps({ class: "jky-menu" }, __spreadValues(__spreadValues({}, unref(attrs)), props)), {
115
66
  default: withCtx(() => [
116
67
  props.menuData && props.menuData.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(props.menuData, (item) => {
117
- return openBlock(), createBlock(resolveDynamicComponent(renderMenuNode(item)), {
118
- key: item.index || item.id
119
- });
68
+ var _a, _b;
69
+ return openBlock(), createElementBlock(Fragment, {
70
+ key: item.index
71
+ }, [
72
+ item.children && item.children.length > 0 ? (openBlock(), createBlock(unref(ElSubMenu), {
73
+ key: 0,
74
+ index: item.index || "",
75
+ class: normalizeClass(item.customClass),
76
+ disabled: (_a = item.disabled) != null ? _a : false,
77
+ "popper-offset": item.popperOffset
78
+ }, {
79
+ title: withCtx(() => [
80
+ item.icon ? (openBlock(), createElementBlock("span", {
81
+ key: 0,
82
+ class: normalizeClass([item.icon, "jky-menu-item__icon"])
83
+ }, null, 2)) : createCommentVNode("", true),
84
+ item.title ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(item.title), 1)) : createCommentVNode("", true)
85
+ ]),
86
+ default: withCtx(() => [
87
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (child) => {
88
+ return openBlock(), createBlock(_sfc_main$1, {
89
+ key: child.index,
90
+ item: child,
91
+ levels: props.levels > 0 ? props.levels - 1 : 0
92
+ }, null, 8, ["item", "levels"]);
93
+ }), 128))
94
+ ]),
95
+ _: 2
96
+ }, 1032, ["index", "class", "disabled", "popper-offset"])) : (openBlock(), createBlock(unref(ElMenuItem), {
97
+ key: 1,
98
+ index: item.index || "",
99
+ class: normalizeClass(item.customClass),
100
+ disabled: (_b = item.disabled) != null ? _b : false,
101
+ route: item.route
102
+ }, {
103
+ default: withCtx(() => [
104
+ item.icon ? (openBlock(), createElementBlock("span", {
105
+ key: 0,
106
+ class: normalizeClass([item.icon, "jky-menu-item__icon"])
107
+ }, null, 2)) : createCommentVNode("", true),
108
+ item.title ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(item.title), 1)) : createCommentVNode("", true)
109
+ ]),
110
+ _: 2
111
+ }, 1032, ["index", "class", "disabled", "route"]))
112
+ ], 64);
120
113
  }), 128)) : renderSlot(_ctx.$slots, "default", { key: 1 })
121
114
  ]),
122
115
  _: 3
123
- }, 16));
116
+ }, 16);
124
117
  };
125
118
  }
126
119
  }));
@@ -0,0 +1,7 @@
1
+ import { MenuItem as MenuItemType } from './types';
2
+ type __VLS_Props = {
3
+ item: MenuItemType;
4
+ levels?: number;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
@@ -0,0 +1,67 @@
1
+ import { defineComponent, resolveComponent, openBlock, createBlock, unref, normalizeClass, withCtx, createElementBlock, Fragment, renderList, createCommentVNode, toDisplayString } from "vue";
2
+ import { ElSubMenu, ElMenuItem } from "element-plus";
3
+ const _hoisted_1 = {
4
+ key: 1,
5
+ class: "jky-menu-item__title"
6
+ };
7
+ const _hoisted_2 = {
8
+ key: 1,
9
+ class: "jky-menu-item__title"
10
+ };
11
+ const _sfc_main = /* @__PURE__ */ defineComponent({
12
+ __name: "MenuItem",
13
+ props: {
14
+ item: {},
15
+ levels: {}
16
+ },
17
+ setup(__props) {
18
+ const props = __props;
19
+ return (_ctx, _cache) => {
20
+ var _a, _b;
21
+ const _component_MenuItem = resolveComponent("MenuItem", true);
22
+ return props.item.children && props.item.children.length > 0 ? (openBlock(), createBlock(unref(ElSubMenu), {
23
+ key: 0,
24
+ index: props.item.index || "",
25
+ class: normalizeClass(props.item.customClass),
26
+ disabled: (_a = props.item.disabled) != null ? _a : false,
27
+ "popper-offset": props.item.popperOffset
28
+ }, {
29
+ title: withCtx(() => [
30
+ props.item.icon ? (openBlock(), createElementBlock("span", {
31
+ key: 0,
32
+ class: normalizeClass([props.item.icon, "jky-menu-item__icon"])
33
+ }, null, 2)) : createCommentVNode("", true),
34
+ props.item.title ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(props.item.title), 1)) : createCommentVNode("", true)
35
+ ]),
36
+ default: withCtx(() => [
37
+ (openBlock(true), createElementBlock(Fragment, null, renderList(props.item.children, (child) => {
38
+ return openBlock(), createBlock(_component_MenuItem, {
39
+ key: child.index,
40
+ item: child,
41
+ levels: props.levels !== void 0 && props.levels > 0 ? props.levels - 1 : 0
42
+ }, null, 8, ["item", "levels"]);
43
+ }), 128))
44
+ ]),
45
+ _: 1
46
+ }, 8, ["index", "class", "disabled", "popper-offset"])) : (openBlock(), createBlock(unref(ElMenuItem), {
47
+ key: 1,
48
+ index: props.item.index || "",
49
+ class: normalizeClass(props.item.customClass),
50
+ disabled: (_b = props.item.disabled) != null ? _b : false,
51
+ route: props.item.route
52
+ }, {
53
+ default: withCtx(() => [
54
+ props.item.icon ? (openBlock(), createElementBlock("span", {
55
+ key: 0,
56
+ class: normalizeClass([props.item.icon, "jky-menu-item__icon"])
57
+ }, null, 2)) : createCommentVNode("", true),
58
+ props.item.title ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(props.item.title), 1)) : createCommentVNode("", true)
59
+ ]),
60
+ _: 1
61
+ }, 8, ["index", "class", "disabled", "route"]));
62
+ };
63
+ }
64
+ });
65
+ export {
66
+ _sfc_main as default
67
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./MenuItem.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -42,7 +42,8 @@ li + li {
42
42
  }
43
43
 
44
44
  /* 4. 菜单项图标样式 */
45
- .jky-menu-item__icon {
45
+
46
+ /* .jky-menu-item__icon {
46
47
  display: inline-flex;
47
48
  align-items: center;
48
49
  justify-content: center;
@@ -51,7 +52,7 @@ li + li {
51
52
  margin-right: var(--jky-menu-icon-margin);
52
53
  font-size: var(--jky-menu-icon-size);
53
54
  flex-shrink: 0;
54
- }
55
+ } */
55
56
 
56
57
  /* 5. 菜单项标题样式 */
57
58
  .jky-menu-item__title {
@@ -1,4 +1,4 @@
1
- const version = "0.0.65";
1
+ const version = "0.0.72";
2
2
  export {
3
3
  version
4
4
  };
@@ -17,7 +17,7 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { defineComponent, openBlock, createElementBlock, normalizeStyle, unref, createElementVNode, createBlock, normalizeProps, mergeProps, createCommentVNode, toDisplayString, renderSlot, Fragment, renderList, normalizeClass, withCtx, resolveDynamicComponent, createVNode, createTextVNode } from "vue";
20
+ import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, createElementVNode, createBlock, normalizeProps, mergeProps, createCommentVNode, toDisplayString, renderSlot, Fragment, renderList, normalizeClass, unref, withCtx, resolveDynamicComponent, createVNode, createTextVNode } from "vue";
21
21
  import { ElIcon, ElDropdown, ElDropdownMenu, ElDropdownItem } from "element-plus";
22
22
  import _sfc_main$1 from "./PopoverMenu.vue.js";
23
23
  const _hoisted_1 = { class: "jky-page-header__container" };
@@ -96,7 +96,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
96
96
  var _a, _b, _c, _d;
97
97
  return openBlock(), createElementBlock("header", {
98
98
  class: "jky-page-header",
99
- style: normalizeStyle([unref(backgroundStyle), { height: unref(heightValue) }])
99
+ style: normalizeStyle([backgroundStyle.value, { height: heightValue.value }])
100
100
  }, [
101
101
  createElementVNode("div", _hoisted_1, [
102
102
  __props.showPopover && ((_b = (_a = __props.popover) == null ? void 0 : _a.menus) == null ? void 0 : _b.length) ? (openBlock(), createBlock(_sfc_main$1, normalizeProps(mergeProps({ key: 0 }, __props.popover)), null, 16)) : createCommentVNode("", true),
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createElementBlock, createVNode, unref, withCtx, createElementVNode, Fragment, renderList, createBlock, normalizeClass, createCommentVNode, toDisplayString } from "vue";
1
+ import { defineComponent, ref, openBlock, createElementBlock, createVNode, unref, withCtx, createElementVNode, Fragment, renderList, createBlock, normalizeClass, createCommentVNode, toDisplayString } from "vue";
2
2
  import { ElPopover, ElButton } from "element-plus";
3
3
  const _hoisted_1 = {
4
4
  key: 0,
@@ -59,7 +59,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
59
59
  key: item.value,
60
60
  disabled: item.disabled,
61
61
  class: normalizeClass(["w-fit! h-fit! ml-0!", [__props.elButtonClass, item.elButtonClass]]),
62
- type: unref(popoverIndex) === item.value ? "primary" : __props.elButtonType || "default",
62
+ type: popoverIndex.value === item.value ? "primary" : __props.elButtonType || "default",
63
63
  onClick: ($event) => onPopoverButtonClick(item)
64
64
  }, {
65
65
  default: withCtx(() => [
@@ -1,36 +1,16 @@
1
1
  import { PageLayoutProps } from './types';
2
- declare function __VLS_template(): {
3
- attrs: Partial<{}>;
4
- slots: {
5
- menuHeader?(_: {}): any;
6
- aside?(_: {}): any;
7
- aside?(_: {}): any;
8
- navigationHeader?(_: {}): any;
9
- navigation?(_: {}): any;
10
- navigation?(_: {}): any;
11
- header?(_: {}): any;
12
- tabs?(_: {}): any;
13
- dashboard?(_: {}): any;
14
- dashboard?(_: {}): any;
15
- default?(_: {}): any;
16
- default?(_: {
17
- height: any;
18
- }): any;
19
- };
20
- refs: {};
21
- rootEl: HTMLDivElement;
22
- };
23
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
24
- declare const __VLS_component: import('vue').DefineComponent<PageLayoutProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<PageLayoutProps> & Readonly<{}>, {
2
+ declare const _default: import('vue').DefineComponent<PageLayoutProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<PageLayoutProps> & Readonly<{}>, {
3
+ cachable: boolean;
4
+ showTopMenu: boolean;
5
+ showSideMenu: boolean;
6
+ asideWidth: string;
25
7
  asideWithScrollbar: boolean;
8
+ mainWithCard: boolean;
26
9
  mainWithScrollbar: boolean;
27
- navigationWithScrollbar: boolean;
28
- showNavigation: boolean;
10
+ transitionName: string;
11
+ tabsWithCard: boolean;
12
+ cardPadding: string;
13
+ topMenuTrigger: "hover" | "click";
14
+ topMenuSingleLevel: boolean;
29
15
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
30
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
31
16
  export default _default;
32
- type __VLS_WithTemplateSlots<T, S> = T & {
33
- new (): {
34
- $slots: S;
35
- };
36
- };