jky-component-lib 0.0.117 → 0.0.122

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 (129) hide show
  1. package/dist/es/amap/style.css +12 -5
  2. package/dist/es/amap/style3.css +5 -12
  3. package/dist/es/form/Form.vue.js +76 -68
  4. package/dist/es/form/FormItem.vue.js +60 -46
  5. package/dist/es/form/style.css +0 -56
  6. package/dist/es/modal/Modal.vue.js +0 -1
  7. package/dist/es/package.json.js +1 -1
  8. package/dist/es/page-table/PageTable.vue.js +1 -1
  9. package/dist/es/style.css +10 -0
  10. package/dist/es/styles.css +1 -1
  11. package/dist/lib/amap/style.css +12 -5
  12. package/dist/lib/amap/style3.css +5 -12
  13. package/dist/lib/form/Form.vue.js +75 -67
  14. package/dist/lib/form/FormItem.vue.js +59 -45
  15. package/dist/lib/form/style.css +0 -56
  16. package/dist/lib/modal/Modal.vue.js +0 -1
  17. package/dist/lib/package.json.js +1 -1
  18. package/dist/lib/page-table/PageTable.vue.js +1 -1
  19. package/dist/lib/style.css +10 -0
  20. package/dist/lib/styles.css +1 -1
  21. package/package.json +4 -3
  22. package/dist/es/add-input/AddInput.vue.d.ts +0 -27
  23. package/dist/es/add-input/index.d.ts +0 -5
  24. package/dist/es/amap/AMap.vue.d.ts +0 -61
  25. package/dist/es/amap/AMarker.vue.d.ts +0 -38
  26. package/dist/es/amap/ATrackPlayback.vue.d.ts +0 -69
  27. package/dist/es/amap/index.d.ts +0 -9
  28. package/dist/es/button/Button.vue.d.ts +0 -33
  29. package/dist/es/button/index.d.ts +0 -4
  30. package/dist/es/button-nav/ButtonNav.vue.d.ts +0 -36
  31. package/dist/es/button-nav/index.d.ts +0 -4
  32. package/dist/es/code-mirror-editor/CodeMirrorEditor.vue.d.ts +0 -25
  33. package/dist/es/code-mirror-editor/index.d.ts +0 -5
  34. package/dist/es/components.d.ts +0 -18
  35. package/dist/es/form/Form.vue.d.ts +0 -343
  36. package/dist/es/form/FormItem.vue.d.ts +0 -6
  37. package/dist/es/form/SelectTable.vue.d.ts +0 -38
  38. package/dist/es/form/index.d.ts +0 -5
  39. package/dist/es/index.d.ts +0 -8
  40. package/dist/es/menu/Menu.vue.d.ts +0 -23
  41. package/dist/es/menu/MenuItem.vue.d.ts +0 -7
  42. package/dist/es/menu/index.d.ts +0 -5
  43. package/dist/es/modal/Footer.vue.d.ts +0 -10
  44. package/dist/es/modal/Header.vue.d.ts +0 -37
  45. package/dist/es/modal/Modal.vue.d.ts +0 -75
  46. package/dist/es/modal/index.d.ts +0 -5
  47. package/dist/es/page-header/PageHeader.vue.d.ts +0 -31
  48. package/dist/es/page-header/PopoverMenu.vue.d.ts +0 -13
  49. package/dist/es/page-header/index.d.ts +0 -5
  50. package/dist/es/page-layout/PageLayout.vue.d.ts +0 -18
  51. package/dist/es/page-layout/index.d.ts +0 -5
  52. package/dist/es/page-table/ActionColumn.vue.d.ts +0 -11
  53. package/dist/es/page-table/PageTable.vue.d.ts +0 -5457
  54. package/dist/es/page-table/PageTableColumn.vue.d.ts +0 -36
  55. package/dist/es/page-table/Toolbar.vue.d.ts +0 -33
  56. package/dist/es/page-table/index.d.ts +0 -9
  57. package/dist/es/page-table-v2/PageTableV2.vue.d.ts +0 -966
  58. package/dist/es/page-table-v2/index.d.ts +0 -4
  59. package/dist/es/resolver.d.ts +0 -2
  60. package/dist/es/rich-editor/RichEditor.vue.d.ts +0 -78
  61. package/dist/es/rich-editor/index.d.ts +0 -5
  62. package/dist/es/say-hello/SayHello.vue.d.ts +0 -5
  63. package/dist/es/say-hello/index.d.ts +0 -4
  64. package/dist/es/tabs/ContextMenu.vue.d.ts +0 -30
  65. package/dist/es/tabs/Tabs.vue.d.ts +0 -13
  66. package/dist/es/tabs/config.d.ts +0 -2
  67. package/dist/es/tabs/createTabsGuard.d.ts +0 -5
  68. package/dist/es/tabs/index.d.ts +0 -7
  69. package/dist/es/tabs/useTabsStore.d.ts +0 -6
  70. package/dist/es/utils/index.d.ts +0 -5
  71. package/dist/es/utils/installer.d.ts +0 -13
  72. package/dist/es/utils/responsive-toolbar.d.ts +0 -78
  73. package/dist/es/utils/string.d.ts +0 -18
  74. package/dist/es/utils/types.d.ts +0 -12
  75. package/dist/es/utils/with-install.d.ts +0 -2
  76. package/dist/lib/add-input/AddInput.vue.d.ts +0 -27
  77. package/dist/lib/add-input/index.d.ts +0 -5
  78. package/dist/lib/amap/AMap.vue.d.ts +0 -61
  79. package/dist/lib/amap/AMarker.vue.d.ts +0 -38
  80. package/dist/lib/amap/ATrackPlayback.vue.d.ts +0 -69
  81. package/dist/lib/amap/index.d.ts +0 -9
  82. package/dist/lib/button/Button.vue.d.ts +0 -33
  83. package/dist/lib/button/index.d.ts +0 -4
  84. package/dist/lib/button-nav/ButtonNav.vue.d.ts +0 -36
  85. package/dist/lib/button-nav/index.d.ts +0 -4
  86. package/dist/lib/code-mirror-editor/CodeMirrorEditor.vue.d.ts +0 -25
  87. package/dist/lib/code-mirror-editor/index.d.ts +0 -5
  88. package/dist/lib/components.d.ts +0 -18
  89. package/dist/lib/form/Form.vue.d.ts +0 -343
  90. package/dist/lib/form/FormItem.vue.d.ts +0 -6
  91. package/dist/lib/form/SelectTable.vue.d.ts +0 -38
  92. package/dist/lib/form/index.d.ts +0 -5
  93. package/dist/lib/index.d.ts +0 -8
  94. package/dist/lib/menu/Menu.vue.d.ts +0 -23
  95. package/dist/lib/menu/MenuItem.vue.d.ts +0 -7
  96. package/dist/lib/menu/index.d.ts +0 -5
  97. package/dist/lib/modal/Footer.vue.d.ts +0 -10
  98. package/dist/lib/modal/Header.vue.d.ts +0 -37
  99. package/dist/lib/modal/Modal.vue.d.ts +0 -75
  100. package/dist/lib/modal/index.d.ts +0 -5
  101. package/dist/lib/page-header/PageHeader.vue.d.ts +0 -31
  102. package/dist/lib/page-header/PopoverMenu.vue.d.ts +0 -13
  103. package/dist/lib/page-header/index.d.ts +0 -5
  104. package/dist/lib/page-layout/PageLayout.vue.d.ts +0 -18
  105. package/dist/lib/page-layout/index.d.ts +0 -5
  106. package/dist/lib/page-table/ActionColumn.vue.d.ts +0 -11
  107. package/dist/lib/page-table/PageTable.vue.d.ts +0 -5457
  108. package/dist/lib/page-table/PageTableColumn.vue.d.ts +0 -36
  109. package/dist/lib/page-table/Toolbar.vue.d.ts +0 -33
  110. package/dist/lib/page-table/index.d.ts +0 -9
  111. package/dist/lib/page-table-v2/PageTableV2.vue.d.ts +0 -966
  112. package/dist/lib/page-table-v2/index.d.ts +0 -4
  113. package/dist/lib/resolver.d.ts +0 -2
  114. package/dist/lib/rich-editor/RichEditor.vue.d.ts +0 -78
  115. package/dist/lib/rich-editor/index.d.ts +0 -5
  116. package/dist/lib/say-hello/SayHello.vue.d.ts +0 -5
  117. package/dist/lib/say-hello/index.d.ts +0 -4
  118. package/dist/lib/tabs/ContextMenu.vue.d.ts +0 -30
  119. package/dist/lib/tabs/Tabs.vue.d.ts +0 -13
  120. package/dist/lib/tabs/config.d.ts +0 -2
  121. package/dist/lib/tabs/createTabsGuard.d.ts +0 -5
  122. package/dist/lib/tabs/index.d.ts +0 -7
  123. package/dist/lib/tabs/useTabsStore.d.ts +0 -6
  124. package/dist/lib/utils/index.d.ts +0 -5
  125. package/dist/lib/utils/installer.d.ts +0 -13
  126. package/dist/lib/utils/responsive-toolbar.d.ts +0 -78
  127. package/dist/lib/utils/string.d.ts +0 -18
  128. package/dist/lib/utils/types.d.ts +0 -12
  129. package/dist/lib/utils/with-install.d.ts +0 -2
