@element-plus/nightly 0.0.20260720 → 0.0.20260722

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 (568) hide show
  1. package/es/components/affix/src/affix.vue.d.ts +4 -4
  2. package/es/components/alert/src/alert.d.ts +1 -1
  3. package/es/components/alert/src/alert.vue.d.ts +1 -1
  4. package/es/components/anchor/src/anchor.vue.d.ts +2 -2
  5. package/es/components/autocomplete/src/autocomplete.d.ts +6 -107
  6. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  7. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  8. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  9. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  10. package/es/components/avatar/src/avatar-group-props.d.ts +8 -105
  11. package/es/components/avatar/src/avatar-group-props.mjs +9 -1
  12. package/es/components/avatar/src/avatar-group-props.mjs.map +1 -1
  13. package/es/components/avatar/src/avatar-group.d.ts +17 -210
  14. package/es/components/avatar/src/avatar.d.ts +2 -2
  15. package/es/components/backtop/src/backtop.vue.d.ts +1 -1
  16. package/es/components/badge/src/badge.d.ts +3 -7
  17. package/es/components/badge/src/badge.mjs +9 -1
  18. package/es/components/badge/src/badge.mjs.map +1 -1
  19. package/es/components/badge/src/badge.vue.d.ts +2 -0
  20. package/es/components/badge/src/badge.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  21. package/es/components/badge/src/badge2.mjs.map +1 -1
  22. package/es/components/button/src/button-group.d.ts +1 -1
  23. package/es/components/button/src/button-group.vue.d.ts +1 -1
  24. package/es/components/button/src/button.d.ts +1 -1
  25. package/es/components/button/src/button.vue.d.ts +3 -3
  26. package/es/components/button/src/use-button.d.ts +1 -1
  27. package/es/components/calendar/src/calendar.mjs.map +1 -1
  28. package/es/components/calendar/src/calendar.vue.d.ts +1 -1
  29. package/es/components/calendar/style/css.mjs +1 -1
  30. package/es/components/calendar/style/index.mjs +1 -1
  31. package/es/components/card/src/card.d.ts +8 -7
  32. package/es/components/card/src/card.mjs +27 -3
  33. package/es/components/card/src/card.mjs.map +1 -1
  34. package/es/components/card/src/card.vue.d.ts +5 -1
  35. package/es/components/card/src/card.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  36. package/es/components/card/src/card2.mjs.map +1 -1
  37. package/es/components/carousel/src/carousel.d.ts +2 -2
  38. package/es/components/carousel/src/carousel.vue.d.ts +4 -4
  39. package/es/components/cascader/src/cascader.d.ts +6 -107
  40. package/es/components/cascader/src/cascader.mjs.map +1 -1
  41. package/es/components/cascader/src/cascader.vue.d.ts +20 -18
  42. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  43. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  44. package/es/components/cascader-panel/src/index.vue.d.ts +3 -3
  45. package/es/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  46. package/es/components/checkbox/src/checkbox-group.vue.d.ts +4 -4
  47. package/es/components/checkbox/src/checkbox.d.ts +8 -8
  48. package/es/components/checkbox/src/checkbox.vue.d.ts +5 -5
  49. package/es/components/col/src/col.vue.d.ts +1 -1
  50. package/es/components/collapse/src/collapse.d.ts +1 -1
  51. package/es/components/collapse/src/collapse.vue.d.ts +1 -1
  52. package/es/components/color-picker/src/color-picker.d.ts +3 -102
  53. package/es/components/color-picker/src/color-picker.mjs +1 -0
  54. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  55. package/es/components/color-picker/src/color-picker.vue.d.ts +13 -11
  56. package/es/components/color-picker-panel/src/color-picker-panel.d.ts +3 -9
  57. package/es/components/color-picker-panel/src/color-picker-panel.mjs +9 -5
  58. package/es/components/color-picker-panel/src/color-picker-panel.mjs.map +1 -1
  59. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +4 -1
  60. package/es/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  61. package/es/components/color-picker-panel/src/color-picker-panel2.mjs.map +1 -1
  62. package/es/components/config-provider/src/config-provider.d.ts +1 -1
  63. package/es/components/date-picker/src/date-picker.d.ts +16 -216
  64. package/es/components/date-picker/src/props.d.ts +4 -104
  65. package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  66. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  67. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  68. package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +1 -1
  69. package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +1 -1
  70. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
  71. package/es/components/date-picker-panel/src/panel-utils.d.ts +9 -9
  72. package/es/components/date-picker-panel/src/props/basic-date-table.mjs.map +1 -1
  73. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  74. package/es/components/descriptions/src/description-item.d.ts +18 -18
  75. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  76. package/es/components/dialog/src/dialog-content.d.ts +10 -6
  77. package/es/components/dialog/src/dialog-content.mjs +32 -5
  78. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  79. package/es/components/dialog/src/dialog-content.vue.d.ts +4 -0
  80. package/es/components/dialog/src/dialog.d.ts +10 -5
  81. package/es/components/dialog/src/dialog.mjs +11 -14
  82. package/es/components/dialog/src/dialog.mjs.map +1 -1
  83. package/es/components/dialog/src/dialog.vue.d.ts +8 -3
  84. package/es/components/divider/src/divider.d.ts +1 -1
  85. package/es/components/divider/src/divider.vue.d.ts +1 -1
  86. package/es/components/drawer/src/drawer.d.ts +5 -4
  87. package/es/components/drawer/src/drawer.vue.d.ts +8 -3
  88. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +1 -1
  89. package/es/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  90. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  91. package/es/components/dropdown/src/dropdown.d.ts +6 -107
  92. package/es/components/dropdown/src/dropdown.vue.d.ts +97 -295
  93. package/es/components/dropdown/style/css.mjs +1 -1
  94. package/es/components/dropdown/style/index.mjs +1 -1
  95. package/es/components/form/src/form-item.d.ts +2 -2
  96. package/es/components/form/src/form-item.vue.d.ts +1 -1
  97. package/es/components/form/src/form.d.ts +2 -2
  98. package/es/components/image/src/image.mjs.map +1 -1
  99. package/es/components/image/src/image.vue.d.ts +3 -3
  100. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  101. package/es/components/image-viewer/src/image-viewer.vue.d.ts +1 -1
  102. package/es/components/input/src/input.d.ts +3 -3
  103. package/es/components/input/src/input.vue.d.ts +16 -16
  104. package/es/components/input-number/src/input-number.d.ts +2 -2
  105. package/es/components/input-number/src/input-number.vue.d.ts +7 -7
  106. package/es/components/input-otp/src/input-otp.vue.d.ts +4 -4
  107. package/es/components/input-tag/src/input-tag.d.ts +1 -1
  108. package/es/components/input-tag/src/input-tag.vue.d.ts +10 -10
  109. package/es/components/link/src/link.d.ts +1 -1
  110. package/es/components/link/src/link.mjs.map +1 -1
  111. package/es/components/link/src/link.vue.d.ts +1 -1
  112. package/es/components/mention/src/mention.d.ts +5 -106
  113. package/es/components/mention/src/mention.vue.d.ts +5 -5
  114. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  115. package/es/components/mention/src/mention2.mjs.map +1 -1
  116. package/es/components/menu/src/menu.d.ts +17 -29
  117. package/es/components/menu/src/menu.mjs +18 -2
  118. package/es/components/menu/src/menu.mjs.map +1 -1
  119. package/es/components/menu/src/sub-menu.d.ts +10 -22
  120. package/es/components/menu/src/sub-menu.mjs +18 -2
  121. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  122. package/es/components/message/src/message.d.ts +4 -4
  123. package/es/components/message/src/message.mjs +6 -1
  124. package/es/components/message/src/message.mjs.map +1 -1
  125. package/es/components/message/src/message.vue.d.ts +6 -5
  126. package/es/components/message/src/method.mjs.map +1 -1
  127. package/es/components/message-box/src/index.vue.d.ts +59 -67
  128. package/es/components/notification/src/notification.d.ts +4 -3
  129. package/es/components/notification/src/notification.mjs +6 -1
  130. package/es/components/notification/src/notification.mjs.map +1 -1
  131. package/es/components/notification/src/notification.vue.d.ts +5 -4
  132. package/es/components/overlay/index.d.ts +4 -12
  133. package/es/components/overlay/src/overlay.d.ts +5 -18
  134. package/es/components/overlay/src/overlay.mjs +9 -5
  135. package/es/components/overlay/src/overlay.mjs.map +1 -1
  136. package/es/components/pagination/src/components/sizes.d.ts +4 -13
  137. package/es/components/pagination/src/components/sizes.mjs +18 -2
  138. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  139. package/es/components/pagination/src/components/sizes.vue.d.ts +7 -24
  140. package/es/components/pagination/src/pagination.d.ts +12 -25
  141. package/es/components/pagination/src/pagination.mjs +15 -2
  142. package/es/components/pagination/src/pagination.mjs.map +1 -1
  143. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  144. package/es/components/popconfirm/src/popconfirm.vue.d.ts +5 -5
  145. package/es/components/popover/src/popover.d.ts +5 -105
  146. package/es/components/popover/src/popover.mjs +1 -0
  147. package/es/components/popover/src/popover.mjs.map +1 -1
  148. package/es/components/popover/src/popover.vue.d.ts +13 -12
  149. package/es/components/popper/src/composables/use-content-dom.d.ts +2 -25
  150. package/es/components/popper/src/composables/use-content.d.ts +4 -4
  151. package/es/components/popper/src/content.d.ts +8 -18
  152. package/es/components/popper/src/content.mjs +13 -7
  153. package/es/components/popper/src/content.mjs.map +1 -1
  154. package/es/components/popper/src/content.vue.d.ts +17 -15
  155. package/es/components/popper/src/popper.d.ts +2 -2
  156. package/es/components/popper/src/popper.mjs.map +1 -1
  157. package/es/components/progress/src/progress.d.ts +1 -1
  158. package/es/components/progress/src/progress.vue.d.ts +1 -1
  159. package/es/components/radio/src/radio-button.d.ts +3 -3
  160. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  161. package/es/components/radio/src/radio-group.vue.d.ts +5 -5
  162. package/es/components/radio/src/radio.d.ts +6 -6
  163. package/es/components/radio/src/radio.vue.d.ts +3 -3
  164. package/es/components/rate/src/rate.vue.d.ts +1 -1
  165. package/es/components/rate/src/rate.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  166. package/es/components/rate/src/rate2.mjs.map +1 -1
  167. package/es/components/result/src/result.d.ts +1 -1
  168. package/es/components/row/src/row.d.ts +1 -1
  169. package/es/components/scrollbar/src/scrollbar.d.ts +5 -4
  170. package/es/components/scrollbar/src/scrollbar.mjs +12 -2
  171. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  172. package/es/components/scrollbar/src/scrollbar.vue.d.ts +4 -3
  173. package/es/components/scrollbar/src/thumb.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  174. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  175. package/es/components/segmented/index.d.ts +3 -3
  176. package/es/components/segmented/src/segmented.d.ts +1 -1
  177. package/es/components/segmented/src/segmented.vue.d.ts +1 -1
  178. package/es/components/select/src/option.d.ts +2 -2
  179. package/es/components/select/src/option.vue.d.ts +5 -5
  180. package/es/components/select/src/select-dropdown.vue.d.ts +2 -1
  181. package/es/components/select/src/select.d.ts +9 -13
  182. package/es/components/select/src/select.mjs +15 -2
  183. package/es/components/select/src/select.mjs.map +1 -1
  184. package/es/components/select/src/select.vue.d.ts +113 -119
  185. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  186. package/es/components/select/src/select2.mjs.map +1 -1
  187. package/es/components/select/src/useOption.d.ts +2 -2
  188. package/es/components/select/src/useSelect.d.ts +5 -5
  189. package/es/components/select/src/useSelect.mjs.map +1 -1
  190. package/es/components/select-v2/src/defaults.d.ts +3 -103
  191. package/es/components/select-v2/src/option-item.vue.d.ts +1 -1
  192. package/es/components/select-v2/src/select.vue.d.ts +89 -287
  193. package/es/components/select-v2/src/useSelect.d.ts +1 -1
  194. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  195. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  196. package/es/components/slider/src/button.d.ts +2 -1
  197. package/es/components/slider/src/button.mjs +10 -2
  198. package/es/components/slider/src/button.mjs.map +1 -1
  199. package/es/components/slider/src/button.vue.d.ts +5 -3
  200. package/es/components/slider/src/composables/use-marks.mjs.map +1 -1
  201. package/es/components/slider/src/slider.d.ts +2 -2
  202. package/es/components/slider/src/slider.mjs +6 -1
  203. package/es/components/slider/src/slider.mjs.map +1 -1
  204. package/es/components/slider/src/slider.vue.d.ts +8 -8
  205. package/es/components/space/src/space.d.ts +7 -7
  206. package/es/components/space/src/space.mjs +2 -1
  207. package/es/components/space/src/space.mjs.map +1 -1
  208. package/es/components/space/src/use-space.d.ts +2 -3
  209. package/es/components/splitter/src/split-bar.vue.d.ts +1 -1
  210. package/es/components/steps/src/item.d.ts +1 -1
  211. package/es/components/steps/src/item.vue.d.ts +1 -1
  212. package/es/components/steps/src/steps.d.ts +2 -2
  213. package/es/components/steps/src/steps.vue.d.ts +1 -1
  214. package/es/components/switch/src/switch.vue.d.ts +3 -3
  215. package/es/components/table/src/filter-panel.vue.d.ts +89 -86
  216. package/es/components/table/src/table/defaults.d.ts +5 -5
  217. package/es/components/table/src/table/defaults.mjs.map +1 -1
  218. package/es/components/table/src/table/style-helper.d.ts +1 -1
  219. package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
  220. package/es/components/table/src/table-column/defaults.d.ts +4 -4
  221. package/es/components/table/src/table-header/index.d.ts +14 -14
  222. package/es/components/table/src/table.vue.d.ts +4 -4
  223. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  224. package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
  225. package/es/components/tabs/src/tabs.d.ts +5 -5
  226. package/es/components/tag/src/tag.vue.d.ts +2 -2
  227. package/es/components/text/src/text.vue.d.ts +1 -1
  228. package/es/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
  229. package/es/components/time-picker/src/common/picker.vue.d.ts +22 -222
  230. package/es/components/time-picker/src/common/props.d.ts +4 -104
  231. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  232. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  233. package/es/components/time-picker/src/time-picker.d.ts +16 -216
  234. package/es/components/time-select/src/time-select.d.ts +6 -10
  235. package/es/components/time-select/src/time-select.mjs +15 -2
  236. package/es/components/time-select/src/time-select.mjs.map +1 -1
  237. package/es/components/time-select/src/time-select.vue.d.ts +11 -10
  238. package/es/components/timeline/src/timeline-item.vue.d.ts +2 -2
  239. package/es/components/tooltip/src/content.d.ts +4 -199
  240. package/es/components/tooltip/src/content.vue.d.ts +18 -16
  241. package/es/components/tooltip/src/tooltip.d.ts +5 -202
  242. package/es/components/tooltip/src/tooltip.vue.d.ts +19 -18
  243. package/es/components/tooltip/src/trigger.d.ts +1 -1
  244. package/es/components/tour/src/content.d.ts +1 -1
  245. package/es/components/tour/src/content.vue.d.ts +1 -1
  246. package/es/components/tour/src/step.d.ts +1 -1
  247. package/es/components/tour/src/tour.d.ts +1 -1
  248. package/es/components/tour/src/tour.vue.d.ts +3 -3
  249. package/es/components/transfer/src/transfer.vue.d.ts +1 -1
  250. package/es/components/tree/src/tree-node.vue.d.ts +14 -14
  251. package/es/components/tree/src/tree.vue.d.ts +16 -16
  252. package/es/components/tree-select/src/select.mjs +1 -5
  253. package/es/components/tree-select/src/select.mjs.map +1 -1
  254. package/es/components/tree-select/src/tree-select-option.d.ts +5 -5
  255. package/es/components/tree-select/src/tree-select.vue.d.ts +33 -41
  256. package/es/components/tree-v2/src/composables/useTree.d.ts +9 -8
  257. package/es/components/tree-v2/src/tree.vue.d.ts +2 -2
  258. package/es/components/upload/src/upload-content.d.ts +1 -1
  259. package/es/components/upload/src/upload-content.vue.d.ts +2 -2
  260. package/es/components/upload/src/upload-list.d.ts +1 -1
  261. package/es/components/upload/src/upload.d.ts +2 -2
  262. package/es/components/upload/src/upload.mjs.map +1 -1
  263. package/es/components/upload/src/upload.vue.d.ts +3 -3
  264. package/es/components/virtual-list/src/builders/build-grid.d.ts +4 -3
  265. package/es/components/virtual-list/src/builders/build-list.d.ts +5 -4
  266. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +4 -3
  267. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +5 -4
  268. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +4 -3
  269. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +5 -4
  270. package/es/components/virtual-list/src/components/scrollbar.d.ts +5 -3
  271. package/es/components/virtual-list/src/props.d.ts +5 -4
  272. package/es/components/virtual-list/src/props.mjs +15 -2
  273. package/es/components/virtual-list/src/props.mjs.map +1 -1
  274. package/es/components/watermark/src/watermark.mjs.map +1 -1
  275. package/es/hooks/use-floating/index.d.ts +8 -8
  276. package/es/hooks/use-popper/index.d.ts +4 -4
  277. package/es/hooks/use-throttle-render/index.mjs.map +1 -1
  278. package/es/utils/index.d.ts +2 -2
  279. package/es/utils/typescript.d.ts +2 -1
  280. package/es/utils/typescript.mjs.map +1 -1
  281. package/es/version.d.ts +1 -1
  282. package/es/version.mjs +1 -1
  283. package/es/version.mjs.map +1 -1
  284. package/lib/components/affix/src/affix.vue.d.ts +4 -4
  285. package/lib/components/alert/src/alert.d.ts +1 -1
  286. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  287. package/lib/components/anchor/src/anchor.vue.d.ts +2 -2
  288. package/lib/components/autocomplete/src/autocomplete.d.ts +6 -107
  289. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  290. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  291. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  292. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  293. package/lib/components/avatar/src/avatar-group-props.d.ts +8 -105
  294. package/lib/components/avatar/src/avatar-group-props.js +9 -1
  295. package/lib/components/avatar/src/avatar-group-props.js.map +1 -1
  296. package/lib/components/avatar/src/avatar-group.d.ts +17 -210
  297. package/lib/components/avatar/src/avatar.d.ts +2 -2
  298. package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
  299. package/lib/components/badge/src/badge.d.ts +3 -7
  300. package/lib/components/badge/src/badge.js +9 -1
  301. package/lib/components/badge/src/badge.js.map +1 -1
  302. package/lib/components/badge/src/badge.vue.d.ts +2 -0
  303. package/lib/components/badge/src/badge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  304. package/lib/components/badge/src/badge2.js.map +1 -1
  305. package/lib/components/button/src/button-group.d.ts +1 -1
  306. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  307. package/lib/components/button/src/button.d.ts +1 -1
  308. package/lib/components/button/src/button.vue.d.ts +3 -3
  309. package/lib/components/button/src/use-button.d.ts +1 -1
  310. package/lib/components/calendar/src/calendar.js.map +1 -1
  311. package/lib/components/calendar/src/calendar.vue.d.ts +1 -1
  312. package/lib/components/calendar/style/css.js +1 -1
  313. package/lib/components/calendar/style/index.js +1 -1
  314. package/lib/components/card/src/card.d.ts +8 -7
  315. package/lib/components/card/src/card.js +27 -3
  316. package/lib/components/card/src/card.js.map +1 -1
  317. package/lib/components/card/src/card.vue.d.ts +5 -1
  318. package/lib/components/card/src/card.vue_vue_type_script_setup_true_lang.js.map +1 -1
  319. package/lib/components/card/src/card2.js.map +1 -1
  320. package/lib/components/carousel/src/carousel.d.ts +2 -2
  321. package/lib/components/carousel/src/carousel.vue.d.ts +4 -4
  322. package/lib/components/cascader/src/cascader.d.ts +6 -107
  323. package/lib/components/cascader/src/cascader.js.map +1 -1
  324. package/lib/components/cascader/src/cascader.vue.d.ts +20 -18
  325. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  326. package/lib/components/cascader/src/cascader2.js.map +1 -1
  327. package/lib/components/cascader-panel/src/index.vue.d.ts +3 -3
  328. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  329. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +4 -4
  330. package/lib/components/checkbox/src/checkbox.d.ts +8 -8
  331. package/lib/components/checkbox/src/checkbox.vue.d.ts +5 -5
  332. package/lib/components/col/src/col.vue.d.ts +1 -1
  333. package/lib/components/collapse/src/collapse.d.ts +1 -1
  334. package/lib/components/collapse/src/collapse.vue.d.ts +1 -1
  335. package/lib/components/color-picker/src/color-picker.d.ts +3 -102
  336. package/lib/components/color-picker/src/color-picker.js +1 -0
  337. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  338. package/lib/components/color-picker/src/color-picker.vue.d.ts +13 -11
  339. package/lib/components/color-picker-panel/src/color-picker-panel.d.ts +3 -9
  340. package/lib/components/color-picker-panel/src/color-picker-panel.js +9 -5
  341. package/lib/components/color-picker-panel/src/color-picker-panel.js.map +1 -1
  342. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +4 -1
  343. package/lib/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  344. package/lib/components/color-picker-panel/src/color-picker-panel2.js.map +1 -1
  345. package/lib/components/config-provider/src/config-provider.d.ts +1 -1
  346. package/lib/components/date-picker/src/date-picker.d.ts +16 -216
  347. package/lib/components/date-picker/src/props.d.ts +4 -104
  348. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  349. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  350. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +1 -1
  351. package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +1 -1
  352. package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +1 -1
  353. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
  354. package/lib/components/date-picker-panel/src/panel-utils.d.ts +9 -9
  355. package/lib/components/date-picker-panel/src/props/basic-date-table.js.map +1 -1
  356. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  357. package/lib/components/descriptions/src/description-item.d.ts +18 -18
  358. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  359. package/lib/components/dialog/src/dialog-content.d.ts +10 -6
  360. package/lib/components/dialog/src/dialog-content.js +31 -4
  361. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  362. package/lib/components/dialog/src/dialog-content.vue.d.ts +4 -0
  363. package/lib/components/dialog/src/dialog.d.ts +10 -5
  364. package/lib/components/dialog/src/dialog.js +11 -14
  365. package/lib/components/dialog/src/dialog.js.map +1 -1
  366. package/lib/components/dialog/src/dialog.vue.d.ts +8 -3
  367. package/lib/components/divider/src/divider.d.ts +1 -1
  368. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  369. package/lib/components/drawer/src/drawer.d.ts +5 -4
  370. package/lib/components/drawer/src/drawer.vue.d.ts +8 -3
  371. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +1 -1
  372. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +3 -3
  373. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
  374. package/lib/components/dropdown/src/dropdown.d.ts +6 -107
  375. package/lib/components/dropdown/src/dropdown.vue.d.ts +97 -295
  376. package/lib/components/dropdown/style/css.js +1 -1
  377. package/lib/components/dropdown/style/index.js +1 -1
  378. package/lib/components/form/src/form-item.d.ts +2 -2
  379. package/lib/components/form/src/form-item.vue.d.ts +1 -1
  380. package/lib/components/form/src/form.d.ts +2 -2
  381. package/lib/components/image/src/image.js.map +1 -1
  382. package/lib/components/image/src/image.vue.d.ts +3 -3
  383. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  384. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +1 -1
  385. package/lib/components/input/src/input.d.ts +3 -3
  386. package/lib/components/input/src/input.vue.d.ts +16 -16
  387. package/lib/components/input-number/src/input-number.d.ts +2 -2
  388. package/lib/components/input-number/src/input-number.vue.d.ts +7 -7
  389. package/lib/components/input-otp/src/input-otp.vue.d.ts +4 -4
  390. package/lib/components/input-tag/src/input-tag.d.ts +1 -1
  391. package/lib/components/input-tag/src/input-tag.vue.d.ts +10 -10
  392. package/lib/components/link/src/link.d.ts +1 -1
  393. package/lib/components/link/src/link.js.map +1 -1
  394. package/lib/components/link/src/link.vue.d.ts +1 -1
  395. package/lib/components/mention/src/mention.d.ts +5 -106
  396. package/lib/components/mention/src/mention.vue.d.ts +5 -5
  397. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js.map +1 -1
  398. package/lib/components/mention/src/mention2.js.map +1 -1
  399. package/lib/components/menu/src/menu.d.ts +17 -29
  400. package/lib/components/menu/src/menu.js +18 -2
  401. package/lib/components/menu/src/menu.js.map +1 -1
  402. package/lib/components/menu/src/sub-menu.d.ts +10 -22
  403. package/lib/components/menu/src/sub-menu.js +18 -2
  404. package/lib/components/menu/src/sub-menu.js.map +1 -1
  405. package/lib/components/message/src/message.d.ts +4 -4
  406. package/lib/components/message/src/message.js +6 -1
  407. package/lib/components/message/src/message.js.map +1 -1
  408. package/lib/components/message/src/message.vue.d.ts +6 -5
  409. package/lib/components/message/src/method.js.map +1 -1
  410. package/lib/components/message-box/src/index.vue.d.ts +59 -67
  411. package/lib/components/notification/src/notification.d.ts +4 -3
  412. package/lib/components/notification/src/notification.js +6 -1
  413. package/lib/components/notification/src/notification.js.map +1 -1
  414. package/lib/components/notification/src/notification.vue.d.ts +5 -4
  415. package/lib/components/overlay/index.d.ts +4 -12
  416. package/lib/components/overlay/src/overlay.d.ts +5 -18
  417. package/lib/components/overlay/src/overlay.js +9 -5
  418. package/lib/components/overlay/src/overlay.js.map +1 -1
  419. package/lib/components/pagination/src/components/sizes.d.ts +4 -13
  420. package/lib/components/pagination/src/components/sizes.js +18 -2
  421. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  422. package/lib/components/pagination/src/components/sizes.vue.d.ts +7 -24
  423. package/lib/components/pagination/src/pagination.d.ts +12 -25
  424. package/lib/components/pagination/src/pagination.js +15 -2
  425. package/lib/components/pagination/src/pagination.js.map +1 -1
  426. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  427. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +5 -5
  428. package/lib/components/popover/src/popover.d.ts +5 -105
  429. package/lib/components/popover/src/popover.js +1 -0
  430. package/lib/components/popover/src/popover.js.map +1 -1
  431. package/lib/components/popover/src/popover.vue.d.ts +13 -12
  432. package/lib/components/popper/src/composables/use-content-dom.d.ts +2 -25
  433. package/lib/components/popper/src/composables/use-content.d.ts +4 -4
  434. package/lib/components/popper/src/content.d.ts +8 -18
  435. package/lib/components/popper/src/content.js +13 -7
  436. package/lib/components/popper/src/content.js.map +1 -1
  437. package/lib/components/popper/src/content.vue.d.ts +17 -15
  438. package/lib/components/popper/src/popper.d.ts +2 -2
  439. package/lib/components/popper/src/popper.js.map +1 -1
  440. package/lib/components/progress/src/progress.d.ts +1 -1
  441. package/lib/components/progress/src/progress.vue.d.ts +1 -1
  442. package/lib/components/radio/src/radio-button.d.ts +3 -3
  443. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  444. package/lib/components/radio/src/radio-group.vue.d.ts +5 -5
  445. package/lib/components/radio/src/radio.d.ts +6 -6
  446. package/lib/components/radio/src/radio.vue.d.ts +3 -3
  447. package/lib/components/rate/src/rate.vue.d.ts +1 -1
  448. package/lib/components/rate/src/rate.vue_vue_type_script_setup_true_lang.js.map +1 -1
  449. package/lib/components/rate/src/rate2.js.map +1 -1
  450. package/lib/components/result/src/result.d.ts +1 -1
  451. package/lib/components/row/src/row.d.ts +1 -1
  452. package/lib/components/scrollbar/src/scrollbar.d.ts +5 -4
  453. package/lib/components/scrollbar/src/scrollbar.js +12 -2
  454. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  455. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +4 -3
  456. package/lib/components/scrollbar/src/thumb.vue_vue_type_script_setup_true_lang.js.map +1 -1
  457. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  458. package/lib/components/segmented/index.d.ts +3 -3
  459. package/lib/components/segmented/src/segmented.d.ts +1 -1
  460. package/lib/components/segmented/src/segmented.vue.d.ts +1 -1
  461. package/lib/components/select/src/option.d.ts +2 -2
  462. package/lib/components/select/src/option.vue.d.ts +5 -5
  463. package/lib/components/select/src/select-dropdown.vue.d.ts +2 -1
  464. package/lib/components/select/src/select.d.ts +9 -13
  465. package/lib/components/select/src/select.js +15 -2
  466. package/lib/components/select/src/select.js.map +1 -1
  467. package/lib/components/select/src/select.vue.d.ts +113 -119
  468. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  469. package/lib/components/select/src/select2.js.map +1 -1
  470. package/lib/components/select/src/useOption.d.ts +2 -2
  471. package/lib/components/select/src/useSelect.d.ts +5 -5
  472. package/lib/components/select/src/useSelect.js.map +1 -1
  473. package/lib/components/select-v2/src/defaults.d.ts +3 -103
  474. package/lib/components/select-v2/src/option-item.vue.d.ts +1 -1
  475. package/lib/components/select-v2/src/select.vue.d.ts +89 -287
  476. package/lib/components/select-v2/src/useSelect.d.ts +1 -1
  477. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  478. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  479. package/lib/components/slider/src/button.d.ts +2 -1
  480. package/lib/components/slider/src/button.js +9 -1
  481. package/lib/components/slider/src/button.js.map +1 -1
  482. package/lib/components/slider/src/button.vue.d.ts +5 -3
  483. package/lib/components/slider/src/composables/use-marks.js.map +1 -1
  484. package/lib/components/slider/src/slider.d.ts +2 -2
  485. package/lib/components/slider/src/slider.js +6 -1
  486. package/lib/components/slider/src/slider.js.map +1 -1
  487. package/lib/components/slider/src/slider.vue.d.ts +8 -8
  488. package/lib/components/space/src/space.d.ts +7 -7
  489. package/lib/components/space/src/space.js +2 -1
  490. package/lib/components/space/src/space.js.map +1 -1
  491. package/lib/components/space/src/use-space.d.ts +2 -3
  492. package/lib/components/splitter/src/split-bar.vue.d.ts +1 -1
  493. package/lib/components/steps/src/item.d.ts +1 -1
  494. package/lib/components/steps/src/item.vue.d.ts +1 -1
  495. package/lib/components/steps/src/steps.d.ts +2 -2
  496. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  497. package/lib/components/switch/src/switch.vue.d.ts +3 -3
  498. package/lib/components/table/src/filter-panel.vue.d.ts +89 -86
  499. package/lib/components/table/src/table/defaults.d.ts +5 -5
  500. package/lib/components/table/src/table/defaults.js.map +1 -1
  501. package/lib/components/table/src/table/style-helper.d.ts +1 -1
  502. package/lib/components/table/src/table-body/events-helper.js.map +1 -1
  503. package/lib/components/table/src/table-column/defaults.d.ts +4 -4
  504. package/lib/components/table/src/table-header/index.d.ts +14 -14
  505. package/lib/components/table/src/table.vue.d.ts +4 -4
  506. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  507. package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
  508. package/lib/components/tabs/src/tabs.d.ts +5 -5
  509. package/lib/components/tag/src/tag.vue.d.ts +2 -2
  510. package/lib/components/text/src/text.vue.d.ts +1 -1
  511. package/lib/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
  512. package/lib/components/time-picker/src/common/picker.vue.d.ts +22 -222
  513. package/lib/components/time-picker/src/common/props.d.ts +4 -104
  514. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  515. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  516. package/lib/components/time-picker/src/time-picker.d.ts +16 -216
  517. package/lib/components/time-select/src/time-select.d.ts +6 -10
  518. package/lib/components/time-select/src/time-select.js +15 -2
  519. package/lib/components/time-select/src/time-select.js.map +1 -1
  520. package/lib/components/time-select/src/time-select.vue.d.ts +11 -10
  521. package/lib/components/timeline/src/timeline-item.vue.d.ts +2 -2
  522. package/lib/components/tooltip/src/content.d.ts +4 -199
  523. package/lib/components/tooltip/src/content.vue.d.ts +18 -16
  524. package/lib/components/tooltip/src/tooltip.d.ts +5 -202
  525. package/lib/components/tooltip/src/tooltip.vue.d.ts +19 -18
  526. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  527. package/lib/components/tour/src/content.d.ts +1 -1
  528. package/lib/components/tour/src/content.vue.d.ts +1 -1
  529. package/lib/components/tour/src/step.d.ts +1 -1
  530. package/lib/components/tour/src/tour.d.ts +1 -1
  531. package/lib/components/tour/src/tour.vue.d.ts +3 -3
  532. package/lib/components/transfer/src/transfer.vue.d.ts +1 -1
  533. package/lib/components/tree/src/tree-node.vue.d.ts +14 -14
  534. package/lib/components/tree/src/tree.vue.d.ts +16 -16
  535. package/lib/components/tree-select/src/select.js +1 -5
  536. package/lib/components/tree-select/src/select.js.map +1 -1
  537. package/lib/components/tree-select/src/tree-select-option.d.ts +5 -5
  538. package/lib/components/tree-select/src/tree-select.vue.d.ts +33 -41
  539. package/lib/components/tree-v2/src/composables/useTree.d.ts +9 -8
  540. package/lib/components/tree-v2/src/tree.vue.d.ts +2 -2
  541. package/lib/components/upload/src/upload-content.d.ts +1 -1
  542. package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
  543. package/lib/components/upload/src/upload-list.d.ts +1 -1
  544. package/lib/components/upload/src/upload.d.ts +2 -2
  545. package/lib/components/upload/src/upload.js.map +1 -1
  546. package/lib/components/upload/src/upload.vue.d.ts +3 -3
  547. package/lib/components/virtual-list/src/builders/build-grid.d.ts +4 -3
  548. package/lib/components/virtual-list/src/builders/build-list.d.ts +5 -4
  549. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +4 -3
  550. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +5 -4
  551. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +4 -3
  552. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +5 -4
  553. package/lib/components/virtual-list/src/components/scrollbar.d.ts +5 -3
  554. package/lib/components/virtual-list/src/props.d.ts +5 -4
  555. package/lib/components/virtual-list/src/props.js +15 -2
  556. package/lib/components/virtual-list/src/props.js.map +1 -1
  557. package/lib/components/watermark/src/watermark.js.map +1 -1
  558. package/lib/hooks/use-floating/index.d.ts +8 -8
  559. package/lib/hooks/use-popper/index.d.ts +4 -4
  560. package/lib/hooks/use-throttle-render/index.js.map +1 -1
  561. package/lib/utils/index.d.ts +2 -2
  562. package/lib/utils/typescript.d.ts +2 -1
  563. package/lib/utils/typescript.js.map +1 -1
  564. package/lib/version.d.ts +1 -1
  565. package/lib/version.js +1 -1
  566. package/lib/version.js.map +1 -1
  567. package/package.json +2 -2
  568. package/web-types.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { ClassValue } from "../../../utils/typescript.js";
