@element-plus/nightly 0.0.20220102 → 0.0.20220106

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 (935) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +7914 -7042
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +11 -11
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +7889 -7034
  9. package/es/components/autocomplete/index.d.ts +26 -18
  10. package/es/components/autocomplete/src/index.vue.d.ts +13 -10
  11. package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs +14 -18
  12. package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  13. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs +52 -49
  14. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs.map +1 -1
  15. package/es/components/carousel/index.d.ts +4 -4
  16. package/es/components/carousel/src/main.vue.d.ts +4 -4
  17. package/es/components/cascader/index.d.ts +1118 -6532
  18. package/es/components/cascader/src/index.vue.d.ts +559 -3267
  19. package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs +10 -10
  20. package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  21. package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs +12 -12
  22. package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs.map +1 -1
  23. package/es/components/cascader-panel/src/index.vue_vue_type_script_lang.mjs +3 -0
  24. package/es/components/cascader-panel/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  25. package/es/components/cascader-panel/src/index.vue_vue_type_template_id_97c48f5c_lang.mjs.map +1 -1
  26. package/es/components/checkbox/index.d.ts +1 -1
  27. package/es/components/checkbox/src/checkbox.vue.d.ts +1 -1
  28. package/es/components/collapse-transition/src/collapse-transition.vue_vue_type_script_lang.mjs +7 -13
  29. package/es/components/collapse-transition/src/collapse-transition.vue_vue_type_script_lang.mjs.map +1 -1
  30. package/es/components/collapse-transition/src/collapse-transition.vue_vue_type_template_id_f68ae30a_lang.mjs +2 -2
  31. package/es/components/collapse-transition/src/collapse-transition.vue_vue_type_template_id_f68ae30a_lang.mjs.map +1 -1
  32. package/es/components/collection/index.d.ts +2 -0
  33. package/es/components/collection/index.mjs +3 -0
  34. package/es/components/{popper/src → collection}/index.mjs.map +1 -1
  35. package/es/components/collection/src/collection-item.mjs +7 -0
  36. package/es/components/collection/src/collection-item.mjs.map +1 -0
  37. package/es/components/collection/src/collection-item.vue.d.ts +2 -0
  38. package/es/components/collection/src/collection-item.vue_vue_type_script_lang.mjs +9 -0
  39. package/es/components/collection/src/collection-item.vue_vue_type_script_lang.mjs.map +1 -0
  40. package/es/components/collection/src/collection-item.vue_vue_type_template_id_dd23be6a_lang.mjs +8 -0
  41. package/es/components/collection/src/collection-item.vue_vue_type_template_id_dd23be6a_lang.mjs.map +1 -0
  42. package/es/components/collection/src/collection.d.ts +263 -0
  43. package/es/components/collection/src/collection.mjs +68 -0
  44. package/es/components/collection/src/collection.mjs.map +1 -0
  45. package/es/components/collection/src/collection.vue.d.ts +2 -0
  46. package/es/components/collection/src/collection.vue_vue_type_script_lang.mjs +8 -0
  47. package/es/components/collection/src/collection.vue_vue_type_script_lang.mjs.map +1 -0
  48. package/es/components/collection/src/collection.vue_vue_type_template_id_5f9c2545_lang.mjs +8 -0
  49. package/es/components/collection/src/collection.vue_vue_type_template_id_5f9c2545_lang.mjs.map +1 -0
  50. package/es/components/collection/src/collection2.mjs +7 -0
  51. package/es/components/collection/src/collection2.mjs.map +1 -0
  52. package/es/components/collection/src/tokens.d.ts +12 -0
  53. package/es/components/collection/src/tokens.mjs +2 -0
  54. package/es/components/collection/src/tokens.mjs.map +1 -0
  55. package/es/components/color-picker/index.d.ts +0 -2
  56. package/es/components/color-picker/src/index.vue.d.ts +0 -2
  57. package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs +2 -4
  58. package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  59. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs +9 -10
  60. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs.map +1 -1
  61. package/es/components/date-picker/index.d.ts +4 -4
  62. package/es/components/date-picker/src/date-picker.d.ts +2 -2
  63. package/es/components/descriptions/index.d.ts +4 -4
  64. package/es/components/descriptions/src/description-item.d.ts +2 -2
  65. package/es/components/dialog/index.d.ts +5 -5
  66. package/es/components/dialog/src/dialog.vue.d.ts +5 -5
  67. package/es/components/drawer/index.d.ts +5 -5
  68. package/es/components/drawer/src/drawer.vue.d.ts +5 -5
  69. package/es/components/dropdown/index.d.ts +767 -84
  70. package/es/components/dropdown/src/dropdown-item-impl.mjs +7 -0
  71. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -0
  72. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +39 -0
  73. package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_script_lang.mjs +53 -0
  74. package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_script_lang.mjs.map +1 -0
  75. package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs +33 -0
  76. package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs.map +1 -0
  77. package/es/components/dropdown/src/dropdown-item.vue.d.ts +17 -9
  78. package/es/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.mjs +51 -21
  79. package/es/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.mjs.map +1 -1
  80. package/es/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.mjs +30 -20
  81. package/es/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.mjs.map +1 -1
  82. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +17 -6
  83. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.mjs +59 -23
  84. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.mjs.map +1 -1
  85. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.mjs +12 -9
  86. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.mjs.map +1 -1
  87. package/es/components/dropdown/src/dropdown.d.ts +295 -1
  88. package/es/components/dropdown/src/dropdown.mjs +84 -0
  89. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  90. package/es/components/dropdown/src/dropdown.vue.d.ts +712 -73
  91. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs +60 -153
  92. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs.map +1 -1
  93. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs +92 -52
  94. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
  95. package/es/components/dropdown/src/tokens.d.ts +8 -0
  96. package/es/components/dropdown/src/tokens.mjs +4 -0
  97. package/es/components/dropdown/src/tokens.mjs.map +1 -0
  98. package/es/components/focus-trap/index.d.ts +5 -0
  99. package/es/components/focus-trap/index.mjs +6 -0
  100. package/es/components/focus-trap/index.mjs.map +1 -0
  101. package/es/components/focus-trap/src/focus-trap.mjs +7 -0
  102. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -0
  103. package/es/components/focus-trap/src/focus-trap.vue.d.ts +21 -0
  104. package/es/components/focus-trap/src/focus-trap.vue_vue_type_script_lang.mjs +137 -0
  105. package/es/components/focus-trap/src/focus-trap.vue_vue_type_script_lang.mjs.map +1 -0
  106. package/es/components/focus-trap/src/focus-trap.vue_vue_type_template_id_4a8a10c5_lang.mjs +8 -0
  107. package/es/components/focus-trap/src/focus-trap.vue_vue_type_template_id_4a8a10c5_lang.mjs.map +1 -0
  108. package/es/components/focus-trap/src/tokens.d.ts +11 -0
  109. package/es/components/focus-trap/src/tokens.mjs +12 -0
  110. package/es/components/focus-trap/src/tokens.mjs.map +1 -0
  111. package/es/components/focus-trap/src/utils.d.ts +18 -0
  112. package/es/components/focus-trap/src/utils.mjs +92 -0
  113. package/es/components/focus-trap/src/utils.mjs.map +1 -0
  114. package/es/components/image/index.d.ts +2 -2
  115. package/es/components/image/src/image.vue.d.ts +2 -2
  116. package/es/components/index.mjs +7 -6
  117. package/es/components/index.mjs.map +1 -1
  118. package/es/components/input/index.d.ts +5 -5
  119. package/es/components/input/src/input.vue.d.ts +5 -5
  120. package/es/components/input-number/index.d.ts +12 -12
  121. package/es/components/input-number/src/input-number.vue.d.ts +12 -12
  122. package/es/components/menu/index.d.ts +9 -3
  123. package/es/components/menu/src/menu-item.vue.d.ts +4 -2
  124. package/es/components/menu/src/menu-item.vue_vue_type_script_lang.mjs +3 -3
  125. package/es/components/menu/src/menu-item.vue_vue_type_script_lang.mjs.map +1 -1
  126. package/es/components/menu/src/menu.d.ts +1 -1
  127. package/es/components/menu/src/menu.mjs +2 -1
  128. package/es/components/menu/src/menu.mjs.map +1 -1
  129. package/es/components/menu/src/sub-menu.mjs +18 -21
  130. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  131. package/es/components/menu/src/types.d.ts +2 -0
  132. package/es/components/message-box/src/index.vue.d.ts +2 -2
  133. package/es/components/pagination/index.d.ts +2 -2
  134. package/es/components/pagination/src/pagination.d.ts +2 -2
  135. package/es/components/popconfirm/index.d.ts +19 -12
  136. package/es/components/popconfirm/index.mjs +1 -1
  137. package/es/components/popconfirm/src/popconfirm.d.ts +3 -5
  138. package/es/components/popconfirm/src/popconfirm.mjs +11 -5
  139. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  140. package/es/components/popconfirm/src/popconfirm.vue.d.ts +19 -13
  141. package/es/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.mjs +22 -20
  142. package/es/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.mjs.map +1 -1
  143. package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs +12 -13
  144. package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs.map +1 -1
  145. package/es/components/popover/index.d.ts +1690 -420
  146. package/es/components/popover/src/directive.mjs +7 -13
  147. package/es/components/popover/src/directive.mjs.map +1 -1
  148. package/es/components/popover/src/index.mjs +2 -0
  149. package/es/components/popover/src/index.mjs.map +1 -1
  150. package/es/components/popover/src/index.vue.d.ts +846 -213
  151. package/es/components/popover/src/index.vue_vue_type_script_lang.mjs +41 -107
  152. package/es/components/popover/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  153. package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs +31 -0
  154. package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs.map +1 -0
  155. package/es/components/popover/src/popover.d.ts +70 -0
  156. package/es/components/popover/src/popover.mjs +31 -0
  157. package/es/components/popover/src/popover.mjs.map +1 -0
  158. package/es/components/popper/index.d.ts +7 -3479
  159. package/es/components/popper/index.mjs +13 -14
  160. package/es/components/popper/index.mjs.map +1 -1
  161. package/es/components/popper/src/arrow.mjs +7 -0
  162. package/es/components/popper/src/arrow.mjs.map +1 -0
  163. package/es/components/popper/src/arrow.vue.d.ts +12 -0
  164. package/es/components/popper/src/arrow.vue_vue_type_script_lang.mjs +27 -0
  165. package/es/components/popper/src/arrow.vue_vue_type_script_lang.mjs.map +1 -0
  166. package/es/components/popper/src/arrow.vue_vue_type_template_id_8ab40b80_lang.mjs +13 -0
  167. package/es/components/popper/src/arrow.vue_vue_type_template_id_8ab40b80_lang.mjs.map +1 -0
  168. package/es/components/popper/src/container.d.ts +3 -0
  169. package/es/components/popper/src/container.mjs +22 -0
  170. package/es/components/popper/src/container.mjs.map +1 -0
  171. package/es/components/popper/src/content.mjs +7 -0
  172. package/es/components/popper/src/content.mjs.map +1 -0
  173. package/es/components/popper/src/content.vue.d.ts +299 -0
  174. package/es/components/popper/src/content.vue_vue_type_script_lang.mjs +85 -0
  175. package/es/components/popper/src/content.vue_vue_type_script_lang.mjs.map +1 -0
  176. package/es/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.mjs +16 -0
  177. package/es/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.mjs.map +1 -0
  178. package/es/components/popper/src/popper.d.ts +58 -0
  179. package/es/components/popper/src/popper.mjs +98 -0
  180. package/es/components/popper/src/popper.mjs.map +1 -0
  181. package/es/components/popper/src/popper.vue.d.ts +3 -0
  182. package/es/components/popper/src/popper.vue_vue_type_script_lang.mjs +19 -0
  183. package/es/components/popper/src/popper.vue_vue_type_script_lang.mjs.map +1 -0
  184. package/es/components/popper/src/popper.vue_vue_type_template_id_77a3d185_lang.mjs +8 -0
  185. package/es/components/popper/src/popper.vue_vue_type_template_id_77a3d185_lang.mjs.map +1 -0
  186. package/es/components/popper/src/popper2.mjs +7 -0
  187. package/es/components/popper/src/popper2.mjs.map +1 -0
  188. package/es/components/popper/src/tokens.d.ts +14 -0
  189. package/es/components/popper/src/tokens.mjs +5 -0
  190. package/es/components/popper/src/tokens.mjs.map +1 -0
  191. package/es/components/popper/src/trigger.mjs +7 -0
  192. package/es/components/popper/src/trigger.mjs.map +1 -0
  193. package/es/components/popper/src/trigger.vue.d.ts +45 -0
  194. package/es/components/popper/src/trigger.vue_vue_type_script_lang.mjs +66 -0
  195. package/es/components/popper/src/trigger.vue_vue_type_script_lang.mjs.map +1 -0
  196. package/es/components/popper/src/trigger.vue_vue_type_template_id_4fb6e0af_lang.mjs +16 -0
  197. package/es/components/popper/src/trigger.vue_vue_type_template_id_4fb6e0af_lang.mjs.map +1 -0
  198. package/es/components/popper/src/utils.d.ts +55 -0
  199. package/es/components/popper/src/utils.mjs +76 -0
  200. package/es/components/popper/src/utils.mjs.map +1 -0
  201. package/es/components/roving-focus-group/index.d.ts +7 -0
  202. package/es/components/roving-focus-group/index.mjs +9 -0
  203. package/es/components/roving-focus-group/index.mjs.map +1 -0
  204. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +7 -0
  205. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -0
  206. package/es/components/roving-focus-group/src/roving-focus-group-impl.vue.d.ts +43 -0
  207. package/es/components/roving-focus-group/src/roving-focus-group-impl.vue_vue_type_script_lang.mjs +102 -0
  208. package/es/components/roving-focus-group/src/roving-focus-group-impl.vue_vue_type_script_lang.mjs.map +1 -0
  209. package/es/components/roving-focus-group/src/roving-focus-group-impl.vue_vue_type_template_id_e5cee750_lang.mjs +8 -0
  210. package/es/components/roving-focus-group/src/roving-focus-group-impl.vue_vue_type_template_id_e5cee750_lang.mjs.map +1 -0
  211. package/es/components/roving-focus-group/src/roving-focus-group.d.ts +269 -0
  212. package/es/components/roving-focus-group/src/roving-focus-group.mjs +32 -0
  213. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -0
  214. package/es/components/roving-focus-group/src/roving-focus-group.vue.d.ts +2 -0
  215. package/es/components/roving-focus-group/src/roving-focus-group.vue_vue_type_script_lang.mjs +15 -0
  216. package/es/components/roving-focus-group/src/roving-focus-group.vue_vue_type_script_lang.mjs.map +1 -0
  217. package/es/components/roving-focus-group/src/roving-focus-group.vue_vue_type_template_id_91b51b76_lang.mjs +20 -0
  218. package/es/components/roving-focus-group/src/roving-focus-group.vue_vue_type_template_id_91b51b76_lang.mjs.map +1 -0
  219. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +7 -0
  220. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -0
  221. package/es/components/roving-focus-group/src/roving-focus-item.mjs +7 -0
  222. package/es/components/roving-focus-group/src/roving-focus-item.mjs.map +1 -0
  223. package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +29 -0
  224. package/es/components/roving-focus-group/src/roving-focus-item.vue_vue_type_script_lang.mjs +100 -0
  225. package/es/components/roving-focus-group/src/roving-focus-item.vue_vue_type_script_lang.mjs.map +1 -0
  226. package/es/components/roving-focus-group/src/roving-focus-item.vue_vue_type_template_id_5f657dbd_lang.mjs +18 -0
  227. package/es/components/roving-focus-group/src/roving-focus-item.vue_vue_type_template_id_5f657dbd_lang.mjs.map +1 -0
  228. package/es/components/roving-focus-group/src/tokens.d.ts +27 -0
  229. package/es/components/roving-focus-group/src/tokens.mjs +5 -0
  230. package/es/components/roving-focus-group/src/tokens.mjs.map +1 -0
  231. package/es/components/roving-focus-group/src/utils.d.ts +8 -0
  232. package/es/components/roving-focus-group/src/utils.mjs +48 -0
  233. package/es/components/roving-focus-group/src/utils.mjs.map +1 -0
  234. package/es/components/select/index.d.ts +680 -14
  235. package/es/components/select/src/select-dropdown.vue.d.ts +1 -1
  236. package/es/components/select/src/select-dropdown.vue_vue_type_script_lang.mjs +1 -0
  237. package/es/components/select/src/select-dropdown.vue_vue_type_script_lang.mjs.map +1 -1
  238. package/es/components/select/src/select-dropdown.vue_vue_type_template_id_46cf6eee_lang.mjs.map +1 -1
  239. package/es/components/select/src/select.vue.d.ts +681 -15
  240. package/es/components/select/src/select.vue_vue_type_script_lang.mjs +25 -11
  241. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  242. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs +11 -12
  243. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs.map +1 -1
  244. package/es/components/select/src/token.d.ts +1 -0
  245. package/es/components/select/src/token.mjs.map +1 -1
  246. package/es/components/select/src/useSelect.d.ts +671 -7
  247. package/es/components/select/src/useSelect.mjs +33 -23
  248. package/es/components/select/src/useSelect.mjs.map +1 -1
  249. package/es/components/select-v2/index.d.ts +1326 -16
  250. package/es/components/select-v2/src/select.vue.d.ts +665 -10
  251. package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs +2 -2
  252. package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  253. package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs +8 -9
  254. package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs.map +1 -1
  255. package/es/components/select-v2/src/useSelect.d.ts +659 -4
  256. package/es/components/select-v2/src/useSelect.mjs +7 -7
  257. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  258. package/es/components/slider/src/button.vue_vue_type_script_lang.mjs +2 -2
  259. package/es/components/slider/src/button.vue_vue_type_script_lang.mjs.map +1 -1
  260. package/es/components/slot/index.d.ts +5 -0
  261. package/es/components/slot/index.mjs +2 -0
  262. package/es/components/slot/index.mjs.map +1 -0
  263. package/es/components/slot/src/only-child.d.ts +5 -0
  264. package/es/components/slot/src/only-child.mjs +61 -0
  265. package/es/components/slot/src/only-child.mjs.map +1 -0
  266. package/es/components/table/index.d.ts +13 -4
  267. package/es/components/table/src/filter-panel.vue.d.ts +654 -4
  268. package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs +5 -7
  269. package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs.map +1 -1
  270. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs +8 -9
  271. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs.map +1 -1
  272. package/es/components/table/src/table/style-helper.d.ts +7 -0
  273. package/es/components/table/src/table/style-helper.mjs +20 -17
  274. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  275. package/es/components/table/src/table-body/index.mjs +5 -3
  276. package/es/components/table/src/table-body/index.mjs.map +1 -1
  277. package/es/components/table/src/table-body/styles-helper.d.ts +0 -1
  278. package/es/components/table/src/table-body/styles-helper.mjs +10 -17
  279. package/es/components/table/src/table-body/styles-helper.mjs.map +1 -1
  280. package/es/components/table/src/table-column/defaults.d.ts +1 -0
  281. package/es/components/table/src/table-column/defaults.mjs.map +1 -1
  282. package/es/components/table/src/table-column/index.d.ts +1 -1
  283. package/es/components/table/src/table-column/index.mjs +1 -0
  284. package/es/components/table/src/table-column/index.mjs.map +1 -1
  285. package/es/components/table/src/table-footer/index.d.ts +4 -2
  286. package/es/components/table/src/table-footer/index.mjs +33 -18
  287. package/es/components/table/src/table-footer/index.mjs.map +1 -1
  288. package/es/components/table/src/table-footer/style-helper.d.ts +4 -2
  289. package/es/components/table/src/table-footer/style-helper.mjs +28 -31
  290. package/es/components/table/src/table-footer/style-helper.mjs.map +1 -1
  291. package/es/components/table/src/table-header/index.d.ts +3 -2
  292. package/es/components/table/src/table-header/index.mjs +89 -51
  293. package/es/components/table/src/table-header/index.mjs.map +1 -1
  294. package/es/components/table/src/table-header/style.helper.d.ts +1 -1
  295. package/es/components/table/src/table-header/style.helper.mjs +14 -24
  296. package/es/components/table/src/table-header/style.helper.mjs.map +1 -1
  297. package/es/components/table/src/table-header/utils-helper.mjs +1 -0
  298. package/es/components/table/src/table-header/utils-helper.mjs.map +1 -1
  299. package/es/components/table/src/table-layout.d.ts +1 -0
  300. package/es/components/table/src/table-layout.mjs +7 -1
  301. package/es/components/table/src/table-layout.mjs.map +1 -1
  302. package/es/components/table/src/table.vue.d.ts +11 -2
  303. package/es/components/table/src/table.vue_vue_type_script_lang.mjs +12 -2
  304. package/es/components/table/src/table.vue_vue_type_script_lang.mjs.map +1 -1
  305. package/es/components/table/src/table.vue_vue_type_template_id_4a1660ad_lang.mjs +62 -213
  306. package/es/components/table/src/table.vue_vue_type_template_id_4a1660ad_lang.mjs.map +1 -1
  307. package/es/components/table/src/util.d.ts +16 -2
  308. package/es/components/table/src/util.mjs +90 -1
  309. package/es/components/table/src/util.mjs.map +1 -1
  310. package/es/components/teleport/index.d.ts +11 -8
  311. package/es/components/teleport/src/teleport.d.ts +4 -3
  312. package/es/components/teleport/src/teleport.mjs +5 -1
  313. package/es/components/teleport/src/teleport.mjs.map +1 -1
  314. package/es/components/teleport/src/teleport.vue.d.ts +11 -8
  315. package/es/components/teleport/src/teleport.vue_vue_type_script_lang.mjs +1 -2
  316. package/es/components/teleport/src/teleport.vue_vue_type_script_lang.mjs.map +1 -1
  317. package/es/components/teleport/src/teleport.vue_vue_type_template_id_787c6a36_lang.mjs +3 -2
  318. package/es/components/teleport/src/teleport.vue_vue_type_template_id_787c6a36_lang.mjs.map +1 -1
  319. package/es/components/time-picker/index.d.ts +4 -4
  320. package/es/components/time-picker/src/common/picker.vue.d.ts +663 -9
  321. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs +29 -17
  322. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs.map +1 -1
  323. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs +38 -38
  324. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs.map +1 -1
  325. package/es/components/time-picker/src/time-picker.d.ts +2 -2
  326. package/es/components/time-select/index.d.ts +4 -4
  327. package/es/components/time-select/src/time-select.vue.d.ts +2 -2
  328. package/es/components/tooltip/index.d.ts +346 -430
  329. package/es/components/tooltip/index.mjs +6 -7
  330. package/es/components/tooltip/index.mjs.map +1 -1
  331. package/es/components/tooltip/src/content.mjs +7 -0
  332. package/es/components/tooltip/src/content.mjs.map +1 -0
  333. package/es/components/tooltip/src/content.vue.d.ts +809 -0
  334. package/es/components/tooltip/src/content.vue_vue_type_script_lang.mjs +135 -0
  335. package/es/components/tooltip/src/content.vue_vue_type_script_lang.mjs.map +1 -0
  336. package/es/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.mjs +65 -0
  337. package/es/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.mjs.map +1 -0
  338. package/es/components/tooltip/src/tokens.d.ts +14 -0
  339. package/es/components/tooltip/src/tokens.mjs +4 -0
  340. package/es/components/tooltip/src/tokens.mjs.map +1 -0
  341. package/es/components/tooltip/src/tooltip.d.ts +146 -0
  342. package/es/components/tooltip/src/tooltip.mjs +63 -0
  343. package/es/components/tooltip/src/tooltip.mjs.map +1 -0
  344. package/es/components/tooltip/src/tooltip.vue.d.ts +383 -0
  345. package/es/components/tooltip/src/tooltip.vue_vue_type_script_lang.mjs +104 -0
  346. package/es/components/tooltip/src/tooltip.vue_vue_type_script_lang.mjs.map +1 -0
  347. package/es/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.mjs +67 -0
  348. package/es/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.mjs.map +1 -0
  349. package/es/components/tooltip/src/tooltip2.mjs +7 -0
  350. package/es/components/tooltip/src/tooltip2.mjs.map +1 -0
  351. package/es/components/tooltip/src/trigger.mjs +7 -0
  352. package/es/components/tooltip/src/trigger.mjs.map +1 -0
  353. package/es/components/tooltip/src/trigger.vue.d.ts +39 -0
  354. package/es/components/tooltip/src/trigger.vue_vue_type_script_lang.mjs +60 -0
  355. package/es/components/tooltip/src/trigger.vue_vue_type_script_lang.mjs.map +1 -0
  356. package/es/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.mjs +27 -0
  357. package/es/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.mjs.map +1 -0
  358. package/es/components/tooltip/src/utils.d.ts +4 -0
  359. package/es/components/tooltip/src/utils.mjs +18 -0
  360. package/es/components/tooltip/src/utils.mjs.map +1 -0
  361. package/es/components/tree/index.d.ts +4 -4
  362. package/es/components/tree/src/tree.vue.d.ts +2 -2
  363. package/es/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  364. package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
  365. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  366. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  367. package/es/components/visual-hidden/index.d.ts +3 -0
  368. package/es/components/visual-hidden/index.mjs +4 -0
  369. package/es/components/{popper/src/renderers → visual-hidden}/index.mjs.map +0 -0
  370. package/es/components/visual-hidden/src/visual-hidden.mjs +7 -0
  371. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -0
  372. package/es/components/visual-hidden/src/visual-hidden.vue.d.ts +12 -0
  373. package/es/components/visual-hidden/src/visual-hidden.vue_vue_type_script_lang.mjs +34 -0
  374. package/es/components/visual-hidden/src/visual-hidden.vue_vue_type_script_lang.mjs.map +1 -0
  375. package/es/components/visual-hidden/src/visual-hidden.vue_vue_type_template_id_4cbd1102_lang.mjs +8 -0
  376. package/es/components/visual-hidden/src/visual-hidden.vue_vue_type_template_id_4cbd1102_lang.mjs.map +1 -0
  377. package/es/directives/click-outside/index.mjs.map +1 -1
  378. package/es/hooks/index.d.ts +8 -1
  379. package/es/hooks/index.mjs +8 -2
  380. package/es/hooks/index.mjs.map +1 -1
  381. package/es/hooks/use-delayed-toggle/index.d.ts +13 -0
  382. package/es/hooks/use-delayed-toggle/index.mjs +39 -0
  383. package/es/hooks/use-delayed-toggle/index.mjs.map +1 -0
  384. package/es/hooks/use-escape-keydown/index.d.ts +1 -0
  385. package/es/hooks/use-escape-keydown/index.mjs +21 -0
  386. package/es/hooks/use-escape-keydown/index.mjs.map +1 -0
  387. package/es/hooks/use-focus/index.d.ts +3 -1
  388. package/es/hooks/use-focus/index.mjs.map +1 -1
  389. package/es/hooks/use-forward-ref/index.d.ts +13 -0
  390. package/es/hooks/use-forward-ref/index.mjs +27 -0
  391. package/es/hooks/use-forward-ref/index.mjs.map +1 -0
  392. package/es/hooks/use-id/index.d.ts +8 -0
  393. package/es/hooks/use-id/index.mjs +24 -0
  394. package/es/hooks/use-id/index.mjs.map +1 -0
  395. package/es/hooks/use-intermediate-render/index.d.ts +11 -0
  396. package/es/hooks/use-intermediate-render/index.mjs +43 -0
  397. package/es/hooks/use-intermediate-render/index.mjs.map +1 -0
  398. package/es/hooks/use-model-toggle/index.d.ts +18 -9
  399. package/es/hooks/use-model-toggle/index.mjs +103 -93
  400. package/es/hooks/use-model-toggle/index.mjs.map +1 -1
  401. package/es/hooks/use-popper-container/index.d.ts +3 -0
  402. package/es/hooks/use-popper-container/index.mjs +22 -0
  403. package/es/hooks/use-popper-container/index.mjs.map +1 -0
  404. package/es/hooks/use-restore-active/index.mjs +1 -1
  405. package/es/hooks/use-restore-active/index.mjs.map +1 -1
  406. package/es/index.mjs +15 -8
  407. package/es/index.mjs.map +1 -1
  408. package/es/utils/aria.d.ts +4 -0
  409. package/es/utils/aria.mjs +5 -1
  410. package/es/utils/aria.mjs.map +1 -1
  411. package/es/utils/dom.d.ts +9 -1
  412. package/es/utils/dom.mjs +27 -1
  413. package/es/utils/dom.mjs.map +1 -1
  414. package/es/utils/props.d.ts +2 -2
  415. package/es/utils/props.mjs +1 -1
  416. package/es/utils/props.mjs.map +1 -1
  417. package/es/version.d.ts +1 -1
  418. package/es/version.mjs +1 -1
  419. package/es/version.mjs.map +1 -1
  420. package/lib/components/autocomplete/index.d.ts +26 -18
  421. package/lib/components/autocomplete/src/index.vue.d.ts +13 -10
  422. package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js +13 -17
  423. package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js.map +1 -1
  424. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js +51 -48
  425. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js.map +1 -1
  426. package/lib/components/carousel/index.d.ts +4 -4
  427. package/lib/components/carousel/src/main.vue.d.ts +4 -4
  428. package/lib/components/cascader/index.d.ts +1118 -6532
  429. package/lib/components/cascader/src/index.vue.d.ts +559 -3267
  430. package/lib/components/cascader/src/index.vue_vue_type_script_lang.js +10 -10
  431. package/lib/components/cascader/src/index.vue_vue_type_script_lang.js.map +1 -1
  432. package/lib/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.js +12 -12
  433. package/lib/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.js.map +1 -1
  434. package/lib/components/cascader-panel/src/index.vue_vue_type_script_lang.js +3 -0
  435. package/lib/components/cascader-panel/src/index.vue_vue_type_script_lang.js.map +1 -1
  436. package/lib/components/cascader-panel/src/index.vue_vue_type_template_id_97c48f5c_lang.js.map +1 -1
  437. package/lib/components/checkbox/index.d.ts +1 -1
  438. package/lib/components/checkbox/src/checkbox.vue.d.ts +1 -1
  439. package/lib/components/collapse-transition/src/collapse-transition.vue_vue_type_script_lang.js +7 -13
  440. package/lib/components/collapse-transition/src/collapse-transition.vue_vue_type_script_lang.js.map +1 -1
  441. package/lib/components/collapse-transition/src/collapse-transition.vue_vue_type_template_id_f68ae30a_lang.js +1 -1
  442. package/lib/components/collapse-transition/src/collapse-transition.vue_vue_type_template_id_f68ae30a_lang.js.map +1 -1
  443. package/lib/components/collection/index.d.ts +2 -0
  444. package/lib/components/collection/index.js +12 -0
  445. package/lib/components/{popper/src → collection}/index.js.map +0 -0
  446. package/lib/components/collection/src/collection-item.js +12 -0
  447. package/lib/components/collection/src/collection-item.js.map +1 -0
  448. package/lib/components/collection/src/collection-item.vue.d.ts +2 -0
  449. package/lib/components/collection/src/collection-item.vue_vue_type_script_lang.js +13 -0
  450. package/lib/components/collection/src/collection-item.vue_vue_type_script_lang.js.map +1 -0
  451. package/lib/components/collection/src/collection-item.vue_vue_type_template_id_dd23be6a_lang.js +12 -0
  452. package/lib/components/collection/src/collection-item.vue_vue_type_template_id_dd23be6a_lang.js.map +1 -0
  453. package/lib/components/collection/src/collection.d.ts +263 -0
  454. package/lib/components/collection/src/collection.js +73 -0
  455. package/lib/components/collection/src/collection.js.map +1 -0
  456. package/lib/components/collection/src/collection.vue.d.ts +2 -0
  457. package/lib/components/collection/src/collection.vue_vue_type_script_lang.js +12 -0
  458. package/lib/components/collection/src/collection.vue_vue_type_script_lang.js.map +1 -0
  459. package/lib/components/collection/src/collection.vue_vue_type_template_id_5f9c2545_lang.js +12 -0
  460. package/lib/components/collection/src/collection.vue_vue_type_template_id_5f9c2545_lang.js.map +1 -0
  461. package/lib/components/collection/src/collection2.js +12 -0
  462. package/lib/components/collection/src/collection2.js.map +1 -0
  463. package/lib/components/collection/src/tokens.d.ts +12 -0
  464. package/lib/components/collection/src/tokens.js +3 -0
  465. package/lib/components/collection/src/tokens.js.map +1 -0
  466. package/lib/components/color-picker/index.d.ts +0 -2
  467. package/lib/components/color-picker/src/index.vue.d.ts +0 -2
  468. package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js +2 -4
  469. package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js.map +1 -1
  470. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js +9 -10
  471. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js.map +1 -1
  472. package/lib/components/date-picker/index.d.ts +4 -4
  473. package/lib/components/date-picker/src/date-picker.d.ts +2 -2
  474. package/lib/components/descriptions/index.d.ts +4 -4
  475. package/lib/components/descriptions/src/description-item.d.ts +2 -2
  476. package/lib/components/dialog/index.d.ts +5 -5
  477. package/lib/components/dialog/src/dialog.vue.d.ts +5 -5
  478. package/lib/components/drawer/index.d.ts +5 -5
  479. package/lib/components/drawer/src/drawer.vue.d.ts +5 -5
  480. package/lib/components/dropdown/index.d.ts +767 -84
  481. package/lib/components/dropdown/src/dropdown-item-impl.js +12 -0
  482. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -0
  483. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +39 -0
  484. package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_script_lang.js +57 -0
  485. package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_script_lang.js.map +1 -0
  486. package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.js +37 -0
  487. package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.js.map +1 -0
  488. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +17 -9
  489. package/lib/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.js +50 -20
  490. package/lib/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.js.map +1 -1
  491. package/lib/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.js +29 -19
  492. package/lib/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.js.map +1 -1
  493. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +17 -6
  494. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.js +57 -21
  495. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.js.map +1 -1
  496. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.js +11 -8
  497. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.js.map +1 -1
  498. package/lib/components/dropdown/src/dropdown.d.ts +295 -1
  499. package/lib/components/dropdown/src/dropdown.js +96 -0
  500. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  501. package/lib/components/dropdown/src/dropdown.vue.d.ts +712 -73
  502. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js +59 -152
  503. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js.map +1 -1
  504. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js +91 -51
  505. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
  506. package/lib/components/dropdown/src/tokens.d.ts +8 -0
  507. package/lib/components/dropdown/src/tokens.js +8 -0
  508. package/lib/components/dropdown/src/tokens.js.map +1 -0
  509. package/lib/components/focus-trap/index.d.ts +5 -0
  510. package/lib/components/focus-trap/index.js +27 -0
  511. package/lib/components/focus-trap/index.js.map +1 -0
  512. package/lib/components/focus-trap/src/focus-trap.js +12 -0
  513. package/lib/components/focus-trap/src/focus-trap.js.map +1 -0
  514. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +21 -0
  515. package/lib/components/focus-trap/src/focus-trap.vue_vue_type_script_lang.js +141 -0
  516. package/lib/components/focus-trap/src/focus-trap.vue_vue_type_script_lang.js.map +1 -0
  517. package/lib/components/focus-trap/src/focus-trap.vue_vue_type_template_id_4a8a10c5_lang.js +12 -0
  518. package/lib/components/focus-trap/src/focus-trap.vue_vue_type_template_id_4a8a10c5_lang.js.map +1 -0
  519. package/lib/components/focus-trap/src/tokens.d.ts +11 -0
  520. package/lib/components/focus-trap/src/tokens.js +21 -0
  521. package/lib/components/focus-trap/src/tokens.js.map +1 -0
  522. package/lib/components/focus-trap/src/utils.d.ts +18 -0
  523. package/lib/components/focus-trap/src/utils.js +102 -0
  524. package/lib/components/focus-trap/src/utils.js.map +1 -0
  525. package/lib/components/image/index.d.ts +2 -2
  526. package/lib/components/image/src/image.vue.d.ts +2 -2
  527. package/lib/components/index.js +92 -84
  528. package/lib/components/index.js.map +1 -1
  529. package/lib/components/input/index.d.ts +5 -5
  530. package/lib/components/input/src/input.vue.d.ts +5 -5
  531. package/lib/components/input-number/index.d.ts +12 -12
  532. package/lib/components/input-number/src/input-number.vue.d.ts +12 -12
  533. package/lib/components/menu/index.d.ts +9 -3
  534. package/lib/components/menu/src/menu-item.vue.d.ts +4 -2
  535. package/lib/components/menu/src/menu-item.vue_vue_type_script_lang.js +3 -3
  536. package/lib/components/menu/src/menu-item.vue_vue_type_script_lang.js.map +1 -1
  537. package/lib/components/menu/src/menu.d.ts +1 -1
  538. package/lib/components/menu/src/menu.js +2 -1
  539. package/lib/components/menu/src/menu.js.map +1 -1
  540. package/lib/components/menu/src/sub-menu.js +18 -21
  541. package/lib/components/menu/src/sub-menu.js.map +1 -1
  542. package/lib/components/menu/src/types.d.ts +2 -0
  543. package/lib/components/message-box/src/index.vue.d.ts +2 -2
  544. package/lib/components/pagination/index.d.ts +2 -2
  545. package/lib/components/pagination/src/pagination.d.ts +2 -2
  546. package/lib/components/popconfirm/index.d.ts +19 -12
  547. package/lib/components/popconfirm/index.js +0 -1
  548. package/lib/components/popconfirm/index.js.map +1 -1
  549. package/lib/components/popconfirm/src/popconfirm.d.ts +3 -5
  550. package/lib/components/popconfirm/src/popconfirm.js +10 -5
  551. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  552. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +19 -13
  553. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.js +20 -18
  554. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.js.map +1 -1
  555. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js +11 -12
  556. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js.map +1 -1
  557. package/lib/components/popover/index.d.ts +1690 -420
  558. package/lib/components/popover/src/directive.js +7 -13
  559. package/lib/components/popover/src/directive.js.map +1 -1
  560. package/lib/components/popover/src/index.js +2 -0
  561. package/lib/components/popover/src/index.js.map +1 -1
  562. package/lib/components/popover/src/index.vue.d.ts +846 -213
  563. package/lib/components/popover/src/index.vue_vue_type_script_lang.js +40 -106
  564. package/lib/components/popover/src/index.vue_vue_type_script_lang.js.map +1 -1
  565. package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js +35 -0
  566. package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js.map +1 -0
  567. package/lib/components/popover/src/popover.d.ts +70 -0
  568. package/lib/components/popover/src/popover.js +35 -0
  569. package/lib/components/popover/src/popover.js.map +1 -0
  570. package/lib/components/popper/index.d.ts +7 -3479
  571. package/lib/components/popper/index.js +24 -20
  572. package/lib/components/popper/index.js.map +1 -1
  573. package/lib/components/popper/src/arrow.js +12 -0
  574. package/lib/components/popper/src/arrow.js.map +1 -0
  575. package/lib/components/popper/src/arrow.vue.d.ts +12 -0
  576. package/lib/components/popper/src/arrow.vue_vue_type_script_lang.js +31 -0
  577. package/lib/components/popper/src/arrow.vue_vue_type_script_lang.js.map +1 -0
  578. package/lib/components/popper/src/arrow.vue_vue_type_template_id_8ab40b80_lang.js +17 -0
  579. package/lib/components/popper/src/arrow.vue_vue_type_template_id_8ab40b80_lang.js.map +1 -0
  580. package/lib/components/popper/src/container.d.ts +3 -0
  581. package/lib/components/popper/src/container.js +28 -0
  582. package/lib/components/popper/src/container.js.map +1 -0
  583. package/lib/components/popper/src/content.js +12 -0
  584. package/lib/components/popper/src/content.js.map +1 -0
  585. package/lib/components/popper/src/content.vue.d.ts +299 -0
  586. package/lib/components/popper/src/content.vue_vue_type_script_lang.js +89 -0
  587. package/lib/components/popper/src/content.vue_vue_type_script_lang.js.map +1 -0
  588. package/lib/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.js +20 -0
  589. package/lib/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.js.map +1 -0
  590. package/lib/components/popper/src/popper.d.ts +58 -0
  591. package/lib/components/popper/src/popper.js +107 -0
  592. package/lib/components/popper/src/popper.js.map +1 -0
  593. package/lib/components/popper/src/popper.vue.d.ts +3 -0
  594. package/lib/components/popper/src/popper.vue_vue_type_script_lang.js +23 -0
  595. package/lib/components/popper/src/popper.vue_vue_type_script_lang.js.map +1 -0
  596. package/lib/components/popper/src/popper.vue_vue_type_template_id_77a3d185_lang.js +12 -0
  597. package/lib/components/popper/src/popper.vue_vue_type_template_id_77a3d185_lang.js.map +1 -0
  598. package/lib/components/popper/src/popper2.js +12 -0
  599. package/lib/components/popper/src/popper2.js.map +1 -0
  600. package/lib/components/popper/src/tokens.d.ts +14 -0
  601. package/lib/components/popper/src/tokens.js +10 -0
  602. package/lib/components/popper/src/tokens.js.map +1 -0
  603. package/lib/components/popper/src/trigger.js +12 -0
  604. package/lib/components/popper/src/trigger.js.map +1 -0
  605. package/lib/components/popper/src/trigger.vue.d.ts +45 -0
  606. package/lib/components/popper/src/trigger.vue_vue_type_script_lang.js +70 -0
  607. package/lib/components/popper/src/trigger.vue_vue_type_script_lang.js.map +1 -0
  608. package/lib/components/popper/src/trigger.vue_vue_type_template_id_4fb6e0af_lang.js +20 -0
  609. package/lib/components/popper/src/trigger.vue_vue_type_template_id_4fb6e0af_lang.js.map +1 -0
  610. package/lib/components/popper/src/utils.d.ts +55 -0
  611. package/lib/components/popper/src/utils.js +81 -0
  612. package/lib/components/popper/src/utils.js.map +1 -0
  613. package/lib/components/roving-focus-group/index.d.ts +7 -0
  614. package/lib/components/roving-focus-group/index.js +25 -0
  615. package/lib/components/roving-focus-group/index.js.map +1 -0
  616. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +12 -0
  617. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -0
  618. package/lib/components/roving-focus-group/src/roving-focus-group-impl.vue.d.ts +43 -0
  619. package/lib/components/roving-focus-group/src/roving-focus-group-impl.vue_vue_type_script_lang.js +106 -0
  620. package/lib/components/roving-focus-group/src/roving-focus-group-impl.vue_vue_type_script_lang.js.map +1 -0
  621. package/lib/components/roving-focus-group/src/roving-focus-group-impl.vue_vue_type_template_id_e5cee750_lang.js +12 -0
  622. package/lib/components/roving-focus-group/src/roving-focus-group-impl.vue_vue_type_template_id_e5cee750_lang.js.map +1 -0
  623. package/lib/components/roving-focus-group/src/roving-focus-group.d.ts +269 -0
  624. package/lib/components/roving-focus-group/src/roving-focus-group.js +40 -0
  625. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -0
  626. package/lib/components/roving-focus-group/src/roving-focus-group.vue.d.ts +2 -0
  627. package/lib/components/roving-focus-group/src/roving-focus-group.vue_vue_type_script_lang.js +19 -0
  628. package/lib/components/roving-focus-group/src/roving-focus-group.vue_vue_type_script_lang.js.map +1 -0
  629. package/lib/components/roving-focus-group/src/roving-focus-group.vue_vue_type_template_id_91b51b76_lang.js +24 -0
  630. package/lib/components/roving-focus-group/src/roving-focus-group.vue_vue_type_template_id_91b51b76_lang.js.map +1 -0
  631. package/lib/components/roving-focus-group/src/roving-focus-group2.js +12 -0
  632. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -0
  633. package/lib/components/roving-focus-group/src/roving-focus-item.js +12 -0
  634. package/lib/components/roving-focus-group/src/roving-focus-item.js.map +1 -0
  635. package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +29 -0
  636. package/lib/components/roving-focus-group/src/roving-focus-item.vue_vue_type_script_lang.js +104 -0
  637. package/lib/components/roving-focus-group/src/roving-focus-item.vue_vue_type_script_lang.js.map +1 -0
  638. package/lib/components/roving-focus-group/src/roving-focus-item.vue_vue_type_template_id_5f657dbd_lang.js +22 -0
  639. package/lib/components/roving-focus-group/src/roving-focus-item.vue_vue_type_template_id_5f657dbd_lang.js.map +1 -0
  640. package/lib/components/roving-focus-group/src/tokens.d.ts +27 -0
  641. package/lib/components/roving-focus-group/src/tokens.js +10 -0
  642. package/lib/components/roving-focus-group/src/tokens.js.map +1 -0
  643. package/lib/components/roving-focus-group/src/utils.d.ts +8 -0
  644. package/lib/components/roving-focus-group/src/utils.js +54 -0
  645. package/lib/components/roving-focus-group/src/utils.js.map +1 -0
  646. package/lib/components/select/index.d.ts +680 -14
  647. package/lib/components/select/src/select-dropdown.vue.d.ts +1 -1
  648. package/lib/components/select/src/select-dropdown.vue_vue_type_script_lang.js +1 -0
  649. package/lib/components/select/src/select-dropdown.vue_vue_type_script_lang.js.map +1 -1
  650. package/lib/components/select/src/select-dropdown.vue_vue_type_template_id_46cf6eee_lang.js.map +1 -1
  651. package/lib/components/select/src/select.vue.d.ts +681 -15
  652. package/lib/components/select/src/select.vue_vue_type_script_lang.js +24 -10
  653. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  654. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js +11 -12
  655. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js.map +1 -1
  656. package/lib/components/select/src/token.d.ts +1 -0
  657. package/lib/components/select/src/token.js.map +1 -1
  658. package/lib/components/select/src/useSelect.d.ts +671 -7
  659. package/lib/components/select/src/useSelect.js +33 -23
  660. package/lib/components/select/src/useSelect.js.map +1 -1
  661. package/lib/components/select-v2/index.d.ts +1326 -16
  662. package/lib/components/select-v2/src/select.vue.d.ts +665 -10
  663. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js +2 -2
  664. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
  665. package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js +8 -9
  666. package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js.map +1 -1
  667. package/lib/components/select-v2/src/useSelect.d.ts +659 -4
  668. package/lib/components/select-v2/src/useSelect.js +11 -11
  669. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  670. package/lib/components/slider/src/button.vue_vue_type_script_lang.js +1 -1
  671. package/lib/components/slider/src/button.vue_vue_type_script_lang.js.map +1 -1
  672. package/lib/components/slot/index.d.ts +5 -0
  673. package/lib/components/slot/index.js +10 -0
  674. package/lib/components/{popper/src/renderers → slot}/index.js.map +1 -1
  675. package/lib/components/slot/src/only-child.d.ts +5 -0
  676. package/lib/components/slot/src/only-child.js +65 -0
  677. package/lib/components/slot/src/only-child.js.map +1 -0
  678. package/lib/components/table/index.d.ts +13 -4
  679. package/lib/components/table/src/filter-panel.vue.d.ts +654 -4
  680. package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js +5 -7
  681. package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js.map +1 -1
  682. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js +8 -9
  683. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js.map +1 -1
  684. package/lib/components/table/src/table/style-helper.d.ts +7 -0
  685. package/lib/components/table/src/table/style-helper.js +20 -21
  686. package/lib/components/table/src/table/style-helper.js.map +1 -1
  687. package/lib/components/table/src/table-body/index.js +5 -3
  688. package/lib/components/table/src/table-body/index.js.map +1 -1
  689. package/lib/components/table/src/table-body/styles-helper.d.ts +0 -1
  690. package/lib/components/table/src/table-body/styles-helper.js +10 -17
  691. package/lib/components/table/src/table-body/styles-helper.js.map +1 -1
  692. package/lib/components/table/src/table-column/defaults.d.ts +1 -0
  693. package/lib/components/table/src/table-column/defaults.js.map +1 -1
  694. package/lib/components/table/src/table-column/index.d.ts +1 -1
  695. package/lib/components/table/src/table-column/index.js +1 -0
  696. package/lib/components/table/src/table-column/index.js.map +1 -1
  697. package/lib/components/table/src/table-footer/index.d.ts +4 -2
  698. package/lib/components/table/src/table-footer/index.js +32 -17
  699. package/lib/components/table/src/table-footer/index.js.map +1 -1
  700. package/lib/components/table/src/table-footer/style-helper.d.ts +4 -2
  701. package/lib/components/table/src/table-footer/style-helper.js +28 -31
  702. package/lib/components/table/src/table-footer/style-helper.js.map +1 -1
  703. package/lib/components/table/src/table-header/index.d.ts +3 -2
  704. package/lib/components/table/src/table-header/index.js +89 -51
  705. package/lib/components/table/src/table-header/index.js.map +1 -1
  706. package/lib/components/table/src/table-header/style.helper.d.ts +1 -1
  707. package/lib/components/table/src/table-header/style.helper.js +14 -24
  708. package/lib/components/table/src/table-header/style.helper.js.map +1 -1
  709. package/lib/components/table/src/table-header/utils-helper.js +1 -0
  710. package/lib/components/table/src/table-header/utils-helper.js.map +1 -1
  711. package/lib/components/table/src/table-layout.d.ts +1 -0
  712. package/lib/components/table/src/table-layout.js +7 -1
  713. package/lib/components/table/src/table-layout.js.map +1 -1
  714. package/lib/components/table/src/table.vue.d.ts +11 -2
  715. package/lib/components/table/src/table.vue_vue_type_script_lang.js +12 -2
  716. package/lib/components/table/src/table.vue_vue_type_script_lang.js.map +1 -1
  717. package/lib/components/table/src/table.vue_vue_type_template_id_4a1660ad_lang.js +62 -213
  718. package/lib/components/table/src/table.vue_vue_type_template_id_4a1660ad_lang.js.map +1 -1
  719. package/lib/components/table/src/util.d.ts +16 -2
  720. package/lib/components/table/src/util.js +95 -0
  721. package/lib/components/table/src/util.js.map +1 -1
  722. package/lib/components/teleport/index.d.ts +11 -8
  723. package/lib/components/teleport/src/teleport.d.ts +4 -3
  724. package/lib/components/teleport/src/teleport.js +5 -1
  725. package/lib/components/teleport/src/teleport.js.map +1 -1
  726. package/lib/components/teleport/src/teleport.vue.d.ts +11 -8
  727. package/lib/components/teleport/src/teleport.vue_vue_type_script_lang.js +1 -2
  728. package/lib/components/teleport/src/teleport.vue_vue_type_script_lang.js.map +1 -1
  729. package/lib/components/teleport/src/teleport.vue_vue_type_template_id_787c6a36_lang.js +3 -2
  730. package/lib/components/teleport/src/teleport.vue_vue_type_template_id_787c6a36_lang.js.map +1 -1
  731. package/lib/components/time-picker/index.d.ts +4 -4
  732. package/lib/components/time-picker/src/common/picker.vue.d.ts +663 -9
  733. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js +33 -21
  734. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js.map +1 -1
  735. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js +37 -37
  736. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js.map +1 -1
  737. package/lib/components/time-picker/src/time-picker.d.ts +2 -2
  738. package/lib/components/time-select/index.d.ts +4 -4
  739. package/lib/components/time-select/src/time-select.vue.d.ts +2 -2
  740. package/lib/components/tooltip/index.d.ts +346 -430
  741. package/lib/components/tooltip/index.js +9 -7
  742. package/lib/components/tooltip/index.js.map +1 -1
  743. package/lib/components/tooltip/src/content.js +12 -0
  744. package/lib/components/tooltip/src/content.js.map +1 -0
  745. package/lib/components/tooltip/src/content.vue.d.ts +809 -0
  746. package/lib/components/tooltip/src/content.vue_vue_type_script_lang.js +139 -0
  747. package/lib/components/tooltip/src/content.vue_vue_type_script_lang.js.map +1 -0
  748. package/lib/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.js +69 -0
  749. package/lib/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.js.map +1 -0
  750. package/lib/components/tooltip/src/tokens.d.ts +14 -0
  751. package/lib/components/tooltip/src/tokens.js +8 -0
  752. package/lib/components/tooltip/src/tokens.js.map +1 -0
  753. package/lib/components/tooltip/src/tooltip.d.ts +146 -0
  754. package/lib/components/tooltip/src/tooltip.js +69 -0
  755. package/lib/components/tooltip/src/tooltip.js.map +1 -0
  756. package/lib/components/tooltip/src/tooltip.vue.d.ts +383 -0
  757. package/lib/components/tooltip/src/tooltip.vue_vue_type_script_lang.js +108 -0
  758. package/lib/components/tooltip/src/tooltip.vue_vue_type_script_lang.js.map +1 -0
  759. package/lib/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.js +71 -0
  760. package/lib/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.js.map +1 -0
  761. package/lib/components/tooltip/src/tooltip2.js +12 -0
  762. package/lib/components/tooltip/src/tooltip2.js.map +1 -0
  763. package/lib/components/tooltip/src/trigger.js +12 -0
  764. package/lib/components/tooltip/src/trigger.js.map +1 -0
  765. package/lib/components/tooltip/src/trigger.vue.d.ts +39 -0
  766. package/lib/components/tooltip/src/trigger.vue_vue_type_script_lang.js +64 -0
  767. package/lib/components/tooltip/src/trigger.vue_vue_type_script_lang.js.map +1 -0
  768. package/lib/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.js +31 -0
  769. package/lib/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.js.map +1 -0
  770. package/lib/components/tooltip/src/utils.d.ts +4 -0
  771. package/lib/components/tooltip/src/utils.js +23 -0
  772. package/lib/components/tooltip/src/utils.js.map +1 -0
  773. package/lib/components/tree/index.d.ts +4 -4
  774. package/lib/components/tree/src/tree.vue.d.ts +2 -2
  775. package/lib/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  776. package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
  777. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  778. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  779. package/lib/components/visual-hidden/index.d.ts +3 -0
  780. package/lib/components/visual-hidden/index.js +12 -0
  781. package/lib/components/visual-hidden/index.js.map +1 -0
  782. package/lib/components/visual-hidden/src/visual-hidden.js +12 -0
  783. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -0
  784. package/lib/components/visual-hidden/src/visual-hidden.vue.d.ts +12 -0
  785. package/lib/components/visual-hidden/src/visual-hidden.vue_vue_type_script_lang.js +38 -0
  786. package/lib/components/visual-hidden/src/visual-hidden.vue_vue_type_script_lang.js.map +1 -0
  787. package/lib/components/visual-hidden/src/visual-hidden.vue_vue_type_template_id_4cbd1102_lang.js +12 -0
  788. package/lib/components/visual-hidden/src/visual-hidden.vue_vue_type_template_id_4cbd1102_lang.js.map +1 -0
  789. package/lib/directives/click-outside/index.js.map +1 -1
  790. package/lib/hooks/index.d.ts +8 -1
  791. package/lib/hooks/index.js +36 -20
  792. package/lib/hooks/index.js.map +1 -1
  793. package/lib/hooks/use-delayed-toggle/index.d.ts +13 -0
  794. package/lib/hooks/use-delayed-toggle/index.js +44 -0
  795. package/lib/hooks/use-delayed-toggle/index.js.map +1 -0
  796. package/lib/hooks/use-escape-keydown/index.d.ts +1 -0
  797. package/lib/hooks/use-escape-keydown/index.js +25 -0
  798. package/lib/hooks/use-escape-keydown/index.js.map +1 -0
  799. package/lib/hooks/use-focus/index.d.ts +3 -1
  800. package/lib/hooks/use-focus/index.js.map +1 -1
  801. package/lib/hooks/use-forward-ref/index.d.ts +13 -0
  802. package/lib/hooks/use-forward-ref/index.js +33 -0
  803. package/lib/hooks/use-forward-ref/index.js.map +1 -0
  804. package/lib/hooks/use-id/index.d.ts +8 -0
  805. package/lib/hooks/use-id/index.js +29 -0
  806. package/lib/hooks/use-id/index.js.map +1 -0
  807. package/lib/hooks/use-intermediate-render/index.d.ts +11 -0
  808. package/lib/hooks/use-intermediate-render/index.js +47 -0
  809. package/lib/hooks/use-intermediate-render/index.js.map +1 -0
  810. package/lib/hooks/use-model-toggle/index.d.ts +18 -9
  811. package/lib/hooks/use-model-toggle/index.js +102 -91
  812. package/lib/hooks/use-model-toggle/index.js.map +1 -1
  813. package/lib/hooks/use-popper-container/index.d.ts +3 -0
  814. package/lib/hooks/use-popper-container/index.js +28 -0
  815. package/lib/hooks/use-popper-container/index.js.map +1 -0
  816. package/lib/hooks/use-restore-active/index.js +1 -1
  817. package/lib/hooks/use-restore-active/index.js.map +1 -1
  818. package/lib/index.js +167 -143
  819. package/lib/index.js.map +1 -1
  820. package/lib/utils/aria.d.ts +4 -0
  821. package/lib/utils/aria.js +5 -1
  822. package/lib/utils/aria.js.map +1 -1
  823. package/lib/utils/dom.d.ts +9 -1
  824. package/lib/utils/dom.js +30 -0
  825. package/lib/utils/dom.js.map +1 -1
  826. package/lib/utils/props.d.ts +2 -2
  827. package/lib/utils/props.js +1 -1
  828. package/lib/utils/props.js.map +1 -1
  829. package/lib/version.d.ts +1 -1
  830. package/lib/version.js +1 -1
  831. package/lib/version.js.map +1 -1
  832. package/package.json +2 -2
  833. package/tags.json +1 -1
  834. package/theme-chalk/base.css +1 -1
  835. package/theme-chalk/el-collapse.css +1 -1
  836. package/theme-chalk/el-date-picker.css +1 -1
  837. package/theme-chalk/el-dropdown.css +1 -1
  838. package/theme-chalk/el-menu.css +1 -1
  839. package/theme-chalk/el-select-v2.css +1 -1
  840. package/theme-chalk/el-table-column.css +1 -1
  841. package/theme-chalk/el-table.css +1 -1
  842. package/theme-chalk/el-time-picker.css +1 -1
  843. package/theme-chalk/el-time-select.css +1 -1
  844. package/theme-chalk/el-tree.css +1 -1
  845. package/theme-chalk/index.css +1 -1
  846. package/theme-chalk/src/common/transition.scss +8 -0
  847. package/theme-chalk/src/dropdown.scss +1 -2
  848. package/theme-chalk/src/select-v2.scss +2 -3
  849. package/theme-chalk/src/table-column.scss +0 -1
  850. package/theme-chalk/src/table.scss +176 -124
  851. package/web-types.json +1 -1
  852. package/es/components/popover/src/usePopover.d.ts +0 -32
  853. package/es/components/popover/src/usePopover.mjs +0 -38
  854. package/es/components/popover/src/usePopover.mjs.map +0 -1
  855. package/es/components/popper/src/index.mjs +0 -5
  856. package/es/components/popper/src/index.vue.d.ts +0 -1737
  857. package/es/components/popper/src/index.vue_vue_type_script_lang.mjs +0 -103
  858. package/es/components/popper/src/index.vue_vue_type_script_lang.mjs.map +0 -1
  859. package/es/components/popper/src/renderers/arrow.d.ts +0 -3
  860. package/es/components/popper/src/renderers/arrow.mjs +0 -12
  861. package/es/components/popper/src/renderers/arrow.mjs.map +0 -1
  862. package/es/components/popper/src/renderers/index.d.ts +0 -3
  863. package/es/components/popper/src/renderers/index.mjs +0 -4
  864. package/es/components/popper/src/renderers/popper.d.ts +0 -23
  865. package/es/components/popper/src/renderers/popper.mjs +0 -51
  866. package/es/components/popper/src/renderers/popper.mjs.map +0 -1
  867. package/es/components/popper/src/renderers/trigger.d.ts +0 -13
  868. package/es/components/popper/src/renderers/trigger.mjs +0 -13
  869. package/es/components/popper/src/renderers/trigger.mjs.map +0 -1
  870. package/es/components/popper/src/use-popper/build-modifiers.d.ts +0 -10
  871. package/es/components/popper/src/use-popper/build-modifiers.mjs +0 -50
  872. package/es/components/popper/src/use-popper/build-modifiers.mjs.map +0 -1
  873. package/es/components/popper/src/use-popper/defaults.d.ts +0 -142
  874. package/es/components/popper/src/use-popper/defaults.mjs +0 -116
  875. package/es/components/popper/src/use-popper/defaults.mjs.map +0 -1
  876. package/es/components/popper/src/use-popper/index.d.ts +0 -1554
  877. package/es/components/popper/src/use-popper/index.mjs +0 -235
  878. package/es/components/popper/src/use-popper/index.mjs.map +0 -1
  879. package/es/components/popper/src/use-popper/popper-options.d.ts +0 -20
  880. package/es/components/popper/src/use-popper/popper-options.mjs +0 -22
  881. package/es/components/popper/src/use-popper/popper-options.mjs.map +0 -1
  882. package/es/components/tooltip/src/index.d.ts +0 -240
  883. package/es/components/tooltip/src/index.mjs +0 -101
  884. package/es/components/tooltip/src/index.mjs.map +0 -1
  885. package/es/hooks/use-popper/index.d.ts +0 -103
  886. package/es/hooks/use-popper/index.mjs +0 -256
  887. package/es/hooks/use-popper/index.mjs.map +0 -1
  888. package/es/hooks/use-popper/use-popper-options.d.ts +0 -49
  889. package/es/hooks/use-popper/use-popper-options.mjs +0 -47
  890. package/es/hooks/use-popper/use-popper-options.mjs.map +0 -1
  891. package/es/hooks/use-popper/use-target-events.d.ts +0 -13
  892. package/es/hooks/use-popper/use-target-events.mjs +0 -68
  893. package/es/hooks/use-popper/use-target-events.mjs.map +0 -1
  894. package/lib/components/popover/src/usePopover.d.ts +0 -32
  895. package/lib/components/popover/src/usePopover.js +0 -44
  896. package/lib/components/popover/src/usePopover.js.map +0 -1
  897. package/lib/components/popper/src/index.js +0 -10
  898. package/lib/components/popper/src/index.vue.d.ts +0 -1737
  899. package/lib/components/popper/src/index.vue_vue_type_script_lang.js +0 -107
  900. package/lib/components/popper/src/index.vue_vue_type_script_lang.js.map +0 -1
  901. package/lib/components/popper/src/renderers/arrow.d.ts +0 -3
  902. package/lib/components/popper/src/renderers/arrow.js +0 -16
  903. package/lib/components/popper/src/renderers/arrow.js.map +0 -1
  904. package/lib/components/popper/src/renderers/index.d.ts +0 -3
  905. package/lib/components/popper/src/renderers/index.js +0 -14
  906. package/lib/components/popper/src/renderers/popper.d.ts +0 -23
  907. package/lib/components/popper/src/renderers/popper.js +0 -55
  908. package/lib/components/popper/src/renderers/popper.js.map +0 -1
  909. package/lib/components/popper/src/renderers/trigger.d.ts +0 -13
  910. package/lib/components/popper/src/renderers/trigger.js +0 -17
  911. package/lib/components/popper/src/renderers/trigger.js.map +0 -1
  912. package/lib/components/popper/src/use-popper/build-modifiers.d.ts +0 -10
  913. package/lib/components/popper/src/use-popper/build-modifiers.js +0 -54
  914. package/lib/components/popper/src/use-popper/build-modifiers.js.map +0 -1
  915. package/lib/components/popper/src/use-popper/defaults.d.ts +0 -142
  916. package/lib/components/popper/src/use-popper/defaults.js +0 -121
  917. package/lib/components/popper/src/use-popper/defaults.js.map +0 -1
  918. package/lib/components/popper/src/use-popper/index.d.ts +0 -1554
  919. package/lib/components/popper/src/use-popper/index.js +0 -242
  920. package/lib/components/popper/src/use-popper/index.js.map +0 -1
  921. package/lib/components/popper/src/use-popper/popper-options.d.ts +0 -20
  922. package/lib/components/popper/src/use-popper/popper-options.js +0 -26
  923. package/lib/components/popper/src/use-popper/popper-options.js.map +0 -1
  924. package/lib/components/tooltip/src/index.d.ts +0 -240
  925. package/lib/components/tooltip/src/index.js +0 -105
  926. package/lib/components/tooltip/src/index.js.map +0 -1
  927. package/lib/hooks/use-popper/index.d.ts +0 -103
  928. package/lib/hooks/use-popper/index.js +0 -264
  929. package/lib/hooks/use-popper/index.js.map +0 -1
  930. package/lib/hooks/use-popper/use-popper-options.d.ts +0 -49
  931. package/lib/hooks/use-popper/use-popper-options.js +0 -53
  932. package/lib/hooks/use-popper/use-popper-options.js.map +0 -1
  933. package/lib/hooks/use-popper/use-target-events.d.ts +0 -13
  934. package/lib/hooks/use-popper/use-target-events.js +0 -73
  935. package/lib/hooks/use-popper/use-target-events.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"aria.mjs","sources":["../../../../packages/utils/aria.ts"],"sourcesContent":["import type { Nullable } from '@element-plus/utils/types'\nexport const EVENT_CODE = {\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n left: 'ArrowLeft', // 37\n up: 'ArrowUp', // 38\n right: 'ArrowRight', // 39\n down: 'ArrowDown', // 40\n esc: 'Escape',\n delete: 'Delete',\n backspace: 'Backspace',\n numpadEnter: 'NumpadEnter',\n}\n\nconst FOCUSABLE_ELEMENT_SELECTORS = `a[href],button:not([disabled]),button:not([hidden]),:not([tabindex=\"-1\"]),input:not([disabled]),input:not([type=\"hidden\"]),select:not([disabled]),textarea:not([disabled])`\n\n/**\n * Determine if the testing element is visible on screen no matter if its on the viewport or not\n */\nexport const isVisible = (element: HTMLElement) => {\n if (process.env.NODE_ENV === 'test') return true\n const computed = getComputedStyle(element)\n // element.offsetParent won't work on fix positioned\n // WARNING: potential issue here, going to need some expert advices on this issue\n return computed.position === 'fixed' ? false : element.offsetParent !== null\n}\n\nexport const obtainAllFocusableElements = (\n element: HTMLElement\n): HTMLElement[] => {\n return Array.from(\n element.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENT_SELECTORS)\n ).filter((item: HTMLElement) => isFocusable(item) && isVisible(item))\n}\n\n/**\n * @desc Determine if target element is focusable\n * @param element {HTMLElement}\n * @returns {Boolean} true if it is focusable\n */\nexport const isFocusable = (element: HTMLElement): boolean => {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n // HTMLButtonElement has disabled\n if ((element as HTMLButtonElement).disabled) {\n return false\n }\n\n switch (element.nodeName) {\n case 'A': {\n // casting current element to Specific HTMLElement in order to be more type precise\n return (\n !!(element as HTMLAnchorElement).href &&\n (element as HTMLAnchorElement).rel !== 'ignore'\n )\n }\n case 'INPUT': {\n return !(\n (element as HTMLInputElement).type === 'hidden' ||\n (element as HTMLInputElement).type === 'file'\n )\n }\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA': {\n return true\n }\n default: {\n return false\n }\n }\n}\n\n/**\n * @desc Set Attempt to set focus on the current node.\n * @param element\n * The node to attempt to focus on.\n * @returns\n * true if element is focused.\n */\nexport const attemptFocus = (element: HTMLElement): boolean => {\n if (!isFocusable(element)) {\n return false\n }\n Utils.IgnoreUtilFocusChanges = true\n // Remove the old try catch block since there will be no error to be thrown\n element.focus?.()\n Utils.IgnoreUtilFocusChanges = false\n return document.activeElement === element\n}\n\n/**\n * Trigger an event\n * mouseenter, mouseleave, mouseover, keyup, change, click, etc.\n * @param {HTMLElement} elm\n * @param {String} name\n * @param {*} opts\n */\nexport const triggerEvent = function (\n elm: HTMLElement,\n name: string,\n ...opts: Array<boolean>\n): HTMLElement {\n let eventName: string\n\n if (name.includes('mouse') || name.includes('click')) {\n eventName = 'MouseEvents'\n } else if (name.includes('key')) {\n eventName = 'KeyboardEvent'\n } else {\n eventName = 'HTMLEvents'\n }\n const evt = document.createEvent(eventName)\n\n evt.initEvent(name, ...opts)\n elm.dispatchEvent(evt)\n return elm\n}\n\nexport const isLeaf = (el: HTMLElement) => !el.getAttribute('aria-owns')\n\nexport const getSibling = (\n el: HTMLElement,\n distance: number,\n elClass: string\n): Nullable<Element> => {\n const { parentNode } = el\n if (!parentNode) return null\n const siblings = parentNode.querySelectorAll(elClass)\n const index = Array.prototype.indexOf.call(siblings, el)\n return siblings[index + distance] || null\n}\n\nexport const focusNode = (el) => {\n if (!el) return\n el.focus()\n !isLeaf(el) && el.click()\n}\n\nconst Utils = {\n IgnoreUtilFocusChanges: false,\n /**\n * @desc Set focus on descendant nodes until the first focusable element is\n * found.\n * @param {HTMLElement} element\n * DOM node for which to find the first focusable descendant.\n * @returns {Boolean}\n * true if a focusable element is found and focus is set.\n */\n focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i] as HTMLElement\n if (attemptFocus(child) || this.focusFirstDescendant(child)) {\n return true\n }\n }\n return false\n },\n /**\n * @desc Find the last descendant node that is focusable.\n * @param {HTMLElement} element\n * DOM node for which to find the last focusable descendant.\n * @returns {Boolean}\n * true if a focusable element is found and focus is set.\n */\n focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i] as HTMLElement\n if (attemptFocus(child) || this.focusLastDescendant(child)) {\n return true\n }\n }\n return false\n },\n}\n\nexport default Utils\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aria.mjs","sources":["../../../../packages/utils/aria.ts"],"sourcesContent":["import type { Nullable } from '@element-plus/utils/types'\nexport const EVENT_CODE = {\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n left: 'ArrowLeft', // 37\n up: 'ArrowUp', // 38\n right: 'ArrowRight', // 39\n down: 'ArrowDown', // 40\n esc: 'Escape',\n delete: 'Delete',\n backspace: 'Backspace',\n numpadEnter: 'NumpadEnter',\n pageUp: 'PageUp',\n pageDown: 'PageDown',\n home: 'Home',\n end: 'End',\n}\n\nconst FOCUSABLE_ELEMENT_SELECTORS = `a[href],button:not([disabled]),button:not([hidden]),:not([tabindex=\"-1\"]),input:not([disabled]),input:not([type=\"hidden\"]),select:not([disabled]),textarea:not([disabled])`\n\n/**\n * Determine if the testing element is visible on screen no matter if its on the viewport or not\n */\nexport const isVisible = (element: HTMLElement) => {\n if (process.env.NODE_ENV === 'test') return true\n const computed = getComputedStyle(element)\n // element.offsetParent won't work on fix positioned\n // WARNING: potential issue here, going to need some expert advices on this issue\n return computed.position === 'fixed' ? false : element.offsetParent !== null\n}\n\nexport const obtainAllFocusableElements = (\n element: HTMLElement\n): HTMLElement[] => {\n return Array.from(\n element.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENT_SELECTORS)\n ).filter((item: HTMLElement) => isFocusable(item) && isVisible(item))\n}\n\n/**\n * @desc Determine if target element is focusable\n * @param element {HTMLElement}\n * @returns {Boolean} true if it is focusable\n */\nexport const isFocusable = (element: HTMLElement): boolean => {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n // HTMLButtonElement has disabled\n if ((element as HTMLButtonElement).disabled) {\n return false\n }\n\n switch (element.nodeName) {\n case 'A': {\n // casting current element to Specific HTMLElement in order to be more type precise\n return (\n !!(element as HTMLAnchorElement).href &&\n (element as HTMLAnchorElement).rel !== 'ignore'\n )\n }\n case 'INPUT': {\n return !(\n (element as HTMLInputElement).type === 'hidden' ||\n (element as HTMLInputElement).type === 'file'\n )\n }\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA': {\n return true\n }\n default: {\n return false\n }\n }\n}\n\n/**\n * @desc Set Attempt to set focus on the current node.\n * @param element\n * The node to attempt to focus on.\n * @returns\n * true if element is focused.\n */\nexport const attemptFocus = (element: HTMLElement): boolean => {\n if (!isFocusable(element)) {\n return false\n }\n Utils.IgnoreUtilFocusChanges = true\n // Remove the old try catch block since there will be no error to be thrown\n element.focus?.()\n Utils.IgnoreUtilFocusChanges = false\n return document.activeElement === element\n}\n\n/**\n * Trigger an event\n * mouseenter, mouseleave, mouseover, keyup, change, click, etc.\n * @param {HTMLElement} elm\n * @param {String} name\n * @param {*} opts\n */\nexport const triggerEvent = function (\n elm: HTMLElement,\n name: string,\n ...opts: Array<boolean>\n): HTMLElement {\n let eventName: string\n\n if (name.includes('mouse') || name.includes('click')) {\n eventName = 'MouseEvents'\n } else if (name.includes('key')) {\n eventName = 'KeyboardEvent'\n } else {\n eventName = 'HTMLEvents'\n }\n const evt = document.createEvent(eventName)\n\n evt.initEvent(name, ...opts)\n elm.dispatchEvent(evt)\n return elm\n}\n\nexport const isLeaf = (el: HTMLElement) => !el.getAttribute('aria-owns')\n\nexport const getSibling = (\n el: HTMLElement,\n distance: number,\n elClass: string\n): Nullable<Element> => {\n const { parentNode } = el\n if (!parentNode) return null\n const siblings = parentNode.querySelectorAll(elClass)\n const index = Array.prototype.indexOf.call(siblings, el)\n return siblings[index + distance] || null\n}\n\nexport const focusNode = (el) => {\n if (!el) return\n el.focus()\n !isLeaf(el) && el.click()\n}\n\nconst Utils = {\n IgnoreUtilFocusChanges: false,\n /**\n * @desc Set focus on descendant nodes until the first focusable element is\n * found.\n * @param {HTMLElement} element\n * DOM node for which to find the first focusable descendant.\n * @returns {Boolean}\n * true if a focusable element is found and focus is set.\n */\n focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i] as HTMLElement\n if (attemptFocus(child) || this.focusFirstDescendant(child)) {\n return true\n }\n }\n return false\n },\n /**\n * @desc Find the last descendant node that is focusable.\n * @param {HTMLElement} element\n * DOM node for which to find the last focusable descendant.\n * @returns {Boolean}\n * true if a focusable element is found and focus is set.\n */\n focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i] as HTMLElement\n if (attemptFocus(child) || this.focusLastDescendant(child)) {\n return true\n }\n }\n return false\n },\n}\n\nexport default Utils\n"],"names":[],"mappings":"AAAY,MAAC,UAAU,GAAG;AAC1B,EAAE,GAAG,EAAE,KAAK;AACZ,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,EAAE,EAAE,SAAS;AACf,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,GAAG,EAAE,QAAQ;AACf,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,SAAS,EAAE,WAAW;AACxB,EAAE,WAAW,EAAE,aAAa;AAC5B,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,GAAG,EAAE,KAAK;AACZ,EAAE;AACF,MAAM,2BAA2B,GAAG,CAAC,0KAA0K,CAAC,CAAC;AACrM,MAAC,SAAS,GAAG,CAAC,OAAO,KAAK;AACtC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;AACrC,IAAI,OAAO,IAAI,CAAC;AAChB,EAAE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC7C,EAAE,OAAO,QAAQ,CAAC,QAAQ,KAAK,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;AAC/E,EAAE;AACU,MAAC,0BAA0B,GAAG,CAAC,OAAO,KAAK;AACvD,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAClI,EAAE;AACU,MAAC,WAAW,GAAG,CAAC,OAAO,KAAK;AACxC,EAAE,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;AACnG,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,OAAO,CAAC,QAAQ,EAAE;AACxB,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,QAAQ,OAAO,CAAC,QAAQ;AAC1B,IAAI,KAAK,GAAG,EAAE;AACd,MAAM,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC;AACxD,KAAK;AACL,IAAI,KAAK,OAAO,EAAE;AAClB,MAAM,OAAO,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AACrE,KAAK;AACL,IAAI,KAAK,QAAQ,CAAC;AAClB,IAAI,KAAK,QAAQ,CAAC;AAClB,IAAI,KAAK,UAAU,EAAE;AACrB,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,SAAS;AACb,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,GAAG;AACH,EAAE;AACU,MAAC,YAAY,GAAG,CAAC,OAAO,KAAK;AACzC,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;AAC7B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACtC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3D,EAAE,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC;AACvC,EAAE,OAAO,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC;AAC5C,EAAE;AACU,MAAC,YAAY,GAAG,SAAS,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;AACzD,EAAE,IAAI,SAAS,CAAC;AAChB,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACxD,IAAI,SAAS,GAAG,aAAa,CAAC;AAC9B,GAAG,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACnC,IAAI,SAAS,GAAG,eAAe,CAAC;AAChC,GAAG,MAAM;AACT,IAAI,SAAS,GAAG,YAAY,CAAC;AAC7B,GAAG;AACH,EAAE,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC9C,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAC/B,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzB,EAAE,OAAO,GAAG,CAAC;AACb,EAAE;AACU,MAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE;AAChD,MAAC,UAAU,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,KAAK;AACrD,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC5B,EAAE,IAAI,CAAC,UAAU;AACjB,IAAI,OAAO,IAAI,CAAC;AAChB,EAAE,MAAM,QAAQ,GAAG,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACxD,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3D,EAAE,OAAO,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC;AAC5C,EAAE;AACU,MAAC,SAAS,GAAG,CAAC,EAAE,KAAK;AACjC,EAAE,IAAI,CAAC,EAAE;AACT,IAAI,OAAO;AACX,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;AACb,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;AAC5B,EAAE;AACG,MAAC,KAAK,GAAG;AACd,EAAE,sBAAsB,EAAE,KAAK;AAC/B,EAAE,oBAAoB,CAAC,OAAO,EAAE;AAChC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxD,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;AACnE,QAAQ,OAAO,IAAI,CAAC;AACpB,OAAO;AACP,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,mBAAmB,CAAC,OAAO,EAAE;AAC/B,IAAI,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7D,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;AAClE,QAAQ,OAAO,IAAI,CAAC;AACpB,OAAO;AACP,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;;;;"}
