ll-plus 2.4.4 → 2.4.7

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 (286) hide show
  1. package/es/component.mjs +2 -0
  2. package/es/component.mjs.map +1 -1
  3. package/es/components/advanced-filtering/index.d.ts +302 -302
  4. package/es/components/advanced-filtering/src/advanced-filtering.d.ts +1 -1
  5. package/es/components/advanced-filtering/src/advanced-filtering.vue.d.ts +153 -153
  6. package/es/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +145 -145
  7. package/es/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +4 -4
  8. package/es/components/api-component/index.d.ts +32 -32
  9. package/es/components/api-component/src/api-component.vue.d.ts +32 -32
  10. package/es/components/api-component/src/components/api-modal.vue.d.ts +6 -6
  11. package/es/components/api-component/src/components/body-component.vue.d.ts +14 -14
  12. package/es/components/api-component/src/components/click-input.vue.d.ts +10 -10
  13. package/es/components/api-component/src/components/params-table-row.vue.d.ts +12 -12
  14. package/es/components/api-component/src/components/params-table.vue.d.ts +14 -14
  15. package/es/components/api-component/src/config/api-modal.d.ts +1 -1
  16. package/es/components/api-component/src/config/click-input.d.ts +1 -1
  17. package/es/components/avatar/index.d.ts +102 -122
  18. package/es/components/avatar/src/avatar.d.ts +57 -23
  19. package/es/components/avatar/src/avatar.vue.d.ts +102 -122
  20. package/es/components/checkbox/index.d.ts +217 -217
  21. package/es/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  22. package/es/components/checkbox/src/checkbox.d.ts +56 -56
  23. package/es/components/code-editor/index.d.ts +2 -2
  24. package/es/components/code-editor/src/code-editor.vue.d.ts +2 -2
  25. package/es/components/drawer/index.d.ts +11 -11
  26. package/es/components/drawer/src/components/second-confirmation/index.d.ts +9 -9
  27. package/es/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +9 -9
  28. package/es/components/drawer/src/drawer.vue.d.ts +11 -11
  29. package/es/components/easy-cron/index.d.ts +82 -82
  30. package/es/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +77 -77
  31. package/es/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +77 -77
  32. package/es/components/easy-cron/src/easy-cron.vue.d.ts +82 -82
  33. package/es/components/form/index.d.ts +142 -142
  34. package/es/components/form/src/config/form.d.ts +56 -56
  35. package/es/components/form/src/form.vue.d.ts +142 -142
  36. package/es/components/icon-picker/index.d.ts +7 -3
  37. package/es/components/icon-picker/src/icon-picker.vue.d.ts +7 -3
  38. package/es/components/index.d.ts +1 -0
  39. package/es/components/input/index.d.ts +31 -31
  40. package/es/components/input/src/input.vue.d.ts +31 -31
  41. package/es/components/key-value/index.d.ts +684 -684
  42. package/es/components/key-value/src/components/key-value-item.vue.d.ts +228 -228
  43. package/es/components/key-value/src/key-value.vue.d.ts +684 -684
  44. package/es/components/modal/index.d.ts +4 -4
  45. package/es/components/modal/src/modal.vue.d.ts +4 -4
  46. package/es/components/rich-text-editor/index.d.ts +238 -0
  47. package/es/components/rich-text-editor/src/rich-text-editor.d.ts +66 -0
  48. package/es/components/rich-text-editor/src/rich-text-editor.vue.d.ts +234 -0
  49. package/es/components/select/index.d.ts +11 -11
  50. package/es/components/select/src/select.vue.d.ts +11 -11
  51. package/es/components/select-group/index.d.ts +3 -2
  52. package/es/components/select-group/src/select-group.d.ts +6 -0
  53. package/es/components/select-group/src/select-group.vue.d.ts +3 -2
  54. package/es/components/table/index.d.ts +11 -11
  55. package/es/components/table/src/components/main-table.vue.d.ts +3 -3
  56. package/es/components/table/src/config/table.d.ts +4 -4
  57. package/es/components/table/src/table.vue.d.ts +11 -11
  58. package/es/components/textarea/index.d.ts +5 -5
  59. package/es/components/textarea/src/textarea.vue.d.ts +5 -5
  60. package/es/components/tooltip/index.d.ts +4 -4
  61. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  62. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -4
  63. package/es/components/tree-search/index.d.ts +15 -15
  64. package/es/components/tree-search/src/config/tree-search.d.ts +4 -4
  65. package/es/components/tree-search/src/tree-search.vue.d.ts +15 -15
  66. package/es/components/upload-drag/index.d.ts +4 -4
  67. package/es/components/upload-drag/src/upload-drag.vue.d.ts +4 -4
  68. package/es/index.mjs +3 -1
  69. package/es/index.mjs.map +1 -1
  70. package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs +4 -1
  71. package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs.map +1 -1
  72. package/es/packages/components/advanced-filtering/src/advanced-filtering.vue2.mjs +3 -4
  73. package/es/packages/components/advanced-filtering/src/advanced-filtering.vue2.mjs.map +1 -1
  74. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.mjs +4 -3
  75. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.mjs.map +1 -1
  76. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.mjs +1 -1
  77. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.mjs.map +1 -1
  78. package/es/packages/components/avatar/index.mjs +1 -1
  79. package/es/packages/components/avatar/src/avatar.mjs +41 -1
  80. package/es/packages/components/avatar/src/avatar.mjs.map +1 -1
  81. package/es/packages/components/avatar/src/avatar.vue2.mjs +16 -56
  82. package/es/packages/components/avatar/src/avatar.vue2.mjs.map +1 -1
  83. package/es/packages/components/icon-picker/src/components/modal.vue2.mjs +64 -59
  84. package/es/packages/components/icon-picker/src/components/modal.vue2.mjs.map +1 -1
  85. package/es/packages/components/icon-picker/src/icon-picker.vue2.mjs +10 -3
  86. package/es/packages/components/icon-picker/src/icon-picker.vue2.mjs.map +1 -1
  87. package/es/packages/components/index.mjs +3 -1
  88. package/es/packages/components/index.mjs.map +1 -1
  89. package/es/packages/components/number-range/src/number-range.vue2.mjs +6 -5
  90. package/es/packages/components/number-range/src/number-range.vue2.mjs.map +1 -1
  91. package/es/packages/components/rich-text-editor/index.mjs +10 -0
  92. package/es/packages/components/rich-text-editor/index.mjs.map +1 -0
  93. package/es/packages/components/rich-text-editor/src/rich-text-editor.mjs +69 -0
  94. package/es/packages/components/rich-text-editor/src/rich-text-editor.mjs.map +1 -0
  95. package/es/packages/components/rich-text-editor/src/rich-text-editor.vue.mjs +8 -0
  96. package/es/packages/components/rich-text-editor/src/rich-text-editor.vue.mjs.map +1 -0
  97. package/es/packages/components/rich-text-editor/src/rich-text-editor.vue2.mjs +186 -0
  98. package/es/packages/components/rich-text-editor/src/rich-text-editor.vue2.mjs.map +1 -0
  99. package/es/packages/components/select-group/src/select-group.mjs +6 -0
  100. package/es/packages/components/select-group/src/select-group.mjs.map +1 -1
  101. package/es/packages/components/select-group/src/select-group.vue2.mjs +5 -6
  102. package/es/packages/components/select-group/src/select-group.vue2.mjs.map +1 -1
  103. package/global.d.ts +1 -1
  104. package/index.full.js +526 -256
  105. package/index.full.min.js +23 -23
  106. package/index.full.min.js.map +1 -1
  107. package/index.full.min.mjs +23 -23
  108. package/index.full.min.mjs.map +1 -1
  109. package/index.full.mjs +519 -254
  110. package/lib/component.js +44 -42
  111. package/lib/component.js.map +1 -1
  112. package/lib/components/advanced-filtering/index.d.ts +302 -302
  113. package/lib/components/advanced-filtering/src/advanced-filtering.d.ts +1 -1
  114. package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +153 -153
  115. package/lib/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +145 -145
  116. package/lib/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +4 -4
  117. package/lib/components/api-component/index.d.ts +32 -32
  118. package/lib/components/api-component/src/api-component.vue.d.ts +32 -32
  119. package/lib/components/api-component/src/components/api-modal.vue.d.ts +6 -6
  120. package/lib/components/api-component/src/components/body-component.vue.d.ts +14 -14
  121. package/lib/components/api-component/src/components/click-input.vue.d.ts +10 -10
  122. package/lib/components/api-component/src/components/params-table-row.vue.d.ts +12 -12
  123. package/lib/components/api-component/src/components/params-table.vue.d.ts +14 -14
  124. package/lib/components/api-component/src/config/api-modal.d.ts +1 -1
  125. package/lib/components/api-component/src/config/click-input.d.ts +1 -1
  126. package/lib/components/avatar/index.d.ts +102 -122
  127. package/lib/components/avatar/src/avatar.d.ts +57 -23
  128. package/lib/components/avatar/src/avatar.vue.d.ts +102 -122
  129. package/lib/components/checkbox/index.d.ts +217 -217
  130. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  131. package/lib/components/checkbox/src/checkbox.d.ts +56 -56
  132. package/lib/components/code-editor/index.d.ts +2 -2
  133. package/lib/components/code-editor/src/code-editor.vue.d.ts +2 -2
  134. package/lib/components/drawer/index.d.ts +11 -11
  135. package/lib/components/drawer/src/components/second-confirmation/index.d.ts +9 -9
  136. package/lib/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +9 -9
  137. package/lib/components/drawer/src/drawer.vue.d.ts +11 -11
  138. package/lib/components/easy-cron/index.d.ts +82 -82
  139. package/lib/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +77 -77
  140. package/lib/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +77 -77
  141. package/lib/components/easy-cron/src/easy-cron.vue.d.ts +82 -82
  142. package/lib/components/form/index.d.ts +142 -142
  143. package/lib/components/form/src/config/form.d.ts +56 -56
  144. package/lib/components/form/src/form.vue.d.ts +142 -142
  145. package/lib/components/icon-picker/index.d.ts +7 -3
  146. package/lib/components/icon-picker/src/icon-picker.vue.d.ts +7 -3
  147. package/lib/components/index.d.ts +1 -0
  148. package/lib/components/input/index.d.ts +31 -31
  149. package/lib/components/input/src/input.vue.d.ts +31 -31
  150. package/lib/components/key-value/index.d.ts +684 -684
  151. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +228 -228
  152. package/lib/components/key-value/src/key-value.vue.d.ts +684 -684
  153. package/lib/components/modal/index.d.ts +4 -4
  154. package/lib/components/modal/src/modal.vue.d.ts +4 -4
  155. package/lib/components/rich-text-editor/index.d.ts +238 -0
  156. package/lib/components/rich-text-editor/src/rich-text-editor.d.ts +66 -0
  157. package/lib/components/rich-text-editor/src/rich-text-editor.vue.d.ts +234 -0
  158. package/lib/components/select/index.d.ts +11 -11
  159. package/lib/components/select/src/select.vue.d.ts +11 -11
  160. package/lib/components/select-group/index.d.ts +3 -2
  161. package/lib/components/select-group/src/select-group.d.ts +6 -0
  162. package/lib/components/select-group/src/select-group.vue.d.ts +3 -2
  163. package/lib/components/table/index.d.ts +11 -11
  164. package/lib/components/table/src/components/main-table.vue.d.ts +3 -3
  165. package/lib/components/table/src/config/table.d.ts +4 -4
  166. package/lib/components/table/src/table.vue.d.ts +11 -11
  167. package/lib/components/textarea/index.d.ts +5 -5
  168. package/lib/components/textarea/src/textarea.vue.d.ts +5 -5
  169. package/lib/components/tooltip/index.d.ts +4 -4
  170. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  171. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -4
  172. package/lib/components/tree-search/index.d.ts +15 -15
  173. package/lib/components/tree-search/src/config/tree-search.d.ts +4 -4
  174. package/lib/components/tree-search/src/tree-search.vue.d.ts +15 -15
  175. package/lib/components/upload-drag/index.d.ts +4 -4
  176. package/lib/components/upload-drag/src/upload-drag.vue.d.ts +4 -4
  177. package/lib/index.js +50 -41
  178. package/lib/index.js.map +1 -1
  179. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js +4 -1
  180. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js.map +1 -1
  181. package/lib/packages/components/advanced-filtering/src/advanced-filtering.vue2.js +2 -3
  182. package/lib/packages/components/advanced-filtering/src/advanced-filtering.vue2.js.map +1 -1
  183. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.js +4 -3
  184. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.js.map +1 -1
  185. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js +1 -1
  186. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js.map +1 -1
  187. package/lib/packages/components/avatar/index.js +1 -0
  188. package/lib/packages/components/avatar/index.js.map +1 -1
  189. package/lib/packages/components/avatar/src/avatar.js +41 -0
  190. package/lib/packages/components/avatar/src/avatar.js.map +1 -1
  191. package/lib/packages/components/avatar/src/avatar.vue2.js +14 -54
  192. package/lib/packages/components/avatar/src/avatar.vue2.js.map +1 -1
  193. package/lib/packages/components/icon-picker/src/components/modal.vue2.js +63 -58
  194. package/lib/packages/components/icon-picker/src/components/modal.vue2.js.map +1 -1
  195. package/lib/packages/components/icon-picker/src/icon-picker.vue2.js +10 -3
  196. package/lib/packages/components/icon-picker/src/icon-picker.vue2.js.map +1 -1
  197. package/lib/packages/components/index.js +50 -41
  198. package/lib/packages/components/index.js.map +1 -1
  199. package/lib/packages/components/number-range/src/number-range.vue2.js +6 -5
  200. package/lib/packages/components/number-range/src/number-range.vue2.js.map +1 -1
  201. package/lib/packages/components/rich-text-editor/index.js +20 -0
  202. package/lib/packages/components/rich-text-editor/index.js.map +1 -0
  203. package/lib/packages/components/rich-text-editor/src/rich-text-editor.js +75 -0
  204. package/lib/packages/components/rich-text-editor/src/rich-text-editor.js.map +1 -0
  205. package/lib/packages/components/rich-text-editor/src/rich-text-editor.vue.js +12 -0
  206. package/lib/packages/components/rich-text-editor/src/rich-text-editor.vue.js.map +1 -0
  207. package/lib/packages/components/rich-text-editor/src/rich-text-editor.vue2.js +190 -0
  208. package/lib/packages/components/rich-text-editor/src/rich-text-editor.vue2.js.map +1 -0
  209. package/lib/packages/components/select-group/src/select-group.js +6 -0
  210. package/lib/packages/components/select-group/src/select-group.js.map +1 -1
  211. package/lib/packages/components/select-group/src/select-group.vue2.js +5 -6
  212. package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
  213. package/package.json +5 -1
  214. package/theme-chalk/css/avatar.css +1 -1
  215. package/theme-chalk/css/icon-picker.css +1 -1
  216. package/theme-chalk/css/index.css +1 -1
  217. package/theme-chalk/css/markdown-editor.css +1 -1
  218. package/theme-chalk/css/rich-text-editor.css +5 -0
  219. package/theme-chalk/css/table.css +1 -1
  220. package/theme-chalk/fonts/iconfont.js +1 -1
  221. package/theme-chalk/fonts/iconfont.json +16 -2
  222. package/types/packages/components/advanced-filtering/index.d.ts +302 -302
  223. package/types/packages/components/advanced-filtering/src/advanced-filtering.d.ts +1 -1
  224. package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +153 -153
  225. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +145 -145
  226. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +4 -4
  227. package/types/packages/components/api-component/index.d.ts +32 -32
  228. package/types/packages/components/api-component/src/api-component.vue.d.ts +32 -32
  229. package/types/packages/components/api-component/src/components/api-modal.vue.d.ts +6 -6
  230. package/types/packages/components/api-component/src/components/body-component.vue.d.ts +14 -14
  231. package/types/packages/components/api-component/src/components/click-input.vue.d.ts +10 -10
  232. package/types/packages/components/api-component/src/components/params-table-row.vue.d.ts +12 -12
  233. package/types/packages/components/api-component/src/components/params-table.vue.d.ts +14 -14
  234. package/types/packages/components/api-component/src/config/api-modal.d.ts +1 -1
  235. package/types/packages/components/api-component/src/config/click-input.d.ts +1 -1
  236. package/types/packages/components/avatar/index.d.ts +102 -122
  237. package/types/packages/components/avatar/src/avatar.d.ts +57 -23
  238. package/types/packages/components/avatar/src/avatar.vue.d.ts +102 -122
  239. package/types/packages/components/checkbox/index.d.ts +217 -217
  240. package/types/packages/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  241. package/types/packages/components/checkbox/src/checkbox.d.ts +56 -56
  242. package/types/packages/components/code-editor/index.d.ts +2 -2
  243. package/types/packages/components/code-editor/src/code-editor.vue.d.ts +2 -2
  244. package/types/packages/components/drawer/index.d.ts +11 -11
  245. package/types/packages/components/drawer/src/components/second-confirmation/index.d.ts +9 -9
  246. package/types/packages/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +9 -9
  247. package/types/packages/components/drawer/src/drawer.vue.d.ts +11 -11
  248. package/types/packages/components/easy-cron/index.d.ts +82 -82
  249. package/types/packages/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +77 -77
  250. package/types/packages/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +77 -77
  251. package/types/packages/components/easy-cron/src/easy-cron.vue.d.ts +82 -82
  252. package/types/packages/components/form/index.d.ts +142 -142
  253. package/types/packages/components/form/src/config/form.d.ts +56 -56
  254. package/types/packages/components/form/src/form.vue.d.ts +142 -142
  255. package/types/packages/components/icon-picker/index.d.ts +7 -3
  256. package/types/packages/components/icon-picker/src/icon-picker.vue.d.ts +7 -3
  257. package/types/packages/components/index.d.ts +1 -0
  258. package/types/packages/components/input/index.d.ts +31 -31
  259. package/types/packages/components/input/src/input.vue.d.ts +31 -31
  260. package/types/packages/components/key-value/index.d.ts +684 -684
  261. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +228 -228
  262. package/types/packages/components/key-value/src/key-value.vue.d.ts +684 -684
  263. package/types/packages/components/modal/index.d.ts +4 -4
  264. package/types/packages/components/modal/src/modal.vue.d.ts +4 -4
  265. package/types/packages/components/rich-text-editor/index.d.ts +238 -0
  266. package/types/packages/components/rich-text-editor/src/rich-text-editor.d.ts +66 -0
  267. package/types/packages/components/rich-text-editor/src/rich-text-editor.vue.d.ts +234 -0
  268. package/types/packages/components/select/index.d.ts +11 -11
  269. package/types/packages/components/select/src/select.vue.d.ts +11 -11
  270. package/types/packages/components/select-group/index.d.ts +3 -2
  271. package/types/packages/components/select-group/src/select-group.d.ts +6 -0
  272. package/types/packages/components/select-group/src/select-group.vue.d.ts +3 -2
  273. package/types/packages/components/table/index.d.ts +11 -11
  274. package/types/packages/components/table/src/components/main-table.vue.d.ts +3 -3
  275. package/types/packages/components/table/src/config/table.d.ts +4 -4
  276. package/types/packages/components/table/src/table.vue.d.ts +11 -11
  277. package/types/packages/components/textarea/index.d.ts +5 -5
  278. package/types/packages/components/textarea/src/textarea.vue.d.ts +5 -5
  279. package/types/packages/components/tooltip/index.d.ts +4 -4
  280. package/types/packages/components/tooltip/src/tooltip.d.ts +1 -1
  281. package/types/packages/components/tooltip/src/tooltip.vue.d.ts +4 -4
  282. package/types/packages/components/tree-search/index.d.ts +15 -15
  283. package/types/packages/components/tree-search/src/config/tree-search.d.ts +4 -4
  284. package/types/packages/components/tree-search/src/tree-search.vue.d.ts +15 -15
  285. package/types/packages/components/upload-drag/index.d.ts +4 -4
  286. package/types/packages/components/upload-drag/src/upload-drag.vue.d.ts +4 -4
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ require('../../../utils/index.js');
4
+ var runtime = require('../../../utils/props/runtime.js');
5
+ var file = require('../../../utils/file.js');
6
+
7
+ "use strict";
8
+ const defaultToolbarConfig = {};
9
+ const defaultEditorConfig = {
10
+ placeholder: "\u8BF7\u8F93\u5165\u5185\u5BB9..."
11
+ };
12
+ const FALLBACK_IMAGE = "data:image/png;base64,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";
13
+ const richTextEditorProps = runtime.buildProps({
14
+ value: {
15
+ type: String,
16
+ default: ""
17
+ },
18
+ mode: {
19
+ type: runtime.definePropType(String),
20
+ default: "default"
21
+ },
22
+ toolbarConfig: {
23
+ type: Object,
24
+ default: () => defaultToolbarConfig
25
+ },
26
+ editorConfig: {
27
+ type: Object,
28
+ default: () => defaultEditorConfig
29
+ },
30
+ onBeforeUploadImage: {
31
+ type: runtime.definePropType(Function),
32
+ default: async () => {
33
+ return true;
34
+ }
35
+ },
36
+ customUploadImage: {
37
+ type: runtime.definePropType(Function),
38
+ default: async (file$1) => {
39
+ return await file.fileToBase64(file$1);
40
+ }
41
+ },
42
+ customUploadVideo: {
43
+ type: runtime.definePropType(Function),
44
+ default: null
45
+ },
46
+ uploadImageError: {
47
+ type: String,
48
+ default: "\u4E0A\u4F20\u5931\u8D25\uFF01"
49
+ },
50
+ loading: {
51
+ type: Boolean,
52
+ default: false
53
+ },
54
+ disabled: {
55
+ type: Boolean,
56
+ default: false
57
+ }
58
+ });
59
+ const richTextEditorEmits = {
60
+ "update:value": (val) => !!val,
61
+ created: (editor) => !!editor,
62
+ change: (editor) => !!editor,
63
+ destroyed: (editor) => !!editor,
64
+ focus: (editor) => !!editor,
65
+ blur: (editor) => !!editor,
66
+ alert: ([info, type]) => !![info, type],
67
+ paste: ([editor, callback]) => !![editor, callback]
68
+ };
69
+
70
+ exports.FALLBACK_IMAGE = FALLBACK_IMAGE;
71
+ exports.defaultEditorConfig = defaultEditorConfig;
72
+ exports.defaultToolbarConfig = defaultToolbarConfig;
73
+ exports.richTextEditorEmits = richTextEditorEmits;
74
+ exports.richTextEditorProps = richTextEditorProps;
75
+ //# sourceMappingURL=rich-text-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text-editor.js","sources":["../../../../../../packages/components/rich-text-editor/src/rich-text-editor.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nimport { buildProps, definePropType, fileToBase64 } from '@ll-plus/utils'\nimport type {\n IToolbarConfig,\n IEditorConfig,\n IDomEditor,\n SlateElement\n} from '@wangeditor/editor'\nimport type RichTextEditor from './rich-text-editor.vue'\n\nexport const defaultToolbarConfig: IToolbarConfig = {} as IToolbarConfig\n\nexport const defaultEditorConfig: IEditorConfig = {\n placeholder: '请输入内容...'\n} as IEditorConfig\n\nexport const FALLBACK_IMAGE =\n 'data:image/png;base64,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'\n\n//图片类型定义\nexport type ImageElement = SlateElement & {\n src: string\n alt: string\n url: string\n href: string\n}\nexport type InsertPicType = (url: string) => void\n\nexport type InsertVidType = (url: string, poster: string) => void\n\nexport type RichTextEditorMode = 'default' | 'simple'\n\nexport type RichTextEditorModeCustomUploadImage = (\n file: File\n) => Promise<string>\n\nexport type RichTextEditorModeCustomUploadVideo = (\n file: File\n) => Promise<string>\n\nexport const richTextEditorProps = buildProps({\n value: {\n type: String,\n default: ''\n },\n mode: {\n type: definePropType<RichTextEditorMode>(String),\n default: 'default'\n },\n toolbarConfig: {\n type: Object,\n default: () => defaultToolbarConfig\n },\n editorConfig: {\n type: Object,\n default: () => defaultEditorConfig\n },\n onBeforeUploadImage: {\n type: definePropType<(file: File) => boolean>(Function),\n default: async () => {\n return true\n }\n },\n customUploadImage: {\n type: definePropType<RichTextEditorModeCustomUploadImage>(Function),\n default: async (file: File) => {\n return await fileToBase64(file)\n }\n },\n customUploadVideo: {\n type: definePropType<RichTextEditorModeCustomUploadVideo>(Function),\n default: null\n },\n uploadImageError: {\n type: String,\n default: '上传失败!'\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const richTextEditorEmits = {\n 'update:value': (val: string) => !!val,\n created: (editor: IDomEditor) => !!editor,\n change: (editor: IDomEditor) => !!editor,\n destroyed: (editor: IDomEditor) => !!editor,\n focus: (editor: IDomEditor) => !!editor,\n blur: (editor: IDomEditor) => !!editor,\n alert: ([info, type]) => !![info, type],\n paste: ([editor, callback]: [IDomEditor, (bool: boolean) => void]) =>\n !![editor, callback]\n}\n//props\nexport type RichTextEditorProps = ExtractPropTypes<typeof richTextEditorProps>\n\n//emits\nexport type RichTextEditorEmits = typeof richTextEditorEmits\n\n// instance\nexport type RichTextEditorInstance = InstanceType<typeof RichTextEditor>\n"],"names":["buildProps","definePropType","file","fileToBase64"],"mappings":";;;;;;;AAWO,MAAM,uBAAuC,GAAC;AAE9C,MAAM,mBAAqC,GAAA;AAAA,EAChD,WAAa,EAAA,mCAAA;AACf,EAAA;AAEO,MAAM,cACX,GAAA,iqGAAA;AAuBK,MAAM,sBAAsBA,kBAAW,CAAA;AAAA,EAC5C,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAMC,uBAAmC,MAAM,CAAA;AAAA,IAC/C,OAAS,EAAA,SAAA;AAAA,GACX;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,oBAAA;AAAA,GACjB;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,MAAM,mBAAA;AAAA,GACjB;AAAA,EACA,mBAAqB,EAAA;AAAA,IACnB,IAAA,EAAMA,uBAAwC,QAAQ,CAAA;AAAA,IACtD,SAAS,YAAY;AACnB,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAAA,GACF;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,IAAA,EAAMA,uBAAoD,QAAQ,CAAA;AAAA,IAClE,OAAA,EAAS,OAAOC,MAAe,KAAA;AAC7B,MAAO,OAAA,MAAMC,kBAAaD,MAAI,CAAA,CAAA;AAAA,KAChC;AAAA,GACF;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,IAAA,EAAMD,uBAAoD,QAAQ,CAAA;AAAA,IAClE,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,gCAAA;AAAA,GACX;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;AACF,CAAU,EAAA;AAEH,MAAM,mBAAsB,GAAA;AAAA,EACjC,cAAgB,EAAA,CAAC,GAAgB,KAAA,CAAC,CAAC,GAAA;AAAA,EACnC,OAAS,EAAA,CAAC,MAAuB,KAAA,CAAC,CAAC,MAAA;AAAA,EACnC,MAAQ,EAAA,CAAC,MAAuB,KAAA,CAAC,CAAC,MAAA;AAAA,EAClC,SAAW,EAAA,CAAC,MAAuB,KAAA,CAAC,CAAC,MAAA;AAAA,EACrC,KAAO,EAAA,CAAC,MAAuB,KAAA,CAAC,CAAC,MAAA;AAAA,EACjC,IAAM,EAAA,CAAC,MAAuB,KAAA,CAAC,CAAC,MAAA;AAAA,EAChC,KAAA,EAAO,CAAC,CAAC,IAAM,EAAA,IAAI,MAAM,CAAC,CAAC,CAAC,IAAA,EAAM,IAAI,CAAA;AAAA,EACtC,KAAA,EAAO,CAAC,CAAC,MAAQ,EAAA,QAAQ,MACvB,CAAC,CAAC,CAAC,MAAA,EAAQ,QAAQ,CAAA;AACvB;;;;;;;;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var richTextEditor_vue_vue_type_script_setup_true_lang = require('./rich-text-editor.vue2.js');
6
+ var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
7
+
8
+ "use strict";
9
+ var RichTextEditor = /* @__PURE__ */ _pluginVue_exportHelper.default(richTextEditor_vue_vue_type_script_setup_true_lang.default, [["__file", "rich-text-editor.vue"]]);
10
+
11
+ exports.default = RichTextEditor;
12
+ //# sourceMappingURL=rich-text-editor.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text-editor.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,190 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var editorForVue = require('@wangeditor/editor-for-vue');
7
+ require('../../../utils/index.js');
8
+ var richTextEditor = require('./rich-text-editor.js');
9
+ require('@wangeditor/editor/dist/css/style.css');
10
+ var createNamespace = require('../../../utils/create-namespace.js');
11
+
12
+ "use strict";
13
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
14
+ ...{ name: "LlRichTextEditor" },
15
+ __name: "rich-text-editor",
16
+ props: richTextEditor.richTextEditorProps,
17
+ emits: richTextEditor.richTextEditorEmits,
18
+ setup(__props, { expose: __expose, emit: __emit }) {
19
+ const bem = createNamespace.createNamespace("rich-text-editor");
20
+ const props = __props;
21
+ const emits = __emit;
22
+ const editorRef = vue.shallowRef();
23
+ const innerValue = vue.ref(props.value);
24
+ const loading = vue.ref(props.loading);
25
+ const allImages = vue.ref([]);
26
+ const editorConfig = vue.computed(() => {
27
+ return {
28
+ MENU_CONF: {
29
+ uploadImage: {
30
+ async onBeforeUpload(file) {
31
+ if (props.onBeforeUploadImage) {
32
+ const res = await props.onBeforeUploadImage(file);
33
+ return res ? file : false;
34
+ }
35
+ return file;
36
+ },
37
+ async customUpload(file, insertFn) {
38
+ loading.value = true;
39
+ try {
40
+ const res = await props.customUploadImage(file);
41
+ insertFn(res);
42
+ loading.value = false;
43
+ } catch (error) {
44
+ editorRef.value.alert("\u9519\u8BEF\u4FE1\u606F", props.uploadImageError);
45
+ loading.value = false;
46
+ }
47
+ },
48
+ base64LimitSize: 5 * 1024
49
+ },
50
+ insertImage: {
51
+ async onInsertedImage(imageNode) {
52
+ allImages.value.push(imageNode);
53
+ }
54
+ },
55
+ uploadVideo: {
56
+ async customUpload(file, insertFn) {
57
+ if (props.customUploadVideo) {
58
+ loading.value = true;
59
+ try {
60
+ const res = await props.customUploadVideo(file);
61
+ insertFn(res, richTextEditor.FALLBACK_IMAGE);
62
+ loading.value = false;
63
+ } catch (error) {
64
+ editorRef.value.alert("\u9519\u8BEF\u4FE1\u606F", props.uploadImageError);
65
+ loading.value = false;
66
+ }
67
+ }
68
+ }
69
+ }
70
+ },
71
+ ...props.editorConfig
72
+ };
73
+ });
74
+ const handleCreated = (editor) => {
75
+ editorRef.value = editor;
76
+ allImages.value = editor.getElemsByType("image");
77
+ emits("created", editor);
78
+ };
79
+ const handleChange = (editor) => {
80
+ innerValue.value = editor.getHtml();
81
+ emits("change", editor);
82
+ emits("update:value", innerValue.value);
83
+ };
84
+ const handleDestroyed = (editor) => {
85
+ emits("destroyed", editor);
86
+ };
87
+ const handleFocus = (editor) => {
88
+ emits("focus", editor);
89
+ };
90
+ const handleBlur = (editor) => {
91
+ emits("blur", editor);
92
+ };
93
+ const customAlert = (info, type) => {
94
+ emits("alert", [info, type]);
95
+ };
96
+ const getEditorImage = () => {
97
+ const editor = editorRef.value;
98
+ if (editor == null)
99
+ return;
100
+ return {
101
+ allImages: allImages.value,
102
+ currentImages: editor.getElemsByType("image")
103
+ };
104
+ };
105
+ vue.onBeforeUnmount(() => {
106
+ const editor = editorRef.value;
107
+ if (editor == null)
108
+ return;
109
+ editor.destroy();
110
+ });
111
+ vue.watch(
112
+ () => props.loading,
113
+ (val) => {
114
+ loading.value = val;
115
+ }
116
+ );
117
+ vue.watch(
118
+ () => [props.disabled, loading.value],
119
+ async (val) => {
120
+ const editor = editorRef.value;
121
+ if (editor == null)
122
+ return;
123
+ await vue.nextTick();
124
+ if (val[0] || val[1]) {
125
+ editor.disable();
126
+ } else {
127
+ editor.enable();
128
+ }
129
+ },
130
+ {
131
+ deep: true
132
+ }
133
+ );
134
+ __expose({
135
+ editorRef: editorRef.value,
136
+ getEditorImage
137
+ });
138
+ return (_ctx, _cache) => {
139
+ const _component_a_spin = vue.resolveComponent("a-spin");
140
+ return vue.openBlock(), vue.createElementBlock(
141
+ "div",
142
+ {
143
+ class: vue.normalizeClass(vue.unref(bem).b())
144
+ },
145
+ [
146
+ vue.createVNode(_component_a_spin, { spinning: loading.value }, {
147
+ default: vue.withCtx(() => [
148
+ vue.createElementVNode(
149
+ "div",
150
+ {
151
+ class: vue.normalizeClass(vue.unref(bem).e("container"))
152
+ },
153
+ [
154
+ vue.createVNode(vue.unref(editorForVue.Toolbar), {
155
+ class: vue.normalizeClass(vue.unref(bem).e("toolbar-container")),
156
+ editor: editorRef.value,
157
+ "default-config": props.toolbarConfig,
158
+ mode: props.mode
159
+ }, null, 8, ["class", "editor", "default-config", "mode"]),
160
+ vue.createVNode(vue.unref(editorForVue.Editor), {
161
+ modelValue: innerValue.value,
162
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => innerValue.value = $event),
163
+ class: vue.normalizeClass(vue.unref(bem).e("editor-container")),
164
+ "default-config": editorConfig.value,
165
+ mode: props.mode,
166
+ onOnCreated: handleCreated,
167
+ onOnChange: handleChange,
168
+ onOnDestroyed: handleDestroyed,
169
+ onOnFocus: handleFocus,
170
+ onOnBlur: handleBlur,
171
+ onCustomAlert: customAlert
172
+ }, null, 8, ["modelValue", "class", "default-config", "mode"])
173
+ ],
174
+ 2
175
+ /* CLASS */
176
+ )
177
+ ]),
178
+ _: 1
179
+ /* STABLE */
180
+ }, 8, ["spinning"])
181
+ ],
182
+ 2
183
+ /* CLASS */
184
+ );
185
+ };
186
+ }
187
+ });
188
+
189
+ exports.default = _sfc_main;
190
+ //# sourceMappingURL=rich-text-editor.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text-editor.vue2.js","sources":["../../../../../../packages/components/rich-text-editor/src/rich-text-editor.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"loading\">\n <div :class=\"bem.e('container')\">\n <Toolbar\n :class=\"bem.e('toolbar-container')\"\n :editor=\"editorRef\"\n :default-config=\"props.toolbarConfig\"\n :mode=\"props.mode\"\n />\n <Editor\n v-model=\"innerValue\"\n :class=\"bem.e('editor-container')\"\n :default-config=\"editorConfig\"\n :mode=\"props.mode\"\n @on-created=\"handleCreated\"\n @on-change=\"handleChange\"\n @on-destroyed=\"handleDestroyed\"\n @on-focus=\"handleFocus\"\n @on-blur=\"handleBlur\"\n @custom-alert=\"customAlert\"\n />\n </div>\n </a-spin>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n onBeforeUnmount,\n ref,\n shallowRef,\n computed,\n watch,\n nextTick\n} from 'vue'\nimport { Editor, Toolbar } from '@wangeditor/editor-for-vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n richTextEditorProps,\n richTextEditorEmits,\n FALLBACK_IMAGE,\n type InsertPicType,\n type InsertVidType,\n type ImageElement\n} from './rich-text-editor'\n\nimport '@wangeditor/editor/dist/css/style.css' // 引入 css\n\nimport type { IDomEditor } from '@wangeditor/editor'\n\n//@ts-ignore\ndefineOptions({ name: 'LlRichTextEditor' })\n\nconst bem = createNamespace('rich-text-editor')\n\nconst props = defineProps(richTextEditorProps)\n\nconst emits = defineEmits(richTextEditorEmits)\n\nconst editorRef = shallowRef()\n\nconst innerValue = ref(props.value)\n\nconst loading = ref<boolean>(props.loading)\n\nconst allImages = ref<any>([])\n\nconst editorConfig = computed(() => {\n return {\n MENU_CONF: {\n uploadImage: {\n async onBeforeUpload(file: File) {\n if (props.onBeforeUploadImage) {\n const res = await props.onBeforeUploadImage(file)\n return res ? file : false\n }\n return file\n },\n\n async customUpload(file: File, insertFn: InsertPicType) {\n loading.value = true\n //图片上传接口调用\n try {\n const res = await props.customUploadImage(file)\n insertFn(res)\n loading.value = false\n } catch (error) {\n editorRef.value.alert('错误信息', props.uploadImageError)\n loading.value = false\n }\n },\n base64LimitSize: 5 * 1024\n },\n insertImage: {\n async onInsertedImage(imageNode: ImageElement | null) {\n allImages.value.push(imageNode)\n }\n },\n uploadVideo: {\n async customUpload(file: File, insertFn: InsertVidType) {\n if (props.customUploadVideo) {\n loading.value = true\n //图片上传接口调用\n try {\n const res = await props.customUploadVideo(file)\n insertFn(res, FALLBACK_IMAGE)\n loading.value = false\n } catch (error) {\n editorRef.value.alert('错误信息', props.uploadImageError)\n loading.value = false\n }\n }\n }\n }\n },\n ...props.editorConfig\n }\n})\n\nconst handleCreated = (editor: IDomEditor) => {\n editorRef.value = editor\n allImages.value = editor.getElemsByType('image')\n emits('created', editor)\n}\n\nconst handleChange = (editor: IDomEditor) => {\n innerValue.value = editor.getHtml()\n emits('change', editor)\n emits('update:value', innerValue.value)\n}\nconst handleDestroyed = (editor: IDomEditor) => {\n emits('destroyed', editor)\n}\nconst handleFocus = (editor: IDomEditor) => {\n emits('focus', editor)\n}\nconst handleBlur = (editor: IDomEditor) => {\n emits('blur', editor)\n}\nconst customAlert = (info, type) => {\n emits('alert', [info, type])\n}\n\nconst getEditorImage = () => {\n const editor = editorRef.value\n if (editor == null) return\n return {\n allImages: allImages.value,\n currentImages: editor.getElemsByType('image')\n }\n}\n\n// 组件销毁时,也及时销毁编辑器\nonBeforeUnmount(() => {\n const editor = editorRef.value\n if (editor == null) return\n editor.destroy()\n})\n\nwatch(\n () => props.loading,\n (val: boolean) => {\n loading.value = val\n }\n)\n\nwatch(\n () => [props.disabled, loading.value],\n async (val: boolean[]) => {\n const editor = editorRef.value\n if (editor == null) return\n await nextTick()\n if (val[0] || val[1]) {\n editor.disable()\n } else {\n editor.enable()\n }\n },\n {\n deep: true\n }\n)\n\ndefineExpose({\n editorRef: editorRef.value,\n getEditorImage\n})\n</script>\n"],"names":["createNamespace","shallowRef","ref","computed","FALLBACK_IMAGE","onBeforeUnmount","watch","nextTick"],"mappings":";;;;;;;;;;;;;;;;;;AAsDA,IAAM,MAAA,GAAA,GAAMA,gCAAgB,kBAAkB,CAAA,CAAA;AAE9C,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAA,MAAM,YAAYC,cAAW,EAAA,CAAA;AAE7B,IAAM,MAAA,UAAA,GAAaC,OAAI,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAElC,IAAM,MAAA,OAAA,GAAUA,OAAa,CAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAE1C,IAAM,MAAA,SAAA,GAAYA,OAAS,CAAA,EAAE,CAAA,CAAA;AAE7B,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAM;AAClC,MAAO,OAAA;AAAA,QACL,SAAW,EAAA;AAAA,UACT,WAAa,EAAA;AAAA,YACX,MAAM,eAAe,IAAY,EAAA;AAC/B,cAAA,IAAI,MAAM,mBAAqB,EAAA;AAC7B,gBAAA,MAAM,GAAM,GAAA,MAAM,KAAM,CAAA,mBAAA,CAAoB,IAAI,CAAA,CAAA;AAChD,gBAAA,OAAO,MAAM,IAAO,GAAA,KAAA,CAAA;AAAA,eACtB;AACA,cAAO,OAAA,IAAA,CAAA;AAAA,aACT;AAAA,YAEA,MAAM,YAAa,CAAA,IAAA,EAAY,QAAyB,EAAA;AACtD,cAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAEhB,cAAI,IAAA;AACF,gBAAA,MAAM,GAAM,GAAA,MAAM,KAAM,CAAA,iBAAA,CAAkB,IAAI,CAAA,CAAA;AAC9C,gBAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AACZ,gBAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,uBACT,KAAO,EAAA;AACd,gBAAA,SAAA,CAAU,KAAM,CAAA,KAAA,CAAM,0BAAQ,EAAA,KAAA,CAAM,gBAAgB,CAAA,CAAA;AACpD,gBAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,eAClB;AAAA,aACF;AAAA,YACA,iBAAiB,CAAI,GAAA,IAAA;AAAA,WACvB;AAAA,UACA,WAAa,EAAA;AAAA,YACX,MAAM,gBAAgB,SAAgC,EAAA;AACpD,cAAU,SAAA,CAAA,KAAA,CAAM,KAAK,SAAS,CAAA,CAAA;AAAA,aAChC;AAAA,WACF;AAAA,UACA,WAAa,EAAA;AAAA,YACX,MAAM,YAAa,CAAA,IAAA,EAAY,QAAyB,EAAA;AACtD,cAAA,IAAI,MAAM,iBAAmB,EAAA;AAC3B,gBAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAEhB,gBAAI,IAAA;AACF,kBAAA,MAAM,GAAM,GAAA,MAAM,KAAM,CAAA,iBAAA,CAAkB,IAAI,CAAA,CAAA;AAC9C,kBAAA,QAAA,CAAS,KAAKC,6BAAc,CAAA,CAAA;AAC5B,kBAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,yBACT,KAAO,EAAA;AACd,kBAAA,SAAA,CAAU,KAAM,CAAA,KAAA,CAAM,0BAAQ,EAAA,KAAA,CAAM,gBAAgB,CAAA,CAAA;AACpD,kBAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,iBAClB;AAAA,eACF;AAAA,aACF;AAAA,WACF;AAAA,SACF;AAAA,QACA,GAAG,KAAM,CAAA,YAAA;AAAA,OACX,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,aAAA,GAAgB,CAAC,MAAuB,KAAA;AAC5C,MAAA,SAAA,CAAU,KAAQ,GAAA,MAAA,CAAA;AAClB,MAAU,SAAA,CAAA,KAAA,GAAQ,MAAO,CAAA,cAAA,CAAe,OAAO,CAAA,CAAA;AAC/C,MAAA,KAAA,CAAM,WAAW,MAAM,CAAA,CAAA;AAAA,KACzB,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,MAAuB,KAAA;AAC3C,MAAW,UAAA,CAAA,KAAA,GAAQ,OAAO,OAAQ,EAAA,CAAA;AAClC,MAAA,KAAA,CAAM,UAAU,MAAM,CAAA,CAAA;AACtB,MAAM,KAAA,CAAA,cAAA,EAAgB,WAAW,KAAK,CAAA,CAAA;AAAA,KACxC,CAAA;AACA,IAAM,MAAA,eAAA,GAAkB,CAAC,MAAuB,KAAA;AAC9C,MAAA,KAAA,CAAM,aAAa,MAAM,CAAA,CAAA;AAAA,KAC3B,CAAA;AACA,IAAM,MAAA,WAAA,GAAc,CAAC,MAAuB,KAAA;AAC1C,MAAA,KAAA,CAAM,SAAS,MAAM,CAAA,CAAA;AAAA,KACvB,CAAA;AACA,IAAM,MAAA,UAAA,GAAa,CAAC,MAAuB,KAAA;AACzC,MAAA,KAAA,CAAM,QAAQ,MAAM,CAAA,CAAA;AAAA,KACtB,CAAA;AACA,IAAM,MAAA,WAAA,GAAc,CAAC,IAAA,EAAM,IAAS,KAAA;AAClC,MAAA,KAAA,CAAM,OAAS,EAAA,CAAC,IAAM,EAAA,IAAI,CAAC,CAAA,CAAA;AAAA,KAC7B,CAAA;AAEA,IAAA,MAAM,iBAAiB,MAAM;AAC3B,MAAA,MAAM,SAAS,SAAU,CAAA,KAAA,CAAA;AACzB,MAAA,IAAI,MAAU,IAAA,IAAA;AAAM,QAAA,OAAA;AACpB,MAAO,OAAA;AAAA,QACL,WAAW,SAAU,CAAA,KAAA;AAAA,QACrB,aAAA,EAAe,MAAO,CAAA,cAAA,CAAe,OAAO,CAAA;AAAA,OAC9C,CAAA;AAAA,KACF,CAAA;AAGA,IAAAC,mBAAA,CAAgB,MAAM;AACpB,MAAA,MAAM,SAAS,SAAU,CAAA,KAAA,CAAA;AACzB,MAAA,IAAI,MAAU,IAAA,IAAA;AAAM,QAAA,OAAA;AACpB,MAAA,MAAA,CAAO,OAAQ,EAAA,CAAA;AAAA,KAChB,CAAA,CAAA;AAED,IAAAC,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,OAAA;AAAA,MACZ,CAAC,GAAiB,KAAA;AAChB,QAAA,OAAA,CAAQ,KAAQ,GAAA,GAAA,CAAA;AAAA,OAClB;AAAA,KACF,CAAA;AAEA,IAAAA,SAAA;AAAA,MACE,MAAM,CAAC,KAAM,CAAA,QAAA,EAAU,QAAQ,KAAK,CAAA;AAAA,MACpC,OAAO,GAAmB,KAAA;AACxB,QAAA,MAAM,SAAS,SAAU,CAAA,KAAA,CAAA;AACzB,QAAA,IAAI,MAAU,IAAA,IAAA;AAAM,UAAA,OAAA;AACpB,QAAA,MAAMC,YAAS,EAAA,CAAA;AACf,QAAA,IAAI,GAAI,CAAA,CAAC,CAAK,IAAA,GAAA,CAAI,CAAC,CAAG,EAAA;AACpB,UAAA,MAAA,CAAO,OAAQ,EAAA,CAAA;AAAA,SACV,MAAA;AACL,UAAA,MAAA,CAAO,MAAO,EAAA,CAAA;AAAA,SAChB;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,WAAW,SAAU,CAAA,KAAA;AAAA,MACrB,cAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -56,6 +56,12 @@ const selectGroupData = runtime.buildProps({
56
56
  */
