ele-admin-plus 1.2.1-beta.3 → 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 (384) 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/index.js +0 -1
  11. package/es/ele-app/style/overwrite/index.scss +0 -1
  12. package/es/ele-app/style/scrollbar/css-var.scss +17 -16
  13. package/es/ele-app/types.d.ts +8 -1
  14. package/es/ele-basic-select/index.d.ts +2 -2
  15. package/es/ele-bottom-bar/index.d.ts +9 -2
  16. package/es/ele-bottom-bar/index.js +37 -15
  17. package/es/ele-bottom-bar/props.d.ts +2 -0
  18. package/es/ele-bottom-bar/props.js +3 -1
  19. package/es/ele-bottom-bar/style/index.scss +5 -0
  20. package/es/ele-check-card/index.d.ts +2 -2
  21. package/es/ele-cropper/components/cropper-tools.d.ts +9 -3
  22. package/es/ele-cropper/components/cropper-tools.js +41 -13
  23. package/es/ele-cropper/index.d.ts +3 -1
  24. package/es/ele-cropper/index.js +2 -1
  25. package/es/ele-cropper/props.d.ts +3 -1
  26. package/es/ele-cropper/props.js +2 -0
  27. package/es/ele-cropper/style/index.scss +3 -2
  28. package/es/ele-cropper/types.d.ts +16 -0
  29. package/es/ele-cropper-modal/index.d.ts +3 -1
  30. package/es/ele-cropper-modal/index.js +2 -1
  31. package/es/ele-cropper-modal/props.d.ts +1 -0
  32. package/es/ele-data-table/components/table-columns.d.ts +32 -0
  33. package/es/ele-data-table/components/table-columns.js +114 -0
  34. package/es/ele-data-table/index.d.ts +205 -23
  35. package/es/ele-data-table/index.js +202 -120
  36. package/es/ele-data-table/props.d.ts +14 -18
  37. package/es/ele-data-table/types.d.ts +2 -2
  38. package/es/ele-data-table/util.d.ts +1 -45
  39. package/es/ele-data-table/util.js +2 -110
  40. package/es/ele-drawer/index.d.ts +8 -8
  41. package/es/ele-drawer/props.d.ts +2 -2
  42. package/es/ele-dropdown/components/pro-dropdown.d.ts +237 -0
  43. package/es/ele-dropdown/components/pro-dropdown.js +204 -0
  44. package/es/ele-dropdown/index.d.ts +517 -31
  45. package/es/ele-dropdown/index.js +144 -65
  46. package/es/ele-dropdown/props.d.ts +109 -15
  47. package/es/ele-dropdown/props.js +54 -7
  48. package/es/ele-dropdown/style/index.js +4 -1
  49. package/es/ele-dropdown/style/index.scss +174 -6
  50. package/es/ele-dropdown/types.d.ts +0 -2
  51. package/es/ele-edit-tag/index.d.ts +2 -2
  52. package/es/ele-file-list/components/file-grid-item.d.ts +11 -20
  53. package/es/ele-file-list/components/file-grid-item.js +19 -58
  54. package/es/ele-file-list/components/file-grid.d.ts +15 -19
  55. package/es/ele-file-list/components/file-grid.js +16 -39
  56. package/es/ele-file-list/components/file-table-item.d.ts +11 -20
  57. package/es/ele-file-list/components/file-table-item.js +19 -58
  58. package/es/ele-file-list/components/file-table.d.ts +15 -19
  59. package/es/ele-file-list/components/file-table.js +17 -37
  60. package/es/ele-file-list/index.d.ts +33 -12
  61. package/es/ele-file-list/index.js +118 -20
  62. package/es/ele-file-list/props.d.ts +4 -5
  63. package/es/ele-file-list/props.js +5 -8
  64. package/es/ele-file-list/style/index.scss +10 -5
  65. package/es/ele-file-list/types.d.ts +13 -1
  66. package/es/ele-icon-select/components/icon-grid.d.ts +1 -1
  67. package/es/ele-icon-select/index.d.ts +2 -2
  68. package/es/ele-image-viewer/index.d.ts +120 -0
  69. package/es/ele-image-viewer/index.js +88 -0
  70. package/es/ele-image-viewer/props.d.ts +58 -0
  71. package/es/ele-image-viewer/props.js +35 -0
  72. package/es/ele-image-viewer/style/css-var.scss +8 -0
  73. package/es/ele-image-viewer/style/index.js +2 -0
  74. package/es/ele-image-viewer/style/index.scss +117 -0
  75. package/es/ele-map-picker/components/map-view.d.ts +18 -18
  76. package/es/ele-menus/components/item-title.d.ts +48 -0
  77. package/es/ele-menus/components/item-title.js +108 -0
  78. package/es/ele-menus/components/menu-items.d.ts +78 -0
  79. package/es/ele-menus/components/menu-items.js +269 -0
  80. package/es/ele-menus/index.d.ts +77 -18
  81. package/es/ele-menus/index.js +280 -210
  82. package/es/ele-menus/props.d.ts +2 -2
  83. package/es/ele-menus/util.d.ts +1 -62
  84. package/es/ele-menus/util.js +3 -244
  85. package/es/ele-modal/index.d.ts +9 -9
  86. package/es/ele-modal/props.d.ts +2 -2
  87. package/es/ele-modal/util.d.ts +1 -1
  88. package/es/ele-modal/util.js +8 -4
  89. package/es/ele-pagination/index.d.ts +2 -2
  90. package/es/ele-pagination/props.d.ts +1 -1
  91. package/es/ele-popconfirm/index.d.ts +11 -14
  92. package/es/ele-popconfirm/props.d.ts +3 -4
  93. package/es/ele-popover/index.d.ts +11 -14
  94. package/es/ele-popover/props.d.ts +0 -1
  95. package/es/ele-popover/props.js +1 -1
  96. package/es/ele-printer/util.js +1 -1
  97. package/es/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  98. package/es/ele-pro-layout/components/pro-iframe.js +6 -4
  99. package/es/ele-pro-layout/index.d.ts +1 -1
  100. package/es/ele-pro-layout/index.js +13 -4
  101. package/es/ele-pro-layout/props.d.ts +3 -3
  102. package/es/ele-pro-layout/props.js +3 -3
  103. package/es/ele-pro-layout/types.d.ts +9 -5
  104. package/es/ele-pro-layout/util.d.ts +6 -0
  105. package/es/ele-pro-layout/util.js +12 -0
  106. package/es/ele-pro-table/components/table-tools.d.ts +24 -24
  107. package/es/ele-pro-table/components/table-tools.js +6 -7
  108. package/es/ele-pro-table/components/tool-column.d.ts +7 -7
  109. package/es/ele-pro-table/components/tool-column.js +4 -4
  110. package/es/ele-pro-table/components/tool-export.d.ts +5 -5
  111. package/es/ele-pro-table/components/tool-print-body-cell.js +1 -1
  112. package/es/ele-pro-table/components/tool-print-header-cell.js +3 -2
  113. package/es/ele-pro-table/components/tool-print.d.ts +5 -5
  114. package/es/ele-pro-table/index.d.ts +71 -81
  115. package/es/ele-pro-table/index.js +19 -23
  116. package/es/ele-pro-table/props.d.ts +9 -11
  117. package/es/ele-pro-table/props.js +1 -1
  118. package/es/ele-segmented/index.d.ts +3 -1
  119. package/es/ele-segmented/index.js +27 -3
  120. package/es/ele-segmented/style/index.scss +7 -1
  121. package/es/ele-steps/index.d.ts +12 -12
  122. package/es/ele-steps/props.d.ts +3 -3
  123. package/es/ele-tab-tool/index.d.ts +6 -1
  124. package/es/ele-tab-tool/index.js +44 -3
  125. package/es/ele-tab-tool/props.d.ts +2 -0
  126. package/es/ele-tab-tool/props.js +3 -1
  127. package/es/ele-tab-wrap/components/tab-dropdown.js +9 -26
  128. package/es/ele-tab-wrap/index.js +21 -2
  129. package/es/ele-table/style/index.scss +1 -2
  130. package/es/ele-table-select/index.d.ts +6 -6
  131. package/es/ele-tabs/index.d.ts +21 -19
  132. package/es/ele-tabs/index.js +240 -115
  133. package/es/ele-tabs/props.d.ts +1 -6
  134. package/es/ele-tabs/props.js +1 -1
  135. package/es/ele-tabs/style/index.scss +152 -176
  136. package/es/ele-tabs/types.d.ts +29 -6
  137. package/es/ele-tool/index.js +6 -1
  138. package/es/ele-toolbar/index.d.ts +9 -9
  139. package/es/ele-tooltip/index.d.ts +15 -15
  140. package/es/ele-tooltip/props.d.ts +2 -2
  141. package/es/ele-tooltip/style/css-var.scss +4 -0
  142. package/es/ele-tree-select/index.d.ts +5 -5
  143. package/es/ele-upload-list/components/list-item.d.ts +31 -5
  144. package/es/ele-upload-list/components/list-item.js +146 -66
  145. package/es/ele-upload-list/index.d.ts +55 -26
  146. package/es/ele-upload-list/index.js +180 -97
  147. package/es/ele-upload-list/props.d.ts +22 -9
  148. package/es/ele-upload-list/props.js +20 -8
  149. package/es/ele-upload-list/style/css-var.scss +8 -0
  150. package/es/ele-upload-list/style/index.js +1 -1
  151. package/es/ele-upload-list/style/index.scss +425 -135
  152. package/es/ele-upload-list/types.d.ts +35 -11
  153. package/es/ele-virtual-table/components/body-cell.d.ts +2 -2
  154. package/es/ele-virtual-table/components/header-cell.d.ts +1 -1
  155. package/es/ele-virtual-table/components/header-row.d.ts +1 -1
  156. package/es/ele-virtual-table/index.d.ts +14 -22
  157. package/es/ele-virtual-table/index.js +8 -6
  158. package/es/ele-virtual-table/props.d.ts +6 -8
  159. package/es/icons/CornerLeftFilled.d.ts +2 -0
  160. package/es/icons/CornerLeftFilled.js +26 -0
  161. package/es/icons/CornerRightFilled.d.ts +2 -0
  162. package/es/icons/CornerRightFilled.js +26 -0
  163. package/es/icons/EyeOutlined.d.ts +2 -0
  164. package/es/icons/EyeOutlined.js +30 -0
  165. package/es/icons/FileOutlined.js +4 -4
  166. package/es/icons/SizeCompactOutlined.js +4 -4
  167. package/es/icons/SizeMiddleOutlined.d.ts +2 -0
  168. package/es/icons/SizeMiddleOutlined.js +34 -0
  169. package/es/icons/SizeSlackOutlined.js +4 -4
  170. package/es/icons/index.d.ts +4 -0
  171. package/es/icons/index.js +162 -154
  172. package/es/lang/en_US.js +4 -1
  173. package/es/lang/zh_CN.js +4 -1
  174. package/es/lang/zh_TW.js +4 -1
  175. package/es/style/plus.scss +1 -0
  176. package/es/style/themes/default.scss +80 -4
  177. package/es/style/themes/rounded.scss +6 -3
  178. package/es/style/themes/theme-util.scss +4 -0
  179. package/es/style/util.scss +10 -3
  180. package/es/utils/core.d.ts +4 -2
  181. package/es/utils/hook.d.ts +2 -0
  182. package/es/utils/hook.js +5 -1
  183. package/es/utils/menu-util.js +11 -5
  184. package/es/utils/message-box.js +5 -1
  185. package/es/utils/message.js +2 -2
  186. package/lib/core-components.cjs +60 -58
  187. package/lib/core-components.d.ts +1 -0
  188. package/lib/ele-admin-layout/components/layout-tabs.cjs +17 -75
  189. package/lib/ele-admin-layout/components/layout-tabs.d.ts +1 -6
  190. package/lib/ele-admin-layout/index.cjs +7 -2
  191. package/lib/ele-admin-layout/types.d.ts +2 -0
  192. package/lib/ele-app/el.d.ts +3 -0
  193. package/lib/ele-app/plus.d.ts +21 -0
  194. package/lib/ele-app/style/overwrite/css-var.scss +0 -2
  195. package/lib/ele-app/style/overwrite/index.cjs +0 -1
  196. package/lib/ele-app/style/overwrite/index.scss +0 -1
  197. package/lib/ele-app/style/scrollbar/css-var.scss +17 -16
  198. package/lib/ele-app/types.d.ts +8 -1
  199. package/lib/ele-basic-select/index.d.ts +2 -2
  200. package/lib/ele-bottom-bar/index.cjs +36 -14
  201. package/lib/ele-bottom-bar/index.d.ts +9 -2
  202. package/lib/ele-bottom-bar/props.cjs +3 -1
  203. package/lib/ele-bottom-bar/props.d.ts +2 -0
  204. package/lib/ele-bottom-bar/style/index.scss +5 -0
  205. package/lib/ele-check-card/index.d.ts +2 -2
  206. package/lib/ele-cropper/components/cropper-tools.cjs +40 -12
  207. package/lib/ele-cropper/components/cropper-tools.d.ts +9 -3
  208. package/lib/ele-cropper/index.cjs +2 -1
  209. package/lib/ele-cropper/index.d.ts +3 -1
  210. package/lib/ele-cropper/props.cjs +2 -0
  211. package/lib/ele-cropper/props.d.ts +3 -1
  212. package/lib/ele-cropper/style/index.scss +3 -2
  213. package/lib/ele-cropper/types.d.ts +16 -0
  214. package/lib/ele-cropper-modal/index.cjs +2 -1
  215. package/lib/ele-cropper-modal/index.d.ts +3 -1
  216. package/lib/ele-cropper-modal/props.d.ts +1 -0
  217. package/lib/ele-data-table/components/table-columns.cjs +113 -0
  218. package/lib/ele-data-table/components/table-columns.d.ts +32 -0
  219. package/lib/ele-data-table/index.cjs +199 -117
  220. package/lib/ele-data-table/index.d.ts +205 -23
  221. package/lib/ele-data-table/props.d.ts +14 -18
  222. package/lib/ele-data-table/types.d.ts +2 -2
  223. package/lib/ele-data-table/util.cjs +0 -108
  224. package/lib/ele-data-table/util.d.ts +1 -45
  225. package/lib/ele-drawer/index.d.ts +8 -8
  226. package/lib/ele-drawer/props.d.ts +2 -2
  227. package/lib/ele-dropdown/components/pro-dropdown.cjs +203 -0
  228. package/lib/ele-dropdown/components/pro-dropdown.d.ts +237 -0
  229. package/lib/ele-dropdown/index.cjs +147 -68
  230. package/lib/ele-dropdown/index.d.ts +517 -31
  231. package/lib/ele-dropdown/props.cjs +53 -6
  232. package/lib/ele-dropdown/props.d.ts +109 -15
  233. package/lib/ele-dropdown/style/index.cjs +4 -1
  234. package/lib/ele-dropdown/style/index.scss +174 -6
  235. package/lib/ele-dropdown/types.d.ts +0 -2
  236. package/lib/ele-edit-tag/index.d.ts +2 -2
  237. package/lib/ele-file-list/components/file-grid-item.cjs +18 -57
  238. package/lib/ele-file-list/components/file-grid-item.d.ts +11 -20
  239. package/lib/ele-file-list/components/file-grid.cjs +15 -38
  240. package/lib/ele-file-list/components/file-grid.d.ts +15 -19
  241. package/lib/ele-file-list/components/file-table-item.cjs +18 -57
  242. package/lib/ele-file-list/components/file-table-item.d.ts +11 -20
  243. package/lib/ele-file-list/components/file-table.cjs +16 -36
  244. package/lib/ele-file-list/components/file-table.d.ts +15 -19
  245. package/lib/ele-file-list/index.cjs +117 -19
  246. package/lib/ele-file-list/index.d.ts +33 -12
  247. package/lib/ele-file-list/props.cjs +4 -7
  248. package/lib/ele-file-list/props.d.ts +4 -5
  249. package/lib/ele-file-list/style/index.scss +10 -5
  250. package/lib/ele-file-list/types.d.ts +13 -1
  251. package/lib/ele-icon-select/components/icon-grid.d.ts +1 -1
  252. package/lib/ele-icon-select/index.d.ts +2 -2
  253. package/lib/ele-image-viewer/index.cjs +87 -0
  254. package/lib/ele-image-viewer/index.d.ts +120 -0
  255. package/lib/ele-image-viewer/props.cjs +35 -0
  256. package/lib/ele-image-viewer/props.d.ts +58 -0
  257. package/lib/ele-image-viewer/style/css-var.scss +8 -0
  258. package/lib/ele-image-viewer/style/index.cjs +3 -0
  259. package/lib/ele-image-viewer/style/index.scss +117 -0
  260. package/lib/ele-map-picker/components/map-view.d.ts +18 -18
  261. package/lib/ele-menus/components/item-title.cjs +107 -0
  262. package/lib/ele-menus/components/item-title.d.ts +48 -0
  263. package/lib/ele-menus/components/menu-items.cjs +268 -0
  264. package/lib/ele-menus/components/menu-items.d.ts +78 -0
  265. package/lib/ele-menus/index.cjs +278 -208
  266. package/lib/ele-menus/index.d.ts +77 -18
  267. package/lib/ele-menus/props.d.ts +2 -2
  268. package/lib/ele-menus/util.cjs +1 -242
  269. package/lib/ele-menus/util.d.ts +1 -62
  270. package/lib/ele-modal/index.d.ts +9 -9
  271. package/lib/ele-modal/props.d.ts +2 -2
  272. package/lib/ele-modal/util.cjs +8 -4
  273. package/lib/ele-modal/util.d.ts +1 -1
  274. package/lib/ele-pagination/index.d.ts +2 -2
  275. package/lib/ele-pagination/props.d.ts +1 -1
  276. package/lib/ele-popconfirm/index.d.ts +11 -14
  277. package/lib/ele-popconfirm/props.d.ts +3 -4
  278. package/lib/ele-popover/index.d.ts +11 -14
  279. package/lib/ele-popover/props.cjs +1 -1
  280. package/lib/ele-popover/props.d.ts +0 -1
  281. package/lib/ele-printer/util.cjs +1 -1
  282. package/lib/ele-pro-layout/components/pro-iframe.cjs +6 -4
  283. package/lib/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  284. package/lib/ele-pro-layout/index.cjs +13 -4
  285. package/lib/ele-pro-layout/index.d.ts +1 -1
  286. package/lib/ele-pro-layout/props.cjs +3 -3
  287. package/lib/ele-pro-layout/props.d.ts +3 -3
  288. package/lib/ele-pro-layout/types.d.ts +9 -5
  289. package/lib/ele-pro-layout/util.cjs +12 -0
  290. package/lib/ele-pro-layout/util.d.ts +6 -0
  291. package/lib/ele-pro-table/components/table-tools.cjs +5 -6
  292. package/lib/ele-pro-table/components/table-tools.d.ts +24 -24
  293. package/lib/ele-pro-table/components/tool-column.cjs +4 -4
  294. package/lib/ele-pro-table/components/tool-column.d.ts +7 -7
  295. package/lib/ele-pro-table/components/tool-export.d.ts +5 -5
  296. package/lib/ele-pro-table/components/tool-print-body-cell.cjs +1 -1
  297. package/lib/ele-pro-table/components/tool-print-header-cell.cjs +3 -2
  298. package/lib/ele-pro-table/components/tool-print.d.ts +5 -5
  299. package/lib/ele-pro-table/index.cjs +17 -21
  300. package/lib/ele-pro-table/index.d.ts +71 -81
  301. package/lib/ele-pro-table/props.cjs +1 -1
  302. package/lib/ele-pro-table/props.d.ts +9 -11
  303. package/lib/ele-segmented/index.cjs +26 -2
  304. package/lib/ele-segmented/index.d.ts +3 -1
  305. package/lib/ele-segmented/style/index.scss +7 -1
  306. package/lib/ele-steps/index.d.ts +12 -12
  307. package/lib/ele-steps/props.d.ts +3 -3
  308. package/lib/ele-tab-tool/index.cjs +43 -2
  309. package/lib/ele-tab-tool/index.d.ts +6 -1
  310. package/lib/ele-tab-tool/props.cjs +3 -1
  311. package/lib/ele-tab-tool/props.d.ts +2 -0
  312. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +8 -25
  313. package/lib/ele-tab-wrap/index.cjs +20 -1
  314. package/lib/ele-table/style/index.scss +1 -2
  315. package/lib/ele-table-select/index.d.ts +6 -6
  316. package/lib/ele-tabs/index.cjs +238 -113
  317. package/lib/ele-tabs/index.d.ts +21 -19
  318. package/lib/ele-tabs/props.cjs +1 -1
  319. package/lib/ele-tabs/props.d.ts +1 -6
  320. package/lib/ele-tabs/style/index.scss +152 -176
  321. package/lib/ele-tabs/types.d.ts +29 -6
  322. package/lib/ele-tool/index.cjs +6 -1
  323. package/lib/ele-toolbar/index.d.ts +9 -9
  324. package/lib/ele-tooltip/index.d.ts +15 -15
  325. package/lib/ele-tooltip/props.d.ts +2 -2
  326. package/lib/ele-tooltip/style/css-var.scss +4 -0
  327. package/lib/ele-tree-select/index.d.ts +5 -5
  328. package/lib/ele-upload-list/components/list-item.cjs +144 -64
  329. package/lib/ele-upload-list/components/list-item.d.ts +31 -5
  330. package/lib/ele-upload-list/index.cjs +178 -95
  331. package/lib/ele-upload-list/index.d.ts +55 -26
  332. package/lib/ele-upload-list/props.cjs +20 -8
  333. package/lib/ele-upload-list/props.d.ts +22 -9
  334. package/lib/ele-upload-list/style/css-var.scss +8 -0
  335. package/lib/ele-upload-list/style/index.cjs +1 -1
  336. package/lib/ele-upload-list/style/index.scss +425 -135
  337. package/lib/ele-upload-list/types.d.ts +35 -11
  338. package/lib/ele-virtual-table/components/body-cell.d.ts +2 -2
  339. package/lib/ele-virtual-table/components/header-cell.d.ts +1 -1
  340. package/lib/ele-virtual-table/components/header-row.d.ts +1 -1
  341. package/lib/ele-virtual-table/index.cjs +7 -5
  342. package/lib/ele-virtual-table/index.d.ts +14 -22
  343. package/lib/ele-virtual-table/props.d.ts +6 -8
  344. package/lib/icons/CornerLeftFilled.cjs +25 -0
  345. package/lib/icons/CornerLeftFilled.d.ts +2 -0
  346. package/lib/icons/CornerRightFilled.cjs +25 -0
  347. package/lib/icons/CornerRightFilled.d.ts +2 -0
  348. package/lib/icons/EyeOutlined.cjs +29 -0
  349. package/lib/icons/EyeOutlined.d.ts +2 -0
  350. package/lib/icons/FileOutlined.cjs +4 -4
  351. package/lib/icons/SizeCompactOutlined.cjs +4 -4
  352. package/lib/icons/SizeMiddleOutlined.cjs +33 -0
  353. package/lib/icons/SizeMiddleOutlined.d.ts +2 -0
  354. package/lib/icons/SizeSlackOutlined.cjs +4 -4
  355. package/lib/icons/index.cjs +8 -0
  356. package/lib/icons/index.d.ts +4 -0
  357. package/lib/lang/en_US.cjs +4 -1
  358. package/lib/lang/zh_CN.cjs +4 -1
  359. package/lib/lang/zh_TW.cjs +4 -1
  360. package/lib/style/plus.scss +1 -0
  361. package/lib/style/themes/default.scss +80 -4
  362. package/lib/style/themes/rounded.scss +6 -3
  363. package/lib/style/themes/theme-util.scss +4 -0
  364. package/lib/style/util.scss +10 -3
  365. package/lib/utils/core.d.ts +4 -2
  366. package/lib/utils/hook.cjs +5 -1
  367. package/lib/utils/hook.d.ts +2 -0
  368. package/lib/utils/menu-util.cjs +9 -3
  369. package/lib/utils/message-box.cjs +4 -0
  370. package/lib/utils/message.cjs +1 -1
  371. package/package.json +36 -36
  372. package/typings/global.d.ts +1 -0
  373. package/es/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  374. package/es/ele-app/style/overwrite/image-viewer/index.js +0 -1
  375. package/es/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  376. package/es/ele-tabs/components/tab-title.d.ts +0 -52
  377. package/es/ele-tabs/components/tab-title.js +0 -115
  378. package/lib/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  379. package/lib/ele-app/style/overwrite/image-viewer/index.cjs +0 -2
  380. package/lib/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  381. package/lib/ele-tabs/components/tab-title.cjs +0 -114
  382. package/lib/ele-tabs/components/tab-title.d.ts +0 -52
  383. /package/es/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
  384. /package/lib/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
