jky-component-lib 0.0.37 → 0.0.45

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 (46) hide show
  1. package/dist/es/_virtual/_plugin-vue_export-helper.js +10 -0
  2. package/dist/es/components.d.ts +1 -0
  3. package/dist/es/components.js +4 -1
  4. package/dist/es/form/Form.vue.d.ts +237 -0
  5. package/dist/es/form/Form.vue.js +178 -0
  6. package/dist/es/form/Form.vue3.js +5 -0
  7. package/dist/es/form/FormItem.vue.d.ts +6 -0
  8. package/dist/es/form/FormItem.vue.js +243 -0
  9. package/dist/es/form/FormItem.vue3.js +5 -0
  10. package/dist/es/form/index.d.ts +4 -0
  11. package/dist/es/form/index.js +8 -0
  12. package/dist/es/form/style.css +14 -0
  13. package/dist/es/index.js +2 -0
  14. package/dist/es/menu/Aside.vue.d.ts +17 -0
  15. package/dist/es/menu/Aside.vue.js +26 -0
  16. package/dist/es/menu/Menu.vue.d.ts +6 -17
  17. package/dist/es/menu/Menu.vue.js +25 -7
  18. package/dist/es/package.json.js +1 -1
  19. package/dist/es/page-header/PageHeader.vue.js +1 -1
  20. package/dist/es/page-header/PopoverMenu.vue.d.ts +4 -3
  21. package/dist/es/page-header/PopoverMenu.vue.js +4 -4
  22. package/dist/es/style.css +165 -0
  23. package/dist/lib/_virtual/_plugin-vue_export-helper.js +10 -0
  24. package/dist/lib/components.d.ts +1 -0
  25. package/dist/lib/components.js +12 -9
  26. package/dist/lib/form/Form.vue.d.ts +237 -0
  27. package/dist/lib/form/Form.vue.js +178 -0
  28. package/dist/lib/form/Form.vue3.js +5 -0
  29. package/dist/lib/form/FormItem.vue.d.ts +6 -0
  30. package/dist/lib/form/FormItem.vue.js +243 -0
  31. package/dist/lib/form/FormItem.vue3.js +5 -0
  32. package/dist/lib/form/index.d.ts +4 -0
  33. package/dist/lib/form/index.js +8 -0
  34. package/dist/lib/form/style.css +14 -0
  35. package/dist/lib/index.js +8 -6
  36. package/dist/lib/menu/Aside.vue.d.ts +17 -0
  37. package/dist/lib/menu/Aside.vue.js +26 -0
  38. package/dist/lib/menu/Menu.vue.d.ts +6 -17
  39. package/dist/lib/menu/Menu.vue.js +24 -6
  40. package/dist/lib/package.json.js +1 -1
  41. package/dist/lib/page-header/PageHeader.vue.js +1 -1
  42. package/dist/lib/page-header/PopoverMenu.vue.d.ts +4 -3
  43. package/dist/lib/page-header/PopoverMenu.vue.js +4 -4
  44. package/dist/lib/style.css +165 -0
  45. package/dist/umd/index.js +637 -29
  46. package/package.json +1 -1
