jky-component-lib 0.0.129 → 0.0.130

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 (234) hide show
  1. package/dist/es/amap/style2.css +13 -2
  2. package/dist/es/amap/style3.css +2 -13
  3. package/dist/es/components.js +3 -3
  4. package/dist/es/form/Form.vue.d.ts +5 -5
  5. package/dist/es/form/Form.vue.js +0 -1
  6. package/dist/es/form/FormItem.vue.d.ts +14 -1
  7. package/dist/es/form/FormItem.vue.js +152 -304
  8. package/dist/es/form/{FormItem.vue3.js → FormItem.vue2.js} +0 -1
  9. package/dist/es/form/index.d.ts +2 -2
  10. package/dist/es/form/index.js +5 -5
  11. package/dist/es/form/items/AMapPickerItem.vue.d.ts +19 -0
  12. package/dist/es/form/items/AMapPickerItem.vue.js +104 -0
  13. package/dist/es/form/items/AMapPickerItem.vue2.js +4 -0
  14. package/dist/es/form/items/AddInputItem.vue.d.ts +13 -0
  15. package/dist/es/form/items/AddInputItem.vue.js +55 -0
  16. package/dist/es/form/items/AddInputItem.vue2.js +4 -0
  17. package/dist/es/form/items/AutocompleteItem.vue.d.ts +26 -0
  18. package/dist/es/form/items/AutocompleteItem.vue.js +68 -0
  19. package/dist/es/form/items/AutocompleteItem.vue2.js +4 -0
  20. package/dist/es/form/items/CascaderItem.vue.d.ts +26 -0
  21. package/dist/es/form/items/CascaderItem.vue.js +68 -0
  22. package/dist/es/form/items/CascaderItem.vue2.js +4 -0
  23. package/dist/es/form/items/CheckboxGroupItem.vue.d.ts +26 -0
  24. package/dist/es/form/items/CheckboxGroupItem.vue.js +84 -0
  25. package/dist/es/form/items/CheckboxGroupItem.vue2.js +4 -0
  26. package/dist/es/form/items/CodeMirrorEditorItem.vue.d.ts +13 -0
  27. package/dist/es/form/items/CodeMirrorEditorItem.vue.js +55 -0
  28. package/dist/es/form/items/CodeMirrorEditorItem.vue2.js +4 -0
  29. package/dist/es/form/items/ColorPickerItem.vue.d.ts +26 -0
  30. package/dist/es/form/items/ColorPickerItem.vue.js +67 -0
  31. package/dist/es/form/items/ColorPickerItem.vue2.js +4 -0
  32. package/dist/es/form/items/ColorPickerPanelItem.vue.d.ts +26 -0
  33. package/dist/es/form/items/ColorPickerPanelItem.vue.js +67 -0
  34. package/dist/es/form/items/ColorPickerPanelItem.vue2.js +4 -0
  35. package/dist/es/form/items/CustomItem.vue.d.ts +12 -0
  36. package/dist/es/form/items/CustomItem.vue.js +53 -0
  37. package/dist/es/form/items/CustomItem.vue2.js +4 -0
  38. package/dist/es/form/items/DatePickerItem.vue.d.ts +26 -0
  39. package/dist/es/form/items/DatePickerItem.vue.js +71 -0
  40. package/dist/es/form/items/DatePickerItem.vue2.js +4 -0
  41. package/dist/es/form/items/DividerItem.vue.d.ts +22 -0
  42. package/dist/es/form/items/DividerItem.vue.js +67 -0
  43. package/dist/es/form/items/DividerItem.vue2.js +4 -0
  44. package/dist/es/form/items/FileUploadItem.vue.d.ts +26 -0
  45. package/dist/es/form/items/FileUploadItem.vue.js +82 -0
  46. package/dist/es/form/items/FileUploadItem.vue2.js +4 -0
  47. package/dist/es/form/items/ImageUploadItem.vue.d.ts +26 -0
  48. package/dist/es/form/items/ImageUploadItem.vue.js +97 -0
  49. package/dist/es/form/items/ImageUploadItem.vue2.js +4 -0
  50. package/dist/es/form/items/InputItem.vue.d.ts +26 -0
  51. package/dist/es/form/items/InputItem.vue.js +74 -0
  52. package/dist/es/form/items/InputItem.vue2.js +4 -0
  53. package/dist/es/form/items/InputNumberItem.vue.d.ts +26 -0
  54. package/dist/es/form/items/InputNumberItem.vue.js +72 -0
  55. package/dist/es/form/items/InputNumberItem.vue2.js +4 -0
  56. package/dist/es/form/items/InputTagItem.vue.d.ts +26 -0
  57. package/dist/es/form/items/InputTagItem.vue.js +67 -0
  58. package/dist/es/form/items/InputTagItem.vue2.js +4 -0
  59. package/dist/es/form/items/LinkedSelectItem.vue.d.ts +29 -0
  60. package/dist/es/form/{LinkedSelect.vue.js → items/LinkedSelectItem.vue.js} +51 -27
  61. package/dist/es/form/items/LinkedSelectItem.vue2.js +4 -0
  62. package/dist/es/form/items/MentionItem.vue.d.ts +26 -0
  63. package/dist/es/form/items/MentionItem.vue.js +67 -0
  64. package/dist/es/form/items/MentionItem.vue2.js +4 -0
  65. package/dist/es/form/items/RadioGroupItem.vue.d.ts +26 -0
  66. package/dist/es/form/items/RadioGroupItem.vue.js +98 -0
  67. package/dist/es/form/items/RadioGroupItem.vue2.js +4 -0
  68. package/dist/es/form/items/RateItem.vue.d.ts +26 -0
  69. package/dist/es/form/items/RateItem.vue.js +67 -0
  70. package/dist/es/form/items/RateItem.vue2.js +4 -0
  71. package/dist/es/form/items/RichEditorItem.vue.d.ts +13 -0
  72. package/dist/es/form/items/RichEditorItem.vue.js +55 -0
  73. package/dist/es/form/items/RichEditorItem.vue2.js +4 -0
  74. package/dist/es/form/items/SelectItem.vue.d.ts +26 -0
  75. package/dist/es/form/items/SelectItem.vue.js +81 -0
  76. package/dist/es/form/items/SelectItem.vue2.js +4 -0
  77. package/dist/es/form/items/SelectTableItem.vue.d.ts +5995 -0
  78. package/dist/es/form/items/SelectTableItem.vue.js +297 -0
  79. package/dist/es/form/items/SelectTableItem.vue2.js +4 -0
  80. package/dist/es/form/items/SelectV2Item.vue.d.ts +26 -0
  81. package/dist/es/form/items/SelectV2Item.vue.js +69 -0
  82. package/dist/es/form/items/SelectV2Item.vue2.js +4 -0
  83. package/dist/es/form/items/SliderItem.vue.d.ts +26 -0
  84. package/dist/es/form/items/SliderItem.vue.js +67 -0
  85. package/dist/es/form/items/SliderItem.vue2.js +4 -0
  86. package/dist/es/form/items/SwitchItem.vue.d.ts +26 -0
  87. package/dist/es/form/items/SwitchItem.vue.js +67 -0
  88. package/dist/es/form/items/SwitchItem.vue2.js +4 -0
  89. package/dist/es/form/items/TextareaItem.vue.d.ts +26 -0
  90. package/dist/es/form/items/TextareaItem.vue.js +70 -0
  91. package/dist/es/form/items/TextareaItem.vue2.js +4 -0
  92. package/dist/es/form/items/TimePickerItem.vue.d.ts +26 -0
  93. package/dist/es/form/items/TimePickerItem.vue.js +71 -0
  94. package/dist/es/form/items/TimePickerItem.vue2.js +4 -0
  95. package/dist/es/form/items/TimeSelectItem.vue.d.ts +26 -0
  96. package/dist/es/form/items/TimeSelectItem.vue.js +67 -0
  97. package/dist/es/form/items/TimeSelectItem.vue2.js +4 -0
  98. package/dist/es/form/items/TransferItem.vue.d.ts +26 -0
  99. package/dist/es/form/items/TransferItem.vue.js +68 -0
  100. package/dist/es/form/items/TransferItem.vue2.js +4 -0
  101. package/dist/es/form/items/TreeSelectItem.vue.d.ts +26 -0
  102. package/dist/es/form/items/TreeSelectItem.vue.js +68 -0
  103. package/dist/es/form/items/TreeSelectItem.vue2.js +4 -0
  104. package/dist/es/index.js +2 -2
  105. package/dist/es/package.json.js +1 -1
  106. package/dist/es/page-header/PageHeader.vue.d.ts +2 -0
  107. package/dist/es/page-header/PageHeader.vue.js +32 -25
  108. package/dist/es/page-header/PopoverMenu.vue.d.ts +1 -1
  109. package/dist/es/page-table/PageTable.vue.d.ts +17 -17
  110. package/dist/es/page-table/PageTable.vue.js +2 -1
  111. package/dist/es/page-table/Toolbar.vue.js +2 -2
  112. package/dist/es/page-table-v2/PageTableV2.vue.d.ts +8 -8
  113. package/dist/lib/amap/style2.css +13 -2
  114. package/dist/lib/amap/style3.css +2 -13
  115. package/dist/lib/components.js +2 -2
  116. package/dist/lib/form/Form.vue.d.ts +5 -5
  117. package/dist/lib/form/Form.vue.js +0 -1
  118. package/dist/lib/form/FormItem.vue.d.ts +14 -1
  119. package/dist/lib/form/FormItem.vue.js +149 -301
  120. package/dist/lib/form/{FormItem.vue3.js → FormItem.vue2.js} +0 -1
  121. package/dist/lib/form/index.d.ts +2 -2
  122. package/dist/lib/form/index.js +3 -3
  123. package/dist/lib/form/items/AMapPickerItem.vue.d.ts +19 -0
  124. package/dist/lib/form/items/AMapPickerItem.vue.js +104 -0
  125. package/dist/lib/form/items/AMapPickerItem.vue2.js +4 -0
  126. package/dist/lib/form/items/AddInputItem.vue.d.ts +13 -0
  127. package/dist/lib/form/items/AddInputItem.vue.js +55 -0
  128. package/dist/lib/form/items/AddInputItem.vue2.js +4 -0
  129. package/dist/lib/form/items/AutocompleteItem.vue.d.ts +26 -0
  130. package/dist/lib/form/items/AutocompleteItem.vue.js +68 -0
  131. package/dist/lib/form/items/AutocompleteItem.vue2.js +4 -0
  132. package/dist/lib/form/items/CascaderItem.vue.d.ts +26 -0
  133. package/dist/lib/form/items/CascaderItem.vue.js +68 -0
  134. package/dist/lib/form/items/CascaderItem.vue2.js +4 -0
  135. package/dist/lib/form/items/CheckboxGroupItem.vue.d.ts +26 -0
  136. package/dist/lib/form/items/CheckboxGroupItem.vue.js +84 -0
  137. package/dist/lib/form/items/CheckboxGroupItem.vue2.js +4 -0
  138. package/dist/lib/form/items/CodeMirrorEditorItem.vue.d.ts +13 -0
  139. package/dist/lib/form/items/CodeMirrorEditorItem.vue.js +55 -0
  140. package/dist/lib/form/items/CodeMirrorEditorItem.vue2.js +4 -0
  141. package/dist/lib/form/items/ColorPickerItem.vue.d.ts +26 -0
  142. package/dist/lib/form/items/ColorPickerItem.vue.js +67 -0
  143. package/dist/lib/form/items/ColorPickerItem.vue2.js +4 -0
  144. package/dist/lib/form/items/ColorPickerPanelItem.vue.d.ts +26 -0
  145. package/dist/lib/form/items/ColorPickerPanelItem.vue.js +67 -0
  146. package/dist/lib/form/items/ColorPickerPanelItem.vue2.js +4 -0
  147. package/dist/lib/form/items/CustomItem.vue.d.ts +12 -0
  148. package/dist/lib/form/items/CustomItem.vue.js +53 -0
  149. package/dist/lib/form/items/CustomItem.vue2.js +4 -0
  150. package/dist/lib/form/items/DatePickerItem.vue.d.ts +26 -0
  151. package/dist/lib/form/items/DatePickerItem.vue.js +71 -0
  152. package/dist/lib/form/items/DatePickerItem.vue2.js +4 -0
  153. package/dist/lib/form/items/DividerItem.vue.d.ts +22 -0
  154. package/dist/lib/form/items/DividerItem.vue.js +67 -0
  155. package/dist/lib/form/items/DividerItem.vue2.js +4 -0
  156. package/dist/lib/form/items/FileUploadItem.vue.d.ts +26 -0
  157. package/dist/lib/form/items/FileUploadItem.vue.js +82 -0
  158. package/dist/lib/form/items/FileUploadItem.vue2.js +4 -0
  159. package/dist/lib/form/items/ImageUploadItem.vue.d.ts +26 -0
  160. package/dist/lib/form/items/ImageUploadItem.vue.js +97 -0
  161. package/dist/lib/form/items/ImageUploadItem.vue2.js +4 -0
  162. package/dist/lib/form/items/InputItem.vue.d.ts +26 -0
  163. package/dist/lib/form/items/InputItem.vue.js +74 -0
  164. package/dist/lib/form/items/InputItem.vue2.js +4 -0
  165. package/dist/lib/form/items/InputNumberItem.vue.d.ts +26 -0
  166. package/dist/lib/form/items/InputNumberItem.vue.js +72 -0
  167. package/dist/lib/form/items/InputNumberItem.vue2.js +4 -0
  168. package/dist/lib/form/items/InputTagItem.vue.d.ts +26 -0
  169. package/dist/lib/form/items/InputTagItem.vue.js +67 -0
  170. package/dist/lib/form/items/InputTagItem.vue2.js +4 -0
  171. package/dist/lib/form/items/LinkedSelectItem.vue.d.ts +29 -0
  172. package/dist/lib/form/{LinkedSelect.vue.js → items/LinkedSelectItem.vue.js} +50 -26
  173. package/dist/lib/form/items/LinkedSelectItem.vue2.js +4 -0
  174. package/dist/lib/form/items/MentionItem.vue.d.ts +26 -0
  175. package/dist/lib/form/items/MentionItem.vue.js +67 -0
  176. package/dist/lib/form/items/MentionItem.vue2.js +4 -0
  177. package/dist/lib/form/items/RadioGroupItem.vue.d.ts +26 -0
  178. package/dist/lib/form/items/RadioGroupItem.vue.js +98 -0
  179. package/dist/lib/form/items/RadioGroupItem.vue2.js +4 -0
  180. package/dist/lib/form/items/RateItem.vue.d.ts +26 -0
  181. package/dist/lib/form/items/RateItem.vue.js +67 -0
  182. package/dist/lib/form/items/RateItem.vue2.js +4 -0
  183. package/dist/lib/form/items/RichEditorItem.vue.d.ts +13 -0
  184. package/dist/lib/form/items/RichEditorItem.vue.js +55 -0
  185. package/dist/lib/form/items/RichEditorItem.vue2.js +4 -0
  186. package/dist/lib/form/items/SelectItem.vue.d.ts +26 -0
  187. package/dist/lib/form/items/SelectItem.vue.js +81 -0
  188. package/dist/lib/form/items/SelectItem.vue2.js +4 -0
  189. package/dist/lib/form/items/SelectTableItem.vue.d.ts +5995 -0
  190. package/dist/lib/form/{SelectTable.vue.js → items/SelectTableItem.vue.js} +125 -54
  191. package/dist/lib/form/items/SelectTableItem.vue2.js +4 -0
  192. package/dist/lib/form/items/SelectV2Item.vue.d.ts +26 -0
  193. package/dist/lib/form/items/SelectV2Item.vue.js +69 -0
  194. package/dist/lib/form/items/SelectV2Item.vue2.js +4 -0
  195. package/dist/lib/form/items/SliderItem.vue.d.ts +26 -0
  196. package/dist/lib/form/items/SliderItem.vue.js +67 -0
  197. package/dist/lib/form/items/SliderItem.vue2.js +4 -0
  198. package/dist/lib/form/items/SwitchItem.vue.d.ts +26 -0
  199. package/dist/lib/form/items/SwitchItem.vue.js +67 -0
  200. package/dist/lib/form/items/SwitchItem.vue2.js +4 -0
  201. package/dist/lib/form/items/TextareaItem.vue.d.ts +26 -0
  202. package/dist/lib/form/items/TextareaItem.vue.js +70 -0
  203. package/dist/lib/form/items/TextareaItem.vue2.js +4 -0
  204. package/dist/lib/form/items/TimePickerItem.vue.d.ts +26 -0
  205. package/dist/lib/form/items/TimePickerItem.vue.js +71 -0
  206. package/dist/lib/form/items/TimePickerItem.vue2.js +4 -0
  207. package/dist/lib/form/items/TimeSelectItem.vue.d.ts +26 -0
  208. package/dist/lib/form/items/TimeSelectItem.vue.js +67 -0
  209. package/dist/lib/form/items/TimeSelectItem.vue2.js +4 -0
  210. package/dist/lib/form/items/TransferItem.vue.d.ts +26 -0
  211. package/dist/lib/form/items/TransferItem.vue.js +68 -0
  212. package/dist/lib/form/items/TransferItem.vue2.js +4 -0
  213. package/dist/lib/form/items/TreeSelectItem.vue.d.ts +26 -0
  214. package/dist/lib/form/items/TreeSelectItem.vue.js +68 -0
  215. package/dist/lib/form/items/TreeSelectItem.vue2.js +4 -0
  216. package/dist/lib/index.js +1 -1
  217. package/dist/lib/package.json.js +1 -1
  218. package/dist/lib/page-header/PageHeader.vue.d.ts +2 -0
  219. package/dist/lib/page-header/PageHeader.vue.js +32 -25
  220. package/dist/lib/page-header/PopoverMenu.vue.d.ts +1 -1
  221. package/dist/lib/page-table/PageTable.vue.d.ts +17 -17
  222. package/dist/lib/page-table/PageTable.vue.js +2 -1
  223. package/dist/lib/page-table/Toolbar.vue.js +2 -2
  224. package/dist/lib/page-table-v2/PageTableV2.vue.d.ts +8 -8
  225. package/package.json +1 -1
  226. package/dist/es/form/LinkedSelect.vue.d.ts +0 -36
  227. package/dist/es/form/LinkedSelect.vue2.js +0 -4
  228. package/dist/es/form/SelectTable.vue.d.ts +0 -38
  229. package/dist/es/form/SelectTable.vue.js +0 -226
  230. package/dist/es/form/SelectTable.vue3.js +0 -5
  231. package/dist/lib/form/LinkedSelect.vue.d.ts +0 -36
  232. package/dist/lib/form/LinkedSelect.vue2.js +0 -4
  233. package/dist/lib/form/SelectTable.vue.d.ts +0 -38
  234. package/dist/lib/form/SelectTable.vue3.js +0 -5