@@ -1,28 +1,75 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const elementPlus = require("element-plus");
4
+ const core = require("../utils/core");
5
+ const props = require("../ele-popover/props");
6
+ const normalizePopoverProps = core.omit(props.popoverProps, [
7
+ "title",
8
+ "effect",
9
+ "content",
10
+ "width",
11
+ "placement",
12
+ "disabled",
13
+ "popperOptions",
14
+ "popperClass",
15
+ "showAfter",
16
+ "hideAfter",
17
+ "autoClose",
18
+ "tabindex",
19
+ "teleported",
20
+ "bodyClass",
21
+ "bodyStyle",
22
+ "titleStyle",
23
+ "contentStyle"
24
+ ]);
25
+ const normalizeDropdownProps = core.omit(elementPlus.dropdownProps, [
26
+ "onCommand",
27
+ "onClick",
28
+ "onVisibleChange",
29
+ "onVisible-change"
30
+ ]);
4
31
  const dropdownProps = {
5
- ...elementPlus.dropdownProps,
32
+ ...normalizePopoverProps,
33
+ size: String,
34
+ ...normalizeDropdownProps,
35
+ /** 下拉框渐变动画 */
36
+ transition: {
37
+ type: String,
38
+ default: "el-zoom-in-top"
39
+ },
6
40
  /** 下拉菜单数据 */
7
41
  items: Array,
8
42
  /** 选中的菜单 */
9
- modelValue: String,
43
+ modelValue: [String, Number, Object],
10
44
  /** 自定义下拉菜单样式 */
11
45
  menuStyle: Object,
12
46
  /** 自定义图标属性 */
13
- iconProps: Object
47
+ iconProps: Object,
48
+ /** 下拉菜单使用的组件类型 */
49
+ componentType: String,
50
+ /** 是否阻止下拉菜单的右键事件 */
51
+ preventContextmenu: Boolean,
52
+ /** 内容按钮属性 */
53
+ splitButtonProps: Object,
54
+ /** 箭头按钮属性 */
55
+ caretButtonProps: Object
14
56
  };
