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
@@ -35,20 +35,19 @@ const _sfc_main = vue.defineComponent({
35
35
  order: String,
36
36
  /** 自定义列配置 */
37
37
  columns: Array,
38
- /** 右键菜单 */
39
- contextMenus: [Array, Function],
40
- /** 右键菜单属性 */
41
- contextMenuProps: Object
38
+ /** 文件右键菜单是否打开 */
39
+ ctxMenuDropdownVisible: Boolean,
40
+ /** 当前打开的右键菜单对应的文件数据 */
41
+ contextMenuFileItem: Object
42
42
  },
43
43
  emits: {
44
44
  checkAllChange: () => true,
45
45
  itemClick: (_item) => true,
46
46
  itemCheckChange: (_item) => true,
47
- itemContextMenu: (_option) => true,
47
+ itemContextOpen: (_option) => true,
48
48
  sortChange: (_sort) => true
49
49
  },
50
50
  setup(props, { emit }) {
51
- const itemRefs = vue.ref([]);
52
51
  const tableCols = vue.computed(() => {
53
52
  if (props.columns) {
54
53
  return props.columns;
@@ -75,12 +74,6 @@ const _sfc_main = vue.defineComponent({
75
74
  ];
76
75
  return cols;
77
76
  });
78
- const getContextMenus = (item) => {
79
- if (typeof props.contextMenus === "function") {
80
- return props.contextMenus(item);
81
- }
82
- return props.contextMenus;
83
- };
84
77
  const handleCheckAllChange = () => {
85
78
  emit("checkAllChange");
86
79
  };
@@ -99,27 +92,15 @@ const _sfc_main = vue.defineComponent({
99
92
  emit("sortChange", sort);
100
93
  }
101
94
  };
102
- const handleItemContextMenu = (option) => {
103
- emit("itemContextMenu", option);
104
- };
105
- const handleItemContextOpen = (ref2) => {
106
- if (itemRefs.value) {
107
- itemRefs.value.forEach((r) => {
108
- if ((r == null ? void 0 : r.dropdownRef) && r.dropdownRef !== ref2) {
109
- r.dropdownRef.handleClose();
110
- }
111
- });
112
- }
95
+ const handleItemContextOpen = (option) => {
96
+ emit("itemContextOpen", option);
113
97
  };
114
98
  return {
115
- itemRefs,
116
99
  tableCols,
117
- getContextMenus,
118
100
  handleCheckAllChange,
119
101
  handleItemClick,
120
102
  handleItemCheckChange,
121
103
  handleSortChange,
122
- handleItemContextMenu,
123
104
  handleItemContextOpen
124
105
  };
125
106
  }
@@ -161,7 +142,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
161
142
  }, null, 2)) : vue.createCommentVNode("", true)
162
143
  ])) : vue.createCommentVNode("", true),
163
144
  vue.createElementVNode("div", {
164
- class: "ele-file-list-item-name",
145
+ class: vue.normalizeClass(["ele-file-list-item-name", { "is-sortable": _ctx.sortable }]),
165
146
  onClick: _cache[1] || (_cache[1] = ($event) => _ctx.handleSortChange("name"))
166
147
  }, [
167
148
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.nameText), 1),
@@ -171,12 +152,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
171
152
  order: _ctx.order,
172
153
  name: "name"
173
154
  }, null, 8, ["sort", "order"])) : vue.createCommentVNode("", true)
174
- ]),
155
+ ], 2),
175
156
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.tableCols, (col) => {
176
157
  return vue.openBlock(), vue.createElementBlock("div", {
177
158
  key: col.prop,
178
159
  style: vue.normalizeStyle(col.headerStyle || col.style),
179
- class: "ele-file-list-item-cell",
160
+ class: vue.normalizeClass([
161
+ "ele-file-list-item-cell",
162
+ { "is-sortable": col.sortable }
163
+ ]),
180
164
  onClick: ($event) => _ctx.handleSortChange(col.prop, col)
181
165
  }, [
182
166
  vue.createElementVNode("span", null, [
@@ -195,7 +179,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
195
179
  order: _ctx.order,
196
180
  name: col.prop
197
181
  }, null, 8, ["sort", "order", "name"])) : vue.createCommentVNode("", true)
198
- ], 12, _hoisted_5);
182
+ ], 14, _hoisted_5);
199
183
  }), 128))
