ll-plus 2.3.2 → 2.3.4

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 (232) hide show
  1. package/es/components/advanced-filtering/index.d.ts +303 -303
  2. package/es/components/advanced-filtering/src/advanced-filtering.vue.d.ts +154 -154
  3. package/es/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +145 -145
  4. package/es/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +4 -4
  5. package/es/components/api-component/index.d.ts +36 -36
  6. package/es/components/api-component/src/api-component.vue.d.ts +36 -36
  7. package/es/components/api-component/src/components/api-modal.vue.d.ts +6 -6
  8. package/es/components/api-component/src/components/api-url.vue.d.ts +7 -7
  9. package/es/components/api-component/src/components/click-input.vue.d.ts +12 -12
  10. package/es/components/api-component/src/components/params-table-row.vue.d.ts +18 -18
  11. package/es/components/api-component/src/components/params-table.vue.d.ts +22 -22
  12. package/es/components/api-component/src/config/api-component.d.ts +1 -1
  13. package/es/components/api-component/src/config/api-modal.d.ts +1 -1
  14. package/es/components/api-component/src/config/click-input.d.ts +1 -1
  15. package/es/components/button/index.d.ts +1 -1
  16. package/es/components/button/src/button.vue.d.ts +1 -1
  17. package/es/components/checkbox/index.d.ts +217 -217
  18. package/es/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  19. package/es/components/checkbox/src/checkbox.d.ts +56 -56
  20. package/es/components/code-editor/index.d.ts +2 -2
  21. package/es/components/code-editor/src/code-editor.vue.d.ts +2 -2
  22. package/es/components/drawer/index.d.ts +11 -11
  23. package/es/components/drawer/src/components/second-confirmation/index.d.ts +8 -8
  24. package/es/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +8 -8
  25. package/es/components/drawer/src/drawer.vue.d.ts +11 -11
  26. package/es/components/easy-cron/index.d.ts +86 -86
  27. package/es/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +79 -79
  28. package/es/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +79 -79
  29. package/es/components/easy-cron/src/easy-cron.vue.d.ts +86 -86
  30. package/es/components/form/index.d.ts +142 -142
  31. package/es/components/form/src/config/form.d.ts +56 -56
  32. package/es/components/form/src/form.vue.d.ts +142 -142
  33. package/es/components/icon-base/index.d.ts +1 -1
  34. package/es/components/icon-base/src/icon-base.vue.d.ts +1 -1
  35. package/es/components/input/index.d.ts +31 -31
  36. package/es/components/input/src/input.vue.d.ts +31 -31
  37. package/es/components/key-value/index.d.ts +14322 -8
  38. package/es/components/key-value/src/components/key-value-item.vue.d.ts +4544 -0
  39. package/es/components/key-value/src/components/key-value-item.vue2.mjs +25 -21
  40. package/es/components/key-value/src/components/key-value-item.vue2.mjs.map +1 -1
  41. package/es/components/key-value/src/config/key-value-item.d.ts +24 -0
  42. package/es/components/key-value/src/config/key-value-item.mjs +12 -0
  43. package/es/components/key-value/src/config/key-value-item.mjs.map +1 -1
  44. package/es/components/key-value/src/config/key-value.d.ts +1 -0
  45. package/es/components/key-value/src/config/key-value.mjs +4 -0
  46. package/es/components/key-value/src/config/key-value.mjs.map +1 -1
  47. package/es/components/key-value/src/key-value.vue.d.ts +14322 -8
  48. package/es/components/key-value/src/key-value.vue2.mjs +15 -2
  49. package/es/components/key-value/src/key-value.vue2.mjs.map +1 -1
  50. package/es/components/modal/index.d.ts +5 -5
  51. package/es/components/modal/src/modal.vue.d.ts +5 -5
  52. package/es/components/number-range/index.d.ts +2 -2
  53. package/es/components/number-range/src/number-range.vue.d.ts +2 -2
  54. package/es/components/operate-icon/index.d.ts +3 -3
  55. package/es/components/operate-icon/src/operate-icon.vue.d.ts +3 -3
  56. package/es/components/select/index.d.ts +11 -11
  57. package/es/components/select/src/select.vue.d.ts +11 -11
  58. package/es/components/table/index.d.ts +6 -6
  59. package/es/components/table/src/components/main-table.vue.d.ts +2 -2
  60. package/es/components/table/src/components/main-table.vue2.mjs +18 -1
  61. package/es/components/table/src/components/main-table.vue2.mjs.map +1 -1
  62. package/es/components/table/src/config/table.d.ts +2 -2
  63. package/es/components/table/src/table.vue.d.ts +6 -6
  64. package/es/components/table/src/table.vue2.mjs +14 -0
  65. package/es/components/table/src/table.vue2.mjs.map +1 -1
  66. package/es/components/textarea/index.d.ts +5 -5
  67. package/es/components/textarea/src/textarea.vue.d.ts +5 -5
  68. package/es/components/tooltip/index.d.ts +4 -4
  69. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  70. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -4
  71. package/es/components/tree/index.d.ts +2 -2
  72. package/es/components/tree/src/tree.vue.d.ts +2 -2
  73. package/es/components/tree-search/index.d.ts +17 -17
  74. package/es/components/tree-search/src/config/tree-search.d.ts +4 -4
  75. package/es/components/tree-search/src/tree-search.vue.d.ts +17 -17
  76. package/es/components/upload-drag/index.d.ts +6 -6
  77. package/es/components/upload-drag/src/upload-drag.vue.d.ts +6 -6
  78. package/es/components/uri-input/index.d.ts +2 -2
  79. package/es/components/uri-input/src/uri-input.vue.d.ts +2 -2
  80. package/index.full.js +87 -23
  81. package/index.full.min.js +14 -14
  82. package/index.full.min.js.map +1 -1
  83. package/index.full.min.mjs +19 -19
  84. package/index.full.min.mjs.map +1 -1
  85. package/index.full.mjs +87 -23
  86. package/lib/components/advanced-filtering/index.d.ts +303 -303
  87. package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +154 -154
  88. package/lib/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +145 -145
  89. package/lib/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +4 -4
  90. package/lib/components/api-component/index.d.ts +36 -36
  91. package/lib/components/api-component/src/api-component.vue.d.ts +36 -36
  92. package/lib/components/api-component/src/components/api-modal.vue.d.ts +6 -6
  93. package/lib/components/api-component/src/components/api-url.vue.d.ts +7 -7
  94. package/lib/components/api-component/src/components/click-input.vue.d.ts +12 -12
  95. package/lib/components/api-component/src/components/params-table-row.vue.d.ts +18 -18
  96. package/lib/components/api-component/src/components/params-table.vue.d.ts +22 -22
  97. package/lib/components/api-component/src/config/api-component.d.ts +1 -1
  98. package/lib/components/api-component/src/config/api-modal.d.ts +1 -1
  99. package/lib/components/api-component/src/config/click-input.d.ts +1 -1
  100. package/lib/components/button/index.d.ts +1 -1
  101. package/lib/components/button/src/button.vue.d.ts +1 -1
  102. package/lib/components/checkbox/index.d.ts +217 -217
  103. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  104. package/lib/components/checkbox/src/checkbox.d.ts +56 -56
  105. package/lib/components/code-editor/index.d.ts +2 -2
  106. package/lib/components/code-editor/src/code-editor.vue.d.ts +2 -2
  107. package/lib/components/drawer/index.d.ts +11 -11
  108. package/lib/components/drawer/src/components/second-confirmation/index.d.ts +8 -8
  109. package/lib/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +8 -8
  110. package/lib/components/drawer/src/drawer.vue.d.ts +11 -11
  111. package/lib/components/easy-cron/index.d.ts +86 -86
  112. package/lib/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +79 -79
  113. package/lib/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +79 -79
  114. package/lib/components/easy-cron/src/easy-cron.vue.d.ts +86 -86
  115. package/lib/components/form/index.d.ts +142 -142
  116. package/lib/components/form/src/config/form.d.ts +56 -56
  117. package/lib/components/form/src/form.vue.d.ts +142 -142
  118. package/lib/components/icon-base/index.d.ts +1 -1
  119. package/lib/components/icon-base/src/icon-base.vue.d.ts +1 -1
  120. package/lib/components/input/index.d.ts +31 -31
  121. package/lib/components/input/src/input.vue.d.ts +31 -31
  122. package/lib/components/key-value/index.d.ts +14322 -8
  123. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +4544 -0
  124. package/lib/components/key-value/src/components/key-value-item.vue2.js +24 -20
  125. package/lib/components/key-value/src/components/key-value-item.vue2.js.map +1 -1
  126. package/lib/components/key-value/src/config/key-value-item.d.ts +24 -0
  127. package/lib/components/key-value/src/config/key-value-item.js +12 -0
  128. package/lib/components/key-value/src/config/key-value-item.js.map +1 -1
  129. package/lib/components/key-value/src/config/key-value.d.ts +1 -0
  130. package/lib/components/key-value/src/config/key-value.js +4 -0
  131. package/lib/components/key-value/src/config/key-value.js.map +1 -1
  132. package/lib/components/key-value/src/key-value.vue.d.ts +14322 -8
  133. package/lib/components/key-value/src/key-value.vue2.js +15 -2
  134. package/lib/components/key-value/src/key-value.vue2.js.map +1 -1
  135. package/lib/components/modal/index.d.ts +5 -5
  136. package/lib/components/modal/src/modal.vue.d.ts +5 -5
  137. package/lib/components/number-range/index.d.ts +2 -2
  138. package/lib/components/number-range/src/number-range.vue.d.ts +2 -2
  139. package/lib/components/operate-icon/index.d.ts +3 -3
  140. package/lib/components/operate-icon/src/operate-icon.vue.d.ts +3 -3
  141. package/lib/components/select/index.d.ts +11 -11
  142. package/lib/components/select/src/select.vue.d.ts +11 -11
  143. package/lib/components/table/index.d.ts +6 -6
  144. package/lib/components/table/src/components/main-table.vue.d.ts +2 -2
  145. package/lib/components/table/src/components/main-table.vue2.js +18 -1
  146. package/lib/components/table/src/components/main-table.vue2.js.map +1 -1
  147. package/lib/components/table/src/config/table.d.ts +2 -2
  148. package/lib/components/table/src/table.vue.d.ts +6 -6
  149. package/lib/components/table/src/table.vue2.js +14 -0
  150. package/lib/components/table/src/table.vue2.js.map +1 -1
  151. package/lib/components/textarea/index.d.ts +5 -5
  152. package/lib/components/textarea/src/textarea.vue.d.ts +5 -5
  153. package/lib/components/tooltip/index.d.ts +4 -4
  154. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  155. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -4
  156. package/lib/components/tree/index.d.ts +2 -2
  157. package/lib/components/tree/src/tree.vue.d.ts +2 -2
  158. package/lib/components/tree-search/index.d.ts +17 -17
  159. package/lib/components/tree-search/src/config/tree-search.d.ts +4 -4
  160. package/lib/components/tree-search/src/tree-search.vue.d.ts +17 -17
  161. package/lib/components/upload-drag/index.d.ts +6 -6
  162. package/lib/components/upload-drag/src/upload-drag.vue.d.ts +6 -6
  163. package/lib/components/uri-input/index.d.ts +2 -2
  164. package/lib/components/uri-input/src/uri-input.vue.d.ts +2 -2
  165. package/package.json +1 -1
  166. package/types/packages/components/advanced-filtering/index.d.ts +303 -303
  167. package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +154 -154
  168. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +145 -145
  169. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +4 -4
  170. package/types/packages/components/api-component/index.d.ts +36 -36
  171. package/types/packages/components/api-component/src/api-component.vue.d.ts +36 -36
  172. package/types/packages/components/api-component/src/components/api-modal.vue.d.ts +6 -6
  173. package/types/packages/components/api-component/src/components/api-url.vue.d.ts +7 -7
  174. package/types/packages/components/api-component/src/components/click-input.vue.d.ts +12 -12
  175. package/types/packages/components/api-component/src/components/params-table-row.vue.d.ts +18 -18
  176. package/types/packages/components/api-component/src/components/params-table.vue.d.ts +22 -22
  177. package/types/packages/components/api-component/src/config/api-component.d.ts +1 -1
  178. package/types/packages/components/api-component/src/config/api-modal.d.ts +1 -1
  179. package/types/packages/components/api-component/src/config/click-input.d.ts +1 -1
  180. package/types/packages/components/button/index.d.ts +1 -1
  181. package/types/packages/components/button/src/button.vue.d.ts +1 -1
  182. package/types/packages/components/checkbox/index.d.ts +217 -217
  183. package/types/packages/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  184. package/types/packages/components/checkbox/src/checkbox.d.ts +56 -56
  185. package/types/packages/components/code-editor/index.d.ts +2 -2
  186. package/types/packages/components/code-editor/src/code-editor.vue.d.ts +2 -2
  187. package/types/packages/components/drawer/index.d.ts +11 -11
  188. package/types/packages/components/drawer/src/components/second-confirmation/index.d.ts +8 -8
  189. package/types/packages/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +8 -8
  190. package/types/packages/components/drawer/src/drawer.vue.d.ts +11 -11
  191. package/types/packages/components/easy-cron/index.d.ts +86 -86
  192. package/types/packages/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +79 -79
  193. package/types/packages/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +79 -79
  194. package/types/packages/components/easy-cron/src/easy-cron.vue.d.ts +86 -86
  195. package/types/packages/components/form/index.d.ts +142 -142
  196. package/types/packages/components/form/src/config/form.d.ts +56 -56
  197. package/types/packages/components/form/src/form.vue.d.ts +142 -142
  198. package/types/packages/components/icon-base/index.d.ts +1 -1
  199. package/types/packages/components/icon-base/src/icon-base.vue.d.ts +1 -1
  200. package/types/packages/components/input/index.d.ts +31 -31
  201. package/types/packages/components/input/src/input.vue.d.ts +31 -31
  202. package/types/packages/components/key-value/index.d.ts +14322 -8
  203. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +4544 -0
  204. package/types/packages/components/key-value/src/config/key-value-item.d.ts +24 -0
  205. package/types/packages/components/key-value/src/config/key-value.d.ts +1 -0
  206. package/types/packages/components/key-value/src/key-value.vue.d.ts +14322 -8
  207. package/types/packages/components/modal/index.d.ts +5 -5
  208. package/types/packages/components/modal/src/modal.vue.d.ts +5 -5
  209. package/types/packages/components/number-range/index.d.ts +2 -2
  210. package/types/packages/components/number-range/src/number-range.vue.d.ts +2 -2
  211. package/types/packages/components/operate-icon/index.d.ts +3 -3
  212. package/types/packages/components/operate-icon/src/operate-icon.vue.d.ts +3 -3
  213. package/types/packages/components/select/index.d.ts +11 -11
  214. package/types/packages/components/select/src/select.vue.d.ts +11 -11
  215. package/types/packages/components/table/index.d.ts +6 -6
  216. package/types/packages/components/table/src/components/main-table.vue.d.ts +2 -2
  217. package/types/packages/components/table/src/config/table.d.ts +2 -2
  218. package/types/packages/components/table/src/table.vue.d.ts +6 -6
  219. package/types/packages/components/textarea/index.d.ts +5 -5
  220. package/types/packages/components/textarea/src/textarea.vue.d.ts +5 -5
  221. package/types/packages/components/tooltip/index.d.ts +4 -4
  222. package/types/packages/components/tooltip/src/tooltip.d.ts +1 -1
  223. package/types/packages/components/tooltip/src/tooltip.vue.d.ts +4 -4
  224. package/types/packages/components/tree/index.d.ts +2 -2
  225. package/types/packages/components/tree/src/tree.vue.d.ts +2 -2
  226. package/types/packages/components/tree-search/index.d.ts +17 -17
  227. package/types/packages/components/tree-search/src/config/tree-search.d.ts +4 -4
  228. package/types/packages/components/tree-search/src/tree-search.vue.d.ts +17 -17
  229. package/types/packages/components/upload-drag/index.d.ts +6 -6
  230. package/types/packages/components/upload-drag/src/upload-drag.vue.d.ts +6 -6
  231. package/types/packages/components/uri-input/index.d.ts +2 -2
  232. package/types/packages/components/uri-input/src/uri-input.vue.d.ts +2 -2