15
57
  const dropdownEmits = {
16
- /** SplitButton 点击事件 */
17
- click: () => true,
58
+ ...props.popoverEmits,
59
+ /** 内容按钮点击事件 */
60
+ click: (_e) => true,
18
61
  /** 菜单项点击事件 */
19
62
  command: (_command) => true,
20
- /** 下拉框出现/隐藏事件 */
63
+ /** 下拉框显示状态改变事件 */
21
64
  visibleChange: (_visible) => true,
22
65
  /** 更新选中值 */
23
66
  "update:modelValue": (_value) => true,
24
67
  /** 选中改变的事件 */
25
68
  change: (_active) => true
26
69
  };
70
+ const elDropdownPropKeys = Object.keys(
71
+ normalizeDropdownProps
72
+ );
27
73
  exports.dropdownEmits = dropdownEmits;
28
74
  exports.dropdownProps = dropdownProps;
75
+ exports.elDropdownPropKeys = elDropdownPropKeys;
@@ -1,12 +1,54 @@
1
1
  import { PropType, ExtractPropTypes } from 'vue';
2
2
  import { StyleValue } from '../ele-app/types';
3
- import { ElIconProps } from '../ele-app/el';
3
+ import { ElIconProps, ElButtonProps } from '../ele-app/el';
4
4
  import { DropdownItem } from './types';
