jky-component-lib 0.0.64 → 0.0.67

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 (71) 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 +10 -6
  4. package/dist/es/form/Form.vue.js +131 -81
  5. package/dist/es/form/FormItem.vue.js +55 -3
  6. package/dist/es/form/SelectTable.vue.d.ts +38 -0
  7. package/dist/es/form/SelectTable.vue.js +217 -0
  8. package/dist/es/form/SelectTable.vue3.js +5 -0
  9. package/dist/es/form/style.css +56 -0
  10. package/dist/es/index.js +15 -0
  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.js +1 -1
  15. package/dist/es/page-layout/style.css +2 -0
  16. package/dist/es/page-table/PageTable.vue.d.ts +44 -28
  17. package/dist/es/page-table/PageTable.vue.js +91 -25
  18. package/dist/es/page-table/style.css +9 -1
  19. package/dist/es/style.css +164 -26
  20. package/dist/es/styles.css +1 -1
  21. package/dist/es/tabs/TabContent.vue.d.ts +16 -0
  22. package/dist/es/tabs/TabContent.vue.js +65 -0
  23. package/dist/es/tabs/TabContent.vue3.js +5 -0
  24. package/dist/es/tabs/Tabs.vue.d.ts +46 -0
  25. package/dist/es/tabs/Tabs.vue.js +275 -0
  26. package/dist/es/tabs/Tabs.vue3.js +5 -0
  27. package/dist/es/tabs/index.d.ts +9 -0
  28. package/dist/es/tabs/index.js +8 -0
  29. package/dist/es/tabs/routeListener.d.ts +19 -0
  30. package/dist/es/tabs/routeListener.js +26 -0
  31. package/dist/es/tabs/style.css +29 -0
  32. package/dist/es/tabs/useTabs.d.ts +27 -0
  33. package/dist/es/tabs/useTabs.js +59 -0
  34. package/dist/es/tabs/useTabsStore.d.ts +53 -0
  35. package/dist/es/tabs/useTabsStore.js +208 -0
  36. package/dist/lib/components.d.ts +1 -0
  37. package/dist/lib/components.js +4 -1
  38. package/dist/lib/form/Form.vue.d.ts +10 -6
  39. package/dist/lib/form/Form.vue.js +129 -79
  40. package/dist/lib/form/FormItem.vue.js +54 -2
  41. package/dist/lib/form/SelectTable.vue.d.ts +38 -0
  42. package/dist/lib/form/SelectTable.vue.js +217 -0
  43. package/dist/lib/form/SelectTable.vue3.js +5 -0
  44. package/dist/lib/form/style.css +56 -0
  45. package/dist/lib/index.js +15 -0
  46. package/dist/lib/package.json.js +1 -1
  47. package/dist/lib/page-header/PageHeader.vue.js +3 -3
  48. package/dist/lib/page-header/PopoverMenu.vue.js +2 -2
  49. package/dist/lib/page-layout/PageLayout.vue.js +1 -1
  50. package/dist/lib/page-layout/style.css +2 -0
  51. package/dist/lib/page-table/PageTable.vue.d.ts +44 -28
  52. package/dist/lib/page-table/PageTable.vue.js +90 -24
  53. package/dist/lib/page-table/style.css +9 -1
  54. package/dist/lib/style.css +164 -26
  55. package/dist/lib/styles.css +1 -1
  56. package/dist/lib/tabs/TabContent.vue.d.ts +16 -0
  57. package/dist/lib/tabs/TabContent.vue.js +65 -0
  58. package/dist/lib/tabs/TabContent.vue3.js +5 -0
  59. package/dist/lib/tabs/Tabs.vue.d.ts +46 -0
  60. package/dist/lib/tabs/Tabs.vue.js +275 -0
  61. package/dist/lib/tabs/Tabs.vue3.js +5 -0
  62. package/dist/lib/tabs/index.d.ts +9 -0
  63. package/dist/lib/tabs/index.js +8 -0
  64. package/dist/lib/tabs/routeListener.d.ts +19 -0
  65. package/dist/lib/tabs/routeListener.js +26 -0
  66. package/dist/lib/tabs/style.css +29 -0
  67. package/dist/lib/tabs/useTabs.d.ts +27 -0
  68. package/dist/lib/tabs/useTabs.js +59 -0
  69. package/dist/lib/tabs/useTabsStore.d.ts +53 -0
  70. package/dist/lib/tabs/useTabsStore.js +208 -0
  71. package/package.json +10 -2
