ll-plus 2.4.7 → 2.4.8

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 (324) hide show
  1. package/es/component.mjs +3 -0
  2. package/es/component.mjs.map +1 -1
  3. package/es/components/advanced-filtering/index.d.ts +336 -318
  4. package/es/components/advanced-filtering/src/advanced-filtering.vue.d.ts +170 -161
  5. package/es/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +163 -153
  6. package/es/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +4 -4
  7. package/es/components/api-component/index.d.ts +32 -32
  8. package/es/components/api-component/src/api-component.vue.d.ts +32 -32
  9. package/es/components/api-component/src/components/api-modal.vue.d.ts +6 -6
  10. package/es/components/api-component/src/components/body-component.vue.d.ts +14 -14
  11. package/es/components/api-component/src/components/click-input.vue.d.ts +10 -10
  12. package/es/components/api-component/src/components/params-table-row.vue.d.ts +12 -12
  13. package/es/components/api-component/src/components/params-table.vue.d.ts +14 -14
  14. package/es/components/api-component/src/config/api-modal.d.ts +1 -1
  15. package/es/components/api-component/src/config/click-input.d.ts +1 -1
  16. package/es/components/avatar/index.d.ts +19 -51
  17. package/es/components/avatar/src/avatar.d.ts +8 -38
  18. package/es/components/avatar/src/avatar.vue.d.ts +19 -51
  19. package/es/components/checkbox/index.d.ts +217 -217
  20. package/es/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  21. package/es/components/checkbox/src/checkbox.d.ts +56 -56
  22. package/es/components/code-editor/index.d.ts +2 -2
  23. package/es/components/code-editor/src/code-editor.vue.d.ts +2 -2
  24. package/es/components/cropper/index.d.ts +1485 -0
  25. package/es/components/cropper/src/cropper-image.d.ts +51 -0
  26. package/es/components/cropper/src/cropper-image.vue.d.ts +93 -0
  27. package/es/components/cropper/src/cropper-modal.vue.d.ts +1391 -0
  28. package/es/components/drawer/index.d.ts +11 -11
  29. package/es/components/drawer/src/components/second-confirmation/index.d.ts +9 -9
  30. package/es/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +9 -9
  31. package/es/components/drawer/src/drawer.vue.d.ts +11 -11
  32. package/es/components/easy-cron/index.d.ts +82 -82
  33. package/es/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +77 -77
  34. package/es/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +77 -77
  35. package/es/components/easy-cron/src/easy-cron.vue.d.ts +82 -82
  36. package/es/components/empty/index.d.ts +4 -0
  37. package/es/components/empty/src/empty.d.ts +1 -0
  38. package/es/components/empty/src/empty.vue.d.ts +4 -0
  39. package/es/components/form/index.d.ts +166 -150
  40. package/es/components/form/src/components/form-component.vue.d.ts +9 -2
  41. package/es/components/form/src/config/form-component.d.ts +4 -1
  42. package/es/components/form/src/config/form.d.ts +63 -57
  43. package/es/components/form/src/form.vue.d.ts +157 -148
  44. package/es/components/index.d.ts +1 -0
  45. package/es/components/input/index.d.ts +31 -31
  46. package/es/components/input/src/input.vue.d.ts +31 -31
  47. package/es/components/key-value/index.d.ts +774 -720
  48. package/es/components/key-value/src/components/key-value-item.vue.d.ts +258 -240
  49. package/es/components/key-value/src/key-value.vue.d.ts +774 -720
  50. package/es/components/modal/index.d.ts +4 -4
  51. package/es/components/modal/src/modal.vue.d.ts +4 -4
  52. package/es/components/rich-text-editor/index.d.ts +1 -1
  53. package/es/components/rich-text-editor/src/rich-text-editor.vue.d.ts +1 -1
  54. package/es/components/select/index.d.ts +11 -11
  55. package/es/components/select/src/select.vue.d.ts +11 -11
  56. package/es/components/select-group/index.d.ts +6 -6
  57. package/es/components/select-group/src/select-group.d.ts +1 -1
  58. package/es/components/select-group/src/select-group.vue.d.ts +6 -6
  59. package/es/components/table/index.d.ts +6 -6
  60. package/es/components/table/src/components/main-table.vue.d.ts +2 -2
  61. package/es/components/table/src/config/table.d.ts +2 -2
  62. package/es/components/table/src/table.vue.d.ts +6 -6
  63. package/es/components/textarea/index.d.ts +5 -5
  64. package/es/components/textarea/src/textarea.vue.d.ts +5 -5
  65. package/es/components/tooltip/index.d.ts +4 -4
  66. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  67. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -4
  68. package/es/components/tree-search/index.d.ts +15 -15
  69. package/es/components/tree-search/src/config/tree-search.d.ts +4 -4
  70. package/es/components/tree-search/src/tree-search.vue.d.ts +15 -15
  71. package/es/components/upload-drag/index.d.ts +4 -4
  72. package/es/components/upload-drag/src/upload-drag.vue.d.ts +4 -4
  73. package/es/index.mjs +3 -1
  74. package/es/index.mjs.map +1 -1
  75. package/es/node_modules/.pnpm/@vueuse_shared@10.9.0_vue@3.4.25/node_modules/@vueuse/shared/index.mjs +1576 -0
  76. package/es/node_modules/.pnpm/@vueuse_shared@10.9.0_vue@3.4.25/node_modules/@vueuse/shared/index.mjs.map +1 -0
  77. package/es/node_modules/.pnpm/vue-demi@0.14.7_vue@3.4.25/node_modules/vue-demi/lib/index.mjs +30 -0
  78. package/es/node_modules/.pnpm/vue-demi@0.14.7_vue@3.4.25/node_modules/vue-demi/lib/index.mjs.map +1 -0
  79. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.mjs +5 -15
  80. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.mjs.map +1 -1
  81. package/es/packages/components/avatar/src/avatar.mjs +2 -15
  82. package/es/packages/components/avatar/src/avatar.mjs.map +1 -1
  83. package/es/packages/components/avatar/src/avatar.vue2.mjs +40 -103
  84. package/es/packages/components/avatar/src/avatar.vue2.mjs.map +1 -1
  85. package/es/packages/components/checkbox/index.mjs.map +1 -1
  86. package/es/packages/components/cropper/index.mjs +12 -0
  87. package/es/packages/components/cropper/index.mjs.map +1 -0
  88. package/es/packages/components/cropper/src/cropper-image.mjs +77 -0
  89. package/es/packages/components/cropper/src/cropper-image.mjs.map +1 -0
  90. package/es/packages/components/cropper/src/cropper-image.vue.mjs +8 -0
  91. package/es/packages/components/cropper/src/cropper-image.vue.mjs.map +1 -0
  92. package/es/packages/components/cropper/src/cropper-image.vue2.mjs +137 -0
  93. package/es/packages/components/cropper/src/cropper-image.vue2.mjs.map +1 -0
  94. package/es/packages/components/cropper/src/cropper-modal.vue.mjs +8 -0
  95. package/es/packages/components/cropper/src/cropper-modal.vue.mjs.map +1 -0
  96. package/es/packages/components/cropper/src/cropper-modal.vue2.mjs +407 -0
  97. package/es/packages/components/cropper/src/cropper-modal.vue2.mjs.map +1 -0
  98. package/es/packages/components/empty/src/empty.mjs +7 -0
  99. package/es/packages/components/empty/src/empty.mjs.map +1 -1
  100. package/es/packages/components/empty/src/empty.vue2.mjs +4 -4
  101. package/es/packages/components/empty/src/empty.vue2.mjs.map +1 -1
  102. package/es/packages/components/form/index.mjs +1 -1
  103. package/es/packages/components/form/src/components/form-component.vue2.mjs +14 -9
  104. package/es/packages/components/form/src/components/form-component.vue2.mjs.map +1 -1
  105. package/es/packages/components/form/src/config/form-component.mjs +4 -1
  106. package/es/packages/components/form/src/config/form-component.mjs.map +1 -1
  107. package/es/packages/components/form/src/config/form.mjs +1 -1
  108. package/es/packages/components/form/src/config/form.mjs.map +1 -1
  109. package/es/packages/components/form/src/config/index.mjs +1 -1
  110. package/es/packages/components/form/src/form.vue2.mjs +12 -15
  111. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  112. package/es/packages/components/index.mjs +3 -1
  113. package/es/packages/components/index.mjs.map +1 -1
  114. package/es/packages/components/select-group/src/select-group.mjs.map +1 -1
  115. package/es/packages/components/select-group/src/select-group.vue2.mjs +1 -0
  116. package/es/packages/components/select-group/src/select-group.vue2.mjs.map +1 -1
  117. package/es/packages/utils/file.mjs +13 -1
  118. package/es/packages/utils/file.mjs.map +1 -1
  119. package/es/packages/utils/index.mjs +1 -1
  120. package/es/utils/file.d.ts +4 -0
  121. package/global.d.ts +2 -0
  122. package/index.full.js +3903 -610
  123. package/index.full.min.js +41 -28
  124. package/index.full.min.js.map +1 -1
  125. package/index.full.min.mjs +40 -27
  126. package/index.full.min.mjs.map +1 -1
  127. package/index.full.mjs +3897 -612
  128. package/lib/component.js +92 -89
  129. package/lib/component.js.map +1 -1
  130. package/lib/components/advanced-filtering/index.d.ts +336 -318
  131. package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +170 -161
  132. package/lib/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +163 -153
  133. package/lib/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +4 -4
  134. package/lib/components/api-component/index.d.ts +32 -32
  135. package/lib/components/api-component/src/api-component.vue.d.ts +32 -32
  136. package/lib/components/api-component/src/components/api-modal.vue.d.ts +6 -6
  137. package/lib/components/api-component/src/components/body-component.vue.d.ts +14 -14
  138. package/lib/components/api-component/src/components/click-input.vue.d.ts +10 -10
  139. package/lib/components/api-component/src/components/params-table-row.vue.d.ts +12 -12
  140. package/lib/components/api-component/src/components/params-table.vue.d.ts +14 -14
  141. package/lib/components/api-component/src/config/api-modal.d.ts +1 -1
  142. package/lib/components/api-component/src/config/click-input.d.ts +1 -1
  143. package/lib/components/avatar/index.d.ts +19 -51
  144. package/lib/components/avatar/src/avatar.d.ts +8 -38
  145. package/lib/components/avatar/src/avatar.vue.d.ts +19 -51
  146. package/lib/components/checkbox/index.d.ts +217 -217
  147. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  148. package/lib/components/checkbox/src/checkbox.d.ts +56 -56
  149. package/lib/components/code-editor/index.d.ts +2 -2
  150. package/lib/components/code-editor/src/code-editor.vue.d.ts +2 -2
  151. package/lib/components/cropper/index.d.ts +1485 -0
  152. package/lib/components/cropper/src/cropper-image.d.ts +51 -0
  153. package/lib/components/cropper/src/cropper-image.vue.d.ts +93 -0
  154. package/lib/components/cropper/src/cropper-modal.vue.d.ts +1391 -0
  155. package/lib/components/drawer/index.d.ts +11 -11
  156. package/lib/components/drawer/src/components/second-confirmation/index.d.ts +9 -9
  157. package/lib/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +9 -9
  158. package/lib/components/drawer/src/drawer.vue.d.ts +11 -11
  159. package/lib/components/easy-cron/index.d.ts +82 -82
  160. package/lib/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +77 -77
  161. package/lib/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +77 -77
  162. package/lib/components/easy-cron/src/easy-cron.vue.d.ts +82 -82
  163. package/lib/components/empty/index.d.ts +4 -0
  164. package/lib/components/empty/src/empty.d.ts +1 -0
  165. package/lib/components/empty/src/empty.vue.d.ts +4 -0
  166. package/lib/components/form/index.d.ts +166 -150
  167. package/lib/components/form/src/components/form-component.vue.d.ts +9 -2
  168. package/lib/components/form/src/config/form-component.d.ts +4 -1
  169. package/lib/components/form/src/config/form.d.ts +63 -57
  170. package/lib/components/form/src/form.vue.d.ts +157 -148
  171. package/lib/components/index.d.ts +1 -0
  172. package/lib/components/input/index.d.ts +31 -31
  173. package/lib/components/input/src/input.vue.d.ts +31 -31
  174. package/lib/components/key-value/index.d.ts +774 -720
  175. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +258 -240
  176. package/lib/components/key-value/src/key-value.vue.d.ts +774 -720
  177. package/lib/components/modal/index.d.ts +4 -4
  178. package/lib/components/modal/src/modal.vue.d.ts +4 -4
  179. package/lib/components/rich-text-editor/index.d.ts +1 -1
  180. package/lib/components/rich-text-editor/src/rich-text-editor.vue.d.ts +1 -1
  181. package/lib/components/select/index.d.ts +11 -11
  182. package/lib/components/select/src/select.vue.d.ts +11 -11
  183. package/lib/components/select-group/index.d.ts +6 -6
  184. package/lib/components/select-group/src/select-group.d.ts +1 -1
  185. package/lib/components/select-group/src/select-group.vue.d.ts +6 -6
  186. package/lib/components/table/index.d.ts +6 -6
  187. package/lib/components/table/src/components/main-table.vue.d.ts +2 -2
  188. package/lib/components/table/src/config/table.d.ts +2 -2
  189. package/lib/components/table/src/table.vue.d.ts +6 -6
  190. package/lib/components/textarea/index.d.ts +5 -5
  191. package/lib/components/textarea/src/textarea.vue.d.ts +5 -5
  192. package/lib/components/tooltip/index.d.ts +4 -4
  193. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  194. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -4
  195. package/lib/components/tree-search/index.d.ts +15 -15
  196. package/lib/components/tree-search/src/config/tree-search.d.ts +4 -4
  197. package/lib/components/tree-search/src/tree-search.vue.d.ts +15 -15
  198. package/lib/components/upload-drag/index.d.ts +4 -4
  199. package/lib/components/upload-drag/src/upload-drag.vue.d.ts +4 -4
  200. package/lib/index.js +101 -91
  201. package/lib/index.js.map +1 -1
  202. package/lib/node_modules/.pnpm/@vueuse_shared@10.9.0_vue@3.4.25/node_modules/@vueuse/shared/index.js +1696 -0
  203. package/lib/node_modules/.pnpm/@vueuse_shared@10.9.0_vue@3.4.25/node_modules/@vueuse/shared/index.js.map +1 -0
  204. package/lib/node_modules/.pnpm/vue-demi@0.14.7_vue@3.4.25/node_modules/vue-demi/lib/index.js +61 -0
  205. package/lib/node_modules/.pnpm/vue-demi@0.14.7_vue@3.4.25/node_modules/vue-demi/lib/index.js.map +1 -0
  206. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.js +5 -15
  207. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue2.js.map +1 -1
  208. package/lib/packages/components/avatar/src/avatar.js +2 -15
  209. package/lib/packages/components/avatar/src/avatar.js.map +1 -1
  210. package/lib/packages/components/avatar/src/avatar.vue2.js +39 -102
  211. package/lib/packages/components/avatar/src/avatar.vue2.js.map +1 -1
  212. package/lib/packages/components/checkbox/index.js.map +1 -1
  213. package/lib/packages/components/cropper/index.js +20 -0
  214. package/lib/packages/components/cropper/index.js.map +1 -0
  215. package/lib/packages/components/cropper/src/cropper-image.js +83 -0
  216. package/lib/packages/components/cropper/src/cropper-image.js.map +1 -0
  217. package/lib/packages/components/cropper/src/cropper-image.vue.js +12 -0
  218. package/lib/packages/components/cropper/src/cropper-image.vue.js.map +1 -0
  219. package/lib/packages/components/cropper/src/cropper-image.vue2.js +141 -0
  220. package/lib/packages/components/cropper/src/cropper-image.vue2.js.map +1 -0
  221. package/lib/packages/components/cropper/src/cropper-modal.vue.js +12 -0
  222. package/lib/packages/components/cropper/src/cropper-modal.vue.js.map +1 -0
  223. package/lib/packages/components/cropper/src/cropper-modal.vue2.js +411 -0
  224. package/lib/packages/components/cropper/src/cropper-modal.vue2.js.map +1 -0
  225. package/lib/packages/components/empty/src/empty.js +7 -0
  226. package/lib/packages/components/empty/src/empty.js.map +1 -1
  227. package/lib/packages/components/empty/src/empty.vue2.js +3 -3
  228. package/lib/packages/components/empty/src/empty.vue2.js.map +1 -1
  229. package/lib/packages/components/form/index.js +1 -0
  230. package/lib/packages/components/form/index.js.map +1 -1
  231. package/lib/packages/components/form/src/components/form-component.vue2.js +12 -7
  232. package/lib/packages/components/form/src/components/form-component.vue2.js.map +1 -1
  233. package/lib/packages/components/form/src/config/form-component.js +4 -0
  234. package/lib/packages/components/form/src/config/form-component.js.map +1 -1
  235. package/lib/packages/components/form/src/config/form.js +1 -1
  236. package/lib/packages/components/form/src/config/form.js.map +1 -1
  237. package/lib/packages/components/form/src/config/index.js +1 -0
  238. package/lib/packages/components/form/src/config/index.js.map +1 -1
  239. package/lib/packages/components/form/src/form.vue2.js +12 -15
  240. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  241. package/lib/packages/components/index.js +101 -91
  242. package/lib/packages/components/index.js.map +1 -1
  243. package/lib/packages/components/select-group/src/select-group.js.map +1 -1
  244. package/lib/packages/components/select-group/src/select-group.vue2.js +1 -0
  245. package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
  246. package/lib/packages/utils/file.js +13 -0
  247. package/lib/packages/utils/file.js.map +1 -1
  248. package/lib/packages/utils/index.js +1 -0
  249. package/lib/packages/utils/index.js.map +1 -1
  250. package/lib/utils/file.d.ts +4 -0
  251. package/package.json +2 -1
  252. package/theme-chalk/css/cropper.css +13 -0
  253. package/theme-chalk/css/index.css +9 -1
  254. package/types/packages/components/advanced-filtering/index.d.ts +336 -318
  255. package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +170 -161
  256. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +163 -153
  257. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +4 -4
  258. package/types/packages/components/api-component/index.d.ts +32 -32
  259. package/types/packages/components/api-component/src/api-component.vue.d.ts +32 -32
  260. package/types/packages/components/api-component/src/components/api-modal.vue.d.ts +6 -6
  261. package/types/packages/components/api-component/src/components/body-component.vue.d.ts +14 -14
  262. package/types/packages/components/api-component/src/components/click-input.vue.d.ts +10 -10
  263. package/types/packages/components/api-component/src/components/params-table-row.vue.d.ts +12 -12
  264. package/types/packages/components/api-component/src/components/params-table.vue.d.ts +14 -14
  265. package/types/packages/components/api-component/src/config/api-modal.d.ts +1 -1
  266. package/types/packages/components/api-component/src/config/click-input.d.ts +1 -1
  267. package/types/packages/components/avatar/index.d.ts +19 -51
  268. package/types/packages/components/avatar/src/avatar.d.ts +8 -38
  269. package/types/packages/components/avatar/src/avatar.vue.d.ts +19 -51
  270. package/types/packages/components/checkbox/index.d.ts +217 -217
  271. package/types/packages/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  272. package/types/packages/components/checkbox/src/checkbox.d.ts +56 -56
  273. package/types/packages/components/code-editor/index.d.ts +2 -2
  274. package/types/packages/components/code-editor/src/code-editor.vue.d.ts +2 -2
  275. package/types/packages/components/cropper/index.d.ts +1485 -0
  276. package/types/packages/components/cropper/src/cropper-image.d.ts +51 -0
  277. package/types/packages/components/cropper/src/cropper-image.vue.d.ts +93 -0
  278. package/types/packages/components/cropper/src/cropper-modal.vue.d.ts +1391 -0
  279. package/types/packages/components/drawer/index.d.ts +11 -11
  280. package/types/packages/components/drawer/src/components/second-confirmation/index.d.ts +9 -9
  281. package/types/packages/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +9 -9
  282. package/types/packages/components/drawer/src/drawer.vue.d.ts +11 -11
  283. package/types/packages/components/easy-cron/index.d.ts +82 -82
  284. package/types/packages/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +77 -77
  285. package/types/packages/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +77 -77
  286. package/types/packages/components/easy-cron/src/easy-cron.vue.d.ts +82 -82
  287. package/types/packages/components/empty/index.d.ts +4 -0
  288. package/types/packages/components/empty/src/empty.d.ts +1 -0
  289. package/types/packages/components/empty/src/empty.vue.d.ts +4 -0
  290. package/types/packages/components/form/index.d.ts +166 -150
  291. package/types/packages/components/form/src/components/form-component.vue.d.ts +9 -2
  292. package/types/packages/components/form/src/config/form-component.d.ts +4 -1
  293. package/types/packages/components/form/src/config/form.d.ts +63 -57
  294. package/types/packages/components/form/src/form.vue.d.ts +157 -148
  295. package/types/packages/components/index.d.ts +1 -0
  296. package/types/packages/components/input/index.d.ts +31 -31
  297. package/types/packages/components/input/src/input.vue.d.ts +31 -31
  298. package/types/packages/components/key-value/index.d.ts +774 -720
  299. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +258 -240
  300. package/types/packages/components/key-value/src/key-value.vue.d.ts +774 -720
  301. package/types/packages/components/modal/index.d.ts +4 -4
  302. package/types/packages/components/modal/src/modal.vue.d.ts +4 -4
  303. package/types/packages/components/rich-text-editor/index.d.ts +1 -1
  304. package/types/packages/components/rich-text-editor/src/rich-text-editor.vue.d.ts +1 -1
  305. package/types/packages/components/select/index.d.ts +11 -11
  306. package/types/packages/components/select/src/select.vue.d.ts +11 -11
  307. package/types/packages/components/select-group/index.d.ts +6 -6
  308. package/types/packages/components/select-group/src/select-group.d.ts +1 -1
  309. package/types/packages/components/select-group/src/select-group.vue.d.ts +6 -6
  310. package/types/packages/components/table/index.d.ts +6 -6
  311. package/types/packages/components/table/src/components/main-table.vue.d.ts +2 -2
  312. package/types/packages/components/table/src/config/table.d.ts +2 -2
  313. package/types/packages/components/table/src/table.vue.d.ts +6 -6
  314. package/types/packages/components/textarea/index.d.ts +5 -5
  315. package/types/packages/components/textarea/src/textarea.vue.d.ts +5 -5
  316. package/types/packages/components/tooltip/index.d.ts +4 -4
  317. package/types/packages/components/tooltip/src/tooltip.d.ts +1 -1
  318. package/types/packages/components/tooltip/src/tooltip.vue.d.ts +4 -4
  319. package/types/packages/components/tree-search/index.d.ts +15 -15
  320. package/types/packages/components/tree-search/src/config/tree-search.d.ts +4 -4
  321. package/types/packages/components/tree-search/src/tree-search.vue.d.ts +15 -15
  322. package/types/packages/components/upload-drag/index.d.ts +4 -4
  323. package/types/packages/components/upload-drag/src/upload-drag.vue.d.ts +4 -4
  324. package/types/packages/utils/file.d.ts +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../../../node_modules/.pnpm/@vueuse+shared@10.9.0_vue@3.4.25/node_modules/@vueuse/shared/index.mjs"],"sourcesContent":["import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, provide, inject, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?[0-9]+\\.?[0-9]*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\nfunction getLifeCycleTarget(target) {\n return target || getCurrentInstance();\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeMount(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeUnmount(fn, target);\n}\n\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onUnmounted(fn, target);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n stop == null ? void 0 : stop();\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n stop == null ? void 0 : stop();\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(\n toValue(element),\n toValue(value),\n index,\n toValue(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);\n const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const v = num % 100;\n return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n Yo: () => formatOrdinal(years),\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n Mo: () => formatOrdinal(month + 1),\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(options.locales, { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(options.locales, { month: \"long\" }),\n D: () => String(days),\n Do: () => formatOrdinal(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n Ho: () => formatOrdinal(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n ho: () => formatOrdinal(hours % 12 || 12),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mo: () => formatOrdinal(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n so: () => formatOrdinal(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(options.locales, { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(options.locales, { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(options.locales, { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n return stop;\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n const stop = watch(\n source,\n (v, ov, onInvalidate) => {\n if (v) {\n if (options == null ? void 0 : options.once)\n nextTick(() => stop());\n cb(v, ov, onInvalidate);\n }\n },\n {\n ...options,\n once: false\n }\n );\n return stop;\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,30 @@
1
+ export * from 'vue';
2
+ import * as vue from 'vue';
3
+ export { vue as Vue };
4
+
5
+ var isVue2 = false;
6
+ var isVue3 = true;
7
+ var Vue2 = undefined;
8
+
9
+ function install() {}
10
+
11
+ function set(target, key, val) {
12
+ if (Array.isArray(target)) {
13
+ target.length = Math.max(target.length, key);
14
+ target.splice(key, 1, val);
15
+ return val
16
+ }
17
+ target[key] = val;
18
+ return val
19
+ }
20
+
21
+ function del(target, key) {
22
+ if (Array.isArray(target)) {
23
+ target.splice(key, 1);
24
+ return
25
+ }
26
+ delete target[key];
27
+ }
28
+
29
+ export { Vue2, del, install, isVue2, isVue3, set };
30
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../../../node_modules/.pnpm/vue-demi@0.14.7_vue@3.4.25/node_modules/vue-demi/lib/index.mjs"],"sourcesContent":["import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n"],"names":[],"mappings":";;;;AAEG,IAAC,MAAM,GAAG,MAAK;AACf,IAAC,MAAM,GAAG,KAAI;AACd,IAAC,IAAI,GAAG,UAAS;AACpB;AACA,SAAS,OAAO,GAAG,EAAE;AACrB;AACO,SAAS,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;AACtC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAC;AAChD,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAC;AAC9B,IAAI,OAAO,GAAG;AACd,GAAG;AACH,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAG;AACnB,EAAE,OAAO,GAAG;AACZ,CAAC;AACD;AACO,SAAS,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE;AACjC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAC;AACzB,IAAI,MAAM;AACV,GAAG;AACH,EAAE,OAAO,MAAM,CAAC,GAAG,EAAC;AACpB;;;;","x_google_ignoreList":[0]}
@@ -51,18 +51,18 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
51
51
  const handleAdvancedFilterConfirm = () => {
52
52
  emits("confirm");
53
53
  };
54
- const handleChange = (val) => {
55
- setData(val);
54
+ const handleChange = (params) => {
55
+ setData(params);
56
56
  };
57
- const setData = (val) => {
58
- const value = cloneDeep(val);
57
+ const setData = (params) => {
58
+ const value = cloneDeep(params.formData);
59
59
  const obj = {};
60
60
  computeFormColumns.value.forEach((item) => {
61
61
  const i = item.key;
62
62
  obj[i] = filterAllValue(value[i], item);
63
63
  });
64
64
  emits("update:value", obj);
65
- emits("changeValue", obj);
65
+ emits("changeValue", { ...params, formData: obj });
66
66
  };
67
67
  watch(
68
68
  () => props.value,
@@ -90,16 +90,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
90
90
  immediate: true
91
91
  }
92
92
  );
93
- watch(
94
- () => innerValue.value,
95
- (val) => {
96
- setData(val);
97
- },
98
- {
99
- deep: true,
100
- immediate: true
101
- }
102
- );
103
93
  return (_ctx, _cache) => {
104
94
  const _component_ll_icon = resolveComponent("ll-icon");
105
95
  const _component_ll_button = resolveComponent("ll-button");
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-filtering-params.vue2.mjs","sources":["../../../../../../../packages/components/advanced-filtering/src/components/advanced-filtering-params.vue"],"sourcesContent":["<template>\n <a-card\n title=\"高级筛选\"\n :class=\"bem.b()\"\n onselectstart=\"return false\"\n :bordered=\"false\"\n >\n <template #extra>\n <ll-icon\n icon-name=\"icon-close2\"\n :style=\"{\n cursor: 'pointer'\n }\"\n @click=\"handleClose\"\n />\n </template>\n <div :class=\"bem.m('content')\">\n <ll-form\n v-if=\"props.filterColumns.length > 0\"\n v-bind=\"$attrs\"\n :form-columns=\"computeFormColumns\"\n :form-options=\"props.formOptions\"\n :form-data=\"innerValue\"\n :row-options=\"\n $attrs['row-options'] || {\n gutter: 30\n }\n \"\n @change=\"handleChange\"\n />\n <div v-else :class=\"bem.m('empty')\">\n <p>暂无数据</p>\n </div>\n </div>\n <div v-if=\"props.showFooter\" :class=\"bem.m('footer')\">\n <ll-button\n type=\"primary\"\n style=\"margin-right: 16px\"\n @click=\"handleAdvancedFilterConfirm\"\n >\n 确定\n </ll-button>\n <ll-button @click=\"handleClose\">取消</ll-button>\n </div>\n </a-card>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed } from 'vue'\nimport { has, cloneDeep } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport { LlForm } from '@ll-plus/components'\nimport {\n advancedFilteringParamsProps,\n advancedFilteringParamsEmits,\n ALL_VALUE,\n initValue,\n filterAllValue\n} from '../advanced-filtering'\n\ndefineOptions({ name: 'LlAdvancedFilteringParams' })\n\nconst props = defineProps(advancedFilteringParamsProps)\n\nconst emits = defineEmits(advancedFilteringParamsEmits)\n\nconst bem = createNamespace('advanced-filtering-params')\n\nconst innerValue = ref({})\n\nconst key = ref(0)\n\nconst computeFormColumns = computed(() => {\n return props.filterColumns.map(column => {\n if (has(column, 'options')) {\n if (\n (column.options.length && column.options[0].value === ALL_VALUE) ||\n column.unUseDefaultOption\n ) {\n return column\n }\n column.options = [\n {\n label: column?.defaultOptionLabel ?? '全部',\n value: ALL_VALUE\n },\n ...column.options\n ]\n }\n return column\n })\n})\n\nconst handleClose = () => {\n emits('close')\n}\n\nconst handleAdvancedFilterConfirm = () => {\n emits('confirm')\n}\n\nconst handleChange = (val: Record<string, any>) => {\n setData(val)\n}\n\nconst setData = (val: Record<string, any>) => {\n const value = cloneDeep(val)\n const obj: Record<string, any> = {}\n computeFormColumns.value.forEach(item => {\n const i = item.key\n obj[i] = filterAllValue(value[i], item)\n })\n emits('update:value', obj)\n emits('changeValue', obj)\n}\n\nwatch(\n () => props.value,\n val => {\n const value = cloneDeep(val)\n const cloneInnerValue = cloneDeep(innerValue.value)\n const obj: Record<string, any> = {}\n computeFormColumns.value.forEach(item => {\n obj[item.key] = initValue(item, value)\n })\n const comparedObj: Record<string, any> = {}\n computeFormColumns.value.forEach(item => {\n comparedObj[item.key] = initValue(item, cloneInnerValue)\n })\n if (JSON.stringify(obj) !== JSON.stringify(comparedObj)) {\n innerValue.value = cloneDeep(obj)\n }\n if (key.value === 0) {\n innerValue.value = cloneDeep(obj)\n key.value++\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n () => innerValue.value,\n val => {\n setData(val)\n },\n {\n deep: true,\n immediate: true\n }\n)\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced-filtering-params.vue2.mjs","sources":["../../../../../../../packages/components/advanced-filtering/src/components/advanced-filtering-params.vue"],"sourcesContent":["<template>\n <a-card\n title=\"高级筛选\"\n :class=\"bem.b()\"\n onselectstart=\"return false\"\n :bordered=\"false\"\n >\n <template #extra>\n <ll-icon\n icon-name=\"icon-close2\"\n :style=\"{\n cursor: 'pointer'\n }\"\n @click=\"handleClose\"\n />\n </template>\n <div :class=\"bem.m('content')\">\n <ll-form\n v-if=\"props.filterColumns.length > 0\"\n v-bind=\"$attrs\"\n :form-columns=\"computeFormColumns\"\n :form-options=\"props.formOptions\"\n :form-data=\"innerValue\"\n :row-options=\"\n $attrs['row-options'] || {\n gutter: 30\n }\n \"\n @change=\"handleChange\"\n />\n <div v-else :class=\"bem.m('empty')\">\n <p>暂无数据</p>\n </div>\n </div>\n <div v-if=\"props.showFooter\" :class=\"bem.m('footer')\">\n <ll-button\n type=\"primary\"\n style=\"margin-right: 16px\"\n @click=\"handleAdvancedFilterConfirm\"\n >\n 确定\n </ll-button>\n <ll-button @click=\"handleClose\">取消</ll-button>\n </div>\n </a-card>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch, computed } from 'vue'\nimport { has, cloneDeep } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport { LlForm } from '@ll-plus/components'\nimport {\n advancedFilteringParamsProps,\n advancedFilteringParamsEmits,\n ALL_VALUE,\n initValue,\n filterAllValue\n} from '../advanced-filtering'\n\nimport type { FormChangeEvent } from '@ll-plus/components'\n\ndefineOptions({ name: 'LlAdvancedFilteringParams' })\n\nconst props = defineProps(advancedFilteringParamsProps)\n\nconst emits = defineEmits(advancedFilteringParamsEmits)\n\nconst bem = createNamespace('advanced-filtering-params')\n\nconst innerValue = ref({})\n\nconst key = ref(0)\n\nconst computeFormColumns = computed(() => {\n return props.filterColumns.map(column => {\n if (has(column, 'options')) {\n if (\n (column.options.length && column.options[0].value === ALL_VALUE) ||\n column.unUseDefaultOption\n ) {\n return column\n }\n column.options = [\n {\n label: column?.defaultOptionLabel ?? '全部',\n value: ALL_VALUE\n },\n ...column.options\n ]\n }\n return column\n })\n})\n\nconst handleClose = () => {\n emits('close')\n}\n\nconst handleAdvancedFilterConfirm = () => {\n emits('confirm')\n}\n\nconst handleChange = (params: FormChangeEvent) => {\n setData(params)\n}\n\nconst setData = (params: FormChangeEvent) => {\n const value = cloneDeep(params.formData)\n const obj: Record<string, any> = {}\n computeFormColumns.value.forEach(item => {\n const i = item.key\n obj[i] = filterAllValue(value[i], item)\n })\n emits('update:value', obj)\n emits('changeValue', { ...params, formData: obj })\n}\n\nwatch(\n () => props.value,\n val => {\n const value = cloneDeep(val)\n const cloneInnerValue = cloneDeep(innerValue.value)\n const obj: Record<string, any> = {}\n computeFormColumns.value.forEach(item => {\n obj[item.key] = initValue(item, value)\n })\n const comparedObj: Record<string, any> = {}\n computeFormColumns.value.forEach(item => {\n comparedObj[item.key] = initValue(item, cloneInnerValue)\n })\n if (JSON.stringify(obj) !== JSON.stringify(comparedObj)) {\n innerValue.value = cloneDeep(obj)\n }\n if (key.value === 0) {\n innerValue.value = cloneDeep(obj)\n key.value++\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// watch(\n// () => innerValue.value,\n// val => {\n// setData(val)\n// },\n// {\n// deep: true,\n// immediate: true\n// }\n// )\n</script>\n"],"names":[],"mappings":"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"}
@@ -42,8 +42,7 @@ const avatarProps = buildProps({
42
42
  * @description 设置头像的大小
43
43
  */
44
44
  size: {
45
- type: definePropType(Object),
46
- default: "default"
45
+ type: definePropType([Number, String])
47
46
  },
48
47
  /**
49
48
  * @description 图片类头像的资源地址
@@ -69,22 +68,10 @@ const avatarProps = buildProps({
69
68
  */
70
69
  avatarGroupProps: {
71
70
  type: definePropType(Object)
72
- },
73
- /**
74
- * @description 是否可以点击头像上传
75
- */
76
- isCanUpload: {
77
- type: Boolean
78
- },
79
- /**
80
- * @description 上传弹窗组件样式
81
- */
82
- uploadDragProps: {
83
- type: definePropType(Object)
84
71
  }
85
72
  });
86
73
  const avatarEmits = {
87
- click: (item, index) => !!item || index
74
+ click: (item, src, index) => !!item || src || index
88
75
  };
89
76
  const AVATAR_IMG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4AAAAOBCAYAAACgaM7yAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAADgKADAAQAAAABAAADgQAAAAAZ/IILAABAAElEQVR4AezdB5xlZXk4/udO317YzsI2yrJLFRBBUMCCDURRVKyxxho1aozRJKYaSxIT/zHJLz9j/EVNNNaILVEQrCBSpAtShIWtbC9T//eMAttm987MLeec93v9jDNz7jnv+zzf5zA7z5xWufH+oaHwIkCAAAECBAgQIECAAIHSC7SVPkMJEiBAgAABAgQIECBAgMCwgAbQjkCAAAECBAgQIECAAIFEBDSAiRRamgQIECBAgAABAgQIENAA2gcIECBAgAABAgQIECCQiIAGMJFCS5MAAQIECBAgQIAAAQIaQPsAAQIECBAgQIAAAQIEEhHQACZSaGkSIECAAAECBAgQIEBAA2gfIECAAAECBAgQIECAQCICGsBECi1NAgQIECBAgAABAgQIaADtAwQIECBAgAABAgQIEEhEQAOYSKGlSYAAAQIECBAgQIAAAQ2gfYAAAQIECBAgQIAAAQKJCGgAEym0NAkQIECAAAECBAgQIKABtA8QIECAAAECBAgQIEAgEQENYCKFliYBAgQIECBAgAABAgQ0gPYBAgQIECBAgAABAgQIJCKgAUyk0NIkQIAAAQIECBAgQICABtA+QIAAAQIECBAgQIAAgUQENICJFFqaBAgQIECAAAECBAgQ0ADaBwgQIECAAAECBAgQIJCIgAYwkUJLkwABAgQIECBAgAABAhpA+wABAgQIECBAgAABAgQSEdAAJlJoaRIgQIAAAQIECBAgQEADaB8gQIAAAQIECBAgQIBAIgIawEQKLU0CBAgQIECAAAECBAhoAO0DBAgQIECAAAECBAgQSERAA5hIoaVJgAABAgQIECBAgAABDaB9gAABAgQIECBAgAABAokIaAATKbQ0CRAgQIAAAQIECBAgoAG0DxAgQIAAAQIECBAgQCARAQ1gIoWWJgECBAgQIECAAAECBDSA9gECBAgQIECAAAECBAgkIqABTKTQ0iRAgAABAgQIECBAgIAG0D5AgAABAgQIECBAgACBRAQ0gIkUWpoECBAgQIAAAQIECBDQANoHCBAgQIAAAQIECBAgkIiABjCRQkuTAAECBAgQIECAAAECGkD7AAECBAgQIECAAAECBBIR0AAmUmhpEiBAgAABAgQIECBAQANoHyBAgAABAgQIECBAgEAiAhrARAotTQIECBAgQIAAAQIECGgA7QMECBAgQIAAAQIECBBIREADmEihpUmAAAECBAgQIECAAAENoH2AAAECBAgQIECAAAECiQhoABMptDQJECBAgAABAgQIECCgAbQPECBAgAABAgQIECBAIBEBDWAihZYmAQIECBAgQIAAAQIENID2AQIECBAgQIAAAQIECCQioAFMpNDSJECAAAECBAgQIECAgAbQPkCAAAECBAgQIECAAIFEBDSAiRRamgQIECBAgAABAgQIENAA2gcIECBAgAABAgQIECCQiIAGMJFCS5MAAQIECBAgQIAAAQIaQPsAAQIECBAgQIAAAQIEEhHQACZSaGkSIECAAAECBAgQIEBAA2gfIECAAAECBAgQIECAQCICGsBECi1NAgQIECBAgAABAgQIaADtAwQIECBAgAABAgQIEEhEQAOYSKGlSYAAAQIECBAgQIAAAQ2gfYAAAQIECBAgQIAAAQKJCGgAEym0NAkQIECAAAECBAgQIKABtA8QIECAAAECBAgQIEAgEQENYCKFliYBAgQIECBAgAABAgQ0gPYBAgQIECBAgAABAgQIJCKgAUyk0NIkQIAAAQIECBAgQICABtA+QIAAAQIECBAgQIAAgUQENICJFFqaBAgQIECAAAECBAgQ0ADaBwgQIECAAAECBAgQIJCIgAYwkUJLkwABAgQIECBAgAABAhpA+wABAgQIECBAgAABAgQSEdAAJlJoaRIgQIAAAQIECBAgQEADaB8gQIAAAQIECBAgQIBAIgIawEQKLU0CBAgQIECAAAECBAhoAO0DBAgQIECAAAECBAgQSERAA5hIoaVJgAABAgQIECBAgAABDaB9gAABAgQIECBAgAABAokIaAATKbQ0CRAgQIAAAQIECBAgoAG0DxAgQIAAAQIECBAgQCARAQ1gIoWWJgECBAgQIECAAAECBDSA9gECBAgQIECAAAECBAgkIqABTKTQ0iRAgAABAgQIECBAgIAG0D5AgAABAgQIECBAgACBRAQ0gIkUWpoECBAgQIAAAQIECBDQANoHCBAgQIAAAQIECBAgkIiABjCRQkuTAAECBAgQIECAAAECGkD7AAECBAgQIECAAAECBBIR0AAmUmhpEiBAgAABAgQIECBAQANoHyBAgAABAgQIECBAgEAiAhrARAotTQIECBAgQIAAAQIECGgA7QMECBAgQIAAAQIECBBIREADmEihpUmAAAECBAgQIECAAAENoH2AAAECBAgQIECAAAECiQhoABMptDQJECBAgAABAgQIECCgAbQPECBAgAABAgQIECBAIBEBDWAihZYmAQIECBAgQIAAAQIENID2AQIECBAgQIAAAQIECCQioAFMpNDSJECAAAECBAgQIECAgAbQPkCAAAECBAgQIECAAIFEBDSAiRRamgQIECBAgAABAgQIENAA2gcIECBAgAABAgQIECCQiIAGMJFCS5MAAQIECBAgQIAAAQIaQPsAAQIECBAgQIAAAQIEEhHQACZSaGkSIECAAAECBAgQIEBAA2gfIECAAAECBAgQIECAQCICGsBECi1NAgQIECBAgAABAgQIaADtAwQIECBAgAABAgQIEEhEQAOYSKGlSYAAAQIECBAgQIAAAQ2gfYAAAQIECBAgQIAAAQKJCGgAEym0NAkQIECAAAECBAgQIKABtA8QIECAAAECBAgQIEAgEQENYCKFliYBAgQIECBAgAABAgQ0gPYBAgQIECBAgAABAgQIJCKgAUyk0NIkQIAAAQIECBAgQICABtA+QIAAAQIECBAgQIAAgUQENICJFFqaBAgQIECAAAECBAgQ0ADaBwgQIECAAAECBAgQIJCIgAYwkUJLkwABAgQIECBAgAABAhpA+wABAgQIECBAgAABAgQSEdAAJlJoaRIgQIAAAQIECBAgQEADaB8gQIAAAQIECBAgQIBAIgIawEQKLU0CBAgQIECAAAECBAhoAO0DBAgQIECAAAECBAgQSERAA5hIoaVJgAABAgQIECBAgAABDaB9gAABAgQIECBAgAABAokIaAATKbQ0CRAgQIAAAQIECBAgoAG0DxAgQIAAAQIECBAgQCARAQ1gIoWWJgECBAgQIECAAAECBDSA9gECBAgQIECAAAECBAgkIqABTKTQ0iRAgAABAgQIECBAgEAHAgIECBAgMJLAwK6dsWPDmti1ZeM+Hzs3PzS8rHfLphjo643B/r4YGugf/nqg+nmo+v1A9WOwr7q8+j+vYghUKpXo6J4QnRMmRUf1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";
90
77