@@ -0,0 +1,178 @@
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 FormItem_vue_vue_type_script_setup_true_lang = require("./FormItem.vue.js");
45
+ ;/* empty css */
46
+ const _hoisted_1 = {
47
+ key: 0,
48
+ class: "jky-form__title mb-4 text-xl font-semibold"
49
+ };
50
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
51
+ name: "JkyForm"
52
+ }), {
53
+ __name: "Form",
54
+ props: /* @__PURE__ */ vue.mergeModels({
55
+ modelValue: {},
56
+ items: {},
57
+ showTitle: { type: Boolean, default: false },
58
+ title: {},
59
+ gutter: { default: 0 },
60
+ defaultSpan: { default: 24 },
61
+ responsive: { type: Boolean, default: true },
62
+ className: {},
63
+ readonly: { type: Boolean },
64
+ disabled: { type: Boolean },
65
+ watchDeep: { type: Boolean, default: true },
66
+ onValidate: {},
67
+ model: {},
68
+ rules: {},
69
+ labelPosition: { default: "right" },
70
+ requireAsteriskPosition: {},
71
+ labelWidth: { default: "100" },
72
+ labelSuffix: {},
73
+ inline: { type: Boolean },
74
+ inlineMessage: { type: Boolean },
75
+ statusIcon: { type: Boolean },
76
+ showMessage: { type: Boolean },
77
+ validateOnRuleChange: { type: Boolean },
78
+ hideRequiredAsterisk: { type: Boolean },
79
+ scrollToError: { type: Boolean },
80
+ scrollIntoViewOptions: { type: Boolean },
81
+ size: { default: "default" }
82
+ }, {
83
+ "modelValue": { required: true, default: () => ({}) },
84
+ "modelModifiers": {}
85
+ }),
86
+ emits: /* @__PURE__ */ vue.mergeModels(["change", "validate"], ["update:modelValue"]),
87
+ setup(__props, { expose: __expose, emit: __emit }) {
88
+ const props = __props;
89
+ const emit = __emit;
90
+ const modelValue = vue.useModel(__props, "modelValue");
91
+ const formRef = vue.ref();
92
+ const formClass = vue.computed(() => {
93
+ return [
94
+ "jky-form",
95
+ props.className
96
+ ].filter(Boolean).join(" ");
97
+ });
98
+ vue.watch(
99
+ () => props.modelValue,
100
+ (newVal, oldVal) => {
101
+ if (newVal !== oldVal) {
102
+ emit("change", __spreadValues({}, newVal));
103
+ }
104
+ },
105
+ { deep: props.watchDeep }
106
+ );
107
+ function validate(callback) {
108
+ return __async(this, null, function* () {
109
+ var _a;
110
+ try {
111
+ yield (_a = formRef.value) == null ? void 0 : _a.validate();
112
+ emit("validate", { valid: true });
113
+ callback == null ? void 0 : callback(true, void 0);
114
+ return true;
115
+ } catch (error) {
116
+ emit("validate", { valid: false, fields: error.fields });
117
+ callback == null ? void 0 : callback(false, error.fields);
118
+ return false;
119
+ }
120
+ });
121
+ }
122
+ function resetFields() {
123
+ var _a;
124
+ (_a = formRef.value) == null ? void 0 : _a.resetFields();
125
+ }
126
+ function clearValidate(props2) {
127
+ var _a;
128
+ (_a = formRef.value) == null ? void 0 : _a.clearValidate(props2);
129
+ }
130
+ function getFormInstance() {
131
+ return formRef.value;
132
+ }
133
+ __expose({
134
+ validate,
135
+ resetFields,
136
+ clearValidate,
137
+ getFormInstance
138
+ });
139
+ return (_ctx, _cache) => {
140
+ return vue.openBlock(), vue.createElementBlock("div", {
141
+ class: vue.normalizeClass(formClass.value)
142
+ }, [
143
+ __props.showTitle && __props.title ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true),
144
+ vue.createVNode(vue.unref(ElementPlus.ElForm), vue.mergeProps({
145
+ ref_key: "formRef",
146
+ ref: formRef,
147
+ model: modelValue.value,
148
+ "label-width": __props.labelWidth,
149
+ "label-position": __props.labelPosition,
150
+ size: __props.size
151
+ }, _ctx.$attrs), {
152
+ default: vue.withCtx(() => [
153
+ vue.createElementVNode("div", {
154
+ class: "grid",
155
+ style: vue.normalizeStyle({
156
+ gridTemplateColumns: "repeat(12, minmax(0, 1fr))",
157
+ gap: `${__props.gutter}px`
158
+ })
159
+ }, [
160
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item) => {
161
+ return vue.openBlock(), vue.createBlock(FormItem_vue_vue_type_script_setup_true_lang.default, {
162
+ key: item.field,
163
+ field: item.field,
164
+ config: item,
165
+ model: modelValue.value,
166
+ readonly: __props.readonly,
167
+ disabled: __props.disabled
168
+ }, null, 8, ["field", "config", "model", "readonly", "disabled"]);
169
+ }), 128))
170
+ ], 4)
171
+ ]),
172
+ _: 1
173
+ }, 16, ["model", "label-width", "label-position", "size"])
174
+ ], 2);
175
+ };
176
+ }
177
+ }));
178
+ exports.default = _sfc_main;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Form_vue_vue_type_script_setup_true_lang = require("./Form.vue.js");
4
+ ;/* empty css */
5
+ exports.default = Form_vue_vue_type_script_setup_true_lang.default;
@@ -0,0 +1,6 @@
1
+ import { FormItemProps } from './types';
2
+ declare const _default: import('vue').DefineComponent<FormItemProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<FormItemProps> & Readonly<{}>, {
3
+ disabled: boolean;
4
+ readonly: boolean;
5
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,243 @@
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
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
22
+ const vue = require("vue");
23
+ const ElementPlus = require("element-plus");
24
+ const _hoisted_1 = {
25
+ key: 0,
26
+ class: "jky-form-item__title mb-2 text-base font-medium"
27
+ };
28
+ const _hoisted_2 = {
29
+ key: 0,
30
+ class: "flex items-center"
31
+ };
32
+ const _hoisted_3 = {
33
+ key: 0,
34
+ class: "mr-2"
35
+ };
36
+ const _hoisted_4 = {
37
+ key: 1,
38
+ class: "ml-2"
39
+ };
40
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
41
+ name: "JkyFormItem",
42
+ inheritAttrs: false
43
+ }), {
44
+ __name: "FormItem",
45
+ props: {
46
+ field: {},
47
+ config: {},
48
+ model: {},
49
+ readonly: { type: Boolean, default: false },
50
+ disabled: { type: Boolean, default: false },
51
+ label: {},
52
+ labelWidth: {},
53
+ labelPosition: {},
54
+ prop: {},
55
+ required: { type: Boolean },
56
+ rules: {},
57
+ error: {},
58
+ validateStatus: {},
59
+ for: {},
60
+ inlineMessage: { type: Boolean },
61
+ showMessage: { type: Boolean },
62
+ size: {}
63
+ },
64
+ setup(__props) {
65
+ const props = __props;
66
+ const componentProps = vue.computed(() => {
67
+ const configProps = props.config.componentProps;
68
+ if (!configProps) {
69
+ return {};
70
+ }
71
+ if (typeof configProps === "function") {
72
+ return configProps({
73
+ model: props.model,
74
+ field: props.field,
75
+ $form: props.model
76
+ });
77
+ }
78
+ return configProps;
79
+ });
80
+ const modelValue = vue.computed({
81
+ get: () => props.model[props.field],
82
+ set: (_val) => {
83
+ }
84
+ });
85
+ const isHidden = vue.computed(() => {
86
+ if (typeof props.config.hidden === "function") {
87
+ return props.config.hidden({
88
+ model: props.model,
89
+ field: props.field,
90
+ $form: props.model
91
+ });
92
+ }
93
+ return props.config.hidden || false;
94
+ });
95
+ const spanClass = vue.computed(() => {
96
+ const span = props.config.span || 12;
97
+ return `col-span-${span}`;
98
+ });
99
+ function renderComponent(type) {
100
+ var _a, _b, _c;
101
+ const commonProps = __spreadValues({
102
+ "modelValue": modelValue.value,
103
+ "onUpdate:modelValue": (_val) => {
104
+ },
105
+ "placeholder": props.config.placeholder,
106
+ "disabled": props.disabled || props.config.disabled || props.readonly,
107
+ "clearable": (_a = props.config.clearable) != null ? _a : true
108
+ }, componentProps.value);
109
+ switch (type) {
110
+ case "input":
111
+ return vue.h(ElementPlus.ElInput, __spreadProps(__spreadValues({}, commonProps), {
112
+ prefixIcon: props.config.prefixIcon,
113
+ suffixIcon: props.config.suffixIcon
114
+ }));
115
+ case "textarea":
116
+ return vue.h(ElementPlus.ElInput, __spreadProps(__spreadValues({}, commonProps), {
117
+ type: "textarea",
118
+ rows: 4
119
+ }));
120
+ case "select": {
121
+ const options = props.config.options || [];
122
+ return vue.h(
123
+ ElementPlus.ElSelect,
124
+ __spreadProps(__spreadValues({}, commonProps), {
125
+ multiple: props.config.multiple,
126
+ filterable: props.config.filterable
127
+ }),
128
+ {
129
+ default: () => options.map(
130
+ (option) => vue.h(ElementPlus.ElOption, {
131
+ key: option.value,
132
+ label: option.label,
133
+ value: option.value,
134
+ disabled: option.disabled
135
+ })
136
+ )
137
+ }
138
+ );
139
+ }
140
+ case "datepicker":
141
+ return vue.h(ElementPlus.ElDatePicker, __spreadProps(__spreadValues({}, commonProps), {
142
+ type: "date"
143
+ }));
144
+ case "datetime-picker":
145
+ return vue.h(ElementPlus.ElDatePicker, __spreadProps(__spreadValues({}, commonProps), {
146
+ type: "datetime"
147
+ }));
148
+ case "time-picker":
149
+ return vue.h(ElementPlus.ElTimePicker, __spreadValues({}, commonProps));
150
+ case "time-select":
151
+ return vue.h(ElementPlus.ElTimeSelect, __spreadValues({}, commonProps));
152
+ case "radio-group": {
153
+ const options = props.config.options || [];
154
+ return vue.h(
155
+ ElementPlus.ElRadioGroup,
156
+ __spreadValues({}, commonProps),
157
+ {
158
+ default: () => options.map(
159
+ (option) => vue.h(ElementPlus.ElRadio, {
160
+ key: option.value,
161
+ label: option.value,
162
+ disabled: option.disabled
163
+ }, {
164
+ default: () => option.label
165
+ })
166
+ )
167
+ }
168
+ );
169
+ }
170
+ case "checkbox-group": {
171
+ const options = props.config.options || [];
172
+ return vue.h(
173
+ ElementPlus.ElCheckboxGroup,
174
+ __spreadValues({}, commonProps),
175
+ {
176
+ default: () => options.map(
177
+ (option) => vue.h(ElementPlus.ElCheckbox, {
178
+ key: option.value,
179
+ label: option.value,
180
+ disabled: option.disabled
181
+ }, {
182
+ default: () => option.label
183
+ })
184
+ )
185
+ }
186
+ );
187
+ }
188
+ case "switch":
189
+ return vue.h(ElementPlus.ElSwitch, __spreadValues({}, commonProps));
190
+ case "slider":
191
+ return vue.h(ElementPlus.ElSlider, __spreadValues({}, commonProps));
192
+ case "cascader":
193
+ return vue.h(ElementPlus.ElCascader, __spreadProps(__spreadValues({}, commonProps), {
194
+ options: props.config.options
195
+ }));
196
+ case "color-picker":
197
+ return vue.h(ElementPlus.ElColorPicker, __spreadValues({}, commonProps));
198
+ case "rate":
199
+ return vue.h(ElementPlus.ElRate, __spreadValues({}, commonProps));
200
+ case "input-number":
201
+ return vue.h(ElementPlus.ElInputNumber, __spreadValues({}, commonProps));
202
+ case "custom":
203
+ return (_c = (_b = props.config).render) == null ? void 0 : _c.call(_b, commonProps);
204
+ default:
205
+ return vue.h(ElementPlus.ElInput, commonProps);
206
+ }
207
+ }
208
+ return (_ctx, _cache) => {
209
+ var _a, _b, _c, _d, _e;
210
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
211
+ class: vue.normalizeClass([[
212
+ __props.config.className,
213
+ spanClass.value,
214
+ ((_a = __props.config.responsiveSpan) == null ? void 0 : _a.xs) ? `xs:col-span-${__props.config.responsiveSpan.xs}` : "",
215
+ ((_b = __props.config.responsiveSpan) == null ? void 0 : _b.sm) ? `sm:col-span-${__props.config.responsiveSpan.sm}` : "",
216
+ ((_c = __props.config.responsiveSpan) == null ? void 0 : _c.md) ? `md:col-span-${__props.config.responsiveSpan.md}` : "",
217
+ ((_d = __props.config.responsiveSpan) == null ? void 0 : _d.lg) ? `lg:col-span-${__props.config.responsiveSpan.lg}` : "",
218
+ ((_e = __props.config.responsiveSpan) == null ? void 0 : _e.xl) ? `xl:col-span-${__props.config.responsiveSpan.xl}` : ""
219
+ ], "jky-form-item"])
220
+ }, [
221
+ __props.config.title && !__props.config.label ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, vue.toDisplayString(__props.config.title), 1)) : (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElFormItem), vue.mergeProps({
222
+ key: 1,
223
+ label: __props.config.label,
224
+ prop: __props.field,
225
+ rules: __props.config.rules,
226
+ required: __props.config.required
227
+ }, _ctx.$attrs), {
228
+ default: vue.withCtx(() => [
229
+ __props.config.prepend || __props.config.append ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
230
+ __props.config.prepend ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3, vue.toDisplayString(__props.config.prepend), 1)) : vue.createCommentVNode("", true),
231
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(renderComponent(__props.config.type || "input")))),
232
+ __props.config.append ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4, vue.toDisplayString(__props.config.append), 1)) : vue.createCommentVNode("", true)
233
+ ])) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(renderComponent(__props.config.type || "input")), { key: 1 }))
234
+ ]),
235
+ _: 1
236
+ }, 16, ["label", "prop", "rules", "required"]))
237
+ ], 2)), [
238
+ [vue.vShow, !isHidden.value]
239
+ ]);
240
+ };
241
+ }
242
+ }));
243
+ exports.default = _sfc_main;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const FormItem_vue_vue_type_script_setup_true_lang = require("./FormItem.vue.js");
4
+ ;/* empty css */
5
+ exports.default = FormItem_vue_vue_type_script_setup_true_lang.default;
@@ -0,0 +1,4 @@
1
+ import { InstallWithSFC } from '../utils';
2
+ import { default as Form } from './Form.vue';
3
+ export declare const JkyForm: InstallWithSFC<typeof Form>;
4
+ export default JkyForm;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Form_vue_vue_type_script_setup_true_lang = require("./Form.vue.js");
4
+ ;/* empty css */
5
+ const withInstall = require("../utils/with-install.js");
6
+ const JkyForm = withInstall.installWithSFC(Form_vue_vue_type_script_setup_true_lang.default);
7
+ exports.JkyForm = JkyForm;
8
+ exports.default = JkyForm;
@@ -0,0 +1,14 @@
1
+ /* Form 组件样式 */
2
+ .jky-form {
3
+ /* 表单容器样式 */
4
+ }
5
+ .jky-form__title {
6
+ /* 表单标题样式 */
7
+ }
8
+ /* FormItem 组件样式 */
9
+ .jky-form-item {
10
+ /* 表单项容器样式 */
11
+ }
12
+ .jky-form-item__title {
13
+ /* 表单项标题样式(无 label 时) */
14
+ }
package/dist/lib/index.js CHANGED
@@ -6,9 +6,10 @@ const installer$1 = require("./utils/installer.js");
6
6
  const resolver = require("./resolver.js");