@@ -17,26 +17,19 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
17
  __name: "key-value-item",
18
18
  props: keyValueItem.keyValueItemProps,
19
19
  emits: keyValueItem.keyValueItemEmits,
20
- setup(__props, { emit: __emit }) {
20
+ setup(__props, { expose: __expose, emit: __emit }) {
21
21
  const props = __props;
22
22
  const emits = __emit;
23
23
  const attrs = vue.useAttrs();
24
24
  const bem = createNamespace.createNamespace("key-value");
25
25
  const innerValue = vue.ref(props.value);
26
+ const form = vue.ref();
26
27
  const getKeyType = vue.computed(() => {
27
- const option = attrs["key-type"] || {
28
- type: "input",
29
- placeholder: "\u8BF7\u8F93\u5165",
30
- rule: keyValueItem.typeRules || []
31
- };
28
+ const option = props.keyType;
32
29
  return option;
33
30
  });
34
31
  const getValueType = vue.computed(() => {
35
- let option = attrs["value-type"] || {
36
- type: "input",
37
- placeholder: "\u8BF7\u8F93\u5165",
38
- rule: []
39
- };
32
+ let option = props.valueType;
40
33
  if (innerValue.value["key"] && !lodashEs.isEmpty(props.keyValueTypeDict)) {
41
34
  option = props.keyValueTypeDict[innerValue.value["key"]];
42
35
  }
@@ -55,7 +48,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
55
48
  emits("delete");
56
49
  };
57
50
  const handleChange = () => {
58
- innerValue.value["value"] = "";
51
+ innerValue.value["value"] = null;
52
+ };
53
+ const validate = async () => {
54
+ return await form.value?.validate();
55
+ };
56
+ const resetFields = async () => {
57
+ return await form.value?.resetFields();
59
58
  };
60
59
  vue.watch(
61
60
  innerValue,
@@ -73,6 +72,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
73
72
  deep: true
74
73
  }
75
74
  );
75
+ __expose({
76
+ validate,
77
+ resetFields
78
+ });
76
79
  return (_ctx, _cache) => {
77
80
  const _component_ll_select = vue.resolveComponent("ll-select");
78
81
  const _component_ll_form_item = vue.resolveComponent("ll-form-item");
@@ -81,7 +84,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
81
84
  const _component_a_popconfirm = vue.resolveComponent("a-popconfirm");
82
85
  const _component_ll_form = vue.resolveComponent("ll-form");
83
86
  return vue.openBlock(), vue.createBlock(_component_ll_form, {
84
- ref: "form",
87
+ ref_key: "form",
88
+ ref: form,
85
89
  "form-columns": vue.unref(keyValueItem.formColumns),
86
90
  "form-data": props.value,
87
91
  "form-options": vue.unref(keyValueItem.formOptions)
@@ -94,7 +98,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
94
98
  class: vue.normalizeClass(vue.unref(bem).e("item"))
95
99
  },
96
100
  [
97
- vue.unref(attrs)["key-value-type"] !== "single" ? (vue.openBlock(), vue.createElementBlock(
101
+ props.keyValueType !== "single" ? (vue.openBlock(), vue.createElementBlock(
98
102
  "div",
99
103
  {
100
104
  key: 0,
@@ -106,16 +110,16 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
106
110
  "label-col": {
107
111
  span: 24
108
112
  },
109
- rules: getKeyType.value.role,
113
+ rules: getKeyType.value.rules || [],
110
114
  name: "key"
111
115
  }, {
112
116
  default: vue.withCtx(() => [
113
117
  vue.renderSlot(_ctx.$slots, "key", {}, () => [
114
- !vue.unref(lodashEs.isEmpty)(vue.unref(attrs)["key-types"]) ? (vue.openBlock(), vue.createBlock(_component_ll_select, {
118
+ !vue.unref(lodashEs.isEmpty)(props.keyTypes) ? (vue.openBlock(), vue.createBlock(_component_ll_select, {
115
119
  key: 0,
116
120
  value: innerValue.value["key"],
117
121
  "onUpdate:value": _cache[0] || (_cache[0] = ($event) => innerValue.value["key"] = $event),
118
- options: vue.unref(attrs)["key-types"],
122
+ options: props.keyTypes,
119
123
  disabled: getKeyDisabled.value,
120
124
  placeholder: "\u8BF7\u9009\u62E9",
121
125
  "allow-clear": "",
@@ -149,7 +153,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
149
153
  2
150
154
  /* CLASS */
151
155
  )) : vue.createCommentVNode("v-if", true),
152
- vue.unref(attrs)["key-value-type"] !== "single" ? (vue.openBlock(), vue.createElementBlock(
156
+ props.keyValueType !== "single" ? (vue.openBlock(), vue.createElementBlock(
153
157
  "div",
154
158
  {
155
159
  key: 1,
@@ -177,7 +181,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
177
181
  "label-col": {
178
182
  span: 24
179
183
  },
180
- rule: getValueType.value.rule || {},
184
+ rules: getValueType.value.rules || [],
181
185
  name: "value"
182
186
  }, {
183
187
  default: vue.withCtx(() => [
@@ -204,7 +208,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
204
208
  ]),
205
209
  _: 3
206
210
  /* FORWARDED */
207
- }, 8, ["label", "rule"])
211
+ }, 8, ["label", "rules"])
208
212
  ],
209
213
  2
210
214
  /* CLASS */
@@ -1 +1 @@
1
- {"version":3,"file":"key-value-item.vue2.js","sources":["../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div\n v-if=\"attrs['key-value-type'] !== 'single'\"\n :class=\"bem.m('left')\"\n >\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.role\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(attrs['key-types'])\"\n v-model:value=\"innerValue['key']\"\n :options=\"attrs['key-types']\"\n :disabled=\"getKeyDisabled\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"attrs['key-value-type'] !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rule=\"getValueType.rule || {}\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <a-popconfirm\n title=\"你确定要移除吗?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n :get-popup-container=\"(trigger: Element) => trigger.parentNode\"\n destroy-tooltip-on-hide\n @confirm=\"handleDelete\"\n >\n <div\n v-if=\"props.showDelete\"\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n typeRules,\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = attrs['key-type'] || {\n type: 'input',\n placeholder: '请输入',\n rule: typeRules || []\n }\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = attrs['value-type'] || {\n type: 'input',\n placeholder: '请输入',\n rule: []\n }\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return props.disabledDelete?.includes(props.idx) || props.disabled\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = () => {\n innerValue.value['value'] = ''\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n</script>\n\n<style scoped></style>\n"],"names":["useAttrs","createNamespace","ref","computed","typeRules","isEmpty","watch","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"key-value-item.vue2.js","sources":["../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div v-if=\"props.keyValueType !== 'single'\" :class=\"bem.m('left')\">\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.rules || []\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(props.keyTypes)\"\n v-model:value=\"innerValue['key']\"\n :options=\"props.keyTypes\"\n :disabled=\"getKeyDisabled\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"props.keyValueType !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getValueType.rules || []\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <a-popconfirm\n title=\"你确定要移除吗?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n :get-popup-container=\"(trigger: Element) => trigger.parentNode\"\n destroy-tooltip-on-hide\n @confirm=\"handleDelete\"\n >\n <div\n v-if=\"props.showDelete\"\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport type { FormInstance } from '@ll-plus/components'\nimport {\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst form = ref<FormInstance | null>()\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = props.keyType\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = props.valueType\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return props.disabledDelete?.includes(props.idx) || props.disabled\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = () => {\n innerValue.value['value'] = null\n}\n\nconst validate = async () => {\n return await form.value?.validate()\n}\n\nconst resetFields = async () => {\n return await form.value?.resetFields()\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields\n})\n</script>\n\n<style scoped></style>\n"],"names":["useAttrs","createNamespace","ref","computed","isEmpty","watch","nextTick"],"mappings":"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"}
@@ -262,6 +262,30 @@ export declare const keyValueItemProps: {
262
262
  readonly validator: ((val: unknown) => boolean) | undefined;
263
263
  __epPropKey: true;
264
264
  };
265
+ readonly keyValueType: {
266
+ readonly type: import("vue").PropType<import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => "single" | "doubt") | (() => "single" | "doubt") | ((new (...args: any[]) => "single" | "doubt") | (() => "single" | "doubt"))[], unknown, unknown>>;
267
+ readonly required: false;
268
+ readonly validator: ((val: unknown) => boolean) | undefined;
269
+ __epPropKey: true;
270
+ };
271
+ readonly keyType: {
272
+ readonly type: import("vue").PropType<any>;
273
+ readonly required: false;
274
+ readonly validator: ((val: unknown) => boolean) | undefined;
275
+ __epPropKey: true;
276
+ };
277
+ readonly keyTypes: {
278
+ readonly type: import("vue").PropType<KeyType[]>;
279
+ readonly required: false;
280
+ readonly validator: ((val: unknown) => boolean) | undefined;
281
+ __epPropKey: true;
282
+ };
283
+ readonly valueType: {
284
+ readonly type: import("vue").PropType<any>;
285
+ readonly required: false;
286
+ readonly validator: ((val: unknown) => boolean) | undefined;
287
+ __epPropKey: true;
288
+ };
265
289
  readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => KeyValueItem) | (() => KeyValueItem) | ((new (...args: any[]) => KeyValueItem) | (() => KeyValueItem))[], unknown, unknown, () => {
266
290
  key: string;
267
291
  value: string;
@@ -42,6 +42,18 @@ const keyValueItemProps = runtime.buildProps({
42
42
  disabledDelete: {
43
43
  type: runtime.definePropType(Array)
44
44
  },
45
+ keyValueType: {
46
+ type: runtime.definePropType(String)
47
+ },
48
+ keyType: {
49
+ type: runtime.definePropType(Object)
50
+ },
51
+ keyTypes: {
52
+ type: runtime.definePropType(Array)
53
+ },
54
+ valueType: {
55
+ type: runtime.definePropType(Object)
56
+ },
45
57
  value: {
46
58
  type: runtime.definePropType(Object),
47
59
  default: () => ({
@@ -1 +1 @@
1
- {"version":3,"file":"key-value-item.js","sources":["../../../../../../packages/components/key-value/src/config/key-value-item.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport type { FormProps } from 'ant-design-vue'\n\nexport const typeRules = [\n {\n trigger: ['blur', 'change'],\n message: '此字段是必需的',\n validator: async (_rule: any, value: any) => {\n if (!value) {\n return Promise.reject(new Error('此字段是必需的'))\n } else {\n return Promise.resolve()\n }\n }\n }\n]\nexport const formOptions = {\n layout: 'horizontal',\n labelAlign: 'left'\n} as FormProps\n\nexport const formColumns = [\n {\n key: 'other',\n labelCol: {\n span: 24\n }\n }\n]\n\nexport interface KeyValueItem {\n key: any | null\n value: any | null\n}\n\nexport const keyValueItemProps = buildProps({\n disabled: {\n type: Boolean\n },\n disabledValue: {\n type: definePropType<number[]>(Array)\n },\n disabledKey: {\n type: definePropType<number[]>(Array)\n },\n disabledDelete: {\n type: definePropType<number[]>(Array)\n },\n value: {\n type: definePropType<KeyValueItem>(Object),\n default: () => ({\n key: '',\n value: ''\n })\n },\n idx: {\n type: Number,\n required: true\n },\n keyValueTypeDict: {\n type: Object,\n default: () => ({})\n },\n showDelete: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport const keyValueItemEmits = {\n delete: () => true,\n change: () => true,\n 'update:value': (value: KeyValueItem) => !!value\n}\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAGO,MAAM,SAAY,GAAA;AAAA,EACvB;AAAA,IACE,OAAA,EAAS,CAAC,MAAA,EAAQ,QAAQ,CAAA;AAAA,IAC1B,OAAS,EAAA,4CAAA;AAAA,IACT,SAAA,EAAW,OAAO,KAAA,EAAY,KAAe,KAAA;AAC3C,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,OAAO,OAAQ,CAAA,MAAA,CAAO,IAAI,KAAA,CAAM,4CAAS,CAAC,CAAA,CAAA;AAAA,OACrC,MAAA;AACL,QAAA,OAAO,QAAQ,OAAQ,EAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,GACF;AACF,EAAA;AACO,MAAM,WAAc,GAAA;AAAA,EACzB,MAAQ,EAAA,YAAA;AAAA,EACR,UAAY,EAAA,MAAA;AACd,EAAA;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB;AAAA,IACE,GAAK,EAAA,OAAA;AAAA,IACL,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,EAAA;AAAA,KACR;AAAA,GACF;AACF,EAAA;AAOO,MAAM,oBAAoBA,kBAAW,CAAA;AAAA,EAC1C,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMC,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAMA,uBAA6B,MAAM,CAAA;AAAA,IACzC,SAAS,OAAO;AAAA,MACd,GAAK,EAAA,EAAA;AAAA,MACL,KAAO,EAAA,EAAA;AAAA,KACT,CAAA;AAAA,GACF;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,iBAAoB,GAAA;AAAA,EAC/B,QAAQ,MAAM,IAAA;AAAA,EACd,QAAQ,MAAM,IAAA;AAAA,EACd,cAAgB,EAAA,CAAC,KAAwB,KAAA,CAAC,CAAC,KAAA;AAC7C;;;;;;;;"}
1
+ {"version":3,"file":"key-value-item.js","sources":["../../../../../../packages/components/key-value/src/config/key-value-item.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport type { FormProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\n\nexport const typeRules = [\n {\n trigger: ['blur', 'change'],\n message: '此字段是必需的',\n validator: async (_rule: any, value: any) => {\n if (!value) {\n return Promise.reject(new Error('此字段是必需的'))\n } else {\n return Promise.resolve()\n }\n }\n }\n]\nexport const formOptions = {\n layout: 'horizontal',\n labelAlign: 'left'\n} as FormProps\n\nexport const formColumns = [\n {\n key: 'other',\n labelCol: {\n span: 24\n }\n }\n]\n\nexport interface KeyValueItem {\n key: any | null\n value: any | null\n}\n\nexport const keyValueItemProps = buildProps({\n disabled: {\n type: Boolean\n },\n disabledValue: {\n type: definePropType<number[]>(Array)\n },\n disabledKey: {\n type: definePropType<number[]>(Array)\n },\n disabledDelete: {\n type: definePropType<number[]>(Array)\n },\n keyValueType: {\n type: definePropType<'single' | 'doubt'>(String)\n },\n keyType: {\n type: definePropType<FormColumn>(Object)\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array)\n },\n valueType: {\n type: definePropType<FormColumn>(Object)\n },\n value: {\n type: definePropType<KeyValueItem>(Object),\n default: () => ({\n key: '',\n value: ''\n })\n },\n idx: {\n type: Number,\n required: true\n },\n keyValueTypeDict: {\n type: Object,\n default: () => ({})\n },\n showDelete: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport const keyValueItemEmits = {\n delete: () => true,\n change: () => true,\n 'update:value': (value: KeyValueItem) => !!value\n}\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAIO,MAAM,SAAY,GAAA;AAAA,EACvB;AAAA,IACE,OAAA,EAAS,CAAC,MAAA,EAAQ,QAAQ,CAAA;AAAA,IAC1B,OAAS,EAAA,4CAAA;AAAA,IACT,SAAA,EAAW,OAAO,KAAA,EAAY,KAAe,KAAA;AAC3C,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,OAAO,OAAQ,CAAA,MAAA,CAAO,IAAI,KAAA,CAAM,4CAAS,CAAC,CAAA,CAAA;AAAA,OACrC,MAAA;AACL,QAAA,OAAO,QAAQ,OAAQ,EAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,GACF;AACF,EAAA;AACO,MAAM,WAAc,GAAA;AAAA,EACzB,MAAQ,EAAA,YAAA;AAAA,EACR,UAAY,EAAA,MAAA;AACd,EAAA;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB;AAAA,IACE,GAAK,EAAA,OAAA;AAAA,IACL,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,EAAA;AAAA,KACR;AAAA,GACF;AACF,EAAA;AAOO,MAAM,oBAAoBA,kBAAW,CAAA;AAAA,EAC1C,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMC,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAAmC,MAAM,CAAA;AAAA,GACjD;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,GACzC;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAMA,uBAA0B,KAAK,CAAA;AAAA,GACvC;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,GACzC;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAMA,uBAA6B,MAAM,CAAA;AAAA,IACzC,SAAS,OAAO;AAAA,MACd,GAAK,EAAA,EAAA;AAAA,MACL,KAAO,EAAA,EAAA;AAAA,KACT,CAAA;AAAA,GACF;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,iBAAoB,GAAA;AAAA,EAC/B,QAAQ,MAAM,IAAA;AAAA,EACd,QAAQ,MAAM,IAAA;AAAA,EACd,cAAgB,EAAA,CAAC,KAAwB,KAAA,CAAC,CAAC,KAAA;AAC7C;;;;;;;;"}
@@ -52,6 +52,7 @@ export declare const keyValueProps: {
52
52
  readonly disabledKey: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => never[], boolean>;
53
53
  readonly disabledDelete: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => never[], boolean>;
54
54
  readonly disabledAdd: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
55
+ readonly validate: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
55
56
  };
56
57
  export interface KeyValueAddEmits {
57
58
  index: number;
@@ -70,6 +70,10 @@ const keyValueProps = runtime.buildProps({
70
70
  disabledAdd: {
71
71
  type: Boolean,
72
72
  default: false
73
+ },
74
+ validate: {
75
+ type: Boolean,
76
+ default: false
73
77
  }
74
78
  });
75
79
  const keyValueEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"key-value.js","sources":["../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../key-value.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype KeyValueType = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: null,\n value: null\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key: '', value: '' }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n keyValueType: {\n type: definePropType<KeyValueType>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入key'\n })\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array),\n default: () => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入value'\n })\n },\n disabledValue: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledKey: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledDelete: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledAdd: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport interface KeyValueAddEmits {\n index: number\n item: KeyValueItem\n value: KeyValueItem[]\n}\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\n add: (params: KeyValueAddEmits) => !!params,\n delete: (index: number) => typeof index === 'number',\n 'update:value': (value: KeyValueItem[]) => !!value\n}\n\n// props\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// emits\nexport type KeyValueEmits = typeof keyValueEmits\n// instance\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgBA,kBAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAMC,uBAA+B,KAAK,CAAA;AAAA,IAC1C,OAAA,EAAS,MAAM,CAAC,EAAE,KAAK,EAAI,EAAA,KAAA,EAAO,IAAI,CAAA;AAAA,GACxC;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAA6B,MAAM,CAAA;AAAA,IACzC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAMA,uBAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAU,EAAA;AAQH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,GAAK,EAAA,CAAC,MAA6B,KAAA,CAAC,CAAC,MAAA;AAAA,EACrC,MAAQ,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAAA,EAC5C,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;;;"}
1
+ {"version":3,"file":"key-value.js","sources":["../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../key-value.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype KeyValueType = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: null,\n value: null\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key: '', value: '' }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n keyValueType: {\n type: definePropType<KeyValueType>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入key'\n })\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array),\n default: () => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入value'\n })\n },\n disabledValue: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledKey: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledDelete: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledAdd: {\n type: Boolean,\n default: false\n },\n validate: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport interface KeyValueAddEmits {\n index: number\n item: KeyValueItem\n value: KeyValueItem[]\n}\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\n add: (params: KeyValueAddEmits) => !!params,\n delete: (index: number) => typeof index === 'number',\n 'update:value': (value: KeyValueItem[]) => !!value\n}\n\n// props\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// emits\nexport type KeyValueEmits = typeof keyValueEmits\n// instance\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgBA,kBAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAMC,uBAA+B,KAAK,CAAA;AAAA,IAC1C,OAAA,EAAS,MAAM,CAAC,EAAE,KAAK,EAAI,EAAA,KAAA,EAAO,IAAI,CAAA;AAAA,GACxC;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAA6B,MAAM,CAAA;AAAA,IACzC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAMA,uBAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAU,EAAA;AAQH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,GAAK,EAAA,CAAC,MAA6B,KAAA,CAAC,CAAC,MAAA;AAAA,EACrC,MAAQ,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAAA,EAC5C,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;;;"}