@@ -0,0 +1,38 @@
1
+ import { SelectTableProps } from './types';
2
+ declare const _default: import('vue').DefineComponent<globalThis.ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<SelectTableProps>, {
3
+ multiple: boolean;
4
+ labelField: string;
5
+ idField: string;
6
+ readonly: boolean;
7
+ disabled: boolean;
8
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ "update:modelValue": (value: string | number | (string | number)[]) => any;
10
+ change: (value: string | number | (string | number)[], selectedData: any[]) => any;
11
+ }, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<SelectTableProps>, {
12
+ multiple: boolean;
13
+ labelField: string;
14
+ idField: string;
15
+ readonly: boolean;
16
+ disabled: boolean;
17
+ }>>> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: string | number | (string | number)[]) => any) | undefined;
19
+ onChange?: ((value: string | number | (string | number)[], selectedData: any[]) => any) | undefined;
20
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
21
+ export default _default;
22
+ type __VLS_WithDefaults<P, D> = {
23
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
24
+ default: D[K];
25
+ }> : P[K];
26
+ };
27
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
28
+ type __VLS_TypePropsToOption<T> = {
29
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
30
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
31
+ } : {
32
+ type: import('vue').PropType<T[K]>;
33
+ required: true;
34
+ };
35
+ };
36
+ type __VLS_PrettifyLocal<T> = {
37
+ [K in keyof T]: T[K];
38
+ } & {};
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var __async = (__this, __arguments, generator) => {
22
+ return new Promise((resolve, reject) => {
23
+ var fulfilled = (value) => {
24
+ try {
25
+ step(generator.next(value));
26
+ } catch (e) {
27
+ reject(e);
28
+ }
29
+ };
30
+ var rejected = (value) => {
31
+ try {
32
+ step(generator.throw(value));
33
+ } catch (e) {
34
+ reject(e);
35
+ }
36
+ };
37
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
38
+ step((generator = generator.apply(__this, __arguments)).next());
39
+ });
40
+ };
41
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
42
+ const vue = require("vue");
43
+ const ElementPlus = require("element-plus");
44
+ const index = require("../page-table/index.js");
45
+ const _hoisted_1 = { class: "jky-select-table" };
46
+ const _hoisted_2 = { class: "jky-select-table__tags" };
47
+ const _hoisted_3 = { class: "jky-select-table__dropdown" };
48
+ const __default__ = {
49
+ name: "JkySelectTable"
50
+ };
51
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues(__spreadValues({}, __default__), {
52
+ name: "JkySelectTable",
53
+ inheritAttrs: false
54
+ }), {
55
+ props: {
56
+ modelValue: {},
57
+ multiple: { type: Boolean, default: false },
58
+ labelField: { default: "label" },
59
+ idField: { default: "id" },
60
+ detailApi: {},
61
+ tableProps: {},
62
+ filterItems: {},
63
+ dataSource: {},
64
+ responseProps: {},
65
+ pagination: { type: Boolean },
66
+ readonly: { type: Boolean, default: false },
67
+ disabled: { type: Boolean, default: false }
68
+ },
69
+ emits: ["update:modelValue", "change"],
70
+ setup(__props, { emit: __emit }) {
71
+ const props = __props;
72
+ const emit = __emit;
73
+ const showTable = vue.ref(false);
74
+ const selectedData = vue.ref([]);
75
+ const selectedRows = vue.ref([]);
76
+ const selectedValue = vue.computed({
77
+ get: () => props.modelValue,
78
+ set: (val) => {
79
+ emit("update:modelValue", val);
80
+ }
81
+ });
82
+ function initSelectedData() {
83
+ return __async(this, null, function* () {
84
+ const ids = getIdsFromModelValue(props.modelValue);
85
+ if (!ids || ids.length === 0) {
86
+ selectedData.value = [];
87
+ selectedRows.value = [];
88
+ return;
89
+ }
90
+ if (props.detailApi) {
91
+ try {
92
+ const result = yield props.detailApi({ ids: ids.join(",") });
93
+ selectedData.value = Array.isArray(result) ? result : [result];
94
+ selectedRows.value = [...selectedData.value];
95
+ } catch (error) {
96
+ console.error("加载已选数据失败:", error);
97
+ selectedData.value = [];
98
+ selectedRows.value = [];
99
+ }
100
+ } else {
101
+ selectedData.value = ids.map((id) => ({
102
+ [props.idField]: id,
103
+ [props.labelField]: id
104
+ }));
105
+ selectedRows.value = [...selectedData.value];
106
+ }
107
+ });
108
+ }
109
+ function getIdsFromModelValue(modelValue) {
110
+ if (!modelValue)
111
+ return [];
112
+ if (Array.isArray(modelValue))
113
+ return modelValue;
114
+ return [modelValue];
115
+ }
116
+ function removeTag(item) {
117
+ if (props.disabled || props.readonly)
118
+ return;
119
+ const id = item[props.idField];
120
+ if (props.multiple) {
121
+ const currentIds = getIdsFromModelValue(props.modelValue);
122
+ const newIds = currentIds.filter((v) => v !== id);
123
+ selectedValue.value = newIds;
124
+ } else {
125
+ selectedValue.value = "";
126
+ }
127
+ selectedData.value = selectedData.value.filter((v) => v[props.idField] !== id);
128
+ selectedRows.value = selectedRows.value.filter((v) => v[props.idField] !== id);
129
+ emit("change", selectedValue.value, selectedData.value);
130
+ }
131
+ function handleSelectionChange(selection) {
132
+ selectedRows.value = selection;
133
+ if (props.multiple) {
134
+ const ids = selection.map((item) => item[props.idField]);
135
+ selectedValue.value = ids;
136
+ selectedData.value = selection;
137
+ } else {
138
+ if (selection.length > 0) {
139
+ const item = selection[0];
140
+ selectedValue.value = item[props.idField];
141
+ selectedData.value = [item];
142
+ } else {
143
+ selectedValue.value = "";
144
+ selectedData.value = [];
145
+ }
146
+ }
147
+ emit("change", selectedValue.value, selectedData.value);
148
+ }
149
+ vue.watch(
150
+ () => props.modelValue,
151
+ (newVal) => {
152
+ if (newVal && (Array.isArray(newVal) ? newVal.length > 0 : newVal)) {
153
+ initSelectedData();
154
+ }
155
+ },
156
+ { immediate: true }
157
+ );
158
+ function toggleTable() {
159
+ if (props.disabled || props.readonly)
160
+ return;
161
+ showTable.value = !showTable.value;
162
+ }
163
+ const pageTableProps = vue.computed(() => {
164
+ var _a, _b, _c;
165
+ const dataSource = ((_a = props.tableProps) == null ? void 0 : _a.dataSource) || props.dataSource;
166
+ const filterItems = ((_b = props.tableProps) == null ? void 0 : _b.filterItems) || props.filterItems;
167
+ const columns = ((_c = props.tableProps) == null ? void 0 : _c.columns) || [];
168
+ return __spreadProps(__spreadValues({}, props.tableProps), {
169
+ columns,
170
+ dataSource,
171
+ filterItems,
172
+ selection: true,
173
+ selectedRows: selectedRows.value
174
+ });
175
+ });
176
+ return (_ctx, _cache) => {
177
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
178
+ vue.createElementVNode("div", _hoisted_2, [
179
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(selectedData.value, (item) => {
180
+ return vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElTag), {
181
+ key: item[__props.idField],
182
+ closable: "",
183
+ "disable-transitions": false,
184
+ onClose: ($event) => removeTag(item)
185
+ }, {
186
+ default: vue.withCtx(() => [
187
+ vue.createTextVNode(vue.toDisplayString(item[__props.labelField]), 1)
188
+ ]),
189
+ _: 2
190
+ }, 1032, ["onClose"]);
191
+ }), 128)),
192
+ !__props.readonly && !__props.disabled ? (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElButton), {
193
+ key: 0,
194
+ text: "",
195
+ type: "primary",
196
+ onClick: toggleTable
197
+ }, {
198
+ default: vue.withCtx(() => [
199
+ vue.createTextVNode(vue.toDisplayString(selectedData.value.length > 0 ? "更换" : "选择"), 1)
200
+ ]),
201
+ _: 1
202
+ })) : vue.createCommentVNode("", true)
203
+ ]),
204
+ vue.withDirectives(vue.createElementVNode("div", _hoisted_3, [
205
+ vue.createVNode(vue.unref(index.JkyPageTable), vue.mergeProps(pageTableProps.value, {
206
+ selection: true,
207
+ "selected-rows": selectedRows.value,
208
+ onSelectionChange: handleSelectionChange
209
+ }), null, 16, ["selected-rows"])
210
+ ], 512), [
211
+ [vue.vShow, showTable.value]
212
+ ])
213
+ ]);
214
+ };
215
+ }
216
+ }));
217
+ exports.default = _sfc_main;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const SelectTable_vue_vue_type_script_setup_true_lang = require("./SelectTable.vue.js");
4
+ ;/* empty css */
5
+ exports.default = SelectTable_vue_vue_type_script_setup_true_lang.default;
@@ -4,6 +4,15 @@
4
4
  --jky-form-item-border-width: 4px;