7
7
  const index = require("./button/index.js");
8
8
  const index$1 = require("./button-nav/index.js");
9
- const index$2 = require("./menu/index.js");
10
- const index$3 = require("./page-header/index.js");
11
- const index$4 = require("./say-hello/index.js");
9
+ const index$2 = require("./form/index.js");
10
+ const index$3 = require("./menu/index.js");
11
+ const index$4 = require("./page-header/index.js");
12
+ const index$5 = require("./say-hello/index.js");
12
13
  const installer = installer$1.createInstaller(components.components);
13
14
  const install = installer.install;
14
15
  const version = installer.version;
@@ -16,9 +17,10 @@ exports.components = components.components;
16
17
  exports.JkyComponentLibResolver = resolver.JkyComponentLibResolver;
17
18
  exports.JkyButton = index.JkyButton;
18
19
  exports.JkyButtonNav = index$1.JkyButtonNav;
19
- exports.JkyMenu = index$2.JkyMenu;
20
- exports.JkyPageHeader = index$3.JkyPageHeader;
21
- exports.JkySayHello = index$4.JkySayHello;
20
+ exports.JkyForm = index$2.JkyForm;
21
+ exports.JkyMenu = index$3.JkyMenu;
22
+ exports.JkyPageHeader = index$4.JkyPageHeader;
23
+ exports.JkySayHello = index$5.JkySayHello;
22
24
  exports.default = installer;
