element-plus 1.2.0-beta.5 → 1.2.0-beta.6

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 (984) hide show
  1. package/README.md +5 -174
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +1568 -1607
  5. package/dist/index.full.min.js +8 -8
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +11 -11
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +1563 -1612
  10. package/es/component.d.ts +3 -0
  11. package/es/component.mjs.map +1 -1
  12. package/es/components/affix/index.d.ts +48 -0
  13. package/es/components/affix/src/affix.vue.d.ts +48 -0
  14. package/es/components/alert/index.d.ts +5 -5
  15. package/es/components/alert/src/alert.d.ts +1 -1
  16. package/es/components/alert/src/alert.vue.d.ts +5 -5
  17. package/es/components/autocomplete/index.d.ts +4 -4
  18. package/es/components/autocomplete/src/index.vue.d.ts +2 -2
  19. package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs +1 -1
  20. package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  21. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs.map +1 -1
  22. package/es/components/avatar/index.d.ts +1 -1
  23. package/es/components/avatar/src/avatar.vue.d.ts +1 -1
  24. package/es/components/backtop/src/backtop.vue_vue_type_script_lang.mjs +1 -1
  25. package/es/components/backtop/src/backtop.vue_vue_type_script_lang.mjs.map +1 -1
  26. package/es/components/backtop/src/backtop.vue_vue_type_template_id_63a7fea6_lang.mjs.map +1 -1
  27. package/es/components/button/index.d.ts +18 -18
  28. package/es/components/button/src/button-group.d.ts +1 -1
  29. package/es/components/button/src/button-group.vue.d.ts +3 -3
  30. package/es/components/button/src/button.d.ts +3 -3
  31. package/es/components/button/src/button.mjs +5 -3
  32. package/es/components/button/src/button.mjs.map +1 -1
  33. package/es/components/button/src/button.vue.d.ts +12 -12
  34. package/es/components/button/src/button.vue_vue_type_script_lang.mjs +9 -12
  35. package/es/components/button/src/button.vue_vue_type_script_lang.mjs.map +1 -1
  36. package/es/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.mjs.map +1 -1
  37. package/es/components/calendar/index.d.ts +20 -47
  38. package/es/components/calendar/index.mjs +6 -8
  39. package/es/components/calendar/index.mjs.map +1 -1
  40. package/es/components/calendar/src/calendar.d.ts +11 -0
  41. package/es/components/calendar/src/calendar.mjs +19 -0
  42. package/es/components/calendar/src/calendar.mjs.map +1 -0
  43. package/es/components/calendar/src/calendar.vue.d.ts +34 -0
  44. package/es/components/calendar/src/{index.vue_vue_type_script_lang.mjs → calendar.vue_vue_type_script_lang.mjs} +12 -23
  45. package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs.map +1 -0
  46. package/es/components/calendar/src/{index.vue_vue_type_template_id_819aa44a_lang.mjs → calendar.vue_vue_type_template_id_76705c76_lang.mjs} +1 -1
  47. package/es/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.mjs.map +1 -0
  48. package/es/components/calendar/src/calendar2.mjs +7 -0
  49. package/es/components/calendar/src/calendar2.mjs.map +1 -0
  50. package/es/components/calendar/src/date-table.d.ts +13 -0
  51. package/es/components/calendar/src/date-table.mjs +23 -5
  52. package/es/components/calendar/src/date-table.mjs.map +1 -1
  53. package/es/components/calendar/src/date-table.vue.d.ts +29 -38
  54. package/es/components/calendar/src/date-table.vue_vue_type_script_lang.mjs +54 -71
  55. package/es/components/calendar/src/date-table.vue_vue_type_script_lang.mjs.map +1 -1
  56. package/es/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.mjs +1 -1
  57. package/es/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.mjs.map +1 -1
  58. package/es/components/calendar/src/date-table2.mjs +7 -0
  59. package/es/components/calendar/src/date-table2.mjs.map +1 -0
  60. package/es/components/carousel/src/main.vue_vue_type_script_lang.mjs +1 -1
  61. package/es/components/carousel/src/main.vue_vue_type_script_lang.mjs.map +1 -1
  62. package/es/components/carousel/src/main.vue_vue_type_template_id_1303d144_lang.mjs.map +1 -1
  63. package/es/components/cascader/index.d.ts +8756 -0
  64. package/es/components/cascader/src/index.vue.d.ts +4384 -0
  65. package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs +3 -4
  66. package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  67. package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs.map +1 -1
  68. package/es/components/cascader-panel/src/node.vue_vue_type_script_lang.mjs +1 -1
  69. package/es/components/cascader-panel/src/node.vue_vue_type_script_lang.mjs.map +1 -1
  70. package/es/components/cascader-panel/src/node.vue_vue_type_template_id_18b09cb2_lang.mjs.map +1 -1
  71. package/es/components/checkbox/index.d.ts +10 -10
  72. package/es/components/checkbox/src/checkbox-button.vue.d.ts +3 -3
  73. package/es/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.mjs +5 -3
  74. package/es/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.mjs.map +1 -1
  75. package/es/components/checkbox/src/checkbox-group.vue_vue_type_template_id_9944d4d2_lang.mjs.map +1 -1
  76. package/es/components/checkbox/src/checkbox.type.d.ts +2 -2
  77. package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
  78. package/es/components/checkbox/src/useCheckbox.d.ts +2 -3
  79. package/es/components/checkbox/src/useCheckbox.mjs +9 -18
  80. package/es/components/checkbox/src/useCheckbox.mjs.map +1 -1
  81. package/es/components/collapse/index.d.ts +4 -4
  82. package/es/components/collapse/src/collapse-item.vue.d.ts +2 -2
  83. package/es/components/collapse/src/collapse-item.vue_vue_type_script_lang.mjs +1 -1
  84. package/es/components/collapse/src/collapse-item.vue_vue_type_script_lang.mjs.map +1 -1
  85. package/es/components/collapse/src/collapse-item.vue_vue_type_template_id_80da782a_lang.mjs.map +1 -1
  86. package/es/components/color-picker/index.d.ts +2 -2
  87. package/es/components/color-picker/src/components/alpha-slider.vue.d.ts +30 -0
  88. package/es/components/color-picker/src/index.vue.d.ts +1 -1
  89. package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs +3 -6
  90. package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  91. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs.map +1 -1
  92. package/es/components/config-provider/index.d.ts +10 -9
  93. package/es/components/config-provider/src/config-provider.d.ts +3 -4
  94. package/es/components/config-provider/src/config-provider.mjs +10 -11
  95. package/es/components/config-provider/src/config-provider.mjs.map +1 -1
  96. package/es/components/config-provider/src/index.d.ts +10 -9
  97. package/es/components/date-picker/index.d.ts +10 -10
  98. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  99. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +2 -2
  100. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs +1 -1
  101. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs.map +1 -1
  102. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.mjs.map +1 -1
  103. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -3
  104. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.mjs +1 -1
  105. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.mjs.map +1 -1
  106. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_template_id_62b45ab2_lang.mjs.map +1 -1
  107. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  108. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.mjs +1 -1
  109. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.mjs.map +1 -1
  110. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_template_id_2e377892_lang.mjs.map +1 -1
  111. package/es/components/date-picker/src/date-picker.d.ts +5 -5
  112. package/es/components/descriptions/index.d.ts +1 -1
  113. package/es/components/descriptions/src/index.vue.d.ts +1 -1
  114. package/es/components/descriptions/src/index.vue_vue_type_script_lang.mjs +4 -6
  115. package/es/components/descriptions/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  116. package/es/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.mjs.map +1 -1
  117. package/es/components/dialog/index.d.ts +8 -2
  118. package/es/components/dialog/src/dialog.d.ts +2 -1
  119. package/es/components/dialog/src/dialog.mjs +4 -0
  120. package/es/components/dialog/src/dialog.mjs.map +1 -1
  121. package/es/components/dialog/src/dialog.vue.d.ts +8 -2
  122. package/es/components/dialog/src/dialog.vue_vue_type_script_lang.mjs.map +1 -1
  123. package/es/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.mjs +2 -3
  124. package/es/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.mjs.map +1 -1
  125. package/es/components/dialog/src/use-dialog.d.ts +2 -0
  126. package/es/components/dialog/src/use-dialog.mjs +2 -0
  127. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  128. package/es/components/divider/index.d.ts +4 -0
  129. package/es/components/divider/src/divider.d.ts +2 -0
  130. package/es/components/divider/src/divider.mjs +5 -1
  131. package/es/components/divider/src/divider.mjs.map +1 -1
  132. package/es/components/divider/src/divider.vue.d.ts +4 -0
  133. package/es/components/divider/src/divider.vue_vue_type_script_lang.mjs.map +1 -1
  134. package/es/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.mjs +4 -3
  135. package/es/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.mjs.map +1 -1
  136. package/es/components/drawer/index.d.ts +66 -208
  137. package/es/components/drawer/index.mjs +6 -8
  138. package/es/components/drawer/index.mjs.map +1 -1
  139. package/es/components/drawer/src/drawer.d.ts +35 -0
  140. package/es/components/drawer/src/drawer.mjs +28 -0
  141. package/es/components/drawer/src/drawer.mjs.map +1 -0
  142. package/es/components/drawer/src/drawer.vue.d.ts +129 -0
  143. package/es/components/drawer/src/drawer.vue_vue_type_script_lang.mjs +37 -0
  144. package/es/components/drawer/src/drawer.vue_vue_type_script_lang.mjs.map +1 -0
  145. package/es/components/drawer/src/{index.vue_vue_type_template_id_052d0d8e_lang.mjs → drawer.vue_vue_type_template_id_e0557736_lang.mjs} +1 -1
  146. package/es/components/drawer/src/drawer.vue_vue_type_template_id_e0557736_lang.mjs.map +1 -0
  147. package/es/components/drawer/src/drawer2.mjs +7 -0
  148. package/es/components/drawer/src/drawer2.mjs.map +1 -0
  149. package/es/components/dropdown/index.d.ts +3 -3
  150. package/es/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
  151. package/es/components/dropdown/src/dropdown.vue.d.ts +1 -1
  152. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs +4 -4
  153. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs.map +1 -1
  154. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
  155. package/es/components/dropdown/src/useDropdown.d.ts +0 -1
  156. package/es/components/dropdown/src/useDropdown.mjs +1 -3
  157. package/es/components/dropdown/src/useDropdown.mjs.map +1 -1
  158. package/es/components/form/index.d.ts +4 -4
  159. package/es/components/form/src/form-item.vue.d.ts +2 -2
  160. package/es/components/form/src/form-item.vue_vue_type_script_lang.mjs +4 -6
  161. package/es/components/form/src/form-item.vue_vue_type_script_lang.mjs.map +1 -1
  162. package/es/components/form/src/form-item.vue_vue_type_template_id_24eda48b_lang.mjs.map +1 -1
  163. package/es/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.mjs +1 -1
  164. package/es/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.mjs.map +1 -1
  165. package/es/components/image-viewer/src/image-viewer.vue_vue_type_template_id_4b22ad85_lang.mjs.map +1 -1
  166. package/es/components/index.mjs +5 -1
  167. package/es/components/index.mjs.map +1 -1
  168. package/es/components/input/index.d.ts +10 -10
  169. package/es/components/input/src/input.d.ts +2 -2
  170. package/es/components/input/src/input.mjs +4 -3
  171. package/es/components/input/src/input.mjs.map +1 -1
  172. package/es/components/input/src/input.vue.d.ts +10 -10
  173. package/es/components/input/src/input.vue_vue_type_script_lang.mjs +10 -11
  174. package/es/components/input/src/input.vue_vue_type_script_lang.mjs.map +1 -1
  175. package/es/components/input/src/input.vue_vue_type_template_id_3290dcb6_lang.mjs.map +1 -1
  176. package/es/components/input-number/index.d.ts +23 -23
  177. package/es/components/input-number/src/input-number.vue.d.ts +23 -23
  178. package/es/components/input-number/src/input-number.vue_vue_type_script_lang.mjs +6 -5
  179. package/es/components/input-number/src/input-number.vue_vue_type_script_lang.mjs.map +1 -1
  180. package/es/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.mjs +2 -1
  181. package/es/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.mjs.map +1 -1
  182. package/es/components/link/index.d.ts +2 -2
  183. package/es/components/link/src/link.vue.d.ts +2 -2
  184. package/es/components/loading/index.d.ts +52 -13
  185. package/es/components/loading/index.mjs +3 -3
  186. package/es/components/loading/index.mjs.map +1 -1
  187. package/es/components/loading/src/directive.d.ts +11 -10
  188. package/es/components/loading/src/directive.mjs +45 -26
  189. package/es/components/loading/src/directive.mjs.map +1 -1
  190. package/es/components/loading/src/loading.d.ts +24 -0
  191. package/es/components/loading/src/loading.mjs +112 -0
  192. package/es/components/loading/src/loading.mjs.map +1 -0
  193. package/es/components/loading/src/service.d.ts +3 -0
  194. package/es/components/loading/src/service.mjs +101 -0
  195. package/es/components/loading/src/service.mjs.map +1 -0
  196. package/es/components/loading/src/types.d.ts +23 -0
  197. package/es/components/loading/src/types.mjs +2 -0
  198. package/es/components/loading/src/types.mjs.map +1 -0
  199. package/es/components/menu/src/menu.mjs +1 -1
  200. package/es/components/menu/src/menu.mjs.map +1 -1
  201. package/es/components/menu/src/sub-menu.mjs +1 -1
  202. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  203. package/es/components/message/src/message.d.ts +1 -1
  204. package/es/components/message/src/message.vue.d.ts +4 -3
  205. package/es/components/message/src/message.vue_vue_type_script_lang.mjs +2 -0
  206. package/es/components/message/src/message.vue_vue_type_script_lang.mjs.map +1 -1
  207. package/es/components/message/src/message.vue_vue_type_template_id_031967c2_lang.mjs +51 -54
  208. package/es/components/message/src/message.vue_vue_type_template_id_031967c2_lang.mjs.map +1 -1
  209. package/es/components/message-box/src/index.vue.d.ts +1840 -0
  210. package/es/components/notification/src/notification.d.ts +1 -1
  211. package/es/components/notification/src/notification.vue.d.ts +5 -5
  212. package/es/components/page-header/src/page-header.mjs +1 -1
  213. package/es/components/page-header/src/page-header.mjs.map +1 -1
  214. package/es/components/pagination/src/components/next.vue_vue_type_script_lang.mjs +1 -1
  215. package/es/components/pagination/src/components/next.vue_vue_type_script_lang.mjs.map +1 -1
  216. package/es/components/pagination/src/components/next.vue_vue_type_template_id_93fbb39e_lang.mjs.map +1 -1
  217. package/es/components/pagination/src/components/pager.vue_vue_type_script_lang.mjs +1 -1
  218. package/es/components/pagination/src/components/pager.vue_vue_type_script_lang.mjs.map +1 -1
  219. package/es/components/pagination/src/components/pager.vue_vue_type_template_id_0bfc9916_lang.mjs.map +1 -1
  220. package/es/components/pagination/src/components/prev.vue_vue_type_script_lang.mjs +1 -1
  221. package/es/components/pagination/src/components/prev.vue_vue_type_script_lang.mjs.map +1 -1
  222. package/es/components/pagination/src/components/prev.vue_vue_type_template_id_15259d71_lang.mjs.map +1 -1
  223. package/es/components/popconfirm/index.d.ts +2 -2
  224. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  225. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  226. package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  227. package/es/components/popover/index.d.ts +2 -2
  228. package/es/components/popover/src/index.vue.d.ts +1 -1
  229. package/es/components/popper/index.d.ts +3480 -0
  230. package/es/components/popper/src/index.vue.d.ts +1737 -0
  231. package/es/components/popper/src/use-popper/index.d.ts +1540 -1
  232. package/es/components/progress/index.d.ts +81 -4
  233. package/es/components/progress/index.mjs +6 -8
  234. package/es/components/progress/index.mjs.map +1 -1
  235. package/es/components/progress/src/progress.d.ts +22 -0
  236. package/es/components/progress/src/progress.mjs +62 -0
  237. package/es/components/progress/src/progress.mjs.map +1 -0
  238. package/es/components/progress/src/progress.vue.d.ts +81 -0
  239. package/es/components/progress/src/{index.vue_vue_type_script_lang.mjs → progress.vue_vue_type_script_lang.mjs} +27 -94
  240. package/es/components/progress/src/progress.vue_vue_type_script_lang.mjs.map +1 -0
  241. package/es/components/progress/src/{index.vue_vue_type_template_id_556e268a_lang.mjs → progress.vue_vue_type_template_id_9158c3b6_lang.mjs} +1 -1
  242. package/es/components/progress/src/progress.vue_vue_type_template_id_9158c3b6_lang.mjs.map +1 -0
  243. package/es/components/progress/src/progress2.mjs +7 -0
  244. package/es/components/progress/src/progress2.mjs.map +1 -0
  245. package/es/components/radio/index.d.ts +36 -40
  246. package/es/components/radio/src/radio-button.d.ts +2 -2
  247. package/es/components/radio/src/radio-button.vue.d.ts +8 -8
  248. package/es/components/radio/src/radio-group.d.ts +2 -2
  249. package/es/components/radio/src/radio-group.mjs +3 -2
  250. package/es/components/radio/src/radio-group.mjs.map +1 -1
  251. package/es/components/radio/src/radio-group.vue.d.ts +6 -8
  252. package/es/components/radio/src/radio-group.vue_vue_type_script_lang.mjs +1 -3
  253. package/es/components/radio/src/radio-group.vue_vue_type_script_lang.mjs.map +1 -1
  254. package/es/components/radio/src/radio-group.vue_vue_type_template_id_53ef81f9_lang.mjs.map +1 -1
  255. package/es/components/radio/src/radio.d.ts +5 -5
  256. package/es/components/radio/src/radio.mjs +5 -6
  257. package/es/components/radio/src/radio.mjs.map +1 -1
  258. package/es/components/radio/src/radio.vue.d.ts +8 -8
  259. package/es/components/rate/src/rate.mjs +1 -1
  260. package/es/components/rate/src/rate.mjs.map +1 -1
  261. package/es/components/rate/src/rate.vue_vue_type_script_lang.mjs +1 -1
  262. package/es/components/rate/src/rate.vue_vue_type_script_lang.mjs.map +1 -1
  263. package/es/components/rate/src/rate.vue_vue_type_template_id_38c42df6_lang.mjs.map +1 -1
  264. package/es/components/result/index.d.ts +3 -3
  265. package/es/components/result/src/result.d.ts +1 -1
  266. package/es/components/result/src/result.mjs +1 -1
  267. package/es/components/result/src/result.mjs.map +1 -1
  268. package/es/components/result/src/result.vue.d.ts +3 -3
  269. package/es/components/select/index.d.ts +14 -7
  270. package/es/components/select/src/select.vue.d.ts +14 -7
  271. package/es/components/select/src/select.vue_vue_type_script_lang.mjs +5 -1
  272. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  273. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs +6 -6
  274. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs.map +1 -1
  275. package/es/components/select/src/useSelect.d.ts +76 -0
  276. package/es/components/select/src/useSelect.mjs +3 -3
  277. package/es/components/select/src/useSelect.mjs.map +1 -1
  278. package/es/components/select-v2/index.d.ts +14 -14
  279. package/es/components/select-v2/src/defaults.mjs +1 -1
  280. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  281. package/es/components/select-v2/src/select.vue.d.ts +7 -7
  282. package/es/components/select-v2/src/useSelect.d.ts +1 -1
  283. package/es/components/select-v2/src/useSelect.mjs +5 -6
  284. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  285. package/es/components/skeleton/index.d.ts +6 -6
  286. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  287. package/es/components/skeleton/src/skeleton-item.vue.d.ts +3 -3
  288. package/es/components/slider/index.d.ts +307 -0
  289. package/es/components/slider/src/index.vue.d.ts +155 -0
  290. package/es/components/slider/src/useSlide.d.ts +21 -0
  291. package/es/components/steps/index.d.ts +4 -4
  292. package/es/components/steps/src/item.vue.d.ts +2 -2
  293. package/es/components/steps/src/item.vue_vue_type_script_lang.mjs +1 -1
  294. package/es/components/steps/src/item.vue_vue_type_script_lang.mjs.map +1 -1
  295. package/es/components/steps/src/item.vue_vue_type_template_id_6ec47f4b_lang.mjs.map +1 -1
  296. package/es/components/switch/index.d.ts +99 -4
  297. package/es/components/switch/index.mjs +6 -8
  298. package/es/components/switch/index.mjs.map +1 -1
  299. package/es/components/switch/src/switch.d.ts +31 -0
  300. package/es/components/switch/src/switch.mjs +87 -0
  301. package/es/components/switch/src/switch.mjs.map +1 -0
  302. package/es/components/switch/src/switch.vue.d.ts +98 -0
  303. package/es/components/switch/src/switch.vue_vue_type_script_lang.mjs +117 -0
  304. package/es/components/switch/src/switch.vue_vue_type_script_lang.mjs.map +1 -0
  305. package/es/components/switch/src/{index.vue_vue_type_template_id_ee4fcade_lang.mjs → switch.vue_vue_type_template_id_538fbc85_lang.mjs} +1 -1
  306. package/es/components/switch/src/switch.vue_vue_type_template_id_538fbc85_lang.mjs.map +1 -0
  307. package/es/components/switch/src/switch2.mjs +7 -0
  308. package/es/components/switch/src/switch2.mjs.map +1 -0
  309. package/es/components/table/index.d.ts +9 -9
  310. package/es/components/table/src/config.mjs +1 -1
  311. package/es/components/table/src/config.mjs.map +1 -1
  312. package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs +1 -1
  313. package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs.map +1 -1
  314. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs.map +1 -1
  315. package/es/components/table/src/table/style-helper.d.ts +1 -1
  316. package/es/components/table/src/table/style-helper.mjs +3 -5
  317. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  318. package/es/components/table/src/table-column/defaults.d.ts +2 -2
  319. package/es/components/table/src/table-column/defaults.mjs.map +1 -1
  320. package/es/components/table/src/table-column/index.d.ts +3 -3
  321. package/es/components/table/src/table.vue.d.ts +3 -3
  322. package/es/components/table/src/util.mjs +0 -1
  323. package/es/components/table/src/util.mjs.map +1 -1
  324. package/es/components/tabs/index.d.ts +4 -4
  325. package/es/components/tabs/src/tab-nav.mjs +1 -1
  326. package/es/components/tabs/src/tab-nav.mjs.map +1 -1
  327. package/es/components/tabs/src/tab-pane.vue.d.ts +2 -2
  328. package/es/components/tabs/src/tabs.mjs +1 -1
  329. package/es/components/tabs/src/tabs.mjs.map +1 -1
  330. package/es/components/tag/src/tag.vue_vue_type_script_lang.mjs +4 -4
  331. package/es/components/tag/src/tag.vue_vue_type_script_lang.mjs.map +1 -1
  332. package/es/components/tag/src/tag.vue_vue_type_template_id_525996c5_lang.mjs.map +1 -1
  333. package/es/components/time-picker/index.d.ts +10 -10
  334. package/es/components/time-picker/src/common/date-utils.d.ts +1 -1
  335. package/es/components/time-picker/src/common/date-utils.mjs +1 -3
  336. package/es/components/time-picker/src/common/date-utils.mjs.map +1 -1
  337. package/es/components/time-picker/src/common/picker.vue.d.ts +6 -6
  338. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs +6 -8
  339. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs.map +1 -1
  340. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs.map +1 -1
  341. package/es/components/time-picker/src/common/props.d.ts +1 -1
  342. package/es/components/time-picker/src/common/props.mjs +1 -1
  343. package/es/components/time-picker/src/common/props.mjs.map +1 -1
  344. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.mjs +1 -1
  345. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.mjs.map +1 -1
  346. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_template_id_4fb3c576_lang.mjs.map +1 -1
  347. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
  348. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
  349. package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  350. package/es/components/time-picker/src/time-picker.d.ts +5 -5
  351. package/es/components/time-select/index.d.ts +4 -4
  352. package/es/components/time-select/src/time-select.vue.d.ts +2 -2
  353. package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs +1 -1
  354. package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs.map +1 -1
  355. package/es/components/time-select/src/time-select.vue_vue_type_template_id_5beb6389_lang.mjs.map +1 -1
  356. package/es/components/timeline/index.d.ts +4 -4
  357. package/es/components/timeline/src/item.vue.d.ts +2 -2
  358. package/es/components/tooltip/src/index.mjs +4 -2
  359. package/es/components/tooltip/src/index.mjs.map +1 -1
  360. package/es/components/transfer/index.d.ts +8 -8
  361. package/es/components/transfer/src/index.vue.d.ts +4 -4
  362. package/es/components/transfer/src/index.vue_vue_type_script_lang.mjs +1 -1
  363. package/es/components/transfer/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  364. package/es/components/transfer/src/index.vue_vue_type_template_id_6c8b9070_lang.mjs.map +1 -1
  365. package/es/components/transfer/src/transfer-panel.vue.d.ts +2 -2
  366. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_lang.mjs +1 -1
  367. package/es/components/transfer/src/transfer-panel.vue_vue_type_script_lang.mjs.map +1 -1
  368. package/es/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.mjs.map +1 -1
  369. package/es/components/tree/index.d.ts +2 -2
  370. package/es/components/tree/src/tree-node.vue_vue_type_script_lang.mjs +1 -1
  371. package/es/components/tree/src/tree-node.vue_vue_type_script_lang.mjs.map +1 -1
  372. package/es/components/tree/src/tree-node.vue_vue_type_template_id_62959aba_lang.mjs.map +1 -1
  373. package/es/components/tree/src/tree.vue.d.ts +1 -1
  374. package/es/components/tree-v2/index.d.ts +2 -2
  375. package/es/components/tree-v2/src/composables/useTree.d.ts +29 -0
  376. package/es/components/tree-v2/src/tree-node.vue.d.ts +2 -2
  377. package/es/components/tree-v2/src/tree-node.vue_vue_type_script_lang.mjs +1 -1
  378. package/es/components/tree-v2/src/tree-node.vue_vue_type_script_lang.mjs.map +1 -1
  379. package/es/components/tree-v2/src/tree-node.vue_vue_type_template_id_71d8f826_lang.mjs.map +1 -1
  380. package/es/components/tree-v2/src/tree.vue.d.ts +2 -2
  381. package/es/components/upload/src/upload-list.vue_vue_type_script_lang.mjs +3 -3
  382. package/es/components/upload/src/upload-list.vue_vue_type_script_lang.mjs.map +1 -1
  383. package/es/components/upload/src/upload-list.vue_vue_type_template_id_192277b6_lang.mjs.map +1 -1
  384. package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
  385. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  386. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  387. package/es/components/virtual-list/src/components/scrollbar.d.ts +1 -1
  388. package/es/defaults.mjs +1 -1
  389. package/es/defaults.mjs.map +1 -1
  390. package/es/hooks/index.d.ts +2 -0
  391. package/es/hooks/index.mjs +3 -1
  392. package/es/hooks/index.mjs.map +1 -1
  393. package/es/hooks/use-common-props/index.d.ts +5 -0
  394. package/es/hooks/use-common-props/index.mjs +31 -0
  395. package/es/hooks/use-common-props/index.mjs.map +1 -0
  396. package/es/hooks/use-form-item/index.d.ts +1 -14
  397. package/es/hooks/use-form-item/index.mjs +3 -24
  398. package/es/hooks/use-form-item/index.mjs.map +1 -1
  399. package/es/hooks/use-global-config/index.d.ts +4 -1
  400. package/es/hooks/use-global-config/index.mjs +8 -6
  401. package/es/hooks/use-global-config/index.mjs.map +1 -1
  402. package/es/hooks/use-locale/index.d.ts +6 -5
  403. package/es/hooks/use-locale/index.mjs +11 -8
  404. package/es/hooks/use-locale/index.mjs.map +1 -1
  405. package/es/hooks/use-lockscreen/index.mjs +5 -1
  406. package/es/hooks/use-lockscreen/index.mjs.map +1 -1
  407. package/es/hooks/use-prop/index.d.ts +2 -0
  408. package/es/hooks/use-prop/index.mjs +12 -0
  409. package/es/hooks/use-prop/index.mjs.map +1 -0
  410. package/es/index.d.ts +1 -1
  411. package/es/index.mjs +9 -3
  412. package/es/index.mjs.map +1 -1
  413. package/es/locale/index.d.ts +0 -5
  414. package/es/locale/index.mjs +0 -52
  415. package/es/locale/index.mjs.map +1 -1
  416. package/es/locale/lang/ca.mjs +2 -2
  417. package/es/locale/lang/ca.mjs.map +1 -1
  418. package/es/locale/lang/en.mjs +2 -2
  419. package/es/locale/lang/en.mjs.map +1 -1
  420. package/es/make-installer.d.ts +1 -2
  421. package/es/make-installer.mjs +2 -4
  422. package/es/make-installer.mjs.map +1 -1
  423. package/es/plugin.d.ts +2 -47
  424. package/es/plugin.mjs +1 -1
  425. package/es/plugin.mjs.map +1 -1
  426. package/es/tokens/form.d.ts +1 -1
  427. package/es/tokens/form.mjs.map +1 -1
  428. package/es/utils/aria.d.ts +1 -0
  429. package/es/utils/aria.mjs +2 -1
  430. package/es/utils/aria.mjs.map +1 -1
  431. package/es/utils/config.d.ts +1 -1
  432. package/es/utils/config.mjs.map +1 -1
  433. package/es/utils/icon.mjs +1 -1
  434. package/es/utils/icon.mjs.map +1 -1
  435. package/es/utils/util.d.ts +8 -2
  436. package/es/utils/util.mjs.map +1 -1
  437. package/es/version.d.ts +1 -1
  438. package/es/version.mjs +1 -1
  439. package/es/version.mjs.map +1 -1
  440. package/lib/component.d.ts +3 -0
  441. package/lib/component.js.map +1 -1
  442. package/lib/components/affix/index.d.ts +48 -0
  443. package/lib/components/affix/src/affix.vue.d.ts +48 -0
  444. package/lib/components/alert/index.d.ts +5 -5
  445. package/lib/components/alert/src/alert.d.ts +1 -1
  446. package/lib/components/alert/src/alert.vue.d.ts +5 -5
  447. package/lib/components/autocomplete/index.d.ts +4 -4
  448. package/lib/components/autocomplete/src/index.vue.d.ts +2 -2
  449. package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js +2 -2
  450. package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js.map +1 -1
  451. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js.map +1 -1
  452. package/lib/components/avatar/index.d.ts +1 -1
  453. package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
  454. package/lib/components/backtop/src/backtop.vue_vue_type_script_lang.js +2 -2
  455. package/lib/components/backtop/src/backtop.vue_vue_type_script_lang.js.map +1 -1
  456. package/lib/components/backtop/src/backtop.vue_vue_type_template_id_63a7fea6_lang.js.map +1 -1
  457. package/lib/components/button/index.d.ts +18 -18
  458. package/lib/components/button/src/button-group.d.ts +1 -1
  459. package/lib/components/button/src/button-group.vue.d.ts +3 -3
  460. package/lib/components/button/src/button.d.ts +3 -3
  461. package/lib/components/button/src/button.js +5 -3
  462. package/lib/components/button/src/button.js.map +1 -1
  463. package/lib/components/button/src/button.vue.d.ts +12 -12
  464. package/lib/components/button/src/button.vue_vue_type_script_lang.js +10 -13
  465. package/lib/components/button/src/button.vue_vue_type_script_lang.js.map +1 -1
  466. package/lib/components/button/src/button.vue_vue_type_template_id_802c5c76_lang.js.map +1 -1
  467. package/lib/components/calendar/index.d.ts +20 -47
  468. package/lib/components/calendar/index.js +8 -8
  469. package/lib/components/calendar/index.js.map +1 -1
  470. package/lib/components/calendar/src/calendar.d.ts +11 -0
  471. package/lib/components/calendar/src/calendar.js +24 -0
  472. package/lib/components/calendar/src/calendar.js.map +1 -0
  473. package/lib/components/calendar/src/calendar.vue.d.ts +34 -0
  474. package/lib/components/calendar/src/{index.vue_vue_type_script_lang.js → calendar.vue_vue_type_script_lang.js} +12 -23
  475. package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js.map +1 -0
  476. package/lib/components/calendar/src/{index.vue_vue_type_template_id_819aa44a_lang.js → calendar.vue_vue_type_template_id_76705c76_lang.js} +1 -1
  477. package/lib/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.js.map +1 -0
  478. package/lib/components/calendar/src/calendar2.js +12 -0
  479. package/lib/components/calendar/src/calendar2.js.map +1 -0
  480. package/lib/components/calendar/src/date-table.d.ts +13 -0
  481. package/lib/components/calendar/src/date-table.js +23 -7
  482. package/lib/components/calendar/src/date-table.js.map +1 -1
  483. package/lib/components/calendar/src/date-table.vue.d.ts +29 -38
  484. package/lib/components/calendar/src/date-table.vue_vue_type_script_lang.js +53 -70
  485. package/lib/components/calendar/src/date-table.vue_vue_type_script_lang.js.map +1 -1
  486. package/lib/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.js +1 -1
  487. package/lib/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.js.map +1 -1
  488. package/lib/components/calendar/src/date-table2.js +14 -0
  489. package/lib/components/calendar/src/date-table2.js.map +1 -0
  490. package/lib/components/carousel/src/main.vue_vue_type_script_lang.js +3 -3
  491. package/lib/components/carousel/src/main.vue_vue_type_script_lang.js.map +1 -1
  492. package/lib/components/carousel/src/main.vue_vue_type_template_id_1303d144_lang.js.map +1 -1
  493. package/lib/components/cascader/index.d.ts +8756 -0
  494. package/lib/components/cascader/src/index.vue.d.ts +4384 -0
  495. package/lib/components/cascader/src/index.vue_vue_type_script_lang.js +6 -7
  496. package/lib/components/cascader/src/index.vue_vue_type_script_lang.js.map +1 -1
  497. package/lib/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.js.map +1 -1
  498. package/lib/components/cascader-panel/src/node.vue_vue_type_script_lang.js +4 -4
  499. package/lib/components/cascader-panel/src/node.vue_vue_type_script_lang.js.map +1 -1
  500. package/lib/components/cascader-panel/src/node.vue_vue_type_template_id_18b09cb2_lang.js.map +1 -1
  501. package/lib/components/checkbox/index.d.ts +10 -10
  502. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +3 -3
  503. package/lib/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.js +4 -2
  504. package/lib/components/checkbox/src/checkbox-group.vue_vue_type_script_lang.js.map +1 -1
  505. package/lib/components/checkbox/src/checkbox-group.vue_vue_type_template_id_9944d4d2_lang.js.map +1 -1
  506. package/lib/components/checkbox/src/checkbox.type.d.ts +2 -2
  507. package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
  508. package/lib/components/checkbox/src/useCheckbox.d.ts +2 -3
  509. package/lib/components/checkbox/src/useCheckbox.js +9 -18
  510. package/lib/components/checkbox/src/useCheckbox.js.map +1 -1
  511. package/lib/components/collapse/index.d.ts +4 -4
  512. package/lib/components/collapse/src/collapse-item.vue.d.ts +2 -2
  513. package/lib/components/collapse/src/collapse-item.vue_vue_type_script_lang.js +2 -2
  514. package/lib/components/collapse/src/collapse-item.vue_vue_type_script_lang.js.map +1 -1
  515. package/lib/components/collapse/src/collapse-item.vue_vue_type_template_id_80da782a_lang.js.map +1 -1
  516. package/lib/components/color-picker/index.d.ts +2 -2
  517. package/lib/components/color-picker/src/components/alpha-slider.vue.d.ts +30 -0
  518. package/lib/components/color-picker/src/index.vue.d.ts +1 -1
  519. package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js +5 -8
  520. package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js.map +1 -1
  521. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js.map +1 -1
  522. package/lib/components/config-provider/index.d.ts +10 -9
  523. package/lib/components/config-provider/src/config-provider.d.ts +3 -4
  524. package/lib/components/config-provider/src/config-provider.js +9 -10
  525. package/lib/components/config-provider/src/config-provider.js.map +1 -1
  526. package/lib/components/config-provider/src/index.d.ts +10 -9
  527. package/lib/components/date-picker/index.d.ts +10 -10
  528. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  529. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +2 -2
  530. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js +5 -5
  531. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js.map +1 -1
  532. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.js.map +1 -1
  533. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -3
  534. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.js +5 -5
  535. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_script_lang.js.map +1 -1
  536. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue_vue_type_template_id_62b45ab2_lang.js.map +1 -1
  537. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  538. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.js +2 -2
  539. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_script_lang.js.map +1 -1
  540. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue_vue_type_template_id_2e377892_lang.js.map +1 -1
  541. package/lib/components/date-picker/src/date-picker.d.ts +5 -5
  542. package/lib/components/descriptions/index.d.ts +1 -1
  543. package/lib/components/descriptions/src/index.vue.d.ts +1 -1
  544. package/lib/components/descriptions/src/index.vue_vue_type_script_lang.js +3 -5
  545. package/lib/components/descriptions/src/index.vue_vue_type_script_lang.js.map +1 -1
  546. package/lib/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.js.map +1 -1
  547. package/lib/components/dialog/index.d.ts +8 -2
  548. package/lib/components/dialog/src/dialog.d.ts +2 -1
  549. package/lib/components/dialog/src/dialog.js +4 -0
  550. package/lib/components/dialog/src/dialog.js.map +1 -1
  551. package/lib/components/dialog/src/dialog.vue.d.ts +8 -2
  552. package/lib/components/dialog/src/dialog.vue_vue_type_script_lang.js.map +1 -1
  553. package/lib/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.js +1 -2
  554. package/lib/components/dialog/src/dialog.vue_vue_type_template_id_02672805_lang.js.map +1 -1
  555. package/lib/components/dialog/src/use-dialog.d.ts +2 -0
  556. package/lib/components/dialog/src/use-dialog.js +2 -0
  557. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  558. package/lib/components/divider/index.d.ts +4 -0
  559. package/lib/components/divider/src/divider.d.ts +2 -0
  560. package/lib/components/divider/src/divider.js +4 -0
  561. package/lib/components/divider/src/divider.js.map +1 -1
  562. package/lib/components/divider/src/divider.vue.d.ts +4 -0
  563. package/lib/components/divider/src/divider.vue_vue_type_script_lang.js.map +1 -1
  564. package/lib/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.js +3 -2
  565. package/lib/components/divider/src/divider.vue_vue_type_template_id_6ddd3543_lang.js.map +1 -1
  566. package/lib/components/drawer/index.d.ts +66 -208
  567. package/lib/components/drawer/index.js +8 -8
  568. package/lib/components/drawer/index.js.map +1 -1
  569. package/lib/components/drawer/src/drawer.d.ts +35 -0
  570. package/lib/components/drawer/src/drawer.js +33 -0
  571. package/lib/components/drawer/src/drawer.js.map +1 -0
  572. package/lib/components/drawer/src/drawer.vue.d.ts +129 -0
  573. package/lib/components/drawer/src/drawer.vue_vue_type_script_lang.js +41 -0
  574. package/lib/components/drawer/src/drawer.vue_vue_type_script_lang.js.map +1 -0
  575. package/lib/components/drawer/src/{index.vue_vue_type_template_id_052d0d8e_lang.js → drawer.vue_vue_type_template_id_e0557736_lang.js} +1 -1
  576. package/lib/components/drawer/src/drawer.vue_vue_type_template_id_e0557736_lang.js.map +1 -0
  577. package/lib/components/drawer/src/drawer2.js +12 -0
  578. package/lib/components/drawer/src/drawer2.js.map +1 -0
  579. package/lib/components/dropdown/index.d.ts +3 -3
  580. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
  581. package/lib/components/dropdown/src/dropdown.vue.d.ts +1 -1
  582. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js +5 -5
  583. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js.map +1 -1
  584. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
  585. package/lib/components/dropdown/src/useDropdown.d.ts +0 -1
  586. package/lib/components/dropdown/src/useDropdown.js +0 -2
  587. package/lib/components/dropdown/src/useDropdown.js.map +1 -1
  588. package/lib/components/form/index.d.ts +4 -4
  589. package/lib/components/form/src/form-item.vue.d.ts +2 -2
  590. package/lib/components/form/src/form-item.vue_vue_type_script_lang.js +3 -5
  591. package/lib/components/form/src/form-item.vue_vue_type_script_lang.js.map +1 -1
  592. package/lib/components/form/src/form-item.vue_vue_type_template_id_24eda48b_lang.js.map +1 -1
  593. package/lib/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.js +10 -10
  594. package/lib/components/image-viewer/src/image-viewer.vue_vue_type_script_lang.js.map +1 -1
  595. package/lib/components/image-viewer/src/image-viewer.vue_vue_type_template_id_4b22ad85_lang.js.map +1 -1
  596. package/lib/components/index.js +12 -1
  597. package/lib/components/index.js.map +1 -1
  598. package/lib/components/input/index.d.ts +10 -10
  599. package/lib/components/input/src/input.d.ts +2 -2
  600. package/lib/components/input/src/input.js +4 -3
  601. package/lib/components/input/src/input.js.map +1 -1
  602. package/lib/components/input/src/input.vue.d.ts +10 -10
  603. package/lib/components/input/src/input.vue_vue_type_script_lang.js +10 -11
  604. package/lib/components/input/src/input.vue_vue_type_script_lang.js.map +1 -1
  605. package/lib/components/input/src/input.vue_vue_type_template_id_3290dcb6_lang.js.map +1 -1
  606. package/lib/components/input-number/index.d.ts +23 -23
  607. package/lib/components/input-number/src/input-number.vue.d.ts +23 -23
  608. package/lib/components/input-number/src/input-number.vue_vue_type_script_lang.js +10 -9
  609. package/lib/components/input-number/src/input-number.vue_vue_type_script_lang.js.map +1 -1
  610. package/lib/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.js +2 -1
  611. package/lib/components/input-number/src/input-number.vue_vue_type_template_id_dec60af6_lang.js.map +1 -1
  612. package/lib/components/link/index.d.ts +2 -2
  613. package/lib/components/link/src/link.vue.d.ts +2 -2
  614. package/lib/components/loading/index.d.ts +52 -13
  615. package/lib/components/loading/index.js +8 -8
  616. package/lib/components/loading/index.js.map +1 -1
  617. package/lib/components/loading/src/directive.d.ts +11 -10
  618. package/lib/components/loading/src/directive.js +45 -26
  619. package/lib/components/loading/src/directive.js.map +1 -1
  620. package/lib/components/loading/src/loading.d.ts +24 -0
  621. package/lib/components/loading/src/loading.js +116 -0
  622. package/lib/components/loading/src/loading.js.map +1 -0
  623. package/lib/components/loading/src/service.d.ts +3 -0
  624. package/lib/components/loading/src/service.js +105 -0
  625. package/lib/components/loading/src/service.js.map +1 -0
  626. package/lib/components/loading/src/types.d.ts +23 -0
  627. package/lib/components/loading/src/types.js +3 -0
  628. package/lib/components/loading/src/types.js.map +1 -0
  629. package/lib/components/menu/src/menu.js +2 -2
  630. package/lib/components/menu/src/menu.js.map +1 -1
  631. package/lib/components/menu/src/sub-menu.js +2 -2
  632. package/lib/components/menu/src/sub-menu.js.map +1 -1
  633. package/lib/components/message/src/message.d.ts +1 -1
  634. package/lib/components/message/src/message.vue.d.ts +4 -3
  635. package/lib/components/message/src/message.vue_vue_type_script_lang.js +2 -0
  636. package/lib/components/message/src/message.vue_vue_type_script_lang.js.map +1 -1
  637. package/lib/components/message/src/message.vue_vue_type_template_id_031967c2_lang.js +51 -54
  638. package/lib/components/message/src/message.vue_vue_type_template_id_031967c2_lang.js.map +1 -1
  639. package/lib/components/message-box/src/index.vue.d.ts +1840 -0
  640. package/lib/components/notification/src/notification.d.ts +1 -1
  641. package/lib/components/notification/src/notification.vue.d.ts +5 -5
  642. package/lib/components/page-header/src/page-header.js +2 -2
  643. package/lib/components/page-header/src/page-header.js.map +1 -1
  644. package/lib/components/pagination/src/components/next.vue_vue_type_script_lang.js +2 -2
  645. package/lib/components/pagination/src/components/next.vue_vue_type_script_lang.js.map +1 -1
  646. package/lib/components/pagination/src/components/next.vue_vue_type_template_id_93fbb39e_lang.js.map +1 -1
  647. package/lib/components/pagination/src/components/pager.vue_vue_type_script_lang.js +4 -4
  648. package/lib/components/pagination/src/components/pager.vue_vue_type_script_lang.js.map +1 -1
  649. package/lib/components/pagination/src/components/pager.vue_vue_type_template_id_0bfc9916_lang.js.map +1 -1
  650. package/lib/components/pagination/src/components/prev.vue_vue_type_script_lang.js +2 -2
  651. package/lib/components/pagination/src/components/prev.vue_vue_type_script_lang.js.map +1 -1
  652. package/lib/components/pagination/src/components/prev.vue_vue_type_template_id_15259d71_lang.js.map +1 -1
  653. package/lib/components/popconfirm/index.d.ts +2 -2
  654. package/lib/components/popconfirm/src/popconfirm.js +2 -2
  655. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  656. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
  657. package/lib/components/popover/index.d.ts +2 -2
  658. package/lib/components/popover/src/index.vue.d.ts +1 -1
  659. package/lib/components/popper/index.d.ts +3480 -0
  660. package/lib/components/popper/src/index.vue.d.ts +1737 -0
  661. package/lib/components/popper/src/use-popper/index.d.ts +1540 -1
  662. package/lib/components/progress/index.d.ts +81 -4
  663. package/lib/components/progress/index.js +7 -8
  664. package/lib/components/progress/index.js.map +1 -1
  665. package/lib/components/progress/src/progress.d.ts +22 -0
  666. package/lib/components/progress/src/progress.js +66 -0
  667. package/lib/components/progress/src/progress.js.map +1 -0
  668. package/lib/components/progress/src/progress.vue.d.ts +81 -0
  669. package/lib/components/progress/src/progress.vue_vue_type_script_lang.js +146 -0
  670. package/lib/components/progress/src/progress.vue_vue_type_script_lang.js.map +1 -0
  671. package/lib/components/progress/src/{index.vue_vue_type_template_id_556e268a_lang.js → progress.vue_vue_type_template_id_9158c3b6_lang.js} +1 -1
  672. package/lib/components/progress/src/progress.vue_vue_type_template_id_9158c3b6_lang.js.map +1 -0
  673. package/lib/components/progress/src/progress2.js +12 -0
  674. package/lib/components/progress/src/progress2.js.map +1 -0
  675. package/lib/components/radio/index.d.ts +36 -40
  676. package/lib/components/radio/src/radio-button.d.ts +2 -2
  677. package/lib/components/radio/src/radio-button.vue.d.ts +8 -8
  678. package/lib/components/radio/src/radio-group.d.ts +2 -2
  679. package/lib/components/radio/src/radio-group.js +3 -2
  680. package/lib/components/radio/src/radio-group.js.map +1 -1
  681. package/lib/components/radio/src/radio-group.vue.d.ts +6 -8
  682. package/lib/components/radio/src/radio-group.vue_vue_type_script_lang.js +1 -3
  683. package/lib/components/radio/src/radio-group.vue_vue_type_script_lang.js.map +1 -1
  684. package/lib/components/radio/src/radio-group.vue_vue_type_template_id_53ef81f9_lang.js.map +1 -1
  685. package/lib/components/radio/src/radio.d.ts +5 -5
  686. package/lib/components/radio/src/radio.js +5 -6
  687. package/lib/components/radio/src/radio.js.map +1 -1
  688. package/lib/components/radio/src/radio.vue.d.ts +8 -8
  689. package/lib/components/rate/src/rate.js +4 -4
  690. package/lib/components/rate/src/rate.js.map +1 -1
  691. package/lib/components/rate/src/rate.vue_vue_type_script_lang.js +3 -3
  692. package/lib/components/rate/src/rate.vue_vue_type_script_lang.js.map +1 -1
  693. package/lib/components/rate/src/rate.vue_vue_type_template_id_38c42df6_lang.js.map +1 -1
  694. package/lib/components/result/index.d.ts +3 -3
  695. package/lib/components/result/src/result.d.ts +1 -1
  696. package/lib/components/result/src/result.js +5 -5
  697. package/lib/components/result/src/result.js.map +1 -1
  698. package/lib/components/result/src/result.vue.d.ts +3 -3
  699. package/lib/components/select/index.d.ts +14 -7
  700. package/lib/components/select/src/select.vue.d.ts +14 -7
  701. package/lib/components/select/src/select.vue_vue_type_script_lang.js +7 -3
  702. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  703. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js +6 -6
  704. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js.map +1 -1
  705. package/lib/components/select/src/useSelect.d.ts +76 -0
  706. package/lib/components/select/src/useSelect.js +2 -2
  707. package/lib/components/select/src/useSelect.js.map +1 -1
  708. package/lib/components/select-v2/index.d.ts +14 -14
  709. package/lib/components/select-v2/src/defaults.js +2 -2
  710. package/lib/components/select-v2/src/defaults.js.map +1 -1
  711. package/lib/components/select-v2/src/select.vue.d.ts +7 -7
  712. package/lib/components/select-v2/src/useSelect.d.ts +1 -1
  713. package/lib/components/select-v2/src/useSelect.js +9 -10
  714. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  715. package/lib/components/skeleton/index.d.ts +6 -6
  716. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  717. package/lib/components/skeleton/src/skeleton-item.vue.d.ts +3 -3
  718. package/lib/components/slider/index.d.ts +307 -0
  719. package/lib/components/slider/src/index.vue.d.ts +155 -0
  720. package/lib/components/slider/src/useSlide.d.ts +21 -0
  721. package/lib/components/steps/index.d.ts +4 -4
  722. package/lib/components/steps/src/item.vue.d.ts +2 -2
  723. package/lib/components/steps/src/item.vue_vue_type_script_lang.js +3 -3
  724. package/lib/components/steps/src/item.vue_vue_type_script_lang.js.map +1 -1
  725. package/lib/components/steps/src/item.vue_vue_type_template_id_6ec47f4b_lang.js.map +1 -1
  726. package/lib/components/switch/index.d.ts +99 -4
  727. package/lib/components/switch/index.js +8 -8
  728. package/lib/components/switch/index.js.map +1 -1
  729. package/lib/components/switch/src/switch.d.ts +31 -0
  730. package/lib/components/switch/src/switch.js +92 -0
  731. package/lib/components/switch/src/switch.js.map +1 -0
  732. package/lib/components/switch/src/switch.vue.d.ts +98 -0
  733. package/lib/components/switch/src/{index.vue_vue_type_script_lang.js → switch.vue_vue_type_script_lang.js} +28 -101
  734. package/lib/components/switch/src/switch.vue_vue_type_script_lang.js.map +1 -0
  735. package/lib/components/switch/src/{index.vue_vue_type_template_id_ee4fcade_lang.js → switch.vue_vue_type_template_id_538fbc85_lang.js} +1 -1
  736. package/lib/components/switch/src/switch.vue_vue_type_template_id_538fbc85_lang.js.map +1 -0
  737. package/lib/components/switch/src/switch2.js +12 -0
  738. package/lib/components/switch/src/switch2.js.map +1 -0
  739. package/lib/components/table/index.d.ts +9 -9
  740. package/lib/components/table/src/config.js +4 -4
  741. package/lib/components/table/src/config.js.map +1 -1
  742. package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js +3 -3
  743. package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js.map +1 -1
  744. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js.map +1 -1
  745. package/lib/components/table/src/table/style-helper.d.ts +1 -1
  746. package/lib/components/table/src/table/style-helper.js +6 -8
  747. package/lib/components/table/src/table/style-helper.js.map +1 -1
  748. package/lib/components/table/src/table-column/defaults.d.ts +2 -2
  749. package/lib/components/table/src/table-column/defaults.js.map +1 -1
  750. package/lib/components/table/src/table-column/index.d.ts +3 -3
  751. package/lib/components/table/src/table.vue.d.ts +3 -3
  752. package/lib/components/table/src/util.js +0 -1
  753. package/lib/components/table/src/util.js.map +1 -1
  754. package/lib/components/tabs/index.d.ts +4 -4
  755. package/lib/components/tabs/src/tab-nav.js +4 -4
  756. package/lib/components/tabs/src/tab-nav.js.map +1 -1
  757. package/lib/components/tabs/src/tab-pane.vue.d.ts +2 -2
  758. package/lib/components/tabs/src/tabs.js +2 -2
  759. package/lib/components/tabs/src/tabs.js.map +1 -1
  760. package/lib/components/tag/src/tag.vue_vue_type_script_lang.js +5 -5
  761. package/lib/components/tag/src/tag.vue_vue_type_script_lang.js.map +1 -1
  762. package/lib/components/tag/src/tag.vue_vue_type_template_id_525996c5_lang.js.map +1 -1
  763. package/lib/components/time-picker/index.d.ts +10 -10
  764. package/lib/components/time-picker/src/common/date-utils.d.ts +1 -1
  765. package/lib/components/time-picker/src/common/date-utils.js +1 -3
  766. package/lib/components/time-picker/src/common/date-utils.js.map +1 -1
  767. package/lib/components/time-picker/src/common/picker.vue.d.ts +6 -6
  768. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js +6 -8
  769. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js.map +1 -1
  770. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js.map +1 -1
  771. package/lib/components/time-picker/src/common/props.d.ts +1 -1
  772. package/lib/components/time-picker/src/common/props.js +2 -2
  773. package/lib/components/time-picker/src/common/props.js.map +1 -1
  774. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.js +3 -3
  775. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_lang.js.map +1 -1
  776. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_template_id_4fb3c576_lang.js.map +1 -1
  777. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
  778. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
  779. package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  780. package/lib/components/time-picker/src/time-picker.d.ts +5 -5
  781. package/lib/components/time-select/index.d.ts +4 -4
  782. package/lib/components/time-select/src/time-select.vue.d.ts +2 -2
  783. package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js +3 -3
  784. package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js.map +1 -1
  785. package/lib/components/time-select/src/time-select.vue_vue_type_template_id_5beb6389_lang.js.map +1 -1
  786. package/lib/components/timeline/index.d.ts +4 -4
  787. package/lib/components/timeline/src/item.vue.d.ts +2 -2
  788. package/lib/components/tooltip/src/index.js +4 -2
  789. package/lib/components/tooltip/src/index.js.map +1 -1
  790. package/lib/components/transfer/index.d.ts +8 -8
  791. package/lib/components/transfer/src/index.vue.d.ts +4 -4
  792. package/lib/components/transfer/src/index.vue_vue_type_script_lang.js +3 -3
  793. package/lib/components/transfer/src/index.vue_vue_type_script_lang.js.map +1 -1
  794. package/lib/components/transfer/src/index.vue_vue_type_template_id_6c8b9070_lang.js.map +1 -1
  795. package/lib/components/transfer/src/transfer-panel.vue.d.ts +2 -2
  796. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_lang.js +3 -3
  797. package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_lang.js.map +1 -1
  798. package/lib/components/transfer/src/transfer-panel.vue_vue_type_template_id_1a7d1f9c_lang.js.map +1 -1
  799. package/lib/components/tree/index.d.ts +2 -2
  800. package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js +3 -3
  801. package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js.map +1 -1
  802. package/lib/components/tree/src/tree-node.vue_vue_type_template_id_62959aba_lang.js.map +1 -1
  803. package/lib/components/tree/src/tree.vue.d.ts +1 -1
  804. package/lib/components/tree-v2/index.d.ts +2 -2
  805. package/lib/components/tree-v2/src/composables/useTree.d.ts +29 -0
  806. package/lib/components/tree-v2/src/tree-node.vue.d.ts +2 -2
  807. package/lib/components/tree-v2/src/tree-node.vue_vue_type_script_lang.js +2 -2
  808. package/lib/components/tree-v2/src/tree-node.vue_vue_type_script_lang.js.map +1 -1
  809. package/lib/components/tree-v2/src/tree-node.vue_vue_type_template_id_71d8f826_lang.js.map +1 -1
  810. package/lib/components/tree-v2/src/tree.vue.d.ts +2 -2
  811. package/lib/components/upload/src/upload-list.vue_vue_type_script_lang.js +8 -8
  812. package/lib/components/upload/src/upload-list.vue_vue_type_script_lang.js.map +1 -1
  813. package/lib/components/upload/src/upload-list.vue_vue_type_template_id_192277b6_lang.js.map +1 -1
  814. package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
  815. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  816. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  817. package/lib/components/virtual-list/src/components/scrollbar.d.ts +1 -1
  818. package/lib/defaults.js +1 -1
  819. package/lib/defaults.js.map +1 -1
  820. package/lib/hooks/index.d.ts +2 -0
  821. package/lib/hooks/index.js +46 -41
  822. package/lib/hooks/index.js.map +1 -1
  823. package/lib/hooks/use-common-props/index.d.ts +5 -0
  824. package/lib/hooks/use-common-props/index.js +37 -0
  825. package/lib/hooks/use-common-props/index.js.map +1 -0
  826. package/lib/hooks/use-form-item/index.d.ts +1 -14
  827. package/lib/hooks/use-form-item/index.js +1 -23
  828. package/lib/hooks/use-form-item/index.js.map +1 -1
  829. package/lib/hooks/use-global-config/index.d.ts +4 -1
  830. package/lib/hooks/use-global-config/index.js +7 -5
  831. package/lib/hooks/use-global-config/index.js.map +1 -1
  832. package/lib/hooks/use-locale/index.d.ts +6 -5
  833. package/lib/hooks/use-locale/index.js +8 -5
  834. package/lib/hooks/use-locale/index.js.map +1 -1
  835. package/lib/hooks/use-lockscreen/index.js +4 -0
  836. package/lib/hooks/use-lockscreen/index.js.map +1 -1
  837. package/lib/hooks/use-prop/index.d.ts +2 -0
  838. package/lib/hooks/use-prop/index.js +16 -0
  839. package/lib/hooks/use-prop/index.js.map +1 -0
  840. package/lib/index.d.ts +1 -1
  841. package/lib/index.js +59 -43
  842. package/lib/index.js.map +1 -1
  843. package/lib/locale/index.d.ts +0 -5
  844. package/lib/locale/index.js +0 -63
  845. package/lib/locale/index.js.map +1 -1
  846. package/lib/locale/lang/ca.js +2 -2
  847. package/lib/locale/lang/ca.js.map +1 -1
  848. package/lib/locale/lang/en.js +2 -2
  849. package/lib/locale/lang/en.js.map +1 -1
  850. package/lib/make-installer.d.ts +1 -2
  851. package/lib/make-installer.js +2 -4
  852. package/lib/make-installer.js.map +1 -1
  853. package/lib/plugin.d.ts +2 -47
  854. package/lib/plugin.js +1 -1
  855. package/lib/plugin.js.map +1 -1
  856. package/lib/tokens/form.d.ts +1 -1
  857. package/lib/tokens/form.js.map +1 -1
  858. package/lib/utils/aria.d.ts +1 -0
  859. package/lib/utils/aria.js +2 -1
  860. package/lib/utils/aria.js.map +1 -1
  861. package/lib/utils/config.d.ts +1 -1
  862. package/lib/utils/config.js.map +1 -1
  863. package/lib/utils/icon.js +14 -14
  864. package/lib/utils/icon.js.map +1 -1
  865. package/lib/utils/util.d.ts +8 -2
  866. package/lib/utils/util.js.map +1 -1
  867. package/lib/version.d.ts +1 -1
  868. package/lib/version.js +1 -1
  869. package/lib/version.js.map +1 -1
  870. package/package.json +3 -3
  871. package/tags.json +1 -1
  872. package/theme-chalk/base.css +1 -1
  873. package/theme-chalk/el-autocomplete.css +1 -1
  874. package/theme-chalk/el-cascader-panel.css +1 -1
  875. package/theme-chalk/el-cascader.css +1 -1
  876. package/theme-chalk/el-check-tag.css +1 -1
  877. package/theme-chalk/el-date-picker.css +1 -1
  878. package/theme-chalk/el-divider.css +1 -1
  879. package/theme-chalk/el-dropdown.css +1 -1
  880. package/theme-chalk/el-icon.css +1 -1
  881. package/theme-chalk/el-image.css +1 -1
  882. package/theme-chalk/el-input-number.css +1 -1
  883. package/theme-chalk/el-input.css +1 -1
  884. package/theme-chalk/el-menu.css +1 -1
  885. package/theme-chalk/el-option-item.css +1 -1
  886. package/theme-chalk/el-option.css +1 -1
  887. package/theme-chalk/el-select-dropdown.css +1 -1
  888. package/theme-chalk/el-select-v2.css +1 -1
  889. package/theme-chalk/el-select.css +1 -1
  890. package/theme-chalk/el-steps.css +1 -1
  891. package/theme-chalk/el-table.css +1 -1
  892. package/theme-chalk/el-tabs.css +1 -1
  893. package/theme-chalk/el-time-picker.css +1 -1
  894. package/theme-chalk/el-time-select.css +1 -1
  895. package/theme-chalk/el-transfer.css +1 -1
  896. package/theme-chalk/el-tree.css +1 -1
  897. package/theme-chalk/el-upload.css +1 -1
  898. package/theme-chalk/el-var.css +1 -1
  899. package/theme-chalk/index.css +1 -1
  900. package/theme-chalk/src/check-tag.scss +1 -1
  901. package/theme-chalk/src/common/var.scss +7 -7
  902. package/theme-chalk/src/date-picker/date-table.scss +1 -1
  903. package/theme-chalk/src/date-picker/month-table.scss +1 -1
  904. package/theme-chalk/src/date-picker/time-spinner.scss +1 -1
  905. package/theme-chalk/src/date-picker/year-table.scss +1 -1
  906. package/theme-chalk/src/divider.scss +2 -1
  907. package/theme-chalk/src/dropdown.scss +0 -4
  908. package/theme-chalk/src/icon.scss +1 -2
  909. package/theme-chalk/src/image.scss +4 -4
  910. package/theme-chalk/src/input-number.scss +1 -1
  911. package/theme-chalk/src/input.scss +5 -1
  912. package/theme-chalk/src/menu.scss +1 -1
  913. package/theme-chalk/src/mixins/mixins.scss +1 -1
  914. package/theme-chalk/src/select-v2.scss +1 -1
  915. package/theme-chalk/src/select.scss +22 -18
  916. package/theme-chalk/src/steps.scss +1 -1
  917. package/theme-chalk/src/table.scss +1 -1
  918. package/theme-chalk/src/tabs.scss +1 -1
  919. package/theme-chalk/src/time-select.scss +1 -1
  920. package/theme-chalk/src/upload.scss +1 -1
  921. package/theme-chalk/src/var.scss +1 -1
  922. package/web-types.json +1 -1
  923. package/es/components/calendar/src/index.mjs +0 -7
  924. package/es/components/calendar/src/index.mjs.map +0 -1
  925. package/es/components/calendar/src/index.vue.d.ts +0 -33
  926. package/es/components/calendar/src/index.vue_vue_type_script_lang.mjs.map +0 -1
  927. package/es/components/calendar/src/index.vue_vue_type_template_id_819aa44a_lang.mjs.map +0 -1
  928. package/es/components/drawer/src/index.mjs +0 -7
  929. package/es/components/drawer/src/index.mjs.map +0 -1
  930. package/es/components/drawer/src/index.vue.d.ts +0 -138
  931. package/es/components/drawer/src/index.vue_vue_type_script_lang.mjs +0 -56
  932. package/es/components/drawer/src/index.vue_vue_type_script_lang.mjs.map +0 -1
  933. package/es/components/drawer/src/index.vue_vue_type_template_id_052d0d8e_lang.mjs.map +0 -1
  934. package/es/components/loading/src/createLoadingComponent.d.ts +0 -2
  935. package/es/components/loading/src/createLoadingComponent.mjs +0 -121
  936. package/es/components/loading/src/createLoadingComponent.mjs.map +0 -1
  937. package/es/components/loading/src/index.d.ts +0 -3
  938. package/es/components/loading/src/index.mjs +0 -106
  939. package/es/components/loading/src/index.mjs.map +0 -1
  940. package/es/components/loading/src/loading.type.d.ts +0 -44
  941. package/es/components/loading/src/loading.type.mjs +0 -2
  942. package/es/components/loading/src/loading.type.mjs.map +0 -1
  943. package/es/components/progress/src/index.mjs +0 -7
  944. package/es/components/progress/src/index.mjs.map +0 -1
  945. package/es/components/progress/src/index.vue.d.ts +0 -2
  946. package/es/components/progress/src/index.vue_vue_type_script_lang.mjs.map +0 -1
  947. package/es/components/progress/src/index.vue_vue_type_template_id_556e268a_lang.mjs.map +0 -1
  948. package/es/components/switch/src/index.mjs +0 -7
  949. package/es/components/switch/src/index.mjs.map +0 -1
  950. package/es/components/switch/src/index.vue.d.ts +0 -2
  951. package/es/components/switch/src/index.vue_vue_type_script_lang.mjs +0 -190
  952. package/es/components/switch/src/index.vue_vue_type_script_lang.mjs.map +0 -1
  953. package/es/components/switch/src/index.vue_vue_type_template_id_ee4fcade_lang.mjs.map +0 -1
  954. package/lib/components/calendar/src/index.js +0 -12
  955. package/lib/components/calendar/src/index.js.map +0 -1
  956. package/lib/components/calendar/src/index.vue.d.ts +0 -33
  957. package/lib/components/calendar/src/index.vue_vue_type_script_lang.js.map +0 -1
  958. package/lib/components/calendar/src/index.vue_vue_type_template_id_819aa44a_lang.js.map +0 -1
  959. package/lib/components/drawer/src/index.js +0 -12
  960. package/lib/components/drawer/src/index.js.map +0 -1
  961. package/lib/components/drawer/src/index.vue.d.ts +0 -138
  962. package/lib/components/drawer/src/index.vue_vue_type_script_lang.js +0 -60
  963. package/lib/components/drawer/src/index.vue_vue_type_script_lang.js.map +0 -1
  964. package/lib/components/drawer/src/index.vue_vue_type_template_id_052d0d8e_lang.js.map +0 -1
  965. package/lib/components/loading/src/createLoadingComponent.d.ts +0 -2
  966. package/lib/components/loading/src/createLoadingComponent.js +0 -125
  967. package/lib/components/loading/src/createLoadingComponent.js.map +0 -1
  968. package/lib/components/loading/src/index.d.ts +0 -3
  969. package/lib/components/loading/src/index.js +0 -110
  970. package/lib/components/loading/src/index.js.map +0 -1
  971. package/lib/components/loading/src/loading.type.d.ts +0 -44
  972. package/lib/components/loading/src/loading.type.js +0 -3
  973. package/lib/components/loading/src/loading.type.js.map +0 -1
  974. package/lib/components/progress/src/index.js +0 -12
  975. package/lib/components/progress/src/index.js.map +0 -1
  976. package/lib/components/progress/src/index.vue.d.ts +0 -2
  977. package/lib/components/progress/src/index.vue_vue_type_script_lang.js +0 -213
  978. package/lib/components/progress/src/index.vue_vue_type_script_lang.js.map +0 -1
  979. package/lib/components/progress/src/index.vue_vue_type_template_id_556e268a_lang.js.map +0 -1
  980. package/lib/components/switch/src/index.js +0 -12
  981. package/lib/components/switch/src/index.js.map +0 -1
  982. package/lib/components/switch/src/index.vue.d.ts +0 -2
  983. package/lib/components/switch/src/index.vue_vue_type_script_lang.js.map +0 -1
  984. package/lib/components/switch/src/index.vue_vue_type_template_id_ee4fcade_lang.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"style-helper.mjs","sources":["../../../../../../../packages/components/table/src/table/style-helper.ts"],"sourcesContent":["import {\n onMounted,\n onUnmounted,\n computed,\n ref,\n watchEffect,\n watch,\n unref,\n nextTick,\n} from 'vue'\nimport throttle from 'lodash/throttle'\nimport {\n addResizeListener,\n removeResizeListener,\n} from '@element-plus/utils/resize-event'\nimport { useGlobalConfig } from '@element-plus/utils/util'\nimport { on, off } from '@element-plus/utils/dom'\nimport { parseHeight } from '../util'\n\nimport type { ResizableElement } from '@element-plus/utils/resize-event'\nimport type { Table, TableProps } from './defaults'\nimport type { Store } from '../store'\nimport type TableLayout from '../table-layout'\nimport type { TableColumnCtx } from '../table-column/defaults'\n\nfunction useStyle<T>(\n props: TableProps<T>,\n layout: TableLayout<T>,\n store: Store<T>,\n table: Table<T>\n) {\n const $ELEMENT = useGlobalConfig()\n const isHidden = ref(false)\n const renderExpanded = ref(null)\n const resizeProxyVisible = ref(false)\n const setDragVisible = (visible: boolean) => {\n resizeProxyVisible.value = visible\n }\n const resizeState = ref({\n width: null,\n height: null,\n })\n const isGroup = ref(false)\n\n watchEffect(() => {\n layout.setHeight(props.height)\n })\n watchEffect(() => {\n layout.setMaxHeight(props.maxHeight)\n })\n watch(\n () => [props.currentRowKey, store.states.rowKey],\n ([currentRowKey, rowKey]) => {\n if (!unref(rowKey)) return\n store.setCurrentRowKey(`${currentRowKey}`)\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.data,\n (data) => {\n table.store.commit('setData', data)\n },\n {\n immediate: true,\n deep: true,\n }\n )\n watchEffect(() => {\n if (props.expandRowKeys) {\n store.setExpandRowKeysAdapter(props.expandRowKeys)\n }\n })\n\n const handleMouseLeave = () => {\n table.store.commit('setHoverRow', null)\n if (table.hoverState) table.hoverState = null\n }\n\n const handleHeaderFooterMousewheel = (event, data) => {\n const { pixelX, pixelY } = data\n if (Math.abs(pixelX) >= Math.abs(pixelY)) {\n table.refs.bodyWrapper.scrollLeft += data.pixelX / 5\n }\n }\n\n const shouldUpdateHeight = computed(() => {\n return (\n props.height ||\n props.maxHeight ||\n store.states.fixedColumns.value.length > 0 ||\n store.states.rightFixedColumns.value.length > 0\n )\n })\n\n const doLayout = () => {\n if (shouldUpdateHeight.value) {\n layout.updateElsHeight()\n }\n layout.updateColumnsWidth()\n requestAnimationFrame(syncPostion)\n }\n onMounted(async () => {\n setScrollClass('is-scrolling-left')\n store.updateColumns()\n await nextTick()\n bindEvents()\n requestAnimationFrame(doLayout)\n\n resizeState.value = {\n width: table.vnode.el.offsetWidth,\n height: table.vnode.el.offsetHeight,\n }\n\n // init filters\n store.states.columns.value.forEach((column: TableColumnCtx<T>) => {\n if (column.filteredValue && column.filteredValue.length) {\n table.store.commit('filterChange', {\n column,\n values: column.filteredValue,\n silent: true,\n })\n }\n })\n table.$ready = true\n })\n const setScrollClassByEl = (el: HTMLElement, className: string) => {\n if (!el) return\n const classList = Array.from(el.classList).filter(\n (item) => !item.startsWith('is-scrolling-')\n )\n classList.push(layout.scrollX.value ? className : 'is-scrolling-none')\n el.className = classList.join(' ')\n }\n const setScrollClass = (className: string) => {\n const { bodyWrapper } = table.refs\n setScrollClassByEl(bodyWrapper, className)\n }\n const syncPostion = throttle(function () {\n if (!table.refs.bodyWrapper) return\n const { scrollLeft, scrollTop, offsetWidth, scrollWidth } =\n table.refs.bodyWrapper\n const {\n headerWrapper,\n footerWrapper,\n fixedBodyWrapper,\n rightFixedBodyWrapper,\n } = table.refs\n if (headerWrapper) headerWrapper.scrollLeft = scrollLeft\n if (footerWrapper) footerWrapper.scrollLeft = scrollLeft\n if (fixedBodyWrapper) fixedBodyWrapper.scrollTop = scrollTop\n if (rightFixedBodyWrapper) rightFixedBodyWrapper.scrollTop = scrollTop\n const maxScrollLeftPosition = scrollWidth - offsetWidth - 1\n if (scrollLeft >= maxScrollLeftPosition) {\n setScrollClass('is-scrolling-right')\n } else if (scrollLeft === 0) {\n setScrollClass('is-scrolling-left')\n } else {\n setScrollClass('is-scrolling-middle')\n }\n }, 10)\n\n const bindEvents = () => {\n table.refs.bodyWrapper.addEventListener('scroll', syncPostion, {\n passive: true,\n })\n if (props.fit) {\n addResizeListener(table.vnode.el as ResizableElement, resizeListener)\n } else {\n on(window, 'resize', doLayout)\n }\n }\n onUnmounted(() => {\n unbindEvents()\n })\n const unbindEvents = () => {\n table.refs.bodyWrapper?.removeEventListener('scroll', syncPostion, true)\n if (props.fit) {\n removeResizeListener(table.vnode.el as ResizableElement, resizeListener)\n } else {\n off(window, 'resize', doLayout)\n }\n }\n const resizeListener = () => {\n if (!table.$ready) return\n let shouldUpdateLayout = false\n const el = table.vnode.el\n const { width: oldWidth, height: oldHeight } = resizeState.value\n\n const width = el.offsetWidth\n if (oldWidth !== width) {\n shouldUpdateLayout = true\n }\n\n const height = el.offsetHeight\n if ((props.height || shouldUpdateHeight.value) && oldHeight !== height) {\n shouldUpdateLayout = true\n }\n\n if (shouldUpdateLayout) {\n resizeState.value = {\n width,\n height,\n }\n doLayout()\n }\n }\n const tableSize = computed(() => {\n return props.size || $ELEMENT.size\n })\n const bodyWidth = computed(() => {\n const { bodyWidth: bodyWidth_, scrollY, gutterWidth } = layout\n return bodyWidth_.value\n ? `${(bodyWidth_.value as number) - (scrollY.value ? gutterWidth : 0)}px`\n : ''\n })\n const bodyHeight = computed(() => {\n const headerHeight = layout.headerHeight.value || 0\n const bodyHeight = layout.bodyHeight.value\n const footerHeight = layout.footerHeight.value || 0\n if (props.height) {\n return {\n height: bodyHeight ? `${bodyHeight}px` : '',\n }\n } else if (props.maxHeight) {\n const maxHeight = parseHeight(props.maxHeight)\n if (typeof maxHeight === 'number') {\n return {\n 'max-height': `${\n maxHeight - footerHeight - (props.showHeader ? headerHeight : 0)\n }px`,\n }\n }\n }\n return {}\n })\n const emptyBlockStyle = computed(() => {\n if (props.data && props.data.length) return null\n let height = '100%'\n if (layout.appendHeight.value) {\n height = `calc(100% - ${layout.appendHeight.value}px)`\n }\n return {\n width: bodyWidth.value,\n height,\n }\n })\n /**\n * fix layout\n */\n const handleFixedMousewheel = (event, data) => {\n const bodyWrapper = table.refs.bodyWrapper\n if (Math.abs(data.spinY) > 0) {\n const currentScrollTop = bodyWrapper.scrollTop\n if (data.pixelY < 0 && currentScrollTop !== 0) {\n event.preventDefault()\n }\n if (\n data.pixelY > 0 &&\n bodyWrapper.scrollHeight - bodyWrapper.clientHeight > currentScrollTop\n ) {\n event.preventDefault()\n }\n bodyWrapper.scrollTop += Math.ceil(data.pixelY / 5)\n } else {\n bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5)\n }\n }\n const fixedHeight = computed(() => {\n if (props.maxHeight) {\n if (props.showSummary) {\n return {\n bottom: 0,\n }\n }\n return {\n bottom:\n layout.scrollX.value && props.data.length\n ? `${layout.gutterWidth}px`\n : '',\n }\n } else {\n if (props.showSummary) {\n return {\n height: layout.tableHeight.value\n ? `${layout.tableHeight.value}px`\n : '',\n }\n }\n return {\n height: layout.viewportHeight.value\n ? `${layout.viewportHeight.value}px`\n : '',\n }\n }\n })\n const fixedBodyHeight = computed(() => {\n if (props.height) {\n return {\n height: layout.fixedBodyHeight.value\n ? `${layout.fixedBodyHeight.value}px`\n : '',\n }\n } else if (props.maxHeight) {\n let maxHeight = parseHeight(props.maxHeight)\n if (typeof maxHeight === 'number') {\n maxHeight = layout.scrollX.value\n ? maxHeight - layout.gutterWidth\n : maxHeight\n if (props.showHeader) {\n maxHeight -= layout.headerHeight.value\n }\n maxHeight -= layout.footerHeight.value\n return {\n 'max-height': `${maxHeight}px`,\n }\n }\n }\n return {}\n })\n\n return {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n bodyHeight,\n emptyBlockStyle,\n handleFixedMousewheel,\n fixedHeight,\n fixedBodyHeight,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n }\n}\n\nexport default useStyle\n"],"names":[],"mappings":";;;;;;;AAyBA,kBACE,OACA,QACA,OACA,OACA;AACA,QAAM,WAAW;AACjB,QAAM,WAAW,IAAI;AACrB,QAAM,iBAAiB,IAAI;AAC3B,QAAM,qBAAqB,IAAI;AAC/B,QAAM,iBAAiB,CAAC,YAAqB;AAC3C,uBAAmB,QAAQ;AAAA;AAE7B,QAAM,cAAc,IAAI;AAAA,IACtB,OAAO;AAAA,IACP,QAAQ;AAAA;AAEV,QAAM,UAAU,IAAI;AAEpB,cAAY,MAAM;AAChB,WAAO,UAAU,MAAM;AAAA;AAEzB,cAAY,MAAM;AAChB,WAAO,aAAa,MAAM;AAAA;AAE5B,QACE,MAAM,CAAC,MAAM,eAAe,MAAM,OAAO,SACzC,CAAC,CAAC,eAAe,YAAY;AAC3B,QAAI,CAAC,MAAM;AAAS;AACpB,UAAM,iBAAiB,GAAG;AAAA,KAE5B;AAAA,IACE,WAAW;AAAA;AAGf,QACE,MAAM,MAAM,MACZ,CAAC,SAAS;AACR,UAAM,MAAM,OAAO,WAAW;AAAA,KAEhC;AAAA,IACE,WAAW;AAAA,IACX,MAAM;AAAA;AAGV,cAAY,MAAM;AAChB,QAAI,MAAM,eAAe;AACvB,YAAM,wBAAwB,MAAM;AAAA;AAAA;AAIxC,QAAM,mBAAmB,MAAM;AAC7B,UAAM,MAAM,OAAO,eAAe;AAClC,QAAI,MAAM;AAAY,YAAM,aAAa;AAAA;AAG3C,QAAM,+BAA+B,CAAC,OAAO,SAAS;AACpD,UAAM,EAAE,QAAQ,WAAW;AAC3B,QAAI,KAAK,IAAI,WAAW,KAAK,IAAI,SAAS;AACxC,YAAM,KAAK,YAAY,cAAc,KAAK,SAAS;AAAA;AAAA;AAIvD,QAAM,qBAAqB,SAAS,MAAM;AACxC,WACE,MAAM,UACN,MAAM,aACN,MAAM,OAAO,aAAa,MAAM,SAAS,KACzC,MAAM,OAAO,kBAAkB,MAAM,SAAS;AAAA;AAIlD,QAAM,WAAW,MAAM;AACrB,QAAI,mBAAmB,OAAO;AAC5B,aAAO;AAAA;AAET,WAAO;AACP,0BAAsB;AAAA;AAExB,YAAU,YAAY;AACpB,mBAAe;AACf,UAAM;AACN,UAAM;AACN;AACA,0BAAsB;AAEtB,gBAAY,QAAQ;AAAA,MAClB,OAAO,MAAM,MAAM,GAAG;AAAA,MACtB,QAAQ,MAAM,MAAM,GAAG;AAAA;AAIzB,UAAM,OAAO,QAAQ,MAAM,QAAQ,CAAC,WAA8B;AAChE,UAAI,OAAO,iBAAiB,OAAO,cAAc,QAAQ;AACvD,cAAM,MAAM,OAAO,gBAAgB;AAAA,UACjC;AAAA,UACA,QAAQ,OAAO;AAAA,UACf,QAAQ;AAAA;AAAA;AAAA;AAId,UAAM,SAAS;AAAA;AAEjB,QAAM,qBAAqB,CAAC,IAAiB,cAAsB;AACjE,QAAI,CAAC;AAAI;AACT,UAAM,YAAY,MAAM,KAAK,GAAG,WAAW,OACzC,CAAC,SAAS,CAAC,KAAK,WAAW;AAE7B,cAAU,KAAK,OAAO,QAAQ,QAAQ,YAAY;AAClD,OAAG,YAAY,UAAU,KAAK;AAAA;AAEhC,QAAM,iBAAiB,CAAC,cAAsB;AAC5C,UAAM,EAAE,gBAAgB,MAAM;AAC9B,uBAAmB,aAAa;AAAA;AAElC,QAAM,cAAc,SAAS,WAAY;AACvC,QAAI,CAAC,MAAM,KAAK;AAAa;AAC7B,UAAM,EAAE,YAAY,WAAW,aAAa,gBAC1C,MAAM,KAAK;AACb,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,MAAM;AACV,QAAI;AAAe,oBAAc,aAAa;AAC9C,QAAI;AAAe,oBAAc,aAAa;AAC9C,QAAI;AAAkB,uBAAiB,YAAY;AACnD,QAAI;AAAuB,4BAAsB,YAAY;AAC7D,UAAM,wBAAwB,cAAc,cAAc;AAC1D,QAAI,cAAc,uBAAuB;AACvC,qBAAe;AAAA,eACN,eAAe,GAAG;AAC3B,qBAAe;AAAA,WACV;AACL,qBAAe;AAAA;AAAA,KAEhB;AAEH,QAAM,aAAa,MAAM;AACvB,UAAM,KAAK,YAAY,iBAAiB,UAAU,aAAa;AAAA,MAC7D,SAAS;AAAA;AAEX,QAAI,MAAM,KAAK;AACb,wBAAkB,MAAM,MAAM,IAAwB;AAAA,WACjD;AACL,SAAG,QAAQ,UAAU;AAAA;AAAA;AAGzB,cAAY,MAAM;AAChB;AAAA;AAEF,QAAM,eAAe,MAAM;AAjL7B;AAkLI,gBAAM,KAAK,gBAAX,mBAAwB,oBAAoB,UAAU,aAAa;AACnE,QAAI,MAAM,KAAK;AACb,2BAAqB,MAAM,MAAM,IAAwB;AAAA,WACpD;AACL,UAAI,QAAQ,UAAU;AAAA;AAAA;AAG1B,QAAM,iBAAiB,MAAM;AAC3B,QAAI,CAAC,MAAM;AAAQ;AACnB,QAAI,qBAAqB;AACzB,UAAM,KAAK,MAAM,MAAM;AACvB,UAAM,EAAE,OAAO,UAAU,QAAQ,cAAc,YAAY;AAE3D,UAAM,QAAQ,GAAG;AACjB,QAAI,aAAa,OAAO;AACtB,2BAAqB;AAAA;AAGvB,UAAM,SAAS,GAAG;AAClB,QAAK,OAAM,UAAU,mBAAmB,UAAU,cAAc,QAAQ;AACtE,2BAAqB;AAAA;AAGvB,QAAI,oBAAoB;AACtB,kBAAY,QAAQ;AAAA,QAClB;AAAA,QACA;AAAA;AAEF;AAAA;AAAA;AAGJ,QAAM,YAAY,SAAS,MAAM;AAC/B,WAAO,MAAM,QAAQ,SAAS;AAAA;AAEhC,QAAM,YAAY,SAAS,MAAM;AAC/B,UAAM,EAAE,WAAW,YAAY,SAAS,gBAAgB;AACxD,WAAO,WAAW,QACd,GAAI,WAAW,iBAA4B,QAAQ,cAAc,SACjE;AAAA;AAEN,QAAM,aAAa,SAAS,MAAM;AAChC,UAAM,eAAe,OAAO,aAAa,SAAS;AAClD,UAAM,cAAa,OAAO,WAAW;AACrC,UAAM,eAAe,OAAO,aAAa,SAAS;AAClD,QAAI,MAAM,QAAQ;AAChB,aAAO;AAAA,QACL,QAAQ,cAAa,GAAG,kBAAiB;AAAA;AAAA,eAElC,MAAM,WAAW;AAC1B,YAAM,YAAY,YAAY,MAAM;AACpC,UAAI,OAAO,cAAc,UAAU;AACjC,eAAO;AAAA,UACL,cAAc,GACZ,YAAY,sBAAsB,aAAa,eAAe;AAAA;AAAA;AAAA;AAKtE,WAAO;AAAA;AAET,QAAM,kBAAkB,SAAS,MAAM;AACrC,QAAI,MAAM,QAAQ,MAAM,KAAK;AAAQ,aAAO;AAC5C,QAAI,SAAS;AACb,QAAI,OAAO,aAAa,OAAO;AAC7B,eAAS,eAAe,OAAO,aAAa;AAAA;AAE9C,WAAO;AAAA,MACL,OAAO,UAAU;AAAA,MACjB;AAAA;AAAA;AAMJ,QAAM,wBAAwB,CAAC,OAAO,SAAS;AAC7C,UAAM,cAAc,MAAM,KAAK;AAC/B,QAAI,KAAK,IAAI,KAAK,SAAS,GAAG;AAC5B,YAAM,mBAAmB,YAAY;AACrC,UAAI,KAAK,SAAS,KAAK,qBAAqB,GAAG;AAC7C,cAAM;AAAA;AAER,UACE,KAAK,SAAS,KACd,YAAY,eAAe,YAAY,eAAe,kBACtD;AACA,cAAM;AAAA;AAER,kBAAY,aAAa,KAAK,KAAK,KAAK,SAAS;AAAA,WAC5C;AACL,kBAAY,cAAc,KAAK,KAAK,KAAK,SAAS;AAAA;AAAA;AAGtD,QAAM,cAAc,SAAS,MAAM;AACjC,QAAI,MAAM,WAAW;AACnB,UAAI,MAAM,aAAa;AACrB,eAAO;AAAA,UACL,QAAQ;AAAA;AAAA;AAGZ,aAAO;AAAA,QACL,QACE,OAAO,QAAQ,SAAS,MAAM,KAAK,SAC/B,GAAG,OAAO,kBACV;AAAA;AAAA,WAEH;AACL,UAAI,MAAM,aAAa;AACrB,eAAO;AAAA,UACL,QAAQ,OAAO,YAAY,QACvB,GAAG,OAAO,YAAY,YACtB;AAAA;AAAA;AAGR,aAAO;AAAA,QACL,QAAQ,OAAO,eAAe,QAC1B,GAAG,OAAO,eAAe,YACzB;AAAA;AAAA;AAAA;AAIV,QAAM,kBAAkB,SAAS,MAAM;AACrC,QAAI,MAAM,QAAQ;AAChB,aAAO;AAAA,QACL,QAAQ,OAAO,gBAAgB,QAC3B,GAAG,OAAO,gBAAgB,YAC1B;AAAA;AAAA,eAEG,MAAM,WAAW;AAC1B,UAAI,YAAY,YAAY,MAAM;AAClC,UAAI,OAAO,cAAc,UAAU;AACjC,oBAAY,OAAO,QAAQ,QACvB,YAAY,OAAO,cACnB;AACJ,YAAI,MAAM,YAAY;AACpB,uBAAa,OAAO,aAAa;AAAA;AAEnC,qBAAa,OAAO,aAAa;AACjC,eAAO;AAAA,UACL,cAAc,GAAG;AAAA;AAAA;AAAA;AAIvB,WAAO;AAAA;AAGT,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"style-helper.mjs","sources":["../../../../../../../packages/components/table/src/table/style-helper.ts"],"sourcesContent":["import {\n onMounted,\n onUnmounted,\n computed,\n ref,\n watchEffect,\n watch,\n unref,\n nextTick,\n} from 'vue'\nimport throttle from 'lodash/throttle'\nimport {\n addResizeListener,\n removeResizeListener,\n} from '@element-plus/utils/resize-event'\nimport { on, off } from '@element-plus/utils/dom'\nimport { useSize } from '@element-plus/hooks'\nimport { parseHeight } from '../util'\n\nimport type { ResizableElement } from '@element-plus/utils/resize-event'\nimport type { Table, TableProps } from './defaults'\nimport type { Store } from '../store'\nimport type TableLayout from '../table-layout'\nimport type { TableColumnCtx } from '../table-column/defaults'\n\nfunction useStyle<T>(\n props: TableProps<T>,\n layout: TableLayout<T>,\n store: Store<T>,\n table: Table<T>\n) {\n const isHidden = ref(false)\n const renderExpanded = ref(null)\n const resizeProxyVisible = ref(false)\n const setDragVisible = (visible: boolean) => {\n resizeProxyVisible.value = visible\n }\n const resizeState = ref({\n width: null,\n height: null,\n })\n const isGroup = ref(false)\n\n watchEffect(() => {\n layout.setHeight(props.height)\n })\n watchEffect(() => {\n layout.setMaxHeight(props.maxHeight)\n })\n watch(\n () => [props.currentRowKey, store.states.rowKey],\n ([currentRowKey, rowKey]) => {\n if (!unref(rowKey)) return\n store.setCurrentRowKey(`${currentRowKey}`)\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.data,\n (data) => {\n table.store.commit('setData', data)\n },\n {\n immediate: true,\n deep: true,\n }\n )\n watchEffect(() => {\n if (props.expandRowKeys) {\n store.setExpandRowKeysAdapter(props.expandRowKeys)\n }\n })\n\n const handleMouseLeave = () => {\n table.store.commit('setHoverRow', null)\n if (table.hoverState) table.hoverState = null\n }\n\n const handleHeaderFooterMousewheel = (event, data) => {\n const { pixelX, pixelY } = data\n if (Math.abs(pixelX) >= Math.abs(pixelY)) {\n table.refs.bodyWrapper.scrollLeft += data.pixelX / 5\n }\n }\n\n const shouldUpdateHeight = computed(() => {\n return (\n props.height ||\n props.maxHeight ||\n store.states.fixedColumns.value.length > 0 ||\n store.states.rightFixedColumns.value.length > 0\n )\n })\n\n const doLayout = () => {\n if (shouldUpdateHeight.value) {\n layout.updateElsHeight()\n }\n layout.updateColumnsWidth()\n requestAnimationFrame(syncPostion)\n }\n onMounted(async () => {\n setScrollClass('is-scrolling-left')\n store.updateColumns()\n await nextTick()\n bindEvents()\n requestAnimationFrame(doLayout)\n\n resizeState.value = {\n width: table.vnode.el.offsetWidth,\n height: table.vnode.el.offsetHeight,\n }\n\n // init filters\n store.states.columns.value.forEach((column: TableColumnCtx<T>) => {\n if (column.filteredValue && column.filteredValue.length) {\n table.store.commit('filterChange', {\n column,\n values: column.filteredValue,\n silent: true,\n })\n }\n })\n table.$ready = true\n })\n const setScrollClassByEl = (el: HTMLElement, className: string) => {\n if (!el) return\n const classList = Array.from(el.classList).filter(\n (item) => !item.startsWith('is-scrolling-')\n )\n classList.push(layout.scrollX.value ? className : 'is-scrolling-none')\n el.className = classList.join(' ')\n }\n const setScrollClass = (className: string) => {\n const { bodyWrapper } = table.refs\n setScrollClassByEl(bodyWrapper, className)\n }\n const syncPostion = throttle(function () {\n if (!table.refs.bodyWrapper) return\n const { scrollLeft, scrollTop, offsetWidth, scrollWidth } =\n table.refs.bodyWrapper\n const {\n headerWrapper,\n footerWrapper,\n fixedBodyWrapper,\n rightFixedBodyWrapper,\n } = table.refs\n if (headerWrapper) headerWrapper.scrollLeft = scrollLeft\n if (footerWrapper) footerWrapper.scrollLeft = scrollLeft\n if (fixedBodyWrapper) fixedBodyWrapper.scrollTop = scrollTop\n if (rightFixedBodyWrapper) rightFixedBodyWrapper.scrollTop = scrollTop\n const maxScrollLeftPosition = scrollWidth - offsetWidth - 1\n if (scrollLeft >= maxScrollLeftPosition) {\n setScrollClass('is-scrolling-right')\n } else if (scrollLeft === 0) {\n setScrollClass('is-scrolling-left')\n } else {\n setScrollClass('is-scrolling-middle')\n }\n }, 10)\n\n const bindEvents = () => {\n table.refs.bodyWrapper.addEventListener('scroll', syncPostion, {\n passive: true,\n })\n if (props.fit) {\n addResizeListener(table.vnode.el as ResizableElement, resizeListener)\n } else {\n on(window, 'resize', doLayout)\n }\n }\n onUnmounted(() => {\n unbindEvents()\n })\n const unbindEvents = () => {\n table.refs.bodyWrapper?.removeEventListener('scroll', syncPostion, true)\n if (props.fit) {\n removeResizeListener(table.vnode.el as ResizableElement, resizeListener)\n } else {\n off(window, 'resize', doLayout)\n }\n }\n const resizeListener = () => {\n if (!table.$ready) return\n let shouldUpdateLayout = false\n const el = table.vnode.el\n const { width: oldWidth, height: oldHeight } = resizeState.value\n\n const width = el.offsetWidth\n if (oldWidth !== width) {\n shouldUpdateLayout = true\n }\n\n const height = el.offsetHeight\n if ((props.height || shouldUpdateHeight.value) && oldHeight !== height) {\n shouldUpdateLayout = true\n }\n\n if (shouldUpdateLayout) {\n resizeState.value = {\n width,\n height,\n }\n doLayout()\n }\n }\n const tableSize = useSize()\n const bodyWidth = computed(() => {\n const { bodyWidth: bodyWidth_, scrollY, gutterWidth } = layout\n return bodyWidth_.value\n ? `${(bodyWidth_.value as number) - (scrollY.value ? gutterWidth : 0)}px`\n : ''\n })\n const bodyHeight = computed(() => {\n const headerHeight = layout.headerHeight.value || 0\n const bodyHeight = layout.bodyHeight.value\n const footerHeight = layout.footerHeight.value || 0\n if (props.height) {\n return {\n height: bodyHeight ? `${bodyHeight}px` : '',\n }\n } else if (props.maxHeight) {\n const maxHeight = parseHeight(props.maxHeight)\n if (typeof maxHeight === 'number') {\n return {\n 'max-height': `${\n maxHeight - footerHeight - (props.showHeader ? headerHeight : 0)\n }px`,\n }\n }\n }\n return {}\n })\n const emptyBlockStyle = computed(() => {\n if (props.data && props.data.length) return null\n let height = '100%'\n if (layout.appendHeight.value) {\n height = `calc(100% - ${layout.appendHeight.value}px)`\n }\n return {\n width: bodyWidth.value,\n height,\n }\n })\n /**\n * fix layout\n */\n const handleFixedMousewheel = (event, data) => {\n const bodyWrapper = table.refs.bodyWrapper\n if (Math.abs(data.spinY) > 0) {\n const currentScrollTop = bodyWrapper.scrollTop\n if (data.pixelY < 0 && currentScrollTop !== 0) {\n event.preventDefault()\n }\n if (\n data.pixelY > 0 &&\n bodyWrapper.scrollHeight - bodyWrapper.clientHeight > currentScrollTop\n ) {\n event.preventDefault()\n }\n bodyWrapper.scrollTop += Math.ceil(data.pixelY / 5)\n } else {\n bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5)\n }\n }\n const fixedHeight = computed(() => {\n if (props.maxHeight) {\n if (props.showSummary) {\n return {\n bottom: 0,\n }\n }\n return {\n bottom:\n layout.scrollX.value && props.data.length\n ? `${layout.gutterWidth}px`\n : '',\n }\n } else {\n if (props.showSummary) {\n return {\n height: layout.tableHeight.value\n ? `${layout.tableHeight.value}px`\n : '',\n }\n }\n return {\n height: layout.viewportHeight.value\n ? `${layout.viewportHeight.value}px`\n : '',\n }\n }\n })\n const fixedBodyHeight = computed(() => {\n if (props.height) {\n return {\n height: layout.fixedBodyHeight.value\n ? `${layout.fixedBodyHeight.value}px`\n : '',\n }\n } else if (props.maxHeight) {\n let maxHeight = parseHeight(props.maxHeight)\n if (typeof maxHeight === 'number') {\n maxHeight = layout.scrollX.value\n ? maxHeight - layout.gutterWidth\n : maxHeight\n if (props.showHeader) {\n maxHeight -= layout.headerHeight.value\n }\n maxHeight -= layout.footerHeight.value\n return {\n 'max-height': `${maxHeight}px`,\n }\n }\n }\n return {}\n })\n\n return {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n bodyHeight,\n emptyBlockStyle,\n handleFixedMousewheel,\n fixedHeight,\n fixedBodyHeight,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n }\n}\n\nexport default useStyle\n"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ interface TableColumnCtx<T> {
33
33
  showTooltipWhenOverflow: boolean;
34
34
  showOverflowTooltip: boolean;
35
35
  fixed: boolean | string;
36
- formatter: (row: T, column: TableColumnCtx<T>, cellValue: any, index: number) => VNode;
36
+ formatter: (row: T, column: TableColumnCtx<T>, cellValue: any, index: number) => VNode | string;
37
37
  selectable: (row: T, index: number) => boolean;
38
38
  reserveSelection: boolean;
39
39
  filterMethod: FilterMethods<T>;
@@ -102,7 +102,7 @@ declare const _default: {
102
102
  showTooltipWhenOverflow: BooleanConstructor;
103
103
  showOverflowTooltip: BooleanConstructor;
104
104
  fixed: (BooleanConstructor | StringConstructor)[];
105
- formatter: PropType<(row: any, column: TableColumnCtx<any>, cellValue: any, index: number) => VNode<import("vue").RendererNode, import("vue").RendererElement, {
105
+ formatter: PropType<(row: any, column: TableColumnCtx<any>, cellValue: any, index: number) => string | VNode<import("vue").RendererNode, import("vue").RendererElement, {
106
106
  [key: string]: any;
107
107
  }>>;
108
108
  selectable: PropType<(row: any, index: number) => boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.mjs","sources":["../../../../../../../packages/components/table/src/table-column/defaults.ts"],"sourcesContent":["import type { PropType, ComponentInternalInstance, Ref, VNode } from 'vue'\nimport type { DefaultRow, Table } from '../table/defaults'\n\ntype CI<T> = { column: TableColumnCtx<T>; $index: number }\n\ntype Filters = {\n text: string\n value: string\n}[]\n\ntype FilterMethods<T> = (value, row: T, column: TableColumnCtx<T>) => void\n\ntype ValueOf<T> = T[keyof T]\n\ninterface TableColumnCtx<T> {\n id: string\n realWidth: number\n type: string\n label: string\n className: string\n labelClassName: string\n property: string\n prop: string\n width: string | number\n minWidth: string | number\n renderHeader: (data: CI<T>) => VNode\n sortable: boolean | string\n sortMethod: (a: T, b: T) => number\n sortBy: string | ((row: T, index: number) => string) | string[]\n resizable: boolean\n columnKey: string\n rawColumnKey: string\n align: string\n headerAlign: string\n showTooltipWhenOverflow: boolean\n showOverflowTooltip: boolean\n fixed: boolean | string\n formatter: (\n row: T,\n column: TableColumnCtx<T>,\n cellValue,\n index: number\n ) => VNode\n selectable: (row: T, index: number) => boolean\n reserveSelection: boolean\n filterMethod: FilterMethods<T>\n filteredValue: string[]\n filters: Filters\n filterPlacement: string\n filterMultiple: boolean\n index: number | ((index: number) => number)\n sortOrders: ('ascending' | 'descending' | null)[]\n renderCell: (data: any) => void\n colSpan: number\n rowSpan: number\n children: TableColumnCtx<T>[]\n level: number\n filterable: boolean | FilterMethods<T> | Filters\n order: string\n isColumnGroup: boolean\n columns: TableColumnCtx<T>[]\n getColumnIndex: () => number\n no: number\n filterOpened?: boolean\n}\n\ninterface TableColumn<T> extends ComponentInternalInstance {\n vnode: {\n vParent: TableColumn<T> | Table<T>\n } & VNode\n vParent: TableColumn<T> | Table<T>\n columnId: string\n columnConfig: Ref<Partial<TableColumnCtx<T>>>\n}\n\nexport type { Filters, FilterMethods, TableColumnCtx, TableColumn, ValueOf }\n\nexport default {\n type: {\n type: String,\n default: 'default',\n },\n label: String,\n className: String,\n labelClassName: String,\n property: String,\n prop: String,\n width: {\n type: [String, Number],\n default: '',\n },\n minWidth: {\n type: [String, Number],\n default: '',\n },\n renderHeader: Function as PropType<\n TableColumnCtx<DefaultRow>['renderHeader']\n >,\n sortable: {\n type: [Boolean, String],\n default: false,\n },\n sortMethod: Function as PropType<TableColumnCtx<DefaultRow>['sortMethod']>,\n sortBy: [String, Function, Array] as PropType<\n TableColumnCtx<DefaultRow>['sortBy']\n >,\n resizable: {\n type: Boolean,\n default: true,\n },\n columnKey: String,\n align: String,\n headerAlign: String,\n showTooltipWhenOverflow: Boolean,\n showOverflowTooltip: Boolean,\n fixed: [Boolean, String],\n formatter: Function as PropType<TableColumnCtx<DefaultRow>['formatter']>,\n selectable: Function as PropType<TableColumnCtx<DefaultRow>['selectable']>,\n reserveSelection: Boolean,\n filterMethod: Function as PropType<\n TableColumnCtx<DefaultRow>['filterMethod']\n >,\n filteredValue: Array as PropType<TableColumnCtx<DefaultRow>['filteredValue']>,\n filters: Array as PropType<TableColumnCtx<DefaultRow>['filters']>,\n filterPlacement: String,\n filterMultiple: {\n type: Boolean,\n default: true,\n },\n index: [Number, Function] as PropType<TableColumnCtx<DefaultRow>['index']>,\n sortOrders: {\n type: Array as PropType<TableColumnCtx<DefaultRow>['sortOrders']>,\n default: () => {\n return ['ascending', 'descending', null]\n },\n validator: (val: TableColumnCtx<unknown>['sortOrders']) => {\n return val.every(\n (order: string) => ['ascending', 'descending', null].indexOf(order) > -1\n )\n },\n },\n}\n"],"names":[],"mappings":"AA6EA,mBAAe;AAAA,EACb,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,OAAO;AAAA,EACP,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,EAGd,UAAU;AAAA,IACR,MAAM,CAAC,SAAS;AAAA,IAChB,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,EACZ,QAAQ,CAAC,QAAQ,UAAU;AAAA,EAG3B,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,aAAa;AAAA,EACb,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,OAAO,CAAC,SAAS;AAAA,EACjB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,cAAc;AAAA,EAGd,eAAe;AAAA,EACf,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,OAAO,CAAC,QAAQ;AAAA,EAChB,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS,MAAM;AACb,aAAO,CAAC,aAAa,cAAc;AAAA;AAAA,IAErC,WAAW,CAAC,QAA+C;AACzD,aAAO,IAAI,MACT,CAAC,UAAkB,CAAC,aAAa,cAAc,MAAM,QAAQ,SAAS;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"defaults.mjs","sources":["../../../../../../../packages/components/table/src/table-column/defaults.ts"],"sourcesContent":["import type { PropType, ComponentInternalInstance, Ref, VNode } from 'vue'\nimport type { DefaultRow, Table } from '../table/defaults'\n\ntype CI<T> = { column: TableColumnCtx<T>; $index: number }\n\ntype Filters = {\n text: string\n value: string\n}[]\n\ntype FilterMethods<T> = (value, row: T, column: TableColumnCtx<T>) => void\n\ntype ValueOf<T> = T[keyof T]\n\ninterface TableColumnCtx<T> {\n id: string\n realWidth: number\n type: string\n label: string\n className: string\n labelClassName: string\n property: string\n prop: string\n width: string | number\n minWidth: string | number\n renderHeader: (data: CI<T>) => VNode\n sortable: boolean | string\n sortMethod: (a: T, b: T) => number\n sortBy: string | ((row: T, index: number) => string) | string[]\n resizable: boolean\n columnKey: string\n rawColumnKey: string\n align: string\n headerAlign: string\n showTooltipWhenOverflow: boolean\n showOverflowTooltip: boolean\n fixed: boolean | string\n formatter: (\n row: T,\n column: TableColumnCtx<T>,\n cellValue,\n index: number\n ) => VNode | string\n selectable: (row: T, index: number) => boolean\n reserveSelection: boolean\n filterMethod: FilterMethods<T>\n filteredValue: string[]\n filters: Filters\n filterPlacement: string\n filterMultiple: boolean\n index: number | ((index: number) => number)\n sortOrders: ('ascending' | 'descending' | null)[]\n renderCell: (data: any) => void\n colSpan: number\n rowSpan: number\n children: TableColumnCtx<T>[]\n level: number\n filterable: boolean | FilterMethods<T> | Filters\n order: string\n isColumnGroup: boolean\n columns: TableColumnCtx<T>[]\n getColumnIndex: () => number\n no: number\n filterOpened?: boolean\n}\n\ninterface TableColumn<T> extends ComponentInternalInstance {\n vnode: {\n vParent: TableColumn<T> | Table<T>\n } & VNode\n vParent: TableColumn<T> | Table<T>\n columnId: string\n columnConfig: Ref<Partial<TableColumnCtx<T>>>\n}\n\nexport type { Filters, FilterMethods, TableColumnCtx, TableColumn, ValueOf }\n\nexport default {\n type: {\n type: String,\n default: 'default',\n },\n label: String,\n className: String,\n labelClassName: String,\n property: String,\n prop: String,\n width: {\n type: [String, Number],\n default: '',\n },\n minWidth: {\n type: [String, Number],\n default: '',\n },\n renderHeader: Function as PropType<\n TableColumnCtx<DefaultRow>['renderHeader']\n >,\n sortable: {\n type: [Boolean, String],\n default: false,\n },\n sortMethod: Function as PropType<TableColumnCtx<DefaultRow>['sortMethod']>,\n sortBy: [String, Function, Array] as PropType<\n TableColumnCtx<DefaultRow>['sortBy']\n >,\n resizable: {\n type: Boolean,\n default: true,\n },\n columnKey: String,\n align: String,\n headerAlign: String,\n showTooltipWhenOverflow: Boolean,\n showOverflowTooltip: Boolean,\n fixed: [Boolean, String],\n formatter: Function as PropType<TableColumnCtx<DefaultRow>['formatter']>,\n selectable: Function as PropType<TableColumnCtx<DefaultRow>['selectable']>,\n reserveSelection: Boolean,\n filterMethod: Function as PropType<\n TableColumnCtx<DefaultRow>['filterMethod']\n >,\n filteredValue: Array as PropType<TableColumnCtx<DefaultRow>['filteredValue']>,\n filters: Array as PropType<TableColumnCtx<DefaultRow>['filters']>,\n filterPlacement: String,\n filterMultiple: {\n type: Boolean,\n default: true,\n },\n index: [Number, Function] as PropType<TableColumnCtx<DefaultRow>['index']>,\n sortOrders: {\n type: Array as PropType<TableColumnCtx<DefaultRow>['sortOrders']>,\n default: () => {\n return ['ascending', 'descending', null]\n },\n validator: (val: TableColumnCtx<unknown>['sortOrders']) => {\n return val.every(\n (order: string) => ['ascending', 'descending', null].indexOf(order) > -1\n )\n },\n },\n}\n"],"names":[],"mappings":"AA6EA,mBAAe;AAAA,EACb,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,OAAO;AAAA,EACP,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,EAGd,UAAU;AAAA,IACR,MAAM,CAAC,SAAS;AAAA,IAChB,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,EACZ,QAAQ,CAAC,QAAQ,UAAU;AAAA,EAG3B,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,aAAa;AAAA,EACb,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,OAAO,CAAC,SAAS;AAAA,EACjB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,cAAc;AAAA,EAGd,eAAe;AAAA,EACf,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,OAAO,CAAC,QAAQ;AAAA,EAChB,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS,MAAM;AACb,aAAO,CAAC,aAAa,cAAc;AAAA;AAAA,IAErC,WAAW,CAAC,QAA+C;AACzD,aAAO,IAAI,MACT,CAAC,UAAkB,CAAC,aAAa,cAAc,MAAM,QAAQ,SAAS;AAAA;AAAA;AAAA;;;;"}
@@ -39,7 +39,7 @@ declare const _default: import("vue").DefineComponent<{
39
39
  showTooltipWhenOverflow: BooleanConstructor;
40
40
  showOverflowTooltip: BooleanConstructor;
41
41
  fixed: (BooleanConstructor | StringConstructor)[];
42
- formatter: import("vue").PropType<(row: any, column: TableColumnCtx<any>, cellValue: any, index: number) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
42
+ formatter: import("vue").PropType<(row: any, column: TableColumnCtx<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
43
43
  [key: string]: any;
44
44
  }>>;
45
45
  selectable: import("vue").PropType<(row: any, index: number) => boolean>;
@@ -105,10 +105,10 @@ declare const _default: import("vue").DefineComponent<{
105
105
  index?: number | ((index: number) => number) | undefined;
106
106
  align?: string | undefined;
107
107
  filters?: import("./defaults").Filters | undefined;
108
+ prop?: string | undefined;
108
109
  filterMethod?: import("./defaults").FilterMethods<any> | undefined;
109
110
  className?: string | undefined;
110
111
  labelClassName?: string | undefined;
111
- prop?: string | undefined;
112
112
  renderHeader?: ((data: {
113
113
  column: TableColumnCtx<any>;
114
114
  $index: number;
@@ -117,7 +117,7 @@ declare const _default: import("vue").DefineComponent<{
117
117
  }>) | undefined;
118
118
  sortMethod?: ((a: any, b: any) => number) | undefined;
119
119
  sortBy?: string | string[] | ((row: any, index: number) => string) | undefined;
120
- formatter?: ((row: any, column: TableColumnCtx<any>, cellValue: any, index: number) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
120
+ formatter?: ((row: any, column: TableColumnCtx<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
121
121
  [key: string]: any;
122
122
  }>) | undefined;
123
123
  selectable?: ((row: any, index: number) => boolean) | undefined;
@@ -101,7 +101,7 @@ declare const _default: import("vue").DefineComponent<{
101
101
  handleHeaderFooterMousewheel: (event: any, data: any) => void;
102
102
  handleMouseLeave: () => void;
103
103
  tableId: string;
104
- tableSize: import("vue").ComputedRef<any>;
104
+ tableSize: import("vue").ComputedRef<"" | import("../../../utils/types").ComponentSize>;
105
105
  isHidden: import("vue").Ref<boolean>;
106
106
  isEmpty: import("vue").ComputedRef<boolean>;
107
107
  renderExpanded: import("vue").Ref<null>;
@@ -216,13 +216,13 @@ declare const _default: import("vue").DefineComponent<{
216
216
  selectOnIndeterminate: boolean;
217
217
  indent: number;
218
218
  } & {
219
- emptyText?: string | undefined;
220
- sumText?: string | undefined;
221
219
  size?: string | undefined;
222
220
  load?: ((row: any, treeNode: import("./table/defaults").TreeNode, resolve: (data: any[]) => void) => void) | undefined;
223
221
  height?: string | number | undefined;
224
222
  width?: string | number | undefined;
225
223
  maxHeight?: string | number | undefined;
224
+ emptyText?: string | undefined;
225
+ sumText?: string | undefined;
226
226
  cellClassName?: (string | ((data: {
227
227
  row: any;
228
228
  rowIndex: number;
@@ -247,7 +247,6 @@ function createTablePopper(trigger, popperContent, popperOptions, tooltipEffect)
247
247
  function renderArrow() {
248
248
  const arrow2 = document.createElement("div");
249
249
  arrow2.className = "el-popper__arrow";
250
- arrow2.style.bottom = "-4px";
251
250
  return arrow2;
252
251
  }
253
252
  function showPopper() {
@@ -1 +1 @@
1
- {"version":3,"file":"util.mjs","sources":["../../../../../../packages/components/table/src/util.ts"],"sourcesContent":["import { hasOwn } from '@vue/shared'\nimport { createPopper } from '@popperjs/core'\nimport PopupManager from '@element-plus/utils/popup-manager'\nimport { getValueByPath } from '@element-plus/utils/util'\nimport { off, on } from '@element-plus/utils/dom'\n\nimport type {\n PopperInstance,\n IPopperOptions,\n} from '@element-plus/components/popper'\nimport type { Indexable, Nullable } from '@element-plus/utils/types'\nimport type { TableColumnCtx } from './table-column/defaults'\n\nexport const getCell = function (event: Event): HTMLElement {\n let cell = event.target as HTMLElement\n\n while (cell && cell.tagName.toUpperCase() !== 'HTML') {\n if (cell.tagName.toUpperCase() === 'TD') {\n return cell\n }\n cell = cell.parentNode as HTMLElement\n }\n\n return null\n}\n\nconst isObject = function (obj: unknown): boolean {\n return obj !== null && typeof obj === 'object'\n}\n\nexport const orderBy = function <T>(\n array: T[],\n sortKey: string,\n reverse: string | number,\n sortMethod,\n sortBy: string | (string | ((a: T, b: T, array?: T[]) => number))[]\n) {\n if (\n !sortKey &&\n !sortMethod &&\n (!sortBy || (Array.isArray(sortBy) && !sortBy.length))\n ) {\n return array\n }\n if (typeof reverse === 'string') {\n reverse = reverse === 'descending' ? -1 : 1\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1\n }\n const getKey = sortMethod\n ? null\n : function (value, index) {\n if (sortBy) {\n if (!Array.isArray(sortBy)) {\n sortBy = [sortBy]\n }\n return sortBy.map(function (by) {\n if (typeof by === 'string') {\n return getValueByPath(value, by)\n } else {\n return by(value, index, array)\n }\n })\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value\n }\n return [isObject(value) ? getValueByPath(value, sortKey) : value]\n }\n const compare = function (a, b) {\n if (sortMethod) {\n return sortMethod(a.value, b.value)\n }\n for (let i = 0, len = a.key.length; i < len; i++) {\n if (a.key[i] < b.key[i]) {\n return -1\n }\n if (a.key[i] > b.key[i]) {\n return 1\n }\n }\n return 0\n }\n return array\n .map(function (value, index) {\n return {\n value,\n index,\n key: getKey ? getKey(value, index) : null,\n }\n })\n .sort(function (a, b) {\n let order = compare(a, b)\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index\n }\n return order * +reverse\n })\n .map((item) => item.value)\n}\n\nexport const getColumnById = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnId: string\n): null | TableColumnCtx<T> {\n let column = null\n table.columns.forEach(function (item) {\n if (item.id === columnId) {\n column = item\n }\n })\n return column\n}\n\nexport const getColumnByKey = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnKey: string\n): TableColumnCtx<T> {\n let column = null\n for (let i = 0; i < table.columns.length; i++) {\n const item = table.columns[i]\n if (item.columnKey === columnKey) {\n column = item\n break\n }\n }\n return column\n}\n\nexport const getColumnByCell = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n cell: HTMLElement\n): null | TableColumnCtx<T> {\n const matches = (cell.className || '').match(/el-table_[^\\s]+/gm)\n if (matches) {\n return getColumnById(table, matches[0])\n }\n return null\n}\n\nexport const getRowIdentity = <T>(\n row: T,\n rowKey: string | ((row: T) => any)\n): string => {\n if (!row) throw new Error('Row is required when get row identity')\n if (typeof rowKey === 'string') {\n if (rowKey.indexOf('.') < 0) {\n return `${row[rowKey]}`\n }\n const key = rowKey.split('.')\n let current = row\n for (let i = 0; i < key.length; i++) {\n current = current[key[i]]\n }\n return `${current}`\n } else if (typeof rowKey === 'function') {\n return rowKey.call(null, row)\n }\n}\n\nexport const getKeysMap = function <T>(\n array: T[],\n rowKey: string\n): Record<string, { row: T; index: number }> {\n const arrayMap = {}\n ;(array || []).forEach((row, index) => {\n arrayMap[getRowIdentity(row, rowKey)] = { row, index }\n })\n return arrayMap\n}\n\nexport function mergeOptions<T, K>(defaults: T, config: K): T & K {\n const options = {} as T & K\n let key\n for (key in defaults) {\n options[key] = defaults[key]\n }\n for (key in config) {\n if (hasOwn(config as unknown as Indexable<any>, key)) {\n const value = config[key]\n if (typeof value !== 'undefined') {\n options[key] = value\n }\n }\n }\n return options\n}\n\nexport function parseWidth(width: number | string): number {\n if (width !== undefined) {\n width = parseInt(width as string, 10)\n if (isNaN(width)) {\n width = null\n }\n }\n return +width\n}\n\nexport function parseMinWidth(minWidth): number {\n if (typeof minWidth !== 'undefined') {\n minWidth = parseWidth(minWidth)\n if (isNaN(minWidth)) {\n minWidth = 80\n }\n }\n return minWidth\n}\n\nexport function parseHeight(height: number | string) {\n if (typeof height === 'number') {\n return height\n }\n if (typeof height === 'string') {\n if (/^\\d+(?:px)?$/.test(height)) {\n return parseInt(height, 10)\n } else {\n return height\n }\n }\n return null\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.js\nexport function compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg\n }\n if (funcs.length === 1) {\n return funcs[0]\n }\n return funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args))\n )\n}\n\nexport function toggleRowStatus<T>(\n statusArr: T[],\n row: T,\n newVal: boolean\n): boolean {\n let changed = false\n const index = statusArr.indexOf(row)\n const included = index !== -1\n\n const addRow = () => {\n statusArr.push(row)\n changed = true\n }\n const removeRow = () => {\n statusArr.splice(index, 1)\n changed = true\n }\n\n if (typeof newVal === 'boolean') {\n if (newVal && !included) {\n addRow()\n } else if (!newVal && included) {\n removeRow()\n }\n } else {\n if (included) {\n removeRow()\n } else {\n addRow()\n }\n }\n return changed\n}\n\nexport function walkTreeNode(\n root,\n cb,\n childrenKey = 'children',\n lazyKey = 'hasChildren'\n) {\n const isNil = (array) => !(Array.isArray(array) && array.length)\n\n function _walker(parent, children, level) {\n cb(parent, children, level)\n children.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, level + 1)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, level + 1)\n }\n })\n }\n\n root.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, 0)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, 0)\n }\n })\n}\n\nexport let removePopper\n\nexport function createTablePopper(\n trigger: HTMLElement,\n popperContent: string,\n popperOptions: Partial<IPopperOptions>,\n tooltipEffect: string\n) {\n function renderContent(): HTMLDivElement {\n const isLight = tooltipEffect === 'light'\n const content = document.createElement('div')\n content.className = `el-popper ${isLight ? 'is-light' : 'is-dark'}`\n content.innerHTML = popperContent\n content.style.zIndex = String(PopupManager.nextZIndex())\n document.body.appendChild(content)\n return content\n }\n function renderArrow(): HTMLDivElement {\n const arrow = document.createElement('div')\n arrow.className = 'el-popper__arrow'\n arrow.style.bottom = '-4px'\n return arrow\n }\n function showPopper() {\n popperInstance && popperInstance.update()\n }\n removePopper = function removePopper() {\n try {\n popperInstance && popperInstance.destroy()\n content && document.body.removeChild(content)\n off(trigger, 'mouseenter', showPopper)\n off(trigger, 'mouseleave', removePopper)\n } catch {}\n }\n let popperInstance: Nullable<PopperInstance> = null\n const content = renderContent()\n const arrow = renderArrow()\n content.appendChild(arrow)\n\n popperInstance = createPopper(trigger, content, {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrow,\n padding: 10,\n },\n },\n ],\n ...popperOptions,\n })\n on(trigger, 'mouseenter', showPopper)\n on(trigger, 'mouseleave', removePopper)\n return popperInstance\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.mjs","sources":["../../../../../../packages/components/table/src/util.ts"],"sourcesContent":["import { hasOwn } from '@vue/shared'\nimport { createPopper } from '@popperjs/core'\nimport PopupManager from '@element-plus/utils/popup-manager'\nimport { getValueByPath } from '@element-plus/utils/util'\nimport { off, on } from '@element-plus/utils/dom'\n\nimport type {\n PopperInstance,\n IPopperOptions,\n} from '@element-plus/components/popper'\nimport type { Indexable, Nullable } from '@element-plus/utils/types'\nimport type { TableColumnCtx } from './table-column/defaults'\n\nexport const getCell = function (event: Event): HTMLElement {\n let cell = event.target as HTMLElement\n\n while (cell && cell.tagName.toUpperCase() !== 'HTML') {\n if (cell.tagName.toUpperCase() === 'TD') {\n return cell\n }\n cell = cell.parentNode as HTMLElement\n }\n\n return null\n}\n\nconst isObject = function (obj: unknown): boolean {\n return obj !== null && typeof obj === 'object'\n}\n\nexport const orderBy = function <T>(\n array: T[],\n sortKey: string,\n reverse: string | number,\n sortMethod,\n sortBy: string | (string | ((a: T, b: T, array?: T[]) => number))[]\n) {\n if (\n !sortKey &&\n !sortMethod &&\n (!sortBy || (Array.isArray(sortBy) && !sortBy.length))\n ) {\n return array\n }\n if (typeof reverse === 'string') {\n reverse = reverse === 'descending' ? -1 : 1\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1\n }\n const getKey = sortMethod\n ? null\n : function (value, index) {\n if (sortBy) {\n if (!Array.isArray(sortBy)) {\n sortBy = [sortBy]\n }\n return sortBy.map(function (by) {\n if (typeof by === 'string') {\n return getValueByPath(value, by)\n } else {\n return by(value, index, array)\n }\n })\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value\n }\n return [isObject(value) ? getValueByPath(value, sortKey) : value]\n }\n const compare = function (a, b) {\n if (sortMethod) {\n return sortMethod(a.value, b.value)\n }\n for (let i = 0, len = a.key.length; i < len; i++) {\n if (a.key[i] < b.key[i]) {\n return -1\n }\n if (a.key[i] > b.key[i]) {\n return 1\n }\n }\n return 0\n }\n return array\n .map(function (value, index) {\n return {\n value,\n index,\n key: getKey ? getKey(value, index) : null,\n }\n })\n .sort(function (a, b) {\n let order = compare(a, b)\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index\n }\n return order * +reverse\n })\n .map((item) => item.value)\n}\n\nexport const getColumnById = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnId: string\n): null | TableColumnCtx<T> {\n let column = null\n table.columns.forEach(function (item) {\n if (item.id === columnId) {\n column = item\n }\n })\n return column\n}\n\nexport const getColumnByKey = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnKey: string\n): TableColumnCtx<T> {\n let column = null\n for (let i = 0; i < table.columns.length; i++) {\n const item = table.columns[i]\n if (item.columnKey === columnKey) {\n column = item\n break\n }\n }\n return column\n}\n\nexport const getColumnByCell = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n cell: HTMLElement\n): null | TableColumnCtx<T> {\n const matches = (cell.className || '').match(/el-table_[^\\s]+/gm)\n if (matches) {\n return getColumnById(table, matches[0])\n }\n return null\n}\n\nexport const getRowIdentity = <T>(\n row: T,\n rowKey: string | ((row: T) => any)\n): string => {\n if (!row) throw new Error('Row is required when get row identity')\n if (typeof rowKey === 'string') {\n if (rowKey.indexOf('.') < 0) {\n return `${row[rowKey]}`\n }\n const key = rowKey.split('.')\n let current = row\n for (let i = 0; i < key.length; i++) {\n current = current[key[i]]\n }\n return `${current}`\n } else if (typeof rowKey === 'function') {\n return rowKey.call(null, row)\n }\n}\n\nexport const getKeysMap = function <T>(\n array: T[],\n rowKey: string\n): Record<string, { row: T; index: number }> {\n const arrayMap = {}\n ;(array || []).forEach((row, index) => {\n arrayMap[getRowIdentity(row, rowKey)] = { row, index }\n })\n return arrayMap\n}\n\nexport function mergeOptions<T, K>(defaults: T, config: K): T & K {\n const options = {} as T & K\n let key\n for (key in defaults) {\n options[key] = defaults[key]\n }\n for (key in config) {\n if (hasOwn(config as unknown as Indexable<any>, key)) {\n const value = config[key]\n if (typeof value !== 'undefined') {\n options[key] = value\n }\n }\n }\n return options\n}\n\nexport function parseWidth(width: number | string): number {\n if (width !== undefined) {\n width = parseInt(width as string, 10)\n if (isNaN(width)) {\n width = null\n }\n }\n return +width\n}\n\nexport function parseMinWidth(minWidth): number {\n if (typeof minWidth !== 'undefined') {\n minWidth = parseWidth(minWidth)\n if (isNaN(minWidth)) {\n minWidth = 80\n }\n }\n return minWidth\n}\n\nexport function parseHeight(height: number | string) {\n if (typeof height === 'number') {\n return height\n }\n if (typeof height === 'string') {\n if (/^\\d+(?:px)?$/.test(height)) {\n return parseInt(height, 10)\n } else {\n return height\n }\n }\n return null\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.js\nexport function compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg\n }\n if (funcs.length === 1) {\n return funcs[0]\n }\n return funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args))\n )\n}\n\nexport function toggleRowStatus<T>(\n statusArr: T[],\n row: T,\n newVal: boolean\n): boolean {\n let changed = false\n const index = statusArr.indexOf(row)\n const included = index !== -1\n\n const addRow = () => {\n statusArr.push(row)\n changed = true\n }\n const removeRow = () => {\n statusArr.splice(index, 1)\n changed = true\n }\n\n if (typeof newVal === 'boolean') {\n if (newVal && !included) {\n addRow()\n } else if (!newVal && included) {\n removeRow()\n }\n } else {\n if (included) {\n removeRow()\n } else {\n addRow()\n }\n }\n return changed\n}\n\nexport function walkTreeNode(\n root,\n cb,\n childrenKey = 'children',\n lazyKey = 'hasChildren'\n) {\n const isNil = (array) => !(Array.isArray(array) && array.length)\n\n function _walker(parent, children, level) {\n cb(parent, children, level)\n children.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, level + 1)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, level + 1)\n }\n })\n }\n\n root.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, 0)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, 0)\n }\n })\n}\n\nexport let removePopper\n\nexport function createTablePopper(\n trigger: HTMLElement,\n popperContent: string,\n popperOptions: Partial<IPopperOptions>,\n tooltipEffect: string\n) {\n function renderContent(): HTMLDivElement {\n const isLight = tooltipEffect === 'light'\n const content = document.createElement('div')\n content.className = `el-popper ${isLight ? 'is-light' : 'is-dark'}`\n content.innerHTML = popperContent\n content.style.zIndex = String(PopupManager.nextZIndex())\n document.body.appendChild(content)\n return content\n }\n function renderArrow(): HTMLDivElement {\n const arrow = document.createElement('div')\n arrow.className = 'el-popper__arrow'\n return arrow\n }\n function showPopper() {\n popperInstance && popperInstance.update()\n }\n removePopper = function removePopper() {\n try {\n popperInstance && popperInstance.destroy()\n content && document.body.removeChild(content)\n off(trigger, 'mouseenter', showPopper)\n off(trigger, 'mouseleave', removePopper)\n } catch {}\n }\n let popperInstance: Nullable<PopperInstance> = null\n const content = renderContent()\n const arrow = renderArrow()\n content.appendChild(arrow)\n\n popperInstance = createPopper(trigger, content, {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrow,\n padding: 10,\n },\n },\n ],\n ...popperOptions,\n })\n on(trigger, 'mouseenter', showPopper)\n on(trigger, 'mouseleave', removePopper)\n return popperInstance\n}\n"],"names":[],"mappings":"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"}
@@ -101,14 +101,14 @@ export declare const ElTabs: import("../../utils/types").SFCWithInstall<import("
101
101
  readonly lazy?: unknown;
102
102
  } & {
103
103
  disabled: boolean;
104
- label: string;
105
104
  name: string;
105
+ label: string;
106
106
  closable: boolean;
107
107
  lazy: boolean;
108
108
  } & {}>, {
109
109
  disabled: boolean;
110
- label: string;
111
110
  name: string;
111
+ label: string;
112
112
  closable: boolean;
113
113
  lazy: boolean;
114
114
  }>;
@@ -132,14 +132,14 @@ export declare const ElTabPane: import("../../utils/types").SFCWithInstall<impor
132
132
  readonly lazy?: unknown;
133
133
  } & {
134
134
  disabled: boolean;
135
- label: string;
136
135
  name: string;
136
+ label: string;
137
137
  closable: boolean;
138
138
  lazy: boolean;
139
139
  } & {}>, {
140
140
  disabled: boolean;
141
- label: string;
142
141
  name: string;
142
+ label: string;
143
143
  closable: boolean;
144
144
  lazy: boolean;
145
145
  }>>;
@@ -5,7 +5,7 @@ import { buildProps, definePropType, mutable } from '../../../utils/props.mjs';
5
5
  import { EVENT_CODE } from '../../../utils/aria.mjs';
6
6
  import { throwError } from '../../../utils/error.mjs';
7
7
  import { ElIcon } from '../../icon/index.mjs';
8
- import { ArrowLeft, ArrowRight, Close } from '@element-plus/icons';
8
+ import { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue';
9
9
  import '../../../tokens/index.mjs';
10
10
  import './tab-bar2.mjs';
11
11
  import { tabsRootContextKey } from '../../../tokens/tabs.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.ts"],"sourcesContent":["import {\n h,\n defineComponent,\n ref,\n inject,\n computed,\n onUpdated,\n onMounted,\n watch,\n} from 'vue'\nimport { NOOP, capitalize } from '@vue/shared'\nimport {\n useResizeObserver,\n useDocumentVisibility,\n useWindowFocus,\n} from '@vueuse/core'\nimport { buildProps, definePropType, mutable } from '@element-plus/utils/props'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { throwError } from '@element-plus/utils/error'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport TabBar from './tab-bar.vue'\nimport type { ExtractPropTypes, CSSProperties } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nexport interface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: String,\n default: '',\n },\n editable: Boolean,\n onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: string, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'ElTabNav'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs)\n throwError(COMPONENT_NAME, `ElTabNav must be nested inside ElTabs`)\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus() // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n h(\n 'span',\n {\n class: [\n 'el-tabs__nav-prev',\n scrollable.value.prev ? '' : 'is-disabled',\n ],\n onClick: scrollPrev,\n },\n [h(ElIcon, {}, { default: () => h(ArrowLeft) })]\n ),\n h(\n 'span',\n {\n class: [\n 'el-tabs__nav-next',\n scrollable.value.next ? '' : 'is-disabled',\n ],\n onClick: scrollNext,\n },\n [h(ElIcon, {}, { default: () => h(ArrowRight) })]\n ),\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const tabName = pane.props.name || pane.index || `${index}`\n const closable = pane.isClosable || props.editable\n pane.index = `${index}`\n\n const btnClose = closable\n ? h(\n ElIcon,\n {\n class: 'is-icon-close',\n onClick: (ev: MouseEvent) => props.onTabRemove(pane, ev),\n },\n { default: () => h(Close) }\n )\n : null\n\n const tabLabelContent =\n pane.instance.slots.label?.() || pane.props.label\n const tabindex = pane.active ? 0 : -1\n\n return h(\n 'div',\n {\n class: {\n 'el-tabs__item': true,\n [`is-${rootTabs.props.tabPosition}`]: true,\n 'is-active': pane.active,\n 'is-disabled': pane.props.disabled,\n 'is-closable': closable,\n 'is-focus': isFocus,\n },\n id: `tab-${tabName}`,\n key: `tab-${tabName}`,\n 'aria-controls': `pane-${tabName}`,\n role: 'tab',\n 'aria-selected': pane.active,\n ref: `tab-${tabName}`,\n tabindex,\n onFocus: () => setFocus(),\n onBlur: () => removeFocus(),\n onClick: (ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(pane, tabName, ev)\n },\n onKeydown: (ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n props.onTabRemove(pane, ev)\n }\n },\n },\n [tabLabelContent, btnClose]\n )\n })\n\n return h(\n 'div',\n {\n ref: el$,\n class: [\n 'el-tabs__nav-wrap',\n scrollable.value ? 'is-scrollable' : '',\n `is-${rootTabs.props.tabPosition}`,\n ],\n },\n [\n scrollBtn,\n h(\n 'div',\n {\n class: 'el-tabs__nav-scroll',\n ref: navScroll$,\n },\n [\n h(\n 'div',\n {\n class: [\n 'el-tabs__nav',\n `is-${rootTabs.props.tabPosition}`,\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'is-stretch'\n : '',\n ],\n ref: nav$,\n style: navStyle.value,\n role: 'tablist',\n onKeydown: changeTab,\n },\n [\n !props.type\n ? h(TabBar, {\n tabs: [...props.panes],\n })\n : null,\n tabs,\n ]\n ),\n ]\n ),\n ]\n )\n }\n },\n})\n"],"names":["TabBar"],"mappings":"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"}
1
+ {"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.ts"],"sourcesContent":["import {\n h,\n defineComponent,\n ref,\n inject,\n computed,\n onUpdated,\n onMounted,\n watch,\n} from 'vue'\nimport { NOOP, capitalize } from '@vue/shared'\nimport {\n useResizeObserver,\n useDocumentVisibility,\n useWindowFocus,\n} from '@vueuse/core'\nimport { buildProps, definePropType, mutable } from '@element-plus/utils/props'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { throwError } from '@element-plus/utils/error'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport TabBar from './tab-bar.vue'\nimport type { ExtractPropTypes, CSSProperties } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nexport interface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: String,\n default: '',\n },\n editable: Boolean,\n onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: string, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'ElTabNav'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs)\n throwError(COMPONENT_NAME, `ElTabNav must be nested inside ElTabs`)\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n const activeTab = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n const currentOffset = navOffset.value\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\n nextIndex = 0\n }\n }\n tabList[nextIndex].focus() // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n h(\n 'span',\n {\n class: [\n 'el-tabs__nav-prev',\n scrollable.value.prev ? '' : 'is-disabled',\n ],\n onClick: scrollPrev,\n },\n [h(ElIcon, {}, { default: () => h(ArrowLeft) })]\n ),\n h(\n 'span',\n {\n class: [\n 'el-tabs__nav-next',\n scrollable.value.next ? '' : 'is-disabled',\n ],\n onClick: scrollNext,\n },\n [h(ElIcon, {}, { default: () => h(ArrowRight) })]\n ),\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const tabName = pane.props.name || pane.index || `${index}`\n const closable = pane.isClosable || props.editable\n pane.index = `${index}`\n\n const btnClose = closable\n ? h(\n ElIcon,\n {\n class: 'is-icon-close',\n onClick: (ev: MouseEvent) => props.onTabRemove(pane, ev),\n },\n { default: () => h(Close) }\n )\n : null\n\n const tabLabelContent =\n pane.instance.slots.label?.() || pane.props.label\n const tabindex = pane.active ? 0 : -1\n\n return h(\n 'div',\n {\n class: {\n 'el-tabs__item': true,\n [`is-${rootTabs.props.tabPosition}`]: true,\n 'is-active': pane.active,\n 'is-disabled': pane.props.disabled,\n 'is-closable': closable,\n 'is-focus': isFocus,\n },\n id: `tab-${tabName}`,\n key: `tab-${tabName}`,\n 'aria-controls': `pane-${tabName}`,\n role: 'tab',\n 'aria-selected': pane.active,\n ref: `tab-${tabName}`,\n tabindex,\n onFocus: () => setFocus(),\n onBlur: () => removeFocus(),\n onClick: (ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(pane, tabName, ev)\n },\n onKeydown: (ev: KeyboardEvent) => {\n if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n props.onTabRemove(pane, ev)\n }\n },\n },\n [tabLabelContent, btnClose]\n )\n })\n\n return h(\n 'div',\n {\n ref: el$,\n class: [\n 'el-tabs__nav-wrap',\n scrollable.value ? 'is-scrollable' : '',\n `is-${rootTabs.props.tabPosition}`,\n ],\n },\n [\n scrollBtn,\n h(\n 'div',\n {\n class: 'el-tabs__nav-scroll',\n ref: navScroll$,\n },\n [\n h(\n 'div',\n {\n class: [\n 'el-tabs__nav',\n `is-${rootTabs.props.tabPosition}`,\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'is-stretch'\n : '',\n ],\n ref: nav$,\n style: navStyle.value,\n role: 'tablist',\n onKeydown: changeTab,\n },\n [\n !props.type\n ? h(TabBar, {\n tabs: [...props.panes],\n })\n : null,\n tabs,\n ]\n ),\n ]\n ),\n ]\n )\n }\n },\n})\n"],"names":["TabBar"],"mappings":"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"}
@@ -16,14 +16,14 @@ declare const _default: import("vue").DefineComponent<{
16
16
  readonly lazy?: unknown;
17
17
  } & {
18
18
  disabled: boolean;
19
- label: string;
20
19
  name: string;
20
+ label: string;
21
21
  closable: boolean;
22
22
  lazy: boolean;
23
23
  } & {}>, {
24
24
  disabled: boolean;
25
- label: string;
26
25
  name: string;
26
+ label: string;
27
27
  closable: boolean;
28
28
  lazy: boolean;
29
29
  }>;
@@ -2,7 +2,7 @@ import { Fragment, defineComponent, getCurrentInstance, ref, onUpdated, onMounte
2
2
  import { isPromise, NOOP } from '@vue/shared';
3
3
  import { EVENT_CODE } from '../../../utils/aria.mjs';
4
4
  import { ElIcon } from '../../icon/index.mjs';
5
- import { Plus } from '@element-plus/icons';
5
+ import { Plus } from '@element-plus/icons-vue';
6
6
  import { buildProps, definePropType } from '../../../utils/props.mjs';
7
7
  import { UPDATE_MODEL_EVENT, INPUT_EVENT } from '../../../utils/constants.mjs';
8
8
  import '../../../tokens/index.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/tabs/src/tabs.ts"],"sourcesContent":["import {\n defineComponent,\n Fragment,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport { isPromise, NOOP } from '@vue/shared'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport TabNav from './tab-nav'\nimport type { TabsPaneContext } from '@element-plus/tokens'\n\nimport type {\n Component,\n ComponentInternalInstance,\n VNode,\n ExtractPropTypes,\n Ref,\n} from 'vue'\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: String,\n default: '',\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: String,\n default: '',\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (\n newTabName: string,\n oldTabName: string\n ) => void | boolean | Promise<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (tabName: string) => typeof tabName === 'string',\n [INPUT_EVENT]: (tabName: string) => typeof tabName === 'string',\n 'tab-click': (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n edit: (paneName: string | null, action: 'remove' | 'add') =>\n action === 'remove' || action === 'add',\n 'tab-remove': (paneName: string) => typeof paneName === 'string',\n 'tab-add': () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nconst getPaneInstanceFromSlot = (\n vnode: VNode,\n paneInstanceList: ComponentInternalInstance[] = []\n) => {\n const children = (vnode.children || []) as ArrayLike<VNode>\n Array.from(children).forEach((node) => {\n let type = node.type\n type = (type as Component).name || type\n if (type === 'ElTabPane' && node.component) {\n paneInstanceList.push(node.component)\n } else if (type === Fragment || type === 'template') {\n getPaneInstanceFromSlot(node, paneInstanceList)\n }\n })\n return paneInstanceList\n}\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n const nav$ = ref<InstanceType<typeof TabNav>>()\n\n const panes: Ref<TabsPaneContext[]> = ref([])\n const currentName = ref(props.modelValue || props.activeName || '0')\n\n const paneStatesMap: Record<number, TabsPaneContext> = {}\n\n const updatePaneInstances = (isForceUpdate = false) => {\n if (slots.default) {\n const children = instance.subTree.children as ArrayLike<VNode>\n const content = Array.from(children).find(\n ({ props }) => props?.class === 'el-tabs__content'\n )\n if (!content) return\n\n const paneInstanceList: TabsPaneContext[] = getPaneInstanceFromSlot(\n content\n ).map((paneComponent) => paneStatesMap[paneComponent.uid])\n\n const panesChanged = !(\n paneInstanceList.length === panes.value.length &&\n paneInstanceList.every(\n (pane, index) => pane.uid === panes.value[index].uid\n )\n )\n\n if (isForceUpdate || panesChanged) {\n panes.value = paneInstanceList\n }\n } else if (panes.value.length !== 0) {\n panes.value = []\n }\n }\n\n const changeCurrentName = (value: string) => {\n currentName.value = value\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n }\n\n const setCurrentName = (value: string) => {\n // should do nothing.\n if (currentName.value === value) return\n\n const canLeave = props.beforeLeave?.(value, currentName.value)\n if (isPromise(canLeave)) {\n canLeave.then(\n () => {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n },\n // ignore promise rejection in `before-leave` hook\n NOOP\n )\n } else if (canLeave !== false) {\n changeCurrentName(value)\n }\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: string,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tab-click', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tab-remove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', null, 'add')\n emit('tab-add')\n }\n\n onUpdated(() => updatePaneInstances())\n onMounted(() => updatePaneInstances())\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n updatePaneInstances(true)\n await nextTick()\n await nav$.value?.$nextTick()\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n updatePaneState: (pane) => (paneStatesMap[pane.uid] = pane),\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable\n ? h(\n 'span',\n {\n class: 'el-tabs__new-tab',\n tabindex: '0',\n onClick: handleTabAdd,\n onKeydown: (ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n },\n },\n [h(ElIcon, { class: 'is-icon-plus' }, { default: () => h(Plus) })]\n )\n : null\n\n const header = h(\n 'div',\n { class: ['el-tabs__header', `is-${props.tabPosition}`] },\n [\n newButton,\n h(TabNav, {\n currentName: currentName.value,\n editable: props.editable,\n type: props.type,\n panes: panes.value,\n stretch: props.stretch,\n ref: nav$,\n onTabClick: handleTabClick,\n onTabRemove: handleTabRemove,\n }),\n ]\n )\n\n const panels = h('div', { class: 'el-tabs__content' }, [\n renderSlot(slots, 'default'),\n ])\n\n return h(\n 'div',\n {\n class: {\n 'el-tabs': true,\n 'el-tabs--card': props.type === 'card',\n [`el-tabs--${props.tabPosition}`]: true,\n 'el-tabs--border-card': props.type === 'border-card',\n },\n },\n props.tabPosition !== 'bottom' ? [header, panels] : [panels, header]\n )\n }\n },\n})\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/tabs/src/tabs.ts"],"sourcesContent":["import {\n defineComponent,\n Fragment,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport { isPromise, NOOP } from '@vue/shared'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport TabNav from './tab-nav'\nimport type { TabsPaneContext } from '@element-plus/tokens'\n\nimport type {\n Component,\n ComponentInternalInstance,\n VNode,\n ExtractPropTypes,\n Ref,\n} from 'vue'\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: String,\n default: '',\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: String,\n default: '',\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (\n newTabName: string,\n oldTabName: string\n ) => void | boolean | Promise<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (tabName: string) => typeof tabName === 'string',\n [INPUT_EVENT]: (tabName: string) => typeof tabName === 'string',\n 'tab-click': (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n edit: (paneName: string | null, action: 'remove' | 'add') =>\n action === 'remove' || action === 'add',\n 'tab-remove': (paneName: string) => typeof paneName === 'string',\n 'tab-add': () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nconst getPaneInstanceFromSlot = (\n vnode: VNode,\n paneInstanceList: ComponentInternalInstance[] = []\n) => {\n const children = (vnode.children || []) as ArrayLike<VNode>\n Array.from(children).forEach((node) => {\n let type = node.type\n type = (type as Component).name || type\n if (type === 'ElTabPane' && node.component) {\n paneInstanceList.push(node.component)\n } else if (type === Fragment || type === 'template') {\n getPaneInstanceFromSlot(node, paneInstanceList)\n }\n })\n return paneInstanceList\n}\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n const nav$ = ref<InstanceType<typeof TabNav>>()\n\n const panes: Ref<TabsPaneContext[]> = ref([])\n const currentName = ref(props.modelValue || props.activeName || '0')\n\n const paneStatesMap: Record<number, TabsPaneContext> = {}\n\n const updatePaneInstances = (isForceUpdate = false) => {\n if (slots.default) {\n const children = instance.subTree.children as ArrayLike<VNode>\n const content = Array.from(children).find(\n ({ props }) => props?.class === 'el-tabs__content'\n )\n if (!content) return\n\n const paneInstanceList: TabsPaneContext[] = getPaneInstanceFromSlot(\n content\n ).map((paneComponent) => paneStatesMap[paneComponent.uid])\n\n const panesChanged = !(\n paneInstanceList.length === panes.value.length &&\n paneInstanceList.every(\n (pane, index) => pane.uid === panes.value[index].uid\n )\n )\n\n if (isForceUpdate || panesChanged) {\n panes.value = paneInstanceList\n }\n } else if (panes.value.length !== 0) {\n panes.value = []\n }\n }\n\n const changeCurrentName = (value: string) => {\n currentName.value = value\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n }\n\n const setCurrentName = (value: string) => {\n // should do nothing.\n if (currentName.value === value) return\n\n const canLeave = props.beforeLeave?.(value, currentName.value)\n if (isPromise(canLeave)) {\n canLeave.then(\n () => {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n },\n // ignore promise rejection in `before-leave` hook\n NOOP\n )\n } else if (canLeave !== false) {\n changeCurrentName(value)\n }\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: string,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tab-click', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tab-remove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', null, 'add')\n emit('tab-add')\n }\n\n onUpdated(() => updatePaneInstances())\n onMounted(() => updatePaneInstances())\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n updatePaneInstances(true)\n await nextTick()\n await nav$.value?.$nextTick()\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n updatePaneState: (pane) => (paneStatesMap[pane.uid] = pane),\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable\n ? h(\n 'span',\n {\n class: 'el-tabs__new-tab',\n tabindex: '0',\n onClick: handleTabAdd,\n onKeydown: (ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n },\n },\n [h(ElIcon, { class: 'is-icon-plus' }, { default: () => h(Plus) })]\n )\n : null\n\n const header = h(\n 'div',\n { class: ['el-tabs__header', `is-${props.tabPosition}`] },\n [\n newButton,\n h(TabNav, {\n currentName: currentName.value,\n editable: props.editable,\n type: props.type,\n panes: panes.value,\n stretch: props.stretch,\n ref: nav$,\n onTabClick: handleTabClick,\n onTabRemove: handleTabRemove,\n }),\n ]\n )\n\n const panels = h('div', { class: 'el-tabs__content' }, [\n renderSlot(slots, 'default'),\n ])\n\n return h(\n 'div',\n {\n class: {\n 'el-tabs': true,\n 'el-tabs--card': props.type === 'card',\n [`el-tabs--${props.tabPosition}`]: true,\n 'el-tabs--border-card': props.type === 'border-card',\n },\n },\n props.tabPosition !== 'bottom' ? [header, panels] : [panels, header]\n )\n }\n },\n})\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { defineComponent, computed } from 'vue';
2
2
  import { ElIcon } from '../../icon/index.mjs';
3
- import { useGlobalConfig } from '../../../utils/util.mjs';
4
- import { Close } from '@element-plus/icons';
3
+ import { Close } from '@element-plus/icons-vue';
4
+ import '../../../hooks/index.mjs';
5
5
  import { tagProps, tagEmits } from './tag.mjs';
6
+ import { useSize } from '../../../hooks/use-common-props/index.mjs';
6
7
 
7
8
  var script = defineComponent({
8
9
  name: "ElTag",
@@ -10,8 +11,7 @@ var script = defineComponent({
10
11
  props: tagProps,
11
12
  emits: tagEmits,
12
13
  setup(props, { emit }) {
13
- const ELEMENT = useGlobalConfig();
14
- const tagSize = computed(() => props.size || ELEMENT.size);
14
+ const tagSize = useSize();
15
15
  const classes = computed(() => {
16
16
  const { type, hit, effect } = props;
17
17
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"tag.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/tag/src/tag.vue"],"sourcesContent":["<template>\n <span\n v-if=\"!disableTransitions\"\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <slot></slot>\n <el-icon v-if=\"closable\" class=\"el-tag__close\" @click=\"handleClose\">\n <close />\n </el-icon>\n </span>\n <transition v-else name=\"el-zoom-in-center\">\n <span\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <slot></slot>\n <el-icon v-if=\"closable\" class=\"el-tag__close\" @click=\"handleClose\">\n <close />\n </el-icon>\n </span>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { useGlobalConfig } from '@element-plus/utils/util'\nimport { Close } from '@element-plus/icons'\n\nimport { tagProps, tagEmits } from './tag'\n\nexport default defineComponent({\n name: 'ElTag',\n\n components: { ElIcon, Close },\n\n props: tagProps,\n emits: tagEmits,\n\n setup(props, { emit }) {\n const ELEMENT = useGlobalConfig()\n\n const tagSize = computed(() => props.size || ELEMENT.size)\n const classes = computed(() => {\n const { type, hit, effect } = props\n return [\n 'el-tag',\n type ? `el-tag--${type}` : '',\n tagSize.value ? `el-tag--${tagSize.value}` : '',\n effect ? `el-tag--${effect}` : '',\n hit && 'is-hit',\n ]\n })\n\n // methods\n const handleClose = (event: MouseEvent) => {\n event.stopPropagation()\n emit('close', event)\n }\n\n const handleClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n classes,\n handleClose,\n handleClick,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;AAkCA,aAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY,EAAE,QAAQ;AAAA,EAEtB,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,UAAU;AAEhB,UAAM,UAAU,SAAS,MAAM,MAAM,QAAQ,QAAQ;AACrD,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,EAAE,MAAM,KAAK,WAAW;AAC9B,aAAO;AAAA,QACL;AAAA,QACA,OAAO,WAAW,SAAS;AAAA,QAC3B,QAAQ,QAAQ,WAAW,QAAQ,UAAU;AAAA,QAC7C,SAAS,WAAW,WAAW;AAAA,QAC/B,OAAO;AAAA;AAAA;AAKX,UAAM,cAAc,CAAC,UAAsB;AACzC,YAAM;AACN,WAAK,SAAS;AAAA;AAGhB,UAAM,cAAc,CAAC,UAAsB;AACzC,WAAK,SAAS;AAAA;AAGhB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"tag.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/tag/src/tag.vue"],"sourcesContent":["<template>\n <span\n v-if=\"!disableTransitions\"\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <slot></slot>\n <el-icon v-if=\"closable\" class=\"el-tag__close\" @click=\"handleClose\">\n <close />\n </el-icon>\n </span>\n <transition v-else name=\"el-zoom-in-center\">\n <span\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <slot></slot>\n <el-icon v-if=\"closable\" class=\"el-tag__close\" @click=\"handleClose\">\n <close />\n </el-icon>\n </span>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { useSize } from '@element-plus/hooks'\nimport { tagProps, tagEmits } from './tag'\n\nexport default defineComponent({\n name: 'ElTag',\n\n components: { ElIcon, Close },\n\n props: tagProps,\n emits: tagEmits,\n\n setup(props, { emit }) {\n const tagSize = useSize()\n const classes = computed(() => {\n const { type, hit, effect } = props\n return [\n 'el-tag',\n type ? `el-tag--${type}` : '',\n tagSize.value ? `el-tag--${tagSize.value}` : '',\n effect ? `el-tag--${effect}` : '',\n hit && 'is-hit',\n ]\n })\n\n // methods\n const handleClose = (event: MouseEvent) => {\n event.stopPropagation()\n emit('close', event)\n }\n\n const handleClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n classes,\n handleClose,\n handleClick,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;AAkCA,aAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY,EAAE,QAAQ;AAAA,EAEtB,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,UAAU;AAChB,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,EAAE,MAAM,KAAK,WAAW;AAC9B,aAAO;AAAA,QACL;AAAA,QACA,OAAO,WAAW,SAAS;AAAA,QAC3B,QAAQ,QAAQ,WAAW,QAAQ,UAAU;AAAA,QAC7C,SAAS,WAAW,WAAW;AAAA,QAC/B,OAAO;AAAA;AAAA;AAKX,UAAM,cAAc,CAAC,UAAsB;AACzC,YAAM;AACN,WAAK,SAAS;AAAA;AAGhB,UAAM,cAAc,CAAC,UAAsB;AACzC,WAAK,SAAS;AAAA;AAGhB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tag.vue_vue_type_template_id_525996c5_lang.mjs","sources":["../../../../../../packages/components/tag/src/tag.vue?vue&type=template&id=525996c5&lang.js"],"sourcesContent":["<template>\n <span\n v-if=\"!disableTransitions\"\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <slot></slot>\n <el-icon v-if=\"closable\" class=\"el-tag__close\" @click=\"handleClose\">\n <close />\n </el-icon>\n </span>\n <transition v-else name=\"el-zoom-in-center\">\n <span\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <slot></slot>\n <el-icon v-if=\"closable\" class=\"el-tag__close\" @click=\"handleClose\">\n <close />\n </el-icon>\n </span>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { useGlobalConfig } from '@element-plus/utils/util'\nimport { Close } from '@element-plus/icons'\n\nimport { tagProps, tagEmits } from './tag'\n\nexport default defineComponent({\n name: 'ElTag',\n\n components: { ElIcon, Close },\n\n props: tagProps,\n emits: tagEmits,\n\n setup(props, { emit }) {\n const ELEMENT = useGlobalConfig()\n\n const tagSize = computed(() => props.size || ELEMENT.size)\n const classes = computed(() => {\n const { type, hit, effect } = props\n return [\n 'el-tag',\n type ? `el-tag--${type}` : '',\n tagSize.value ? `el-tag--${tagSize.value}` : '',\n effect ? `el-tag--${effect}` : '',\n hit && 'is-hit',\n ]\n })\n\n // methods\n const handleClose = (event: MouseEvent) => {\n event.stopPropagation()\n emit('close', event)\n }\n\n const handleClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n classes,\n handleClose,\n handleClick,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_renderSlot","_createBlock","_createVNode","_createElementVNode"],"mappings":";;;;;UAEW,wCADTA;;IAEG,sBAAO;IACP,yCAA0B;IAC1B,gDAAO;;IAERC;IACe,8BAAfC;;MAAyB,OAAM;AAAA,MAAiB,SAAO;;uBACrD;QAAAC;;;;yBAGJD;;IAAmB,MAAK;AAAA;qBACtB;MAAAE;QACG,sBAAO;QACP,yCAA0B;QAC1B,gDAAO;;QAERH;QACe,8BAAfC;;UAAyB,OAAM;AAAA,UAAiB,SAAO;;2BACrD;YAAAC;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tag.vue_vue_type_template_id_525996c5_lang.mjs","sources":["../../../../../../packages/components/tag/src/tag.vue?vue&type=template&id=525996c5&lang.js"],"sourcesContent":["<template>\n <span\n v-if=\"!disableTransitions\"\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <slot></slot>\n <el-icon v-if=\"closable\" class=\"el-tag__close\" @click=\"handleClose\">\n <close />\n </el-icon>\n </span>\n <transition v-else name=\"el-zoom-in-center\">\n <span\n :class=\"classes\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <slot></slot>\n <el-icon v-if=\"closable\" class=\"el-tag__close\" @click=\"handleClose\">\n <close />\n </el-icon>\n </span>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { useSize } from '@element-plus/hooks'\nimport { tagProps, tagEmits } from './tag'\n\nexport default defineComponent({\n name: 'ElTag',\n\n components: { ElIcon, Close },\n\n props: tagProps,\n emits: tagEmits,\n\n setup(props, { emit }) {\n const tagSize = useSize()\n const classes = computed(() => {\n const { type, hit, effect } = props\n return [\n 'el-tag',\n type ? `el-tag--${type}` : '',\n tagSize.value ? `el-tag--${tagSize.value}` : '',\n effect ? `el-tag--${effect}` : '',\n hit && 'is-hit',\n ]\n })\n\n // methods\n const handleClose = (event: MouseEvent) => {\n event.stopPropagation()\n emit('close', event)\n }\n\n const handleClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n classes,\n handleClose,\n handleClick,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_renderSlot","_createBlock","_createVNode","_createElementVNode"],"mappings":";;;;;UAEW,wCADTA;;IAEG,sBAAO;IACP,yCAA0B;IAC1B,gDAAO;;IAERC;IACe,8BAAfC;;MAAyB,OAAM;AAAA,MAAiB,SAAO;;uBACrD;QAAAC;;;;yBAGJD;;IAAmB,MAAK;AAAA;qBACtB;MAAAE;QACG,sBAAO;QACP,yCAA0B;QAC1B,gDAAO;;QAERH;QACe,8BAAfC;;UAAyB,OAAM;AAAA,UAAiB,SAAO;;2BACrD;YAAAC;;;;;;;;;;;;"}