1
2
  import { CardProps } from "./card.js";
2
3
  import * as _$vue from "vue";
3
4
 
@@ -11,9 +12,12 @@ type __VLS_Slots = {} & {
11
12
  footer?: (props: typeof __VLS_5) => any;
12
13
  };
13
14
  declare const __VLS_base: _$vue.DefineComponent<CardProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<CardProps> & Readonly<{}>, {
14
- footer: string;
15
15
  header: string;
16
+ footer: string;
16
17
  bodyStyle: string | false | _$vue.CSSProperties | _$vue.StyleValue[] | null;
18
+ headerClass: string | false | Record<string, any> | ClassValue[] | null;
19
+ bodyClass: string | false | Record<string, any> | ClassValue[] | null;
20
+ footerClass: string | false | Record<string, any> | ClassValue[] | null;
17
21
  shadow: "always" | "hover" | "never";
18
22
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
19
23
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1 +1 @@
1
- {"version":3,"file":"card.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"sources":["../../../../../../packages/components/card/src/card.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.is(`${shadow || globalConfig?.shadow || 'always'}-shadow`),\n ]\"\n >\n <div v-if=\"$slots.header || header\" :class=\"[ns.e('header'), headerClass]\">\n <slot name=\"header\">{{ header }}</slot>\n </div>\n <div :class=\"[ns.e('body'), bodyClass]\" :style=\"bodyStyle\">\n <slot />\n </div>\n <div v-if=\"$slots.footer || footer\" :class=\"[ns.e('footer'), footerClass]\">\n <slot name=\"footer\">{{ footer }}</slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useNamespace } from '@element-plus/hooks'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\n\nimport type { CardProps } from './card'\n\nconst globalConfig = useGlobalConfig('card')\n\ndefineOptions({\n name: 'ElCard',\n})\n\nwithDefaults(defineProps<CardProps>(), {\n header: '',\n footer: '',\n bodyStyle: '',\n shadow: undefined,\n})\n\nconst ns = useNamespace('card')\n</script>\n"],"mappings":";;;;;;;;;;EAyBA,MAAM,eAAe,gBAAgB,OAAM;EAa3C,MAAM,KAAK,aAAa,OAAM;;uBArC5B,mBAeM,OAAA,EAdH,OAAK,eAAA,CAAU,MAAA,GAAE,CAAC,GAAC,EAAU,MAAA,GAAE,CAAC,GAAE,GAAI,QAAA,UAAU,MAAA,aAAY,EAAE,UAAM,SAAA,SAAA,CAAA,CAAA,EAAA,EAAA;IAK1DA,KAAAA,OAAO,UAAU,QAAA,UAAA,WAAA,EAA5B,mBAEM,OAAA;;KAF+B,OAAK,eAAA,CAAG,MAAA,GAAE,CAAC,EAAC,SAAA,EAAY,QAAA,YAAW,CAAA;QACtE,WAAuC,KAAA,QAAA,UAAA,EAAA,QAAA,CAAA,gBAAA,gBAAhB,QAAA,OAAM,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,QAAA,KAAA;IAE/B,mBAEM,OAAA;KAFA,OAAK,eAAA,CAAG,MAAA,GAAE,CAAC,EAAC,OAAA,EAAU,QAAA,UAAS,CAAA;KAAI,OAAK,eAAE,QAAA,UAAS;QACvD,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA;IAECA,KAAAA,OAAO,UAAU,QAAA,UAAA,WAAA,EAA5B,mBAEM,OAAA;;KAF+B,OAAK,eAAA,CAAG,MAAA,GAAE,CAAC,EAAC,SAAA,EAAY,QAAA,YAAW,CAAA;QACtE,WAAuC,KAAA,QAAA,UAAA,EAAA,QAAA,CAAA,gBAAA,gBAAhB,QAAA,OAAM,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,QAAA,KAAA"}
1
+ {"version":3,"file":"card.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"sources":["../../../../../../packages/components/card/src/card.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.is(`${shadow || globalConfig?.shadow || 'always'}-shadow`),\n ]\"\n >\n <div v-if=\"$slots.header || header\" :class=\"[ns.e('header'), headerClass]\">\n <slot name=\"header\">{{ header }}</slot>\n </div>\n <div :class=\"[ns.e('body'), bodyClass]\" :style=\"bodyStyle\">\n <slot />\n </div>\n <div v-if=\"$slots.footer || footer\" :class=\"[ns.e('footer'), footerClass]\">\n <slot name=\"footer\">{{ footer }}</slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useNamespace } from '@element-plus/hooks'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\n\nimport type { CardProps } from './card'\n\nconst globalConfig = useGlobalConfig('card')\n\ndefineOptions({\n name: 'ElCard',\n})\n\nwithDefaults(defineProps<CardProps>(), {\n header: '',\n footer: '',\n bodyStyle: '',\n headerClass: undefined,\n bodyClass: undefined,\n footerClass: undefined,\n shadow: undefined,\n})\n\nconst ns = useNamespace('card')\n</script>\n"],"mappings":";;;;;;;;;;EAyBA,MAAM,eAAe,gBAAgB,OAAM;EAgB3C,MAAM,KAAK,aAAa,OAAM;;uBAxC5B,mBAeM,OAAA,EAdH,OAAK,eAAA,CAAU,MAAA,GAAE,CAAC,GAAC,EAAU,MAAA,GAAE,CAAC,GAAE,GAAI,QAAA,UAAU,MAAA,aAAY,EAAE,UAAM,SAAA,SAAA,CAAA,CAAA,EAAA,EAAA;IAK1DA,KAAAA,OAAO,UAAU,QAAA,UAAA,WAAA,EAA5B,mBAEM,OAAA;;KAF+B,OAAK,eAAA,CAAG,MAAA,GAAE,CAAC,EAAC,SAAA,EAAY,QAAA,YAAW,CAAA;QACtE,WAAuC,KAAA,QAAA,UAAA,EAAA,QAAA,CAAA,gBAAA,gBAAhB,QAAA,OAAM,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,QAAA,KAAA;IAE/B,mBAEM,OAAA;KAFA,OAAK,eAAA,CAAG,MAAA,GAAE,CAAC,EAAC,OAAA,EAAU,QAAA,UAAS,CAAA;KAAI,OAAK,eAAE,QAAA,UAAS;QACvD,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA;IAECA,KAAAA,OAAO,UAAU,QAAA,UAAA,WAAA,EAA5B,mBAEM,OAAA;;KAF+B,OAAK,eAAA,CAAG,MAAA,GAAE,CAAC,EAAC,SAAA,EAAY,QAAA,YAAW,CAAA;QACtE,WAAuC,KAAA,QAAA,UAAA,EAAA,QAAA,CAAA,gBAAA,gBAAhB,QAAA,OAAM,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,QAAA,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"card2.mjs","names":[],"sources":["../../../../../../packages/components/card/src/card.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.is(`${shadow || globalConfig?.shadow || 'always'}-shadow`),\n ]\"\n >\n <div v-if=\"$slots.header || header\" :class=\"[ns.e('header'), headerClass]\">\n <slot name=\"header\">{{ header }}</slot>\n </div>\n <div :class=\"[ns.e('body'), bodyClass]\" :style=\"bodyStyle\">\n <slot />\n </div>\n <div v-if=\"$slots.footer || footer\" :class=\"[ns.e('footer'), footerClass]\">\n <slot name=\"footer\">{{ footer }}</slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useNamespace } from '@element-plus/hooks'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\n\nimport type { CardProps } from './card'\n\nconst globalConfig = useGlobalConfig('card')\n\ndefineOptions({\n name: 'ElCard',\n})\n\nwithDefaults(defineProps<CardProps>(), {\n header: '',\n footer: '',\n bodyStyle: '',\n shadow: undefined,\n})\n\nconst ns = useNamespace('card')\n</script>\n"],"mappings":""}
1
+ {"version":3,"file":"card2.mjs","names":[],"sources":["../../../../../../packages/components/card/src/card.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.is(`${shadow || globalConfig?.shadow || 'always'}-shadow`),\n ]\"\n >\n <div v-if=\"$slots.header || header\" :class=\"[ns.e('header'), headerClass]\">\n <slot name=\"header\">{{ header }}</slot>\n </div>\n <div :class=\"[ns.e('body'), bodyClass]\" :style=\"bodyStyle\">\n <slot />\n </div>\n <div v-if=\"$slots.footer || footer\" :class=\"[ns.e('footer'), footerClass]\">\n <slot name=\"footer\">{{ footer }}</slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useNamespace } from '@element-plus/hooks'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\n\nimport type { CardProps } from './card'\n\nconst globalConfig = useGlobalConfig('card')\n\ndefineOptions({\n name: 'ElCard',\n})\n\nwithDefaults(defineProps<CardProps>(), {\n header: '',\n footer: '',\n bodyStyle: '',\n headerClass: undefined,\n bodyClass: undefined,\n footerClass: undefined,\n shadow: undefined,\n})\n\nconst ns = useNamespace('card')\n</script>\n"],"mappings":""}
@@ -62,11 +62,11 @@ interface CarouselProps {
62
62
  declare const carouselProps: {
63
63
  readonly initialIndex: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
64
64
  readonly height: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
65
- readonly trigger: EpPropFinalized<StringConstructor, "click" | "hover", unknown, "hover", boolean>;
65
+ readonly trigger: EpPropFinalized<StringConstructor, "hover" | "click", unknown, "hover", boolean>;
66
66
  readonly autoplay: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
67
67
  readonly interval: EpPropFinalized<NumberConstructor, unknown, unknown, 3000, boolean>;
68
68
  readonly indicatorPosition: EpPropFinalized<StringConstructor, "" | "none" | "outside", unknown, "", boolean>;
69
- readonly arrow: EpPropFinalized<StringConstructor, "hover" | "always" | "never", unknown, "hover", boolean>;
69
+ readonly arrow: EpPropFinalized<StringConstructor, "always" | "never" | "hover", unknown, "hover", boolean>;
70
70
  readonly type: EpPropFinalized<StringConstructor, "" | "card", unknown, "", boolean>;
71
71
  readonly cardScale: EpPropFinalized<NumberConstructor, unknown, unknown, 0.83, boolean>;
72
72
  readonly loop: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
@@ -17,16 +17,16 @@ declare const __VLS_base: _$vue.DefineComponent<CarouselProps, {
17
17
  onChange?: ((current: number, prev: number) => any) | undefined;
18
18
  }>, {
19
19
  type: "" | "card";
20
- loop: boolean;
21
- initialIndex: number;
22
20
  height: string;
21
+ loop: boolean;
23
22
  trigger: "hover" | "click";
23
+ direction: "horizontal" | "vertical";
24
+ arrow: "always" | "hover" | "never";
25
+ initialIndex: number;
24
26
  autoplay: boolean;
25
27
  interval: number;
26
28
  indicatorPosition: "" | "none" | "outside";
27
- arrow: "always" | "hover" | "never";
28
29
  cardScale: number;
29
- direction: "horizontal" | "vertical";
30
30
  pauseOnHover: boolean;
31
31
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
32
32
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,6 +1,7 @@
1
1
  import { IconPropType } from "../../../utils/vue/icon.js";
2
2
  import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js";
3
3
  import { ComponentSize } from "../../../constants/size.js";
4
+ import { ClassValue } from "../../../utils/typescript.js";
4
5
  import { PopperEffect } from "../../popper/src/popper.js";
5
6
  import { Placement } from "../../popper/index.js";
6
7
  import { CascaderNodePathValue, CascaderNodeValue, CascaderOption, CascaderProps, CascaderValue } from "../../cascader-panel/src/types.js";
@@ -12,7 +13,6 @@ import * as _$vue from "vue";
12
13
  import { StyleValue } from "vue";
13
14
 
14
15
  //#region ../../packages/components/cascader/src/cascader.d.ts
15
- type CascaderClassType = string | Record<string, boolean> | CascaderClassType[];
16
16
  interface CascaderComponentProps extends CascaderCommonProps, UseEmptyValuesProps {
17
17
  /**
18
18
  * @description size of input
@@ -85,7 +85,7 @@ interface CascaderComponentProps extends CascaderCommonProps, UseEmptyValuesProp
85
85
  /**
86
86
  * @description custom class name for Cascader's dropdown
87
87
  */
88
- popperClass?: CascaderClassType;
88
+ popperClass?: ClassValue;
89
89
  /**
90
90
  * @description custom style for Cascader's dropdown
91
91
  */
@@ -164,7 +164,7 @@ declare const cascaderProps: {
164
164
  maxCollapseTags: EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
165
165
  collapseTagsTooltip: BooleanConstructor;
166
166
  maxCollapseTagsTooltipHeight: {
167
- readonly type: _$vue.PropType<EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
167
+ readonly type: _$vue.PropType<EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
168
168
  readonly required: false;
169
169
  readonly validator: ((val: unknown) => boolean) | undefined;
170
170
  __epPropKey: true;
@@ -179,110 +179,9 @@ declare const cascaderProps: {
179
179
  new (): any;
180
180
  readonly prototype: any;
181
181
  }) | null)[], unknown, unknown, () => true, boolean>;
182
- placement: EpPropFinalized<(new (...args: any[]) => "auto" | "auto-start" | "auto-end" | "top" | "bottom" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "auto" | "auto-start" | "auto-end" | "top" | "bottom" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, string, boolean>;
182
+ placement: EpPropFinalized<(new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "left" | "right" | "top" | "auto" | "bottom" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, string, boolean>;
183
183
  fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, string[], boolean>;
184
- popperClass: {
185
- readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | {
186
- [x: string]: boolean;
187
- } | (string | {
188
- [x: string]: boolean;
189
- } | (string | {
190
- [x: string]: boolean;
191
- } | (string | {
192
- [x: string]: boolean;
193
- } | (string | {
194
- [x: string]: boolean;
195
- } | (string | {
196
- [x: string]: boolean;
197
- } | (string | {
198
- [x: string]: boolean;
199
- } | (string | {
200
- [x: string]: boolean;
201
- } | (string | {
202
- [x: string]: boolean;
203
- } | (string | {
204
- [x: string]: boolean;
205
- } | (string | {
206
- [x: string]: boolean;
207
- } | (string | {
208
- [x: string]: boolean;
209
- } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[]) | (() => string | {
210
- [x: string]: boolean;
211
- } | (string | {
212
- [x: string]: boolean;
213
- } | (string | {
214
- [x: string]: boolean;
215
- } | (string | {
216
- [x: string]: boolean;
217
- } | (string | {
218
- [x: string]: boolean;
219
- } | (string | {
220
- [x: string]: boolean;
221
- } | (string | {
222
- [x: string]: boolean;
223
- } | (string | {
224
- [x: string]: boolean;
225
- } | (string | {
226
- [x: string]: boolean;
227
- } | (string | {
228
- [x: string]: boolean;
229
- } | (string | {
230
- [x: string]: boolean;
231
- } | (string | {
232
- [x: string]: boolean;
233
- } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[]) | (((new (...args: any[]) => string | {
234
- [x: string]: boolean;
235
- } | (string | {
236
- [x: string]: boolean;
237
- } | (string | {
238
- [x: string]: boolean;
239
- } | (string | {
240
- [x: string]: boolean;
241
- } | (string | {
242
- [x: string]: boolean;
243
- } | (string | {
244
- [x: string]: boolean;
245
- } | (string | {
246
- [x: string]: boolean;
247
- } | (string | {
248
- [x: string]: boolean;
249
- } | (string | {
250
- [x: string]: boolean;
251
- } | (string | {
252
- [x: string]: boolean;
253
- } | (string | {
254
- [x: string]: boolean;
255
- } | (string | {
256
- [x: string]: boolean;
257
- } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[]) | (() => string | {
258
- [x: string]: boolean;
259
- } | (string | {
260
- [x: string]: boolean;
261
- } | (string | {
262
- [x: string]: boolean;
263
- } | (string | {
264
- [x: string]: boolean;
265
- } | (string | {
266
- [x: string]: boolean;
267
- } | (string | {
268
- [x: string]: boolean;
269
- } | (string | {
270
- [x: string]: boolean;
271
- } | (string | {
272
- [x: string]: boolean;
273
- } | (string | {
274
- [x: string]: boolean;
275
- } | (string | {
276
- [x: string]: boolean;
277
- } | (string | {
278
- [x: string]: boolean;
279
- } | (string | {
280
- [x: string]: boolean;
281
- } | /*elided*/any)[])[])[])[])[])[])[])[])[])[])[])) | null)[], unknown, unknown>>;
282
- readonly required: false;
283
- readonly validator: ((val: unknown) => boolean) | undefined;
284
- __epPropKey: true;
285
- };
184
+ popperClass: EpPropFinalized<(new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue) | (((new (...args: any[]) => string | false | Record<string, any> | ClassValue[]) | (() => ClassValue)) | null)[], unknown, unknown, undefined, boolean>;
286
185
  popperStyle: EpPropFinalized<(new (...args: any[]) => string | false | _$vue.CSSProperties | StyleValue[]) | (() => StyleValue) | (((new (...args: any[]) => string | false | _$vue.CSSProperties | StyleValue[]) | (() => StyleValue)) | null)[], unknown, unknown, undefined, boolean>;
287
186
  teleported: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
288
187
  effect: EpPropFinalized<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown, string, boolean>;
@@ -305,7 +204,7 @@ declare const cascaderProps: {
305
204
  showCheckedStrategy: EpPropFinalized<StringConstructor, string, unknown, string, boolean>;
306
205
  checkOnClickNode: BooleanConstructor;
307
206
  showPrefix: EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
308
- fitInputWidth: EpPropFinalized<(NumberConstructor | BooleanConstructor)[], unknown, unknown, boolean, boolean>;
207
+ fitInputWidth: EpPropFinalized<(BooleanConstructor | NumberConstructor)[], unknown, unknown, boolean, boolean>;
309
208
  modelValue: {
310
209
  readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | number | Record<string, any> | CascaderNodePathValue | (CascaderNodeValue | CascaderNodePathValue)[]) | (() => CascaderValue | null) | (((new (...args: any[]) => string | number | Record<string, any> | CascaderNodePathValue | (CascaderNodeValue | CascaderNodePathValue)[]) | (() => CascaderValue | null)) | null)[], unknown, unknown>>;
311
210
  readonly required: false;
@@ -1 +1 @@
1
- {"version":3,"file":"cascader.mjs","names":[],"sources":["../../../../../../packages/components/cascader/src/cascader.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { CommonProps } from '@element-plus/components/cascader-panel'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n isBoolean,\n} from '@element-plus/utils'\nimport { useEmptyValuesProps, useSizeProp } from '@element-plus/hooks'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { tagProps } from '@element-plus/components/tag'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { CircleClose } from '@element-plus/icons-vue'\n\nimport type { StyleValue } from 'vue'\nimport type { UseEmptyValuesProps } from '@element-plus/hooks'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Placement, PopperEffect } from '@element-plus/components/popper'\nimport type {\n CascaderCommonProps,\n CascaderNode,\n CascaderValue,\n} from '@element-plus/components/cascader-panel'\nimport type { TagProps } from '@element-plus/components/tag'\nimport type { IconPropType } from '@element-plus/utils'\n\ntype CascaderClassType = string | Record<string, boolean> | CascaderClassType[]\n\nexport interface CascaderComponentProps\n extends CascaderCommonProps, UseEmptyValuesProps {\n /**\n * @description size of input\n */\n size?: ComponentSize\n /**\n * @description placeholder of input\n */\n placeholder?: string\n /**\n * @description whether Cascader is disabled\n */\n disabled?: boolean\n /**\n * @description whether selected value can be cleared\n */\n clearable?: boolean\n /**\n * @description custom clear icon component\n */\n clearIcon?: IconPropType\n /**\n * @description whether the options can be searched\n */\n filterable?: boolean\n /**\n * @description customize search logic, the first parameter is `node`, the second is `keyword`, and need return a boolean value indicating whether it hits.\n */\n filterMethod?: (node: CascaderNode, keyword: string) => boolean\n /**\n * @description option label separator\n */\n separator?: string\n /**\n * @description whether to display all levels of the selected value in the input\n */\n showAllLevels?: boolean\n /**\n * @description whether to collapse tags in multiple selection mode\n */\n collapseTags?: boolean\n /**\n * @description The max tags number to be shown. To use this, collapse-tags must be true\n */\n maxCollapseTags?: number\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, collapse-tags must be true\n */\n collapseTagsTooltip?: boolean\n /**\n * @description The max height of collapse tags tooltip, in pixels. To use this, collapse-tags-tooltip must be true\n */\n maxCollapseTagsTooltipHeight?: string | number\n /**\n * @description debounce delay when typing filter keyword, in milliseconds\n */\n debounce?: number\n /**\n * @description hook function before filtering with the value to be filtered as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, filtering will be aborted\n */\n beforeFilter?: (value: string) => boolean | Promise<any>\n /**\n * @description position of dropdown\n */\n placement?: Placement\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements?: Placement[]\n /**\n * @description custom class name for Cascader's dropdown\n */\n popperClass?: CascaderClassType\n /**\n * @description custom style for Cascader's dropdown\n */\n popperStyle?: StyleValue\n /**\n * @description whether cascader popup is teleported\n */\n teleported?: boolean\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect?: PopperEffect\n /**\n * @description tag type\n */\n tagType?: TagProps['type']\n /**\n * @description tag effect\n */\n tagEffect?: TagProps['effect']\n /**\n * @description whether to trigger form validation\n */\n validateEvent?: boolean\n /**\n * @description when dropdown is inactive and `persistent` is `false`, dropdown will be destroyed\n */\n persistent?: boolean\n /**\n * @description Use `parent` when you want things tidy (like \"Entire Collection\" instead of listing 100 items)\n * Use `child` when every single item matters (like important settings)\n */\n showCheckedStrategy?: 'parent' | 'child'\n /**\n * @description whether to check or uncheck node when clicking on the node\n */\n checkOnClickNode?: boolean\n /**\n * @description whether to show the radio or checkbox prefix\n */\n showPrefix?: boolean\n /**\n * @description whether the width of the suggestion panel is the same as the input, if the value is `number`, then the width is fixed\n */\n fitInputWidth?: boolean | number\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `CascaderComponentProps` instead.\n */\nexport const cascaderProps = buildProps({\n ...CommonProps,\n /**\n * @description size of input\n */\n size: useSizeProp,\n /**\n * @description placeholder of input\n */\n placeholder: String,\n /**\n * @description whether Cascader is disabled\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description whether selected value can be cleared\n */\n clearable: Boolean,\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description whether the options can be searched\n */\n filterable: Boolean,\n /**\n * @description customize search logic, the first parameter is `node`, the second is `keyword`, and need return a boolean value indicating whether it hits.\n */\n filterMethod: {\n type: definePropType<(node: CascaderNode, keyword: string) => boolean>(\n Function\n ),\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword),\n },\n /**\n * @description option label separator\n */\n separator: {\n type: String,\n default: ' / ',\n },\n /**\n * @description whether to display all levels of the selected value in the input\n */\n showAllLevels: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to collapse tags in multiple selection mode\n */\n collapseTags: Boolean,\n /**\n * @description The max tags number to be shown. To use this, collapse-tags must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, collapse-tags must be true\n */\n collapseTagsTooltip: Boolean,\n /**\n * @description The max height of collapse tags tooltip, in pixels. To use this, collapse-tags-tooltip must be true\n */\n maxCollapseTagsTooltipHeight: {\n type: [String, Number],\n },\n /**\n * @description debounce delay when typing filter keyword, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description hook function before filtering with the value to be filtered as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, filtering will be aborted\n */\n beforeFilter: {\n type: definePropType<(value: string) => boolean | Promise<any>>(Function),\n default: () => true,\n },\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: ['bottom-start', 'bottom', 'top-start', 'top', 'right', 'left'],\n },\n /**\n * @description custom class name for Cascader's dropdown\n */\n popperClass: useTooltipContentProps.popperClass,\n /**\n * @description custom style for Cascader's dropdown\n */\n popperStyle: useTooltipContentProps.popperStyle,\n /**\n * @description whether cascader popup is teleported\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n /**\n * @description tag type\n */\n\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: { ...tagProps.effect, default: 'light' },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description when dropdown is inactive and `persistent` is `false`, dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Use `parent` when you want things tidy (like \"Entire Collection\" instead of listing 100 items)\n * Use `child` when every single item matters (like important settings)\n */\n showCheckedStrategy: {\n type: String,\n values: ['parent', 'child'],\n default: 'child',\n },\n /**\n * @description whether to check or uncheck node when clicking on the node\n */\n checkOnClickNode: Boolean,\n /**\n * @description whether to show the radio or checkbox prefix\n */\n showPrefix: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the width of the suggestion panel is the same as the input, if the value is `number`, then the width is fixed\n */\n fitInputWidth: {\n type: [Boolean, Number],\n default: false,\n },\n ...useEmptyValuesProps,\n})\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst emitChangeFn = (value: CascaderValue | null | undefined) => true\n\nexport const cascaderEmits = {\n [UPDATE_MODEL_EVENT]: emitChangeFn,\n [CHANGE_EVENT]: emitChangeFn,\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n visibleChange: (val: boolean) => isBoolean(val),\n expandChange: (val: CascaderValue) => !!val,\n removeTag: (val: CascaderNode['valueByOption']) => !!val,\n}\n\nexport type CascaderEmits = typeof cascaderEmits\n"],"mappings":";;;;;;;;;;;;;;;AAwJA,MAAa,gBAAgB,WAAW;CACtC,GAAG;;;;CAIH,MAAM;;;;CAIN,aAAa;;;;CAIb,UAAU;EACR,MAAM;EACN,SAAS,KAAA;EACV;;;;CAID,WAAW;;;;CAIX,WAAW;EACT,MAAM;EACN,SAAS;EACV;;;;CAID,YAAY;;;;CAIZ,cAAc;EACZ,MAAM,eACJ,SACD;EACD,UAAU,MAAoB,YAC5B,KAAK,KAAK,SAAS,QAAQ;EAC9B;;;;CAID,WAAW;EACT,MAAM;EACN,SAAS;EACV;;;;CAID,eAAe;EACb,MAAM;EACN,SAAS;EACV;;;;CAID,cAAc;;;;CAId,iBAAiB;EACf,MAAM;EACN,SAAS;EACV;;;;CAID,qBAAqB;;;;CAIrB,8BAA8B,EAC5B,MAAM,CAAC,QAAQ,OAAO,EACvB;;;;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;;;;CAID,cAAc;EACZ,MAAM,eAA0D,SAAS;EACzE,eAAe;EAChB;;;;CAID,WAAW;EACT,MAAM,eAA0B,OAAO;EACvC,QAAQ;EACR,SAAS;EACV;;;;CAID,oBAAoB;EAClB,MAAM,eAA4B,MAAM;EACxC,SAAS;GAAC;GAAgB;GAAU;GAAa;GAAO;GAAS;GAAO;EACzE;;;;CAID,aAAa,uBAAuB;;;;CAIpC,aAAa,uBAAuB;;;;CAIpC,YAAY,uBAAuB;;;;CAInC,QAAQ;EACN,MAAM,eAA6B,OAAO;EAC1C,SAAS;EACV;;;;CAKD,SAAS;EAAE,GAAG,SAAS;EAAM,SAAS;EAAQ;;;;CAI9C,WAAW;EAAE,GAAG,SAAS;EAAQ,SAAS;EAAS;;;;CAInD,eAAe;EACb,MAAM;EACN,SAAS;EACV;;;;CAID,YAAY;EACV,MAAM;EACN,SAAS;EACV;;;;;CAKD,qBAAqB;EACnB,MAAM;EACN,QAAQ,CAAC,UAAU,QAAQ;EAC3B,SAAS;EACV;;;;CAID,kBAAkB;;;;CAIlB,YAAY;EACV,MAAM;EACN,SAAS;EACV;;;;CAID,eAAe;EACb,MAAM,CAAC,SAAS,OAAO;EACvB,SAAS;EACV;CACD,GAAG;CACJ,CAAC;AAGF,MAAM,gBAAgB,UAA4C;AAElE,MAAa,gBAAgB;EAC1B,qBAAqB;EACrB,eAAe;CAChB,QAAQ,QAAoB,eAAe;CAC3C,OAAO,QAAoB,eAAe;CAC1C,aAAa;CACb,gBAAgB,QAAiB,UAAU,IAAI;CAC/C,eAAe,QAAuB,CAAC,CAAC;CACxC,YAAY,QAAuC,CAAC,CAAC;CACtD"}
1
+ {"version":3,"file":"cascader.mjs","names":[],"sources":["../../../../../../packages/components/cascader/src/cascader.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { CommonProps } from '@element-plus/components/cascader-panel'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n isBoolean,\n} from '@element-plus/utils'\nimport { useEmptyValuesProps, useSizeProp } from '@element-plus/hooks'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { tagProps } from '@element-plus/components/tag'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { CircleClose } from '@element-plus/icons-vue'\n\nimport type { StyleValue } from 'vue'\nimport type { UseEmptyValuesProps } from '@element-plus/hooks'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Placement, PopperEffect } from '@element-plus/components/popper'\nimport type {\n CascaderCommonProps,\n CascaderNode,\n CascaderValue,\n} from '@element-plus/components/cascader-panel'\nimport type { TagProps } from '@element-plus/components/tag'\nimport type { ClassValue, IconPropType } from '@element-plus/utils'\n\nexport interface CascaderComponentProps\n extends CascaderCommonProps, UseEmptyValuesProps {\n /**\n * @description size of input\n */\n size?: ComponentSize\n /**\n * @description placeholder of input\n */\n placeholder?: string\n /**\n * @description whether Cascader is disabled\n */\n disabled?: boolean\n /**\n * @description whether selected value can be cleared\n */\n clearable?: boolean\n /**\n * @description custom clear icon component\n */\n clearIcon?: IconPropType\n /**\n * @description whether the options can be searched\n */\n filterable?: boolean\n /**\n * @description customize search logic, the first parameter is `node`, the second is `keyword`, and need return a boolean value indicating whether it hits.\n */\n filterMethod?: (node: CascaderNode, keyword: string) => boolean\n /**\n * @description option label separator\n */\n separator?: string\n /**\n * @description whether to display all levels of the selected value in the input\n */\n showAllLevels?: boolean\n /**\n * @description whether to collapse tags in multiple selection mode\n */\n collapseTags?: boolean\n /**\n * @description The max tags number to be shown. To use this, collapse-tags must be true\n */\n maxCollapseTags?: number\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, collapse-tags must be true\n */\n collapseTagsTooltip?: boolean\n /**\n * @description The max height of collapse tags tooltip, in pixels. To use this, collapse-tags-tooltip must be true\n */\n maxCollapseTagsTooltipHeight?: string | number\n /**\n * @description debounce delay when typing filter keyword, in milliseconds\n */\n debounce?: number\n /**\n * @description hook function before filtering with the value to be filtered as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, filtering will be aborted\n */\n beforeFilter?: (value: string) => boolean | Promise<any>\n /**\n * @description position of dropdown\n */\n placement?: Placement\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements?: Placement[]\n /**\n * @description custom class name for Cascader's dropdown\n */\n popperClass?: ClassValue\n /**\n * @description custom style for Cascader's dropdown\n */\n popperStyle?: StyleValue\n /**\n * @description whether cascader popup is teleported\n */\n teleported?: boolean\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect?: PopperEffect\n /**\n * @description tag type\n */\n tagType?: TagProps['type']\n /**\n * @description tag effect\n */\n tagEffect?: TagProps['effect']\n /**\n * @description whether to trigger form validation\n */\n validateEvent?: boolean\n /**\n * @description when dropdown is inactive and `persistent` is `false`, dropdown will be destroyed\n */\n persistent?: boolean\n /**\n * @description Use `parent` when you want things tidy (like \"Entire Collection\" instead of listing 100 items)\n * Use `child` when every single item matters (like important settings)\n */\n showCheckedStrategy?: 'parent' | 'child'\n /**\n * @description whether to check or uncheck node when clicking on the node\n */\n checkOnClickNode?: boolean\n /**\n * @description whether to show the radio or checkbox prefix\n */\n showPrefix?: boolean\n /**\n * @description whether the width of the suggestion panel is the same as the input, if the value is `number`, then the width is fixed\n */\n fitInputWidth?: boolean | number\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `CascaderComponentProps` instead.\n */\nexport const cascaderProps = buildProps({\n ...CommonProps,\n /**\n * @description size of input\n */\n size: useSizeProp,\n /**\n * @description placeholder of input\n */\n placeholder: String,\n /**\n * @description whether Cascader is disabled\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description whether selected value can be cleared\n */\n clearable: Boolean,\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description whether the options can be searched\n */\n filterable: Boolean,\n /**\n * @description customize search logic, the first parameter is `node`, the second is `keyword`, and need return a boolean value indicating whether it hits.\n */\n filterMethod: {\n type: definePropType<(node: CascaderNode, keyword: string) => boolean>(\n Function\n ),\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword),\n },\n /**\n * @description option label separator\n */\n separator: {\n type: String,\n default: ' / ',\n },\n /**\n * @description whether to display all levels of the selected value in the input\n */\n showAllLevels: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to collapse tags in multiple selection mode\n */\n collapseTags: Boolean,\n /**\n * @description The max tags number to be shown. To use this, collapse-tags must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, collapse-tags must be true\n */\n collapseTagsTooltip: Boolean,\n /**\n * @description The max height of collapse tags tooltip, in pixels. To use this, collapse-tags-tooltip must be true\n */\n maxCollapseTagsTooltipHeight: {\n type: [String, Number],\n },\n /**\n * @description debounce delay when typing filter keyword, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description hook function before filtering with the value to be filtered as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, filtering will be aborted\n */\n beforeFilter: {\n type: definePropType<(value: string) => boolean | Promise<any>>(Function),\n default: () => true,\n },\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: ['bottom-start', 'bottom', 'top-start', 'top', 'right', 'left'],\n },\n /**\n * @description custom class name for Cascader's dropdown\n */\n popperClass: useTooltipContentProps.popperClass,\n /**\n * @description custom style for Cascader's dropdown\n */\n popperStyle: useTooltipContentProps.popperStyle,\n /**\n * @description whether cascader popup is teleported\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n /**\n * @description tag type\n */\n\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: { ...tagProps.effect, default: 'light' },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description when dropdown is inactive and `persistent` is `false`, dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Use `parent` when you want things tidy (like \"Entire Collection\" instead of listing 100 items)\n * Use `child` when every single item matters (like important settings)\n */\n showCheckedStrategy: {\n type: String,\n values: ['parent', 'child'],\n default: 'child',\n },\n /**\n * @description whether to check or uncheck node when clicking on the node\n */\n checkOnClickNode: Boolean,\n /**\n * @description whether to show the radio or checkbox prefix\n */\n showPrefix: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the width of the suggestion panel is the same as the input, if the value is `number`, then the width is fixed\n */\n fitInputWidth: {\n type: [Boolean, Number],\n default: false,\n },\n ...useEmptyValuesProps,\n})\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst emitChangeFn = (value: CascaderValue | null | undefined) => true\n\nexport const cascaderEmits = {\n [UPDATE_MODEL_EVENT]: emitChangeFn,\n [CHANGE_EVENT]: emitChangeFn,\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n visibleChange: (val: boolean) => isBoolean(val),\n expandChange: (val: CascaderValue) => !!val,\n removeTag: (val: CascaderNode['valueByOption']) => !!val,\n}\n\nexport type CascaderEmits = typeof cascaderEmits\n"],"mappings":";;;;;;;;;;;;;;;AAsJA,MAAa,gBAAgB,WAAW;CACtC,GAAG;;;;CAIH,MAAM;;;;CAIN,aAAa;;;;CAIb,UAAU;EACR,MAAM;EACN,SAAS,KAAA;EACV;;;;CAID,WAAW;;;;CAIX,WAAW;EACT,MAAM;EACN,SAAS;EACV;;;;CAID,YAAY;;;;CAIZ,cAAc;EACZ,MAAM,eACJ,SACD;EACD,UAAU,MAAoB,YAC5B,KAAK,KAAK,SAAS,QAAQ;EAC9B;;;;CAID,WAAW;EACT,MAAM;EACN,SAAS;EACV;;;;CAID,eAAe;EACb,MAAM;EACN,SAAS;EACV;;;;CAID,cAAc;;;;CAId,iBAAiB;EACf,MAAM;EACN,SAAS;EACV;;;;CAID,qBAAqB;;;;CAIrB,8BAA8B,EAC5B,MAAM,CAAC,QAAQ,OAAO,EACvB;;;;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;;;;CAID,cAAc;EACZ,MAAM,eAA0D,SAAS;EACzE,eAAe;EAChB;;;;CAID,WAAW;EACT,MAAM,eAA0B,OAAO;EACvC,QAAQ;EACR,SAAS;EACV;;;;CAID,oBAAoB;EAClB,MAAM,eAA4B,MAAM;EACxC,SAAS;GAAC;GAAgB;GAAU;GAAa;GAAO;GAAS;GAAO;EACzE;;;;CAID,aAAa,uBAAuB;;;;CAIpC,aAAa,uBAAuB;;;;CAIpC,YAAY,uBAAuB;;;;CAInC,QAAQ;EACN,MAAM,eAA6B,OAAO;EAC1C,SAAS;EACV;;;;CAKD,SAAS;EAAE,GAAG,SAAS;EAAM,SAAS;EAAQ;;;;CAI9C,WAAW;EAAE,GAAG,SAAS;EAAQ,SAAS;EAAS;;;;CAInD,eAAe;EACb,MAAM;EACN,SAAS;EACV;;;;CAID,YAAY;EACV,MAAM;EACN,SAAS;EACV;;;;;CAKD,qBAAqB;EACnB,MAAM;EACN,QAAQ,CAAC,UAAU,QAAQ;EAC3B,SAAS;EACV;;;;CAID,kBAAkB;;;;CAIlB,YAAY;EACV,MAAM;EACN,SAAS;EACV;;;;CAID,eAAe;EACb,MAAM,CAAC,SAAS,OAAO;EACvB,SAAS;EACV;CACD,GAAG;CACJ,CAAC;AAGF,MAAM,gBAAgB,UAA4C;AAElE,MAAa,gBAAgB;EAC1B,qBAAqB;EACrB,eAAe;CAChB,QAAQ,QAAoB,eAAe;CAC3C,OAAO,QAAoB,eAAe;CAC1C,aAAa;CACb,gBAAgB,QAAiB,UAAU,IAAI;CAC/C,eAAe,QAAuB,CAAC,CAAC;CACxC,YAAY,QAAuC,CAAC,CAAC;CACtD"}
@@ -1,4 +1,5 @@
1
1
  import { IconPropType } from "../../../utils/vue/icon.js";
2
+ import { ClassValue } from "../../../utils/typescript.js";
2
3
  import { PopperEffect } from "../../popper/src/popper.js";
3
4
  import { Placement } from "../../popper/index.js";
4
5
  import { CascaderNodePathValue, CascaderNodeValue, CascaderOption, CascaderProps, CascaderValue, ExpandTrigger, LazyLoad, Tag, isDisabled, isLeaf } from "../../cascader-panel/src/types.js";
@@ -186,48 +187,49 @@ declare const __VLS_base: _$vue.DefineComponent<CascaderComponentProps, {
186
187
  focus: () => void; /** @description blur the input element */
187
188
  blur: () => void;
188
189
  }, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
189
- blur: (evt: FocusEvent) => void;
190
- focus: (evt: FocusEvent) => void;
191
- clear: () => void;
192
190
  "update:modelValue": (value: CascaderValue | null | undefined) => void;
193
191
  change: (value: CascaderValue | null | undefined) => void;
192
+ clear: () => void;
193
+ focus: (evt: FocusEvent) => void;
194
+ blur: (evt: FocusEvent) => void;
194
195
  visibleChange: (val: boolean) => void;
195
196
  expandChange: (val: CascaderValue) => void;
196
197
  removeTag: (val: CascaderNodeValue | CascaderNodePathValue) => void;
197
198
  }, string, _$vue.PublicProps, Readonly<CascaderComponentProps> & Readonly<{
199
+ "onUpdate:modelValue"?: ((value: CascaderValue | null | undefined) => any) | undefined;
198
200
  onChange?: ((value: CascaderValue | null | undefined) => any) | undefined;
199
- onBlur?: ((evt: FocusEvent) => any) | undefined;
200
- onFocus?: ((evt: FocusEvent) => any) | undefined;
201
201
  onClear?: (() => any) | undefined;
202
- "onUpdate:modelValue"?: ((value: CascaderValue | null | undefined) => any) | undefined;
202
+ onFocus?: ((evt: FocusEvent) => any) | undefined;
203
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
203
204
  onVisibleChange?: ((val: boolean) => any) | undefined;
204
205
  onExpandChange?: ((val: CascaderValue) => any) | undefined;
205
206
  onRemoveTag?: ((val: CascaderNodeValue | CascaderNodePathValue) => any) | undefined;
206
207
  }>, {
207
- fallbackPlacements: Placement[];
208
- placement: Placement;
209
- effect: PopperEffect;
210
- popperStyle: string | false | _$vue.CSSProperties | StyleValue[] | null;
208
+ valueOnClear: string | number | boolean | Function | null;
211
209
  teleported: boolean;
212
- persistent: boolean;
213
- disabled: boolean;
214
210
  props: CascaderProps;
211
+ effect: PopperEffect;
212
+ disabled: boolean;
213
+ clearIcon: IconPropType;
214
+ validateEvent: boolean;
215
215
  height: number;
216
+ separator: string;
217
+ popperClass: string | false | Record<string, any> | ClassValue[] | null;
218
+ popperStyle: string | false | _$vue.CSSProperties | StyleValue[] | null;
219
+ fallbackPlacements: Placement[];
220
+ placement: Placement;
221
+ persistent: boolean;
222
+ options: CascaderOption[];
223
+ debounce: number;
216
224
  showPrefix: boolean;
217
- clearIcon: IconPropType;
218
225
  filterMethod: (node: Node, keyword: string) => boolean;
219
- separator: string;
220
226
  showAllLevels: boolean;
221
227
  maxCollapseTags: number;
222
- debounce: number;
223
228
  beforeFilter: (value: string) => boolean | Promise<any>;
224
229
  tagType: "info" | "primary" | "success" | "warning" | "danger";
225
230
  tagEffect: "light" | "dark" | "plain";
226
- validateEvent: boolean;
227
231
  showCheckedStrategy: "parent" | "child";
228
- options: CascaderOption[];
229
232
  itemSize: number;
230
- valueOnClear: string | number | boolean | Function | null;
231
233
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
232
234
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
233
235
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"cascader.vue_vue_type_script_setup_true_lang.mjs","names":["$slots","$nextTick"],"sources":["../../../../../../packages/components/cascader/src/cascader.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"popperVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsCascader.e('dropdown'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :placement=\"placement\"\n :transition=\"`${nsCascader.namespace.value}-zoom-in-top`\"\n :effect=\"effect\"\n pure\n :persistent=\"persistent\"\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n v-clickoutside:[contentRef]=\"handleClickOutside\"\n :class=\"cascaderKls\"\n :style=\"cascaderStyle\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"inputRef\"\n v-model=\"inputValue\"\n :placeholder=\"currentPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"inputClass\"\n :tabindex=\"multiple && filterable && !isDisabled ? -1 : undefined\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @input=\"handleInput\"\n >\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n :class=\"[nsInput.e('icon'), 'icon-circle-close']\"\n @click.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"cascaderIconKls\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div\n v-if=\"multiple\"\n ref=\"tagWrapper\"\n :class=\"[\n nsCascader.e('tags'),\n nsCascader.is('validate', Boolean(validateState)),\n ]\"\n >\n <slot name=\"tag\" :data=\"tags\" :delete-tag=\"deleteTag\">\n <el-tag\n v-for=\"tag in showTagList\"\n :key=\"tag.key\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :effect=\"tagEffect\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <span>{{ tag.text }}</span>\n </el-tag>\n </slot>\n <el-tooltip\n v-if=\"collapseTags && tags.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"popperVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n placement=\"bottom\"\n :popper-class=\"popperClass\"\n :popper-style=\"popperStyle\"\n :effect=\"effect\"\n :persistent=\"persistent\"\n >\n <template #default>\n <el-tag\n :closable=\"false\"\n :size=\"tagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n >\n <span :class=\"nsCascader.e('tags-text')\">\n + {{ tags.length - maxCollapseTags }}\n </span>\n </el-tag>\n </template>\n <template #content>\n <el-scrollbar :max-height=\"maxCollapseTagsTooltipHeight\">\n <div :class=\"nsCascader.e('collapse-tags')\">\n <div\n v-for=\"(tag, idx) in collapseTagList\"\n :key=\"idx\"\n :class=\"nsCascader.e('collapse-tag')\"\n >\n <el-tag\n :key=\"tag.key\"\n class=\"in-tooltip\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :effect=\"tagEffect\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <span>{{ tag.text }}</span>\n </el-tag>\n </div>\n </div>\n </el-scrollbar>\n </template>\n </el-tooltip>\n <input\n v-if=\"filterable && !isDisabled\"\n v-model=\"searchInputValue\"\n type=\"text\"\n :class=\"nsCascader.e('search-input')\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e as InputEvent)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <div v-if=\"$slots.header\" :class=\"nsCascader.e('header')\" @click.stop>\n <slot name=\"header\" />\n </div>\n <el-cascader-panel\n v-show=\"!filtering\"\n ref=\"cascaderPanelRef\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props.props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n :virtual-scroll=\"virtualScroll\"\n :item-size=\"itemSize\"\n :height=\"height\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n >\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </el-cascader-panel>\n <template v-if=\"filterable\">\n <el-scrollbar\n v-if=\"!virtualScroll\"\n v-show=\"filtering\"\n :ref=\"(ref) => (suggestionPanel = (ref as ScrollbarInstance)?.$el)\"\n tag=\"ul\"\n :class=\"nsCascader.e('suggestion-panel')\"\n :wrap-class=\"nsCascader.e('suggestion-wrap')\"\n :view-class=\"nsCascader.e('suggestion-list')\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n nsCascader.e('suggestion-item'),\n nsCascader.is('checked', item.checked),\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <slot name=\"suggestion-item\" :item=\"item\">\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\">\n <check />\n </el-icon>\n </slot>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li :class=\"nsCascader.e('empty-text')\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n <div\n v-else\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n :class=\"nsCascader.e('suggestion-panel')\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <el-fixed-size-list\n v-show=\"suggestions.length\"\n ref=\"suggestionVirtualListRef\"\n :height=\"clampedSuggestionListHeight\"\n :item-size=\"itemSize\"\n :data=\"suggestions\"\n :total=\"suggestions.length\"\n :class-name=\"nsCascader.e('suggestion-list')\"\n inner-element=\"ul\"\n :inner-width=\"suggestionListWidth\"\n >\n <template #default=\"{ data, index, style }\">\n <li\n :id=\"`suggestion-${data[index].uid}`\"\n :key=\"data[index].uid\"\n :data-suggestion-index=\"index\"\n :class=\"[\n nsCascader.e('suggestion-item'),\n nsCascader.is('checked', data[index].checked),\n ]\"\n :tabindex=\"-1\"\n :style=\"style\"\n @click=\"handleSuggestionClick(data[index])\"\n >\n <slot name=\"suggestion-item\" :item=\"data[index]\">\n <span>{{ data[index].text }}</span>\n <el-icon v-if=\"data[index].checked\">\n <check />\n </el-icon>\n </slot>\n </li>\n </template>\n </el-fixed-size-list>\n <slot v-if=\"!suggestions.length\" name=\"empty\">\n <ul :class=\"nsCascader.e('suggestion-list')\">\n <li :class=\"nsCascader.e('empty-text')\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </ul>\n </slot>\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"nsCascader.e('footer')\" @click.stop>\n <slot name=\"footer\" />\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n markRaw,\n nextTick,\n onMounted,\n ref,\n useAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { clamp, cloneDeep } from 'lodash-unified'\nimport { useCssVar, useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n NOOP,\n focusNode,\n getEventCode,\n getSibling,\n isClient,\n isNumber,\n isPromise,\n} from '@element-plus/utils'\nimport ElCascaderPanel, {\n CASCADER_PANEL_HEIGHT,\n CASCADER_PANEL_ITEM_SIZE,\n} from '@element-plus/components/cascader-panel'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { FixedSizeList as ElFixedSizeList } from '@element-plus/components/virtual-list'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormSize,\n} from '@element-plus/components/form'\nimport { ClickOutside as vClickoutside } from '@element-plus/directives'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { ArrowDown, Check, CircleClose } from '@element-plus/icons-vue'\nimport { cascaderEmits } from './cascader'\n\nimport type { Options } from '@element-plus/components/popper'\nimport type { ComputedRef, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { FixedSizeListInstance } from '@element-plus/components/virtual-list'\nimport type {\n CascaderNode,\n CascaderPanelInstance,\n CascaderValue,\n Tag,\n} from '@element-plus/components/cascader-panel'\nimport type { CascaderComponentProps } from './cascader'\n\nconst SUGGESTION_ITEM_EXTRA_WIDTH = 34 // span margin-right (10px) + check icon width (24px)\n\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n const { modifiersData, placement } = state\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n if (modifiersData.arrow) {\n modifiersData.arrow.x = 35\n }\n },\n requires: ['arrow'],\n },\n ],\n}\n\ndefineOptions({\n name: 'ElCascader',\n})\n\nconst props = withDefaults(defineProps<CascaderComponentProps>(), {\n options: () => [],\n props: () => ({}),\n disabled: undefined,\n clearIcon: markRaw(CircleClose),\n filterMethod: (node, keyword) => node.text.includes(keyword),\n separator: ' / ',\n showAllLevels: true,\n maxCollapseTags: 1,\n debounce: 300,\n beforeFilter: () => true,\n placement: 'bottom-start',\n fallbackPlacements: () => [\n 'bottom-start',\n 'bottom',\n 'top-start',\n 'top',\n 'right',\n 'left',\n ],\n teleported: true,\n effect: 'light',\n tagType: 'info',\n tagEffect: 'light',\n validateEvent: true,\n persistent: true,\n showCheckedStrategy: 'child',\n showPrefix: true,\n popperStyle: undefined,\n valueOnClear: undefined,\n itemSize: CASCADER_PANEL_ITEM_SIZE,\n height: CASCADER_PANEL_HEIGHT,\n})\nconst emit = defineEmits(cascaderEmits)\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nlet inputInitialHeight = 0\nlet pressDeleteCount = 0\n\nconst nsCascader = useNamespace('cascader')\nconst nsInput = useNamespace('input')\nconst sizeMapPadding = {\n small: 7,\n default: 11,\n large: 15,\n}\n\nconst { t } = useLocale()\nconst { formItem } = useFormItem()\nconst isDisabled = useFormDisabled()\nconst { valueOnClear } = useEmptyValues(props)\nconst { isComposing, handleComposition } = useComposition({\n afterComposition(event) {\n const text = (event.target as HTMLInputElement)?.value\n handleInput(text)\n },\n})\n\nconst tooltipRef = ref<TooltipInstance>()\nconst tagTooltipRef = ref<TooltipInstance>()\nconst inputRef = ref<InputInstance>()\nconst tagWrapper = ref<HTMLDivElement>()\nconst cascaderPanelRef = ref<CascaderPanelInstance>()\nconst suggestionPanel = ref<HTMLElement>()\nconst suggestionVirtualListRef = ref<FixedSizeListInstance>()\nconst popperVisible = ref(false)\nconst inputHover = ref(false)\nconst filtering = ref(false)\nconst inputValue = ref('')\nconst searchInputValue = ref('')\nconst tags = ref<Tag[]>([])\nconst suggestions = ref<CascaderNode[]>([])\nconst suggestionListWidth = ref<string | number>('100%')\nconst hasCustomSuggestionItemSlot = computed(() => !!slots['suggestion-item'])\nconst clampedSuggestionListHeight = computed(() =>\n clamp(suggestions.value.length * props.itemSize, props.itemSize, props.height)\n)\n\nconst showTagList = computed(() => {\n if (!props.props.multiple) {\n return []\n }\n return props.collapseTags\n ? tags.value.slice(0, props.maxCollapseTags)\n : tags.value\n})\n\nconst collapseTagList = computed(() => {\n if (!props.props.multiple) {\n return []\n }\n return props.collapseTags ? tags.value.slice(props.maxCollapseTags) : []\n})\n\nconst cascaderStyle = computed(() => {\n return attrs.style as StyleValue\n})\n\nconst inputPlaceholder = computed(\n () => props.placeholder ?? t('el.cascader.placeholder')\n)\nconst currentPlaceholder = computed(() =>\n searchInputValue.value || tags.value.length > 0 || isComposing.value\n ? ''\n : inputPlaceholder.value\n)\nconst realSize = useFormSize()\nconst tagSize = computed(() =>\n realSize.value === 'small' ? 'small' : 'default'\n)\nconst multiple = computed(() => !!props.props.multiple)\nconst readonly = computed(() => !props.filterable || multiple.value)\nconst searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n)\nconst checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => cascaderPanelRef.value?.checkedNodes || []\n)\n\nconst { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n disabled: isDisabled,\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch(NOOP)\n }\n },\n})\n\nconst clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n (!inputHover.value && !isFocused.value)\n )\n return false\n\n return !!checkedNodes.value.length\n})\nconst presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ''\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n})\n\nconst validateState = computed(() => formItem?.validateState || '')\n\nconst checkedValue = computed<CascaderValue>({\n get() {\n return cloneDeep(props.modelValue) as CascaderValue\n },\n set(val) {\n // https://github.com/element-plus/element-plus/issues/17647\n const value = val ?? valueOnClear.value\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n if (props.validateEvent) {\n formItem?.validate('change').catch(NOOP)\n }\n },\n})\n\nconst cascaderKls = computed(() => {\n return [\n nsCascader.b(),\n nsCascader.m(realSize.value),\n nsCascader.is('disabled', isDisabled.value),\n attrs.class,\n ]\n})\n\nconst cascaderIconKls = computed(() => {\n return [\n nsInput.e('icon'),\n 'icon-arrow-down',\n nsCascader.is('reverse', popperVisible.value),\n ]\n})\n\nconst inputClass = computed(() => nsCascader.is('focus', isFocused.value))\n\nconst contentRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n})\n\nconst handleClickOutside = (event: Event) => {\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n handleBlur(_event)\n }\n togglePopperVisible(false)\n}\n\nconst togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n inputRef.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n updatePopperPosition()\n cascaderPanelRef.value &&\n nextTick(cascaderPanelRef.value.scrollToExpandingNode)\n } else if (props.filterable) {\n syncPresentTextValue()\n }\n\n emit('visibleChange', visible)\n }\n}\n\nconst updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n}\nconst hideSuggestionPanel = () => {\n filtering.value = false\n}\n\nconst genTag = (node: CascaderNode): Tag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.isDisabled,\n }\n}\n\nconst deleteTag = (tag: Tag) => {\n const node = tag.node as CascaderNode\n node.doCheck(false)\n cascaderPanelRef.value?.calculateCheckedValue()\n emit('removeTag', node.valueByOption)\n}\n\nconst getStrategyCheckedNodes = (): CascaderNode[] => {\n switch (props.showCheckedStrategy) {\n case 'child':\n return checkedNodes.value\n case 'parent': {\n const clickedNodes = getCheckedNodes(false)\n const clickedNodesValue = clickedNodes!.map((o) => o.value)\n const parentNodes = clickedNodes!.filter(\n (o) => !o.parent || !clickedNodesValue.includes(o.parent.value)\n )\n return parentNodes\n }\n default:\n return []\n }\n}\n\nconst calculatePresentTags = () => {\n if (!multiple.value) return\n\n const nodes = getStrategyCheckedNodes()\n\n const allTags: Tag[] = []\n nodes.forEach((node) => allTags.push(genTag(node)))\n tags.value = allTags\n}\n\nconst calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = cascaderPanelRef.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.isDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n tags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n nextTick(() => {\n if (props.virtualScroll && suggestions.value.length > 0) {\n suggestionVirtualListRef.value?.scrollToItem(0)\n }\n updateStyle()\n })\n updatePopperPosition()\n}\n\nconst getSuggestionPanelEl = (selector?: string): HTMLElement | undefined => {\n const el = suggestionPanel.value\n return selector ? (el?.querySelector(selector) ?? undefined) : el\n}\n\nconst focusFirstNode = () => {\n let firstNode: HTMLElement | undefined\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = getSuggestionPanelEl(`.${nsCascader.e('suggestion-item')}`)\n } else {\n firstNode = cascaderPanelRef.value?.$el.querySelector(\n `.${nsCascader.b('node')}[tabindex=\"-1\"]`\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n if (\n !filtering.value &&\n firstNode.getAttribute('aria-haspopup') === 'true'\n ) {\n firstNode.click()\n }\n }\n}\n\nconst updateSuggestionPanelWidth = (inputWidth: number) => {\n const suggestionPanelEl = getSuggestionPanelEl()\n if (!suggestionPanelEl) return\n\n const panelWidth = isNumber(props.fitInputWidth)\n ? `${props.fitInputWidth}px`\n : `${inputWidth}px`\n\n const setPanelStyle = (el: HTMLElement) => {\n if (props.fitInputWidth !== false) {\n el.style.width = panelWidth\n el.style.minWidth = ''\n } else {\n el.style.width = ''\n el.style.minWidth = panelWidth\n }\n }\n\n setPanelStyle(suggestionPanelEl)\n\n if (props.virtualScroll) {\n suggestionListWidth.value =\n props.fitInputWidth !== false\n ? panelWidth\n : hasCustomSuggestionItemSlot.value\n ? `${inputWidth}px`\n : `${Math.max(inputWidth, calculateSuggestionMaxWidth())}px`\n return\n }\n\n const suggestionList = getSuggestionPanelEl(\n `.${nsCascader.e('suggestion-list')}`\n )\n if (suggestionList) {\n setPanelStyle(suggestionList)\n }\n}\n\nconst getTagWrapperLeft = () => {\n if (!slots.prefix) return 0\n\n const prefix = inputRef.value?.$el.querySelector(\n `.${nsInput.e('prefix')}`\n ) as HTMLElement | null\n if (!prefix) return 0\n\n const prefixWidth = prefix.getBoundingClientRect().width\n if (prefixWidth <= 0) return 0\n return prefixWidth + sizeMapPadding[realSize.value || 'default']\n}\n\nconst updateStyle = () => {\n const inputInner = inputRef.value?.input\n const inputWrapper = inputRef.value?.$el\n if (!isClient || !inputInner || !inputWrapper) return\n\n if (suggestionPanel.value) {\n updateSuggestionPanelWidth(inputWrapper.getBoundingClientRect().width)\n }\n\n const tagWrapperEl = tagWrapper.value\n if (tagWrapperEl) {\n const height =\n tags.value.length > 0\n ? `${Math.max(tagWrapperEl.offsetHeight, inputInitialHeight) - 2}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n tagWrapperEl.style.left = `${getTagWrapperLeft()}px`\n updatePopperPosition()\n }\n}\n\nconst calculateSuggestionMaxWidth = () => {\n if (hasCustomSuggestionItemSlot.value) return 0\n if (!suggestions.value.length) return 0\n\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n if (!ctx) return 0\n\n const renderedSuggestion = getSuggestionPanelEl(\n `.${nsCascader.e('suggestion-item')}`\n )\n if (!renderedSuggestion || !isClient) return 0\n\n const style = getComputedStyle(renderedSuggestion)\n const padding =\n Number.parseFloat(style.paddingLeft) + Number.parseFloat(style.paddingRight)\n // Use bold font for all items to ensure width is sufficient\n ctx.font = `bold ${style.fontSize} ${style.fontFamily}`\n\n let maxWidth = 0\n let hasChecked = false\n\n for (const suggestion of suggestions.value) {\n const text = suggestion.text || ''\n const metrics = ctx.measureText(text)\n maxWidth = Math.max(maxWidth, metrics.width)\n if (suggestion.checked && !hasChecked) hasChecked = true\n }\n\n return maxWidth + padding + (hasChecked ? SUGGESTION_ITEM_EXTRA_WIDTH : 0)\n}\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return cascaderPanelRef.value?.getCheckedNodes(leafOnly)\n}\n\nconst handleExpandChange = (value: CascaderValue) => {\n updatePopperPosition()\n emit('expandChange', value)\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n if (isComposing.value) return\n const code = getEventCode(e)\n\n switch (code) {\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n if (popperVisible.value === true) {\n e.preventDefault()\n e.stopPropagation()\n togglePopperVisible(false)\n }\n break\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n}\n\nconst handleClear = () => {\n cascaderPanelRef.value?.clearCheckedNodes()\n if (!popperVisible.value && props.filterable) {\n syncPresentTextValue()\n }\n togglePopperVisible(false)\n emit('clear')\n}\n\nconst syncPresentTextValue = () => {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n}\n\nconst handleSuggestionClick = (node: CascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n cascaderPanelRef.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && cascaderPanelRef.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n}\n\nconst getSuggestionIndexFromTarget = (target: HTMLElement) => {\n const suggestionItem = target.closest<HTMLElement>('[data-suggestion-index]')\n const indexStr = suggestionItem?.dataset.suggestionIndex\n\n if (!indexStr) return -1\n\n const index = Number.parseInt(indexStr, 10)\n if (Number.isNaN(index) || index < 0 || index >= suggestions.value.length) {\n return -1\n }\n\n return index\n}\n\nconst handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const code = getEventCode(e)\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n\n if (props.virtualScroll && suggestionVirtualListRef.value) {\n const currentIndex = getSuggestionIndexFromTarget(target)\n if (currentIndex >= 0) {\n const length = suggestions.value.length\n const targetIndex = (currentIndex + distance + length) % length\n\n suggestionVirtualListRef.value.scrollToItem(targetIndex)\n\n nextTick(() => {\n const targetItem = getSuggestionPanelEl(\n `#suggestion-${suggestions.value[targetIndex].uid}`\n )\n targetItem && focusNode(targetItem)\n })\n return\n }\n }\n\n // use DOM-based navigation\n focusNode(\n getSibling(\n target,\n distance,\n `.${nsCascader.e('suggestion-item')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n target.click()\n break\n }\n}\n\nconst handleDelete = () => {\n const lastTag = tags.value[tags.value.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (\n !lastTag ||\n !pressDeleteCount ||\n (props.collapseTags && tags.value.length > 1)\n )\n return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst handleFilter = useDebounceFn(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n}, debounce)\n\nconst handleInput = (val: string, e?: InputEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n if (val) {\n handleFilter()\n } else {\n const passed = props.beforeFilter('')\n if (isPromise(passed)) {\n passed.catch(() => {\n /* prevent log error */\n })\n }\n hideSuggestionPanel()\n }\n}\n\nconst getInputInnerHeight = (inputInner: HTMLElement): number =>\n Number.parseFloat(\n useCssVar(nsInput.cssVarName('input-height'), inputInner).value!\n ) - 2\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nwatch(filtering, updatePopperPosition)\n\nwatch(\n [\n checkedNodes,\n isDisabled,\n () => props.collapseTags,\n () => props.maxCollapseTags,\n ],\n calculatePresentTags\n)\n\nwatch(tags, () => {\n nextTick(() => updateStyle())\n})\n\nwatch(realSize, async () => {\n await nextTick()\n const inputInner = inputRef.value!.input!\n inputInitialHeight = getInputInnerHeight(inputInner) || inputInitialHeight\n updateStyle()\n})\n\nwatch(presentText, syncPresentTextValue, { immediate: true })\n\nwatch(\n () => popperVisible.value,\n (val) => {\n if (val && props.props.lazy && props.props.lazyLoad) {\n cascaderPanelRef.value?.loadLazyRootNodes()\n }\n }\n)\n\nonMounted(() => {\n const inputInner = inputRef.value!.input!\n const inputWrapper = inputRef.value!.$el!\n\n const inputInnerHeight = getInputInnerHeight(inputInner)\n\n inputInitialHeight = inputInner.offsetHeight || inputInnerHeight\n useResizeObserver(inputWrapper, updateStyle)\n})\n\ndefineExpose({\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description cascader panel ref\n */\n cascaderPanelRef,\n /**\n * @description toggle the visible of popper\n */\n togglePopperVisible,\n /**\n * @description cascader content ref\n */\n contentRef,\n /**\n * @description selected content text\n */\n presentText,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n})\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"cascader.vue_vue_type_script_setup_true_lang.mjs","names":["$slots","$nextTick"],"sources":["../../../../../../packages/components/cascader/src/cascader.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"popperVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsCascader.e('dropdown'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :placement=\"placement\"\n :transition=\"`${nsCascader.namespace.value}-zoom-in-top`\"\n :effect=\"effect\"\n pure\n :persistent=\"persistent\"\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n v-clickoutside:[contentRef]=\"handleClickOutside\"\n :class=\"cascaderKls\"\n :style=\"cascaderStyle\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"inputRef\"\n v-model=\"inputValue\"\n :placeholder=\"currentPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"inputClass\"\n :tabindex=\"multiple && filterable && !isDisabled ? -1 : undefined\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @input=\"handleInput\"\n >\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n :class=\"[nsInput.e('icon'), 'icon-circle-close']\"\n @click.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"cascaderIconKls\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div\n v-if=\"multiple\"\n ref=\"tagWrapper\"\n :class=\"[\n nsCascader.e('tags'),\n nsCascader.is('validate', Boolean(validateState)),\n ]\"\n >\n <slot name=\"tag\" :data=\"tags\" :delete-tag=\"deleteTag\">\n <el-tag\n v-for=\"tag in showTagList\"\n :key=\"tag.key\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :effect=\"tagEffect\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <span>{{ tag.text }}</span>\n </el-tag>\n </slot>\n <el-tooltip\n v-if=\"collapseTags && tags.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"popperVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n placement=\"bottom\"\n :popper-class=\"popperClass\"\n :popper-style=\"popperStyle\"\n :effect=\"effect\"\n :persistent=\"persistent\"\n >\n <template #default>\n <el-tag\n :closable=\"false\"\n :size=\"tagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n >\n <span :class=\"nsCascader.e('tags-text')\">\n + {{ tags.length - maxCollapseTags }}\n </span>\n </el-tag>\n </template>\n <template #content>\n <el-scrollbar :max-height=\"maxCollapseTagsTooltipHeight\">\n <div :class=\"nsCascader.e('collapse-tags')\">\n <div\n v-for=\"(tag, idx) in collapseTagList\"\n :key=\"idx\"\n :class=\"nsCascader.e('collapse-tag')\"\n >\n <el-tag\n :key=\"tag.key\"\n class=\"in-tooltip\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :effect=\"tagEffect\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <span>{{ tag.text }}</span>\n </el-tag>\n </div>\n </div>\n </el-scrollbar>\n </template>\n </el-tooltip>\n <input\n v-if=\"filterable && !isDisabled\"\n v-model=\"searchInputValue\"\n type=\"text\"\n :class=\"nsCascader.e('search-input')\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e as InputEvent)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <div v-if=\"$slots.header\" :class=\"nsCascader.e('header')\" @click.stop>\n <slot name=\"header\" />\n </div>\n <el-cascader-panel\n v-show=\"!filtering\"\n ref=\"cascaderPanelRef\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props.props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n :virtual-scroll=\"virtualScroll\"\n :item-size=\"itemSize\"\n :height=\"height\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n >\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </el-cascader-panel>\n <template v-if=\"filterable\">\n <el-scrollbar\n v-if=\"!virtualScroll\"\n v-show=\"filtering\"\n :ref=\"(ref) => (suggestionPanel = (ref as ScrollbarInstance)?.$el)\"\n tag=\"ul\"\n :class=\"nsCascader.e('suggestion-panel')\"\n :wrap-class=\"nsCascader.e('suggestion-wrap')\"\n :view-class=\"nsCascader.e('suggestion-list')\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n nsCascader.e('suggestion-item'),\n nsCascader.is('checked', item.checked),\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <slot name=\"suggestion-item\" :item=\"item\">\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\">\n <check />\n </el-icon>\n </slot>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li :class=\"nsCascader.e('empty-text')\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n <div\n v-else\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n :class=\"nsCascader.e('suggestion-panel')\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <el-fixed-size-list\n v-show=\"suggestions.length\"\n ref=\"suggestionVirtualListRef\"\n :height=\"clampedSuggestionListHeight\"\n :item-size=\"itemSize\"\n :data=\"suggestions\"\n :total=\"suggestions.length\"\n :class-name=\"nsCascader.e('suggestion-list')\"\n inner-element=\"ul\"\n :inner-width=\"suggestionListWidth\"\n >\n <template #default=\"{ data, index, style }\">\n <li\n :id=\"`suggestion-${data[index].uid}`\"\n :key=\"data[index].uid\"\n :data-suggestion-index=\"index\"\n :class=\"[\n nsCascader.e('suggestion-item'),\n nsCascader.is('checked', data[index].checked),\n ]\"\n :tabindex=\"-1\"\n :style=\"style\"\n @click=\"handleSuggestionClick(data[index])\"\n >\n <slot name=\"suggestion-item\" :item=\"data[index]\">\n <span>{{ data[index].text }}</span>\n <el-icon v-if=\"data[index].checked\">\n <check />\n </el-icon>\n </slot>\n </li>\n </template>\n </el-fixed-size-list>\n <slot v-if=\"!suggestions.length\" name=\"empty\">\n <ul :class=\"nsCascader.e('suggestion-list')\">\n <li :class=\"nsCascader.e('empty-text')\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </ul>\n </slot>\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"nsCascader.e('footer')\" @click.stop>\n <slot name=\"footer\" />\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n markRaw,\n nextTick,\n onMounted,\n ref,\n useAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { clamp, cloneDeep } from 'lodash-unified'\nimport { useCssVar, useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n NOOP,\n focusNode,\n getEventCode,\n getSibling,\n isClient,\n isNumber,\n isPromise,\n} from '@element-plus/utils'\nimport ElCascaderPanel, {\n CASCADER_PANEL_HEIGHT,\n CASCADER_PANEL_ITEM_SIZE,\n} from '@element-plus/components/cascader-panel'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { FixedSizeList as ElFixedSizeList } from '@element-plus/components/virtual-list'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormSize,\n} from '@element-plus/components/form'\nimport { ClickOutside as vClickoutside } from '@element-plus/directives'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { ArrowDown, Check, CircleClose } from '@element-plus/icons-vue'\nimport { cascaderEmits } from './cascader'\n\nimport type { Options } from '@element-plus/components/popper'\nimport type { ComputedRef, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { FixedSizeListInstance } from '@element-plus/components/virtual-list'\nimport type {\n CascaderNode,\n CascaderPanelInstance,\n CascaderValue,\n Tag,\n} from '@element-plus/components/cascader-panel'\nimport type { CascaderComponentProps } from './cascader'\n\nconst SUGGESTION_ITEM_EXTRA_WIDTH = 34 // span margin-right (10px) + check icon width (24px)\n\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n const { modifiersData, placement } = state\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n if (modifiersData.arrow) {\n modifiersData.arrow.x = 35\n }\n },\n requires: ['arrow'],\n },\n ],\n}\n\ndefineOptions({\n name: 'ElCascader',\n})\n\nconst props = withDefaults(defineProps<CascaderComponentProps>(), {\n options: () => [],\n props: () => ({}),\n disabled: undefined,\n clearIcon: markRaw(CircleClose),\n filterMethod: (node, keyword) => node.text.includes(keyword),\n separator: ' / ',\n showAllLevels: true,\n maxCollapseTags: 1,\n debounce: 300,\n beforeFilter: () => true,\n placement: 'bottom-start',\n fallbackPlacements: () => [\n 'bottom-start',\n 'bottom',\n 'top-start',\n 'top',\n 'right',\n 'left',\n ],\n teleported: true,\n effect: 'light',\n tagType: 'info',\n tagEffect: 'light',\n validateEvent: true,\n persistent: true,\n showCheckedStrategy: 'child',\n showPrefix: true,\n popperClass: undefined,\n popperStyle: undefined,\n valueOnClear: undefined,\n itemSize: CASCADER_PANEL_ITEM_SIZE,\n height: CASCADER_PANEL_HEIGHT,\n})\nconst emit = defineEmits(cascaderEmits)\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nlet inputInitialHeight = 0\nlet pressDeleteCount = 0\n\nconst nsCascader = useNamespace('cascader')\nconst nsInput = useNamespace('input')\nconst sizeMapPadding = {\n small: 7,\n default: 11,\n large: 15,\n}\n\nconst { t } = useLocale()\nconst { formItem } = useFormItem()\nconst isDisabled = useFormDisabled()\nconst { valueOnClear } = useEmptyValues(props)\nconst { isComposing, handleComposition } = useComposition({\n afterComposition(event) {\n const text = (event.target as HTMLInputElement)?.value\n handleInput(text)\n },\n})\n\nconst tooltipRef = ref<TooltipInstance>()\nconst tagTooltipRef = ref<TooltipInstance>()\nconst inputRef = ref<InputInstance>()\nconst tagWrapper = ref<HTMLDivElement>()\nconst cascaderPanelRef = ref<CascaderPanelInstance>()\nconst suggestionPanel = ref<HTMLElement>()\nconst suggestionVirtualListRef = ref<FixedSizeListInstance>()\nconst popperVisible = ref(false)\nconst inputHover = ref(false)\nconst filtering = ref(false)\nconst inputValue = ref('')\nconst searchInputValue = ref('')\nconst tags = ref<Tag[]>([])\nconst suggestions = ref<CascaderNode[]>([])\nconst suggestionListWidth = ref<string | number>('100%')\nconst hasCustomSuggestionItemSlot = computed(() => !!slots['suggestion-item'])\nconst clampedSuggestionListHeight = computed(() =>\n clamp(suggestions.value.length * props.itemSize, props.itemSize, props.height)\n)\n\nconst showTagList = computed(() => {\n if (!props.props.multiple) {\n return []\n }\n return props.collapseTags\n ? tags.value.slice(0, props.maxCollapseTags)\n : tags.value\n})\n\nconst collapseTagList = computed(() => {\n if (!props.props.multiple) {\n return []\n }\n return props.collapseTags ? tags.value.slice(props.maxCollapseTags) : []\n})\n\nconst cascaderStyle = computed(() => {\n return attrs.style as StyleValue\n})\n\nconst inputPlaceholder = computed(\n () => props.placeholder ?? t('el.cascader.placeholder')\n)\nconst currentPlaceholder = computed(() =>\n searchInputValue.value || tags.value.length > 0 || isComposing.value\n ? ''\n : inputPlaceholder.value\n)\nconst realSize = useFormSize()\nconst tagSize = computed(() =>\n realSize.value === 'small' ? 'small' : 'default'\n)\nconst multiple = computed(() => !!props.props.multiple)\nconst readonly = computed(() => !props.filterable || multiple.value)\nconst searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n)\nconst checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => cascaderPanelRef.value?.checkedNodes || []\n)\n\nconst { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n disabled: isDisabled,\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch(NOOP)\n }\n },\n})\n\nconst clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n (!inputHover.value && !isFocused.value)\n )\n return false\n\n return !!checkedNodes.value.length\n})\nconst presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ''\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n})\n\nconst validateState = computed(() => formItem?.validateState || '')\n\nconst checkedValue = computed<CascaderValue>({\n get() {\n return cloneDeep(props.modelValue) as CascaderValue\n },\n set(val) {\n // https://github.com/element-plus/element-plus/issues/17647\n const value = val ?? valueOnClear.value\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n if (props.validateEvent) {\n formItem?.validate('change').catch(NOOP)\n }\n },\n})\n\nconst cascaderKls = computed(() => {\n return [\n nsCascader.b(),\n nsCascader.m(realSize.value),\n nsCascader.is('disabled', isDisabled.value),\n attrs.class,\n ]\n})\n\nconst cascaderIconKls = computed(() => {\n return [\n nsInput.e('icon'),\n 'icon-arrow-down',\n nsCascader.is('reverse', popperVisible.value),\n ]\n})\n\nconst inputClass = computed(() => nsCascader.is('focus', isFocused.value))\n\nconst contentRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n})\n\nconst handleClickOutside = (event: Event) => {\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n handleBlur(_event)\n }\n togglePopperVisible(false)\n}\n\nconst togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n inputRef.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n updatePopperPosition()\n cascaderPanelRef.value &&\n nextTick(cascaderPanelRef.value.scrollToExpandingNode)\n } else if (props.filterable) {\n syncPresentTextValue()\n }\n\n emit('visibleChange', visible)\n }\n}\n\nconst updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n}\nconst hideSuggestionPanel = () => {\n filtering.value = false\n}\n\nconst genTag = (node: CascaderNode): Tag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.isDisabled,\n }\n}\n\nconst deleteTag = (tag: Tag) => {\n const node = tag.node as CascaderNode\n node.doCheck(false)\n cascaderPanelRef.value?.calculateCheckedValue()\n emit('removeTag', node.valueByOption)\n}\n\nconst getStrategyCheckedNodes = (): CascaderNode[] => {\n switch (props.showCheckedStrategy) {\n case 'child':\n return checkedNodes.value\n case 'parent': {\n const clickedNodes = getCheckedNodes(false)\n const clickedNodesValue = clickedNodes!.map((o) => o.value)\n const parentNodes = clickedNodes!.filter(\n (o) => !o.parent || !clickedNodesValue.includes(o.parent.value)\n )\n return parentNodes\n }\n default:\n return []\n }\n}\n\nconst calculatePresentTags = () => {\n if (!multiple.value) return\n\n const nodes = getStrategyCheckedNodes()\n\n const allTags: Tag[] = []\n nodes.forEach((node) => allTags.push(genTag(node)))\n tags.value = allTags\n}\n\nconst calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = cascaderPanelRef.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.isDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n tags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n nextTick(() => {\n if (props.virtualScroll && suggestions.value.length > 0) {\n suggestionVirtualListRef.value?.scrollToItem(0)\n }\n updateStyle()\n })\n updatePopperPosition()\n}\n\nconst getSuggestionPanelEl = (selector?: string): HTMLElement | undefined => {\n const el = suggestionPanel.value\n return selector ? (el?.querySelector(selector) ?? undefined) : el\n}\n\nconst focusFirstNode = () => {\n let firstNode: HTMLElement | undefined\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = getSuggestionPanelEl(`.${nsCascader.e('suggestion-item')}`)\n } else {\n firstNode = cascaderPanelRef.value?.$el.querySelector(\n `.${nsCascader.b('node')}[tabindex=\"-1\"]`\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n if (\n !filtering.value &&\n firstNode.getAttribute('aria-haspopup') === 'true'\n ) {\n firstNode.click()\n }\n }\n}\n\nconst updateSuggestionPanelWidth = (inputWidth: number) => {\n const suggestionPanelEl = getSuggestionPanelEl()\n if (!suggestionPanelEl) return\n\n const panelWidth = isNumber(props.fitInputWidth)\n ? `${props.fitInputWidth}px`\n : `${inputWidth}px`\n\n const setPanelStyle = (el: HTMLElement) => {\n if (props.fitInputWidth !== false) {\n el.style.width = panelWidth\n el.style.minWidth = ''\n } else {\n el.style.width = ''\n el.style.minWidth = panelWidth\n }\n }\n\n setPanelStyle(suggestionPanelEl)\n\n if (props.virtualScroll) {\n suggestionListWidth.value =\n props.fitInputWidth !== false\n ? panelWidth\n : hasCustomSuggestionItemSlot.value\n ? `${inputWidth}px`\n : `${Math.max(inputWidth, calculateSuggestionMaxWidth())}px`\n return\n }\n\n const suggestionList = getSuggestionPanelEl(\n `.${nsCascader.e('suggestion-list')}`\n )\n if (suggestionList) {\n setPanelStyle(suggestionList)\n }\n}\n\nconst getTagWrapperLeft = () => {\n if (!slots.prefix) return 0\n\n const prefix = inputRef.value?.$el.querySelector(\n `.${nsInput.e('prefix')}`\n ) as HTMLElement | null\n if (!prefix) return 0\n\n const prefixWidth = prefix.getBoundingClientRect().width\n if (prefixWidth <= 0) return 0\n return prefixWidth + sizeMapPadding[realSize.value || 'default']\n}\n\nconst updateStyle = () => {\n const inputInner = inputRef.value?.input\n const inputWrapper = inputRef.value?.$el\n if (!isClient || !inputInner || !inputWrapper) return\n\n if (suggestionPanel.value) {\n updateSuggestionPanelWidth(inputWrapper.getBoundingClientRect().width)\n }\n\n const tagWrapperEl = tagWrapper.value\n if (tagWrapperEl) {\n const height =\n tags.value.length > 0\n ? `${Math.max(tagWrapperEl.offsetHeight, inputInitialHeight) - 2}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n tagWrapperEl.style.left = `${getTagWrapperLeft()}px`\n updatePopperPosition()\n }\n}\n\nconst calculateSuggestionMaxWidth = () => {\n if (hasCustomSuggestionItemSlot.value) return 0\n if (!suggestions.value.length) return 0\n\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n if (!ctx) return 0\n\n const renderedSuggestion = getSuggestionPanelEl(\n `.${nsCascader.e('suggestion-item')}`\n )\n if (!renderedSuggestion || !isClient) return 0\n\n const style = getComputedStyle(renderedSuggestion)\n const padding =\n Number.parseFloat(style.paddingLeft) + Number.parseFloat(style.paddingRight)\n // Use bold font for all items to ensure width is sufficient\n ctx.font = `bold ${style.fontSize} ${style.fontFamily}`\n\n let maxWidth = 0\n let hasChecked = false\n\n for (const suggestion of suggestions.value) {\n const text = suggestion.text || ''\n const metrics = ctx.measureText(text)\n maxWidth = Math.max(maxWidth, metrics.width)\n if (suggestion.checked && !hasChecked) hasChecked = true\n }\n\n return maxWidth + padding + (hasChecked ? SUGGESTION_ITEM_EXTRA_WIDTH : 0)\n}\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return cascaderPanelRef.value?.getCheckedNodes(leafOnly)\n}\n\nconst handleExpandChange = (value: CascaderValue) => {\n updatePopperPosition()\n emit('expandChange', value)\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n if (isComposing.value) return\n const code = getEventCode(e)\n\n switch (code) {\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n if (popperVisible.value === true) {\n e.preventDefault()\n e.stopPropagation()\n togglePopperVisible(false)\n }\n break\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n}\n\nconst handleClear = () => {\n cascaderPanelRef.value?.clearCheckedNodes()\n if (!popperVisible.value && props.filterable) {\n syncPresentTextValue()\n }\n togglePopperVisible(false)\n emit('clear')\n}\n\nconst syncPresentTextValue = () => {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n}\n\nconst handleSuggestionClick = (node: CascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n cascaderPanelRef.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && cascaderPanelRef.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n}\n\nconst getSuggestionIndexFromTarget = (target: HTMLElement) => {\n const suggestionItem = target.closest<HTMLElement>('[data-suggestion-index]')\n const indexStr = suggestionItem?.dataset.suggestionIndex\n\n if (!indexStr) return -1\n\n const index = Number.parseInt(indexStr, 10)\n if (Number.isNaN(index) || index < 0 || index >= suggestions.value.length) {\n return -1\n }\n\n return index\n}\n\nconst handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const code = getEventCode(e)\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n\n if (props.virtualScroll && suggestionVirtualListRef.value) {\n const currentIndex = getSuggestionIndexFromTarget(target)\n if (currentIndex >= 0) {\n const length = suggestions.value.length\n const targetIndex = (currentIndex + distance + length) % length\n\n suggestionVirtualListRef.value.scrollToItem(targetIndex)\n\n nextTick(() => {\n const targetItem = getSuggestionPanelEl(\n `#suggestion-${suggestions.value[targetIndex].uid}`\n )\n targetItem && focusNode(targetItem)\n })\n return\n }\n }\n\n // use DOM-based navigation\n focusNode(\n getSibling(\n target,\n distance,\n `.${nsCascader.e('suggestion-item')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n target.click()\n break\n }\n}\n\nconst handleDelete = () => {\n const lastTag = tags.value[tags.value.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (\n !lastTag ||\n !pressDeleteCount ||\n (props.collapseTags && tags.value.length > 1)\n )\n return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst handleFilter = useDebounceFn(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n}, debounce)\n\nconst handleInput = (val: string, e?: InputEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n if (val) {\n handleFilter()\n } else {\n const passed = props.beforeFilter('')\n if (isPromise(passed)) {\n passed.catch(() => {\n /* prevent log error */\n })\n }\n hideSuggestionPanel()\n }\n}\n\nconst getInputInnerHeight = (inputInner: HTMLElement): number =>\n Number.parseFloat(\n useCssVar(nsInput.cssVarName('input-height'), inputInner).value!\n ) - 2\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nwatch(filtering, updatePopperPosition)\n\nwatch(\n [\n checkedNodes,\n isDisabled,\n () => props.collapseTags,\n () => props.maxCollapseTags,\n ],\n calculatePresentTags\n)\n\nwatch(tags, () => {\n nextTick(() => updateStyle())\n})\n\nwatch(realSize, async () => {\n await nextTick()\n const inputInner = inputRef.value!.input!\n inputInitialHeight = getInputInnerHeight(inputInner) || inputInitialHeight\n updateStyle()\n})\n\nwatch(presentText, syncPresentTextValue, { immediate: true })\n\nwatch(\n () => popperVisible.value,\n (val) => {\n if (val && props.props.lazy && props.props.lazyLoad) {\n cascaderPanelRef.value?.loadLazyRootNodes()\n }\n }\n)\n\nonMounted(() => {\n const inputInner = inputRef.value!.input!\n const inputWrapper = inputRef.value!.$el!\n\n const inputInnerHeight = getInputInnerHeight(inputInner)\n\n inputInitialHeight = inputInner.offsetHeight || inputInnerHeight\n useResizeObserver(inputWrapper, updateStyle)\n})\n\ndefineExpose({\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description cascader panel ref\n */\n cascaderPanelRef,\n /**\n * @description toggle the visible of popper\n */\n togglePopperVisible,\n /**\n * @description cascader content ref\n */\n contentRef,\n /**\n * @description selected content text\n */\n presentText,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n})\n</script>\n"],"mappings":"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"}