5
5
 
6
+ declare const normalizeDropdownProps: import('../ele-app/types').Mutable<Omit<{
7
+ readonly trigger: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType> & {}) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>) | ((new (...args: any[]) => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType> & {}) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>))[], unknown, unknown, "hover", boolean>;
8
+ readonly effect: {
9
+ readonly default: "light";
10
+ readonly type: import('vue').PropType<string>;
11
+ readonly required: false;
12
+ readonly validator: ((val: unknown) => boolean) | undefined;
13
+ readonly __epPropKey: true;
14
+ };
15
+ readonly type: {
16
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
17
+ readonly required: false;
18
+ readonly validator: ((val: unknown) => boolean) | undefined;
19
+ __epPropKey: true;
20
+ };
21
+ readonly placement: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
22
+ readonly popperOptions: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => Partial<import('element-plus').Options>) | (() => Partial<import('element-plus').Options>) | ((new (...args: any[]) => Partial<import('element-plus').Options>) | (() => Partial<import('element-plus').Options>))[], unknown, unknown, () => {}, boolean>;
23
+ readonly id: StringConstructor;
24
+ readonly size: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
25
+ readonly splitButton: BooleanConstructor;
26
+ readonly hideOnClick: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
27
+ readonly loop: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
28
+ readonly showTimeout: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 150, boolean>;
29
+ readonly hideTimeout: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 150, boolean>;
30
+ readonly tabindex: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown, 0, boolean>;
31
+ readonly maxHeight: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown, "", boolean>;
32
+ readonly popperClass: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
33
+ readonly disabled: BooleanConstructor;
34
+ readonly role: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "menu", boolean>;
35
+ readonly buttonProps: {
36
+ readonly type: import('vue').PropType<import('element-plus').ButtonProps>;
37
+ readonly required: false;
38
+ readonly validator: ((val: unknown) => boolean) | undefined;
39
+ __epPropKey: true;
40
+ };
41
+ readonly teleported: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
42
+ }, "size" | "trigger">>;
6
43
  /**
7
44
  * 属性
8
45
  */
