@element-plus/nightly 0.0.20260719 → 0.0.20260721

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 (592) hide show
  1. package/es/components/affix/src/affix.vue.d.ts +3 -3
  2. package/es/components/alert/src/alert.d.ts +1 -1
  3. package/es/components/alert/src/alert.vue.d.ts +1 -1
  4. package/es/components/anchor/src/anchor.vue.d.ts +1 -1
  5. package/es/components/autocomplete/src/autocomplete.d.ts +5 -106
  6. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  7. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  8. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  9. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  10. package/es/components/avatar/src/avatar-group-props.d.ts +8 -105
  11. package/es/components/avatar/src/avatar-group-props.mjs +9 -1
  12. package/es/components/avatar/src/avatar-group-props.mjs.map +1 -1
  13. package/es/components/avatar/src/avatar-group.d.ts +17 -210
  14. package/es/components/avatar/src/avatar.d.ts +2 -2
  15. package/es/components/badge/src/badge.d.ts +4 -8
  16. package/es/components/badge/src/badge.mjs +9 -1
  17. package/es/components/badge/src/badge.mjs.map +1 -1
  18. package/es/components/badge/src/badge.vue.d.ts +3 -1
  19. package/es/components/badge/src/badge.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  20. package/es/components/badge/src/badge2.mjs.map +1 -1
  21. package/es/components/button/src/button-group.d.ts +2 -2
  22. package/es/components/button/src/button-group.vue.d.ts +1 -1
  23. package/es/components/button/src/button.d.ts +2 -2
  24. package/es/components/button/src/button.vue.d.ts +4 -4
  25. package/es/components/button/src/use-button.d.ts +2 -2
  26. package/es/components/calendar/src/calendar.mjs.map +1 -1
  27. package/es/components/card/src/card.d.ts +7 -6
  28. package/es/components/card/src/card.mjs +27 -3
  29. package/es/components/card/src/card.mjs.map +1 -1
  30. package/es/components/card/src/card.vue.d.ts +4 -0
  31. package/es/components/card/src/card.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  32. package/es/components/card/src/card2.mjs.map +1 -1
  33. package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
  34. package/es/components/carousel/src/carousel.vue.d.ts +1 -1
  35. package/es/components/cascader/src/cascader.d.ts +5 -106
  36. package/es/components/cascader/src/cascader.mjs.map +1 -1
  37. package/es/components/cascader/src/cascader.vue.d.ts +18 -16
  38. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  39. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  40. package/es/components/cascader-panel/src/index.vue.d.ts +5 -5
  41. package/es/components/cascader-panel/src/menu.vue.d.ts +1 -1
  42. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  43. package/es/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  44. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  45. package/es/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
  46. package/es/components/checkbox/src/checkbox.d.ts +3 -3
  47. package/es/components/checkbox/src/checkbox.vue.d.ts +5 -5
  48. package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  49. package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  50. package/es/components/col/src/col.vue.d.ts +2 -2
  51. package/es/components/collapse/src/collapse.vue.d.ts +2 -2
  52. package/es/components/color-picker/src/color-picker.d.ts +5 -104
  53. package/es/components/color-picker/src/color-picker.mjs +1 -0
  54. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  55. package/es/components/color-picker/src/color-picker.vue.d.ts +12 -10
  56. package/es/components/color-picker-panel/src/color-picker-panel.d.ts +4 -10
  57. package/es/components/color-picker-panel/src/color-picker-panel.mjs +9 -5
  58. package/es/components/color-picker-panel/src/color-picker-panel.mjs.map +1 -1
  59. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +5 -2
  60. package/es/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  61. package/es/components/color-picker-panel/src/color-picker-panel2.mjs.map +1 -1
  62. package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
  63. package/es/components/config-provider/src/config-provider.d.ts +3 -3
  64. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  65. package/es/components/countdown/src/countdown.vue.d.ts +1 -1
  66. package/es/components/date-picker/src/date-picker.d.ts +12 -212
  67. package/es/components/date-picker/src/props.d.ts +4 -104
  68. package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  69. package/es/components/date-picker-panel/src/date-picker-com/basic-month-table.vue.d.ts +2 -2
  70. package/es/components/date-picker-panel/src/date-picker-com/basic-year-table.vue.d.ts +2 -2
  71. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +5 -5
  72. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +6 -6
  73. package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  74. package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
  75. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  76. package/es/components/date-picker-panel/src/panel-utils.d.ts +36 -36
  77. package/es/components/date-picker-panel/src/props/basic-date-table.mjs.map +1 -1
  78. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  79. package/es/components/descriptions/src/description-item.d.ts +2 -2
  80. package/es/components/descriptions/src/description.d.ts +1 -1
  81. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  82. package/es/components/dialog/src/dialog-content.d.ts +10 -6
  83. package/es/components/dialog/src/dialog-content.mjs +32 -5
  84. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  85. package/es/components/dialog/src/dialog-content.vue.d.ts +5 -1
  86. package/es/components/dialog/src/dialog.d.ts +10 -5
  87. package/es/components/dialog/src/dialog.mjs +11 -14
  88. package/es/components/dialog/src/dialog.mjs.map +1 -1
  89. package/es/components/dialog/src/dialog.vue.d.ts +11 -6
  90. package/es/components/divider/src/divider.vue.d.ts +1 -1
  91. package/es/components/drawer/src/drawer.d.ts +5 -4
  92. package/es/components/drawer/src/drawer.vue.d.ts +12 -7
  93. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -2
  94. package/es/components/dropdown/src/dropdown-item.vue.d.ts +5 -5
  95. package/es/components/dropdown/src/dropdown.d.ts +4 -105
  96. package/es/components/dropdown/src/dropdown.vue.d.ts +67 -265
  97. package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  98. package/es/components/form/src/form-item.d.ts +2 -2
  99. package/es/components/form/src/form-item.vue.d.ts +2 -2
  100. package/es/components/form/src/form.d.ts +2 -2
  101. package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  102. package/es/components/image/src/image.d.ts +1 -1
  103. package/es/components/image/src/image.mjs.map +1 -1
  104. package/es/components/image/src/image.vue.d.ts +4 -4
  105. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  106. package/es/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  107. package/es/components/input/src/input.d.ts +3 -3
  108. package/es/components/input/src/input.vue.d.ts +16 -16
  109. package/es/components/input-number/src/input-number.d.ts +3 -3
  110. package/es/components/input-number/src/input-number.vue.d.ts +9 -9
  111. package/es/components/input-otp/src/input-otp.vue.d.ts +7 -7
  112. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  113. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  114. package/es/components/input-tag/src/input-tag.vue.d.ts +10 -10
  115. package/es/components/link/src/link.d.ts +1 -1
  116. package/es/components/link/src/link.mjs.map +1 -1
  117. package/es/components/mention/src/mention.d.ts +5 -106
  118. package/es/components/mention/src/mention.vue.d.ts +4 -4
  119. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  120. package/es/components/mention/src/mention2.mjs.map +1 -1
  121. package/es/components/menu/src/menu.d.ts +11 -23
  122. package/es/components/menu/src/menu.mjs +18 -2
  123. package/es/components/menu/src/menu.mjs.map +1 -1
  124. package/es/components/menu/src/sub-menu.d.ts +10 -22
  125. package/es/components/menu/src/sub-menu.mjs +18 -2
  126. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  127. package/es/components/message/src/message.d.ts +4 -4
  128. package/es/components/message/src/message.mjs +6 -1
  129. package/es/components/message/src/message.mjs.map +1 -1
  130. package/es/components/message/src/message.vue.d.ts +6 -5
  131. package/es/components/message/src/method.mjs.map +1 -1
  132. package/es/components/message-box/src/index.vue.d.ts +66 -74
  133. package/es/components/notification/src/notification.d.ts +4 -3
  134. package/es/components/notification/src/notification.mjs +6 -1
  135. package/es/components/notification/src/notification.mjs.map +1 -1
  136. package/es/components/notification/src/notification.vue.d.ts +6 -5
  137. package/es/components/overlay/index.d.ts +4 -12
  138. package/es/components/overlay/src/overlay.d.ts +5 -18
  139. package/es/components/overlay/src/overlay.mjs +9 -5
  140. package/es/components/overlay/src/overlay.mjs.map +1 -1
  141. package/es/components/pagination/src/components/jumper.d.ts +1 -1
  142. package/es/components/pagination/src/components/jumper.vue.d.ts +2 -2
  143. package/es/components/pagination/src/components/sizes.d.ts +5 -14
  144. package/es/components/pagination/src/components/sizes.mjs +18 -2
  145. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  146. package/es/components/pagination/src/components/sizes.vue.d.ts +9 -26
  147. package/es/components/pagination/src/pagination.d.ts +15 -28
  148. package/es/components/pagination/src/pagination.mjs +15 -2
  149. package/es/components/pagination/src/pagination.mjs.map +1 -1
  150. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  151. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  152. package/es/components/popover/src/popover.d.ts +4 -104
  153. package/es/components/popover/src/popover.mjs +1 -0
  154. package/es/components/popover/src/popover.mjs.map +1 -1
  155. package/es/components/popover/src/popover.vue.d.ts +8 -7
  156. package/es/components/popper/src/composables/use-content-dom.d.ts +2 -25
  157. package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  158. package/es/components/popper/src/content.d.ts +12 -22
  159. package/es/components/popper/src/content.mjs +13 -7
  160. package/es/components/popper/src/content.mjs.map +1 -1
  161. package/es/components/popper/src/content.vue.d.ts +11 -9
  162. package/es/components/popper/src/popper.mjs.map +1 -1
  163. package/es/components/progress/src/progress.d.ts +1 -1
  164. package/es/components/progress/src/progress.vue.d.ts +1 -1
  165. package/es/components/radio/src/radio-button.d.ts +1 -1
  166. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  167. package/es/components/radio/src/radio-group.d.ts +1 -1
  168. package/es/components/radio/src/radio-group.vue.d.ts +7 -7
  169. package/es/components/radio/src/radio.d.ts +2 -2
  170. package/es/components/radio/src/radio.vue.d.ts +5 -5
  171. package/es/components/radio/src/use-radio.d.ts +1 -1
  172. package/es/components/rate/src/rate.d.ts +1 -1
  173. package/es/components/rate/src/rate.vue.d.ts +4 -4
  174. package/es/components/rate/src/rate.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  175. package/es/components/rate/src/rate2.mjs.map +1 -1
  176. package/es/components/result/src/result.d.ts +1 -1
  177. package/es/components/scrollbar/src/scrollbar.d.ts +5 -4
  178. package/es/components/scrollbar/src/scrollbar.mjs +12 -2
  179. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  180. package/es/components/scrollbar/src/scrollbar.vue.d.ts +5 -4
  181. package/es/components/scrollbar/src/thumb.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  182. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  183. package/es/components/segmented/index.d.ts +4 -4
  184. package/es/components/segmented/src/segmented.d.ts +1 -1
  185. package/es/components/segmented/src/segmented.vue.d.ts +2 -2
  186. package/es/components/select/src/option.d.ts +1 -1
  187. package/es/components/select/src/option.vue.d.ts +2 -2
  188. package/es/components/select/src/select-dropdown.vue.d.ts +2 -1
  189. package/es/components/select/src/select.d.ts +9 -13
  190. package/es/components/select/src/select.mjs +15 -2
  191. package/es/components/select/src/select.mjs.map +1 -1
  192. package/es/components/select/src/select.vue.d.ts +77 -83
  193. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  194. package/es/components/select/src/select2.mjs.map +1 -1
  195. package/es/components/select/src/useSelect.d.ts +7 -7
  196. package/es/components/select/src/useSelect.mjs.map +1 -1
  197. package/es/components/select-v2/src/defaults.d.ts +4 -104
  198. package/es/components/select-v2/src/select.vue.d.ts +54 -252
  199. package/es/components/select-v2/src/useSelect.d.ts +2 -2
  200. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  201. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  202. package/es/components/slider/src/button.d.ts +2 -1
  203. package/es/components/slider/src/button.mjs +10 -2
  204. package/es/components/slider/src/button.mjs.map +1 -1
  205. package/es/components/slider/src/button.vue.d.ts +5 -3
  206. package/es/components/slider/src/composables/use-marks.mjs.map +1 -1
  207. package/es/components/slider/src/slider.d.ts +4 -4
  208. package/es/components/slider/src/slider.mjs +6 -1
  209. package/es/components/slider/src/slider.mjs.map +1 -1
  210. package/es/components/slider/src/slider.vue.d.ts +16 -16
  211. package/es/components/space/src/space.d.ts +9 -9
  212. package/es/components/space/src/space.mjs +2 -1
  213. package/es/components/space/src/space.mjs.map +1 -1
  214. package/es/components/space/src/use-space.d.ts +2 -3
  215. package/es/components/splitter/src/split-bar.vue.d.ts +1 -1
  216. package/es/components/splitter/src/splitter.vue.d.ts +2 -2
  217. package/es/components/statistic/src/statistic.vue.d.ts +2 -2
  218. package/es/components/steps/src/item.d.ts +1 -1
  219. package/es/components/steps/src/steps.d.ts +2 -2
  220. package/es/components/steps/src/steps.vue.d.ts +1 -1
  221. package/es/components/switch/src/switch.d.ts +1 -1
  222. package/es/components/switch/src/switch.vue.d.ts +5 -5
  223. package/es/components/table/src/filter-panel.vue.d.ts +63 -60
  224. package/es/components/table/src/table/defaults.d.ts +1 -1
  225. package/es/components/table/src/table/defaults.mjs.map +1 -1
  226. package/es/components/table/src/table/style-helper.d.ts +2 -2
  227. package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
  228. package/es/components/table/src/table-footer/index.d.ts +1 -1
  229. package/es/components/table/src/table-header/index.d.ts +16 -16
  230. package/es/components/table/src/table.vue.d.ts +4 -4
  231. package/es/components/table-v2/src/components/row.d.ts +1 -1
  232. package/es/components/table-v2/src/table-grid.d.ts +2 -2
  233. package/es/components/table-v2/src/table-v2.d.ts +4 -4
  234. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  235. package/es/components/tabs/src/tabs.d.ts +2 -2
  236. package/es/components/tag/src/tag.d.ts +2 -2
  237. package/es/components/tag/src/tag.vue.d.ts +2 -2
  238. package/es/components/text/src/text.d.ts +2 -2
  239. package/es/components/text/src/text.vue.d.ts +1 -1
  240. package/es/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
  241. package/es/components/time-picker/src/common/picker.vue.d.ts +18 -218
  242. package/es/components/time-picker/src/common/props.d.ts +4 -104
  243. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +1 -1
  244. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  245. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  246. package/es/components/time-picker/src/time-picker.d.ts +12 -212
  247. package/es/components/time-picker/src/utils.d.ts +1 -1
  248. package/es/components/time-select/src/time-select.d.ts +7 -11
  249. package/es/components/time-select/src/time-select.mjs +15 -2
  250. package/es/components/time-select/src/time-select.mjs.map +1 -1
  251. package/es/components/time-select/src/time-select.vue.d.ts +13 -12
  252. package/es/components/timeline/src/timeline-item.d.ts +2 -2
  253. package/es/components/timeline/src/timeline-item.vue.d.ts +2 -2
  254. package/es/components/tooltip/src/content.d.ts +5 -200
  255. package/es/components/tooltip/src/content.vue.d.ts +6 -4
  256. package/es/components/tooltip/src/tooltip.d.ts +5 -202
  257. package/es/components/tooltip/src/tooltip.vue.d.ts +8 -7
  258. package/es/components/tooltip/src/trigger.d.ts +1 -1
  259. package/es/components/tour/src/content.d.ts +1 -1
  260. package/es/components/tour/src/step.vue.d.ts +1 -1
  261. package/es/components/tour/src/tour.vue.d.ts +6 -6
  262. package/es/components/transfer/src/transfer.vue.d.ts +2 -2
  263. package/es/components/tree/src/tree-node.vue.d.ts +16 -16
  264. package/es/components/tree/src/tree.vue.d.ts +22 -22
  265. package/es/components/tree-select/src/select.mjs +1 -5
  266. package/es/components/tree-select/src/select.mjs.map +1 -1
  267. package/es/components/tree-select/src/tree-select-option.d.ts +2 -2
  268. package/es/components/tree-select/src/tree-select.vue.d.ts +32 -40
  269. package/es/components/tree-v2/src/composables/useTree.d.ts +15 -14
  270. package/es/components/tree-v2/src/tree-node.vue.d.ts +2 -2
  271. package/es/components/tree-v2/src/tree.vue.d.ts +5 -5
  272. package/es/components/upload/src/upload-content.vue.d.ts +2 -2
  273. package/es/components/upload/src/upload.mjs.map +1 -1
  274. package/es/components/upload/src/upload.vue.d.ts +3 -3
  275. package/es/components/virtual-list/src/builders/build-grid.d.ts +9 -8
  276. package/es/components/virtual-list/src/builders/build-list.d.ts +8 -7
  277. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +9 -8
  278. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +8 -7
  279. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +9 -8
  280. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +8 -7
  281. package/es/components/virtual-list/src/components/scrollbar.d.ts +5 -3
  282. package/es/components/virtual-list/src/props.d.ts +5 -4
  283. package/es/components/virtual-list/src/props.mjs +15 -2
  284. package/es/components/virtual-list/src/props.mjs.map +1 -1
  285. package/es/components/watermark/src/watermark.mjs.map +1 -1
  286. package/es/hooks/use-size/index.d.ts +3 -3
  287. package/es/hooks/use-throttle-render/index.mjs.map +1 -1
  288. package/es/utils/index.d.ts +2 -2
  289. package/es/utils/typescript.d.ts +2 -1
  290. package/es/utils/typescript.mjs.map +1 -1
  291. package/es/utils/vue/size.d.ts +1 -1
  292. package/es/utils/vue/vnode.d.ts +4 -4
  293. package/es/version.d.ts +1 -1
  294. package/es/version.mjs +1 -1
  295. package/es/version.mjs.map +1 -1
  296. package/lib/components/affix/src/affix.vue.d.ts +3 -3
  297. package/lib/components/alert/src/alert.d.ts +1 -1
  298. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  299. package/lib/components/anchor/src/anchor.vue.d.ts +1 -1
  300. package/lib/components/autocomplete/src/autocomplete.d.ts +5 -106
  301. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  302. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  303. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  304. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  305. package/lib/components/avatar/src/avatar-group-props.d.ts +8 -105
  306. package/lib/components/avatar/src/avatar-group-props.js +9 -1
  307. package/lib/components/avatar/src/avatar-group-props.js.map +1 -1
  308. package/lib/components/avatar/src/avatar-group.d.ts +17 -210
  309. package/lib/components/avatar/src/avatar.d.ts +2 -2
  310. package/lib/components/badge/src/badge.d.ts +4 -8
  311. package/lib/components/badge/src/badge.js +9 -1
  312. package/lib/components/badge/src/badge.js.map +1 -1
  313. package/lib/components/badge/src/badge.vue.d.ts +3 -1
  314. package/lib/components/badge/src/badge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  315. package/lib/components/badge/src/badge2.js.map +1 -1
  316. package/lib/components/button/src/button-group.d.ts +2 -2
  317. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  318. package/lib/components/button/src/button.d.ts +2 -2
  319. package/lib/components/button/src/button.vue.d.ts +4 -4
  320. package/lib/components/button/src/use-button.d.ts +2 -2
  321. package/lib/components/calendar/src/calendar.js.map +1 -1
  322. package/lib/components/card/src/card.d.ts +7 -6
  323. package/lib/components/card/src/card.js +27 -3
  324. package/lib/components/card/src/card.js.map +1 -1
  325. package/lib/components/card/src/card.vue.d.ts +4 -0
  326. package/lib/components/card/src/card.vue_vue_type_script_setup_true_lang.js.map +1 -1
  327. package/lib/components/card/src/card2.js.map +1 -1
  328. package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
  329. package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
  330. package/lib/components/cascader/src/cascader.d.ts +5 -106
  331. package/lib/components/cascader/src/cascader.js.map +1 -1
  332. package/lib/components/cascader/src/cascader.vue.d.ts +18 -16
  333. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  334. package/lib/components/cascader/src/cascader2.js.map +1 -1
  335. package/lib/components/cascader-panel/src/index.vue.d.ts +5 -5
  336. package/lib/components/cascader-panel/src/menu.vue.d.ts +1 -1
  337. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  338. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  339. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  340. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
  341. package/lib/components/checkbox/src/checkbox.d.ts +3 -3
  342. package/lib/components/checkbox/src/checkbox.vue.d.ts +5 -5
  343. package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  344. package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  345. package/lib/components/col/src/col.vue.d.ts +2 -2
  346. package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
  347. package/lib/components/color-picker/src/color-picker.d.ts +5 -104
  348. package/lib/components/color-picker/src/color-picker.js +1 -0
  349. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  350. package/lib/components/color-picker/src/color-picker.vue.d.ts +12 -10
  351. package/lib/components/color-picker-panel/src/color-picker-panel.d.ts +4 -10
  352. package/lib/components/color-picker-panel/src/color-picker-panel.js +9 -5
  353. package/lib/components/color-picker-panel/src/color-picker-panel.js.map +1 -1
  354. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +5 -2
  355. package/lib/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  356. package/lib/components/color-picker-panel/src/color-picker-panel2.js.map +1 -1
  357. package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
  358. package/lib/components/config-provider/src/config-provider.d.ts +3 -3
  359. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  360. package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
  361. package/lib/components/date-picker/src/date-picker.d.ts +12 -212
  362. package/lib/components/date-picker/src/props.d.ts +4 -104
  363. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  364. package/lib/components/date-picker-panel/src/date-picker-com/basic-month-table.vue.d.ts +2 -2
  365. package/lib/components/date-picker-panel/src/date-picker-com/basic-year-table.vue.d.ts +2 -2
  366. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +5 -5
  367. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +6 -6
  368. package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  369. package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
  370. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  371. package/lib/components/date-picker-panel/src/panel-utils.d.ts +36 -36
  372. package/lib/components/date-picker-panel/src/props/basic-date-table.js.map +1 -1
  373. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  374. package/lib/components/descriptions/src/description-item.d.ts +2 -2
  375. package/lib/components/descriptions/src/description.d.ts +1 -1
  376. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  377. package/lib/components/dialog/src/dialog-content.d.ts +10 -6
  378. package/lib/components/dialog/src/dialog-content.js +31 -4
  379. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  380. package/lib/components/dialog/src/dialog-content.vue.d.ts +5 -1
  381. package/lib/components/dialog/src/dialog.d.ts +10 -5
  382. package/lib/components/dialog/src/dialog.js +11 -14
  383. package/lib/components/dialog/src/dialog.js.map +1 -1
  384. package/lib/components/dialog/src/dialog.vue.d.ts +11 -6
  385. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  386. package/lib/components/drawer/src/drawer.d.ts +5 -4
  387. package/lib/components/drawer/src/drawer.vue.d.ts +12 -7
  388. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -2
  389. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +5 -5
  390. package/lib/components/dropdown/src/dropdown.d.ts +4 -105
  391. package/lib/components/dropdown/src/dropdown.vue.d.ts +67 -265
  392. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  393. package/lib/components/form/src/form-item.d.ts +2 -2
  394. package/lib/components/form/src/form-item.vue.d.ts +2 -2
  395. package/lib/components/form/src/form.d.ts +2 -2
  396. package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  397. package/lib/components/image/src/image.d.ts +1 -1
  398. package/lib/components/image/src/image.js.map +1 -1
  399. package/lib/components/image/src/image.vue.d.ts +4 -4
  400. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  401. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  402. package/lib/components/input/src/input.d.ts +3 -3
  403. package/lib/components/input/src/input.vue.d.ts +16 -16
  404. package/lib/components/input-number/src/input-number.d.ts +3 -3
  405. package/lib/components/input-number/src/input-number.vue.d.ts +9 -9
  406. package/lib/components/input-otp/src/input-otp.vue.d.ts +7 -7
  407. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  408. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  409. package/lib/components/input-tag/src/input-tag.vue.d.ts +10 -10
  410. package/lib/components/link/src/link.d.ts +1 -1
  411. package/lib/components/link/src/link.js.map +1 -1
  412. package/lib/components/mention/src/mention.d.ts +5 -106
  413. package/lib/components/mention/src/mention.vue.d.ts +4 -4
  414. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js.map +1 -1
  415. package/lib/components/mention/src/mention2.js.map +1 -1
  416. package/lib/components/menu/src/menu.d.ts +11 -23
  417. package/lib/components/menu/src/menu.js +18 -2
  418. package/lib/components/menu/src/menu.js.map +1 -1
  419. package/lib/components/menu/src/sub-menu.d.ts +10 -22
  420. package/lib/components/menu/src/sub-menu.js +18 -2
  421. package/lib/components/menu/src/sub-menu.js.map +1 -1
  422. package/lib/components/message/src/message.d.ts +4 -4
  423. package/lib/components/message/src/message.js +6 -1
  424. package/lib/components/message/src/message.js.map +1 -1
  425. package/lib/components/message/src/message.vue.d.ts +6 -5
  426. package/lib/components/message/src/method.js.map +1 -1
  427. package/lib/components/message-box/src/index.vue.d.ts +66 -74
  428. package/lib/components/notification/src/notification.d.ts +4 -3
  429. package/lib/components/notification/src/notification.js +6 -1
  430. package/lib/components/notification/src/notification.js.map +1 -1
  431. package/lib/components/notification/src/notification.vue.d.ts +6 -5
  432. package/lib/components/overlay/index.d.ts +4 -12
  433. package/lib/components/overlay/src/overlay.d.ts +5 -18
  434. package/lib/components/overlay/src/overlay.js +9 -5
  435. package/lib/components/overlay/src/overlay.js.map +1 -1
  436. package/lib/components/pagination/src/components/jumper.d.ts +1 -1
  437. package/lib/components/pagination/src/components/jumper.vue.d.ts +2 -2
  438. package/lib/components/pagination/src/components/sizes.d.ts +5 -14
  439. package/lib/components/pagination/src/components/sizes.js +18 -2
  440. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  441. package/lib/components/pagination/src/components/sizes.vue.d.ts +9 -26
  442. package/lib/components/pagination/src/pagination.d.ts +15 -28
  443. package/lib/components/pagination/src/pagination.js +15 -2
  444. package/lib/components/pagination/src/pagination.js.map +1 -1
  445. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  446. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  447. package/lib/components/popover/src/popover.d.ts +4 -104
  448. package/lib/components/popover/src/popover.js +1 -0
  449. package/lib/components/popover/src/popover.js.map +1 -1
  450. package/lib/components/popover/src/popover.vue.d.ts +8 -7
  451. package/lib/components/popper/src/composables/use-content-dom.d.ts +2 -25
  452. package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  453. package/lib/components/popper/src/content.d.ts +12 -22
  454. package/lib/components/popper/src/content.js +13 -7
  455. package/lib/components/popper/src/content.js.map +1 -1
  456. package/lib/components/popper/src/content.vue.d.ts +11 -9
  457. package/lib/components/popper/src/popper.js.map +1 -1
  458. package/lib/components/progress/src/progress.d.ts +1 -1
  459. package/lib/components/progress/src/progress.vue.d.ts +1 -1
  460. package/lib/components/radio/src/radio-button.d.ts +1 -1
  461. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  462. package/lib/components/radio/src/radio-group.d.ts +1 -1
  463. package/lib/components/radio/src/radio-group.vue.d.ts +7 -7
  464. package/lib/components/radio/src/radio.d.ts +2 -2
  465. package/lib/components/radio/src/radio.vue.d.ts +5 -5
  466. package/lib/components/radio/src/use-radio.d.ts +1 -1
  467. package/lib/components/rate/src/rate.d.ts +1 -1
  468. package/lib/components/rate/src/rate.vue.d.ts +4 -4
  469. package/lib/components/rate/src/rate.vue_vue_type_script_setup_true_lang.js.map +1 -1
  470. package/lib/components/rate/src/rate2.js.map +1 -1
  471. package/lib/components/result/src/result.d.ts +1 -1
  472. package/lib/components/scrollbar/src/scrollbar.d.ts +5 -4
  473. package/lib/components/scrollbar/src/scrollbar.js +12 -2
  474. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  475. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +5 -4
  476. package/lib/components/scrollbar/src/thumb.vue_vue_type_script_setup_true_lang.js.map +1 -1
  477. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  478. package/lib/components/segmented/index.d.ts +4 -4
  479. package/lib/components/segmented/src/segmented.d.ts +1 -1
  480. package/lib/components/segmented/src/segmented.vue.d.ts +2 -2
  481. package/lib/components/select/src/option.d.ts +1 -1
  482. package/lib/components/select/src/option.vue.d.ts +2 -2
  483. package/lib/components/select/src/select-dropdown.vue.d.ts +2 -1
  484. package/lib/components/select/src/select.d.ts +9 -13
  485. package/lib/components/select/src/select.js +15 -2
  486. package/lib/components/select/src/select.js.map +1 -1
  487. package/lib/components/select/src/select.vue.d.ts +77 -83
  488. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  489. package/lib/components/select/src/select2.js.map +1 -1
  490. package/lib/components/select/src/useSelect.d.ts +7 -7
  491. package/lib/components/select/src/useSelect.js.map +1 -1
  492. package/lib/components/select-v2/src/defaults.d.ts +4 -104
  493. package/lib/components/select-v2/src/select.vue.d.ts +54 -252
  494. package/lib/components/select-v2/src/useSelect.d.ts +2 -2
  495. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  496. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  497. package/lib/components/slider/src/button.d.ts +2 -1
  498. package/lib/components/slider/src/button.js +9 -1
  499. package/lib/components/slider/src/button.js.map +1 -1
  500. package/lib/components/slider/src/button.vue.d.ts +5 -3
  501. package/lib/components/slider/src/composables/use-marks.js.map +1 -1
  502. package/lib/components/slider/src/slider.d.ts +4 -4
  503. package/lib/components/slider/src/slider.js +6 -1
  504. package/lib/components/slider/src/slider.js.map +1 -1
  505. package/lib/components/slider/src/slider.vue.d.ts +16 -16
  506. package/lib/components/space/src/space.d.ts +9 -9
  507. package/lib/components/space/src/space.js +2 -1
  508. package/lib/components/space/src/space.js.map +1 -1
  509. package/lib/components/space/src/use-space.d.ts +2 -3
  510. package/lib/components/splitter/src/split-bar.vue.d.ts +1 -1
  511. package/lib/components/splitter/src/splitter.vue.d.ts +2 -2
  512. package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
  513. package/lib/components/steps/src/item.d.ts +1 -1
  514. package/lib/components/steps/src/steps.d.ts +2 -2
  515. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  516. package/lib/components/switch/src/switch.d.ts +1 -1
  517. package/lib/components/switch/src/switch.vue.d.ts +5 -5
  518. package/lib/components/table/src/filter-panel.vue.d.ts +63 -60
  519. package/lib/components/table/src/table/defaults.d.ts +1 -1
  520. package/lib/components/table/src/table/defaults.js.map +1 -1
  521. package/lib/components/table/src/table/style-helper.d.ts +2 -2
  522. package/lib/components/table/src/table-body/events-helper.js.map +1 -1
  523. package/lib/components/table/src/table-footer/index.d.ts +1 -1
  524. package/lib/components/table/src/table-header/index.d.ts +16 -16
  525. package/lib/components/table/src/table.vue.d.ts +4 -4
  526. package/lib/components/table-v2/src/components/row.d.ts +1 -1
  527. package/lib/components/table-v2/src/table-grid.d.ts +2 -2
  528. package/lib/components/table-v2/src/table-v2.d.ts +4 -4
  529. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  530. package/lib/components/tabs/src/tabs.d.ts +2 -2
  531. package/lib/components/tag/src/tag.d.ts +2 -2
  532. package/lib/components/tag/src/tag.vue.d.ts +2 -2
  533. package/lib/components/text/src/text.d.ts +2 -2
  534. package/lib/components/text/src/text.vue.d.ts +1 -1
  535. package/lib/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
  536. package/lib/components/time-picker/src/common/picker.vue.d.ts +18 -218
  537. package/lib/components/time-picker/src/common/props.d.ts +4 -104
  538. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +1 -1
  539. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  540. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  541. package/lib/components/time-picker/src/time-picker.d.ts +12 -212
  542. package/lib/components/time-picker/src/utils.d.ts +1 -1
  543. package/lib/components/time-select/src/time-select.d.ts +7 -11
  544. package/lib/components/time-select/src/time-select.js +15 -2
  545. package/lib/components/time-select/src/time-select.js.map +1 -1
  546. package/lib/components/time-select/src/time-select.vue.d.ts +13 -12
  547. package/lib/components/timeline/src/timeline-item.d.ts +2 -2
  548. package/lib/components/timeline/src/timeline-item.vue.d.ts +2 -2
  549. package/lib/components/tooltip/src/content.d.ts +5 -200
  550. package/lib/components/tooltip/src/content.vue.d.ts +6 -4
  551. package/lib/components/tooltip/src/tooltip.d.ts +5 -202
  552. package/lib/components/tooltip/src/tooltip.vue.d.ts +8 -7
  553. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  554. package/lib/components/tour/src/content.d.ts +1 -1
  555. package/lib/components/tour/src/step.vue.d.ts +1 -1
  556. package/lib/components/tour/src/tour.vue.d.ts +6 -6
  557. package/lib/components/transfer/src/transfer.vue.d.ts +2 -2
  558. package/lib/components/tree/src/tree-node.vue.d.ts +16 -16
  559. package/lib/components/tree/src/tree.vue.d.ts +22 -22
  560. package/lib/components/tree-select/src/select.js +1 -5
  561. package/lib/components/tree-select/src/select.js.map +1 -1
  562. package/lib/components/tree-select/src/tree-select-option.d.ts +2 -2
  563. package/lib/components/tree-select/src/tree-select.vue.d.ts +32 -40
  564. package/lib/components/tree-v2/src/composables/useTree.d.ts +15 -14
  565. package/lib/components/tree-v2/src/tree-node.vue.d.ts +2 -2
  566. package/lib/components/tree-v2/src/tree.vue.d.ts +5 -5
  567. package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
  568. package/lib/components/upload/src/upload.js.map +1 -1
  569. package/lib/components/upload/src/upload.vue.d.ts +3 -3
  570. package/lib/components/virtual-list/src/builders/build-grid.d.ts +9 -8
  571. package/lib/components/virtual-list/src/builders/build-list.d.ts +8 -7
  572. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +9 -8
  573. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +8 -7
  574. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +9 -8
  575. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +8 -7
  576. package/lib/components/virtual-list/src/components/scrollbar.d.ts +5 -3
  577. package/lib/components/virtual-list/src/props.d.ts +5 -4
  578. package/lib/components/virtual-list/src/props.js +15 -2
  579. package/lib/components/virtual-list/src/props.js.map +1 -1
  580. package/lib/components/watermark/src/watermark.js.map +1 -1
  581. package/lib/hooks/use-size/index.d.ts +3 -3
  582. package/lib/hooks/use-throttle-render/index.js.map +1 -1
  583. package/lib/utils/index.d.ts +2 -2
  584. package/lib/utils/typescript.d.ts +2 -1
  585. package/lib/utils/typescript.js.map +1 -1
  586. package/lib/utils/vue/size.d.ts +1 -1
  587. package/lib/utils/vue/vnode.d.ts +4 -4
  588. package/lib/version.d.ts +1 -1
  589. package/lib/version.js +1 -1
  590. package/lib/version.js.map +1 -1
  591. package/package.json +2 -2
  592. package/web-types.json +1 -1
