@qynpm/ui 1.0.36 → 1.0.38

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 (422) hide show
  1. package/README.md +109 -93
  2. package/dist/index.cjs +20 -19
  3. package/dist/index.mjs +22 -21
  4. package/dist/qy-action-bar/index.cjs +1 -1
  5. package/dist/qy-action-bar/index.mjs +1 -1
  6. package/dist/qy-alert/index.cjs +1 -1
  7. package/dist/qy-alert/index.mjs +4 -4
  8. package/dist/qy-aside/index.cjs +1 -1
  9. package/dist/qy-aside/index.mjs +4 -4
  10. package/dist/qy-autocomplete/index.cjs +1 -1
  11. package/dist/qy-autocomplete/index.mjs +3 -3
  12. package/dist/qy-avatar/index.cjs +1 -1
  13. package/dist/qy-avatar/index.mjs +1 -1
  14. package/dist/qy-badge/index.cjs +1 -1
  15. package/dist/qy-badge/index.mjs +4 -4
  16. package/dist/qy-button/index.cjs +2 -2
  17. package/dist/qy-button/index.mjs +2 -2
  18. package/dist/qy-card/index.cjs +1 -1
  19. package/dist/qy-card/index.mjs +1 -1
  20. package/dist/qy-cascader/index.cjs +1 -1
  21. package/dist/qy-cascader/index.mjs +3 -3
  22. package/dist/qy-checkbox/index.cjs +1 -1
  23. package/dist/qy-checkbox/index.mjs +1 -1
  24. package/dist/qy-checkbox-group/index.cjs +1 -1
  25. package/dist/qy-checkbox-group/index.mjs +4 -4
  26. package/dist/qy-col/index.cjs +1 -1
  27. package/dist/qy-col/index.mjs +4 -4
  28. package/dist/qy-collapse/index.cjs +1 -1
  29. package/dist/qy-collapse/index.mjs +2 -2
  30. package/dist/qy-collapse-item/index.cjs +1 -1
  31. package/dist/qy-collapse-item/index.mjs +5 -5
  32. package/dist/qy-color-picker/index.cjs +1 -1
  33. package/dist/qy-color-picker/index.mjs +4 -4
  34. package/dist/qy-container/index.cjs +1 -1
  35. package/dist/qy-container/index.mjs +3 -3
  36. package/dist/qy-date-picker/index.cjs +1 -1
  37. package/dist/qy-date-picker/index.mjs +1 -1
  38. package/dist/qy-descriptions/index.cjs +1 -1
  39. package/dist/qy-descriptions/index.mjs +1 -1
  40. package/dist/qy-descriptions-item/index.cjs +1 -1
  41. package/dist/qy-descriptions-item/index.mjs +4 -4
  42. package/dist/qy-dialog/index.cjs +2 -1
  43. package/dist/qy-dialog/index.mjs +5 -2
  44. package/dist/qy-divider/index.cjs +1 -1
  45. package/dist/qy-divider/index.mjs +4 -4
  46. package/dist/qy-drawer/index.cjs +1 -1
  47. package/dist/qy-drawer/index.mjs +2 -2
  48. package/dist/qy-dropdown/index.cjs +2 -2
  49. package/dist/qy-dropdown/index.mjs +2 -2
  50. package/dist/qy-empty/index.cjs +1 -1
  51. package/dist/qy-empty/index.mjs +4 -4
  52. package/dist/qy-file-picker/index.cjs +1 -1
  53. package/dist/qy-file-picker/index.mjs +1 -1
  54. package/dist/qy-form-section/index.cjs +1 -1
  55. package/dist/qy-form-section/index.mjs +1 -1
  56. package/dist/qy-fullscreen/index.cjs +1 -1
  57. package/dist/qy-fullscreen/index.mjs +1 -1
  58. package/dist/qy-icon/index.cjs +1 -1
  59. package/dist/qy-icon/index.mjs +2 -2
  60. package/dist/qy-icon-picker/index.cjs +3 -3
  61. package/dist/qy-icon-picker/index.mjs +6 -6
  62. package/dist/qy-iframe/index.cjs +1 -1
  63. package/dist/qy-iframe/index.mjs +1 -1
  64. package/dist/qy-image/index.cjs +1 -1
  65. package/dist/qy-image/index.mjs +1 -1
  66. package/dist/qy-image-preview/index.cjs +1 -1
  67. package/dist/qy-image-preview/index.mjs +1 -1
  68. package/dist/qy-image-upload/index.cjs +1 -1
  69. package/dist/qy-image-upload/index.mjs +1 -1
  70. package/dist/qy-input/index.cjs +1 -1
  71. package/dist/qy-input/index.mjs +1 -1
  72. package/dist/qy-input-number/index.cjs +2 -2
  73. package/dist/qy-input-number/index.mjs +3 -3
  74. package/dist/qy-input-tag/index.cjs +1 -1
  75. package/dist/qy-input-tag/index.mjs +4 -4
  76. package/dist/qy-legacy-selection-dialog/index.cjs +1 -1
  77. package/dist/qy-legacy-selection-dialog/index.mjs +1 -1
  78. package/dist/qy-link/index.cjs +1 -1
  79. package/dist/qy-link/index.mjs +5 -5
  80. package/dist/qy-main/index.cjs +1 -1
  81. package/dist/qy-main/index.mjs +4 -4
  82. package/dist/qy-menu-actions/index.cjs +1 -1
  83. package/dist/qy-menu-actions/index.mjs +1 -1
  84. package/dist/qy-money-input/index.cjs +1 -1
  85. package/dist/qy-money-input/index.mjs +4 -4
  86. package/dist/qy-popconfirm/index.cjs +1 -1
  87. package/dist/qy-popconfirm/index.mjs +5 -5
  88. package/dist/qy-popover/index.cjs +1 -1
  89. package/dist/qy-popover/index.mjs +4 -4
  90. package/dist/qy-progress/index.cjs +1 -1
  91. package/dist/qy-progress/index.mjs +3 -3
  92. package/dist/qy-radio/index.cjs +1 -1
  93. package/dist/qy-radio/index.mjs +1 -1
  94. package/dist/qy-radio-group/index.cjs +1 -1
  95. package/dist/qy-radio-group/index.mjs +1 -1
  96. package/dist/qy-record-quote-search/index.cjs +1 -1
  97. package/dist/qy-record-quote-search/index.mjs +1 -1
  98. package/dist/qy-remark-image/index.cjs +1 -1
  99. package/dist/qy-remark-image/index.mjs +1 -1
  100. package/dist/qy-remote-select/index.cjs +1 -1
  101. package/dist/qy-remote-select/index.mjs +1 -1
  102. package/dist/qy-result/index.cjs +1 -1
  103. package/dist/qy-result/index.mjs +4 -4
  104. package/dist/qy-row/index.cjs +1 -1
  105. package/dist/qy-row/index.mjs +4 -4
  106. package/dist/qy-scrollbar/index.cjs +1 -1
  107. package/dist/qy-scrollbar/index.mjs +3 -3
  108. package/dist/qy-search-input/index.cjs +1 -1
  109. package/dist/qy-search-input/index.mjs +1 -1
  110. package/dist/qy-select/index.cjs +1 -1
  111. package/dist/qy-select/index.mjs +1 -1
  112. package/dist/qy-selection-dialog/index.cjs +1 -1
  113. package/dist/qy-selection-dialog/index.mjs +1 -1
  114. package/dist/qy-skeleton/index.cjs +1 -1
  115. package/dist/qy-skeleton/index.mjs +4 -4
  116. package/dist/qy-skeleton-item/index.cjs +1 -1
  117. package/dist/qy-skeleton-item/index.mjs +4 -4
  118. package/dist/qy-statistic/index.cjs +1 -1
  119. package/dist/qy-statistic/index.mjs +3 -3
  120. package/dist/qy-step/index.cjs +1 -1
  121. package/dist/qy-step/index.mjs +5 -5
  122. package/dist/qy-steps/index.cjs +1 -1
  123. package/dist/qy-steps/index.mjs +4 -4
  124. package/dist/qy-switch/index.cjs +1 -1
  125. package/dist/qy-switch/index.mjs +1 -1
  126. package/dist/qy-tab-pane/index.cjs +1 -1
  127. package/dist/qy-tab-pane/index.mjs +4 -4
  128. package/dist/qy-table-column-settings/index.cjs +1 -1
  129. package/dist/qy-table-column-settings/index.mjs +1 -1
  130. package/dist/qy-tabs/index.cjs +1 -1
  131. package/dist/qy-tabs/index.mjs +4 -4
  132. package/dist/qy-tag/index.cjs +1 -1
  133. package/dist/qy-tag/index.mjs +1 -1
  134. package/dist/qy-tooltip/index.cjs +1 -1
  135. package/dist/qy-tooltip/index.mjs +4 -4
  136. package/dist/qy-tree/index.cjs +1 -1
  137. package/dist/qy-tree/index.mjs +5 -5
  138. package/dist/qy-tree-select/index.cjs +1 -1
  139. package/dist/qy-tree-select/index.mjs +1 -1
  140. package/dist/qy-upload/index.cjs +1 -1
  141. package/dist/qy-upload/index.mjs +1 -1
  142. package/dist/qy-watermark/index.cjs +1 -1
  143. package/dist/qy-watermark/index.mjs +1 -1
  144. package/dist/shared/index--I-pLtO3.cjs +1 -0
  145. package/dist/shared/{index.vue_vue_type_script_lang-BnmY1ndj.mjs → index-0aCI4Gj1.mjs} +25 -24
  146. package/dist/shared/index-0mok5nS2.cjs +1 -0
  147. package/dist/shared/index-2xIkj7uz.cjs +1 -0
  148. package/dist/shared/index-4uXwnK7G.cjs +1 -0
  149. package/dist/shared/{index.vue_vue_type_script_lang-C4JHCuXz.mjs → index-9KXqMXBF.mjs} +15 -14
  150. package/dist/shared/index-B-PlDm1A.cjs +1 -0
  151. package/dist/shared/{index.vue_vue_type_script_lang-Bk0kLg5l.mjs → index-B-d53uut.mjs} +11 -10
  152. package/dist/shared/index-B0aY8Q_T.cjs +1 -0
  153. package/dist/shared/index-B1-htEYJ.mjs +100 -0
  154. package/dist/shared/index-B1ZuGEIr.cjs +1 -0
  155. package/dist/shared/index-B3wIgwN7.cjs +1 -0
  156. package/dist/shared/index-B71cpH4T.cjs +1 -0
  157. package/dist/shared/index-B8S5RT2Z.mjs +206 -0
  158. package/dist/shared/index-B8znc-qD.cjs +1 -0
  159. package/dist/shared/{index.vue_vue_type_script_lang-DOOT2grg.mjs → index-BA6hc-j-.mjs} +11 -10
  160. package/dist/shared/index-BCfULlZK.cjs +1 -0
  161. package/dist/shared/{index-DY-CA7Vr.mjs → index-BE4CELs-.mjs} +1 -1
  162. package/dist/shared/index-BFFnf0Bn.cjs +1 -0
  163. package/dist/shared/index-BIWER6Wa.cjs +1 -0
  164. package/dist/shared/index-BM3ueCK9.cjs +1 -0
  165. package/dist/shared/index-BOLL0aGP.mjs +47 -0
  166. package/dist/shared/index-BWO4qxne.mjs +395 -0
  167. package/dist/shared/index-Ba3qQVYM.cjs +1 -0
  168. package/dist/shared/index-Ba5CLmrh.mjs +157 -0
  169. package/dist/shared/index-BcPpl_OJ.mjs +892 -0
  170. package/dist/shared/index-Bg_o9zrB.cjs +1 -0
  171. package/dist/shared/index-Bguu2ys0.cjs +1 -0
  172. package/dist/shared/index-BhO1ARf9.cjs +1 -0
  173. package/dist/shared/index-BiCdxX0E.mjs +63 -0
  174. package/dist/shared/index-BigCKPUY.mjs +153 -0
  175. package/dist/shared/index-BmWDUjpi.mjs +73 -0
  176. package/dist/shared/index-BoGA3Pdv.cjs +1 -0
  177. package/dist/shared/index-Brxx2EqN.mjs +156 -0
  178. package/dist/shared/{index-Bi9wgcgT.cjs → index-BsRfuMop.cjs} +1 -1
  179. package/dist/shared/index-BsTSa25A.cjs +1 -0
  180. package/dist/shared/index-Btwke2ql.cjs +1 -0
  181. package/dist/shared/index-BxQnJVT8.cjs +1 -0
  182. package/dist/shared/index-Bx_faI_u.mjs +53 -0
  183. package/dist/shared/index-C7GXprxF.cjs +1 -0
  184. package/dist/shared/index-C97qoSgI.cjs +1 -0
  185. package/dist/shared/index-CCqfQb_M.mjs +82 -0
  186. package/dist/shared/index-CDGjUhaC.mjs +72 -0
  187. package/dist/shared/index-CF3vimnX.mjs +73 -0
  188. package/dist/shared/index-CJxpEc9q.cjs +1 -0
  189. package/dist/shared/index-COpowa-E.mjs +48 -0
  190. package/dist/shared/index-CRU4YvLz.cjs +1 -0
  191. package/dist/shared/index-CSMOYD1R.cjs +1 -0
  192. package/dist/shared/index-CWB5fAb7.mjs +154 -0
  193. package/dist/shared/index-CXAVVShG.mjs +278 -0
  194. package/dist/shared/{index.vue_vue_type_script_lang-D7b9ABei.mjs → index-CaM4EpCy.mjs} +23 -22
  195. package/dist/shared/index-CeasMt4r.mjs +63 -0
  196. package/dist/shared/index-CftZiihF.mjs +525 -0
  197. package/dist/shared/index-ChEefC0G.cjs +1 -0
  198. package/dist/shared/index-CioDI8Ys.cjs +1 -0
  199. package/dist/shared/index-CjKfmMG4.cjs +1 -0
  200. package/dist/shared/index-CnIZoCkL.mjs +77 -0
  201. package/dist/shared/index-CndG7UWF.mjs +138 -0
  202. package/dist/shared/{index.vue_vue_type_script_lang-BGAdXWIL.mjs → index-Cp0dxH7g.mjs} +12 -11
  203. package/dist/shared/index-CrwhANF5.mjs +78 -0
  204. package/dist/shared/index-Cs-LC7ZG.mjs +150 -0
  205. package/dist/shared/index-CutbNRjY.mjs +198 -0
  206. package/dist/shared/index-CyJHJCj8.cjs +1 -0
  207. package/dist/shared/index-CypWMqI4.cjs +1 -0
  208. package/dist/shared/index-Cz6Lo9RL.cjs +1 -0
  209. package/dist/shared/index-CzyB5ttX.cjs +1 -0
  210. package/dist/shared/index-D1cbnYac.mjs +446 -0
  211. package/dist/shared/index-D8-4wR07.mjs +130 -0
  212. package/dist/shared/index-D9dQaZtu.cjs +1 -0
  213. package/dist/shared/{index.vue_vue_type_style_index_0_lang-Tzo8o6M8.mjs → index-DAoXMHpO.mjs} +10 -9
  214. package/dist/shared/index-DEosiUQV.mjs +245 -0
  215. package/dist/shared/index-DFTSBy3g.mjs +206 -0
  216. package/dist/shared/index-DFnpyAa1.mjs +69 -0
  217. package/dist/shared/index-DI5COVol.cjs +1 -0
  218. package/dist/shared/index-DNMOtH4s.mjs +36 -0
  219. package/dist/shared/index-DQn_5j_f.cjs +1 -0
  220. package/dist/shared/index-DRICnDix.mjs +295 -0
  221. package/dist/shared/index-DS539-rn.mjs +87 -0
  222. package/dist/shared/index-DTOfhAXP.mjs +74 -0
  223. package/dist/shared/index-DULBwiHC.mjs +234 -0
  224. package/dist/shared/index-DVPk0jMO.cjs +1 -0
  225. package/dist/shared/index-DWrymMO5.cjs +1 -0
  226. package/dist/shared/index-DYYPqv3Y.cjs +1 -0
  227. package/dist/shared/index-DZzMTGSJ.cjs +1 -0
  228. package/dist/shared/index-D_l30Gzr.cjs +1 -0
  229. package/dist/shared/index-Db7PhnjA.cjs +1 -0
  230. package/dist/shared/index-DdoFHdjY.mjs +307 -0
  231. package/dist/shared/index-DeBjILEK.cjs +1 -0
  232. package/dist/shared/index-DePXY0TI.cjs +1 -0
  233. package/dist/shared/index-DgPQ8292.cjs +1 -0
  234. package/dist/shared/index-Di3R0FOU.cjs +1 -0
  235. package/dist/shared/index-DiNSSXC8.mjs +76 -0
  236. package/dist/shared/index-DmEwKHe4.cjs +1 -0
  237. package/dist/shared/index-DnFQkBfl.cjs +1 -0
  238. package/dist/shared/index-DnexuGuJ.cjs +1 -0
  239. package/dist/shared/index-DniPcZnL.mjs +52 -0
  240. package/dist/shared/index-DpitpmqK.mjs +205 -0
  241. package/dist/shared/index-DtXU2qQS.cjs +1 -0
  242. package/dist/shared/index-Du-FNseo.cjs +1 -0
  243. package/dist/shared/index-DwHzztSj.cjs +1 -0
  244. package/dist/shared/index-DxFfP2Fn.cjs +1 -0
  245. package/dist/shared/index-DyqFfMhy.mjs +365 -0
  246. package/dist/shared/index-Hn-IGtqe.cjs +1 -0
  247. package/dist/shared/index-Nx_w1JYm.cjs +1 -0
  248. package/dist/shared/{index.vue_vue_type_script_lang-Dfq7D3mJ.mjs → index-Q8rXwNnM.mjs} +4 -3
  249. package/dist/shared/index-R6vvV3td.cjs +1 -0
  250. package/dist/shared/index-TMhQv4oD.mjs +104 -0
  251. package/dist/shared/index-VtJrvPka.mjs +27 -0
  252. package/dist/shared/{index.vue_vue_type_script_lang-BaIOvoQn.mjs → index-WUwab92q.mjs} +11 -10
  253. package/dist/shared/index-YWKumDEW.mjs +61 -0
  254. package/dist/shared/index-_AB6uqZw.mjs +51 -0
  255. package/dist/shared/index-bvvNTmuM.mjs +105 -0
  256. package/dist/shared/index-fVS62tLm.mjs +81 -0
  257. package/dist/shared/index-gOUVgYd_.cjs +1 -0
  258. package/dist/shared/index-gU6HjdHv.mjs +311 -0
  259. package/dist/shared/index-hPaHbb1Y.cjs +1 -0
  260. package/dist/shared/index-i0G6DcP0.cjs +1 -0
  261. package/dist/shared/index-jP71VQxo.cjs +1 -0
  262. package/dist/shared/index-jdGrSpGg.mjs +2657 -0
  263. package/dist/shared/index-jsEFCWaY.mjs +175 -0
  264. package/dist/shared/index-lsWZ_M5R.mjs +369 -0
  265. package/dist/shared/index-mKnRWsLn.cjs +1 -0
  266. package/dist/shared/{index.vue_vue_type_script_lang-chBiq2cG.mjs → index-qLomEtF6.mjs} +4 -3
  267. package/dist/shared/{index.vue_vue_type_style_index_0_lang-gs0YJI91.mjs → index-u7VYI7Kg.mjs} +17 -16
  268. package/dist/shared/index-xdsYNS2u.mjs +53 -0
  269. package/dist/shared/index-xhROPBam.mjs +129 -0
  270. package/index.d.ts +113 -113
  271. package/package.json +490 -489
  272. package/qy-alert/index.d.ts +64 -64
  273. package/qy-autocomplete/index.d.ts +5 -5
  274. package/qy-avatar/index.d.ts +67 -67
  275. package/qy-badge/index.d.ts +63 -63
  276. package/qy-card/index.d.ts +64 -64
  277. package/qy-cascader/index.d.ts +198 -198
  278. package/qy-collapse/index.d.ts +59 -59
  279. package/qy-collapse-item/index.d.ts +45 -45
  280. package/qy-descriptions/index.d.ts +47 -47
  281. package/qy-descriptions-item/index.d.ts +46 -46
  282. package/qy-dialog/index.d.ts +63 -63
  283. package/qy-divider/index.d.ts +53 -53
  284. package/qy-drawer/index.d.ts +55 -55
  285. package/qy-empty/index.d.ts +51 -51
  286. package/qy-file-picker/index.d.ts +4 -4
  287. package/qy-icon/index.d.ts +3 -0
  288. package/qy-iframe/index.d.ts +66 -66
  289. package/qy-image/index.d.ts +28 -28
  290. package/qy-image-preview/index.d.ts +20 -20
  291. package/qy-image-upload/index.d.ts +69 -69
  292. package/qy-input/index.d.ts +76 -76
  293. package/qy-input-number/index.d.ts +64 -64
  294. package/qy-input-tag/index.d.ts +69 -69
  295. package/qy-link/index.d.ts +69 -69
  296. package/qy-loading/index.d.ts +25 -25
  297. package/qy-menu-actions/index.d.ts +29 -29
  298. package/qy-money-input/index.d.ts +87 -87
  299. package/qy-progress/index.d.ts +74 -74
  300. package/qy-result/index.d.ts +64 -64
  301. package/qy-scrollbar/index.d.ts +85 -85
  302. package/qy-skeleton/index.d.ts +54 -54
  303. package/qy-skeleton-item/index.d.ts +48 -48
  304. package/qy-step/index.d.ts +55 -55
  305. package/qy-steps/index.d.ts +62 -62
  306. package/qy-tab-pane/index.d.ts +40 -40
  307. package/qy-table-column-settings/index.d.ts +18 -18
  308. package/qy-tabs/index.d.ts +84 -84
  309. package/qy-tree/index.d.ts +132 -132
  310. package/qy-tree-select/index.d.ts +123 -123
  311. package/qy-upload/index.d.ts +99 -99
  312. package/dist/shared/index-3qEac4h8.cjs +0 -1
  313. package/dist/shared/index-4SkLDBra.mjs +0 -377
  314. package/dist/shared/index-AMu0L6uU.cjs +0 -1
  315. package/dist/shared/index-B1b3BksF.mjs +0 -72
  316. package/dist/shared/index-BPaVDCe6.cjs +0 -1
  317. package/dist/shared/index-BYX0biqw.mjs +0 -766
  318. package/dist/shared/index-BdTlpKtr.cjs +0 -1
  319. package/dist/shared/index-Bli6Gx5d.cjs +0 -1
  320. package/dist/shared/index-BuUtJrIy.mjs +0 -119
  321. package/dist/shared/index-Bvot0uXo.cjs +0 -1
  322. package/dist/shared/index-BxxwEr52.mjs +0 -107
  323. package/dist/shared/index-C1i-hd-W.cjs +0 -1
  324. package/dist/shared/index-C7lRQtzs.cjs +0 -1
  325. package/dist/shared/index-C91mzAI3.mjs +0 -254
  326. package/dist/shared/index-CdnHMuo3.mjs +0 -149
  327. package/dist/shared/index-CwY_jv_I.cjs +0 -1
  328. package/dist/shared/index-D5S48q1B.mjs +0 -162
  329. package/dist/shared/index-D654b42n.mjs +0 -2754
  330. package/dist/shared/index-D8E_xu0N.mjs +0 -54
  331. package/dist/shared/index-DCzxcvkn.cjs +0 -1
  332. package/dist/shared/index-DK0hjfWr.mjs +0 -90
  333. package/dist/shared/index-DZRFSGxO.mjs +0 -225
  334. package/dist/shared/index-Dc6gLgAz.cjs +0 -1
  335. package/dist/shared/index-DcohgM8A.mjs +0 -68
  336. package/dist/shared/index-Di4bIOiB.cjs +0 -1
  337. package/dist/shared/index-DlGwHshu.cjs +0 -1
  338. package/dist/shared/index-DnHfk7NM.cjs +0 -1
  339. package/dist/shared/index-DnNIseRJ.cjs +0 -1
  340. package/dist/shared/index-Dr-Q5krU.mjs +0 -71
  341. package/dist/shared/index-Dwf-JfXM.mjs +0 -293
  342. package/dist/shared/index-JjHutKmT.mjs +0 -142
  343. package/dist/shared/index-Od6HC8Un.mjs +0 -127
  344. package/dist/shared/index-S8HW36Mc.mjs +0 -222
  345. package/dist/shared/index-aIqtIYsu.cjs +0 -1
  346. package/dist/shared/index-nSFTxVz8.cjs +0 -1
  347. package/dist/shared/index-nos4Y-fm.cjs +0 -1
  348. package/dist/shared/index.vue_vue_type_script_lang-69zSOotQ.mjs +0 -47
  349. package/dist/shared/index.vue_vue_type_script_lang-8AT3-xU-.cjs +0 -1
  350. package/dist/shared/index.vue_vue_type_script_lang-BO9Ju_i0.cjs +0 -1
  351. package/dist/shared/index.vue_vue_type_script_lang-Bc3tktk9.cjs +0 -1
  352. package/dist/shared/index.vue_vue_type_script_lang-BgapsQjI.cjs +0 -1
  353. package/dist/shared/index.vue_vue_type_script_lang-BkoqbceR.cjs +0 -1
  354. package/dist/shared/index.vue_vue_type_script_lang-By3jd4gw.cjs +0 -1
  355. package/dist/shared/index.vue_vue_type_script_lang-C9X0V5AK.mjs +0 -71
  356. package/dist/shared/index.vue_vue_type_script_lang-CCL57H5c.cjs +0 -1
  357. package/dist/shared/index.vue_vue_type_script_lang-CIOi2ahp.cjs +0 -1
  358. package/dist/shared/index.vue_vue_type_script_lang-CKZUcaZ5.cjs +0 -1
  359. package/dist/shared/index.vue_vue_type_script_lang-CWnNQBPN.mjs +0 -31
  360. package/dist/shared/index.vue_vue_type_script_lang-CZK0hDYa.mjs +0 -77
  361. package/dist/shared/index.vue_vue_type_script_lang-CfjfZCT3.cjs +0 -1
  362. package/dist/shared/index.vue_vue_type_script_lang-ChS-3_vl.mjs +0 -43
  363. package/dist/shared/index.vue_vue_type_script_lang-Cv4Pf58E.cjs +0 -1
  364. package/dist/shared/index.vue_vue_type_script_lang-CwrbII5c.cjs +0 -1
  365. package/dist/shared/index.vue_vue_type_script_lang-D42aRlO2.cjs +0 -1
  366. package/dist/shared/index.vue_vue_type_script_lang-D7nzeBUR.mjs +0 -35
  367. package/dist/shared/index.vue_vue_type_script_lang-DIKHRo0o.mjs +0 -72
  368. package/dist/shared/index.vue_vue_type_script_lang-DLmUPDR5.cjs +0 -1
  369. package/dist/shared/index.vue_vue_type_script_lang-DMrpLmWN.cjs +0 -1
  370. package/dist/shared/index.vue_vue_type_script_lang-DRvk4-_O.mjs +0 -43
  371. package/dist/shared/index.vue_vue_type_script_lang-DpSaB5eg.cjs +0 -1
  372. package/dist/shared/index.vue_vue_type_script_lang-WJ63_A7F.cjs +0 -1
  373. package/dist/shared/index.vue_vue_type_script_setup_true_lang-4KZSABSM.cjs +0 -1
  374. package/dist/shared/index.vue_vue_type_script_setup_true_lang-B4JrNUDc.mjs +0 -43
  375. package/dist/shared/index.vue_vue_type_script_setup_true_lang-BJe7Uo6S.mjs +0 -42
  376. package/dist/shared/index.vue_vue_type_script_setup_true_lang-BWi3g3mb.cjs +0 -1
  377. package/dist/shared/index.vue_vue_type_script_setup_true_lang-BXnZt9UT.mjs +0 -63
  378. package/dist/shared/index.vue_vue_type_script_setup_true_lang-Bdz9oDDW.mjs +0 -62
  379. package/dist/shared/index.vue_vue_type_script_setup_true_lang-BiIgNax-.cjs +0 -1
  380. package/dist/shared/index.vue_vue_type_script_setup_true_lang-C6-hVGUO.mjs +0 -61
  381. package/dist/shared/index.vue_vue_type_script_setup_true_lang-C96ZaggL.cjs +0 -1
  382. package/dist/shared/index.vue_vue_type_script_setup_true_lang-CGsXVhJy.mjs +0 -331
  383. package/dist/shared/index.vue_vue_type_script_setup_true_lang-CKp87br2.cjs +0 -1
  384. package/dist/shared/index.vue_vue_type_script_setup_true_lang-COAUEujY.mjs +0 -48
  385. package/dist/shared/index.vue_vue_type_script_setup_true_lang-CqSJ_8hG.cjs +0 -1
  386. package/dist/shared/index.vue_vue_type_script_setup_true_lang-Cr9PdvyR.cjs +0 -1
  387. package/dist/shared/index.vue_vue_type_script_setup_true_lang-D7BlbHN5.cjs +0 -1
  388. package/dist/shared/index.vue_vue_type_script_setup_true_lang-DIWWHODS.mjs +0 -197
  389. package/dist/shared/index.vue_vue_type_script_setup_true_lang-DOuk75uN.cjs +0 -1
  390. package/dist/shared/index.vue_vue_type_script_setup_true_lang-DUEhuwGQ.cjs +0 -1
  391. package/dist/shared/index.vue_vue_type_script_setup_true_lang-Dd_nKJvH.mjs +0 -19
  392. package/dist/shared/index.vue_vue_type_script_setup_true_lang-Dk83TGiU.cjs +0 -1
  393. package/dist/shared/index.vue_vue_type_script_setup_true_lang-DwFGEW4B.mjs +0 -143
  394. package/dist/shared/index.vue_vue_type_script_setup_true_lang-EiHoQBXt.mjs +0 -94
  395. package/dist/shared/index.vue_vue_type_script_setup_true_lang-IyZesuKm.mjs +0 -48
  396. package/dist/shared/index.vue_vue_type_script_setup_true_lang-S-rQ0p3E.mjs +0 -106
  397. package/dist/shared/index.vue_vue_type_script_setup_true_lang-ccFLNRry.cjs +0 -1
  398. package/dist/shared/index.vue_vue_type_script_setup_true_lang-lvZQ_Cu6.cjs +0 -1
  399. package/dist/shared/index.vue_vue_type_style_index_0_lang-1cTut9Ql.cjs +0 -1
  400. package/dist/shared/index.vue_vue_type_style_index_0_lang-B1FgJZbw.mjs +0 -148
  401. package/dist/shared/index.vue_vue_type_style_index_0_lang-BXTkWo5P.cjs +0 -1
  402. package/dist/shared/index.vue_vue_type_style_index_0_lang-BcZb1U13.cjs +0 -1
  403. package/dist/shared/index.vue_vue_type_style_index_0_lang-BnPRHCwR.cjs +0 -1
  404. package/dist/shared/index.vue_vue_type_style_index_0_lang-BoaO6MKl.cjs +0 -1
  405. package/dist/shared/index.vue_vue_type_style_index_0_lang-C1n-zAZh.mjs +0 -67
  406. package/dist/shared/index.vue_vue_type_style_index_0_lang-C4Yk-UdJ.mjs +0 -172
  407. package/dist/shared/index.vue_vue_type_style_index_0_lang-CIcZet5j.mjs +0 -286
  408. package/dist/shared/index.vue_vue_type_style_index_0_lang-CPxbKjvY.mjs +0 -286
  409. package/dist/shared/index.vue_vue_type_style_index_0_lang-CVdFZeHK.mjs +0 -98
  410. package/dist/shared/index.vue_vue_type_style_index_0_lang-CcVf5MXE.mjs +0 -166
  411. package/dist/shared/index.vue_vue_type_style_index_0_lang-Ch3QcF8t.cjs +0 -1
  412. package/dist/shared/index.vue_vue_type_style_index_0_lang-D9DraThL.cjs +0 -1
  413. package/dist/shared/index.vue_vue_type_style_index_0_lang-DFAaBzkW.cjs +0 -1
  414. package/dist/shared/index.vue_vue_type_style_index_0_lang-DHK86rdP.cjs +0 -1
  415. package/dist/shared/index.vue_vue_type_style_index_0_lang-DSur831A.mjs +0 -68
  416. package/dist/shared/index.vue_vue_type_style_index_0_lang-DVXf-yUs.cjs +0 -1
  417. package/dist/shared/index.vue_vue_type_style_index_0_lang-DsOg_Rum.mjs +0 -128
  418. package/dist/shared/index.vue_vue_type_style_index_0_lang-KHk9wRYT.mjs +0 -298
  419. package/dist/shared/index.vue_vue_type_style_index_0_lang-RiwA2WPO.cjs +0 -1
  420. package/dist/shared/index.vue_vue_type_style_index_0_lang-WGzoSatU.cjs +0 -1
  421. package/dist/shared/index.vue_vue_type_style_index_0_lang-b0y8p1p1.mjs +0 -215
  422. package/dist/shared/index.vue_vue_type_style_index_0_lang-hbNK_h45.cjs +0 -1
