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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/es/core-components.d.ts +1 -0
  2. package/es/core-components.js +60 -58
  3. package/es/ele-admin-layout/components/layout-tabs.d.ts +1 -6
  4. package/es/ele-admin-layout/components/layout-tabs.js +18 -76
  5. package/es/ele-admin-layout/index.js +7 -2
  6. package/es/ele-admin-layout/types.d.ts +2 -0
  7. package/es/ele-app/el.d.ts +3 -0
  8. package/es/ele-app/plus.d.ts +21 -0
  9. package/es/ele-app/style/overwrite/css-var.scss +0 -2
  10. package/es/ele-app/style/overwrite/date-picker/index.scss +13 -11
  11. package/es/ele-app/style/overwrite/index.js +0 -1
  12. package/es/ele-app/style/overwrite/index.scss +0 -1
  13. package/es/ele-app/style/scrollbar/css-var.scss +17 -16
  14. package/es/ele-app/types.d.ts +8 -1
  15. package/es/ele-basic-select/index.d.ts +2 -2
  16. package/es/ele-bottom-bar/index.d.ts +9 -2
  17. package/es/ele-bottom-bar/index.js +37 -15
  18. package/es/ele-bottom-bar/props.d.ts +2 -0
  19. package/es/ele-bottom-bar/props.js +3 -1
  20. package/es/ele-bottom-bar/style/index.scss +5 -0
  21. package/es/ele-check-card/index.d.ts +2 -2
  22. package/es/ele-cropper/components/cropper-tools.d.ts +9 -3
  23. package/es/ele-cropper/components/cropper-tools.js +42 -14
  24. package/es/ele-cropper/index.d.ts +3 -1
  25. package/es/ele-cropper/index.js +2 -1
  26. package/es/ele-cropper/props.d.ts +3 -1
  27. package/es/ele-cropper/props.js +2 -0
  28. package/es/ele-cropper/style/index.scss +3 -2
  29. package/es/ele-cropper/types.d.ts +16 -0
  30. package/es/ele-cropper-modal/index.d.ts +3 -1
  31. package/es/ele-cropper-modal/index.js +2 -1
  32. package/es/ele-cropper-modal/props.d.ts +1 -0
  33. package/es/ele-data-table/components/table-columns.d.ts +32 -0
  34. package/es/ele-data-table/components/table-columns.js +124 -0
  35. package/es/ele-data-table/index.d.ts +327 -23
  36. package/es/ele-data-table/index.js +202 -120
  37. package/es/ele-data-table/props.d.ts +14 -18
  38. package/es/ele-data-table/style/index.scss +0 -4
  39. package/es/ele-data-table/types.d.ts +5 -2
  40. package/es/ele-data-table/util.d.ts +1 -45
  41. package/es/ele-data-table/util.js +2 -110
  42. package/es/ele-drawer/index.d.ts +9 -8
  43. package/es/ele-drawer/index.js +8 -2
  44. package/es/ele-drawer/props.d.ts +2 -2
  45. package/es/ele-dropdown/components/dropdown-menu-item.d.ts +39 -0
  46. package/es/ele-dropdown/components/dropdown-menu-item.js +132 -0
  47. package/es/ele-dropdown/components/dropdown-menus.d.ts +44 -0
  48. package/es/ele-dropdown/components/dropdown-menus.js +111 -0
  49. package/es/ele-dropdown/components/pro-dropdown.d.ts +238 -0
  50. package/es/ele-dropdown/components/pro-dropdown.js +205 -0
  51. package/es/ele-dropdown/index.d.ts +521 -33
  52. package/es/ele-dropdown/index.js +147 -66
  53. package/es/ele-dropdown/props.d.ts +109 -15
  54. package/es/ele-dropdown/props.js +54 -7
  55. package/es/ele-dropdown/style/index.js +4 -1
  56. package/es/ele-dropdown/style/index.scss +226 -7
  57. package/es/ele-dropdown/types.d.ts +2 -2
  58. package/es/ele-edit-tag/index.d.ts +2 -2
  59. package/es/ele-file-list/components/file-grid-item.d.ts +11 -20
  60. package/es/ele-file-list/components/file-grid-item.js +19 -58
  61. package/es/ele-file-list/components/file-grid.d.ts +15 -19
  62. package/es/ele-file-list/components/file-grid.js +16 -39
  63. package/es/ele-file-list/components/file-table-item.d.ts +11 -20
  64. package/es/ele-file-list/components/file-table-item.js +19 -58
  65. package/es/ele-file-list/components/file-table.d.ts +15 -19
  66. package/es/ele-file-list/components/file-table.js +17 -37
  67. package/es/ele-file-list/index.d.ts +33 -12
  68. package/es/ele-file-list/index.js +118 -20
  69. package/es/ele-file-list/props.d.ts +4 -5
  70. package/es/ele-file-list/props.js +5 -8
  71. package/es/ele-file-list/style/index.scss +10 -5
  72. package/es/ele-file-list/types.d.ts +13 -1
  73. package/es/ele-icon-select/components/icon-grid.d.ts +1 -1
  74. package/es/ele-icon-select/index.d.ts +2 -2
  75. package/es/ele-image-viewer/index.d.ts +120 -0
  76. package/es/ele-image-viewer/index.js +88 -0
  77. package/es/ele-image-viewer/props.d.ts +58 -0
  78. package/es/ele-image-viewer/props.js +35 -0
  79. package/es/ele-image-viewer/style/css-var.scss +8 -0
  80. package/es/ele-image-viewer/style/index.js +2 -0
  81. package/es/ele-image-viewer/style/index.scss +117 -0
  82. package/es/ele-map-picker/components/map-view.d.ts +18 -18
  83. package/es/ele-menus/components/item-title.d.ts +48 -0
  84. package/es/ele-menus/components/item-title.js +108 -0
  85. package/es/ele-menus/components/menu-items.d.ts +78 -0
  86. package/es/ele-menus/components/menu-items.js +269 -0
  87. package/es/ele-menus/index.d.ts +77 -18
  88. package/es/ele-menus/index.js +280 -210
  89. package/es/ele-menus/props.d.ts +2 -2
  90. package/es/ele-menus/util.d.ts +1 -62
  91. package/es/ele-menus/util.js +3 -244
  92. package/es/ele-modal/index.d.ts +9 -9
  93. package/es/ele-modal/props.d.ts +2 -2
  94. package/es/ele-modal/util.d.ts +1 -1
  95. package/es/ele-modal/util.js +8 -4
  96. package/es/ele-pagination/index.d.ts +2 -2
  97. package/es/ele-pagination/props.d.ts +1 -1
  98. package/es/ele-popconfirm/index.d.ts +11 -14
  99. package/es/ele-popconfirm/index.js +31 -24
  100. package/es/ele-popconfirm/props.d.ts +3 -4
  101. package/es/ele-popover/index.d.ts +11 -14
  102. package/es/ele-popover/props.d.ts +0 -1
  103. package/es/ele-popover/props.js +1 -1
  104. package/es/ele-printer/util.js +1 -1
  105. package/es/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  106. package/es/ele-pro-layout/components/pro-iframe.js +6 -4
  107. package/es/ele-pro-layout/index.d.ts +1 -1
  108. package/es/ele-pro-layout/index.js +20 -6
  109. package/es/ele-pro-layout/props.d.ts +3 -3
  110. package/es/ele-pro-layout/props.js +3 -3
  111. package/es/ele-pro-layout/types.d.ts +9 -5
  112. package/es/ele-pro-layout/util.d.ts +6 -0
  113. package/es/ele-pro-layout/util.js +12 -0
  114. package/es/ele-pro-table/components/table-tools.d.ts +25 -26
  115. package/es/ele-pro-table/components/table-tools.js +26 -18
  116. package/es/ele-pro-table/components/tool-column.d.ts +7 -7
  117. package/es/ele-pro-table/components/tool-column.js +4 -4
  118. package/es/ele-pro-table/components/tool-export.d.ts +5 -5
  119. package/es/ele-pro-table/components/tool-print-body-cell.js +1 -1
  120. package/es/ele-pro-table/components/tool-print-header-cell.js +3 -2
  121. package/es/ele-pro-table/components/tool-print.d.ts +5 -5
  122. package/es/ele-pro-table/index.d.ts +71 -85
  123. package/es/ele-pro-table/index.js +19 -23
  124. package/es/ele-pro-table/props.d.ts +9 -11
  125. package/es/ele-pro-table/props.js +1 -1
  126. package/es/ele-segmented/index.d.ts +3 -1
  127. package/es/ele-segmented/index.js +27 -3
  128. package/es/ele-segmented/style/index.scss +7 -1
  129. package/es/ele-steps/index.d.ts +12 -12
  130. package/es/ele-steps/props.d.ts +3 -3
  131. package/es/ele-tab-tool/index.d.ts +6 -1
  132. package/es/ele-tab-tool/index.js +44 -3
  133. package/es/ele-tab-tool/props.d.ts +2 -0
  134. package/es/ele-tab-tool/props.js +3 -1
  135. package/es/ele-tab-wrap/components/tab-dropdown.js +9 -26
  136. package/es/ele-tab-wrap/index.js +21 -2
  137. package/es/ele-table/style/index.scss +1 -2
  138. package/es/ele-table-select/index.d.ts +6 -6
  139. package/es/ele-tabs/index.d.ts +21 -19
  140. package/es/ele-tabs/index.js +240 -115
  141. package/es/ele-tabs/props.d.ts +1 -6
  142. package/es/ele-tabs/props.js +1 -1
  143. package/es/ele-tabs/style/index.scss +152 -176
  144. package/es/ele-tabs/types.d.ts +29 -6
  145. package/es/ele-tool/index.js +6 -1
  146. package/es/ele-toolbar/index.d.ts +9 -9
  147. package/es/ele-tooltip/index.d.ts +15 -15
  148. package/es/ele-tooltip/props.d.ts +2 -2
  149. package/es/ele-tooltip/style/css-var.scss +4 -0
  150. package/es/ele-tree-select/index.d.ts +5 -5
  151. package/es/ele-upload-list/components/list-item.d.ts +31 -5
  152. package/es/ele-upload-list/components/list-item.js +146 -66
  153. package/es/ele-upload-list/index.d.ts +55 -26
  154. package/es/ele-upload-list/index.js +180 -97
  155. package/es/ele-upload-list/props.d.ts +22 -9
  156. package/es/ele-upload-list/props.js +20 -8
  157. package/es/ele-upload-list/style/css-var.scss +8 -0
  158. package/es/ele-upload-list/style/index.js +1 -1
  159. package/es/ele-upload-list/style/index.scss +425 -135
  160. package/es/ele-upload-list/types.d.ts +35 -11
  161. package/es/ele-virtual-table/components/body-cell.d.ts +2 -2
  162. package/es/ele-virtual-table/components/header-cell.d.ts +1 -1
  163. package/es/ele-virtual-table/components/header-row.d.ts +1 -1
  164. package/es/ele-virtual-table/index.d.ts +14 -22
  165. package/es/ele-virtual-table/index.js +8 -6
  166. package/es/ele-virtual-table/props.d.ts +6 -8
  167. package/es/icons/CornerLeftFilled.d.ts +2 -0
  168. package/es/icons/CornerLeftFilled.js +26 -0
  169. package/es/icons/CornerRightFilled.d.ts +2 -0
  170. package/es/icons/CornerRightFilled.js +26 -0
  171. package/es/icons/EyeOutlined.d.ts +2 -0
  172. package/es/icons/EyeOutlined.js +30 -0
  173. package/es/icons/FileOutlined.js +4 -4
  174. package/es/icons/SizeCompactOutlined.js +4 -4
  175. package/es/icons/SizeMiddleOutlined.d.ts +2 -0
  176. package/es/icons/SizeMiddleOutlined.js +34 -0
  177. package/es/icons/SizeSlackOutlined.js +4 -4
  178. package/es/icons/index.d.ts +4 -0
  179. package/es/icons/index.js +162 -154
  180. package/es/lang/en_US.js +4 -1
  181. package/es/lang/zh_CN.js +4 -1
  182. package/es/lang/zh_TW.js +4 -1
  183. package/es/style/plus.scss +1 -0
  184. package/es/style/themes/default.scss +84 -6
  185. package/es/style/themes/rounded.scss +6 -3
  186. package/es/style/themes/theme-util.scss +4 -0
  187. package/es/style/util.scss +10 -3
  188. package/es/utils/core.d.ts +4 -2
  189. package/es/utils/hook.d.ts +2 -0
  190. package/es/utils/hook.js +5 -1
  191. package/es/utils/menu-util.js +11 -5
  192. package/es/utils/message-box.js +5 -1
  193. package/es/utils/message.js +2 -2
  194. package/lib/core-components.cjs +60 -58
  195. package/lib/core-components.d.ts +1 -0
  196. package/lib/ele-admin-layout/components/layout-tabs.cjs +17 -75
  197. package/lib/ele-admin-layout/components/layout-tabs.d.ts +1 -6
  198. package/lib/ele-admin-layout/index.cjs +7 -2
  199. package/lib/ele-admin-layout/types.d.ts +2 -0
  200. package/lib/ele-app/el.d.ts +3 -0
  201. package/lib/ele-app/plus.d.ts +21 -0
  202. package/lib/ele-app/style/overwrite/css-var.scss +0 -2
  203. package/lib/ele-app/style/overwrite/date-picker/index.scss +13 -11
  204. package/lib/ele-app/style/overwrite/index.cjs +0 -1
  205. package/lib/ele-app/style/overwrite/index.scss +0 -1
  206. package/lib/ele-app/style/scrollbar/css-var.scss +17 -16
  207. package/lib/ele-app/types.d.ts +8 -1
  208. package/lib/ele-basic-select/index.d.ts +2 -2
  209. package/lib/ele-bottom-bar/index.cjs +36 -14
  210. package/lib/ele-bottom-bar/index.d.ts +9 -2
  211. package/lib/ele-bottom-bar/props.cjs +3 -1
  212. package/lib/ele-bottom-bar/props.d.ts +2 -0
  213. package/lib/ele-bottom-bar/style/index.scss +5 -0
  214. package/lib/ele-check-card/index.d.ts +2 -2
  215. package/lib/ele-cropper/components/cropper-tools.cjs +41 -13
  216. package/lib/ele-cropper/components/cropper-tools.d.ts +9 -3
  217. package/lib/ele-cropper/index.cjs +2 -1
  218. package/lib/ele-cropper/index.d.ts +3 -1
  219. package/lib/ele-cropper/props.cjs +2 -0
  220. package/lib/ele-cropper/props.d.ts +3 -1
  221. package/lib/ele-cropper/style/index.scss +3 -2
  222. package/lib/ele-cropper/types.d.ts +16 -0
  223. package/lib/ele-cropper-modal/index.cjs +2 -1
  224. package/lib/ele-cropper-modal/index.d.ts +3 -1
  225. package/lib/ele-cropper-modal/props.d.ts +1 -0
  226. package/lib/ele-data-table/components/table-columns.cjs +123 -0
  227. package/lib/ele-data-table/components/table-columns.d.ts +32 -0
  228. package/lib/ele-data-table/index.cjs +199 -117
  229. package/lib/ele-data-table/index.d.ts +327 -23
  230. package/lib/ele-data-table/props.d.ts +14 -18
  231. package/lib/ele-data-table/style/index.scss +0 -4
  232. package/lib/ele-data-table/types.d.ts +5 -2
  233. package/lib/ele-data-table/util.cjs +0 -108
  234. package/lib/ele-data-table/util.d.ts +1 -45
  235. package/lib/ele-drawer/index.cjs +8 -2
  236. package/lib/ele-drawer/index.d.ts +9 -8
  237. package/lib/ele-drawer/props.d.ts +2 -2
  238. package/lib/ele-dropdown/components/dropdown-menu-item.cjs +131 -0
  239. package/lib/ele-dropdown/components/dropdown-menu-item.d.ts +39 -0
  240. package/lib/ele-dropdown/components/dropdown-menus.cjs +110 -0
  241. package/lib/ele-dropdown/components/dropdown-menus.d.ts +44 -0
  242. package/lib/ele-dropdown/components/pro-dropdown.cjs +204 -0
  243. package/lib/ele-dropdown/components/pro-dropdown.d.ts +238 -0
  244. package/lib/ele-dropdown/index.cjs +149 -68
  245. package/lib/ele-dropdown/index.d.ts +521 -33
  246. package/lib/ele-dropdown/props.cjs +53 -6
  247. package/lib/ele-dropdown/props.d.ts +109 -15
  248. package/lib/ele-dropdown/style/index.cjs +4 -1
  249. package/lib/ele-dropdown/style/index.scss +226 -7
  250. package/lib/ele-dropdown/types.d.ts +2 -2
  251. package/lib/ele-edit-tag/index.d.ts +2 -2
  252. package/lib/ele-file-list/components/file-grid-item.cjs +18 -57
  253. package/lib/ele-file-list/components/file-grid-item.d.ts +11 -20
  254. package/lib/ele-file-list/components/file-grid.cjs +15 -38
  255. package/lib/ele-file-list/components/file-grid.d.ts +15 -19
  256. package/lib/ele-file-list/components/file-table-item.cjs +18 -57
  257. package/lib/ele-file-list/components/file-table-item.d.ts +11 -20
  258. package/lib/ele-file-list/components/file-table.cjs +16 -36
  259. package/lib/ele-file-list/components/file-table.d.ts +15 -19
  260. package/lib/ele-file-list/index.cjs +117 -19
  261. package/lib/ele-file-list/index.d.ts +33 -12
  262. package/lib/ele-file-list/props.cjs +4 -7
  263. package/lib/ele-file-list/props.d.ts +4 -5
  264. package/lib/ele-file-list/style/index.scss +10 -5
  265. package/lib/ele-file-list/types.d.ts +13 -1
  266. package/lib/ele-icon-select/components/icon-grid.d.ts +1 -1
  267. package/lib/ele-icon-select/index.d.ts +2 -2
  268. package/lib/ele-image-viewer/index.cjs +87 -0
  269. package/lib/ele-image-viewer/index.d.ts +120 -0
  270. package/lib/ele-image-viewer/props.cjs +35 -0
  271. package/lib/ele-image-viewer/props.d.ts +58 -0
  272. package/lib/ele-image-viewer/style/css-var.scss +8 -0
  273. package/lib/ele-image-viewer/style/index.cjs +3 -0
  274. package/lib/ele-image-viewer/style/index.scss +117 -0
  275. package/lib/ele-map-picker/components/map-view.d.ts +18 -18
  276. package/lib/ele-menus/components/item-title.cjs +107 -0
  277. package/lib/ele-menus/components/item-title.d.ts +48 -0
  278. package/lib/ele-menus/components/menu-items.cjs +268 -0
  279. package/lib/ele-menus/components/menu-items.d.ts +78 -0
  280. package/lib/ele-menus/index.cjs +278 -208
  281. package/lib/ele-menus/index.d.ts +77 -18
  282. package/lib/ele-menus/props.d.ts +2 -2
  283. package/lib/ele-menus/util.cjs +1 -242
  284. package/lib/ele-menus/util.d.ts +1 -62
  285. package/lib/ele-modal/index.d.ts +9 -9
  286. package/lib/ele-modal/props.d.ts +2 -2
  287. package/lib/ele-modal/util.cjs +8 -4
  288. package/lib/ele-modal/util.d.ts +1 -1
  289. package/lib/ele-pagination/index.d.ts +2 -2
  290. package/lib/ele-pagination/props.d.ts +1 -1
  291. package/lib/ele-popconfirm/index.cjs +31 -24
  292. package/lib/ele-popconfirm/index.d.ts +11 -14
  293. package/lib/ele-popconfirm/props.d.ts +3 -4
  294. package/lib/ele-popover/index.d.ts +11 -14
  295. package/lib/ele-popover/props.cjs +1 -1
  296. package/lib/ele-popover/props.d.ts +0 -1
  297. package/lib/ele-printer/util.cjs +1 -1
  298. package/lib/ele-pro-layout/components/pro-iframe.cjs +6 -4
  299. package/lib/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  300. package/lib/ele-pro-layout/index.cjs +19 -5
  301. package/lib/ele-pro-layout/index.d.ts +1 -1
  302. package/lib/ele-pro-layout/props.cjs +3 -3
  303. package/lib/ele-pro-layout/props.d.ts +3 -3
  304. package/lib/ele-pro-layout/types.d.ts +9 -5
  305. package/lib/ele-pro-layout/util.cjs +12 -0
  306. package/lib/ele-pro-layout/util.d.ts +6 -0
  307. package/lib/ele-pro-table/components/table-tools.cjs +24 -16
  308. package/lib/ele-pro-table/components/table-tools.d.ts +25 -26
  309. package/lib/ele-pro-table/components/tool-column.cjs +4 -4
  310. package/lib/ele-pro-table/components/tool-column.d.ts +7 -7
  311. package/lib/ele-pro-table/components/tool-export.d.ts +5 -5
  312. package/lib/ele-pro-table/components/tool-print-body-cell.cjs +1 -1
  313. package/lib/ele-pro-table/components/tool-print-header-cell.cjs +3 -2
  314. package/lib/ele-pro-table/components/tool-print.d.ts +5 -5
  315. package/lib/ele-pro-table/index.cjs +17 -21
  316. package/lib/ele-pro-table/index.d.ts +71 -85
  317. package/lib/ele-pro-table/props.cjs +1 -1
  318. package/lib/ele-pro-table/props.d.ts +9 -11
  319. package/lib/ele-segmented/index.cjs +26 -2
  320. package/lib/ele-segmented/index.d.ts +3 -1
  321. package/lib/ele-segmented/style/index.scss +7 -1
  322. package/lib/ele-steps/index.d.ts +12 -12
  323. package/lib/ele-steps/props.d.ts +3 -3
  324. package/lib/ele-tab-tool/index.cjs +43 -2
  325. package/lib/ele-tab-tool/index.d.ts +6 -1
  326. package/lib/ele-tab-tool/props.cjs +3 -1
  327. package/lib/ele-tab-tool/props.d.ts +2 -0
  328. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +8 -25
  329. package/lib/ele-tab-wrap/index.cjs +20 -1
  330. package/lib/ele-table/style/index.scss +1 -2
  331. package/lib/ele-table-select/index.d.ts +6 -6
  332. package/lib/ele-tabs/index.cjs +238 -113
  333. package/lib/ele-tabs/index.d.ts +21 -19
  334. package/lib/ele-tabs/props.cjs +1 -1
  335. package/lib/ele-tabs/props.d.ts +1 -6
  336. package/lib/ele-tabs/style/index.scss +152 -176
  337. package/lib/ele-tabs/types.d.ts +29 -6
  338. package/lib/ele-tool/index.cjs +6 -1
  339. package/lib/ele-toolbar/index.d.ts +9 -9
  340. package/lib/ele-tooltip/index.d.ts +15 -15
  341. package/lib/ele-tooltip/props.d.ts +2 -2
  342. package/lib/ele-tooltip/style/css-var.scss +4 -0
  343. package/lib/ele-tree-select/index.d.ts +5 -5
  344. package/lib/ele-upload-list/components/list-item.cjs +144 -64
  345. package/lib/ele-upload-list/components/list-item.d.ts +31 -5
  346. package/lib/ele-upload-list/index.cjs +178 -95
  347. package/lib/ele-upload-list/index.d.ts +55 -26
  348. package/lib/ele-upload-list/props.cjs +20 -8
  349. package/lib/ele-upload-list/props.d.ts +22 -9
  350. package/lib/ele-upload-list/style/css-var.scss +8 -0
  351. package/lib/ele-upload-list/style/index.cjs +1 -1
  352. package/lib/ele-upload-list/style/index.scss +425 -135
  353. package/lib/ele-upload-list/types.d.ts +35 -11
  354. package/lib/ele-virtual-table/components/body-cell.d.ts +2 -2
  355. package/lib/ele-virtual-table/components/header-cell.d.ts +1 -1
  356. package/lib/ele-virtual-table/components/header-row.d.ts +1 -1
  357. package/lib/ele-virtual-table/index.cjs +7 -5
  358. package/lib/ele-virtual-table/index.d.ts +14 -22
  359. package/lib/ele-virtual-table/props.d.ts +6 -8
  360. package/lib/icons/CornerLeftFilled.cjs +25 -0
  361. package/lib/icons/CornerLeftFilled.d.ts +2 -0
  362. package/lib/icons/CornerRightFilled.cjs +25 -0
  363. package/lib/icons/CornerRightFilled.d.ts +2 -0
  364. package/lib/icons/EyeOutlined.cjs +29 -0
  365. package/lib/icons/EyeOutlined.d.ts +2 -0
  366. package/lib/icons/FileOutlined.cjs +4 -4
  367. package/lib/icons/SizeCompactOutlined.cjs +4 -4
  368. package/lib/icons/SizeMiddleOutlined.cjs +33 -0
  369. package/lib/icons/SizeMiddleOutlined.d.ts +2 -0
  370. package/lib/icons/SizeSlackOutlined.cjs +4 -4
  371. package/lib/icons/index.cjs +8 -0
  372. package/lib/icons/index.d.ts +4 -0
  373. package/lib/lang/en_US.cjs +4 -1
  374. package/lib/lang/zh_CN.cjs +4 -1
  375. package/lib/lang/zh_TW.cjs +4 -1
  376. package/lib/style/plus.scss +1 -0
  377. package/lib/style/themes/default.scss +84 -6
  378. package/lib/style/themes/rounded.scss +6 -3
  379. package/lib/style/themes/theme-util.scss +4 -0
  380. package/lib/style/util.scss +10 -3
  381. package/lib/utils/core.d.ts +4 -2
  382. package/lib/utils/hook.cjs +5 -1
  383. package/lib/utils/hook.d.ts +2 -0
  384. package/lib/utils/menu-util.cjs +9 -3
  385. package/lib/utils/message-box.cjs +4 -0
  386. package/lib/utils/message.cjs +1 -1
  387. package/package.json +36 -36
  388. package/typings/global.d.ts +1 -0
  389. package/es/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  390. package/es/ele-app/style/overwrite/image-viewer/index.js +0 -1
  391. package/es/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  392. package/es/ele-tabs/components/tab-title.d.ts +0 -52
  393. package/es/ele-tabs/components/tab-title.js +0 -115
  394. package/lib/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  395. package/lib/ele-app/style/overwrite/image-viewer/index.cjs +0 -2
  396. package/lib/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  397. package/lib/ele-tabs/components/tab-title.cjs +0 -114
  398. package/lib/ele-tabs/components/tab-title.d.ts +0 -52
  399. /package/es/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
  400. /package/lib/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
