ele-admin-plus 1.2.1-beta.3 → 1.2.1-beta.5

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