package/es/utils/dom.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { CSSProperties } from 'vue';
1
+ import type { CSSProperties, ComponentPublicInstance, Ref } from 'vue';
2
2
  import type { Nullable } from './types';
3
3
  export declare const on: (element: HTMLElement | Document | Window, event: string, handler: EventListenerOrEventListenerObject, useCapture?: boolean) => void;
4
4
  export declare const off: (element: HTMLElement | Document | Window, event: string, handler: EventListenerOrEventListenerObject, useCapture?: boolean) => void;
@@ -19,3 +19,11 @@ export declare const getClientXY: (event: MouseEvent | TouchEvent) => {
19
19
  clientX: number;
20
20
  clientY: number;
21
21
  };
22
+ export declare const composeEventHandlers: <E>(theirsHandler?: ((event: E) => boolean | void) | undefined, oursHandler?: ((event: E) => void) | undefined, { checkForDefaultPrevented }?: {
23
+ checkForDefaultPrevented?: boolean | undefined;
24
+ }) => (event: E) => void;
25
+ declare type WhenMouseHandler = (e: PointerEvent) => any;
26
+ export declare const whenMouse: (handler: WhenMouseHandler) => WhenMouseHandler;
27
+ export declare const composeStoppableHandler: <E extends Event>(handler: (e: E) => void) => (e: E) => void;
28
+ export declare const composeRefs: (...refs: Ref<HTMLElement | null>[]) => (el: Element | ComponentPublicInstance | null) => void;
29
+ export {};
package/es/utils/dom.mjs CHANGED
@@ -177,6 +177,32 @@ const getClientXY = (event) => {
177
177
  clientY
178
178
  };
