ele-admin-plus 1.2.1-beta.3 → 1.2.1-beta.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 (384) hide show
  1. package/es/core-components.d.ts +1 -0
  2. package/es/core-components.js +60 -58
  3. package/es/ele-admin-layout/components/layout-tabs.d.ts +1 -6
  4. package/es/ele-admin-layout/components/layout-tabs.js +18 -76
  5. package/es/ele-admin-layout/index.js +7 -2
  6. package/es/ele-admin-layout/types.d.ts +2 -0
  7. package/es/ele-app/el.d.ts +3 -0
  8. package/es/ele-app/plus.d.ts +21 -0
  9. package/es/ele-app/style/overwrite/css-var.scss +0 -2
  10. package/es/ele-app/style/overwrite/index.js +0 -1
  11. package/es/ele-app/style/overwrite/index.scss +0 -1
  12. package/es/ele-app/style/scrollbar/css-var.scss +17 -16
  13. package/es/ele-app/types.d.ts +8 -1
  14. package/es/ele-basic-select/index.d.ts +2 -2
  15. package/es/ele-bottom-bar/index.d.ts +9 -2
  16. package/es/ele-bottom-bar/index.js +37 -15
  17. package/es/ele-bottom-bar/props.d.ts +2 -0
  18. package/es/ele-bottom-bar/props.js +3 -1
  19. package/es/ele-bottom-bar/style/index.scss +5 -0
  20. package/es/ele-check-card/index.d.ts +2 -2
  21. package/es/ele-cropper/components/cropper-tools.d.ts +9 -3
  22. package/es/ele-cropper/components/cropper-tools.js +41 -13
  23. package/es/ele-cropper/index.d.ts +3 -1
  24. package/es/ele-cropper/index.js +2 -1
  25. package/es/ele-cropper/props.d.ts +3 -1
  26. package/es/ele-cropper/props.js +2 -0
  27. package/es/ele-cropper/style/index.scss +3 -2
  28. package/es/ele-cropper/types.d.ts +16 -0
  29. package/es/ele-cropper-modal/index.d.ts +3 -1
  30. package/es/ele-cropper-modal/index.js +2 -1
  31. package/es/ele-cropper-modal/props.d.ts +1 -0
  32. package/es/ele-data-table/components/table-columns.d.ts +32 -0
  33. package/es/ele-data-table/components/table-columns.js +114 -0
  34. package/es/ele-data-table/index.d.ts +205 -23
  35. package/es/ele-data-table/index.js +202 -120
  36. package/es/ele-data-table/props.d.ts +14 -18
  37. package/es/ele-data-table/types.d.ts +2 -2
  38. package/es/ele-data-table/util.d.ts +1 -45
  39. package/es/ele-data-table/util.js +2 -110
  40. package/es/ele-drawer/index.d.ts +8 -8
  41. package/es/ele-drawer/props.d.ts +2 -2
  42. package/es/ele-dropdown/components/pro-dropdown.d.ts +237 -0
  43. package/es/ele-dropdown/components/pro-dropdown.js +204 -0
  44. package/es/ele-dropdown/index.d.ts +517 -31
  45. package/es/ele-dropdown/index.js +144 -65
  46. package/es/ele-dropdown/props.d.ts +109 -15
  47. package/es/ele-dropdown/props.js +54 -7
  48. package/es/ele-dropdown/style/index.js +4 -1
  49. package/es/ele-dropdown/style/index.scss +174 -6
  50. package/es/ele-dropdown/types.d.ts +0 -2
  51. package/es/ele-edit-tag/index.d.ts +2 -2
  52. package/es/ele-file-list/components/file-grid-item.d.ts +11 -20
  53. package/es/ele-file-list/components/file-grid-item.js +19 -58
  54. package/es/ele-file-list/components/file-grid.d.ts +15 -19
  55. package/es/ele-file-list/components/file-grid.js +16 -39
  56. package/es/ele-file-list/components/file-table-item.d.ts +11 -20
  57. package/es/ele-file-list/components/file-table-item.js +19 -58
  58. package/es/ele-file-list/components/file-table.d.ts +15 -19
  59. package/es/ele-file-list/components/file-table.js +17 -37
  60. package/es/ele-file-list/index.d.ts +33 -12
  61. package/es/ele-file-list/index.js +118 -20
  62. package/es/ele-file-list/props.d.ts +4 -5
  63. package/es/ele-file-list/props.js +5 -8
  64. package/es/ele-file-list/style/index.scss +10 -5
  65. package/es/ele-file-list/types.d.ts +13 -1
  66. package/es/ele-icon-select/components/icon-grid.d.ts +1 -1
  67. package/es/ele-icon-select/index.d.ts +2 -2
  68. package/es/ele-image-viewer/index.d.ts +120 -0
  69. package/es/ele-image-viewer/index.js +88 -0
  70. package/es/ele-image-viewer/props.d.ts +58 -0
  71. package/es/ele-image-viewer/props.js +35 -0
  72. package/es/ele-image-viewer/style/css-var.scss +8 -0
  73. package/es/ele-image-viewer/style/index.js +2 -0
  74. package/es/ele-image-viewer/style/index.scss +117 -0
  75. package/es/ele-map-picker/components/map-view.d.ts +18 -18
  76. package/es/ele-menus/components/item-title.d.ts +48 -0
  77. package/es/ele-menus/components/item-title.js +108 -0
  78. package/es/ele-menus/components/menu-items.d.ts +78 -0
  79. package/es/ele-menus/components/menu-items.js +269 -0
  80. package/es/ele-menus/index.d.ts +77 -18
  81. package/es/ele-menus/index.js +280 -210
  82. package/es/ele-menus/props.d.ts +2 -2
  83. package/es/ele-menus/util.d.ts +1 -62
  84. package/es/ele-menus/util.js +3 -244
  85. package/es/ele-modal/index.d.ts +9 -9
  86. package/es/ele-modal/props.d.ts +2 -2
  87. package/es/ele-modal/util.d.ts +1 -1
  88. package/es/ele-modal/util.js +8 -4
  89. package/es/ele-pagination/index.d.ts +2 -2
  90. package/es/ele-pagination/props.d.ts +1 -1
  91. package/es/ele-popconfirm/index.d.ts +11 -14
  92. package/es/ele-popconfirm/props.d.ts +3 -4
  93. package/es/ele-popover/index.d.ts +11 -14
  94. package/es/ele-popover/props.d.ts +0 -1
  95. package/es/ele-popover/props.js +1 -1
  96. package/es/ele-printer/util.js +1 -1
  97. package/es/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  98. package/es/ele-pro-layout/components/pro-iframe.js +6 -4
  99. package/es/ele-pro-layout/index.d.ts +1 -1
  100. package/es/ele-pro-layout/index.js +13 -4
  101. package/es/ele-pro-layout/props.d.ts +3 -3
  102. package/es/ele-pro-layout/props.js +3 -3
  103. package/es/ele-pro-layout/types.d.ts +9 -5
  104. package/es/ele-pro-layout/util.d.ts +6 -0
  105. package/es/ele-pro-layout/util.js +12 -0
  106. package/es/ele-pro-table/components/table-tools.d.ts +24 -24
  107. package/es/ele-pro-table/components/table-tools.js +6 -7
  108. package/es/ele-pro-table/components/tool-column.d.ts +7 -7
  109. package/es/ele-pro-table/components/tool-column.js +4 -4
  110. package/es/ele-pro-table/components/tool-export.d.ts +5 -5
  111. package/es/ele-pro-table/components/tool-print-body-cell.js +1 -1
  112. package/es/ele-pro-table/components/tool-print-header-cell.js +3 -2
  113. package/es/ele-pro-table/components/tool-print.d.ts +5 -5
  114. package/es/ele-pro-table/index.d.ts +71 -81
  115. package/es/ele-pro-table/index.js +19 -23
  116. package/es/ele-pro-table/props.d.ts +9 -11
  117. package/es/ele-pro-table/props.js +1 -1
  118. package/es/ele-segmented/index.d.ts +3 -1
  119. package/es/ele-segmented/index.js +27 -3
  120. package/es/ele-segmented/style/index.scss +7 -1
  121. package/es/ele-steps/index.d.ts +12 -12
  122. package/es/ele-steps/props.d.ts +3 -3
  123. package/es/ele-tab-tool/index.d.ts +6 -1
  124. package/es/ele-tab-tool/index.js +44 -3
  125. package/es/ele-tab-tool/props.d.ts +2 -0
  126. package/es/ele-tab-tool/props.js +3 -1
  127. package/es/ele-tab-wrap/components/tab-dropdown.js +9 -26
  128. package/es/ele-tab-wrap/index.js +21 -2
  129. package/es/ele-table/style/index.scss +1 -2
  130. package/es/ele-table-select/index.d.ts +6 -6
  131. package/es/ele-tabs/index.d.ts +21 -19
  132. package/es/ele-tabs/index.js +240 -115
  133. package/es/ele-tabs/props.d.ts +1 -6
  134. package/es/ele-tabs/props.js +1 -1
  135. package/es/ele-tabs/style/index.scss +152 -176
  136. package/es/ele-tabs/types.d.ts +29 -6
  137. package/es/ele-tool/index.js +6 -1
  138. package/es/ele-toolbar/index.d.ts +9 -9
  139. package/es/ele-tooltip/index.d.ts +15 -15
  140. package/es/ele-tooltip/props.d.ts +2 -2
  141. package/es/ele-tooltip/style/css-var.scss +4 -0
  142. package/es/ele-tree-select/index.d.ts +5 -5
  143. package/es/ele-upload-list/components/list-item.d.ts +31 -5
  144. package/es/ele-upload-list/components/list-item.js +146 -66
  145. package/es/ele-upload-list/index.d.ts +55 -26
  146. package/es/ele-upload-list/index.js +180 -97
  147. package/es/ele-upload-list/props.d.ts +22 -9
  148. package/es/ele-upload-list/props.js +20 -8
  149. package/es/ele-upload-list/style/css-var.scss +8 -0
  150. package/es/ele-upload-list/style/index.js +1 -1
  151. package/es/ele-upload-list/style/index.scss +425 -135
  152. package/es/ele-upload-list/types.d.ts +35 -11
  153. package/es/ele-virtual-table/components/body-cell.d.ts +2 -2
  154. package/es/ele-virtual-table/components/header-cell.d.ts +1 -1
  155. package/es/ele-virtual-table/components/header-row.d.ts +1 -1
  156. package/es/ele-virtual-table/index.d.ts +14 -22
  157. package/es/ele-virtual-table/index.js +8 -6
  158. package/es/ele-virtual-table/props.d.ts +6 -8
  159. package/es/icons/CornerLeftFilled.d.ts +2 -0
  160. package/es/icons/CornerLeftFilled.js +26 -0
  161. package/es/icons/CornerRightFilled.d.ts +2 -0
  162. package/es/icons/CornerRightFilled.js +26 -0
  163. package/es/icons/EyeOutlined.d.ts +2 -0
  164. package/es/icons/EyeOutlined.js +30 -0
  165. package/es/icons/FileOutlined.js +4 -4
  166. package/es/icons/SizeCompactOutlined.js +4 -4
  167. package/es/icons/SizeMiddleOutlined.d.ts +2 -0
  168. package/es/icons/SizeMiddleOutlined.js +34 -0
  169. package/es/icons/SizeSlackOutlined.js +4 -4
  170. package/es/icons/index.d.ts +4 -0
  171. package/es/icons/index.js +162 -154
  172. package/es/lang/en_US.js +4 -1
  173. package/es/lang/zh_CN.js +4 -1
  174. package/es/lang/zh_TW.js +4 -1
  175. package/es/style/plus.scss +1 -0
  176. package/es/style/themes/default.scss +80 -4
  177. package/es/style/themes/rounded.scss +6 -3
  178. package/es/style/themes/theme-util.scss +4 -0
  179. package/es/style/util.scss +10 -3
  180. package/es/utils/core.d.ts +4 -2
  181. package/es/utils/hook.d.ts +2 -0
  182. package/es/utils/hook.js +5 -1
  183. package/es/utils/menu-util.js +11 -5
  184. package/es/utils/message-box.js +5 -1
  185. package/es/utils/message.js +2 -2
  186. package/lib/core-components.cjs +60 -58
  187. package/lib/core-components.d.ts +1 -0
  188. package/lib/ele-admin-layout/components/layout-tabs.cjs +17 -75
  189. package/lib/ele-admin-layout/components/layout-tabs.d.ts +1 -6
  190. package/lib/ele-admin-layout/index.cjs +7 -2
  191. package/lib/ele-admin-layout/types.d.ts +2 -0
  192. package/lib/ele-app/el.d.ts +3 -0
  193. package/lib/ele-app/plus.d.ts +21 -0
  194. package/lib/ele-app/style/overwrite/css-var.scss +0 -2
  195. package/lib/ele-app/style/overwrite/index.cjs +0 -1
  196. package/lib/ele-app/style/overwrite/index.scss +0 -1
  197. package/lib/ele-app/style/scrollbar/css-var.scss +17 -16
  198. package/lib/ele-app/types.d.ts +8 -1
  199. package/lib/ele-basic-select/index.d.ts +2 -2
  200. package/lib/ele-bottom-bar/index.cjs +36 -14
  201. package/lib/ele-bottom-bar/index.d.ts +9 -2
  202. package/lib/ele-bottom-bar/props.cjs +3 -1
  203. package/lib/ele-bottom-bar/props.d.ts +2 -0
  204. package/lib/ele-bottom-bar/style/index.scss +5 -0
  205. package/lib/ele-check-card/index.d.ts +2 -2
  206. package/lib/ele-cropper/components/cropper-tools.cjs +40 -12
  207. package/lib/ele-cropper/components/cropper-tools.d.ts +9 -3
  208. package/lib/ele-cropper/index.cjs +2 -1
  209. package/lib/ele-cropper/index.d.ts +3 -1
  210. package/lib/ele-cropper/props.cjs +2 -0
  211. package/lib/ele-cropper/props.d.ts +3 -1
  212. package/lib/ele-cropper/style/index.scss +3 -2
  213. package/lib/ele-cropper/types.d.ts +16 -0
  214. package/lib/ele-cropper-modal/index.cjs +2 -1
  215. package/lib/ele-cropper-modal/index.d.ts +3 -1
  216. package/lib/ele-cropper-modal/props.d.ts +1 -0
  217. package/lib/ele-data-table/components/table-columns.cjs +113 -0
  218. package/lib/ele-data-table/components/table-columns.d.ts +32 -0
  219. package/lib/ele-data-table/index.cjs +199 -117
  220. package/lib/ele-data-table/index.d.ts +205 -23
  221. package/lib/ele-data-table/props.d.ts +14 -18
  222. package/lib/ele-data-table/types.d.ts +2 -2
  223. package/lib/ele-data-table/util.cjs +0 -108
  224. package/lib/ele-data-table/util.d.ts +1 -45
  225. package/lib/ele-drawer/index.d.ts +8 -8
  226. package/lib/ele-drawer/props.d.ts +2 -2
  227. package/lib/ele-dropdown/components/pro-dropdown.cjs +203 -0
  228. package/lib/ele-dropdown/components/pro-dropdown.d.ts +237 -0
  229. package/lib/ele-dropdown/index.cjs +147 -68
  230. package/lib/ele-dropdown/index.d.ts +517 -31
  231. package/lib/ele-dropdown/props.cjs +53 -6
  232. package/lib/ele-dropdown/props.d.ts +109 -15
  233. package/lib/ele-dropdown/style/index.cjs +4 -1
  234. package/lib/ele-dropdown/style/index.scss +174 -6
  235. package/lib/ele-dropdown/types.d.ts +0 -2
  236. package/lib/ele-edit-tag/index.d.ts +2 -2
  237. package/lib/ele-file-list/components/file-grid-item.cjs +18 -57
  238. package/lib/ele-file-list/components/file-grid-item.d.ts +11 -20
  239. package/lib/ele-file-list/components/file-grid.cjs +15 -38
  240. package/lib/ele-file-list/components/file-grid.d.ts +15 -19
  241. package/lib/ele-file-list/components/file-table-item.cjs +18 -57
  242. package/lib/ele-file-list/components/file-table-item.d.ts +11 -20
  243. package/lib/ele-file-list/components/file-table.cjs +16 -36
  244. package/lib/ele-file-list/components/file-table.d.ts +15 -19
  245. package/lib/ele-file-list/index.cjs +117 -19
  246. package/lib/ele-file-list/index.d.ts +33 -12
  247. package/lib/ele-file-list/props.cjs +4 -7
  248. package/lib/ele-file-list/props.d.ts +4 -5
  249. package/lib/ele-file-list/style/index.scss +10 -5
  250. package/lib/ele-file-list/types.d.ts +13 -1
  251. package/lib/ele-icon-select/components/icon-grid.d.ts +1 -1
  252. package/lib/ele-icon-select/index.d.ts +2 -2
  253. package/lib/ele-image-viewer/index.cjs +87 -0
  254. package/lib/ele-image-viewer/index.d.ts +120 -0
  255. package/lib/ele-image-viewer/props.cjs +35 -0
  256. package/lib/ele-image-viewer/props.d.ts +58 -0
  257. package/lib/ele-image-viewer/style/css-var.scss +8 -0
  258. package/lib/ele-image-viewer/style/index.cjs +3 -0
  259. package/lib/ele-image-viewer/style/index.scss +117 -0
  260. package/lib/ele-map-picker/components/map-view.d.ts +18 -18
  261. package/lib/ele-menus/components/item-title.cjs +107 -0
  262. package/lib/ele-menus/components/item-title.d.ts +48 -0
  263. package/lib/ele-menus/components/menu-items.cjs +268 -0
  264. package/lib/ele-menus/components/menu-items.d.ts +78 -0
  265. package/lib/ele-menus/index.cjs +278 -208
  266. package/lib/ele-menus/index.d.ts +77 -18
  267. package/lib/ele-menus/props.d.ts +2 -2
  268. package/lib/ele-menus/util.cjs +1 -242
  269. package/lib/ele-menus/util.d.ts +1 -62
  270. package/lib/ele-modal/index.d.ts +9 -9
  271. package/lib/ele-modal/props.d.ts +2 -2
  272. package/lib/ele-modal/util.cjs +8 -4
  273. package/lib/ele-modal/util.d.ts +1 -1
  274. package/lib/ele-pagination/index.d.ts +2 -2
  275. package/lib/ele-pagination/props.d.ts +1 -1
  276. package/lib/ele-popconfirm/index.d.ts +11 -14
  277. package/lib/ele-popconfirm/props.d.ts +3 -4
  278. package/lib/ele-popover/index.d.ts +11 -14
  279. package/lib/ele-popover/props.cjs +1 -1
  280. package/lib/ele-popover/props.d.ts +0 -1
  281. package/lib/ele-printer/util.cjs +1 -1
  282. package/lib/ele-pro-layout/components/pro-iframe.cjs +6 -4
  283. package/lib/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  284. package/lib/ele-pro-layout/index.cjs +13 -4
  285. package/lib/ele-pro-layout/index.d.ts +1 -1
  286. package/lib/ele-pro-layout/props.cjs +3 -3
  287. package/lib/ele-pro-layout/props.d.ts +3 -3
  288. package/lib/ele-pro-layout/types.d.ts +9 -5
  289. package/lib/ele-pro-layout/util.cjs +12 -0
  290. package/lib/ele-pro-layout/util.d.ts +6 -0
  291. package/lib/ele-pro-table/components/table-tools.cjs +5 -6
  292. package/lib/ele-pro-table/components/table-tools.d.ts +24 -24
  293. package/lib/ele-pro-table/components/tool-column.cjs +4 -4
  294. package/lib/ele-pro-table/components/tool-column.d.ts +7 -7
  295. package/lib/ele-pro-table/components/tool-export.d.ts +5 -5
  296. package/lib/ele-pro-table/components/tool-print-body-cell.cjs +1 -1
  297. package/lib/ele-pro-table/components/tool-print-header-cell.cjs +3 -2
  298. package/lib/ele-pro-table/components/tool-print.d.ts +5 -5
  299. package/lib/ele-pro-table/index.cjs +17 -21
  300. package/lib/ele-pro-table/index.d.ts +71 -81
  301. package/lib/ele-pro-table/props.cjs +1 -1
  302. package/lib/ele-pro-table/props.d.ts +9 -11
  303. package/lib/ele-segmented/index.cjs +26 -2
  304. package/lib/ele-segmented/index.d.ts +3 -1
  305. package/lib/ele-segmented/style/index.scss +7 -1
  306. package/lib/ele-steps/index.d.ts +12 -12
  307. package/lib/ele-steps/props.d.ts +3 -3
  308. package/lib/ele-tab-tool/index.cjs +43 -2
  309. package/lib/ele-tab-tool/index.d.ts +6 -1
  310. package/lib/ele-tab-tool/props.cjs +3 -1
  311. package/lib/ele-tab-tool/props.d.ts +2 -0
  312. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +8 -25
  313. package/lib/ele-tab-wrap/index.cjs +20 -1
  314. package/lib/ele-table/style/index.scss +1 -2
  315. package/lib/ele-table-select/index.d.ts +6 -6
  316. package/lib/ele-tabs/index.cjs +238 -113
  317. package/lib/ele-tabs/index.d.ts +21 -19
  318. package/lib/ele-tabs/props.cjs +1 -1
  319. package/lib/ele-tabs/props.d.ts +1 -6
  320. package/lib/ele-tabs/style/index.scss +152 -176
  321. package/lib/ele-tabs/types.d.ts +29 -6
  322. package/lib/ele-tool/index.cjs +6 -1
  323. package/lib/ele-toolbar/index.d.ts +9 -9
  324. package/lib/ele-tooltip/index.d.ts +15 -15
  325. package/lib/ele-tooltip/props.d.ts +2 -2
  326. package/lib/ele-tooltip/style/css-var.scss +4 -0
  327. package/lib/ele-tree-select/index.d.ts +5 -5
  328. package/lib/ele-upload-list/components/list-item.cjs +144 -64
  329. package/lib/ele-upload-list/components/list-item.d.ts +31 -5
  330. package/lib/ele-upload-list/index.cjs +178 -95
  331. package/lib/ele-upload-list/index.d.ts +55 -26
  332. package/lib/ele-upload-list/props.cjs +20 -8
  333. package/lib/ele-upload-list/props.d.ts +22 -9
  334. package/lib/ele-upload-list/style/css-var.scss +8 -0
  335. package/lib/ele-upload-list/style/index.cjs +1 -1
  336. package/lib/ele-upload-list/style/index.scss +425 -135
  337. package/lib/ele-upload-list/types.d.ts +35 -11
  338. package/lib/ele-virtual-table/components/body-cell.d.ts +2 -2
  339. package/lib/ele-virtual-table/components/header-cell.d.ts +1 -1
  340. package/lib/ele-virtual-table/components/header-row.d.ts +1 -1
  341. package/lib/ele-virtual-table/index.cjs +7 -5
  342. package/lib/ele-virtual-table/index.d.ts +14 -22
  343. package/lib/ele-virtual-table/props.d.ts +6 -8
  344. package/lib/icons/CornerLeftFilled.cjs +25 -0
  345. package/lib/icons/CornerLeftFilled.d.ts +2 -0
  346. package/lib/icons/CornerRightFilled.cjs +25 -0
  347. package/lib/icons/CornerRightFilled.d.ts +2 -0
  348. package/lib/icons/EyeOutlined.cjs +29 -0
  349. package/lib/icons/EyeOutlined.d.ts +2 -0
  350. package/lib/icons/FileOutlined.cjs +4 -4
  351. package/lib/icons/SizeCompactOutlined.cjs +4 -4
  352. package/lib/icons/SizeMiddleOutlined.cjs +33 -0
  353. package/lib/icons/SizeMiddleOutlined.d.ts +2 -0
  354. package/lib/icons/SizeSlackOutlined.cjs +4 -4
  355. package/lib/icons/index.cjs +8 -0
  356. package/lib/icons/index.d.ts +4 -0
  357. package/lib/lang/en_US.cjs +4 -1
  358. package/lib/lang/zh_CN.cjs +4 -1
  359. package/lib/lang/zh_TW.cjs +4 -1
  360. package/lib/style/plus.scss +1 -0
  361. package/lib/style/themes/default.scss +80 -4
  362. package/lib/style/themes/rounded.scss +6 -3
  363. package/lib/style/themes/theme-util.scss +4 -0
  364. package/lib/style/util.scss +10 -3
  365. package/lib/utils/core.d.ts +4 -2
  366. package/lib/utils/hook.cjs +5 -1
  367. package/lib/utils/hook.d.ts +2 -0
  368. package/lib/utils/menu-util.cjs +9 -3
  369. package/lib/utils/message-box.cjs +4 -0
  370. package/lib/utils/message.cjs +1 -1
  371. package/package.json +36 -36
  372. package/typings/global.d.ts +1 -0
  373. package/es/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  374. package/es/ele-app/style/overwrite/image-viewer/index.js +0 -1
  375. package/es/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  376. package/es/ele-tabs/components/tab-title.d.ts +0 -52
  377. package/es/ele-tabs/components/tab-title.js +0 -115
  378. package/lib/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  379. package/lib/ele-app/style/overwrite/image-viewer/index.cjs +0 -2
  380. package/lib/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  381. package/lib/ele-tabs/components/tab-title.cjs +0 -114
  382. package/lib/ele-tabs/components/tab-title.d.ts +0 -52
  383. /package/es/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
  384. /package/lib/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