@@ -49,17 +49,40 @@ var __async = (__this, __arguments, generator) => {
49
49
  step((generator = generator.apply(__this, __arguments)).next());
50
50
  });
51
51
  };
52
- import { defineComponent, ref, computed, openBlock, createElementBlock, createBlock, unref, mergeProps, withCtx, createElementVNode, resolveDynamicComponent, Fragment, createTextVNode, toDisplayString, createCommentVNode, createSlots, watch, h } from "vue";
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, ElRadioButton, ElRadio, ElTimeSelect, ElTimePicker, ElDatePicker, ElAutocomplete, ElSelect, ElTooltip } from "element-plus";
55
- import { JkyAddInput } from "../add-input/index.js";
56
- import { JkyCodeMirrorEditor } from "../code-mirror-editor/index.js";
57
- import { JkyRichEditor } from "../rich-editor/index.js";
58
- import _sfc_main$1 from "./AMapPickerItem.vue.js";
59
- /* empty css */
60
- import _sfc_main$2 from "./LinkedSelect.vue.js";
61
- import _sfc_main$3 from "./SelectTable.vue.js";
62
- /* empty css */
52
+ import { defineComponent, ref, computed, openBlock, createElementBlock, createBlock, unref, mergeProps, withCtx, createElementVNode, resolveDynamicComponent, Fragment, createTextVNode, toDisplayString, createCommentVNode, createSlots, renderList, renderSlot, normalizeProps, guardReactiveProps, watch, h } from "vue";
53
+ import { CircleCloseFilled, CircleCheckFilled, WarningFilled, QuestionFilled } from "@element-plus/icons-vue";
54
+ import { ElFormItem, ElTooltip, ElIcon } from "element-plus";
55
+ import _sfc_main$5 from "./items/AddInputItem.vue.js";
56
+ import _sfc_main$3 from "./items/AMapPickerItem.vue.js";
57
+ import _sfc_main$s from "./items/AutocompleteItem.vue.js";
58
+ import _sfc_main$k from "./items/CascaderItem.vue.js";
59
+ import _sfc_main$n from "./items/CheckboxGroupItem.vue.js";
60
+ import _sfc_main$7 from "./items/CodeMirrorEditorItem.vue.js";
61
+ import _sfc_main$i from "./items/ColorPickerItem.vue.js";
62
+ import _sfc_main$h from "./items/ColorPickerPanelItem.vue.js";
63
+ import _sfc_main$1 from "./items/CustomItem.vue.js";
64
+ import _sfc_main$r from "./items/DatePickerItem.vue.js";
65
+ import _sfc_main$2 from "./items/DividerItem.vue.js";
66
+ import _sfc_main$8 from "./items/FileUploadItem.vue.js";
67
+ import _sfc_main$9 from "./items/ImageUploadItem.vue.js";
68
+ import _sfc_main$v from "./items/InputItem.vue.js";
69
+ import _sfc_main$a from "./items/InputNumberItem.vue.js";
70
+ import _sfc_main$g from "./items/InputTagItem.vue.js";
71
+ import _sfc_main$4 from "./items/LinkedSelectItem.vue.js";
72
+ import _sfc_main$f from "./items/MentionItem.vue.js";
73
+ import _sfc_main$o from "./items/RadioGroupItem.vue.js";
74
+ import _sfc_main$b from "./items/RateItem.vue.js";
75
+ import _sfc_main$6 from "./items/RichEditorItem.vue.js";
76
+ import _sfc_main$t from "./items/SelectItem.vue.js";
77
+ import _sfc_main$c from "./items/SelectTableItem.vue.js";
78
+ import _sfc_main$e from "./items/SelectV2Item.vue.js";
79
+ import _sfc_main$l from "./items/SliderItem.vue.js";
80
+ import _sfc_main$m from "./items/SwitchItem.vue.js";
81
+ import _sfc_main$u from "./items/TextareaItem.vue.js";
82
+ import _sfc_main$q from "./items/TimePickerItem.vue.js";
83
+ import _sfc_main$p from "./items/TimeSelectItem.vue.js";
84
+ import _sfc_main$d from "./items/TransferItem.vue.js";
85
+ import _sfc_main$j from "./items/TreeSelectItem.vue.js";
63
86
  const _hoisted_1 = {
64
87
  key: 0,
65
88
  style: { "display": "none" }
@@ -107,7 +130,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
107
130
  const props = __props;
108
131
  const loading = ref(false);
109
132
  const componentProps = ref({});
110
- const rules = ref(null);
133
+ const rulesData = ref(null);
134
+ const rules = computed(() => {
135
+ const r = rulesData.value;
136
+ if (!r)
137
+ return void 0;
138
+ if (Array.isArray(r))
139
+ return r;
140
+ if (typeof r === "object")
141
+ return r;
142
+ return void 0;
143
+ });
111
144
  function loadComponentProps() {
112
145
  return __async(this, null, function* () {
113
146
  const configProps = props.config.componentProps;
@@ -139,7 +172,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
139
172
  return __async(this, null, function* () {
140
173
  const configRules = props.config.rules;
141
174
  if (!configRules) {
142
- rules.value = null;
175
+ rulesData.value = null;
143
176
  return;
144
177
  }
145
178
  if (typeof configRules === "function") {
@@ -150,29 +183,32 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
150
183
  field: props.field,
151
184
  $form: props.model
152
185
  });
153
- rules.value = result || null;
186
+ rulesData.value = result && typeof result !== "function" ? result : null;
154
187
  } catch (error) {
155
188
  console.error("Failed to load rules:", error);
156
- rules.value = null;
189
+ rulesData.value = null;
157
190
  } finally {
158
191
  loading.value = false;
159
192
  }
160
193
  return;
161
194
  }
162
- rules.value = configRules;
195
+ rulesData.value = typeof configRules !== "function" ? configRules : null;
163
196
  });
164
197
  }
