jky-component-lib 0.0.73 → 0.0.77

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 (77) hide show
  1. package/dist/es/add-input/index.d.ts +1 -0
  2. package/dist/es/code-mirror-editor/index.d.ts +1 -0
  3. package/dist/es/form/index.d.ts +1 -0
  4. package/dist/es/index.js +3 -12
  5. package/dist/es/menu/Menu.vue.js +42 -40
  6. package/dist/es/menu/MenuItem.vue.js +43 -41
  7. package/dist/es/menu/index.d.ts +1 -0
  8. package/dist/es/package.json.js +1 -1
  9. package/dist/es/page-header/index.d.ts +1 -0
  10. package/dist/es/page-layout/PageLayout.vue.d.ts +2 -1
  11. package/dist/es/page-layout/PageLayout.vue.js +71 -52
  12. package/dist/es/page-layout/index.d.ts +1 -0
  13. package/dist/es/page-table/PageTable.vue.d.ts +9 -9
  14. package/dist/es/page-table/index.d.ts +1 -0
  15. package/dist/es/rich-editor/index.d.ts +1 -0
  16. package/dist/es/style.css +47 -166
  17. package/dist/es/styles.css +1 -1
  18. package/dist/es/tabs/ContextMenu.vue.d.ts +30 -0
  19. package/dist/es/tabs/ContextMenu.vue.js +118 -0
  20. package/dist/es/tabs/ContextMenu.vue3.js +5 -0
  21. package/dist/es/tabs/Tabs.vue.d.ts +9 -42
  22. package/dist/es/tabs/Tabs.vue.js +108 -287
  23. package/dist/es/tabs/config.d.ts +2 -0
  24. package/dist/es/tabs/config.js +8 -0
  25. package/dist/es/tabs/createTabsGuard.d.ts +5 -0
  26. package/dist/es/tabs/createTabsGuard.js +18 -0
  27. package/dist/es/tabs/index.d.ts +4 -6
  28. package/dist/es/tabs/index.js +1 -1
  29. package/dist/es/tabs/style.css +32 -18
  30. package/dist/es/tabs/useTabsStore.d.ts +5 -52
  31. package/dist/es/tabs/useTabsStore.js +130 -182
  32. package/dist/lib/add-input/index.d.ts +1 -0
  33. package/dist/lib/code-mirror-editor/index.d.ts +1 -0
  34. package/dist/lib/form/index.d.ts +1 -0
  35. package/dist/lib/index.js +2 -11
  36. package/dist/lib/menu/Menu.vue.js +42 -40
  37. package/dist/lib/menu/MenuItem.vue.js +42 -40
  38. package/dist/lib/menu/index.d.ts +1 -0
  39. package/dist/lib/package.json.js +1 -1
  40. package/dist/lib/page-header/index.d.ts +1 -0
  41. package/dist/lib/page-layout/PageLayout.vue.d.ts +2 -1
  42. package/dist/lib/page-layout/PageLayout.vue.js +69 -50
  43. package/dist/lib/page-layout/index.d.ts +1 -0
  44. package/dist/lib/page-table/PageTable.vue.d.ts +9 -9
  45. package/dist/lib/page-table/index.d.ts +1 -0
  46. package/dist/lib/rich-editor/index.d.ts +1 -0
  47. package/dist/lib/style.css +47 -166
  48. package/dist/lib/styles.css +1 -1
  49. package/dist/lib/tabs/ContextMenu.vue.d.ts +30 -0
  50. package/dist/lib/tabs/ContextMenu.vue.js +118 -0
  51. package/dist/lib/tabs/ContextMenu.vue3.js +5 -0
  52. package/dist/lib/tabs/Tabs.vue.d.ts +9 -42
  53. package/dist/lib/tabs/Tabs.vue.js +106 -285
  54. package/dist/lib/tabs/config.d.ts +2 -0
  55. package/dist/lib/tabs/config.js +8 -0
  56. package/dist/lib/tabs/createTabsGuard.d.ts +5 -0
  57. package/dist/lib/tabs/createTabsGuard.js +18 -0
  58. package/dist/lib/tabs/index.d.ts +4 -6
  59. package/dist/lib/tabs/index.js +1 -1
  60. package/dist/lib/tabs/style.css +32 -18
  61. package/dist/lib/tabs/useTabsStore.d.ts +5 -52
  62. package/dist/lib/tabs/useTabsStore.js +129 -181
  63. package/package.json +1 -1
  64. package/dist/es/tabs/TabContent.vue.d.ts +0 -16
  65. package/dist/es/tabs/TabContent.vue.js +0 -65
  66. package/dist/es/tabs/TabContent.vue3.js +0 -5
  67. package/dist/es/tabs/routeListener.d.ts +0 -19
  68. package/dist/es/tabs/routeListener.js +0 -26
  69. package/dist/es/tabs/useTabs.d.ts +0 -27
  70. package/dist/es/tabs/useTabs.js +0 -59
  71. package/dist/lib/tabs/TabContent.vue.d.ts +0 -16
  72. package/dist/lib/tabs/TabContent.vue.js +0 -65
  73. package/dist/lib/tabs/TabContent.vue3.js +0 -5
  74. package/dist/lib/tabs/routeListener.d.ts +0 -19
  75. package/dist/lib/tabs/routeListener.js +0 -26
  76. package/dist/lib/tabs/useTabs.d.ts +0 -27
  77. package/dist/lib/tabs/useTabs.js +0 -59