179
179
  };
180
+ const composeEventHandlers = (theirsHandler, oursHandler, { checkForDefaultPrevented = true } = {}) => {
181
+ const handleEvent = (event) => {
182
+ const shouldPrevent = theirsHandler == null ? void 0 : theirsHandler(event);
183
+ if (checkForDefaultPrevented === false || !shouldPrevent) {
184
+ return oursHandler == null ? void 0 : oursHandler(event);
185
+ }
186
+ };
187
+ return handleEvent;
188
+ };
189
+ const whenMouse = (handler) => {
190
+ return (e) => e.pointerType === "mouse" ? handler(e) : void 0;
191
+ };
192
+ const composeStoppableHandler = (handler) => {
193
+ return (e) => {
194
+ if (!e.defaultPrevented) {
195
+ handler(e);
196
+ }
197
+ };
198
+ };
199
+ const composeRefs = (...refs) => {
200
+ return (el) => {
201
+ refs.forEach((ref) => {
202
+ ref.value = el;
203
+ });
204
+ };
205
+ };
180
206
 
181
- export { addClass, getClientXY, getOffsetTop, getOffsetTopDistance, getScrollContainer, getStyle, hasClass, isInContainer, isScroll, off, on, once, removeClass, removeStyle, setStyle, stop };
207
+ export { addClass, composeEventHandlers, composeRefs, composeStoppableHandler, getClientXY, getOffsetTop, getOffsetTopDistance, getScrollContainer, getStyle, hasClass, isInContainer, isScroll, off, on, once, removeClass, removeStyle, setStyle, stop, whenMouse };
182
208
  //# sourceMappingURL=dom.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.mjs","sources":["../../../../packages/utils/dom.ts"],"sourcesContent":["import { isClient } from '@vueuse/core'\nimport { camelize, isObject } from './util'\nimport type { CSSProperties } from 'vue'\n\nimport type { Nullable } from './types'\n\n/* istanbul ignore next */\nconst trimArr = function (s: string) {\n return (s || '').split(' ').filter((item) => !!item.trim())\n}\n\n/* istanbul ignore next */\nexport const on = function (\n element: HTMLElement | Document | Window,\n event: string,\n handler: EventListenerOrEventListenerObject,\n useCapture = false\n): void {\n if (element && event && handler) {\n element?.addEventListener(event, handler, useCapture)\n }\n}\n\n/* istanbul ignore next */\nexport const off = function (\n element: HTMLElement | Document | Window,\n event: string,\n handler: EventListenerOrEventListenerObject,\n useCapture = false\n): void {\n if (element && event && handler) {\n element?.removeEventListener(event, handler, useCapture)\n }\n}\n\n/* istanbul ignore next */\nexport const once = function (\n el: HTMLElement,\n event: string,\n fn: EventListener\n): void {\n const listener = function (this: any, ...args: any) {\n if (fn) {\n fn.apply(this, args)\n }\n off(el, event, listener)\n }\n on(el, event, listener)\n}\n\n/* istanbul ignore next */\nexport function hasClass(el: HTMLElement | Element, cls: string): boolean {\n if (!el || !cls) return false\n if (cls.indexOf(' ') !== -1)\n throw new Error('className should not contain space.')\n if (el.classList) {\n return el.classList.contains(cls)\n } else {\n const className = el.getAttribute('class') || ''\n return className.split(' ').includes(cls)\n }\n}\n\n/* istanbul ignore next */\nexport function addClass(el: HTMLElement | Element, cls: string): void {\n if (!el) return\n let className = el.getAttribute('class') || ''\n const curClass = trimArr(className)\n const classes = (cls || '')\n .split(' ')\n .filter((item) => !curClass.includes(item) && !!item.trim())\n\n if (el.classList) {\n el.classList.add(...classes)\n } else {\n className += ` ${classes.join(' ')}`\n el.setAttribute('class', className)\n }\n}\n\n/* istanbul ignore next */\nexport function removeClass(el: HTMLElement | Element, cls: string): void {\n if (!el || !cls) return\n const classes = trimArr(cls)\n let curClass = el.getAttribute('class') || ''\n\n if (el.classList) {\n el.classList.remove(...classes)\n return\n }\n classes.forEach((item) => {\n curClass = curClass.replace(` ${item} `, ' ')\n })\n const className = trimArr(curClass).join(' ')\n el.setAttribute('class', className)\n}\n\n/* istanbul ignore next */\n// Here I want to use the type CSSProperties, but the definition for CSSProperties\n// has { [index: number]: string } in its type annotation, which does not satisfy the method\n// camelize(s: string)\n// Same as the return type\nexport const getStyle = function (\n element: HTMLElement,\n styleName: string\n): string {\n if (!isClient) return ''\n if (!element || !styleName) return ''\n styleName = camelize(styleName)\n if (styleName === 'float') {\n styleName = 'cssFloat'\n }\n try {\n const style = element.style[styleName]\n if (style) return style\n const computed = document.defaultView?.getComputedStyle(element, '')\n return computed ? computed[styleName] : ''\n } catch (e) {\n return element.style[styleName]\n }\n}\n\n/* istanbul ignore next */\nexport function setStyle(\n element: HTMLElement,\n styleName: CSSProperties | string,\n value?: string\n): void {\n if (!element || !styleName) return\n\n if (isObject(styleName)) {\n Object.keys(styleName).forEach((prop) => {\n setStyle(element, prop, styleName[prop])\n })\n } else {\n styleName = camelize(styleName)\n element.style[styleName] = value\n }\n}\n\nexport function removeStyle(\n element: HTMLElement,\n style: CSSProperties | string\n) {\n if (!element || !style) return\n\n if (isObject(style)) {\n Object.keys(style).forEach((prop) => {\n setStyle(element, prop, '')\n })\n } else {\n setStyle(element, style, '')\n }\n}\n\nexport const isScroll = (\n el: HTMLElement,\n isVertical?: Nullable<boolean>\n): RegExpMatchArray | null => {\n if (!isClient) return null\n const determinedDirection = isVertical === null || isVertical === undefined\n const overflow = determinedDirection\n ? getStyle(el, 'overflow')\n : isVertical\n ? getStyle(el, 'overflow-y')\n : getStyle(el, 'overflow-x')\n\n return overflow.match(/(scroll|auto|overlay)/)\n}\n\nexport const getScrollContainer = (\n el: HTMLElement,\n isVertical?: Nullable<boolean>\n): Window | HTMLElement | undefined => {\n if (!isClient) return\n\n let parent: HTMLElement = el\n while (parent) {\n if ([window, document, document.documentElement].includes(parent)) {\n return window\n }\n if (isScroll(parent, isVertical)) {\n return parent\n }\n parent = parent.parentNode as HTMLElement\n }\n return parent\n}\n\nexport const isInContainer = (\n el: Element | undefined,\n container: Element | Window | undefined\n): boolean => {\n if (!isClient || !el || !container) return false\n\n const elRect = el.getBoundingClientRect()\n\n let containerRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'right'>\n if (container instanceof Element) {\n containerRect = container.getBoundingClientRect()\n } else {\n containerRect = {\n top: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n left: 0,\n }\n }\n return (\n elRect.top < containerRect.bottom &&\n elRect.bottom > containerRect.top &&\n elRect.right > containerRect.left &&\n elRect.left < containerRect.right\n )\n}\n\nexport const getOffsetTop = (el: HTMLElement) => {\n let offset = 0\n let parent = el\n\n while (parent) {\n offset += parent.offsetTop\n parent = parent.offsetParent as HTMLElement\n }\n\n return offset\n}\n\nexport const getOffsetTopDistance = (\n el: HTMLElement,\n containerEl: HTMLElement\n) => {\n return Math.abs(getOffsetTop(el) - getOffsetTop(containerEl))\n}\n\nexport const stop = (e: Event) => e.stopPropagation()\n\nexport const getClientXY = (event: MouseEvent | TouchEvent) => {\n let clientX: number\n let clientY: number\n if (event.type === 'touchend') {\n clientY = (event as TouchEvent).changedTouches[0].clientY\n clientX = (event as TouchEvent).changedTouches[0].clientX\n } else if (event.type.startsWith('touch')) {\n clientY = (event as TouchEvent).touches[0].clientY\n clientX = (event as TouchEvent).touches[0].clientX\n } else {\n clientY = (event as MouseEvent).clientY\n clientX = (event as MouseEvent).clientX\n }\n return {\n clientX,\n clientY,\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom.mjs","sources":["../../../../packages/utils/dom.ts"],"sourcesContent":["import { isClient } from '@vueuse/core'\nimport { camelize, isObject } from './util'\nimport type { CSSProperties, ComponentPublicInstance, Ref } from 'vue'\n\nimport type { Nullable } from './types'\n\n/* istanbul ignore next */\nconst trimArr = function (s: string) {\n return (s || '').split(' ').filter((item) => !!item.trim())\n}\n\n/* istanbul ignore next */\nexport const on = function (\n element: HTMLElement | Document | Window,\n event: string,\n handler: EventListenerOrEventListenerObject,\n useCapture = false\n): void {\n if (element && event && handler) {\n element?.addEventListener(event, handler, useCapture)\n }\n}\n\n/* istanbul ignore next */\nexport const off = function (\n element: HTMLElement | Document | Window,\n event: string,\n handler: EventListenerOrEventListenerObject,\n useCapture = false\n): void {\n if (element && event && handler) {\n element?.removeEventListener(event, handler, useCapture)\n }\n}\n\n/* istanbul ignore next */\nexport const once = function (\n el: HTMLElement,\n event: string,\n fn: EventListener\n): void {\n const listener = function (this: any, ...args: any) {\n if (fn) {\n fn.apply(this, args)\n }\n off(el, event, listener)\n }\n on(el, event, listener)\n}\n\n/* istanbul ignore next */\nexport function hasClass(el: HTMLElement | Element, cls: string): boolean {\n if (!el || !cls) return false\n if (cls.indexOf(' ') !== -1)\n throw new Error('className should not contain space.')\n if (el.classList) {\n return el.classList.contains(cls)\n } else {\n const className = el.getAttribute('class') || ''\n return className.split(' ').includes(cls)\n }\n}\n\n/* istanbul ignore next */\nexport function addClass(el: HTMLElement | Element, cls: string): void {\n if (!el) return\n let className = el.getAttribute('class') || ''\n const curClass = trimArr(className)\n const classes = (cls || '')\n .split(' ')\n .filter((item) => !curClass.includes(item) && !!item.trim())\n\n if (el.classList) {\n el.classList.add(...classes)\n } else {\n className += ` ${classes.join(' ')}`\n el.setAttribute('class', className)\n }\n}\n\n/* istanbul ignore next */\nexport function removeClass(el: HTMLElement | Element, cls: string): void {\n if (!el || !cls) return\n const classes = trimArr(cls)\n let curClass = el.getAttribute('class') || ''\n\n if (el.classList) {\n el.classList.remove(...classes)\n return\n }\n classes.forEach((item) => {\n curClass = curClass.replace(` ${item} `, ' ')\n })\n const className = trimArr(curClass).join(' ')\n el.setAttribute('class', className)\n}\n\n/* istanbul ignore next */\n// Here I want to use the type CSSProperties, but the definition for CSSProperties\n// has { [index: number]: string } in its type annotation, which does not satisfy the method\n// camelize(s: string)\n// Same as the return type\nexport const getStyle = function (\n element: HTMLElement,\n styleName: string\n): string {\n if (!isClient) return ''\n if (!element || !styleName) return ''\n styleName = camelize(styleName)\n if (styleName === 'float') {\n styleName = 'cssFloat'\n }\n try {\n const style = element.style[styleName]\n if (style) return style\n const computed = document.defaultView?.getComputedStyle(element, '')\n return computed ? computed[styleName] : ''\n } catch (e) {\n return element.style[styleName]\n }\n}\n\n/* istanbul ignore next */\nexport function setStyle(\n element: HTMLElement,\n styleName: CSSProperties | string,\n value?: string\n): void {\n if (!element || !styleName) return\n\n if (isObject(styleName)) {\n Object.keys(styleName).forEach((prop) => {\n setStyle(element, prop, styleName[prop])\n })\n } else {\n styleName = camelize(styleName)\n element.style[styleName] = value\n }\n}\n\nexport function removeStyle(\n element: HTMLElement,\n style: CSSProperties | string\n) {\n if (!element || !style) return\n\n if (isObject(style)) {\n Object.keys(style).forEach((prop) => {\n setStyle(element, prop, '')\n })\n } else {\n setStyle(element, style, '')\n }\n}\n\nexport const isScroll = (\n el: HTMLElement,\n isVertical?: Nullable<boolean>\n): RegExpMatchArray | null => {\n if (!isClient) return null\n const determinedDirection = isVertical === null || isVertical === undefined\n const overflow = determinedDirection\n ? getStyle(el, 'overflow')\n : isVertical\n ? getStyle(el, 'overflow-y')\n : getStyle(el, 'overflow-x')\n\n return overflow.match(/(scroll|auto|overlay)/)\n}\n\nexport const getScrollContainer = (\n el: HTMLElement,\n isVertical?: Nullable<boolean>\n): Window | HTMLElement | undefined => {\n if (!isClient) return\n\n let parent: HTMLElement = el\n while (parent) {\n if ([window, document, document.documentElement].includes(parent)) {\n return window\n }\n if (isScroll(parent, isVertical)) {\n return parent\n }\n parent = parent.parentNode as HTMLElement\n }\n return parent\n}\n\nexport const isInContainer = (\n el: Element | undefined,\n container: Element | Window | undefined\n): boolean => {\n if (!isClient || !el || !container) return false\n\n const elRect = el.getBoundingClientRect()\n\n let containerRect: Pick<DOMRect, 'top' | 'bottom' | 'left' | 'right'>\n if (container instanceof Element) {\n containerRect = container.getBoundingClientRect()\n } else {\n containerRect = {\n top: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n left: 0,\n }\n }\n return (\n elRect.top < containerRect.bottom &&\n elRect.bottom > containerRect.top &&\n elRect.right > containerRect.left &&\n elRect.left < containerRect.right\n )\n}\n\nexport const getOffsetTop = (el: HTMLElement) => {\n let offset = 0\n let parent = el\n\n while (parent) {\n offset += parent.offsetTop\n parent = parent.offsetParent as HTMLElement\n }\n\n return offset\n}\n\nexport const getOffsetTopDistance = (\n el: HTMLElement,\n containerEl: HTMLElement\n) => {\n return Math.abs(getOffsetTop(el) - getOffsetTop(containerEl))\n}\n\nexport const stop = (e: Event) => e.stopPropagation()\n\nexport const getClientXY = (event: MouseEvent | TouchEvent) => {\n let clientX: number\n let clientY: number\n if (event.type === 'touchend') {\n clientY = (event as TouchEvent).changedTouches[0].clientY\n clientX = (event as TouchEvent).changedTouches[0].clientX\n } else if (event.type.startsWith('touch')) {\n clientY = (event as TouchEvent).touches[0].clientY\n clientX = (event as TouchEvent).touches[0].clientX\n } else {\n clientY = (event as MouseEvent).clientY\n clientX = (event as MouseEvent).clientX\n }\n return {\n clientX,\n clientY,\n }\n}\n\nexport const composeEventHandlers = <E>(\n theirsHandler?: (event: E) => boolean | void,\n oursHandler?: (event: E) => void,\n { checkForDefaultPrevented = true } = {}\n) => {\n const handleEvent = (event: E) => {\n const shouldPrevent = theirsHandler?.(event)\n\n if (checkForDefaultPrevented === false || !shouldPrevent) {\n return oursHandler?.(event)\n }\n }\n return handleEvent\n}\n\ntype WhenMouseHandler = (e: PointerEvent) => any\n\nexport const whenMouse = (handler: WhenMouseHandler): WhenMouseHandler => {\n return (e: PointerEvent) =>\n e.pointerType === 'mouse' ? handler(e) : undefined\n}\n\nexport const composeStoppableHandler = <E extends Event>(\n handler: (e: E) => void\n) => {\n return (e: E) => {\n if (!e.defaultPrevented) {\n handler(e)\n }\n }\n}\n\nexport const composeRefs = (...refs: Ref<HTMLElement | null>[]) => {\n return (el: Element | ComponentPublicInstance | null) => {\n refs.forEach((ref) => {\n ref.value = el as HTMLElement | null\n })\n }\n}\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ declare const wrapperKey: unique symbol;