5
5
  --jky-form-item-border-color: var(--el-color-primary);
6
6
  --jky-form-item-bg-color: rgba(var(--el-color-primary-rgb), 0.5);
7
+
8
+ /* Grid 布局默认列数(可通过响应式变量覆盖) */
9
+ --jky-form-grid-cols-xs: 1;
10
+ --jky-form-grid-cols-sm: 2;
11
+ --jky-form-grid-cols-md: 2;
12
+ --jky-form-grid-cols-lg: 3;
13
+ --jky-form-grid-cols-xl: 3;
14
+ --jky-form-grid-cols-2xl: 4;
15
+ --jky-form-grid-cols-3xl: 4;
7
16
  }
8
17
 
9
18
 
@@ -11,6 +20,53 @@
11
20
  .jky-form {
12
21
  /* 表单容器样式 */
13
22
  }
23
+
24
+
25
+ /* Grid 布局模式 */
26
+ .jky-form--grid {
27
+ display: grid;
28
+ grid-template-columns: repeat(var(--jky-form-grid-cols-xs), minmax(0, 1fr));
29
+ gap: var(--el-form-item-gutter, 16px);
30
+ }
31
+ .el-form--inline.jky-form--grid .el-form-item {
32
+ margin-right: 0;
33
+ .el-form-item__content {
34
+ align-items: flex-start;
35
+ }
36
+ }
37
+
38
+
39
+ /* 响应式断点 */
40
+ @media (min-width: 640px) {
41
+ .jky-form--grid {
42
+ grid-template-columns: repeat(var(--jky-form-grid-cols-sm, var(--jky-form-grid-cols-xs)), minmax(0, 1fr));
43
+ }
44
+ }
45
+ @media (min-width: 768px) {
46
+ .jky-form--grid {
47
+ grid-template-columns: repeat(var(--jky-form-grid-cols-md, var(--jky-form-grid-cols-sm)), minmax(0, 1fr));
48
+ }
49
+ }
50
+ @media (min-width: 1024px) {
51
+ .jky-form--grid {
52
+ grid-template-columns: repeat(var(--jky-form-grid-cols-lg, var(--jky-form-grid-cols-md)), minmax(0, 1fr));
53
+ }
54
+ }
55
+ @media (min-width: 1280px) {
56
+ .jky-form--grid {
57
+ grid-template-columns: repeat(var(--jky-form-grid-cols-xl, var(--jky-form-grid-cols-lg)), minmax(0, 1fr));
58
+ }
59
+ }
60
+ @media (min-width: 1536px) {
61
+ .jky-form--grid {
62
+ grid-template-columns: repeat(var(--jky-form-grid-cols-2xl, var(--jky-form-grid-cols-xl)), minmax(0, 1fr));
63
+ }
64
+ }
65
+ @media (min-width: 1920px) {
66
+ .jky-form--grid {
67
+ grid-template-columns: repeat(var(--jky-form-grid-cols-3xl, var(--jky-form-grid-cols-2xl)), minmax(0, 1fr));
68
+ }
69
+ }
14
70
  .jky-form__title {
15
71
  /* 表单标题样式 */
16
72
  }