@@ -1,4 +1,5 @@
1
1
  import { InstallWithSFC } from '../utils';
2
2
  import { default as AddInput } from './AddInput.vue';
3
+ export type { AddInputEmits, AddInputItem, AddInputProps } from './types';
3
4
  export declare const JkyAddInput: InstallWithSFC<typeof AddInput>;
4
5
  export default JkyAddInput;
@@ -1,4 +1,5 @@
1
1
  import { InstallWithSFC } from '../utils';
2
2
  import { default as CodeMirrorEditor } from './CodeMirrorEditor.vue';
3
+ export type { CodeMirrorEditorEmits, CodeMirrorEditorProps } from './types';
3
4
  export declare const JkyCodeMirrorEditor: InstallWithSFC<typeof CodeMirrorEditor>;
4
5
  export default JkyCodeMirrorEditor;
@@ -1,4 +1,5 @@
1
1
  import { InstallWithSFC } from '../utils';
2
2
  import { default as Form } from './Form.vue';
3
+ export type { ComponentPropsMap, ComponentPropsType, DynamicComponentProps, FormComponentType, FormItemChildConfig, FormItemConfig, FormItemOption, FormItemProps, FormItemPropsContext, FormProps, FormValidateResult, GridConfig, HelpConfig, HelpType, ResponsiveBreakpoint, ResponsiveConfig, SelectTableComponentProps, SelectTableProps, StaticComponentProps, } from './types';
3
4
  export declare const JkyForm: InstallWithSFC<typeof Form>;
4
5
  export default JkyForm;
package/dist/es/index.js CHANGED
@@ -2,8 +2,6 @@ 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 */
7
5
  import { JkyAddInput } from "./add-input/index.js";
8
6
  import { JkyButton } from "./button/index.js";
9
7
  import { JkyButtonNav } from "./button-nav/index.js";
@@ -16,9 +14,8 @@ import { JkyPageTable } from "./page-table/index.js";
16
14
  import { JkyRichEditor } from "./rich-editor/index.js";
17
15
  import { JkySayHello } from "./say-hello/index.js";
18
16
  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";
17
+ import { createTabsGuard } from "./tabs/createTabsGuard.js";
18
+ import { createTabsStore } from "./tabs/useTabsStore.js";
22
19
  const installer = createInstaller(components);
23
20
  const install = installer.install;
24
21
  const version = installer.version;