198
+ const watchFields = computed(() => {
199
+ const config = props.config;
200
+ return config.watchFields || [];
201
+ });
165
202
  function setupWatchFields() {
166
- const watchFields = props.config.watchFields;
167
- if (!watchFields || watchFields.length === 0) {
203
+ if (watchFields.value.length === 0)
168
204
  return;
169
- }
170
205
  watch(
171
- () => watchFields.map((field) => props.model[field]),
206
+ () => watchFields.value.map((field) => props.model[field]),
172
207
  () => {
173
208
  loadComponentProps();
174
209
  loadRules();
175
- }
210
+ },
211
+ { deep: true }
176
212
  );
177
213
  }
178
214
  loadComponentProps();
@@ -201,7 +237,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
201
237
  type,
202
238
  title,
203
239
  placeholder,
204
- componentProps: componentProps2,
240
+ componentProps: _componentProps,
205
241
  hidden,
206
242
  customStyle,
207
243
  children,
@@ -243,289 +279,52 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
243
279
  ]);
244
280
  return rest;
245
281
  });
246
- function renderComponent(type) {
247
- var _a, _b;
248
- if (type === "divider") {
249
- const dividerProps = __spreadValues({}, componentProps.value);
250
- return h(ElDivider, dividerProps, {
251
- default: () => props.config.children || null
252
- });
253
- }
254
- const commonProps = __spreadProps(__spreadValues({
255
- // use `undefined` to fix placeholder issue
256
- "modelValue": modelValue.value || void 0,
257
- "onUpdate:modelValue": (val) => {
258
- props.model[props.field] = val || void 0;
259
- },
260
- "placeholder": props.config.placeholder || void 0,
261
- "disabled": props.disabled,
262
- "clearable": props.config.clearable
263
- }, componentProps.value), {
264
- "class": ["w-full min-w-25", componentProps.value.class]
265
- });
282
+ const componentSlotsObj = computed(() => {
266
283
  const { slots: componentSlots } = componentProps.value;
267
- const _componentSlotsObj = typeof componentSlots === "function" ? componentSlots({
284
+ return typeof componentSlots === "function" ? componentSlots({
268
285
  model: props.model,
269
286
  field: props.field,
270
287
  $form: props.model
271
288
  }) : componentSlots;
272
- switch (type) {
273
- case "input":
274
- return h(
275
- ElInput,
276
- __spreadProps(__spreadValues({}, commonProps), {
277
- placeholder: commonProps.placeholder || "请输入",
278
- prefixIcon: props.config.prefixIcon,
279
- suffixIcon: props.config.suffixIcon
280
- }),
281
- _componentSlotsObj
282
- );
283
- case "textarea":
284
- return h(
285
- ElInput,
286
- __spreadProps(__spreadValues({}, commonProps), {
287
- placeholder: commonProps.placeholder || "请输入",
288
- type: "textarea",
289
- rows: 4
290
- }),
291
- _componentSlotsObj
292
- );
293
- case "select": {
294
- const selectProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
295
- placeholder: commonProps.placeholder || "请选择"
296
- }), componentProps.value);
297
- return h(ElSelect, selectProps, _componentSlotsObj);
298
- }
299
- case "autocomplete": {
300
- const autocompleteProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
301
- placeholder: commonProps.placeholder || "请输入"
302
- }), componentProps.value);
303
- return h(ElAutocomplete, autocompleteProps, _componentSlotsObj);
304
- }
305
- case "datepicker":
306
- return h(ElDatePicker, __spreadValues(__spreadValues({
307
- startPlaceholder: "开始日期",
308
- endPlaceholder: "结束日期"
309
- }, commonProps), componentProps.value), _componentSlotsObj);
310
- case "datetime-picker":
311
- return h(ElDatePicker, __spreadValues(__spreadValues({
312
- startPlaceholder: "开始日期",
313
- endPlaceholder: "结束日期"
314
- }, commonProps), componentProps.value), _componentSlotsObj);
315
- case "time-picker":
316
- return h(ElTimePicker, __spreadValues(__spreadValues({
317
- startPlaceholder: "开始时间",
318
- endPlaceholder: "结束时间"
319
- }, commonProps), componentProps.value), _componentSlotsObj);
320
- case "time-select":
321
- return h(ElTimeSelect, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
322
- case "radio-group": {
323
- const radioGroupProps = __spreadValues(__spreadValues({}, commonProps), componentProps.value);
324
- return h(
325
- ElRadioGroup,
326
- radioGroupProps,
327
- __spreadValues({
328
- default: () => {
329
- const options = componentProps.value.options || props.config.options || [];
330
- return options.map(
331
- (option) => h(radioGroupProps.button ? ElRadioButton : ElRadio, {
332
- key: option.value,
333
- value: option.value,
334
- disabled: option.disabled
335
- }, {
336
- default: () => option.label
337
- })
338
- );
339
- }
340
- }, _componentSlotsObj)
341
- );
342
- }
343
- case "checkbox-group": {
344
- const arrayModelValue = Array.isArray(modelValue.value) ? modelValue.value : [];
345
- const checkboxGroupProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
346
- modelValue: arrayModelValue
347
- }), componentProps.value);
348
- return h(
349
- ElCheckboxGroup,
350
- checkboxGroupProps,
351
- __spreadValues({
352
- default: () => {
353
- const options = componentProps.value.options || props.config.options || [];
354
- return options.map(
355
- (option) => h(ElCheckbox, {
356
- key: option.value,
357
- value: option.value,
358
- disabled: option.disabled
359
- }, {
360
- default: () => option.label
361
- })
362
- );
363
- }
364
- }, _componentSlotsObj)
365
- );
366
- }
367
- case "switch":
368
- return h(ElSwitch, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
369
- case "slider":
370
- return h(ElSlider, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
371
- case "cascader": {
372
- const cascaderProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
373
- placeholder: commonProps.placeholder || "请选择"
374
- }), componentProps.value);
375
- return h(ElCascader, cascaderProps, _componentSlotsObj);
376
- }
377
- case "tree-select": {
378
- const treeSelectProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
379
- placeholder: commonProps.placeholder || "请选择"
380
- }), componentProps.value);
381
- return h(ElTreeSelect, treeSelectProps, _componentSlotsObj);
382
- }
383
- case "color-picker":
384
- return h(ElColorPicker, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
385
- // 颜色选择器面板
386
- case "color-picker-panel":
387
- return h(ElColorPickerPanel, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
388
- // 标签输入框
389
- case "input-tag": {
390
- const inputTagProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
391
- "modelValue": modelValue.value || [],
392
- "onUpdate:modelValue": (val) => {
393
- props.model[props.field] = val;
394
- }
395
- }), componentProps.value);
396
- return h(ElInputTag, inputTagProps, _componentSlotsObj);
397
- }
398
- // 提及组件
399
- case "mention": {
400
- const mentionProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
401
- "modelValue": modelValue.value || "",
402
- "onUpdate:modelValue": (val) => {
403
- props.model[props.field] = val;
404
- }
405
- }), componentProps.value);
406
- return h(ElMention, mentionProps, _componentSlotsObj);
407
- }
408
- // 虚拟化选择器
409
- case "select-v2": {
410
- const selectV2Props = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
411
- "modelValue": modelValue.value,
412
- "onUpdate:modelValue": (val) => {
413
- props.model[props.field] = val;
414
- },
415
- "options": componentProps.value.options || []
416
- }), componentProps.value);
417
- return h(ElSelectV2, selectV2Props, _componentSlotsObj);
418
- }
419
- // 穿梭框
420
- case "transfer": {
421
- const transferProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
422
- "modelValue": modelValue.value || [],
423
- "onUpdate:modelValue": (val) => {
424
- props.model[props.field] = val;
425
- },
426
- "data": componentProps.value.data || []
427
- }), componentProps.value);
428
- return h(ElTransfer, transferProps, _componentSlotsObj);
429
- }
430
- // 表格选择器
431
- case "select-table":
432
- return h(_sfc_main$3, __spreadProps(__spreadValues(__spreadValues({}, commonProps), componentProps.value), {
433
- labelWidth: formItemProps.value.labelWidth
434
- }), _componentSlotsObj);
435
- case "rate":
436
- return h(ElRate, __spreadValues(__spreadValues({}, commonProps), componentProps.value), _componentSlotsObj);
437
- case "input-number": {
438
- const numberModelValue = modelValue.value === "" || modelValue.value === null || modelValue.value === void 0 ? null : Number(modelValue.value);
439
- const inputNumberProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
440
- "placeholder": commonProps.placeholder || "请输入",
441
- "modelValue": numberModelValue,
442
- "onUpdate:modelValue": (val) => {
443
- props.model[props.field] = val;
444
- }
445
- }), componentProps.value);
446
- return h(ElInputNumber, inputNumberProps, _componentSlotsObj);
447
- }
448
- // 图片上传
449
- case "image-upload": {
450
- const uploadProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
451
- "action": componentProps.value.action || "#",
452
- "file-list": componentProps.value.fileList || [],
453
- "list-type": componentProps.value.listType || "picture-card",
454
- "onPreview": componentProps.value.onPreview,
455
- "onRemove": componentProps.value.onRemove
456
- }), componentProps.value);
457
- if (uploadProps["list-type"] === "picture-card") {
458
- return h(ElUpload, uploadProps, __spreadValues({
459
- default: () => h("div", { class: "el-upload__picture-card-wrapper" }, [
460
- h(ElIcon, { size: 24 }, { default: () => h(Plus) })
461
- ])
462
- }, _componentSlotsObj));
463
- }
464
- if (uploadProps["list-type"] === "picture") {
465
- return h(ElUpload, uploadProps, __spreadValues({
466
- default: () => h(ElButton, { type: "primary" }, { default: () => "点击上传" })
467
- }, _componentSlotsObj));
468
- }
469
- return h(ElUpload, uploadProps, _componentSlotsObj);
470
- }
471
- // 文件上传
472
- case "file-upload": {
473
- const uploadProps = __spreadValues(__spreadProps(__spreadValues({}, commonProps), {
474
- "action": componentProps.value.action || "#",
475
- "file-list": componentProps.value.fileList || [],
476
- "list-type": componentProps.value.listType || "text",
477
- "onPreview": componentProps.value.onPreview,
478
- "onRemove": componentProps.value.onRemove
479
- }), componentProps.value);
480
- if (uploadProps["list-type"] === "text") {
481
- return h(ElUpload, uploadProps, __spreadValues({
482
- default: () => h(ElButton, { type: "primary" }, { default: () => "点击上传" })
483
- }, _componentSlotsObj));
484
- }
485
- return h(ElUpload, uploadProps, _componentSlotsObj);
486
- }
487
- // CodeMirror 编辑器
488
- case "code-mirror-editor": {
489
- const codeMirrorProps = __spreadValues(__spreadValues({}, commonProps), componentProps.value);
490
- return h(JkyCodeMirrorEditor, codeMirrorProps, _componentSlotsObj);
491
- }
492
- // RichEditor 富文本编辑器
493
- case "rich-editor": {
494
- const richEditorProps = __spreadValues(__spreadValues({}, commonProps), componentProps.value);
495
- return h(JkyRichEditor, richEditorProps, _componentSlotsObj);
496
- }
497
- // AddInput 动态键值对输入框
498
- case "add-input": {
499
- const addInputProps = __spreadValues(__spreadValues({}, commonProps), componentProps.value);
500
- return h(JkyAddInput, addInputProps, _componentSlotsObj);
501
- }
502
- // 联动下拉框
503
- case "linked-select":
504
- return h(_sfc_main$2, {
505
- "config": props.config.config,
506
- "modelValue": modelValue.value,
507
- "disabled": props.disabled,
508
- "componentProps": componentProps.value,
509
- "onUpdate:modelValue": (val) => {
510
- props.model[props.field] = val;
511
- }
512
- }, _componentSlotsObj);
513
- // 高德地图坐标拾取器
514
- case "amap-picker":
515
- return h(_sfc_main$1, __spreadProps(__spreadValues({
516
- "modelValue": modelValue.value,
517
- "disabled": props.disabled
518
- }, props.config.componentProps), {
519
- "onUpdate:modelValue": (val) => {
520
- props.model[props.field] = val;
521
- }
522
- }), _componentSlotsObj);
523
- case "custom":
524
- return (_b = (_a = props.config).render) == null ? void 0 : _b.call(_a, commonProps);
525
- default:
526
- return h(ElInput, commonProps);
527
- }
528
- }
289
+ });
290
+ const componentMap = {
291
+ "input": _sfc_main$v,
292
+ "textarea": _sfc_main$u,
293
+ "select": _sfc_main$t,
294
+ "autocomplete": _sfc_main$s,
295
+ "date-picker": _sfc_main$r,
296
+ "datetime-picker": _sfc_main$r,
297
+ "time-picker": _sfc_main$q,
298
+ "time-select": _sfc_main$p,
299
+ "radio-group": _sfc_main$o,
300
+ "checkbox-group": _sfc_main$n,
301
+ "switch": _sfc_main$m,
302
+ "slider": _sfc_main$l,
303
+ "cascader": _sfc_main$k,
304
+ "tree-select": _sfc_main$j,
305
+ "color-picker": _sfc_main$i,
306
+ "color-picker-panel": _sfc_main$h,
307
+ "input-tag": _sfc_main$g,
308
+ "mention": _sfc_main$f,
309
+ "select-v2": _sfc_main$e,
310
+ "transfer": _sfc_main$d,
311
+ "select-table": _sfc_main$c,
312
+ "rate": _sfc_main$b,
313
+ "input-number": _sfc_main$a,
314
+ "image-upload": _sfc_main$9,
315
+ "file-upload": _sfc_main$8,
316
+ "code-mirror-editor": _sfc_main$7,
317
+ "rich-editor": _sfc_main$6,
318
+ "add-input": _sfc_main$5,
319
+ "linked-select": _sfc_main$4,
320
+ "amap-picker": _sfc_main$3,
321
+ "divider": _sfc_main$2,
322
+ "custom": _sfc_main$1
323
+ };
324
+ const currentComponent = computed(() => {
325
+ const type = props.config.type || "input";
326
+ return componentMap[type] || _sfc_main$v;
327
+ });
529
328
  function renderHelpTooltip() {
530
329
  if (!props.config.help)
531
330
  return null;
@@ -590,10 +389,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
590
389
  ], 64)),
