@smallwei/avue 3.9.2 → 3.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (674) hide show
  1. package/README.md +12 -2
  2. package/dist/avue.js +14252 -5548
  3. package/dist/avue.js.map +1 -1
  4. package/dist/avue.min.js +2 -2
  5. package/dist/index.css +1 -1
  6. package/es/_virtual/_commonjs-dynamic-modules.mjs +1 -1
  7. package/es/_virtual/_commonjsHelpers.mjs +1 -1
  8. package/es/_virtual/axios.mjs +1 -1
  9. package/es/_virtual/axios2.mjs +1 -1
  10. package/es/_virtual/countUp.min.mjs +1 -1
  11. package/es/_virtual/countUp.min2.mjs +1 -1
  12. package/es/_virtual/dayjs.min.mjs +1 -1
  13. package/es/_virtual/dayjs.min2.mjs +1 -1
  14. package/es/index.css +1 -1
  15. package/es/locale/browser/en.mjs +299 -289
  16. package/es/locale/browser/zh-cn.mjs +299 -289
  17. package/es/locale/browser/zh.mjs +299 -289
  18. package/es/node_modules/.pnpm/countup.js@1.9.3/node_modules/countup.js/dist/countUp.min.mjs +1 -1
  19. package/es/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.mjs +1 -1
  20. package/es/node_modules/.pnpm/qrcode-generator@2.0.4/node_modules/qrcode-generator/dist/qrcode.mjs +2235 -0
  21. package/es/node_modules/axios/dist/axios.mjs +1 -1
  22. package/es/packages/core/common/event.mjs +1 -1
  23. package/es/packages/core/common/init.mjs +88 -13
  24. package/es/packages/core/common/props.mjs +1 -1
  25. package/es/packages/core/components/dialog-form/index.mjs +1 -1
  26. package/es/packages/core/components/dialog-form/index2.mjs +1 -1
  27. package/es/packages/core/components/dialog-form/index3.mjs +1 -1
  28. package/es/packages/core/components/dialog-form/index4.mjs +1 -1
  29. package/es/packages/core/components/form/custom.mjs +1 -1
  30. package/es/packages/core/components/form/index.mjs +1 -1
  31. package/es/packages/core/components/form/index2.mjs +1 -1
  32. package/es/packages/core/components/form/index3.mjs +1 -1
  33. package/es/packages/core/components/icon/index.mjs +1 -1
  34. package/es/packages/core/components/icon/index2.mjs +22 -1
  35. package/es/packages/core/components/icon/index3.mjs +19 -17
  36. package/es/packages/core/components/image-preview/index.mjs +1 -1
  37. package/es/packages/core/components/image-preview/index2.mjs +1 -1
  38. package/es/packages/core/components/image-preview/index3.mjs +1 -1
  39. package/es/packages/core/components/image-preview/index4.mjs +1 -1
  40. package/es/packages/core/directive/contextmenu.mjs +230 -89
  41. package/es/packages/core/directive/permission.mjs +1 -1
  42. package/es/packages/data/box/index.mjs +1 -1
  43. package/es/packages/data/box/index2.mjs +1 -1
  44. package/es/packages/data/box/index3.mjs +1 -1
  45. package/es/packages/data/card/index.mjs +1 -1
  46. package/es/packages/data/card/index2.mjs +1 -1
  47. package/es/packages/data/card/index3.mjs +1 -1
  48. package/es/packages/data/cardText/index.mjs +1 -1
  49. package/es/packages/data/cardText/index2.mjs +1 -1
  50. package/es/packages/data/cardText/index3.mjs +1 -1
  51. package/es/packages/data/countdown/index.mjs +1 -1
  52. package/es/packages/data/countdown/index2.mjs +1 -1
  53. package/es/packages/data/countdown/index3.mjs +1 -1
  54. package/es/packages/data/dashboard/index.mjs +1 -1
  55. package/es/packages/data/dashboard/index2.mjs +1 -1
  56. package/es/packages/data/dashboard/index3.mjs +1 -1
  57. package/es/packages/data/display/index.mjs +1 -1
  58. package/es/packages/data/display/index2.mjs +1 -1
  59. package/es/packages/data/display/index3.mjs +1 -1
  60. package/es/packages/data/icons/index.mjs +1 -1
  61. package/es/packages/data/icons/index2.mjs +1 -1
  62. package/es/packages/data/icons/index3.mjs +1 -1
  63. package/es/packages/data/imgText/index.mjs +1 -1
  64. package/es/packages/data/imgText/index2.mjs +1 -1
  65. package/es/packages/data/imgText/index3.mjs +1 -1
  66. package/es/packages/data/list/index.mjs +1 -1
  67. package/es/packages/data/list/index2.mjs +6 -1
  68. package/es/packages/data/list/index3.mjs +9 -6
  69. package/es/packages/data/notice/index.mjs +1 -1
  70. package/es/packages/data/notice/index2.mjs +1 -1
  71. package/es/packages/data/notice/index3.mjs +1 -1
  72. package/es/packages/data/operaText/index.mjs +1 -1
  73. package/es/packages/data/operaText/index2.mjs +1 -1
  74. package/es/packages/data/operaText/index3.mjs +1 -1
  75. package/es/packages/data/panel/index.mjs +1 -1
  76. package/es/packages/data/panel/index2.mjs +1 -1
  77. package/es/packages/data/panel/index3.mjs +1 -1
  78. package/es/packages/data/pay/index.mjs +1 -1
  79. package/es/packages/data/pay/index2.mjs +1 -1
  80. package/es/packages/data/pay/index3.mjs +1 -1
  81. package/es/packages/data/price/index.mjs +1 -1
  82. package/es/packages/data/price/index2.mjs +1 -1
  83. package/es/packages/data/price/index3.mjs +1 -1
  84. package/es/packages/data/product/index.mjs +1 -1
  85. package/es/packages/data/product/index2.mjs +1 -1
  86. package/es/packages/data/product/index3.mjs +1 -1
  87. package/es/packages/data/profile/index.mjs +1 -1
  88. package/es/packages/data/profile/index2.mjs +1 -1
  89. package/es/packages/data/profile/index3.mjs +1 -1
  90. package/es/packages/data/progress/index.mjs +1 -1
  91. package/es/packages/data/progress/index2.mjs +1 -1
  92. package/es/packages/data/progress/index3.mjs +1 -1
  93. package/es/packages/data/rank/index.mjs +1 -1
  94. package/es/packages/data/rank/index2.mjs +1 -1
  95. package/es/packages/data/rank/index3.mjs +1 -1
  96. package/es/packages/data/rotate/index.mjs +1 -1
  97. package/es/packages/data/rotate/index2.mjs +1 -1
  98. package/es/packages/data/rotate/index3.mjs +1 -1
  99. package/es/packages/data/statistic/index.mjs +1 -1
  100. package/es/packages/data/statistic/index2.mjs +15 -1
  101. package/es/packages/data/statistic/index3.mjs +9 -6
  102. package/es/packages/data/tabs/index.mjs +1 -1
  103. package/es/packages/data/tabs/index2.mjs +1 -1
  104. package/es/packages/data/tabs/index3.mjs +1 -1
  105. package/es/packages/data/task/index.mjs +1 -1
  106. package/es/packages/data/task/index2.mjs +1 -1
  107. package/es/packages/data/task/index3.mjs +1 -1
  108. package/es/packages/data/weather/index.mjs +1 -1
  109. package/es/packages/data/weather/index2.mjs +6 -1
  110. package/es/packages/data/weather/index3.mjs +7 -6
  111. package/es/packages/element-plus/array/index.mjs +1 -1
  112. package/es/packages/element-plus/array/index2.mjs +1 -1
  113. package/es/packages/element-plus/array/index3.mjs +1 -1
  114. package/es/packages/element-plus/article/index.mjs +1 -1
  115. package/es/packages/element-plus/article/index2.mjs +185 -20
  116. package/es/packages/element-plus/article/index3.mjs +98 -36
  117. package/es/packages/element-plus/captcha/index.mjs +8 -0
  118. package/es/packages/element-plus/captcha/index2.mjs +913 -0
  119. package/es/packages/element-plus/captcha/index3.mjs +519 -0
  120. package/es/packages/element-plus/cascader/index.mjs +1 -1
  121. package/es/packages/element-plus/cascader/index2.mjs +1 -1
  122. package/es/packages/element-plus/cascader/index3.mjs +1 -1
  123. package/es/packages/element-plus/chat/index.mjs +1 -1
  124. package/es/packages/element-plus/chat/index2.mjs +249 -203
  125. package/es/packages/element-plus/chat/index3.mjs +340 -264
  126. package/es/packages/element-plus/checkbox/index.mjs +1 -1
  127. package/es/packages/element-plus/checkbox/index2.mjs +1 -1
  128. package/es/packages/element-plus/checkbox/index3.mjs +1 -1
  129. package/es/packages/element-plus/comment/index.mjs +1 -1
  130. package/es/packages/element-plus/comment/index2.mjs +105 -32
  131. package/es/packages/element-plus/comment/index3.mjs +61 -22
  132. package/es/packages/element-plus/count-up/index.mjs +1 -1
  133. package/es/packages/element-plus/count-up/index2.mjs +1 -1
  134. package/es/packages/element-plus/count-up/index3.mjs +1 -1
  135. package/es/packages/element-plus/crud/column/column-default.mjs +1 -1
  136. package/es/packages/element-plus/crud/column/column-default2.mjs +1 -1
  137. package/es/packages/element-plus/crud/column/column-default3.mjs +1 -1
  138. package/es/packages/element-plus/crud/column/column-dynamic.mjs +1 -1
  139. package/es/packages/element-plus/crud/column/column-dynamic2.mjs +1 -1
  140. package/es/packages/element-plus/crud/column/column-dynamic3.mjs +1 -1
  141. package/es/packages/element-plus/crud/column/column-menu.mjs +1 -1
  142. package/es/packages/element-plus/crud/column/column-menu2.mjs +1 -1
  143. package/es/packages/element-plus/crud/column/column-menu3.mjs +1 -1
  144. package/es/packages/element-plus/crud/column/column-slot.mjs +1 -1
  145. package/es/packages/element-plus/crud/column/column-slot2.mjs +4 -4
  146. package/es/packages/element-plus/crud/column/column-slot3.mjs +1 -1
  147. package/es/packages/element-plus/crud/column/column.mjs +1 -1
  148. package/es/packages/element-plus/crud/column/column2.mjs +1 -1
  149. package/es/packages/element-plus/crud/column/column3.mjs +1 -1
  150. package/es/packages/element-plus/crud/column/menu.mjs +1 -1
  151. package/es/packages/element-plus/crud/column/menu2.mjs +1 -1
  152. package/es/packages/element-plus/crud/column/menu3.mjs +1 -1
  153. package/es/packages/element-plus/crud/config.mjs +1 -1
  154. package/es/packages/element-plus/crud/dialog/dialog-column.mjs +1 -1
  155. package/es/packages/element-plus/crud/dialog/dialog-column2.mjs +118 -40
  156. package/es/packages/element-plus/crud/dialog/dialog-column3.mjs +154 -72
  157. package/es/packages/element-plus/crud/dialog/dialog-excel.mjs +1 -1
  158. package/es/packages/element-plus/crud/dialog/dialog-excel2.mjs +2 -2
  159. package/es/packages/element-plus/crud/dialog/dialog-excel3.mjs +1 -1
  160. package/es/packages/element-plus/crud/dialog/dialog-filter.mjs +1 -1
  161. package/es/packages/element-plus/crud/dialog/dialog-filter2.mjs +1 -1
  162. package/es/packages/element-plus/crud/dialog/dialog-filter3.mjs +1 -1
  163. package/es/packages/element-plus/crud/dialog/dialog-form.mjs +1 -1
  164. package/es/packages/element-plus/crud/dialog/dialog-form2.mjs +1 -1
  165. package/es/packages/element-plus/crud/dialog/dialog-form3.mjs +1 -1
  166. package/es/packages/element-plus/crud/grid/index.mjs +1 -1
  167. package/es/packages/element-plus/crud/grid/index2.mjs +1 -1
  168. package/es/packages/element-plus/crud/grid/index3.mjs +1 -1
  169. package/es/packages/element-plus/crud/grid/item.mjs +1 -1
  170. package/es/packages/element-plus/crud/grid/item2.mjs +1 -1
  171. package/es/packages/element-plus/crud/grid/item3.mjs +1 -1
  172. package/es/packages/element-plus/crud/index.mjs +1 -1
  173. package/es/packages/element-plus/crud/index2.mjs +6 -3
  174. package/es/packages/element-plus/crud/index3.mjs +51 -20
  175. package/es/packages/element-plus/crud/menu/header-menu.mjs +1 -1
  176. package/es/packages/element-plus/crud/menu/header-menu2.mjs +14 -2
  177. package/es/packages/element-plus/crud/menu/header-menu3.mjs +123 -63
  178. package/es/packages/element-plus/crud/menu/header-search.mjs +1 -1
  179. package/es/packages/element-plus/crud/menu/header-search2.mjs +2 -1
  180. package/es/packages/element-plus/crud/menu/header-search3.mjs +1 -1
  181. package/es/packages/element-plus/crud/menu/table-page.mjs +1 -1
  182. package/es/packages/element-plus/crud/menu/table-page2.mjs +1 -1
  183. package/es/packages/element-plus/crud/menu/table-page3.mjs +1 -1
  184. package/es/packages/element-plus/date/index.mjs +1 -1
  185. package/es/packages/element-plus/date/index2.mjs +1 -1
  186. package/es/packages/element-plus/date/index3.mjs +1 -1
  187. package/es/packages/element-plus/draggable/index.mjs +1 -1
  188. package/es/packages/element-plus/draggable/index2.mjs +342 -294
  189. package/es/packages/element-plus/draggable/index3.mjs +37 -39
  190. package/es/packages/element-plus/dynamic/index.mjs +1 -1
  191. package/es/packages/element-plus/dynamic/index2.mjs +1 -1
  192. package/es/packages/element-plus/dynamic/index3.mjs +1 -1
  193. package/es/packages/element-plus/file-manager/index.mjs +8 -0
  194. package/es/packages/element-plus/file-manager/index2.mjs +574 -0
  195. package/es/packages/element-plus/file-manager/index3.mjs +814 -0
  196. package/es/packages/element-plus/filter-builder/index.mjs +8 -0
  197. package/es/packages/element-plus/filter-builder/index2.mjs +208 -0
  198. package/es/packages/element-plus/filter-builder/index3.mjs +290 -0
  199. package/es/packages/element-plus/flow/index.mjs +1 -1
  200. package/es/packages/element-plus/flow/index2.mjs +274 -232
  201. package/es/packages/element-plus/flow/index3.mjs +30 -19
  202. package/es/packages/element-plus/flow/node.mjs +1 -1
  203. package/es/packages/element-plus/flow/node2.mjs +23 -37
  204. package/es/packages/element-plus/flow/node3.mjs +20 -17
  205. package/es/packages/element-plus/form/config.mjs +1 -1
  206. package/es/packages/element-plus/form/index.mjs +1 -1
  207. package/es/packages/element-plus/form/index2.mjs +11 -8
  208. package/es/packages/element-plus/form/index3.mjs +20 -7
  209. package/es/packages/element-plus/form/menu.mjs +1 -1
  210. package/es/packages/element-plus/form/menu2.mjs +1 -1
  211. package/es/packages/element-plus/form/menu3.mjs +1 -1
  212. package/es/packages/element-plus/group/index.mjs +1 -1
  213. package/es/packages/element-plus/group/index2.mjs +6 -1
  214. package/es/packages/element-plus/group/index3.mjs +8 -5
  215. package/es/packages/element-plus/{card → iframe}/index.mjs +2 -2
  216. package/es/packages/element-plus/iframe/index2.mjs +190 -0
  217. package/es/packages/element-plus/iframe/index3.mjs +64 -0
  218. package/es/packages/element-plus/input/index.mjs +1 -1
  219. package/es/packages/element-plus/input/index2.mjs +1 -1
  220. package/es/packages/element-plus/input/index3.mjs +1 -1
  221. package/es/packages/element-plus/input-color/index.mjs +1 -1
  222. package/es/packages/element-plus/input-color/index2.mjs +1 -1
  223. package/es/packages/element-plus/input-color/index3.mjs +1 -1
  224. package/es/packages/element-plus/input-cron/index.mjs +1 -1
  225. package/es/packages/element-plus/input-cron/index2.mjs +7 -2
  226. package/es/packages/element-plus/input-cron/index3.mjs +8 -4
  227. package/es/packages/element-plus/input-icon/index.mjs +1 -1
  228. package/es/packages/element-plus/input-icon/index2.mjs +1 -1
  229. package/es/packages/element-plus/input-icon/index3.mjs +1 -1
  230. package/es/packages/element-plus/input-map/index.mjs +1 -1
  231. package/es/packages/element-plus/input-map/index2.mjs +1 -1
  232. package/es/packages/element-plus/input-map/index3.mjs +1 -1
  233. package/es/packages/element-plus/input-number/index.mjs +1 -1
  234. package/es/packages/element-plus/input-number/index2.mjs +1 -1
  235. package/es/packages/element-plus/input-number/index3.mjs +1 -1
  236. package/es/packages/element-plus/input-otp/index.mjs +8 -0
  237. package/es/packages/element-plus/input-otp/index2.mjs +67 -0
  238. package/es/packages/element-plus/input-otp/index3.mjs +41 -0
  239. package/es/packages/element-plus/input-table/index.mjs +1 -1
  240. package/es/packages/element-plus/input-table/index2.mjs +1 -1
  241. package/es/packages/element-plus/input-table/index3.mjs +1 -1
  242. package/es/packages/element-plus/input-tag/index.mjs +1 -1
  243. package/es/packages/element-plus/input-tag/index2.mjs +1 -1
  244. package/es/packages/element-plus/input-tag/index3.mjs +1 -1
  245. package/es/packages/element-plus/input-tree/index.mjs +1 -1
  246. package/es/packages/element-plus/input-tree/index2.mjs +1 -1
  247. package/es/packages/element-plus/input-tree/index3.mjs +1 -1
  248. package/es/packages/element-plus/license/index.mjs +1 -1
  249. package/es/packages/element-plus/license/index2.mjs +216 -106
  250. package/es/packages/element-plus/license/index3.mjs +45 -10
  251. package/es/packages/element-plus/login/index.mjs +1 -1
  252. package/es/packages/element-plus/login/index2.mjs +76 -50
  253. package/es/packages/element-plus/login/index3.mjs +57 -46
  254. package/es/packages/element-plus/mention/index.mjs +1 -1
  255. package/es/packages/element-plus/mention/index2.mjs +32 -8
  256. package/es/packages/element-plus/mention/index3.mjs +1 -1
  257. package/es/packages/element-plus/{verify → qrcode}/index.mjs +2 -2
  258. package/es/packages/element-plus/qrcode/index2.mjs +274 -0
  259. package/es/packages/element-plus/qrcode/index3.mjs +57 -0
  260. package/es/packages/element-plus/radio/index.mjs +1 -1
  261. package/es/packages/element-plus/radio/index2.mjs +1 -1
  262. package/es/packages/element-plus/radio/index3.mjs +1 -1
  263. package/es/packages/element-plus/rate/index.mjs +1 -1
  264. package/es/packages/element-plus/rate/index2.mjs +1 -1
  265. package/es/packages/element-plus/rate/index3.mjs +1 -1
  266. package/es/packages/element-plus/search/index.mjs +1 -1
  267. package/es/packages/element-plus/search/index2.mjs +1 -1
  268. package/es/packages/element-plus/search/index3.mjs +1 -1
  269. package/es/packages/element-plus/select/index.mjs +1 -1
  270. package/es/packages/element-plus/select/index2.mjs +31 -6
  271. package/es/packages/element-plus/select/index3.mjs +1 -1
  272. package/es/packages/element-plus/sign/index.mjs +1 -1
  273. package/es/packages/element-plus/sign/index2.mjs +266 -183
  274. package/es/packages/element-plus/sign/index3.mjs +71 -11
  275. package/es/packages/element-plus/slider/index.mjs +1 -1
  276. package/es/packages/element-plus/slider/index2.mjs +1 -1
  277. package/es/packages/element-plus/slider/index3.mjs +1 -1
  278. package/es/packages/element-plus/switch/index.mjs +1 -1
  279. package/es/packages/element-plus/switch/index2.mjs +1 -1
  280. package/es/packages/element-plus/switch/index3.mjs +1 -1
  281. package/es/packages/element-plus/tabs/index.mjs +1 -1
  282. package/es/packages/element-plus/tabs/index2.mjs +6 -1
  283. package/es/packages/element-plus/tabs/index3.mjs +23 -8
  284. package/es/packages/element-plus/text-ellipsis/index.mjs +1 -1
  285. package/es/packages/element-plus/text-ellipsis/index2.mjs +1 -1
  286. package/es/packages/element-plus/text-ellipsis/index3.mjs +1 -1
  287. package/es/packages/element-plus/time/index.mjs +1 -1
  288. package/es/packages/element-plus/time/index2.mjs +1 -1
  289. package/es/packages/element-plus/time/index3.mjs +1 -1
  290. package/es/packages/element-plus/title/index.mjs +1 -1
  291. package/es/packages/element-plus/title/index2.mjs +1 -1
  292. package/es/packages/element-plus/title/index3.mjs +1 -1
  293. package/es/packages/element-plus/tree/index.mjs +1 -1
  294. package/es/packages/element-plus/tree/index2.mjs +1 -1
  295. package/es/packages/element-plus/tree/index3.mjs +1 -1
  296. package/es/packages/element-plus/upload/index.mjs +1 -1
  297. package/es/packages/element-plus/upload/index2.mjs +1 -1
  298. package/es/packages/element-plus/upload/index3.mjs +1 -1
  299. package/es/packages/element-plus/video/index.mjs +1 -1
  300. package/es/packages/element-plus/video/index2.mjs +183 -32
  301. package/es/packages/element-plus/video/index3.mjs +65 -29
  302. package/es/src/core/column-state.mjs +1 -1
  303. package/es/src/core/create.mjs +1 -1
  304. package/es/src/core/dataformat.mjs +1 -1
  305. package/es/src/core/detail.mjs +1 -1
  306. package/es/src/core/dic.mjs +108 -136
  307. package/es/src/core/locale.mjs +1 -1
  308. package/es/src/core/option.mjs +3 -1
  309. package/es/src/core/packages.mjs +4 -4
  310. package/es/src/core/slot.mjs +1 -1
  311. package/es/src/global/variable.mjs +2 -2
  312. package/es/src/icon.mjs +1 -1
  313. package/es/src/index.mjs +13 -5
  314. package/es/src/locale/index.mjs +1 -1
  315. package/es/src/locale/lang/en.mjs +12 -2
  316. package/es/src/locale/lang/zh-cn.mjs +12 -2
  317. package/es/src/locale/lang/zh.mjs +12 -2
  318. package/es/src/plugin/ali/index.mjs +1 -1
  319. package/es/src/plugin/clipboard/index.mjs +42 -57
  320. package/es/src/plugin/export/_blob.mjs +1 -1
  321. package/es/src/plugin/export/_export2Excel.mjs +1 -1
  322. package/es/src/plugin/export/index.mjs +122 -67
  323. package/es/src/plugin/logs/index.mjs +1 -1
  324. package/es/src/plugin/print/index.mjs +205 -128
  325. package/es/src/plugin/qiniu/index.mjs +1 -1
  326. package/es/src/plugin/screenshot/index.mjs +26 -4
  327. package/es/src/plugin/video/index.mjs +117 -28
  328. package/es/src/plugin/watermark/index.mjs +58 -102
  329. package/es/src/plugin/watermark/watermark.mjs +123 -80
  330. package/es/src/ui/data/index.mjs +1 -1
  331. package/es/src/ui/element-plus/index.mjs +100 -88
  332. package/es/src/ui/index.mjs +1 -1
  333. package/es/src/utils/bem.mjs +1 -1
  334. package/es/src/utils/mock.mjs +1 -1
  335. package/es/src/utils/print.mjs +216 -0
  336. package/es/src/utils/util.mjs +1 -1
  337. package/es/src/utils/validate.mjs +1 -1
  338. package/es/src/version.mjs +2 -2
  339. package/lib/_virtual/_commonjsHelpers.js +1 -1
  340. package/lib/_virtual/dayjs.min.js +1 -1
  341. package/lib/_virtual/dayjs.min2.js +1 -1
  342. package/lib/index.css +1 -1
  343. package/lib/locale/browser/en.js +299 -289
  344. package/lib/locale/browser/zh-cn.js +299 -289
  345. package/lib/locale/browser/zh.js +299 -289
  346. package/lib/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js +1 -1
  347. package/lib/node_modules/.pnpm/qrcode-generator@2.0.4/node_modules/qrcode-generator/dist/qrcode.js +2240 -0
  348. package/lib/packages/core/common/event.js +1 -1
  349. package/lib/packages/core/common/init.js +87 -12
  350. package/lib/packages/core/common/props.js +1 -1
  351. package/lib/packages/core/components/dialog-form/index.js +1 -1
  352. package/lib/packages/core/components/dialog-form/index2.js +1 -1
  353. package/lib/packages/core/components/dialog-form/index3.js +1 -1
  354. package/lib/packages/core/components/dialog-form/index4.js +1 -1
  355. package/lib/packages/core/components/form/custom.js +1 -1
  356. package/lib/packages/core/components/form/index.js +1 -1
  357. package/lib/packages/core/components/form/index2.js +1 -1
  358. package/lib/packages/core/components/form/index3.js +1 -1
  359. package/lib/packages/core/components/icon/index.js +1 -1
  360. package/lib/packages/core/components/icon/index2.js +22 -1
  361. package/lib/packages/core/components/icon/index3.js +18 -16
  362. package/lib/packages/core/components/image-preview/index.js +1 -1
  363. package/lib/packages/core/components/image-preview/index2.js +1 -1
  364. package/lib/packages/core/components/image-preview/index3.js +1 -1
  365. package/lib/packages/core/components/image-preview/index4.js +1 -1
  366. package/lib/packages/core/directive/contextmenu.js +230 -89
  367. package/lib/packages/core/directive/permission.js +1 -1
  368. package/lib/packages/data/box/index.js +1 -1
  369. package/lib/packages/data/box/index2.js +1 -1
  370. package/lib/packages/data/box/index3.js +1 -1
  371. package/lib/packages/data/card/index.js +1 -1
  372. package/lib/packages/data/card/index2.js +1 -1
  373. package/lib/packages/data/card/index3.js +1 -1
  374. package/lib/packages/data/cardText/index.js +1 -1
  375. package/lib/packages/data/cardText/index2.js +1 -1
  376. package/lib/packages/data/cardText/index3.js +1 -1
  377. package/lib/packages/data/countdown/index.js +1 -1
  378. package/lib/packages/data/countdown/index2.js +1 -1
  379. package/lib/packages/data/countdown/index3.js +1 -1
  380. package/lib/packages/data/dashboard/index.js +1 -1
  381. package/lib/packages/data/dashboard/index2.js +1 -1
  382. package/lib/packages/data/dashboard/index3.js +1 -1
  383. package/lib/packages/data/display/index.js +1 -1
  384. package/lib/packages/data/display/index2.js +1 -1
  385. package/lib/packages/data/display/index3.js +1 -1
  386. package/lib/packages/data/icons/index.js +1 -1
  387. package/lib/packages/data/icons/index2.js +1 -1
  388. package/lib/packages/data/icons/index3.js +1 -1
  389. package/lib/packages/data/imgText/index.js +1 -1
  390. package/lib/packages/data/imgText/index2.js +1 -1
  391. package/lib/packages/data/imgText/index3.js +1 -1
  392. package/lib/packages/data/list/index.js +1 -1
  393. package/lib/packages/data/list/index2.js +6 -1
  394. package/lib/packages/data/list/index3.js +8 -5
  395. package/lib/packages/data/notice/index.js +1 -1
  396. package/lib/packages/data/notice/index2.js +1 -1
  397. package/lib/packages/data/notice/index3.js +1 -1
  398. package/lib/packages/data/operaText/index.js +1 -1
  399. package/lib/packages/data/operaText/index2.js +1 -1
  400. package/lib/packages/data/operaText/index3.js +1 -1
  401. package/lib/packages/data/panel/index.js +1 -1
  402. package/lib/packages/data/panel/index2.js +1 -1
  403. package/lib/packages/data/panel/index3.js +1 -1
  404. package/lib/packages/data/pay/index.js +1 -1
  405. package/lib/packages/data/pay/index2.js +1 -1
  406. package/lib/packages/data/pay/index3.js +1 -1
  407. package/lib/packages/data/price/index.js +1 -1
  408. package/lib/packages/data/price/index2.js +1 -1
  409. package/lib/packages/data/price/index3.js +1 -1
  410. package/lib/packages/data/product/index.js +1 -1
  411. package/lib/packages/data/product/index2.js +1 -1
  412. package/lib/packages/data/product/index3.js +1 -1
  413. package/lib/packages/data/profile/index.js +1 -1
  414. package/lib/packages/data/profile/index2.js +1 -1
  415. package/lib/packages/data/profile/index3.js +1 -1
  416. package/lib/packages/data/progress/index.js +1 -1
  417. package/lib/packages/data/progress/index2.js +1 -1
  418. package/lib/packages/data/progress/index3.js +1 -1
  419. package/lib/packages/data/rank/index.js +1 -1
  420. package/lib/packages/data/rank/index2.js +1 -1
  421. package/lib/packages/data/rank/index3.js +1 -1
  422. package/lib/packages/data/rotate/index.js +1 -1
  423. package/lib/packages/data/rotate/index2.js +1 -1
  424. package/lib/packages/data/rotate/index3.js +1 -1
  425. package/lib/packages/data/statistic/index.js +1 -1
  426. package/lib/packages/data/statistic/index2.js +15 -1
  427. package/lib/packages/data/statistic/index3.js +8 -5
  428. package/lib/packages/data/tabs/index.js +1 -1
  429. package/lib/packages/data/tabs/index2.js +1 -1
  430. package/lib/packages/data/tabs/index3.js +1 -1
  431. package/lib/packages/data/task/index.js +1 -1
  432. package/lib/packages/data/task/index2.js +1 -1
  433. package/lib/packages/data/task/index3.js +1 -1
  434. package/lib/packages/data/weather/index.js +1 -1
  435. package/lib/packages/data/weather/index2.js +6 -1
  436. package/lib/packages/data/weather/index3.js +6 -5
  437. package/lib/packages/element-plus/array/index.js +1 -1
  438. package/lib/packages/element-plus/array/index2.js +1 -1
  439. package/lib/packages/element-plus/array/index3.js +1 -1
  440. package/lib/packages/element-plus/article/index.js +1 -1
  441. package/lib/packages/element-plus/article/index2.js +185 -20
  442. package/lib/packages/element-plus/article/index3.js +97 -35
  443. package/lib/packages/element-plus/captcha/index.js +12 -0
  444. package/lib/packages/element-plus/captcha/index2.js +917 -0
  445. package/lib/packages/element-plus/captcha/index3.js +521 -0
  446. package/lib/packages/element-plus/cascader/index.js +1 -1
  447. package/lib/packages/element-plus/cascader/index2.js +1 -1
  448. package/lib/packages/element-plus/cascader/index3.js +1 -1
  449. package/lib/packages/element-plus/chat/index.js +1 -1
  450. package/lib/packages/element-plus/chat/index2.js +249 -203
  451. package/lib/packages/element-plus/chat/index3.js +339 -263
  452. package/lib/packages/element-plus/checkbox/index.js +1 -1
  453. package/lib/packages/element-plus/checkbox/index2.js +1 -1
  454. package/lib/packages/element-plus/checkbox/index3.js +1 -1
  455. package/lib/packages/element-plus/comment/index.js +1 -1
  456. package/lib/packages/element-plus/comment/index2.js +105 -32
  457. package/lib/packages/element-plus/comment/index3.js +60 -21
  458. package/lib/packages/element-plus/count-up/index.js +1 -1
  459. package/lib/packages/element-plus/count-up/index2.js +1 -1
  460. package/lib/packages/element-plus/count-up/index3.js +1 -1
  461. package/lib/packages/element-plus/crud/column/column-default.js +1 -1
  462. package/lib/packages/element-plus/crud/column/column-default2.js +1 -1
  463. package/lib/packages/element-plus/crud/column/column-default3.js +1 -1
  464. package/lib/packages/element-plus/crud/column/column-dynamic.js +1 -1
  465. package/lib/packages/element-plus/crud/column/column-dynamic2.js +1 -1
  466. package/lib/packages/element-plus/crud/column/column-dynamic3.js +1 -1
  467. package/lib/packages/element-plus/crud/column/column-menu.js +1 -1
  468. package/lib/packages/element-plus/crud/column/column-menu2.js +1 -1
  469. package/lib/packages/element-plus/crud/column/column-menu3.js +1 -1
  470. package/lib/packages/element-plus/crud/column/column-slot.js +1 -1
  471. package/lib/packages/element-plus/crud/column/column-slot2.js +4 -4
  472. package/lib/packages/element-plus/crud/column/column-slot3.js +1 -1
  473. package/lib/packages/element-plus/crud/column/column.js +1 -1
  474. package/lib/packages/element-plus/crud/column/column2.js +1 -1
  475. package/lib/packages/element-plus/crud/column/column3.js +1 -1
  476. package/lib/packages/element-plus/crud/column/menu.js +1 -1
  477. package/lib/packages/element-plus/crud/column/menu2.js +1 -1
  478. package/lib/packages/element-plus/crud/column/menu3.js +1 -1
  479. package/lib/packages/element-plus/crud/config.js +1 -1
  480. package/lib/packages/element-plus/crud/dialog/dialog-column.js +1 -1
  481. package/lib/packages/element-plus/crud/dialog/dialog-column2.js +118 -40
  482. package/lib/packages/element-plus/crud/dialog/dialog-column3.js +153 -71
  483. package/lib/packages/element-plus/crud/dialog/dialog-excel.js +1 -1
  484. package/lib/packages/element-plus/crud/dialog/dialog-excel2.js +2 -2
  485. package/lib/packages/element-plus/crud/dialog/dialog-excel3.js +1 -1
  486. package/lib/packages/element-plus/crud/dialog/dialog-filter.js +1 -1
  487. package/lib/packages/element-plus/crud/dialog/dialog-filter2.js +1 -1
  488. package/lib/packages/element-plus/crud/dialog/dialog-filter3.js +1 -1
  489. package/lib/packages/element-plus/crud/dialog/dialog-form.js +1 -1
  490. package/lib/packages/element-plus/crud/dialog/dialog-form2.js +1 -1
  491. package/lib/packages/element-plus/crud/dialog/dialog-form3.js +1 -1
  492. package/lib/packages/element-plus/crud/grid/index.js +1 -1
  493. package/lib/packages/element-plus/crud/grid/index2.js +1 -1
  494. package/lib/packages/element-plus/crud/grid/index3.js +1 -1
  495. package/lib/packages/element-plus/crud/grid/item.js +1 -1
  496. package/lib/packages/element-plus/crud/grid/item2.js +1 -1
  497. package/lib/packages/element-plus/crud/grid/item3.js +1 -1
  498. package/lib/packages/element-plus/crud/index.js +1 -1
  499. package/lib/packages/element-plus/crud/index2.js +6 -3
  500. package/lib/packages/element-plus/crud/index3.js +51 -20
  501. package/lib/packages/element-plus/crud/menu/header-menu.js +1 -1
  502. package/lib/packages/element-plus/crud/menu/header-menu2.js +14 -2
  503. package/lib/packages/element-plus/crud/menu/header-menu3.js +122 -62
  504. package/lib/packages/element-plus/crud/menu/header-search.js +1 -1
  505. package/lib/packages/element-plus/crud/menu/header-search2.js +2 -1
  506. package/lib/packages/element-plus/crud/menu/header-search3.js +1 -1
  507. package/lib/packages/element-plus/crud/menu/table-page.js +1 -1
  508. package/lib/packages/element-plus/crud/menu/table-page2.js +1 -1
  509. package/lib/packages/element-plus/crud/menu/table-page3.js +1 -1
  510. package/lib/packages/element-plus/date/index.js +1 -1
  511. package/lib/packages/element-plus/date/index2.js +1 -1
  512. package/lib/packages/element-plus/date/index3.js +1 -1
  513. package/lib/packages/element-plus/draggable/index.js +1 -1
  514. package/lib/packages/element-plus/draggable/index2.js +342 -294
  515. package/lib/packages/element-plus/draggable/index3.js +36 -38
  516. package/lib/packages/element-plus/dynamic/index.js +1 -1
  517. package/lib/packages/element-plus/dynamic/index2.js +1 -1
  518. package/lib/packages/element-plus/dynamic/index3.js +1 -1
  519. package/lib/packages/element-plus/file-manager/index.js +12 -0
  520. package/lib/packages/element-plus/file-manager/index2.js +578 -0
  521. package/lib/packages/element-plus/file-manager/index3.js +816 -0
  522. package/lib/packages/element-plus/filter-builder/index.js +12 -0
  523. package/lib/packages/element-plus/filter-builder/index2.js +212 -0
  524. package/lib/packages/element-plus/filter-builder/index3.js +292 -0
  525. package/lib/packages/element-plus/flow/index.js +1 -1
  526. package/lib/packages/element-plus/flow/index2.js +274 -232
  527. package/lib/packages/element-plus/flow/index3.js +29 -18
  528. package/lib/packages/element-plus/flow/node.js +1 -1
  529. package/lib/packages/element-plus/flow/node2.js +23 -37
  530. package/lib/packages/element-plus/flow/node3.js +19 -16
  531. package/lib/packages/element-plus/form/config.js +1 -1
  532. package/lib/packages/element-plus/form/index.js +1 -1
  533. package/lib/packages/element-plus/form/index2.js +9 -6
  534. package/lib/packages/element-plus/form/index3.js +20 -7
  535. package/lib/packages/element-plus/form/menu.js +1 -1
  536. package/lib/packages/element-plus/form/menu2.js +1 -1
  537. package/lib/packages/element-plus/form/menu3.js +1 -1
  538. package/lib/packages/element-plus/group/index.js +1 -1
  539. package/lib/packages/element-plus/group/index2.js +6 -1
  540. package/lib/packages/element-plus/group/index3.js +7 -4
  541. package/lib/packages/element-plus/{card → iframe}/index.js +4 -4
  542. package/lib/packages/element-plus/iframe/index2.js +194 -0
  543. package/lib/packages/element-plus/iframe/index3.js +66 -0
  544. package/lib/packages/element-plus/input/index.js +1 -1
  545. package/lib/packages/element-plus/input/index2.js +1 -1
  546. package/lib/packages/element-plus/input/index3.js +1 -1
  547. package/lib/packages/element-plus/input-color/index.js +1 -1
  548. package/lib/packages/element-plus/input-color/index2.js +1 -1
  549. package/lib/packages/element-plus/input-color/index3.js +1 -1
  550. package/lib/packages/element-plus/input-cron/index.js +1 -1
  551. package/lib/packages/element-plus/input-cron/index2.js +7 -2
  552. package/lib/packages/element-plus/input-cron/index3.js +8 -4
  553. package/lib/packages/element-plus/input-icon/index.js +1 -1
  554. package/lib/packages/element-plus/input-icon/index2.js +1 -1
  555. package/lib/packages/element-plus/input-icon/index3.js +1 -1
  556. package/lib/packages/element-plus/input-map/index.js +1 -1
  557. package/lib/packages/element-plus/input-map/index2.js +1 -1
  558. package/lib/packages/element-plus/input-map/index3.js +1 -1
  559. package/lib/packages/element-plus/input-number/index.js +1 -1
  560. package/lib/packages/element-plus/input-number/index2.js +1 -1
  561. package/lib/packages/element-plus/input-number/index3.js +1 -1
  562. package/lib/packages/element-plus/input-otp/index.js +12 -0
  563. package/lib/packages/element-plus/input-otp/index2.js +71 -0
  564. package/lib/packages/element-plus/input-otp/index3.js +43 -0
  565. package/lib/packages/element-plus/input-table/index.js +1 -1
  566. package/lib/packages/element-plus/input-table/index2.js +1 -1
  567. package/lib/packages/element-plus/input-table/index3.js +1 -1
  568. package/lib/packages/element-plus/input-tag/index.js +1 -1
  569. package/lib/packages/element-plus/input-tag/index2.js +1 -1
  570. package/lib/packages/element-plus/input-tag/index3.js +1 -1
  571. package/lib/packages/element-plus/input-tree/index.js +1 -1
  572. package/lib/packages/element-plus/input-tree/index2.js +1 -1
  573. package/lib/packages/element-plus/input-tree/index3.js +1 -1
  574. package/lib/packages/element-plus/license/index.js +1 -1
  575. package/lib/packages/element-plus/license/index2.js +216 -106
  576. package/lib/packages/element-plus/license/index3.js +44 -9
  577. package/lib/packages/element-plus/login/index.js +1 -1
  578. package/lib/packages/element-plus/login/index2.js +76 -50
  579. package/lib/packages/element-plus/login/index3.js +56 -45
  580. package/lib/packages/element-plus/mention/index.js +1 -1
  581. package/lib/packages/element-plus/mention/index2.js +32 -8
  582. package/lib/packages/element-plus/mention/index3.js +1 -1
  583. package/lib/packages/element-plus/{verify → qrcode}/index.js +4 -4
  584. package/lib/packages/element-plus/qrcode/index2.js +278 -0
  585. package/lib/packages/element-plus/qrcode/index3.js +59 -0
  586. package/lib/packages/element-plus/radio/index.js +1 -1
  587. package/lib/packages/element-plus/radio/index2.js +1 -1
  588. package/lib/packages/element-plus/radio/index3.js +1 -1
  589. package/lib/packages/element-plus/rate/index.js +1 -1
  590. package/lib/packages/element-plus/rate/index2.js +1 -1
  591. package/lib/packages/element-plus/rate/index3.js +1 -1
  592. package/lib/packages/element-plus/search/index.js +1 -1
  593. package/lib/packages/element-plus/search/index2.js +1 -1
  594. package/lib/packages/element-plus/search/index3.js +1 -1
  595. package/lib/packages/element-plus/select/index.js +1 -1
  596. package/lib/packages/element-plus/select/index2.js +31 -6
  597. package/lib/packages/element-plus/select/index3.js +1 -1
  598. package/lib/packages/element-plus/sign/index.js +1 -1
  599. package/lib/packages/element-plus/sign/index2.js +266 -183
  600. package/lib/packages/element-plus/sign/index3.js +70 -10
  601. package/lib/packages/element-plus/slider/index.js +1 -1
  602. package/lib/packages/element-plus/slider/index2.js +1 -1
  603. package/lib/packages/element-plus/slider/index3.js +1 -1
  604. package/lib/packages/element-plus/switch/index.js +1 -1
  605. package/lib/packages/element-plus/switch/index2.js +1 -1
  606. package/lib/packages/element-plus/switch/index3.js +1 -1
  607. package/lib/packages/element-plus/tabs/index.js +1 -1
  608. package/lib/packages/element-plus/tabs/index2.js +6 -1
  609. package/lib/packages/element-plus/tabs/index3.js +22 -7
  610. package/lib/packages/element-plus/text-ellipsis/index.js +1 -1
  611. package/lib/packages/element-plus/text-ellipsis/index2.js +1 -1
  612. package/lib/packages/element-plus/text-ellipsis/index3.js +1 -1
  613. package/lib/packages/element-plus/time/index.js +1 -1
  614. package/lib/packages/element-plus/time/index2.js +1 -1
  615. package/lib/packages/element-plus/time/index3.js +1 -1
  616. package/lib/packages/element-plus/title/index.js +1 -1
  617. package/lib/packages/element-plus/title/index2.js +1 -1
  618. package/lib/packages/element-plus/title/index3.js +1 -1
  619. package/lib/packages/element-plus/tree/index.js +1 -1
  620. package/lib/packages/element-plus/tree/index2.js +1 -1
  621. package/lib/packages/element-plus/tree/index3.js +1 -1
  622. package/lib/packages/element-plus/upload/index.js +1 -1
  623. package/lib/packages/element-plus/upload/index2.js +1 -1
  624. package/lib/packages/element-plus/upload/index3.js +1 -1
  625. package/lib/packages/element-plus/video/index.js +1 -1
  626. package/lib/packages/element-plus/video/index2.js +183 -32
  627. package/lib/packages/element-plus/video/index3.js +64 -28
  628. package/lib/src/core/column-state.js +1 -1
  629. package/lib/src/core/create.js +1 -1
  630. package/lib/src/core/dataformat.js +1 -1
  631. package/lib/src/core/detail.js +1 -1
  632. package/lib/src/core/dic.js +108 -136
  633. package/lib/src/core/locale.js +1 -1
  634. package/lib/src/core/option.js +3 -1
  635. package/lib/src/core/packages.js +4 -4
  636. package/lib/src/core/slot.js +1 -1
  637. package/lib/src/global/variable.js +2 -2
  638. package/lib/src/icon.js +1 -1
  639. package/lib/src/index.js +77 -65
  640. package/lib/src/locale/index.js +1 -1
  641. package/lib/src/locale/lang/en.js +12 -2
  642. package/lib/src/locale/lang/zh-cn.js +12 -2
  643. package/lib/src/locale/lang/zh.js +12 -2
  644. package/lib/src/plugin/ali/index.js +1 -1
  645. package/lib/src/plugin/clipboard/index.js +42 -57
  646. package/lib/src/plugin/export/_blob.js +1 -1
  647. package/lib/src/plugin/export/_export2Excel.js +1 -1
  648. package/lib/src/plugin/export/index.js +122 -67
  649. package/lib/src/plugin/logs/index.js +1 -1
  650. package/lib/src/plugin/print/index.js +205 -128
  651. package/lib/src/plugin/qiniu/index.js +1 -1
  652. package/lib/src/plugin/screenshot/index.js +26 -4
  653. package/lib/src/plugin/video/index.js +117 -28
  654. package/lib/src/plugin/watermark/index.js +58 -102
  655. package/lib/src/plugin/watermark/watermark.js +123 -80
  656. package/lib/src/ui/data/index.js +1 -1
  657. package/lib/src/ui/element-plus/index.js +112 -96
  658. package/lib/src/ui/index.js +1 -1
  659. package/lib/src/utils/bem.js +1 -1
  660. package/lib/src/utils/mock.js +1 -1
  661. package/lib/src/utils/print.js +218 -0
  662. package/lib/src/utils/util.js +1 -1
  663. package/lib/src/utils/validate.js +1 -1
  664. package/lib/src/version.js +2 -2
  665. package/package.json +4 -2
  666. package/types/index.d.ts +74 -19
  667. package/es/packages/element-plus/card/index2.mjs +0 -65
  668. package/es/packages/element-plus/card/index3.mjs +0 -94
  669. package/es/packages/element-plus/verify/index2.mjs +0 -52
  670. package/es/packages/element-plus/verify/index3.mjs +0 -18
  671. package/lib/packages/element-plus/card/index2.js +0 -69
  672. package/lib/packages/element-plus/card/index3.js +0 -96
  673. package/lib/packages/element-plus/verify/index2.js +0 -56
  674. package/lib/packages/element-plus/verify/index3.js +0 -20
