ele-admin-plus 1.2.1-beta.2 → 1.2.1-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) 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.d.ts +26 -30
  6. package/es/ele-admin-layout/index.js +7 -2
  7. package/es/ele-admin-layout/props.d.ts +11 -10
  8. package/es/ele-admin-layout/types.d.ts +2 -0
  9. package/es/ele-alert/index.d.ts +14 -14
  10. package/es/ele-alert/props.d.ts +9 -8
  11. package/es/ele-app/components/message-body.d.ts +5 -4
  12. package/es/ele-app/components/message-box-icon.d.ts +7 -6
  13. package/es/ele-app/el.d.ts +3 -0
  14. package/es/ele-app/plus.d.ts +21 -0
  15. package/es/ele-app/style/overwrite/css-var.scss +0 -2
  16. package/es/ele-app/style/overwrite/index.js +0 -1
  17. package/es/ele-app/style/overwrite/index.scss +0 -1
  18. package/es/ele-app/style/overwrite/input/index.scss +2 -0
  19. package/es/ele-app/style/scrollbar/css-var.scss +17 -16
  20. package/es/ele-app/types.d.ts +8 -1
  21. package/es/ele-avatar-group/index.d.ts +15 -14
  22. package/es/ele-avatar-group/props.d.ts +10 -7
  23. package/es/ele-basic-select/index.d.ts +19 -16
  24. package/es/ele-basic-select/index.js +14 -7
  25. package/es/ele-basic-select/props.d.ts +11 -6
  26. package/es/ele-basic-select/props.js +3 -1
  27. package/es/ele-basic-select/util.d.ts +6 -0
  28. package/es/ele-basic-select/util.js +13 -0
  29. package/es/ele-bottom-bar/index.d.ts +13 -6
  30. package/es/ele-bottom-bar/index.js +37 -15
  31. package/es/ele-bottom-bar/props.d.ts +5 -2
  32. package/es/ele-bottom-bar/props.js +3 -1
  33. package/es/ele-bottom-bar/style/index.scss +5 -0
  34. package/es/ele-breadcrumb/index.d.ts +3 -3
  35. package/es/ele-breadcrumb/props.d.ts +1 -1
  36. package/es/ele-card/index.d.ts +14 -14
  37. package/es/ele-card/props.d.ts +8 -6
  38. package/es/ele-check-card/components/card-item.d.ts +3 -2
  39. package/es/ele-check-card/index.d.ts +6 -6
  40. package/es/ele-check-card/index.js +8 -3
  41. package/es/ele-check-card/props.d.ts +3 -2
  42. package/es/ele-config-provider/index.d.ts +4 -4
  43. package/es/ele-config-provider/props.d.ts +3 -3
  44. package/es/ele-config-provider/types.d.ts +1 -0
  45. package/es/ele-copyable/index.d.ts +10 -10
  46. package/es/ele-copyable/props.d.ts +7 -5
  47. package/es/ele-count-up/index.d.ts +1 -1
  48. package/es/ele-cropper/components/cropper-tools.d.ts +12 -5
  49. package/es/ele-cropper/components/cropper-tools.js +41 -13
  50. package/es/ele-cropper/index.d.ts +6 -4
  51. package/es/ele-cropper/index.js +2 -1
  52. package/es/ele-cropper/props.d.ts +5 -2
  53. package/es/ele-cropper/props.js +2 -0
  54. package/es/ele-cropper/style/index.scss +3 -2
  55. package/es/ele-cropper/types.d.ts +16 -0
  56. package/es/ele-cropper-modal/index.d.ts +7 -5
  57. package/es/ele-cropper-modal/index.js +2 -1
  58. package/es/ele-cropper-modal/props.d.ts +2 -4
  59. package/es/ele-data-table/components/table-columns.d.ts +32 -0
  60. package/es/ele-data-table/components/table-columns.js +114 -0
  61. package/es/ele-data-table/index.d.ts +223 -41
  62. package/es/ele-data-table/index.js +202 -120
  63. package/es/ele-data-table/props.d.ts +22 -26
  64. package/es/ele-data-table/style/index.scss +1 -1
  65. package/es/ele-data-table/types.d.ts +2 -0
  66. package/es/ele-data-table/util.d.ts +1 -45
  67. package/es/ele-data-table/util.js +2 -106
  68. package/es/ele-drawer/index.d.ts +22 -22
  69. package/es/ele-drawer/props.d.ts +13 -12
  70. package/es/ele-dropdown/components/pro-dropdown.d.ts +237 -0
  71. package/es/ele-dropdown/components/pro-dropdown.js +204 -0
  72. package/es/ele-dropdown/index.d.ts +534 -48
  73. package/es/ele-dropdown/index.js +110 -25
  74. package/es/ele-dropdown/props.d.ts +120 -25
  75. package/es/ele-dropdown/props.js +54 -7
  76. package/es/ele-dropdown/style/index.js +4 -1
  77. package/es/ele-dropdown/style/index.scss +174 -6
  78. package/es/ele-edit-tag/index.d.ts +22 -20
  79. package/es/ele-edit-tag/index.js +10 -2
  80. package/es/ele-edit-tag/props.d.ts +13 -8
  81. package/es/ele-edit-tag/props.js +3 -1
  82. package/es/ele-ellipsis/index.d.ts +5 -4
  83. package/es/ele-ellipsis/props.d.ts +1 -1
  84. package/es/ele-file-list/components/file-grid-item.d.ts +11 -20
  85. package/es/ele-file-list/components/file-grid-item.js +19 -58
  86. package/es/ele-file-list/components/file-grid.d.ts +15 -19
  87. package/es/ele-file-list/components/file-grid.js +16 -39
  88. package/es/ele-file-list/components/file-table-item.d.ts +11 -20
  89. package/es/ele-file-list/components/file-table-item.js +19 -58
  90. package/es/ele-file-list/components/file-table.d.ts +15 -19
  91. package/es/ele-file-list/components/file-table.js +17 -37
  92. package/es/ele-file-list/index.d.ts +37 -16
  93. package/es/ele-file-list/index.js +118 -20
  94. package/es/ele-file-list/props.d.ts +4 -5
  95. package/es/ele-file-list/props.js +5 -8
  96. package/es/ele-file-list/style/index.scss +10 -5
  97. package/es/ele-file-list/types.d.ts +13 -1
  98. package/es/ele-icon-select/components/icon-grid.d.ts +9 -7
  99. package/es/ele-icon-select/index.d.ts +39 -38
  100. package/es/ele-icon-select/index.js +6 -2
  101. package/es/ele-icon-select/props.d.ts +18 -14
  102. package/es/ele-icon-select/props.js +2 -0
  103. package/es/ele-image-viewer/index.d.ts +120 -0
  104. package/es/ele-image-viewer/index.js +88 -0
  105. package/es/ele-image-viewer/props.d.ts +58 -0
  106. package/es/ele-image-viewer/props.js +35 -0
  107. package/es/ele-image-viewer/style/css-var.scss +8 -0
  108. package/es/ele-image-viewer/style/index.js +2 -0
  109. package/es/ele-image-viewer/style/index.scss +117 -0
  110. package/es/ele-loading/index.d.ts +4 -4
  111. package/es/ele-loading/props.d.ts +3 -2
  112. package/es/ele-map-picker/components/map-view.d.ts +8 -10
  113. package/es/ele-map-picker/components/map-view.js +1 -0
  114. package/es/ele-map-picker/index.d.ts +10 -10
  115. package/es/ele-map-picker/props.d.ts +6 -5
  116. package/es/ele-map-picker/style/index.scss +1 -1
  117. package/es/ele-menus/components/item-title.d.ts +48 -0
  118. package/es/ele-menus/components/item-title.js +108 -0
  119. package/es/ele-menus/components/menu-items.d.ts +78 -0
  120. package/es/ele-menus/components/menu-items.js +269 -0
  121. package/es/ele-menus/index.d.ts +79 -20
  122. package/es/ele-menus/index.js +280 -210
  123. package/es/ele-menus/props.d.ts +3 -3
  124. package/es/ele-menus/style/index.scss +4 -0
  125. package/es/ele-menus/util.d.ts +1 -62
  126. package/es/ele-menus/util.js +3 -244
  127. package/es/ele-modal/index.d.ts +33 -32
  128. package/es/ele-modal/index.js +30 -64
  129. package/es/ele-modal/props.d.ts +16 -15
  130. package/es/ele-modal/util.d.ts +32 -25
  131. package/es/ele-modal/util.js +239 -132
  132. package/es/ele-pagination/index.d.ts +18 -6
  133. package/es/ele-pagination/index.js +3 -2
  134. package/es/ele-pagination/props.d.ts +8 -2
  135. package/es/ele-pagination/style/index.scss +70 -0
  136. package/es/ele-popconfirm/index.d.ts +43 -46
  137. package/es/ele-popconfirm/props.d.ts +22 -21
  138. package/es/ele-popover/index.d.ts +33 -36
  139. package/es/ele-popover/props.d.ts +11 -11
  140. package/es/ele-popover/props.js +1 -1
  141. package/es/ele-printer/index.d.ts +8 -8
  142. package/es/ele-printer/props.d.ts +6 -5
  143. package/es/ele-printer/util.d.ts +5 -5
  144. package/es/ele-printer/util.js +68 -43
  145. package/es/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  146. package/es/ele-pro-layout/components/pro-iframe.js +6 -4
  147. package/es/ele-pro-layout/index.d.ts +44 -48
  148. package/es/ele-pro-layout/index.js +13 -4
  149. package/es/ele-pro-layout/props.d.ts +19 -17
  150. package/es/ele-pro-layout/props.js +3 -3
  151. package/es/ele-pro-layout/types.d.ts +9 -5
  152. package/es/ele-pro-layout/util.d.ts +6 -0
  153. package/es/ele-pro-layout/util.js +12 -0
  154. package/es/ele-pro-table/components/table-tools.d.ts +405 -35
  155. package/es/ele-pro-table/components/table-tools.js +225 -143
  156. package/es/ele-pro-table/components/tool-column-list.d.ts +12 -0
  157. package/es/ele-pro-table/components/tool-column-list.js +33 -6
  158. package/es/ele-pro-table/components/tool-column.d.ts +7 -6
  159. package/es/ele-pro-table/components/tool-column.js +15 -9
  160. package/es/ele-pro-table/components/tool-export.d.ts +30 -27
  161. package/es/ele-pro-table/components/tool-export.js +204 -184
  162. package/es/ele-pro-table/components/tool-print-body-cell.d.ts +5 -4
  163. package/es/ele-pro-table/components/tool-print-body-cell.js +1 -1
  164. package/es/ele-pro-table/components/tool-print-header-cell.d.ts +5 -4
  165. package/es/ele-pro-table/components/tool-print-header-cell.js +3 -2
  166. package/es/ele-pro-table/components/tool-print.d.ts +38 -37
  167. package/es/ele-pro-table/components/tool-print.js +357 -336
  168. package/es/ele-pro-table/index.d.ts +1015 -89
  169. package/es/ele-pro-table/index.js +60 -14
  170. package/es/ele-pro-table/props.d.ts +24 -27
  171. package/es/ele-pro-table/props.js +4 -2
  172. package/es/ele-pro-table/style/index.scss +43 -12
  173. package/es/ele-pro-table/types.d.ts +54 -0
  174. package/es/ele-pro-table/util.d.ts +51 -9
  175. package/es/ele-pro-table/util.js +89 -28
  176. package/es/ele-qr-code/components/canvas-render.d.ts +67 -0
  177. package/es/ele-qr-code/components/canvas-render.js +147 -0
  178. package/es/ele-qr-code/index.d.ts +5 -9
  179. package/es/ele-qr-code/index.js +33 -136
  180. package/es/ele-qr-code/props.d.ts +5 -2
  181. package/es/ele-qr-code/props.js +3 -1
  182. package/es/ele-qr-code/types.d.ts +5 -0
  183. package/es/ele-qr-code-svg/index.d.ts +6 -5
  184. package/es/ele-qr-code-svg/index.js +11 -14
  185. package/es/ele-segmented/index.d.ts +3 -1
  186. package/es/ele-segmented/index.js +30 -3
  187. package/es/ele-segmented/style/index.scss +7 -1
  188. package/es/ele-split-panel/index.d.ts +7 -7
  189. package/es/ele-split-panel/props.d.ts +4 -3
  190. package/es/ele-steps/index.d.ts +10 -10
  191. package/es/ele-steps/props.d.ts +5 -5
  192. package/es/ele-tab-tool/index.d.ts +6 -1
  193. package/es/ele-tab-tool/index.js +44 -3
  194. package/es/ele-tab-tool/props.d.ts +2 -0
  195. package/es/ele-tab-tool/props.js +3 -1
  196. package/es/ele-tab-wrap/components/tab-dropdown.js +9 -26
  197. package/es/ele-tab-wrap/index.js +21 -2
  198. package/es/ele-table/index.d.ts +2 -2
  199. package/es/ele-table/props.d.ts +2 -1
  200. package/es/ele-table/style/index.scss +1 -2
  201. package/es/ele-table-select/index.d.ts +24 -22
  202. package/es/ele-table-select/index.js +5 -2
  203. package/es/ele-table-select/props.d.ts +11 -7
  204. package/es/ele-table-select/props.js +2 -0
  205. package/es/ele-tabs/index.d.ts +39 -52
  206. package/es/ele-tabs/index.js +290 -118
  207. package/es/ele-tabs/props.d.ts +11 -30
  208. package/es/ele-tabs/props.js +4 -2
  209. package/es/ele-tabs/style/index.scss +186 -170
  210. package/es/ele-tabs/types.d.ts +25 -11
  211. package/es/ele-text/index.d.ts +2 -2
  212. package/es/ele-text/props.d.ts +2 -1
  213. package/es/ele-tool/index.d.ts +5 -2
  214. package/es/ele-tool/index.js +5 -3
  215. package/es/ele-tool/props.d.ts +4 -1
  216. package/es/ele-tool/props.js +3 -1
  217. package/es/ele-tool/style/index.scss +13 -0
  218. package/es/ele-toolbar/index.d.ts +18 -18
  219. package/es/ele-toolbar/props.d.ts +4 -3
  220. package/es/ele-tooltip/index.d.ts +27 -26
  221. package/es/ele-tooltip/props.d.ts +9 -8
  222. package/es/ele-tooltip/style/css-var.scss +4 -0
  223. package/es/ele-tour/index.d.ts +1 -1
  224. package/es/ele-tree-select/index.d.ts +19 -19
  225. package/es/ele-tree-select/index.js +5 -2
  226. package/es/ele-tree-select/props.d.ts +12 -8
  227. package/es/ele-tree-select/props.js +3 -1
  228. package/es/ele-upload-list/components/list-item.d.ts +31 -5
  229. package/es/ele-upload-list/components/list-item.js +146 -66
  230. package/es/ele-upload-list/index.d.ts +57 -30
  231. package/es/ele-upload-list/index.js +180 -97
  232. package/es/ele-upload-list/props.d.ts +24 -10
  233. package/es/ele-upload-list/props.js +20 -8
  234. package/es/ele-upload-list/style/css-var.scss +8 -0
  235. package/es/ele-upload-list/style/index.js +1 -1
  236. package/es/ele-upload-list/style/index.scss +426 -132
  237. package/es/ele-upload-list/types.d.ts +35 -11
  238. package/es/ele-virtual-table/components/body-cell.d.ts +13 -29
  239. package/es/ele-virtual-table/components/body-row.d.ts +13 -29
  240. package/es/ele-virtual-table/components/cell-checkbox.d.ts +3 -2
  241. package/es/ele-virtual-table/components/cell-filter.d.ts +6 -6
  242. package/es/ele-virtual-table/components/footer-row.d.ts +3 -3
  243. package/es/ele-virtual-table/components/header-cell.d.ts +8 -8
  244. package/es/ele-virtual-table/components/header-row.d.ts +8 -8
  245. package/es/ele-virtual-table/index.d.ts +27 -36
  246. package/es/ele-virtual-table/index.js +8 -6
  247. package/es/ele-virtual-table/props.d.ts +13 -15
  248. package/es/ele-watermark/index.d.ts +5 -4
  249. package/es/ele-watermark/props.d.ts +2 -1
  250. package/es/ele-xg-player/index.d.ts +3 -3
  251. package/es/icons/CornerLeftFilled.d.ts +2 -0
  252. package/es/icons/CornerLeftFilled.js +26 -0
  253. package/es/icons/CornerRightFilled.d.ts +2 -0
  254. package/es/icons/CornerRightFilled.js +26 -0
  255. package/es/icons/EyeOutlined.d.ts +2 -0
  256. package/es/icons/EyeOutlined.js +30 -0
  257. package/es/icons/FileOutlined.js +4 -4
  258. package/es/icons/SizeCompactOutlined.d.ts +2 -0
  259. package/es/icons/SizeCompactOutlined.js +34 -0
  260. package/es/icons/SizeMiddleOutlined.d.ts +2 -0
  261. package/es/icons/SizeMiddleOutlined.js +34 -0
  262. package/es/icons/SizeSlackOutlined.d.ts +2 -0
  263. package/es/icons/SizeSlackOutlined.js +34 -0
  264. package/es/icons/index.d.ts +6 -0
  265. package/es/icons/index.js +162 -150
  266. package/es/lang/en_US.js +5 -1
  267. package/es/lang/zh_CN.js +5 -1
  268. package/es/lang/zh_TW.js +5 -1
  269. package/es/style/plus.scss +1 -0
  270. package/es/style/themes/default.scss +92 -9
  271. package/es/style/themes/rounded.scss +9 -5
  272. package/es/style/themes/theme-util.scss +4 -0
  273. package/es/style/util.scss +10 -3
  274. package/es/utils/core.d.ts +4 -2
  275. package/es/utils/hook.d.ts +77 -4
  276. package/es/utils/hook.js +159 -6
  277. package/es/utils/menu-util.js +11 -5
  278. package/es/utils/message-box.js +5 -1
  279. package/es/utils/message.js +2 -2
  280. package/lib/core-components.cjs +60 -58
  281. package/lib/core-components.d.ts +1 -0
  282. package/lib/ele-admin-layout/components/layout-tabs.cjs +17 -75
  283. package/lib/ele-admin-layout/components/layout-tabs.d.ts +1 -6
  284. package/lib/ele-admin-layout/index.cjs +7 -2
  285. package/lib/ele-admin-layout/index.d.ts +26 -30
  286. package/lib/ele-admin-layout/props.d.ts +11 -10
  287. package/lib/ele-admin-layout/types.d.ts +2 -0
  288. package/lib/ele-alert/index.d.ts +14 -14
  289. package/lib/ele-alert/props.d.ts +9 -8
  290. package/lib/ele-app/components/message-body.d.ts +5 -4
  291. package/lib/ele-app/components/message-box-icon.d.ts +7 -6
  292. package/lib/ele-app/el.d.ts +3 -0
  293. package/lib/ele-app/plus.d.ts +21 -0
  294. package/lib/ele-app/style/overwrite/css-var.scss +0 -2
  295. package/lib/ele-app/style/overwrite/index.cjs +0 -1
  296. package/lib/ele-app/style/overwrite/index.scss +0 -1
  297. package/lib/ele-app/style/overwrite/input/index.scss +2 -0
  298. package/lib/ele-app/style/scrollbar/css-var.scss +17 -16
  299. package/lib/ele-app/types.d.ts +8 -1
  300. package/lib/ele-avatar-group/index.d.ts +15 -14
  301. package/lib/ele-avatar-group/props.d.ts +10 -7
  302. package/lib/ele-basic-select/index.cjs +14 -7
  303. package/lib/ele-basic-select/index.d.ts +19 -16
  304. package/lib/ele-basic-select/props.cjs +3 -1
  305. package/lib/ele-basic-select/props.d.ts +11 -6
  306. package/lib/ele-basic-select/util.cjs +13 -0
  307. package/lib/ele-basic-select/util.d.ts +6 -0
  308. package/lib/ele-bottom-bar/index.cjs +36 -14
  309. package/lib/ele-bottom-bar/index.d.ts +13 -6
  310. package/lib/ele-bottom-bar/props.cjs +3 -1
  311. package/lib/ele-bottom-bar/props.d.ts +5 -2
  312. package/lib/ele-bottom-bar/style/index.scss +5 -0
  313. package/lib/ele-breadcrumb/index.d.ts +3 -3
  314. package/lib/ele-breadcrumb/props.d.ts +1 -1
  315. package/lib/ele-card/index.d.ts +14 -14
  316. package/lib/ele-card/props.d.ts +8 -6
  317. package/lib/ele-check-card/components/card-item.d.ts +3 -2
  318. package/lib/ele-check-card/index.cjs +8 -3
  319. package/lib/ele-check-card/index.d.ts +6 -6
  320. package/lib/ele-check-card/props.d.ts +3 -2
  321. package/lib/ele-config-provider/index.d.ts +4 -4
  322. package/lib/ele-config-provider/props.d.ts +3 -3
  323. package/lib/ele-config-provider/types.d.ts +1 -0
  324. package/lib/ele-copyable/index.d.ts +10 -10
  325. package/lib/ele-copyable/props.d.ts +7 -5
  326. package/lib/ele-count-up/index.d.ts +1 -1
  327. package/lib/ele-cropper/components/cropper-tools.cjs +40 -12
  328. package/lib/ele-cropper/components/cropper-tools.d.ts +12 -5
  329. package/lib/ele-cropper/index.cjs +2 -1
  330. package/lib/ele-cropper/index.d.ts +6 -4
  331. package/lib/ele-cropper/props.cjs +2 -0
  332. package/lib/ele-cropper/props.d.ts +5 -2
  333. package/lib/ele-cropper/style/index.scss +3 -2
  334. package/lib/ele-cropper/types.d.ts +16 -0
  335. package/lib/ele-cropper-modal/index.cjs +2 -1
  336. package/lib/ele-cropper-modal/index.d.ts +7 -5
  337. package/lib/ele-cropper-modal/props.d.ts +2 -4
  338. package/lib/ele-data-table/components/table-columns.cjs +113 -0
  339. package/lib/ele-data-table/components/table-columns.d.ts +32 -0
  340. package/lib/ele-data-table/index.cjs +199 -117
  341. package/lib/ele-data-table/index.d.ts +223 -41
  342. package/lib/ele-data-table/props.d.ts +22 -26
  343. package/lib/ele-data-table/style/index.scss +1 -1
  344. package/lib/ele-data-table/types.d.ts +2 -0
  345. package/lib/ele-data-table/util.cjs +0 -104
  346. package/lib/ele-data-table/util.d.ts +1 -45
  347. package/lib/ele-drawer/index.d.ts +22 -22
  348. package/lib/ele-drawer/props.d.ts +13 -12
  349. package/lib/ele-dropdown/components/pro-dropdown.cjs +203 -0
  350. package/lib/ele-dropdown/components/pro-dropdown.d.ts +237 -0
  351. package/lib/ele-dropdown/index.cjs +113 -28
  352. package/lib/ele-dropdown/index.d.ts +534 -48
  353. package/lib/ele-dropdown/props.cjs +53 -6
  354. package/lib/ele-dropdown/props.d.ts +120 -25
  355. package/lib/ele-dropdown/style/index.cjs +4 -1
  356. package/lib/ele-dropdown/style/index.scss +174 -6
  357. package/lib/ele-edit-tag/index.cjs +10 -2
  358. package/lib/ele-edit-tag/index.d.ts +22 -20
  359. package/lib/ele-edit-tag/props.cjs +3 -1
  360. package/lib/ele-edit-tag/props.d.ts +13 -8
  361. package/lib/ele-ellipsis/index.d.ts +5 -4
  362. package/lib/ele-ellipsis/props.d.ts +1 -1
  363. package/lib/ele-file-list/components/file-grid-item.cjs +18 -57
  364. package/lib/ele-file-list/components/file-grid-item.d.ts +11 -20
  365. package/lib/ele-file-list/components/file-grid.cjs +15 -38
  366. package/lib/ele-file-list/components/file-grid.d.ts +15 -19
  367. package/lib/ele-file-list/components/file-table-item.cjs +18 -57
  368. package/lib/ele-file-list/components/file-table-item.d.ts +11 -20
  369. package/lib/ele-file-list/components/file-table.cjs +16 -36
  370. package/lib/ele-file-list/components/file-table.d.ts +15 -19
  371. package/lib/ele-file-list/index.cjs +117 -19
  372. package/lib/ele-file-list/index.d.ts +37 -16
  373. package/lib/ele-file-list/props.cjs +4 -7
  374. package/lib/ele-file-list/props.d.ts +4 -5
  375. package/lib/ele-file-list/style/index.scss +10 -5
  376. package/lib/ele-file-list/types.d.ts +13 -1
  377. package/lib/ele-icon-select/components/icon-grid.d.ts +9 -7
  378. package/lib/ele-icon-select/index.cjs +9 -5
  379. package/lib/ele-icon-select/index.d.ts +39 -38
  380. package/lib/ele-icon-select/props.cjs +2 -0
  381. package/lib/ele-icon-select/props.d.ts +18 -14
  382. package/lib/ele-image-viewer/index.cjs +87 -0
  383. package/lib/ele-image-viewer/index.d.ts +120 -0
  384. package/lib/ele-image-viewer/props.cjs +35 -0
  385. package/lib/ele-image-viewer/props.d.ts +58 -0
  386. package/lib/ele-image-viewer/style/css-var.scss +8 -0
  387. package/lib/ele-image-viewer/style/index.cjs +3 -0
  388. package/lib/ele-image-viewer/style/index.scss +117 -0
  389. package/lib/ele-loading/index.d.ts +4 -4
  390. package/lib/ele-loading/props.d.ts +3 -2
  391. package/lib/ele-map-picker/components/map-view.cjs +1 -0
  392. package/lib/ele-map-picker/components/map-view.d.ts +8 -10
  393. package/lib/ele-map-picker/index.d.ts +10 -10
  394. package/lib/ele-map-picker/props.d.ts +6 -5
  395. package/lib/ele-map-picker/style/index.scss +1 -1
  396. package/lib/ele-menus/components/item-title.cjs +107 -0
  397. package/lib/ele-menus/components/item-title.d.ts +48 -0
  398. package/lib/ele-menus/components/menu-items.cjs +268 -0
  399. package/lib/ele-menus/components/menu-items.d.ts +78 -0
  400. package/lib/ele-menus/index.cjs +278 -208
  401. package/lib/ele-menus/index.d.ts +79 -20
  402. package/lib/ele-menus/props.d.ts +3 -3
  403. package/lib/ele-menus/style/index.scss +4 -0
  404. package/lib/ele-menus/util.cjs +1 -242
  405. package/lib/ele-menus/util.d.ts +1 -62
  406. package/lib/ele-modal/index.cjs +28 -62
  407. package/lib/ele-modal/index.d.ts +33 -32
  408. package/lib/ele-modal/props.d.ts +16 -15
  409. package/lib/ele-modal/util.cjs +239 -132
  410. package/lib/ele-modal/util.d.ts +32 -25
  411. package/lib/ele-pagination/index.cjs +3 -2
  412. package/lib/ele-pagination/index.d.ts +18 -6
  413. package/lib/ele-pagination/props.d.ts +8 -2
  414. package/lib/ele-pagination/style/index.scss +70 -0
  415. package/lib/ele-popconfirm/index.d.ts +43 -46
  416. package/lib/ele-popconfirm/props.d.ts +22 -21
  417. package/lib/ele-popover/index.d.ts +33 -36
  418. package/lib/ele-popover/props.cjs +1 -1
  419. package/lib/ele-popover/props.d.ts +11 -11
  420. package/lib/ele-printer/index.d.ts +8 -8
  421. package/lib/ele-printer/props.d.ts +6 -5
  422. package/lib/ele-printer/util.cjs +68 -43
  423. package/lib/ele-printer/util.d.ts +5 -5
  424. package/lib/ele-pro-layout/components/pro-iframe.cjs +6 -4
  425. package/lib/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  426. package/lib/ele-pro-layout/index.cjs +13 -4
  427. package/lib/ele-pro-layout/index.d.ts +44 -48
  428. package/lib/ele-pro-layout/props.cjs +3 -3
  429. package/lib/ele-pro-layout/props.d.ts +19 -17
  430. package/lib/ele-pro-layout/types.d.ts +9 -5
  431. package/lib/ele-pro-layout/util.cjs +12 -0
  432. package/lib/ele-pro-layout/util.d.ts +6 -0
  433. package/lib/ele-pro-table/components/table-tools.cjs +223 -141
  434. package/lib/ele-pro-table/components/table-tools.d.ts +405 -35
  435. package/lib/ele-pro-table/components/tool-column-list.cjs +32 -5
  436. package/lib/ele-pro-table/components/tool-column-list.d.ts +12 -0
  437. package/lib/ele-pro-table/components/tool-column.cjs +14 -8
  438. package/lib/ele-pro-table/components/tool-column.d.ts +7 -6
  439. package/lib/ele-pro-table/components/tool-export.cjs +201 -181
  440. package/lib/ele-pro-table/components/tool-export.d.ts +30 -27
  441. package/lib/ele-pro-table/components/tool-print-body-cell.cjs +1 -1
  442. package/lib/ele-pro-table/components/tool-print-body-cell.d.ts +5 -4
  443. package/lib/ele-pro-table/components/tool-print-header-cell.cjs +3 -2
  444. package/lib/ele-pro-table/components/tool-print-header-cell.d.ts +5 -4
  445. package/lib/ele-pro-table/components/tool-print.cjs +354 -333
  446. package/lib/ele-pro-table/components/tool-print.d.ts +38 -37
  447. package/lib/ele-pro-table/index.cjs +59 -13
  448. package/lib/ele-pro-table/index.d.ts +1015 -89
  449. package/lib/ele-pro-table/props.cjs +4 -2
  450. package/lib/ele-pro-table/props.d.ts +24 -27
  451. package/lib/ele-pro-table/style/index.scss +43 -12
  452. package/lib/ele-pro-table/types.d.ts +54 -0
  453. package/lib/ele-pro-table/util.cjs +89 -28
  454. package/lib/ele-pro-table/util.d.ts +51 -9
  455. package/lib/ele-qr-code/components/canvas-render.cjs +146 -0
  456. package/lib/ele-qr-code/components/canvas-render.d.ts +67 -0
  457. package/lib/ele-qr-code/index.cjs +32 -135
  458. package/lib/ele-qr-code/index.d.ts +5 -9
  459. package/lib/ele-qr-code/props.cjs +3 -1
  460. package/lib/ele-qr-code/props.d.ts +5 -2
  461. package/lib/ele-qr-code/types.d.ts +5 -0
  462. package/lib/ele-qr-code-svg/index.cjs +10 -13
  463. package/lib/ele-qr-code-svg/index.d.ts +6 -5
  464. package/lib/ele-segmented/index.cjs +29 -2
  465. package/lib/ele-segmented/index.d.ts +3 -1
  466. package/lib/ele-segmented/style/index.scss +7 -1
  467. package/lib/ele-split-panel/index.d.ts +7 -7
  468. package/lib/ele-split-panel/props.d.ts +4 -3
  469. package/lib/ele-steps/index.d.ts +10 -10
  470. package/lib/ele-steps/props.d.ts +5 -5
  471. package/lib/ele-tab-tool/index.cjs +43 -2
  472. package/lib/ele-tab-tool/index.d.ts +6 -1
  473. package/lib/ele-tab-tool/props.cjs +3 -1
  474. package/lib/ele-tab-tool/props.d.ts +2 -0
  475. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +8 -25
  476. package/lib/ele-tab-wrap/index.cjs +20 -1
  477. package/lib/ele-table/index.d.ts +2 -2
  478. package/lib/ele-table/props.d.ts +2 -1
  479. package/lib/ele-table/style/index.scss +1 -2
  480. package/lib/ele-table-select/index.cjs +20 -17
  481. package/lib/ele-table-select/index.d.ts +24 -22
  482. package/lib/ele-table-select/props.cjs +2 -0
  483. package/lib/ele-table-select/props.d.ts +11 -7
  484. package/lib/ele-tabs/index.cjs +288 -116
  485. package/lib/ele-tabs/index.d.ts +39 -52
  486. package/lib/ele-tabs/props.cjs +4 -2
  487. package/lib/ele-tabs/props.d.ts +11 -30
  488. package/lib/ele-tabs/style/index.scss +186 -170
  489. package/lib/ele-tabs/types.d.ts +25 -11
  490. package/lib/ele-text/index.d.ts +2 -2
  491. package/lib/ele-text/props.d.ts +2 -1
  492. package/lib/ele-tool/index.cjs +5 -3
  493. package/lib/ele-tool/index.d.ts +5 -2
  494. package/lib/ele-tool/props.cjs +3 -1
  495. package/lib/ele-tool/props.d.ts +4 -1
  496. package/lib/ele-tool/style/index.scss +13 -0
  497. package/lib/ele-toolbar/index.d.ts +18 -18
  498. package/lib/ele-toolbar/props.d.ts +4 -3
  499. package/lib/ele-tooltip/index.d.ts +27 -26
  500. package/lib/ele-tooltip/props.d.ts +9 -8
  501. package/lib/ele-tooltip/style/css-var.scss +4 -0
  502. package/lib/ele-tour/index.d.ts +1 -1
  503. package/lib/ele-tree-select/index.cjs +4 -1
  504. package/lib/ele-tree-select/index.d.ts +19 -19
  505. package/lib/ele-tree-select/props.cjs +3 -1
  506. package/lib/ele-tree-select/props.d.ts +12 -8
  507. package/lib/ele-upload-list/components/list-item.cjs +144 -64
  508. package/lib/ele-upload-list/components/list-item.d.ts +31 -5
  509. package/lib/ele-upload-list/index.cjs +178 -95
  510. package/lib/ele-upload-list/index.d.ts +57 -30
  511. package/lib/ele-upload-list/props.cjs +20 -8
  512. package/lib/ele-upload-list/props.d.ts +24 -10
  513. package/lib/ele-upload-list/style/css-var.scss +8 -0
  514. package/lib/ele-upload-list/style/index.cjs +1 -1
  515. package/lib/ele-upload-list/style/index.scss +426 -132
  516. package/lib/ele-upload-list/types.d.ts +35 -11
  517. package/lib/ele-virtual-table/components/body-cell.d.ts +13 -29
  518. package/lib/ele-virtual-table/components/body-row.d.ts +13 -29
  519. package/lib/ele-virtual-table/components/cell-checkbox.d.ts +3 -2
  520. package/lib/ele-virtual-table/components/cell-filter.d.ts +6 -6
  521. package/lib/ele-virtual-table/components/footer-row.d.ts +3 -3
  522. package/lib/ele-virtual-table/components/header-cell.d.ts +8 -8
  523. package/lib/ele-virtual-table/components/header-row.d.ts +8 -8
  524. package/lib/ele-virtual-table/index.cjs +7 -5
  525. package/lib/ele-virtual-table/index.d.ts +27 -36
  526. package/lib/ele-virtual-table/props.d.ts +13 -15
  527. package/lib/ele-watermark/index.d.ts +5 -4
  528. package/lib/ele-watermark/props.d.ts +2 -1
  529. package/lib/ele-xg-player/index.d.ts +3 -3
  530. package/lib/icons/CornerLeftFilled.cjs +25 -0
  531. package/lib/icons/CornerLeftFilled.d.ts +2 -0
  532. package/lib/icons/CornerRightFilled.cjs +25 -0
  533. package/lib/icons/CornerRightFilled.d.ts +2 -0
  534. package/lib/icons/EyeOutlined.cjs +29 -0
  535. package/lib/icons/EyeOutlined.d.ts +2 -0
  536. package/lib/icons/FileOutlined.cjs +4 -4
  537. package/lib/icons/SizeCompactOutlined.cjs +33 -0
  538. package/lib/icons/SizeCompactOutlined.d.ts +2 -0
  539. package/lib/icons/SizeMiddleOutlined.cjs +33 -0
  540. package/lib/icons/SizeMiddleOutlined.d.ts +2 -0
  541. package/lib/icons/SizeSlackOutlined.cjs +33 -0
  542. package/lib/icons/SizeSlackOutlined.d.ts +2 -0
  543. package/lib/icons/index.cjs +12 -0
  544. package/lib/icons/index.d.ts +6 -0
  545. package/lib/lang/en_US.cjs +5 -1
  546. package/lib/lang/zh_CN.cjs +5 -1
  547. package/lib/lang/zh_TW.cjs +5 -1
  548. package/lib/style/plus.scss +1 -0
  549. package/lib/style/themes/default.scss +92 -9
  550. package/lib/style/themes/rounded.scss +9 -5
  551. package/lib/style/themes/theme-util.scss +4 -0
  552. package/lib/style/util.scss +10 -3
  553. package/lib/utils/core.d.ts +4 -2
  554. package/lib/utils/hook.cjs +158 -5
  555. package/lib/utils/hook.d.ts +77 -4
  556. package/lib/utils/menu-util.cjs +9 -3
  557. package/lib/utils/message-box.cjs +4 -0
  558. package/lib/utils/message.cjs +1 -1
  559. package/package.json +38 -37
  560. package/typings/global.d.ts +1 -0
  561. package/es/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  562. package/es/ele-app/style/overwrite/image-viewer/index.js +0 -1
  563. package/es/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  564. package/es/ele-tabs/components/tab-title.d.ts +0 -52
  565. package/es/ele-tabs/components/tab-title.js +0 -115
  566. package/lib/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  567. package/lib/ele-app/style/overwrite/image-viewer/index.cjs +0 -2
  568. package/lib/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  569. package/lib/ele-tabs/components/tab-title.cjs +0 -114
  570. package/lib/ele-tabs/components/tab-title.d.ts +0 -52
  571. /package/es/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
  572. /package/lib/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