23
25
  exports.install = install;
24
26
  exports.version = version;
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: any;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const es = require("element-plus/es");
4
+ require("element-plus/es/components/base/style/css");
5
+ require("element-plus/es/components/aside/style/css");
6
+ require("element-plus/es/components/scrollbar/style/css");
7
+ const vue = require("vue");
8
+ const _pluginVue_exportHelper = require("../_virtual/_plugin-vue_export-helper.js");
9
+ const _sfc_main = {};
10
+ function _sfc_render(_ctx, _cache) {
11
+ const _component_el_scrollbar = es.ElScrollbar;
12
+ const _component_el_aside = es.ElAside;
13
+ return vue.openBlock(), vue.createBlock(_component_el_aside, { class: "w-fit pr-0 pb-0 h-full" }, {
14
+ default: vue.withCtx(() => [
15
+ vue.createVNode(_component_el_scrollbar, { class: "bg-white rounded-md" }, {
16
+ default: vue.withCtx(() => [
17
+ vue.renderSlot(_ctx.$slots, "default")
18
+ ]),
19
+ _: 3
20
+ })
21
+ ]),
22
+ _: 3
23
+ });
24
+ }
25
+ const Aside = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render]]);
26
+ exports.default = Aside;
@@ -1,29 +1,18 @@
1
- import { MenuProps } from 'element-plus/es/components/menu';
2
- interface MenuItem {
3
- id?: string;
4
- index?: string;
5
- title?: string;
6
- icon?: string;
7
- disabled?: boolean;
8
- children?: MenuItem[];
9
- popperOffset?: number;
10
- route?: string | object;
11
- [key: string]: any;
12
- }
13
- interface Props extends MenuProps {
14
- menuData?: MenuItem[];
15
- modelValue?: string;
16
- }
1
+ import { MenuItem, MenuProps } from './types';
17
2
  declare function __VLS_template(): {
18
3
  attrs: Partial<{}>;
19
4
  slots: {
20
5
  default?(_: {}): any;
6
+ default?(_: {}): any;
21
7
  };
22
8
  refs: {};
23
9
  rootEl: any;
24
10
  };