@@ -1,7 +1,14 @@
1
+ /* AMap 高德地图组件样式 */
2
+ .jky-amap-container {
3
+ /* 地图容器样式 */
4
+ position: relative;
5
+ overflow: hidden;
1
6
 
2
- /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
- .amap-icon img,
4
- .amap-marker-content img {
5
- width: 25px;
6
- height: 34px;
7
+ /* 隐藏高德地图的 logo 和版权信息(注意:商业使用请遵守高德地图条款) */
8
+ .amap-logo {
9
+ display: none !important;
10
+ }
11
+ .amap-copyright {
12
+ display: none !important;
13
+ }
7
14
  }
@@ -1,14 +1,7 @@
1
- /* AMap 高德地图组件样式 */
2
- .jky-amap-container {
3
- /* 地图容器样式 */
4
- position: relative;
5
- overflow: hidden;
6
1
 
7
- /* 隐藏高德地图的 logo 和版权信息(注意:商业使用请遵守高德地图条款) */
8
- .amap-logo {
9
- display: none !important;
10
- }
11
- .amap-copyright {
12
- display: none !important;
13
- }
2
+ /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
+ .amap-icon img,
4
+ .amap-marker-content img {
5
+ width: 25px;
6
+ height: 34px;
14
7
  }
@@ -37,14 +37,13 @@ var __async = (__this, __arguments, generator) => {
37
37
  step((generator = generator.apply(__this, __arguments)).next());
38
38
  });
39
39
  };