591
390
  __props.config.help && __props.config.help.tooltip ? (openBlock(), createBlock(resolveDynamicComponent(renderHelpTooltip()), { key: 2 })) : createCommentVNode("", true)
592
391
  ]),
593
- (openBlock(), createBlock(resolveDynamicComponent(renderComponent(__props.config.type || "input")))),
392
+ (openBlock(), createBlock(resolveDynamicComponent(currentComponent.value), {
393
+ "model-value": modelValue.value,
394
+ config: __props.config,
395
+ "component-props": componentProps.value,
396
+ "component-slots": componentSlotsObj.value,
397
+ disabled: __props.disabled,
398
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = (val) => __props.model[__props.field] = val)
399
+ }, createSlots({ _: 2 }, [
400
+ renderList(Object.keys(_ctx.$slots), (name, index) => {
401
+ return {
402
+ name,
403
+ fn: withCtx((slotData) => [
404
+ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotData || {})))
405
+ ])
406
+ };
407
+ })
408
+ ]), 1032, ["model-value", "config", "component-props", "component-slots", "disabled"])),
594
409
  __props.config.help && !__props.config.help.tooltip ? (openBlock(), createBlock(resolveDynamicComponent(renderHelpText()), { key: 0 })) : createCommentVNode("", true)
595
410
  ]),