@@ -25,8 +25,8 @@ import { cAF, rAF } from "./raf.js";
25
25
  import { generateId, getRandomInt } from "./rand.js";
26
26
  import { camelize, capitalize, escapeStringRegexp, hyphenate, kebabCase } from "./strings.js";
27
27
  import { isArray, isBoolean, isDate, isElement, isEmpty, isFunction, isNumber, isObject, isPlainObject, isPromise, isPropAbsent, isString, isStringNumber, isSymbol, isUndefined, isWindow } from "./types.js";
28
- import { AlignItems, Arrayable, Awaitable, CSSProperties, FieldPath, HTMLElementCustomized, Mutable, Nullable, ObjectFit, ZIndexType, mutable } from "./typescript.js";
28
+ import { AlignItems, Arrayable, Awaitable, CSSProperties, ClassValue, FieldPath, HTMLElementCustomized, Mutable, Nullable, ObjectFit, ZIndexType, mutable } from "./typescript.js";
29
29
  import { throttleByRaf } from "./throttleByRaf.js";
30
30
  import { easeInOutCubic } from "./easings.js";
31
31
  import { isGreaterThan } from "./numbers.js";
32
- export { AlignItems, Arrayable, Awaitable, CSSProperties, CloseComponents, EmitFn, EpProp, EpPropConvert, EpPropFinalized, EpPropInput, EpPropInputDefault, EpPropMergeType, ExtractPropType, FieldPath, FlattenVNodes, HTMLElementCustomized, IconComponent, IconPropType, IfEpProp, IfNativePropType, IfNever, IfUnknown, Mutable, NOOP, NativePropType, Nullable, ObjectFit, PatchFlags, RawSlots, ResolvePropType, SFCInstallWithContext, SFCWithInstall, SFCWithPropsDefaultsSetter, TypeComponents, TypeComponentsMap, UnknownToNever, VNodeChildAtom, ValidateComponentsMap, Writable, WritableArray, ZIndexType, addClass, addUnit, animateScrollTo, buildProp, buildProps, cAF, camelize, capitalize, castArray, changeGlobalNodesTarget, classNameToArray, composeEventHandlers, composeRefs, createGlobalNode, debugWarn, definePropType, easeInOutCubic, ensureArray, entriesOf, epPropKey, escapeStringRegexp, extractFirst, flattedChildren, focusElement, focusNode, generateId, getClientXY, getComponentSize, getElement, getEventCode, getEventKey, getFirstValidNode, getNormalizedProps, getOffsetTop, getOffsetTopDistance, getProp, getRandomInt, getScrollBarWidth, getScrollContainer, getScrollElement, getScrollTop, getSibling, getStyle, hasClass, hasOwn, hyphenate, iconPropType, isAndroid, isArray, isBoolean, isClient, isComment, isDate, isElement, isEmpty, isEpProp, isFirefox, isFocusable, isFragment, isFunction, isGreaterThan, isIOS, isInContainer, isKorean, isLeaf, isNumber, isObject, isPlainObject, isPromise, isPropAbsent, isScroll, isShadowRoot, isString, isStringNumber, isSymbol, isTemplate, isText, isUndefined, isValidComponentSize, isValidDatePickType, isValidElementNode, isVisible, isWindow, kebabCase, keysOf, mutable, obtainAllFocusableElements, rAF, removeClass, removeGlobalNode, removeStyle, renderBlock, renderIf, scrollIntoView, setStyle, throttleByRaf, throwError, toRawType, triggerEvent, unique, whenMouse, withInstall, withInstallDirective, withInstallFunction, withNoopInstall, withPropsDefaultsSetter };
32
+ export { AlignItems, Arrayable, Awaitable, CSSProperties, ClassValue, CloseComponents, EmitFn, EpProp, EpPropConvert, EpPropFinalized, EpPropInput, EpPropInputDefault, EpPropMergeType, ExtractPropType, FieldPath, FlattenVNodes, HTMLElementCustomized, IconComponent, IconPropType, IfEpProp, IfNativePropType, IfNever, IfUnknown, Mutable, NOOP, NativePropType, Nullable, ObjectFit, PatchFlags, RawSlots, ResolvePropType, SFCInstallWithContext, SFCWithInstall, SFCWithPropsDefaultsSetter, TypeComponents, TypeComponentsMap, UnknownToNever, VNodeChildAtom, ValidateComponentsMap, Writable, WritableArray, ZIndexType, addClass, addUnit, animateScrollTo, buildProp, buildProps, cAF, camelize, capitalize, castArray, changeGlobalNodesTarget, classNameToArray, composeEventHandlers, composeRefs, createGlobalNode, debugWarn, definePropType, easeInOutCubic, ensureArray, entriesOf, epPropKey, escapeStringRegexp, extractFirst, flattedChildren, focusElement, focusNode, generateId, getClientXY, getComponentSize, getElement, getEventCode, getEventKey, getFirstValidNode, getNormalizedProps, getOffsetTop, getOffsetTopDistance, getProp, getRandomInt, getScrollBarWidth, getScrollContainer, getScrollElement, getScrollTop, getSibling, getStyle, hasClass, hasOwn, hyphenate, iconPropType, isAndroid, isArray, isBoolean, isClient, isComment, isDate, isElement, isEmpty, isEpProp, isFirefox, isFocusable, isFragment, isFunction, isGreaterThan, isIOS, isInContainer, isKorean, isLeaf, isNumber, isObject, isPlainObject, isPromise, isPropAbsent, isScroll, isShadowRoot, isString, isStringNumber, isSymbol, isTemplate, isText, isUndefined, isValidComponentSize, isValidDatePickType, isValidElementNode, isVisible, isWindow, kebabCase, keysOf, mutable, obtainAllFocusableElements, rAF, removeClass, removeGlobalNode, removeStyle, renderBlock, renderIf, scrollIntoView, setStyle, throttleByRaf, throwError, toRawType, triggerEvent, unique, whenMouse, withInstall, withInstallDirective, withInstallFunction, withNoopInstall, withPropsDefaultsSetter };
@@ -86,5 +86,6 @@ interface CSSProperties extends CSS.Properties<string | number>, CSS.PropertiesH
86
86
  type ObjectFit = CSSProperties['objectFit'];