200
184
  ])
201
185
  ])
@@ -204,19 +188,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
204
188
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.data, (item) => {
205
189
  return vue.openBlock(), vue.createBlock(_component_FileTableItem, {
206
190
  key: item.key,
207
- ref_for: true,
208
- ref: "itemRefs",
209
191
  item,
210
192
  selectionType: _ctx.selectionType,
211
193
  selections: _ctx.selections,
212
194
  current: _ctx.current,
213
195
  icons: _ctx.icons,
214
196
  columns: _ctx.tableCols,
215
- contextMenus: _ctx.getContextMenus(item),
216
- contextMenuProps: _ctx.contextMenuProps,
197
+ ctxMenuDropdownVisible: _ctx.ctxMenuDropdownVisible && _ctx.contextMenuFileItem === item,
217
198
  onClick: _ctx.handleItemClick,
218
199
  onCheckChange: _ctx.handleItemCheckChange,
219
- onContextMenu: _ctx.handleItemContextMenu,
220
200
  onContextOpen: _ctx.handleItemContextOpen
221
201
  }, vue.createSlots({ _: 2 }, [
222
202
  vue.renderList(Object.keys(_ctx.$slots), (name) => {
@@ -227,7 +207,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
227
207
  ])
228
208
  };
229
209
  })
230
- ]), 1032, ["item", "selectionType", "selections", "current", "icons", "columns", "contextMenus", "contextMenuProps", "onClick", "onCheckChange", "onContextMenu", "onContextOpen"]);
210
+ ]), 1032, ["item", "selectionType", "selections", "current", "icons", "columns", "ctxMenuDropdownVisible", "onClick", "onCheckChange", "onContextOpen"]);
231
211
  }), 128))
232
212
  ])
233
213
  ]),
@@ -1,7 +1,5 @@
1
- import { PropType, Ref } from 'vue';
2
- import { EleDropdownProps, EleDropdownInstance } from '../../ele-app/plus';
3
- import { TableItemInstance } from '../props';
4
- import { IconItem, FileItem, ColumnItem, ItemContextMenuOption, SelectionType, ContextMenus } from '../types';
1
+ import { PropType } from 'vue';
2
+ import { IconItem, FileItem, ColumnItem, SelectionType, ContextOpenOption } from '../types';
5
3
 