@@ -35,17 +32,11 @@ export {
35
32
  JkyPageTable,
36
33
  JkyRichEditor,
37
34
  JkySayHello,
38
- default2 as JkyTabContent,
39
35
  JkyTabs,
40
- clearRouteListeners,
41
36
  components,
37
+ createTabsGuard,
42
38
  createTabsStore,
43
39
  installer as default,
44
- emitRouteChange,
45
40
  install,
46
- onRouteChange,
47
- resetTabsStore,
48
- useTabs,
49
- useTabsStore,
50
41
  version
51
42
  };
@@ -69,46 +69,48 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
69
69
  return openBlock(), createElementBlock(Fragment, {
70
70
  key: item.index
71
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"]))
72
+ !item.hideMenu ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
73
+ item.children && item.children.length > 0 ? (openBlock(), createBlock(unref(ElSubMenu), {
74
+ key: 0,
75
+ index: item.index || "",
76
+ class: normalizeClass(item.customClass),
77
+ disabled: (_a = item.disabled) != null ? _a : false,
78
+ "popper-offset": item.popperOffset
79
+ }, {
80
+ title: withCtx(() => [
81
+ item.icon ? (openBlock(), createElementBlock("span", {
82
+ key: 0,
83
+ class: normalizeClass([item.icon, "text-lg mr-1 jky-menu-item__icon"])
84
+ }, null, 2)) : createCommentVNode("", true),
85
+ item.title ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(item.title), 1)) : createCommentVNode("", true)
86
+ ]),
87
+ default: withCtx(() => [
88
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (child) => {
89
+ return openBlock(), createBlock(_sfc_main$1, {
90
+ key: child.index,
91
+ item: child,
92
+ levels: props.levels > 0 ? props.levels - 1 : 0
93
+ }, null, 8, ["item", "levels"]);
94
+ }), 128))
95
+ ]),
96
+ _: 2
97
+ }, 1032, ["index", "class", "disabled", "popper-offset"])) : (openBlock(), createBlock(unref(ElMenuItem), {
98
+ key: 1,
99
+ index: item.index || "",
100
+ class: normalizeClass(item.customClass),
101
+ disabled: (_b = item.disabled) != null ? _b : false,
102
+ route: item.route
103
+ }, {
104
+ default: withCtx(() => [
105
+ item.icon ? (openBlock(), createElementBlock("span", {
106
+ key: 0,
107
+ class: normalizeClass([item.icon, "text-lg mr-1 jky-menu-item__icon"])
108
+ }, null, 2)) : createCommentVNode("", true),
109
+ item.title ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(item.title), 1)) : createCommentVNode("", true)
110
+ ]),
111
+ _: 2
112
+ }, 1032, ["index", "class", "disabled", "route"]))
113
+ ], 64)) : createCommentVNode("", true)
112
114
  ], 64);
113
115
  }), 128)) : renderSlot(_ctx.$slots, "default", { key: 1 })
114
116
  ]),
@@ -1,4 +1,4 @@
1
- import { defineComponent, resolveComponent, openBlock, createBlock, unref, normalizeClass, withCtx, createElementBlock, Fragment, renderList, createCommentVNode, toDisplayString } from "vue";
1
+ import { defineComponent, resolveComponent, openBlock, createElementBlock, Fragment, createBlock, unref, normalizeClass, withCtx, renderList, createCommentVNode, toDisplayString } from "vue";
2
2
  import { ElSubMenu, ElMenuItem } from "element-plus";