87
87
  type ZIndexType = CSSProperties['zIndex'];
88
88
  type AlignItems = CSSProperties['alignItems'];
89
+ type ClassValue = false | null | undefined | string | Record<string, any> | Array<ClassValue>;
89
90
  //#endregion
90
- export { AlignItems, Arrayable, Awaitable, CSSProperties, FieldPath, HTMLElementCustomized, Mutable, Nullable, ObjectFit, ZIndexType, mutable };
91
+ export { AlignItems, Arrayable, Awaitable, CSSProperties, ClassValue, FieldPath, HTMLElementCustomized, Mutable, Nullable, ObjectFit, ZIndexType, mutable };
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.mjs","names":[],"sources":["../../../../packages/utils/typescript.ts"],"sourcesContent":["import type * as CSS from 'csstype'\n\nexport const mutable = <T extends readonly any[] | Record<string, unknown>>(\n val: T\n) => val as Mutable<typeof val>\nexport type Mutable<T> = { -readonly [P in keyof T]: T[P] }\n\nexport type HTMLElementCustomized<T> = HTMLElement & T\n\n/**\n * @deprecated stop to use null\n * @see {@link https://github.com/sindresorhus/meta/discussions/7}\n */\nexport type Nullable<T> = T | null\n\nexport type Arrayable<T> = T | T[]\nexport type Awaitable<T> = Promise<T> | T\n\ntype Primitive = null | undefined | string | number | boolean | symbol | bigint\ntype BrowserNativeObject = Date | FileList | File | Blob | RegExp\n\n/**\n * Check whether it is tuple\n *\n * 检查是否为元组\n *\n * @example\n * IsTuple<[1, 2, 3]> => true\n * IsTuple<Array[number]> => false\n */\ntype IsTuple<T extends ReadonlyArray<any>> = number extends T['length']\n ? false\n : true\n\n/**\n * Array method key\n *\n * 数组方法键\n */\ntype ArrayMethodKey = keyof any[]\n\n/**\n * Tuple index key\n *\n * 元组下标键\n *\n * @example\n * TupleKey<[1, 2, 3]> => '0' | '1' | '2'\n */\ntype TupleKey<T extends ReadonlyArray<any>> = Exclude<keyof T, ArrayMethodKey>\n\n/**\n * Array index key\n *\n * 数组下标键\n */\ntype ArrayKey = number\n\n/**\n * Helper type for recursively constructing paths through a type\n *\n * 用于通过一个类型递归构建路径的辅助类型\n */\ntype PathImpl<K extends string | number, V> = V extends\n | Primitive\n | BrowserNativeObject\n ? `${K}`\n : `${K}` | `${K}.${Path<V>}`\n\n/**\n * Type which collects all paths through a type\n *\n * 通过一个类型收集所有路径的类型\n *\n * @see {@link FieldPath}\n */\ntype Path<T> =\n T extends ReadonlyArray<infer V>\n ? IsTuple<T> extends true\n ? {\n [K in TupleKey<T>]-?: PathImpl<Exclude<K, symbol>, T[K]>\n }[TupleKey<T>] // tuple\n : PathImpl<ArrayKey, V> // array\n : {\n [K in keyof T]-?: PathImpl<Exclude<K, symbol>, T[K]>\n }[keyof T] // object\n\n/**\n * Type which collects all paths through a type\n *\n * 通过一个类型收集所有路径的类型\n *\n * @example\n * FieldPath<{ 1: number; a: number; b: string; c: { d: number; e: string }; f: [{ value: string }]; g: { value: string }[]; h: Date; i: FileList; j: File; k: Blob; l: RegExp }> => '1' | 'a' | 'b' | 'c' | 'f' | 'g' | 'c.d' | 'c.e' | 'f.0' | 'f.0.value' | 'g.number' | 'g.number.value' | 'h' | 'i' | 'j' | 'k' | 'l'\n */\nexport type FieldPath<T> = T extends object ? Path<T> : never\n\n/**\n * csstype 是 vue的依赖,因此,直接从vue中导入CSSProperties会导致ts类型解析错误,参考 https://github.com/pnpm/pnpm/issues/7453,因此,我们直接安装csstype,并从csstype中导入CSSProperties\n *\n * csstype is a dependency of vue, so importing CSSProperties directly from vue will cause ts type parsing errors, see https://github.com/pnpm/pnpm/issues/7453. Therefore, we directly install csstype and import CSSProperties from csstype.\n */\nexport interface CSSProperties\n extends\n CSS.Properties<string | number>,\n CSS.PropertiesHyphen<string | number> {\n /**\n * The index signature was removed to enable closed typing for style\n * using CSSType. You're able to use type assertion or module augmentation\n * to add properties or an index signature of your own.\n *\n * For examples and more information, visit:\n * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors\n */\n [v: `--${string}`]: string | number | undefined\n}\n\nexport type ObjectFit = CSSProperties['objectFit']\n\nexport type ZIndexType = CSSProperties['zIndex']\n\nexport type AlignItems = CSSProperties['alignItems']\n"],"mappings":";AAEA,MAAa,WACX,QACG"}
1
+ {"version":3,"file":"typescript.mjs","names":[],"sources":["../../../../packages/utils/typescript.ts"],"sourcesContent":["import type * as CSS from 'csstype'\n\nexport const mutable = <T extends readonly any[] | Record<string, unknown>>(\n val: T\n) => val as Mutable<typeof val>\nexport type Mutable<T> = { -readonly [P in keyof T]: T[P] }\n\nexport type HTMLElementCustomized<T> = HTMLElement & T\n\n/**\n * @deprecated stop to use null\n * @see {@link https://github.com/sindresorhus/meta/discussions/7}\n */\nexport type Nullable<T> = T | null\n\nexport type Arrayable<T> = T | T[]\nexport type Awaitable<T> = Promise<T> | T\n\ntype Primitive = null | undefined | string | number | boolean | symbol | bigint\ntype BrowserNativeObject = Date | FileList | File | Blob | RegExp\n\n/**\n * Check whether it is tuple\n *\n * 检查是否为元组\n *\n * @example\n * IsTuple<[1, 2, 3]> => true\n * IsTuple<Array[number]> => false\n */\ntype IsTuple<T extends ReadonlyArray<any>> = number extends T['length']\n ? false\n : true\n\n/**\n * Array method key\n *\n * 数组方法键\n */\ntype ArrayMethodKey = keyof any[]\n\n/**\n * Tuple index key\n *\n * 元组下标键\n *\n * @example\n * TupleKey<[1, 2, 3]> => '0' | '1' | '2'\n */\ntype TupleKey<T extends ReadonlyArray<any>> = Exclude<keyof T, ArrayMethodKey>\n\n/**\n * Array index key\n *\n * 数组下标键\n */\ntype ArrayKey = number\n\n/**\n * Helper type for recursively constructing paths through a type\n *\n * 用于通过一个类型递归构建路径的辅助类型\n */\ntype PathImpl<K extends string | number, V> = V extends\n Primitive | BrowserNativeObject\n ? `${K}`\n : `${K}` | `${K}.${Path<V>}`\n\n/**\n * Type which collects all paths through a type\n *\n * 通过一个类型收集所有路径的类型\n *\n * @see {@link FieldPath}\n */\ntype Path<T> =\n T extends ReadonlyArray<infer V>\n ? IsTuple<T> extends true\n ? {\n [K in TupleKey<T>]-?: PathImpl<Exclude<K, symbol>, T[K]>\n }[TupleKey<T>] // tuple\n : PathImpl<ArrayKey, V> // array\n : {\n [K in keyof T]-?: PathImpl<Exclude<K, symbol>, T[K]>\n }[keyof T] // object\n\n/**\n * Type which collects all paths through a type\n *\n * 通过一个类型收集所有路径的类型\n *\n * @example\n * FieldPath<{ 1: number; a: number; b: string; c: { d: number; e: string }; f: [{ value: string }]; g: { value: string }[]; h: Date; i: FileList; j: File; k: Blob; l: RegExp }> => '1' | 'a' | 'b' | 'c' | 'f' | 'g' | 'c.d' | 'c.e' | 'f.0' | 'f.0.value' | 'g.number' | 'g.number.value' | 'h' | 'i' | 'j' | 'k' | 'l'\n */\nexport type FieldPath<T> = T extends object ? Path<T> : never\n\n/**\n * csstype 是 vue的依赖,因此,直接从vue中导入CSSProperties会导致ts类型解析错误,参考 https://github.com/pnpm/pnpm/issues/7453,因此,我们直接安装csstype,并从csstype中导入CSSProperties\n *\n * csstype is a dependency of vue, so importing CSSProperties directly from vue will cause ts type parsing errors, see https://github.com/pnpm/pnpm/issues/7453. Therefore, we directly install csstype and import CSSProperties from csstype.\n */\nexport interface CSSProperties\n extends\n CSS.Properties<string | number>,\n CSS.PropertiesHyphen<string | number> {\n /**\n * The index signature was removed to enable closed typing for style\n * using CSSType. You're able to use type assertion or module augmentation\n * to add properties or an index signature of your own.\n *\n * For examples and more information, visit:\n * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors\n */\n [v: `--${string}`]: string | number | undefined\n}\n\nexport type ObjectFit = CSSProperties['objectFit']\n\nexport type ZIndexType = CSSProperties['zIndex']\n\nexport type AlignItems = CSSProperties['alignItems']\n\n// todo: Use the `ClassValue` type exported by Vue, after we upgrades its peer dependency to ^3.5.29\nexport type ClassValue =\n false | null | undefined | string | Record<string, any> | Array<ClassValue>\n"],"mappings":";AAEA,MAAa,WACX,QACG"}
@@ -1,6 +1,6 @@
1
1
  import { ComponentSize } from "../../constants/size.js";
