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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/es/core-components.d.ts +1 -0
  2. package/es/core-components.js +60 -58
  3. package/es/ele-admin-layout/components/layout-tabs.d.ts +1 -6
  4. package/es/ele-admin-layout/components/layout-tabs.js +18 -76
  5. package/es/ele-admin-layout/index.js +7 -2
  6. package/es/ele-admin-layout/types.d.ts +2 -0
  7. package/es/ele-app/el.d.ts +3 -0
  8. package/es/ele-app/plus.d.ts +21 -0
  9. package/es/ele-app/style/overwrite/css-var.scss +0 -2
  10. package/es/ele-app/style/overwrite/date-picker/index.scss +13 -11
  11. package/es/ele-app/style/overwrite/index.js +0 -1
  12. package/es/ele-app/style/overwrite/index.scss +0 -1
  13. package/es/ele-app/style/scrollbar/css-var.scss +17 -16
  14. package/es/ele-app/types.d.ts +8 -1
  15. package/es/ele-basic-select/index.d.ts +2 -2
  16. package/es/ele-bottom-bar/index.d.ts +9 -2
  17. package/es/ele-bottom-bar/index.js +37 -15
  18. package/es/ele-bottom-bar/props.d.ts +2 -0
  19. package/es/ele-bottom-bar/props.js +3 -1
  20. package/es/ele-bottom-bar/style/index.scss +5 -0
  21. package/es/ele-check-card/index.d.ts +2 -2
  22. package/es/ele-cropper/components/cropper-tools.d.ts +9 -3
  23. package/es/ele-cropper/components/cropper-tools.js +42 -14
  24. package/es/ele-cropper/index.d.ts +3 -1
  25. package/es/ele-cropper/index.js +2 -1
  26. package/es/ele-cropper/props.d.ts +3 -1
  27. package/es/ele-cropper/props.js +2 -0
  28. package/es/ele-cropper/style/index.scss +3 -2
  29. package/es/ele-cropper/types.d.ts +16 -0
  30. package/es/ele-cropper-modal/index.d.ts +3 -1
  31. package/es/ele-cropper-modal/index.js +2 -1
  32. package/es/ele-cropper-modal/props.d.ts +1 -0
  33. package/es/ele-data-table/components/table-columns.d.ts +32 -0
  34. package/es/ele-data-table/components/table-columns.js +124 -0
  35. package/es/ele-data-table/index.d.ts +327 -23
  36. package/es/ele-data-table/index.js +202 -120
  37. package/es/ele-data-table/props.d.ts +14 -18
  38. package/es/ele-data-table/style/index.scss +0 -4
  39. package/es/ele-data-table/types.d.ts +5 -2
  40. package/es/ele-data-table/util.d.ts +1 -45
  41. package/es/ele-data-table/util.js +2 -110
  42. package/es/ele-drawer/index.d.ts +9 -8
  43. package/es/ele-drawer/index.js +8 -2
  44. package/es/ele-drawer/props.d.ts +2 -2
  45. package/es/ele-dropdown/components/dropdown-menu-item.d.ts +39 -0
  46. package/es/ele-dropdown/components/dropdown-menu-item.js +132 -0
  47. package/es/ele-dropdown/components/dropdown-menus.d.ts +44 -0
  48. package/es/ele-dropdown/components/dropdown-menus.js +111 -0
  49. package/es/ele-dropdown/components/pro-dropdown.d.ts +238 -0
  50. package/es/ele-dropdown/components/pro-dropdown.js +205 -0
  51. package/es/ele-dropdown/index.d.ts +521 -33
  52. package/es/ele-dropdown/index.js +147 -66
  53. package/es/ele-dropdown/props.d.ts +109 -15
  54. package/es/ele-dropdown/props.js +54 -7
  55. package/es/ele-dropdown/style/index.js +4 -1
  56. package/es/ele-dropdown/style/index.scss +226 -7
  57. package/es/ele-dropdown/types.d.ts +2 -2
  58. package/es/ele-edit-tag/index.d.ts +2 -2
  59. package/es/ele-file-list/components/file-grid-item.d.ts +11 -20
  60. package/es/ele-file-list/components/file-grid-item.js +19 -58
  61. package/es/ele-file-list/components/file-grid.d.ts +15 -19
  62. package/es/ele-file-list/components/file-grid.js +16 -39
  63. package/es/ele-file-list/components/file-table-item.d.ts +11 -20
  64. package/es/ele-file-list/components/file-table-item.js +19 -58
  65. package/es/ele-file-list/components/file-table.d.ts +15 -19
  66. package/es/ele-file-list/components/file-table.js +17 -37
  67. package/es/ele-file-list/index.d.ts +33 -12
  68. package/es/ele-file-list/index.js +118 -20
  69. package/es/ele-file-list/props.d.ts +4 -5
  70. package/es/ele-file-list/props.js +5 -8
  71. package/es/ele-file-list/style/index.scss +10 -5
  72. package/es/ele-file-list/types.d.ts +13 -1
  73. package/es/ele-icon-select/components/icon-grid.d.ts +1 -1
  74. package/es/ele-icon-select/index.d.ts +2 -2
  75. package/es/ele-image-viewer/index.d.ts +120 -0
  76. package/es/ele-image-viewer/index.js +88 -0
  77. package/es/ele-image-viewer/props.d.ts +58 -0
  78. package/es/ele-image-viewer/props.js +35 -0
  79. package/es/ele-image-viewer/style/css-var.scss +8 -0
  80. package/es/ele-image-viewer/style/index.js +2 -0
  81. package/es/ele-image-viewer/style/index.scss +117 -0
  82. package/es/ele-map-picker/components/map-view.d.ts +18 -18
  83. package/es/ele-menus/components/item-title.d.ts +48 -0
  84. package/es/ele-menus/components/item-title.js +108 -0
  85. package/es/ele-menus/components/menu-items.d.ts +78 -0
  86. package/es/ele-menus/components/menu-items.js +269 -0
  87. package/es/ele-menus/index.d.ts +77 -18
  88. package/es/ele-menus/index.js +280 -210
  89. package/es/ele-menus/props.d.ts +2 -2
  90. package/es/ele-menus/util.d.ts +1 -62
  91. package/es/ele-menus/util.js +3 -244
  92. package/es/ele-modal/index.d.ts +9 -9
  93. package/es/ele-modal/props.d.ts +2 -2
  94. package/es/ele-modal/util.d.ts +1 -1
  95. package/es/ele-modal/util.js +8 -4
  96. package/es/ele-pagination/index.d.ts +2 -2
  97. package/es/ele-pagination/props.d.ts +1 -1
  98. package/es/ele-popconfirm/index.d.ts +11 -14
  99. package/es/ele-popconfirm/index.js +31 -24
  100. package/es/ele-popconfirm/props.d.ts +3 -4
  101. package/es/ele-popover/index.d.ts +11 -14
  102. package/es/ele-popover/props.d.ts +0 -1
  103. package/es/ele-popover/props.js +1 -1
  104. package/es/ele-printer/util.js +1 -1
  105. package/es/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  106. package/es/ele-pro-layout/components/pro-iframe.js +6 -4
  107. package/es/ele-pro-layout/index.d.ts +1 -1
  108. package/es/ele-pro-layout/index.js +20 -6
  109. package/es/ele-pro-layout/props.d.ts +3 -3
  110. package/es/ele-pro-layout/props.js +3 -3
  111. package/es/ele-pro-layout/types.d.ts +9 -5
  112. package/es/ele-pro-layout/util.d.ts +6 -0
  113. package/es/ele-pro-layout/util.js +12 -0
  114. package/es/ele-pro-table/components/table-tools.d.ts +25 -26
  115. package/es/ele-pro-table/components/table-tools.js +26 -18
  116. package/es/ele-pro-table/components/tool-column.d.ts +7 -7
  117. package/es/ele-pro-table/components/tool-column.js +4 -4
  118. package/es/ele-pro-table/components/tool-export.d.ts +5 -5
  119. package/es/ele-pro-table/components/tool-print-body-cell.js +1 -1
  120. package/es/ele-pro-table/components/tool-print-header-cell.js +3 -2
  121. package/es/ele-pro-table/components/tool-print.d.ts +5 -5
  122. package/es/ele-pro-table/index.d.ts +71 -85
  123. package/es/ele-pro-table/index.js +19 -23
  124. package/es/ele-pro-table/props.d.ts +9 -11
  125. package/es/ele-pro-table/props.js +1 -1
  126. package/es/ele-segmented/index.d.ts +3 -1
  127. package/es/ele-segmented/index.js +27 -3
  128. package/es/ele-segmented/style/index.scss +7 -1
  129. package/es/ele-steps/index.d.ts +12 -12
  130. package/es/ele-steps/props.d.ts +3 -3
  131. package/es/ele-tab-tool/index.d.ts +6 -1
  132. package/es/ele-tab-tool/index.js +44 -3
  133. package/es/ele-tab-tool/props.d.ts +2 -0
  134. package/es/ele-tab-tool/props.js +3 -1
  135. package/es/ele-tab-wrap/components/tab-dropdown.js +9 -26
  136. package/es/ele-tab-wrap/index.js +21 -2
  137. package/es/ele-table/style/index.scss +1 -2
  138. package/es/ele-table-select/index.d.ts +6 -6
  139. package/es/ele-tabs/index.d.ts +21 -19
  140. package/es/ele-tabs/index.js +240 -115
  141. package/es/ele-tabs/props.d.ts +1 -6
  142. package/es/ele-tabs/props.js +1 -1
  143. package/es/ele-tabs/style/index.scss +152 -176
  144. package/es/ele-tabs/types.d.ts +29 -6
  145. package/es/ele-tool/index.js +6 -1
  146. package/es/ele-toolbar/index.d.ts +9 -9
  147. package/es/ele-tooltip/index.d.ts +15 -15
  148. package/es/ele-tooltip/props.d.ts +2 -2
  149. package/es/ele-tooltip/style/css-var.scss +4 -0
  150. package/es/ele-tree-select/index.d.ts +5 -5
  151. package/es/ele-upload-list/components/list-item.d.ts +31 -5
  152. package/es/ele-upload-list/components/list-item.js +146 -66
  153. package/es/ele-upload-list/index.d.ts +55 -26
  154. package/es/ele-upload-list/index.js +180 -97
  155. package/es/ele-upload-list/props.d.ts +22 -9
  156. package/es/ele-upload-list/props.js +20 -8
  157. package/es/ele-upload-list/style/css-var.scss +8 -0
  158. package/es/ele-upload-list/style/index.js +1 -1
  159. package/es/ele-upload-list/style/index.scss +425 -135
  160. package/es/ele-upload-list/types.d.ts +35 -11
  161. package/es/ele-virtual-table/components/body-cell.d.ts +2 -2
  162. package/es/ele-virtual-table/components/header-cell.d.ts +1 -1
  163. package/es/ele-virtual-table/components/header-row.d.ts +1 -1
  164. package/es/ele-virtual-table/index.d.ts +14 -22
  165. package/es/ele-virtual-table/index.js +8 -6
  166. package/es/ele-virtual-table/props.d.ts +6 -8
  167. package/es/icons/CornerLeftFilled.d.ts +2 -0
  168. package/es/icons/CornerLeftFilled.js +26 -0
  169. package/es/icons/CornerRightFilled.d.ts +2 -0
  170. package/es/icons/CornerRightFilled.js +26 -0
  171. package/es/icons/EyeOutlined.d.ts +2 -0
  172. package/es/icons/EyeOutlined.js +30 -0
  173. package/es/icons/FileOutlined.js +4 -4
  174. package/es/icons/SizeCompactOutlined.js +4 -4
  175. package/es/icons/SizeMiddleOutlined.d.ts +2 -0
  176. package/es/icons/SizeMiddleOutlined.js +34 -0
  177. package/es/icons/SizeSlackOutlined.js +4 -4
  178. package/es/icons/index.d.ts +4 -0
  179. package/es/icons/index.js +162 -154
  180. package/es/lang/en_US.js +4 -1
  181. package/es/lang/zh_CN.js +4 -1
  182. package/es/lang/zh_TW.js +4 -1
  183. package/es/style/plus.scss +1 -0
  184. package/es/style/themes/default.scss +84 -6
  185. package/es/style/themes/rounded.scss +6 -3
  186. package/es/style/themes/theme-util.scss +4 -0
  187. package/es/style/util.scss +10 -3
  188. package/es/utils/core.d.ts +4 -2
  189. package/es/utils/hook.d.ts +2 -0
  190. package/es/utils/hook.js +5 -1
  191. package/es/utils/menu-util.js +11 -5
  192. package/es/utils/message-box.js +5 -1
  193. package/es/utils/message.js +2 -2
  194. package/lib/core-components.cjs +60 -58
  195. package/lib/core-components.d.ts +1 -0
  196. package/lib/ele-admin-layout/components/layout-tabs.cjs +17 -75
  197. package/lib/ele-admin-layout/components/layout-tabs.d.ts +1 -6
  198. package/lib/ele-admin-layout/index.cjs +7 -2
  199. package/lib/ele-admin-layout/types.d.ts +2 -0
  200. package/lib/ele-app/el.d.ts +3 -0
  201. package/lib/ele-app/plus.d.ts +21 -0
  202. package/lib/ele-app/style/overwrite/css-var.scss +0 -2
  203. package/lib/ele-app/style/overwrite/date-picker/index.scss +13 -11
  204. package/lib/ele-app/style/overwrite/index.cjs +0 -1
  205. package/lib/ele-app/style/overwrite/index.scss +0 -1
  206. package/lib/ele-app/style/scrollbar/css-var.scss +17 -16
  207. package/lib/ele-app/types.d.ts +8 -1
  208. package/lib/ele-basic-select/index.d.ts +2 -2
  209. package/lib/ele-bottom-bar/index.cjs +36 -14
  210. package/lib/ele-bottom-bar/index.d.ts +9 -2
  211. package/lib/ele-bottom-bar/props.cjs +3 -1
  212. package/lib/ele-bottom-bar/props.d.ts +2 -0
  213. package/lib/ele-bottom-bar/style/index.scss +5 -0
  214. package/lib/ele-check-card/index.d.ts +2 -2
  215. package/lib/ele-cropper/components/cropper-tools.cjs +41 -13
  216. package/lib/ele-cropper/components/cropper-tools.d.ts +9 -3
  217. package/lib/ele-cropper/index.cjs +2 -1
  218. package/lib/ele-cropper/index.d.ts +3 -1
  219. package/lib/ele-cropper/props.cjs +2 -0
  220. package/lib/ele-cropper/props.d.ts +3 -1
  221. package/lib/ele-cropper/style/index.scss +3 -2
  222. package/lib/ele-cropper/types.d.ts +16 -0
  223. package/lib/ele-cropper-modal/index.cjs +2 -1
  224. package/lib/ele-cropper-modal/index.d.ts +3 -1
  225. package/lib/ele-cropper-modal/props.d.ts +1 -0
  226. package/lib/ele-data-table/components/table-columns.cjs +123 -0
  227. package/lib/ele-data-table/components/table-columns.d.ts +32 -0
  228. package/lib/ele-data-table/index.cjs +199 -117
  229. package/lib/ele-data-table/index.d.ts +327 -23
  230. package/lib/ele-data-table/props.d.ts +14 -18
  231. package/lib/ele-data-table/style/index.scss +0 -4
  232. package/lib/ele-data-table/types.d.ts +5 -2
  233. package/lib/ele-data-table/util.cjs +0 -108
  234. package/lib/ele-data-table/util.d.ts +1 -45
  235. package/lib/ele-drawer/index.cjs +8 -2
  236. package/lib/ele-drawer/index.d.ts +9 -8
  237. package/lib/ele-drawer/props.d.ts +2 -2
  238. package/lib/ele-dropdown/components/dropdown-menu-item.cjs +131 -0
  239. package/lib/ele-dropdown/components/dropdown-menu-item.d.ts +39 -0
  240. package/lib/ele-dropdown/components/dropdown-menus.cjs +110 -0
  241. package/lib/ele-dropdown/components/dropdown-menus.d.ts +44 -0
  242. package/lib/ele-dropdown/components/pro-dropdown.cjs +204 -0
  243. package/lib/ele-dropdown/components/pro-dropdown.d.ts +238 -0
  244. package/lib/ele-dropdown/index.cjs +149 -68
  245. package/lib/ele-dropdown/index.d.ts +521 -33
  246. package/lib/ele-dropdown/props.cjs +53 -6
  247. package/lib/ele-dropdown/props.d.ts +109 -15
  248. package/lib/ele-dropdown/style/index.cjs +4 -1
  249. package/lib/ele-dropdown/style/index.scss +226 -7
  250. package/lib/ele-dropdown/types.d.ts +2 -2
  251. package/lib/ele-edit-tag/index.d.ts +2 -2
  252. package/lib/ele-file-list/components/file-grid-item.cjs +18 -57
  253. package/lib/ele-file-list/components/file-grid-item.d.ts +11 -20
  254. package/lib/ele-file-list/components/file-grid.cjs +15 -38
  255. package/lib/ele-file-list/components/file-grid.d.ts +15 -19
  256. package/lib/ele-file-list/components/file-table-item.cjs +18 -57
  257. package/lib/ele-file-list/components/file-table-item.d.ts +11 -20
  258. package/lib/ele-file-list/components/file-table.cjs +16 -36
  259. package/lib/ele-file-list/components/file-table.d.ts +15 -19
  260. package/lib/ele-file-list/index.cjs +117 -19
  261. package/lib/ele-file-list/index.d.ts +33 -12
  262. package/lib/ele-file-list/props.cjs +4 -7
  263. package/lib/ele-file-list/props.d.ts +4 -5
  264. package/lib/ele-file-list/style/index.scss +10 -5
  265. package/lib/ele-file-list/types.d.ts +13 -1
  266. package/lib/ele-icon-select/components/icon-grid.d.ts +1 -1
  267. package/lib/ele-icon-select/index.d.ts +2 -2
  268. package/lib/ele-image-viewer/index.cjs +87 -0
  269. package/lib/ele-image-viewer/index.d.ts +120 -0
  270. package/lib/ele-image-viewer/props.cjs +35 -0
  271. package/lib/ele-image-viewer/props.d.ts +58 -0
  272. package/lib/ele-image-viewer/style/css-var.scss +8 -0
  273. package/lib/ele-image-viewer/style/index.cjs +3 -0
  274. package/lib/ele-image-viewer/style/index.scss +117 -0
  275. package/lib/ele-map-picker/components/map-view.d.ts +18 -18
  276. package/lib/ele-menus/components/item-title.cjs +107 -0
  277. package/lib/ele-menus/components/item-title.d.ts +48 -0
  278. package/lib/ele-menus/components/menu-items.cjs +268 -0
  279. package/lib/ele-menus/components/menu-items.d.ts +78 -0
  280. package/lib/ele-menus/index.cjs +278 -208
  281. package/lib/ele-menus/index.d.ts +77 -18
  282. package/lib/ele-menus/props.d.ts +2 -2
  283. package/lib/ele-menus/util.cjs +1 -242
  284. package/lib/ele-menus/util.d.ts +1 -62
  285. package/lib/ele-modal/index.d.ts +9 -9
  286. package/lib/ele-modal/props.d.ts +2 -2
  287. package/lib/ele-modal/util.cjs +8 -4
  288. package/lib/ele-modal/util.d.ts +1 -1
  289. package/lib/ele-pagination/index.d.ts +2 -2
  290. package/lib/ele-pagination/props.d.ts +1 -1
  291. package/lib/ele-popconfirm/index.cjs +31 -24
  292. package/lib/ele-popconfirm/index.d.ts +11 -14
  293. package/lib/ele-popconfirm/props.d.ts +3 -4
  294. package/lib/ele-popover/index.d.ts +11 -14
  295. package/lib/ele-popover/props.cjs +1 -1
  296. package/lib/ele-popover/props.d.ts +0 -1
  297. package/lib/ele-printer/util.cjs +1 -1
  298. package/lib/ele-pro-layout/components/pro-iframe.cjs +6 -4
  299. package/lib/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  300. package/lib/ele-pro-layout/index.cjs +19 -5
  301. package/lib/ele-pro-layout/index.d.ts +1 -1
  302. package/lib/ele-pro-layout/props.cjs +3 -3
  303. package/lib/ele-pro-layout/props.d.ts +3 -3
  304. package/lib/ele-pro-layout/types.d.ts +9 -5
  305. package/lib/ele-pro-layout/util.cjs +12 -0
  306. package/lib/ele-pro-layout/util.d.ts +6 -0
  307. package/lib/ele-pro-table/components/table-tools.cjs +24 -16
  308. package/lib/ele-pro-table/components/table-tools.d.ts +25 -26
  309. package/lib/ele-pro-table/components/tool-column.cjs +4 -4
  310. package/lib/ele-pro-table/components/tool-column.d.ts +7 -7
  311. package/lib/ele-pro-table/components/tool-export.d.ts +5 -5
  312. package/lib/ele-pro-table/components/tool-print-body-cell.cjs +1 -1
  313. package/lib/ele-pro-table/components/tool-print-header-cell.cjs +3 -2
  314. package/lib/ele-pro-table/components/tool-print.d.ts +5 -5
  315. package/lib/ele-pro-table/index.cjs +17 -21
  316. package/lib/ele-pro-table/index.d.ts +71 -85
  317. package/lib/ele-pro-table/props.cjs +1 -1
  318. package/lib/ele-pro-table/props.d.ts +9 -11
  319. package/lib/ele-segmented/index.cjs +26 -2
  320. package/lib/ele-segmented/index.d.ts +3 -1
  321. package/lib/ele-segmented/style/index.scss +7 -1
  322. package/lib/ele-steps/index.d.ts +12 -12
  323. package/lib/ele-steps/props.d.ts +3 -3
  324. package/lib/ele-tab-tool/index.cjs +43 -2
  325. package/lib/ele-tab-tool/index.d.ts +6 -1
  326. package/lib/ele-tab-tool/props.cjs +3 -1
  327. package/lib/ele-tab-tool/props.d.ts +2 -0
  328. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +8 -25
  329. package/lib/ele-tab-wrap/index.cjs +20 -1
  330. package/lib/ele-table/style/index.scss +1 -2
  331. package/lib/ele-table-select/index.d.ts +6 -6
  332. package/lib/ele-tabs/index.cjs +238 -113
  333. package/lib/ele-tabs/index.d.ts +21 -19
  334. package/lib/ele-tabs/props.cjs +1 -1
  335. package/lib/ele-tabs/props.d.ts +1 -6
  336. package/lib/ele-tabs/style/index.scss +152 -176
  337. package/lib/ele-tabs/types.d.ts +29 -6
  338. package/lib/ele-tool/index.cjs +6 -1
  339. package/lib/ele-toolbar/index.d.ts +9 -9
  340. package/lib/ele-tooltip/index.d.ts +15 -15
  341. package/lib/ele-tooltip/props.d.ts +2 -2
  342. package/lib/ele-tooltip/style/css-var.scss +4 -0
  343. package/lib/ele-tree-select/index.d.ts +5 -5
  344. package/lib/ele-upload-list/components/list-item.cjs +144 -64
  345. package/lib/ele-upload-list/components/list-item.d.ts +31 -5
  346. package/lib/ele-upload-list/index.cjs +178 -95
  347. package/lib/ele-upload-list/index.d.ts +55 -26
  348. package/lib/ele-upload-list/props.cjs +20 -8
  349. package/lib/ele-upload-list/props.d.ts +22 -9
  350. package/lib/ele-upload-list/style/css-var.scss +8 -0
  351. package/lib/ele-upload-list/style/index.cjs +1 -1
  352. package/lib/ele-upload-list/style/index.scss +425 -135
  353. package/lib/ele-upload-list/types.d.ts +35 -11
  354. package/lib/ele-virtual-table/components/body-cell.d.ts +2 -2
  355. package/lib/ele-virtual-table/components/header-cell.d.ts +1 -1
  356. package/lib/ele-virtual-table/components/header-row.d.ts +1 -1
  357. package/lib/ele-virtual-table/index.cjs +7 -5
  358. package/lib/ele-virtual-table/index.d.ts +14 -22
  359. package/lib/ele-virtual-table/props.d.ts +6 -8
  360. package/lib/icons/CornerLeftFilled.cjs +25 -0
  361. package/lib/icons/CornerLeftFilled.d.ts +2 -0
  362. package/lib/icons/CornerRightFilled.cjs +25 -0
  363. package/lib/icons/CornerRightFilled.d.ts +2 -0
  364. package/lib/icons/EyeOutlined.cjs +29 -0
  365. package/lib/icons/EyeOutlined.d.ts +2 -0
  366. package/lib/icons/FileOutlined.cjs +4 -4
  367. package/lib/icons/SizeCompactOutlined.cjs +4 -4
  368. package/lib/icons/SizeMiddleOutlined.cjs +33 -0
  369. package/lib/icons/SizeMiddleOutlined.d.ts +2 -0
  370. package/lib/icons/SizeSlackOutlined.cjs +4 -4
  371. package/lib/icons/index.cjs +8 -0
  372. package/lib/icons/index.d.ts +4 -0
  373. package/lib/lang/en_US.cjs +4 -1
  374. package/lib/lang/zh_CN.cjs +4 -1
  375. package/lib/lang/zh_TW.cjs +4 -1
  376. package/lib/style/plus.scss +1 -0
  377. package/lib/style/themes/default.scss +84 -6
  378. package/lib/style/themes/rounded.scss +6 -3
  379. package/lib/style/themes/theme-util.scss +4 -0
  380. package/lib/style/util.scss +10 -3
  381. package/lib/utils/core.d.ts +4 -2
  382. package/lib/utils/hook.cjs +5 -1
  383. package/lib/utils/hook.d.ts +2 -0
  384. package/lib/utils/menu-util.cjs +9 -3
  385. package/lib/utils/message-box.cjs +4 -0
  386. package/lib/utils/message.cjs +1 -1
  387. package/package.json +36 -36
  388. package/typings/global.d.ts +1 -0
  389. package/es/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  390. package/es/ele-app/style/overwrite/image-viewer/index.js +0 -1
  391. package/es/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  392. package/es/ele-tabs/components/tab-title.d.ts +0 -52
  393. package/es/ele-tabs/components/tab-title.js +0 -115
  394. package/lib/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  395. package/lib/ele-app/style/overwrite/image-viewer/index.cjs +0 -2
  396. package/lib/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  397. package/lib/ele-tabs/components/tab-title.cjs +0 -114
  398. package/lib/ele-tabs/components/tab-title.d.ts +0 -52
  399. /package/es/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
  400. /package/lib/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