package/dist/lib/index.js CHANGED
@@ -4,6 +4,8 @@ const components = require("./components.js");
4
4
  const installer$1 = require("./utils/installer.js");
5
5
  ;/* empty css */
6
6
  const resolver = require("./resolver.js");
7
+ const TabContent_vue_vue_type_script_setup_true_lang = require("./tabs/TabContent.vue.js");
8
+ ;/* empty css */
7
9
  const index = require("./add-input/index.js");
8
10
  const index$1 = require("./button/index.js");
9
11
  const index$2 = require("./button-nav/index.js");
@@ -15,11 +17,16 @@ const index$7 = require("./page-layout/index.js");
15
17
  const index$8 = require("./page-table/index.js");
16
18
  const index$9 = require("./rich-editor/index.js");
17
19
  const index$a = require("./say-hello/index.js");
20
+ const index$b = require("./tabs/index.js");
21
+ const routeListener = require("./tabs/routeListener.js");
22
+ const useTabsStore = require("./tabs/useTabsStore.js");
23
+ const useTabs = require("./tabs/useTabs.js");
18
24
  const installer = installer$1.createInstaller(components.components);
19
25
  const install = installer.install;
20
26
  const version = installer.version;
21
27
  exports.components = components.components;
22
28
  exports.JkyComponentLibResolver = resolver.JkyComponentLibResolver;
29
+ exports.JkyTabContent = TabContent_vue_vue_type_script_setup_true_lang.default;
23
30
  exports.JkyAddInput = index.JkyAddInput;