@@ -0,0 +1,574 @@
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
+ import create from '../../../src/core/create.mjs';
3
+
4
+ const ROOT_FOLDER_ID = "__avue_root__";
5
+ const IMAGE_EXTENSIONS = ["bmp", "gif", "jpeg", "jpg", "png", "svg", "webp"];
6
+ const VIDEO_EXTENSIONS = ["m4v", "mov", "mp4", "ogv", "webm"];
7
+ const AUDIO_EXTENSIONS = ["aac", "flac", "m4a", "mp3", "oga", "ogg", "wav"];
8
+ const TEXT_EXTENSIONS = ["csv", "css", "html", "htm", "js", "json", "log", "md", "sql", "text", "ts", "txt", "xml", "yaml", "yml"];
9
+
10
+ var script = create({
11
+ name: "file-manager",
12
+ props: {
13
+ modelValue: {
14
+ type: Array,
15
+ default: () => [],
16
+ },
17
+ folders: {
18
+ type: Array,
19
+ default: () => [],
20
+ },
21
+ rootLabel: {
22
+ type: String,
23
+ default: "全部文件",
24
+ },
25
+ height: {
26
+ type: [Number, String],
27
+ default: 560,
28
+ },
29
+ accept: {
30
+ type: String,
31
+ default: "",
32
+ },
33
+ multiple: {
34
+ type: Boolean,
35
+ default: true,
36
+ },
37
+ maxSize: {
38
+ type: Number,
39
+ default: 0,
40
+ },
41
+ showUpload: {
42
+ type: Boolean,
43
+ default: true,
44
+ },
45
+ showPreview: {
46
+ type: Boolean,
47
+ default: true,
48
+ },
49
+ download: {
50
+ type: Boolean,
51
+ default: true,
52
+ },
53
+ disabled: {
54
+ type: Boolean,
55
+ default: false,
56
+ },
57
+ readonly: {
58
+ type: Boolean,
59
+ default: false,
60
+ },
61
+ uploadRequest: Function,
62
+ },
63
+ emits: [
64
+ "update:modelValue",
65
+ "update:folders",
66
+ "change",
67
+ "select",
68
+ "preview",
69
+ "download",
70
+ "upload",
71
+ "remove",
72
+ "error",
73
+ "folder-change",
74
+ "folder-create",
75
+ "folder-rename",
76
+ "folder-remove",
77
+ ],
78
+ data() {
79
+ return {
80
+ rootFolderId: ROOT_FOLDER_ID,
81
+ localFiles: this.normalizeFiles(this.modelValue),
82
+ localFolders: this.normalizeFolders(this.folders),
83
+ activeFolderId: ROOT_FOLDER_ID,
84
+ selectedFileId: "",
85
+ keyword: "",
86
+ idSeed: 0,
87
+ folderDialogVisible: false,
88
+ folderDialogError: "",
89
+ folderName: "",
90
+ folderDialogMode: "create",
91
+ folderTargetId: ROOT_FOLDER_ID,
92
+ folderDeleteDialogVisible: false,
93
+ folderToDelete: null,
94
+ renameDialogVisible: false,
95
+ renameDialogError: "",
96
+ renameValue: "",
97
+ moveDialogVisible: false,
98
+ targetFolderId: ROOT_FOLDER_ID,
99
+ textContent: "",
100
+ textError: "",
101
+ textLoading: false,
102
+ requestSeed: 0,
103
+ requestController: null,
104
+ };
105
+ },
106
+ computed: {
107
+ isDisabled() {
108
+ return this.disabled || this.readonly;
109
+ },
110
+ treeProps() {
111
+ return { label: "name", children: "children" };
112
+ },
113
+ folderTree() {
114
+ const nodes = {};
115
+ const root = [];
116
+ this.localFolders.forEach((folder) => {
117
+ nodes[folder.id] = { ...folder, children: [] };
118
+ });
119
+ Object.values(nodes).forEach((folder) => {
120
+ if (folder.parentId && nodes[folder.parentId]) {
121
+ nodes[folder.parentId].children.push(folder);
122
+ } else {
123
+ root.push(folder);
124
+ }
125
+ });
126
+ return root;
127
+ },
128
+ activeFolderName() {
129
+ if (this.activeFolderId === ROOT_FOLDER_ID) return this.rootLabel;
130
+ return (this.localFolders.find((folder) => folder.id === this.activeFolderId) || {}).name || this.rootLabel;
131
+ },
132
+ folderDialogTitle() {
133
+ return this.folderDialogMode === "rename" ? "重命名文件夹" : "新建文件夹";
134
+ },
135
+ rootFilesCount() {
136
+ return this.localFiles.filter((file) => file.folderId === ROOT_FOLDER_ID).length;
137
+ },
138
+ visibleFiles() {
139
+ const keyword = this.keyword.trim().toLowerCase();
140
+ return this.localFiles.filter((file) => {
141
+ const sameFolder = file.folderId === this.activeFolderId;
142
+ return sameFolder && (!keyword || file.name.toLowerCase().includes(keyword));
143
+ });
144
+ },
145
+ selectedFile() {
146
+ return this.localFiles.find((file) => file.id === this.selectedFileId) || null;
147
+ },
148
+ workspaceStyle() {
149
+ const height = typeof this.height === "number" ? `${this.height}px` : this.height;
150
+ return { minHeight: height };
151
+ },
152
+ previewHeight() {
153
+ if (typeof this.height === "number") return Math.max(this.height - 54, 280);
154
+ return this.height;
155
+ },
156
+ previewContentStyle() {
157
+ const height = typeof this.previewHeight === "number" ? `${this.previewHeight}px` : this.previewHeight;
158
+ return { minHeight: height };
159
+ },
160
+ downloadable() {
161
+ return this.download && this.selectedFile && Boolean(this.selectedFile.url || this.selectedFile.downloadUrl);
162
+ },
163
+ },
164
+ watch: {
165
+ modelValue: {
166
+ deep: true,
167
+ handler(value) {
168
+ this.syncFiles(value);
169
+ },
170
+ },
171
+ folders: {
172
+ deep: true,
173
+ handler(value) {
174
+ this.localFolders = this.normalizeFolders(value);
175
+ if (this.activeFolderId !== ROOT_FOLDER_ID && !this.localFolders.some((folder) => folder.id === this.activeFolderId)) {
176
+ this.selectFolder(ROOT_FOLDER_ID);
177
+ }
178
+ },
179
+ },
180
+ selectedFile: {
181
+ immediate: true,
182
+ handler(file) {
183
+ this.loadTextContent(file);
184
+ },
185
+ },
186
+ },
187
+ beforeUnmount() {
188
+ this.abortTextRequest();
189
+ this.localFiles.forEach((file) => this.revokeObjectUrl(file));
190
+ },
191
+ methods: {
192
+ createLocalId(prefix) {
193
+ const seed = Number(this.idSeed) || 0;
194
+ this.idSeed = seed + 1;
195
+ return `${prefix}_${Date.now()}_${this.idSeed}`;
196
+ },
197
+ normalizeFiles(files) {
198
+ const previousFiles = Array.isArray(this.localFiles) ? this.localFiles : [];
199
+ return (Array.isArray(files) ? files : []).map((file) => {
200
+ const value = file || {};
201
+ const id = value.id || value.uid || this.createLocalId("file");
202
+ const previous = previousFiles.find((item) => item.id === id && item.url === value.url);
203
+ return {
204
+ ...value,
205
+ id,
206
+ name: value.name || this.getFileName(value.url) || "未命名文件",
207
+ url: value.url || value.downloadUrl || "",
208
+ folderId: value.folderId || ROOT_FOLDER_ID,
209
+ status: value.status || "success",
210
+ _objectUrl: previous && previous._objectUrl,
211
+ };
212
+ });
213
+ },
214
+ normalizeFolders(folders) {
215
+ const result = [];
216
+ const append = (items, parentId = "") => {
217
+ (Array.isArray(items) ? items : []).forEach((folder) => {
218
+ const value = folder || {};
219
+ const id = value.id || this.createLocalId("folder");
220
+ result.push({
221
+ ...value,
222
+ id,
223
+ name: value.name || "未命名文件夹",
224
+ parentId: value.parentId || parentId || "",
225
+ });
226
+ if (value.children) append(value.children, id);
227
+ });
228
+ };
229
+ append(folders);
230
+ return result;
231
+ },
232
+ syncFiles(files) {
233
+ const nextFiles = this.normalizeFiles(files);
234
+ this.localFiles.forEach((file) => {
235
+ if (!nextFiles.some((next) => next.id === file.id && next.url === file.url)) {
236
+ this.revokeObjectUrl(file);
237
+ }
238
+ });
239
+ this.localFiles = nextFiles;
240
+ if (this.selectedFileId && !this.selectedFile) this.selectedFileId = "";
241
+ },
242
+ toExternalFile(file) {
243
+ const { _objectUrl, ...value } = file;
244
+ return { ...value };
245
+ },
246
+ emitFiles() {
247
+ const files = this.localFiles.map((file) => this.toExternalFile(file));
248
+ this.$emit("update:modelValue", files);
249
+ this.$emit("change", files);
250
+ },
251
+ emitFolders() {
252
+ const folders = this.localFolders.map(({ children, ...folder }) => ({ ...folder }));
253
+ this.$emit("update:folders", folders);
254
+ },
255
+ selectFolder(id) {
256
+ this.activeFolderId = id;
257
+ this.selectedFileId = "";
258
+ this.$emit("folder-change", id);
259
+ this.$nextTick(() => {
260
+ if (this.$refs.folderTree && id !== ROOT_FOLDER_ID) this.$refs.folderTree.setCurrentKey(id);
261
+ });
262
+ },
263
+ handleFolderClick(folder) {
264
+ this.selectFolder(folder.id);
265
+ },
266
+ handleRootCommand(command) {
267
+ if (command === "create") this.openCreateFolder(ROOT_FOLDER_ID);
268
+ },
269
+ handleFolderCommand(command, folder) {
270
+ this.selectFolder(folder.id);
271
+ if (command === "create") {
272
+ this.openCreateFolder(folder.id);
273
+ } else if (command === "rename") {
274
+ this.openRenameFolder(folder);
275
+ } else if (command === "remove") {
276
+ this.openRemoveFolder(folder);
277
+ }
278
+ },
279
+ getFolderFileCount(folderId) {
280
+ return this.localFiles.filter((file) => file.folderId === folderId).length;
281
+ },
282
+ getFolderPath(folderId) {
283
+ const path = [];
284
+ let folder = this.localFolders.find((item) => item.id === folderId);
285
+ const visited = new Set();
286
+ while (folder && !visited.has(folder.id)) {
287
+ visited.add(folder.id);
288
+ path.unshift(folder.name);
289
+ folder = this.localFolders.find((item) => item.id === folder.parentId);
290
+ }
291
+ return path.join(" / ");
292
+ },
293
+ selectFiles() {
294
+ if (this.isDisabled || !this.$refs.fileInput) return;
295
+ this.$refs.fileInput.click();
296
+ },
297
+ async handleNativeFileChange(event) {
298
+ const files = Array.from(event.target.files || []);
299
+ event.target.value = "";
300
+ for (const file of files) {
301
+ await this.addFile(file);
302
+ }
303
+ },
304
+ async addFile(rawFile) {
305
+ if (this.maxSize > 0 && rawFile.size > this.maxSize * 1024 * 1024) {
306
+ const error = new Error(`${rawFile.name} 超过 ${this.maxSize}MB 限制`);
307
+ this.$emit("error", error, rawFile);
308
+ return;
309
+ }
310
+
311
+ const objectUrl = typeof URL !== "undefined" && URL.createObjectURL ? URL.createObjectURL(rawFile) : "";
312
+ const entry = {
313
+ id: this.createLocalId("file"),
314
+ name: rawFile.name,
315
+ size: rawFile.size,
316
+ type: rawFile.type,
317
+ url: objectUrl,
318
+ folderId: this.activeFolderId,
319
+ status: this.uploadRequest ? "uploading" : "success",
320
+ _objectUrl: objectUrl,
321
+ };
322
+ this.localFiles.push(entry);
323
+ this.selectedFileId = entry.id;
324
+ this.emitFiles();
325
+ this.$emit("upload", rawFile, this.toExternalFile(entry));
326
+
327
+ if (typeof this.uploadRequest !== "function") return;
328
+ try {
329
+ const result = await this.uploadRequest(rawFile, {
330
+ folderId: this.activeFolderId,
331
+ file: this.toExternalFile(entry),
332
+ });
333
+ const data = typeof result === "string" ? { url: result } : (result || {});
334
+ const target = this.localFiles.find((file) => file.id === entry.id);
335
+ if (!target) return;
336
+ if (data.url && data.url !== target.url) this.revokeObjectUrl(target);
337
+ Object.assign(target, data, { status: data.status || "success", _objectUrl: data.url ? "" : target._objectUrl });
338
+ this.emitFiles();
339
+ } catch (error) {
340
+ const target = this.localFiles.find((file) => file.id === entry.id);
341
+ if (target) {
342
+ target.status = "error";
343
+ target.errorMessage = error.message || "上传失败";
344
+ this.emitFiles();
345
+ }
346
+ this.$emit("error", error, rawFile);
347
+ }
348
+ },
349
+ revokeObjectUrl(file) {
350
+ if (file && file._objectUrl && typeof URL !== "undefined" && URL.revokeObjectURL) {
351
+ URL.revokeObjectURL(file._objectUrl);
352
+ file._objectUrl = "";
353
+ }
354
+ },
355
+ selectFile(file) {
356
+ this.selectedFileId = file.id;
357
+ this.$emit("select", this.toExternalFile(file));
358
+ },
359
+ previewFile(file) {
360
+ this.selectFile(file);
361
+ this.$emit("preview", this.toExternalFile(file));
362
+ },
363
+ handleFileCommand(command, file) {
364
+ this.selectFile(file);
365
+ if (command === "preview") {
366
+ this.previewFile(file);
367
+ } else if (command === "move") {
368
+ this.openMoveDialog();
369
+ } else if (command === "rename") {
370
+ this.openRenameDialog();
371
+ } else if (command === "remove") {
372
+ this.removeSelectedFile();
373
+ }
374
+ },
375
+ removeSelectedFile() {
376
+ if (!this.selectedFile || this.isDisabled) return;
377
+ const file = this.selectedFile;
378
+ this.localFiles = this.localFiles.filter((item) => item.id !== file.id);
379
+ this.revokeObjectUrl(file);
380
+ this.selectedFileId = "";
381
+ this.emitFiles();
382
+ this.$emit("remove", this.toExternalFile(file));
383
+ },
384
+ canRemoveFolder(folder) {
385
+ if (!folder || !folder.id) return false;
386
+ const hasChildren = this.localFolders.some((item) => item.parentId === folder.id);
387
+ const hasFiles = this.localFiles.some((file) => file.folderId === folder.id);
388
+ return !hasChildren && !hasFiles;
389
+ },
390
+ openCreateFolder(parentId = this.activeFolderId) {
391
+ if (this.isDisabled) return;
392
+ this.folderDialogMode = "create";
393
+ this.folderTargetId = parentId || ROOT_FOLDER_ID;
394
+ this.folderName = "";
395
+ this.folderDialogError = "";
396
+ this.folderDialogVisible = true;
397
+ },
398
+ openRenameFolder(folder) {
399
+ if (!folder || this.isDisabled) return;
400
+ this.folderDialogMode = "rename";
401
+ this.folderTargetId = folder.id;
402
+ this.folderName = folder.name;
403
+ this.folderDialogError = "";
404
+ this.folderDialogVisible = true;
405
+ },
406
+ saveFolder() {
407
+ const name = this.folderName.trim();
408
+ if (!name) {
409
+ this.folderDialogError = "请输入文件夹名称";
410
+ return;
411
+ }
412
+ const target = this.localFolders.find((folder) => folder.id === this.folderTargetId);
413
+ const parentId = this.folderDialogMode === "rename"
414
+ ? (target && target.parentId) || ""
415
+ : (this.folderTargetId === ROOT_FOLDER_ID ? "" : this.folderTargetId);
416
+ const duplicated = this.localFolders.some((folder) =>
417
+ folder.id !== this.folderTargetId && folder.parentId === parentId && folder.name === name
418
+ );
419
+ if (duplicated) {
420
+ this.folderDialogError = "同一层级下已存在同名文件夹";
421
+ return;
422
+ }
423
+ if (this.folderDialogMode === "rename") {
424
+ if (!target) return;
425
+ target.name = name;
426
+ this.folderDialogVisible = false;
427
+ this.emitFolders();
428
+ this.$emit("folder-rename", { ...target });
429
+ return;
430
+ }
431
+ const folder = { id: this.createLocalId("folder"), name, parentId };
432
+ this.localFolders.push(folder);
433
+ this.folderDialogVisible = false;
434
+ this.emitFolders();
435
+ this.$emit("folder-create", { ...folder });
436
+ this.selectFolder(folder.id);
437
+ },
438
+ openRemoveFolder(folder) {
439
+ if (this.isDisabled || !this.canRemoveFolder(folder)) return;
440
+ this.folderToDelete = folder;
441
+ this.folderDeleteDialogVisible = true;
442
+ },
443
+ removeFolder() {
444
+ const folder = this.folderToDelete;
445
+ if (!folder || !this.canRemoveFolder(folder)) return;
446
+ const nextFolderId = folder.parentId || ROOT_FOLDER_ID;
447
+ this.localFolders = this.localFolders.filter((item) => item.id !== folder.id);
448
+ this.folderDeleteDialogVisible = false;
449
+ this.folderToDelete = null;
450
+ this.emitFolders();
451
+ this.$emit("folder-remove", { ...folder });
452
+ if (this.activeFolderId === folder.id) this.selectFolder(nextFolderId);
453
+ },
454
+ openRenameDialog() {
455
+ if (!this.selectedFile || this.isDisabled) return;
456
+ this.renameValue = this.selectedFile.name;
457
+ this.renameDialogError = "";
458
+ this.renameDialogVisible = true;
459
+ },
460
+ renameFile() {
461
+ const name = this.renameValue.trim();
462
+ if (!name) {
463
+ this.renameDialogError = "请输入文件名称";
464
+ return;
465
+ }
466
+ const duplicated = this.localFiles.some((file) => file.id !== this.selectedFile.id && file.folderId === this.selectedFile.folderId && file.name === name);
467
+ if (duplicated) {
468
+ this.renameDialogError = "当前文件夹已存在同名文件";
469
+ return;
470
+ }
471
+ this.selectedFile.name = name;
472
+ this.renameDialogVisible = false;
473
+ this.emitFiles();
474
+ },
475
+ openMoveDialog() {
476
+ if (!this.selectedFile || this.isDisabled) return;
477
+ this.targetFolderId = this.selectedFile.folderId || ROOT_FOLDER_ID;
478
+ this.moveDialogVisible = true;
479
+ },
480
+ moveFile() {
481
+ if (!this.selectedFile) return;
482
+ const fileId = this.selectedFile.id;
483
+ this.selectedFile.folderId = this.targetFolderId;
484
+ this.moveDialogVisible = false;
485
+ this.emitFiles();
486
+ this.selectFolder(this.targetFolderId);
487
+ this.selectedFileId = fileId;
488
+ },
489
+ getFileName(url) {
490
+ if (!url) return "";
491
+ return url.split("?")[0].split("/").pop() || "";
492
+ },
493
+ getFileExtension(file) {
494
+ const name = (file && (file.name || file.url)) || "";
495
+ const extension = name.split("?")[0].split(".").pop();
496
+ return extension && extension !== name ? extension.toLowerCase() : "";
497
+ },
498
+ getFileKind(file) {
499
+ const type = String((file && file.type) || "").toLowerCase();
500
+ const extension = this.getFileExtension(file);
501
+ if (type.startsWith("image/") || IMAGE_EXTENSIONS.includes(extension)) return "image";
502
+ if (type.startsWith("video/") || VIDEO_EXTENSIONS.includes(extension)) return "video";
503
+ if (type.startsWith("audio/") || AUDIO_EXTENSIONS.includes(extension)) return "audio";
504
+ if (type === "application/pdf" || extension === "pdf") return "pdf";
505
+ if (type.startsWith("text/") || TEXT_EXTENSIONS.includes(extension)) return "text";
506
+ return "file";
507
+ },
508
+ formatSize(size) {
509
+ const value = Number(size);
510
+ if (!Number.isFinite(value) || value < 0) return "";
511
+ if (value < 1024) return `${value} B`;
512
+ if (value < 1024 * 1024) return `${(value / 1024).toFixed(1)} KB`;
513
+ if (value < 1024 * 1024 * 1024) return `${(value / 1024 / 1024).toFixed(1)} MB`;
514
+ return `${(value / 1024 / 1024 / 1024).toFixed(1)} GB`;
515
+ },
516
+ abortTextRequest() {
517
+ if (this.requestController) {
518
+ this.requestController.abort();
519
+ this.requestController = null;
520
+ }
521
+ },
522
+ async loadTextContent(file) {
523
+ this.abortTextRequest();
524
+ this.textContent = "";
525
+ this.textError = "";
526
+ this.textLoading = false;
527
+
528
+ if (!file || this.getFileKind(file) !== "text") return;
529
+ if (file.content !== undefined && file.content !== null) {
530
+ this.textContent = String(file.content);
531
+ return;
532
+ }
533
+ if (!file.url || typeof fetch !== "function") return;
534
+
535
+ const requestId = ++this.requestSeed;
536
+ const controller = new AbortController();
537
+ this.requestController = controller;
538
+ this.textLoading = true;
539
+
540
+ try {
541
+ const response = await fetch(file.url, { signal: controller.signal });
542
+ if (!response.ok) throw new Error(`请求失败(${response.status})`);
543
+ const content = await response.text();
544
+ if (requestId !== this.requestSeed) return;
545
+ this.textContent = content;
546
+ } catch (error) {
547
+ if (error.name === "AbortError" || requestId !== this.requestSeed) return;
548
+ this.textError = error.message || "无法读取文件内容";
549
+ this.$emit("error", error, file);
550
+ } finally {
551
+ if (requestId === this.requestSeed) {
552
+ this.textLoading = false;
553
+ this.requestController = null;
554
+ }
555
+ }
556
+ },
557
+ downloadSelected() {
558
+ if (!this.selectedFile || !this.downloadable) return;
559
+ const link = document.createElement("a");
560
+ link.href = this.selectedFile.downloadUrl || this.selectedFile.url;
561
+ link.download = this.selectedFile.name || "";
562
+ link.rel = "noopener";
563
+ document.body.appendChild(link);
564
+ link.click();
565
+ document.body.removeChild(link);
566
+ this.$emit("download", this.toExternalFile(this.selectedFile));
567
+ },
568
+ handlePreviewError(error) {
569
+ this.$emit("error", error, this.selectedFile ? this.toExternalFile(this.selectedFile) : null);
570
+ },
571
+ },
572
+ });
573
+
574
+ export { script as default };