2
2
 
3
3
  //#region ../../packages/utils/vue/size.d.ts
4
- declare const getComponentSize: (size?: ComponentSize) => 40 | 32 | 24;
4
+ declare const getComponentSize: (size?: ComponentSize) => 24 | 40 | 32;
5
5
  //#endregion
6
6
  export { getComponentSize };
@@ -33,12 +33,12 @@ declare function isTemplate(node: unknown): node is VNode;
33
33
  */
34
34
  declare function isValidElementNode(node: VNode): boolean;
35
35
  declare function isValidElementNode(node: unknown): node is VNode;
36
- declare const getFirstValidNode: (nodes: VNodeNormalizedChildren, maxDepth?: number) => string | number | boolean | void | _$vue.VNodeArrayChildren | {
36
+ declare const getFirstValidNode: (nodes: VNodeNormalizedChildren, maxDepth?: number) => string | number | boolean | void | VNode<_$vue.RendererNode, _$vue.RendererElement, {
37
+ [key: string]: any;
38
+ }> | _$vue.VNodeArrayChildren | {
37
39
  [name: string]: unknown;
38
40
  $stable?: boolean;
39
- } | VNode<_$vue.RendererNode, _$vue.RendererElement, {
40
- [key: string]: any;
41
- }> | null | undefined;
41
+ } | null | undefined;
42
42
  declare function renderIf(condition: boolean, ...args: Parameters<typeof createBlock>): VNode<_$vue.RendererNode, _$vue.RendererElement, {
43
43
  [key: string]: any;
44
44
  }>;