6
4
  declare const _default: import('vue').DefineComponent<{
7
5
  /** 文件数据 */
@@ -32,25 +30,22 @@ declare const _default: import('vue').DefineComponent<{
32
30
  order: StringConstructor;
33
31
  /** 自定义列配置 */
34
32
  columns: PropType<ColumnItem[]>;
35
- /** 右键菜单 */
36
- contextMenus: PropType<ContextMenus>;
37
- /** 右键菜单属性 */
38
- contextMenuProps: PropType<EleDropdownProps>;
33
+ /** 文件右键菜单是否打开 */
34
+ ctxMenuDropdownVisible: BooleanConstructor;
35
+ /** 当前打开的右键菜单对应的文件数据 */
36
+ contextMenuFileItem: PropType<FileItem | null>;
39
37
  }, {
40
- itemRefs: Ref<TableItemInstance[]>;
41
38
  tableCols: import('vue').ComputedRef<ColumnItem[]>;
42
- getContextMenus: (item: FileItem) => import('../../ele-dropdown/types').DropdownItem[] | undefined;
43
39
  handleCheckAllChange: () => void;
44
40
  handleItemClick: (item: FileItem) => void;
45
41
  handleItemCheckChange: (item: FileItem) => void;
46
42
  handleSortChange: (sort: string, col?: ColumnItem) => void;
47
- handleItemContextMenu: (option: ItemContextMenuOption) => void;
48
- handleItemContextOpen: (ref: EleDropdownInstance) => void;
43
+ handleItemContextOpen: (option: ContextOpenOption) => void;
49
44
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
50
45
  checkAllChange: () => true;
51
46
  itemClick: (_item: FileItem) => true;
52
47
  itemCheckChange: (_item: FileItem) => true;
53
- itemContextMenu: (_option: ItemContextMenuOption) => true;
48
+ itemContextOpen: (_option: ContextOpenOption) => true;
54
49
  sortChange: (_sort: string) => true;
55
50
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
56
51
  /** 文件数据 */
@@ -81,19 +76,20 @@ declare const _default: import('vue').DefineComponent<{
81
76
  order: StringConstructor;
82
77
  /** 自定义列配置 */
83
78
  columns: PropType<ColumnItem[]>;
84
- /** 右键菜单 */
85
- contextMenus: PropType<ContextMenus>;
86
- /** 右键菜单属性 */
87
- contextMenuProps: PropType<EleDropdownProps>;
79
+ /** 文件右键菜单是否打开 */
80
+ ctxMenuDropdownVisible: BooleanConstructor;
81
+ /** 当前打开的右键菜单对应的文件数据 */
82
+ contextMenuFileItem: PropType<FileItem | null>;
88
83
  }>> & {
89
84
  onItemClick?: ((_item: FileItem) => any) | undefined;
90
85
  onSortChange?: ((_sort: string) => any) | undefined;
91
86
  onCheckAllChange?: (() => any) | undefined;
92
87
  onItemCheckChange?: ((_item: FileItem) => any) | undefined;
93
- onItemContextMenu?: ((_option: ItemContextMenuOption) => any) | undefined;
88
+ onItemContextOpen?: ((_option: ContextOpenOption) => any) | undefined;
94
89
  }, {
95
90
  sortable: boolean;
96
- isIndeterminate: boolean;
91
+ ctxMenuDropdownVisible: boolean;
97
92
  isCheckAll: boolean;
93
+ isIndeterminate: boolean;
98
94
  }, {}>;
99
95
  export default _default;
@@ -2,24 +2,30 @@
2
2
  const vue = require("vue");
3
3
  const core = require("../utils/core");
4
4
  const receiver = require("../ele-config-provider/receiver");
5
+ const EleDropdown = require("../ele-dropdown/index");
5
6
  const FileGrid = require("./components/file-grid");
6
7
  const FileTable = require("./components/file-table");
7
8
  const props = require("./props");
8
9
  const GRID_ITEM_SEL = ".ele-file-list-body>.ele-file-list-item";
9
10
  const _sfc_main = vue.defineComponent({
10
11
  name: "EleFileList",
11
- components: { FileGrid, FileTable },
12
+ components: { EleDropdown, FileGrid, FileTable },
12
13
  props: props.fileListProps,
13
14
  emits: props.fileListEmits,
14
15
  setup(props2, { emit }) {
15
16
  const { lang } = receiver.useLocale("fileList", props2);
16
- const selectorStyle = vue.ref({
17
+ const selectorStyle = vue.reactive({
17
18
  top: "0px",
18
19
  left: "0px",
19
20
  width: "0px",
20
21
  height: "0px",
21
22
  display: "none"
22
23
  });
24
+ const ctxMenuDropdownRef = vue.ref(null);
25
+ const ctxMenuDropdownItems = vue.shallowRef([]);
26
+ const ctxMenuDropdownVirtualRef = vue.ref();
27
+ const ctxMenuDropdownVisible = vue.ref(false);
28
+ const contextMenuFileItem = vue.ref(null);
23
29
  const isCheckAll = vue.computed(() => {
24
30
  return !!(props2.data && props2.data.length && props2.selections && props2.selections.length && !props2.data.some(
25
31
  (d) => {
@@ -98,6 +104,62 @@ const _sfc_main = vue.defineComponent({
98
104
  const handleItemContextMenu = (option) => {
99
105
  emit("itemContextMenu", option);
100
106
  };
107
+ const handleItemCtxMenuClick = (key) => {
108
+ if (contextMenuFileItem.value != null) {
109
+ emit("itemContextMenu", { key, item: contextMenuFileItem.value });
110
+ }
111
+ };
112
+ const handleItemCtxMenuVisible = (visible) => {
113
+ ctxMenuDropdownVisible.value = visible;
114
+ if (visible && ctxMenuDropdownRef.value != null && contextMenuFileItem.value != null) {
115
+ emit(
116
+ "itemContextOpen",
117
+ ctxMenuDropdownRef.value,
118
+ contextMenuFileItem.value
119
+ );
120
+ }
121
+ };
122
+ const getContextMenus = (item) => {
123
+ if (typeof props2.contextMenus === "function") {
124
+ return props2.contextMenus(item);
125
+ }
126
+ return props2.contextMenus;
127
+ };
128
+ const hideAllDropdown = () => {
129
+ if (ctxMenuDropdownRef.value) {
130
+ ctxMenuDropdownRef.value.handleClose();
131
+ }
132
+ };
133
+ const showItemContextMenu = (item, triggerEl) => {
134
+ if (contextMenuFileItem.value != null && contextMenuFileItem.value === item) {
135
+ return;
136
+ }
137
+ hideAllDropdown();
138
+ vue.nextTick(() => {
139
+ contextMenuFileItem.value = item;
140
+ ctxMenuDropdownItems.value = getContextMenus(item) || [];
141
+ ctxMenuDropdownVirtualRef.value = triggerEl;
142
+ if (ctxMenuDropdownItems.value.length) {
143
+ vue.nextTick(() => {
144
+ ctxMenuDropdownRef.value && ctxMenuDropdownRef.value.handleOpen();
145
+ });
146
+ }
147
+ });
148
+ };
149
+ const handleItemContextOpen = (option) => {
150
+ if (props2.contextMenus == null) {
151
+ return;
152
+ }
153
+ option.e.preventDefault();
154
+ option.e.stopPropagation();
155
+ if (ctxMenuDropdownVirtualRef.value !== option.triggerEl) {
156
+ showItemContextMenu(option.item, option.triggerEl);
157
+ return;
158
+ }
159
+ if (ctxMenuDropdownItems.value.length && ctxMenuDropdownRef.value) {
160
+ ctxMenuDropdownRef.value.handleOpen();
161
+ }
162
+ };
101
163
  const handleMousedown = (event) => {
102
164
  if (!props2.boxChoose || props2.selectionType !== "checkbox") {
103
165
  return;
@@ -120,13 +182,11 @@ const _sfc_main = vue.defineComponent({
120
182
  Math.abs(moveY - downY),
121
183
  target.clientHeight - top
122
184
  );
123
- selectorStyle.value = {
124
- left: left + "px",
125
- top: top + "px",
126
- width: width + "px",
127
- height: height + "px",
128
- display: "block"
129
- };
185
+ selectorStyle.left = left + "px";
186
+ selectorStyle.top = top + "px";
187
+ selectorStyle.width = width + "px";
188
+ selectorStyle.height = height + "px";
189
+ selectorStyle.display = "block";
130
190
  if (width < 6 || height < 6) {
131
191
  items.forEach((item) => {
132
192
  item.classList.remove("is-active");
@@ -148,7 +208,7 @@ const _sfc_main = vue.defineComponent({
148
208
  });
149
209
  }, 60);
150
210
  const mouseupFn = (e) => {
151
- selectorStyle.value = { ...selectorStyle.value, display: "none" };
211
+ selectorStyle.display = "none";
152
212
  const moveX = Math.max(e.clientX, position.left);
153
213
  const moveY = Math.max(e.clientY, position.top);
154
214
  const left = Math.min(moveX, downX) - position.left;
@@ -181,9 +241,26 @@ const _sfc_main = vue.defineComponent({
181
241
  document.addEventListener("mousemove", mousemoveFn);
182
242
  document.addEventListener("mouseup", mouseupFn);
183
243
  };
244
+ vue.watch(
245
+ [() => props2.grid, () => props2.data],
246
+ () => {
247
+ hideAllDropdown();
248
+ ctxMenuDropdownVirtualRef.value = null;
249
+ contextMenuFileItem.value = null;
250
+ },
251
+ { deep: true }
252
+ );
253
+ vue.onBeforeUnmount(() => {
254
+ contextMenuFileItem.value = null;
255
+ });
184
256
  return {
185
257
  lang,
186
258
  selectorStyle,
259
+ ctxMenuDropdownRef,
260
+ ctxMenuDropdownItems,
261
+ ctxMenuDropdownVirtualRef,
262
+ ctxMenuDropdownVisible,
263
+ contextMenuFileItem,
187
264
  isCheckAll,
188
265
  isIndeterminate,
189
266
  handleCheckAllChange,
@@ -191,6 +268,9 @@ const _sfc_main = vue.defineComponent({
191
268
  handleItemClick,
192
269
  handleSortChange,
193
270
  handleItemContextMenu,
271
+ handleItemCtxMenuClick,
272
+ handleItemCtxMenuVisible,
273
+ handleItemContextOpen,
194
274
  handleMousedown
195
275
  };
196
276
  }
@@ -205,6 +285,7 @@ const _export_sfc = (sfc, props2) => {
205
285
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
206
286
  const _component_FileGrid = vue.resolveComponent("FileGrid");
207
287
  const _component_FileTable = vue.resolveComponent("FileTable");
288
+ const _component_EleDropdown = vue.resolveComponent("EleDropdown");
208
289
  return vue.openBlock(), vue.createElementBlock("div", {
209
290
  class: "ele-file-list-group",
210
291
  onMousedown: _cache[0] || (_cache[0] = (...args) => _ctx.handleMousedown && _ctx.handleMousedown(...args))
@@ -220,12 +301,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
220
301
  isIndeterminate: _ctx.isIndeterminate,
221
302
  checkAllText: _ctx.lang.selectAll,
222
303
  selectedText: _ctx.lang.selectTips,
223
- contextMenus: _ctx.contextMenus,
224
- contextMenuProps: _ctx.contextMenuProps,
304
+ ctxMenuDropdownVisible: _ctx.ctxMenuDropdownVisible,
305
+ contextMenuFileItem: _ctx.contextMenuFileItem,
225
306
  onCheckAllChange: _ctx.handleCheckAllChange,
226
307
  onItemClick: _ctx.handleItemClick,
227
308
  onItemCheckChange: _ctx.handleItemCheckChange,
228
- onItemContextMenu: _ctx.handleItemContextMenu
309
+ onItemContextOpen: _ctx.handleItemContextOpen
229
310
  }, vue.createSlots({ _: 2 }, [
230
311
  vue.renderList(Object.keys(_ctx.$slots), (name) => {
231
312
  return {
@@ -235,7 +316,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
235
316
  ])
236
317
  };
237
318
  })
238
- ]), 1032, ["data", "icons", "selectionType", "selections", "current", "isCheckAll", "isIndeterminate", "checkAllText", "selectedText", "contextMenus", "contextMenuProps", "onCheckAllChange", "onItemClick", "onItemCheckChange", "onItemContextMenu"])) : (vue.openBlock(), vue.createBlock(_component_FileTable, {
319
+ ]), 1032, ["data", "icons", "selectionType", "selections", "current", "isCheckAll", "isIndeterminate", "checkAllText", "selectedText", "ctxMenuDropdownVisible", "contextMenuFileItem", "onCheckAllChange", "onItemClick", "onItemCheckChange", "onItemContextOpen"])) : (vue.openBlock(), vue.createBlock(_component_FileTable, {
239
320
  key: 1,
240
321
  data: _ctx.data,
241
322
  icons: _ctx.icons,
@@ -251,12 +332,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
251
332
  sort: _ctx.sort,
252
333
  order: _ctx.order,
253
334
  columns: _ctx.columns,
254
- contextMenus: _ctx.contextMenus,
255
- contextMenuProps: _ctx.contextMenuProps,
335
+ ctxMenuDropdownVisible: _ctx.ctxMenuDropdownVisible,
336
+ contextMenuFileItem: _ctx.contextMenuFileItem,
256
337
  onCheckAllChange: _ctx.handleCheckAllChange,
257
338
  onItemClick: _ctx.handleItemClick,
258
339
  onItemCheckChange: _ctx.handleItemCheckChange,
259
- onItemContextMenu: _ctx.handleItemContextMenu,
340
+ onItemContextOpen: _ctx.handleItemContextOpen,
260
341
  onSortChange: _ctx.handleSortChange
261
342
  }, vue.createSlots({ _: 2 }, [
262
343
  vue.renderList(Object.keys(_ctx.$slots), (name) => {
@@ -267,11 +348,28 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
267
348
  ])
268
349
  };
269
350
  })
270
- ]), 1032, ["data", "icons", "selectionType", "selections", "current", "isCheckAll", "isIndeterminate", "nameText", "sizeText", "timeText", "sortable", "sort", "order", "columns", "contextMenus", "contextMenuProps", "onCheckAllChange", "onItemClick", "onItemCheckChange", "onItemContextMenu", "onSortChange"])),
351
+ ]), 1032, ["data", "icons", "selectionType", "selections", "current", "isCheckAll", "isIndeterminate", "nameText", "sizeText", "timeText", "sortable", "sort", "order", "columns", "ctxMenuDropdownVisible", "contextMenuFileItem", "onCheckAllChange", "onItemClick", "onItemCheckChange", "onItemContextOpen", "onSortChange"])),
271
352
  vue.createElementVNode("div", {
272
353
  class: "ele-file-list-selector",
273
354
  style: vue.normalizeStyle(_ctx.selectorStyle)
274
- }, null, 4)
355
+ }, null, 4),
356
+ _ctx.contextMenus ? (vue.openBlock(), vue.createBlock(_component_EleDropdown, vue.mergeProps({
357
+ key: 2,
358
+ persistent: false,
359
+ placement: "bottom-start",
360
+ popperClass: "ele-file-list-item-context"
361
+ }, _ctx.contextMenuProps || {}, {
362
+ ref: "ctxMenuDropdownRef",
363
+ componentType: "pro",
364
+ preventContextmenu: true,
365
+ trigger: "click",
366
+ virtualTriggering: true,
367
+ virtualRef: _ctx.ctxMenuDropdownVirtualRef,
368
+ disabled: !_ctx.ctxMenuDropdownItems.length,
369
+ items: _ctx.ctxMenuDropdownItems,
370
+ onCommand: _ctx.handleItemCtxMenuClick,
371
+ onVisibleChange: _ctx.handleItemCtxMenuVisible
372
+ }), null, 16, ["virtualRef", "disabled", "items", "onCommand", "onVisibleChange"])) : vue.createCommentVNode("", true)
275
373
  ], 32);
276
374
  }
277
375
  const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
@@ -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;
@@ -32,12 +32,7 @@ const fileListProps = {
32
32
  }
33
33
  },
34
34
  /** 表格模式后缀对应图标 */
35
- smallIcons: {
36
- type: Array,
37
- default: () => {
38
- return icons.smallIcons;
39
- }
40
- },
35
+ smallIcons: Array,
41
36
  /** 表格模式自定义列配置 */
42
37
  columns: Array,
43
38
  /** 多选时是否支持鼠标框选 */
@@ -59,7 +54,9 @@ const fileListEmits = {
59
54
  /** 更新单选选中数据 */
60
55
  "update:current": (_current) => true,
61
56
  /** item 右键菜单项点击事件 */
62
- itemContextMenu: (_option) => true
57
+ itemContextMenu: (_option) => true,
58
+ /** item 右键菜单打开事件 */
59
+ itemContextOpen: (_dropdownRef, _item) => true
63
60
  };
64
61
  exports.fileListEmits = fileListEmits;
65
62
  exports.fileListProps = fileListProps;
@@ -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 实例
@@ -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
  }