3
3
  const _hoisted_1 = {
4
4
  key: 1,
@@ -19,46 +19,48 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  return (_ctx, _cache) => {
20
20
  var _a, _b;
21
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"]));
22
+ return !props.item.hideMenu ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
23
+ props.item.children && props.item.children.length > 0 ? (openBlock(), createBlock(unref(ElSubMenu), {
24
+ key: 0,
25
+ index: props.item.index || "",
26
+ class: normalizeClass(props.item.customClass),
27
+ disabled: (_a = props.item.disabled) != null ? _a : false,
28
+ "popper-offset": props.item.popperOffset
29
+ }, {
30
+ title: withCtx(() => [
31
+ props.item.icon ? (openBlock(), createElementBlock("span", {
32
+ key: 0,
33
+ class: normalizeClass([props.item.icon, "text-lg mr-1 jky-menu-item__icon"])
34
+ }, null, 2)) : createCommentVNode("", true),
35
+ props.item.title ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(props.item.title), 1)) : createCommentVNode("", true)
36
+ ]),
37
+ default: withCtx(() => [
38
+ (openBlock(true), createElementBlock(Fragment, null, renderList(props.item.children, (child) => {
39
+ return openBlock(), createBlock(_component_MenuItem, {
40
+ key: child.index,
41
+ item: child,
42
+ levels: props.levels !== void 0 && props.levels > 0 ? props.levels - 1 : 0
43
+ }, null, 8, ["item", "levels"]);
44
+ }), 128))
45
+ ]),
46
+ _: 1
47
+ }, 8, ["index", "class", "disabled", "popper-offset"])) : (openBlock(), createBlock(unref(ElMenuItem), {
48
+ key: 1,
49
+ index: props.item.index || "",
50
+ class: normalizeClass(props.item.customClass),
51
+ disabled: (_b = props.item.disabled) != null ? _b : false,
52
+ route: props.item.route
53
+ }, {
54
+ default: withCtx(() => [
55
+ props.item.icon ? (openBlock(), createElementBlock("span", {
56
+ key: 0,
57
+ class: normalizeClass([props.item.icon, "text-lg mr-1 jky-menu-item__icon"])
58
+ }, null, 2)) : createCommentVNode("", true),
59
+ props.item.title ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(props.item.title), 1)) : createCommentVNode("", true)
60
+ ]),
61
+ _: 1
62
+ }, 8, ["index", "class", "disabled", "route"]))
63
+ ], 64)) : createCommentVNode("", true);
62
64
  };
63
65
  }
64
66
  });
@@ -1,4 +1,5 @@
1
1
  import { InstallWithSFC } from '../utils';
2
2
  import { default as Menu } from './Menu.vue';
3
+ export type { MenuItem, MenuProps } from './types';
3
4
  export declare const JkyMenu: InstallWithSFC<typeof Menu>;
4
5
  export default JkyMenu;
@@ -1,4 +1,4 @@
1
- const version = "0.0.73";
1
+ const version = "0.0.77";
2
2
  export {
3
3
  version
4
4
  };
@@ -1,4 +1,5 @@
1
1
  import { InstallWithSFC } from '../utils';
2
2
  import { default as PageHeader } from './PageHeader.vue';
3
+ export type { PageHeaderPopoverMenuItem, PageHeaderPopoverMenuProps, PageHeaderProps, PageHeaderStatusIcon, PageHeaderUserDropdonItem, } from './types';
3
4
  export declare const JkyPageHeader: InstallWithSFC<typeof PageHeader>;
4
5
  export default JkyPageHeader;
@@ -1,6 +1,7 @@
1
1
  import { PageLayoutProps } from './types';
