ll-plus 2.6.17 → 2.6.19

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 (245) hide show
  1. package/es/components/advanced-filtering/index.d.ts +672 -284
  2. package/es/components/advanced-filtering/src/advanced-filtering.vue.d.ts +336 -142
  3. package/es/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +336 -142
  4. package/es/components/breadcrumb-card/index.d.ts +1 -1
  5. package/es/components/breadcrumb-card/src/breadcrumb-card.vue.d.ts +1 -1
  6. package/es/components/cascader/index.d.ts +8 -8
  7. package/es/components/cascader/src/cascader.vue.d.ts +8 -8
  8. package/es/components/checkbox/index.d.ts +217 -217
  9. package/es/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  10. package/es/components/checkbox/src/checkbox.d.ts +56 -56
  11. package/es/components/cropper/index.d.ts +19 -0
  12. package/es/components/cropper/src/cropper-image.d.ts +2 -0
  13. package/es/components/cropper/src/cropper-image.vue.d.ts +6 -0
  14. package/es/components/cropper/src/cropper-modal.vue.d.ts +13 -0
  15. package/es/components/drawer/index.d.ts +5 -5
  16. package/es/components/drawer/src/components/second-confirmation/index.d.ts +1 -1
  17. package/es/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +1 -1
  18. package/es/components/drawer/src/drawer.vue.d.ts +5 -5
  19. package/es/components/easy-cron/index.d.ts +95 -95
  20. package/es/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +88 -88
  21. package/es/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +88 -88
  22. package/es/components/easy-cron/src/easy-cron.vue.d.ts +95 -95
  23. package/es/components/form/index.d.ts +339 -142
  24. package/es/components/form/src/components/form-component.vue.d.ts +4 -1
  25. package/es/components/form/src/config/form.d.ts +59 -56
  26. package/es/components/form/src/form.vue.d.ts +335 -141
  27. package/es/components/icon-picker/index.d.ts +4 -0
  28. package/es/components/icon-picker/src/components/modal.vue.d.ts +4 -0
  29. package/es/components/icon-picker/src/icon-picker.vue.d.ts +4 -0
  30. package/es/components/input/index.d.ts +35 -33
  31. package/es/components/input/src/input.vue.d.ts +35 -33
  32. package/es/components/input-number/index.d.ts +2 -0
  33. package/es/components/input-number/src/input-number.vue.d.ts +2 -0
  34. package/es/components/key-value/index.d.ts +1835 -680
  35. package/es/components/key-value/src/components/key-value-item.vue.d.ts +611 -226
  36. package/es/components/key-value/src/key-value.vue.d.ts +1835 -680
  37. package/es/components/modal/index.d.ts +1 -1
  38. package/es/components/modal/src/modal.vue.d.ts +1 -1
  39. package/es/components/new-drawer/index.d.ts +7 -7
  40. package/es/components/new-drawer/src/drawer.vue.d.ts +7 -7
  41. package/es/components/new-modal/index.d.ts +2 -2
  42. package/es/components/new-modal/src/modal.vue.d.ts +2 -2
  43. package/es/components/number-range/index.d.ts +2 -0
  44. package/es/components/number-range/src/number-range.vue.d.ts +2 -0
  45. package/es/components/rich-text-editor/index.d.ts +1 -1
  46. package/es/components/rich-text-editor/src/rich-text-editor.vue.d.ts +1 -1
  47. package/es/components/select/index.d.ts +4 -4
  48. package/es/components/select/src/select.vue.d.ts +4 -4
  49. package/es/components/select-group/index.d.ts +2 -2
  50. package/es/components/select-group/src/select-group.d.ts +1 -1
  51. package/es/components/select-group/src/select-group.vue.d.ts +2 -2
  52. package/es/components/table/index.d.ts +6 -6
  53. package/es/components/table/src/components/main-table.vue.d.ts +2 -2
  54. package/es/components/table/src/config/table.d.ts +2 -2
  55. package/es/components/table/src/table.vue.d.ts +6 -6
  56. package/es/components/textarea/index.d.ts +5 -5
  57. package/es/components/textarea/src/textarea.vue.d.ts +5 -5
  58. package/es/components/tooltip/index.d.ts +4 -4
  59. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  60. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -4
  61. package/es/components/tree-search/index.d.ts +1 -1
  62. package/es/components/tree-search/src/tree-search.vue.d.ts +1 -1
  63. package/es/components/upload-drag/index.d.ts +2 -2
  64. package/es/components/upload-drag/src/upload-drag.vue.d.ts +2 -2
  65. package/es/packages/components/cropper/src/cropper-image.mjs +8 -0
  66. package/es/packages/components/cropper/src/cropper-image.mjs.map +1 -1
  67. package/es/packages/components/cropper/src/cropper-image.vue2.mjs +43 -22
  68. package/es/packages/components/cropper/src/cropper-image.vue2.mjs.map +1 -1
  69. package/es/packages/components/cropper/src/cropper-modal.vue2.mjs +108 -72
  70. package/es/packages/components/cropper/src/cropper-modal.vue2.mjs.map +1 -1
  71. package/es/packages/components/form/src/components/form-component.vue2.mjs +19 -2
  72. package/es/packages/components/form/src/components/form-component.vue2.mjs.map +1 -1
  73. package/es/packages/components/form/src/config/form.mjs +21 -0
  74. package/es/packages/components/form/src/config/form.mjs.map +1 -1
  75. package/es/packages/components/form/src/form.vue2.mjs +56 -5
  76. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  77. package/es/packages/components/icon-picker/src/components/modal.vue2.mjs +97 -76
  78. package/es/packages/components/icon-picker/src/components/modal.vue2.mjs.map +1 -1
  79. package/es/packages/components/input/src/input.vue2.mjs +8 -1
  80. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  81. package/es/packages/components/input-number/src/input-number.vue2.mjs +8 -1
  82. package/es/packages/components/input-number/src/input-number.vue2.mjs.map +1 -1
  83. package/es/packages/components/key-value/src/config/key-value.mjs +2 -2
  84. package/es/packages/components/key-value/src/config/key-value.mjs.map +1 -1
  85. package/es/packages/components/select-group/src/select-group.vue2.mjs +1 -0
  86. package/es/packages/components/select-group/src/select-group.vue2.mjs.map +1 -1
  87. package/index.full.js +363 -175
  88. package/index.full.min.js +17 -17
  89. package/index.full.min.js.map +1 -1
  90. package/index.full.min.mjs +21 -21
  91. package/index.full.min.mjs.map +1 -1
  92. package/index.full.mjs +363 -175
  93. package/lib/components/advanced-filtering/index.d.ts +672 -284
  94. package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +336 -142
  95. package/lib/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +336 -142
  96. package/lib/components/breadcrumb-card/index.d.ts +1 -1
  97. package/lib/components/breadcrumb-card/src/breadcrumb-card.vue.d.ts +1 -1
  98. package/lib/components/cascader/index.d.ts +8 -8
  99. package/lib/components/cascader/src/cascader.vue.d.ts +8 -8
  100. package/lib/components/checkbox/index.d.ts +217 -217
  101. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  102. package/lib/components/checkbox/src/checkbox.d.ts +56 -56
  103. package/lib/components/cropper/index.d.ts +19 -0
  104. package/lib/components/cropper/src/cropper-image.d.ts +2 -0
  105. package/lib/components/cropper/src/cropper-image.vue.d.ts +6 -0
  106. package/lib/components/cropper/src/cropper-modal.vue.d.ts +13 -0
  107. package/lib/components/drawer/index.d.ts +5 -5
  108. package/lib/components/drawer/src/components/second-confirmation/index.d.ts +1 -1
  109. package/lib/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +1 -1
  110. package/lib/components/drawer/src/drawer.vue.d.ts +5 -5
  111. package/lib/components/easy-cron/index.d.ts +95 -95
  112. package/lib/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +88 -88
  113. package/lib/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +88 -88
  114. package/lib/components/easy-cron/src/easy-cron.vue.d.ts +95 -95
  115. package/lib/components/form/index.d.ts +339 -142
  116. package/lib/components/form/src/components/form-component.vue.d.ts +4 -1
  117. package/lib/components/form/src/config/form.d.ts +59 -56
  118. package/lib/components/form/src/form.vue.d.ts +335 -141
  119. package/lib/components/icon-picker/index.d.ts +4 -0
  120. package/lib/components/icon-picker/src/components/modal.vue.d.ts +4 -0
  121. package/lib/components/icon-picker/src/icon-picker.vue.d.ts +4 -0
  122. package/lib/components/input/index.d.ts +35 -33
  123. package/lib/components/input/src/input.vue.d.ts +35 -33
  124. package/lib/components/input-number/index.d.ts +2 -0
  125. package/lib/components/input-number/src/input-number.vue.d.ts +2 -0
  126. package/lib/components/key-value/index.d.ts +1835 -680
  127. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +611 -226
  128. package/lib/components/key-value/src/key-value.vue.d.ts +1835 -680
  129. package/lib/components/modal/index.d.ts +1 -1
  130. package/lib/components/modal/src/modal.vue.d.ts +1 -1
  131. package/lib/components/new-drawer/index.d.ts +7 -7
  132. package/lib/components/new-drawer/src/drawer.vue.d.ts +7 -7
  133. package/lib/components/new-modal/index.d.ts +2 -2
  134. package/lib/components/new-modal/src/modal.vue.d.ts +2 -2
  135. package/lib/components/number-range/index.d.ts +2 -0
  136. package/lib/components/number-range/src/number-range.vue.d.ts +2 -0
  137. package/lib/components/rich-text-editor/index.d.ts +1 -1
  138. package/lib/components/rich-text-editor/src/rich-text-editor.vue.d.ts +1 -1
  139. package/lib/components/select/index.d.ts +4 -4
  140. package/lib/components/select/src/select.vue.d.ts +4 -4
  141. package/lib/components/select-group/index.d.ts +2 -2
  142. package/lib/components/select-group/src/select-group.d.ts +1 -1
  143. package/lib/components/select-group/src/select-group.vue.d.ts +2 -2
  144. package/lib/components/table/index.d.ts +6 -6
  145. package/lib/components/table/src/components/main-table.vue.d.ts +2 -2
  146. package/lib/components/table/src/config/table.d.ts +2 -2
  147. package/lib/components/table/src/table.vue.d.ts +6 -6
  148. package/lib/components/textarea/index.d.ts +5 -5
  149. package/lib/components/textarea/src/textarea.vue.d.ts +5 -5
  150. package/lib/components/tooltip/index.d.ts +4 -4
  151. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  152. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -4
  153. package/lib/components/tree-search/index.d.ts +1 -1
  154. package/lib/components/tree-search/src/tree-search.vue.d.ts +1 -1
  155. package/lib/components/upload-drag/index.d.ts +2 -2
  156. package/lib/components/upload-drag/src/upload-drag.vue.d.ts +2 -2
  157. package/lib/packages/components/cropper/src/cropper-image.js +8 -0
  158. package/lib/packages/components/cropper/src/cropper-image.js.map +1 -1
  159. package/lib/packages/components/cropper/src/cropper-image.vue2.js +42 -21
  160. package/lib/packages/components/cropper/src/cropper-image.vue2.js.map +1 -1
  161. package/lib/packages/components/cropper/src/cropper-modal.vue2.js +107 -71
  162. package/lib/packages/components/cropper/src/cropper-modal.vue2.js.map +1 -1
  163. package/lib/packages/components/form/src/components/form-component.vue2.js +18 -1
  164. package/lib/packages/components/form/src/components/form-component.vue2.js.map +1 -1
  165. package/lib/packages/components/form/src/config/form.js +21 -0
  166. package/lib/packages/components/form/src/config/form.js.map +1 -1
  167. package/lib/packages/components/form/src/form.vue2.js +54 -3
  168. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  169. package/lib/packages/components/icon-picker/src/components/modal.vue2.js +96 -75
  170. package/lib/packages/components/icon-picker/src/components/modal.vue2.js.map +1 -1
  171. package/lib/packages/components/input/src/input.vue2.js +8 -1
  172. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  173. package/lib/packages/components/input-number/src/input-number.vue2.js +8 -1
  174. package/lib/packages/components/input-number/src/input-number.vue2.js.map +1 -1
  175. package/lib/packages/components/key-value/src/config/key-value.js +2 -2
  176. package/lib/packages/components/key-value/src/config/key-value.js.map +1 -1
  177. package/lib/packages/components/select-group/src/select-group.vue2.js +1 -0
  178. package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
  179. package/package.json +1 -1
  180. package/theme-chalk/css/icon-picker.css +1 -1
  181. package/theme-chalk/css/index.css +1 -1
  182. package/types/packages/components/advanced-filtering/index.d.ts +672 -284
  183. package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +336 -142
  184. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +336 -142
  185. package/types/packages/components/breadcrumb-card/index.d.ts +1 -1
  186. package/types/packages/components/breadcrumb-card/src/breadcrumb-card.vue.d.ts +1 -1
  187. package/types/packages/components/cascader/index.d.ts +8 -8
  188. package/types/packages/components/cascader/src/cascader.vue.d.ts +8 -8
  189. package/types/packages/components/checkbox/index.d.ts +217 -217
  190. package/types/packages/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  191. package/types/packages/components/checkbox/src/checkbox.d.ts +56 -56
  192. package/types/packages/components/cropper/index.d.ts +19 -0
  193. package/types/packages/components/cropper/src/cropper-image.d.ts +2 -0
  194. package/types/packages/components/cropper/src/cropper-image.vue.d.ts +6 -0
  195. package/types/packages/components/cropper/src/cropper-modal.vue.d.ts +13 -0
  196. package/types/packages/components/drawer/index.d.ts +5 -5
  197. package/types/packages/components/drawer/src/components/second-confirmation/index.d.ts +1 -1
  198. package/types/packages/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +1 -1
  199. package/types/packages/components/drawer/src/drawer.vue.d.ts +5 -5
  200. package/types/packages/components/easy-cron/index.d.ts +95 -95
  201. package/types/packages/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +88 -88
  202. package/types/packages/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +88 -88
  203. package/types/packages/components/easy-cron/src/easy-cron.vue.d.ts +95 -95
  204. package/types/packages/components/form/index.d.ts +339 -142
  205. package/types/packages/components/form/src/components/form-component.vue.d.ts +4 -1
  206. package/types/packages/components/form/src/config/form.d.ts +59 -56
  207. package/types/packages/components/form/src/form.vue.d.ts +335 -141
  208. package/types/packages/components/icon-picker/index.d.ts +4 -0
  209. package/types/packages/components/icon-picker/src/components/modal.vue.d.ts +4 -0
  210. package/types/packages/components/icon-picker/src/icon-picker.vue.d.ts +4 -0
  211. package/types/packages/components/input/index.d.ts +35 -33
  212. package/types/packages/components/input/src/input.vue.d.ts +35 -33
  213. package/types/packages/components/input-number/index.d.ts +2 -0
  214. package/types/packages/components/input-number/src/input-number.vue.d.ts +2 -0
  215. package/types/packages/components/key-value/index.d.ts +1835 -680
  216. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +611 -226
  217. package/types/packages/components/key-value/src/key-value.vue.d.ts +1835 -680
  218. package/types/packages/components/modal/index.d.ts +1 -1
  219. package/types/packages/components/modal/src/modal.vue.d.ts +1 -1
  220. package/types/packages/components/new-drawer/index.d.ts +7 -7
  221. package/types/packages/components/new-drawer/src/drawer.vue.d.ts +7 -7
  222. package/types/packages/components/new-modal/index.d.ts +2 -2
  223. package/types/packages/components/new-modal/src/modal.vue.d.ts +2 -2
  224. package/types/packages/components/number-range/index.d.ts +2 -0
  225. package/types/packages/components/number-range/src/number-range.vue.d.ts +2 -0
  226. package/types/packages/components/rich-text-editor/index.d.ts +1 -1
  227. package/types/packages/components/rich-text-editor/src/rich-text-editor.vue.d.ts +1 -1
  228. package/types/packages/components/select/index.d.ts +4 -4
  229. package/types/packages/components/select/src/select.vue.d.ts +4 -4
  230. package/types/packages/components/select-group/index.d.ts +2 -2
  231. package/types/packages/components/select-group/src/select-group.d.ts +1 -1
  232. package/types/packages/components/select-group/src/select-group.vue.d.ts +2 -2
  233. package/types/packages/components/table/index.d.ts +6 -6
  234. package/types/packages/components/table/src/components/main-table.vue.d.ts +2 -2
  235. package/types/packages/components/table/src/config/table.d.ts +2 -2
  236. package/types/packages/components/table/src/table.vue.d.ts +6 -6
  237. package/types/packages/components/textarea/index.d.ts +5 -5
  238. package/types/packages/components/textarea/src/textarea.vue.d.ts +5 -5
  239. package/types/packages/components/tooltip/index.d.ts +4 -4
  240. package/types/packages/components/tooltip/src/tooltip.d.ts +1 -1
  241. package/types/packages/components/tooltip/src/tooltip.vue.d.ts +4 -4
  242. package/types/packages/components/tree-search/index.d.ts +1 -1
  243. package/types/packages/components/tree-search/src/tree-search.vue.d.ts +1 -1
  244. package/types/packages/components/upload-drag/index.d.ts +2 -2
  245. package/types/packages/components/upload-drag/src/upload-drag.vue.d.ts +2 -2