@@ -1,11 +1,7 @@
1
- import { ElImageInstance } from '../ele-app/el';
2
1
  import { UploadItem, UploadLocale } from './types';
3
2
 
4
3
  declare const _default: import('vue').DefineComponent<{
5
- modelValue: {
6
- type: import('vue').PropType<UploadItem[]>;
7
- required: boolean;
8
- };
4
+ modelValue: import('vue').PropType<UploadItem[]>;
9
5
  readonly: BooleanConstructor;
10
6
  disabled: BooleanConstructor;
11
7
  preview: {
@@ -19,43 +15,65 @@ declare const _default: import('vue').DefineComponent<{
19
15
  type: StringConstructor;
20
16
  default: string;
21
17
  };
22
- itemStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
23
- buttonStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
18
+ itemStyle: import('vue').PropType<import('../ele-app/types').StyleValue | false>;
19
+ buttonStyle: {
20
+ type: import('vue').PropType<import('../ele-app/types').StyleValue | false>;
21
+ default: null;
22
+ };
24
23
  sortable: {
25
24
  type: import('vue').PropType<boolean | Record<keyof any, any>>;
26
25
  default: boolean;
27
26
  };
28
27
  imageProps: import('vue').PropType<import('../ele-app/el').ElImageProps>;
29
28
  progressProps: import('vue').PropType<import('../ele-app/el').ElProgressProps>;
30
- previewProps: import('vue').PropType<import('../ele-app/el').ElImageProps>;
29
+ previewProps: import('vue').PropType<import('../ele-app/plus').EleImageViewerProps>;
30
+ tools: BooleanConstructor;
31
+ listType: import('vue').PropType<import('./types').ListType>;
32
+ beforeUploadClick: import('vue').PropType<import('./types').BeforeUploadClick>;
33
+ beforeItemEdit: import('vue').PropType<import('./types').BeforeItemEdit>;
31
34
  locale: import('vue').PropType<Partial<UploadLocale>>;
32
35
  }, {
36
+ ownSlots: string[];
33
37
  lang: import('vue').ComputedRef<UploadLocale>;
34
- previewRef: import('vue').Ref<ElImageInstance>;
35
- previewOption: {
36
- visible: boolean;
37
- current?: string;
38
- currentIndex: number;
39
- images: string[];
40
- };
38
+ previewVisible: import('vue').Ref<boolean>;
39
+ previewImages: import('vue').Ref<string[]>;
40
+ previewCurrentIndex: import('vue').Ref<number>;
41
+ imageObjectUrls: import('vue').Ref<{
42
+ file: {
43
+ readonly lastModified: number;
44
+ readonly name: string;
45
+ readonly webkitRelativePath: string;
46
+ readonly size: number;
47
+ readonly type: string;
48
+ arrayBuffer: () => Promise<ArrayBuffer>;
49
+ slice: (start?: number, end?: number, contentType?: string) => Blob;
50
+ stream: () => ReadableStream<Uint8Array>;
51
+ text: () => Promise<string>;
52
+ };
53
+ url: string;
54
+ }[]>;
55
+ uploadInputRef: import('vue').Ref<HTMLInputElement | null>;
41
56
  uploadEnable: import('vue').ComputedRef<boolean>;
42
- draggableProps: import('vue').ComputedRef<Record<string | number | symbol, any>>;
43
57
  updateModelValue: (value: UploadItem[]) => void;
44
58
  handleUpload: (file: File) => boolean;
45
- handleItemRemove: (item: UploadItem) => void;
46
59
  handleItemClick: (item: UploadItem) => void;
60
+ handleItemRemove: (item: UploadItem) => void;
61
+ handleItemEdit: (item: UploadItem) => void;
62
+ handleItemPreview: (item: UploadItem) => void;
47
63
  handleItemRetry: (item: UploadItem) => void;
64
+ handleInputChange: (e: Event) => void;
65
+ handleUploadClick: (e: MouseEvent) => void;
66
+ openImagePreview: (urls: string[], index: number) => void;
48
67
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
49
68
  'update:modelValue': (_value: UploadItem[]) => boolean;
50
69
  itemClick: (_item: UploadItem) => boolean;
51
70
  upload: (_item: UploadItem) => boolean;
52
71
  remove: (_item: UploadItem) => boolean;
53
72
  retry: (_item: UploadItem) => boolean;
73
+ editUpload: (_result: import('./types').EditUploadResult) => boolean;
74
+ preview: (_item: UploadItem) => boolean;
54
75
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
55
- modelValue: {
56
- type: import('vue').PropType<UploadItem[]>;
57
- required: boolean;
58
- };
76
+ modelValue: import('vue').PropType<UploadItem[]>;
59
77
  readonly: BooleanConstructor;
60
78
  disabled: BooleanConstructor;
61
79
  preview: {
@@ -69,29 +87,40 @@ declare const _default: import('vue').DefineComponent<{
69
87
  type: StringConstructor;
70
88
  default: string;
71
89
  };
72
- itemStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
73
- buttonStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
90
+ itemStyle: import('vue').PropType<import('../ele-app/types').StyleValue | false>;
91
+ buttonStyle: {
92
+ type: import('vue').PropType<import('../ele-app/types').StyleValue | false>;
93
+ default: null;
94
+ };
74
95
  sortable: {
75
96
  type: import('vue').PropType<boolean | Record<keyof any, any>>;
76
97
  default: boolean;
77
98
  };
78
99
  imageProps: import('vue').PropType<import('../ele-app/el').ElImageProps>;
79
100
  progressProps: import('vue').PropType<import('../ele-app/el').ElProgressProps>;
80
- previewProps: import('vue').PropType<import('../ele-app/el').ElImageProps>;
101
+ previewProps: import('vue').PropType<import('../ele-app/plus').EleImageViewerProps>;
102
+ tools: BooleanConstructor;
103
+ listType: import('vue').PropType<import('./types').ListType>;
104
+ beforeUploadClick: import('vue').PropType<import('./types').BeforeUploadClick>;
105
+ beforeItemEdit: import('vue').PropType<import('./types').BeforeItemEdit>;
81
106
  locale: import('vue').PropType<Partial<UploadLocale>>;
82
107
  }>> & {
83
108
  "onUpdate:modelValue"?: ((_value: UploadItem[]) => any) | undefined;
84
109
  onItemClick?: ((_item: UploadItem) => any) | undefined;
85
110
  onRemove?: ((_item: UploadItem) => any) | undefined;
111
+ onPreview?: ((_item: UploadItem) => any) | undefined;
86
112
  onRetry?: ((_item: UploadItem) => any) | undefined;
87
113
  onUpload?: ((_item: UploadItem) => any) | undefined;
114
+ onEditUpload?: ((_result: import('./types').EditUploadResult) => any) | undefined;
88
115
  }, {
116
+ drag: boolean;
89
117
  disabled: boolean;
90
118
  readonly: boolean;
119
+ sortable: boolean | Record<string | number | symbol, any>;
91
120
  multiple: boolean;
92
121
  preview: boolean;
93
- sortable: boolean | Record<string | number | symbol, any>;
94
- drag: boolean;
95
122
  accept: string;
123
+ tools: boolean;
124
+ buttonStyle: false | Partial<import('vue').CSSProperties>;
96
125
  }, {}>;
97
126
  export default _default;
@@ -1,114 +1,172 @@
1
- import { defineComponent, ref, reactive, computed, onDeactivated, nextTick, resolveComponent, openBlock, createBlock, mergeProps, withCtx, createVNode, normalizeStyle, normalizeClass, createSlots, renderList, renderSlot, normalizeProps, guardReactiveProps, createElementBlock, createCommentVNode, createElementVNode } from "vue";
1
+ import { defineComponent, ref, computed, watch, onBeforeUnmount, resolveComponent, openBlock, createBlock, mergeProps, withCtx, createVNode, normalizeStyle, createSlots, renderList, renderSlot, normalizeProps, guardReactiveProps, createElementBlock, createElementVNode, createCommentVNode } from "vue";
2
2
  import VueDraggable from "vuedraggable";
3
- import { ElUpload, ElImage, ElIcon } from "element-plus";
3
+ import { ElUpload, ElIcon } from "element-plus";
4
4
  import { uuid } from "../utils/core";
5
5
  import { useLocale } from "../ele-config-provider/receiver";
6
+ import EleImageViewer from "../ele-image-viewer/index";
6
7
  import { PlusOutlined } from "../icons";
7
8
  import ListItem from "./components/list-item";
8
9
  import { uploadListProps, uploadListEmits } from "./props";
10
+ const ownSlots = ["default", "icon"];
9
11
  const _sfc_main = defineComponent({
10
12
  name: "EleUploadList",
11
13
  components: {
12
14
  VueDraggable,
13
15
  ElUpload,
14
- ElImage,
15
16
  ElIcon,
16
17
  PlusOutlined,
18
+ EleImageViewer,
17
19
  ListItem
18
20
  },
19
21
  props: uploadListProps,
20
22
  emits: uploadListEmits,
21
23
  setup(props, { emit }) {
22
24
  const { lang } = useLocale("upload", props);
23
- const previewRef = ref(null);
24
- const previewOption = reactive({
25
- /** 是否打开 */
26
- visible: false,
27
- /** 当前图片地址 */
28
- current: "",
29
- /** 当前为第几个图片 */
30
- currentIndex: 0,
31
- /** 图片列表 */
32
- images: []
33
- });
25
+ const previewVisible = ref(false);
26
+ const previewImages = ref([]);
27
+ const previewCurrentIndex = ref(0);
28
+ const imageObjectUrls = ref([]);
29
+ const uploadInputRef = ref(null);
30
+ let editItem = null;
34
31
  const uploadEnable = computed(() => {
35
32
  return !props.readonly && !(typeof props.limit === "number" && props.limit > 0 && props.modelValue != null && props.modelValue.length >= props.limit);
36
33
  });
37
- const draggableProps = computed(() => {
38
- const defaultProps = {
39
- itemKey: "key",
40
- animation: 300,
41
- setData: () => void 0,
42
- modelValue: props.modelValue,
43
- draggable: ".ele-draggable",
44
- class: ["ele-upload-list", { "is-disabled": props.disabled }]
34
+ const buildItem = (file) => {
35
+ return {
36
+ key: "ele" + uuid(16, 10) + String(Date.now()),
37
+ name: file.name,
38
+ status: void 0,
39
+ progress: 0,
40
+ file
45
41
  };
46
- if (typeof props.sortable === "boolean" || props.sortable == null) {
47
- return defaultProps;
42
+ };
43
+ const getItemImageUrl = (item, file) => {
44
+ if (item && item.url) {
45
+ return item.url;
48
46
  }
49
- return Object.assign(defaultProps, props.sortable);
50
- });
47
+ const itemFile = item == null ? void 0 : item.file;
48
+ if (itemFile != null && itemFile.type.startsWith("image")) {
49
+ const t = imageObjectUrls.value.find((d) => d.file === itemFile);
50
+ if (t != null) {
51
+ return t.url;
52
+ }
53
+ const url = URL.createObjectURL(itemFile);
54
+ imageObjectUrls.value.push({ file: itemFile, url });
55
+ return url;
56
+ }
57
+ };
58
+ const previewItem = (item) => {
59
+ if (props.modelValue != null) {
60
+ const data = [];
61
+ props.modelValue.forEach((d) => {
62
+ const url = getItemImageUrl(d);
63
+ if (url) {
64
+ data.push({ item: d, url });
65
+ }
66
+ });
67
+ const index2 = data.findIndex((t) => t.item.key === item.key);
68
+ if (index2 !== -1) {
69
+ const urls = data.map((d) => d.url);
70
+ openImagePreview(urls, index2);
71
+ }
72
+ }
73
+ };
74
+ const openImagePreview = (urls, index2) => {
75
+ previewImages.value = urls;
76
+ previewCurrentIndex.value = index2;
77
+ previewVisible.value = true;
78
+ };
51
79
  const updateModelValue = (value) => {
52
80
  emit("update:modelValue", value);
53
81
  };
54
82
  const handleUpload = (file) => {
55
- if (!uploadEnable.value || props.disabled) {
56
- return false;
57
- }
58
- const item = {
59
- key: uuid(),
60
- name: file.name,
61
- status: void 0,
62
- progress: 0,
63
- file
64
- };
65
- if (file.type.startsWith("image")) {
66
- item.url = URL.createObjectURL(file);
83
+ if (uploadEnable.value && !props.disabled) {
84
+ const item = buildItem(file);
85
+ emit("upload", item);
67
86
  }
68
- emit("upload", item);
69
87
  return false;
70
88
  };
89
+ const handleItemClick = (item) => {
90
+ if (props.preview) {
91
+ previewItem(item);
92
+ }
93
+ emit("itemClick", item);
94
+ };
71
95
  const handleItemRemove = (item) => {
72
96
  emit("remove", item);
73
97
  };
74
- const handleItemClick = (item) => {
75
- if (props.preview && item.url && props.modelValue != null) {
76
- const temp = props.modelValue.filter((d) => !!d.url);
77
- const i = temp.findIndex((t) => t.key === item.key);
78
- if (i !== -1) {
79
- previewOption.images = temp.map((d) => d.url);
80
- previewOption.current = item.url;
81
- previewOption.currentIndex = i;
82
- previewOption.visible = true;
83
- nextTick(() => {
84
- var _a;
85
- const el = (_a = previewRef.value) == null ? void 0 : _a.$el;
86
- if (el) {
87
- const imgEl = el.querySelector("img");
88
- imgEl && imgEl.click();
89
- }
90
- });
91
- }
98
+ const handleItemEdit = (item) => {
99
+ if (props.beforeItemEdit && props.beforeItemEdit(item) === false) {
100
+ return;
101
+ }
102
+ const $input = uploadInputRef.value;
103
+ if ($input != null) {
104
+ editItem = item;
105
+ $input.value = "";
106
+ $input && $input.click();
92
107
  }
93
- emit("itemClick", item);
108
+ };
109
+ const handleItemPreview = (item) => {
110
+ previewItem(item);
111
+ emit("preview", item);
94
112
  };
95
113
  const handleItemRetry = (item) => {
96
114
  emit("retry", item);
97
115
  };
98
- onDeactivated(() => {
99
- previewOption.visible = false;
116
+ const handleInputChange = (e) => {
117
+ var _a;
118
+ const file = (_a = e.target.files) == null ? void 0 : _a[0];
119
+ if (file != null && editItem != null) {
120
+ const result = { item: editItem, newItem: buildItem(file) };
121
+ editItem = null;
122
+ emit("editUpload", result);
123
+ }
124
+ };
125
+ const handleUploadClick = (e) => {
126
+ if (props.beforeUploadClick && props.beforeUploadClick(e) === false) {
127
+ e.stopPropagation();
128
+ e.preventDefault();
129
+ }
130
+ };
131
+ watch(
132
+ () => props.modelValue,
133
+ () => {
134
+ if (props.modelValue != null) {
135
+ props.modelValue.forEach((item) => {
136
+ getItemImageUrl(item);
137
+ });
138
+ }
139
+ },
140
+ {
141
+ immediate: true,
142
+ deep: true
143
+ }
144
+ );
145
+ onBeforeUnmount(() => {
146
+ imageObjectUrls.value.forEach((item) => {
147
+ URL.revokeObjectURL(item.url);
148
+ });
149
+ imageObjectUrls.value = [];
100
150
  });
101
151
  return {
152
+ ownSlots,
102
153
  lang,
103
- previewRef,
104
- previewOption,
154
+ previewVisible,
155
+ previewImages,
156
+ previewCurrentIndex,
157
+ imageObjectUrls,
158
+ uploadInputRef,
105
159
  uploadEnable,
106
- draggableProps,
107
160
  updateModelValue,
108
161
  handleUpload,
109
- handleItemRemove,
110
162
  handleItemClick,
111
- handleItemRetry
163
+ handleItemRemove,
164
+ handleItemEdit,
165
+ handleItemPreview,
166
+ handleItemRetry,
167
+ handleInputChange,
168
+ handleUploadClick,
169
+ openImagePreview
112
170
  };
113
171
  }
114
172
  });
@@ -119,32 +177,50 @@ const _export_sfc = (sfc, props) => {
119
177
  }
120
178
  return target;
121
179
  };
122
- const _hoisted_1 = { style: { "display": "none" } };
180
+ const _hoisted_1 = ["accept"];
123
181
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
124
182
  const _component_ListItem = resolveComponent("ListItem");
125
183
  const _component_PlusOutlined = resolveComponent("PlusOutlined");
126
184
  const _component_ElIcon = resolveComponent("ElIcon");
127
185
  const _component_ElUpload = resolveComponent("ElUpload");
128
- const _component_ElImage = resolveComponent("ElImage");
186
+ const _component_EleImageViewer = resolveComponent("EleImageViewer");
129
187
  const _component_VueDraggable = resolveComponent("VueDraggable");
130
- return openBlock(), createBlock(_component_VueDraggable, mergeProps(_ctx.draggableProps, { "onUpdate:modelValue": _ctx.updateModelValue }), {
188
+ return openBlock(), createBlock(_component_VueDraggable, mergeProps({
189
+ itemKey: "key",
190
+ animation: 300,
191
+ setData: () => void 0,
192
+ handle: ".ele-upload-handle",
193
+ class: [
194
+ "ele-upload-list",
195
+ { "is-file-list": _ctx.listType === "file" },
196
+ { "is-disabled": _ctx.disabled }
197
+ ]
198
+ }, !_ctx.sortable || _ctx.sortable === true ? {} : _ctx.sortable, {
199
+ modelValue: _ctx.modelValue || [],
200
+ "onUpdate:modelValue": _ctx.updateModelValue
201
+ }), {
131
202
  item: withCtx(({ element }) => [
132
203
  createVNode(_component_ListItem, {
133
204
  item: element,
134
205
  readonly: _ctx.readonly,
135
206
  disabled: _ctx.disabled,
136
- progressProps: _ctx.progressProps,
207
+ sortable: _ctx.sortable && !_ctx.readonly && !_ctx.disabled && _ctx.limit !== 1,
137
208
  imageProps: _ctx.imageProps,
209
+ progressProps: _ctx.progressProps,
210
+ imageObjectUrls: _ctx.imageObjectUrls,
211
+ tools: _ctx.tools,
212
+ listType: _ctx.listType,
138
213
  locale: _ctx.lang,
139
214
  style: normalizeStyle(_ctx.itemStyle),
140
- class: normalizeClass({
141
- "ele-draggable": _ctx.sortable && !_ctx.readonly && !_ctx.disabled && _ctx.limit !== 1
142
- }),
143
215
  onItemClick: _ctx.handleItemClick,
144
216
  onRemove: _ctx.handleItemRemove,
217
+ onEdit: _ctx.handleItemEdit,
218
+ onPreview: _ctx.handleItemPreview,
145
219
  onRetry: _ctx.handleItemRetry
146
220
  }, createSlots({ _: 2 }, [
147
- renderList(Object.keys(_ctx.$slots), (name) => {
221
+ renderList(Object.keys(_ctx.$slots).filter(
222
+ (k) => !_ctx.ownSlots.includes(k)
223
+ ), (name) => {
148
224
  return {
149
225
  name,
150
226
  fn: withCtx((slotProps) => [
@@ -152,12 +228,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
152
228
  ])
153
229
  };
154
230
  })
155
- ]), 1032, ["item", "readonly", "disabled", "progressProps", "imageProps", "locale", "style", "class", "onItemClick", "onRemove", "onRetry"])
231
+ ]), 1032, ["item", "readonly", "disabled", "sortable", "imageProps", "progressProps", "imageObjectUrls", "tools", "listType", "locale", "style", "onItemClick", "onRemove", "onEdit", "onPreview", "onRetry"])
156
232
  ]),
157
233
  footer: withCtx(() => [
158
- _ctx.uploadEnable ? (openBlock(), createElementBlock("div", {
234
+ _ctx.uploadEnable && _ctx.buttonStyle !== false ? (openBlock(), createElementBlock("div", {
159
235
  key: 0,
160
- style: normalizeStyle(_ctx.buttonStyle),
236
+ style: normalizeStyle(typeof _ctx.buttonStyle === "boolean" ? void 0 : _ctx.buttonStyle),
161
237
  class: "ele-upload-item ele-upload-button"
162
238
  }, [
163
239
  createVNode(_component_ElUpload, {
@@ -166,37 +242,44 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
166
242
  accept: _ctx.accept,
167
243
  multiple: _ctx.multiple,
168
244
  disabled: _ctx.disabled,
169
- showUploadList: false,
245
+ showFileList: false,
170
246
  beforeUpload: _ctx.handleUpload
171
247
  }, {
172
248
  default: withCtx(() => [
173
- renderSlot(_ctx.$slots, "icon", {}, () => [
174
- createVNode(_component_ElIcon, { class: "ele-upload-icon" }, {
175
- default: withCtx(() => [
176
- createVNode(_component_PlusOutlined)
177
- ]),
178
- _: 1
179
- })
249
+ createElementVNode("div", {
250
+ class: "ele-upload-button-inner",
251
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleUploadClick && _ctx.handleUploadClick(...args))
252
+ }, [
253
+ renderSlot(_ctx.$slots, "icon", {}, () => [
254
+ createVNode(_component_ElIcon, { class: "ele-upload-icon" }, {
255
+ default: withCtx(() => [
256
+ createVNode(_component_PlusOutlined)
257
+ ]),
258
+ _: 1
259
+ })
260
+ ])
180
261
  ])
181
262
  ]),
182
263
  _: 3
183
264
  }, 8, ["drag", "accept", "multiple", "disabled", "beforeUpload"])
184
265
  ], 4)) : createCommentVNode("", true),
185
- createElementVNode("div", _hoisted_1, [
186
- _ctx.previewOption.visible ? (openBlock(), createBlock(_component_ElImage, mergeProps({
187
- key: 0,
188
- hideOnClickModal: true,
189
- previewTeleported: true
190
- }, _ctx.previewProps || {}, {
191
- ref: "previewRef",
192
- src: _ctx.previewOption.current,
193
- previewSrcList: _ctx.previewOption.images,
194
- initialIndex: _ctx.previewOption.currentIndex
195
- }), null, 16, ["src", "previewSrcList", "initialIndex"])) : createCommentVNode("", true)
196
- ])
266
+ _ctx.tools ? (openBlock(), createElementBlock("input", {
267
+ key: 1,
268
+ ref: "uploadInputRef",
269
+ type: "file",
270
+ accept: _ctx.accept,
271
+ class: "ele-upload-input",
272
+ onChange: _cache[1] || (_cache[1] = (...args) => _ctx.handleInputChange && _ctx.handleInputChange(...args))
273
+ }, null, 40, _hoisted_1)) : createCommentVNode("", true),
274
+ createVNode(_component_EleImageViewer, mergeProps({ infinite: false }, _ctx.previewProps || {}, {
275
+ modelValue: _ctx.previewVisible,
276
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.previewVisible = $event),
277
+ urlList: _ctx.previewImages,
278
+ initialIndex: _ctx.previewCurrentIndex
279
+ }), null, 16, ["modelValue", "urlList", "initialIndex"])
197
280
  ]),
198
281
  _: 3
199
- }, 16, ["onUpdate:modelValue"]);
282
+ }, 16, ["class", "modelValue", "onUpdate:modelValue"]);
200
283
  }
201
284
  const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
202
285
  export {
@@ -1,17 +1,15 @@
1
1
  import { PropType, ExtractPropTypes } from 'vue';
2
2
  import { StyleValue } from '../ele-app/types';
3
3
  import { ElProgressProps, ElImageProps } from '../ele-app/el';
4
- import { UploadItem, UploadLocale } from './types';
4
+ import { EleImageViewerProps } from '../ele-app/plus';
5
+ import { UploadItem, UploadLocale, EditUploadResult, ListType, BeforeUploadClick, BeforeItemEdit } from './types';
5
6
 
6
7
  /**
7
8
  * 属性
8
9
  */
9
10
  export declare const uploadListProps: {
10
11
  /** 已上传列表 */
11
- modelValue: {
12
- type: PropType<UploadItem[]>;
13
- required: boolean;
14
- };
12
+ modelValue: PropType<UploadItem[]>;
15
13
  /** 是否只读 */
16
14
  readonly: BooleanConstructor;
17
15
  /** 是否禁用 */
@@ -33,9 +31,12 @@ export declare const uploadListProps: {
33
31
  default: string;
34
32
  };
35
33
  /** 自定义条目样式 */
36
- itemStyle: PropType<StyleValue>;
34
+ itemStyle: PropType<StyleValue | false>;
37
35
  /** 自定义上传按钮样式 */
38
- buttonStyle: PropType<StyleValue>;
36
+ buttonStyle: {
37
+ type: PropType<StyleValue | false>;
38
+ default: null;
39
+ };
39
40
  /** 是否开启拖拽排序 */
40
41
  sortable: {
41
42
  type: PropType<boolean | Record<keyof any, any>>;
@@ -45,8 +46,16 @@ export declare const uploadListProps: {
45
46
  imageProps: PropType<ElImageProps>;
46
47
  /** 自定义进度条属性 */
47
48
  progressProps: PropType<ElProgressProps>;
48
- /** 自定义图片预览 */
49
- previewProps: PropType<ElImageProps>;
49
+ /** 自定义图片预览属性 */
50
+ previewProps: PropType<EleImageViewerProps>;
51
+ /** 是否开启底部预览和修改的操作按钮 */
52
+ tools: BooleanConstructor;
53
+ /** 列表显示样式 */
54
+ listType: PropType<ListType>;
55
+ /** 上传按钮点击前的钩子 */
56
+ beforeUploadClick: PropType<BeforeUploadClick>;
57
+ /** 修改按钮点击前的钩子 */
58
+ beforeItemEdit: PropType<BeforeItemEdit>;
50
59
  /** 国际化 */
51
60
  locale: PropType<Partial<UploadLocale>>;
52
61
  };
@@ -65,4 +74,8 @@ export declare const uploadListEmits: {
65
74
  remove: (_item: UploadItem) => boolean;
66
75
  /** item 上传失败重试事件 */
67
76
  retry: (_item: UploadItem) => boolean;
77
+ /** item 修改上传事件 */
78
+ editUpload: (_result: EditUploadResult) => boolean;
79
+ /** item 预览事件 */
80
+ preview: (_item: UploadItem) => boolean;
68
81
  };
@@ -1,9 +1,6 @@
1
1
  const uploadListProps = {
2
2
  /** 已上传列表 */
3
- modelValue: {
4
- type: Array,
5
- required: true
6
- },
3
+ modelValue: Array,
7
4
  /** 是否只读 */
8
5
  readonly: Boolean,
9
6
  /** 是否禁用 */
@@ -25,9 +22,12 @@ const uploadListProps = {
25
22
  default: "image/png,image/jpeg"
26
23
  },
27
24
  /** 自定义条目样式 */
28
- itemStyle: Object,
25
+ itemStyle: [Object, Boolean],
29
26
  /** 自定义上传按钮样式 */
30
- buttonStyle: Object,
27
+ buttonStyle: {
28
+ type: [Object, Boolean],
29
+ default: null
30
+ },
31
31
  /** 是否开启拖拽排序 */
32
32
  sortable: {
33
33
  type: [Boolean, Object],
@@ -37,8 +37,16 @@ const uploadListProps = {
37
37
  imageProps: Object,
38
38
  /** 自定义进度条属性 */
39
39
  progressProps: Object,
40
- /** 自定义图片预览 */
40
+ /** 自定义图片预览属性 */
41
41
  previewProps: Object,
42
+ /** 是否开启底部预览和修改的操作按钮 */
43
+ tools: Boolean,
44
+ /** 列表显示样式 */
45
+ listType: String,
46
+ /** 上传按钮点击前的钩子 */
47
+ beforeUploadClick: Function,
48
+ /** 修改按钮点击前的钩子 */
49
+ beforeItemEdit: Function,
42
50
  /** 国际化 */
43
51
  locale: Object
44
52
  };
@@ -52,7 +60,11 @@ const uploadListEmits = {
52
60
  /** item 移除事件 */
53
61
  remove: (_item) => true,
54
62
  /** item 上传失败重试事件 */
55
- retry: (_item) => true
63
+ retry: (_item) => true,
64
+ /** item 修改上传事件 */
65
+ editUpload: (_result) => true,
66
+ /** item 预览事件 */
67
+ preview: (_item) => true
56
68
  };
57
69
  export {
58
70
  uploadListEmits,
@@ -0,0 +1,8 @@
1
+ @use '../../style/util.scss' as *;
2
+
3
+ /* 文件上传主题变量 */
4
+ @mixin set-upload-list-var($var) {
5
+ .ele-upload-list {
6
+ @include set-ele-var('upload-list', $var);
7
+ }
8
+ }
@@ -2,5 +2,5 @@ import "element-plus/es/components/image/style/index";
2
2
  import "element-plus/es/components/upload/style/index";
3
3
  import "element-plus/es/components/progress/style/index";
4
4
  import "element-plus/es/components/icon/style/index";
5
- import "../../ele-tooltip/style/index";
5
+ import "../../ele-image-viewer/style/index";
6
6
  import "./index.scss";