ll-plus 2.1.5 → 2.1.6

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 (262) hide show
  1. package/es/component.mjs +5 -0
  2. package/es/component.mjs.map +1 -1
  3. package/es/components/advanced-filtering/index.d.ts +98 -56
  4. package/es/components/advanced-filtering/src/advanced-filtering.vue.d.ts +49 -28
  5. package/es/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +49 -28
  6. package/es/components/checkbox/index.d.ts +34 -10
  7. package/es/components/checkbox/src/checkbox-group.vue.d.ts +17 -5
  8. package/es/components/checkbox/src/checkbox.d.ts +4 -0
  9. package/es/components/checkbox/src/checkbox.vue.d.ts +17 -5
  10. package/es/components/form/index.d.ts +49 -28
  11. package/es/components/form/src/components/form-component.vue.d.ts +36 -0
  12. package/es/components/form/src/config/form-component.d.ts +13 -0
  13. package/es/components/form/src/config/form.d.ts +8 -14
  14. package/es/components/form/src/config/index.d.ts +1 -0
  15. package/es/components/form/src/form.vue.d.ts +49 -28
  16. package/es/components/index.d.ts +2 -0
  17. package/es/components/key-value/index.d.ts +431 -0
  18. package/es/components/key-value/src/components/key-value-item.vue.d.ts +299 -0
  19. package/es/components/key-value/src/config/index.d.ts +2 -0
  20. package/es/components/key-value/src/config/key-value-item.d.ts +252 -0
  21. package/es/components/key-value/src/config/key-value.d.ts +59 -0
  22. package/es/components/key-value/src/key-value.vue.d.ts +424 -0
  23. package/es/components/operate-icon/index.d.ts +13 -3
  24. package/es/components/operate-icon/src/operate-icon.d.ts +5 -2
  25. package/es/components/operate-icon/src/operate-icon.vue.d.ts +13 -3
  26. package/es/components/operate-tree/index.d.ts +92 -0
  27. package/es/components/operate-tree/src/operate-tree.d.ts +35 -0
  28. package/es/components/operate-tree/src/operate-tree.vue.d.ts +85 -0
  29. package/es/components/table/index.d.ts +5 -5
  30. package/es/components/table/src/components/main-table.vue.d.ts +1 -1
  31. package/es/components/table/src/config/table.d.ts +2 -2
  32. package/es/components/table/src/table.vue.d.ts +5 -5
  33. package/es/components/tree-search/index.d.ts +60 -86
  34. package/es/components/tree-search/src/components/directory-title.vue.d.ts +1 -1
  35. package/es/components/tree-search/src/config/directory-title.d.ts +1 -1
  36. package/es/components/tree-search/src/config/index.d.ts +0 -1
  37. package/es/components/tree-search/src/config/tree-search.d.ts +5 -9
  38. package/es/components/tree-search/src/tree-search.vue.d.ts +60 -86
  39. package/es/index.mjs +7 -2
  40. package/es/index.mjs.map +1 -1
  41. package/es/packages/components/checkbox/index.mjs +1 -1
  42. package/es/packages/components/checkbox/src/checkbox.mjs +7 -1
  43. package/es/packages/components/checkbox/src/checkbox.mjs.map +1 -1
  44. package/es/packages/components/checkbox/src/checkbox.vue2.mjs +17 -3
  45. package/es/packages/components/checkbox/src/checkbox.vue2.mjs.map +1 -1
  46. package/es/packages/components/form/index.mjs +1 -0
  47. package/es/packages/components/form/index.mjs.map +1 -1
  48. package/es/packages/components/form/src/components/form-component.vue.mjs +8 -0
  49. package/es/packages/components/form/src/components/form-component.vue.mjs.map +1 -0
  50. package/es/packages/components/form/src/components/form-component.vue2.mjs +37 -0
  51. package/es/packages/components/form/src/components/form-component.vue2.mjs.map +1 -0
  52. package/es/packages/components/form/src/config/form-component.mjs +23 -0
  53. package/es/packages/components/form/src/config/form-component.mjs.map +1 -0
  54. package/es/packages/components/form/src/config/form.mjs.map +1 -1
  55. package/es/packages/components/form/src/config/index.mjs +1 -0
  56. package/es/packages/components/form/src/config/index.mjs.map +1 -1
  57. package/es/packages/components/form/src/form.vue2.mjs +57 -16
  58. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  59. package/es/packages/components/index.mjs +7 -2
  60. package/es/packages/components/index.mjs.map +1 -1
  61. package/es/packages/components/key-value/index.mjs +12 -0
  62. package/es/packages/components/key-value/index.mjs.map +1 -0
  63. package/es/packages/components/key-value/src/components/key-value-item.vue.mjs +8 -0
  64. package/es/packages/components/key-value/src/components/key-value-item.vue.mjs.map +1 -0
  65. package/es/packages/components/key-value/src/components/key-value-item.vue2.mjs +246 -0
  66. package/es/packages/components/key-value/src/components/key-value-item.vue2.mjs.map +1 -0
  67. package/es/packages/components/key-value/src/config/index.mjs +5 -0
  68. package/es/packages/components/key-value/src/config/index.mjs.map +1 -0
  69. package/es/packages/components/key-value/src/config/key-value-item.mjs +54 -0
  70. package/es/packages/components/key-value/src/config/key-value-item.mjs.map +1 -0
  71. package/es/packages/components/key-value/src/config/key-value.mjs +63 -0
  72. package/es/packages/components/key-value/src/config/key-value.mjs.map +1 -0
  73. package/es/packages/components/key-value/src/key-value.vue.mjs +8 -0
  74. package/es/packages/components/key-value/src/key-value.vue.mjs.map +1 -0
  75. package/es/packages/components/key-value/src/key-value.vue2.mjs +134 -0
  76. package/es/packages/components/key-value/src/key-value.vue2.mjs.map +1 -0
  77. package/es/packages/components/operate-icon/src/operate-icon.mjs +12 -2
  78. package/es/packages/components/operate-icon/src/operate-icon.mjs.map +1 -1
  79. package/es/packages/components/operate-icon/src/operate-icon.vue2.mjs +6 -3
  80. package/es/packages/components/operate-icon/src/operate-icon.vue2.mjs.map +1 -1
  81. package/es/packages/components/operate-tree/index.mjs +10 -0
  82. package/es/packages/components/operate-tree/index.mjs.map +1 -0
  83. package/es/packages/components/operate-tree/src/operate-tree.mjs +47 -0
  84. package/es/packages/components/operate-tree/src/operate-tree.mjs.map +1 -0
  85. package/es/packages/components/operate-tree/src/operate-tree.vue.mjs +8 -0
  86. package/es/packages/components/operate-tree/src/operate-tree.vue.mjs.map +1 -0
  87. package/es/packages/components/{tree-search/src/components/tree-list.vue2.mjs → operate-tree/src/operate-tree.vue2.mjs} +46 -59
  88. package/es/packages/components/operate-tree/src/operate-tree.vue2.mjs.map +1 -0
  89. package/es/packages/components/tree-search/index.mjs +0 -1
  90. package/es/packages/components/tree-search/index.mjs.map +1 -1
  91. package/es/packages/components/tree-search/src/config/directory-title.mjs +1 -2
  92. package/es/packages/components/tree-search/src/config/directory-title.mjs.map +1 -1
  93. package/es/packages/components/tree-search/src/config/index.mjs +0 -1
  94. package/es/packages/components/tree-search/src/config/index.mjs.map +1 -1
  95. package/es/packages/components/tree-search/src/config/tree-search.mjs +2 -2
  96. package/es/packages/components/tree-search/src/config/tree-search.mjs.map +1 -1
  97. package/es/packages/components/tree-search/src/tree-search.vue2.mjs +42 -9
  98. package/es/packages/components/tree-search/src/tree-search.vue2.mjs.map +1 -1
  99. package/index.full.js +16927 -16274
  100. package/index.full.min.js +47 -47
  101. package/index.full.min.js.map +1 -1
  102. package/index.full.min.mjs +47 -47
  103. package/index.full.min.mjs.map +1 -1
  104. package/index.full.mjs +16914 -16273
  105. package/lib/component.js +49 -44
  106. package/lib/component.js.map +1 -1
  107. package/lib/components/advanced-filtering/index.d.ts +98 -56
  108. package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +49 -28
  109. package/lib/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +49 -28
  110. package/lib/components/checkbox/index.d.ts +34 -10
  111. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +17 -5
  112. package/lib/components/checkbox/src/checkbox.d.ts +4 -0
  113. package/lib/components/checkbox/src/checkbox.vue.d.ts +17 -5
  114. package/lib/components/form/index.d.ts +49 -28
  115. package/lib/components/form/src/components/form-component.vue.d.ts +36 -0
  116. package/lib/components/form/src/config/form-component.d.ts +13 -0
  117. package/lib/components/form/src/config/form.d.ts +8 -14
  118. package/lib/components/form/src/config/index.d.ts +1 -0
  119. package/lib/components/form/src/form.vue.d.ts +49 -28
  120. package/lib/components/index.d.ts +2 -0
  121. package/lib/components/key-value/index.d.ts +431 -0
  122. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +299 -0
  123. package/lib/components/key-value/src/config/index.d.ts +2 -0
  124. package/lib/components/key-value/src/config/key-value-item.d.ts +252 -0
  125. package/lib/components/key-value/src/config/key-value.d.ts +59 -0
  126. package/lib/components/key-value/src/key-value.vue.d.ts +424 -0
  127. package/lib/components/operate-icon/index.d.ts +13 -3
  128. package/lib/components/operate-icon/src/operate-icon.d.ts +5 -2
  129. package/lib/components/operate-icon/src/operate-icon.vue.d.ts +13 -3
  130. package/lib/components/operate-tree/index.d.ts +92 -0
  131. package/lib/components/operate-tree/src/operate-tree.d.ts +35 -0
  132. package/lib/components/operate-tree/src/operate-tree.vue.d.ts +85 -0
  133. package/lib/components/table/index.d.ts +5 -5
  134. package/lib/components/table/src/components/main-table.vue.d.ts +1 -1
  135. package/lib/components/table/src/config/table.d.ts +2 -2
  136. package/lib/components/table/src/table.vue.d.ts +5 -5
  137. package/lib/components/tree-search/index.d.ts +60 -86
  138. package/lib/components/tree-search/src/components/directory-title.vue.d.ts +1 -1
  139. package/lib/components/tree-search/src/config/directory-title.d.ts +1 -1
  140. package/lib/components/tree-search/src/config/index.d.ts +0 -1
  141. package/lib/components/tree-search/src/config/tree-search.d.ts +5 -9
  142. package/lib/components/tree-search/src/tree-search.vue.d.ts +60 -86
  143. package/lib/index.js +64 -47
  144. package/lib/index.js.map +1 -1
  145. package/lib/packages/components/checkbox/index.js +1 -0
  146. package/lib/packages/components/checkbox/index.js.map +1 -1
  147. package/lib/packages/components/checkbox/src/checkbox.js +7 -0
  148. package/lib/packages/components/checkbox/src/checkbox.js.map +1 -1
  149. package/lib/packages/components/checkbox/src/checkbox.vue2.js +16 -2
  150. package/lib/packages/components/checkbox/src/checkbox.vue2.js.map +1 -1
  151. package/lib/packages/components/form/index.js +2 -0
  152. package/lib/packages/components/form/index.js.map +1 -1
  153. package/lib/packages/components/form/src/components/form-component.vue.js +12 -0
  154. package/lib/packages/components/form/src/components/form-component.vue.js.map +1 -0
  155. package/lib/packages/components/form/src/components/form-component.vue2.js +41 -0
  156. package/lib/packages/components/form/src/components/form-component.vue2.js.map +1 -0
  157. package/lib/packages/components/form/src/config/form-component.js +25 -0
  158. package/lib/packages/components/form/src/config/form-component.js.map +1 -0
  159. package/lib/packages/components/form/src/config/form.js.map +1 -1
  160. package/lib/packages/components/form/src/config/index.js +2 -0
  161. package/lib/packages/components/form/src/config/index.js.map +1 -1
  162. package/lib/packages/components/form/src/form.vue2.js +55 -14
  163. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  164. package/lib/packages/components/index.js +64 -47
  165. package/lib/packages/components/index.js.map +1 -1
  166. package/lib/packages/components/key-value/index.js +25 -0
  167. package/lib/packages/components/key-value/index.js.map +1 -0
  168. package/lib/packages/components/key-value/src/components/key-value-item.vue.js +12 -0
  169. package/lib/packages/components/key-value/src/components/key-value-item.vue.js.map +1 -0
  170. package/lib/packages/components/key-value/src/components/key-value-item.vue2.js +250 -0
  171. package/lib/packages/components/key-value/src/components/key-value-item.vue2.js.map +1 -0
  172. package/lib/packages/components/key-value/src/config/index.js +16 -0
  173. package/lib/packages/components/key-value/src/config/index.js.map +1 -0
  174. package/lib/packages/components/key-value/src/config/key-value-item.js +60 -0
  175. package/lib/packages/components/key-value/src/config/key-value-item.js.map +1 -0
  176. package/lib/packages/components/key-value/src/config/key-value.js +67 -0
  177. package/lib/packages/components/key-value/src/config/key-value.js.map +1 -0
  178. package/lib/packages/components/key-value/src/key-value.vue.js +12 -0
  179. package/lib/packages/components/key-value/src/key-value.vue.js.map +1 -0
  180. package/lib/packages/components/key-value/src/key-value.vue2.js +138 -0
  181. package/lib/packages/components/key-value/src/key-value.vue2.js.map +1 -0
  182. package/lib/packages/components/operate-icon/src/operate-icon.js +12 -2
  183. package/lib/packages/components/operate-icon/src/operate-icon.js.map +1 -1
  184. package/lib/packages/components/operate-icon/src/operate-icon.vue2.js +6 -3
  185. package/lib/packages/components/operate-icon/src/operate-icon.vue2.js.map +1 -1
  186. package/lib/packages/components/operate-tree/index.js +18 -0
  187. package/lib/packages/components/operate-tree/index.js.map +1 -0
  188. package/lib/packages/components/operate-tree/src/operate-tree.js +51 -0
  189. package/lib/packages/components/operate-tree/src/operate-tree.js.map +1 -0
  190. package/lib/packages/components/operate-tree/src/operate-tree.vue.js +12 -0
  191. package/lib/packages/components/operate-tree/src/operate-tree.vue.js.map +1 -0
  192. package/lib/packages/components/{tree-search/src/components/tree-list.vue2.js → operate-tree/src/operate-tree.vue2.js} +45 -58
  193. package/lib/packages/components/operate-tree/src/operate-tree.vue2.js.map +1 -0
  194. package/lib/packages/components/tree-search/index.js +0 -4
  195. package/lib/packages/components/tree-search/index.js.map +1 -1
  196. package/lib/packages/components/tree-search/src/config/directory-title.js +1 -2
  197. package/lib/packages/components/tree-search/src/config/directory-title.js.map +1 -1
  198. package/lib/packages/components/tree-search/src/config/index.js +0 -4
  199. package/lib/packages/components/tree-search/src/config/index.js.map +1 -1
  200. package/lib/packages/components/tree-search/src/config/tree-search.js +2 -2
  201. package/lib/packages/components/tree-search/src/config/tree-search.js.map +1 -1
  202. package/lib/packages/components/tree-search/src/tree-search.vue2.js +41 -8
  203. package/lib/packages/components/tree-search/src/tree-search.vue2.js.map +1 -1
  204. package/package.json +1 -1
  205. package/theme-chalk/css/code-editor.css +5 -0
  206. package/theme-chalk/css/index.css +1 -1
  207. package/theme-chalk/css/input-number.css +1 -1
  208. package/theme-chalk/css/key-value.css +5 -0
  209. package/theme-chalk/css/operate-tree.css +1 -0
  210. package/theme-chalk/css/tree-search.css +1 -1
  211. package/types/packages/components/advanced-filtering/index.d.ts +98 -56
  212. package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +49 -28
  213. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +49 -28
  214. package/types/packages/components/checkbox/index.d.ts +34 -10
  215. package/types/packages/components/checkbox/src/checkbox-group.vue.d.ts +17 -5
  216. package/types/packages/components/checkbox/src/checkbox.d.ts +4 -0
  217. package/types/packages/components/checkbox/src/checkbox.vue.d.ts +17 -5
  218. package/types/packages/components/form/index.d.ts +49 -28
  219. package/types/packages/components/form/src/components/form-component.vue.d.ts +36 -0
  220. package/types/packages/components/form/src/config/form-component.d.ts +13 -0
  221. package/types/packages/components/form/src/config/form.d.ts +8 -14
  222. package/types/packages/components/form/src/config/index.d.ts +1 -0
  223. package/types/packages/components/form/src/form.vue.d.ts +49 -28
  224. package/types/packages/components/index.d.ts +2 -0
  225. package/types/packages/components/key-value/index.d.ts +431 -0
  226. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +299 -0
  227. package/types/packages/components/key-value/src/config/index.d.ts +2 -0
  228. package/types/packages/components/key-value/src/config/key-value-item.d.ts +252 -0
  229. package/types/packages/components/key-value/src/config/key-value.d.ts +59 -0
  230. package/types/packages/components/key-value/src/key-value.vue.d.ts +424 -0
  231. package/types/packages/components/operate-icon/index.d.ts +13 -3
  232. package/types/packages/components/operate-icon/src/operate-icon.d.ts +5 -2
  233. package/types/packages/components/operate-icon/src/operate-icon.vue.d.ts +13 -3
  234. package/types/packages/components/operate-tree/index.d.ts +92 -0
  235. package/types/packages/components/operate-tree/src/operate-tree.d.ts +35 -0
  236. package/types/packages/components/operate-tree/src/operate-tree.vue.d.ts +85 -0
  237. package/types/packages/components/table/index.d.ts +5 -5
  238. package/types/packages/components/table/src/components/main-table.vue.d.ts +1 -1
  239. package/types/packages/components/table/src/config/table.d.ts +2 -2
  240. package/types/packages/components/table/src/table.vue.d.ts +5 -5
  241. package/types/packages/components/tree-search/index.d.ts +60 -86
  242. package/types/packages/components/tree-search/src/components/directory-title.vue.d.ts +1 -1
  243. package/types/packages/components/tree-search/src/config/directory-title.d.ts +1 -1
  244. package/types/packages/components/tree-search/src/config/index.d.ts +0 -1
  245. package/types/packages/components/tree-search/src/config/tree-search.d.ts +5 -9
  246. package/types/packages/components/tree-search/src/tree-search.vue.d.ts +60 -86
  247. package/es/components/tree-search/src/components/tree-list.vue.d.ts +0 -113
  248. package/es/components/tree-search/src/config/tree-list.d.ts +0 -48
  249. package/es/packages/components/tree-search/src/components/tree-list.vue.mjs +0 -8
  250. package/es/packages/components/tree-search/src/components/tree-list.vue.mjs.map +0 -1
  251. package/es/packages/components/tree-search/src/components/tree-list.vue2.mjs.map +0 -1
  252. package/es/packages/components/tree-search/src/config/tree-list.mjs +0 -50
  253. package/es/packages/components/tree-search/src/config/tree-list.mjs.map +0 -1
  254. package/lib/components/tree-search/src/components/tree-list.vue.d.ts +0 -113
  255. package/lib/components/tree-search/src/config/tree-list.d.ts +0 -48
  256. package/lib/packages/components/tree-search/src/components/tree-list.vue.js +0 -12
  257. package/lib/packages/components/tree-search/src/components/tree-list.vue.js.map +0 -1
  258. package/lib/packages/components/tree-search/src/components/tree-list.vue2.js.map +0 -1
  259. package/lib/packages/components/tree-search/src/config/tree-list.js +0 -54
  260. package/lib/packages/components/tree-search/src/config/tree-list.js.map +0 -1
  261. package/types/packages/components/tree-search/src/components/tree-list.vue.d.ts +0 -113
  262. package/types/packages/components/tree-search/src/config/tree-list.d.ts +0 -48