@@ -44,8 +44,8 @@ declare const _default: import("vue").DefineComponent<{}, {
44
44
  };
45
45
  name: StringConstructor;
46
46
  type: {
47
- type: import("vue").PropType<"number" | "month" | "color" | "hidden" | "search" | "date" | "url" | "email" | "time" | "week" | "text" | "submit" | "button" | "reset" | "checkbox" | "radio" | "image" | "range" | "datetime-local" | "file" | "password" | "tel">;
48
- default: "number" | "month" | "color" | "hidden" | "search" | "date" | "url" | "email" | "time" | "week" | "text" | "submit" | "button" | "reset" | "checkbox" | "radio" | "image" | "range" | "datetime-local" | "file" | "password" | "tel";
47
+ type: import("vue").PropType<"number" | "month" | "reset" | "submit" | "color" | "hidden" | "search" | "date" | "url" | "email" | "time" | "week" | "text" | "button" | "checkbox" | "radio" | "image" | "range" | "datetime-local" | "file" | "password" | "tel">;
48
+ default: "number" | "month" | "reset" | "submit" | "color" | "hidden" | "search" | "date" | "url" | "email" | "time" | "week" | "text" | "button" | "checkbox" | "radio" | "image" | "range" | "datetime-local" | "file" | "password" | "tel";
49
49
  };