40
- import { defineComponent, useModel, provide, useAttrs, ref, computed, watch, resolveComponent, openBlock, createBlock, unref, mergeProps, withCtx, createElementBlock, Fragment, renderList, createElementVNode, normalizeClass, createTextVNode, toDisplayString, createCommentVNode, createVNode, mergeModels } from "vue";
40
+ import { defineComponent, useSlots, useModel, provide, useAttrs, ref, computed, watch, resolveComponent, openBlock, createBlock, unref, mergeProps, withCtx, createElementBlock, Fragment, renderList, renderSlot, createElementVNode, normalizeClass, createTextVNode, toDisplayString, createCommentVNode, createVNode, mergeModels } from "vue";
41
41
  import { ElForm } from "element-plus";
42
- import { omit } from "lodash-es";
43
42
  import _sfc_main$1 from "./FormItem.vue.js";
44
43
  /* empty css */
45
44
  const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, {
46
- name: "JkyForm"
47
- // inheritAttrs: false,
45
+ name: "JkyForm",
46
+ inheritAttrs: false
48
47
  }), {
49
48
  __name: "Form",
50
49
  props: /* @__PURE__ */ mergeModels({
@@ -91,8 +90,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
91
90
  setup(__props, { expose: __expose, emit: __emit }) {
92
91
  const props = __props;
93
92
  const emit = __emit;
93
+ useSlots();
94
94
  const modelValue = useModel(__props, "modelValue");
95
- const customProps = ["items", "showTitle", "title", "gutter", "defaultSpan", "responsive", "watchDeep", "grid", "showFooter", "submitText", "cancelText", "submitDisabled", "cancelDisabled", "showCount"];
96
95
  provide("formModel", modelValue);
97
96
  const attrs = useAttrs();
98
97
  const formRef = ref();
@@ -109,23 +108,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
109
108
  const _showMoreButton = computed(() => {
110
109
  return props.items && props.items.length > props.showCount;
111
110
  });
111
+ const innerProps = computed(() => {
112
+ const _attrs = attrs["form-props"] || attrs.formProps || {};
113
+ return __spreadValues(__spreadValues(__spreadValues({}, attrs), _attrs), props.formProps);
114
+ });
112
115
  function toggleShowMore() {
113
116
  showAllItems.value = !showAllItems.value;
114
117
  }
115
- const _gridStyle = computed(() => {
116
- if (!attrs.inline || !props.grid || typeof props.grid === "boolean") {
117
- return {};
118
- }
119
- const style = {};
120
- const breakpoints = ["xs", "sm", "md", "lg", "xl", "2xl", "3xl"];
121
- breakpoints.forEach((breakpoint) => {
122
- const columns = props.grid[breakpoint];
123
- if (columns !== void 0) {
124
- style[`--jky-form-grid-cols-${breakpoint}`] = columns;
125
- }
126
- });
127
- return style;
128
- });
129
118
  watch(
130
119
  () => modelValue.value,
131
120
  (newVal, oldVal) => {
@@ -185,74 +174,93 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
185
174
  }
186
175
  });
187
176
  return (_ctx, _cache) => {
188
- const _component_ElButton = resolveComponent("ElButton");
189
177
  const _component_ElFormItem = resolveComponent("ElFormItem");
178
+ const _component_ElButton = resolveComponent("ElButton");
190
179
  return openBlock(), createBlock(unref(ElForm), mergeProps({
191
180
  ref_key: "formRef",
192
- ref: formRef
193
- }, unref(omit)(props, customProps), {
194
- class: ["jky-form", [_ctx.$attrs.inline && "jky-form--inline", props.grid && "jky-form--grid"]],
181
+ ref: formRef,
182
+ class: "jky-form",
195
183
  model: modelValue.value,
196
- style: [_gridStyle.value]
197
- }), {
184
+ inline: props.inline
185
+ }, innerProps.value), {
198
186
  default: withCtx(() => [
199
187
  (openBlock(true), createElementBlock(Fragment, null, renderList(_visibleItems.value, (item) => {
200
- return openBlock(), createBlock(_sfc_main$1, {
201
- key: item.field,
202
- field: item.field,
203
- config: item,
204
- model: modelValue.value,
205
- readonly: typeof __props.readonly === "function" ? __props.readonly({ model: modelValue.value, field: item.field, $form: modelValue.value }) : __props.readonly,
206
- disabled: __props.disabled
207
- }, null, 8, ["field", "config", "model", "readonly", "disabled"]);
188
+ return openBlock(), createElementBlock(Fragment, {
189
+ key: item.field
190
+ }, [
191
+ item.slot ? (openBlock(), createBlock(_component_ElFormItem, {
192
+ key: 0,
193
+ label: item.label,
194
+ prop: item.field,
195
+ "label-width": item.labelWidth,
196
+ disabled: __props.disabled
197
+ }, {
198
+ default: withCtx(() => [
199
+ renderSlot(_ctx.$slots, item.slot, {
200
+ model: modelValue.value,
201
+ field: item.field
202
+ })
203
+ ]),
204
+ _: 2
205
+ }, 1032, ["label", "prop", "label-width", "disabled"])) : (openBlock(), createBlock(_sfc_main$1, {
206
+ key: 1,
207
+ field: item.field,
208
+ config: item,
209
+ model: modelValue.value,
210
+ disabled: __props.disabled
211
+ }, null, 8, ["field", "config", "model", "disabled"]))
212
+ ], 64);
208
213
  }), 128)),
209
214
  _showMoreButton.value || props.showFooter ? (openBlock(), createBlock(_component_ElFormItem, {
210
215
  key: 0,
211
216
  "label-width": 0
212
217
  }, {
213
- default: withCtx(() => [
214
- createElementVNode("div", {
215
- class: normalizeClass(["w-full flex gap-2", [props.grid && _ctx.$attrs.inline ? "justify-center" : "justify-end", props.footerClass]])
216
- }, [
217
- _showMoreButton.value ? (openBlock(), createBlock(_component_ElButton, {
218
- key: 0,
219
- type: "primary",
220
- onClick: toggleShowMore
221
- }, {
222
- default: withCtx(() => [
223
- createTextVNode(toDisplayString(showAllItems.value ? "收起" : `展开 (${props.items.length - props.showCount})`), 1)
224
- ]),
225
- _: 1
226
- })) : createCommentVNode("", true),
227
- props.showFooter ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
228
- createVNode(_component_ElButton, {
229
- disabled: __props.cancelDisabled || __props.disabled,
230
- onClick: handleCancel
231
- }, {
232
- default: withCtx(() => [
233
- createTextVNode(toDisplayString(__props.cancelText), 1)
234
- ]),
235
- _: 1
236
- }, 8, ["disabled"]),
237
- createVNode(_component_ElButton, {
218
+ default: withCtx(() => {
219
+ var _a;
220
+ return [
221
+ createElementVNode("div", {
222
+ class: normalizeClass(["w-full flex gap-2", [__props.inline ? "justify-start" : "justify-end", __props.footerClass]])
223
+ }, [
224
+ _showMoreButton.value ? (openBlock(), createBlock(_component_ElButton, {
225
+ key: 0,
238
226
  type: "primary",
239
- disabled: __props.submitDisabled || __props.disabled,
240
- loading: false,
241
- onClick: handleSubmit
227
+ onClick: toggleShowMore
242
228
  }, {
243
229
  default: withCtx(() => [
244
- createTextVNode(toDisplayString(__props.submitText), 1)
230
+ createTextVNode(toDisplayString(showAllItems.value ? "收起" : `展开 (${props.items.length - props.showCount})`), 1)
245
231
  ]),
246
232
  _: 1
247
- }, 8, ["disabled"])
248
- ], 64)) : createCommentVNode("", true)
249
- ], 2)
250
- ]),
233
+ })) : createCommentVNode("", true),
234
+ props.showFooter ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
235
+ createVNode(_component_ElButton, {
236
+ disabled: (_a = props.cancelDisabled) != null ? _a : props.disabled,
237
+ onClick: handleCancel
238
+ }, {
239
+ default: withCtx(() => [
240
+ createTextVNode(toDisplayString(__props.cancelText), 1)
241
+ ]),
242
+ _: 1
243
+ }, 8, ["disabled"]),
244
+ createVNode(_component_ElButton, {
245
+ type: "primary",
246
+ disabled: props.submitDisabled || props.disabled,
247
+ loading: false,
248
+ onClick: handleSubmit
249
+ }, {
250
+ default: withCtx(() => [
251
+ createTextVNode(toDisplayString(__props.submitText), 1)
252
+ ]),
253
+ _: 1
254
+ }, 8, ["disabled"])
255
+ ], 64)) : createCommentVNode("", true)
256
+ ], 2)
257
+ ];
258
+ }),
251
259
  _: 1
252
260
  })) : createCommentVNode("", true)
253
261
  ]),
