@smallwei/avue 3.9.3 → 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 +10 -0
  2. package/dist/avue.js +8816 -3978
  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 -299
  16. package/es/locale/browser/zh-cn.mjs +299 -299
  17. package/es/locale/browser/zh.mjs +299 -299
  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 +1 -1
  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 +1 -1
  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 +1 -1
  35. package/es/packages/core/components/icon/index3.mjs +1 -1
  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 +1 -1
  68. package/es/packages/data/list/index3.mjs +1 -1
  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 +1 -1
  101. package/es/packages/data/statistic/index3.mjs +1 -1
  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 +1 -1
  110. package/es/packages/data/weather/index3.mjs +1 -1
  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/{card → captcha}/index.mjs +2 -2
  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 +1 -1
  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 +1 -1
  156. package/es/packages/element-plus/crud/dialog/dialog-column3.mjs +1 -1
  157. package/es/packages/element-plus/crud/dialog/dialog-excel.mjs +1 -1
  158. package/es/packages/element-plus/crud/dialog/dialog-excel2.mjs +1 -1
  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 +1 -1
  174. package/es/packages/element-plus/crud/index3.mjs +1 -1
  175. package/es/packages/element-plus/crud/menu/header-menu.mjs +1 -1
  176. package/es/packages/element-plus/crud/menu/header-menu2.mjs +1 -1
  177. package/es/packages/element-plus/crud/menu/header-menu3.mjs +1 -1
  178. package/es/packages/element-plus/crud/menu/header-search.mjs +1 -1
  179. package/es/packages/element-plus/crud/menu/header-search2.mjs +1 -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 +329 -309
  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/{verify → file-manager}/index.mjs +2 -2
  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 +1 -1
  208. package/es/packages/element-plus/form/index3.mjs +1 -1
  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 +1 -1
  214. package/es/packages/element-plus/group/index3.mjs +1 -1
  215. package/es/packages/element-plus/iframe/index.mjs +1 -1
  216. package/es/packages/element-plus/iframe/index2.mjs +1 -1
  217. package/es/packages/element-plus/iframe/index3.mjs +1 -1
  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 +1 -1
  226. package/es/packages/element-plus/input-cron/index3.mjs +1 -1
  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 +1 -1
  237. package/es/packages/element-plus/input-otp/index2.mjs +1 -1
  238. package/es/packages/element-plus/input-otp/index3.mjs +1 -1
  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 +66 -49
  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 +1 -1
  256. package/es/packages/element-plus/mention/index3.mjs +1 -1
  257. package/es/packages/element-plus/qrcode/index.mjs +1 -1
  258. package/es/packages/element-plus/qrcode/index2.mjs +1 -1
  259. package/es/packages/element-plus/qrcode/index3.mjs +1 -1
  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 +1 -1
  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 +1 -1
  283. package/es/packages/element-plus/tabs/index3.mjs +1 -1
  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 +171 -57
  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 +1 -1
  307. package/es/src/core/locale.mjs +1 -1
  308. package/es/src/core/option.mjs +1 -1
  309. package/es/src/core/packages.mjs +1 -1
  310. package/es/src/core/slot.mjs +1 -1
  311. package/es/src/global/variable.mjs +1 -1
  312. package/es/src/icon.mjs +1 -1
  313. package/es/src/index.mjs +7 -5
  314. package/es/src/locale/index.mjs +1 -1
  315. package/es/src/locale/lang/en.mjs +1 -1
  316. package/es/src/locale/lang/zh-cn.mjs +1 -1
  317. package/es/src/locale/lang/zh.mjs +1 -1
  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 +58 -43
  323. package/es/src/plugin/logs/index.mjs +1 -1
  324. package/es/src/plugin/print/index.mjs +188 -197
  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 +49 -6
  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 +97 -94
  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 +1 -1
  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 -299
  344. package/lib/locale/browser/zh-cn.js +299 -299
  345. package/lib/locale/browser/zh.js +299 -299
  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 +1 -1
  348. package/lib/packages/core/common/event.js +1 -1
  349. package/lib/packages/core/common/init.js +1 -1
  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 +1 -1
  361. package/lib/packages/core/components/icon/index3.js +1 -1
  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 +1 -1
  394. package/lib/packages/data/list/index3.js +1 -1
  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 +1 -1
  427. package/lib/packages/data/statistic/index3.js +1 -1
  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 +1 -1
  436. package/lib/packages/data/weather/index3.js +1 -1
  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/{card → captcha}/index.js +4 -4
  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 +1 -1
  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 +1 -1
  482. package/lib/packages/element-plus/crud/dialog/dialog-column3.js +1 -1
  483. package/lib/packages/element-plus/crud/dialog/dialog-excel.js +1 -1
  484. package/lib/packages/element-plus/crud/dialog/dialog-excel2.js +1 -1
  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 +1 -1
  500. package/lib/packages/element-plus/crud/index3.js +1 -1
  501. package/lib/packages/element-plus/crud/menu/header-menu.js +1 -1
  502. package/lib/packages/element-plus/crud/menu/header-menu2.js +1 -1
  503. package/lib/packages/element-plus/crud/menu/header-menu3.js +1 -1
  504. package/lib/packages/element-plus/crud/menu/header-search.js +1 -1
  505. package/lib/packages/element-plus/crud/menu/header-search2.js +1 -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 +329 -309
  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/{verify → file-manager}/index.js +4 -4
  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 +1 -1
  534. package/lib/packages/element-plus/form/index3.js +1 -1
  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 +1 -1
  540. package/lib/packages/element-plus/group/index3.js +1 -1
  541. package/lib/packages/element-plus/iframe/index.js +1 -1
  542. package/lib/packages/element-plus/iframe/index2.js +1 -1
  543. package/lib/packages/element-plus/iframe/index3.js +1 -1
  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 +1 -1
  552. package/lib/packages/element-plus/input-cron/index3.js +1 -1
  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 +1 -1
  563. package/lib/packages/element-plus/input-otp/index2.js +1 -1
  564. package/lib/packages/element-plus/input-otp/index3.js +1 -1
  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 +66 -49
  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 +1 -1
  582. package/lib/packages/element-plus/mention/index3.js +1 -1
  583. package/lib/packages/element-plus/qrcode/index.js +1 -1
  584. package/lib/packages/element-plus/qrcode/index2.js +1 -1
  585. package/lib/packages/element-plus/qrcode/index3.js +1 -1
  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 +1 -1
  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 +1 -1
  609. package/lib/packages/element-plus/tabs/index3.js +1 -1
  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 +171 -57
  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 +1 -1
  633. package/lib/src/core/locale.js +1 -1
  634. package/lib/src/core/option.js +1 -1
  635. package/lib/src/core/packages.js +1 -1
  636. package/lib/src/core/slot.js +1 -1
  637. package/lib/src/global/variable.js +1 -1
  638. package/lib/src/icon.js +1 -1
  639. package/lib/src/index.js +74 -71
  640. package/lib/src/locale/index.js +1 -1
  641. package/lib/src/locale/lang/en.js +1 -1
  642. package/lib/src/locale/lang/zh-cn.js +1 -1
  643. package/lib/src/locale/lang/zh.js +1 -1
  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 +58 -43
  649. package/lib/src/plugin/logs/index.js +1 -1
  650. package/lib/src/plugin/print/index.js +188 -197
  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 +49 -6
  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 +109 -105
  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 +1 -1
  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 +2 -1
  666. package/types/index.d.ts +68 -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
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, renderSlot, createCommentVNode, Fragment, renderList, createBlock, withCtx, createTextVNode, normalizeStyle, withModifiers } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "data-list" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
  import locale from '../../../src/core/locale.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { openBlock, createElementBlock, createElementVNode, toDisplayString, createCommentVNode, Fragment, renderList, normalizeStyle } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "data-notice" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
 