596
- _: 1
411
+ _: 3
597
412
  }, 16, ["prop", "rules", "class", "style"])) : (openBlock(), createBlock(unref(ElFormItem), mergeProps({
598
413
  key: 2,
599
414
  label: __props.config.label,
@@ -605,9 +420,42 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
605
420
  default: withCtx(() => [
606
421
  __props.config.prepend || __props.config.append ? (openBlock(), createElementBlock("div", _hoisted_4, [
607
422
  __props.config.prepend ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(__props.config.prepend), 1)) : createCommentVNode("", true),
608
- (openBlock(), createBlock(resolveDynamicComponent(renderComponent(__props.config.type || "input")))),
423
+ (openBlock(), createBlock(resolveDynamicComponent(currentComponent.value), {
424
+ "model-value": modelValue.value,
425
+ config: __props.config,
426
+ "component-props": componentProps.value,
427
+ "component-slots": componentSlotsObj.value,
428
+ disabled: __props.disabled,
429
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = (val) => __props.model[__props.field] = val)
430
+ }, createSlots({ _: 2 }, [
431
+ renderList(Object.keys(_ctx.$slots), (name, index) => {
432
+ return {
433
+ name,
434
+ fn: withCtx((slotData) => [
435
+ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotData || {})))
436
+ ])
437
+ };
438
+ })
439
+ ]), 1032, ["model-value", "config", "component-props", "component-slots", "disabled"])),
609
440
  __props.config.append ? (openBlock(), createElementBlock("span", _hoisted_6, toDisplayString(__props.config.append), 1)) : createCommentVNode("", true)
610
- ])) : (openBlock(), createBlock(resolveDynamicComponent(renderComponent(__props.config.type || "input")), { key: 1 })),
441
+ ])) : (openBlock(), createBlock(resolveDynamicComponent(currentComponent.value), {
442
+ key: 1,
443
+ "model-value": modelValue.value,
444
+ config: __props.config,
445
+ "component-props": componentProps.value,
446
+ "component-slots": componentSlotsObj.value,
447
+ disabled: __props.disabled,
448
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = (val) => __props.model[__props.field] = val)
449
+ }, createSlots({ _: 2 }, [
450
+ renderList(Object.keys(_ctx.$slots), (name, index) => {
451
+ return {
452
+ name,
453
+ fn: withCtx((slotData) => [
454
+ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotData || {})))
455
+ ])
456
+ };
457
+ })
458
+ ]), 1032, ["model-value", "config", "component-props", "component-slots", "disabled"])),
611
459
  __props.config.help && !__props.config.help.tooltip ? (openBlock(), createBlock(resolveDynamicComponent(renderHelpText()), { key: 2 })) : createCommentVNode("", true)