50
50
  onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
51
51
  onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
@@ -143,8 +143,8 @@ declare const _default: import("vue").DefineComponent<{}, {
143
143
  };
144
144
  name: StringConstructor;
145
145
  type: {
146
- type: import("vue").PropType<"number" | "month" | "color" | "hidden" | "search" | "date" | "url" | "email" | "time" | "week" | "text" | "submit" | "button" | "reset" | "checkbox" | "radio" | "image" | "range" | "datetime-local" | "file" | "password" | "tel">;
147
- default: "number" | "month" | "color" | "hidden" | "search" | "date" | "url" | "email" | "time" | "week" | "text" | "submit" | "button" | "reset" | "checkbox" | "radio" | "image" | "range" | "datetime-local" | "file" | "password" | "tel";
146
+ type: import("vue").PropType<"number" | "month" | "reset" | "submit" | "color" | "hidden" | "search" | "date" | "url" | "email" | "time" | "week" | "text" | "button" | "checkbox" | "radio" | "image" | "range" | "datetime-local" | "file" | "password" | "tel">;
147
+ default: "number" | "month" | "reset" | "submit" | "color" | "hidden" | "search" | "date" | "url" | "email" | "time" | "week" | "text" | "button" | "checkbox" | "radio" | "image" | "range" | "datetime-local" | "file" | "password" | "tel";
148
148
  };