9
46
  export declare const dropdownProps: {
47
+ /** 下拉框渐变动画 */
48
+ transition: {
49
+ type: StringConstructor;
50
+ default: string;
51
+ };
10
52
  /** 下拉菜单数据 */
11
53
  items: PropType<DropdownItem[]>;
12
54
  /** 选中的菜单 */
@@ -15,7 +57,20 @@ export declare const dropdownProps: {
15
57
  menuStyle: PropType<StyleValue>;
16
58
  /** 自定义图标属性 */
17
59
  iconProps: PropType<ElIconProps>;
18
- trigger: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType> & {}) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>) | ((new (...args: any[]) => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType> & {}) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>))[], unknown, unknown, "hover", boolean>;
60
+ /** 下拉菜单使用的组件类型 */
61
+ componentType: PropType<"pro">;
62
+ /** 是否阻止下拉菜单的右键事件 */
63
+ preventContextmenu: BooleanConstructor;
64
+ /** 内容按钮属性 */
65
+ splitButtonProps: PropType<ElButtonProps>;
66
+ /** 箭头按钮属性 */
67
+ caretButtonProps: PropType<ElButtonProps>;
68
+ type: {
69
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
70
+ readonly required: false;
71
+ readonly validator: ((val: unknown) => boolean) | undefined;
72
+ __epPropKey: true;
73
+ };
19
74
  effect: {
20
75
  readonly default: "light";
21
76
  readonly type: import('vue').PropType<string>;
@@ -23,16 +78,12 @@ export declare const dropdownProps: {
23
78
  readonly validator: ((val: unknown) => boolean) | undefined;
24
79
  readonly __epPropKey: true;
25
80
  };
26
- type: {
27
- readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "default" | "success" | "warning" | "info" | "text" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "default" | "success" | "warning" | "info" | "text" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "default" | "success" | "warning" | "info" | "text" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "default" | "success" | "warning" | "info" | "text" | "primary" | "danger", unknown>))[], unknown, unknown>>;
28
- readonly required: false;
29
- readonly validator: ((val: unknown) => boolean) | undefined;
30
- __epPropKey: true;
31
- };
32
81
  placement: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
