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
@@ -1,24 +1,30 @@
1
- import { defineComponent, ref, computed, resolveComponent, openBlock, createElementBlock, createBlock, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps, createElementVNode, normalizeStyle } from "vue";
1
+ import { defineComponent, reactive, ref, shallowRef, computed, watch, onBeforeUnmount, nextTick, resolveComponent, openBlock, createElementBlock, createBlock, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps, createElementVNode, normalizeStyle, mergeProps, createCommentVNode } from "vue";
2
2
  import { throttle } from "../utils/core";
3
3
  import { useLocale } from "../ele-config-provider/receiver";
4
+ import EleDropdown from "../ele-dropdown/index";
4
5
  import FileGrid from "./components/file-grid";
5
6
  import FileTable from "./components/file-table";
6
7
  import { fileListProps, fileListEmits } from "./props";
7
8
  const GRID_ITEM_SEL = ".ele-file-list-body>.ele-file-list-item";
8
9
  const _sfc_main = defineComponent({
9
10
  name: "EleFileList",
10
- components: { FileGrid, FileTable },
11
+ components: { EleDropdown, FileGrid, FileTable },
11
12
  props: fileListProps,
12
13
  emits: fileListEmits,
13
14
  setup(props, { emit }) {
14
15
  const { lang } = useLocale("fileList", props);
15
- const selectorStyle = ref({
16
+ const selectorStyle = reactive({
16
17
  top: "0px",
17
18
  left: "0px",
18
19
  width: "0px",
19
20
  height: "0px",
20
21
  display: "none"
21
22
  });
23
+ const ctxMenuDropdownRef = ref(null);
24
+ const ctxMenuDropdownItems = shallowRef([]);
25
+ const ctxMenuDropdownVirtualRef = ref();
26
+ const ctxMenuDropdownVisible = ref(false);
27
+ const contextMenuFileItem = ref(null);
22
28
  const isCheckAll = computed(() => {
23
29
  return !!(props.data && props.data.length && props.selections && props.selections.length && !props.data.some(
24
30
  (d) => {
@@ -97,6 +103,62 @@ const _sfc_main = defineComponent({
97
103
  const handleItemContextMenu = (option) => {
98
104
  emit("itemContextMenu", option);
99
105
  };
106
+ const handleItemCtxMenuClick = (key) => {
107
+ if (contextMenuFileItem.value != null) {
108
+ emit("itemContextMenu", { key, item: contextMenuFileItem.value });
109
+ }
110
+ };
111
+ const handleItemCtxMenuVisible = (visible) => {
112
+ ctxMenuDropdownVisible.value = visible;
113
+ if (visible && ctxMenuDropdownRef.value != null && contextMenuFileItem.value != null) {
114
+ emit(
115
+ "itemContextOpen",
116
+ ctxMenuDropdownRef.value,
117
+ contextMenuFileItem.value
118
+ );
119
+ }
120
+ };
121
+ const getContextMenus = (item) => {
122
+ if (typeof props.contextMenus === "function") {
123
+ return props.contextMenus(item);
124
+ }
125
+ return props.contextMenus;
126
+ };
127
+ const hideAllDropdown = () => {
128
+ if (ctxMenuDropdownRef.value) {
129
+ ctxMenuDropdownRef.value.handleClose();
130
+ }
131
+ };
132
+ const showItemContextMenu = (item, triggerEl) => {
133
+ if (contextMenuFileItem.value != null && contextMenuFileItem.value === item) {
134
+ return;
135
+ }
136
+ hideAllDropdown();
137
+ nextTick(() => {
138
+ contextMenuFileItem.value = item;
139
+ ctxMenuDropdownItems.value = getContextMenus(item) || [];
140
+ ctxMenuDropdownVirtualRef.value = triggerEl;
141
+ if (ctxMenuDropdownItems.value.length) {
142
+ nextTick(() => {
143
+ ctxMenuDropdownRef.value && ctxMenuDropdownRef.value.handleOpen();
144
+ });
145
+ }
146
+ });
147
+ };
148
+ const handleItemContextOpen = (option) => {
149
+ if (props.contextMenus == null) {
150
+ return;
151
+ }
152
+ option.e.preventDefault();
153
+ option.e.stopPropagation();
154
+ if (ctxMenuDropdownVirtualRef.value !== option.triggerEl) {
155
+ showItemContextMenu(option.item, option.triggerEl);
156
+ return;
157
+ }
158
+ if (ctxMenuDropdownItems.value.length && ctxMenuDropdownRef.value) {
159
+ ctxMenuDropdownRef.value.handleOpen();
160
+ }
161
+ };
100
162
  const handleMousedown = (event) => {
101
163
  if (!props.boxChoose || props.selectionType !== "checkbox") {
102
164
  return;
@@ -119,13 +181,11 @@ const _sfc_main = defineComponent({
119
181
  Math.abs(moveY - downY),
120
182
  target.clientHeight - top
121
183
  );
122
- selectorStyle.value = {
123
- left: left + "px",
124
- top: top + "px",
125
- width: width + "px",
126
- height: height + "px",
127
- display: "block"
128
- };
184
+ selectorStyle.left = left + "px";
185
+ selectorStyle.top = top + "px";
186
+ selectorStyle.width = width + "px";
187
+ selectorStyle.height = height + "px";
188
+ selectorStyle.display = "block";
129
189
  if (width < 6 || height < 6) {
130
190
  items.forEach((item) => {
131
191
  item.classList.remove("is-active");
@@ -147,7 +207,7 @@ const _sfc_main = defineComponent({
147
207
  });
148
208
  }, 60);
149
209
  const mouseupFn = (e) => {
150
- selectorStyle.value = { ...selectorStyle.value, display: "none" };
210
+ selectorStyle.display = "none";
151
211
  const moveX = Math.max(e.clientX, position.left);
152
212
  const moveY = Math.max(e.clientY, position.top);
153
213
  const left = Math.min(moveX, downX) - position.left;
@@ -180,9 +240,26 @@ const _sfc_main = defineComponent({
180
240
  document.addEventListener("mousemove", mousemoveFn);
181
241
  document.addEventListener("mouseup", mouseupFn);
182
242
  };
243
+ watch(
244
+ [() => props.grid, () => props.data],
245
+ () => {
246
+ hideAllDropdown();
247
+ ctxMenuDropdownVirtualRef.value = null;
248
+ contextMenuFileItem.value = null;
249
+ },
250
+ { deep: true }
251
+ );
252
+ onBeforeUnmount(() => {
253
+ contextMenuFileItem.value = null;
254
+ });
183
255
  return {
184
256
  lang,
185
257
  selectorStyle,
258
+ ctxMenuDropdownRef,
259
+ ctxMenuDropdownItems,
260
+ ctxMenuDropdownVirtualRef,
261
+ ctxMenuDropdownVisible,
262
+ contextMenuFileItem,
186
263
  isCheckAll,
187
264
  isIndeterminate,
188
265
  handleCheckAllChange,
@@ -190,6 +267,9 @@ const _sfc_main = defineComponent({
190
267
  handleItemClick,
191
268
  handleSortChange,
192
269
  handleItemContextMenu,
270
+ handleItemCtxMenuClick,
271
+ handleItemCtxMenuVisible,
272
+ handleItemContextOpen,
193
273
  handleMousedown
194
274
  };
195
275
  }
@@ -204,6 +284,7 @@ const _export_sfc = (sfc, props) => {
204
284
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
205
285
  const _component_FileGrid = resolveComponent("FileGrid");
206
286
  const _component_FileTable = resolveComponent("FileTable");
287
+ const _component_EleDropdown = resolveComponent("EleDropdown");
207
288
  return openBlock(), createElementBlock("div", {
208
289
  class: "ele-file-list-group",
209
290
  onMousedown: _cache[0] || (_cache[0] = (...args) => _ctx.handleMousedown && _ctx.handleMousedown(...args))
@@ -219,12 +300,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
219
300
  isIndeterminate: _ctx.isIndeterminate,
220
301
  checkAllText: _ctx.lang.selectAll,
221
302
  selectedText: _ctx.lang.selectTips,
222
- contextMenus: _ctx.contextMenus,
223
- contextMenuProps: _ctx.contextMenuProps,
303
+ ctxMenuDropdownVisible: _ctx.ctxMenuDropdownVisible,
304
+ contextMenuFileItem: _ctx.contextMenuFileItem,
224
305
  onCheckAllChange: _ctx.handleCheckAllChange,
225
306
  onItemClick: _ctx.handleItemClick,
226
307
  onItemCheckChange: _ctx.handleItemCheckChange,
227
- onItemContextMenu: _ctx.handleItemContextMenu
308
+ onItemContextOpen: _ctx.handleItemContextOpen
228
309
  }, createSlots({ _: 2 }, [
229
310
  renderList(Object.keys(_ctx.$slots), (name) => {
230
311
  return {
@@ -234,7 +315,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
234
315
  ])
235
316
  };
236
317
  })
237
- ]), 1032, ["data", "icons", "selectionType", "selections", "current", "isCheckAll", "isIndeterminate", "checkAllText", "selectedText", "contextMenus", "contextMenuProps", "onCheckAllChange", "onItemClick", "onItemCheckChange", "onItemContextMenu"])) : (openBlock(), createBlock(_component_FileTable, {
318
+ ]), 1032, ["data", "icons", "selectionType", "selections", "current", "isCheckAll", "isIndeterminate", "checkAllText", "selectedText", "ctxMenuDropdownVisible", "contextMenuFileItem", "onCheckAllChange", "onItemClick", "onItemCheckChange", "onItemContextOpen"])) : (openBlock(), createBlock(_component_FileTable, {
238
319
  key: 1,
239
320
  data: _ctx.data,
240
321
  icons: _ctx.icons,
@@ -250,12 +331,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
250
331
  sort: _ctx.sort,
251
332
  order: _ctx.order,
252
333
  columns: _ctx.columns,
253
- contextMenus: _ctx.contextMenus,
254
- contextMenuProps: _ctx.contextMenuProps,
334
+ ctxMenuDropdownVisible: _ctx.ctxMenuDropdownVisible,
335
+ contextMenuFileItem: _ctx.contextMenuFileItem,
255
336
  onCheckAllChange: _ctx.handleCheckAllChange,
256
337
  onItemClick: _ctx.handleItemClick,
257
338
  onItemCheckChange: _ctx.handleItemCheckChange,
258
- onItemContextMenu: _ctx.handleItemContextMenu,
339
+ onItemContextOpen: _ctx.handleItemContextOpen,
259
340
  onSortChange: _ctx.handleSortChange
260
341
  }, createSlots({ _: 2 }, [
261
342
  renderList(Object.keys(_ctx.$slots), (name) => {
@@ -266,11 +347,28 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
266
347
  ])
267
348
  };
268
349
  })
269
- ]), 1032, ["data", "icons", "selectionType", "selections", "current", "isCheckAll", "isIndeterminate", "nameText", "sizeText", "timeText", "sortable", "sort", "order", "columns", "contextMenus", "contextMenuProps", "onCheckAllChange", "onItemClick", "onItemCheckChange", "onItemContextMenu", "onSortChange"])),
350
+ ]), 1032, ["data", "icons", "selectionType", "selections", "current", "isCheckAll", "isIndeterminate", "nameText", "sizeText", "timeText", "sortable", "sort", "order", "columns", "ctxMenuDropdownVisible", "contextMenuFileItem", "onCheckAllChange", "onItemClick", "onItemCheckChange", "onItemContextOpen", "onSortChange"])),
270
351
  createElementVNode("div", {
271
352
  class: "ele-file-list-selector",
272
353
  style: normalizeStyle(_ctx.selectorStyle)
273
- }, null, 4)
354
+ }, null, 4),
355
+ _ctx.contextMenus ? (openBlock(), createBlock(_component_EleDropdown, mergeProps({
356
+ key: 2,
357
+ persistent: false,
358
+ placement: "bottom-start",
359
+ popperClass: "ele-file-list-item-context"
360
+ }, _ctx.contextMenuProps || {}, {
361
+ ref: "ctxMenuDropdownRef",
362
+ componentType: "pro",
363
+ preventContextmenu: true,
364
+ trigger: "click",
365
+ virtualTriggering: true,
366
+ virtualRef: _ctx.ctxMenuDropdownVirtualRef,
367
+ disabled: !_ctx.ctxMenuDropdownItems.length,
368
+ items: _ctx.ctxMenuDropdownItems,
369
+ onCommand: _ctx.handleItemCtxMenuClick,
370
+ onVisibleChange: _ctx.handleItemCtxMenuVisible
371
+ }), null, 16, ["virtualRef", "disabled", "items", "onCommand", "onVisibleChange"])) : createCommentVNode("", true)
274
372
  ], 32);
275
373
  }
276
374
  const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
@@ -1,5 +1,5 @@
1
1
  import { PropType, ExtractPropTypes } from 'vue';
2
- import { EleDropdownProps } from '../ele-app/plus';
2
+ import { EleDropdownProps, EleDropdownInstance } from '../ele-app/plus';
3
3
  import { default as FileGridItem } from './components/file-grid-item';
4
4
  import { default as FileTableItem } from './components/file-table-item';
5
5
  import { IconItem, FileItem, SortValue, ItemContextMenuOption, ColumnItem, SelectionType, ContextMenus, FileListLocale } from './types';
@@ -36,10 +36,7 @@ export declare const fileListProps: {
36
36
  default: () => IconItem[];
37
37
  };
38
38
  /** 表格模式后缀对应图标 */
39
- smallIcons: {
40
- type: PropType<IconItem[]>;
41
- default: () => IconItem[];
42
- };
39
+ smallIcons: PropType<IconItem[]>;
43
40
  /** 表格模式自定义列配置 */
44
41
  columns: PropType<ColumnItem[]>;
45
42
  /** 多选时是否支持鼠标框选 */
@@ -66,6 +63,8 @@ export declare const fileListEmits: {
66
63
  'update:current': (_current?: FileItem | null) => boolean;
67
64
  /** item 右键菜单项点击事件 */
68
65
  itemContextMenu: (_option: ItemContextMenuOption) => boolean;
66
+ /** item 右键菜单打开事件 */
67
+ itemContextOpen: (_dropdownRef: EleDropdownInstance, _item: FileItem) => boolean;
69
68
  };
70
69
  /**
71
70
  * 网格 item 实例
@@ -1,4 +1,4 @@
1
- import { icons, smallIcons } from "./icons";
1
+ import { icons } from "./icons";
2
2
  const fileListProps = {
3
3
  /** 数据 */
4
4
  data: {
@@ -30,12 +30,7 @@ const fileListProps = {
30
30
  }
31
31
  },
32
32
  /** 表格模式后缀对应图标 */
33
- smallIcons: {
34
- type: Array,
35
- default: () => {
36
- return smallIcons;
37
- }
38
- },
33
+ smallIcons: Array,
39
34
  /** 表格模式自定义列配置 */
40
35
  columns: Array,
41
36
  /** 多选时是否支持鼠标框选 */
@@ -57,7 +52,9 @@ const fileListEmits = {
57
52
  /** 更新单选选中数据 */
58
53
  "update:current": (_current) => true,
59
54
  /** item 右键菜单项点击事件 */
60
- itemContextMenu: (_option) => true
55
+ itemContextMenu: (_option) => true,
56
+ /** item 右键菜单打开事件 */
57
+ itemContextOpen: (_dropdownRef, _item) => true
61
58
  };
62
59
  export {
63
60
  fileListEmits,
@@ -131,10 +131,12 @@
131
131
  .ele-file-list-body {
132
132
  padding-top: eleVar('file', 'item-space');
133
133
  padding-left: eleVar('file', 'item-space');
134
+ box-sizing: border-box;
134
135
  }
135
136
 
136
137
  /* item */
137
138
  .ele-file-list-item {
139
+ flex-shrink: 0;
138
140
  width: eleVar('file', 'item-width');
139
141
  margin-right: eleVar('file', 'item-space');
140
142
  margin-bottom: eleVar('file', 'item-space');
@@ -171,7 +173,7 @@
171
173
  width: eleVar('file', 'image-size');
172
174
  height: eleVar('file', 'image-size');
173
175
  border-radius: eleVar('file', 'image-radius');
174
- object-fit: cover;
176
+ object-fit: contain;
175
177
  }
176
178
  }
177
179
 
@@ -332,7 +334,7 @@
332
334
 
333
335
  & > .ele-file-list-item-image {
334
336
  border-radius: eleVar('file', 'td-image-radius');
335
- object-fit: cover;
337
+ object-fit: contain;
336
338
  }
337
339
  }
338
340
 
@@ -393,10 +395,13 @@
393
395
  .ele-file-list-item-name,
394
396
  .ele-file-list-item-cell {
395
397
  transition: color $transition-base;
396
- cursor: pointer;
397
398
 
398
- &:hover {
399
- color: elVar('color-primary');
399
+ &.is-sortable {
400
+ cursor: pointer;
401
+
402
+ &:hover {
403
+ color: elVar('color-primary');
404
+ }
400
405
  }
401
406
  }
402
407
  }
@@ -23,7 +23,7 @@ export type IconItemType = 'file' | 'dir';
23
23
  */
24
24
  export interface FileItem extends Record<string | number | symbol, unknown> {
25
25
  /** 唯一标识 */
26
- key: string;
26
+ key: string | number;
27
27
  /** 文件名称 */
28
28
  name: string;
29
29
  /** 文件访问地址 */
@@ -93,6 +93,18 @@ export type ContextMenusFunc = (item: FileItem) => DropdownItem[];
93
93
  */
94
94
  export type ContextMenus = DropdownItem[] | ContextMenusFunc;
95
95
 
96
+ /**
97
+ * 右键菜单打开参数
98
+ */
99
+ export interface ContextOpenOption {
100
+ /** 数据 */
101
+ item: FileItem;
102
+ /** 触发节点 */
103
+ triggerEl: HTMLElement;
104
+ /** 事件对象 */
105
+ e: MouseEvent;
106
+ }
107
+
96
108
  /**
97
109
  * 国际化
98
110
  */
@@ -56,7 +56,7 @@ declare const _default: import('vue').DefineComponent<{
56
56
  }>> & {
57
57
  onSelect?: ((_icon: string) => any) | undefined;
58
58
  }, {
59
- popperVisible: boolean;
60
59
  tooltip: boolean;
60
+ popperVisible: boolean;
61
61
  }, {}>;
62
62
  export default _default;
@@ -158,8 +158,8 @@ declare const _default: import('vue').DefineComponent<{
158
158
  default: null;
159
159
  };
160
160
  }>> & {
161
- onChange?: ((_value?: string | null | undefined) => any) | undefined;
162
161
  "onUpdate:modelValue"?: ((_value?: string | null | undefined) => any) | undefined;
162
+ onChange?: ((_value?: string | null | undefined) => any) | undefined;
163
163
  onFocus?: ((_e: FocusEvent) => any) | undefined;
164
164
  onBlur?: ((_e: FocusEvent) => any) | undefined;
165
165
  onClear?: (() => any) | undefined;
@@ -169,9 +169,9 @@ declare const _default: import('vue').DefineComponent<{
169
169
  teleported: boolean;
170
170
  clearable: boolean;
171
171
  disabled: boolean;
172
+ persistent: boolean;
172
173
  tooltip: boolean;
173
174
  transition: string;
174
- persistent: boolean;
175
175
  responsive: boolean;
176
176
  automaticDropdown: boolean;
177
177
  popperWidth: string | number;
@@ -0,0 +1,120 @@
1
+ import { ElImageViewerInstance } from '../ele-app/el';
2
+
3
+ declare const _default: import('vue').DefineComponent<{
4
+ teleported: {
5
+ type: BooleanConstructor;
6
+ default: boolean;
7
+ };
8
+ modelValue: BooleanConstructor;
9
+ customClass: StringConstructor;
10
+ customStyle: ObjectConstructor;
11
+ transitionName: {
12
+ type: StringConstructor;
13
+ default: string;
14
+ };
15
+ keepAlive: BooleanConstructor;
16
+ urlList: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
17
+ zIndex: {
18
+ readonly type: import('vue').PropType<number>;
19
+ readonly required: false;
20
+ readonly validator: ((val: unknown) => boolean) | undefined;
21
+ __epPropKey: true;
22
+ };
23
+ initialIndex: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
24
+ infinite: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
25
+ hideOnClickModal: BooleanConstructor;
26
+ closeOnPressEscape: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
27
+ zoomRate: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
28
+ minScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
29
+ maxScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
30
+ crossorigin: {
31
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>>;
32
+ readonly required: false;
33
+ readonly validator: ((val: unknown) => boolean) | undefined;
34
+ __epPropKey: true;
35
+ };
36
+ }, {
37
+ imageViewerRef: import('vue').Ref<ElImageViewerInstance>;
38
+ viewerProps: import('vue').ComputedRef<import('../ele-app/types').Mutable<Omit<import('@vue/shared').LooseRequired<{
39
+ readonly modelValue: boolean;
40
+ readonly teleported: boolean;
41
+ readonly closeOnPressEscape: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
42
+ readonly hideOnClickModal: boolean;
43
+ readonly initialIndex: number;
44
+ readonly infinite: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
45
+ readonly zoomRate: number;
46
+ readonly minScale: number;
47
+ readonly maxScale: number;
48
+ readonly urlList: string[];
49
+ readonly transitionName: string;
50
+ readonly keepAlive: boolean;
51
+ readonly zIndex?: number | undefined;
52
+ readonly crossorigin?: import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown> | undefined;
53
+ readonly customClass?: string | undefined;
54
+ readonly customStyle?: Record<string, any> | undefined;
55
+ readonly "onUpdate:modelValue"?: ((_value?: boolean | undefined) => any) | undefined;
56
+ readonly onClose?: (() => any) | undefined;
57
+ readonly onSwitch?: ((_index: number) => any) | undefined;
58
+ readonly onRotate?: ((_deg: number) => any) | undefined;
59
+ } & {}>, "modelValue" | "customClass" | "customStyle" | "transitionName" | "keepAlive">>>;
60
+ handleClose: () => void;
61
+ handleSwitch: (index: number) => void;
62
+ handleRotate: (deg: number) => void;
63
+ }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
64
+ 'update:modelValue': (_value?: boolean) => boolean;
65
+ close: () => boolean;
66
+ switch: (_index: number) => boolean;
67
+ rotate: (_deg: number) => boolean;
68
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
69
+ teleported: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
73
+ modelValue: BooleanConstructor;
74
+ customClass: StringConstructor;
75
+ customStyle: ObjectConstructor;
76
+ transitionName: {
77
+ type: StringConstructor;
78
+ default: string;
79
+ };
80
+ keepAlive: BooleanConstructor;
81
+ urlList: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
82
+ zIndex: {
83
+ readonly type: import('vue').PropType<number>;
84
+ readonly required: false;
85
+ readonly validator: ((val: unknown) => boolean) | undefined;
86
+ __epPropKey: true;
87
+ };
88
+ initialIndex: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
89
+ infinite: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
90
+ hideOnClickModal: BooleanConstructor;
91
+ closeOnPressEscape: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
92
+ zoomRate: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
93
+ minScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
94
+ maxScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
95
+ crossorigin: {
96
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>>;
97
+ readonly required: false;
98
+ readonly validator: ((val: unknown) => boolean) | undefined;
99
+ __epPropKey: true;
100
+ };
101
+ }>> & {
102
+ "onUpdate:modelValue"?: ((_value?: boolean | undefined) => any) | undefined;
103
+ onClose?: (() => any) | undefined;
104
+ onSwitch?: ((_index: number) => any) | undefined;
105
+ onRotate?: ((_deg: number) => any) | undefined;
106
+ }, {
107
+ modelValue: boolean;
108
+ teleported: boolean;
109
+ closeOnPressEscape: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
110
+ hideOnClickModal: boolean;
111
+ initialIndex: number;
112
+ infinite: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
113
+ zoomRate: number;
114
+ minScale: number;
115
+ maxScale: number;
116
+ urlList: string[];
117
+ transitionName: string;
118
+ keepAlive: boolean;
119
+ }, {}>;
120
+ export default _default;
@@ -0,0 +1,88 @@
1
+ import { defineComponent, ref, computed, onDeactivated, resolveComponent, openBlock, createBlock, Teleport, createVNode, Transition, withCtx, createElementBlock, normalizeClass, normalizeStyle, mergeProps, renderSlot, createCommentVNode } from "vue";
2
+ import { ElImageViewer } from "element-plus";
3
+ import { omit } from "../utils/core";
4
+ import { imageViewerProps, imageViewerEmits } from "./props";
5
+ const _sfc_main = defineComponent({
6
+ name: "EleImageViewer",
7
+ components: { ElImageViewer },
8
+ props: imageViewerProps,
9
+ emits: imageViewerEmits,
10
+ setup(props, { emit }) {
11
+ const imageViewerRef = ref(null);
12
+ const viewerProps = computed(() => {
13
+ const options = omit(props, [
14
+ "modelValue",
15
+ "customClass",
16
+ "customStyle",
17
+ "transitionName",
18
+ "keepAlive"
19
+ ]);
20
+ options.teleported = false;
21
+ return options;
22
+ });
23
+ const handleClose = () => {
24
+ emit("update:modelValue", false);
25
+ emit("close");
26
+ };
27
+ const handleSwitch = (index2) => {
28
+ emit("switch", index2);
29
+ };
30
+ const handleRotate = (deg) => {
31
+ emit("rotate", deg);
32
+ };
33
+ onDeactivated(() => {
34
+ handleClose();
35
+ });
36
+ return {
37
+ imageViewerRef,
38
+ viewerProps,
39
+ handleClose,
40
+ handleSwitch,
41
+ handleRotate
42
+ };
43
+ }
44
+ });
45
+ const _export_sfc = (sfc, props) => {
46
+ const target = sfc.__vccOpts || sfc;
47
+ for (const [key, val] of props) {
48
+ target[key] = val;
49
+ }
50
+ return target;
51
+ };
52
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
53
+ const _component_ElImageViewer = resolveComponent("ElImageViewer");
54
+ return openBlock(), createBlock(Teleport, {
55
+ to: "body",
56
+ disabled: !_ctx.teleported
57
+ }, [
58
+ createVNode(Transition, {
59
+ name: _ctx.transitionName,
60
+ appear: true
61
+ }, {
62
+ default: withCtx(() => [
63
+ _ctx.modelValue ? (openBlock(), createElementBlock("div", {
64
+ key: 0,
65
+ class: normalizeClass(["ele-image-viewer", _ctx.customClass]),
66
+ style: normalizeStyle(_ctx.customStyle)
67
+ }, [
68
+ createVNode(_component_ElImageViewer, mergeProps(_ctx.viewerProps, {
69
+ ref: "imageViewerRef",
70
+ onClose: _ctx.handleClose,
71
+ onSwitch: _ctx.handleSwitch,
72
+ onRotate: _ctx.handleRotate
73
+ }), {
74
+ default: withCtx(() => [
75
+ renderSlot(_ctx.$slots, "default")
76
+ ]),
77
+ _: 3
78
+ }, 16, ["onClose", "onSwitch", "onRotate"])
79
+ ], 6)) : createCommentVNode("", true)
80
+ ]),
81
+ _: 3
82
+ }, 8, ["name"])
83
+ ], 8, ["disabled"]);
84
+ }
85
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
86
+ export {
87
+ index as default
88
+ };
@@ -0,0 +1,58 @@
1
+ import { ExtractPropTypes } from 'vue';
2
+
3
+ /**
4
+ * 属性
5
+ */
6
+ export declare const imageViewerProps: {
7
+ teleported: {
8
+ type: BooleanConstructor;
9
+ default: boolean;
10
+ };
11
+ /** 是否打开 */
12
+ modelValue: BooleanConstructor;
13
+ /** 自定义类名 */
14
+ customClass: StringConstructor;
15
+ /** 自定义样式 */
16
+ customStyle: ObjectConstructor;
17
+ /** 过渡动画名称 */
18
+ transitionName: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ /** 是否失活后仍然显示 */
23
+ keepAlive: BooleanConstructor;
24
+ urlList: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => [], boolean>;
25
+ zIndex: {
26
+ readonly type: import('vue').PropType<number>;
27
+ readonly required: false;
28
+ readonly validator: ((val: unknown) => boolean) | undefined;
29
+ __epPropKey: true;
30
+ };
31
+ initialIndex: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
32
+ infinite: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
33
+ hideOnClickModal: BooleanConstructor;
34
+ closeOnPressEscape: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
35
+ zoomRate: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 1.2, boolean>;
36
+ minScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0.2, boolean>;
37
+ maxScale: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
38
+ crossorigin: {
39
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials") | ((new (...args: any[]) => ("" | "anonymous" | "use-credentials") & {}) | (() => "" | "anonymous" | "use-credentials"))[], unknown, unknown>>;
40
+ readonly required: false;
41
+ readonly validator: ((val: unknown) => boolean) | undefined;
42
+ __epPropKey: true;
43
+ };
44
+ };
45
+ export type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>;
46
+ /**
47
+ * 事件
48
+ */
49
+ export declare const imageViewerEmits: {
50
+ /** 更新打开状态 */
51
+ 'update:modelValue': (_value?: boolean) => boolean;
52
+ /** 关闭事件 */
53
+ close: () => boolean;
54
+ /** 切换图像事件 */
55
+ switch: (_index: number) => boolean;
56
+ /** 旋转图像事件 */
57
+ rotate: (_deg: number) => boolean;
58
+ };