ele-admin-plus 1.2.1-beta.2 → 1.2.1-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) hide show
  1. package/es/core-components.d.ts +1 -0
  2. package/es/core-components.js +60 -58
  3. package/es/ele-admin-layout/components/layout-tabs.d.ts +1 -6
  4. package/es/ele-admin-layout/components/layout-tabs.js +18 -76
  5. package/es/ele-admin-layout/index.d.ts +26 -30
  6. package/es/ele-admin-layout/index.js +7 -2
  7. package/es/ele-admin-layout/props.d.ts +11 -10
  8. package/es/ele-admin-layout/types.d.ts +2 -0
  9. package/es/ele-alert/index.d.ts +14 -14
  10. package/es/ele-alert/props.d.ts +9 -8
  11. package/es/ele-app/components/message-body.d.ts +5 -4
  12. package/es/ele-app/components/message-box-icon.d.ts +7 -6
  13. package/es/ele-app/el.d.ts +3 -0
  14. package/es/ele-app/plus.d.ts +21 -0
  15. package/es/ele-app/style/overwrite/css-var.scss +0 -2
  16. package/es/ele-app/style/overwrite/index.js +0 -1
  17. package/es/ele-app/style/overwrite/index.scss +0 -1
  18. package/es/ele-app/style/overwrite/input/index.scss +2 -0
  19. package/es/ele-app/style/scrollbar/css-var.scss +17 -16
  20. package/es/ele-app/types.d.ts +8 -1
  21. package/es/ele-avatar-group/index.d.ts +15 -14
  22. package/es/ele-avatar-group/props.d.ts +10 -7
  23. package/es/ele-basic-select/index.d.ts +19 -16
  24. package/es/ele-basic-select/index.js +14 -7
  25. package/es/ele-basic-select/props.d.ts +11 -6
  26. package/es/ele-basic-select/props.js +3 -1
  27. package/es/ele-basic-select/util.d.ts +6 -0
  28. package/es/ele-basic-select/util.js +13 -0
  29. package/es/ele-bottom-bar/index.d.ts +13 -6
  30. package/es/ele-bottom-bar/index.js +37 -15
  31. package/es/ele-bottom-bar/props.d.ts +5 -2
  32. package/es/ele-bottom-bar/props.js +3 -1
  33. package/es/ele-bottom-bar/style/index.scss +5 -0
  34. package/es/ele-breadcrumb/index.d.ts +3 -3
  35. package/es/ele-breadcrumb/props.d.ts +1 -1
  36. package/es/ele-card/index.d.ts +14 -14
  37. package/es/ele-card/props.d.ts +8 -6
  38. package/es/ele-check-card/components/card-item.d.ts +3 -2
  39. package/es/ele-check-card/index.d.ts +6 -6
  40. package/es/ele-check-card/index.js +8 -3
  41. package/es/ele-check-card/props.d.ts +3 -2
  42. package/es/ele-config-provider/index.d.ts +4 -4
  43. package/es/ele-config-provider/props.d.ts +3 -3
  44. package/es/ele-config-provider/types.d.ts +1 -0
  45. package/es/ele-copyable/index.d.ts +10 -10
  46. package/es/ele-copyable/props.d.ts +7 -5
  47. package/es/ele-count-up/index.d.ts +1 -1
  48. package/es/ele-cropper/components/cropper-tools.d.ts +12 -5
  49. package/es/ele-cropper/components/cropper-tools.js +41 -13
  50. package/es/ele-cropper/index.d.ts +6 -4
  51. package/es/ele-cropper/index.js +2 -1
  52. package/es/ele-cropper/props.d.ts +5 -2
  53. package/es/ele-cropper/props.js +2 -0
  54. package/es/ele-cropper/style/index.scss +3 -2
  55. package/es/ele-cropper/types.d.ts +16 -0
  56. package/es/ele-cropper-modal/index.d.ts +7 -5
  57. package/es/ele-cropper-modal/index.js +2 -1
  58. package/es/ele-cropper-modal/props.d.ts +2 -4
  59. package/es/ele-data-table/components/table-columns.d.ts +32 -0
  60. package/es/ele-data-table/components/table-columns.js +114 -0
  61. package/es/ele-data-table/index.d.ts +223 -41
  62. package/es/ele-data-table/index.js +202 -120
  63. package/es/ele-data-table/props.d.ts +22 -26
  64. package/es/ele-data-table/style/index.scss +1 -1
  65. package/es/ele-data-table/types.d.ts +2 -0
  66. package/es/ele-data-table/util.d.ts +1 -45
  67. package/es/ele-data-table/util.js +2 -106
  68. package/es/ele-drawer/index.d.ts +22 -22
  69. package/es/ele-drawer/props.d.ts +13 -12
  70. package/es/ele-dropdown/components/pro-dropdown.d.ts +237 -0
  71. package/es/ele-dropdown/components/pro-dropdown.js +204 -0
  72. package/es/ele-dropdown/index.d.ts +534 -48
  73. package/es/ele-dropdown/index.js +110 -25
  74. package/es/ele-dropdown/props.d.ts +120 -25
  75. package/es/ele-dropdown/props.js +54 -7
  76. package/es/ele-dropdown/style/index.js +4 -1
  77. package/es/ele-dropdown/style/index.scss +174 -6
  78. package/es/ele-edit-tag/index.d.ts +22 -20
  79. package/es/ele-edit-tag/index.js +10 -2
  80. package/es/ele-edit-tag/props.d.ts +13 -8
  81. package/es/ele-edit-tag/props.js +3 -1
  82. package/es/ele-ellipsis/index.d.ts +5 -4
  83. package/es/ele-ellipsis/props.d.ts +1 -1
  84. package/es/ele-file-list/components/file-grid-item.d.ts +11 -20
  85. package/es/ele-file-list/components/file-grid-item.js +19 -58
  86. package/es/ele-file-list/components/file-grid.d.ts +15 -19
  87. package/es/ele-file-list/components/file-grid.js +16 -39
  88. package/es/ele-file-list/components/file-table-item.d.ts +11 -20
  89. package/es/ele-file-list/components/file-table-item.js +19 -58
  90. package/es/ele-file-list/components/file-table.d.ts +15 -19
  91. package/es/ele-file-list/components/file-table.js +17 -37
  92. package/es/ele-file-list/index.d.ts +37 -16
  93. package/es/ele-file-list/index.js +118 -20
  94. package/es/ele-file-list/props.d.ts +4 -5
  95. package/es/ele-file-list/props.js +5 -8
  96. package/es/ele-file-list/style/index.scss +10 -5
  97. package/es/ele-file-list/types.d.ts +13 -1
  98. package/es/ele-icon-select/components/icon-grid.d.ts +9 -7
  99. package/es/ele-icon-select/index.d.ts +39 -38
  100. package/es/ele-icon-select/index.js +6 -2
  101. package/es/ele-icon-select/props.d.ts +18 -14
  102. package/es/ele-icon-select/props.js +2 -0
  103. package/es/ele-image-viewer/index.d.ts +120 -0
  104. package/es/ele-image-viewer/index.js +88 -0
  105. package/es/ele-image-viewer/props.d.ts +58 -0
  106. package/es/ele-image-viewer/props.js +35 -0
  107. package/es/ele-image-viewer/style/css-var.scss +8 -0
  108. package/es/ele-image-viewer/style/index.js +2 -0
  109. package/es/ele-image-viewer/style/index.scss +117 -0
  110. package/es/ele-loading/index.d.ts +4 -4
  111. package/es/ele-loading/props.d.ts +3 -2
  112. package/es/ele-map-picker/components/map-view.d.ts +8 -10
  113. package/es/ele-map-picker/components/map-view.js +1 -0
  114. package/es/ele-map-picker/index.d.ts +10 -10
  115. package/es/ele-map-picker/props.d.ts +6 -5
  116. package/es/ele-map-picker/style/index.scss +1 -1
  117. package/es/ele-menus/components/item-title.d.ts +48 -0
  118. package/es/ele-menus/components/item-title.js +108 -0
  119. package/es/ele-menus/components/menu-items.d.ts +78 -0
  120. package/es/ele-menus/components/menu-items.js +269 -0
  121. package/es/ele-menus/index.d.ts +79 -20
  122. package/es/ele-menus/index.js +280 -210
  123. package/es/ele-menus/props.d.ts +3 -3
  124. package/es/ele-menus/style/index.scss +4 -0
  125. package/es/ele-menus/util.d.ts +1 -62
  126. package/es/ele-menus/util.js +3 -244
  127. package/es/ele-modal/index.d.ts +33 -32
  128. package/es/ele-modal/index.js +30 -64
  129. package/es/ele-modal/props.d.ts +16 -15
  130. package/es/ele-modal/util.d.ts +32 -25
  131. package/es/ele-modal/util.js +239 -132
  132. package/es/ele-pagination/index.d.ts +18 -6
  133. package/es/ele-pagination/index.js +3 -2
  134. package/es/ele-pagination/props.d.ts +8 -2
  135. package/es/ele-pagination/style/index.scss +70 -0
  136. package/es/ele-popconfirm/index.d.ts +43 -46
  137. package/es/ele-popconfirm/props.d.ts +22 -21
  138. package/es/ele-popover/index.d.ts +33 -36
  139. package/es/ele-popover/props.d.ts +11 -11
  140. package/es/ele-popover/props.js +1 -1
  141. package/es/ele-printer/index.d.ts +8 -8
  142. package/es/ele-printer/props.d.ts +6 -5
  143. package/es/ele-printer/util.d.ts +5 -5
  144. package/es/ele-printer/util.js +68 -43
  145. package/es/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  146. package/es/ele-pro-layout/components/pro-iframe.js +6 -4
  147. package/es/ele-pro-layout/index.d.ts +44 -48
  148. package/es/ele-pro-layout/index.js +13 -4
  149. package/es/ele-pro-layout/props.d.ts +19 -17
  150. package/es/ele-pro-layout/props.js +3 -3
  151. package/es/ele-pro-layout/types.d.ts +9 -5
  152. package/es/ele-pro-layout/util.d.ts +6 -0
  153. package/es/ele-pro-layout/util.js +12 -0
  154. package/es/ele-pro-table/components/table-tools.d.ts +405 -35
  155. package/es/ele-pro-table/components/table-tools.js +225 -143
  156. package/es/ele-pro-table/components/tool-column-list.d.ts +12 -0
  157. package/es/ele-pro-table/components/tool-column-list.js +33 -6
  158. package/es/ele-pro-table/components/tool-column.d.ts +7 -6
  159. package/es/ele-pro-table/components/tool-column.js +15 -9
  160. package/es/ele-pro-table/components/tool-export.d.ts +30 -27
  161. package/es/ele-pro-table/components/tool-export.js +204 -184
  162. package/es/ele-pro-table/components/tool-print-body-cell.d.ts +5 -4
  163. package/es/ele-pro-table/components/tool-print-body-cell.js +1 -1
  164. package/es/ele-pro-table/components/tool-print-header-cell.d.ts +5 -4
  165. package/es/ele-pro-table/components/tool-print-header-cell.js +3 -2
  166. package/es/ele-pro-table/components/tool-print.d.ts +38 -37
  167. package/es/ele-pro-table/components/tool-print.js +357 -336
  168. package/es/ele-pro-table/index.d.ts +1015 -89
  169. package/es/ele-pro-table/index.js +60 -14
  170. package/es/ele-pro-table/props.d.ts +24 -27
  171. package/es/ele-pro-table/props.js +4 -2
  172. package/es/ele-pro-table/style/index.scss +43 -12
  173. package/es/ele-pro-table/types.d.ts +54 -0
  174. package/es/ele-pro-table/util.d.ts +51 -9
  175. package/es/ele-pro-table/util.js +89 -28
  176. package/es/ele-qr-code/components/canvas-render.d.ts +67 -0
  177. package/es/ele-qr-code/components/canvas-render.js +147 -0
  178. package/es/ele-qr-code/index.d.ts +5 -9
  179. package/es/ele-qr-code/index.js +33 -136
  180. package/es/ele-qr-code/props.d.ts +5 -2
  181. package/es/ele-qr-code/props.js +3 -1
  182. package/es/ele-qr-code/types.d.ts +5 -0
  183. package/es/ele-qr-code-svg/index.d.ts +6 -5
  184. package/es/ele-qr-code-svg/index.js +11 -14
  185. package/es/ele-segmented/index.d.ts +3 -1
  186. package/es/ele-segmented/index.js +30 -3
  187. package/es/ele-segmented/style/index.scss +7 -1
  188. package/es/ele-split-panel/index.d.ts +7 -7
  189. package/es/ele-split-panel/props.d.ts +4 -3
  190. package/es/ele-steps/index.d.ts +10 -10
  191. package/es/ele-steps/props.d.ts +5 -5
  192. package/es/ele-tab-tool/index.d.ts +6 -1
  193. package/es/ele-tab-tool/index.js +44 -3
  194. package/es/ele-tab-tool/props.d.ts +2 -0
  195. package/es/ele-tab-tool/props.js +3 -1
  196. package/es/ele-tab-wrap/components/tab-dropdown.js +9 -26
  197. package/es/ele-tab-wrap/index.js +21 -2
  198. package/es/ele-table/index.d.ts +2 -2
  199. package/es/ele-table/props.d.ts +2 -1
  200. package/es/ele-table/style/index.scss +1 -2
  201. package/es/ele-table-select/index.d.ts +24 -22
  202. package/es/ele-table-select/index.js +5 -2
  203. package/es/ele-table-select/props.d.ts +11 -7
  204. package/es/ele-table-select/props.js +2 -0
  205. package/es/ele-tabs/index.d.ts +39 -52
  206. package/es/ele-tabs/index.js +290 -118
  207. package/es/ele-tabs/props.d.ts +11 -30
  208. package/es/ele-tabs/props.js +4 -2
  209. package/es/ele-tabs/style/index.scss +186 -170
  210. package/es/ele-tabs/types.d.ts +25 -11
  211. package/es/ele-text/index.d.ts +2 -2
  212. package/es/ele-text/props.d.ts +2 -1
  213. package/es/ele-tool/index.d.ts +5 -2
  214. package/es/ele-tool/index.js +5 -3
  215. package/es/ele-tool/props.d.ts +4 -1
  216. package/es/ele-tool/props.js +3 -1
  217. package/es/ele-tool/style/index.scss +13 -0
  218. package/es/ele-toolbar/index.d.ts +18 -18
  219. package/es/ele-toolbar/props.d.ts +4 -3
  220. package/es/ele-tooltip/index.d.ts +27 -26
  221. package/es/ele-tooltip/props.d.ts +9 -8
  222. package/es/ele-tooltip/style/css-var.scss +4 -0
  223. package/es/ele-tour/index.d.ts +1 -1
  224. package/es/ele-tree-select/index.d.ts +19 -19
  225. package/es/ele-tree-select/index.js +5 -2
  226. package/es/ele-tree-select/props.d.ts +12 -8
  227. package/es/ele-tree-select/props.js +3 -1
  228. package/es/ele-upload-list/components/list-item.d.ts +31 -5
  229. package/es/ele-upload-list/components/list-item.js +146 -66
  230. package/es/ele-upload-list/index.d.ts +57 -30
  231. package/es/ele-upload-list/index.js +180 -97
  232. package/es/ele-upload-list/props.d.ts +24 -10
  233. package/es/ele-upload-list/props.js +20 -8
  234. package/es/ele-upload-list/style/css-var.scss +8 -0
  235. package/es/ele-upload-list/style/index.js +1 -1
  236. package/es/ele-upload-list/style/index.scss +426 -132
  237. package/es/ele-upload-list/types.d.ts +35 -11
  238. package/es/ele-virtual-table/components/body-cell.d.ts +13 -29
  239. package/es/ele-virtual-table/components/body-row.d.ts +13 -29
  240. package/es/ele-virtual-table/components/cell-checkbox.d.ts +3 -2
  241. package/es/ele-virtual-table/components/cell-filter.d.ts +6 -6
  242. package/es/ele-virtual-table/components/footer-row.d.ts +3 -3
  243. package/es/ele-virtual-table/components/header-cell.d.ts +8 -8
  244. package/es/ele-virtual-table/components/header-row.d.ts +8 -8
  245. package/es/ele-virtual-table/index.d.ts +27 -36
  246. package/es/ele-virtual-table/index.js +8 -6
  247. package/es/ele-virtual-table/props.d.ts +13 -15
  248. package/es/ele-watermark/index.d.ts +5 -4
  249. package/es/ele-watermark/props.d.ts +2 -1
  250. package/es/ele-xg-player/index.d.ts +3 -3
  251. package/es/icons/CornerLeftFilled.d.ts +2 -0
  252. package/es/icons/CornerLeftFilled.js +26 -0
  253. package/es/icons/CornerRightFilled.d.ts +2 -0
  254. package/es/icons/CornerRightFilled.js +26 -0
  255. package/es/icons/EyeOutlined.d.ts +2 -0
  256. package/es/icons/EyeOutlined.js +30 -0
  257. package/es/icons/FileOutlined.js +4 -4
  258. package/es/icons/SizeCompactOutlined.d.ts +2 -0
  259. package/es/icons/SizeCompactOutlined.js +34 -0
  260. package/es/icons/SizeMiddleOutlined.d.ts +2 -0
  261. package/es/icons/SizeMiddleOutlined.js +34 -0
  262. package/es/icons/SizeSlackOutlined.d.ts +2 -0
  263. package/es/icons/SizeSlackOutlined.js +34 -0
  264. package/es/icons/index.d.ts +6 -0
  265. package/es/icons/index.js +162 -150
  266. package/es/lang/en_US.js +5 -1
  267. package/es/lang/zh_CN.js +5 -1
  268. package/es/lang/zh_TW.js +5 -1
  269. package/es/style/plus.scss +1 -0
  270. package/es/style/themes/default.scss +92 -9
  271. package/es/style/themes/rounded.scss +9 -5
  272. package/es/style/themes/theme-util.scss +4 -0
  273. package/es/style/util.scss +10 -3
  274. package/es/utils/core.d.ts +4 -2
  275. package/es/utils/hook.d.ts +77 -4
  276. package/es/utils/hook.js +159 -6
  277. package/es/utils/menu-util.js +11 -5
  278. package/es/utils/message-box.js +5 -1
  279. package/es/utils/message.js +2 -2
  280. package/lib/core-components.cjs +60 -58
  281. package/lib/core-components.d.ts +1 -0
  282. package/lib/ele-admin-layout/components/layout-tabs.cjs +17 -75
  283. package/lib/ele-admin-layout/components/layout-tabs.d.ts +1 -6
  284. package/lib/ele-admin-layout/index.cjs +7 -2
  285. package/lib/ele-admin-layout/index.d.ts +26 -30
  286. package/lib/ele-admin-layout/props.d.ts +11 -10
  287. package/lib/ele-admin-layout/types.d.ts +2 -0
  288. package/lib/ele-alert/index.d.ts +14 -14
  289. package/lib/ele-alert/props.d.ts +9 -8
  290. package/lib/ele-app/components/message-body.d.ts +5 -4
  291. package/lib/ele-app/components/message-box-icon.d.ts +7 -6
  292. package/lib/ele-app/el.d.ts +3 -0
  293. package/lib/ele-app/plus.d.ts +21 -0
  294. package/lib/ele-app/style/overwrite/css-var.scss +0 -2
  295. package/lib/ele-app/style/overwrite/index.cjs +0 -1
  296. package/lib/ele-app/style/overwrite/index.scss +0 -1
  297. package/lib/ele-app/style/overwrite/input/index.scss +2 -0
  298. package/lib/ele-app/style/scrollbar/css-var.scss +17 -16
  299. package/lib/ele-app/types.d.ts +8 -1
  300. package/lib/ele-avatar-group/index.d.ts +15 -14
  301. package/lib/ele-avatar-group/props.d.ts +10 -7
  302. package/lib/ele-basic-select/index.cjs +14 -7
  303. package/lib/ele-basic-select/index.d.ts +19 -16
  304. package/lib/ele-basic-select/props.cjs +3 -1
  305. package/lib/ele-basic-select/props.d.ts +11 -6
  306. package/lib/ele-basic-select/util.cjs +13 -0
  307. package/lib/ele-basic-select/util.d.ts +6 -0
  308. package/lib/ele-bottom-bar/index.cjs +36 -14
  309. package/lib/ele-bottom-bar/index.d.ts +13 -6
  310. package/lib/ele-bottom-bar/props.cjs +3 -1
  311. package/lib/ele-bottom-bar/props.d.ts +5 -2
  312. package/lib/ele-bottom-bar/style/index.scss +5 -0
  313. package/lib/ele-breadcrumb/index.d.ts +3 -3
  314. package/lib/ele-breadcrumb/props.d.ts +1 -1
  315. package/lib/ele-card/index.d.ts +14 -14
  316. package/lib/ele-card/props.d.ts +8 -6
  317. package/lib/ele-check-card/components/card-item.d.ts +3 -2
  318. package/lib/ele-check-card/index.cjs +8 -3
  319. package/lib/ele-check-card/index.d.ts +6 -6
  320. package/lib/ele-check-card/props.d.ts +3 -2
  321. package/lib/ele-config-provider/index.d.ts +4 -4
  322. package/lib/ele-config-provider/props.d.ts +3 -3
  323. package/lib/ele-config-provider/types.d.ts +1 -0
  324. package/lib/ele-copyable/index.d.ts +10 -10
  325. package/lib/ele-copyable/props.d.ts +7 -5
  326. package/lib/ele-count-up/index.d.ts +1 -1
  327. package/lib/ele-cropper/components/cropper-tools.cjs +40 -12
  328. package/lib/ele-cropper/components/cropper-tools.d.ts +12 -5
  329. package/lib/ele-cropper/index.cjs +2 -1
  330. package/lib/ele-cropper/index.d.ts +6 -4
  331. package/lib/ele-cropper/props.cjs +2 -0
  332. package/lib/ele-cropper/props.d.ts +5 -2
  333. package/lib/ele-cropper/style/index.scss +3 -2
  334. package/lib/ele-cropper/types.d.ts +16 -0
  335. package/lib/ele-cropper-modal/index.cjs +2 -1
  336. package/lib/ele-cropper-modal/index.d.ts +7 -5
  337. package/lib/ele-cropper-modal/props.d.ts +2 -4
  338. package/lib/ele-data-table/components/table-columns.cjs +113 -0
  339. package/lib/ele-data-table/components/table-columns.d.ts +32 -0
  340. package/lib/ele-data-table/index.cjs +199 -117
  341. package/lib/ele-data-table/index.d.ts +223 -41
  342. package/lib/ele-data-table/props.d.ts +22 -26
  343. package/lib/ele-data-table/style/index.scss +1 -1
  344. package/lib/ele-data-table/types.d.ts +2 -0
  345. package/lib/ele-data-table/util.cjs +0 -104
  346. package/lib/ele-data-table/util.d.ts +1 -45
  347. package/lib/ele-drawer/index.d.ts +22 -22
  348. package/lib/ele-drawer/props.d.ts +13 -12
  349. package/lib/ele-dropdown/components/pro-dropdown.cjs +203 -0
  350. package/lib/ele-dropdown/components/pro-dropdown.d.ts +237 -0
  351. package/lib/ele-dropdown/index.cjs +113 -28
  352. package/lib/ele-dropdown/index.d.ts +534 -48
  353. package/lib/ele-dropdown/props.cjs +53 -6
  354. package/lib/ele-dropdown/props.d.ts +120 -25
  355. package/lib/ele-dropdown/style/index.cjs +4 -1
  356. package/lib/ele-dropdown/style/index.scss +174 -6
  357. package/lib/ele-edit-tag/index.cjs +10 -2
  358. package/lib/ele-edit-tag/index.d.ts +22 -20
  359. package/lib/ele-edit-tag/props.cjs +3 -1
  360. package/lib/ele-edit-tag/props.d.ts +13 -8
  361. package/lib/ele-ellipsis/index.d.ts +5 -4
  362. package/lib/ele-ellipsis/props.d.ts +1 -1
  363. package/lib/ele-file-list/components/file-grid-item.cjs +18 -57
  364. package/lib/ele-file-list/components/file-grid-item.d.ts +11 -20
  365. package/lib/ele-file-list/components/file-grid.cjs +15 -38
  366. package/lib/ele-file-list/components/file-grid.d.ts +15 -19
  367. package/lib/ele-file-list/components/file-table-item.cjs +18 -57
  368. package/lib/ele-file-list/components/file-table-item.d.ts +11 -20
  369. package/lib/ele-file-list/components/file-table.cjs +16 -36
  370. package/lib/ele-file-list/components/file-table.d.ts +15 -19
  371. package/lib/ele-file-list/index.cjs +117 -19
  372. package/lib/ele-file-list/index.d.ts +37 -16
  373. package/lib/ele-file-list/props.cjs +4 -7
  374. package/lib/ele-file-list/props.d.ts +4 -5
  375. package/lib/ele-file-list/style/index.scss +10 -5
  376. package/lib/ele-file-list/types.d.ts +13 -1
  377. package/lib/ele-icon-select/components/icon-grid.d.ts +9 -7
  378. package/lib/ele-icon-select/index.cjs +9 -5
  379. package/lib/ele-icon-select/index.d.ts +39 -38
  380. package/lib/ele-icon-select/props.cjs +2 -0
  381. package/lib/ele-icon-select/props.d.ts +18 -14
  382. package/lib/ele-image-viewer/index.cjs +87 -0
  383. package/lib/ele-image-viewer/index.d.ts +120 -0
  384. package/lib/ele-image-viewer/props.cjs +35 -0
  385. package/lib/ele-image-viewer/props.d.ts +58 -0
  386. package/lib/ele-image-viewer/style/css-var.scss +8 -0
  387. package/lib/ele-image-viewer/style/index.cjs +3 -0
  388. package/lib/ele-image-viewer/style/index.scss +117 -0
  389. package/lib/ele-loading/index.d.ts +4 -4
  390. package/lib/ele-loading/props.d.ts +3 -2
  391. package/lib/ele-map-picker/components/map-view.cjs +1 -0
  392. package/lib/ele-map-picker/components/map-view.d.ts +8 -10
  393. package/lib/ele-map-picker/index.d.ts +10 -10
  394. package/lib/ele-map-picker/props.d.ts +6 -5
  395. package/lib/ele-map-picker/style/index.scss +1 -1
  396. package/lib/ele-menus/components/item-title.cjs +107 -0
  397. package/lib/ele-menus/components/item-title.d.ts +48 -0
  398. package/lib/ele-menus/components/menu-items.cjs +268 -0
  399. package/lib/ele-menus/components/menu-items.d.ts +78 -0
  400. package/lib/ele-menus/index.cjs +278 -208
  401. package/lib/ele-menus/index.d.ts +79 -20
  402. package/lib/ele-menus/props.d.ts +3 -3
  403. package/lib/ele-menus/style/index.scss +4 -0
  404. package/lib/ele-menus/util.cjs +1 -242
  405. package/lib/ele-menus/util.d.ts +1 -62
  406. package/lib/ele-modal/index.cjs +28 -62
  407. package/lib/ele-modal/index.d.ts +33 -32
  408. package/lib/ele-modal/props.d.ts +16 -15
  409. package/lib/ele-modal/util.cjs +239 -132
  410. package/lib/ele-modal/util.d.ts +32 -25
  411. package/lib/ele-pagination/index.cjs +3 -2
  412. package/lib/ele-pagination/index.d.ts +18 -6
  413. package/lib/ele-pagination/props.d.ts +8 -2
  414. package/lib/ele-pagination/style/index.scss +70 -0
  415. package/lib/ele-popconfirm/index.d.ts +43 -46
  416. package/lib/ele-popconfirm/props.d.ts +22 -21
  417. package/lib/ele-popover/index.d.ts +33 -36
  418. package/lib/ele-popover/props.cjs +1 -1
  419. package/lib/ele-popover/props.d.ts +11 -11
  420. package/lib/ele-printer/index.d.ts +8 -8
  421. package/lib/ele-printer/props.d.ts +6 -5
  422. package/lib/ele-printer/util.cjs +68 -43
  423. package/lib/ele-printer/util.d.ts +5 -5
  424. package/lib/ele-pro-layout/components/pro-iframe.cjs +6 -4
  425. package/lib/ele-pro-layout/components/pro-iframe.d.ts +6 -6
  426. package/lib/ele-pro-layout/index.cjs +13 -4
  427. package/lib/ele-pro-layout/index.d.ts +44 -48
  428. package/lib/ele-pro-layout/props.cjs +3 -3
  429. package/lib/ele-pro-layout/props.d.ts +19 -17
  430. package/lib/ele-pro-layout/types.d.ts +9 -5
  431. package/lib/ele-pro-layout/util.cjs +12 -0
  432. package/lib/ele-pro-layout/util.d.ts +6 -0
  433. package/lib/ele-pro-table/components/table-tools.cjs +223 -141
  434. package/lib/ele-pro-table/components/table-tools.d.ts +405 -35
  435. package/lib/ele-pro-table/components/tool-column-list.cjs +32 -5
  436. package/lib/ele-pro-table/components/tool-column-list.d.ts +12 -0
  437. package/lib/ele-pro-table/components/tool-column.cjs +14 -8
  438. package/lib/ele-pro-table/components/tool-column.d.ts +7 -6
  439. package/lib/ele-pro-table/components/tool-export.cjs +201 -181
  440. package/lib/ele-pro-table/components/tool-export.d.ts +30 -27
  441. package/lib/ele-pro-table/components/tool-print-body-cell.cjs +1 -1
  442. package/lib/ele-pro-table/components/tool-print-body-cell.d.ts +5 -4
  443. package/lib/ele-pro-table/components/tool-print-header-cell.cjs +3 -2
  444. package/lib/ele-pro-table/components/tool-print-header-cell.d.ts +5 -4
  445. package/lib/ele-pro-table/components/tool-print.cjs +354 -333
  446. package/lib/ele-pro-table/components/tool-print.d.ts +38 -37
  447. package/lib/ele-pro-table/index.cjs +59 -13
  448. package/lib/ele-pro-table/index.d.ts +1015 -89
  449. package/lib/ele-pro-table/props.cjs +4 -2
  450. package/lib/ele-pro-table/props.d.ts +24 -27
  451. package/lib/ele-pro-table/style/index.scss +43 -12
  452. package/lib/ele-pro-table/types.d.ts +54 -0
  453. package/lib/ele-pro-table/util.cjs +89 -28
  454. package/lib/ele-pro-table/util.d.ts +51 -9
  455. package/lib/ele-qr-code/components/canvas-render.cjs +146 -0
  456. package/lib/ele-qr-code/components/canvas-render.d.ts +67 -0
  457. package/lib/ele-qr-code/index.cjs +32 -135
  458. package/lib/ele-qr-code/index.d.ts +5 -9
  459. package/lib/ele-qr-code/props.cjs +3 -1
  460. package/lib/ele-qr-code/props.d.ts +5 -2
  461. package/lib/ele-qr-code/types.d.ts +5 -0
  462. package/lib/ele-qr-code-svg/index.cjs +10 -13
  463. package/lib/ele-qr-code-svg/index.d.ts +6 -5
  464. package/lib/ele-segmented/index.cjs +29 -2
  465. package/lib/ele-segmented/index.d.ts +3 -1
  466. package/lib/ele-segmented/style/index.scss +7 -1
  467. package/lib/ele-split-panel/index.d.ts +7 -7
  468. package/lib/ele-split-panel/props.d.ts +4 -3
  469. package/lib/ele-steps/index.d.ts +10 -10
  470. package/lib/ele-steps/props.d.ts +5 -5
  471. package/lib/ele-tab-tool/index.cjs +43 -2
  472. package/lib/ele-tab-tool/index.d.ts +6 -1
  473. package/lib/ele-tab-tool/props.cjs +3 -1
  474. package/lib/ele-tab-tool/props.d.ts +2 -0
  475. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +8 -25
  476. package/lib/ele-tab-wrap/index.cjs +20 -1
  477. package/lib/ele-table/index.d.ts +2 -2
  478. package/lib/ele-table/props.d.ts +2 -1
  479. package/lib/ele-table/style/index.scss +1 -2
  480. package/lib/ele-table-select/index.cjs +20 -17
  481. package/lib/ele-table-select/index.d.ts +24 -22
  482. package/lib/ele-table-select/props.cjs +2 -0
  483. package/lib/ele-table-select/props.d.ts +11 -7
  484. package/lib/ele-tabs/index.cjs +288 -116
  485. package/lib/ele-tabs/index.d.ts +39 -52
  486. package/lib/ele-tabs/props.cjs +4 -2
  487. package/lib/ele-tabs/props.d.ts +11 -30
  488. package/lib/ele-tabs/style/index.scss +186 -170
  489. package/lib/ele-tabs/types.d.ts +25 -11
  490. package/lib/ele-text/index.d.ts +2 -2
  491. package/lib/ele-text/props.d.ts +2 -1
  492. package/lib/ele-tool/index.cjs +5 -3
  493. package/lib/ele-tool/index.d.ts +5 -2
  494. package/lib/ele-tool/props.cjs +3 -1
  495. package/lib/ele-tool/props.d.ts +4 -1
  496. package/lib/ele-tool/style/index.scss +13 -0
  497. package/lib/ele-toolbar/index.d.ts +18 -18
  498. package/lib/ele-toolbar/props.d.ts +4 -3
  499. package/lib/ele-tooltip/index.d.ts +27 -26
  500. package/lib/ele-tooltip/props.d.ts +9 -8
  501. package/lib/ele-tooltip/style/css-var.scss +4 -0
  502. package/lib/ele-tour/index.d.ts +1 -1
  503. package/lib/ele-tree-select/index.cjs +4 -1
  504. package/lib/ele-tree-select/index.d.ts +19 -19
  505. package/lib/ele-tree-select/props.cjs +3 -1
  506. package/lib/ele-tree-select/props.d.ts +12 -8
  507. package/lib/ele-upload-list/components/list-item.cjs +144 -64
  508. package/lib/ele-upload-list/components/list-item.d.ts +31 -5
  509. package/lib/ele-upload-list/index.cjs +178 -95
  510. package/lib/ele-upload-list/index.d.ts +57 -30
  511. package/lib/ele-upload-list/props.cjs +20 -8
  512. package/lib/ele-upload-list/props.d.ts +24 -10
  513. package/lib/ele-upload-list/style/css-var.scss +8 -0
  514. package/lib/ele-upload-list/style/index.cjs +1 -1
  515. package/lib/ele-upload-list/style/index.scss +426 -132
  516. package/lib/ele-upload-list/types.d.ts +35 -11
  517. package/lib/ele-virtual-table/components/body-cell.d.ts +13 -29
  518. package/lib/ele-virtual-table/components/body-row.d.ts +13 -29
  519. package/lib/ele-virtual-table/components/cell-checkbox.d.ts +3 -2
  520. package/lib/ele-virtual-table/components/cell-filter.d.ts +6 -6
  521. package/lib/ele-virtual-table/components/footer-row.d.ts +3 -3
  522. package/lib/ele-virtual-table/components/header-cell.d.ts +8 -8
  523. package/lib/ele-virtual-table/components/header-row.d.ts +8 -8
  524. package/lib/ele-virtual-table/index.cjs +7 -5
  525. package/lib/ele-virtual-table/index.d.ts +27 -36
  526. package/lib/ele-virtual-table/props.d.ts +13 -15
  527. package/lib/ele-watermark/index.d.ts +5 -4
  528. package/lib/ele-watermark/props.d.ts +2 -1
  529. package/lib/ele-xg-player/index.d.ts +3 -3
  530. package/lib/icons/CornerLeftFilled.cjs +25 -0
  531. package/lib/icons/CornerLeftFilled.d.ts +2 -0
  532. package/lib/icons/CornerRightFilled.cjs +25 -0
  533. package/lib/icons/CornerRightFilled.d.ts +2 -0
  534. package/lib/icons/EyeOutlined.cjs +29 -0
  535. package/lib/icons/EyeOutlined.d.ts +2 -0
  536. package/lib/icons/FileOutlined.cjs +4 -4
  537. package/lib/icons/SizeCompactOutlined.cjs +33 -0
  538. package/lib/icons/SizeCompactOutlined.d.ts +2 -0
  539. package/lib/icons/SizeMiddleOutlined.cjs +33 -0
  540. package/lib/icons/SizeMiddleOutlined.d.ts +2 -0
  541. package/lib/icons/SizeSlackOutlined.cjs +33 -0
  542. package/lib/icons/SizeSlackOutlined.d.ts +2 -0
  543. package/lib/icons/index.cjs +12 -0
  544. package/lib/icons/index.d.ts +6 -0
  545. package/lib/lang/en_US.cjs +5 -1
  546. package/lib/lang/zh_CN.cjs +5 -1
  547. package/lib/lang/zh_TW.cjs +5 -1
  548. package/lib/style/plus.scss +1 -0
  549. package/lib/style/themes/default.scss +92 -9
  550. package/lib/style/themes/rounded.scss +9 -5
  551. package/lib/style/themes/theme-util.scss +4 -0
  552. package/lib/style/util.scss +10 -3
  553. package/lib/utils/core.d.ts +4 -2
  554. package/lib/utils/hook.cjs +158 -5
  555. package/lib/utils/hook.d.ts +77 -4
  556. package/lib/utils/menu-util.cjs +9 -3
  557. package/lib/utils/message-box.cjs +4 -0
  558. package/lib/utils/message.cjs +1 -1
  559. package/package.json +38 -37
  560. package/typings/global.d.ts +1 -0
  561. package/es/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  562. package/es/ele-app/style/overwrite/image-viewer/index.js +0 -1
  563. package/es/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  564. package/es/ele-tabs/components/tab-title.d.ts +0 -52
  565. package/es/ele-tabs/components/tab-title.js +0 -115
  566. package/lib/ele-app/style/overwrite/image-viewer/css-var.scss +0 -8
  567. package/lib/ele-app/style/overwrite/image-viewer/index.cjs +0 -2
  568. package/lib/ele-app/style/overwrite/image-viewer/index.scss +0 -10
  569. package/lib/ele-tabs/components/tab-title.cjs +0 -114
  570. package/lib/ele-tabs/components/tab-title.d.ts +0 -52
  571. /package/es/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
  572. /package/lib/{ele-app/style/overwrite/image-viewer → ele-image-viewer/style}/index.d.ts +0 -0