612
460
  ]),
613
461
  _: 2
@@ -1,5 +1,4 @@
1
1
  import _sfc_main from "./FormItem.vue.js";
2
- /* empty css */
3
2
  export {
4
3
  _sfc_main as default
5
4
  };
@@ -1,9 +1,9 @@
1
1
  import { InstallWithSFC } from '../utils';
2
2
  import { default as AMapPickerItem } from './AMapPickerItem.vue';
3
3
  import { default as Form } from './Form.vue';
4
- import { default as LinkedSelect } from './LinkedSelect.vue';
4
+ import { default as FormItem } from './FormItem.vue';
5
5
  export type { AMapPickerItemProps, ComponentPropsMap, ComponentPropsType, DynamicComponentProps, FormComponentType, FormItemChildConfig, FormItemConfig, FormItemOption, FormItemProps, FormItemPropsContext, FormProps, FormValidateResult, GridConfig, HelpConfig, HelpType, LinkedSelectConfig, ResponsiveBreakpoint, ResponsiveConfig, SelectTableComponentProps, SelectTableProps, StaticComponentProps, } from './types';
6
6
  export declare const JkyForm: InstallWithSFC<typeof Form>;
7
- export declare const JkyLinkedSelect: InstallWithSFC<typeof LinkedSelect>;
8
7
  export declare const JkyAMapPickerItem: InstallWithSFC<typeof AMapPickerItem>;