@@ -0,0 +1,892 @@
1
+ import { ElUpload as tt, ElIcon as nt, ElPopover as lt, ElInput as it, ElImageViewer as at, ElDialog as ot } from "element-plus/es";
2
+ import { openBlock as V, createElementBlock as C, normalizeStyle as rt, normalizeClass as ae, createElementVNode as w, createVNode as R, createSlots as st, withCtx as L, withModifiers as h, Fragment as H, toDisplayString as O, createCommentVNode as b, renderSlot as ut, createBlock as dt, createTextVNode as X, ref as g, onMounted as Re, computed as U, watch as J, toRaw as oe, nextTick as Te, onBeforeUnmount as Se } from "vue";
3
+ import { InfoFilled as ct, Plus as ft } from "@element-plus/icons-vue";
4
+ import { ElLoading as Le, ElMessage as _ } from "element-plus";
5
+ import { _ as pt } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
6
+ /*! js-cookie v3.0.8 | MIT */
7
+ function Q(m) {
8
+ for (var a = 1; a < arguments.length; a++) {
9
+ var u = arguments[a];
10
+ for (var t in u)
11
+ t !== "__proto__" && (m[t] = u[t]);
12
+ }
13
+ return m;
14
+ }
15
+ var mt = {
16
+ read: function(m) {
17
+ return m[0] === '"' && (m = m.slice(1, -1)), m.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent);
18
+ },
19
+ write: function(m) {
20
+ return encodeURIComponent(m).replace(
21
+ /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
22
+ decodeURIComponent
23
+ );
24
+ }
25
+ };
26
+ function re(m, a) {
27
+ function u(s, k, f) {
28
+ if (!(typeof document > "u")) {
29
+ f = Q({}, a, f), typeof f.expires == "number" && (f.expires = new Date(Date.now() + f.expires * 864e5)), f.expires && (f.expires = f.expires.toUTCString()), s = encodeURIComponent(s).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);
30
+ var x = "";
31
+ for (var r in f)
32
+ f[r] && (x += "; " + r, f[r] !== !0 && (x += "=" + f[r].split(";")[0]));
33
+ return document.cookie = s + "=" + m.write(k, s) + x;
34
+ }
35
+ }
36
+ function t(s) {
37
+ if (!(typeof document > "u" || arguments.length && !s)) {
38
+ for (var k = document.cookie ? document.cookie.split("; ") : [], f = {}, x = 0; x < k.length; x++) {
39
+ var r = k[x].split("="), B = r.slice(1).join("=");
40
+ try {
41
+ var D = decodeURIComponent(r[0]);
42
+ if (D in f || (f[D] = m.read(B, D)), s === D)
43
+ break;
44
+ } catch {
45
+ }
46
+ }
47
+ return s ? f[s] : f;
48
+ }
49
+ }
50
+ return Object.create(
51
+ {
52
+ set: u,
53
+ get: t,
54
+ remove: function(s, k) {
55
+ u(
56
+ s,
57
+ "",
58
+ Q({}, k, {
59
+ expires: -1
60
+ })
61
+ );
62
+ },
63
+ withAttributes: function(s) {
64
+ return re(this.converter, Q({}, this.attributes, s));
65
+ },
66
+ withConverter: function(s) {
67
+ return re(Q({}, this.converter, s), this.attributes);
68
+ }
69
+ },
70
+ {
71
+ attributes: { value: Object.freeze(a) },
72
+ converter: { value: Object.freeze(m) }
73
+ }
74
+ );
75
+ }
76
+ var vt = re(mt, { path: "/" });
77
+ const gt = "Admin-Token";
78
+ function Be(m = gt) {
79
+ return vt.get(m);
80
+ }
81
+ const yt = /* @__PURE__ */ Object.assign({
82
+ name: "QyUpload"
83
+ }, {
84
+ __name: "index",
85
+ props: {
86
+ /**
87
+ * 受控值。valueFormat 为 object 时结构为 { files, text },
88
+ * array 时为 string[],string 时为逗号分隔 URL。
89
+ */
90
+ modelValue: { type: [Object, Array, String], default: void 0 },
91
+ /** 已选择的浏览器本地文件,不与上传完成后的远程值混用。 */
92
+ selectedFiles: { type: Array, default: () => [] },
93
+ /** 是否在选择后立即上传;false 时只维护 selectedFiles。 */
94
+ autoUpload: { type: Boolean, default: !0 },
95
+ /** Qy 展示模式:media-card | file-list。 */
96
+ variant: { type: String, default: "media-card" },
97
+ /**
98
+ * 初始值,结构为 { files: '逗号分隔的URL', text: '文字内容' }
99
+ * 非受控模式,仅初始化时读取一次
100
+ */
101
+ defaultValue: { type: Object, default: () => ({ files: "", text: "" }) },
102
+ /** v-model 输出格式:object | array | string */
103
+ valueFormat: { type: String, default: "object" },
104
+ /** 是否显示底部文字备注区 */
105
+ showText: { type: Boolean, default: !0 },
106
+ /** 是否显示纯粘贴输入条,不保存文字,仅用于承接 Ctrl+V 图片 */
107
+ showPasteInput: { type: Boolean, default: !1 },
108
+ /** 文字区占位文案,也用于凭证上传的粘贴提示 */
109
+ pastePlaceholder: { type: String, default: "输入文字" },
110
+ /** 是否多选 */
111
+ multiple: { type: Boolean, default: !0 },
112
+ /** 是否禁用 */
113
+ disabled: { type: Boolean, default: !1 },
114
+ /** 允许的文件类型后缀(如 ['jpg', 'mp4']) */
115
+ fileType: { type: Array, default: () => [] },
116
+ /** 单个文件大小限制(MB) */
117
+ fileSize: { type: Number, default: 10 },
118
+ /** 文件数量限制 */
119
+ limit: { type: Number, default: 9 },
120
+ /** 是否显示格式/大小提示 */
121
+ isShowTip: { type: Boolean, default: !1 },
122
+ /** 接口路径 */
123
+ api: { type: String, default: "/permission-api/common/uploads" },
124
+ /** FormData 中文件字段名 */
125
+ name: { type: String, default: "file" },
126
+ /** token 读取 key,对应 utils/auth 中的存储字段 */
127
+ tokenKey: { type: String, default: "Admin-Token" },
128
+ /** 是否支持视频模式(强制 limit=1) */
129
+ supportVideo: { type: Boolean, default: !1 },
130
+ /**
131
+ * 卡片尺寸
132
+ * 预设:'large'(160px) | 'default'(140px) | 'small'(80px)
133
+ * 自定义:任意 CSS 单位,如 '60px'、'8vw'
134
+ */
135
+ size: { type: String, default: "default" },
136
+ /** 禁用拖拽(默认在触发区开启) */
137
+ disableDrag: { type: Boolean, default: !1 },
138
+ /** 成功回调(用于复杂业务联动) */
139
+ callBack: { type: Function, default: null },
140
+ /** 上传时附加的额外 FormData 字段 */
141
+ extraData: { type: Object, default: () => ({}) },
142
+ /** 自定义上传请求,用于接入宿主项目 request / 鉴权 / baseURL。 */
143
+ uploadRequest: { type: Function, default: null }
144
+ },
145
+ emits: [
146
+ "update:modelValue",
147
+ "update:selectedFiles",
148
+ "selectedFilesChange",
149
+ "change",
150
+ "success",
151
+ "error",
152
+ "remove",
153
+ "invalid"
154
+ ],
155
+ setup(m, { expose: a, emit: u }) {
156
+ const t = m, s = u, k = g(null), f = g(null), x = g(null), r = g([]), B = g(null), D = g(null), F = [], P = /* @__PURE__ */ new WeakMap();
157
+ let y = Date.now(), I = !1;
158
+ const G = g(!1), Y = g([]), se = g(0), ue = g(!1), de = g(""), ce = g(""), z = /* @__PURE__ */ new Set(), M = g(!1), T = g(""), Pe = g(!1);
159
+ Re(() => {
160
+ t.modelValue !== void 0 || !t.autoUpload || $(t.defaultValue);
161
+ });
162
+ const je = U(() => ({ large: "160px", default: "140px", small: "80px" })[t.size] ?? t.size), qe = U(() => t.disabled), Ie = U(
163
+ () => r.value.some((e) => e.status === "uploading")
164
+ ), ze = U(
165
+ () => t.variant === "file-list" || t.supportVideo ? "text" : "picture-card"
166
+ ), Ae = U(() => t.supportVideo ? 1 : !t.autoUpload && !t.multiple ? 2 : t.limit), Oe = U(
167
+ () => {
168
+ var e;
169
+ return t.isShowTip && (t.fileSize || ((e = S.value) == null ? void 0 : e.length));
170
+ }
171
+ ), S = U(() => {
172
+ var e;
173
+ return (e = t.fileType) != null && e.length ? t.fileType.map((n) => String(n).trim().replace(/^\./, "").toLowerCase()).filter(Boolean) : t.variant === "file-list" ? [] : t.supportVideo ? ["mp4", "mov", "avi"] : ["jpg", "jpeg", "png", "gif", "webp"];
174
+ }), N = U(() => {
175
+ if (!t.autoUpload && !t.multiple) return !1;
176
+ const e = t.supportVideo ? 1 : t.limit;
177
+ return r.value.length >= e;
178
+ }), Me = U(
179
+ () => S.value.map((e) => `.${e}`).join(",")
180
+ ), Ne = U(() => ({
181
+ "qy-upload--reached-limit": N.value,
182
+ "qy-upload--disabled": t.disabled,
183
+ "qy-upload--video": t.supportVideo,
184
+ "qy-upload--without-text": !t.showText && !t.showPasteInput
185
+ }));
186
+ J(T, () => {
187
+ I || q();
188
+ }), J(
189
+ () => t.modelValue,
190
+ (e) => {
191
+ t.autoUpload && e !== void 0 && $(e);
192
+ },
193
+ { immediate: !0, deep: !0 }
194
+ ), J(
195
+ () => [t.autoUpload, t.selectedFiles],
196
+ ([e, n]) => {
197
+ e || (r.value = j(n));
198
+ },
199
+ { immediate: !0, deep: !0 }
200
+ );
201
+ function Z(e) {
202
+ return Array.isArray(e) ? e.filter(Boolean) : e ? String(e).split(",").filter(Boolean) : [];
203
+ }
204
+ function fe(e) {
205
+ return Array.isArray(e) ? { files: e, text: "" } : typeof e == "string" ? { files: Z(e), text: "" } : e && typeof e == "object" ? {
206
+ files: Z(e.files),
207
+ text: e.text ?? ""
208
+ } : { files: [], text: "" };
209
+ }
210
+ function pe(e = []) {
211
+ return e.map((n, l) => ({
212
+ name: String(n).split("/").pop() || `file-${l}`,
213
+ url: n,
214
+ status: "success",
215
+ uid: Date.now() + l
216
+ }));
217
+ }
218
+ function j(e = []) {
219
+ return e.filter(Boolean).map((n, l) => {
220
+ const i = oe(n);
221
+ return {
222
+ name: i.name,
223
+ raw: i,
224
+ status: "ready",
225
+ uid: me(i, l)
226
+ };
227
+ });
228
+ }
229
+ function me(e, n) {
230
+ if (e.uid != null) return e.uid;
231
+ const l = P.get(e);
232
+ return l ?? (y += n + 1, P.set(e, y), y);
233
+ }
234
+ function E(e = r.value) {
235
+ return e.map((n) => {
236
+ const l = n.raw ?? (n instanceof File ? n : null);
237
+ return l ? oe(l) : null;
238
+ }).filter(Boolean);
239
+ }
240
+ function A(e) {
241
+ s("update:selectedFiles", e), s("selectedFilesChange", e);
242
+ }
243
+ function Ee(e, n) {
244
+ if (t.autoUpload) return;
245
+ const l = e == null ? void 0 : e.raw;
246
+ if (l && !K(l)) {
247
+ r.value = j(t.selectedFiles);
248
+ return;
249
+ }
250
+ const i = E(n);
251
+ l && !i.includes(l) && i.push(l);
252
+ const o = t.multiple ? i : i.slice(-1);
253
+ r.value = j(o), A(o);
254
+ }
255
+ function ve(e) {
256
+ const n = new Set(e.map((i) => i.url)), l = r.value.filter(
257
+ (i) => i.status === "uploading" && !n.has(i.url)
258
+ );
259
+ return [...e, ...l];
260
+ }
261
+ function $(e) {
262
+ const n = fe(e);
263
+ I = !0, T.value = n.text, r.value = ve(pe(n.files)), Te(() => {
264
+ I = !1;
265
+ });
266
+ }
267
+ function ee(e) {
268
+ return t.valueFormat === "array" ? e.files : t.valueFormat === "string" ? e.files.join(",") : e;
269
+ }
270
+ function Ke() {
271
+ var e;
272
+ (e = B.value) == null || e.focus();
273
+ }
274
+ function We(e) {
275
+ e.target.value = "";
276
+ }
277
+ function q(e) {
278
+ const i = { files: (e ?? r.value).filter((o) => o.status === "success" && o.url).map((o) => o.url), text: T.value };
279
+ s("update:modelValue", ee(i)), s("change", i), t.callBack && t.callBack(i);
280
+ }
281
+ function He(e, n) {
282
+ if (!t.autoUpload) {
283
+ const l = E(n);
284
+ r.value = j(l), A(l), s("remove", e, n);
285
+ return;
286
+ }
287
+ q(n), s("remove", e, n);
288
+ }
289
+ function te(e) {
290
+ var l;
291
+ const n = (e == null ? void 0 : e.name) || "";
292
+ return n.includes(".") && ((l = n.split(".").pop()) == null ? void 0 : l.toLowerCase()) || "";
293
+ }
294
+ function ne(e) {
295
+ var o, d, p;
296
+ const n = ((d = (o = e == null ? void 0 : e.type) == null ? void 0 : o.toLowerCase) == null ? void 0 : d.call(o)) || "", l = {
297
+ "image/jpeg": ["jpg", "jpeg"],
298
+ "image/png": ["png"],
299
+ "image/gif": ["gif"],
300
+ "image/bmp": ["bmp"],
301
+ "image/webp": ["webp"],
302
+ "video/mp4": ["mp4"],
303
+ "video/quicktime": ["mov"],
304
+ "video/x-msvideo": ["avi"],
305
+ "video/webm": ["webm"]
306
+ };
307
+ if (l[n]) return l[n];
308
+ const i = (p = n.split("/")[1]) == null ? void 0 : p.split("+")[0];
309
+ return i ? [i] : [];
310
+ }
311
+ function ge(e) {
312
+ if (!S.value.length) return !0;
313
+ const n = te(e), l = ne(e);
314
+ return [n, ...l].some(
315
+ (i) => S.value.includes(i)
316
+ );
317
+ }
318
+ function K(e) {
319
+ if (t.fileSize > 0 && e.size > t.fileSize * 1024 * 1024) {
320
+ const l = {
321
+ code: "size",
322
+ file: e,
323
+ message: `文件大小不能超过${t.fileSize}M`
324
+ };
325
+ return _.warning(l.message), s("invalid", l), !1;
326
+ }
327
+ if (!ge(e)) {
328
+ const l = {
329
+ code: "extension",
330
+ file: e,
331
+ message: `格式不支持,仅允许: ${S.value.join("/")}`
332
+ };
333
+ return _.warning(l.message), s("invalid", l), !1;
334
+ }
335
+ return !0;
336
+ }
337
+ async function ye(e, n, l, i) {
338
+ const o = le(e);
339
+ try {
340
+ const d = await t.uploadRequest({
341
+ file: e,
342
+ formData: o,
343
+ api: t.api,
344
+ name: t.name,
345
+ tokenKey: t.tokenKey,
346
+ extraData: t.extraData
347
+ }), p = he(d);
348
+ if (!p) {
349
+ const c = new Error("上传失败,未返回文件地址");
350
+ _.error(c.message), s("error", c), l == null || l(c);
351
+ return;
352
+ }
353
+ _.success("上传成功"), n == null || n({ ...typeof d == "object" && d ? d : {}, url: p });
354
+ } catch (d) {
355
+ _.error("上传失败"), s("error", d), l == null || l(d);
356
+ } finally {
357
+ i.close();
358
+ }
359
+ }
360
+ function le(e) {
361
+ const n = new FormData();
362
+ return n.append(t.name, e), t.extraData && Object.entries(t.extraData).forEach(([l, i]) => n.append(l, i)), n;
363
+ }
364
+ function he(e) {
365
+ var i, o;
366
+ if (typeof e == "string") return e;
367
+ const n = e || {}, l = n.urls ?? n.url ?? ((i = n.data) == null ? void 0 : i.urls) ?? ((o = n.data) == null ? void 0 : o.url) ?? "";
368
+ return Array.isArray(l) ? l[0] || "" : l || "";
369
+ }
370
+ function ie(e, n, l, i) {
371
+ const o = Le.service({
372
+ target: f.value,
373
+ text: "上传中",
374
+ background: "rgba(255,255,255,0.7)"
375
+ });
376
+ if (t.uploadRequest) {
377
+ ye(e, l, i, o);
378
+ return;
379
+ }
380
+ const d = t.api.startsWith("http") ? t.api : window.location.origin + t.api.replace(/^([^/])/, "/$1"), p = le(e), c = new XMLHttpRequest();
381
+ F.push(c);
382
+ const Ce = () => {
383
+ const v = F.indexOf(c);
384
+ v !== -1 && F.splice(v, 1), o.close();
385
+ };
386
+ c.open("POST", d);
387
+ const De = Be(t.tokenKey);
388
+ De && c.setRequestHeader("Authorization", `Bearer ${De}`), c.upload.onprogress = (v) => {
389
+ v.total > 0 && (n == null || n({ percent: v.loaded / v.total * 100 }));
390
+ }, c.onload = () => {
391
+ if (Ce(), c.status < 200 || c.status >= 300) {
392
+ const v = `上传失败 (HTTP ${c.status})`;
393
+ _.error(v), s("error", { msg: v, status: c.status }), i == null || i(new Error(v));
394
+ return;
395
+ }
396
+ try {
397
+ const v = JSON.parse(c.responseText);
398
+ v.code === 200 && v.urls ? (_.success("上传成功"), l == null || l({ ...v, url: v.urls })) : (_.error(v.msg || "上传失败"), s("error", v), i == null || i(v));
399
+ } catch {
400
+ _.error("上传失败,响应格式错误"), s("error", new Error("Response parse error")), i == null || i(new Error("Response parse error"));
401
+ }
402
+ }, c.onerror = () => {
403
+ Ce(), _.error("上传失败,网络异常"), s("error", new Error("Network error")), i == null || i(new Error("Network error"));
404
+ }, c.send(p);
405
+ }
406
+ function xe(e) {
407
+ return t.disabled ? !1 : K(e);
408
+ }
409
+ function we(e, n) {
410
+ const l = r.value.find(
411
+ (i) => {
412
+ var o;
413
+ return i.uid === (e == null ? void 0 : e.uid) || ((o = i.raw) == null ? void 0 : o.uid) === (e == null ? void 0 : e.uid);
414
+ }
415
+ );
416
+ l && (l.url = n, l.status = "success");
417
+ }
418
+ function Xe(e) {
419
+ ie(
420
+ e.file,
421
+ e.onProgress,
422
+ (n) => {
423
+ we(e.file, n.url), e.onSuccess(n), q(), s("success", n);
424
+ },
425
+ (n) => e.onError(n)
426
+ );
427
+ }
428
+ function Je(e) {
429
+ var i;
430
+ if (!e.url) return;
431
+ const n = ((i = e.url.split(".").pop()) == null ? void 0 : i.toLowerCase()) || "";
432
+ if (["mp4", "mov", "avi", "webm"].includes(n)) {
433
+ de.value = e.url, ce.value = e.name || "视频预览", ue.value = !0;
434
+ return;
435
+ }
436
+ const l = r.value.filter(
437
+ (o) => {
438
+ var d;
439
+ return o.status === "success" && o.url && !["mp4", "mov", "avi", "webm"].includes(
440
+ (d = o.url.split(".").pop()) == null ? void 0 : d.toLowerCase()
441
+ );
442
+ }
443
+ );
444
+ Y.value = l.map((o) => o.url), se.value = l.findIndex((o) => o.uid === e.uid) || 0, G.value = !0;
445
+ }
446
+ function Qe() {
447
+ G.value = !1, Y.value = [];
448
+ }
449
+ function be(e, n) {
450
+ if (e.name && te(e)) return e;
451
+ const l = ne(e).find(
452
+ (i) => S.value.includes(i)
453
+ );
454
+ return l ? new File([e], `paste-${Date.now() + n}.${l}`, {
455
+ type: e.type,
456
+ lastModified: e.lastModified
457
+ }) : e;
458
+ }
459
+ function W(e) {
460
+ if (!t.autoUpload) {
461
+ const n = E(), l = e.filter((o) => K(o));
462
+ if (!l.length) return;
463
+ const i = t.multiple ? [...n, ...l].slice(0, t.limit) : l.slice(-1);
464
+ r.value = j(i), A(i);
465
+ return;
466
+ }
467
+ for (let n = 0; n < e.length; n++) {
468
+ const l = be(e[n], n);
469
+ if (!xe(l)) continue;
470
+ const i = Date.now() + n, o = URL.createObjectURL(l);
471
+ z.add(o), r.value.push({
472
+ uid: i,
473
+ name: l.name || `file-${i}`,
474
+ status: "uploading",
475
+ percentage: 0,
476
+ url: o
477
+ }), ie(
478
+ l,
479
+ (d) => {
480
+ const p = r.value.find((c) => c.uid === i);
481
+ p && (p.percentage = d.percent);
482
+ },
483
+ (d) => {
484
+ const p = r.value.find((c) => c.uid === i);
485
+ p && (p.status = "success", p.url = d.url, q(), s("success", d));
486
+ },
487
+ () => _e(i)
488
+ );
489
+ }
490
+ }
491
+ function Ge(e) {
492
+ const n = e.target, l = Array.from(n.files || []);
493
+ if (n.value = "", t.disabled || !l.length) return;
494
+ const i = t.supportVideo || !t.multiple ? l.slice(0, 1) : l;
495
+ W(i);
496
+ }
497
+ function Ue(e) {
498
+ const n = Array.from((e == null ? void 0 : e.files) || []).filter(
499
+ (d) => {
500
+ var p;
501
+ return (p = d.type) == null ? void 0 : p.startsWith("image/");
502
+ }
503
+ );
504
+ if (n.length) return n;
505
+ const l = e == null ? void 0 : e.items;
506
+ if (!l) return [];
507
+ const i = [], o = /* @__PURE__ */ new Set();
508
+ for (let d = 0; d < l.length; d++) {
509
+ const p = l[d];
510
+ if (p.kind === "file" && p.type.startsWith("image/")) {
511
+ const c = p.getAsFile();
512
+ c && !o.has(c) && (o.add(c), i.push(c));
513
+ }
514
+ }
515
+ return i;
516
+ }
517
+ function Ye(e) {
518
+ if (t.disabled) return;
519
+ const n = Ue(e.clipboardData);
520
+ n.length && (e.preventDefault(), W(n));
521
+ }
522
+ function Ze() {
523
+ t.disabled || t.disableDrag || (M.value = !0);
524
+ }
525
+ function $e() {
526
+ M.value = !1;
527
+ }
528
+ function et(e) {
529
+ var l;
530
+ if (M.value = !1, t.disabled || t.disableDrag || N.value) return;
531
+ const n = Array.from(((l = e.dataTransfer) == null ? void 0 : l.files) || []);
532
+ n.length && W(n);
533
+ }
534
+ function _e(e) {
535
+ var l;
536
+ const n = r.value.findIndex((i) => i.uid === e);
537
+ n !== -1 && ((l = r.value[n].url) != null && l.startsWith("blob:") && (URL.revokeObjectURL(r.value[n].url), z.delete(r.value[n].url)), r.value.splice(n, 1));
538
+ }
539
+ Se(() => {
540
+ F.forEach((e) => e.abort()), F.length = 0, z.forEach((e) => URL.revokeObjectURL(e)), z.clear();
541
+ });
542
+ function Ve() {
543
+ var e;
544
+ t.disabled || N.value || (e = x.value) == null || e.click();
545
+ }
546
+ function ke() {
547
+ r.value = [], T.value = "", A([]), t.autoUpload && q();
548
+ }
549
+ a({
550
+ /** 主动打开文件选择框,供表单或快捷操作调用 */
551
+ openFileDialog: Ve,
552
+ /** 获取已上传成功的文件 URL 列表 */
553
+ getPathList: () => r.value.filter((e) => e.status === "success").map((e) => e.url),
554
+ /** 清空文件和文字,并同步 change 事件 */
555
+ clearFiles: ke,
556
+ /** 获取完整值,结构与 change 事件保持一致 */
557
+ getValue: () => ({
558
+ files: r.value.filter((e) => e.status === "success" && e.url).map((e) => e.url),
559
+ text: T.value
560
+ }),
561
+ /** 获取按 valueFormat 输出的值,便于外部不走 v-model 时读取 */
562
+ getModelValue: () => ee({
563
+ files: r.value.filter((e) => e.status === "success" && e.url).map((e) => e.url),
564
+ text: T.value
565
+ })
566
+ });
567
+ const Fe = { props: t, emit: s, uploadRef: k, rootRef: f, nativeInputRef: x, fileList: r, inputRef: B, pasteInputRef: D, pendingXhrs: F, selectedFileUids: P, get selectedFileUid() {
568
+ return y;
569
+ }, set selectedFileUid(e) {
570
+ y = e;
571
+ }, get syncingFromValue() {
572
+ return I;
573
+ }, set syncingFromValue(e) {
574
+ I = e;
575
+ }, viewerVisible: G, viewerUrlList: Y, viewerIndex: se, videoVisible: ue, videoUrl: de, videoTitle: ce, objectUrls: z, isDragOver: M, localText: T, textExpanded: Pe, sizeValue: je, isUploadDisabled: qe, isUploading: Ie, uploadListType: ze, effectiveLimit: Ae, shouldShowTip: Oe, allowedExtensions: S, isReachedLimit: N, acceptAttr: Me, uploadClasses: Ne, normalizeFilesInput: Z, parseValue: fe, createFileList: pe, createSelectedFileList: j, getSelectedFileUid: me, getSelectedRawFiles: E, emitSelectedFiles: A, handleFileChange: Ee, mergePendingFileList: ve, syncValueToState: $, formatModelValue: ee, focusTextarea: Ke, clearPasteInput: We, handleSyncValue: q, handleRemove: He, getFileNameExtension: te, getMimeExtensions: ne, isAllowedFileType: ge, validateFile: K, uploadViaCustomRequest: ye, createUploadFormData: le, resolveUploadUrl: he, uploadViaXhr: ie, handleBeforeUpload: xe, applyUploadResultToFile: we, handleCustomUpload: Xe, handlePreview: Je, closeViewer: Qe, createNamedPasteFile: be, uploadFiles: W, handleNativeInputChange: Ge, collectImageFilesFromClipboard: Ue, handlePaste: Ye, handleDragOver: Ze, handleDragLeave: $e, handleDrop: et, handleRemoveByUid: _e, openFileDialog: Ve, clearFiles: ke, ref: g, computed: U, watch: J, onMounted: Re, onBeforeUnmount: Se, nextTick: Te, toRaw: oe, get Plus() {
576
+ return ft;
577
+ }, get InfoFilled() {
578
+ return ct;
579
+ }, get ElMessage() {
580
+ return _;
581
+ }, get ElLoading() {
582
+ return Le;
583
+ }, get getToken() {
584
+ return Be;
585
+ } };
586
+ return Object.defineProperty(Fe, "__isScriptSetup", { enumerable: !1, value: !0 }), Fe;
587
+ }
588
+ }), ht = ["accept", "multiple", "disabled"], xt = ["disabled"], wt = { class: "qy-upload__hint" }, bt = ["placeholder", "disabled"], Ut = ["src"], _t = {
589
+ key: 1,
590
+ class: "qy-upload__tip"
591
+ }, Vt = { class: "error" }, kt = { class: "error" };
592
+ function Ft(m, a, u, t, s, k) {
593
+ var P;
594
+ const f = nt, x = it, r = lt, B = tt, D = at, F = ot;
595
+ return V(), C(
596
+ "div",
597
+ {
598
+ ref: "rootRef",
599
+ class: ae(["qy-upload", t.uploadClasses]),
600
+ style: rt({ "--qy-upload-size": t.sizeValue })
601
+ },
602
+ [
603
+ w("input", {
604
+ ref: "nativeInputRef",
605
+ class: "qy-upload__native-input",
606
+ type: "file",
607
+ accept: t.acceptAttr,
608
+ multiple: u.supportVideo ? !1 : u.multiple,
609
+ disabled: t.isUploadDisabled,
610
+ onChange: t.handleNativeInputChange
611
+ }, null, 40, ht),
612
+ R(B, {
613
+ ref: "uploadRef",
614
+ "file-list": t.fileList,
615
+ "onUpdate:fileList": a[7] || (a[7] = (y) => t.fileList = y),
616
+ action: "#",
617
+ multiple: u.supportVideo ? !1 : u.multiple,
618
+ limit: t.effectiveLimit,
619
+ "auto-upload": u.autoUpload,
620
+ "list-type": t.uploadListType,
621
+ accept: t.acceptAttr,
622
+ disabled: t.isUploadDisabled,
623
+ "http-request": t.handleCustomUpload,
624
+ "before-upload": t.handleBeforeUpload,
625
+ "on-change": t.handleFileChange,
626
+ "on-preview": t.handlePreview,
627
+ "on-remove": t.handleRemove
628
+ }, st({
629
+ default: L(() => [
630
+ u.variant !== "file-list" && !t.isReachedLimit ? (V(), C(
631
+ "div",
632
+ {
633
+ key: 0,
634
+ class: ae(["qy-upload__trigger", { "is-dragover": t.isDragOver }]),
635
+ onPaste: t.handlePaste,
636
+ onDragover: h(t.handleDragOver, ["prevent"]),
637
+ onDragleave: h(t.handleDragLeave, ["prevent"]),
638
+ onDrop: h(t.handleDrop, ["prevent"])
639
+ },
640
+ [
641
+ R(f, { class: "qy-upload__icon" }, {
642
+ default: L(() => [
643
+ R(t.Plus)
644
+ ]),
645
+ _: 1
646
+ /* STABLE */
647
+ }),
648
+ u.supportVideo ? (V(), C(
649
+ H,
650
+ { key: 0 },
651
+ [
652
+ a[10] || (a[10] = w(
653
+ "span",
654
+ { class: "qy-upload__label" },
655
+ "点击上传视频",
656
+ -1
657
+ /* CACHED */
658
+ )),
659
+ w(
660
+ "span",
661
+ wt,
662
+ "支持 " + O(t.allowedExtensions.join(" / ")) + ",不超过 " + O(u.fileSize) + "MB",
663
+ 1
664
+ /* TEXT */
665
+ )
666
+ ],
667
+ 64
668
+ /* STABLE_FRAGMENT */
669
+ )) : b("v-if", !0),
670
+ b(" 文字输入框:可通过 showText 关闭,凭证上传这类纯图片场景不需要展示 "),
671
+ u.showText ? (V(), C(
672
+ "div",
673
+ {
674
+ key: 1,
675
+ class: "qy-upload__text",
676
+ onClick: a[4] || (a[4] = h(() => {
677
+ }, ["stop"])),
678
+ onPaste: h(t.handlePaste, ["stop"])
679
+ },
680
+ [
681
+ R(r, {
682
+ visible: t.textExpanded,
683
+ "onUpdate:visible": a[3] || (a[3] = (y) => t.textExpanded = y),
684
+ placement: "bottom-start",
685
+ width: 220,
686
+ trigger: "click",
687
+ "popper-class": "qy-upload__text-popover",
688
+ onAfterEnter: t.focusTextarea
689
+ }, {
690
+ reference: L(() => [
691
+ w(
692
+ "div",
693
+ {
694
+ class: ae(["qy-upload__text-preview", { "is-placeholder": !t.localText }])
695
+ },
696
+ O(t.localText || u.pastePlaceholder),
697
+ 3
698
+ /* TEXT, CLASS */
699
+ )
700
+ ]),
701
+ default: L(() => [
702
+ R(x, {
703
+ ref: "inputRef",
704
+ modelValue: t.localText,
705
+ "onUpdate:modelValue": a[1] || (a[1] = (y) => t.localText = y),
706
+ type: "textarea",
707
+ autosize: { minRows: 2, maxRows: 5 },
708
+ placeholder: u.pastePlaceholder,
709
+ disabled: u.disabled,
710
+ onBlur: a[2] || (a[2] = (y) => t.textExpanded = !1),
711
+ onPaste: h(t.handlePaste, ["stop"])
712
+ }, null, 8, ["modelValue", "placeholder", "disabled"])
713
+ ]),
714
+ _: 1
715
+ /* STABLE */
716
+ }, 8, ["visible"])
717
+ ],
718
+ 32
719
+ /* NEED_HYDRATION */
720
+ )) : u.showPasteInput ? (V(), C(
721
+ H,
722
+ { key: 2 },
723
+ [
724
+ b(" 纯粘贴入口:不保存文字,只提供一个可聚焦区域承接 Ctrl+V 图片 "),
725
+ w(
726
+ "div",
727
+ {
728
+ class: "qy-upload__text",
729
+ onClick: a[6] || (a[6] = h(() => {
730
+ }, ["stop"])),
731
+ onPaste: h(t.handlePaste, ["stop"])
732
+ },
733
+ [
734
+ w("input", {
735
+ ref: "pasteInputRef",
736
+ class: "qy-upload__paste-input",
737
+ placeholder: u.pastePlaceholder,
738
+ disabled: u.disabled,
739
+ onPaste: h(t.handlePaste, ["stop"]),
740
+ onInput: t.clearPasteInput,
741
+ onClick: a[5] || (a[5] = h(() => {
742
+ }, ["stop"]))
743
+ }, null, 40, bt)
744
+ ],
745
+ 32
746
+ /* NEED_HYDRATION */
747
+ )
748
+ ],
749
+ 2112
750
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
751
+ )) : b("v-if", !0)
752
+ ],
753
+ 34
754
+ /* CLASS, NEED_HYDRATION */
755
+ )) : b("v-if", !0)
756
+ ]),
757
+ _: 2
758
+ /* DYNAMIC */
759
+ }, [
760
+ u.variant === "file-list" ? {
761
+ name: "trigger",
762
+ fn: L(() => [
763
+ w(
764
+ "div",
765
+ {
766
+ class: "qy-upload__file-trigger",
767
+ onClick: a[0] || (a[0] = h(() => {
768
+ }, ["stop"])),
769
+ onDragover: h(t.handleDragOver, ["prevent"]),
770
+ onDragleave: h(t.handleDragLeave, ["prevent"]),
771
+ onDrop: h(t.handleDrop, ["prevent"])
772
+ },
773
+ [
774
+ ut(m.$slots, "trigger", {
775
+ open: t.openFileDialog,
776
+ disabled: t.isUploadDisabled,
777
+ uploading: t.isUploading
778
+ }, () => [
779
+ w("button", {
780
+ class: "qy-upload__file-button",
781
+ type: "button",
782
+ disabled: t.isUploadDisabled,
783
+ onClick: t.openFileDialog
784
+ }, " 选择文件 ", 8, xt)
785
+ ], !0)
786
+ ],
787
+ 32
788
+ /* NEED_HYDRATION */
789
+ )
790
+ ]),
791
+ key: "0"
792
+ } : void 0
793
+ ]), 1032, ["file-list", "multiple", "limit", "auto-upload", "list-type", "accept", "disabled"]),
794
+ t.viewerVisible ? (V(), dt(D, {
795
+ key: 0,
796
+ "url-list": t.viewerUrlList,
797
+ "initial-index": t.viewerIndex,
798
+ onClose: t.closeViewer
799
+ }, null, 8, ["url-list", "initial-index"])) : b("v-if", !0),
800
+ b(" 视频预览弹窗 "),
801
+ R(F, {
802
+ modelValue: t.videoVisible,
803
+ "onUpdate:modelValue": a[8] || (a[8] = (y) => t.videoVisible = y),
804
+ title: t.videoTitle,
805
+ width: "640px",
806
+ "append-to-body": "",
807
+ "destroy-on-close": "",
808
+ onClose: a[9] || (a[9] = (y) => t.videoVisible = !1)
809
+ }, {
810
+ default: L(() => [
811
+ t.videoVisible ? (V(), C("video", {
812
+ key: 0,
813
+ src: t.videoUrl,
814
+ controls: "",
815
+ autoplay: "",
816
+ style: { width: "100%", "max-height": "400px", "border-radius": "4px" }
817
+ }, null, 8, Ut)) : b("v-if", !0)
818
+ ]),
819
+ _: 1
820
+ /* STABLE */
821
+ }, 8, ["modelValue", "title"]),
822
+ t.shouldShowTip ? (V(), C("div", _t, [
823
+ R(f, null, {
824
+ default: L(() => [
825
+ R(t.InfoFilled)
826
+ ]),
827
+ _: 1
828
+ /* STABLE */
829
+ }),
830
+ w("span", null, [
831
+ a[13] || (a[13] = X(
832
+ " 请上传 ",
833
+ -1
834
+ /* CACHED */
835
+ )),
836
+ u.fileSize ? (V(), C(
837
+ H,
838
+ { key: 0 },
839
+ [
840
+ a[11] || (a[11] = X(
841
+ "大小不超过 ",
842
+ -1
843
+ /* CACHED */
844
+ )),
845
+ w(
846
+ "b",
847
+ Vt,
848
+ O(u.fileSize) + "MB",
849
+ 1
850
+ /* TEXT */
851
+ )
852
+ ],
853
+ 64
854
+ /* STABLE_FRAGMENT */
855
+ )) : b("v-if", !0),
856
+ (P = t.allowedExtensions) != null && P.length ? (V(), C(
857
+ H,
858
+ { key: 1 },
859
+ [
860
+ a[12] || (a[12] = X(
861
+ ",格式为 ",
862
+ -1
863
+ /* CACHED */
864
+ )),
865
+ w(
866
+ "b",
867
+ kt,
868
+ O(t.allowedExtensions.join("/")),
869
+ 1
870
+ /* TEXT */
871
+ )
872
+ ],
873
+ 64
874
+ /* STABLE_FRAGMENT */
875
+ )) : b("v-if", !0),
876
+ a[14] || (a[14] = X(
877
+ " 的文件。 ",
878
+ -1
879
+ /* CACHED */
880
+ ))
881
+ ])
882
+ ])) : b("v-if", !0)
883
+ ],
884
+ 6
885
+ /* CLASS, STYLE */
886
+ );
887
+ }
888
+ const Lt = /* @__PURE__ */ pt(yt, [["render", Ft], ["__scopeId", "data-v-61da1df2"], ["__file", "C:/Users/wzqy/.codex/worktrees/62ec/qy-components/packages/ui/lib/upload/index.vue"]]);
889
+ export {
890
+ Lt as U,
891
+ vt as a
892
+ };