57
57
  list: {
58
58
  type: runtime.definePropType(Array)
59
+ },
60
+ /**
61
+ * @description 是否在下拉框select最前面添加全部
62
+ */
63
+ noFirstAddAll: {
64
+ type: Boolean
59
65
  }
60
66
  });
61
67
  const selectGroupProps = runtime.buildProps({
@@ -1 +1 @@
1
- {"version":3,"file":"select-group.js","sources":["../../../../../../packages/components/select-group/src/select-group.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nimport { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type SelectGroup from './select-group.vue'\n\nexport interface ISelectGroupItem {\n name?: string\n value?: any\n [key: string]: any\n}\n\nexport const selectGroupFormType = [\n 'input',\n 'select',\n 'range-picker',\n 'treeSelect'\n] as const\n\nexport const selectGroupData = buildProps({\n // buildProps和defineprops一样\n /**\n * @description 表单提示占位符\n */\n placeholder: {\n type: String\n },\n /**\n * @description 表单的字段 name\n */\n name: {\n type: String,\n required: true\n },\n /**\n * @description 右边表单的 value\n */\n value: {\n type: String,\n required: true\n },\n /**\n * @description SVG 图标的大小,size x size\n */\n showFormType: {\n type: String,\n values: selectGroupFormType\n },\n /**\n * @description 格式化属性例如tree/select\n */\n fieldNames: {\n type: definePropType<object>(Object)\n },\n /**\n * @description select的options\n */\n options: {\n type: definePropType<any[]>(Array)\n },\n /**\n * @description 左侧选择的options\n */\n list: {\n type: definePropType<ISelectGroupItem[]>(Array)\n }\n} as const)\nexport const selectGroupProps = buildProps({\n /**\n * @description 选中select中的某一项(和value对应)\n */\n selectValue: {\n type: String\n },\n /**\n * @description 右边表单的 value\n */\n value: {\n type: [Array, String, Number, Boolean, Object],\n default: undefined\n },\n /**\n * @description select的options\n */\n data: {\n type: definePropType<SelectGroupData[]>(Array),\n default: () => []\n }\n} as const)\n\nexport const selectGroupEmits = {\n change: (selectV: string, value?: string) => !!selectV || !!value,\n onSelectChange: (selectV: string, item: SelectGroupData) =>\n !!selectV && !!item // 左侧selectchange\n}\n\nexport const LEFT_SELECT_MIN_WIDTH = 84 // 左侧select的宽度\n\n// props\nexport type SelectGroupProps = ExtractPropTypes<typeof selectGroupProps>\nexport type SelectGroupData = ExtractPropTypes<typeof selectGroupData>\nexport type SelectGroupFormType = SelectGroupData['showFormType']\n\nexport type SelectGroupEmits = typeof selectGroupEmits\n\n// instance\nexport type SelectGroupInstance = InstanceType<typeof SelectGroup>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAYO,MAAM,mBAAsB,GAAA;AAAA,EACjC,OAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AACF,EAAA;AAEO,MAAM,kBAAkBA,kBAAW,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,mBAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAA,EAAMC,uBAAuB,MAAM,CAAA;AAAA,GACrC;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAA,EAAMA,uBAAsB,KAAK,CAAA;AAAA,GACnC;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAMA,uBAAmC,KAAK,CAAA;AAAA,GAChD;AACF,CAAU,EAAA;AACH,MAAM,mBAAmBD,kBAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIzC,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,MAAM,CAAC,KAAA,EAAO,MAAQ,EAAA,MAAA,EAAQ,SAAS,MAAM,CAAA;AAAA,IAC7C,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAMC,uBAAkC,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,MAAA,EAAQ,CAAC,OAAiB,EAAA,KAAA,KAAmB,CAAC,CAAC,OAAA,IAAW,CAAC,CAAC,KAAA;AAAA,EAC5D,cAAA,EAAgB,CAAC,OAAiB,EAAA,IAAA,KAChC,CAAC,CAAC,OAAA,IAAW,CAAC,CAAC,IAAA;AAAA;AACnB,EAAA;AAEO,MAAM,qBAAwB,GAAA;;;;;;;;"}
1
+ {"version":3,"file":"select-group.js","sources":["../../../../../../packages/components/select-group/src/select-group.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n\nimport { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type SelectGroup from './select-group.vue'\n\nexport interface ISelectGroupItem {\n name?: string\n value?: any\n [key: string]: any\n}\n\nexport const selectGroupFormType = [\n 'input',\n 'select',\n 'range-picker',\n 'treeSelect'\n] as const\n\nexport const selectGroupData = buildProps({\n // buildProps和defineprops一样\n /**\n * @description 表单提示占位符\n */\n placeholder: {\n type: String\n },\n /**\n * @description 表单的字段 name\n */\n name: {\n type: String,\n required: true\n },\n /**\n * @description 右边表单的 value\n */\n value: {\n type: String,\n required: true\n },\n /**\n * @description SVG 图标的大小,size x size\n */\n showFormType: {\n type: String,\n values: selectGroupFormType\n },\n /**\n * @description 格式化属性例如tree/select\n */\n fieldNames: {\n type: definePropType<object>(Object)\n },\n /**\n * @description select的options\n */\n options: {\n type: definePropType<any[]>(Array)\n },\n /**\n * @description 左侧选择的options\n */\n list: {\n type: definePropType<ISelectGroupItem[]>(Array)\n },\n /**\n * @description 是否在下拉框select最前面添加全部\n */\n noFirstAddAll: {\n type: Boolean\n }\n} as const)\nexport const selectGroupProps = buildProps({\n /**\n * @description 选中select中的某一项(和value对应)\n */\n selectValue: {\n type: String\n },\n /**\n * @description 右边表单的 value\n */\n value: {\n type: [Array, String, Number, Boolean, Object],\n default: undefined\n },\n /**\n * @description select的options\n */\n data: {\n type: definePropType<SelectGroupData[]>(Array),\n default: () => []\n }\n} as const)\n\nexport const selectGroupEmits = {\n change: (selectV: string, value?: string) => !!selectV || !!value,\n onSelectChange: (selectV: string, item: SelectGroupData) =>\n !!selectV && !!item // 左侧selectchange\n}\n\nexport const LEFT_SELECT_MIN_WIDTH = 84 // 左侧select的宽度\n\n// props\nexport type SelectGroupProps = ExtractPropTypes<typeof selectGroupProps>\nexport type SelectGroupData = ExtractPropTypes<typeof selectGroupData>\nexport type SelectGroupFormType = SelectGroupData['showFormType']\n\nexport type SelectGroupEmits = typeof selectGroupEmits\n\n// instance\nexport type SelectGroupInstance = InstanceType<typeof SelectGroup>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAYO,MAAM,mBAAsB,GAAA;AAAA,EACjC,OAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AACF,EAAA;AAEO,MAAM,kBAAkBA,kBAAW,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA;AAAA;AAAA;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,mBAAA;AAAA,GACV;AAAA;AAAA;AAAA;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAA,EAAMC,uBAAuB,MAAM,CAAA;AAAA,GACrC;AAAA;AAAA;AAAA;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAA,EAAMA,uBAAsB,KAAK,CAAA;AAAA,GACnC;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAMA,uBAAmC,KAAK,CAAA;AAAA,GAChD;AAAA;AAAA;AAAA;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,GACR;AACF,CAAU,EAAA;AACH,MAAM,mBAAmBD,kBAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIzC,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,MAAM,CAAC,KAAA,EAAO,MAAQ,EAAA,MAAA,EAAQ,SAAS,MAAM,CAAA;AAAA,IAC7C,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAMC,uBAAkC,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AACF,CAAU,EAAA;AAEH,MAAM,gBAAmB,GAAA;AAAA,EAC9B,MAAA,EAAQ,CAAC,OAAiB,EAAA,KAAA,KAAmB,CAAC,CAAC,OAAA,IAAW,CAAC,CAAC,KAAA;AAAA,EAC5D,cAAA,EAAgB,CAAC,OAAiB,EAAA,IAAA,KAChC,CAAC,CAAC,OAAA,IAAW,CAAC,CAAC,IAAA;AAAA;AACnB,EAAA;AAEO,MAAM,qBAAwB,GAAA;;;;;;;;"}
@@ -39,16 +39,15 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
39
39
  } else if (formType === "range-picker") {
40
40
  value.value = [void 0, void 0];
41
41
  } else if (formType === "select") {
42
- value.value = -1;
42
+ value.value = item.noFirstAddAll ? void 0 : -1;
43
43
  }
44
44
  selectItem.value = options.item;
45
- emits("onSelectChange", _, options);
46
45
  };
47
46
  const handleChange = () => {
48
47
  emits(
49
48
  "change",
50
49
  selectItem.value?.value,
51
- value.value === -1 ? void 0 : value.value
50
+ value.value === -1 ? null : value.value
52
51
  );
53
52
  };
54
53
  vue.watch(
@@ -58,7 +57,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
58
57
  const list = newData.map((item) => {
59
58
  const newItem = { ...item };
60
59
  if (newItem.showFormType === "select") {
61
- if (newItem.options?.length) {
60
+ if (newItem.options?.length && !newItem.noFirstAddAll) {
62
61
  newItem.options = [
63
62
  {
64
63
  label: "\u5168\u90E8",
@@ -66,7 +65,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
66
65
  },
67
66
  ...newItem.options
68
67
  ];
69
- } else if (newItem.list?.length) {
68
+ } else if (newItem.list?.length && !newItem.noFirstAddAll) {
70
69
  newItem.list = [
71
70
  {
72
71
  name: "\u5168\u90E8",
@@ -83,7 +82,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
83
82
  if (findItem) {
84
83
  firstItem = findItem;
85
84
  }
86
- if (firstItem.showFormType === "select") {
85
+ if (firstItem.showFormType === "select" && !firstItem.noFirstAddAll) {
87
86
  value.value = -1;
88
87
  }
89
88
  selectItem.value = firstItem;
@@ -1 +1 @@
1
- {"version":3,"file":"select-group.vue2.js","sources":["../../../../../../packages/components/select-group/src/select-group.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bemContainer.b()\">\n <a-input-group compact>\n <!-- 左侧select -->\n <a-select\n v-model:value=\"typeSelectValue\"\n class=\"select-group-left-select-container\"\n :style=\"{ minWidth: leftSelectWidth }\"\n @change=\"handleSelectChange\"\n >\n <a-select-option\n v-for=\"item in newList\"\n :key=\"item.name\"\n :value=\"item.value\"\n :item=\"item\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n <!-- 右侧组合表单 -->\n <!-- input输入框 -->\n <template\n v-if=\"\n !selectItem?.showFormType || selectItem?.showFormType === 'input'\n \"\n >\n <a-input\n v-model:value=\"value\"\n :class=\"bem.e('right-input')\"\n :placeholder=\"selectItem?.placeholder\"\n @press-enter=\"handleChange\"\n >\n <template #suffix>\n <ll-icon :icon-name=\"`icon-search`\" @click=\"handleChange\" />\n </template>\n </a-input>\n </template>\n <!-- select下拉框 -->\n <template v-else-if=\"selectItem?.showFormType === 'select'\">\n <a-select\n v-model:value=\"value\"\n :class=\"bem.e('right-select')\"\n popup-class-name=\"select-group-right-select\"\n :options=\"selectItem?.options\"\n :placeholder=\"selectItem?.placeholder\"\n :field-names=\"selectItem?.fieldNames\"\n @change=\"handleChange\"\n >\n <a-select-option\n v-for=\"item in selectItem.list\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n </template>\n <!-- 日期选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'range-picker'\">\n <a-range-picker\n v-model:value=\"value\"\n :class=\"bem.e('right-range-picker')\"\n @change=\"handleChange\"\n />\n </template>\n <!-- 树选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'treeSelect'\">\n <a-tree-select\n v-model:value=\"value\"\n :class=\"bem.e('right-tree-select')\"\n :field-names=\"selectItem.fieldNames\"\n :placeholder=\"selectItem?.placeholder\"\n :tree-data=\"selectItem.list\"\n @select=\"handleChange\"\n ></a-tree-select>\n </template>\n <template v-else>\n <slot name=\"extra\" v-bind=\"selectItem\" />\n </template>\n </a-input-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\n\nimport { selectGroupProps, selectGroupEmits } from './select-group'\nimport { createNamespace } from '@ll-plus/utils'\nimport { LEFT_SELECT_MIN_WIDTH } from './select-group'\n\nimport type { SelectGroupData } from './select-group'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlSelectGroup' })\n\n// 1.props/emits\nconst props = defineProps(selectGroupProps)\nconst emits = defineEmits(selectGroupEmits)\n\n// 3.ref/const\nconst typeSelectValue = ref('1') // selectinput组合select的值\nconst value = ref<any>('') // 左边的value\nconst selectItem = ref<SelectGroupData>() // 选中表单的类型\nconst newList = ref<SelectGroupData[]>([]) // 处理后的数据,比如select的类型前面加个全部\nconst bem = createNamespace('select-group')\nconst bemContainer = createNamespace('select-group-container')\nconst leftSelectWidth = computed(() => {\n const names = newList.value.map(item => item.name.length)\n const maxNameLength = Math.max(...names)\n if (maxNameLength <= 3) {\n return LEFT_SELECT_MIN_WIDTH + 'px'\n }\n const width = LEFT_SELECT_MIN_WIDTH + (maxNameLength - 3) * 14\n return width + 'px'\n})\n\n// 4.methods\n// 第一个select的change\nconst handleSelectChange = (_: string, options: any) => {\n const item = options.item\n const formType = item.showFormType\n // 如果\n if (!formType || formType === 'input' || formType === 'treeSelect') {\n value.value = ''\n } else if (formType === 'range-picker') {\n value.value = [undefined, undefined]\n } else if (formType === 'select') {\n value.value = -1\n }\n selectItem.value = options.item\n emits('onSelectChange', _, options)\n}\n// 整合处理change\nconst handleChange = () => {\n // 过滤-1的下拉全部\n emits(\n 'change',\n selectItem.value?.value as string,\n value.value === -1 ? undefined : value.value\n )\n}\n\n// 5.watch\n// 已第一个为标准\nwatch(\n () => [props.selectValue, props.data] as [string, SelectGroupData[]],\n ([selectValue, newData]) => {\n if (newData && newData.length) {\n const list = newData.map(item => {\n const newItem = { ...item }\n if (newItem.showFormType === 'select') {\n if (newItem.options?.length) {\n newItem.options = [\n {\n label: '全部',\n value: -1\n },\n ...newItem.options!\n ]\n } else if (newItem.list?.length) {\n newItem.list = [\n {\n name: '全部',\n value: -1\n },\n ...newItem.list!\n ]\n }\n }\n return newItem\n })\n let firstItem = list[0]\n const findItem = list.find(item => item.value === selectValue)\n if (findItem) {\n firstItem = findItem\n }\n // 如果默认第一个是下拉框,选中全部\n if (firstItem.showFormType === 'select') {\n value.value = -1\n }\n selectItem.value = firstItem!\n typeSelectValue.value = selectValue ? selectValue : firstItem.value\n newList.value = list\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nwatch(\n () => [props.value, props.selectValue],\n (newV: any) => {\n value.value = newV[0]\n },\n {\n immediate: true\n }\n)\n</script>\n"],"names":["ref","createNamespace","computed","LEFT_SELECT_MIN_WIDTH","watch"],"mappings":";;;;;;;;;;;;;;;;AAkGA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAGd,IAAM,MAAA,eAAA,GAAkBA,QAAI,GAAG,CAAA,CAAA;AAC/B,IAAM,MAAA,KAAA,GAAQA,QAAS,EAAE,CAAA,CAAA;AACzB,IAAA,MAAM,aAAaA,OAAqB,EAAA,CAAA;AACxC,IAAM,MAAA,OAAA,GAAUA,OAAuB,CAAA,EAAE,CAAA,CAAA;AACzC,IAAM,MAAA,GAAA,GAAMC,gCAAgB,cAAc,CAAA,CAAA;AAC1C,IAAM,MAAA,YAAA,GAAeA,gCAAgB,wBAAwB,CAAA,CAAA;AAC7D,IAAM,MAAA,eAAA,GAAkBC,aAAS,MAAM;AACrC,MAAA,MAAM,QAAQ,OAAQ,CAAA,KAAA,CAAM,IAAI,CAAQ,IAAA,KAAA,IAAA,CAAK,KAAK,MAAM,CAAA,CAAA;AACxD,MAAA,MAAM,aAAgB,GAAA,IAAA,CAAK,GAAI,CAAA,GAAG,KAAK,CAAA,CAAA;AACvC,MAAA,IAAI,iBAAiB,CAAG,EAAA;AACtB,QAAA,OAAOC,iCAAwB,GAAA,IAAA,CAAA;AAAA,OACjC;AACA,MAAM,MAAA,KAAA,GAAQA,iCAAyB,GAAA,CAAA,aAAA,GAAgB,CAAK,IAAA,EAAA,CAAA;AAC5D,MAAA,OAAO,KAAQ,GAAA,IAAA,CAAA;AAAA,KAChB,CAAA,CAAA;AAID,IAAM,MAAA,kBAAA,GAAqB,CAAC,CAAA,EAAW,OAAiB,KAAA;AACtD,MAAA,MAAM,OAAO,OAAQ,CAAA,IAAA,CAAA;AACrB,MAAA,MAAM,WAAW,IAAK,CAAA,YAAA,CAAA;AAEtB,MAAA,IAAI,CAAC,QAAA,IAAY,QAAa,KAAA,OAAA,IAAW,aAAa,YAAc,EAAA;AAClE,QAAA,KAAA,CAAM,KAAQ,GAAA,EAAA,CAAA;AAAA,OAChB,MAAA,IAAW,aAAa,cAAgB,EAAA;AACtC,QAAM,KAAA,CAAA,KAAA,GAAQ,CAAC,KAAA,CAAA,EAAW,KAAS,CAAA,CAAA,CAAA;AAAA,OACrC,MAAA,IAAW,aAAa,QAAU,EAAA;AAChC,QAAA,KAAA,CAAM,KAAQ,GAAA,CAAA,CAAA,CAAA;AAAA,OAChB;AACA,MAAA,UAAA,CAAW,QAAQ,OAAQ,CAAA,IAAA,CAAA;AAC3B,MAAM,KAAA,CAAA,gBAAA,EAAkB,GAAG,OAAO,CAAA,CAAA;AAAA,KACpC,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AAEzB,MAAA,KAAA;AAAA,QACE,QAAA;AAAA,QACA,WAAW,KAAO,EAAA,KAAA;AAAA,QAClB,KAAM,CAAA,KAAA,KAAU,CAAK,CAAA,GAAA,KAAA,CAAA,GAAY,KAAM,CAAA,KAAA;AAAA,OACzC,CAAA;AAAA,KACF,CAAA;AAIA,IAAAC,SAAA;AAAA,MACE,MAAM,CAAC,KAAM,CAAA,WAAA,EAAa,MAAM,IAAI,CAAA;AAAA,MACpC,CAAC,CAAC,WAAa,EAAA,OAAO,CAAM,KAAA;AAC1B,QAAI,IAAA,OAAA,IAAW,QAAQ,MAAQ,EAAA;AAC7B,UAAM,MAAA,IAAA,GAAO,OAAQ,CAAA,GAAA,CAAI,CAAQ,IAAA,KAAA;AAC/B,YAAM,MAAA,OAAA,GAAU,EAAE,GAAG,IAAK,EAAA,CAAA;AAC1B,YAAI,IAAA,OAAA,CAAQ,iBAAiB,QAAU,EAAA;AACrC,cAAI,IAAA,OAAA,CAAQ,SAAS,MAAQ,EAAA;AAC3B,gBAAA,OAAA,CAAQ,OAAU,GAAA;AAAA,kBAChB;AAAA,oBACE,KAAO,EAAA,cAAA;AAAA,oBACP,KAAO,EAAA,CAAA,CAAA;AAAA,mBACT;AAAA,kBACA,GAAG,OAAQ,CAAA,OAAA;AAAA,iBACb,CAAA;AAAA,eACF,MAAA,IAAW,OAAQ,CAAA,IAAA,EAAM,MAAQ,EAAA;AAC/B,gBAAA,OAAA,CAAQ,IAAO,GAAA;AAAA,kBACb;AAAA,oBACE,IAAM,EAAA,cAAA;AAAA,oBACN,KAAO,EAAA,CAAA,CAAA;AAAA,mBACT;AAAA,kBACA,GAAG,OAAQ,CAAA,IAAA;AAAA,iBACb,CAAA;AAAA,eACF;AAAA,aACF;AACA,YAAO,OAAA,OAAA,CAAA;AAAA,WACR,CAAA,CAAA;AACD,UAAI,IAAA,SAAA,GAAY,KAAK,CAAC,CAAA,CAAA;AACtB,UAAA,MAAM,WAAW,IAAK,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,UAAU,WAAW,CAAA,CAAA;AAC7D,UAAA,IAAI,QAAU,EAAA;AACZ,YAAY,SAAA,GAAA,QAAA,CAAA;AAAA,WACd;AAEA,UAAI,IAAA,SAAA,CAAU,iBAAiB,QAAU,EAAA;AACvC,YAAA,KAAA,CAAM,KAAQ,GAAA,CAAA,CAAA,CAAA;AAAA,WAChB;AACA,UAAA,UAAA,CAAW,KAAQ,GAAA,SAAA,CAAA;AACnB,UAAgB,eAAA,CAAA,KAAA,GAAQ,WAAc,GAAA,WAAA,GAAc,SAAU,CAAA,KAAA,CAAA;AAC9D,UAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAAA,SAClB;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,QACN,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAAA,SAAA;AAAA,MACE,MAAM,CAAC,KAAM,CAAA,KAAA,EAAO,MAAM,WAAW,CAAA;AAAA,MACrC,CAAC,IAAc,KAAA;AACb,QAAM,KAAA,CAAA,KAAA,GAAQ,KAAK,CAAC,CAAA,CAAA;AAAA,OACtB;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"select-group.vue2.js","sources":["../../../../../../packages/components/select-group/src/select-group.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bemContainer.b()\">\n <a-input-group compact>\n <!-- 左侧select -->\n <a-select\n v-model:value=\"typeSelectValue\"\n class=\"select-group-left-select-container\"\n :style=\"{ minWidth: leftSelectWidth }\"\n @change=\"handleSelectChange\"\n >\n <a-select-option\n v-for=\"item in newList\"\n :key=\"item.name\"\n :value=\"item.value\"\n :item=\"item\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n <!-- 右侧组合表单 -->\n <!-- input输入框 -->\n <template\n v-if=\"\n !selectItem?.showFormType || selectItem?.showFormType === 'input'\n \"\n >\n <a-input\n v-model:value=\"value\"\n :class=\"bem.e('right-input')\"\n :placeholder=\"selectItem?.placeholder\"\n @press-enter=\"handleChange\"\n >\n <template #suffix>\n <ll-icon :icon-name=\"`icon-search`\" @click=\"handleChange\" />\n </template>\n </a-input>\n </template>\n <!-- select下拉框 -->\n <template v-else-if=\"selectItem?.showFormType === 'select'\">\n <a-select\n v-model:value=\"value\"\n :class=\"bem.e('right-select')\"\n popup-class-name=\"select-group-right-select\"\n :options=\"selectItem?.options\"\n :placeholder=\"selectItem?.placeholder\"\n :field-names=\"selectItem?.fieldNames\"\n @change=\"handleChange\"\n >\n <a-select-option\n v-for=\"item in selectItem.list\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.name }}\n </a-select-option>\n </a-select>\n </template>\n <!-- 日期选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'range-picker'\">\n <a-range-picker\n v-model:value=\"value\"\n :class=\"bem.e('right-range-picker')\"\n @change=\"handleChange\"\n />\n </template>\n <!-- 树选择 -->\n <template v-else-if=\"selectItem?.showFormType === 'treeSelect'\">\n <a-tree-select\n v-model:value=\"value\"\n :class=\"bem.e('right-tree-select')\"\n :field-names=\"selectItem.fieldNames\"\n :placeholder=\"selectItem?.placeholder\"\n :tree-data=\"selectItem.list\"\n @select=\"handleChange\"\n ></a-tree-select>\n </template>\n <template v-else>\n <slot name=\"extra\" v-bind=\"selectItem\" />\n </template>\n </a-input-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, watch } from 'vue'\n\nimport { selectGroupProps, selectGroupEmits } from './select-group'\nimport { createNamespace } from '@ll-plus/utils'\nimport { LEFT_SELECT_MIN_WIDTH } from './select-group'\n\nimport type { SelectGroupData } from './select-group'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlSelectGroup' })\n\n// 1.props/emits\nconst props = defineProps(selectGroupProps)\nconst emits = defineEmits(selectGroupEmits)\n\n// 3.ref/const\nconst typeSelectValue = ref('1') // selectinput组合select的值\nconst value = ref<any>('') // 左边的value\nconst selectItem = ref<SelectGroupData>() // 选中表单的类型\nconst newList = ref<SelectGroupData[]>([]) // 处理后的数据,比如select的类型前面加个全部\nconst bem = createNamespace('select-group')\nconst bemContainer = createNamespace('select-group-container')\n\n// 动态计算左边文字最长的宽度\nconst leftSelectWidth = computed(() => {\n const names = newList.value.map(item => item.name.length)\n const maxNameLength = Math.max(...names)\n if (maxNameLength <= 3) {\n return LEFT_SELECT_MIN_WIDTH + 'px'\n }\n const width = LEFT_SELECT_MIN_WIDTH + (maxNameLength - 3) * 14\n return width + 'px'\n})\n\n// 4.methods\n// 第一个select的change\nconst handleSelectChange = (_: string, options: any) => {\n const item = options.item\n const formType = item.showFormType\n // 如果\n if (!formType || formType === 'input' || formType === 'treeSelect') {\n value.value = ''\n } else if (formType === 'range-picker') {\n value.value = [undefined, undefined]\n } else if (formType === 'select') {\n value.value = item.noFirstAddAll ? undefined : -1\n }\n selectItem.value = options.item\n}\n// 整合处理change\nconst handleChange = () => {\n // 过滤-1的下拉全部\n emits(\n 'change',\n selectItem.value?.value as string,\n value.value === -1 ? null : value.value\n )\n}\n\n// 5.watch\n// 已第一个为标准\nwatch(\n () => [props.selectValue, props.data] as [string, SelectGroupData[]],\n ([selectValue, newData]) => {\n if (newData && newData.length) {\n const list = newData.map(item => {\n const newItem = { ...item }\n if (newItem.showFormType === 'select') {\n if (newItem.options?.length && !newItem.noFirstAddAll) {\n newItem.options = [\n {\n label: '全部',\n value: -1\n },\n ...newItem.options!\n ]\n } else if (newItem.list?.length && !newItem.noFirstAddAll) {\n newItem.list = [\n {\n name: '全部',\n value: -1\n },\n ...newItem.list!\n ]\n }\n }\n return newItem\n })\n let firstItem = list[0]\n const findItem = list.find(item => item.value === selectValue)\n if (findItem) {\n firstItem = findItem\n }\n // 如果默认第一个是下拉框,选中全部\n if (firstItem.showFormType === 'select' && !firstItem.noFirstAddAll) {\n value.value = -1\n }\n selectItem.value = firstItem!\n typeSelectValue.value = selectValue ? selectValue : firstItem.value\n newList.value = list\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nwatch(\n () => [props.value, props.selectValue],\n (newV: any) => {\n value.value = newV[0]\n },\n {\n immediate: true\n }\n)\n</script>\n"],"names":["ref","createNamespace","computed","LEFT_SELECT_MIN_WIDTH","watch"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ll-plus",
3
- "version": "2.4.4",
3
+ "version": "2.4.7",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.mjs",
@@ -32,6 +32,8 @@
32
32
  "@types/lodash": "^4.17.0",
33
33
  "@types/lodash-es": "^4.17.12",
34
34
  "@vueuse/core": "^10.9.0",
35
+ "@wangeditor/editor": "^5.1.23",
36
+ "@wangeditor/editor-for-vue": "^5.1.12",
35
37
  "async-validator": "^4.2.5",
36
38
  "compressorjs": "^1.2.1",
37
39
  "cron-parser": "^4.9.0",
@@ -61,6 +63,8 @@
61
63
  "@bytemd/plugin-medium-zoom": "^1.21.0",
62
64
  "@bytemd/plugin-mermaid": "^1.21.0",
63
65
  "@bytemd/vue-next": "^1.21.0",
66
+ "@wangeditor/editor": "^5.1.23",
67
+ "@wangeditor/editor-for-vue": "^5.1.12",
64
68
  "vue": "^3.4.21",
65
69
  "ant-design-vue": "4.x",
66
70
  "monaco-editor": "^0.48.0"
@@ -1 +1 @@
1
- .ll-avatar{display:inline-block}.ll-avatar .ant-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;transition:border-radius .3s}.ll-avatar .ant-avatar:hover{border-radius:6px}.ll-avatar .ant-avatar .ant-avatar-string{display:flex;align-items:center;justify-content:center;height:100%}
1
+ .ll-avatar{display:inline-block}.ll-avatar .ant-avatar{display:flex;align-items:center;justify-content:center;transition:border-radius .3s}.ll-avatar .ant-avatar:hover{border-radius:6px}.ll-avatar .ant-avatar .ant-avatar-string{display:flex;align-items:center;justify-content:center;height:100%}
@@ -1 +1 @@
1
- .ll-icon-picker-modal{padding-left:20px;height:100%;display:flex;flex-direction:column}.ll-icon-picker-modal__input-container{margin-bottom:20px}.ll-icon-picker-modal__input{width:200px}.ll-icon-picker-modal__list{overflow-y:auto;flex:1;height:calc(100% - 52px)}.ll-icon-picker-modal__space{justify-content:space-between;padding-right:12px}.ll-icon-picker-modal__button{width:62px!important;height:62px}.ll-icon-picker-modal .ant-btn.ant-btn-icon-only{display:flex;align-items:center;justify-content:center;padding:0;margin:0}
1
+ .ll-icon-picker-modal .ll-modal__step{justify-content:flex-start}.ll-icon-picker-modal__input{width:200px}.ll-icon-picker-modal__list{min-width:696px}.ll-icon-picker-modal__space{justify-content:flex-start;padding-right:10px;margin-bottom:0!important}.ll-icon-picker-modal__button{width:62px!important;height:62px}.ll-icon-picker-modal__button.is-active{background:var(--color-primary-bg);border:1px solid var(--color-primary)}.ll-icon-picker-modal__input-container .ant-form-item{margin-bottom:0}.ll-icon-picker-modal .ant-btn.ant-btn-icon-only{display:flex;align-items:center;justify-content:center;padding:0;margin:0}