@@ -4,22 +4,202 @@
4
4
 
5
5
  @include set-dropdown-var($ele);
6
6
 
7
- .el-dropdown.ele-dropdown-trigger {
8
- color: inherit;
9
- font-size: inherit;
10
- line-height: inherit;
11
- }
12
-
13
7
  .ele-dropdown-trigger > .el-tooltip__trigger {
14
8
  outline: none;
15
9
  }
16
10
 
17
11
  .ele-dropdown {
18
- & > .el-scrollbar {
12
+ &.ele-popper.ele-popover {
13
+ min-width: auto;
14
+ width: max-content;
15
+ }
16
+
17
+ & > .el-scrollbar,
18
+ & > .ele-dropdown-wrapper {
19
19
  background: inherit;
20
20
  border-radius: inherit;
21
21
  }
22
+ }
23
+
24
+ .ele-dropdown-menu {
25
+ padding: eleVar('dropdown', 'padding');
26
+ box-sizing: border-box;
27
+ }
28
+
29
+ .ele-dropdown-menu-item {
30
+ display: flex;
31
+ align-items: center;
32
+ height: eleVar('dropdown', 'item-height');
33
+ line-height: eleVar('dropdown', 'item-height');
34
+ color: eleVar('dropdown', 'item-color');
35
+ font-size: eleVar('dropdown', 'item-font-size');
36
+ padding: eleVar('dropdown', 'item-padding');
37
+ border-radius: eleVar('dropdown', 'item-radius');
38
+ transition: (color $transition-base, background-color $transition-base);
39
+ box-sizing: border-box;
40
+ position: relative;
41
+ cursor: pointer;
42
+
43
+ & + .ele-dropdown-menu-item {
44
+ margin-top: eleVar('dropdown', 'item-margin');
45
+ }
46
+
47
+ & > .el-icon {
48
+ font-size: eleVar('dropdown', 'icon-size');
49
+ margin: eleVar('dropdown', 'icon-margin');
50
+ }
51
+
52
+ & > .ele-dropdown-menu-item-arrow {
53
+ color: eleVar('dropdown', 'arrow-color');
54
+ font-size: eleVar('dropdown', 'arrow-size');
55
+ padding: eleVar('dropdown', 'arrow-padding');
56
+ margin: eleVar('dropdown', 'arrow-margin');
57
+ }
58
+
59
+ &:hover,
60
+ &:focus {
61
+ color: eleVar('dropdown', 'item-hover-color');
62
+ background: eleVar('dropdown', 'item-hover-bg');
63
+ }
64
+
65
+ &.is-active {
66
+ color: eleVar('dropdown', 'item-active-color');
67
+ background: eleVar('dropdown', 'item-active-bg');
68
+ font-weight: eleVar('dropdown', 'item-active-font-weight');
69
+
70
+ &:hover,
71
+ &:focus {
72
+ background: eleVar('dropdown', 'item-active-hover-bg');
73
+ }
74
+ }
75
+
76
+ &.is-danger {
77
+ color: eleVar('dropdown', 'item-danger-color');
78
+
79
+ &.is-active {
80
+ background: eleVar('dropdown', 'item-danger-bg');
81
+
82
+ &:hover,
83
+ &:focus {
84
+ background: eleVar('dropdown', 'item-danger-hover-bg');
85
+ }
86
+ }
87
+ }
88
+
89
+ &.is-disabled {
90
+ color: eleVar('dropdown', 'item-disabled-color');
91
+ background: none;
92
+ cursor: not-allowed;
93
+
94
+ &.is-active,
95
+ &.is-active:hover,
96
+ &.is-active:focus {
97
+ background: eleVar('dropdown', 'item-disabled-bg');
98
+ }
99
+ }
100
+ }
101
+
102
+ .ele-dropdown-menu-divider {
103
+ border-top: eleVar('dropdown', 'divider');
104
+ margin: eleVar('dropdown', 'divider-margin');
105
+ }
106
+
107
+ .ele-dropdown-caret-button {
108
+ width: 32px;
109
+ padding-left: 0;
110
+ padding-right: 0;
111
+ }
112
+
113
+ /* 小尺寸 */
114
+ .ele-dropdown-menu.is-small {
115
+ padding: eleVar('dropdown', 'sm-padding');
116
+
117
+ .ele-dropdown-menu-item {
118
+ height: eleVar('dropdown', 'sm-item-height');
119
+ line-height: eleVar('dropdown', 'sm-item-height');
120
+ font-size: eleVar('dropdown', 'sm-item-font-size');
121
+ padding: eleVar('dropdown', 'sm-item-padding');
122
+
123
+ & > .el-icon {
124
+ font-size: eleVar('dropdown', 'sm-icon-size');
125
+ }
126
+ }
127
+
128
+ .ele-dropdown-menu-divider {
129
+ margin: eleVar('dropdown', 'sm-divider-margin');
130
+ }
131
+ }
132
+
133
+ /* 大尺寸 */
134
+ .ele-dropdown-menu.is-large {
135
+ padding: eleVar('dropdown', 'lg-padding');
136
+
137
+ .ele-dropdown-menu-item {
138
+ height: eleVar('dropdown', 'lg-item-height');
139
+ line-height: eleVar('dropdown', 'lg-item-height');
140
+ font-size: eleVar('dropdown', 'lg-item-font-size');
141
+ padding: eleVar('dropdown', 'lg-item-padding');
142
+
143
+ & > .el-icon {
144
+ font-size: eleVar('dropdown', 'lg-icon-size');
145
+ }
146
+ }
22
147
 
148
+ .ele-dropdown-menu-divider {
149
+ margin: eleVar('dropdown', 'lg-divider-margin');
150
+ }
151
+ }
152
+
153
+ /* 子菜单 */
154
+ .ele-dropdown-wrapper.is-sub-menu {
155
+ width: max-content;
156
+ background: eleVar('popper', 'bg');
157
+ border: eleVar('popper', 'border');
158
+ box-shadow: eleVar('popper', 'shadow');
159
+ border-radius: eleVar('popper', 'radius');
160
+ position: absolute;
161
+ left: 100%;
162
+ top: 0;
163
+ transform-origin: top left;
164
+ transition: all $transition-slow;
165
+
166
+ &.is-right-end {
167
+ top: auto;
168
+ bottom: 0;
169
+ transform-origin: bottom left;
170
+ }
171
+
172
+ &.is-left-start {
173
+ left: auto;
174
+ right: 100%;
175
+ transform-origin: top right;
176
+ }
177
+
178
+ &.is-left-end {
179
+ top: auto;
180
+ bottom: 0;
181
+ left: auto;
182
+ right: 100%;
183
+ transform-origin: bottom right;
184
+ }
185
+ }
186
+
187
+ .ele-dropdown-menu-item:not(:hover) > .ele-dropdown-wrapper,
188
+ .ele-dropdown-menu-item.is-disabled > .ele-dropdown-wrapper {
189
+ opacity: 0;
190
+ transform: scale(0.6);
191
+ pointer-events: none;
192
+ visibility: hidden;
193
+ }
194
+
195
+ /* ElDropdown */
196
+ .ele-dropdown-trigger.el-dropdown {
197
+ color: inherit;
198
+ font-size: inherit;
199
+ line-height: inherit;
200
+ }
201
+
202
+ .ele-dropdown {
23
203
  .el-dropdown-menu {
24
204
  background: none;
25
205
  border-radius: 0;
@@ -67,10 +247,33 @@
67
247
 
68
248
  &.is-active {
69
249
  background: eleVar('dropdown', 'item-danger-bg');
250
+
251
+ &:hover,
252
+ &:focus {
253
+ background: eleVar('dropdown', 'item-danger-hover-bg');
254
+ }
255
+ }
256
+ }
257
+
258
+ &.is-disabled {
259
+ color: eleVar('dropdown', 'item-disabled-color');
260
+ background: none;
261
+ cursor: not-allowed;
262
+
263
+ &.is-active,
264
+ &.is-active:hover,
265
+ &.is-active:focus {
266
+ background: eleVar('dropdown', 'item-disabled-bg');
267
+ font-weight: eleVar('dropdown', 'item-active-font-weight');
70
268
  }
71
269
  }
72
270
  }
73
271
 
272
+ .el-dropdown-menu__item--divided {
273
+ border-top: eleVar('dropdown', 'divider');
274
+ margin: eleVar('dropdown', 'divider-margin');
275
+ }
276
+
74
277
  .el-dropdown-menu--small {
75
278
  padding: eleVar('dropdown', 'sm-padding');
76
279
 
@@ -79,6 +282,14 @@
79
282
  line-height: eleVar('dropdown', 'sm-item-height');
80
283
  font-size: eleVar('dropdown', 'sm-item-font-size');
81
284
  padding: eleVar('dropdown', 'sm-item-padding');
285
+
286
+ & > .el-icon {
287
+ font-size: eleVar('dropdown', 'sm-icon-size');
288
+ }
289
+ }
290
+
291
+ .el-dropdown-menu__item--divided {
292
+ margin: eleVar('dropdown', 'sm-divider-margin');
82
293
  }
83
294
  }