25
11
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
26
- declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ 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[];
15
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
27
16
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
28
17
  export default _default;
29
18
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -21,14 +21,14 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
21
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
22
22
  const vue = require("vue");
23
23
  const ElementPlus = require("element-plus");
24
+ const Aside = require("./Aside.vue.js");
24
25
  const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
25
- name: "JkyMenu",
26
- inheritAttrs: false
26
+ name: "JkyMenu"
27
27
  }), {
28
28
  __name: "Menu",
29
29
  props: {
30
+ aside: { type: Boolean, default: false },
30
31
  menuData: { default: () => [] },
31
- modelValue: {},
32
32
  mode: {},
33
33
  defaultActive: {},
34
34
  defaultOpeneds: {},
@@ -52,6 +52,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
52
52
  persistent: { type: Boolean }
53
53
  },
54
54
  setup(__props) {
55
+ const props = __props;
55
56
  function renderMenuItem(item) {
56
57
  var _a;
57
58
  return vue.h(
@@ -95,16 +96,33 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
95
96
  return renderMenuItem(item);
96
97
  }
97
98
  return (_ctx, _cache) => {
98
- return vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElMenu), vue.mergeProps({ class: "jky-menu" }, _ctx.$attrs), {
99
+ return __props.aside ? (vue.openBlock(), vue.createBlock(Aside.default, { key: 0 }, {
100
+ default: vue.withCtx(() => [
101
+ vue.createVNode(vue.unref(ElementPlus.ElMenu), vue.mergeProps({ class: "jky-menu" }, __spreadValues(__spreadValues({}, props), _ctx.$attrs)), {
102
+ default: vue.withCtx(() => [
103
+ __props.menuData && __props.menuData.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(__props.menuData, (item) => {
104
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(renderMenuNode(item)), {
105
+ key: item.index || item.id
106
+ });
107
+ }), 128)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
108
+ ]),
109
+ _: 3
110
+ }, 16)
111
+ ]),
112
+ _: 3
113
+ })) : (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElMenu), vue.mergeProps({
114
+ key: 1,
115
+ class: "jky-menu"
116
+ }, __spreadValues(__spreadValues({}, props), _ctx.$attrs)), {
99
117
  default: vue.withCtx(() => [
100
118
  __props.menuData && __props.menuData.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(__props.menuData, (item) => {
101
119
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(renderMenuNode(item)), {
102
- key: item.index
120
+ key: item.index || item.id
103
121
  });
104
122
  }), 128)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
105
123
  ]),
106
124
  _: 3
107
- }, 16);
125
+ }, 16));
108
126
  };
109
127
  }
110
128
  }));
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const version = "0.0.37";
3
+ const version = "0.0.45";
4
4
  exports.version = version;
@@ -202,7 +202,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
202
202
  key: 1,
203
203
  "ref-name": "更多",
204
204
  "ref-icon-class": "icon-[mdi--format-list-bulleted]"
205
- }, __props.popover), null, 16)) : vue.createCommentVNode("", true),
205
+ }, __props.popover, { placement: "bottom" }), null, 16)) : vue.createCommentVNode("", true),
206
206
  vue.createVNode(vue.unref(ElementPlus.ElDropdown), {
207
207
  trigger: "hover",
208
208
  onCommand: handleCommand