82
+ popperClass: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
83
+ teleported: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
84
+ disabled: BooleanConstructor;
33
85
  popperOptions: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => Partial<import('element-plus').Options>) | (() => Partial<import('element-plus').Options>) | ((new (...args: any[]) => Partial<import('element-plus').Options>) | (() => Partial<import('element-plus').Options>))[], unknown, unknown, () => {}, boolean>;
34
86
  id: StringConstructor;
35
- size: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
36
87
  splitButton: BooleanConstructor;
37
88
  hideOnClick: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
38
89
  loop: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
@@ -40,8 +91,6 @@ export declare const dropdownProps: {
40
91
  hideTimeout: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 150, boolean>;
41
92
  tabindex: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown, 0, boolean>;
42
93
  maxHeight: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown, "", boolean>;
43
- popperClass: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
44
- disabled: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
45
94
  role: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "menu", boolean>;
46
95
  buttonProps: {
47
96
  readonly type: import('vue').PropType<import('element-plus').ButtonProps>;
@@ -49,21 +98,66 @@ export declare const dropdownProps: {
49
98
  readonly validator: ((val: unknown) => boolean) | undefined;
50
99
  __epPropKey: true;
51
100
  };
52
- teleported: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
101
+ size: PropType<ElButtonProps["size"]>;
102
+ ariaLabel: StringConstructor;
103
+ offset: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, undefined, boolean>;
104
+ bg: StringConstructor;
105
+ persistent: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
106
+ appendTo: {
107
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => (string | HTMLElement) & {}) | (() => string | HTMLElement) | ((new (...args: any[]) => (string | HTMLElement) & {}) | (() => string | HTMLElement))[], unknown, unknown>>;
108
+ readonly required: false;
109
+ readonly validator: ((val: unknown) => boolean) | undefined;
110
+ __epPropKey: true;
111
+ };
112
+ zIndex: NumberConstructor;
113
+ visible: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => (boolean | null) & {}) | (() => boolean | null) | ((new (...args: any[]) => (boolean | null) & {}) | (() => boolean | null))[], unknown, unknown, null, boolean>;
114
+ trigger: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType> & {}) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>) | ((new (...args: any[]) => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType> & {}) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>))[], unknown, unknown, "hover", boolean>;
115
+ triggerKeys: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string[]) | (() => string[]) | ((new (...args: any[]) => string[]) | (() => string[]))[], unknown, unknown, () => string[], boolean>;
116
+ popperStyle: PropType<StyleValue>;
117
+ enterable: {
118
+ readonly default: true;
119
+ readonly type: PropType<import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
120
+ readonly required: false;
121
+ readonly validator: ((val: unknown) => boolean) | undefined;
122
+ readonly __epPropKey: true;
123
+ };
124
+ showArrow: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
125
+ arrowOffset: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 5, boolean>;
126
+ virtualRef: {
127
+ readonly type: import('vue').PropType<import('element-plus').Measurable>;
128
+ readonly required: false;
129
+ readonly validator: ((val: unknown) => boolean) | undefined;
130
+ __epPropKey: true;
131
+ };
132
+ virtualTriggering: BooleanConstructor;
133
+ className: StringConstructor;
134
+ gpuAcceleration: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
135
+ arrowBg: StringConstructor;
53
136
  };
54
137
  export type DropdownProps = ExtractPropTypes<typeof dropdownProps>;
55
138
  /**
56
139
  * 事件
57
140
  */
58
141
  export declare const dropdownEmits: {
59
- /** SplitButton 点击事件 */
60
- click: () => boolean;
142
+ /** 内容按钮点击事件 */
143
+ click: (_e: MouseEvent) => boolean;
61
144
  /** 菜单项点击事件 */
62
145
  command: (_command: DropdownItem["command"]) => boolean;
63
- /** 下拉框出现/隐藏事件 */
146
+ /** 下拉框显示状态改变事件 */
64
147
  visibleChange: (_visible: boolean) => boolean;
65
148
  /** 更新选中值 */
66
149
  'update:modelValue': (_value: DropdownItem["command"]) => boolean;
67
150
  /** 选中改变的事件 */
68
151
  change: (_active: DropdownItem["command"]) => boolean;
152
+ 'update:visible': (value: boolean) => boolean;
153
+ 'before-enter': () => boolean;
154
+ 'before-leave': () => boolean;
155
+ 'after-enter': () => boolean;
156
+ 'after-leave': () => boolean;
69
157
  };
158
+ /**
159
+ * 属性名
160
+ */
161
+ export type ElDropdownPropKeys = Array<keyof typeof normalizeDropdownProps>;
162
+ export declare const elDropdownPropKeys: ElDropdownPropKeys;
163
+ export {};
@@ -3,5 +3,8 @@ require("element-plus/es/components/dropdown/style/index");
3
3
  require("element-plus/es/components/dropdown-menu/style/index");
4
4
  require("element-plus/es/components/dropdown-item/style/index");
5
5
  require("element-plus/es/components/icon/style/index");
6
- require("../../ele-popover/style/index");
6
+ require("element-plus/es/components/scrollbar/style/index");
7
+ require("element-plus/es/components/button-group/style/index");
8
+ require("element-plus/es/components/button/style/index");
9
+ require("../../ele-tooltip/style/index");
7
10
  require("./index.scss");