254
- _: 1
255
- }, 16, ["model", "class", "style"]);
262
+ _: 3
263
+ }, 16, ["model", "inline"]);
256
264
  };
257
265
  }
258
266
  }));
@@ -51,7 +51,7 @@ var __async = (__this, __arguments, generator) => {
51
51
  };
52
52
  import { defineComponent, ref, watch, computed, openBlock, createElementBlock, createBlock, unref, mergeProps, withCtx, createElementVNode, resolveDynamicComponent, Fragment, createTextVNode, toDisplayString, createCommentVNode, createSlots, h } from "vue";
53
53
  import { Plus, CircleCloseFilled, CircleCheckFilled, WarningFilled, QuestionFilled } from "@element-plus/icons-vue";
54
- import { ElFormItem, ElDivider, ElInput, ElUpload, ElButton, ElIcon, ElInputNumber, ElRate, ElTransfer, ElSelectV2, ElMention, ElInputTag, ElColorPickerPanel, ElColorPicker, ElTreeSelect, ElCascader, ElSlider, ElSwitch, ElCheckboxGroup, ElCheckbox, ElRadioGroup, ElRadio, ElTimeSelect, ElTimePicker, ElDatePicker, ElAutocomplete, ElSelect, ElTooltip } from "element-plus";
54
+ import { ElFormItem, ElDivider, ElInput, ElUpload, ElButton, ElIcon, ElInputNumber, ElRate, ElTransfer, ElSelectV2, ElMention, ElInputTag, ElColorPickerPanel, ElColorPicker, ElTreeSelect, ElCascader, ElSlider, ElSwitch, ElCheckboxGroup, ElCheckbox, ElRadioGroup, ElRadioButton, ElRadio, ElTimeSelect, ElTimePicker, ElDatePicker, ElAutocomplete, ElSelect, ElTooltip } from "element-plus";
55
55
  import { JkyAddInput } from "../add-input/index.js";