149
149
  onFocus: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
150
150
  onBlur: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface").FocusEventHandler>;
@@ -212,7 +212,7 @@ declare const _default: import("vue").DefineComponent<{}, {
212
212
  };
213
213
  }>>, {
214
214
  value: string | number;
215
- type: "number" | "month" | "color" | "hidden" | "search" | "date" | "url" | "email" | "time" | "week" | "text" | "submit" | "button" | "reset" | "checkbox" | "radio" | "image" | "range" | "datetime-local" | "file" | "password" | "tel";
215
+ type: "number" | "month" | "reset" | "submit" | "color" | "hidden" | "search" | "date" | "url" | "email" | "time" | "week" | "text" | "button" | "checkbox" | "radio" | "image" | "range" | "datetime-local" | "file" | "password" | "tel";
216
216
  focused: boolean;
217
217
  hidden: boolean;
218
218
  disabled: boolean;
@@ -1,7 +1,7 @@
1
1
  import Tooltip from './src/tooltip.vue';
2
2
  export declare const LlTooltip: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
3
3
  readonly tip: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "提示", boolean>;
4
- readonly placement: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown, "top", boolean>;
4
+ readonly placement: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown, "top", boolean>;
5
5
  readonly maxWidth: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, "", boolean>;
6
6
  readonly tipEllipsis: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
7
7
  readonly tipEllipsisLine: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
@@ -21,7 +21,7 @@ export declare const LlTooltip: import("ll-plus/es/utils").SFCWithInstall<import
21
21
  readonly width: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, "", boolean>;
22
22
  }, {
23
23
  props: import("@vue/shared").LooseRequired<{
24
- readonly placement: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown>;
24
+ readonly placement: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown>;
25
25
  readonly maxWidth: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
26
26
  readonly width: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
27
27
  readonly tip: string;
@@ -65,7 +65,7 @@ export declare const LlTooltip: import("ll-plus/es/utils").SFCWithInstall<import
65
65
  }>;
66
66
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
67
67
  readonly tip: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "提示", boolean>;
68
- readonly placement: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown, "top", boolean>;
68
+ readonly placement: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown, "top", boolean>;
69
69
  readonly maxWidth: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, "", boolean>;
70
70
  readonly tipEllipsis: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
71
71
  readonly tipEllipsisLine: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
@@ -84,7 +84,7 @@ export declare const LlTooltip: import("ll-plus/es/utils").SFCWithInstall<import
84
84
  readonly ellipsis: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
85
85
  readonly width: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, "", boolean>;
86
86
  }>>, {
87
- readonly placement: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown>;
87
+ readonly placement: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown>;
88
88
  readonly maxWidth: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
89
89
  readonly width: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
90
90
  readonly tip: string;
@@ -3,7 +3,7 @@ import type Tooltip from './tooltip.vue';
3
3
  export declare const placement: readonly ["top", "left", "right", "bottom", "topLeft", "topRight", "bottomLeft", "bottomRight", "leftTop", "leftBottom", "rightTop", "rightBottom"];
4
4
  export declare const tooltipProps: {
5
5
  readonly tip: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "提示", boolean>;
6
- readonly placement: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown, "top", boolean>;
6
+ readonly placement: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown, "top", boolean>;
7
7
  readonly maxWidth: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, "", boolean>;
8
8
  readonly tipEllipsis: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
9
9
  readonly tipEllipsisLine: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
@@ -1,6 +1,6 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
2
  readonly tip: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "提示", boolean>;
3
- readonly placement: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown, "top", boolean>;
3
+ readonly placement: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown, "top", boolean>;
4
4
  readonly maxWidth: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, "", boolean>;
5
5
  readonly tipEllipsis: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
6
6
  readonly tipEllipsisLine: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
@@ -20,7 +20,7 @@ declare const _default: import("vue").DefineComponent<{
20
20
  readonly width: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, "", boolean>;
21
21
  }, {
22
22
  props: import("@vue/shared").LooseRequired<{
23
- readonly placement: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown>;
23
+ readonly placement: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown>;
24
24
  readonly maxWidth: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
25
25
  readonly width: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
26
26
  readonly tip: string;
@@ -64,7 +64,7 @@ declare const _default: import("vue").DefineComponent<{
64
64
  }>;
65
65
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
66
66
  readonly tip: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "提示", boolean>;
67
- readonly placement: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown, "top", boolean>;
67
+ readonly placement: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown, "top", boolean>;
68
68
  readonly maxWidth: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, "", boolean>;
69
69
  readonly tipEllipsis: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
70
70
  readonly tipEllipsisLine: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
@@ -83,7 +83,7 @@ declare const _default: import("vue").DefineComponent<{
83
83
  readonly ellipsis: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
84
84
  readonly width: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, "", boolean>;
85
85
  }>>, {
86
- readonly placement: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "left" | "right" | "top" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown>;
86
+ readonly placement: import("ll-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "left" | "right" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom", unknown>;
87
87
  readonly maxWidth: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
88
88
  readonly width: import("ll-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
89
89
  readonly tip: string;
@@ -105,7 +105,7 @@ export declare const LlTreeSearch: import("ll-plus/es/utils").SFCWithInstall<imp
105
105
  readonly onCancel?: (() => any) | undefined;
106
106
  readonly onClickAdd?: (() => any) | undefined;
107
107
  } & {}>;
108
- emits: ((event: "close") => void) & ((event: "select", selectedKeys: string[], e: Event) => void) & ((event: "ok") => void) & ((event: "cancel") => void) & ((event: "expand", expandedKeys: string[], data: any) => void) & ((event: "clickAdd") => void);
108
+ emits: ((event: "cancel") => void) & ((event: "close") => void) & ((event: "select", selectedKeys: string[], e: Event) => void) & ((event: "ok") => void) & ((event: "expand", expandedKeys: string[], data: any) => void) & ((event: "clickAdd") => void);
109
109
  isCollapseMenu: import("vue").Ref<boolean>;
110
110
  newExpandedKeys: import("vue").Ref<string[]>;
111
111
  bem: {
@@ -104,7 +104,7 @@ declare const _default: import("vue").DefineComponent<{
104
104
  readonly onCancel?: (() => any) | undefined;
105
105
  readonly onClickAdd?: (() => any) | undefined;
106
106
  } & {}>;
107
- emits: ((event: "close") => void) & ((event: "select", selectedKeys: string[], e: Event) => void) & ((event: "ok") => void) & ((event: "cancel") => void) & ((event: "expand", expandedKeys: string[], data: any) => void) & ((event: "clickAdd") => void);
107
+ emits: ((event: "cancel") => void) & ((event: "close") => void) & ((event: "select", selectedKeys: string[], e: Event) => void) & ((event: "ok") => void) & ((event: "expand", expandedKeys: string[], data: any) => void) & ((event: "clickAdd") => void);
108
108
  isCollapseMenu: import("vue").Ref<boolean>;
109
109
  newExpandedKeys: import("vue").Ref<string[]>;
110
110
  bem: {
@@ -39,7 +39,7 @@ export declare const LlUploadDrag: import("ll-plus/es/utils").SFCWithInstall<imp
39
39
  readonly onCancel?: ((...args: any[]) => any) | undefined;
40
40
  readonly onCustomRequest?: ((...args: any[]) => any) | undefined;
41
41
  } & {}>;
42
- emits: (event: "update:value" | "confirm" | "customRequest" | "cancel", ...args: any[]) => void;
42
+ emits: (event: "cancel" | "update:value" | "confirm" | "customRequest", ...args: any[]) => void;
43
43
  bem: {
44
44
  b: (blockSuffix?: string) => string;
45
45
  e: (element?: string) => string;
@@ -61,7 +61,7 @@ export declare const LlUploadDrag: import("ll-plus/es/utils").SFCWithInstall<imp
61
61
  handleDragReject: () => void;
62
62
  handleClickCancelBtn: () => void;
63
63
  handleClickOkBtn: () => void;
64
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:value" | "confirm" | "customRequest" | "cancel")[], "update:value" | "confirm" | "customRequest" | "cancel", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
64
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "update:value" | "confirm" | "customRequest")[], "cancel" | "update:value" | "confirm" | "customRequest", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
65
65
  value: {
66
66
  type: ArrayConstructor;
67
67
  default: () => never[];
@@ -39,7 +39,7 @@ declare const _default: import("vue").DefineComponent<{
39
39
  readonly onCancel?: ((...args: any[]) => any) | undefined;
40
40
  readonly onCustomRequest?: ((...args: any[]) => any) | undefined;
41
41
  } & {}>;
42
- emits: (event: "update:value" | "confirm" | "customRequest" | "cancel", ...args: any[]) => void;
42
+ emits: (event: "cancel" | "update:value" | "confirm" | "customRequest", ...args: any[]) => void;
43
43
  bem: {
44
44
  b: (blockSuffix?: string) => string;
45
45
  e: (element?: string) => string;
@@ -61,7 +61,7 @@ declare const _default: import("vue").DefineComponent<{
61
61
  handleDragReject: () => void;
62
62
  handleClickCancelBtn: () => void;
63
63
  handleClickOkBtn: () => void;
64
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:value" | "confirm" | "customRequest" | "cancel")[], "update:value" | "confirm" | "customRequest" | "cancel", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
64
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "update:value" | "confirm" | "customRequest")[], "cancel" | "update:value" | "confirm" | "customRequest", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
65
65
  value: {
66
66
  type: ArrayConstructor;
67
67
  default: () => never[];
@@ -38,6 +38,10 @@ const cropperImageProps = runtime.buildProps({
38
38
  type: Boolean,
39
39
  default: false
40
40
  },
41
+ loading: {
42
+ type: Boolean,
43
+ default: false
44
+ },
41
45
  realTimePreview: {
42
46
  type: Boolean,
43
47
  default: true
@@ -75,6 +79,10 @@ const cropperModalProps = runtime.buildProps({
75
79
  type: Boolean,
76
80
  default: false
77
81
  },
82
+ loading: {
83
+ type: Boolean,
84
+ default: false
85
+ },
78
86
  avatar: {
79
87
  type: String,
80
88
  default: ""
@@ -1 +1 @@
1
- {"version":3,"file":"cropper-image.js","sources":["../../../../../../packages/components/cropper/src/cropper-image.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes, CSSProperties } from 'vue'\nimport type Cropper from 'cropperjs'\nimport type CropperImage from './cropper-image.vue'\nimport type CropperModal from './cropper-modal.vue'\n\nexport interface CropendResult {\n imgBase64: string\n imgInfo: Cropper.Data\n}\n\nexport const defaultCropperOptions: Cropper.Options = {\n aspectRatio: 1,\n zoomable: true,\n zoomOnTouch: true,\n zoomOnWheel: true,\n cropBoxMovable: true,\n cropBoxResizable: true,\n toggleDragModeOnDblclick: true,\n autoCrop: true,\n background: true,\n highlight: true,\n center: true,\n responsive: true,\n restore: true,\n checkCrossOrigin: true,\n checkOrientation: true,\n scalable: true,\n modal: true,\n guides: true,\n movable: true,\n rotatable: true\n}\n\nexport const cropperImageProps = buildProps({\n src: {\n type: String,\n required: true\n },\n alt: {\n type: String\n },\n circled: {\n type: Boolean,\n default: false\n },\n realTimePreview: {\n type: Boolean,\n default: true\n },\n height: {\n type: [String, Number],\n default: '360px'\n },\n crossorigin: {\n type: definePropType<'' | 'anonymous' | 'use-credentials' | undefined>(\n String\n ),\n default: undefined\n },\n imageStyle: {\n type: definePropType<CSSProperties>(Object),\n default: () => ({})\n },\n options: {\n type: definePropType<Cropper.Options>(Object),\n default: () => ({})\n }\n} as const)\n\nexport const cropperImageEmits = {\n cropend: (params: CropendResult) => !!params,\n onReady: (cropper: Cropper) => !!cropper,\n cropendError: () => true\n} as const\n\nexport const cropperModalProps = buildProps({\n circled: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n avatar: {\n type: String,\n default: ''\n },\n avatarSize: {\n type: [String, Number],\n default: 64\n },\n avatarType: {\n type: definePropType<'square' | 'circle'>(String),\n default: () => 'circle'\n },\n title: {\n type: String,\n default: '图片裁剪'\n },\n width: {\n type: [String, Number],\n default: '800px'\n }\n} as const)\n\nexport const cropperModalEmits = {\n confirm: (params: { blob: Blob; previewSource: string }) => !!params\n} as const\n\n// props\nexport type CropperImageProps = ExtractPropTypes<typeof cropperImageProps>\nexport type CropperModalProps = ExtractPropTypes<typeof cropperModalProps>\n\n// emits\nexport type CropperImageEmits = typeof cropperImageEmits\nexport type CropperModalEmits = typeof cropperModalEmits\n\n// instance\nexport type CropperImageInstance = InstanceType<typeof CropperImage>\nexport type CropperModalInstance = InstanceType<typeof CropperModal>\n"],"names":["buildProps","definePropType"],"mappings":"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"}
1
+ {"version":3,"file":"cropper-image.js","sources":["../../../../../../packages/components/cropper/src/cropper-image.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes, CSSProperties } from 'vue'\nimport type Cropper from 'cropperjs'\nimport type CropperImage from './cropper-image.vue'\nimport type CropperModal from './cropper-modal.vue'\n\nexport interface CropendResult {\n imgBase64: string\n imgInfo: Cropper.Data\n}\n\nexport const defaultCropperOptions: Cropper.Options = {\n aspectRatio: 1,\n zoomable: true,\n zoomOnTouch: true,\n zoomOnWheel: true,\n cropBoxMovable: true,\n cropBoxResizable: true,\n toggleDragModeOnDblclick: true,\n autoCrop: true,\n background: true,\n highlight: true,\n center: true,\n responsive: true,\n restore: true,\n checkCrossOrigin: true,\n checkOrientation: true,\n scalable: true,\n modal: true,\n guides: true,\n movable: true,\n rotatable: true\n}\n\nexport const cropperImageProps = buildProps({\n src: {\n type: String,\n required: true\n },\n alt: {\n type: String\n },\n circled: {\n type: Boolean,\n default: false\n },\n loading: {\n type: Boolean,\n default: false\n },\n realTimePreview: {\n type: Boolean,\n default: true\n },\n height: {\n type: [String, Number],\n default: '360px'\n },\n crossorigin: {\n type: definePropType<'' | 'anonymous' | 'use-credentials' | undefined>(\n String\n ),\n default: undefined\n },\n imageStyle: {\n type: definePropType<CSSProperties>(Object),\n default: () => ({})\n },\n options: {\n type: definePropType<Cropper.Options>(Object),\n default: () => ({})\n }\n} as const)\n\nexport const cropperImageEmits = {\n cropend: (params: CropendResult) => !!params,\n onReady: (cropper: Cropper) => !!cropper,\n cropendError: () => true\n} as const\n\nexport const cropperModalProps = buildProps({\n circled: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n loading: {\n type: Boolean,\n default: false\n },\n avatar: {\n type: String,\n default: ''\n },\n avatarSize: {\n type: [String, Number],\n default: 64\n },\n avatarType: {\n type: definePropType<'square' | 'circle'>(String),\n default: () => 'circle'\n },\n title: {\n type: String,\n default: '图片裁剪'\n },\n width: {\n type: [String, Number],\n default: '800px'\n }\n} as const)\n\nexport const cropperModalEmits = {\n confirm: (params: { blob: Blob; previewSource: string }) => !!params\n} as const\n\n// props\nexport type CropperImageProps = ExtractPropTypes<typeof cropperImageProps>\nexport type CropperModalProps = ExtractPropTypes<typeof cropperModalProps>\n\n// emits\nexport type CropperImageEmits = typeof cropperImageEmits\nexport type CropperModalEmits = typeof cropperModalEmits\n\n// instance\nexport type CropperImageInstance = InstanceType<typeof CropperImage>\nexport type CropperModalInstance = InstanceType<typeof CropperModal>\n"],"names":["buildProps","definePropType"],"mappings":"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"}
@@ -23,6 +23,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
23
  const imgElRef = vue.ref();
24
24
  const cropper = vue.ref();
25
25
  const isReady = vue.ref(false);
26
+ const loading = vue.ref(props.loading);
26
27
  const getImageStyle = vue.computed(() => {
27
28
  return {
28
29
  height: props.height,
@@ -38,10 +39,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
38
39
  if (!imgEl) {
39
40
  return;
40
41
  }
42
+ loading.value = true;
41
43
  cropper.value = new Cropper(imgEl, {
42
44
  ...cropperImage.defaultCropperOptions,
43
45
  ready() {
44
46
  isReady.value = true;
47
+ loading.value = false;
45
48
  realTimeCroppered();
46
49
  emits("onReady", cropper.value);
47
50
  },
@@ -107,32 +110,50 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
107
110
  context.fill();
108
111
  return canvas;
109
112
  };
113
+ const handleLoading = () => {
114
+ loading.value = true;
115
+ console.log("loading");
116
+ };
110
117
  vue.onMounted(init);
111
118
  vue.onUnmounted(() => {
112
119
  cropper.value?.destroy();
113
120
  });
121
+ vue.watch(
122
+ () => props.loading,
123
+ (val) => {
124
+ loading.value = val;
125
+ }
126
+ );
114
127
  return (_ctx, _cache) => {
115
- return vue.openBlock(), vue.createElementBlock(
116
- "div",
117
- {
118
- class: vue.normalizeClass([vue.unref(bem).b(), props.circled ? vue.unref(bem).is("circled") : ""]),
119
- style: vue.normalizeStyle(getWrapperStyle.value)
120
- },
121
- [
122
- vue.withDirectives(vue.createElementVNode("img", {
123
- ref_key: "imgElRef",
124
- ref: imgElRef,
125
- src: _ctx.src,
126
- alt: _ctx.alt,
127
- crossorigin: _ctx.crossorigin,
128
- style: vue.normalizeStyle(getImageStyle.value)
129
- }, null, 12, _hoisted_1), [
130
- [vue.vShow, isReady.value]
131
- ])
132
- ],
133
- 6
134
- /* CLASS, STYLE */
135
- );
128
+ const _component_a_spin = vue.resolveComponent("a-spin");
129
+ return vue.openBlock(), vue.createBlock(_component_a_spin, { spinning: loading.value }, {
130
+ default: vue.withCtx(() => [
131
+ vue.createElementVNode(
132
+ "div",
133
+ {
134
+ class: vue.normalizeClass([vue.unref(bem).b(), props.circled ? vue.unref(bem).is("circled") : ""]),
135
+ style: vue.normalizeStyle(getWrapperStyle.value)
136
+ },
137
+ [
138
+ vue.withDirectives(vue.createElementVNode("img", {
139
+ ref_key: "imgElRef",
140
+ ref: imgElRef,
141
+ src: _ctx.src,
142
+ alt: _ctx.alt,
143
+ crossorigin: _ctx.crossorigin,
144
+ style: vue.normalizeStyle(getImageStyle.value),
145
+ onLoad: handleLoading
146
+ }, null, 44, _hoisted_1), [
147
+ [vue.vShow, isReady.value]
148
+ ])
149
+ ],
150
+ 6
151
+ /* CLASS, STYLE */
152
+ )
153
+ ]),
154
+ _: 1
155
+ /* STABLE */
156
+ }, 8, ["spinning"]);
136
157
  };
137
158
  }
138
159
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cropper-image.vue2.js","sources":["../../../../../../packages/components/cropper/src/cropper-image.vue"],"sourcesContent":["<template>\n <div\n :class=\"[bem.b(), props.circled ? bem.is('circled') : '']\"\n :style=\"getWrapperStyle\"\n >\n <img\n v-show=\"isReady\"\n ref=\"imgElRef\"\n :src=\"src\"\n :alt=\"alt\"\n :crossorigin=\"crossorigin\"\n :style=\"getImageStyle\"\n />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { onMounted, ref, computed, onUnmounted, type CSSProperties } from 'vue'\nimport { createNamespace } from '@ll-plus/utils'\n//@ts-ignore\nimport Cropper from 'cropperjs'\n// import 'cropperjs/dist/cropper.css'\nimport { useDebounceFn } from '@vueuse/shared'\nimport {\n cropperImageProps,\n cropperImageEmits,\n defaultCropperOptions,\n type CropendResult\n} from './cropper-image'\n\ndefineOptions({ name: 'CropperImage' })\nconst props = defineProps(cropperImageProps)\nconst emits = defineEmits(cropperImageEmits)\n\nconst bem = createNamespace('cropper-image')\n\nconst imgElRef = ref<HTMLImageElement>()\nconst cropper = ref<Cropper>()\nconst isReady = ref(false)\nconst getImageStyle = computed((): CSSProperties => {\n return {\n height: props.height,\n maxWidth: '100%',\n ...props.imageStyle\n }\n})\nconst getWrapperStyle = computed((): CSSProperties => {\n return { height: `${props.height}`.replace(/px/, '') + 'px' }\n})\n\nconst init = async () => {\n const imgEl = imgElRef.value\n if (!imgEl) {\n return\n }\n cropper.value = new Cropper(imgEl, {\n ...defaultCropperOptions,\n ready() {\n isReady.value = true\n realTimeCroppered()\n //@ts-ignore\n emits('onReady', cropper.value)\n },\n crop() {\n debounceRealTimeCroppered()\n },\n zoom() {\n debounceRealTimeCroppered()\n },\n cropmove() {\n debounceRealTimeCroppered()\n },\n ...props.options\n })\n}\n\n// Real-time display preview\nconst realTimeCroppered = () => {\n props.realTimePreview && croppered()\n}\n\nconst debounceRealTimeCroppered = useDebounceFn(realTimeCroppered, 80)\n\n// event: return base64 and width and height information after cropping\nconst croppered = () => {\n if (!cropper.value) {\n return\n }\n const imgInfo = cropper.value.getData()\n const canvas = props.circled\n ? getRoundedCanvas()\n : cropper.value.getCroppedCanvas()\n canvas.toBlob(blob => {\n if (!blob) {\n return\n }\n const fileReader: FileReader = new FileReader()\n fileReader.readAsDataURL(blob)\n fileReader.onloadend = e => {\n emits('cropend', {\n imgBase64: e.target?.result ?? '',\n imgInfo\n } as CropendResult)\n }\n fileReader.onerror = () => {\n emits('cropendError')\n }\n }, 'image/png')\n}\n\n// Get a circular picture canvas\nconst getRoundedCanvas = () => {\n const sourceCanvas = cropper.value!.getCroppedCanvas()\n const canvas = document.createElement('canvas')\n const context = canvas.getContext('2d')!\n const width = sourceCanvas.width\n const height = sourceCanvas.height\n canvas.width = width\n canvas.height = height\n context.imageSmoothingEnabled = true\n context.drawImage(sourceCanvas, 0, 0, width, height)\n context.globalCompositeOperation = 'destination-in'\n context.beginPath()\n context.arc(\n width / 2,\n height / 2,\n Math.min(width, height) / 2,\n 0,\n 2 * Math.PI,\n true\n )\n context.fill()\n return canvas\n}\n\nonMounted(init)\n\nonUnmounted(() => {\n cropper.value?.destroy()\n})\n</script>\n"],"names":["createNamespace","ref","computed","defaultCropperOptions","useDebounceFn","onMounted","onUnmounted"],"mappings":"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"}
1
+ {"version":3,"file":"cropper-image.vue2.js","sources":["../../../../../../packages/components/cropper/src/cropper-image.vue"],"sourcesContent":["<template>\n <a-spin :spinning=\"loading\">\n <div\n :class=\"[bem.b(), props.circled ? bem.is('circled') : '']\"\n :style=\"getWrapperStyle\"\n >\n <img\n v-show=\"isReady\"\n ref=\"imgElRef\"\n :src=\"src\"\n :alt=\"alt\"\n :crossorigin=\"crossorigin\"\n :style=\"getImageStyle\"\n @load=\"handleLoading\"\n />\n </div>\n </a-spin>\n</template>\n<script lang=\"ts\" setup>\nimport {\n onMounted,\n ref,\n computed,\n onUnmounted,\n type CSSProperties,\n watch\n} from 'vue'\nimport { createNamespace } from '@ll-plus/utils'\n//@ts-ignore\nimport Cropper from 'cropperjs'\n// import 'cropperjs/dist/cropper.css'\nimport { useDebounceFn } from '@vueuse/shared'\nimport {\n cropperImageProps,\n cropperImageEmits,\n defaultCropperOptions,\n type CropendResult\n} from './cropper-image'\n\ndefineOptions({ name: 'CropperImage' })\nconst props = defineProps(cropperImageProps)\nconst emits = defineEmits(cropperImageEmits)\n\nconst bem = createNamespace('cropper-image')\n\nconst imgElRef = ref<HTMLImageElement>()\nconst cropper = ref<Cropper>()\nconst isReady = ref(false)\nconst loading = ref(props.loading)\nconst getImageStyle = computed((): CSSProperties => {\n return {\n height: props.height,\n maxWidth: '100%',\n ...props.imageStyle\n }\n})\nconst getWrapperStyle = computed((): CSSProperties => {\n return { height: `${props.height}`.replace(/px/, '') + 'px' }\n})\n\nconst init = async () => {\n const imgEl = imgElRef.value\n if (!imgEl) {\n return\n }\n loading.value = true\n cropper.value = new Cropper(imgEl, {\n ...defaultCropperOptions,\n ready() {\n isReady.value = true\n loading.value = false\n realTimeCroppered()\n //@ts-ignore\n emits('onReady', cropper.value)\n },\n crop() {\n debounceRealTimeCroppered()\n },\n zoom() {\n debounceRealTimeCroppered()\n },\n cropmove() {\n debounceRealTimeCroppered()\n },\n ...props.options\n })\n}\n\n// Real-time display preview\nconst realTimeCroppered = () => {\n props.realTimePreview && croppered()\n}\n\nconst debounceRealTimeCroppered = useDebounceFn(realTimeCroppered, 80)\n\n// event: return base64 and width and height information after cropping\nconst croppered = () => {\n if (!cropper.value) {\n return\n }\n const imgInfo = cropper.value.getData()\n const canvas = props.circled\n ? getRoundedCanvas()\n : cropper.value.getCroppedCanvas()\n canvas.toBlob(blob => {\n if (!blob) {\n return\n }\n const fileReader: FileReader = new FileReader()\n fileReader.readAsDataURL(blob)\n fileReader.onloadend = e => {\n emits('cropend', {\n imgBase64: e.target?.result ?? '',\n imgInfo\n } as CropendResult)\n }\n fileReader.onerror = () => {\n emits('cropendError')\n }\n }, 'image/png')\n}\n\n// Get a circular picture canvas\nconst getRoundedCanvas = () => {\n const sourceCanvas = cropper.value!.getCroppedCanvas()\n const canvas = document.createElement('canvas')\n const context = canvas.getContext('2d')!\n const width = sourceCanvas.width\n const height = sourceCanvas.height\n canvas.width = width\n canvas.height = height\n context.imageSmoothingEnabled = true\n context.drawImage(sourceCanvas, 0, 0, width, height)\n context.globalCompositeOperation = 'destination-in'\n context.beginPath()\n context.arc(\n width / 2,\n height / 2,\n Math.min(width, height) / 2,\n 0,\n 2 * Math.PI,\n true\n )\n context.fill()\n return canvas\n}\n//获取图片加载中\nconst handleLoading = () => {\n loading.value = true\n console.log('loading')\n}\n\nonMounted(init)\n\nonUnmounted(() => {\n cropper.value?.destroy()\n})\n\nwatch(\n () => props.loading,\n val => {\n loading.value = val\n }\n)\n</script>\n"],"names":["createNamespace","ref","computed","defaultCropperOptions","useDebounceFn","onMounted","onUnmounted","watch"],"mappings":"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"}