@@ -4,22 +4,151 @@
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 {
12
+ &.ele-popper.ele-popover {
13
+ min-width: auto;
14
+ width: max-content;
15
+ }
16
+
18
17
  & > .el-scrollbar {
19
18
  background: inherit;
20
19
  border-radius: inherit;
21
20
  }
21
+ }
22
+
23
+ .ele-dropdown-menu {
24
+ padding: eleVar('dropdown', 'padding');
25
+ box-sizing: border-box;
26
+ }
27
+
28
+ .ele-dropdown-menu-item {
29
+ display: flex;
30
+ align-items: center;
31
+ height: eleVar('dropdown', 'item-height');
32
+ line-height: eleVar('dropdown', 'item-height');
33
+ color: eleVar('dropdown', 'item-color');
34
+ font-size: eleVar('dropdown', 'item-font-size');
35
+ padding: eleVar('dropdown', 'item-padding');
36
+ border-radius: eleVar('dropdown', 'item-radius');
37
+ transition: (color $transition-base, background-color $transition-base);
38
+ box-sizing: border-box;
39
+ cursor: pointer;
40
+
41
+ & + .ele-dropdown-menu-item {
42
+ margin-top: eleVar('dropdown', 'item-margin');
43
+ }
44
+
45
+ & > .el-icon {
46
+ font-size: eleVar('dropdown', 'icon-size');
47
+ margin: eleVar('dropdown', 'icon-margin');
48
+ }
49
+
50
+ &:hover,
51
+ &:focus {
52
+ color: eleVar('dropdown', 'item-hover-color');
53
+ background: eleVar('dropdown', 'item-hover-bg');
54
+ }
55
+
56
+ &.is-active {
57
+ color: eleVar('dropdown', 'item-active-color');
58
+ background: eleVar('dropdown', 'item-active-bg');
59
+ font-weight: eleVar('dropdown', 'item-active-font-weight');
60
+
61
+ &:hover,
62
+ &:focus {
63
+ background: eleVar('dropdown', 'item-active-hover-bg');
64
+ }
65
+ }
66
+
67
+ &.is-danger {
68
+ color: eleVar('dropdown', 'item-danger-color');
69
+
70
+ &.is-active {
71
+ background: eleVar('dropdown', 'item-danger-bg');
72
+
73
+ &:hover,
74
+ &:focus {
75
+ background: eleVar('dropdown', 'item-danger-hover-bg');
76
+ }
77
+ }
78
+ }
79
+
80
+ &.is-disabled {
81
+ color: eleVar('dropdown', 'item-disabled-color');
82
+ background: none;
83
+ cursor: not-allowed;
84
+
85
+ &.is-active,
86
+ &.is-active:hover,
87
+ &.is-active:focus {
88
+ background: eleVar('dropdown', 'item-disabled-bg');
89
+ }
90
+ }
91
+ }
92
+
93
+ .ele-dropdown-menu-divider {
94
+ border-top: eleVar('dropdown', 'divider');
95
+ margin: eleVar('dropdown', 'divider-margin');
96
+ }
97
+
98
+ .ele-dropdown-caret-button {
99
+ width: 32px;
100
+ padding-left: 0;
101
+ padding-right: 0;
102
+ }
103
+
104
+ /* 小尺寸 */
105
+ .ele-dropdown-menu.is-small {
106
+ padding: eleVar('dropdown', 'sm-padding');
107
+
108
+ .ele-dropdown-menu-item {
109
+ height: eleVar('dropdown', 'sm-item-height');
110
+ line-height: eleVar('dropdown', 'sm-item-height');
111
+ font-size: eleVar('dropdown', 'sm-item-font-size');
112
+ padding: eleVar('dropdown', 'sm-item-padding');
113
+
114
+ & > .el-icon {
115
+ font-size: eleVar('dropdown', 'sm-icon-size');
116
+ }
117
+ }
118
+
119
+ .ele-dropdown-menu-divider {
120
+ margin: eleVar('dropdown', 'sm-divider-margin');
121
+ }
122
+ }
123
+
124
+ /* 大尺寸 */
125
+ .ele-dropdown-menu.is-large {
126
+ padding: eleVar('dropdown', 'lg-padding');
127
+
128
+ .ele-dropdown-menu-item {
129
+ height: eleVar('dropdown', 'lg-item-height');
130
+ line-height: eleVar('dropdown', 'lg-item-height');
131
+ font-size: eleVar('dropdown', 'lg-item-font-size');
132
+ padding: eleVar('dropdown', 'lg-item-padding');
133
+
134
+ & > .el-icon {
135
+ font-size: eleVar('dropdown', 'lg-icon-size');
136
+ }
137
+ }
22
138
 
139
+ .ele-dropdown-menu-divider {
140
+ margin: eleVar('dropdown', 'lg-divider-margin');
141
+ }
142
+ }
143
+
144
+ /* ElDropdown */
145
+ .ele-dropdown-trigger.el-dropdown {
146
+ color: inherit;
147
+ font-size: inherit;
148
+ line-height: inherit;
149
+ }
150
+
151
+ .ele-dropdown {
23
152
  .el-dropdown-menu {
24
153
  background: none;
25
154
  border-radius: 0;
@@ -67,10 +196,33 @@
67
196
 
68
197
  &.is-active {
69
198
  background: eleVar('dropdown', 'item-danger-bg');
199
+
200
+ &:hover,
201
+ &:focus {
202
+ background: eleVar('dropdown', 'item-danger-hover-bg');
203
+ }
204
+ }
205
+ }
206
+
207
+ &.is-disabled {
208
+ color: eleVar('dropdown', 'item-disabled-color');
209
+ background: none;
210
+ cursor: not-allowed;
211
+
212
+ &.is-active,
213
+ &.is-active:hover,
214
+ &.is-active:focus {
215
+ background: eleVar('dropdown', 'item-disabled-bg');
216
+ font-weight: eleVar('dropdown', 'item-active-font-weight');
70
217
  }
71
218
  }
72
219
  }
73
220
 
221
+ .el-dropdown-menu__item--divided {
222
+ border-top: eleVar('dropdown', 'divider');
223
+ margin: eleVar('dropdown', 'divider-margin');
224
+ }
225
+
74
226
  .el-dropdown-menu--small {
75
227
  padding: eleVar('dropdown', 'sm-padding');
76
228
 
@@ -79,6 +231,14 @@
79
231
  line-height: eleVar('dropdown', 'sm-item-height');
80
232
  font-size: eleVar('dropdown', 'sm-item-font-size');
81
233
  padding: eleVar('dropdown', 'sm-item-padding');
234
+
235
+ & > .el-icon {
236
+ font-size: eleVar('dropdown', 'sm-icon-size');
237
+ }
238
+ }
239
+
240
+ .el-dropdown-menu__item--divided {
241
+ margin: eleVar('dropdown', 'sm-divider-margin');
82
242
  }
83
243
  }
