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,75 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
- const elementPlus = require("element-plus");
5
4
  const core = require("../utils/core");
6
5
  const util = require("../ele-pro-layout/util");
7
- function getCols(cols, pageIndex, slots, slotNormalize, globalTooltip) {
8
- const nodes = [];
9
- if (cols) {
10
- cols.forEach((col) => {
11
- nodes.push(
12
- vue.h(
13
- elementPlus.ElTableColumn,
14
- {
15
- ...core.omit(col, [
16
- "showOverflowTooltip",
17
- "filterClassName",
18
- "columnKey",
19
- "className",
20
- "uid",
21
- "slot",
22
- "headerSlot",
23
- "hideInTable",
24
- "hideInSetting",
25
- "hideInExport",
26
- "hideInPrint",
27
- "printSlot",
28
- "children",
29
- "vIf"
30
- ]),
31
- showOverflowTooltip: getTooltipProps(
32
- col.showOverflowTooltip,
33
- globalTooltip
34
- ),
35
- filterClassName: getFilterPopperClass(col.filterClassName),
36
- columnKey: col.columnKey ?? col.prop,
37
- className: getCellClass(col),
38
- index: col.index ?? pageIndex,
39
- key: col.uid ?? col.columnKey ?? col.prop
40
- },
41
- {
42
- default: (slotProps) => {
43
- const tSlot = getSlot(slots, col.slot);
44
- const $index = slotProps == null ? void 0 : slotProps.$index;
45
- if (!tSlot || $index == -1 && slotNormalize) {
46
- return getCols(
47
- col.children,
48
- pageIndex,
49
- slots,
50
- slotNormalize,
51
- globalTooltip
52
- );
53
- }
54
- return tSlot(slotProps);
55
- },
56
- header: (slotProps) => {
57
- var _a;
58
- const title = (_a = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _a.label;
59
- const nodes2 = renderSlot(slots, col.headerSlot, slotProps);
60
- return vue.h(
61
- "div",
62
- { class: "ele-cell-title", title },
63
- nodes2 ?? title
64
- );
65
- }
66
- }
67
- )
68
- );
69
- });
70
- }
71
- return nodes;
72
- }
73
6
  function getRowClass(rowClass, param) {
74
7
  if (rowClass != null) {
75
8
  if (typeof rowClass === "function") {
@@ -129,42 +62,6 @@ function getTooltipProps(props, globalProps) {
129
62
  opt.popperClass = classes.join(" ");
130
63
  return opt;
131
64
  }
132
- function getSlot(slots, name) {
133
- if (name && slots[name] != null && typeof slots[name] === "function") {
134
- return slots[name];
135
- }
136
- }
137
- function renderSlot(slots, name, props) {
138
- const slot = getSlot(slots, name);
139
- if (slot != null) {
140
- return slot(props || {});
141
- }
142
- }
143
- function getEmptyProps(emptyProps, emptyText, errorText) {
144
- if (emptyProps === false) {
145
- return {};
146
- }
147
- return {
148
- imageSize: 68,
149
- ...!emptyProps || emptyProps === true ? {} : emptyProps,
150
- description: errorText || emptyText,
151
- class: "ele-table-empty"
152
- };
153
- }
154
- function getEmptySlot(slots, emptyProps, emptyText, errorText) {
155
- const emptySlot = slots.empty;
156
- if (!emptyProps && !emptySlot) {
157
- return;
158
- }
159
- return () => {
160
- if (emptySlot) {
161
- return emptySlot({ text: emptyText, error: errorText });
162
- }
163
- if (emptyProps) {
164
- return vue.h(elementPlus.ElEmpty, getEmptyProps(emptyProps, emptyText, errorText));
165
- }
166
- };
167
- }
168
65
  function toggleRowSelectionPro(tableRef, row, selected) {
169
66
  var _a, _b;
170
67
  if (tableRef == null) {
@@ -500,9 +397,6 @@ exports.arrayIsChanged = arrayIsChanged;
500
397
  exports.getBodyRowClass = getBodyRowClass;
501
398
  exports.getCellClass = getCellClass;
502
399
  exports.getColFixedNumber = getColFixedNumber;
503
- exports.getCols = getCols;
504
- exports.getEmptyProps = getEmptyProps;
505
- exports.getEmptySlot = getEmptySlot;
506
400
  exports.getFilterPopperClass = getFilterPopperClass;
507
401
  exports.getGlobalTooltipProps = getGlobalTooltipProps;
508
402
  exports.getHeadRowClass = getHeadRowClass;
@@ -511,14 +405,12 @@ exports.getRowByKey = getRowByKey;
511
405
  exports.getRowClass = getRowClass;
512
406
  exports.getRowKeys = getRowKeys;
513
407
  exports.getSelectableFunction = getSelectableFunction;
514
- exports.getSlot = getSlot;
515
408
  exports.getStateCols = getStateCols;
516
409
  exports.getTableFilter = getTableFilter;
517
410
  exports.getTooltipProps = getTooltipProps;
518
411
  exports.isDisableRow = isDisableRow;
519
412
  exports.isReserveChecked = isReserveChecked;
520
413
  exports.mergeTooltipProps = mergeTooltipProps;
521
- exports.renderSlot = renderSlot;
522
414
  exports.toggleRowSelectionPro = toggleRowSelectionPro;
523
415
  exports.useEmits = useEmits;
524
416
  exports.useMethods = useMethods;
@@ -1,20 +1,8 @@
1
- import { Slots, VNode } from 'vue';
2
1
  import { Emitter } from '../ele-app/types';
3
- import { ElEmptyProps, ElTableInstance } from '../ele-app/el';
2
+ import { ElTableInstance } from '../ele-app/el';
4
3
  import { dataTableEmits } from './props';
5
4
  import { DataKey, DataItem, Column, Columns, Sorter, Filter, GetInstance, TableMethods, ShowOverflowTooltip, TooltipEffect, TooltipOptions, RowClass, RowKey } from './types';
6
5
 
7
- /**
8
- * 递归获取表格列节点
9
- * @param cols 列配置
10
- * @param pageIndex 序号列起始值
11
- * @param slots 插槽对象
12
- * @param slotNormalize 是否过滤非正常的插槽渲染
13
- * @param globalTooltip 表格提示组件属性
14
- */
15
- export declare function getCols(cols: Columns | undefined, pageIndex: number | undefined, slots: Slots, slotNormalize: boolean, globalTooltip?: ShowOverflowTooltip): VNode<import('vue').RendererNode, import('vue').RendererElement, {
16
- [key: string]: any;
17
- }>[];
18
6
  /**
19
7
  * 获取行的类名
20
8
  * @param rowClass 自定义行类名
@@ -53,38 +41,6 @@ export declare function mergeTooltipProps(props?: ShowOverflowTooltip, globalPro
53
41
  * @param globalProps 表格提示组件属性
54
42
  */
55
43
  export declare function getTooltipProps(props?: ShowOverflowTooltip, globalProps?: ShowOverflowTooltip): ShowOverflowTooltip;
56
- /**
57
- * 获取插槽
58
- * @param slots 插槽对象
59
- * @param name 插槽名称
60
- */
61
- export declare function getSlot(slots: Slots, name?: string): import('vue').Slot<any> | undefined;
62
- /**
63
- * 渲染插槽
64
- * @param slots 插槽对象
65
- * @param name 插槽名称
66
- * @param props 插槽数据
67
- */
68
- export declare function renderSlot(slots: Slots, name?: string, props?: any): VNode[] | undefined;
69
- /**
70
- * 获取空组件属性
71
- * @param emptyProps 空组件属性
72
- * @param emptyText 空文本
73
- * @param errorText 错误文本
74
- */
75
- export declare function getEmptyProps(emptyProps?: boolean | ElEmptyProps, emptyText?: string, errorText?: string): ElEmptyProps;
76
- /**
77
- * 获取空状态插槽
78
- * @param slots 插槽对象
79
- * @param emptyProps 空组件属性
80
- * @param emptyText 空文本
81
- * @param errorText 错误文本
82
- */
83
- export declare function getEmptySlot(slots: Slots, emptyProps?: boolean | ElEmptyProps, emptyText?: string, errorText?: string): (() => VNode<import('vue').RendererNode, import('vue').RendererElement, {
84
- [key: string]: any;
85
- }> | VNode<import('vue').RendererNode, import('vue').RendererElement, {
86
- [key: string]: any;
87
- }>[] | undefined) | undefined;
88
44
  /**
89
45
  * 切换表格指定数据的选中状态
90
46
  * @param tableRef 表格实例
@@ -35,10 +35,15 @@ const _sfc_main = vue.defineComponent({
35
35
  return util$1.getModalContainer(
36
36
  props2.inner,
37
37
  false,
38
- void 0,
38
+ props2.appendTo,
39
39
  layoutState.modalsEl
40
40
  );
41
41
  });
42
+ const teleportDisabled = vue.computed(() => {
43
+ const appendTo = props2.appendTo || "body";
44
+ const disabled = appendTo === "body" ? !props2.appendToBody : false;
45
+ return props2.inner ? false : disabled;
46
+ });
42
47
  const handleClose = () => {
43
48
  if (drawerRef.value && drawerRef.value.handleClose) {
44
49
  drawerRef.value.handleClose();
@@ -75,6 +80,7 @@ const _sfc_main = vue.defineComponent({
75
80
  drawerRef,
76
81
  drawerClass,
77
82
  teleportTo,
83
+ teleportDisabled,
78
84
  handleClose,
79
85
  updateModelValue,
80
86
  handleDrawerOpen,
@@ -101,7 +107,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
101
107
  const _component_ElDrawer = vue.resolveComponent("ElDrawer");
102
108
  return vue.openBlock(), vue.createBlock(vue.Teleport, {
103
109
  to: _ctx.teleportTo,
104
- disabled: _ctx.inner ? false : !_ctx.appendToBody
110
+ disabled: _ctx.teleportDisabled
105
111
  }, [
106
112
  vue.createVNode(_component_ElDrawer, vue.mergeProps(_ctx.$attrs, {
107
113
  ref: "drawerRef",
@@ -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;
@@ -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,131 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const elementPlus = require("element-plus");
4
+ const icons = require("../../icons");
5
+ const _sfc_main = vue.defineComponent({
6
+ name: "DropdownMenuItem",
7
+ components: { ElIcon: elementPlus.ElIcon, ArrowRight: icons.ArrowRight },
8
+ props: {
9
+ /** 菜单项数据 */
10
+ item: {
11
+ type: Object,
12
+ required: true
13
+ },
14
+ /** 选中的菜单 */
15
+ selected: [String, Number, Object],
16
+ /** 自定义图标属性 */
17
+ iconProps: Object
18
+ },
19
+ emits: {
20
+ itemClick: (_item) => true,
21
+ wrapperContext: (_e) => true
22
+ },
23
+ setup(props, { emit }) {
24
+ const itemRef = vue.ref(null);
25
+ const subMenuRef = vue.ref(null);
26
+ const placement = vue.ref();
27
+ const handleItemClick = () => {
28
+ if (props.item.disabled) {
29
+ return;
30
+ }
31
+ emit("itemClick", props.item);
32
+ };
33
+ const handleItemMouseenter = () => {
34
+ const subMenuEl = subMenuRef.value;
35
+ if (!subMenuEl || !itemRef.value) {
36
+ return;
37
+ }
38
+ const rect = itemRef.value.getBoundingClientRect();
39
+ const rightOver = rect.right + subMenuEl.offsetWidth > window.innerWidth;
40
+ const bottomOver = rect.top + subMenuEl.offsetHeight > window.innerHeight;
41
+ if (rightOver && bottomOver) {
42
+ placement.value = "leftEnd";
43
+ } else if (rightOver) {
44
+ placement.value = "leftStart";
45
+ } else if (bottomOver) {
46
+ placement.value = "rightEnd";
47
+ } else {
48
+ placement.value = void 0;
49
+ }
50
+ };
51
+ const handleWrapperContext = (e) => {
52
+ emit("wrapperContext", e);
53
+ };
54
+ return {
55
+ itemRef,
56
+ subMenuRef,
57
+ placement,
58
+ handleItemClick,
59
+ handleItemMouseenter,
60
+ handleWrapperContext
61
+ };
62
+ }
63
+ });
64
+ const _export_sfc = (sfc, props) => {
65
+ const target = sfc.__vccOpts || sfc;
66
+ for (const [key, val] of props) {
67
+ target[key] = val;
68
+ }
69
+ return target;
70
+ };
71
+ const _hoisted_1 = {
72
+ key: 0,
73
+ class: "ele-dropdown-menu-divider"
74
+ };
75
+ const _hoisted_2 = { key: 1 };
76
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
77
+ const _component_ElIcon = vue.resolveComponent("ElIcon");
78
+ const _component_ArrowRight = vue.resolveComponent("ArrowRight");
79
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
80
+ _ctx.item.divided ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1)) : vue.createCommentVNode("", true),
81
+ vue.createElementVNode("div", {
82
+ ref: "itemRef",
83
+ class: vue.normalizeClass([
84
+ "ele-dropdown-menu-item",
85
+ { "is-disabled": !!_ctx.item.disabled },
86
+ { "is-active": _ctx.selected === _ctx.item.command },
87
+ { "is-danger": !!_ctx.item.danger }
88
+ ]),
89
+ onClick: _cache[2] || (_cache[2] = vue.withModifiers((...args) => _ctx.handleItemClick && _ctx.handleItemClick(...args), ["stop"])),
90
+ onMouseenter: _cache[3] || (_cache[3] = (...args) => _ctx.handleItemMouseenter && _ctx.handleItemMouseenter(...args))
91
+ }, [
92
+ _ctx.item.slot && _ctx.item.slot !== "default" && _ctx.item.slot !== "subMenus" && _ctx.$slots[_ctx.item.slot] ? vue.renderSlot(_ctx.$slots, _ctx.item.slot, {
93
+ key: 0,
94
+ item: _ctx.item
95
+ }) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
96
+ _ctx.item.icon ? (vue.openBlock(), vue.createBlock(_component_ElIcon, vue.normalizeProps(vue.mergeProps({ key: 0 }, { ..._ctx.iconProps || {}, ..._ctx.item.iconProps || {} })), {
97
+ default: vue.withCtx(() => [
98
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.item.icon), {
99
+ style: vue.normalizeStyle(_ctx.item.iconStyle)
100
+ }, null, 8, ["style"]))
101
+ ]),
102
+ _: 1
103
+ }, 16)) : vue.createCommentVNode("", true),
104
+ _ctx.item.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2, vue.toDisplayString(_ctx.item.title), 1)) : vue.createCommentVNode("", true)
105
+ ], 64)),
106
+ _ctx.item.children && _ctx.item.children.length ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
107
+ vue.createVNode(_component_ElIcon, { class: "ele-dropdown-menu-item-arrow" }, {
108
+ default: vue.withCtx(() => [
109
+ vue.createVNode(_component_ArrowRight)
110
+ ]),
111
+ _: 1
112
+ }),
113
+ vue.createElementVNode("div", {
114
+ ref: "subMenuRef",
115
+ class: vue.normalizeClass(["ele-dropdown-wrapper is-sub-menu", [
116
+ { "is-right-end": _ctx.placement === "rightEnd" },
117
+ { "is-left-start": _ctx.placement === "leftStart" },
118
+ { "is-left-end": _ctx.placement === "leftEnd" }
119
+ ]]),
120
+ onContextmenu: _cache[0] || (_cache[0] = (...args) => _ctx.handleWrapperContext && _ctx.handleWrapperContext(...args)),
121
+ onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
122
+ }, ["stop"]))
123
+ }, [
124
+ vue.renderSlot(_ctx.$slots, "subMenus")
125
+ ], 34)
126
+ ], 64)) : vue.createCommentVNode("", true)
127
+ ], 34)
128
+ ], 64);
129
+ }
130
+ const dropdownMenuItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
131
+ module.exports = dropdownMenuItem;
@@ -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,110 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const DropdownMenuItem = require("./dropdown-menu-item");
4
+ const _sfc_main = vue.defineComponent({
5
+ name: "DropdownMenus",
6
+ components: { DropdownMenuItem },
7
+ props: {
8
+ /** 下拉菜单数据 */
9
+ items: {
10
+ type: Array,
11
+ required: true
12
+ },
13
+ /** 选中的菜单 */
14
+ selected: [String, Number, Object],
15
+ /** 自定义下拉菜单样式 */
16
+ menuStyle: Object,
17
+ /** 自定义图标属性 */
18
+ iconProps: Object,
19
+ /** 尺寸 */
20
+ size: String
21
+ },
22
+ emits: {
23
+ itemClick: (_item) => true,
24
+ wrapperContext: (_e) => true
25
+ },
26
+ setup(_props, { emit }) {
27
+ const handleItemClick = (item) => {
28
+ if (item.disabled) {
29
+ return;
30
+ }
31
+ emit("itemClick", item);
32
+ };
33
+ const handleWrapperContext = (e) => {
34
+ emit("wrapperContext", e);
35
+ };
36
+ return {
37
+ handleItemClick,
38
+ handleWrapperContext
39
+ };
40
+ }
41
+ });
42
+ const _export_sfc = (sfc, props) => {
43
+ const target = sfc.__vccOpts || sfc;
44
+ for (const [key, val] of props) {
45
+ target[key] = val;
46
+ }
47
+ return target;
48
+ };
49
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
50
+ const _component_DropdownMenus = vue.resolveComponent("DropdownMenus", true);
51
+ const _component_DropdownMenuItem = vue.resolveComponent("DropdownMenuItem");
52
+ return vue.openBlock(), vue.createElementBlock("div", {
53
+ class: vue.normalizeClass([
54
+ "ele-dropdown-menu",
55
+ { "is-small": _ctx.size === "small" },
56
+ { "is-large": _ctx.size === "large" }
57
+ ]),
58
+ style: vue.normalizeStyle(_ctx.menuStyle)
59
+ }, [
60
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.items, (item) => {
61
+ return vue.openBlock(), vue.createBlock(_component_DropdownMenuItem, {
62
+ key: item.key == null ? JSON.stringify(item.command) : item.key,
63
+ item,
64
+ selected: _ctx.selected,
65
+ iconProps: _ctx.iconProps,
66
+ onItemClick: _ctx.handleItemClick,
67
+ onWrapperContext: _ctx.handleWrapperContext
68
+ }, vue.createSlots({ _: 2 }, [
69
+ vue.renderList(Object.keys(_ctx.$slots).filter(
70
+ (k) => "default" !== k && "subMenus" !== k
71
+ ), (name) => {
72
+ return {
73
+ name,
74
+ fn: vue.withCtx((slotProps) => [
75
+ vue.renderSlot(_ctx.$slots, name, vue.mergeProps({ ref_for: true }, slotProps || {}))
76
+ ])
77
+ };
78
+ }),
79
+ item.children && item.children.length ? {
80
+ name: "subMenus",
81
+ fn: vue.withCtx(() => [
82
+ vue.createVNode(_component_DropdownMenus, {
83
+ items: item.children,
84
+ selected: _ctx.selected,
85
+ menuStyle: _ctx.menuStyle,
86
+ iconProps: _ctx.iconProps,
87
+ size: _ctx.size,
88
+ onItemClick: _ctx.handleItemClick,
89
+ onWrapperContext: _ctx.handleWrapperContext
90
+ }, vue.createSlots({ _: 2 }, [
91
+ vue.renderList(Object.keys(_ctx.$slots).filter(
92
+ (k) => "default" !== k && "subMenus" !== k
93
+ ), (name) => {
94
+ return {
95
+ name,
96
+ fn: vue.withCtx((slotProps) => [
97
+ vue.renderSlot(_ctx.$slots, name, vue.mergeProps({ ref_for: true }, slotProps || {}))
98
+ ])
99
+ };
100
+ })
101
+ ]), 1032, ["items", "selected", "menuStyle", "iconProps", "size", "onItemClick", "onWrapperContext"])
102
+ ]),
103
+ key: "0"
104
+ } : void 0
105
+ ]), 1032, ["item", "selected", "iconProps", "onItemClick", "onWrapperContext"]);
106
+ }), 128))
107
+ ], 6);
108
+ }
109
+ const dropdownMenus = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
110
+ module.exports = dropdownMenus;
@@ -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;