@@ -1,73 +1,6 @@
1
- import { h, unref, computed, onDeactivated, onActivated } from "vue";
2
- import { ElTableColumn, ElEmpty } from "element-plus";
3
- import { omit, mapTree, findTree, eachTree, getValue } from "../utils/core";
1
+ import { unref, computed, onDeactivated, onActivated } from "vue";
2
+ import { mapTree, findTree, eachTree, getValue } from "../utils/core";
4
3
  import { useLayoutState } from "../ele-pro-layout/util";
5
- function getCols(cols, pageIndex, slots, slotNormalize, globalTooltip) {
6
- const nodes = [];
7
- if (cols) {
8
- cols.forEach((col) => {
9
- nodes.push(
10
- h(
11
- ElTableColumn,
12
- {
13
- ...omit(col, [
14
- "showOverflowTooltip",
15
- "filterClassName",
16
- "columnKey",
17
- "className",
18
- "uid",
19
- "slot",
20
- "headerSlot",
21
- "hideInTable",
22
- "hideInSetting",
23
- "hideInExport",
24
- "hideInPrint",
25
- "printSlot",
26
- "children",
27
- "vIf"
28
- ]),
29
- showOverflowTooltip: getTooltipProps(
30
- col.showOverflowTooltip,
31
- globalTooltip
32
- ),
33
- filterClassName: getFilterPopperClass(col.filterClassName),
34
- columnKey: col.columnKey ?? col.prop,
35
- className: getCellClass(col),
36
- index: col.index ?? pageIndex,
37
- key: col.uid ?? col.columnKey ?? col.prop
38
- },
39
- {
40
- default: (slotProps) => {
41
- const tSlot = getSlot(slots, col.slot);
42
- const $index = slotProps == null ? void 0 : slotProps.$index;
43
- if (!tSlot || $index == -1 && slotNormalize) {
44
- return getCols(
45
- col.children,
46
- pageIndex,
47
- slots,
48
- slotNormalize,
49
- globalTooltip
50
- );
51
- }
52
- return tSlot(slotProps);
53
- },
54
- header: (slotProps) => {
55
- var _a;
56
- const title = (_a = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _a.label;
57
- const nodes2 = renderSlot(slots, col.headerSlot, slotProps);
58
- return h(
59
- "div",
60
- { class: "ele-cell-title", title },
61
- nodes2 ?? title
62
- );
63
- }
64
- }
65
- )
66
- );
67
- });
68
- }
69
- return nodes;
70
- }
71
4
  function getRowClass(rowClass, param) {
72
5
  if (rowClass != null) {
73
6
  if (typeof rowClass === "function") {
@@ -127,42 +60,6 @@ function getTooltipProps(props, globalProps) {
127
60
  opt.popperClass = classes.join(" ");
128
61
  return opt;
129
62
  }
130
- function getSlot(slots, name) {
131
- if (name && slots[name] != null && typeof slots[name] === "function") {
132
- return slots[name];
133
- }
134
- }
135
- function renderSlot(slots, name, props) {
136
- const slot = getSlot(slots, name);
137
- if (slot != null) {
138
- return slot(props || {});
139
- }
140
- }
141
- function getEmptyProps(emptyProps, emptyText, errorText) {
142
- if (emptyProps === false) {
143
- return {};
144
- }
145
- return {
146
- imageSize: 68,
147
- ...!emptyProps || emptyProps === true ? {} : emptyProps,
148
- description: errorText || emptyText,
149
- class: "ele-table-empty"
150
- };
151
- }
152
- function getEmptySlot(slots, emptyProps, emptyText, errorText) {
153
- const emptySlot = slots.empty;
154
- if (!emptyProps && !emptySlot) {
155
- return;
156
- }
157
- return () => {
158
- if (emptySlot) {
159
- return emptySlot({ text: emptyText, error: errorText });
160
- }
161
- if (emptyProps) {
162
- return h(ElEmpty, getEmptyProps(emptyProps, emptyText, errorText));
163
- }
164
- };
165
- }
166
63
  function toggleRowSelectionPro(tableRef, row, selected) {
167
64
  var _a, _b;
168
65
  if (tableRef == null) {
@@ -499,9 +396,6 @@ export {
499
396
  getBodyRowClass,
500
397
  getCellClass,
501
398
  getColFixedNumber,
502
- getCols,
503
- getEmptyProps,
504
- getEmptySlot,
505
399
  getFilterPopperClass,
506
400
  getGlobalTooltipProps,
507
401
  getHeadRowClass,
@@ -510,14 +404,12 @@ export {
510
404
  getRowClass,
511
405
  getRowKeys,
512
406
  getSelectableFunction,
513
- getSlot,
514
407
  getStateCols,
515
408
  getTableFilter,
516
409
  getTooltipProps,
517
410
  isDisableRow,
518
411
  isReserveChecked,
519
412
  mergeTooltipProps,
520
- renderSlot,
521
413
  toggleRowSelectionPro,
522
414
  useEmits,
523
415
  useMethods,
@@ -13,7 +13,7 @@ declare const _default: import('vue').DefineComponent<{
13
13
  modalFade: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
14
14
  headerAriaLevel: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
15
15
  appendToBody: BooleanConstructor;
16
- appendTo: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string & {}) | (() => string) | ((new (...args: any[]) => string & {}) | (() => string))[], unknown, unknown, "body", boolean>;
16
+ appendTo: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => (string | HTMLElement) & {}) | (() => string | HTMLElement) | ((new (...args: any[]) => (string | HTMLElement) & {}) | (() => string | HTMLElement))[], unknown, unknown, "body", boolean>;
17
17
  beforeClose: {
18
18
  readonly type: import('vue').PropType<import('element-plus').DialogBeforeCloseFn>;
19
19
  readonly required: false;
@@ -47,7 +47,7 @@ declare const _default: import('vue').DefineComponent<{
47
47
  readonly validator: ((val: unknown) => boolean) | undefined;
48
48
  __epPropKey: true;
49
49
  };
50
- trapFocus: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
50
+ trapFocus: BooleanConstructor;
51
51
  center: BooleanConstructor;
52
52
  alignCenter: BooleanConstructor;
53
53
  closeIcon: {
@@ -66,6 +66,7 @@ declare const _default: import('vue').DefineComponent<{
66
66
  drawerRef: import('vue').Ref<ElDrawerInstance>;
67
67
  drawerClass: import('vue').ComputedRef<string>;
68
68
  teleportTo: import('vue').ComputedRef<string | Element>;
69
+ teleportDisabled: import('vue').ComputedRef<boolean>;
69
70
  handleClose: () => void;
70
71
  updateModelValue: (value: boolean) => void;
71
72
  handleDrawerOpen: () => void;
@@ -95,7 +96,7 @@ declare const _default: import('vue').DefineComponent<{
95
96
  modalFade: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
96
97
  headerAriaLevel: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
97
98
  appendToBody: BooleanConstructor;
98
- appendTo: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string & {}) | (() => string) | ((new (...args: any[]) => string & {}) | (() => string))[], unknown, unknown, "body", boolean>;
99
+ appendTo: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => (string | HTMLElement) & {}) | (() => string | HTMLElement) | ((new (...args: any[]) => (string | HTMLElement) & {}) | (() => string | HTMLElement))[], unknown, unknown, "body", boolean>;
99
100
  beforeClose: {
100
101
  readonly type: import('vue').PropType<import('element-plus').DialogBeforeCloseFn>;
101
102
  readonly required: false;
@@ -129,7 +130,7 @@ declare const _default: import('vue').DefineComponent<{
129
130
  readonly validator: ((val: unknown) => boolean) | undefined;
130
131
  __epPropKey: true;
131
132
  };
132
- trapFocus: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
133
+ trapFocus: BooleanConstructor;
133
134
  center: BooleanConstructor;
134
135
  alignCenter: BooleanConstructor;
135
136
  closeIcon: {
@@ -146,10 +147,10 @@ declare const _default: import('vue').DefineComponent<{
146
147
  ariaLevel: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
147
148
  }>> & {
148
149
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
149
- onOpenAutoFocus?: (() => any) | undefined;
150
- onCloseAutoFocus?: (() => any) | undefined;
151
150
  onClose?: (() => any) | undefined;
152
151
  onOpen?: (() => any) | undefined;
152
+ onOpenAutoFocus?: (() => any) | undefined;
153
+ onCloseAutoFocus?: (() => any) | undefined;
153
154
  onOpened?: (() => any) | undefined;
154
155
  onClosed?: (() => any) | undefined;
155
156
  }, {
@@ -158,7 +159,7 @@ declare const _default: import('vue').DefineComponent<{
158
159
  center: boolean;
159
160
  modelValue: boolean;
160
161
  appendToBody: boolean;
161
- appendTo: string;
162
+ appendTo: import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => (string | HTMLElement) & {}) | (() => string | HTMLElement) | ((new (...args: any[]) => (string | HTMLElement) & {}) | (() => string | HTMLElement))[], unknown, unknown>;
162
163
  destroyOnClose: boolean;
163
164
  closeOnClickModal: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
164
165
  closeOnPressEscape: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -166,7 +167,7 @@ declare const _default: import('vue').DefineComponent<{
166
167
  modal: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
167
168
  openDelay: number;
168
169
  closeDelay: number;
169
- trapFocus: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
170
+ trapFocus: boolean;
170
171
  headerAriaLevel: string;
171
172
  alignCenter: boolean;
172
173
  draggable: boolean;
@@ -34,10 +34,15 @@ const _sfc_main = defineComponent({
34
34
  return getModalContainer(
35
35
  props.inner,
36
36
  false,
37
- void 0,
37
+ props.appendTo,
38
38
  layoutState.modalsEl
39
39
  );
40
40
  });
41
+ const teleportDisabled = computed(() => {
42
+ const appendTo = props.appendTo || "body";
43
+ const disabled = appendTo === "body" ? !props.appendToBody : false;
44
+ return props.inner ? false : disabled;
45
+ });
41
46
  const handleClose = () => {
42
47
  if (drawerRef.value && drawerRef.value.handleClose) {
43
48
  drawerRef.value.handleClose();
@@ -74,6 +79,7 @@ const _sfc_main = defineComponent({
74
79
  drawerRef,
75
80
  drawerClass,
76
81
  teleportTo,
82
+ teleportDisabled,
77
83
  handleClose,
78
84
  updateModelValue,
79
85
  handleDrawerOpen,
@@ -100,7 +106,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
100
106
  const _component_ElDrawer = resolveComponent("ElDrawer");
101
107
  return openBlock(), createBlock(Teleport, {
102
108
  to: _ctx.teleportTo,
103
- disabled: _ctx.inner ? false : !_ctx.appendToBody
109
+ disabled: _ctx.teleportDisabled
104
110
  }, [
105
111
  createVNode(_component_ElDrawer, mergeProps(_ctx.$attrs, {
106
112
  ref: "drawerRef",
@@ -23,7 +23,7 @@ export declare const drawerProps: {
23
23
  modalFade: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
24
24
  headerAriaLevel: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
25
25
  appendToBody: BooleanConstructor;
26
- appendTo: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string & {}) | (() => string) | ((new (...args: any[]) => string & {}) | (() => string))[], unknown, unknown, "body", boolean>;
26
+ appendTo: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => (string | HTMLElement) & {}) | (() => string | HTMLElement) | ((new (...args: any[]) => (string | HTMLElement) & {}) | (() => string | HTMLElement))[], unknown, unknown, "body", boolean>;
27
27
  beforeClose: {
28
28
  readonly type: import('vue').PropType<import('element-plus').DialogBeforeCloseFn>;
29
29
  readonly required: false;
@@ -57,7 +57,7 @@ export declare const drawerProps: {
57
57
  readonly validator: ((val: unknown) => boolean) | undefined;
58
58
  __epPropKey: true;
59
59
  };
60
- trapFocus: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
60
+ trapFocus: BooleanConstructor;
61
61
  center: BooleanConstructor;
62
62
  alignCenter: BooleanConstructor;
63
63
  closeIcon: {
@@ -0,0 +1,39 @@
1
+ import { PropType } from 'vue';
2
+ import { ElIconProps } from '../../ele-app/el';
3
+ import { DropdownItem } from '../types';
4
+
5
+ declare const _default: import('vue').DefineComponent<{
6
+ /** 菜单项数据 */
7
+ item: {
8
+ type: PropType<DropdownItem>;
9
+ required: true;
10
+ };
11
+ /** 选中的菜单 */
12
+ selected: PropType<DropdownItem["command"]>;
13
+ /** 自定义图标属性 */
14
+ iconProps: PropType<ElIconProps>;
15
+ }, {
16
+ itemRef: import('vue').Ref<HTMLDivElement | null>;
17
+ subMenuRef: import('vue').Ref<HTMLDivElement | null>;
18
+ placement: import('vue').Ref<"rightEnd" | "leftStart" | "leftEnd" | undefined>;
19
+ handleItemClick: () => void;
20
+ handleItemMouseenter: () => void;
21
+ handleWrapperContext: (e: MouseEvent) => void;
22
+ }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
+ itemClick: (_item: DropdownItem) => true;
24
+ wrapperContext: (_e: MouseEvent) => true;
25
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
26
+ /** 菜单项数据 */
27
+ item: {
28
+ type: PropType<DropdownItem>;
29
+ required: true;
30
+ };
31
+ /** 选中的菜单 */
32
+ selected: PropType<DropdownItem["command"]>;
33
+ /** 自定义图标属性 */
34
+ iconProps: PropType<ElIconProps>;
35
+ }>> & {
36
+ onItemClick?: ((_item: DropdownItem) => any) | undefined;
37
+ onWrapperContext?: ((_e: MouseEvent) => any) | undefined;
38
+ }, {}, {}>;
39
+ export default _default;
@@ -0,0 +1,132 @@
1
+ import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, Fragment, createCommentVNode, createElementVNode, normalizeClass, withModifiers, renderSlot, createBlock, normalizeProps, mergeProps, withCtx, resolveDynamicComponent, normalizeStyle, toDisplayString, createVNode } from "vue";
2
+ import { ElIcon } from "element-plus";
3
+ import { ArrowRight } from "../../icons";
4
+ const _sfc_main = defineComponent({
5
+ name: "DropdownMenuItem",
6
+ components: { ElIcon, ArrowRight },
7
+ props: {
8
+ /** 菜单项数据 */
9
+ item: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ /** 选中的菜单 */
14
+ selected: [String, Number, Object],
15
+ /** 自定义图标属性 */
16
+ iconProps: Object
17
+ },
18
+ emits: {
19
+ itemClick: (_item) => true,
20
+ wrapperContext: (_e) => true
21
+ },
22
+ setup(props, { emit }) {
23
+ const itemRef = ref(null);
24
+ const subMenuRef = ref(null);
25
+ const placement = ref();
26
+ const handleItemClick = () => {
27
+ if (props.item.disabled) {
28
+ return;
29
+ }
30
+ emit("itemClick", props.item);
31
+ };
32
+ const handleItemMouseenter = () => {
33
+ const subMenuEl = subMenuRef.value;
34
+ if (!subMenuEl || !itemRef.value) {
35
+ return;
36
+ }
37
+ const rect = itemRef.value.getBoundingClientRect();
38
+ const rightOver = rect.right + subMenuEl.offsetWidth > window.innerWidth;
39
+ const bottomOver = rect.top + subMenuEl.offsetHeight > window.innerHeight;
40
+ if (rightOver && bottomOver) {
41
+ placement.value = "leftEnd";
42
+ } else if (rightOver) {
43
+ placement.value = "leftStart";
44
+ } else if (bottomOver) {
45
+ placement.value = "rightEnd";
46
+ } else {
47
+ placement.value = void 0;
48
+ }
49
+ };
50
+ const handleWrapperContext = (e) => {
51
+ emit("wrapperContext", e);
52
+ };
53
+ return {
54
+ itemRef,
55
+ subMenuRef,
56
+ placement,
57
+ handleItemClick,
58
+ handleItemMouseenter,
59
+ handleWrapperContext
60
+ };
61
+ }
62
+ });
63
+ const _export_sfc = (sfc, props) => {
64
+ const target = sfc.__vccOpts || sfc;
65
+ for (const [key, val] of props) {
66
+ target[key] = val;
67
+ }
68
+ return target;
69
+ };
70
+ const _hoisted_1 = {
71
+ key: 0,
72
+ class: "ele-dropdown-menu-divider"
73
+ };
74
+ const _hoisted_2 = { key: 1 };
75
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
76
+ const _component_ElIcon = resolveComponent("ElIcon");
77
+ const _component_ArrowRight = resolveComponent("ArrowRight");
78
+ return openBlock(), createElementBlock(Fragment, null, [
79
+ _ctx.item.divided ? (openBlock(), createElementBlock("div", _hoisted_1)) : createCommentVNode("", true),
80
+ createElementVNode("div", {
81
+ ref: "itemRef",
82
+ class: normalizeClass([
83
+ "ele-dropdown-menu-item",
84
+ { "is-disabled": !!_ctx.item.disabled },
85
+ { "is-active": _ctx.selected === _ctx.item.command },
86
+ { "is-danger": !!_ctx.item.danger }
87
+ ]),
88
+ onClick: _cache[2] || (_cache[2] = withModifiers((...args) => _ctx.handleItemClick && _ctx.handleItemClick(...args), ["stop"])),
89
+ onMouseenter: _cache[3] || (_cache[3] = (...args) => _ctx.handleItemMouseenter && _ctx.handleItemMouseenter(...args))
90
+ }, [
91
+ _ctx.item.slot && _ctx.item.slot !== "default" && _ctx.item.slot !== "subMenus" && _ctx.$slots[_ctx.item.slot] ? renderSlot(_ctx.$slots, _ctx.item.slot, {
92
+ key: 0,
93
+ item: _ctx.item
94
+ }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
95
+ _ctx.item.icon ? (openBlock(), createBlock(_component_ElIcon, normalizeProps(mergeProps({ key: 0 }, { ..._ctx.iconProps || {}, ..._ctx.item.iconProps || {} })), {
96
+ default: withCtx(() => [
97
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.item.icon), {
98
+ style: normalizeStyle(_ctx.item.iconStyle)
99
+ }, null, 8, ["style"]))
100
+ ]),
101
+ _: 1
102
+ }, 16)) : createCommentVNode("", true),
103
+ _ctx.item.title ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(_ctx.item.title), 1)) : createCommentVNode("", true)
104
+ ], 64)),
105
+ _ctx.item.children && _ctx.item.children.length ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
106
+ createVNode(_component_ElIcon, { class: "ele-dropdown-menu-item-arrow" }, {
107
+ default: withCtx(() => [
108
+ createVNode(_component_ArrowRight)
109
+ ]),
110
+ _: 1
111
+ }),
112
+ createElementVNode("div", {
113
+ ref: "subMenuRef",
114
+ class: normalizeClass(["ele-dropdown-wrapper is-sub-menu", [
115
+ { "is-right-end": _ctx.placement === "rightEnd" },
116
+ { "is-left-start": _ctx.placement === "leftStart" },
117
+ { "is-left-end": _ctx.placement === "leftEnd" }
118
+ ]]),
119
+ onContextmenu: _cache[0] || (_cache[0] = (...args) => _ctx.handleWrapperContext && _ctx.handleWrapperContext(...args)),
120
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
121
+ }, ["stop"]))
122
+ }, [
123
+ renderSlot(_ctx.$slots, "subMenus")
124
+ ], 34)
125
+ ], 64)) : createCommentVNode("", true)
126
+ ], 34)
127
+ ], 64);
128
+ }
129
+ const dropdownMenuItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
130
+ export {
131
+ dropdownMenuItem as default
132
+ };
@@ -0,0 +1,44 @@
1
+ import { PropType } from 'vue';
2
+ import { ElIconProps, ElButtonProps } from '../../ele-app/el';
3
+ import { StyleValue } from '../../ele-app/types';
4
+ import { DropdownItem } from '../types';
5
+
6
+ declare const _default: import('vue').DefineComponent<{
7
+ /** 下拉菜单数据 */
8
+ items: {
9
+ type: PropType<DropdownItem[]>;
10
+ required: true;
11
+ };
12
+ /** 选中的菜单 */
13
+ selected: PropType<DropdownItem["command"]>;
14
+ /** 自定义下拉菜单样式 */
15
+ menuStyle: PropType<StyleValue>;
16
+ /** 自定义图标属性 */
17
+ iconProps: PropType<ElIconProps>;
18
+ /** 尺寸 */
19
+ size: PropType<ElButtonProps["size"]>;
20
+ }, {
21
+ handleItemClick: (item: DropdownItem) => void;
22
+ handleWrapperContext: (e: MouseEvent) => void;
23
+ }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
24
+ itemClick: (_item: DropdownItem) => true;
25
+ wrapperContext: (_e: MouseEvent) => true;
26
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
27
+ /** 下拉菜单数据 */
28
+ items: {
29
+ type: PropType<DropdownItem[]>;
30
+ required: true;
31
+ };
32
+ /** 选中的菜单 */
33
+ selected: PropType<DropdownItem["command"]>;
34
+ /** 自定义下拉菜单样式 */
35
+ menuStyle: PropType<StyleValue>;
36
+ /** 自定义图标属性 */
37
+ iconProps: PropType<ElIconProps>;
38
+ /** 尺寸 */
39
+ size: PropType<ElButtonProps["size"]>;
40
+ }>> & {
41
+ onItemClick?: ((_item: DropdownItem) => any) | undefined;
42
+ onWrapperContext?: ((_e: MouseEvent) => any) | undefined;
43
+ }, {}, {}>;
44
+ export default _default;
@@ -0,0 +1,111 @@
1
+ import { defineComponent, resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, Fragment, renderList, createBlock, createSlots, withCtx, renderSlot, mergeProps, createVNode } from "vue";
2
+ import DropdownMenuItem from "./dropdown-menu-item";
3
+ const _sfc_main = defineComponent({
4
+ name: "DropdownMenus",
5
+ components: { DropdownMenuItem },
6
+ props: {
7
+ /** 下拉菜单数据 */
8
+ items: {
9
+ type: Array,
10
+ required: true
11
+ },
12
+ /** 选中的菜单 */
13
+ selected: [String, Number, Object],
14
+ /** 自定义下拉菜单样式 */
15
+ menuStyle: Object,
16
+ /** 自定义图标属性 */
17
+ iconProps: Object,
18
+ /** 尺寸 */
19
+ size: String
20
+ },
21
+ emits: {
22
+ itemClick: (_item) => true,
23
+ wrapperContext: (_e) => true
24
+ },
25
+ setup(_props, { emit }) {
26
+ const handleItemClick = (item) => {
27
+ if (item.disabled) {
28
+ return;
29
+ }
30
+ emit("itemClick", item);
31
+ };
32
+ const handleWrapperContext = (e) => {
33
+ emit("wrapperContext", e);
34
+ };
35
+ return {
36
+ handleItemClick,
37
+ handleWrapperContext
38
+ };
39
+ }
40
+ });
41
+ const _export_sfc = (sfc, props) => {
42
+ const target = sfc.__vccOpts || sfc;
43
+ for (const [key, val] of props) {
44
+ target[key] = val;
45
+ }
46
+ return target;
47
+ };
48
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
49
+ const _component_DropdownMenus = resolveComponent("DropdownMenus", true);
50
+ const _component_DropdownMenuItem = resolveComponent("DropdownMenuItem");
51
+ return openBlock(), createElementBlock("div", {
52
+ class: normalizeClass([
53
+ "ele-dropdown-menu",
54
+ { "is-small": _ctx.size === "small" },
55
+ { "is-large": _ctx.size === "large" }
56
+ ]),
57
+ style: normalizeStyle(_ctx.menuStyle)
58
+ }, [
59
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
60
+ return openBlock(), createBlock(_component_DropdownMenuItem, {
61
+ key: item.key == null ? JSON.stringify(item.command) : item.key,
62
+ item,
63
+ selected: _ctx.selected,
64
+ iconProps: _ctx.iconProps,
65
+ onItemClick: _ctx.handleItemClick,
66
+ onWrapperContext: _ctx.handleWrapperContext
67
+ }, createSlots({ _: 2 }, [
68
+ renderList(Object.keys(_ctx.$slots).filter(
69
+ (k) => "default" !== k && "subMenus" !== k
70
+ ), (name) => {
71
+ return {
72
+ name,
73
+ fn: withCtx((slotProps) => [
74
+ renderSlot(_ctx.$slots, name, mergeProps({ ref_for: true }, slotProps || {}))
75
+ ])
76
+ };
77
+ }),
78
+ item.children && item.children.length ? {
79
+ name: "subMenus",
80
+ fn: withCtx(() => [
81
+ createVNode(_component_DropdownMenus, {
82
+ items: item.children,
83
+ selected: _ctx.selected,
84
+ menuStyle: _ctx.menuStyle,
85
+ iconProps: _ctx.iconProps,
86
+ size: _ctx.size,
87
+ onItemClick: _ctx.handleItemClick,
88
+ onWrapperContext: _ctx.handleWrapperContext
89
+ }, createSlots({ _: 2 }, [
90
+ renderList(Object.keys(_ctx.$slots).filter(
91
+ (k) => "default" !== k && "subMenus" !== k
92
+ ), (name) => {
93
+ return {
94
+ name,
95
+ fn: withCtx((slotProps) => [
96
+ renderSlot(_ctx.$slots, name, mergeProps({ ref_for: true }, slotProps || {}))
97
+ ])
98
+ };
99
+ })
100
+ ]), 1032, ["items", "selected", "menuStyle", "iconProps", "size", "onItemClick", "onWrapperContext"])
101
+ ]),
102
+ key: "0"
103
+ } : void 0
104
+ ]), 1032, ["item", "selected", "iconProps", "onItemClick", "onWrapperContext"]);
105
+ }), 128))
106
+ ], 6);
107
+ }
108
+ const dropdownMenus = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
109
+ export {
110
+ dropdownMenus as default
111
+ };