56
56
  import { JkyCodeMirrorEditor } from "../code-mirror-editor/index.js";
57
57
  import { JkyRichEditor } from "../rich-editor/index.js";
@@ -223,49 +223,63 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
223
223
  }, componentProps.value), {
224
224
  "class": ["w-full min-w-25", componentProps.value.class]
225
225
  });
226
+ const { slots: componentSlots } = componentProps.value;
227
+ const _componentSlotsObj = typeof componentSlots === "function" ? componentSlots({
228
+ model: props.model,
229
+ field: props.field,
230
+ $form: props.model
231
+ }) : componentSlots;
226
232
  switch (type) {
227
233
  case "input":
228
- return h(ElInput, __spreadProps(__spreadValues({}, commonProps), {
229
- placeholder: commonProps.placeholder || "请输入",
230
- prefixIcon: props.config.prefixIcon,
231
- suffixIcon: props.config.suffixIcon
232
- }));
234
+ return h(
235
+ ElInput,
236
+ __spreadProps(__spreadValues({}, commonProps), {
237
+ placeholder: commonProps.placeholder || "请输入",
238
+ prefixIcon: props.config.prefixIcon,
239
+ suffixIcon: props.config.suffixIcon
240
+ }),
241
+ _componentSlotsObj
242
+ );
233
243
  case "textarea":
234
- return h(ElInput, __spreadProps(__spreadValues({}, commonProps), {
235
- placeholder: commonProps.placeholder || "请输入",
236
- type: "textarea",
237
- rows: 4
238
- }));
244
+ return h(
245
+ ElInput,
246
+ __spreadProps(__spreadValues({}, commonProps), {
247
+ placeholder: commonProps.placeholder || "请输入",
248
+ type: "textarea",
249
+ rows: 4
250
+ }),
251
+ _componentSlotsObj
252
+ );
239
253
  case "select": {
240
254
  const selectProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
241
255
  placeholder: commonProps.placeholder || "请选择"
242
256
  }), componentProps.value);