@@ -1,20 +1,49 @@
1
- import { defineComponent, inject, ref, computed, onMounted, onBeforeUnmount, watch, resolveComponent, openBlock, createBlock, mergeProps, createSlots, withCtx, createElementBlock, Fragment, renderList, createVNode, renderSlot } from "vue";
1
+ import { defineComponent, inject, ref, computed, shallowRef, onMounted, onBeforeUnmount, watch, nextTick, resolveComponent, openBlock, createBlock, mergeProps, createSlots, withCtx, createElementBlock, Fragment, renderList, createElementVNode, renderSlot, createTextVNode, toDisplayString, createVNode, createCommentVNode } from "vue";
2
2
  import SortableJs from "sortablejs";
3
- import { ElTabs, ElTabPane } from "element-plus";
3
+ import { ElTabs, ElTabPane, ElIcon } from "element-plus";
4
+ import { CornerLeftFilled, CornerRightFilled } from "../icons";
4
5
  import { pick, omit } from "../utils/core";
5
- import TabTitle from "./components/tab-title";
6
+ import { useTimer, useMousewheel, useTouchEvent } from "../utils/hook";
7
+ import EleDropdown from "../ele-dropdown/index";
6
8
  import { tabsProps, tabsEmits, TAB_WRAP_KEY, tabPropKeys } from "./props";