4
4
  var script = create({
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, normalizeStyle, toDisplayString } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "avue-data-operatext" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
 
4
4
  var script = create({
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, resolveDynamicComponent, toDisplayString } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "avue-data-panel" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
 
4
4
  var script = create({
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, normalizeStyle, toDisplayString, createCommentVNode } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "item" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
 
4
4
  var script = create({
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, toDisplayString } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "data-price" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
  import locale from '../../../src/core/locale.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, normalizeStyle, toDisplayString, createCommentVNode, createTextVNode, withModifiers } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "data-product" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
 
4
4
  var script = create({
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, normalizeStyle, createCommentVNode, toDisplayString, createTextVNode, withModifiers } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "data-profile" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
 
4
4
  var script = create({
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, toDisplayString } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "data-progress" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
 
4
4
  var script = create({
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, createCommentVNode, Fragment, renderList, normalizeClass, createVNode } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "data-rank" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
  import locale from '../../../src/core/locale.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, normalizeStyle, toDisplayString, resolveDynamicComponent, createTextVNode } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "avue-data-rotate" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
  import '../../core/components/icon/index.mjs';
4
4
  import script$1 from '../../core/components/icon/index2.mjs';
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, normalizeStyle, createCommentVNode, toDisplayString, normalizeClass } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "data-statistic" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
 
4
4
  var script = create({
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, normalizeStyle, toDisplayString } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "avue-data-tabs" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
  import locale from '../../../src/core/locale.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, createCommentVNode, createVNode, Fragment, renderList, normalizeClass, createBlock, withCtx, createTextVNode } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "data-task" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
  import '../../core/components/icon/index.mjs';
4
4
  import locale from '../../../src/core/locale.mjs';
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, normalizeStyle, toDisplayString, createCommentVNode } from 'vue';
3
3
 
4
4
  const _hoisted_1 = { class: "data-weather" };
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
  import props from '../../core/common/props.mjs';
4
4
  import event from '../../core/common/event.mjs';
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, createCommentVNode, Fragment, renderList, createElementVNode, createVNode, withCtx, resolveDynamicComponent, createTextVNode, toDisplayString } from 'vue';
3
3
 
4
4
  function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import script from './index2.mjs';
3
3
  import { render } from './index3.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! Avue.js v3.9.3 | (c) 2017-2026 Smallwei | Released under the MIT License. */
1
+ /*! Avue.js v3.9.4 | (c) 2017-2026 Smallwei | Released under the MIT License. */
2
2
  import create from '../../../src/core/create.mjs';
3
3
 
4
4
  const propsDefault = {
@@ -7,49 +7,214 @@ const propsDefault = {
7
7
  lead: "lead",
8
8
  body: "body"
9
9
  };
10
+ const allowedTags = new Set([
11
+ "A", "B", "BLOCKQUOTE", "BR", "CODE", "DEL", "DIV", "EM", "FIGCAPTION", "FIGURE",
12
+ "H1", "H2", "H3", "H4", "H5", "H6", "HR", "I", "IMG", "LI", "MARK", "OL",
13
+ "P", "PRE", "S", "SMALL", "SPAN", "STRONG", "SUB", "SUP", "TABLE", "TBODY",
14
+ "TD", "TH", "THEAD", "TR", "UL"
15
+ ]);
16
+ const dangerousTags = new Set(["EMBED", "FORM", "IFRAME", "OBJECT", "SCRIPT", "STYLE"]);
17
+
10
18
  var script = create({
11
19
  name: "article",
20
+ emits: ["image-click", "link-click", "preview-open", "preview-close"],
12
21
  props: {
13
22
  data: {
14
23
  type: Object,
15
- default: () => {
16
- return {};
17
- }
24
+ default: () => ({})
18
25
  },
19
26
  props: {
20
27
  type: Object,
21
- default: () => {
22
- return propsDefault;
23
- }
28
+ default: () => ({})
29
+ },
30
+ option: {
31
+ type: Object,
32
+ default: () => ({})
33
+ },
34
+ sanitize: {
35
+ type: [Boolean, Function],
36
+ default: true
37
+ },
38
+ preview: {
39
+ type: Boolean,
40
+ default: true
41
+ },
42
+ showInfo: Boolean,
43
+ titleLevel: {
44
+ type: Number,
45
+ default: 1
46
+ },
47
+ maxWidth: {
48
+ type: [Number, String],
49
+ default: ""
24
50
  }
25
51
  },
52
+ data() {
53
+ return {
54
+ previewVisible: false,
55
+ previewImages: [],
56
+ previewIndex: 0
57
+ };
58
+ },
26
59
  computed: {
27
- titleKey () {
28
- return this.props.title || propsDefault.title;
60
+ fieldProps() {
61
+ return {
62
+ ...propsDefault,
63
+ ...((this.option && this.option.props) || {}),
64
+ ...(this.props || {})
65
+ };
29
66
  },
30
- metaKey () {
31
- return this.props.meta || propsDefault.meta;
67
+ titleKey() {
68
+ return this.fieldProps.title;
32
69
  },
33
- leadKey () {
34
- return this.props.lead || propsDefault.lead;
70
+ metaKey() {
71
+ return this.fieldProps.meta;
35
72
  },
36
- bodyKey () {
37
- return this.props.body || propsDefault.body;
73
+ leadKey() {
74
+ return this.fieldProps.lead;
38
75
  },
39
- title () {
76
+ bodyKey() {
77
+ return this.fieldProps.body;
78
+ },
79
+ title() {
40
80
  return this.data[this.titleKey];
41
81
  },
42
- meta () {
82
+ meta() {
43
83
  return this.data[this.metaKey];
44
84
  },
45
- lead () {
85
+ lead() {
46
86
  return this.data[this.leadKey];
47
87
  },
48
- body () {
88
+ body() {
49
89
  return this.data[this.bodyKey];
90
+ },
91
+ hasBody() {
92
+ return this.body !== undefined && this.body !== null && this.body !== "";
93
+ },
94
+ formattedBody() {
95
+ const content = String(this.body || "");
96
+ if (typeof this.sanitize === "function") return String(this.sanitize(content) || "");
97
+ return this.sanitize ? this.sanitizeHtml(content) : content;
98
+ },
99
+ wordCount() {
100
+ const content = String(this.body || "").replace(/<[^>]*>/g, "").replace(/\s/g, "");
101
+ return content.length;
102
+ },
103
+ readingMinutes() {
104
+ return Math.max(1, Math.ceil(this.wordCount / 400));
105
+ },
106
+ titleTag() {
107
+ const level = Math.min(6, Math.max(1, Number(this.titleLevel) || 1));
108
+ return `h${level}`;
109
+ },
110
+ styleName() {
111
+ if (this.maxWidth === "" || this.maxWidth === undefined || this.maxWidth === null) return {};
112
+ const size = typeof this.maxWidth === "number" ? `${this.maxWidth}px` : this.maxWidth;
113
+ return { maxWidth: size };
50
114
  }
51
115
  },
52
- mounted () { }
116
+ methods: {
117
+ sanitizeHtml(content) {
118
+ if (typeof document === "undefined") return this.escapeHtml(content);
119
+ const container = document.createElement("div");
120
+ container.innerHTML = content;
121
+ Array.from(container.querySelectorAll("*")).forEach((node) => {
122
+ const tag = node.tagName;
123
+ if (dangerousTags.has(tag)) {
124
+ node.remove();
125
+ return;
126
+ }
127
+ if (!allowedTags.has(tag)) {
128
+ node.replaceWith(document.createTextNode(node.textContent || ""));
129
+ return;
130
+ }
131
+
132
+ Array.from(node.attributes).forEach((attribute) => {
133
+ const name = attribute.name.toLowerCase();
134
+ const isLinkAttribute = tag === "A" && ["href", "title"].includes(name);
135
+ const isImageAttribute = tag === "IMG" && ["src", "alt", "title", "width", "height"].includes(name);
136
+ const isTableAttribute = ["TD", "TH"].includes(tag) && ["colspan", "rowspan"].includes(name);
137
+ if (!isLinkAttribute && !isImageAttribute && !isTableAttribute) node.removeAttribute(attribute.name);
138
+ });
139
+
140
+ if (tag === "A") {
141
+ const href = this.safeUrl(node.getAttribute("href"));
142
+ if (href) {
143
+ node.setAttribute("href", href);
144
+ if (/^https?:/i.test(href)) {
145
+ node.setAttribute("target", "_blank");
146
+ node.setAttribute("rel", "noopener noreferrer");
147
+ }
148
+ } else {
149
+ node.removeAttribute("href");
150
+ }
151
+ }
152
+
153
+ if (tag === "IMG") {
154
+ const src = this.safeUrl(node.getAttribute("src"), true);
155
+ if (src) {
156
+ node.setAttribute("src", src);
157
+ node.setAttribute("loading", "lazy");
158
+ node.setAttribute("decoding", "async");
159
+ } else {
160
+ node.remove();
161
+ }
162
+ }
163
+ });
164
+ return container.innerHTML;
165
+ },
166
+ safeUrl(value, allowDataImage = false) {
167
+ if (!value || typeof window === "undefined") return "";
168
+ try {
169
+ const url = new URL(value, window.location.origin);
170
+ const isHttp = ["http:", "https:"].includes(url.protocol);
171
+ const isContact = ["mailto:", "tel:"].includes(url.protocol);
172
+ const isDataImage = allowDataImage && url.protocol === "data:" && /^data:image\//i.test(value);
173
+ return isHttp || isContact || isDataImage ? url.href : "";
174
+ } catch (error) {
175
+ return "";
176
+ }
177
+ },
178
+ escapeHtml(value) {
179
+ return String(value).replace(/[&<>'"]/g, (char) => ({
180
+ "&": "&amp;", "<": "&lt;", ">": "&gt;", "'": "&#39;", "\"": "&quot;"
181
+ }[char]));
182
+ },
183
+ handleBodyClick(event) {
184
+ const target = event.target;
185
+ if (!(target instanceof Element)) return;
186
+
187
+ const link = target.closest("a");
188
+ if (link) {
189
+ this.$emit("link-click", {
190
+ data: this.data,
191
+ href: link.getAttribute("href") || "",
192
+ event
193
+ });
194
+ }
195
+
196
+ const image = target.closest("img");
197
+ if (!image) return;
198
+ const src = this.safeUrl(image.getAttribute("src"), true);
199
+ this.$emit("image-click", { data: this.data, src, event });
200
+ if (!this.preview || !src || !this.$refs.body) return;
201
+
202
+ const images = Array.from(this.$refs.body.querySelectorAll("img"))
203
+ .map((item) => this.safeUrl(item.getAttribute("src"), true))
204
+ .filter(Boolean);
205
+ const index = images.indexOf(src);
206
+ if (index === -1) return;
207
+
208
+ this.previewImages = images;
209
+ this.previewIndex = index;
210
+ this.previewVisible = true;
211
+ this.$emit("preview-open", { data: this.data, src, index, images });
212
+ },
213
+ closePreview() {
214
+ this.previewVisible = false;
215
+ this.$emit("preview-close", { data: this.data });
216
+ }
217
+ }
53
218
  });
54
219
 
55
220
  export { script as default };