2
2
  declare const _default: import('vue').DefineComponent<PageLayoutProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<PageLayoutProps> & Readonly<{}>, {
3
3
  cachable: boolean;
4
+ roundTabs: boolean;
4
5
  showTopMenu: boolean;
5
6
  showSideMenu: boolean;
6
7
  asideWidth: string;
@@ -12,5 +13,5 @@ declare const _default: import('vue').DefineComponent<PageLayoutProps, {}, {}, {
12
13
  cardPadding: string;
13
14
  topMenuTrigger: "hover" | "click";
14
15
  topMenuSingleLevel: boolean;
15
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
16
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
17
  export default _default;
@@ -29,7 +29,7 @@ var __objRest = (source, exclude) => {
29
29
  }
30
30
  return target;
31
31
  };
32
- import { defineComponent, useAttrs, ref, computed, watch, openBlock, createElementBlock, normalizeClass, createBlock, unref, withCtx, createElementVNode, createVNode, createCommentVNode, normalizeStyle, resolveDynamicComponent, Transition, KeepAlive } from "vue";
32
+ import { defineComponent, ref, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, unref, withCtx, createElementVNode, createVNode, createCommentVNode, normalizeStyle, resolveDynamicComponent, Transition, KeepAlive } from "vue";
33
33
  import { ElCard, ElAside, ElScrollbar } from "element-plus";
34
34
  import { cloneDeep } from "lodash-es";
35
35
  import { useRouter, useRoute, RouterView } from "vue-router";
@@ -37,14 +37,16 @@ import _sfc_main$1 from "../menu/Menu.vue.js";
37
37
  /* empty css */
38
38
  import _sfc_main$2 from "../tabs/Tabs.vue.js";
39
39
  /* empty css */
40
- import { useTabsStore } from "../tabs/useTabsStore.js";
40
+ import { createTabsStore } from "../tabs/useTabsStore.js";
41
41
  const _hoisted_1 = { class: "w-full flex justify-center" };
42
42
  const _hoisted_2 = { class: "flex flex-1 min-h-0 overflow-hidden gap-3" };
43
43
  const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, {
44
- name: "JkyPageLayout"
44
+ name: "JkyPageLayout",
45
+ inheritAttrs: false
45
46
  }), {
46
47
  __name: "PageLayout",
47
48
  props: {
49
+ roundTabs: { type: Boolean, default: true },
48
50
  showTopMenu: { type: Boolean, default: true },
49
51
  showSideMenu: { type: Boolean, default: true },
50
52
  asideWidth: { default: "200px" },
@@ -57,7 +59,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
57
59
  cachable: { type: Boolean, default: true },
58
60
  transitionName: { default: "fade" },
59
61
  className: {},
60
- tabsWithCard: { type: Boolean, default: true },
62
+ tabsWithCard: { type: Boolean, default: false },
61
63
  cardPadding: { default: "0px" },
62
64
  topLevels: {},
63
65
  sideLevels: {},
@@ -68,26 +70,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
68
70
  const props = __props;
69
71
  const router = useRouter();
70
72
  const route = useRoute();
71
- const store = useTabsStore();
72
- const attrs = useAttrs();
73
+ const { useTabsStore } = createTabsStore({
74
+ enableCache: props.cachable
75
+ });
76
+ const tabsStore = useTabsStore();
73
77
  const activeTopMenu = ref("");
74
78
  const activeSideMenu = ref("");
75
79
  const routes = router.getRoutes();
76
- const cacheInclude = computed(() => store.getCacheTabs());
77
- watch(
78
- cacheInclude,
79
- (cacheTabs) => {
80
- console.warn("CacheTabs changed:", cacheTabs);
81
- },
82
- { deep: true }
83
- );
80
+ const cacheInclude = computed(() => {
81
+ return tabsStore.tabs.map((tab) => tab.name).filter(Boolean);
82
+ });
84
83
  function buildMenuFromRoutes(routes2) {
85
84
  const menuRoutes = routes2.filter((r) => {
86
85
  var _a;
87
86
  return (_a = r.meta) == null ? void 0 : _a.title;
88
87
  });
89
88
  const buildMenuItem = (route2, parentPath = "") => {
90
- var _a, _b;
89
+ var _a, _b, _c, _d;
91
90
  let fullPath = "";
92
91
  if (route2.path.startsWith(parentPath)) {
93
92
  fullPath = route2.path;
@@ -99,6 +98,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
99
98
  index: normalizedPath,
100
99
  title: ((_a = route2.meta) == null ? void 0 : _a.title) || "",
101
100
  icon: ((_b = route2.meta) == null ? void 0 : _b.icon) || "",
101
+ hideMenu: (_d = (_c = route2.meta) == null ? void 0 : _c.hideMenu) != null ? _d : false,
102
102
  route: normalizedPath,
103
103
  path: normalizedPath,
104
104
  customClass: activeTopMenu.value.startsWith(normalizedPath) ? "is-active jky-page-layout__active-top-menu" : ""
@@ -114,13 +114,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
114
114
  return menuRoutes.filter((route2) => {
115
115
  const pathSegments = route2.path.split("/").filter(Boolean);
116
116
  return pathSegments.length === 1;
117
- }).map((route2) => buildMenuItem(route2));
117
+ }).filter((route2) => route2.hideMenu !== true).map((route2) => buildMenuItem(route2));
118
118
  }
119
119
  const menuData = computed(() => {
120
120
  return buildMenuFromRoutes(routes);
121
121
  });
122
122
  const topMenuData = computed(() => {
123
- console.warn("topMenuData:", menuData.value, props, attrs);
124
123
  if (props.topMenuSingleLevel) {
125
124
  return cloneDeep(menuData.value).map((item) => {
126
125
  const _a = item, { children } = _a, rest = __objRest(_a, ["children"]);
@@ -187,6 +186,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
187
186
  router.push(index);
188
187
  }
189
188
  return (_ctx, _cache) => {
189
+ var _a;
190
+ const _component_ElAutoResizer = resolveComponent("ElAutoResizer");
190
191
  return openBlock(), createElementBlock("div", {
191
192
  class: normalizeClass(["jky-page-layout flex h-full w-full flex-col overflow-hidden gap-3", props.className])
192
193
  }, [
@@ -251,30 +252,64 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
251
252
  }, [
252
253
  props.tabsWithCard ? (openBlock(), createBlock(unref(ElCard), {
253
254
  key: 0,
254
- class: "jky-page-layout__tabs shrink-0",
255
+ class: "jky-page-layout__tabs shrink-0 mb-3",
255
256
  style: normalizeStyle({ "--el-card-padding": props.cardPadding })
256
257
  }, {
257
- default: withCtx(() => [
258
- createVNode(_sfc_main$2, {
259
- mode: "route",
260
- cachable: props.cachable
261
- }, null, 8, ["cachable"])
262
- ]),
258
+ default: withCtx(() => {
259
+ var _a2;
260
+ return [
261
+ createVNode(_sfc_main$2, {
262
+ store: unref(tabsStore),
263
+ round: (_a2 = props.roundTabs) != null ? _a2 : _ctx.$attrs["round-tabs"],
264
+ mode: "route",
265
+ cachable: props.cachable,
266
+ closable: true
267
+ }, null, 8, ["store", "round", "cachable"])
268
+ ];
269
+ }),
263
270
  _: 1
264
271
  }, 8, ["style"])) : (openBlock(), createBlock(_sfc_main$2, {
265
272
  key: 1,
266
- class: "jky-page-layout__tabs shrink-0",
273
+ class: "jky-page-layout__tabs shrink-0 mb-3",
274
+ store: unref(tabsStore),
267
275
  mode: "route",
268
- cachable: props.cachable
269
- }, null, 8, ["cachable"])),
276
+ cachable: props.cachable,
277
+ round: (_a = props.roundTabs) != null ? _a : _ctx.$attrs["round-tabs"],
278
+ closable: true
279
+ }, null, 8, ["store", "cachable", "round"])),
270
280
  (openBlock(), createBlock(resolveDynamicComponent(props.mainWithCard ? unref(ElCard) : "div"), {
271
281
  class: normalizeClass(["jky-page-layout__content flex-1 min-h-0 overflow-hidden", props.contentClass]),
272
282
  "body-class": props.mainWithScrollbar ? "" : "pb-0!"
273
283
  }, {
274
284
  default: withCtx(() => [
275
- props.mainWithScrollbar ? (openBlock(), createBlock(unref(ElScrollbar), { key: 0 }, {
276
- default: withCtx(() => [
277
- createVNode(unref(RouterView), null, {
285
+ createVNode(_component_ElAutoResizer, null, {
286
+ default: withCtx(({ height, width }) => [
287
+ props.mainWithScrollbar ? (openBlock(), createBlock(unref(ElScrollbar), { key: 0 }, {
288
+ default: withCtx(() => [
289
+ createVNode(unref(RouterView), null, {
290
+ default: withCtx(({ Component, route: currentRoute }) => [
291
+ createVNode(Transition, {
292
+ name: props.transitionName
293
+ }, {
294
+ default: withCtx(() => [
295
+ (openBlock(), createBlock(KeepAlive, {
296
+ include: props.cachable ? cacheInclude.value : []
297
+ }, [
298
+ (openBlock(), createBlock(resolveDynamicComponent(Component), {
299
+ key: currentRoute.name,
300
+ height,
301
+ width
302
+ }, null, 8, ["height", "width"]))
303
+ ], 1032, ["include"]))
304
+ ]),
305
+ _: 2
306
+ }, 1032, ["name"])
307
+ ]),
308
+ _: 2
309
+ }, 1024)
310
+ ]),
311
+ _: 2
312
+ }, 1024)) : (openBlock(), createBlock(unref(RouterView), { key: 1 }, {
278
313
  default: withCtx(({ Component, route: currentRoute }) => [
279
314
  createVNode(Transition, {
280
315
  name: props.transitionName
@@ -284,36 +319,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
284
319
  include: props.cachable ? cacheInclude.value : []
285
320
  }, [
286
321
  (openBlock(), createBlock(resolveDynamicComponent(Component), {
287
- key: currentRoute.name
288
- }))
322
+ key: currentRoute.name,
323
+ height,
324
+ width
325
+ }, null, 8, ["height", "width"]))
289
326
  ], 1032, ["include"]))
290
327
  ]),
291
328
  _: 2
292
329
  }, 1032, ["name"])
293
330
  ]),
294
- _: 1
295
- })
296
- ]),
297
- _: 1
298
- })) : (openBlock(), createBlock(unref(RouterView), { key: 1 }, {
299
- default: withCtx(({ Component, route: currentRoute }) => [
300
- createVNode(Transition, {
301
- name: props.transitionName
302
- }, {
303
- default: withCtx(() => [
304
- (openBlock(), createBlock(KeepAlive, {
305
- include: props.cachable ? cacheInclude.value : []
306
- }, [
307
- (openBlock(), createBlock(resolveDynamicComponent(Component), {
308
- key: currentRoute.name
309
- }))
310
- ], 1032, ["include"]))
311
- ]),
312
331
  _: 2
313
- }, 1032, ["name"])
332
+ }, 1024))
314
333
  ]),
315
334
  _: 1
316
- }))
335
+ })
317
336
  ]),
318
337
  _: 1
319
338
  }, 8, ["class", "body-class"]))