243
- return h(ElSelect, selectProps);
257
+ return h(ElSelect, selectProps, _componentSlotsObj);
244
258
  }
245
259
  case "autocomplete": {
246
260
  const autocompleteProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
247
261
  placeholder: commonProps.placeholder || "请输入"
248
262
  }), componentProps.value);
249
- return h(ElAutocomplete, autocompleteProps);
263
+ return h(ElAutocomplete, autocompleteProps, _componentSlotsObj);
250
264
  }
251
265
  case "datepicker":
252
- return h(ElDatePicker, __spreadValues(__spreadValues({}, commonProps), componentProps.value));
266
+ return h(ElDatePicker, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
253
267
  case "datetime-picker":
254
- return h(ElDatePicker, __spreadValues(__spreadValues({}, commonProps), componentProps.value));
268
+ return h(ElDatePicker, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
255
269
  case "time-picker":
256
- return h(ElTimePicker, __spreadValues(__spreadValues({}, commonProps), componentProps.value));
270
+ return h(ElTimePicker, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
257
271
  case "time-select":
258
- return h(ElTimeSelect, __spreadValues(__spreadValues({}, commonProps), componentProps.value));
272
+ return h(ElTimeSelect, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
259
273
  case "radio-group": {
260
274
  const radioGroupProps = __spreadValues(__spreadValues({}, commonProps), componentProps.value);
261
275
  return h(
262
276
  ElRadioGroup,
263
277
  radioGroupProps,
264
- {
278
+ __spreadValues({
265
279
  default: () => {
266
280
  const options = componentProps.value.options || props.config.options || [];
267
281
  return options.map(
268
- (option) => h(ElRadio, {
282
+ (option) => h(radioGroupProps.button ? ElRadioButton : ElRadio, {
269
283
  key: option.value,
270
284
  value: option.value,
271
285
  disabled: option.disabled
@@ -274,7 +288,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
274
288
  })
275
289
  );
276
290
  }
277
- }
291
+ }, _componentSlotsObj)
278
292
  );
279
293
  }
280
294
  case "checkbox-group": {
@@ -285,7 +299,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
285
299
  return h(
286
300
  ElCheckboxGroup,
287
301
  checkboxGroupProps,
288
- {
302
+ __spreadValues({
289
303
  default: () => {
290
304
  const options = componentProps.value.options || props.config.options || [];
291
305
  return options.map(
@@ -298,30 +312,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
298
312
  })
299
313
  );
300
314
  }
301
- }
315
+ }, _componentSlotsObj)
302
316
  );
303
317
  }
304
318
  case "switch":
305
- return h(ElSwitch, __spreadValues(__spreadValues({}, commonProps), componentProps.value));
319
+ return h(ElSwitch, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
306
320
  case "slider":
307
- return h(ElSlider, __spreadValues(__spreadValues({}, commonProps), componentProps.value));
321
+ return h(ElSlider, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
308
322
  case "cascader": {
309
323
  const cascaderProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
310
324
  placeholder: commonProps.placeholder || "请选择"
311
325
  }), componentProps.value);
312
- return h(ElCascader, cascaderProps);
326
+ return h(ElCascader, cascaderProps, _componentSlotsObj);
313
327
  }
314
328
  case "tree-select": {
315
329
  const treeSelectProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
316
330
  placeholder: commonProps.placeholder || "请选择"
317
331
  }), componentProps.value);
318
- return h(ElTreeSelect, treeSelectProps);
332
+ return h(ElTreeSelect, treeSelectProps, _componentSlotsObj);
319
333
  }