package/es/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  //#region ../../packages/element-plus/version.d.ts
2
- declare const version = "0.0.20260719";
2
+ declare const version = "0.0.20260721";
3
3
  //#endregion
4
4
  export { version };
package/es/version.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region ../../packages/element-plus/version.ts
2
- const version = "0.0.20260719";
2
+ const version = "0.0.20260721";
3
3
  //#endregion
4
4
  export { version };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","names":[],"sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20260719'\n"],"mappings":";AAAA,MAAa,UAAU"}
1
+ {"version":3,"file":"version.mjs","names":[],"sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20260721'\n"],"mappings":";AAAA,MAAa,UAAU"}
@@ -11,11 +11,11 @@ declare const __VLS_base: _$vue.DefineComponent<AffixProps, {
11
11
  /** @description update affix status */update: () => void; /** @description update rootRect info */
12
12
  updateRoot: () => Promise<void>;
13
13
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
14
- change: (fixed: boolean) => void;
15
14
  scroll: (args_0: {
16
15
  scrollTop: number;
17
16
  fixed: boolean;
18
17
  }) => void;
18
+ change: (fixed: boolean) => void;
19
19
  }, string, _$vue.PublicProps, Readonly<AffixProps> & Readonly<{
20
20
  onChange?: ((fixed: boolean) => any) | undefined;
21
21
  onScroll?: ((args_0: {
@@ -24,10 +24,10 @@ declare const __VLS_base: _$vue.DefineComponent<AffixProps, {
24
24
  }) => any) | undefined;
25
25
  }>, {
26
26
  position: "top" | "bottom";
27
- target: string;
27
+ appendTo: string | HTMLElement;
28
28
  zIndex: _$csstype.Property.ZIndex;
29
29
  offset: number;
30
- appendTo: string | HTMLElement;
30
+ target: string;
31
31
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
32
32
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
33
33
  declare const _default: typeof __VLS_export;
@@ -44,7 +44,7 @@ interface AlertProps {
44
44
  declare const alertProps: {
45
45
  readonly title: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
46
46
  readonly description: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
47
- readonly type: EpPropFinalized<StringConstructor, "error" | "info" | "primary" | "success" | "warning", unknown, "info", boolean>;
47
+ readonly type: EpPropFinalized<StringConstructor, "primary" | "success" | "warning" | "info" | "error", unknown, "info", boolean>;
48
48
  readonly closable: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
49
49
  readonly closeText: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
50
50
  readonly showIcon: BooleanConstructor;
@@ -17,11 +17,11 @@ declare const __VLS_base: _$vue.DefineComponent<AlertProps, {}, {}, {}, {}, _$vu
17
17
  onClose?: ((evt: MouseEvent) => any) | undefined;
18
18
  }>, {
19
19
  type: keyof typeof TypeComponentsMap;
20
+ effect: "light" | "dark";
20
21
  title: string;
21
22
  description: string;
22
23
  closable: boolean;
23
24
  closeText: string;
24
- effect: "light" | "dark";
25
25
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
26
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
27
  declare const _default: typeof __VLS_export;
@@ -16,8 +16,8 @@ declare const __VLS_base: _$vue.DefineComponent<AnchorProps, {
16
16
  onClick?: ((e: MouseEvent, href?: string | undefined) => any) | undefined;
17
17
  }>, {
18
18
  type: "default" | "underline";
19
- direction: "vertical" | "horizontal";
20
19
  offset: number;
20
+ direction: "vertical" | "horizontal";
21
21
  marker: boolean;
22
22
  duration: number;
23
23
  bound: number;
@@ -1,5 +1,5 @@
1
1
  import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js";
2
- import { Awaitable, Mutable } from "../../../utils/typescript.js";
2
+ import { Awaitable, ClassValue, Mutable } from "../../../utils/typescript.js";
3
3
  import { Options, Placement } from "../../popper/index.js";
4
4
  import { InputAutoSize, InputModelModifiers, InputProps, InputType } from "../../input/src/input.js";
5
5
  import { ElTooltipContentProps } from "../../tooltip/src/content.js";
@@ -93,108 +93,7 @@ declare const autocompleteProps: {
93
93
  readonly debounce: EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
94
94
  readonly placement: EpPropFinalized<(new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], "bottom" | "top" | "top-start" | "top-end" | "bottom-start" | "bottom-end", unknown, "bottom-start", boolean>;
95
95
  readonly fetchSuggestions: EpPropFinalized<(new (...args: any[]) => ((queryString: string, cb: AutocompleteFetchSuggestionsCallback<AutocompleteDataItem>) => Awaitable<void | AutocompleteData<AutocompleteDataItem>>) | AutocompleteData<AutocompleteDataItem>) | (() => AutocompleteFetchSuggestions<AutocompleteDataItem>) | (((new (...args: any[]) => ((queryString: string, cb: AutocompleteFetchSuggestionsCallback<AutocompleteDataItem>) => Awaitable<void | AutocompleteData<AutocompleteDataItem>>) | AutocompleteData<AutocompleteDataItem>) | (() => AutocompleteFetchSuggestions<AutocompleteDataItem>)) | null)[], unknown, unknown, () => void, boolean>;
96
- readonly popperClass: {
97
- readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | {
98
- [x: string]: boolean;
99
- } | (string | {
100
- [x: string]: boolean;
101
- } | (string | {
102
- [x: string]: boolean;
103
- } | (string | {
104
- [x: string]: boolean;
105
- } | (string | {
106
- [x: string]: boolean;
107
- } | (string | {
108
- [x: string]: boolean;
109
- } | (string | {
110
- [x: string]: boolean;
111
- } | (string | {
112
- [x: string]: boolean;
113
- } | (string | {
114
- [x: string]: boolean;
115
- } | (string | {
116
- [x: string]: boolean;
117
- } | (string | {
118
- [x: string]: boolean;
119
- } | (string | {
120
- [x: string]: boolean;
121
- } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[]) | (() => string | {
122
- [x: string]: boolean;
123
- } | (string | {
124
- [x: string]: boolean;
125
- } | (string | {
126
- [x: string]: boolean;
127
- } | (string | {
128
- [x: string]: boolean;
129
- } | (string | {
130
- [x: string]: boolean;
131
- } | (string | {
132
- [x: string]: boolean;
133
- } | (string | {
134
- [x: string]: boolean;
135
- } | (string | {
136
- [x: string]: boolean;
137
- } | (string | {
138
- [x: string]: boolean;
139
- } | (string | {
140
- [x: string]: boolean;
141
- } | (string | {
142
- [x: string]: boolean;
143
- } | (string | {
144
- [x: string]: boolean;
145
- } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[]) | (((new (...args: any[]) => string | {
146
- [x: string]: boolean;
147
- } | (string | {
148
- [x: string]: boolean;
149
- } | (string | {
150
- [x: string]: boolean;
151
- } | (string | {
152
- [x: string]: boolean;
153
- } | (string | {
154
- [x: string]: boolean;
155
- } | (string | {
156
- [x: string]: boolean;
157
- } | (string | {
158
- [x: string]: boolean;
159
- } | (string | {
160
- [x: string]: boolean;
161
- } | (string | {
162
- [x: string]: boolean;
163
- } | (string | {
164
- [x: string]: boolean;
165
- } | (string | {
166
- [x: string]: boolean;
167
- } | (string | {
168
- [x: string]: boolean;
169
- } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[]) | (() => string | {
170
- [x: string]: boolean;
171
- } | (string | {
172
- [x: string]: boolean;
173
- } | (string | {
174
- [x: string]: boolean;
175
- } | (string | {
176
- [x: string]: boolean;
177
- } | (string | {
178
- [x: string]: boolean;
179
- } | (string | {
180
- [x: string]: boolean;
181
- } | (string | {
182
- [x: string]: boolean;
183
- } | (string | {
184
- [x: string]: boolean;
185
- } | (string | {
186
- [x: string]: boolean;
187
- } | (string | {
188
- [x: string]: boolean;
189
- } | (string | {
190
- [x: string]: boolean;
191
- } | (string | {
192
- [x: string]: boolean;
193
- } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[])) | null)[], unknown, unknown>>;
194
- readonly required: false;
195
- readonly validator: ((val: unknown) => boolean) | undefined;
196
- __epPropKey: true;
197
- };
96
+ readonly popperClass: EpPropFinalized<(new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue) | (((new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue)) | null)[], unknown, unknown, undefined, boolean>;
198
97
  readonly popperStyle: EpPropFinalized<(new (...args: any[]) => string | false | _$vue.CSSProperties | _$vue.StyleValue[]) | (() => _$vue.StyleValue) | (((new (...args: any[]) => string | false | _$vue.CSSProperties | _$vue.StyleValue[]) | (() => _$vue.StyleValue)) | null)[], unknown, unknown, undefined, boolean>;
199
98
  readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
200
99
  readonly showArrow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
@@ -211,12 +110,12 @@ declare const autocompleteProps: {
211
110
  readonly highlightFirstItem: BooleanConstructor;
212
111
  readonly fitInputWidth: BooleanConstructor;
213
112
  readonly loopNavigation: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
214
- readonly inputmode: EpPropFinalized<(new (...args: any[]) => "none" | "text" | "search" | "email" | "tel" | "url" | "numeric" | "decimal") | (() => "none" | "text" | "search" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "none" | "text" | "search" | "email" | "tel" | "url" | "numeric" | "decimal") | (() => "none" | "text" | "search" | "email" | "tel" | "url" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
113
+ readonly inputmode: EpPropFinalized<(new (...args: any[]) => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined) | (((new (...args: any[]) => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal") | (() => "search" | "text" | "email" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined)) | null)[], unknown, unknown, undefined, boolean>;
215
114
  readonly name: StringConstructor;
216
115
  readonly ariaLabel: StringConstructor;
217
116
  readonly id: EpPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
218
117
  readonly size: {
219
- readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
118
+ readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
220
119
  readonly required: false;
221
120
  readonly validator: ((val: unknown) => boolean) | undefined;
222
121
  __epPropKey: true;
@@ -237,7 +136,7 @@ declare const autocompleteProps: {
237
136
  };
238
137
  readonly type: EpPropFinalized<(new (...args: any[]) => string) | (() => InputType) | (((new (...args: any[]) => string) | (() => InputType)) | null)[], unknown, unknown, "text", boolean>;
239
138
  readonly resize: {
240
- readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "horizontal" | "vertical" | "none" | "both", unknown>>;
139
+ readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "none" | "both" | "horizontal" | "vertical", unknown>>;
241
140
  readonly required: false;
242
141
  readonly validator: ((val: unknown) => boolean) | undefined;
243
142
  __epPropKey: true;
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.js","names":["buildProps","inputProps","definePropType","NOOP","useTooltipContentProps","UPDATE_MODEL_EVENT","isNumber","INPUT_EVENT","CHANGE_EVENT"],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import {\n NOOP,\n buildProps,\n definePropType,\n isNumber,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { inputProps } from '@element-plus/components/input'\n\nimport type { ComponentInstance, ExtractPublicPropTypes } from 'vue'\nimport type { ComponentExposed } from 'vue-component-type-helpers'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Options, Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\nimport type { InputProps } from '@element-plus/components/input'\nimport type { ElTooltipContentProps } from '@element-plus/components/tooltip'\n\nexport type AutocompleteDataItem = Record<string, any>\nexport type AutocompleteData<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> = T[]\nexport type AutocompleteFetchSuggestionsCallback<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> = (data: AutocompleteData<T>) => void\nexport type AutocompleteFetchSuggestions<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> =\n | ((\n queryString: string,\n cb: AutocompleteFetchSuggestionsCallback<T>\n ) => Awaitable<AutocompleteData<T> | void>)\n | AutocompleteData<T>\n\nexport type AutocompletePlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n\nexport interface AutocompleteProps<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> extends InputProps {\n /**\n * @description key name of the input suggestion object for display\n */\n valueKey?: string\n /**\n * @description binding value\n */\n modelValue?: string | number\n /**\n * @description debounce delay when typing, in milliseconds\n */\n debounce?: number\n /**\n * @description placement of the popup menu\n */\n placement?: AutocompletePlacement\n /**\n * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete\n */\n fetchSuggestions?: AutocompleteFetchSuggestions<T>\n /**\n * @description custom class name for autocomplete's dropdown\n */\n popperClass?: ElTooltipContentProps['popperClass']\n /**\n * @description custom style for autocomplete's dropdown\n */\n popperStyle?: ElTooltipContentProps['popperStyle']\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions?: Partial<Options>\n /**\n * @description determines whether the arrow is displayed\n */\n showArrow?: boolean\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus?: boolean\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched?: boolean\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading?: boolean\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported?: ElTooltipContentProps['teleported']\n /**\n * @description which select dropdown appends to\n */\n appendTo?: ElTooltipContentProps['appendTo']\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem?: boolean\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth?: boolean\n /**\n * @description whether keyboard navigation loops from end to start\n */\n loopNavigation?: boolean\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `AutocompleteProps` instead.\n */\nexport const autocompleteProps = buildProps({\n ...inputProps,\n /**\n * @description key name of the input suggestion object for display\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description debounce delay when typing, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description placement of the popup menu\n */\n placement: {\n type: definePropType<Placement>(String),\n values: [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n default: 'bottom-start',\n },\n /**\n * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete\n */\n fetchSuggestions: {\n type: definePropType<AutocompleteFetchSuggestions>([Function, Array]),\n default: NOOP,\n },\n /**\n * @description custom class name for autocomplete's dropdown\n */\n popperClass: useTooltipContentProps.popperClass,\n /**\n * @description custom style for autocomplete's dropdown\n */\n popperStyle: useTooltipContentProps.popperStyle,\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: useTooltipContentProps.popperOptions,\n /**\n * @description determines whether the arrow is displayed\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched: Boolean,\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading: Boolean,\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description which select dropdown appends to\n */\n appendTo: useTooltipContentProps.appendTo,\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem: Boolean,\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: Boolean,\n /**\n * @description whether keyboard navigation loops from end to start\n */\n loopNavigation: {\n type: Boolean,\n default: true,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `AutocompleteProps` instead.\n */\nexport type AutocompletePropsPublic = ExtractPublicPropTypes<\n typeof autocompleteProps\n>\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string | number) =>\n isString(value) || isNumber(value),\n [INPUT_EVENT]: (value: string | number) => isString(value) || isNumber(value),\n [CHANGE_EVENT]: (value: string | number) =>\n isString(value) || isNumber(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n select: (item: Record<string, any>) => isObject(item),\n}\nexport type AutocompleteEmits = typeof autocompleteEmits\n\nexport type AutocompleteInstance = ComponentInstance<typeof Autocomplete> &\n ComponentExposed<typeof Autocomplete>\n"],"mappings":";;;;;;;;;;;;AA4HA,MAAa,oBAAoBA,kBAAAA,WAAW;CAC1C,GAAGC,cAAAA;;;;CAIH,UAAU;EACR,MAAM;EACN,SAAS;EACV;;;;CAID,YAAY;EACV,MAAM,CAAC,QAAQ,OAAO;EACtB,SAAS;EACV;;;;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;;;;CAID,WAAW;EACT,MAAMC,kBAAAA,eAA0B,OAAO;EACvC,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;GACD;EACD,SAAS;EACV;;;;CAID,kBAAkB;EAChB,MAAMA,kBAAAA,eAA6C,CAAC,UAAU,MAAM,CAAC;EACrE,SAASC,YAAAA;EACV;;;;CAID,aAAaC,gBAAAA,uBAAuB;;;;CAIpC,aAAaA,gBAAAA,uBAAuB;;;;CAIpC,eAAeA,gBAAAA,uBAAuB;;;;CAItC,WAAW;EACT,MAAM;EACN,SAAS;EACV;;;;CAID,gBAAgB;EACd,MAAM;EACN,SAAS;EACV;;;;CAID,qBAAqB;;;;CAIrB,aAAa;;;;CAIb,YAAYA,gBAAAA,uBAAuB;;;;CAInC,UAAUA,gBAAAA,uBAAuB;;;;CAIjC,oBAAoB;;;;CAIpB,eAAe;;;;CAIf,gBAAgB;EACd,MAAM;EACN,SAAS;EACV;CACF,CAAU;AASX,MAAa,oBAAoB;EAC9BC,cAAAA,sBAAsB,WAAA,GAAA,YAAA,UACZ,MAAM,IAAIC,cAAAA,SAAS,MAAM;EACnCC,cAAAA,eAAe,WAAA,GAAA,YAAA,UAAoC,MAAM,IAAID,cAAAA,SAAS,MAAM;EAC5EE,cAAAA,gBAAgB,WAAA,GAAA,YAAA,UACN,MAAM,IAAIF,cAAAA,SAAS,MAAM;CACpC,QAAQ,QAAoB,eAAe;CAC3C,OAAO,QAAoB,eAAe;CAC1C,aAAa;CACb,SAAS,UAAA,GAAA,YAAA,UAAuC,KAAK;CACtD"}
1
+ {"version":3,"file":"autocomplete.js","names":["buildProps","inputProps","definePropType","NOOP","useTooltipContentProps","UPDATE_MODEL_EVENT","isNumber","INPUT_EVENT","CHANGE_EVENT"],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.ts"],"sourcesContent":["import {\n NOOP,\n buildProps,\n definePropType,\n isNumber,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { inputProps } from '@element-plus/components/input'\n\nimport type { ComponentInstance, ExtractPublicPropTypes } from 'vue'\nimport type { ComponentExposed } from 'vue-component-type-helpers'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Options, Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\nimport type { InputProps } from '@element-plus/components/input'\nimport type { ElTooltipContentProps } from '@element-plus/components/tooltip'\n\nexport type AutocompleteDataItem = Record<string, any>\nexport type AutocompleteData<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> = T[]\nexport type AutocompleteFetchSuggestionsCallback<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> = (data: AutocompleteData<T>) => void\nexport type AutocompleteFetchSuggestions<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> =\n | ((\n queryString: string,\n cb: AutocompleteFetchSuggestionsCallback<T>\n ) => Awaitable<AutocompleteData<T> | void>)\n | AutocompleteData<T>\n\nexport type AutocompletePlacement =\n 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end'\n\nexport interface AutocompleteProps<\n T extends AutocompleteDataItem = AutocompleteDataItem,\n> extends InputProps {\n /**\n * @description key name of the input suggestion object for display\n */\n valueKey?: string\n /**\n * @description binding value\n */\n modelValue?: string | number\n /**\n * @description debounce delay when typing, in milliseconds\n */\n debounce?: number\n /**\n * @description placement of the popup menu\n */\n placement?: AutocompletePlacement\n /**\n * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete\n */\n fetchSuggestions?: AutocompleteFetchSuggestions<T>\n /**\n * @description custom class name for autocomplete's dropdown\n */\n popperClass?: ElTooltipContentProps['popperClass']\n /**\n * @description custom style for autocomplete's dropdown\n */\n popperStyle?: ElTooltipContentProps['popperStyle']\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions?: Partial<Options>\n /**\n * @description determines whether the arrow is displayed\n */\n showArrow?: boolean\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus?: boolean\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched?: boolean\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading?: boolean\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported?: ElTooltipContentProps['teleported']\n /**\n * @description which select dropdown appends to\n */\n appendTo?: ElTooltipContentProps['appendTo']\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem?: boolean\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth?: boolean\n /**\n * @description whether keyboard navigation loops from end to start\n */\n loopNavigation?: boolean\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `AutocompleteProps` instead.\n */\nexport const autocompleteProps = buildProps({\n ...inputProps,\n /**\n * @description key name of the input suggestion object for display\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description debounce delay when typing, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description placement of the popup menu\n */\n placement: {\n type: definePropType<Placement>(String),\n values: [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n default: 'bottom-start',\n },\n /**\n * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete\n */\n fetchSuggestions: {\n type: definePropType<AutocompleteFetchSuggestions>([Function, Array]),\n default: NOOP,\n },\n /**\n * @description custom class name for autocomplete's dropdown\n */\n popperClass: useTooltipContentProps.popperClass,\n /**\n * @description custom style for autocomplete's dropdown\n */\n popperStyle: useTooltipContentProps.popperStyle,\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: useTooltipContentProps.popperOptions,\n /**\n * @description determines whether the arrow is displayed\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched: Boolean,\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading: Boolean,\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description which select dropdown appends to\n */\n appendTo: useTooltipContentProps.appendTo,\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem: Boolean,\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: Boolean,\n /**\n * @description whether keyboard navigation loops from end to start\n */\n loopNavigation: {\n type: Boolean,\n default: true,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `AutocompleteProps` instead.\n */\nexport type AutocompletePropsPublic = ExtractPublicPropTypes<\n typeof autocompleteProps\n>\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string | number) =>\n isString(value) || isNumber(value),\n [INPUT_EVENT]: (value: string | number) => isString(value) || isNumber(value),\n [CHANGE_EVENT]: (value: string | number) =>\n isString(value) || isNumber(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n select: (item: Record<string, any>) => isObject(item),\n}\nexport type AutocompleteEmits = typeof autocompleteEmits\n\nexport type AutocompleteInstance = ComponentInstance<typeof Autocomplete> &\n ComponentExposed<typeof Autocomplete>\n"],"mappings":";;;;;;;;;;;;AAuHA,MAAa,oBAAoBA,kBAAAA,WAAW;CAC1C,GAAGC,cAAAA;;;;CAIH,UAAU;EACR,MAAM;EACN,SAAS;EACV;;;;CAID,YAAY;EACV,MAAM,CAAC,QAAQ,OAAO;EACtB,SAAS;EACV;;;;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;;;;CAID,WAAW;EACT,MAAMC,kBAAAA,eAA0B,OAAO;EACvC,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;GACD;EACD,SAAS;EACV;;;;CAID,kBAAkB;EAChB,MAAMA,kBAAAA,eAA6C,CAAC,UAAU,MAAM,CAAC;EACrE,SAASC,YAAAA;EACV;;;;CAID,aAAaC,gBAAAA,uBAAuB;;;;CAIpC,aAAaA,gBAAAA,uBAAuB;;;;CAIpC,eAAeA,gBAAAA,uBAAuB;;;;CAItC,WAAW;EACT,MAAM;EACN,SAAS;EACV;;;;CAID,gBAAgB;EACd,MAAM;EACN,SAAS;EACV;;;;CAID,qBAAqB;;;;CAIrB,aAAa;;;;CAIb,YAAYA,gBAAAA,uBAAuB;;;;CAInC,UAAUA,gBAAAA,uBAAuB;;;;CAIjC,oBAAoB;;;;CAIpB,eAAe;;;;CAIf,gBAAgB;EACd,MAAM;EACN,SAAS;EACV;CACF,CAAU;AASX,MAAa,oBAAoB;EAC9BC,cAAAA,sBAAsB,WAAA,GAAA,YAAA,UACZ,MAAM,IAAIC,cAAAA,SAAS,MAAM;EACnCC,cAAAA,eAAe,WAAA,GAAA,YAAA,UAAoC,MAAM,IAAID,cAAAA,SAAS,MAAM;EAC5EE,cAAAA,gBAAgB,WAAA,GAAA,YAAA,UACN,MAAM,IAAIF,cAAAA,SAAS,MAAM;CACpC,QAAQ,QAAoB,eAAe;CAC3C,OAAO,QAAoB,eAAe;CAC1C,aAAa;CACb,SAAS,UAAA,GAAA,YAAA,UAAuC,KAAK;CACtD"}
@@ -7,13 +7,13 @@ import { Ref } from "vue";
7
7
  //#region ../../packages/components/autocomplete/src/autocomplete.vue.d.ts
8
8
  declare const __VLS_export: <T extends AutocompleteDataItem = AutocompleteDataItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
9
9
  props: _$vue.PublicProps & __VLS_PrettifyLocal<AutocompleteProps<T> & {
10
- onChange?: ((value: string | number) => any) | undefined;
11
- onClear?: (() => any) | undefined;
12
10
  "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
13
11
  onInput?: ((value: string | number) => any) | undefined;
14
- onSelect?: ((item: Record<string, any>) => any) | undefined;
15
- onBlur?: ((evt: FocusEvent) => any) | undefined;
12
+ onChange?: ((value: string | number) => any) | undefined;
16
13
  onFocus?: ((evt: FocusEvent) => any) | undefined;
14
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
15
+ onClear?: (() => any) | undefined;
16
+ onSelect?: ((item: Record<string, any>) => any) | undefined;
17
17
  }> & (typeof globalThis extends {
18
18
  __VLS_PROPS_FALLBACK: infer P;
19
19
  } ? P : {});
@@ -52,7 +52,7 @@ declare const __VLS_export: <T extends AutocompleteDataItem = AutocompleteDataIt
52
52
  } & {
53
53
  footer?: (props: {}) => any;
54
54
  };
55
- emit: ((event: "change", value: string | number) => void) & ((event: "clear") => void) & ((event: "update:modelValue", value: string | number) => void) & ((event: "input", value: string | number) => void) & ((event: "select", item: Record<string, any>) => void) & ((event: "blur", evt: FocusEvent) => void) & ((event: "focus", evt: FocusEvent) => void);
55
+ emit: ((event: "update:modelValue", value: string | number) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "blur", evt: FocusEvent) => void) & ((event: "clear") => void) & ((event: "select", item: Record<string, any>) => void) & ((event: "change", value: string | number) => void) & ((event: "input", value: string | number) => void);
56
56
  }>) => _$vue.VNode & {
57
57
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
58
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.vue_vue_type_script_setup_true_lang.js","names":["$slots","$attrs"],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :show-arrow=\"showArrow\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script\n lang=\"ts\"\n setup\n generic=\"T extends AutocompleteDataItem = AutocompleteDataItem\"\n>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, { inputPropsDefaults } 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 { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n showArrow: true,\n popperOptions: () => ({}),\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref([]) as Ref<AutocompleteData<T>>\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData<T>) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: T) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\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 = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"autocomplete.vue_vue_type_script_setup_true_lang.js","names":["$slots","$attrs"],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :show-arrow=\"showArrow\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script\n lang=\"ts\"\n setup\n generic=\"T extends AutocompleteDataItem = AutocompleteDataItem\"\n>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, { inputPropsDefaults } 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 { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n showArrow: true,\n popperClass: undefined,\n popperStyle: undefined,\n popperOptions: () => ({}),\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref([]) as Ref<AutocompleteData<T>>\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData<T>) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: T) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\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 = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete2.js","names":[],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :show-arrow=\"showArrow\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script\n lang=\"ts\"\n setup\n generic=\"T extends AutocompleteDataItem = AutocompleteDataItem\"\n>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, { inputPropsDefaults } 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 { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n showArrow: true,\n popperOptions: () => ({}),\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref([]) as Ref<AutocompleteData<T>>\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData<T>) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: T) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\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 = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":""}
1
+ {"version":3,"file":"autocomplete2.js","names":[],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :show-arrow=\"showArrow\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script\n lang=\"ts\"\n setup\n generic=\"T extends AutocompleteDataItem = AutocompleteDataItem\"\n>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, { inputPropsDefaults } 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 { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n showArrow: true,\n popperClass: undefined,\n popperStyle: undefined,\n popperOptions: () => ({}),\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref([]) as Ref<AutocompleteData<T>>\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData<T>) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: T) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\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 = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":""}