@@ -1,4 +1,5 @@
1
1
  import { InstallWithSFC } from '../utils';
2
2
  import { default as PageLayout } from './PageLayout.vue';
3
+ export type { BreadcrumbConfig, PageLayoutProps } from './types';
3
4
  export declare const JkyPageLayout: InstallWithSFC<typeof PageLayout>;
4
5
  export default JkyPageLayout;
@@ -17,7 +17,7 @@ declare function __VLS_template(): {
17
17
  pageTableRef: HTMLDivElement;
18
18
  formRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
19
19
  modelValue: Record<string, any>;
20
- } & import('../form/types').FormProps> & Readonly<{
20
+ } & import('../form').FormProps> & Readonly<{
21
21
  "onUpdate:modelValue"?: ((value: Record<string, any>) => any) | undefined;
22
22
  onChange?: ((value: Record<string, any>) => any) | undefined;
23
23
  onReset?: (() => any) | undefined;
@@ -337,7 +337,7 @@ declare function __VLS_template(): {
337
337
  }) => any;
338
338
  }, import('vue').PublicProps, {
339
339
  size: import('element-plus').ComponentSize;
340
- grid: import('../form/types').GridConfig;
340
+ grid: import('../form').GridConfig;
341
341
  inline: boolean;
342
342
  labelPosition: "left" | "right" | "top";
343
343
  labelWidth: string | number;
@@ -460,7 +460,7 @@ declare function __VLS_template(): {
460
460
  Defaults: {};
461
461
  }, Readonly<{
462
462
  modelValue: Record<string, any>;
463
- } & import('../form/types').FormProps> & Readonly<{
463
+ } & import('../form').FormProps> & Readonly<{
464
464
  "onUpdate:modelValue"?: ((value: Record<string, any>) => any) | undefined;
465
465
  onChange?: ((value: Record<string, any>) => any) | undefined;
466
466
  onReset?: (() => any) | undefined;
@@ -771,7 +771,7 @@ declare function __VLS_template(): {
771
771
  }) | undefined>;
772
772
  }, {}, {}, {}, {
773
773
  size: import('element-plus').ComponentSize;
774
- grid: import('../form/types').GridConfig;
774
+ grid: import('../form').GridConfig;
775
775
  inline: boolean;
776
776
  labelPosition: "left" | "right" | "top";
777
777
  labelWidth: string | number;
@@ -2960,7 +2960,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
2960
2960
  border: boolean;
2961
2961
  stripe: boolean;
2962
2962
  emptyText: string;
2963
- formProps: Partial<import('../form/types').FormProps>;
2963
+ formProps: Partial<import('../form').FormProps>;
2964
2964
  tableProps: Partial<import('element-plus').TableProps>;
2965
2965
  paginationProps: Partial<import('element-plus').PaginationProps>;
2966
2966
  autoSearchDelay: number;
@@ -2968,7 +2968,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
2968
2968
  pageTableRef: HTMLDivElement;
2969
2969
  formRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
2970
2970
  modelValue: Record<string, any>;
2971
- } & import('../form/types').FormProps> & Readonly<{
2971
+ } & import('../form').FormProps> & Readonly<{
2972
2972
  "onUpdate:modelValue"?: ((value: Record<string, any>) => any) | undefined;
2973
2973
  onChange?: ((value: Record<string, any>) => any) | undefined;
2974
2974
  onReset?: (() => any) | undefined;
@@ -3288,7 +3288,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
3288
3288
  }) => any;