320
334
  case "color-picker":
321
- return h(ElColorPicker, __spreadValues(__spreadValues({}, commonProps), componentProps.value));
335
+ return h(ElColorPicker, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
322
336
  // 颜色选择器面板
323
337
  case "color-picker-panel":
324
- return h(ElColorPickerPanel, __spreadValues(__spreadValues({}, commonProps), componentProps.value));
338
+ return h(ElColorPickerPanel, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
325
339
  // 标签输入框
326
340
  case "input-tag": {
327
341
  const inputTagProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
@@ -330,7 +344,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
330
344
  props.model[props.field] = val;
331
345
  }
332
346
  }), componentProps.value);
333
- return h(ElInputTag, inputTagProps);
347
+ return h(ElInputTag, inputTagProps, _componentSlotsObj);
334
348
  }
335
349
  // 提及组件
336
350
  case "mention": {
@@ -340,7 +354,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
340
354
  props.model[props.field] = val;
341
355
  }
342
356
  }), componentProps.value);
343
- return h(ElMention, mentionProps);
357
+ return h(ElMention, mentionProps, _componentSlotsObj);
344
358
  }
345
359
  // 虚拟化选择器
346
360
  case "select-v2": {
@@ -351,7 +365,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
351
365
  },
352
366
  "options": componentProps.value.options || []
353
367
  }), componentProps.value);
354
- return h(ElSelectV2, selectV2Props);
368
+ return h(ElSelectV2, selectV2Props, _componentSlotsObj);
355
369
  }
356
370
  // 穿梭框
357
371
  case "transfer": {
@@ -362,15 +376,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
362
376
  },
363
377
  "data": componentProps.value.data || []
364
378
  }), componentProps.value);
365
- return h(ElTransfer, transferProps);
379
+ return h(ElTransfer, transferProps, _componentSlotsObj);
366
380
  }
367
381
  // 表格选择器
368
382
  case "select-table":
369
383
  return h(_sfc_main$1, __spreadProps(__spreadValues(__spreadValues({}, commonProps), componentProps.value), {
370
384
  labelWidth: formItemProps.value.labelWidth
371
- }));
385
+ }), _componentSlotsObj);
372
386
  case "rate":
373
- return h(ElRate, __spreadValues(__spreadValues({}, commonProps), componentProps.value));
387
+ return h(ElRate, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
374
388
  case "input-number": {
375
389
  const numberModelValue = modelValue.value === "" || modelValue.value === null || modelValue.value === void 0 ? null : Number(modelValue.value);
376
390
  const inputNumberProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
@@ -380,7 +394,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
380
394
  props.model[props.field] = val;
381
395
  }
382
396
  }), componentProps.value);
383
- return h(ElInputNumber, inputNumberProps);
397
+ return h(ElInputNumber, inputNumberProps, _componentSlotsObj);
384
398
  }
385
399
  // 图片上传
386
400
  case "image-upload": {
@@ -392,18 +406,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
392
406
  "onRemove": componentProps.value.onRemove
393
407
  }), componentProps.value);
394
408
  if (uploadProps["list-type"] === "picture-card") {
395
- return h(ElUpload, uploadProps, {
409
+ return h(ElUpload, uploadProps, __spreadValues({
396
410
  default: () => h("div", { class: "el-upload__picture-card-wrapper" }, [
397
411
  h(ElIcon, { size: 24 }, { default: () => h(Plus) })
398
412
  ])
399
- });
413
+ }, _componentSlotsObj));
400
414
  }