7
9
  const _sfc_main = defineComponent({
8
10
  name: "EleTabs",
9
- components: { ElTabs, ElTabPane, TabTitle },
11
+ components: {
12
+ ElTabs,
13
+ ElTabPane,
14
+ ElIcon,
15
+ EleDropdown,
16
+ CornerLeftFilled,
17
+ CornerRightFilled
18
+ },
10
19
  props: tabsProps,
11
20
  emits: tabsEmits,
12
21
  setup(props, { emit }) {
22
+ let sortableIns = null;
23
+ let currentSortItemId = null;
24
+ let contextMenuTabItem = null;
25
+ let contextMenuTabName = null;
13
26
  const wrapProps = inject(TAB_WRAP_KEY, null);
14
- const current = { sortIns: null, isScroll: false };
27
+ const [startScrollTimer, _stopScrollTimer, scrollWaiting] = useTimer(320);
28
+ const { bindMousewheel, unbindMousewheel } = useMousewheel((param) => {
29
+ const { e, direction } = param;
30
+ scrollTabs(direction === "up" ? "prev" : "next", () => {
31
+ e.preventDefault();
32
+ e.stopPropagation();
33
+ });
34
+ });
35
+ const { bindTouchEvent, unbindTouchEvent } = useTouchEvent({
36
+ end: (param) => {
37
+ if (param.distanceX && param.distanceX > 80) {
38
+ scrollTabs("prev");
39
+ } else if (param.distanceX && param.distanceX < 80) {
40
+ scrollTabs("next");
41
+ }
42
+ }
43
+ });
44
+ const [startGhostTimer] = useTimer(100);
15
45
  const tabRef = ref(null);
16
- const itemRefs = ref([]);
17
- const isWrap = computed(() => wrapProps == null);
46
+ const isOnlyTab = computed(() => wrapProps == null);
18
47
  const tabSize = computed(
19
48
  () => wrapProps == null ? props.size : wrapProps.size
20
49
  );
@@ -24,15 +53,21 @@ const _sfc_main = defineComponent({
24
53
  const tabProps = computed(() => {
25
54
  return pick(props, tabPropKeys);
26
55
  });
27
- const getContextMenus = (item) => {
28
- if (typeof props.contextMenus === "function") {
29
- return props.contextMenus(item);
30
- }
31
- return props.contextMenus;
32
- };
56
+ const ctxMenuDropdownRef = ref(null);
57
+ const ctxMenuDropdownItems = shallowRef([]);
58
+ const ctxMenuDropdownVirtualRef = ref();
33
59
  const updateModelValue = (name) => {
34
60
  emit("update:modelValue", name);
35
61
  };
62
+ const handleContextmenu = (e) => {
63
+ if (!props.contextMenu) {
64
+ return;
65
+ }
66
+ const el = e.target;
67
+ if (el && el.classList.contains("is-icon-close")) {
68
+ e.preventDefault();
69
+ }
70
+ };
36
71
  const handleTabClick = (pane, e) => {
37
72
  emit("tabClick", pane, e);
38
73
  };
@@ -48,55 +83,80 @@ const _sfc_main = defineComponent({
48
83
  const handleEdit = (name, action) => {
49
84
  emit("edit", name, action);
50
85
  };
51
- const handleItemClick = (option) => {
52
- emit("tabItemClick", option);
86
+ const handleItemClick = (item, tabName, e) => {
87
+ if (props.handleClick) {
88
+ e.stopPropagation();
89
+ }
90
+ emit("tabItemClick", {
91
+ item,
92
+ name: item ? item.name : tabName,
93
+ active: props.modelValue
94
+ });
53
95
  };
54
- const handleItemContextMenu = (option) => {
55
- emit("tabContextMenu", option);
96
+ const handleItemCtxMenuVisible = (visible) => {
97
+ if (visible) {
98
+ emit(
99
+ "tabContextOpen",
100
+ ctxMenuDropdownRef.value,
101
+ contextMenuTabItem,
102
+ contextMenuTabName
103
+ );
104
+ }
56
105
  };
57
- const handleItemContextOpen = (ref2) => {
58
- if (itemRefs.value) {
59
- itemRefs.value.forEach((r) => {
60
- if ((r == null ? void 0 : r.dropdownRef) && r.dropdownRef !== ref2) {
61
- r.dropdownRef.handleClose();
62
- }
106
+ const handleItemCtxMenuClick = (command) => {
107
+ if (contextMenuTabItem != null || contextMenuTabName != null) {
108
+ emit("tabContextMenu", {
109
+ command,
110
+ item: contextMenuTabItem,
111
+ name: contextMenuTabItem ? contextMenuTabItem.name : contextMenuTabName,
112
+ active: props.modelValue
63
113
  });
64
114
  }
65
- emit("tabContextOpen", ref2);
66
115
  };
67
- const handleContextmenu = (e) => {
68
- const el = e.target;
69
- if (el && el.classList.contains("is-icon-close")) {
70
- e.preventDefault();
116
+ const getContextMenus = (item, tabName) => {
117
+ if (typeof props.contextMenus === "function") {
118
+ return props.contextMenus(item, tabName);
71
119
  }
120
+ return props.contextMenus;
72
121
  };
73
122
  const hideAllDropdown = () => {
74
- if (itemRefs.value) {
75
- itemRefs.value.forEach((r) => {
76
- if (r == null ? void 0 : r.dropdownRef) {
77
- r.dropdownRef.handleClose();
78
- }
79
- });
123
+ if (ctxMenuDropdownRef.value) {
124
+ ctxMenuDropdownRef.value.handleClose();
80
125
  }
81
126
  };
127
+ const showItemContextMenu = (item, tabName, itemEl) => {
128
+ if (contextMenuTabItem != null && contextMenuTabItem === item || contextMenuTabName != null && contextMenuTabName === tabName) {
129
+ return;
130
+ }
131
+ hideAllDropdown();
132
+ nextTick(() => {
133
+ contextMenuTabItem = item;
134
+ contextMenuTabName = tabName;
135
+ ctxMenuDropdownItems.value = getContextMenus(item, tabName) || [];
136
+ ctxMenuDropdownVirtualRef.value = itemEl;
137
+ if (props.contextMenu && ctxMenuDropdownItems.value.length) {
138
+ nextTick(() => {
139
+ ctxMenuDropdownRef.value && ctxMenuDropdownRef.value.handleOpen();
140
+ });
141
+ }
142
+ });
143
+ };
144
+ const handleItemContextmenu = (item, tabName, e) => {
145
+ const itemEl = e.currentTarget;
146
+ if (!props.contextMenu || ctxMenuDropdownVirtualRef.value === itemEl) {
147
+ return;
148
+ }
149
+ e.preventDefault();
150
+ showItemContextMenu(item, tabName, itemEl);
151
+ };
82
152
  const getHeaderEl = () => {
83
153
  const tabEl = tabRef.value ? tabRef.value.$el : void 0;
84
- const el = tabEl ? tabEl.querySelector(".el-tabs__header") : void 0;
85
- return el;
154
+ return tabEl ? tabEl.querySelector(".el-tabs__header") : void 0;
86
155
  };
87
156
  const getNavEl = () => {
88
157
  const headerEl = getHeaderEl();
89
158
  return headerEl ? headerEl.querySelector(".el-tabs__nav") : void 0;
90
159
  };
91
- const getBtnEl = (el, e, firefox) => {
92
- const wheelDelta = e.wheelDelta || e.detail;
93
- const delta = firefox ? -wheelDelta : wheelDelta;
94
- if (delta > 0) {
95
- return el.querySelector(".el-tabs__nav-prev");
96
- } else if (delta < 0) {
97
- return el.querySelector(".el-tabs__nav-next");
98
- }
99
- };
100
160
  const updateActiveBar = () => {
101
161
  const el = getNavEl();
102
162
  if (el) {
@@ -106,15 +166,45 @@ const _sfc_main = defineComponent({
106
166
  }
107
167
  }
108
168
  };
169
+ const scrollTabs = (direction, done) => {
170
+ const tabEl = getHeaderEl();
171
+ if (tabEl && !scrollWaiting.value) {
172
+ const el = tabEl.querySelector(`.el-tabs__nav-${direction}`);
173
+ if (el && !el.classList.contains("is-disabled")) {
174
+ startScrollTimer();
175
+ done && done();
176
+ el.click();
177
+ }
178
+ }
179
+ };
180
+ const checkSortGhostTab = () => {
181
+ const navEl = getNavEl();
182
+ if (navEl == null) {
183
+ return;
184
+ }
185
+ if (currentSortItemId == null) {
186
+ const el2 = navEl.querySelector(".el-tabs__item.sortable-ghost");
187
+ if (el2 != null) {
188
+ el2.classList.remove("sortable-ghost");
189
+ }
190
+ return;
191
+ }
192
+ const el = navEl.querySelector(
193
+ `.el-tabs__item[id="${currentSortItemId}"]`
194
+ );
195
+ if (el != null) {
196
+ el.classList.add("sortable-ghost");
197
+ }
198
+ };
109
199
  const bindDragSort = () => {
110
200
  unbindDragSort();
111
- const el = getNavEl();
112
- if (!props.sortable || !el) {
201
+ const navEl = getNavEl();
202
+ if (!props.sortable || !navEl) {
113
203
  return;
114
204
  }
115
- current.sortIns = new SortableJs(el, {
116
- animation: 300,
205
+ sortableIns = new SortableJs(navEl, {
117
206
  draggable: ".el-tabs__item",
207
+ delay: 20,
118
208
  onUpdate: ({ oldDraggableIndex, newDraggableIndex }) => {
119
209
  if (typeof oldDraggableIndex === "number" && typeof newDraggableIndex === "number") {
120
210
  const data = [...props.items];
@@ -126,47 +216,80 @@ const _sfc_main = defineComponent({
126
216
  emit("tabSortChange", data);
127
217
  }
128
218
  },
219
+ onStart: (e) => {
220
+ currentSortItemId = e.item.getAttribute("id");
221
+ checkSortGhostTab();
222
+ startGhostTimer(() => {
223
+ checkSortGhostTab();
224
+ });
225
+ },
226
+ onEnd: () => {
227
+ currentSortItemId = null;
228
+ checkSortGhostTab();
229
+ },
230
+ onChange: () => {
231
+ checkSortGhostTab();
232
+ startGhostTimer(() => {
233
+ checkSortGhostTab();
234
+ });
235
+ },
236
+ onMove: () => {
237
+ checkSortGhostTab();
238
+ startGhostTimer(() => {
239
+ checkSortGhostTab();
240
+ });
241
+ },
129
242
  setData: () => {
130
243
  }
131
244
  });
132
245
  };
133
246
  const unbindDragSort = () => {
134
- current.sortIns && current.sortIns.destroy();
135
- current.sortIns = null;
247
+ sortableIns && sortableIns.destroy();
248
+ sortableIns = null;
249
+ currentSortItemId = null;
136
250
  };
137
- const handleMousewheel = (e, isFirefox) => {
138
- const tabEl = e.currentTarget;
139
- if (tabEl && !current.isScroll) {
140
- const el = getBtnEl(tabEl, e, isFirefox);
141
- if (el && !el.classList.contains("is-disabled")) {
142
- current.isScroll = true;
143
- e.preventDefault();
144
- e.stopPropagation();
145
- el.click();
146
- setTimeout(() => {
147
- current.isScroll = false;
148
- }, 300);
251
+ const initMousewheelEvent = () => {
252
+ const el = getHeaderEl();
253
+ if (el != null) {
254
+ unbindMousewheel(el);
255
+ if (props.mousewheel) {
256
+ bindMousewheel(el);
149
257
  }
150
258
  }
151
259
  };
152
- const handleFirefoxMousewheel = (e) => {
153
- handleMousewheel(e, true);
260
+ const initTouchEvent = () => {
261
+ const el = getHeaderEl();
262
+ if (el != null) {
263
+ unbindTouchEvent(el);
264
+ if (!props.sortable) {
265
+ bindTouchEvent(el);
266
+ }
267
+ }
154
268
  };
269
+ if (wrapProps && wrapProps.setTabMethods) {
270
+ wrapProps.setTabMethods({
271
+ triggerTabItemClick: handleItemClick,
272
+ triggerItemContextMenu: handleItemContextmenu
273
+ });
274
+ }
155
275
  onMounted(() => {
276
+ initMousewheelEvent();
277
+ initTouchEvent();
156
278
  bindDragSort();
157
- const el = getHeaderEl();
158
- if (props.mousewheel && el) {
159
- el.addEventListener("mousewheel", handleMousewheel, {
160
- passive: false
161
- });
162
- el.addEventListener("DOMMouseScroll", handleFirefoxMousewheel);
163
- }
164
279
  });
165
280
  onBeforeUnmount(() => {
281
+ if (wrapProps && wrapProps.setTabMethods) {
282
+ wrapProps.setTabMethods({
283
+ triggerTabItemClick: void 0,
284
+ triggerItemContextMenu: void 0
285
+ });
286
+ }
287
+ contextMenuTabItem = null;
288
+ contextMenuTabName = null;
166
289
  const el = getHeaderEl();
167
- if (el) {
168
- el.removeEventListener("mousewheel", handleMousewheel);
169
- el.removeEventListener("DOMMouseScroll", handleFirefoxMousewheel);
290
+ if (el != null) {
291
+ unbindMousewheel(el);
292
+ unbindTouchEvent(el);
170
293
  }
171
294
  unbindDragSort();
172
295
  });
@@ -174,29 +297,39 @@ const _sfc_main = defineComponent({
174
297
  () => props.sortable,
175
298
  () => {
176
299
  bindDragSort();
300
+ initTouchEvent();
301
+ }
302
+ );
303
+ watch(
304
+ () => props.mousewheel,
305
+ () => {
306
+ initMousewheelEvent();
177
307
  }
178
308
  );
179
309
  return {
180
310
  omit,
181
311
  tabRef,
182
- itemRefs,
183
- isWrap,
312
+ isOnlyTab,
184
313
  tabSize,
185
314
  tabType,
186
315
  tabProps,
187
- getContextMenus,
316
+ ctxMenuDropdownRef,
317
+ ctxMenuDropdownItems,
318
+ ctxMenuDropdownVirtualRef,
188
319
  updateModelValue,
320
+ handleContextmenu,
189
321
  handleTabClick,
190
322
  handleTabChange,
191
323
  handleTabRemove,
192
324
  handleTabAdd,
193
325
  handleEdit,
194
326
  handleItemClick,
195
- handleItemContextMenu,
196
- handleItemContextOpen,
197
- handleContextmenu,
327
+ handleItemCtxMenuVisible,
328
+ handleItemCtxMenuClick,
329
+ handleItemContextmenu,
198
330
  hideAllDropdown,
199
- updateActiveBar
331
+ updateActiveBar,
332
+ scrollTabs
200
333
  };
201
334
  }
202
335
  });
@@ -207,16 +340,20 @@ const _export_sfc = (sfc, props) => {
207
340
  }
208
341
  return target;
209
342
  };
343
+ const _hoisted_1 = ["onClick", "onContextmenu"];
210
344
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
211
- const _component_TabTitle = resolveComponent("TabTitle");
345
+ const _component_CornerLeftFilled = resolveComponent("CornerLeftFilled");
346
+ const _component_ElIcon = resolveComponent("ElIcon");
347
+ const _component_CornerRightFilled = resolveComponent("CornerRightFilled");
212
348
  const _component_ElTabPane = resolveComponent("ElTabPane");
349
+ const _component_EleDropdown = resolveComponent("EleDropdown");
213
350
  const _component_ElTabs = resolveComponent("ElTabs");
214
351
  return openBlock(), createBlock(_component_ElTabs, mergeProps(_ctx.tabProps, {
215
352
  ref: "tabRef",
216
353
  type: _ctx.tabType === "card" || _ctx.tabType === "border-card" ? _ctx.tabType : void 0,
217
354
  class: [
218
355
  "ele-tabs",
219
- { "ele-tabs-wrap": _ctx.isWrap },
356
+ { "ele-tabs-wrap": _ctx.isOnlyTab },
220
357
  { "is-small": _ctx.tabSize === "small" },
221
358
  { "is-large": _ctx.tabSize === "large" },
222
359
  { "is-default": !_ctx.tabType || _ctx.tabType === "default" },
@@ -225,7 +362,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
225
362
  { "is-indicator": _ctx.tabType === "indicator" },
226
363
  { "is-button": _ctx.tabType === "button" },
227
364
  { "is-tag": _ctx.tabType === "tag" },
228
- { "is-center": _ctx.center }
365
+ { "is-center": _ctx.center },
366
+ { "is-sortable": _ctx.sortable },
367
+ { "is-flex-table": _ctx.flexTable }
229
368
  ],
230
369
  "onUpdate:modelValue": _ctx.updateModelValue,
231
370
  onTabClick: _ctx.handleTabClick,
@@ -238,39 +377,48 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
238
377
  default: withCtx(() => [
239
378
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index2) => {
240
379
  return openBlock(), createBlock(_component_ElTabPane, mergeProps({
241
- key: index2 + "-" + item.name + "-" + item.label,
380
+ key: [
381
+ index2,
382
+ item.name,
383
+ item.label,
384
+ !!item.closable,
385
+ !!item.disabled,
386
+ !!item.lazy
387
+ ].join("-"),
242
388
  ref_for: true
243
389
  }, _ctx.omit(item, ["slot", "meta"])), createSlots({
244
390
  label: withCtx(() => [
245
- createVNode(_component_TabTitle, {
246
- ref_for: true,
247
- ref: "itemRefs",
248
- item,
249
- label: item.label,
250
- tabName: item.name,
251
- active: _ctx.modelValue,
252
- handleClick: _ctx.handleClick,
253
- contextMenu: _ctx.contextMenu,
254
- contextMenus: _ctx.getContextMenus(item),
255
- onContextMenu: _ctx.handleItemContextMenu,
256
- onContextOpen: _ctx.handleItemContextOpen,
257
- onItemClick: _ctx.handleItemClick
258
- }, createSlots({ _: 2 }, [
259
- _ctx.$slots.label ? {
260
- name: "label",
261
- fn: withCtx((slotProps) => [
262
- renderSlot(_ctx.$slots, "label", mergeProps({ ref_for: true }, slotProps || {}))
263
- ]),
264
- key: "0"
265
- } : void 0,
266
- _ctx.$slots.contextMenu ? {
267
- name: "contextMenu",
268
- fn: withCtx((slotProps) => [
269
- renderSlot(_ctx.$slots, "contextMenu", mergeProps({ ref_for: true }, slotProps || {}))
270
- ]),
271
- key: "1"
272
- } : void 0
273
- ]), 1032, ["item", "label", "tabName", "active", "handleClick", "contextMenu", "contextMenus", "onContextMenu", "onContextOpen", "onItemClick"])
391
+ createElementVNode("div", {
392
+ class: "ele-tab-title",
393
+ onClick: (e) => _ctx.handleItemClick(item, void 0, e),
394
+ onContextmenu: (e) => _ctx.handleItemContextmenu(item, void 0, e)
395
+ }, [
396
+ renderSlot(_ctx.$slots, "label", {
397
+ item,
398
+ label: item.label,
399
+ active: _ctx.modelValue
400
+ }, () => [
401
+ createTextVNode(toDisplayString(item.label), 1)
402
+ ])
403
+ ], 40, _hoisted_1),
404
+ _ctx.tabType === "simple" || _ctx.tabType === "indicator" ? (openBlock(), createBlock(_component_ElIcon, {
405
+ key: 0,
406
+ class: "ele-tab-corner-left"
407
+ }, {
408
+ default: withCtx(() => [
409
+ createVNode(_component_CornerLeftFilled)
410
+ ]),
411
+ _: 1
412
+ })) : createCommentVNode("", true),
413
+ _ctx.tabType === "simple" || _ctx.tabType === "indicator" ? (openBlock(), createBlock(_component_ElIcon, {
414
+ key: 1,
415
+ class: "ele-tab-corner-right"
416
+ }, {
417
+ default: withCtx(() => [
418
+ createVNode(_component_CornerRightFilled)
419
+ ]),
420
+ _: 1
421
+ })) : createCommentVNode("", true)
274
422
  ]),
275
423
  _: 2
276
424
  }, [
@@ -282,7 +430,32 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
282
430
  key: "0"
283
431
  } : void 0
284
432
  ]), 1040);
285
- }), 128))
433
+ }), 128)),
434
+ _ctx.contextMenu ? (openBlock(), createBlock(_component_EleDropdown, mergeProps(
435
+ {
436
+ key: 0,
437
+ triggerKeys: [],
438
+ persistent: false,
439
+ placement: "bottom-start",
440
+ popperClass: "ele-tab-popup",
441
+ popperOptions: {
442
+ modifiers: [{ name: "offset", options: { offset: [0, 8] } }]
443
+ }
444
+ },
445
+ !_ctx.contextMenu || typeof _ctx.contextMenu == "boolean" ? {} : _ctx.contextMenu,
446
+ {
447
+ ref: "ctxMenuDropdownRef",
448
+ componentType: "pro",
449
+ preventContextmenu: true,
450
+ trigger: "contextmenu",
451
+ virtualTriggering: true,
452
+ virtualRef: _ctx.ctxMenuDropdownVirtualRef,
453
+ disabled: !_ctx.ctxMenuDropdownItems.length,
454
+ items: _ctx.ctxMenuDropdownItems,
455
+ onCommand: _ctx.handleItemCtxMenuClick,
456
+ onVisibleChange: _ctx.handleItemCtxMenuVisible
457
+ }
458
+ ), null, 16, ["virtualRef", "disabled", "items", "onCommand", "onVisibleChange"])) : createCommentVNode("", true)
286
459
  ]),
287
460
  _: 2
288
461
  }, [
@@ -292,8 +465,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
292
465
  renderSlot(_ctx.$slots, "add-icon")
293
466
  ]),
294
467
  key: "0"
295
- } : void 0,
296
- _ctx.$slots.addIcon ? {
468
+ } : _ctx.$slots.addIcon ? {
297
469
  name: "addIcon",
298
470
  fn: withCtx(() => [
299
471
  renderSlot(_ctx.$slots, "addIcon")
@@ -1,7 +1,6 @@
1
1
  import { PropType, ExtractPropTypes, InjectionKey } from 'vue';
2
2
  import { tabsProps as elTabsProps } from 'element-plus';
3
3
  import { EleDropdownProps, EleDropdownInstance } from '../ele-app/plus';
4
- import { default as TabTitle } from './components/tab-title';
5
4
  import { TabPaneItem, TabSize, TabType, ContextMenus, TabEventOption, TabWrapProvide } from './types';
6
5
 
7
6
  /**
@@ -29,22 +28,24 @@ export declare const tabsProps: {
29
28
  mousewheel: BooleanConstructor;
30
29
  /** 是否自己处理页签点击事件 */
31
30
  handleClick: BooleanConstructor;
31
+ /** 内部表格是否弹性布局 */
32
+ flexTable: BooleanConstructor;
32
33
  closable: BooleanConstructor;
33
34
  addable: BooleanConstructor;
34
35
  modelValue: {
35
- readonly type: PropType<import('element-plus/es/utils/index').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
36
+ readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
36
37
  readonly required: false;
37
38
  readonly validator: ((val: unknown) => boolean) | undefined;
38
39
  __epPropKey: true;
39
40
  };
40
41
  editable: BooleanConstructor;
41
- tabPosition: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, "top" | "bottom" | "right" | "left", unknown, "top", boolean>;
42
- beforeLeave: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<boolean | void>) | (() => (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<boolean | void>) | {
43
- (): (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<boolean | void>;
42
+ tabPosition: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right", unknown, "top", boolean>;
43
+ beforeLeave: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<void | boolean>) | (() => (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<void | boolean>) | {
44
+ (): (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<void | boolean>;
44
45
  new (): any;
45
46
  readonly prototype: any;
46
- } | ((new (...args: any[]) => (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<boolean | void>) | (() => (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<boolean | void>) | {
47
- (): (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<boolean | void>;
47
+ } | ((new (...args: any[]) => (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<void | boolean>) | (() => (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<void | boolean>) | {
48
+ (): (newName: import('element-plus').TabPaneName, oldName: import('element-plus').TabPaneName) => import('element-plus/es/utils/typescript').Awaitable<void | boolean>;
48
49
  new (): any;
49
50
  readonly prototype: any;
50
51
  })[], unknown, unknown, () => true, boolean>;
@@ -60,29 +61,13 @@ export declare const tabsEmits: {
60
61
  /** 页签右键菜单项点击事件 */
61
62
  tabContextMenu: (_opt: TabEventOption) => boolean;
62
63
  /** 页签右键菜单打开事件 */
63
- tabContextOpen: (_ref: EleDropdownInstance) => boolean;
64
+ tabContextOpen: (_ref: EleDropdownInstance, _item?: TabPaneItem | null, _name?: string | number | null) => boolean;
64
65
  /** 拖动排序改变事件 */
65
66
  tabSortChange: (_data: TabPaneItem[]) => boolean;
66
67
  "update:modelValue": (name: import('element-plus').TabPaneName) => boolean;
67
- tabClick: (pane: {
68
- uid: number;
69
- slots: Readonly<{
70
- [name: string]: import('vue').Slot<any> | undefined;
71
- }>;
72
- props: {
73
- readonly closable: boolean;
74
- readonly disabled: boolean;
75
- readonly label: string;
76
- readonly lazy: boolean;
77
- readonly name?: import('element-plus/es/utils/index').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
78
- };
79
- paneName: string | number | undefined;
80
- active: boolean;
81
- index: string | undefined;
82
- isClosable: boolean;
83
- }, ev: Event) => boolean;
68
+ tabClick: (pane: import('element-plus').TabsPaneContext, ev: Event) => boolean;
84
69
  tabChange: (name: import('element-plus').TabPaneName) => boolean;
85
- edit: (paneName: import('element-plus').TabPaneName | undefined, action: "add" | "remove") => boolean;
70
+ edit: (paneName: import('element-plus').TabPaneName | undefined, action: "remove" | "add") => boolean;
86
71
  tabRemove: (name: import('element-plus').TabPaneName) => boolean;
87
72
  tabAdd: () => boolean;
88
73
  };
@@ -91,10 +76,6 @@ export declare const tabsEmits: {
91
76
  */
92
77
  export type TabPropKeys = Array<keyof typeof elTabsProps>;
93
78
  export declare const tabPropKeys: TabPropKeys;
94
- /**
95
- * 页签标题实例
96
- */
97
- export type TabTitleInstance = InstanceType<typeof TabTitle> | null;
98
79
  /**
99
80
  * 标签页容器依赖注入key
100
81
  */
@@ -21,7 +21,9 @@ const tabsProps = {
21
21
  /** 是否支持鼠标滚轮滑动 */
22
22
  mousewheel: Boolean,
23
23
  /** 是否自己处理页签点击事件 */
24
- handleClick: Boolean
24
+ handleClick: Boolean,
25
+ /** 内部表格是否弹性布局 */
26
+ flexTable: Boolean
25
27
  };
26
28
  const tabsEmits = {
27
29
  ...tabsEmits$1,
@@ -30,7 +32,7 @@ const tabsEmits = {
30
32
  /** 页签右键菜单项点击事件 */
31
33
  tabContextMenu: (_opt) => true,
32
34
  /** 页签右键菜单打开事件 */
33
- tabContextOpen: (_ref) => true,
35
+ tabContextOpen: (_ref, _item, _name) => true,
34
36
  /** 拖动排序改变事件 */
35
37
  tabSortChange: (_data) => true
36
38
  };