3289
3289
  }, import('vue').PublicProps, {
3290
3290
  size: import('element-plus').ComponentSize;
3291
- grid: import('../form/types').GridConfig;
3291
+ grid: import('../form').GridConfig;
3292
3292
  inline: boolean;
3293
3293
  labelPosition: "left" | "right" | "top";
3294
3294
  labelWidth: string | number;
@@ -3411,7 +3411,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
3411
3411
  Defaults: {};
3412
3412
  }, Readonly<{
3413
3413
  modelValue: Record<string, any>;
3414
- } & import('../form/types').FormProps> & Readonly<{
3414
+ } & import('../form').FormProps> & Readonly<{
3415
3415
  "onUpdate:modelValue"?: ((value: Record<string, any>) => any) | undefined;
3416
3416
  onChange?: ((value: Record<string, any>) => any) | undefined;
3417
3417
  onReset?: (() => any) | undefined;
@@ -3722,7 +3722,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
3722
3722
  }) | undefined>;
3723
3723
  }, {}, {}, {}, {
3724
3724
  size: import('element-plus').ComponentSize;
3725
- grid: import('../form/types').GridConfig;
3725
+ grid: import('../form').GridConfig;
3726
3726
  inline: boolean;
3727
3727
  labelPosition: "left" | "right" | "top";
3728
3728
  labelWidth: string | number;
@@ -1,4 +1,5 @@
1
1
  import { InstallWithSFC } from '../utils/types';
2
2
  import { default as PageTable } from './PageTable.vue';
3
+ export type { ApiParamsGetter, FilterItemConfig, PageTableEmits, PageTableExpose, PageTableProps, PaginationConfig, TableApiFunction, TableApiResponse, TableColumnConfig, TableDataSource, TableResponseProps, ToolbarButtonConfig, ToolbarEmits, ToolbarProps, } from './types';
3
4
  export declare const JkyPageTable: InstallWithSFC<typeof PageTable>;
4
5
  export default JkyPageTable;
@@ -1,4 +1,5 @@
1
1
  import { InstallWithSFC } from '../utils';
2
2
  import { default as RichEditor } from './RichEditor.vue';
3
+ export type { RichEditorEmits, RichEditorProps } from './types';
3
4
  export declare const JkyRichEditor: InstallWithSFC<typeof RichEditor>;
4
5
  export default JkyRichEditor;