84
295
 
@@ -90,6 +301,14 @@
90
301
  line-height: eleVar('dropdown', 'lg-item-height');
91
302
  font-size: eleVar('dropdown', 'lg-item-font-size');
92
303
  padding: eleVar('dropdown', 'lg-item-padding');
304
+
305
+ & > .el-icon {
306
+ font-size: eleVar('dropdown', 'lg-icon-size');
307
+ }
308
+ }
309
+
310
+ .el-dropdown-menu__item--divided {
311
+ margin: eleVar('dropdown', 'lg-divider-margin');
93
312
  }
94
313
  }
95
314
  }
@@ -17,6 +17,6 @@ export interface DropdownItem extends ElDropdownItemProps {
17
17
  slot?: Exclude<string, 'default'>;
18
18
  /** 是否为危险样式 */
19
19
  danger?: boolean;
20
- /** 显示条件 */
21
- vIf?: any;
20
+ /** 子菜单 */
21
+ children?: DropdownItem[];
22
22
  }
@@ -54,12 +54,12 @@ declare const _default: import('vue').DefineComponent<{
54
54
  readonly: BooleanConstructor;
55
55
  disabled: BooleanConstructor;
56
56
  }>> & {
57
- onChange?: ((_value?: string[] | undefined) => any) | undefined;
58
57
  "onUpdate:modelValue"?: ((_value?: string[] | undefined) => any) | undefined;
58
+ onChange?: ((_value?: string[] | undefined) => any) | undefined;
59
59
  }, {
60
60
  disabled: boolean;
61
- readonly: boolean;
62
61
  round: boolean;
62
+ readonly: boolean;
63
63
  hit: boolean;
64
64
  }, {}>;