@@ -0,0 +1,246 @@
1
+ import { defineComponent, useAttrs, ref, computed, watch, resolveComponent, openBlock, createBlock, unref, withCtx, createElementBlock, normalizeClass, createVNode, renderSlot, resolveDynamicComponent, mergeProps, createSlots, renderList, createCommentVNode, normalizeStyle, createTextVNode, createElementVNode, normalizeProps, guardReactiveProps } from 'vue';
2
+ import { isEmpty } from 'lodash-es';
3
+ import '../../../../utils/index.mjs';
4
+ import '../config/index.mjs';
5
+ import { keyValueItemProps, keyValueItemEmits, typeRules, formColumns, formOptions } from '../config/key-value-item.mjs';
6
+ import { createNamespace } from '../../../../utils/create-namespace.mjs';
7
+
8
+ "use strict";
9
+ var _sfc_main = /* @__PURE__ */ defineComponent({
10
+ ...{
11
+ name: "LlKeyValueItem"
12
+ },
13
+ __name: "key-value-item",
14
+ props: keyValueItemProps,
15
+ emits: keyValueItemEmits,
16
+ setup(__props, { emit: __emit }) {
17
+ const props = __props;
18
+ const emits = __emit;
19
+ const attrs = useAttrs();
20
+ console.log({ attrs });
21
+ const bem = createNamespace("key-value");
22
+ const innerValue = ref(props.value);
23
+ const getKeyType = computed(() => {
24
+ const option = attrs["key-type"] || {
25
+ type: "input",
26
+ placeholder: "\u8BF7\u8F93\u5165",
27
+ rule: typeRules || []
28
+ };
29
+ return option;
30
+ });
31
+ const getValueType = computed(() => {
32
+ let option = attrs["value-type"] || {
33
+ type: "input",
34
+ placeholder: "\u8BF7\u8F93\u5165",
35
+ rule: []
36
+ };
37
+ if (innerValue.value["key"] && !isEmpty(props.keyValueTypeDict)) {
38
+ option = props.keyValueTypeDict[innerValue.value["key"]];
39
+ }
40
+ return option;
41
+ });
42
+ const handleDelete = () => {
43
+ emits("delete");
44
+ };
45
+ const handleChange = () => {
46
+ innerValue.value["value"] = "";
47
+ };
48
+ watch(
49
+ innerValue,
50
+ (val) => {
51
+ emits("update:value", val);
52
+ emits("change");
53
+ },
54
+ {
55
+ deep: true
56
+ }
57
+ );
58
+ return (_ctx, _cache) => {
59
+ const _component_ll_select = resolveComponent("ll-select");
60
+ const _component_ll_form_item = resolveComponent("ll-form-item");
61
+ const _component_ll_icon = resolveComponent("ll-icon");
62
+ const _component_ll_button = resolveComponent("ll-button");
63
+ const _component_a_popconfirm = resolveComponent("a-popconfirm");
64
+ const _component_ll_form = resolveComponent("ll-form");
65
+ return openBlock(), createBlock(_component_ll_form, {
66
+ ref: "form",
67
+ "form-columns": unref(formColumns),
68
+ "form-data": props.value,
69
+ "form-options": unref(formOptions)
70
+ }, {
71
+ formItem: withCtx(({ item }) => [
72
+ item.key === "other" ? (openBlock(), createElementBlock(
73
+ "div",
74
+ {
75
+ key: 0,
76
+ class: normalizeClass(unref(bem).e("item"))
77
+ },
78
+ [
79
+ unref(attrs).type !== "single" ? (openBlock(), createElementBlock(
80
+ "div",
81
+ {
82
+ key: 0,
83
+ class: normalizeClass(unref(bem).m("left"))
84
+ },
85
+ [
86
+ createVNode(_component_ll_form_item, {
87
+ label: unref(attrs)["key-label"],
88
+ "label-col": {
89
+ span: 24
90
+ },
91
+ rules: getKeyType.value.role,
92
+ name: "key"
93
+ }, {
94
+ default: withCtx(() => [
95
+ renderSlot(_ctx.$slots, "key", {}, () => [
96
+ !unref(isEmpty)(unref(attrs)["key-types"]) ? (openBlock(), createBlock(_component_ll_select, {
97
+ key: 0,
98
+ value: innerValue.value["key"],
99
+ "onUpdate:value": _cache[0] || (_cache[0] = ($event) => innerValue.value["key"] = $event),
100
+ options: unref(attrs)["key-types"],
101
+ disabled: unref(attrs).disabled,
102
+ placeholder: "\u8BF7\u9009\u62E9",
103
+ "allow-clear": "",
104
+ onChange: handleChange
105
+ }, null, 8, ["value", "options", "disabled"])) : (openBlock(), createBlock(resolveDynamicComponent(`ll-${getKeyType.value.type}`), mergeProps({
106
+ key: 1,
107
+ value: innerValue.value["value"],
108
+ "onUpdate:value": _cache[1] || (_cache[1] = ($event) => innerValue.value["value"] = $event),
109
+ disabled: unref(attrs).disabled
110
+ }, getKeyType.value, { onChange: handleChange }), createSlots({
111
+ _: 2
112
+ /* DYNAMIC */
113
+ }, [
114
+ renderList(Object.keys(_ctx.$slots), (_item) => {
115
+ return {
116
+ name: _item,
117
+ fn: withCtx((data) => [
118
+ renderSlot(_ctx.$slots, _item, mergeProps(data || {}, { content: "key" }))
119
+ ])
120
+ };
121
+ })
122
+ ]), 1040, ["value", "disabled"]))
123
+ ])
124
+ ]),
125
+ _: 3
126
+ /* FORWARDED */
127
+ }, 8, ["label", "rules"])
128
+ ],
129
+ 2
130
+ /* CLASS */
131
+ )) : createCommentVNode("v-if", true),
132
+ unref(attrs).type !== "single" ? (openBlock(), createElementBlock(
133
+ "div",
134
+ {
135
+ key: 1,
136
+ class: normalizeClass(unref(bem).m("separator")),
137
+ style: normalizeStyle({
138
+ "margin-top": !!unref(attrs)["key-label"] || !!unref(attrs)["value-label"] ? "26px" : "0px"
139
+ })
140
+ },
141
+ [
142
+ renderSlot(_ctx.$slots, "separator", {}, () => [
143
+ createTextVNode("~")
144
+ ])
145
+ ],
146
+ 6
147
+ /* CLASS, STYLE */
148
+ )) : createCommentVNode("v-if", true),
149
+ createElementVNode(
150
+ "div",
151
+ {
152
+ class: normalizeClass(unref(bem).m("right"))
153
+ },
154
+ [
155
+ createVNode(_component_ll_form_item, {
156
+ label: unref(attrs)["value-label"],
157
+ "label-col": {
158
+ span: 24
159
+ },
160
+ rule: getValueType.value.rule || {},
161
+ name: "value"
162
+ }, {
163
+ default: withCtx(() => [
164
+ renderSlot(_ctx.$slots, "value-warapper", normalizeProps(guardReactiveProps(getValueType.value)), () => [
165
+ (openBlock(), createBlock(resolveDynamicComponent(`ll-${getValueType.value.type}`), mergeProps({
166
+ value: innerValue.value["value"],
167
+ "onUpdate:value": _cache[2] || (_cache[2] = ($event) => innerValue.value["value"] = $event),
168
+ disabled: unref(attrs).disabled
169
+ }, getValueType.value), createSlots({
170
+ _: 2
171
+ /* DYNAMIC */
172
+ }, [
173
+ renderList(Object.keys(_ctx.$slots), (_item) => {
174
+ return {
175
+ name: _item,
176
+ fn: withCtx((data) => [
177
+ renderSlot(_ctx.$slots, _item, mergeProps(data || {}, { content: "value" }))
178
+ ])
179
+ };
180
+ })
181
+ ]), 1040, ["value", "disabled"]))
182
+ ])
183
+ ]),
184
+ _: 3
185
+ /* FORWARDED */
186
+ }, 8, ["label", "rule"])
187
+ ],
188
+ 2
189
+ /* CLASS */
190
+ ),
191
+ createVNode(_component_a_popconfirm, {
192
+ title: "\u4F60\u786E\u5B9A\u8981\u79FB\u9664?",
193
+ "ok-text": "\u786E\u8BA4",
194
+ "cancel-text": "\u53D6\u6D88",
195
+ placement: "topRight",
196
+ "overlay-class-name": unref(bem).m("popconfirm"),
197
+ onConfirm: handleDelete
198
+ }, {
199
+ default: withCtx(() => [
200
+ props.showDelete ? (openBlock(), createElementBlock(
201
+ "div",
202
+ {
203
+ key: 0,
204
+ class: normalizeClass(unref(bem).m("delete")),
205
+ style: normalizeStyle({
206
+ "margin-top": !!unref(attrs)["key-label"] || !!unref(attrs)["value-label"] ? "26px" : "0px"
207
+ })
208
+ },
209
+ [
210
+ createVNode(_component_ll_button, {
211
+ type: "text",
212
+ disabled: unref(attrs).disabled
213
+ }, {
214
+ default: withCtx(() => [
215
+ renderSlot(_ctx.$slots, "delete-icon", {}, () => [
216
+ createVNode(_component_ll_icon, {
217
+ "icon-name": "icon-remove",
218
+ class: "delete"
219
+ })
220
+ ])
221
+ ]),
222
+ _: 3
223
+ /* FORWARDED */
224
+ }, 8, ["disabled"])
225
+ ],
226
+ 6
227
+ /* CLASS, STYLE */
228
+ )) : createCommentVNode("v-if", true)
229
+ ]),
230
+ _: 3
231
+ /* FORWARDED */
232
+ }, 8, ["overlay-class-name"])
233
+ ],
234
+ 2
235
+ /* CLASS */
236
+ )) : createCommentVNode("v-if", true)
237
+ ]),
238
+ _: 3
239
+ /* FORWARDED */
240
+ }, 8, ["form-columns", "form-data", "form-options"]);
241
+ };
242
+ }
243
+ });
244
+
245
+ export { _sfc_main as default };
246
+ //# sourceMappingURL=key-value-item.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value-item.vue2.mjs","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=\"attrs.type !== 'single'\" :class=\"bem.m('left')\">\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=\"attrs.disabled\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['value']\"\n :disabled=\"attrs.disabled\"\n v-bind=\"getKeyType\"\n @change=\"handleChange\"\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.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=\"attrs.disabled\"\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 @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=\"text\" :disabled=\"attrs.disabled\">\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 } 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()\nconsole.log({ attrs })\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 handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = () => {\n innerValue.value['value'] = ''\n}\n\nwatch(\n innerValue,\n val => {\n emits('update:value', val)\n emits('change')\n },\n {\n deep: true\n }\n)\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgJA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAQ,OAAA,CAAA,GAAA,CAAI,EAAE,KAAA,EAAO,CAAA,CAAA;AACrB,IAAM,MAAA,GAAA,GAAM,gBAAgB,WAAW,CAAA,CAAA;AACvC,IAAM,MAAA,UAAA,GAAa,GAAI,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAElC,IAAM,MAAA,UAAA,GAAa,SAAqB,MAAM;AAC5C,MAAM,MAAA,MAAA,GAAS,KAAM,CAAA,UAAU,CAAK,IAAA;AAAA,QAClC,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,oBAAA;AAAA,QACb,IAAA,EAAM,aAAa,EAAC;AAAA,OACtB,CAAA;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AACD,IAAM,MAAA,YAAA,GAAe,SAAqB,MAAM;AAC9C,MAAI,IAAA,MAAA,GAAS,KAAM,CAAA,YAAY,CAAK,IAAA;AAAA,QAClC,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,oBAAA;AAAA,QACb,MAAM,EAAC;AAAA,OACT,CAAA;AACA,MAAI,IAAA,UAAA,CAAW,MAAM,KAAK,CAAA,IAAK,CAAC,OAAQ,CAAA,KAAA,CAAM,gBAAgB,CAAG,EAAA;AAC/D,QAAA,MAAA,GAAS,KAAM,CAAA,gBAAA,CAAiB,UAAW,CAAA,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,OACzD;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA,KAChB,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAW,UAAA,CAAA,KAAA,CAAM,OAAO,CAAI,GAAA,EAAA,CAAA;AAAA,KAC9B,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,UAAA;AAAA,MACA,CAAO,GAAA,KAAA;AACL,QAAA,KAAA,CAAM,gBAAgB,GAAG,CAAA,CAAA;AACzB,QAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA,OAChB;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ export { getKeyValueItem, keyValueEmits, keyValueProps } from './key-value.mjs';
2
+ export { formColumns, formOptions, keyValueItemEmits, keyValueItemProps, typeRules } from './key-value-item.mjs';
3
+
4
+ "use strict";
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,54 @@
1
+ import '../../../../utils/index.mjs';
2
+ import { buildProps, definePropType } from '../../../../utils/props/runtime.mjs';
3
+
4
+ "use strict";
5
+ const typeRules = [
6
+ {
7
+ trigger: ["blur", "change"],
8
+ message: "\u6B64\u5B57\u6BB5\u662F\u5FC5\u9700\u7684",
9
+ validator: async (_rule, value) => {
10
+ if (!value) {
11
+ return Promise.reject(new Error("\u6B64\u5B57\u6BB5\u662F\u5FC5\u9700\u7684"));
12
+ } else {
13
+ return Promise.resolve();
14
+ }
15
+ }
16
+ }
17
+ ];
18
+ const formOptions = {
19
+ layout: "horizontal",
20
+ labelAlign: "left"
21
+ };
22
+ const formColumns = [
23
+ {
24
+ key: "other",
25
+ labelCol: {
26
+ span: 24
27
+ }
28
+ }
29
+ ];
30
+ const keyValueItemProps = buildProps({
31
+ value: {
32
+ type: definePropType(Object),
33
+ default: () => ({
34
+ key: "",
35
+ value: ""
36
+ })
37
+ },
38
+ keyValueTypeDict: {
39
+ type: Object,
40
+ default: () => ({})
41
+ },
42
+ showDelete: {
43
+ type: Boolean,
44
+ default: true
45
+ }
46
+ });
47
+ const keyValueItemEmits = {
48
+ delete: () => true,
49
+ change: () => true,
50
+ "update:value": (value) => !!value
51
+ };
52
+
53
+ export { formColumns, formOptions, keyValueItemEmits, keyValueItemProps, typeRules };
54
+ //# sourceMappingURL=key-value-item.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value-item.mjs","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: string\n value: string\n}\nexport const keyValueItemProps = buildProps({\n value: {\n type: definePropType<KeyValueItem>(Object),\n default: () => ({\n key: '',\n value: ''\n })\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":[],"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;AAMO,MAAM,oBAAoB,UAAW,CAAA;AAAA,EAC1C,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,SAAS,OAAO;AAAA,MACd,GAAK,EAAA,EAAA;AAAA,MACL,KAAO,EAAA,EAAA;AAAA,KACT,CAAA;AAAA,GACF;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;;;;"}
@@ -0,0 +1,63 @@
1
+ import '../../../../utils/index.mjs';
2
+ import { buildProps, definePropType } from '../../../../utils/props/runtime.mjs';
3
+
4
+ "use strict";
5
+ const getKeyValueItem = () => ({
6
+ key: "",
7
+ value: ""
8
+ });
9
+ const keyValueProps = buildProps({
10
+ value: {
11
+ type: definePropType(Array),
12
+ default: () => [{ key: "", value: "" }]
13
+ },
14
+ loading: {
15
+ type: Boolean,
16
+ default: false
17
+ },
18
+ disabled: {
19
+ type: Boolean,
20
+ default: false
21
+ },
22
+ keyLabel: {
23
+ type: String,
24
+ default: ""
25
+ },
26
+ valueLabel: {
27
+ type: String,
28
+ default: ""
29
+ },
30
+ addText: {
31
+ type: String,
32
+ default: "\u6DFB\u52A0"
33
+ },
34
+ type: {
35
+ type: definePropType(String),
36
+ default: "doubt"
37
+ },
38
+ keyType: {
39
+ type: definePropType(Object),
40
+ default: () => ({
41
+ type: "input",
42
+ placeholder: "\u8BF7\u8F93\u5165key"
43
+ })
44
+ },
45
+ keyTypes: {
46
+ type: definePropType(Array),
47
+ default: () => []
48
+ },
49
+ valueType: {
50
+ type: definePropType(Object),
51
+ default: () => ({
52
+ type: "input",
53
+ placeholder: "\u8BF7\u8F93\u5165key"
54
+ })
55
+ }
56
+ });
57
+ const keyValueEmits = {
58
+ change: (value) => !!value,
59
+ "update:value": (value) => !!value
60
+ };
61
+
62
+ export { getKeyValueItem, keyValueEmits, keyValueProps };
63
+ //# sourceMappingURL=key-value.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value.mjs","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 '../components/key-value-item.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype Type = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: '',\n value: ''\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 type: {\n type: definePropType<Type>(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: '请输入key'\n })\n }\n} as const)\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\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":[],"mappings":";;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,EAAA;AAAA,EACL,KAAO,EAAA,EAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA+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,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAqB,MAAM,CAAA;AAAA,IACjC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA2B,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,EAAM,eAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AACF,CAAU,EAAA;AAEH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from './key-value.vue2.mjs';
2
+ import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
3
+
4
+ "use strict";
5
+ var KeyValue = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "key-value.vue"]]);
6
+
7
+ export { KeyValue as default };
8
+ //# sourceMappingURL=key-value.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,134 @@
1
+ import { defineComponent, ref, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx, Fragment, renderList, createBlock, createSlots, renderSlot, mergeProps, createElementVNode, createCommentVNode, createTextVNode, toDisplayString } from 'vue';
2
+ import '../../../utils/index.mjs';
3
+ import './config/index.mjs';
4
+ import keyValueItem from './components/key-value-item.vue.mjs';
5
+ import { keyValueProps, keyValueEmits, getKeyValueItem } from './config/key-value.mjs';
6
+ import { createNamespace } from '../../../utils/create-namespace.mjs';
7
+
8
+ "use strict";
9
+ var _sfc_main = /* @__PURE__ */ defineComponent({
10
+ ...{ name: "LlKeyValue" },
11
+ __name: "key-value",
12
+ props: keyValueProps,
13
+ emits: keyValueEmits,
14
+ setup(__props, { emit: __emit }) {
15
+ const props = __props;
16
+ const emits = __emit;
17
+ const bem = createNamespace("key-value");
18
+ const innerValue = ref(
19
+ props.value.length > 0 ? props.value : [{ key: "", value: "" }]
20
+ );
21
+ const keyValueItems = ref([]);
22
+ const keyValueTypeDict = computed(() => {
23
+ const obj = {};
24
+ props.keyTypes.map((e) => {
25
+ obj[e.value] = e.option;
26
+ });
27
+ return obj;
28
+ });
29
+ const handleAddItem = () => {
30
+ innerValue.value.push(getKeyValueItem());
31
+ };
32
+ const handleDelete = (idx) => {
33
+ innerValue.value.splice(idx, 1);
34
+ };
35
+ const handleChange = () => {
36
+ emits("change", innerValue.value);
37
+ emits("change", innerValue.value);
38
+ };
39
+ return (_ctx, _cache) => {
40
+ const _component_ll_icon = resolveComponent("ll-icon");
41
+ const _component_ll_button = resolveComponent("ll-button");
42
+ const _component_a_spin = resolveComponent("a-spin");
43
+ return openBlock(), createElementBlock(
44
+ "div",
45
+ {
46
+ class: normalizeClass(unref(bem).b())
47
+ },
48
+ [
49
+ createVNode(_component_a_spin, {
50
+ spinning: props.loading
51
+ }, {
52
+ default: withCtx(() => [
53
+ (openBlock(true), createElementBlock(
54
+ Fragment,
55
+ null,
56
+ renderList(props.value, (_item, idx) => {
57
+ return openBlock(), createBlock(keyValueItem, {
58
+ key: idx,
59
+ ref_for: true,
60
+ ref: (el) => keyValueItems.value[idx] = el,
61
+ value: props.value[idx],
62
+ "key-label": props.keyLabel,
63
+ "value-label": props.valueLabel,
64
+ "key-value-type-dict": keyValueTypeDict.value,
65
+ "show-delete": idx > 0,
66
+ type: props.type,
67
+ "key-type": props.keyType,
68
+ "key-types": props.keyTypes,
69
+ "value-type": props.valueType,
70
+ disabled: props.disabled,
71
+ onDelete: ($event) => handleDelete(idx),
72
+ onChange: handleChange
73
+ }, createSlots({
74
+ _: 2
75
+ /* DYNAMIC */
76
+ }, [
77
+ renderList(Object.keys(_ctx.$slots), (item) => {
78
+ return {
79
+ name: item,
80
+ fn: withCtx((data) => [
81
+ renderSlot(_ctx.$slots, item, mergeProps(data || {}, { index: idx }))
82
+ ])
83
+ };
84
+ })
85
+ ]), 1032, ["value", "key-label", "value-label", "key-value-type-dict", "show-delete", "type", "key-type", "key-types", "value-type", "disabled", "onDelete"]);
86
+ }),
87
+ 128
88
+ /* KEYED_FRAGMENT */
89
+ )),
90
+ createVNode(_component_ll_button, {
91
+ class: normalizeClass(unref(bem).e("add")),
92
+ loading: _ctx.loading,
93
+ disabled: props.disabled,
94
+ onClick: handleAddItem
95
+ }, {
96
+ default: withCtx(() => [
97
+ createElementVNode(
98
+ "div",
99
+ {
100
+ class: normalizeClass(unref(bem).e("plus"))
101
+ },
102
+ [
103
+ !_ctx.loading ? (openBlock(), createBlock(_component_ll_icon, {
104
+ key: 0,
105
+ "icon-name": "icon-add",
106
+ class: normalizeClass(unref(bem).e("icon-add"))
107
+ }, null, 8, ["class"])) : createCommentVNode("v-if", true),
108
+ createTextVNode(
109
+ " " + toDisplayString(props.addText),
110
+ 1
111
+ /* TEXT */
112
+ )
113
+ ],
114
+ 2
115
+ /* CLASS */
116
+ )
117
+ ]),
118
+ _: 1
119
+ /* STABLE */
120
+ }, 8, ["class", "loading", "disabled"])
121
+ ]),
122
+ _: 3
123
+ /* FORWARDED */
124
+ }, 8, ["spinning"])
125
+ ],
126
+ 2
127
+ /* CLASS */
128
+ );
129
+ };
130
+ }
131
+ });
132
+
133
+ export { _sfc_main as default };
134
+ //# sourceMappingURL=key-value.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value.vue2.mjs","sources":["../../../../../../packages/components/key-value/src/key-value.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <key-value-item\n v-for=\"(_item, idx) in props.value\"\n :key=\"idx\"\n :ref=\"el => (keyValueItems[idx] = el)\"\n :value=\"props.value[idx]\"\n :key-label=\"props.keyLabel\"\n :value-label=\"props.valueLabel\"\n :key-value-type-dict=\"keyValueTypeDict\"\n :show-delete=\"idx > 0\"\n :type=\"props.type\"\n :key-type=\"props.keyType\"\n :key-types=\"props.keyTypes\"\n :value-type=\"props.valueType\"\n :disabled=\"props.disabled\"\n @delete=\"handleDelete(idx)\"\n @change=\"handleChange\"\n >\n <template\n v-for=\"item in Object.keys($slots)\"\n :key=\"item\"\n #[item]=\"data\"\n >\n <slot :name=\"item\" v-bind=\"data || {}\" :index=\"idx\"></slot>\n </template>\n </key-value-item>\n <ll-button\n :class=\"bem.e('add')\"\n :loading=\"loading\"\n :disabled=\"props.disabled\"\n @click=\"handleAddItem\"\n >\n <div :class=\"bem.e('plus')\">\n <ll-icon\n v-if=\"!loading\"\n icon-name=\"icon-add\"\n :class=\"bem.e('icon-add')\"\n />\n {{ props.addText }}\n </div>\n </ll-button>\n </a-spin>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport { keyValueProps, keyValueEmits, getKeyValueItem } from './config'\nimport keyValueItem from './components/key-value-item.vue'\ndefineOptions({ name: 'LlKeyValue' })\nconst props = defineProps(keyValueProps)\nconst emits = defineEmits(keyValueEmits)\nconst bem = createNamespace('key-value')\nconst innerValue = ref(\n props.value.length > 0 ? props.value : [{ key: '', value: '' }]\n)\nconst keyValueItems = ref<any[]>([])\n\nconst keyValueTypeDict = computed(() => {\n const obj = {}\n props.keyTypes.map(e => {\n obj[e.value] = e.option\n })\n return obj\n})\n\nconst handleAddItem = () => {\n innerValue.value.push(getKeyValueItem())\n}\n\nconst handleDelete = (idx: number) => {\n innerValue.value.splice(idx, 1)\n}\n\nconst handleChange = () => {\n emits('change', innerValue.value)\n emits('change', innerValue.value)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAqDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAM,MAAA,GAAA,GAAM,gBAAgB,WAAW,CAAA,CAAA;AACvC,IAAA,MAAM,UAAa,GAAA,GAAA;AAAA,MACjB,KAAM,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA,GAAI,KAAM,CAAA,KAAA,GAAQ,CAAC,EAAE,GAAK,EAAA,EAAA,EAAI,KAAO,EAAA,EAAA,EAAI,CAAA;AAAA,KAChE,CAAA;AACA,IAAM,MAAA,aAAA,GAAgB,GAAW,CAAA,EAAE,CAAA,CAAA;AAEnC,IAAM,MAAA,gBAAA,GAAmB,SAAS,MAAM;AACtC,MAAA,MAAM,MAAM,EAAC,CAAA;AACb,MAAM,KAAA,CAAA,QAAA,CAAS,IAAI,CAAK,CAAA,KAAA;AACtB,QAAI,GAAA,CAAA,CAAA,CAAE,KAAK,CAAA,GAAI,CAAE,CAAA,MAAA,CAAA;AAAA,OAClB,CAAA,CAAA;AACD,MAAO,OAAA,GAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAW,UAAA,CAAA,KAAA,CAAM,IAAK,CAAA,eAAA,EAAiB,CAAA,CAAA;AAAA,KACzC,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,GAAgB,KAAA;AACpC,MAAW,UAAA,CAAA,KAAA,CAAM,MAAO,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AAAA,KAChC,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAM,KAAA,CAAA,QAAA,EAAU,WAAW,KAAK,CAAA,CAAA;AAChC,MAAM,KAAA,CAAA,QAAA,EAAU,WAAW,KAAK,CAAA,CAAA;AAAA,KAClC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,16 @@
1
1
  import '../../../utils/index.mjs';
