@element-plus/nightly 0.0.20220108 → 0.0.20220112

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 (279) hide show
  1. package/README.md +27 -82
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +440 -445
  5. package/dist/index.full.min.js +8 -8
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +8 -8
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +444 -450
  10. package/es/components/autocomplete/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  11. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs +1 -0
  12. package/es/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.mjs.map +1 -1
  13. package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs +4 -4
  14. package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs.map +1 -1
  15. package/es/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.mjs.map +1 -1
  16. package/es/components/cascader/index.d.ts +18 -2
  17. package/es/components/cascader/src/index.vue.d.ts +9 -1
  18. package/es/components/cascader/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  19. package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs +5 -3
  20. package/es/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.mjs.map +1 -1
  21. package/es/components/color-picker/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  22. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs +2 -1
  23. package/es/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.mjs.map +1 -1
  24. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs +6 -0
  25. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.mjs.map +1 -1
  26. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.mjs.map +1 -1
  27. package/es/components/descriptions/index.d.ts +4 -4
  28. package/es/components/descriptions/src/description-item.d.ts +2 -2
  29. package/es/components/dropdown/index.d.ts +19 -7
  30. package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_script_lang.mjs.map +1 -1
  31. package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs +32 -26
  32. package/es/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.mjs.map +1 -1
  33. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -2
  34. package/es/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.mjs +6 -3
  35. package/es/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.mjs.map +1 -1
  36. package/es/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.mjs.map +1 -1
  37. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -0
  38. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.mjs +8 -7
  39. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.mjs.map +1 -1
  40. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.mjs +1 -1
  41. package/es/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.mjs.map +1 -1
  42. package/es/components/dropdown/src/dropdown.vue.d.ts +11 -3
  43. package/es/components/dropdown/src/dropdown.vue_vue_type_script_lang.mjs.map +1 -1
  44. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs +1 -0
  45. package/es/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.mjs.map +1 -1
  46. package/es/components/index.mjs +1 -0
  47. package/es/components/index.mjs.map +1 -1
  48. package/es/components/menu/src/menu-item.vue_vue_type_script_lang.mjs.map +1 -1
  49. package/es/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.mjs +2 -1
  50. package/es/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.mjs.map +1 -1
  51. package/es/components/message-box/src/index.vue.d.ts +2 -2
  52. package/es/components/pagination/index.d.ts +2 -2
  53. package/es/components/pagination/src/pagination.d.ts +2 -2
  54. package/es/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.mjs.map +1 -1
  55. package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs +2 -1
  56. package/es/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.mjs.map +1 -1
  57. package/es/components/popover/index.d.ts +18 -2
  58. package/es/components/popover/src/index.vue.d.ts +9 -1
  59. package/es/components/popover/src/index.vue_vue_type_script_lang.mjs.map +1 -1
  60. package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs +2 -1
  61. package/es/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.mjs.map +1 -1
  62. package/es/components/popper/src/content.vue_vue_type_script_lang.mjs +2 -1
  63. package/es/components/popper/src/content.vue_vue_type_script_lang.mjs.map +1 -1
  64. package/es/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.mjs.map +1 -1
  65. package/es/components/popper/src/trigger.vue.d.ts +3 -3
  66. package/es/components/popper/src/trigger.vue_vue_type_script_lang.mjs +2 -2
  67. package/es/components/popper/src/trigger.vue_vue_type_script_lang.mjs.map +1 -1
  68. package/es/components/popper/src/trigger.vue_vue_type_template_id_4fb6e0af_lang.mjs.map +1 -1
  69. package/es/components/roving-focus-group/src/roving-focus-group-impl.vue.d.ts +1 -1
  70. package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  71. package/es/components/select/index.d.ts +9 -1
  72. package/es/components/select/src/select.vue.d.ts +9 -1
  73. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  74. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs +1 -0
  75. package/es/components/select/src/select.vue_vue_type_template_id_33774f85_lang.mjs.map +1 -1
  76. package/es/components/select/src/useSelect.d.ts +9 -1
  77. package/es/components/select-v2/index.d.ts +18 -2
  78. package/es/components/select-v2/src/select.vue.d.ts +9 -1
  79. package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  80. package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs +1 -0
  81. package/es/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.mjs.map +1 -1
  82. package/es/components/select-v2/src/useSelect.d.ts +9 -1
  83. package/es/components/slider/src/button.vue_vue_type_script_lang.mjs.map +1 -1
  84. package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs +2 -1
  85. package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs.map +1 -1
  86. package/es/components/table/src/filter-panel.vue.d.ts +9 -1
  87. package/es/components/table/src/filter-panel.vue_vue_type_script_lang.mjs.map +1 -1
  88. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs +2 -1
  89. package/es/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.mjs.map +1 -1
  90. package/es/components/time-picker/src/common/picker.vue.d.ts +9 -1
  91. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs +6 -2
  92. package/es/components/time-picker/src/common/picker.vue_vue_type_script_lang.mjs.map +1 -1
  93. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs +5 -2
  94. package/es/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.mjs.map +1 -1
  95. package/es/components/time-select/index.d.ts +14 -0
  96. package/es/components/time-select/src/time-select.vue.d.ts +7 -0
  97. package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs +45 -7
  98. package/es/components/time-select/src/time-select.vue_vue_type_script_lang.mjs.map +1 -1
  99. package/es/components/time-select/src/time-select.vue_vue_type_template_id_5beb6389_lang.mjs.map +1 -1
  100. package/es/components/tooltip/index.d.ts +5 -0
  101. package/es/components/tooltip/index.mjs +1 -0
  102. package/es/components/tooltip/index.mjs.map +1 -1
  103. package/es/components/tooltip/src/content.vue.d.ts +13 -6
  104. package/es/components/tooltip/src/content.vue_vue_type_script_lang.mjs +42 -67
  105. package/es/components/tooltip/src/content.vue_vue_type_script_lang.mjs.map +1 -1
  106. package/es/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.mjs +53 -56
  107. package/es/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.mjs.map +1 -1
  108. package/es/components/tooltip/src/tokens.d.ts +1 -0
  109. package/es/components/tooltip/src/tokens.mjs.map +1 -1
  110. package/es/components/tooltip/src/tooltip.d.ts +2 -0
  111. package/es/components/tooltip/src/tooltip.mjs +8 -0
  112. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  113. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -0
  114. package/es/components/tooltip/src/tooltip.vue_vue_type_script_lang.mjs +2 -1
  115. package/es/components/tooltip/src/tooltip.vue_vue_type_script_lang.mjs.map +1 -1
  116. package/es/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.mjs +2 -1
  117. package/es/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.mjs.map +1 -1
  118. package/es/components/tooltip/src/trigger.vue.d.ts +1 -1
  119. package/es/components/tooltip/src/trigger.vue_vue_type_script_lang.mjs +2 -2
  120. package/es/components/tooltip/src/trigger.vue_vue_type_script_lang.mjs.map +1 -1
  121. package/es/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.mjs +2 -2
  122. package/es/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.mjs.map +1 -1
  123. package/es/components/tree/src/model/useDragNode.mjs +1 -1
  124. package/es/components/tree/src/model/useDragNode.mjs.map +1 -1
  125. package/es/components/tree/src/tree-node.vue_vue_type_script_lang.mjs +1 -1
  126. package/es/components/tree/src/tree-node.vue_vue_type_script_lang.mjs.map +1 -1
  127. package/es/components/tree/src/tree-node.vue_vue_type_template_id_62959aba_lang.mjs.map +1 -1
  128. package/es/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  129. package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  130. package/es/components/virtual-list/src/builders/build-list.d.ts +2 -2
  131. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  132. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  133. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  134. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  135. package/es/index.mjs +1 -0
  136. package/es/index.mjs.map +1 -1
  137. package/es/version.d.ts +1 -1
  138. package/es/version.mjs +1 -1
  139. package/es/version.mjs.map +1 -1
  140. package/lib/components/autocomplete/src/index.vue_vue_type_script_lang.js.map +1 -1
  141. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js +1 -0
  142. package/lib/components/autocomplete/src/index.vue_vue_type_template_id_2f09f285_lang.js.map +1 -1
  143. package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js +4 -4
  144. package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js.map +1 -1
  145. package/lib/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.js.map +1 -1
  146. package/lib/components/cascader/index.d.ts +18 -2
  147. package/lib/components/cascader/src/index.vue.d.ts +9 -1
  148. package/lib/components/cascader/src/index.vue_vue_type_script_lang.js.map +1 -1
  149. package/lib/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.js +4 -2
  150. package/lib/components/cascader/src/index.vue_vue_type_template_id_0429c2db_lang.js.map +1 -1
  151. package/lib/components/color-picker/src/index.vue_vue_type_script_lang.js.map +1 -1
  152. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js +2 -1
  153. package/lib/components/color-picker/src/index.vue_vue_type_template_id_46a474d5_lang.js.map +1 -1
  154. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js +6 -0
  155. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_script_lang.js.map +1 -1
  156. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue_vue_type_template_id_78e07aa7_lang.js.map +1 -1
  157. package/lib/components/descriptions/index.d.ts +4 -4
  158. package/lib/components/descriptions/src/description-item.d.ts +2 -2
  159. package/lib/components/dropdown/index.d.ts +19 -7
  160. package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_script_lang.js.map +1 -1
  161. package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.js +31 -25
  162. package/lib/components/dropdown/src/dropdown-item-impl.vue_vue_type_template_id_6daab4f2_lang.js.map +1 -1
  163. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -2
  164. package/lib/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.js +6 -3
  165. package/lib/components/dropdown/src/dropdown-item.vue_vue_type_script_lang.js.map +1 -1
  166. package/lib/components/dropdown/src/dropdown-item.vue_vue_type_template_id_396ed16b_lang.js.map +1 -1
  167. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -0
  168. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.js +7 -6
  169. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_script_lang.js.map +1 -1
  170. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.js +1 -1
  171. package/lib/components/dropdown/src/dropdown-menu.vue_vue_type_template_id_617b3492_lang.js.map +1 -1
  172. package/lib/components/dropdown/src/dropdown.vue.d.ts +11 -3
  173. package/lib/components/dropdown/src/dropdown.vue_vue_type_script_lang.js.map +1 -1
  174. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js +1 -0
  175. package/lib/components/dropdown/src/dropdown.vue_vue_type_template_id_3ed790a5_lang.js.map +1 -1
  176. package/lib/components/index.js +2 -0
  177. package/lib/components/index.js.map +1 -1
  178. package/lib/components/menu/src/menu-item.vue_vue_type_script_lang.js.map +1 -1
  179. package/lib/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.js +2 -1
  180. package/lib/components/menu/src/menu-item.vue_vue_type_template_id_aa755baa_lang.js.map +1 -1
  181. package/lib/components/message-box/src/index.vue.d.ts +2 -2
  182. package/lib/components/pagination/index.d.ts +2 -2
  183. package/lib/components/pagination/src/pagination.d.ts +2 -2
  184. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_script_lang.js.map +1 -1
  185. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js +2 -1
  186. package/lib/components/popconfirm/src/popconfirm.vue_vue_type_template_id_16409d25_lang.js.map +1 -1
  187. package/lib/components/popover/index.d.ts +18 -2
  188. package/lib/components/popover/src/index.vue.d.ts +9 -1
  189. package/lib/components/popover/src/index.vue_vue_type_script_lang.js.map +1 -1
  190. package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js +2 -1
  191. package/lib/components/popover/src/index.vue_vue_type_template_id_15486cf0_lang.js.map +1 -1
  192. package/lib/components/popper/src/content.vue_vue_type_script_lang.js +2 -1
  193. package/lib/components/popper/src/content.vue_vue_type_script_lang.js.map +1 -1
  194. package/lib/components/popper/src/content.vue_vue_type_template_id_611b76f0_lang.js.map +1 -1
  195. package/lib/components/popper/src/trigger.vue.d.ts +3 -3
  196. package/lib/components/popper/src/trigger.vue_vue_type_script_lang.js +2 -2
  197. package/lib/components/popper/src/trigger.vue_vue_type_script_lang.js.map +1 -1
  198. package/lib/components/popper/src/trigger.vue_vue_type_template_id_4fb6e0af_lang.js.map +1 -1
  199. package/lib/components/roving-focus-group/src/roving-focus-group-impl.vue.d.ts +1 -1
  200. package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  201. package/lib/components/select/index.d.ts +9 -1
  202. package/lib/components/select/src/select.vue.d.ts +9 -1
  203. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  204. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js +1 -0
  205. package/lib/components/select/src/select.vue_vue_type_template_id_33774f85_lang.js.map +1 -1
  206. package/lib/components/select/src/useSelect.d.ts +9 -1
  207. package/lib/components/select-v2/index.d.ts +18 -2
  208. package/lib/components/select-v2/src/select.vue.d.ts +9 -1
  209. package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
  210. package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js +1 -0
  211. package/lib/components/select-v2/src/select.vue_vue_type_template_id_13e598a4_lang.js.map +1 -1
  212. package/lib/components/select-v2/src/useSelect.d.ts +9 -1
  213. package/lib/components/slider/src/button.vue_vue_type_script_lang.js.map +1 -1
  214. package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js +2 -1
  215. package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js.map +1 -1
  216. package/lib/components/table/src/filter-panel.vue.d.ts +9 -1
  217. package/lib/components/table/src/filter-panel.vue_vue_type_script_lang.js.map +1 -1
  218. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js +2 -1
  219. package/lib/components/table/src/filter-panel.vue_vue_type_template_id_fde1c940_lang.js.map +1 -1
  220. package/lib/components/time-picker/src/common/picker.vue.d.ts +9 -1
  221. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js +6 -2
  222. package/lib/components/time-picker/src/common/picker.vue_vue_type_script_lang.js.map +1 -1
  223. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js +5 -2
  224. package/lib/components/time-picker/src/common/picker.vue_vue_type_template_id_1d54be91_lang.js.map +1 -1
  225. package/lib/components/time-select/index.d.ts +14 -0
  226. package/lib/components/time-select/src/time-select.vue.d.ts +7 -0
  227. package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js +50 -7
  228. package/lib/components/time-select/src/time-select.vue_vue_type_script_lang.js.map +1 -1
  229. package/lib/components/time-select/src/time-select.vue_vue_type_template_id_5beb6389_lang.js.map +1 -1
  230. package/lib/components/tooltip/index.d.ts +5 -0
  231. package/lib/components/tooltip/index.js +2 -0
  232. package/lib/components/tooltip/index.js.map +1 -1
  233. package/lib/components/tooltip/src/content.vue.d.ts +13 -6
  234. package/lib/components/tooltip/src/content.vue_vue_type_script_lang.js +43 -68
  235. package/lib/components/tooltip/src/content.vue_vue_type_script_lang.js.map +1 -1
  236. package/lib/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.js +52 -55
  237. package/lib/components/tooltip/src/content.vue_vue_type_template_id_20254f8d_lang.js.map +1 -1
  238. package/lib/components/tooltip/src/tokens.d.ts +1 -0
  239. package/lib/components/tooltip/src/tokens.js.map +1 -1
  240. package/lib/components/tooltip/src/tooltip.d.ts +2 -0
  241. package/lib/components/tooltip/src/tooltip.js +8 -0
  242. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  243. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -0
  244. package/lib/components/tooltip/src/tooltip.vue_vue_type_script_lang.js +2 -1
  245. package/lib/components/tooltip/src/tooltip.vue_vue_type_script_lang.js.map +1 -1
  246. package/lib/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.js +2 -1
  247. package/lib/components/tooltip/src/tooltip.vue_vue_type_template_id_694d1617_lang.js.map +1 -1
  248. package/lib/components/tooltip/src/trigger.vue.d.ts +1 -1
  249. package/lib/components/tooltip/src/trigger.vue_vue_type_script_lang.js +2 -2
  250. package/lib/components/tooltip/src/trigger.vue_vue_type_script_lang.js.map +1 -1
  251. package/lib/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.js +2 -2
  252. package/lib/components/tooltip/src/trigger.vue_vue_type_template_id_0ec0b94c_lang.js.map +1 -1
  253. package/lib/components/tree/src/model/useDragNode.js +1 -1
  254. package/lib/components/tree/src/model/useDragNode.js.map +1 -1
  255. package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js +1 -1
  256. package/lib/components/tree/src/tree-node.vue_vue_type_script_lang.js.map +1 -1
  257. package/lib/components/tree/src/tree-node.vue_vue_type_template_id_62959aba_lang.js.map +1 -1
  258. package/lib/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  259. package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -2
  260. package/lib/components/virtual-list/src/builders/build-list.d.ts +2 -2
  261. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -2
  262. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
  263. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -2
  264. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
  265. package/lib/index.js +2 -0
  266. package/lib/index.js.map +1 -1
  267. package/lib/version.d.ts +1 -1
  268. package/lib/version.js +1 -1
  269. package/lib/version.js.map +1 -1
  270. package/package.json +2 -2
  271. package/tags.json +1 -1
  272. package/theme-chalk/el-dropdown.css +1 -1
  273. package/theme-chalk/el-tabs.css +1 -1
  274. package/theme-chalk/el-tree.css +1 -1
  275. package/theme-chalk/index.css +1 -1
  276. package/theme-chalk/src/dropdown.scss +13 -18
  277. package/theme-chalk/src/tabs.scss +8 -6
  278. package/theme-chalk/src/tree.scss +2 -1
  279. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/autocomplete/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`el-autocomplete__popper ${popperClass}`\"\n :append-to-body=\"popperAppendToBody\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n transition=\"el-zoom-in-top\"\n @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"['el-autocomplete', $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[\n 'el-autocomplete-suggestion',\n suggestionLoading && 'is-loading',\n ]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n wrap-class=\"el-autocomplete-suggestion__wrap\"\n view-class=\"el-autocomplete-suggestion__list\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon class=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport debounce from 'lodash/debounce'\nimport { useAttrs } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { generateId, isArray } from '@element-plus/utils/util'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { throwError } from '@element-plus/utils/error'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElAutocomplete',\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return `el-autocomplete-${generateId()}`\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n '.el-autocomplete-suggestion__wrap'\n )!\n const suggestionList = suggestion.querySelectorAll(\n '.el-autocomplete-suggestion__list li'\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAyGA,aAAe,eAAe,CAAC;;AAE/B,EAAE,UAAU,EAAE;AACd,IAAI;;AAEJ,IAAI,WAAW;IACX,MAAM;IACN,OAAO;;;IAGP;;;EAGF;IACE,QAAQ,EAAE;MACR,IAAI,EAAE,MAAM;;KAEb;IACD;MACE,IAAI,EAAE;MACN,OAAO,EAAE,EAAE;;IAEb;MACE,IAAI,EAAE;MACN,OAAO,EAAE,GAAG;;IAEd;MACE,IAAI,EAAE;MACN,SAAS,EAAE,CAAC;QACV,OAAO;;UAEL;UACA,SAAS;UACT,QAAQ;UACR;UACA;UACA,QAAQ,CAAC;;aAEN,EAAE;;oBAEK,EAAE;UACZ,EAAE,QAAQ;MACd;;IAEF;MACE,IAAI,EAAE,MAAM;MACZ,OAAO,EAAE,EAAE;;;MAGX,IAAI,EAAE,OAAO;;KAEd;;MAEC,IAAI,EAAE;;KAEP;eACU,EAAE;MACX,IAAI,EAAE,OAAO;;KAEd;;MAEC,IAAI,EAAE,OAAO;;KAEd;;MAEC,IAAI,EAAE,OAAO;;KAEd;;OAEE,EAAE;IACL;IACA,OAAO;YACC;WACD;IACP;;IAEA;;OAEG,CAAC;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;;IAEN,MAAM,OAAO,GAAG;IAChB,MAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE;IACzB,MAAM,EAAE,GAAG,SAAS,MAAM;MACxB,OAAO,CAAC,gBAAgB;KACzB,CAAC,CAAC;IACH,MAAM,iBAAiB;MACrB,MAAM,WAAW;MACjB,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;MACnD,CAAC;;MAED,OAAO,CAAC;KACT,CAAC,CAAC;IACH,MAAM,gBAAgB;;QAElB,sBAAsB;UACpB,aAAa,CAAC,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC;;OAErC,CAAC;MACF;aACO,CAAC,MAAM;MACd,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE;;MAEpD,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;MAC/B,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;KAChC;;MAEC,IAAI,mBAAmB;QACrB,OAAO;;aAEF,CAAC,KAAK,GAAG,IAAI,CAAC;;;;;SAKlB;QACD,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE;UAC3B,WAAW,CAAC,KAAK,GAAG,cAAc,CAAC;UACnC,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC,kBAAkB,GAAG,CAAC,GAAG,EAAE,CAAC;SAC5D,MAAM;UACL,UAAU,CAAC;SACZ;;KAEJ;;IAED,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK;MAC7B,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACtB,CAAC;MACJ;MACA,IAAI,CAAC,KAAK,CAAC;QACT,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC;QAChC,WAAW,CAAC,KAAK,GAAG;QACpB,OAAO;;;;UAIL,YAAY,GAAG,CAAC,KAAK,KAAK;UAC1B,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;;UAErB;eACK,CAAC,KAAK,GAAG,IAAI;cACd,CAAC,OAAO,EAAE,EAAE,CAAC;UACjB;QACF;OACD;;IAEH,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK;MACxB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;MACpB;UACI,WAAW,GAAG,MAAM;MACxB,SAAS,CAAC,KAAK,GAAG,KAAK;MACvB,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;SAC9B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;UAEd;MACJ;QACE,MAAM,CAAC,WAAW,CAAC;;QAEnB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE;QAC5B,QAAQ,CAAC,MAAM;;UAEb,gBAAgB;SACjB,CAAC,CAAC;OACJ;MACD;UACI,KAAK,GAAG,MAAM;MAClB;;IAEF,MAAM,KAAK,GAAG,MAAM;MAClB,IAAI,EAAE,CAAC;;KAER,CAAC;UACI,MAAM,GAAG,CAAC,IAAI;MAClB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM;MAC7B,GAAG,CAAC,IAAI,CAAC;;MAET,QAAQ,CAAC,MAAM;;QAEb,gBAAgB,CAAC,KAAK,GAAG;QACzB,CAAC;;;UAGC,CAAC,iBAAiB,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE;QAC7C;;UAEE,KAAK,GAAG,GAAG;wBACG,CAAC,KAAK;eACf;;MAET;;OAEC;MACD,MAAM,UAAU,GAAG;;MAEnB,MAAM;MACN,MAAM,SAAS,GAAG;;MAElB,IAAI,SAAS,GAAG;QACd,UAAU,CAAC,SAAS,IAAI,YAAY;OACrC;MACD,IAAI,SAAS,GAAG;QACd,UAAU,CAAC;;sBAEG,CAAC,KAAK,GAAG;MACzB;;IAEF,OAAO;MACL,KAAK;;MAEL;MACA,aAAa;eACJ;;MAET;MACA,QAAQ;;MAER;MACA,EAAE;uBACe;MACjB;MACA,OAAO;iBACI;MACX;MACA,WAAW;MACX,UAAU;MACV,WAAW;;MAEX,KAAK;WACA;MACL;MACA,SAAS;sBACO;MAChB;;;;;;"}