65
65
  export default _default;
@@ -1,7 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { EleDropdownProps, EleDropdownInstance } from '../../ele-app/plus';
3
- import { DropdownItem } from '../../ele-dropdown/types';
4
- import { IconItem, FileItem, ItemContextMenuOption, SelectionType } from '../types';
2
+ import { IconItem, FileItem, SelectionType, ContextOpenOption } from '../types';
5
3
 
6
4
  declare const _default: import('vue').DefineComponent<{
7
5
  /** 数据 */
@@ -17,26 +15,20 @@ declare const _default: import('vue').DefineComponent<{
17
15
  current: PropType<FileItem>;
18
16
  /** 后缀对应的图标 */
19
17
  icons: PropType<IconItem[]>;
20
- /** 右键菜单 */
21
- contextMenus: PropType<DropdownItem[]>;
22
- /** 右键菜单属性 */
23
- contextMenuProps: PropType<EleDropdownProps>;
18
+ /** 右键下拉菜单是否显示 */
19
+ ctxMenuDropdownVisible: BooleanConstructor;
24
20
  }, {
25
- dropdownRef: import('vue').Ref<EleDropdownInstance>;
26
- dropdownVisible: import('vue').Ref<boolean>;
21
+ dropdownTriggerRef: import('vue').Ref<HTMLElement | null>;
27
22
  selectable: import('vue').ComputedRef<boolean>;
28
23
  selected: import('vue').ComputedRef<boolean>;
29
24
  icon: import('vue').ComputedRef<string | undefined>;
30
25
  handleClick: () => void;
31
26
  handleCheckChange: () => void;
32
27
  handleContextmenu: (e: MouseEvent) => void;
33
- handleItemContextMenu: (command: string) => void;
34
- handleContextVisibleChange: (visible: boolean) => void;
35
28
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
36
29
  click: (_item: FileItem) => true;
37
30
  checkChange: (_item: FileItem) => true;
38
- contextMenu: (_option: ItemContextMenuOption) => true;
39
- contextOpen: (_ref: EleDropdownInstance) => true;
31
+ contextOpen: (_option: ContextOpenOption) => true;
40
32
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
41
33
  /** 数据 */
42
34
  item: {
@@ -51,14 +43,13 @@ declare const _default: import('vue').DefineComponent<{
51
43
  current: PropType<FileItem>;
52
44
  /** 后缀对应的图标 */
53
45
  icons: PropType<IconItem[]>;
54
- /** 右键菜单 */
55
- contextMenus: PropType<DropdownItem[]>;
56
- /** 右键菜单属性 */
57
- contextMenuProps: PropType<EleDropdownProps>;
46
+ /** 右键下拉菜单是否显示 */
47
+ ctxMenuDropdownVisible: BooleanConstructor;
58
48
  }>> & {
59
49
  onClick?: ((_item: FileItem) => any) | undefined;
60
- onContextMenu?: ((_option: ItemContextMenuOption) => any) | undefined;
61
- onContextOpen?: ((_ref: EleDropdownInstance) => any) | undefined;
62
50
  onCheckChange?: ((_item: FileItem) => any) | undefined;
63
- }, {}, {}>;
51
+ onContextOpen?: ((_option: ContextOpenOption) => any) | undefined;
52
+ }, {
53
+ ctxMenuDropdownVisible: boolean;
54
+ }, {}>;
64
55
  export default _default;
@@ -1,8 +1,6 @@
1
- import { defineComponent, ref, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, withModifiers, createElementVNode, renderSlot, toDisplayString, createCommentVNode, createBlock, mergeProps, createSlots, withCtx } from "vue";
2
- import EleDropdown from "../../ele-dropdown/index";
1
+ import { defineComponent, ref, computed, openBlock, createElementBlock, normalizeClass, withModifiers, createElementVNode, renderSlot, toDisplayString, createCommentVNode } from "vue";
3
2
  const _sfc_main = defineComponent({
4
3
  name: "FileGridItem",
5
- components: { EleDropdown },
6
4
  props: {
7
5
  /** 数据 */
8
6
  item: {
@@ -17,20 +15,16 @@ const _sfc_main = defineComponent({
17
15
  current: Object,
18
16
  /** 后缀对应的图标 */
19
17
  icons: Array,
20
- /** 右键菜单 */
21
- contextMenus: Array,
22
- /** 右键菜单属性 */
23
- contextMenuProps: Object
18
+ /** 右键下拉菜单是否显示 */
19
+ ctxMenuDropdownVisible: Boolean
24
20
  },
25
21
  emits: {
26
22
  click: (_item) => true,
27
23
  checkChange: (_item) => true,
28
- contextMenu: (_option) => true,
29
- contextOpen: (_ref) => true
24
+ contextOpen: (_option) => true
30
25
  },
31
26
  setup(props, { emit }) {
32
- const dropdownRef = ref(null);
33
- const dropdownVisible = ref(false);
27
+ const dropdownTriggerRef = ref(null);
34
28
  const selectable = computed(() => {
35
29
  return props.selectionType === "checkbox" || props.selectionType === "radio";
36
30
  });
@@ -74,32 +68,22 @@ const _sfc_main = defineComponent({
74
68
  emit("checkChange", props.item);
75
69
  };
76
70
  const handleContextmenu = (e) => {
77
- e.preventDefault();
78
- e.stopPropagation();
79
- if (dropdownRef.value) {
80
- dropdownRef.value.handleOpen();
81
- }
82
- };
83
- const handleItemContextMenu = (command) => {
84
- emit("contextMenu", { key: command, item: props.item });
85
- };
86
- const handleContextVisibleChange = (visible) => {
87
- dropdownVisible.value = visible;
88
- if (visible) {
89
- emit("contextOpen", dropdownRef.value);
71
+ if (dropdownTriggerRef.value != null) {
72
+ emit("contextOpen", {
73
+ item: props.item,
74
+ triggerEl: dropdownTriggerRef.value,
75
+ e
76
+ });
90
77
  }
91
78
  };
92
79
  return {
93
- dropdownRef,
94
- dropdownVisible,
80
+ dropdownTriggerRef,
95
81
  selectable,
96
82
  selected,
97
83
  icon,
98
84
  handleClick,
99
85
  handleCheckChange,
100
- handleContextmenu,
101
- handleItemContextMenu,
102
- handleContextVisibleChange
86
+ handleContextmenu
103
87
  };
104
88
  }
105
89
  });
@@ -118,12 +102,11 @@ const _hoisted_5 = [
118
102
  _hoisted_4
119
103
  ];
120
104
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
121
- const _component_EleDropdown = resolveComponent("EleDropdown");
122
105
  return openBlock(), createElementBlock("div", {
123
106
  class: normalizeClass([
124
107
  "ele-file-list-item",
125
108
  { "is-checked": _ctx.selected },
126
- { "is-active": _ctx.dropdownVisible }
109
+ { "is-active": _ctx.ctxMenuDropdownVisible }
127
110
  ]),
128
111
  onClick: _cache[3] || (_cache[3] = withModifiers((...args) => _ctx.handleClick && _ctx.handleClick(...args), ["stop"]))
129
112
  }, [
@@ -154,34 +137,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
154
137
  class: "ele-file-list-item-checkbox",
155
138
  onClick: _cache[1] || (_cache[1] = withModifiers((...args) => _ctx.handleCheckChange && _ctx.handleCheckChange(...args), ["stop"]))
156
139
  }, _hoisted_5)) : createCommentVNode("", true),
157
- _ctx.contextMenus || _ctx.$slots.contextMenu ? (openBlock(), createBlock(_component_EleDropdown, mergeProps({
158
- key: 1,
159
- placement: "bottom-start",
160
- popperClass: "ele-file-list-item-context"
161
- }, _ctx.contextMenuProps || {}, {
162
- ref: "dropdownRef",
163
- trigger: "click",
140
+ createElementVNode("div", {
141
+ ref: "dropdownTriggerRef",
164
142
  class: "ele-file-list-item-dropdown",
165
- items: _ctx.contextMenus,
166
- onCommand: _ctx.handleItemContextMenu,
167
- onVisibleChange: _ctx.handleContextVisibleChange
168
- }), createSlots({
169
- default: withCtx(() => [
170
- createElementVNode("div", {
171
- onClick: _cache[2] || (_cache[2] = withModifiers(() => {
172
- }, ["stop"]))
173
- })
174
- ]),
175
- _: 2
176
- }, [
177
- _ctx.$slots.contextMenu ? {
178
- name: "dropdownMenu",
179
- fn: withCtx(() => [
180
- renderSlot(_ctx.$slots, "contextMenu", { item: _ctx.item })
181
- ]),
182
- key: "0"
183
- } : void 0
184
- ]), 1040, ["items", "onCommand", "onVisibleChange"])) : createCommentVNode("", true)
143
+ onClick: _cache[2] || (_cache[2] = withModifiers(() => {
144
+ }, ["stop"]))
145
+ }, null, 512)
185
146
  ], 2);
186
147
  }
187
148
  const fileGridItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
@@ -1,7 +1,5 @@
1
- import { PropType, Ref } from 'vue';
2
- import { EleDropdownProps, EleDropdownInstance } from '../../ele-app/plus';
3
- import { GridItemInstance } from '../props';
4
- import { IconItem, FileItem, ItemContextMenuOption, SelectionType, ContextMenus } from '../types';
1
+ import { PropType } from 'vue';
2
+ import { IconItem, FileItem, SelectionType, ContextOpenOption } from '../types';
5
3
 
6
4
  declare const _default: import('vue').DefineComponent<{
7
5
  /** 文件数据 */
@@ -22,24 +20,21 @@ declare const _default: import('vue').DefineComponent<{
22
20
  checkAllText: StringConstructor;
23
21
  /** 选中后的文字 */
24
22
  selectedText: StringConstructor;
25
- /** 右键菜单 */
26
- contextMenus: PropType<ContextMenus>;
27
- /** 右键菜单属性 */
28
- contextMenuProps: PropType<EleDropdownProps>;
23
+ /** 文件右键菜单是否打开 */
24
+ ctxMenuDropdownVisible: BooleanConstructor;
25
+ /** 当前打开的右键菜单对应的文件数据 */
26
+ contextMenuFileItem: PropType<FileItem | null>;
29
27
  }, {
30
- itemRefs: Ref<GridItemInstance[]>;
31
28
  headerText: import('vue').ComputedRef<string | undefined>;
32
- getContextMenus: (item: FileItem) => import('../../ele-dropdown/types').DropdownItem[] | undefined;
33
29
  handleCheckAllChange: () => void;
34
30
  handleItemClick: (item: FileItem) => void;
35
31
  handleItemCheckChange: (item: FileItem) => void;
36
- handleItemContextMenu: (option: ItemContextMenuOption) => void;
37
- handleItemContextOpen: (ref: EleDropdownInstance) => void;
32
+ handleItemContextOpen: (option: ContextOpenOption) => void;
38
33
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
39
34
  checkAllChange: () => true;
40
35
  itemClick: (_item: FileItem) => true;
41
36
  itemCheckChange: (_item: FileItem) => true;
42
- itemContextMenu: (_option: ItemContextMenuOption) => true;
37
+ itemContextOpen: (_option: ContextOpenOption) => true;
43
38
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
44
39
  /** 文件数据 */
45
40
  data: PropType<FileItem[]>;
@@ -59,17 +54,18 @@ declare const _default: import('vue').DefineComponent<{
59
54
  checkAllText: StringConstructor;
60
55
  /** 选中后的文字 */
61
56
  selectedText: StringConstructor;
62
- /** 右键菜单 */
63
- contextMenus: PropType<ContextMenus>;
64
- /** 右键菜单属性 */
65
- contextMenuProps: PropType<EleDropdownProps>;
57
+ /** 文件右键菜单是否打开 */
58
+ ctxMenuDropdownVisible: BooleanConstructor;
59
+ /** 当前打开的右键菜单对应的文件数据 */
60
+ contextMenuFileItem: PropType<FileItem | null>;
66
61
  }>> & {
67
62
  onItemClick?: ((_item: FileItem) => any) | undefined;
68
63
  onCheckAllChange?: (() => any) | undefined;
69
64
  onItemCheckChange?: ((_item: FileItem) => any) | undefined;
70
- onItemContextMenu?: ((_option: ItemContextMenuOption) => any) | undefined;
65
+ onItemContextOpen?: ((_option: ContextOpenOption) => any) | undefined;
71
66
  }, {
72
- isIndeterminate: boolean;
67
+ ctxMenuDropdownVisible: boolean;
73
68
  isCheckAll: boolean;
69
+ isIndeterminate: boolean;
74
70
  }, {}>;
75
71
  export default _default;
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed, resolveComponent, openBlock, createBlock, withCtx, createElementBlock, createElementVNode, withModifiers, normalizeClass, toDisplayString, createCommentVNode, Fragment, renderList, createSlots, renderSlot, mergeProps } from "vue";
1
+ import { defineComponent, computed, resolveComponent, openBlock, createBlock, withCtx, createElementBlock, createElementVNode, withModifiers, normalizeClass, toDisplayString, createCommentVNode, Fragment, renderList, createSlots, renderSlot, mergeProps } from "vue";
2
2
  import ReceiverView from "../../ele-config-provider/components/receiver-view";
3
3
  import FileGridItem from "./file-grid-item";
4
4
  const _sfc_main = defineComponent({
@@ -23,37 +23,30 @@ const _sfc_main = defineComponent({
23
23
  checkAllText: String,
24
24
  /** 选中后的文字 */
25
25
  selectedText: String,
26
- /** 右键菜单 */
27
- contextMenus: [Array, Function],
28
- /** 右键菜单属性 */
29
- contextMenuProps: Object
26
+ /** 文件右键菜单是否打开 */
27
+ ctxMenuDropdownVisible: Boolean,
28
+ /** 当前打开的右键菜单对应的文件数据 */
29
+ contextMenuFileItem: Object
30
30
  },
31
31
  emits: {
32
32
  checkAllChange: () => true,
33
33
  itemClick: (_item) => true,
34
34
  itemCheckChange: (_item) => true,
35
- itemContextMenu: (_option) => true
35
+ itemContextOpen: (_option) => true
36
36
  },
37
37
  setup(props, { emit }) {
38
- const itemRefs = ref([]);
39
38
  const headerText = computed(() => {
40
39
  if (!props.selections || !props.selections.length) {
41
40
  return props.checkAllText;
42
41
  }
43
- if (props.selectedText) {
44
- return props.selectedText.replace(
45
- /\{\s*total\s*\}/g,
46
- String(props.selections.length)
47
- );
42
+ if (!props.selectedText) {
43
+ return "";
48
44
  }
49
- return void 0;
45
+ return props.selectedText.replace(
46
+ /\{\s*total\s*\}/g,
47
+ String(props.selections.length)
48
+ );
50
49
  });
51
- const getContextMenus = (item) => {
52
- if (typeof props.contextMenus === "function") {
53
- return props.contextMenus(item);
54
- }
55
- return props.contextMenus;
56
- };
57
50
  const handleCheckAllChange = () => {
58
51
  emit("checkAllChange");
59
52
  };
@@ -63,26 +56,14 @@ const _sfc_main = defineComponent({
63
56
  const handleItemCheckChange = (item) => {
64
57
  emit("itemCheckChange", item);
65
58
  };
66
- const handleItemContextMenu = (option) => {
67
- emit("itemContextMenu", option);
68
- };
69
- const handleItemContextOpen = (ref2) => {
70
- if (itemRefs.value) {
71
- itemRefs.value.forEach((r) => {
72
- if ((r == null ? void 0 : r.dropdownRef) && r.dropdownRef !== ref2) {
73
- r.dropdownRef.handleClose();
74
- }
75
- });
76
- }
59
+ const handleItemContextOpen = (option) => {
60
+ emit("itemContextOpen", option);
77
61
  };
78
62
  return {
79
- itemRefs,
80
63
  headerText,
81
- getContextMenus,
82
64
  handleCheckAllChange,
83
65
  handleItemClick,
84
66
  handleItemCheckChange,
85
- handleItemContextMenu,
86
67
  handleItemContextOpen
87
68
  };
88
69
  }
@@ -123,18 +104,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
123
104
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.data, (item) => {
124
105
  return openBlock(), createBlock(_component_FileGridItem, {
125
106
  key: item.key,
126
- ref_for: true,
127
- ref: "itemRefs",
128
107
  item,
129
108
  selectionType: _ctx.selectionType,
130
109
  selections: _ctx.selections,
131
110
  current: _ctx.current,
132
111
  icons: _ctx.icons,
133
- contextMenus: _ctx.getContextMenus(item),
134
- contextMenuProps: _ctx.contextMenuProps,
112
+ ctxMenuDropdownVisible: _ctx.ctxMenuDropdownVisible && _ctx.contextMenuFileItem === item,
135
113
  onClick: _ctx.handleItemClick,
136
114
  onCheckChange: _ctx.handleItemCheckChange,
137
- onContextMenu: _ctx.handleItemContextMenu,
138
115
  onContextOpen: _ctx.handleItemContextOpen
139
116
  }, createSlots({ _: 2 }, [
140
117
  renderList(Object.keys(_ctx.$slots), (name) => {
@@ -145,7 +122,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
145
122
  ])
146
123
  };
147
124
  })
148
- ]), 1032, ["item", "selectionType", "selections", "current", "icons", "contextMenus", "contextMenuProps", "onClick", "onCheckChange", "onContextMenu", "onContextOpen"]);
125
+ ]), 1032, ["item", "selectionType", "selections", "current", "icons", "ctxMenuDropdownVisible", "onClick", "onCheckChange", "onContextOpen"]);
149
126
  }), 128))
150
127
  ])
151
128
  ]),