8
+ export declare const JkyFormItem: InstallWithSFC<typeof FormItem>;
9
9
  export default JkyForm;
@@ -1,15 +1,15 @@
1
- import _sfc_main$2 from "./AMapPickerItem.vue.js";
1
+ import _sfc_main$1 from "./AMapPickerItem.vue.js";
2
2
  /* empty css */
3
3
  import _sfc_main from "./Form.vue.js";
4
4
  /* empty css */
5
- import _sfc_main$1 from "./LinkedSelect.vue.js";
5
+ import _sfc_main$2 from "./FormItem.vue.js";
6
6
  import { installWithSFC } from "../utils/with-install.js";
7
7
  const JkyForm = installWithSFC(_sfc_main);
8
- const JkyLinkedSelect = installWithSFC(_sfc_main$1);
9
- const JkyAMapPickerItem = installWithSFC(_sfc_main$2);
8
+ const JkyAMapPickerItem = installWithSFC(_sfc_main$1);
9
+ const JkyFormItem = installWithSFC(_sfc_main$2);
10
10
  export {
11
11
  JkyAMapPickerItem,
12
12
  JkyForm,
13
- JkyLinkedSelect,
13
+ JkyFormItem,
14
14
  JkyForm as default
15
15
  };
@@ -0,0 +1,19 @@
1
+ import { AMapPickerItemProps } from '../types';
2
+ declare const _default: import('vue').DefineComponent<AMapPickerItemProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
3
+ "update:modelValue": (value: [number, number] | null) => any;
4
+ change: (value: [number, number] | null) => any;
5
+ }, string, import('vue').PublicProps, Readonly<AMapPickerItemProps> & Readonly<{
6
+ "onUpdate:modelValue"?: ((value: [number, number] | null) => any) | undefined;
7
+ onChange?: ((value: [number, number] | null) => any) | undefined;
8
+ }>, {
9
+ size: string | number;
10
+ title: string;
11
+ center: [number, number];
12
+ token: string;
13
+ zoom: number;
14
+ mode: "dialog" | "drawer";
15
+ buttonText: string;
16
+ longitudePlaceholder: string;
17
+ latitudePlaceholder: string;
18
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
19
+ export default _default;