1
+ {"version":3,"file":"index.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/autocomplete/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`el-autocomplete__popper ${popperClass}`\"\n :append-to-body=\"popperAppendToBody\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n transition=\"el-zoom-in-top\"\n persistent\n @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"['el-autocomplete', $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[\n 'el-autocomplete-suggestion',\n suggestionLoading && 'is-loading',\n ]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n wrap-class=\"el-autocomplete-suggestion__wrap\"\n view-class=\"el-autocomplete-suggestion__list\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon class=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport debounce from 'lodash/debounce'\nimport { useAttrs } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { generateId, isArray } from '@element-plus/utils/util'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { throwError } from '@element-plus/utils/error'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElAutocomplete',\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return `el-autocomplete-${generateId()}`\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n '.el-autocomplete-suggestion__wrap'\n )!\n const suggestionList = suggestion.querySelectorAll(\n '.el-autocomplete-suggestion__list li'\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
24
24
  effect: "light",
25
25
  trigger: "click",
26
26
  transition: "el-zoom-in-top",
27
+ persistent: "",
27
28
  onShow: _ctx.onSuggestionShow
28
29
  }, {
29
30
  content: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue_vue_type_template_id_2f09f285_lang.mjs","sources":["../../../../../../packages/components/autocomplete/src/index.vue?vue&type=template&id=2f09f285&lang.js"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`el-autocomplete__popper ${popperClass}`\"\n :append-to-body=\"popperAppendToBody\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n transition=\"el-zoom-in-top\"\n @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"['el-autocomplete', $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[\n 'el-autocomplete-suggestion',\n suggestionLoading && 'is-loading',\n ]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n wrap-class=\"el-autocomplete-suggestion__wrap\"\n view-class=\"el-autocomplete-suggestion__list\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon class=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport debounce from 'lodash/debounce'\nimport { useAttrs } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { generateId, isArray } from '@element-plus/utils/util'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { throwError } from '@element-plus/utils/error'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElAutocomplete',\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return `el-autocomplete-${generateId()}`\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n '.el-autocomplete-suggestion__wrap'\n )!\n const suggestionList = suggestion.querySelectorAll(\n '.el-autocomplete-suggestion__list li'\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n }\n },\n})\n</script>\n"],"names":["_createVNode"],"mappings":";;;;;;;;;;;;;;;wBACE;IACE;IACQ;;IACP;IACA;IACA;IACA;IACA;IACD;IACA;IACA,MAAM,EAAC;;IAEP;gCACuB;;;;;;;;;QA8ClBA;YACG,EAAC;;;UAGF;UACD;;UAEA;gBACK;;;;;;;kCAGoC;;;;;;;gDAKb;;yDAED;;;;;;;;;;;;;;;;;QA5D9B;;QAEDA;uBACa,EAAC;uBACA;;;;UAMX,aAAW;UACX,SAAO;kBACD,EAAE;mBACD,gBAAW;;kCAEA;;;;;;;;WAMH;;;;;;;;;;6BAGsB;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue_vue_type_template_id_2f09f285_lang.mjs","sources":["../../../../../../packages/components/autocomplete/src/index.vue?vue&type=template&id=2f09f285&lang.js"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"`el-autocomplete__popper ${popperClass}`\"\n :append-to-body=\"popperAppendToBody\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n transition=\"el-zoom-in-top\"\n persistent\n @show=\"onSuggestionShow\"\n >\n <div\n v-clickoutside=\"close\"\n :class=\"['el-autocomplete', $attrs.class]\"\n :style=\"$attrs.style\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"id\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\"></slot>\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\"></slot>\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\"></slot>\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\"></slot>\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[\n 'el-autocomplete-suggestion',\n suggestionLoading && 'is-loading',\n ]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"id\"\n tag=\"ul\"\n wrap-class=\"el-autocomplete-suggestion__wrap\"\n view-class=\"el-autocomplete-suggestion__list\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon class=\"is-loading\"><loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${id}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"select(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, nextTick } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport debounce from 'lodash/debounce'\nimport { useAttrs } from '@element-plus/hooks'\nimport { ClickOutside } from '@element-plus/directives'\nimport { generateId, isArray } from '@element-plus/utils/util'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\nimport { throwError } from '@element-plus/utils/error'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElAutocomplete',\n components: {\n ElTooltip,\n ElInput,\n ElScrollbar,\n ElIcon,\n Loading,\n },\n directives: {\n clickoutside: ClickOutside,\n },\n inheritAttrs: false,\n props: {\n valueKey: {\n type: String,\n default: 'value',\n },\n modelValue: {\n type: [String, Number],\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n placement: {\n type: String as PropType<Placement>,\n validator: (val: string): boolean => {\n return [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ].includes(val)\n },\n default: 'bottom-start',\n },\n fetchSuggestions: {\n type: Function as PropType<\n (queryString: string, cb: (data: any[]) => void) => void\n >,\n default: NOOP,\n },\n popperClass: {\n type: String,\n default: '',\n },\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n hideLoading: {\n type: Boolean,\n default: false,\n },\n popperAppendToBody: {\n type: Boolean,\n default: true,\n },\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n 'input',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'select',\n ],\n setup(props, ctx) {\n const attrs = useAttrs()\n const suggestions = ref<any[]>([])\n const highlightedIndex = ref(-1)\n const dropdownWidth = ref('')\n const activated = ref(false)\n const suggestionDisabled = ref(false)\n const loading = ref(false)\n const inputRef = ref<{\n inputOrTextarea: HTMLInputElement | HTMLTextAreaElement\n focus: () => void\n $el: HTMLElement\n } | null>(null)\n const regionRef = ref<HTMLElement | null>(null)\n const popper = ref(null)\n\n const id = computed(() => {\n return `el-autocomplete-${generateId()}`\n })\n const suggestionVisible = computed(() => {\n const isValidData =\n isArray(suggestions.value) && suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n })\n const suggestionLoading = computed(() => {\n return !props.hideLoading && loading.value\n })\n\n const onSuggestionShow = () => {\n nextTick(() => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n })\n }\n\n onMounted(() => {\n inputRef.value!.inputOrTextarea.setAttribute('role', 'textbox')\n inputRef.value!.inputOrTextarea.setAttribute('aria-autocomplete', 'list')\n inputRef.value!.inputOrTextarea.setAttribute('aria-controls', 'id')\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n })\n\n const getData = (queryString: string) => {\n if (suggestionDisabled.value) {\n return\n }\n loading.value = true\n props.fetchSuggestions(queryString, (suggestionsArg) => {\n loading.value = false\n if (suggestionDisabled.value) {\n return\n }\n if (isArray(suggestionsArg)) {\n suggestions.value = suggestionsArg\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(\n 'ElAutocomplete',\n 'autocomplete suggestions must be an array'\n )\n }\n })\n }\n const debouncedGetData = debounce(getData, props.debounce)\n const handleInput = (value: string) => {\n ctx.emit('input', value)\n ctx.emit(UPDATE_MODEL_EVENT, value)\n suggestionDisabled.value = false\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n debouncedGetData(value)\n }\n const handleChange = (value) => {\n ctx.emit('change', value)\n }\n const handleFocus = (e) => {\n activated.value = true\n ctx.emit('focus', e)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n }\n const handleBlur = (e) => {\n ctx.emit('blur', e)\n }\n const handleClear = () => {\n activated.value = false\n ctx.emit(UPDATE_MODEL_EVENT, '')\n ctx.emit('clear')\n }\n const handleKeyEnter = () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n select(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n ctx.emit('select', { value: props.modelValue })\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n }\n const close = () => {\n activated.value = false\n }\n const focus = () => {\n inputRef.value?.focus()\n }\n const select = (item) => {\n ctx.emit('input', item[props.valueKey])\n ctx.emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n ctx.emit('select', item)\n nextTick(() => {\n suggestions.value = []\n highlightedIndex.value = -1\n })\n }\n const highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) {\n return\n }\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n '.el-autocomplete-suggestion__wrap'\n )!\n const suggestionList = suggestion.querySelectorAll(\n '.el-autocomplete-suggestion__list li'\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem as HTMLElement\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n inputRef.value!.inputOrTextarea.setAttribute(\n 'aria-activedescendant',\n `${id.value}-item-${highlightedIndex.value}`\n )\n }\n\n return {\n attrs,\n suggestions,\n highlightedIndex,\n dropdownWidth,\n activated,\n suggestionDisabled,\n loading,\n inputRef,\n regionRef,\n popper,\n\n id,\n suggestionVisible,\n suggestionLoading,\n\n getData,\n handleInput,\n handleChange,\n handleFocus,\n handleBlur,\n handleClear,\n handleKeyEnter,\n close,\n focus,\n select,\n highlight,\n onSuggestionShow,\n }\n },\n})\n</script>\n"],"names":["_createVNode"],"mappings":";;;;;;;;;;;;;;;wBACE;IACE;IACQ;;IACP;IACA;IACA;IACA;IACA;IACD;IACA;IACA;IACA;;IAEA;gCACuB;;;;;;;;;QA8ClBA;YACG,EAAC;;;UAGF;UACD;;UAEA;gBACK;;;;;;;kCAGoC;;;;;;;gDAKb;;yDAED;;;;;;;;;;;;;;;;;QA5D9B;;QAEDA;uBACa,EAAC;uBACA;;;;UAMX,aAAW;UACX,SAAO;kBACD,EAAE;mBACD,gBAAW;;kCAEA;;;;;;;;WAMH;;;;;;;;;;6BAGsB;;;;;;;;;;;;;;;;;;;;"}
@@ -22,19 +22,19 @@ var script = defineComponent({
22
22
  const selectedDay = ref();
23
23
  const now = dayjs().locale(lang.value);
24
24
  const prevMonthDayjs = computed(() => {
25
- return date.value.subtract(1, "month");
25
+ return date.value.subtract(1, "month").date(1);
26
26
  });
27
27
  const curMonthDatePrefix = computed(() => {
28
28
  return dayjs(date.value).locale(lang.value).format("YYYY-MM");
29
29
  });
30
30
  const nextMonthDayjs = computed(() => {
31
- return date.value.add(1, "month");
31
+ return date.value.add(1, "month").date(1);
32
32
  });
33
33
  const prevYearDayjs = computed(() => {
34
- return date.value.subtract(1, "year");
34
+ return date.value.subtract(1, "year").date(1);
35
35
  });
36
36
  const nextYearDayjs = computed(() => {
37
- return date.value.add(1, "year");
37
+ return date.value.add(1, "year").date(1);
38
38
  });
39
39
  const i18nDate = computed(() => {
40
40
  const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div class=\"el-calendar\">\n <div class=\"el-calendar__header\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div class=\"el-calendar__title\">{{ i18nDate }}</div>\n <div\n v-if=\"validatedRange.length === 0\"\n class=\"el-calendar__button-group\"\n >\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" class=\"el-calendar__body\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n <div v-else class=\"el-calendar__body\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils/error'\nimport DateTable from './date-table.vue'\nimport { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month')\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month')\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year')\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year')\n })\n\n const i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n })\n\n const realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit('input', result)\n emit('update:modelValue', result)\n },\n })\n\n const date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n })\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n ): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (firstMonth + 2 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n // if range is valid, we get a two-digit array\n const validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn('ElCalendar', 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n }\n\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n }\n },\n})\n</script>\n"],"names":["DateTable"],"mappings":";;;;;;;;;;AAuDA,aAAe,eAAe,CAAC;;AAE/B,EAAE,UAAU,EAAE;AACd,eAAIA;;AAEJ;;EAEE,KAAK,EAAE;EACP,KAAK,EAAE;EACP,KAAK,CAAC,KAAK;IACT,MAAM;;AAEV,IAAI,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC;IAC3B,MAAM;;KAEL,CAAC,CAAC;IACH,MAAM;MACJ;KACD,CAAC,CAAC;;;KAGF,CAAC,CAAC;IACH,MAAM;;KAEL,CAAC,CAAC;IACH,MAAM,gBAAgB,QAAQ;MAC5B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;KAC1B,CAAC,CAAC;;MAED,MAAM,WAAW,IAAI;MACrB,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;KAClC;IACD,MAAM,eAAe,WAAW,CAAC;MAC/B,GAAG;;;QAGD,OAAO,IAAI,CAAC,KAAK;OAClB;;;UAGG,OAAO;QACT,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;;;QAGxB,IAAI,CAAC,mBAAmB,EAAE,OAAO;OAClC;KACF;;MAEC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;QACrB,IAAI,eAAe,CAAC,KAAK,EAAE;UACzB,OAAO,eAAe,CAAC,KAAK,CAAC;;;;QAI/B;aACK;QACL,OAAO,KAAK,CAAC;OACd;MACD,CAAC;;YAEK,QAAQ,GAAG;YACX,OAAO,WAAW,CAAC;;YAEnB,YAAY;UACd,UAAU,KAAK,SAAS,EAAE;;;;QAI5B,MAAM,iBAAiB,UAAU,CAAC,OAAO,CAAC;cACpC,UAAU,GAAG;QACnB,MAAM,iBAAiB;eAChB;UACL,CAAC,QAAQ,EAAE,iBAAiB,CAAC;UAC7B,CAAC,iBAAiB,CAAC,OAAO,CAAC;;aAExB,IAAI;QACT;QACA,yBAAyB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;;;;QAI5C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACpD,OAAO;UACL,CAAC,QAAQ,EAAE,iBAAiB;UAC5B,CAAC;UACD,CAAC;SACF,CAAC;OACH,MAAM;QACL,SAAS,CAAC,YAAY,EAAE;QACxB,OAAO,EAAE,CAAC;OACX;;UAEG;MACJ,IAAI,CAAC,KAAK,CAAC,KAAK;QACd,OAAO,EAAE,CAAC;MACZ;MACA,OAAO,UAAU,EAAE;MACnB,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE;QAChC,SAAS,CAAC,YAAY,EAAE;QACxB,OAAO,EAAE,CAAC;;oBAEE,CAAC,OAAO,QAAQ,SAAS,CAAC,EAAE;QACxC,OAAO,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;;YAErD,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;UAC7B,SAAS,CAAC;;SAEX;eACM;;;;MAIT,eAAe,CAAC,KAAK,GAAG,IAAI;MAC5B;UACI,UAAU,GAAG,CAAC,IAAI;UAClB,IAAI;;QAEN,GAAG,GAAG,cAAc,CAAC,MAAM;iBAClB,IAAI,KAAK,YAAY,EAAE;WAC7B,GAAG,cAAc,CAAC;aAChB;QACL;aACK,IAAI,IAAI,KAAK,WAAW,EAAE;cACzB,aAAa,CAAC;;QAEpB,GAAG,GAAG,GAAG,CAAC;;;QAGV,OAAO;cACD,GAAG,CAAC,CAAC;;WAER;;wBAEa;cACV;;UAEJ;;aAEG;gBACG;;MAEV;;;;;;"}
1
+ {"version":3,"file":"calendar.vue_vue_type_script_lang.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div class=\"el-calendar\">\n <div class=\"el-calendar__header\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div class=\"el-calendar__title\">{{ i18nDate }}</div>\n <div\n v-if=\"validatedRange.length === 0\"\n class=\"el-calendar__button-group\"\n >\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" class=\"el-calendar__body\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n <div v-else class=\"el-calendar__body\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils/error'\nimport DateTable from './date-table.vue'\nimport { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month').date(1)\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month').date(1)\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year').date(1)\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year').date(1)\n })\n\n const i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n })\n\n const realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit('input', result)\n emit('update:modelValue', result)\n },\n })\n\n const date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n })\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n ): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (firstMonth + 2 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n // if range is valid, we get a two-digit array\n const validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn('ElCalendar', 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n }\n\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n }\n },\n})\n</script>\n"],"names":["DateTable"],"mappings":";;;;;;;;;;AAuDA,aAAe,eAAe,CAAC;;AAE/B,EAAE,UAAU,EAAE;AACd,eAAIA;;AAEJ;;EAEE,KAAK,EAAE;EACP,KAAK,EAAE;EACP,KAAK,CAAC,KAAK;IACT,MAAM;;AAEV,IAAI,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC;IAC3B,MAAM;;KAEL,CAAC,CAAC;IACH,MAAM;MACJ;KACD,CAAC,CAAC;;;KAGF,CAAC,CAAC;IACH,MAAM;;KAEL,CAAC,CAAC;IACH,MAAM,gBAAgB,QAAQ;MAC5B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;KAC1B,CAAC,CAAC;;MAED,MAAM,WAAW,IAAI;MACrB,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;KAClC;IACD,MAAM,eAAe,WAAW,CAAC;MAC/B,GAAG;;;QAGD,OAAO,IAAI,CAAC,KAAK;OAClB;;;UAGG,OAAO;QACT,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;;;QAGxB,IAAI,CAAC,mBAAmB,EAAE,OAAO;OAClC;KACF;;MAEC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;QACrB,IAAI,eAAe,CAAC,KAAK,EAAE;UACzB,OAAO,eAAe,CAAC,KAAK,CAAC;;;;QAI/B;aACK;QACL,OAAO,KAAK,CAAC;OACd;MACD,CAAC;;YAEK,QAAQ,GAAG;YACX,OAAO,WAAW,CAAC;;YAEnB,YAAY;UACd,UAAU,KAAK,SAAS,EAAE;;;;QAI5B,MAAM,iBAAiB,UAAU,CAAC,OAAO,CAAC;cACpC,UAAU,GAAG;QACnB,MAAM,iBAAiB;eAChB;UACL,CAAC,QAAQ,EAAE,iBAAiB,CAAC;UAC7B,CAAC,iBAAiB,CAAC,OAAO,CAAC;;aAExB,IAAI;QACT;QACA,yBAAyB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;;;;QAI5C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACpD,OAAO;UACL,CAAC,QAAQ,EAAE,iBAAiB;UAC5B,CAAC;UACD,CAAC;SACF,CAAC;OACH,MAAM;QACL,SAAS,CAAC,YAAY,EAAE;QACxB,OAAO,EAAE,CAAC;OACX;;UAEG;MACJ,IAAI,CAAC,KAAK,CAAC,KAAK;QACd,OAAO,EAAE,CAAC;MACZ;MACA,OAAO,UAAU,EAAE;MACnB,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE;QAChC,SAAS,CAAC,YAAY,EAAE;QACxB,OAAO,EAAE,CAAC;;oBAEE,CAAC,OAAO,QAAQ,SAAS,CAAC,EAAE;QACxC,OAAO,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;;YAErD,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;UAC7B,SAAS,CAAC;;SAEX;eACM;;;;MAIT,eAAe,CAAC,KAAK,GAAG,IAAI;MAC5B;UACI,UAAU,GAAG,CAAC,IAAI;UAClB,IAAI;;QAEN,GAAG,GAAG,cAAc,CAAC,MAAM;iBAClB,IAAI,KAAK,YAAY,EAAE;WAC7B,GAAG,cAAc,CAAC;aAChB;QACL;aACK,IAAI,IAAI,KAAK,WAAW,EAAE;cACzB,aAAa,CAAC;;QAEpB,GAAG,GAAG,GAAG,CAAC;;;QAGV,OAAO;cACD,GAAG,CAAC,CAAC;;WAER;;wBAEa;cACV;;UAEJ;;aAEG;gBACG;;MAEV;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.vue_vue_type_template_id_76705c76_lang.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.vue?vue&type=template&id=76705c76&lang.js"],"sourcesContent":["<template>\n <div class=\"el-calendar\">\n <div class=\"el-calendar__header\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div class=\"el-calendar__title\">{{ i18nDate }}</div>\n <div\n v-if=\"validatedRange.length === 0\"\n class=\"el-calendar__button-group\"\n >\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" class=\"el-calendar__body\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n <div v-else class=\"el-calendar__body\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils/error'\nimport DateTable from './date-table.vue'\nimport { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month')\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month')\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year')\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year')\n })\n\n const i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n })\n\n const realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit('input', result)\n emit('update:modelValue', result)\n },\n })\n\n const date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n })\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n ): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (firstMonth + 2 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n // if range is valid, we get a two-digit array\n const validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn('ElCalendar', 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n }\n\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n }\n },\n})\n</script>\n"],"names":["_renderSlot"],"mappings":";;;qBACO,KAAK,EAAC;qBACJ,KAAK,EAAC;;;;EAKL;;;;EAgBkC;;;;EAO5B;;;;;;;;;;gDA3BiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAoBJ,CAAC;;UACxB;YAAa;YAAaA,eAAc;YAAkB;;yBACjC;;;;oBACrB;;;;;;sBAIN;;;cAGK,SAAU;cACVA,WAAY;cACZ;cACA,KAAK;2BACM;cACX;;;;;;;"}
1
+ {"version":3,"file":"calendar.vue_vue_type_template_id_76705c76_lang.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.vue?vue&type=template&id=76705c76&lang.js"],"sourcesContent":["<template>\n <div class=\"el-calendar\">\n <div class=\"el-calendar__header\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div class=\"el-calendar__title\">{{ i18nDate }}</div>\n <div\n v-if=\"validatedRange.length === 0\"\n class=\"el-calendar__button-group\"\n >\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" class=\"el-calendar__body\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n <div v-else class=\"el-calendar__body\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils/error'\nimport DateTable from './date-table.vue'\nimport { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month').date(1)\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month').date(1)\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year').date(1)\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year').date(1)\n })\n\n const i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n })\n\n const realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit('input', result)\n emit('update:modelValue', result)\n },\n })\n\n const date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n })\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n ): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (firstMonth + 2 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n // if range is valid, we get a two-digit array\n const validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn('ElCalendar', 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n }\n\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n }\n },\n})\n</script>\n"],"names":["_renderSlot"],"mappings":";;;qBACO,KAAK,EAAC;qBACJ,KAAK,EAAC;;;;EAKL;;;;EAgBkC;;;;EAO5B;;;;;;;;;;gDA3BiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAoBJ,CAAC;;UACxB;YAAa;YAAaA,eAAc;YAAkB;;yBACjC;;;;oBACrB;;;;;;sBAIN;;;cAGK,SAAU;cACVA,WAAY;cACZ;cACA,KAAK;2BACM;cACX;;;;;;;"}
@@ -125,6 +125,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
125
125
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
126
126
  showAfter: number;
127
127
  hideAfter: number;
128
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
128
129
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
129
130
  persistent: boolean;
130
131
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -144,6 +145,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
144
145
  trigger?: unknown;
145
146
  virtualRef?: unknown;
146
147
  virtualTriggering?: unknown;
148
+ appendTo?: unknown;
147
149
  content?: unknown;
148
150
  rawContent?: unknown;
149
151
  persistent?: unknown;
@@ -241,6 +243,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
241
243
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
242
244
  showAfter: number;
243
245
  hideAfter: number;
246
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
244
247
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
245
248
  persistent: boolean;
246
249
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -255,7 +258,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
255
258
  virtualTriggering?: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown> | undefined;
256
259
  }> & {
257
260
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
258
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "style" | "transition" | "offset" | "visible" | "content" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "showAfter" | "hideAfter" | "rawContent" | "persistent" | "teleported" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
261
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "style" | "transition" | "offset" | "visible" | "content" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "persistent" | "teleported" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
259
262
  $attrs: {
260
263
  [x: string]: unknown;
261
264
  };
@@ -279,6 +282,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
279
282
  trigger?: unknown;
280
283
  virtualRef?: unknown;
281
284
  virtualTriggering?: unknown;
285
+ appendTo?: unknown;
282
286
  content?: unknown;
283
287
  rawContent?: unknown;
284
288
  persistent?: unknown;
@@ -376,6 +380,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
376
380
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
377
381
  showAfter: number;
378
382
  hideAfter: number;
383
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
379
384
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
380
385
  persistent: boolean;
381
386
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -507,6 +512,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
507
512
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
508
513
  showAfter: number;
509
514
  hideAfter: number;
515
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
510
516
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
511
517
  persistent: boolean;
512
518
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -546,6 +552,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
546
552
  trigger?: unknown;
547
553
  virtualRef?: unknown;
548
554
  virtualTriggering?: unknown;
555
+ appendTo?: unknown;
549
556
  content?: unknown;
550
557
  rawContent?: unknown;
551
558
  persistent?: unknown;
@@ -643,6 +650,7 @@ declare const _Cascader: SFCWithInstall<import("vue").DefineComponent<{
643
650
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
644
651
  showAfter: number;
645
652
  hideAfter: number;
653
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
646
654
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
647
655
  persistent: boolean;
648
656
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -1798,6 +1806,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
1798
1806
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
1799
1807
  showAfter: number;
1800
1808
  hideAfter: number;
1809
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
1801
1810
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
1802
1811
  persistent: boolean;
1803
1812
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -1817,6 +1826,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
1817
1826
  trigger?: unknown;
1818
1827
  virtualRef?: unknown;
1819
1828
  virtualTriggering?: unknown;
1829
+ appendTo?: unknown;
1820
1830
  content?: unknown;
1821
1831
  rawContent?: unknown;
1822
1832
  persistent?: unknown;
@@ -1914,6 +1924,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
1914
1924
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
1915
1925
  showAfter: number;
1916
1926
  hideAfter: number;
1927
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
1917
1928
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
1918
1929
  persistent: boolean;
1919
1930
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -1928,7 +1939,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
1928
1939
  virtualTriggering?: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown> | undefined;
1929
1940
  }> & {
1930
1941
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
1931
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "style" | "transition" | "offset" | "visible" | "content" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "showAfter" | "hideAfter" | "rawContent" | "persistent" | "teleported" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
1942
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "style" | "transition" | "offset" | "visible" | "content" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "persistent" | "teleported" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
1932
1943
  $attrs: {
1933
1944
  [x: string]: unknown;
1934
1945
  };
@@ -1952,6 +1963,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
1952
1963
  trigger?: unknown;
1953
1964
  virtualRef?: unknown;
1954
1965
  virtualTriggering?: unknown;
1966
+ appendTo?: unknown;
1955
1967
  content?: unknown;
1956
1968
  rawContent?: unknown;
1957
1969
  persistent?: unknown;
@@ -2049,6 +2061,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
2049
2061
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
2050
2062
  showAfter: number;
2051
2063
  hideAfter: number;
2064
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
2052
2065
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
2053
2066
  persistent: boolean;
2054
2067
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -2180,6 +2193,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
2180
2193
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
2181
2194
  showAfter: number;
2182
2195
  hideAfter: number;
2196
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
2183
2197
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
2184
2198
  persistent: boolean;
2185
2199
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -2219,6 +2233,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
2219
2233
  trigger?: unknown;
2220
2234
  virtualRef?: unknown;
2221
2235
  virtualTriggering?: unknown;
2236
+ appendTo?: unknown;
2222
2237
  content?: unknown;
2223
2238
  rawContent?: unknown;
2224
2239
  persistent?: unknown;
@@ -2316,6 +2331,7 @@ export declare const ElCascader: SFCWithInstall<import("vue").DefineComponent<{
2316
2331
  stopPopperMouseEvent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
2317
2332
  showAfter: number;
2318
2333
  hideAfter: number;
2334
+ appendTo: import("../../utils/props").BuildPropType<import("../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
2319
2335
  rawContent: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
2320
2336
  persistent: boolean;
2321
2337
  teleported: import("../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -129,6 +129,7 @@ declare const _default: import("vue").DefineComponent<{
129
129
  stopPopperMouseEvent: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
130
130
  showAfter: number;
131
131
  hideAfter: number;
132
+ appendTo: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
132
133
  rawContent: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
133
134
  persistent: boolean;
134
135
  teleported: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -148,6 +149,7 @@ declare const _default: import("vue").DefineComponent<{
148
149
  trigger?: unknown;
149
150
  virtualRef?: unknown;
150
151
  virtualTriggering?: unknown;
152
+ appendTo?: unknown;
151
153
  content?: unknown;
152
154
  rawContent?: unknown;
153
155
  persistent?: unknown;
@@ -245,6 +247,7 @@ declare const _default: import("vue").DefineComponent<{
245
247
  stopPopperMouseEvent: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
246
248
  showAfter: number;
247
249
  hideAfter: number;
250
+ appendTo: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
248
251
  rawContent: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
249
252
  persistent: boolean;
250
253
  teleported: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -259,7 +262,7 @@ declare const _default: import("vue").DefineComponent<{
259
262
  virtualTriggering?: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown> | undefined;
260
263
  }> & {
261
264
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
262
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "style" | "transition" | "offset" | "visible" | "content" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "showAfter" | "hideAfter" | "rawContent" | "persistent" | "teleported" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
265
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "style" | "transition" | "offset" | "visible" | "content" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "persistent" | "teleported" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
263
266
  $attrs: {
264
267
  [x: string]: unknown;
265
268
  };
@@ -283,6 +286,7 @@ declare const _default: import("vue").DefineComponent<{
283
286
  trigger?: unknown;
284
287
  virtualRef?: unknown;
285
288
  virtualTriggering?: unknown;
289
+ appendTo?: unknown;
286
290
  content?: unknown;
287
291
  rawContent?: unknown;
288
292
  persistent?: unknown;
@@ -380,6 +384,7 @@ declare const _default: import("vue").DefineComponent<{
380
384
  stopPopperMouseEvent: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
381
385
  showAfter: number;
382
386
  hideAfter: number;
387
+ appendTo: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
383
388
  rawContent: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
384
389
  persistent: boolean;
385
390
  teleported: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -511,6 +516,7 @@ declare const _default: import("vue").DefineComponent<{
511
516
  stopPopperMouseEvent: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
512
517
  showAfter: number;
513
518
  hideAfter: number;
519
+ appendTo: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
514
520
  rawContent: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
515
521
  persistent: boolean;
516
522
  teleported: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -550,6 +556,7 @@ declare const _default: import("vue").DefineComponent<{
550
556
  trigger?: unknown;
551
557
  virtualRef?: unknown;
552
558
  virtualTriggering?: unknown;
559
+ appendTo?: unknown;
553
560
  content?: unknown;
554
561
  rawContent?: unknown;
555
562
  persistent?: unknown;
@@ -647,6 +654,7 @@ declare const _default: import("vue").DefineComponent<{
647
654
  stopPopperMouseEvent: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
648
655
  showAfter: number;
649
656
  hideAfter: number;
657
+ appendTo: import("../../../utils/props").BuildPropType<import("../../../utils/props").PropWrapper<string | HTMLElement>, unknown, unknown>;
650
658
  rawContent: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;
651
659
  persistent: boolean;
652
660
  teleported: import("../../../utils/props").BuildPropType<BooleanConstructor, unknown, unknown>;