24
31
  exports.JkyButton = index$1.JkyButton;
25
32
  exports.JkyButtonNav = index$2.JkyButtonNav;
@@ -31,6 +38,14 @@ exports.JkyPageLayout = index$7.JkyPageLayout;
31
38
  exports.JkyPageTable = index$8.JkyPageTable;
32
39
  exports.JkyRichEditor = index$9.JkyRichEditor;
33
40
  exports.JkySayHello = index$a.JkySayHello;
41
+ exports.JkyTabs = index$b.JkyTabs;
42
+ exports.clearRouteListeners = routeListener.clearRouteListeners;
43
+ exports.emitRouteChange = routeListener.emitRouteChange;
44
+ exports.onRouteChange = routeListener.onRouteChange;
45
+ exports.createTabsStore = useTabsStore.createTabsStore;
46
+ exports.resetTabsStore = useTabsStore.resetTabsStore;
47
+ exports.useTabsStore = useTabsStore.useTabsStore;
48
+ exports.useTabs = useTabs.useTabs;
34
49
  exports.default = installer;
35
50
  exports.install = install;
36
51
  exports.version = version;
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const version = "0.0.64";
3
+ const version = "0.0.67";
4
4
  exports.version = version;
@@ -76,13 +76,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
76
76
  function handleCommand(command) {
77
77
  emit("command", command);
78
78
  }
79
- const heightValue = computed(() => {
79
+ const heightValue = vue.computed(() => {
80
80
  if (typeof props.height === "number") {
81
81
  return `${props.height}px`;
82
82
  }
83
83
  return props.height;
84
84
  });
85
- const backgroundStyle = computed(() => {
85
+ const backgroundStyle = vue.computed(() => {
86
86
  const style = {};
87
87
  if (props.backgroundImage) {
88
88
  style.backgroundImage = `url(${props.backgroundImage})`;
@@ -98,7 +98,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
98
98
  var _a, _b, _c, _d;
99
99
  return vue.openBlock(), vue.createElementBlock("header", {
100
100
  class: "jky-page-header",
101
- style: vue.normalizeStyle([vue.unref(backgroundStyle), { height: vue.unref(heightValue) }])
101
+ style: vue.normalizeStyle([backgroundStyle.value, { height: heightValue.value }])
102
102
  }, [
103
103
  vue.createElementVNode("div", _hoisted_1, [
104
104
  __props.showPopover && ((_b = (_a = __props.popover) == null ? void 0 : _a.menus) == null ? void 0 : _b.length) ? (vue.openBlock(), vue.createBlock(PopoverMenu_vue_vue_type_script_setup_true_lang.default, vue.normalizeProps(vue.mergeProps({ key: 0 }, __props.popover)), null, 16)) : vue.createCommentVNode("", true),
@@ -29,7 +29,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
29
29
  },
30
30
  setup(__props) {
31
31
  const props = __props;
32
- const popoverIndex = ref("");
32
+ const popoverIndex = vue.ref("");
33
33
  function onPopoverButtonClick(item) {
34
34
  var _a;
35
35
  if (props.highlightCurrent) {
@@ -61,7 +61,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
61
61
  key: item.value,
62
62
  disabled: item.disabled,
63
63
  class: vue.normalizeClass(["w-fit! h-fit! ml-0!", [__props.elButtonClass, item.elButtonClass]]),
64
- type: vue.unref(popoverIndex) === item.value ? "primary" : __props.elButtonType || "default",
64
+ type: popoverIndex.value === item.value ? "primary" : __props.elButtonType || "default",
65
65
  onClick: ($event) => onPopoverButtonClick(item)
66
66
  }, {
67
67
  default: vue.withCtx(() => [
@@ -22,7 +22,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
22
22
  const vue = require("vue");
23
23
  const ElementPlus = require("element-plus");
24
24
  const _hoisted_1 = {
25
- class: "jky-page-layout flex h-full w-full overflow-hidden gap-x-4",
25
+ class: "jky-page-layout flex h-full w-full overflow-hidden",
26
26
  style: { "--el-menu-border-color": "transparent" }
27
27
  };
28
28
  const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
@@ -1,7 +1,9 @@
1
1
  :root {
2
2
  /* PageLayout 布局组件 CSS 变量 */
3
+ --jky-page-layout-gap: 5;
3
4
  }
4
5
  .jky-page-layout {
6
+ column-gap: calc(var(--spacing) * var(--jky-page-layout-gap));
5
7
  .el-menu {
6
8
  border-right: none;
7
9
  }