4
4
  export declare type PropWrapper<T> = {
5
5
  [wrapperKey]: T;
6
6
  };
7
- export declare const propKey: unique symbol;
7
+ export declare const propKey = "__elPropsReservedKey";
8
8
  declare type ResolveProp<T> = ExtractPropTypes<{
9
9
  key: {
10
10
  type: T;
@@ -66,7 +66,7 @@ declare type NativePropType = [
66
66
  } | undefined | null
67
67
  ];
68
68
  export declare const buildProps: <O extends { [K in keyof O]: O[K] extends BuildPropReturn<any, any, any, any, any> ? O[K] : [O[K]] extends NativePropType ? O[K] : O[K] extends BuildPropOption<infer T, infer D, infer R, infer V, infer C> ? D extends BuildPropType<T, V, C> ? BuildPropOption<T, D, R, V, C> : never : never; }>(props: O) => { [K_1 in keyof O]: O[K_1] extends {
69
- [propKey]: boolean;
69
+ __elPropsReservedKey: boolean;
70
70
  } ? O[K_1] : [O[K_1]] extends NativePropType ? O[K_1] : O[K_1] extends BuildPropOption<infer T_1, infer _D, infer R_1, infer V_1, infer C_1> ? BuildPropReturn<T_1, O[K_1]["default"], R_1, V_1, C_1> : never; };
71
71
  export declare const definePropType: <T>(val: any) => PropWrapper<T>;
72
72
  export declare const keyOf: <T>(arr: T) => (keyof T)[];
@@ -3,7 +3,7 @@ import { isObject } from '@vue/shared';
3
3
  import fromPairs from 'lodash/fromPairs';
4
4
 
5
5
  const wrapperKey = Symbol();
6
- const propKey = Symbol();
6
+ const propKey = "__elPropsReservedKey";
7
7
  function buildProp(option, key) {
8
8
  if (!isObject(option) || !!option[propKey])
9
9
  return option;
@@ -1 +1 @@
1
- {"version":3,"file":"props.mjs","sources":["../../../../packages/utils/props.ts"],"sourcesContent":["import { warn } from 'vue'\nimport { isObject } from '@vue/shared'\nimport fromPairs from 'lodash/fromPairs'\nimport type { ExtractPropTypes, PropType } from '@vue/runtime-core'\nimport type { Mutable } from './types'\n\nconst wrapperKey = Symbol()\nexport type PropWrapper<T> = { [wrapperKey]: T }\n\nexport const propKey = Symbol()\n\ntype ResolveProp<T> = ExtractPropTypes<{\n key: { type: T; required: true }\n}>['key']\ntype ResolvePropType<T> = ResolveProp<T> extends { type: infer V }\n ? V\n : ResolveProp<T>\ntype ResolvePropTypeWithReadonly<T> = Readonly<T> extends Readonly<\n Array<infer A>\n>\n ? ResolvePropType<A[]>\n : ResolvePropType<T>\n\ntype IfUnknown<T, V> = [unknown] extends [T] ? V : T\n\nexport type BuildPropOption<T, D extends BuildPropType<T, V, C>, R, V, C> = {\n type?: T\n values?: readonly V[]\n required?: R\n default?: R extends true\n ? never\n : D extends Record<string, unknown> | Array<any>\n ? () => D\n : (() => D) | D\n validator?: ((val: any) => val is C) | ((val: any) => boolean)\n}\n\ntype _BuildPropType<T, V, C> =\n | (T extends PropWrapper<unknown>\n ? T[typeof wrapperKey]\n : [V] extends [never]\n ? ResolvePropTypeWithReadonly<T>\n : never)\n | V\n | C\nexport type BuildPropType<T, V, C> = _BuildPropType<\n IfUnknown<T, never>,\n IfUnknown<V, never>,\n IfUnknown<C, never>\n>\n\ntype _BuildPropDefault<T, D> = [T] extends [\n // eslint-disable-next-line @typescript-eslint/ban-types\n Record<string, unknown> | Array<any> | Function\n]\n ? D\n : D extends () => T\n ? ReturnType<D>\n : D\n\nexport type BuildPropDefault<T, D, R> = R extends true\n ? { readonly default?: undefined }\n : {\n readonly default: Exclude<D, undefined> extends never\n ? undefined\n : Exclude<_BuildPropDefault<T, D>, undefined>\n }\nexport type BuildPropReturn<T, D, R, V, C> = {\n readonly type: PropType<BuildPropType<T, V, C>>\n readonly required: IfUnknown<R, false>\n readonly validator: ((val: unknown) => boolean) | undefined\n [propKey]: true\n} & BuildPropDefault<\n BuildPropType<T, V, C>,\n IfUnknown<D, never>,\n IfUnknown<R, false>\n>\n\n/**\n * @description Build prop. It can better optimize prop types\n * @description 生成 prop,能更好地优化类型\n * @example\n // limited options\n // the type will be PropType<'light' | 'dark'>\n buildProp({\n type: String,\n values: ['light', 'dark'],\n } as const)\n * @example\n // limited options and other types\n // the type will be PropType<'small' | 'large' | number>\n buildProp({\n type: [String, Number],\n values: ['small', 'large'],\n validator: (val: unknown): val is number => typeof val === 'number',\n } as const)\n @link see more: https://github.com/element-plus/element-plus/pull/3341\n */\nexport function buildProp<\n T = never,\n D extends BuildPropType<T, V, C> = never,\n R extends boolean = false,\n V = never,\n C = never\n>(\n option: BuildPropOption<T, D, R, V, C>,\n key?: string\n): BuildPropReturn<T, D, R, V, C> {\n // filter native prop type and nested prop, e.g `null`, `undefined` (from `buildProps`)\n if (!isObject(option) || !!option[propKey]) return option as any\n\n const { values, required, default: defaultValue, type, validator } = option\n\n const _validator =\n values || validator\n ? (val: unknown) => {\n let valid = false\n let allowedValues: unknown[] = []\n\n if (values) {\n allowedValues = [...values, defaultValue]\n valid ||= allowedValues.includes(val)\n }\n if (validator) valid ||= validator(val)\n\n if (!valid && allowedValues.length > 0) {\n const allowValuesText = [...new Set(allowedValues)]\n .map((value) => JSON.stringify(value))\n .join(', ')\n warn(\n `Invalid prop: validation failed${\n key ? ` for prop \"${key}\"` : ''\n }. Expected one of [${allowValuesText}], got value ${JSON.stringify(\n val\n )}.`\n )\n }\n return valid\n }\n : undefined\n\n return {\n type:\n typeof type === 'object' &&\n Object.getOwnPropertySymbols(type).includes(wrapperKey)\n ? type[wrapperKey]\n : type,\n required: !!required,\n default: defaultValue,\n validator: _validator,\n [propKey]: true,\n } as unknown as BuildPropReturn<T, D, R, V, C>\n}\n\ntype NativePropType = [\n ((...args: any) => any) | { new (...args: any): any } | undefined | null\n]\n\nexport const buildProps = <\n O extends {\n [K in keyof O]: O[K] extends BuildPropReturn<any, any, any, any, any>\n ? O[K]\n : [O[K]] extends NativePropType\n ? O[K]\n : O[K] extends BuildPropOption<\n infer T,\n infer D,\n infer R,\n infer V,\n infer C\n >\n ? D extends BuildPropType<T, V, C>\n ? BuildPropOption<T, D, R, V, C>\n : never\n : never\n }\n>(\n props: O\n) =>\n fromPairs(\n Object.entries(props).map(([key, option]) => [\n key,\n buildProp(option as any, key),\n ])\n ) as unknown as {\n [K in keyof O]: O[K] extends { [propKey]: boolean }\n ? O[K]\n : [O[K]] extends NativePropType\n ? O[K]\n : O[K] extends BuildPropOption<\n infer T,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n infer _D,\n infer R,\n infer V,\n infer C\n >\n ? BuildPropReturn<T, O[K]['default'], R, V, C>\n : never\n }\n\nexport const definePropType = <T>(val: any) =>\n ({ [wrapperKey]: val } as PropWrapper<T>)\n\nexport const keyOf = <T>(arr: T) => Object.keys(arr) as Array<keyof T>\nexport const mutable = <T extends readonly any[] | Record<string, unknown>>(\n val: T\n) => val as Mutable<typeof val>\n\nexport const componentSize = ['large', 'default', 'small'] as const\n"],"names":[],"mappings":";;;;AAGA,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;AAChB,MAAC,OAAO,GAAG,MAAM,GAAG;AACzB,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE;AACvC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC5C,IAAI,OAAO,MAAM,CAAC;AAClB,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;AAC9E,EAAE,MAAM,UAAU,GAAG,MAAM,IAAI,SAAS,GAAG,CAAC,GAAG,KAAK;AACpD,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC;AACtB,IAAI,IAAI,aAAa,GAAG,EAAE,CAAC;AAC3B,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC;AAChD,MAAM,KAAK,KAAK,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,KAAK;AACL,IAAI,IAAI,SAAS;AACjB,MAAM,KAAK,KAAK,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,IAAI,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3G,MAAM,IAAI,CAAC,CAAC,+BAA+B,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzJ,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,GAAG,KAAK,CAAC,CAAC;AACb,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI;AACvH,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACxB,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,SAAS,EAAE,UAAU;AACzB,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,GAAG,CAAC;AACJ,CAAC;AACW,MAAC,UAAU,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK;AAC5F,EAAE,GAAG;AACL,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;AACxB,CAAC,CAAC,EAAE;AACQ,MAAC,cAAc,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,UAAU,GAAG,GAAG,EAAE,EAAE;AACnD,MAAC,KAAK,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;AACnC,MAAC,OAAO,GAAG,CAAC,GAAG,KAAK,IAAI;AACxB,MAAC,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO;;;;"}
1
+ {"version":3,"file":"props.mjs","sources":["../../../../packages/utils/props.ts"],"sourcesContent":["import { warn } from 'vue'\nimport { isObject } from '@vue/shared'\nimport fromPairs from 'lodash/fromPairs'\nimport type { ExtractPropTypes, PropType } from '@vue/runtime-core'\nimport type { Mutable } from './types'\n\nconst wrapperKey = Symbol()\nexport type PropWrapper<T> = { [wrapperKey]: T }\n\nexport const propKey = '__elPropsReservedKey'\n\ntype ResolveProp<T> = ExtractPropTypes<{\n key: { type: T; required: true }\n}>['key']\ntype ResolvePropType<T> = ResolveProp<T> extends { type: infer V }\n ? V\n : ResolveProp<T>\ntype ResolvePropTypeWithReadonly<T> = Readonly<T> extends Readonly<\n Array<infer A>\n>\n ? ResolvePropType<A[]>\n : ResolvePropType<T>\n\ntype IfUnknown<T, V> = [unknown] extends [T] ? V : T\n\nexport type BuildPropOption<T, D extends BuildPropType<T, V, C>, R, V, C> = {\n type?: T\n values?: readonly V[]\n required?: R\n default?: R extends true\n ? never\n : D extends Record<string, unknown> | Array<any>\n ? () => D\n : (() => D) | D\n validator?: ((val: any) => val is C) | ((val: any) => boolean)\n}\n\ntype _BuildPropType<T, V, C> =\n | (T extends PropWrapper<unknown>\n ? T[typeof wrapperKey]\n : [V] extends [never]\n ? ResolvePropTypeWithReadonly<T>\n : never)\n | V\n | C\nexport type BuildPropType<T, V, C> = _BuildPropType<\n IfUnknown<T, never>,\n IfUnknown<V, never>,\n IfUnknown<C, never>\n>\n\ntype _BuildPropDefault<T, D> = [T] extends [\n // eslint-disable-next-line @typescript-eslint/ban-types\n Record<string, unknown> | Array<any> | Function\n]\n ? D\n : D extends () => T\n ? ReturnType<D>\n : D\n\nexport type BuildPropDefault<T, D, R> = R extends true\n ? { readonly default?: undefined }\n : {\n readonly default: Exclude<D, undefined> extends never\n ? undefined\n : Exclude<_BuildPropDefault<T, D>, undefined>\n }\nexport type BuildPropReturn<T, D, R, V, C> = {\n readonly type: PropType<BuildPropType<T, V, C>>\n readonly required: IfUnknown<R, false>\n readonly validator: ((val: unknown) => boolean) | undefined\n [propKey]: true\n} & BuildPropDefault<\n BuildPropType<T, V, C>,\n IfUnknown<D, never>,\n IfUnknown<R, false>\n>\n\n/**\n * @description Build prop. It can better optimize prop types\n * @description 生成 prop,能更好地优化类型\n * @example\n // limited options\n // the type will be PropType<'light' | 'dark'>\n buildProp({\n type: String,\n values: ['light', 'dark'],\n } as const)\n * @example\n // limited options and other types\n // the type will be PropType<'small' | 'large' | number>\n buildProp({\n type: [String, Number],\n values: ['small', 'large'],\n validator: (val: unknown): val is number => typeof val === 'number',\n } as const)\n @link see more: https://github.com/element-plus/element-plus/pull/3341\n */\nexport function buildProp<\n T = never,\n D extends BuildPropType<T, V, C> = never,\n R extends boolean = false,\n V = never,\n C = never\n>(\n option: BuildPropOption<T, D, R, V, C>,\n key?: string\n): BuildPropReturn<T, D, R, V, C> {\n // filter native prop type and nested prop, e.g `null`, `undefined` (from `buildProps`)\n if (!isObject(option) || !!option[propKey]) return option as any\n\n const { values, required, default: defaultValue, type, validator } = option\n\n const _validator =\n values || validator\n ? (val: unknown) => {\n let valid = false\n let allowedValues: unknown[] = []\n\n if (values) {\n allowedValues = [...values, defaultValue]\n valid ||= allowedValues.includes(val)\n }\n if (validator) valid ||= validator(val)\n\n if (!valid && allowedValues.length > 0) {\n const allowValuesText = [...new Set(allowedValues)]\n .map((value) => JSON.stringify(value))\n .join(', ')\n warn(\n `Invalid prop: validation failed${\n key ? ` for prop \"${key}\"` : ''\n }. Expected one of [${allowValuesText}], got value ${JSON.stringify(\n val\n )}.`\n )\n }\n return valid\n }\n : undefined\n\n return {\n type:\n typeof type === 'object' &&\n Object.getOwnPropertySymbols(type).includes(wrapperKey)\n ? type[wrapperKey]\n : type,\n required: !!required,\n default: defaultValue,\n validator: _validator,\n [propKey]: true,\n } as unknown as BuildPropReturn<T, D, R, V, C>\n}\n\ntype NativePropType = [\n ((...args: any) => any) | { new (...args: any): any } | undefined | null\n]\n\nexport const buildProps = <\n O extends {\n [K in keyof O]: O[K] extends BuildPropReturn<any, any, any, any, any>\n ? O[K]\n : [O[K]] extends NativePropType\n ? O[K]\n : O[K] extends BuildPropOption<\n infer T,\n infer D,\n infer R,\n infer V,\n infer C\n >\n ? D extends BuildPropType<T, V, C>\n ? BuildPropOption<T, D, R, V, C>\n : never\n : never\n }\n>(\n props: O\n) =>\n fromPairs(\n Object.entries(props).map(([key, option]) => [\n key,\n buildProp(option as any, key),\n ])\n ) as unknown as {\n [K in keyof O]: O[K] extends { [propKey]: boolean }\n ? O[K]\n : [O[K]] extends NativePropType\n ? O[K]\n : O[K] extends BuildPropOption<\n infer T,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n infer _D,\n infer R,\n infer V,\n infer C\n >\n ? BuildPropReturn<T, O[K]['default'], R, V, C>\n : never\n }\n\nexport const definePropType = <T>(val: any) =>\n ({ [wrapperKey]: val } as PropWrapper<T>)\n\nexport const keyOf = <T>(arr: T) => Object.keys(arr) as Array<keyof T>\nexport const mutable = <T extends readonly any[] | Record<string, unknown>>(\n val: T\n) => val as Mutable<typeof val>\n\nexport const componentSize = ['large', 'default', 'small'] as const\n"],"names":[],"mappings":";;;;AAGA,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;AAChB,MAAC,OAAO,GAAG,uBAAuB;AACvC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE;AACvC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC5C,IAAI,OAAO,MAAM,CAAC;AAClB,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;AAC9E,EAAE,MAAM,UAAU,GAAG,MAAM,IAAI,SAAS,GAAG,CAAC,GAAG,KAAK;AACpD,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC;AACtB,IAAI,IAAI,aAAa,GAAG,EAAE,CAAC;AAC3B,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC;AAChD,MAAM,KAAK,KAAK,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,KAAK;AACL,IAAI,IAAI,SAAS;AACjB,MAAM,KAAK,KAAK,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,IAAI,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3G,MAAM,IAAI,CAAC,CAAC,+BAA+B,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzJ,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,GAAG,KAAK,CAAC,CAAC;AACb,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI;AACvH,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACxB,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,SAAS,EAAE,UAAU;AACzB,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,GAAG,CAAC;AACJ,CAAC;AACW,MAAC,UAAU,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK;AAC5F,EAAE,GAAG;AACL,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;AACxB,CAAC,CAAC,EAAE;AACQ,MAAC,cAAc,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,UAAU,GAAG,GAAG,EAAE,EAAE;AACnD,MAAC,KAAK,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;AACnC,MAAC,OAAO,GAAG,CAAC,GAAG,KAAK,IAAI;AACxB,MAAC,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO;;;;"}
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20220102";
1
+ export declare const version = "0.0.20220106";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20220102";
1
+ const version = "0.0.20220106";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20220102'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20220106'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
@@ -46,22 +46,25 @@ declare const _Autocomplete: SFCWithInstall<import("vue").DefineComponent<{
46
46
  default: boolean;
47
47
  };
48
48
  }, {
49
- Effect: typeof import("..").Effect;
50
49
  attrs: import("vue").ComputedRef<Record<string, unknown>>;
51
- suggestions: import("vue").Ref<never[]>;
50
+ suggestions: import("vue").Ref<any[]>;
52
51
  highlightedIndex: import("vue").Ref<number>;
53
52
  dropdownWidth: import("vue").Ref<string>;
54
53
  activated: import("vue").Ref<boolean>;
55
54
  suggestionDisabled: import("vue").Ref<boolean>;
56
55
  loading: import("vue").Ref<boolean>;
57
- inputRef: import("vue").Ref<null>;
58
- regionRef: import("vue").Ref<null>;
56
+ inputRef: import("vue").Ref<{
57
+ inputOrTextarea: HTMLInputElement | HTMLTextAreaElement;
58
+ focus: () => void;
59
+ $el: HTMLElement;
60
+ } | null>;
61
+ regionRef: import("vue").Ref<HTMLElement | null>;
59
62
  popper: import("vue").Ref<null>;
60
63
  id: import("vue").ComputedRef<string>;
61
64
  suggestionVisible: import("vue").ComputedRef<boolean>;
62
65
  suggestionLoading: import("vue").ComputedRef<boolean>;
63
- getData: (queryString: any) => void;
64
- handleInput: (value: any) => void;
66
+ getData: (queryString: string) => void;
67
+ handleInput: (value: string) => void;
65
68
  handleChange: (value: any) => void;
66
69
  handleFocus: (e: any) => void;
67
70
  handleBlur: (e: any) => void;
@@ -70,7 +73,8 @@ declare const _Autocomplete: SFCWithInstall<import("vue").DefineComponent<{
70
73
  close: () => void;
71
74
  focus: () => void;
72
75
  select: (item: any) => void;
73
- highlight: (index: any) => void;
76
+ highlight: (index: number) => void;
77
+ onSuggestionShow: () => void;
74
78
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear")[], "input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
75
79
  valueKey?: unknown;
76
80
  modelValue?: unknown;
@@ -97,10 +101,10 @@ declare const _Autocomplete: SFCWithInstall<import("vue").DefineComponent<{
97
101
  highlightFirstItem: boolean;
98
102
  } & {}> & {
99
103
  onChange?: ((...args: any[]) => any) | undefined;
104
+ onFocus?: ((...args: any[]) => any) | undefined;
105
+ onBlur?: ((...args: any[]) => any) | undefined;
100
106
  onInput?: ((...args: any[]) => any) | undefined;
101
107
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
102
- onBlur?: ((...args: any[]) => any) | undefined;
103
- onFocus?: ((...args: any[]) => any) | undefined;
104
108
  onClear?: ((...args: any[]) => any) | undefined;
105
109
  onSelect?: ((...args: any[]) => any) | undefined;
106
110
  }, {
@@ -164,22 +168,25 @@ export declare const ElAutocomplete: SFCWithInstall<import("vue").DefineComponen
164
168
  default: boolean;
165
169
  };
166
170
  }, {
167
- Effect: typeof import("..").Effect;
168
171
  attrs: import("vue").ComputedRef<Record<string, unknown>>;
169
- suggestions: import("vue").Ref<never[]>;
172
+ suggestions: import("vue").Ref<any[]>;
170
173
  highlightedIndex: import("vue").Ref<number>;
171
174
  dropdownWidth: import("vue").Ref<string>;
172
175
  activated: import("vue").Ref<boolean>;
173
176
  suggestionDisabled: import("vue").Ref<boolean>;
174
177
  loading: import("vue").Ref<boolean>;
175
- inputRef: import("vue").Ref<null>;
176
- regionRef: import("vue").Ref<null>;
178
+ inputRef: import("vue").Ref<{
179
+ inputOrTextarea: HTMLInputElement | HTMLTextAreaElement;
180
+ focus: () => void;
181
+ $el: HTMLElement;
182
+ } | null>;
183
+ regionRef: import("vue").Ref<HTMLElement | null>;
177
184
  popper: import("vue").Ref<null>;
178
185
  id: import("vue").ComputedRef<string>;
179
186
  suggestionVisible: import("vue").ComputedRef<boolean>;
180
187
  suggestionLoading: import("vue").ComputedRef<boolean>;
181
- getData: (queryString: any) => void;
182
- handleInput: (value: any) => void;
188
+ getData: (queryString: string) => void;
189
+ handleInput: (value: string) => void;
183
190
  handleChange: (value: any) => void;
184
191
  handleFocus: (e: any) => void;
185
192
  handleBlur: (e: any) => void;
@@ -188,7 +195,8 @@ export declare const ElAutocomplete: SFCWithInstall<import("vue").DefineComponen
188
195
  close: () => void;
189
196
  focus: () => void;
190
197
  select: (item: any) => void;
191
- highlight: (index: any) => void;
198
+ highlight: (index: number) => void;
199
+ onSuggestionShow: () => void;
192
200
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear")[], "input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
193
201
  valueKey?: unknown;
194
202
  modelValue?: unknown;
@@ -215,10 +223,10 @@ export declare const ElAutocomplete: SFCWithInstall<import("vue").DefineComponen
215
223
  highlightFirstItem: boolean;
216
224
  } & {}> & {
217
225
  onChange?: ((...args: any[]) => any) | undefined;
226
+ onFocus?: ((...args: any[]) => any) | undefined;
227
+ onBlur?: ((...args: any[]) => any) | undefined;
218
228
  onInput?: ((...args: any[]) => any) | undefined;
219
229
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
220
- onBlur?: ((...args: any[]) => any) | undefined;
221
- onFocus?: ((...args: any[]) => any) | undefined;
222
230
  onClear?: ((...args: any[]) => any) | undefined;
223
231
  onSelect?: ((...args: any[]) => any) | undefined;
224
232
  }, {
@@ -1,4 +1,3 @@
1
- import { Effect } from 'element-plus/es/components/popper';
2
1
  import type { Placement } from 'element-plus/es/components/popper';
3
2
  import type { PropType } from 'vue';
4
3
  declare const _default: import("vue").DefineComponent<{
@@ -48,22 +47,25 @@ declare const _default: import("vue").DefineComponent<{
48
47
  default: boolean;
49
48
  };
50
49
  }, {
51
- Effect: typeof Effect;
52
50
  attrs: import("vue").ComputedRef<Record<string, unknown>>;
53
- suggestions: import("vue").Ref<never[]>;
51
+ suggestions: import("vue").Ref<any[]>;
54
52
  highlightedIndex: import("vue").Ref<number>;
55
53
  dropdownWidth: import("vue").Ref<string>;
56
54
  activated: import("vue").Ref<boolean>;
57
55
  suggestionDisabled: import("vue").Ref<boolean>;
58
56
  loading: import("vue").Ref<boolean>;
59
- inputRef: import("vue").Ref<null>;
60
- regionRef: import("vue").Ref<null>;
57
+ inputRef: import("vue").Ref<{
58
+ inputOrTextarea: HTMLInputElement | HTMLTextAreaElement;
59
+ focus: () => void;
60
+ $el: HTMLElement;
61
+ } | null>;
62
+ regionRef: import("vue").Ref<HTMLElement | null>;
61
63
  popper: import("vue").Ref<null>;
62
64
  id: import("vue").ComputedRef<string>;
63
65
  suggestionVisible: import("vue").ComputedRef<boolean>;
64
66
  suggestionLoading: import("vue").ComputedRef<boolean>;
65
- getData: (queryString: any) => void;
66
- handleInput: (value: any) => void;
67
+ getData: (queryString: string) => void;
68
+ handleInput: (value: string) => void;
67
69
  handleChange: (value: any) => void;
68
70
  handleFocus: (e: any) => void;
69
71
  handleBlur: (e: any) => void;
@@ -72,7 +74,8 @@ declare const _default: import("vue").DefineComponent<{
72
74
  close: () => void;
73
75
  focus: () => void;
74
76
  select: (item: any) => void;
75
- highlight: (index: any) => void;
77
+ highlight: (index: number) => void;
78
+ onSuggestionShow: () => void;
76
79
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear")[], "input" | "select" | "update:modelValue" | "change" | "blur" | "focus" | "clear", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
77
80
  valueKey?: unknown;
78
81
  modelValue?: unknown;
@@ -99,10 +102,10 @@ declare const _default: import("vue").DefineComponent<{
99
102
  highlightFirstItem: boolean;
100
103
  } & {}> & {
101
104
  onChange?: ((...args: any[]) => any) | undefined;
105
+ onFocus?: ((...args: any[]) => any) | undefined;
106
+ onBlur?: ((...args: any[]) => any) | undefined;
102
107
  onInput?: ((...args: any[]) => any) | undefined;
103
108
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
104
- onBlur?: ((...args: any[]) => any) | undefined;
105
- onFocus?: ((...args: any[]) => any) | undefined;
106
109
  onClear?: ((...args: any[]) => any) | undefined;
107
110
  onSelect?: ((...args: any[]) => any) | undefined;
108
111
  }, {
@@ -12,12 +12,11 @@ var constants = require('../../../utils/constants.js');
12
12
  var error = require('../../../utils/error.js');
13
13
  var index$1 = require('../../input/index.js');
14
14
  var index$2 = require('../../scrollbar/index.js');
15
- var index = require('../../popper/index.js');
15
+ var index = require('../../tooltip/index.js');
16
16
  var index$3 = require('../../icon/index.js');
17
17
  var iconsVue = require('@element-plus/icons-vue');
18
18
  var index$4 = require('../../../directives/click-outside/index.js');
19
19
  var index$5 = require('../../../hooks/use-attrs/index.js');
20
- var defaults = require('../../popper/src/use-popper/defaults.js');
21
20
 
22
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
22
 
@@ -26,7 +25,7 @@ var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
26
25
  var script = vue.defineComponent({
27
26
  name: "ElAutocomplete",
28
27
  components: {
29
- ElPopper: index["default"],
28
+ ElTooltip: index.ElTooltip,
30
29
  ElInput: index$1.ElInput,
31
30
  ElScrollbar: index$2.ElScrollbar,
32
31
  ElIcon: index$3.ElIcon,
@@ -122,28 +121,24 @@ var script = vue.defineComponent({
122
121
  const suggestionLoading = vue.computed(() => {
123
122
  return !props.hideLoading && loading.value;
124
123
  });
125
- const updatePopperPosition = () => {
126
- vue.nextTick(popper.value.update);
124
+ const onSuggestionShow = () => {
125
+ vue.nextTick(() => {
126
+ if (suggestionVisible.value) {
127
+ dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`;
128
+ }
129
+ });
127
130
  };
128
- vue.watch(suggestionVisible, () => {
129
- dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`;
130
- });
131
131
  vue.onMounted(() => {
132
132
  inputRef.value.inputOrTextarea.setAttribute("role", "textbox");
133
133
  inputRef.value.inputOrTextarea.setAttribute("aria-autocomplete", "list");
134
134
  inputRef.value.inputOrTextarea.setAttribute("aria-controls", "id");
135
135
  inputRef.value.inputOrTextarea.setAttribute("aria-activedescendant", `${id.value}-item-${highlightedIndex.value}`);
136
- const $ul = regionRef.value.querySelector(".el-autocomplete-suggestion__list");
137
- $ul.setAttribute("role", "listbox");
138
- $ul.setAttribute("id", id.value);
139
136
  });
140
- vue.onUpdated(updatePopperPosition);
141
137
  const getData = (queryString) => {
142
138
  if (suggestionDisabled.value) {
143
139
  return;
144
140
  }
145
141
  loading.value = true;
146
- updatePopperPosition();
147
142
  props.fetchSuggestions(queryString, (suggestionsArg) => {
148
143
  loading.value = false;
149
144
  if (suggestionDisabled.value) {
@@ -176,7 +171,7 @@ var script = vue.defineComponent({
176
171
  activated.value = true;
177
172
  ctx.emit("focus", e);
178
173
  if (props.triggerOnFocus) {
179
- debouncedGetData(props.modelValue);
174
+ debouncedGetData(String(props.modelValue));
180
175
  }
181
176
  };
182
177
  const handleBlur = (e) => {
@@ -202,7 +197,8 @@ var script = vue.defineComponent({
202
197
  activated.value = false;
203
198
  };
204
199
  const focus = () => {
205
- inputRef.value.focus();
200
+ var _a;
201
+ (_a = inputRef.value) == null ? void 0 : _a.focus();
206
202
  };
207
203
  const select = (item) => {
208
204
  ctx.emit("input", item[props.valueKey]);
@@ -239,7 +235,6 @@ var script = vue.defineComponent({
239
235
  inputRef.value.inputOrTextarea.setAttribute("aria-activedescendant", `${id.value}-item-${highlightedIndex.value}`);
240
236
  };
241
237
  return {
242
- Effect: defaults.Effect,
243
238
  attrs,
244
239
  suggestions,
245
240
  highlightedIndex,
@@ -263,7 +258,8 @@ var script = vue.defineComponent({
263
258
  close,
264
259
  focus,
265
260
  select,
266
- highlight
261
+ highlight,
262
+ onSuggestionShow
267
263
  };
268
264
  }
269
265
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/autocomplete/src/index.vue"],"sourcesContent":["<template>\n <el-popper\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`el-autocomplete__popper ${popperClass}`\"\n :append-to-body=\"popperAppendToBody\"\n pure\n manual-mode\n :effect=\"Effect.LIGHT\"\n trigger=\"click\"\n transition=\"el-zoom-in-top\"\n :gpu-acceleration=\"false\"\n >\n <template #trigger>\n <div\n v-clickoutside=\"close\"\n :class=\"['el-autocomplete', $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\n </template>\n </el-input>\n </div>\n </template>\n <template #default>\n <div\n ref=\"regionRef\"\n :class=\"[\n 'el-autocomplete-suggestion',\n suggestionLoading && 'is-loading',\n ]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n tag=\"ul\"\n wrap-class=\"el-autocomplete-suggestion__wrap\"\n view-class=\"el-autocomplete-suggestion__list\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon class=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-popper>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n onMounted,\n onUpdated,\n nextTick,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport debounce from 'lodash/debounce'\nimport { useAttrs } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { generateId, isArray } from '@element-plus/utils/util'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { throwError } from '@element-plus/utils/error'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElPopper, { Effect } from '@element-plus/components/popper'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElAutocomplete',\n components: {\n ElPopper,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const attrs = useAttrs()\n const suggestions = ref([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref(null)\n const regionRef = ref(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return `el-autocomplete-${generateId()}`\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const updatePopperPosition = () => {\n nextTick(popper.value.update)\n }\n\n watch(suggestionVisible, () => {\n dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`\n })\n\n onMounted(() => {\n inputRef.value.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n const $ul = regionRef.value.querySelector(\n '.el-autocomplete-suggestion__list'\n )\n $ul.setAttribute('role', 'listbox')\n $ul.setAttribute('id', id.value)\n })\n\n onUpdated(updatePopperPosition)\n\n const getData = (queryString) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n updatePopperPosition()\n props.fetchSuggestions(queryString, (suggestionsArg) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(props.modelValue)\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const highlight = (index) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value.querySelector(\n '.el-autocomplete-suggestion__wrap'\n )\n const suggestionList = suggestion.querySelectorAll(\n '.el-autocomplete-suggestion__list li'\n )\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n inputRef.value.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n Effect,\n\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElPopper","ElScrollbar","ElIcon","Loading","UPDATE_MODEL_EVENT","ref","computed","isArray","nextTick","onMounted","debounce","Effect"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/autocomplete/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`el-autocomplete__popper ${popperClass}`\"\n :append-to-body=\"popperAppendToBody\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n transition=\"el-zoom-in-top\"\n @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"['el-autocomplete', $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[\n 'el-autocomplete-suggestion',\n suggestionLoading && 'is-loading',\n ]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n wrap-class=\"el-autocomplete-suggestion__wrap\"\n view-class=\"el-autocomplete-suggestion__list\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon class=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport debounce from 'lodash/debounce'\nimport { useAttrs } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { generateId, isArray } from '@element-plus/utils/util'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { throwError } from '@element-plus/utils/error'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElAutocomplete',\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return `el-autocomplete-${generateId()}`\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n '.el-autocomplete-suggestion__wrap'\n )!\n const suggestionList = suggestion.querySelectorAll(\n '.el-autocomplete-suggestion__list li'\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElTooltip","ElScrollbar","ElIcon","Loading","UPDATE_MODEL_EVENT","ref","computed","isArray","throwError","nextTick"],"mappings":"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"}