84
244
 
@@ -90,6 +250,14 @@
90
250
  line-height: eleVar('dropdown', 'lg-item-height');
91
251
  font-size: eleVar('dropdown', 'lg-item-font-size');
92
252
  padding: eleVar('dropdown', 'lg-item-padding');
253
+
254
+ & > .el-icon {
255
+ font-size: eleVar('dropdown', 'lg-icon-size');
256
+ }
257
+ }
258
+
259
+ .el-dropdown-menu__item--divided {
260
+ margin: eleVar('dropdown', 'lg-divider-margin');
93
261
  }
94
262
  }
95
263
  }
@@ -17,6 +17,4 @@ export interface DropdownItem extends ElDropdownItemProps {
17
17
  slot?: Exclude<string, 'default'>;
18
18
  /** 是否为危险样式 */
19
19
  danger?: boolean;
20
- /** 显示条件 */
21
- vIf?: any;
22
20
  }
@@ -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,9 +1,7 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
- const EleDropdown = require("../../ele-dropdown/index");
4
3
  const _sfc_main = vue.defineComponent({
5
4
  name: "FileGridItem",
6
- components: { EleDropdown },
7
5
  props: {
8
6
  /** 数据 */
9
7
  item: {
@@ -18,20 +16,16 @@ const _sfc_main = vue.defineComponent({
18
16
  current: Object,
19
17
  /** 后缀对应的图标 */
20
18
  icons: Array,
21
- /** 右键菜单 */
22
- contextMenus: Array,
23
- /** 右键菜单属性 */
24
- contextMenuProps: Object
19
+ /** 右键下拉菜单是否显示 */
20
+ ctxMenuDropdownVisible: Boolean
25
21
  },
26
22
  emits: {
27
23
  click: (_item) => true,
28
24
  checkChange: (_item) => true,
29
- contextMenu: (_option) => true,
30
- contextOpen: (_ref) => true
25
+ contextOpen: (_option) => true
31
26
  },
32
27
  setup(props, { emit }) {
33
- const dropdownRef = vue.ref(null);
34
- const dropdownVisible = vue.ref(false);
28
+ const dropdownTriggerRef = vue.ref(null);
35
29
  const selectable = vue.computed(() => {
36
30
  return props.selectionType === "checkbox" || props.selectionType === "radio";
37
31
  });
@@ -75,32 +69,22 @@ const _sfc_main = vue.defineComponent({
75
69
  emit("checkChange", props.item);
76
70
  };
77
71
  const handleContextmenu = (e) => {
78
- e.preventDefault();
79
- e.stopPropagation();
80
- if (dropdownRef.value) {
81
- dropdownRef.value.handleOpen();
82
- }
83
- };
84
- const handleItemContextMenu = (command) => {
85
- emit("contextMenu", { key: command, item: props.item });
86
- };
87
- const handleContextVisibleChange = (visible) => {
88
- dropdownVisible.value = visible;
89
- if (visible) {
90
- emit("contextOpen", dropdownRef.value);
72
+ if (dropdownTriggerRef.value != null) {
73
+ emit("contextOpen", {
74
+ item: props.item,
75
+ triggerEl: dropdownTriggerRef.value,
76
+ e
77
+ });
91
78
  }
92
79
  };
93
80
  return {
94
- dropdownRef,
95
- dropdownVisible,
81
+ dropdownTriggerRef,
96
82
  selectable,
97
83
  selected,
98
84
  icon,
99
85
  handleClick,
100
86
  handleCheckChange,
101
- handleContextmenu,
102
- handleItemContextMenu,
103
- handleContextVisibleChange
87
+ handleContextmenu
104
88
  };
105
89
  }
106
90
  });
@@ -119,12 +103,11 @@ const _hoisted_5 = [
119
103
  _hoisted_4
120
104
  ];
121
105
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
122
- const _component_EleDropdown = vue.resolveComponent("EleDropdown");
123
106
  return vue.openBlock(), vue.createElementBlock("div", {
124
107
  class: vue.normalizeClass([
125
108
  "ele-file-list-item",
126
109
  { "is-checked": _ctx.selected },
127
- { "is-active": _ctx.dropdownVisible }
110
+ { "is-active": _ctx.ctxMenuDropdownVisible }
128
111
  ]),
129
112
  onClick: _cache[3] || (_cache[3] = vue.withModifiers((...args) => _ctx.handleClick && _ctx.handleClick(...args), ["stop"]))
130
113
  }, [
@@ -155,34 +138,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
155
138
  class: "ele-file-list-item-checkbox",
156
139
  onClick: _cache[1] || (_cache[1] = vue.withModifiers((...args) => _ctx.handleCheckChange && _ctx.handleCheckChange(...args), ["stop"]))
157
140
  }, _hoisted_5)) : vue.createCommentVNode("", true),
158
- _ctx.contextMenus || _ctx.$slots.contextMenu ? (vue.openBlock(), vue.createBlock(_component_EleDropdown, vue.mergeProps({
159
- key: 1,
160
- placement: "bottom-start",
161
- popperClass: "ele-file-list-item-context"
162
- }, _ctx.contextMenuProps || {}, {
163
- ref: "dropdownRef",
164
- trigger: "click",
141
+ vue.createElementVNode("div", {
142
+ ref: "dropdownTriggerRef",
165
143
  class: "ele-file-list-item-dropdown",
166
- items: _ctx.contextMenus,
167
- onCommand: _ctx.handleItemContextMenu,
168
- onVisibleChange: _ctx.handleContextVisibleChange
169
- }), vue.createSlots({
170
- default: vue.withCtx(() => [
171
- vue.createElementVNode("div", {
172
- onClick: _cache[2] || (_cache[2] = vue.withModifiers(() => {
173
- }, ["stop"]))
174
- })
175
- ]),
176
- _: 2
177
- }, [
178
- _ctx.$slots.contextMenu ? {
179
- name: "dropdownMenu",
180
- fn: vue.withCtx(() => [
181
- vue.renderSlot(_ctx.$slots, "contextMenu", { item: _ctx.item })
182
- ]),
183
- key: "0"
184
- } : void 0
185
- ]), 1040, ["items", "onCommand", "onVisibleChange"])) : vue.createCommentVNode("", true)
144
+ onClick: _cache[2] || (_cache[2] = vue.withModifiers(() => {
145
+ }, ["stop"]))
146
+ }, null, 512)
186
147
  ], 2);
187
148
  }
188
149
  const fileGridItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);