2
+ import { isBoolean } from 'lodash-unified';
2
3
  import { buildProps, definePropType } from '../../../utils/props/runtime.mjs';
3
4
 
4
5
  "use strict";
5
6
  const operateIconProps = buildProps({
7
+ /**
8
+ * @description 监听dropdown是否打开和关闭
9
+ */
10
+ dropdownOpen: {
11
+ type: Boolean,
12
+ default: false
13
+ },
6
14
  /**
7
15
  * @description 是否显示dropdown
8
16
  */
@@ -38,10 +46,12 @@ const operateIconProps = buildProps({
38
46
  }
39
47
  });
40
48
  const operateIconEmits = {
41
- edit: (v, data) => !!v && !!data,
49
+ edit: (v, data) => v || data,
42
50
  // 点击编辑
43
- delete: (v, data) => !!v && !!data
51
+ delete: (v, data) => v || data,
44
52
  // 点击删除
53
+ "update:dropdownOpen": (bool) => isBoolean(bool),
54
+ "update:value": (bool) => isBoolean(bool)
45
55
  };
46
56
 
47
57
  export { operateIconEmits, operateIconProps };
@@ -1 +1 @@
1
- {"version":3,"file":"operate-icon.mjs","sources":["../../../../../../packages/components/operate-icon/src/operate-icon.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type OperateIcon from './operate-icon.vue'\nimport type { IconBaseProps } from '@ll-plus/components'\n\nexport const operateIconProps = buildProps({\n /**\n * @description 是否显示dropdown\n */\n showDropdown: {\n type: Boolean,\n default: false\n },\n /**\n * @description icon列表\n */\n list: {\n type: definePropType<IconBaseProps[]>(Array)\n },\n /**\n * @description 是否禁用\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * @description 显示多少个icon,其余在弹窗中显示\n */\n showIconLimit: {\n type: Number,\n default: 3\n },\n /**\n * @description 点击按钮传递的数据\n */\n data: {\n type: definePropType<any>(undefined)\n }\n} as const)\n\nexport const operateIconEmits = {\n edit: (v: Event, data: any) => !!v && !!data, // 点击编辑\n delete: (v: Event, data: any) => !!v && !!data // 点击删除\n}\n\n// props\nexport type OperateIconProps = ExtractPropTypes<typeof operateIconProps>\n\n// emits\nexport type OperateIconEmits = typeof operateIconEmits\n\n// instance\nexport type OperateIconInstance = InstanceType<typeof OperateIcon>\n"],"names":[],"mappings":";;;;AAMO,MAAM,mBAAmB,UAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIzC,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAgC,KAAK,CAAA;AAAA,GAC7C;AAAA;AAAA;AAAA;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAoB,KAAS,CAAA,CAAA;AAAA,GACrC;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,IAAA,EAAM,CAAC,CAAU,EAAA,IAAA,KAAc,CAAC,CAAC,CAAA,IAAK,CAAC,CAAC,IAAA;AAAA;AAAA,EACxC,MAAA,EAAQ,CAAC,CAAU,EAAA,IAAA,KAAc,CAAC,CAAC,CAAA,IAAK,CAAC,CAAC,IAAA;AAAA;AAC5C;;;;"}
1
+ {"version":3,"file":"operate-icon.mjs","sources":["../../../../../../packages/components/operate-icon/src/operate-icon.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport { isBoolean } from 'lodash-unified'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type OperateIcon from './operate-icon.vue'\nimport type { IconBaseProps } from '@ll-plus/components'\n\nexport const operateIconProps = buildProps({\n /**\n * @description 监听dropdown是否打开和关闭\n */\n dropdownOpen: {\n type: Boolean,\n default: false\n },\n /**\n * @description 是否显示dropdown\n */\n showDropdown: {\n type: Boolean,\n default: false\n },\n /**\n * @description icon列表\n */\n list: {\n type: definePropType<IconBaseProps[]>(Array)\n },\n /**\n * @description 是否禁用\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * @description 显示多少个icon,其余在弹窗中显示\n */\n showIconLimit: {\n type: Number,\n default: 3\n },\n /**\n * @description 点击按钮传递的数据\n */\n data: {\n type: definePropType<any>(undefined)\n }\n} as const)\n\nexport const operateIconEmits = {\n edit: (v: Event, data: any) => v || data, // 点击编辑\n delete: (v: Event, data: any) => v || data, // 点击删除\n 'update:dropdownOpen': (bool: boolean) => isBoolean(bool),\n 'update:value': (bool: boolean) => isBoolean(bool)\n}\n\n// props\nexport type OperateIconProps = ExtractPropTypes<typeof operateIconProps>\n\n// emits\nexport type OperateIconEmits = typeof operateIconEmits\n\n// instance\nexport type OperateIconInstance = InstanceType<typeof OperateIcon>\n"],"names":[],"mappings":";;;;;AAQO,MAAM,mBAAmB,UAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIzC,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAgC,KAAK,CAAA;AAAA,GAC7C;AAAA;AAAA;AAAA;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAoB,KAAS,CAAA,CAAA;AAAA,GACrC;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,IAAM,EAAA,CAAC,CAAU,EAAA,IAAA,KAAc,CAAK,IAAA,IAAA;AAAA;AAAA,EACpC,MAAQ,EAAA,CAAC,CAAU,EAAA,IAAA,KAAc,CAAK,IAAA,IAAA;AAAA;AAAA,EACtC,qBAAuB,EAAA,CAAC,IAAkB,KAAA,SAAA,CAAU,IAAI,CAAA;AAAA,EACxD,cAAgB,EAAA,CAAC,IAAkB,KAAA,SAAA,CAAU,IAAI,CAAA;AACnD;;;;"}
@@ -52,11 +52,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
52
52
  return `${bem.b()} ${isHasDropdown ? bem.m("has-dropdown") : ""}`;
53
53
  });
54
54
  const handleDropdownOpenChange = (open) => {
55
- if (!open)
55
+ if (!open) {
56
56
  dropdownOpen.value = false;
57
+ emits("update:dropdownOpen", false);
58
+ }
57
59
  };
58
60
  const handleIconMouseenter = () => {
59
61
  dropdownOpen.value = true;
62
+ emits("update:dropdownOpen", true);
60
63
  };
61
64
  watch(
62
65
  () => [props.list, props.showDropdown],
@@ -149,11 +152,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
149
152
  [
150
153
  createVNode(unref(LlIconBase), {
151
154
  "is-show-tooltip": false,
152
- "is-show-container": false,
155
+ "is-show-container": showIconList.value[0].isShowContainer,
153
156
  "icon-type": showIconList.value[0].iconType,
154
157
  data: _ctx.data,
155
158
  "icon-name": "icon-more"
156
- }, null, 8, ["icon-type", "data"])
159
+ }, null, 8, ["is-show-container", "icon-type", "data"])
157
160
  ],
158
161
  34
159
162
  /* CLASS, NEED_HYDRATION */