@@ -1,5 +1,6 @@
1
- import { Ref } from 'vue';
2
- import { FileItem, SortValue, ItemContextMenuOption, FileListLocale } from './types';
1
+ import { EleDropdownInstance } from '../ele-app/plus';
2
+ import { DropdownItem } from '../ele-dropdown/types';
3
+ import { FileItem, SortValue, ItemContextMenuOption, ContextOpenOption, FileListLocale } from './types';
3
4
 
4
5
  declare const _default: import('vue').DefineComponent<{
5
6
  data: {
@@ -13,17 +14,14 @@ declare const _default: import('vue').DefineComponent<{
13
14
  type: BooleanConstructor;
14
15
  default: boolean;
15
16
  };
16
- sortable: BooleanConstructor; /** 鼠标选择框样式 */
17
+ sortable: BooleanConstructor;
17
18
  sort: StringConstructor;
18
19
  order: StringConstructor;
19
20
  icons: {
20
21
  type: import('vue').PropType<import('./types').IconItem[]>;
21
22
  default: () => import('./types').IconItem[];
22
23
  };
23
- smallIcons: {
24
- type: import('vue').PropType<import('./types').IconItem[]>;
25
- default: () => import('./types').IconItem[];
26
- };
24
+ smallIcons: import('vue').PropType<import('./types').IconItem[]>;
27
25
  columns: import('vue').PropType<import('./types').ColumnItem[]>;
28
26
  boxChoose: BooleanConstructor;
29
27
  contextMenus: import('vue').PropType<import('./types').ContextMenus>;
@@ -31,7 +29,29 @@ declare const _default: import('vue').DefineComponent<{
31
29
  locale: import('vue').PropType<Partial<FileListLocale>>;
32
30
  }, {
33
31
  lang: import('vue').ComputedRef<FileListLocale>;
34
- selectorStyle: Ref<Partial<import('vue').CSSProperties>>;
32
+ selectorStyle: {
33
+ top: string;
34
+ left: string;
35
+ width: string;
36
+ height: string;
37
+ display: string;
38
+ };
39
+ ctxMenuDropdownRef: import('vue').Ref<EleDropdownInstance>;
40
+ ctxMenuDropdownItems: import('vue').ShallowRef<DropdownItem[]>;
41
+ ctxMenuDropdownVirtualRef: import('vue').Ref<any>;
42
+ ctxMenuDropdownVisible: import('vue').Ref<any>;
43
+ contextMenuFileItem: import('vue').Ref<{
44
+ [x: string]: unknown;
45
+ [x: number]: unknown;
46
+ [x: symbol]: unknown;
47
+ key: string | number;
48
+ name: string;
49
+ url?: string | undefined;
50
+ thumbnail?: string | undefined;
51
+ isDirectory?: boolean | undefined;
52
+ length?: string | undefined;
53
+ updateTime?: string | undefined;
54
+ } | null | undefined>;
35
55
  isCheckAll: import('vue').ComputedRef<boolean>;
36
56
  isIndeterminate: import('vue').ComputedRef<boolean>;
37
57
  handleCheckAllChange: () => void;
@@ -39,13 +59,17 @@ declare const _default: import('vue').DefineComponent<{
39
59
  handleItemClick: (item: FileItem) => void;
40
60
  handleSortChange: (name: string) => void;
41
61
  handleItemContextMenu: (option: ItemContextMenuOption) => void;
62
+ handleItemCtxMenuClick: (key: string) => void;
63
+ handleItemCtxMenuVisible: (visible: boolean) => void;
64
+ handleItemContextOpen: (option: ContextOpenOption) => void;
42
65
  handleMousedown: (event: MouseEvent) => void;
43
66
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
44
67
  itemClick: (_item: FileItem) => boolean;
45
68
  sortChange: (_sorter: SortValue) => boolean;
46
- 'update:selections': (_selection?: FileItem[] | undefined) => boolean;
47
- 'update:current': (_current?: FileItem | null | undefined) => boolean;
69
+ 'update:selections': (_selection?: FileItem[]) => boolean;
70
+ 'update:current': (_current?: FileItem | null) => boolean;
48
71
  itemContextMenu: (_option: ItemContextMenuOption) => boolean;
72
+ itemContextOpen: (_dropdownRef: EleDropdownInstance, _item: FileItem) => boolean;
49
73
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
50
74
  data: {
51
75
  type: import('vue').PropType<FileItem[]>;
@@ -58,17 +82,14 @@ declare const _default: import('vue').DefineComponent<{
58
82
  type: BooleanConstructor;
59
83
  default: boolean;
60
84
  };
61
- sortable: BooleanConstructor; /** 鼠标选择框样式 */
85
+ sortable: BooleanConstructor;
62
86
  sort: StringConstructor;
63
87
  order: StringConstructor;
64
88
  icons: {
65
89
  type: import('vue').PropType<import('./types').IconItem[]>;
66
90
  default: () => import('./types').IconItem[];
67
91
  };
68
- smallIcons: {
69
- type: import('vue').PropType<import('./types').IconItem[]>;
70
- default: () => import('./types').IconItem[];
71
- };
92
+ smallIcons: import('vue').PropType<import('./types').IconItem[]>;
72
93
  columns: import('vue').PropType<import('./types').ColumnItem[]>;
73
94
  boxChoose: BooleanConstructor;
74
95
  contextMenus: import('vue').PropType<import('./types').ContextMenus>;
@@ -79,12 +100,12 @@ declare const _default: import('vue').DefineComponent<{
79
100
  onSortChange?: ((_sorter: SortValue) => any) | undefined;
80
101
  "onUpdate:selections"?: ((_selection?: FileItem[] | undefined) => any) | undefined;
81
102
  "onUpdate:current"?: ((_current?: FileItem | null | undefined) => any) | undefined;
103
+ onItemContextOpen?: ((_dropdownRef: EleDropdownInstance, _item: FileItem) => any) | undefined;
82
104
  onItemContextMenu?: ((_option: ItemContextMenuOption) => any) | undefined;
83
105
  }, {
84
106
  grid: boolean;
85
107
  sortable: boolean;
86
108
  icons: import('./types').IconItem[];
87
- smallIcons: import('./types').IconItem[];
88
109
  boxChoose: boolean;
89
110
  }, {}>;
90
111
  export default _default;
@@ -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
  */
@@ -1,5 +1,7 @@
1
1
  import { PropType } from 'vue';
2
+ import { StyleValue } from '../../ele-app/types';
2
3
  import { ElEmptyProps } from '../../ele-app/el';
4
+ import { EleTooltipProps } from '../../ele-app/plus';
3
5
 
4
6
  declare const _default: import('vue').DefineComponent<{
5
7
  /** 选中的图标 */
@@ -14,13 +16,13 @@ declare const _default: import('vue').DefineComponent<{
14
16
  /** 是否显示提示 */
15
17
  tooltip: BooleanConstructor;
16
18
  /** 提示属性 */
17
- tooltipProps: PropType<Partial<import('../../ele-tooltip/props').TooltipProps>>;
19
+ tooltipProps: PropType<EleTooltipProps>;
18
20
  /** 气泡是否展开 */
19
21
  popperVisible: BooleanConstructor;
20
22
  /** 网格样式 */
21
- gridStyle: PropType<Partial<import('vue').CSSProperties>>;
23
+ gridStyle: PropType<StyleValue>;
22
24
  /** 图标样式 */
23
- itemStyle: PropType<Partial<import('vue').CSSProperties>>;
25
+ itemStyle: PropType<StyleValue>;
24
26
  }, {
25
27
  tooltipVisible: import('vue').Ref<boolean>;
26
28
  tooltipContent: import('vue').Ref<string>;
@@ -44,17 +46,17 @@ declare const _default: import('vue').DefineComponent<{
44
46
  /** 是否显示提示 */
45
47
  tooltip: BooleanConstructor;
46
48
  /** 提示属性 */
47
- tooltipProps: PropType<Partial<import('../../ele-tooltip/props').TooltipProps>>;
49
+ tooltipProps: PropType<EleTooltipProps>;
48
50
  /** 气泡是否展开 */
49
51
  popperVisible: BooleanConstructor;
50
52
  /** 网格样式 */
51
- gridStyle: PropType<Partial<import('vue').CSSProperties>>;
53
+ gridStyle: PropType<StyleValue>;
52
54
  /** 图标样式 */
53
- itemStyle: PropType<Partial<import('vue').CSSProperties>>;
55
+ itemStyle: PropType<StyleValue>;
54
56
  }>> & {
55
57
  onSelect?: ((_icon: string) => any) | undefined;
56
58
  }, {
57
- popperVisible: boolean;
58
59
  tooltip: boolean;
60
+ popperVisible: boolean;
59
61
  }, {}>;
60
62
  export default _default;