401
415
  if (uploadProps["list-type"] === "picture") {
402
- return h(ElUpload, uploadProps, {
416
+ return h(ElUpload, uploadProps, __spreadValues({
403
417
  default: () => h(ElButton, { type: "primary" }, { default: () => "点击上传" })
404
- });
418
+ }, _componentSlotsObj));
405
419
  }
406
- return h(ElUpload, uploadProps);
420
+ return h(ElUpload, uploadProps, _componentSlotsObj);
407
421
  }
408
422
  // 文件上传
409
423
  case "file-upload": {
@@ -415,26 +429,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
415
429
  "onRemove": componentProps.value.onRemove
416
430
  }), componentProps.value);
417
431
  if (uploadProps["list-type"] === "text") {
418
- return h(ElUpload, uploadProps, {
432
+ return h(ElUpload, uploadProps, __spreadValues({
419
433
  default: () => h(ElButton, { type: "primary" }, { default: () => "点击上传" })
420
- });
434
+ }, _componentSlotsObj));
421
435
  }
422
- return h(ElUpload, uploadProps);
436
+ return h(ElUpload, uploadProps, _componentSlotsObj);
423
437
  }
424
438
  // CodeMirror 编辑器
425
439
  case "code-mirror-editor": {
426
440
  const codeMirrorProps = __spreadValues(__spreadValues({}, commonProps), componentProps.value);
427
- return h(JkyCodeMirrorEditor, codeMirrorProps);
441
+ return h(JkyCodeMirrorEditor, codeMirrorProps, _componentSlotsObj);
428
442
  }
429
443
  // RichEditor 富文本编辑器
430
444
  case "rich-editor": {
431
445
  const richEditorProps = __spreadValues(__spreadValues({}, commonProps), componentProps.value);
432
- return h(JkyRichEditor, richEditorProps);
446
+ return h(JkyRichEditor, richEditorProps, _componentSlotsObj);
433
447
  }
434
448
  // AddInput 动态键值对输入框
435
449
  case "add-input": {
436
450
  const addInputProps = __spreadValues(__spreadValues({}, commonProps), componentProps.value);
437
- return h(JkyAddInput, addInputProps);
451
+ return h(JkyAddInput, addInputProps, _componentSlotsObj);
438
452
  }
439
453
  case "custom":
440
454
  return (_b = (_a = props.config).render) == null ? void 0 : _b.call(_a, commonProps);
@@ -4,15 +4,6 @@
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;
16
7
  }
17
8
 
18
9
 
@@ -20,50 +11,3 @@
20
11
  .jky-form {
21
12
  /* 表单容器样式 */
22
13
  }
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
- }
@@ -83,7 +83,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
83
83
  modelValue.value = false;
84
84
  }
85
85
  function handleConfirm() {
86
- handleClose();
87
86
  emit("confirm");
88
87
  }
89
88
  function handleCancel() {
@@ -1,4 +1,4 @@
1
- const version = "0.0.117";
1
+ const version = "0.0.122";
2
2
  export {
3
3
  version
4
4
  };
@@ -388,7 +388,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
388
388
  createVNode(unref(JkyForm), mergeProps({
389
389
  ref_key: "formRef",
390
390
  ref: formRef
391
- }, __spreadValues({ inline: true, grid: true }, __props.formProps), {
391
+ }, __spreadValues({ inline: true }, __props.formProps), {
392
392
  modelValue: form.value,
393
393
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => form.value = $event),
394
394
  "show-footer": true,
package/dist/es/style.css CHANGED
@@ -1899,6 +1899,10 @@
1899
1899
  justify-content: flex-end;
1900
1900
  }
1901
1901
 
1902
+ .justify-start {
1903
+ justify-content: flex-start;
1904
+ }
1905
+
1902
1906
  .gap-1 {
1903
1907
  gap: calc(var(--spacing) * 1);
1904
1908
  }
@@ -3047,6 +3051,12 @@
3047
3051
  grid-template-columns: repeat(4, minmax(0, 1fr));
3048
3052
  }
3049
3053
  }
3054
+
3055
+ @media (min-width: 80rem) {
3056
+ .xl\:grid-cols-2 {
3057
+ grid-template-columns: repeat(2, minmax(0, 1fr));
3058
+ }
3059
+ }
3050
3060
  }
3051
3061
 
3052
3062
  @property --tw-translate-x {