@element-plus/nightly 0.0.20260719 → 0.0.20260721

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/es/components/affix/src/affix.vue.d.ts +3 -3
  2. package/es/components/alert/src/alert.d.ts +1 -1
  3. package/es/components/alert/src/alert.vue.d.ts +1 -1
  4. package/es/components/anchor/src/anchor.vue.d.ts +1 -1
  5. package/es/components/autocomplete/src/autocomplete.d.ts +5 -106
  6. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  7. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  8. package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  9. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  10. package/es/components/avatar/src/avatar-group-props.d.ts +8 -105
  11. package/es/components/avatar/src/avatar-group-props.mjs +9 -1
  12. package/es/components/avatar/src/avatar-group-props.mjs.map +1 -1
  13. package/es/components/avatar/src/avatar-group.d.ts +17 -210
  14. package/es/components/avatar/src/avatar.d.ts +2 -2
  15. package/es/components/badge/src/badge.d.ts +4 -8
  16. package/es/components/badge/src/badge.mjs +9 -1
  17. package/es/components/badge/src/badge.mjs.map +1 -1
  18. package/es/components/badge/src/badge.vue.d.ts +3 -1
  19. package/es/components/badge/src/badge.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  20. package/es/components/badge/src/badge2.mjs.map +1 -1
  21. package/es/components/button/src/button-group.d.ts +2 -2
  22. package/es/components/button/src/button-group.vue.d.ts +1 -1
  23. package/es/components/button/src/button.d.ts +2 -2
  24. package/es/components/button/src/button.vue.d.ts +4 -4
  25. package/es/components/button/src/use-button.d.ts +2 -2
  26. package/es/components/calendar/src/calendar.mjs.map +1 -1
  27. package/es/components/card/src/card.d.ts +7 -6
  28. package/es/components/card/src/card.mjs +27 -3
  29. package/es/components/card/src/card.mjs.map +1 -1
  30. package/es/components/card/src/card.vue.d.ts +4 -0
  31. package/es/components/card/src/card.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  32. package/es/components/card/src/card2.mjs.map +1 -1
  33. package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
  34. package/es/components/carousel/src/carousel.vue.d.ts +1 -1
  35. package/es/components/cascader/src/cascader.d.ts +5 -106
  36. package/es/components/cascader/src/cascader.mjs.map +1 -1
  37. package/es/components/cascader/src/cascader.vue.d.ts +18 -16
  38. package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  39. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  40. package/es/components/cascader-panel/src/index.vue.d.ts +5 -5
  41. package/es/components/cascader-panel/src/menu.vue.d.ts +1 -1
  42. package/es/components/check-tag/src/check-tag.d.ts +1 -1
  43. package/es/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  44. package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
  45. package/es/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
  46. package/es/components/checkbox/src/checkbox.d.ts +3 -3
  47. package/es/components/checkbox/src/checkbox.vue.d.ts +5 -5
  48. package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  49. package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  50. package/es/components/col/src/col.vue.d.ts +2 -2
  51. package/es/components/collapse/src/collapse.vue.d.ts +2 -2
  52. package/es/components/color-picker/src/color-picker.d.ts +5 -104
  53. package/es/components/color-picker/src/color-picker.mjs +1 -0
  54. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  55. package/es/components/color-picker/src/color-picker.vue.d.ts +12 -10
  56. package/es/components/color-picker-panel/src/color-picker-panel.d.ts +4 -10
  57. package/es/components/color-picker-panel/src/color-picker-panel.mjs +9 -5
  58. package/es/components/color-picker-panel/src/color-picker-panel.mjs.map +1 -1
  59. package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +5 -2
  60. package/es/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  61. package/es/components/color-picker-panel/src/color-picker-panel2.mjs.map +1 -1
  62. package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
  63. package/es/components/config-provider/src/config-provider.d.ts +3 -3
  64. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  65. package/es/components/countdown/src/countdown.vue.d.ts +1 -1
  66. package/es/components/date-picker/src/date-picker.d.ts +12 -212
  67. package/es/components/date-picker/src/props.d.ts +4 -104
  68. package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  69. package/es/components/date-picker-panel/src/date-picker-com/basic-month-table.vue.d.ts +2 -2
  70. package/es/components/date-picker-panel/src/date-picker-com/basic-year-table.vue.d.ts +2 -2
  71. package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +5 -5
  72. package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +6 -6
  73. package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  74. package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
  75. package/es/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  76. package/es/components/date-picker-panel/src/panel-utils.d.ts +36 -36
  77. package/es/components/date-picker-panel/src/props/basic-date-table.mjs.map +1 -1
  78. package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  79. package/es/components/descriptions/src/description-item.d.ts +2 -2
  80. package/es/components/descriptions/src/description.d.ts +1 -1
  81. package/es/components/descriptions/src/description.vue.d.ts +1 -1
  82. package/es/components/dialog/src/dialog-content.d.ts +10 -6
  83. package/es/components/dialog/src/dialog-content.mjs +32 -5
  84. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  85. package/es/components/dialog/src/dialog-content.vue.d.ts +5 -1
  86. package/es/components/dialog/src/dialog.d.ts +10 -5
  87. package/es/components/dialog/src/dialog.mjs +11 -14
  88. package/es/components/dialog/src/dialog.mjs.map +1 -1
  89. package/es/components/dialog/src/dialog.vue.d.ts +11 -6
  90. package/es/components/divider/src/divider.vue.d.ts +1 -1
  91. package/es/components/drawer/src/drawer.d.ts +5 -4
  92. package/es/components/drawer/src/drawer.vue.d.ts +12 -7
  93. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -2
  94. package/es/components/dropdown/src/dropdown-item.vue.d.ts +5 -5
  95. package/es/components/dropdown/src/dropdown.d.ts +4 -105
  96. package/es/components/dropdown/src/dropdown.vue.d.ts +67 -265
  97. package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  98. package/es/components/form/src/form-item.d.ts +2 -2
  99. package/es/components/form/src/form-item.vue.d.ts +2 -2
  100. package/es/components/form/src/form.d.ts +2 -2
  101. package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  102. package/es/components/image/src/image.d.ts +1 -1
  103. package/es/components/image/src/image.mjs.map +1 -1
  104. package/es/components/image/src/image.vue.d.ts +4 -4
  105. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  106. package/es/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  107. package/es/components/input/src/input.d.ts +3 -3
  108. package/es/components/input/src/input.vue.d.ts +16 -16
  109. package/es/components/input-number/src/input-number.d.ts +3 -3
  110. package/es/components/input-number/src/input-number.vue.d.ts +9 -9
  111. package/es/components/input-otp/src/input-otp.vue.d.ts +7 -7
  112. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  113. package/es/components/input-tag/src/input-tag.d.ts +2 -2
  114. package/es/components/input-tag/src/input-tag.vue.d.ts +10 -10
  115. package/es/components/link/src/link.d.ts +1 -1
  116. package/es/components/link/src/link.mjs.map +1 -1
  117. package/es/components/mention/src/mention.d.ts +5 -106
  118. package/es/components/mention/src/mention.vue.d.ts +4 -4
  119. package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  120. package/es/components/mention/src/mention2.mjs.map +1 -1
  121. package/es/components/menu/src/menu.d.ts +11 -23
  122. package/es/components/menu/src/menu.mjs +18 -2
  123. package/es/components/menu/src/menu.mjs.map +1 -1
  124. package/es/components/menu/src/sub-menu.d.ts +10 -22
  125. package/es/components/menu/src/sub-menu.mjs +18 -2
  126. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  127. package/es/components/message/src/message.d.ts +4 -4
  128. package/es/components/message/src/message.mjs +6 -1
  129. package/es/components/message/src/message.mjs.map +1 -1
  130. package/es/components/message/src/message.vue.d.ts +6 -5
  131. package/es/components/message/src/method.mjs.map +1 -1
  132. package/es/components/message-box/src/index.vue.d.ts +66 -74
  133. package/es/components/notification/src/notification.d.ts +4 -3
  134. package/es/components/notification/src/notification.mjs +6 -1
  135. package/es/components/notification/src/notification.mjs.map +1 -1
  136. package/es/components/notification/src/notification.vue.d.ts +6 -5
  137. package/es/components/overlay/index.d.ts +4 -12
  138. package/es/components/overlay/src/overlay.d.ts +5 -18
  139. package/es/components/overlay/src/overlay.mjs +9 -5
  140. package/es/components/overlay/src/overlay.mjs.map +1 -1
  141. package/es/components/pagination/src/components/jumper.d.ts +1 -1
  142. package/es/components/pagination/src/components/jumper.vue.d.ts +2 -2
  143. package/es/components/pagination/src/components/sizes.d.ts +5 -14
  144. package/es/components/pagination/src/components/sizes.mjs +18 -2
  145. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  146. package/es/components/pagination/src/components/sizes.vue.d.ts +9 -26
  147. package/es/components/pagination/src/pagination.d.ts +15 -28
  148. package/es/components/pagination/src/pagination.mjs +15 -2
  149. package/es/components/pagination/src/pagination.mjs.map +1 -1
  150. package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
  151. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  152. package/es/components/popover/src/popover.d.ts +4 -104
  153. package/es/components/popover/src/popover.mjs +1 -0
  154. package/es/components/popover/src/popover.mjs.map +1 -1
  155. package/es/components/popover/src/popover.vue.d.ts +8 -7
  156. package/es/components/popper/src/composables/use-content-dom.d.ts +2 -25
  157. package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  158. package/es/components/popper/src/content.d.ts +12 -22
  159. package/es/components/popper/src/content.mjs +13 -7
  160. package/es/components/popper/src/content.mjs.map +1 -1
  161. package/es/components/popper/src/content.vue.d.ts +11 -9
  162. package/es/components/popper/src/popper.mjs.map +1 -1
  163. package/es/components/progress/src/progress.d.ts +1 -1
  164. package/es/components/progress/src/progress.vue.d.ts +1 -1
  165. package/es/components/radio/src/radio-button.d.ts +1 -1
  166. package/es/components/radio/src/radio-button.vue.d.ts +2 -2
  167. package/es/components/radio/src/radio-group.d.ts +1 -1
  168. package/es/components/radio/src/radio-group.vue.d.ts +7 -7
  169. package/es/components/radio/src/radio.d.ts +2 -2
  170. package/es/components/radio/src/radio.vue.d.ts +5 -5
  171. package/es/components/radio/src/use-radio.d.ts +1 -1
  172. package/es/components/rate/src/rate.d.ts +1 -1
  173. package/es/components/rate/src/rate.vue.d.ts +4 -4
  174. package/es/components/rate/src/rate.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  175. package/es/components/rate/src/rate2.mjs.map +1 -1
  176. package/es/components/result/src/result.d.ts +1 -1
  177. package/es/components/scrollbar/src/scrollbar.d.ts +5 -4
  178. package/es/components/scrollbar/src/scrollbar.mjs +12 -2
  179. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  180. package/es/components/scrollbar/src/scrollbar.vue.d.ts +5 -4
  181. package/es/components/scrollbar/src/thumb.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
  182. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  183. package/es/components/segmented/index.d.ts +4 -4
  184. package/es/components/segmented/src/segmented.d.ts +1 -1
  185. package/es/components/segmented/src/segmented.vue.d.ts +2 -2
  186. package/es/components/select/src/option.d.ts +1 -1
  187. package/es/components/select/src/option.vue.d.ts +2 -2
  188. package/es/components/select/src/select-dropdown.vue.d.ts +2 -1
  189. package/es/components/select/src/select.d.ts +9 -13
  190. package/es/components/select/src/select.mjs +15 -2
  191. package/es/components/select/src/select.mjs.map +1 -1
  192. package/es/components/select/src/select.vue.d.ts +77 -83
  193. package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
  194. package/es/components/select/src/select2.mjs.map +1 -1
  195. package/es/components/select/src/useSelect.d.ts +7 -7
  196. package/es/components/select/src/useSelect.mjs.map +1 -1
  197. package/es/components/select-v2/src/defaults.d.ts +4 -104
  198. package/es/components/select-v2/src/select.vue.d.ts +54 -252
  199. package/es/components/select-v2/src/useSelect.d.ts +2 -2
  200. package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
  201. package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
  202. package/es/components/slider/src/button.d.ts +2 -1
  203. package/es/components/slider/src/button.mjs +10 -2
  204. package/es/components/slider/src/button.mjs.map +1 -1
  205. package/es/components/slider/src/button.vue.d.ts +5 -3
  206. package/es/components/slider/src/composables/use-marks.mjs.map +1 -1
  207. package/es/components/slider/src/slider.d.ts +4 -4
  208. package/es/components/slider/src/slider.mjs +6 -1
  209. package/es/components/slider/src/slider.mjs.map +1 -1
  210. package/es/components/slider/src/slider.vue.d.ts +16 -16
  211. package/es/components/space/src/space.d.ts +9 -9
  212. package/es/components/space/src/space.mjs +2 -1
  213. package/es/components/space/src/space.mjs.map +1 -1
  214. package/es/components/space/src/use-space.d.ts +2 -3
  215. package/es/components/splitter/src/split-bar.vue.d.ts +1 -1
  216. package/es/components/splitter/src/splitter.vue.d.ts +2 -2
  217. package/es/components/statistic/src/statistic.vue.d.ts +2 -2
  218. package/es/components/steps/src/item.d.ts +1 -1
  219. package/es/components/steps/src/steps.d.ts +2 -2
  220. package/es/components/steps/src/steps.vue.d.ts +1 -1
  221. package/es/components/switch/src/switch.d.ts +1 -1
  222. package/es/components/switch/src/switch.vue.d.ts +5 -5
  223. package/es/components/table/src/filter-panel.vue.d.ts +63 -60
  224. package/es/components/table/src/table/defaults.d.ts +1 -1
  225. package/es/components/table/src/table/defaults.mjs.map +1 -1
  226. package/es/components/table/src/table/style-helper.d.ts +2 -2
  227. package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
  228. package/es/components/table/src/table-footer/index.d.ts +1 -1
  229. package/es/components/table/src/table-header/index.d.ts +16 -16
  230. package/es/components/table/src/table.vue.d.ts +4 -4
  231. package/es/components/table-v2/src/components/row.d.ts +1 -1
  232. package/es/components/table-v2/src/table-grid.d.ts +2 -2
  233. package/es/components/table-v2/src/table-v2.d.ts +4 -4
  234. package/es/components/tabs/src/tab-nav.d.ts +1 -1
  235. package/es/components/tabs/src/tabs.d.ts +2 -2
  236. package/es/components/tag/src/tag.d.ts +2 -2
  237. package/es/components/tag/src/tag.vue.d.ts +2 -2
  238. package/es/components/text/src/text.d.ts +2 -2
  239. package/es/components/text/src/text.vue.d.ts +1 -1
  240. package/es/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
  241. package/es/components/time-picker/src/common/picker.vue.d.ts +18 -218
  242. package/es/components/time-picker/src/common/props.d.ts +4 -104
  243. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +1 -1
  244. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  245. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  246. package/es/components/time-picker/src/time-picker.d.ts +12 -212
  247. package/es/components/time-picker/src/utils.d.ts +1 -1
  248. package/es/components/time-select/src/time-select.d.ts +7 -11
  249. package/es/components/time-select/src/time-select.mjs +15 -2
  250. package/es/components/time-select/src/time-select.mjs.map +1 -1
  251. package/es/components/time-select/src/time-select.vue.d.ts +13 -12
  252. package/es/components/timeline/src/timeline-item.d.ts +2 -2
  253. package/es/components/timeline/src/timeline-item.vue.d.ts +2 -2
  254. package/es/components/tooltip/src/content.d.ts +5 -200
  255. package/es/components/tooltip/src/content.vue.d.ts +6 -4
  256. package/es/components/tooltip/src/tooltip.d.ts +5 -202
  257. package/es/components/tooltip/src/tooltip.vue.d.ts +8 -7
  258. package/es/components/tooltip/src/trigger.d.ts +1 -1
  259. package/es/components/tour/src/content.d.ts +1 -1
  260. package/es/components/tour/src/step.vue.d.ts +1 -1
  261. package/es/components/tour/src/tour.vue.d.ts +6 -6
  262. package/es/components/transfer/src/transfer.vue.d.ts +2 -2
  263. package/es/components/tree/src/tree-node.vue.d.ts +16 -16
  264. package/es/components/tree/src/tree.vue.d.ts +22 -22
  265. package/es/components/tree-select/src/select.mjs +1 -5
  266. package/es/components/tree-select/src/select.mjs.map +1 -1
  267. package/es/components/tree-select/src/tree-select-option.d.ts +2 -2
  268. package/es/components/tree-select/src/tree-select.vue.d.ts +32 -40
  269. package/es/components/tree-v2/src/composables/useTree.d.ts +15 -14
  270. package/es/components/tree-v2/src/tree-node.vue.d.ts +2 -2
  271. package/es/components/tree-v2/src/tree.vue.d.ts +5 -5
  272. package/es/components/upload/src/upload-content.vue.d.ts +2 -2
  273. package/es/components/upload/src/upload.mjs.map +1 -1
  274. package/es/components/upload/src/upload.vue.d.ts +3 -3
  275. package/es/components/virtual-list/src/builders/build-grid.d.ts +9 -8
  276. package/es/components/virtual-list/src/builders/build-list.d.ts +8 -7
  277. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +9 -8
  278. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +8 -7
  279. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +9 -8
  280. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +8 -7
  281. package/es/components/virtual-list/src/components/scrollbar.d.ts +5 -3
  282. package/es/components/virtual-list/src/props.d.ts +5 -4
  283. package/es/components/virtual-list/src/props.mjs +15 -2
  284. package/es/components/virtual-list/src/props.mjs.map +1 -1
  285. package/es/components/watermark/src/watermark.mjs.map +1 -1
  286. package/es/hooks/use-size/index.d.ts +3 -3
  287. package/es/hooks/use-throttle-render/index.mjs.map +1 -1
  288. package/es/utils/index.d.ts +2 -2
  289. package/es/utils/typescript.d.ts +2 -1
  290. package/es/utils/typescript.mjs.map +1 -1
  291. package/es/utils/vue/size.d.ts +1 -1
  292. package/es/utils/vue/vnode.d.ts +4 -4
  293. package/es/version.d.ts +1 -1
  294. package/es/version.mjs +1 -1
  295. package/es/version.mjs.map +1 -1
  296. package/lib/components/affix/src/affix.vue.d.ts +3 -3
  297. package/lib/components/alert/src/alert.d.ts +1 -1
  298. package/lib/components/alert/src/alert.vue.d.ts +1 -1
  299. package/lib/components/anchor/src/anchor.vue.d.ts +1 -1
  300. package/lib/components/autocomplete/src/autocomplete.d.ts +5 -106
  301. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  302. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  303. package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  304. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  305. package/lib/components/avatar/src/avatar-group-props.d.ts +8 -105
  306. package/lib/components/avatar/src/avatar-group-props.js +9 -1
  307. package/lib/components/avatar/src/avatar-group-props.js.map +1 -1
  308. package/lib/components/avatar/src/avatar-group.d.ts +17 -210
  309. package/lib/components/avatar/src/avatar.d.ts +2 -2
  310. package/lib/components/badge/src/badge.d.ts +4 -8
  311. package/lib/components/badge/src/badge.js +9 -1
  312. package/lib/components/badge/src/badge.js.map +1 -1
  313. package/lib/components/badge/src/badge.vue.d.ts +3 -1
  314. package/lib/components/badge/src/badge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  315. package/lib/components/badge/src/badge2.js.map +1 -1
  316. package/lib/components/button/src/button-group.d.ts +2 -2
  317. package/lib/components/button/src/button-group.vue.d.ts +1 -1
  318. package/lib/components/button/src/button.d.ts +2 -2
  319. package/lib/components/button/src/button.vue.d.ts +4 -4
  320. package/lib/components/button/src/use-button.d.ts +2 -2
  321. package/lib/components/calendar/src/calendar.js.map +1 -1
  322. package/lib/components/card/src/card.d.ts +7 -6
  323. package/lib/components/card/src/card.js +27 -3
  324. package/lib/components/card/src/card.js.map +1 -1
  325. package/lib/components/card/src/card.vue.d.ts +4 -0
  326. package/lib/components/card/src/card.vue_vue_type_script_setup_true_lang.js.map +1 -1
  327. package/lib/components/card/src/card2.js.map +1 -1
  328. package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
  329. package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
  330. package/lib/components/cascader/src/cascader.d.ts +5 -106
  331. package/lib/components/cascader/src/cascader.js.map +1 -1
  332. package/lib/components/cascader/src/cascader.vue.d.ts +18 -16
  333. package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  334. package/lib/components/cascader/src/cascader2.js.map +1 -1
  335. package/lib/components/cascader-panel/src/index.vue.d.ts +5 -5
  336. package/lib/components/cascader-panel/src/menu.vue.d.ts +1 -1
  337. package/lib/components/check-tag/src/check-tag.d.ts +1 -1
  338. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
  339. package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
  340. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
  341. package/lib/components/checkbox/src/checkbox.d.ts +3 -3
  342. package/lib/components/checkbox/src/checkbox.vue.d.ts +5 -5
  343. package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
  344. package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
  345. package/lib/components/col/src/col.vue.d.ts +2 -2
  346. package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
  347. package/lib/components/color-picker/src/color-picker.d.ts +5 -104
  348. package/lib/components/color-picker/src/color-picker.js +1 -0
  349. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  350. package/lib/components/color-picker/src/color-picker.vue.d.ts +12 -10
  351. package/lib/components/color-picker-panel/src/color-picker-panel.d.ts +4 -10
  352. package/lib/components/color-picker-panel/src/color-picker-panel.js +9 -5
  353. package/lib/components/color-picker-panel/src/color-picker-panel.js.map +1 -1
  354. package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +5 -2
  355. package/lib/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  356. package/lib/components/color-picker-panel/src/color-picker-panel2.js.map +1 -1
  357. package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
  358. package/lib/components/config-provider/src/config-provider.d.ts +3 -3
  359. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  360. package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
  361. package/lib/components/date-picker/src/date-picker.d.ts +12 -212
  362. package/lib/components/date-picker/src/props.d.ts +4 -104
  363. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
  364. package/lib/components/date-picker-panel/src/date-picker-com/basic-month-table.vue.d.ts +2 -2
  365. package/lib/components/date-picker-panel/src/date-picker-com/basic-year-table.vue.d.ts +2 -2
  366. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +5 -5
  367. package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +6 -6
  368. package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  369. package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
  370. package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
  371. package/lib/components/date-picker-panel/src/panel-utils.d.ts +36 -36
  372. package/lib/components/date-picker-panel/src/props/basic-date-table.js.map +1 -1
  373. package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
  374. package/lib/components/descriptions/src/description-item.d.ts +2 -2
  375. package/lib/components/descriptions/src/description.d.ts +1 -1
  376. package/lib/components/descriptions/src/description.vue.d.ts +1 -1
  377. package/lib/components/dialog/src/dialog-content.d.ts +10 -6
  378. package/lib/components/dialog/src/dialog-content.js +31 -4
  379. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  380. package/lib/components/dialog/src/dialog-content.vue.d.ts +5 -1
  381. package/lib/components/dialog/src/dialog.d.ts +10 -5
  382. package/lib/components/dialog/src/dialog.js +11 -14
  383. package/lib/components/dialog/src/dialog.js.map +1 -1
  384. package/lib/components/dialog/src/dialog.vue.d.ts +11 -6
  385. package/lib/components/divider/src/divider.vue.d.ts +1 -1
  386. package/lib/components/drawer/src/drawer.d.ts +5 -4
  387. package/lib/components/drawer/src/drawer.vue.d.ts +12 -7
  388. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -2
  389. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +5 -5
  390. package/lib/components/dropdown/src/dropdown.d.ts +4 -105
  391. package/lib/components/dropdown/src/dropdown.vue.d.ts +67 -265
  392. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  393. package/lib/components/form/src/form-item.d.ts +2 -2
  394. package/lib/components/form/src/form-item.vue.d.ts +2 -2
  395. package/lib/components/form/src/form.d.ts +2 -2
  396. package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
  397. package/lib/components/image/src/image.d.ts +1 -1
  398. package/lib/components/image/src/image.js.map +1 -1
  399. package/lib/components/image/src/image.vue.d.ts +4 -4
  400. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  401. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
  402. package/lib/components/input/src/input.d.ts +3 -3
  403. package/lib/components/input/src/input.vue.d.ts +16 -16
  404. package/lib/components/input-number/src/input-number.d.ts +3 -3
  405. package/lib/components/input-number/src/input-number.vue.d.ts +9 -9
  406. package/lib/components/input-otp/src/input-otp.vue.d.ts +7 -7
  407. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
  408. package/lib/components/input-tag/src/input-tag.d.ts +2 -2
  409. package/lib/components/input-tag/src/input-tag.vue.d.ts +10 -10
  410. package/lib/components/link/src/link.d.ts +1 -1
  411. package/lib/components/link/src/link.js.map +1 -1
  412. package/lib/components/mention/src/mention.d.ts +5 -106
  413. package/lib/components/mention/src/mention.vue.d.ts +4 -4
  414. package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js.map +1 -1
  415. package/lib/components/mention/src/mention2.js.map +1 -1
  416. package/lib/components/menu/src/menu.d.ts +11 -23
  417. package/lib/components/menu/src/menu.js +18 -2
  418. package/lib/components/menu/src/menu.js.map +1 -1
  419. package/lib/components/menu/src/sub-menu.d.ts +10 -22
  420. package/lib/components/menu/src/sub-menu.js +18 -2
  421. package/lib/components/menu/src/sub-menu.js.map +1 -1
  422. package/lib/components/message/src/message.d.ts +4 -4
  423. package/lib/components/message/src/message.js +6 -1
  424. package/lib/components/message/src/message.js.map +1 -1
  425. package/lib/components/message/src/message.vue.d.ts +6 -5
  426. package/lib/components/message/src/method.js.map +1 -1
  427. package/lib/components/message-box/src/index.vue.d.ts +66 -74
  428. package/lib/components/notification/src/notification.d.ts +4 -3
  429. package/lib/components/notification/src/notification.js +6 -1
  430. package/lib/components/notification/src/notification.js.map +1 -1
  431. package/lib/components/notification/src/notification.vue.d.ts +6 -5
  432. package/lib/components/overlay/index.d.ts +4 -12
  433. package/lib/components/overlay/src/overlay.d.ts +5 -18
  434. package/lib/components/overlay/src/overlay.js +9 -5
  435. package/lib/components/overlay/src/overlay.js.map +1 -1
  436. package/lib/components/pagination/src/components/jumper.d.ts +1 -1
  437. package/lib/components/pagination/src/components/jumper.vue.d.ts +2 -2
  438. package/lib/components/pagination/src/components/sizes.d.ts +5 -14
  439. package/lib/components/pagination/src/components/sizes.js +18 -2
  440. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  441. package/lib/components/pagination/src/components/sizes.vue.d.ts +9 -26
  442. package/lib/components/pagination/src/pagination.d.ts +15 -28
  443. package/lib/components/pagination/src/pagination.js +15 -2
  444. package/lib/components/pagination/src/pagination.js.map +1 -1
  445. package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
  446. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
  447. package/lib/components/popover/src/popover.d.ts +4 -104
  448. package/lib/components/popover/src/popover.js +1 -0
  449. package/lib/components/popover/src/popover.js.map +1 -1
  450. package/lib/components/popover/src/popover.vue.d.ts +8 -7
  451. package/lib/components/popper/src/composables/use-content-dom.d.ts +2 -25
  452. package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
  453. package/lib/components/popper/src/content.d.ts +12 -22
  454. package/lib/components/popper/src/content.js +13 -7
  455. package/lib/components/popper/src/content.js.map +1 -1
  456. package/lib/components/popper/src/content.vue.d.ts +11 -9
  457. package/lib/components/popper/src/popper.js.map +1 -1
  458. package/lib/components/progress/src/progress.d.ts +1 -1
  459. package/lib/components/progress/src/progress.vue.d.ts +1 -1
  460. package/lib/components/radio/src/radio-button.d.ts +1 -1
  461. package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
  462. package/lib/components/radio/src/radio-group.d.ts +1 -1
  463. package/lib/components/radio/src/radio-group.vue.d.ts +7 -7
  464. package/lib/components/radio/src/radio.d.ts +2 -2
  465. package/lib/components/radio/src/radio.vue.d.ts +5 -5
  466. package/lib/components/radio/src/use-radio.d.ts +1 -1
  467. package/lib/components/rate/src/rate.d.ts +1 -1
  468. package/lib/components/rate/src/rate.vue.d.ts +4 -4
  469. package/lib/components/rate/src/rate.vue_vue_type_script_setup_true_lang.js.map +1 -1
  470. package/lib/components/rate/src/rate2.js.map +1 -1
  471. package/lib/components/result/src/result.d.ts +1 -1
  472. package/lib/components/scrollbar/src/scrollbar.d.ts +5 -4
  473. package/lib/components/scrollbar/src/scrollbar.js +12 -2
  474. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  475. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +5 -4
  476. package/lib/components/scrollbar/src/thumb.vue_vue_type_script_setup_true_lang.js.map +1 -1
  477. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  478. package/lib/components/segmented/index.d.ts +4 -4
  479. package/lib/components/segmented/src/segmented.d.ts +1 -1
  480. package/lib/components/segmented/src/segmented.vue.d.ts +2 -2
  481. package/lib/components/select/src/option.d.ts +1 -1
  482. package/lib/components/select/src/option.vue.d.ts +2 -2
  483. package/lib/components/select/src/select-dropdown.vue.d.ts +2 -1
  484. package/lib/components/select/src/select.d.ts +9 -13
  485. package/lib/components/select/src/select.js +15 -2
  486. package/lib/components/select/src/select.js.map +1 -1
  487. package/lib/components/select/src/select.vue.d.ts +77 -83
  488. package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
  489. package/lib/components/select/src/select2.js.map +1 -1
  490. package/lib/components/select/src/useSelect.d.ts +7 -7
  491. package/lib/components/select/src/useSelect.js.map +1 -1
  492. package/lib/components/select-v2/src/defaults.d.ts +4 -104
  493. package/lib/components/select-v2/src/select.vue.d.ts +54 -252
  494. package/lib/components/select-v2/src/useSelect.d.ts +2 -2
  495. package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
  496. package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
  497. package/lib/components/slider/src/button.d.ts +2 -1
  498. package/lib/components/slider/src/button.js +9 -1
  499. package/lib/components/slider/src/button.js.map +1 -1
  500. package/lib/components/slider/src/button.vue.d.ts +5 -3
  501. package/lib/components/slider/src/composables/use-marks.js.map +1 -1
  502. package/lib/components/slider/src/slider.d.ts +4 -4
  503. package/lib/components/slider/src/slider.js +6 -1
  504. package/lib/components/slider/src/slider.js.map +1 -1
  505. package/lib/components/slider/src/slider.vue.d.ts +16 -16
  506. package/lib/components/space/src/space.d.ts +9 -9
  507. package/lib/components/space/src/space.js +2 -1
  508. package/lib/components/space/src/space.js.map +1 -1
  509. package/lib/components/space/src/use-space.d.ts +2 -3
  510. package/lib/components/splitter/src/split-bar.vue.d.ts +1 -1
  511. package/lib/components/splitter/src/splitter.vue.d.ts +2 -2
  512. package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
  513. package/lib/components/steps/src/item.d.ts +1 -1
  514. package/lib/components/steps/src/steps.d.ts +2 -2
  515. package/lib/components/steps/src/steps.vue.d.ts +1 -1
  516. package/lib/components/switch/src/switch.d.ts +1 -1
  517. package/lib/components/switch/src/switch.vue.d.ts +5 -5
  518. package/lib/components/table/src/filter-panel.vue.d.ts +63 -60
  519. package/lib/components/table/src/table/defaults.d.ts +1 -1
  520. package/lib/components/table/src/table/defaults.js.map +1 -1
  521. package/lib/components/table/src/table/style-helper.d.ts +2 -2
  522. package/lib/components/table/src/table-body/events-helper.js.map +1 -1
  523. package/lib/components/table/src/table-footer/index.d.ts +1 -1
  524. package/lib/components/table/src/table-header/index.d.ts +16 -16
  525. package/lib/components/table/src/table.vue.d.ts +4 -4
  526. package/lib/components/table-v2/src/components/row.d.ts +1 -1
  527. package/lib/components/table-v2/src/table-grid.d.ts +2 -2
  528. package/lib/components/table-v2/src/table-v2.d.ts +4 -4
  529. package/lib/components/tabs/src/tab-nav.d.ts +1 -1
  530. package/lib/components/tabs/src/tabs.d.ts +2 -2
  531. package/lib/components/tag/src/tag.d.ts +2 -2
  532. package/lib/components/tag/src/tag.vue.d.ts +2 -2
  533. package/lib/components/text/src/text.d.ts +2 -2
  534. package/lib/components/text/src/text.vue.d.ts +1 -1
  535. package/lib/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
  536. package/lib/components/time-picker/src/common/picker.vue.d.ts +18 -218
  537. package/lib/components/time-picker/src/common/props.d.ts +4 -104
  538. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +1 -1
  539. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
  540. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
  541. package/lib/components/time-picker/src/time-picker.d.ts +12 -212
  542. package/lib/components/time-picker/src/utils.d.ts +1 -1
  543. package/lib/components/time-select/src/time-select.d.ts +7 -11
  544. package/lib/components/time-select/src/time-select.js +15 -2
  545. package/lib/components/time-select/src/time-select.js.map +1 -1
  546. package/lib/components/time-select/src/time-select.vue.d.ts +13 -12
  547. package/lib/components/timeline/src/timeline-item.d.ts +2 -2
  548. package/lib/components/timeline/src/timeline-item.vue.d.ts +2 -2
  549. package/lib/components/tooltip/src/content.d.ts +5 -200
  550. package/lib/components/tooltip/src/content.vue.d.ts +6 -4
  551. package/lib/components/tooltip/src/tooltip.d.ts +5 -202
  552. package/lib/components/tooltip/src/tooltip.vue.d.ts +8 -7
  553. package/lib/components/tooltip/src/trigger.d.ts +1 -1
  554. package/lib/components/tour/src/content.d.ts +1 -1
  555. package/lib/components/tour/src/step.vue.d.ts +1 -1
  556. package/lib/components/tour/src/tour.vue.d.ts +6 -6
  557. package/lib/components/transfer/src/transfer.vue.d.ts +2 -2
  558. package/lib/components/tree/src/tree-node.vue.d.ts +16 -16
  559. package/lib/components/tree/src/tree.vue.d.ts +22 -22
  560. package/lib/components/tree-select/src/select.js +1 -5
  561. package/lib/components/tree-select/src/select.js.map +1 -1
  562. package/lib/components/tree-select/src/tree-select-option.d.ts +2 -2
  563. package/lib/components/tree-select/src/tree-select.vue.d.ts +32 -40
  564. package/lib/components/tree-v2/src/composables/useTree.d.ts +15 -14
  565. package/lib/components/tree-v2/src/tree-node.vue.d.ts +2 -2
  566. package/lib/components/tree-v2/src/tree.vue.d.ts +5 -5
  567. package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
  568. package/lib/components/upload/src/upload.js.map +1 -1
  569. package/lib/components/upload/src/upload.vue.d.ts +3 -3
  570. package/lib/components/virtual-list/src/builders/build-grid.d.ts +9 -8
  571. package/lib/components/virtual-list/src/builders/build-list.d.ts +8 -7
  572. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +9 -8
  573. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +8 -7
  574. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +9 -8
  575. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +8 -7
  576. package/lib/components/virtual-list/src/components/scrollbar.d.ts +5 -3
  577. package/lib/components/virtual-list/src/props.d.ts +5 -4
  578. package/lib/components/virtual-list/src/props.js +15 -2
  579. package/lib/components/virtual-list/src/props.js.map +1 -1
  580. package/lib/components/watermark/src/watermark.js.map +1 -1
  581. package/lib/hooks/use-size/index.d.ts +3 -3
  582. package/lib/hooks/use-throttle-render/index.js.map +1 -1
  583. package/lib/utils/index.d.ts +2 -2
  584. package/lib/utils/typescript.d.ts +2 -1
  585. package/lib/utils/typescript.js.map +1 -1
  586. package/lib/utils/vue/size.d.ts +1 -1
  587. package/lib/utils/vue/vnode.d.ts +4 -4
  588. package/lib/version.d.ts +1 -1
  589. package/lib/version.js +1 -1
  590. package/lib/version.js.map +1 -1
  591. package/package.json +2 -2
  592. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"card.mjs","names":[],"sources":["../../../../../../packages/components/card/src/card.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPublicPropTypes, InjectionKey, StyleValue } from 'vue'\n\nexport interface CardProps {\n /**\n * @description title of the card. Also accepts a DOM passed by `slot#header`\n */\n header?: string\n /**\n * @description content of footer. Also accepts a DOM passed by `slot#footer`\n */\n footer?: string\n /**\n * @description CSS style of card body\n */\n bodyStyle?: StyleValue\n /**\n * @description custom class name of card header\n */\n headerClass?: string\n /**\n * @description custom class name of card body\n */\n bodyClass?: string\n /**\n * @description custom class name of card footer\n */\n footerClass?: string\n /**\n * @description when to show card shadows\n */\n shadow?: 'always' | 'hover' | 'never'\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `CardProps` instead.\n */\nexport const cardProps = buildProps({\n /**\n * @description title of the card. Also accepts a DOM passed by `slot#header`\n */\n header: {\n type: String,\n default: '',\n },\n /**\n * @description content of footer. Also accepts a DOM passed by `slot#footer`\n */\n footer: {\n type: String,\n default: '',\n },\n /**\n * @description CSS style of card body\n */\n bodyStyle: {\n type: definePropType<StyleValue>([String, Object, Array, Boolean]),\n default: '',\n },\n /**\n * @description custom class name of card footer\n */\n headerClass: String,\n /**\n * @description custom class name of card body\n */\n bodyClass: String,\n /**\n * @description custom class name of card footer\n */\n footerClass: String,\n /**\n * @description when to show card shadows\n */\n shadow: {\n type: String,\n values: ['always', 'hover', 'never'],\n default: undefined,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `CardProps` instead.\n */\nexport type CardPropsPublic = ExtractPublicPropTypes<typeof cardProps>\nexport interface CardConfigContext {\n shadow?: CardProps['shadow']\n}\n\nexport const cardContextKey: InjectionKey<CardConfigContext> =\n Symbol('cardContextKey')\n"],"mappings":";;;;;AAsCA,MAAa,YAAY,WAAW;;;;CAIlC,QAAQ;EACN,MAAM;EACN,SAAS;EACV;;;;CAID,QAAQ;EACN,MAAM;EACN,SAAS;EACV;;;;CAID,WAAW;EACT,MAAM,eAA2B;GAAC;GAAQ;GAAQ;GAAO;GAAQ,CAAC;EAClE,SAAS;EACV;;;;CAID,aAAa;;;;CAIb,WAAW;;;;CAIX,aAAa;;;;CAIb,QAAQ;EACN,MAAM;EACN,QAAQ;GAAC;GAAU;GAAS;GAAQ;EACpC,SAAS,KAAA;EACV;CACF,CAAU;AAUX,MAAa,iBACX,OAAO,iBAAiB"}
1
+ {"version":3,"file":"card.mjs","names":[],"sources":["../../../../../../packages/components/card/src/card.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPublicPropTypes, InjectionKey, StyleValue } from 'vue'\nimport type { ClassValue } from '@element-plus/utils'\n\nexport interface CardProps {\n /**\n * @description title of the card. Also accepts a DOM passed by `slot#header`\n */\n header?: string\n /**\n * @description content of footer. Also accepts a DOM passed by `slot#footer`\n */\n footer?: string\n /**\n * @description CSS style of card body\n */\n bodyStyle?: StyleValue\n /**\n * @description custom class name of card header\n */\n headerClass?: ClassValue\n /**\n * @description custom class name of card body\n */\n bodyClass?: ClassValue\n /**\n * @description custom class name of card footer\n */\n footerClass?: ClassValue\n /**\n * @description when to show card shadows\n */\n shadow?: 'always' | 'hover' | 'never'\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `CardProps` instead.\n */\nexport const cardProps = buildProps({\n /**\n * @description title of the card. Also accepts a DOM passed by `slot#header`\n */\n header: {\n type: String,\n default: '',\n },\n /**\n * @description content of footer. Also accepts a DOM passed by `slot#footer`\n */\n footer: {\n type: String,\n default: '',\n },\n /**\n * @description CSS style of card body\n */\n bodyStyle: {\n type: definePropType<StyleValue>([String, Object, Array, Boolean]),\n default: '',\n },\n /**\n * @description custom class name of card footer\n */\n headerClass: {\n type: definePropType<ClassValue>([String, Array, Object, Boolean]),\n default: undefined,\n },\n /**\n * @description custom class name of card body\n */\n bodyClass: {\n type: definePropType<ClassValue>([String, Array, Object, Boolean]),\n default: undefined,\n },\n /**\n * @description custom class name of card footer\n */\n footerClass: {\n type: definePropType<ClassValue>([String, Array, Object, Boolean]),\n default: undefined,\n },\n /**\n * @description when to show card shadows\n */\n shadow: {\n type: String,\n values: ['always', 'hover', 'never'],\n default: undefined,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `CardProps` instead.\n */\nexport type CardPropsPublic = ExtractPublicPropTypes<typeof cardProps>\nexport interface CardConfigContext {\n shadow?: CardProps['shadow']\n}\n\nexport const cardContextKey: InjectionKey<CardConfigContext> =\n Symbol('cardContextKey')\n"],"mappings":";;;;;AAuCA,MAAa,YAAY,WAAW;;;;CAIlC,QAAQ;EACN,MAAM;EACN,SAAS;EACV;;;;CAID,QAAQ;EACN,MAAM;EACN,SAAS;EACV;;;;CAID,WAAW;EACT,MAAM,eAA2B;GAAC;GAAQ;GAAQ;GAAO;GAAQ,CAAC;EAClE,SAAS;EACV;;;;CAID,aAAa;EACX,MAAM,eAA2B;GAAC;GAAQ;GAAO;GAAQ;GAAQ,CAAC;EAClE,SAAS,KAAA;EACV;;;;CAID,WAAW;EACT,MAAM,eAA2B;GAAC;GAAQ;GAAO;GAAQ;GAAQ,CAAC;EAClE,SAAS,KAAA;EACV;;;;CAID,aAAa;EACX,MAAM,eAA2B;GAAC;GAAQ;GAAO;GAAQ;GAAQ,CAAC;EAClE,SAAS,KAAA;EACV;;;;CAID,QAAQ;EACN,MAAM;EACN,QAAQ;GAAC;GAAU;GAAS;GAAQ;EACpC,SAAS,KAAA;EACV;CACF,CAAU;AAUX,MAAa,iBACX,OAAO,iBAAiB"}
@@ -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,6 +12,9 @@ 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<{}>, {
15
+ headerClass: string | false | Record<string, any> | ClassValue[] | null;
16
+ bodyClass: string | false | Record<string, any> | ClassValue[] | null;
17
+ footerClass: string | false | Record<string, any> | ClassValue[] | null;
14
18
  footer: string;
15
19
  header: string;
16
20
  bodyStyle: string | false | _$vue.CSSProperties | _$vue.StyleValue[] | null;
@@ -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":""}
@@ -7,8 +7,8 @@ type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_1) => any;
8
8
  };
9
9
  declare const __VLS_base: _$vue.DefineComponent<CarouselItemProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<CarouselItemProps> & Readonly<{}>, {
10
- label: string | number;
11
10
  name: string;
11
+ label: string | number;
12
12
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
13
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
14
  declare const _default: typeof __VLS_export;
@@ -18,8 +18,8 @@ declare const __VLS_base: _$vue.DefineComponent<CarouselProps, {
18
18
  }>, {
19
19
  type: "" | "card";
20
20
  height: string;
21
- direction: "horizontal" | "vertical";
22
21
  loop: boolean;
22
+ direction: "horizontal" | "vertical";
23
23
  trigger: "hover" | "click";
24
24
  arrow: "always" | "hover" | "never";
25
25
  initialIndex: number;
@@ -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
  */
@@ -139,7 +139,7 @@ declare const cascaderProps: {
139
139
  emptyValues: ArrayConstructor;
140
140
  valueOnClear: EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
141
141
  size: {
142
- readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
142
+ readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
143
143
  readonly required: false;
144
144
  readonly validator: ((val: unknown) => boolean) | undefined;
145
145
  __epPropKey: true;
@@ -181,114 +181,13 @@ declare const cascaderProps: {
181
181
  }) | null)[], unknown, unknown, () => true, boolean>;
182
182
  placement: EpPropFinalized<(new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], 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>;
289
188
  tagType: {
290
189
  default: string;
291
- type: _$vue.PropType<EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
190
+ type: _$vue.PropType<EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
292
191
  required: false;
293
192
  validator: ((val: unknown) => boolean) | undefined;
294
193
  __epPropKey: true;
@@ -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,46 +187,47 @@ 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
- change: (value: CascaderValue | null | undefined) => void;
190
- clear: () => void;
191
190
  "update:modelValue": (value: CascaderValue | null | undefined) => void;
192
- blur: (evt: FocusEvent) => void;
193
191
  focus: (evt: FocusEvent) => void;
192
+ blur: (evt: FocusEvent) => void;
193
+ clear: () => void;
194
+ change: (value: CascaderValue | null | undefined) => 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<{
198
- onChange?: ((value: CascaderValue | null | undefined) => any) | undefined;
199
- onClear?: (() => any) | undefined;
200
199
  "onUpdate:modelValue"?: ((value: CascaderValue | null | undefined) => any) | undefined;
201
- onBlur?: ((evt: FocusEvent) => any) | undefined;
200
+ onChange?: ((value: CascaderValue | null | undefined) => any) | undefined;
202
201
  onFocus?: ((evt: FocusEvent) => any) | undefined;
202
+ onBlur?: ((evt: FocusEvent) => any) | undefined;
203
+ onClear?: (() => 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
- props: CascaderProps;
208
- filterMethod: (node: Node, keyword: string) => boolean;
209
208
  disabled: boolean;
209
+ validateEvent: boolean;
210
+ clearIcon: IconPropType;
210
211
  height: number;
211
- itemSize: number;
212
212
  separator: string;
213
- validateEvent: boolean;
214
- options: CascaderOption[];
215
- valueOnClear: string | number | boolean | Function | null;
213
+ props: CascaderProps;
214
+ persistent: boolean;
215
+ popperClass: string | false | Record<string, any> | ClassValue[] | null;
216
+ popperStyle: string | false | _$vue.CSSProperties | StyleValue[] | null;
216
217
  teleported: boolean;
218
+ valueOnClear: string | number | boolean | Function | null;
217
219
  effect: PopperEffect;
218
- clearIcon: IconPropType;
219
- popperStyle: string | false | _$vue.CSSProperties | StyleValue[] | null;
220
220
  fallbackPlacements: Placement[];
221
221
  placement: Placement;
222
- persistent: boolean;
222
+ options: CascaderOption[];
223
+ itemSize: number;
223
224
  debounce: number;
224
225
  showPrefix: boolean;
226
+ filterMethod: (node: Node, keyword: string) => boolean;
225
227
  showAllLevels: boolean;
226
228
  maxCollapseTags: number;
227
229
  beforeFilter: (value: string) => boolean | Promise<any>;
228
- tagType: "info" | "primary" | "success" | "warning" | "danger";
230
+ tagType: "primary" | "success" | "warning" | "info" | "danger";
229
231
  tagEffect: "dark" | "light" | "plain";
230
232
  showCheckedStrategy: "parent" | "child";
231
233
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkVA,MAAM,8BAA8B;;;;;;;EAEpC,MAAM,gBAAkC,EACtC,WAAW,CACT;GACE,MAAM;GACN,SAAS;GACT,OAAO;GACP,KAAK,EAAE,YAAY;IACjB,MAAM,EAAE,eAAe,cAAc;IACrC,IAAI;KAAC;KAAS;KAAQ;KAAU;KAAM,CAAC,SAAS,UAAU,EAAE;IAC5D,IAAI,cAAc,OAChB,cAAc,MAAM,IAAI;;GAG5B,UAAU,CAAC,QAAQ;GACpB,CACF,EACH;EAMA,MAAM,QAAQ;EAkCd,MAAM,OAAO;EACb,MAAM,QAAQ,UAAS;EACvB,MAAM,QAAQ,UAAS;EAEvB,IAAI,qBAAqB;EACzB,IAAI,mBAAmB;EAEvB,MAAM,aAAa,aAAa,WAAU;EAC1C,MAAM,UAAU,aAAa,QAAO;EACpC,MAAM,iBAAiB;GACrB,OAAO;GACP,SAAS;GACT,OAAO;GACT;EAEA,MAAM,EAAE,MAAM,WAAU;EACxB,MAAM,EAAE,aAAa,aAAY;EACjC,MAAM,aAAa,iBAAgB;EACnC,MAAM,EAAE,iBAAiB,eAAe,MAAK;EAC7C,MAAM,EAAE,aAAa,sBAAsB,eAAe,EACxD,iBAAiB,OAAO;GACtB,MAAM,OAAQ,MAAM,QAA6B;GACjD,YAAY,KAAI;KAEnB,CAAA;EAED,MAAM,aAAa,KAAqB;EACxC,MAAM,gBAAgB,KAAqB;EAC3C,MAAM,WAAW,KAAmB;EACpC,MAAM,aAAa,KAAoB;EACvC,MAAM,mBAAmB,KAA2B;EACpD,MAAM,kBAAkB,KAAiB;EACzC,MAAM,2BAA2B,KAA2B;EAC5D,MAAM,gBAAgB,IAAI,MAAK;EAC/B,MAAM,aAAa,IAAI,MAAK;EAC5B,MAAM,YAAY,IAAI,MAAK;EAC3B,MAAM,aAAa,IAAI,GAAE;EACzB,MAAM,mBAAmB,IAAI,GAAE;EAC/B,MAAM,OAAO,IAAW,EAAE,CAAA;EAC1B,MAAM,cAAc,IAAoB,EAAE,CAAA;EAC1C,MAAM,sBAAsB,IAAqB,OAAM;EACvD,MAAM,8BAA8B,eAAe,CAAC,CAAC,MAAM,mBAAkB;EAC7E,MAAM,8BAA8B,eAClC,QAAM,YAAY,MAAM,SAAS,MAAM,UAAU,MAAM,UAAU,MAAM,OAAM,CAC/E;EAEA,MAAM,cAAc,eAAe;GACjC,IAAI,CAAC,MAAM,MAAM,UACf,OAAO,EAAC;GAEV,OAAO,MAAM,eACT,KAAK,MAAM,MAAM,GAAG,MAAM,gBAAe,GACzC,KAAK;IACV;EAED,MAAM,kBAAkB,eAAe;GACrC,IAAI,CAAC,MAAM,MAAM,UACf,OAAO,EAAC;GAEV,OAAO,MAAM,eAAe,KAAK,MAAM,MAAM,MAAM,gBAAgB,GAAG,EAAC;IACxE;EAED,MAAM,gBAAgB,eAAe;GACnC,OAAO,MAAM;IACd;EAED,MAAM,mBAAmB,eACjB,MAAM,eAAe,EAAE,0BAAyB,CACxD;EACA,MAAM,qBAAqB,eACzB,iBAAiB,SAAS,KAAK,MAAM,SAAS,KAAK,YAAY,QAC3D,KACA,iBAAiB,MACvB;EACA,MAAM,WAAW,aAAY;EAC7B,MAAM,UAAU,eACd,SAAS,UAAU,UAAU,UAAU,UACzC;EACA,MAAM,WAAW,eAAe,CAAC,CAAC,MAAM,MAAM,SAAQ;EACtD,MAAM,WAAW,eAAe,CAAC,MAAM,cAAc,SAAS,MAAK;EACnE,MAAM,gBAAgB,eACpB,SAAS,QAAQ,iBAAiB,QAAQ,WAAW,MACvD;EACA,MAAM,eAA4C,eAC1C,iBAAiB,OAAO,gBAAgB,EAAC,CACjD;EAEA,MAAM,EAAE,YAAY,WAAW,eAAe,mBAAmB,UAAU;GACzE,UAAU;GACV,WAAW,OAAO;IAChB,OACE,WAAW,OAAO,qBAAqB,MAAM,IAC7C,cAAc,OAAO,qBAAqB,MAAK;;GAGnD,YAAY;IACV,IAAI,MAAM,eACR,UAAU,WAAW,OAAO,CAAC,MAAM,KAAI;;GAG5C,CAAA;EAED,MAAM,kBAAkB,eAAe;GACrC,IACE,CAAC,MAAM,aACP,WAAW,SACX,UAAU,SACT,CAAC,WAAW,SAAS,CAAC,UAAU,OAEjC,OAAO;GAET,OAAO,CAAC,CAAC,aAAa,MAAM;IAC7B;EACD,MAAM,cAAc,eAAe;GACjC,MAAM,EAAE,eAAe,cAAc;GACrC,MAAM,QAAQ,aAAa;GAC3B,OAAO,MAAM,SACT,SAAS,QACP,KACA,MAAM,GAAG,SAAS,eAAe,UAAS,GAC5C;IACL;EAED,MAAM,gBAAgB,eAAe,UAAU,iBAAiB,GAAE;EAElE,MAAM,eAAe,SAAwB;GAC3C,MAAM;IACJ,OAAO,UAAU,MAAM,WAAW;;GAEpC,IAAI,KAAK;IAEP,MAAM,QAAQ,OAAO,aAAa;IAClC,KAAK,oBAAoB,MAAK;IAC9B,KAAK,cAAc,MAAK;IACxB,IAAI,MAAM,eACR,UAAU,SAAS,SAAS,CAAC,MAAM,KAAI;;GAG5C,CAAA;EAED,MAAM,cAAc,eAAe;GACjC,OAAO;IACL,WAAW,GAAG;IACd,WAAW,EAAE,SAAS,MAAM;IAC5B,WAAW,GAAG,YAAY,WAAW,MAAM;IAC3C,MAAM;IACR;IACD;EAED,MAAM,kBAAkB,eAAe;GACrC,OAAO;IACL,QAAQ,EAAE,OAAO;IACjB;IACA,WAAW,GAAG,WAAW,cAAc,MAAM;IAC/C;IACD;EAED,MAAM,aAAa,eAAe,WAAW,GAAG,SAAS,UAAU,MAAM,CAAA;EAEzE,MAAM,aAAa,eAAe;GAChC,OAAO,WAAW,OAAO,WAAW;IACrC;EAED,MAAM,sBAAsB,UAAiB;GAC3C,IAAI,UAAU,OAEZ,WAAW,IADQ,WAAW,QAAQ,MACrB,CAAA;GAEnB,oBAAoB,MAAK;;EAG3B,MAAM,uBAAuB,YAAsB;GACjD,IAAI,WAAW,OAAO;GAEtB,UAAU,WAAW,CAAC,cAAc;GAEpC,IAAI,YAAY,cAAc,OAAO;IACnC,cAAc,QAAQ;IACtB,SAAS,OAAO,OAAO,aAAa,iBAAiB,GAAG,UAAS;IAEjE,IAAI,SAAS;KACX,sBAAqB;KACrB,iBAAiB,SACf,SAAS,iBAAiB,MAAM,sBAAqB;WAClD,IAAI,MAAM,YACf,sBAAqB;IAGvB,KAAK,iBAAiB,QAAO;;;EAIjC,MAAM,6BAA6B;GACjC,eAAe;IACb,WAAW,OAAO,cAAa;KAChC;;EAEH,MAAM,4BAA4B;GAChC,UAAU,QAAQ;;EAGpB,MAAM,UAAU,SAA4B;GAC1C,MAAM,EAAE,eAAe,cAAc;GACrC,OAAO;IACL;IACA,KAAK,KAAK;IACV,MAAM,KAAK,SAAS,eAAe,UAAU;IAC7C,UAAU;IACV,UAAU,CAAC,WAAW,SAAS,CAAC,KAAK;IACvC;;EAGF,MAAM,aAAa,QAAa;GAC9B,MAAM,OAAO,IAAI;GACjB,KAAK,QAAQ,MAAK;GAClB,iBAAiB,OAAO,uBAAsB;GAC9C,KAAK,aAAa,KAAK,cAAa;;EAGtC,MAAM,gCAAgD;GACpD,QAAQ,MAAM,qBAAd;IACE,KAAK,SACH,OAAO,aAAa;IACtB,KAAK,UAAU;KACb,MAAM,eAAe,gBAAgB,MAAK;KAC1C,MAAM,oBAAoB,aAAc,KAAK,MAAM,EAAE,MAAK;KAI1D,OAHoB,aAAc,QAC/B,MAAM,CAAC,EAAE,UAAU,CAAC,kBAAkB,SAAS,EAAE,OAAO,MAAK,CAE/C;;IAEnB,SACE,OAAO,EAAC;;;EAId,MAAM,6BAA6B;GACjC,IAAI,CAAC,SAAS,OAAO;GAErB,MAAM,QAAQ,yBAAwB;GAEtC,MAAM,UAAiB,EAAC;GACxB,MAAM,SAAS,SAAS,QAAQ,KAAK,OAAO,KAAK,CAAC,CAAA;GAClD,KAAK,QAAQ;;EAGf,MAAM,6BAA6B;GACjC,MAAM,EAAE,cAAc,eAAe,cAAc;GACnD,MAAM,MAAM,iBAAiB,OACzB,gBAAgB,CAAC,MAAM,MAAM,cAAa,EAC1C,QAAQ,SAAS;IACjB,IAAI,KAAK,YAAY,OAAO;IAC5B,KAAK,SAAS,eAAe,UAAS;IACtC,OAAO,aAAa,MAAM,cAAc,MAAK;KAC9C;GAEH,IAAI,SAAS,OACX,KAAK,MAAM,SAAS,QAAQ;IAC1B,IAAI,WAAW;KAChB;GAGH,UAAU,QAAQ;GAClB,YAAY,QAAQ;GACpB,eAAe;IACb,IAAI,MAAM,iBAAiB,YAAY,MAAM,SAAS,GACpD,yBAAyB,OAAO,aAAa,EAAC;IAEhD,aAAY;KACb;GACD,sBAAqB;;EAGvB,MAAM,wBAAwB,aAA+C;GAC3E,MAAM,KAAK,gBAAgB;GAC3B,OAAO,WAAY,IAAI,cAAc,SAAS,IAAI,KAAA,IAAa;;EAGjE,MAAM,uBAAuB;GAC3B,IAAI;GAEJ,IAAI,UAAU,SAAS,gBAAgB,OACrC,YAAY,qBAAqB,IAAI,WAAW,EAAE,kBAAkB,GAAE;QAEtE,YAAY,iBAAiB,OAAO,IAAI,cACtC,IAAI,WAAW,EAAE,OAAO,CAAC,iBAC3B;GAGF,IAAI,WAAW;IACb,UAAU,OAAM;IAChB,IACE,CAAC,UAAU,SACX,UAAU,aAAa,gBAAgB,KAAK,QAE5C,UAAU,OAAM;;;EAKtB,MAAM,8BAA8B,eAAuB;GACzD,MAAM,oBAAoB,sBAAqB;GAC/C,IAAI,CAAC,mBAAmB;GAExB,MAAM,aAAa,SAAS,MAAM,cAAa,GAC3C,GAAG,MAAM,cAAc,MACvB,GAAG,WAAW;GAElB,MAAM,iBAAiB,OAAoB;IACzC,IAAI,MAAM,kBAAkB,OAAO;KACjC,GAAG,MAAM,QAAQ;KACjB,GAAG,MAAM,WAAW;WACf;KACL,GAAG,MAAM,QAAQ;KACjB,GAAG,MAAM,WAAW;;;GAIxB,cAAc,kBAAiB;GAE/B,IAAI,MAAM,eAAe;IACvB,oBAAoB,QAClB,MAAM,kBAAkB,QACpB,aACA,4BAA4B,QAC1B,GAAG,WAAW,MACd,GAAG,KAAK,IAAI,YAAY,6BAA6B,CAAC,CAAC;IAC/D;;GAGF,MAAM,iBAAiB,qBACrB,IAAI,WAAW,EAAE,kBAAkB,GACrC;GACA,IAAI,gBACF,cAAc,eAAc;;EAIhC,MAAM,0BAA0B;GAC9B,IAAI,CAAC,MAAM,QAAQ,OAAO;GAE1B,MAAM,SAAS,SAAS,OAAO,IAAI,cACjC,IAAI,QAAQ,EAAE,SAAS,GACxB;GACD,IAAI,CAAC,QAAQ,OAAO;GAEpB,MAAM,cAAc,OAAO,uBAAuB,CAAC;GACnD,IAAI,eAAe,GAAG,OAAO;GAC7B,OAAO,cAAc,eAAe,SAAS,SAAS;;EAGxD,MAAM,oBAAoB;GACxB,MAAM,aAAa,SAAS,OAAO;GACnC,MAAM,eAAe,SAAS,OAAO;GACrC,IAAI,CAAC,cAAY,CAAC,cAAc,CAAC,cAAc;GAE/C,IAAI,gBAAgB,OAClB,2BAA2B,aAAa,uBAAuB,CAAC,MAAK;GAGvE,MAAM,eAAe,WAAW;GAChC,IAAI,cAAc;IAChB,MAAM,SACJ,KAAK,MAAM,SAAS,IAChB,GAAG,KAAK,IAAI,aAAa,cAAc,mBAAmB,GAAG,EAAE,MAC/D,GAAG,mBAAmB;IAC5B,WAAW,MAAM,SAAS;IAC1B,aAAa,MAAM,OAAO,GAAG,mBAAmB,CAAC;IACjD,sBAAqB;;;EAIzB,MAAM,oCAAoC;GACxC,IAAI,4BAA4B,OAAO,OAAO;GAC9C,IAAI,CAAC,YAAY,MAAM,QAAQ,OAAO;GAGtC,MAAM,MADS,SAAS,cAAc,SACpB,CAAC,WAAW,KAAI;GAClC,IAAI,CAAC,KAAK,OAAO;GAEjB,MAAM,qBAAqB,qBACzB,IAAI,WAAW,EAAE,kBAAkB,GACrC;GACA,IAAI,CAAC,sBAAsB,CAAC,YAAU,OAAO;GAE7C,MAAM,QAAQ,iBAAiB,mBAAkB;GACjD,MAAM,UACJ,OAAO,WAAW,MAAM,YAAY,GAAG,OAAO,WAAW,MAAM,aAAY;GAE7E,IAAI,OAAO,QAAQ,MAAM,SAAS,GAAG,MAAM;GAE3C,IAAI,WAAW;GACf,IAAI,aAAa;GAEjB,KAAK,MAAM,cAAc,YAAY,OAAO;IAC1C,MAAM,OAAO,WAAW,QAAQ;IAChC,MAAM,UAAU,IAAI,YAAY,KAAI;IACpC,WAAW,KAAK,IAAI,UAAU,QAAQ,MAAK;IAC3C,IAAI,WAAW,WAAW,CAAC,YAAY,aAAa;;GAGtD,OAAO,WAAW,WAAW,aAAa,8BAA8B;;EAG1E,MAAM,mBAAmB,aAAsB;GAC7C,OAAO,iBAAiB,OAAO,gBAAgB,SAAQ;;EAGzD,MAAM,sBAAsB,UAAyB;GACnD,sBAAqB;GACrB,KAAK,gBAAgB,MAAK;;EAG5B,MAAM,iBAAiB,MAAqB;GAC1C,IAAI,YAAY,OAAO;GAGvB,QAFa,aAAa,EAEd,EAAZ;IACE,KAAK,WAAW;IAChB,KAAK,WAAW;KACd,qBAAoB;KACpB;IACF,KAAK,WAAW;KACd,oBAAoB,KAAI;KACxB,SAAS,eAAc;KACvB,EAAE,gBAAe;KACjB;IACF,KAAK,WAAW;KACd,IAAI,cAAc,UAAU,MAAM;MAChC,EAAE,gBAAe;MACjB,EAAE,iBAAgB;MAClB,oBAAoB,MAAK;;KAE3B;IACF,KAAK,WAAW;KACd,oBAAoB,MAAK;KACzB;;;EAIN,MAAM,oBAAoB;GACxB,iBAAiB,OAAO,mBAAkB;GAC1C,IAAI,CAAC,cAAc,SAAS,MAAM,YAChC,sBAAqB;GAEvB,oBAAoB,MAAK;GACzB,KAAK,QAAO;;EAGd,MAAM,6BAA6B;GACjC,MAAM,EAAE,UAAU;GAClB,WAAW,QAAQ;GACnB,iBAAiB,QAAQ;;EAG3B,MAAM,yBAAyB,SAAuB;GACpD,MAAM,EAAE,YAAY;GAEpB,IAAI,SAAS,OACX,iBAAiB,OAAO,kBAAkB,MAAM,CAAC,SAAS,MAAK;QAC1D;IACL,CAAC,WAAW,iBAAiB,OAAO,kBAAkB,MAAM,MAAM,MAAK;IACvE,oBAAoB,MAAK;;;EAI7B,MAAM,gCAAgC,WAAwB;GAE5D,MAAM,WADiB,OAAO,QAAqB,0BACpB,EAAE,QAAQ;GAEzC,IAAI,CAAC,UAAU,OAAO;GAEtB,MAAM,QAAQ,OAAO,SAAS,UAAU,GAAE;GAC1C,IAAI,OAAO,MAAM,MAAM,IAAI,QAAQ,KAAK,SAAS,YAAY,MAAM,QACjE,OAAO;GAGT,OAAO;;EAGT,MAAM,2BAA2B,MAAqB;GACpD,MAAM,SAAS,EAAE;GACjB,MAAM,OAAO,aAAa,EAAC;GAE3B,QAAQ,MAAR;IACE,KAAK,WAAW;IAChB,KAAK,WAAW,MAAM;KACpB,EAAE,gBAAe;KACjB,MAAM,WAAW,SAAS,WAAW,KAAK,KAAK;KAE/C,IAAI,MAAM,iBAAiB,yBAAyB,OAAO;MACzD,MAAM,eAAe,6BAA6B,OAAM;MACxD,IAAI,gBAAgB,GAAG;OACrB,MAAM,SAAS,YAAY,MAAM;OACjC,MAAM,eAAe,eAAe,WAAW,UAAU;OAEzD,yBAAyB,MAAM,aAAa,YAAW;OAEvD,eAAe;QACb,MAAM,aAAa,qBACjB,eAAe,YAAY,MAAM,aAAa,MAChD;QACA,cAAc,UAAU,WAAU;SACnC;OACD;;;KAKJ,UACE,WACE,QACA,UACA,IAAI,WAAW,EAAE,kBAAkB,CAAC,iBACrC,CACH;KACA;;IAEF,KAAK,WAAW;IAChB,KAAK,WAAW;KACd,OAAO,OAAM;KACb;;;EAIN,MAAM,qBAAqB;GACzB,MAAM,UAAU,KAAK,MAAM,KAAK,MAAM,SAAS;GAC/C,mBAAmB,iBAAiB,QAAQ,IAAI,mBAAmB;GAEnE,IACE,CAAC,WACD,CAAC,oBACA,MAAM,gBAAgB,KAAK,MAAM,SAAS,GAE3C;GAEF,IAAI,QAAQ,UACV,UAAU,QAAO;QAEjB,QAAQ,WAAW;;EAKvB,MAAM,eAAe,oBAAoB;GACvC,MAAM,EAAE,UAAU;GAElB,IAAI,CAAC,OAAO;GAEZ,MAAM,SAAS,MAAM,aAAa,MAAK;GAEvC,IAAI,UAAU,OAAO,EACnB,OAAO,KAAK,qBAAqB,CAAC,YAAY,GAE7C;QACI,IAAI,WAAW,OACpB,sBAAqB;QAErB,qBAAoB;KAfP,eAAe,MAAM,SAiB3B,CAAA;EAEX,MAAM,eAAe,KAAa,MAAmB;GACnD,CAAC,cAAc,SAAS,oBAAoB,KAAI;GAEhD,IAAI,GAAG,aAAa;GAEpB,IAAI,KACF,cAAa;QACR;IACL,MAAM,SAAS,MAAM,aAAa,GAAE;IACpC,IAAI,UAAU,OAAO,EACnB,OAAO,YAAY,GAElB;IAEH,qBAAoB;;;EAIxB,MAAM,uBAAuB,eAC3B,OAAO,WACL,UAAU,QAAQ,WAAW,eAAe,EAAE,WAAW,CAAC,MAC3D,GAAG;EAEN,MAAM,cAAc;GAClB,SAAS,OAAO,OAAM;;EAGxB,MAAM,aAAa;GACjB,SAAS,OAAO,MAAK;;EAGvB,MAAM,WAAW,qBAAoB;EAErC,MACE;GACE;GACA;SACM,MAAM;SACN,MAAM;GACb,EACD,qBACF;EAEA,MAAM,YAAY;GAChB,eAAe,aAAa,CAAA;IAC7B;EAED,MAAM,UAAU,YAAY;GAC1B,MAAM,UAAS;GACf,MAAM,aAAa,SAAS,MAAO;GACnC,qBAAqB,oBAAoB,WAAW,IAAI;GACxD,aAAY;IACb;EAED,MAAM,aAAa,sBAAsB,EAAE,WAAW,MAAM,CAAA;EAE5D,YACQ,cAAc,QACnB,QAAQ;GACP,IAAI,OAAO,MAAM,MAAM,QAAQ,MAAM,MAAM,UACzC,iBAAiB,OAAO,mBAAkB;IAGhD;EAEA,gBAAgB;GACd,MAAM,aAAa,SAAS,MAAO;GACnC,MAAM,eAAe,SAAS,MAAO;GAErC,MAAM,mBAAmB,oBAAoB,WAAU;GAEvD,qBAAqB,WAAW,gBAAgB;GAChD,kBAAkB,cAAc,YAAW;IAC5C;EAED,SAAa;;;;GAIX;;;;GAIA;;;;GAIA;;;;GAIA;;;;GAIA;;GAEA;;GAEA;GACD,CAAA;;uBAjiCC,YA2Qa,MAAA,UAAA,EAAA;aA1QP;IAAJ,KAAI;IACH,SAAS,cAAA;IACT,YAAY,QAAA;IACZ,gBAAY,CAAG,MAAA,WAAU,CAAC,EAAC,WAAA,EAAc,QAAA,YAAW;IACpD,gBAAc,QAAA;IACd,kBAAgB;IAChB,uBAAqB,QAAA;IACrB,2BAAyB;IACzB,oBAAkB;IAClB,WAAW,QAAA;IACX,YAAU,GAAK,MAAA,WAAU,CAAC,UAAU,MAAK;IACzC,QAAQ,QAAA;IACT,MAAA;IACC,YAAY,QAAA;IACZ,QAAM;;IAEI,SAAO,cAwIV,CAAA,gBAAA,WAAA,EAvIN,mBAuIM,OAAA;cAtIA;KAAJ,KAAI;KAEH,OAAK,eAAE,YAAA,MAAW;KAClB,OAAK,eAAE,cAAA,MAAa;KACpB,SAAK,OAAA,OAAA,OAAA,WAAQ,oBAAoB,SAAA,QAAW,KAAA,IAAS,KAAA;KACrD,WAAS;KACT,cAAU,OAAA,OAAA,OAAA,MAAA,WAAE,WAAA,QAAU;KACtB,cAAU,OAAA,QAAA,OAAA,OAAA,WAAE,WAAA,QAAU;QAEvB,YAoCW,MAAA,QAAA,EAAA;cAnCL;KAAJ,KAAI;iBACK,WAAA;kEAAA,WAAU,QAAA;KAClB,aAAa,mBAAA;KACb,UAAU,SAAA;KACV,UAAU,MAAA,WAAU;KACpB,kBAAgB;KAChB,MAAM,MAAA,SAAQ;KACd,OAAK,eAAE,WAAA,MAAU;KACjB,UAAU,SAAA,SAAY,QAAA,cAAU,CAAK,MAAA,WAAU,GAAA,KAAQ,KAAA;KACvD,oBAAkB,MAAA,kBAAiB;KACnC,qBAAmB,MAAA,kBAAiB;KACpC,kBAAgB,MAAA,kBAAiB;KACjC,SAAO;;KAKG,QAAM,cAQL,CANF,gBAAA,SAAA,WAAA,EADR,YAOU,MAAA,OAAA,EAAA;MALR,KAAI;MACH,OAAK,eAAA,CAAG,MAAA,QAAO,CAAC,EAAC,OAAA,EAAA,oBAAA,CAAA;MACjB,SAAK,cAAO,aAAW,CAAA,OAAA,CAAA;;6BAEK,EAAA,WAAA,EAA7B,YAA6B,wBAAb,QAAA,UAAS,CAAA,EAAA,CAAA;;uCAE3B,YAOU,MAAA,OAAA,EAAA;MALR,KAAI;MACH,OAAK,eAAE,gBAAA,MAAe;MACtB,SAAK,OAAA,OAAA,OAAA,KAAA,eAAA,WAAO,qBAAmB,EAAA,CAAA,OAAA,CAAA;;6BAElB,CAAd,YAAc,MAAA,UAAA,CAAA,CAAA,CAAA;;;;QAlBFA,KAAAA,OAAO,SAAA;WAAS;uBACR,CAAtB,WAAsB,KAAA,QAAA,SAAA,CAAA,CAAA;;;;;;;;;;;;;QAuBlB,SAAA,SAAA,WAAA,EADR,mBAsFM,OAAA;;cApFA;KAAJ,KAAI;KACH,OAAK,eAAA,CAAgB,MAAA,WAAU,CAAC,EAAC,OAAA,EAAsB,MAAA,WAAU,CAAC,GAAE,YAAa,QAAQ,cAAA,MAAa,CAAA,CAAA,CAAA;;KAKvG,WAcO,KAAA,QAAA,OAAA;MAdW,MAAM,KAAA;MAAmB;cAcpC,EAAA,UAAA,KAAA,EAbL,mBAYS,UAAA,MAAA,WAXO,YAAA,QAAP,QAAG;0BADZ,YAYS,MAAA,MAAA,EAAA;OAVN,KAAK,IAAI;OACT,MAAM,QAAA;OACN,MAAM,QAAA;OACN,QAAQ,QAAA;OACR,KAAK,IAAI;OACT,UAAU,IAAI;OACf,uBAAA;OACC,UAAK,WAAE,UAAU,IAAG;;8BAEM,CAA3B,mBAA2B,QAAA,MAAA,gBAAlB,IAAI,KAAI,EAAA,EAAA,CAAA,CAAA;;;;;;;;;;;KAIb,QAAA,gBAAgB,KAAA,MAAK,SAAS,QAAA,mBAAA,WAAA,EADtC,YAiDa,MAAA,UAAA,EAAA;;eA/CP;MAAJ,KAAI;MACH,UAAU,cAAA,SAAa,CAAK,QAAA;MAC5B,uBAAqB;OAAA;OAAA;OAAA;OAAA;OAAkC;MACxD,WAAU;MACT,gBAAc,QAAA;MACd,gBAAc,QAAA;MACd,QAAQ,QAAA;MACR,YAAY,QAAA;;MAEF,SAAO,cAWP,CAVT,YAUS,MAAA,MAAA,EAAA;OATN,UAAU;OACV,MAAM,QAAA;OACN,MAAM,QAAA;OACN,QAAQ,QAAA;OACT,uBAAA;;8BAIO,CAFP,mBAEO,QAAA,EAFA,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,YAAA,CAAA,EAAA,EAAe,QACrC,gBAAG,KAAA,MAAK,SAAS,QAAA,gBAAe,EAAA,EAAA,CAAA,CAAA;;;;;;;MAI7B,SAAO,cAuBD,CAtBf,YAsBe,MAAA,YAAA,EAAA,EAtBA,cAAY,QAAA,8BAA4B,EAAA;8BAqB/C,CApBN,mBAoBM,OAAA,EApBA,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,gBAAA,CAAA,EAAA,EAAA,EAAA,UAAA,KAAA,EACvB,mBAkBM,UAAA,MAAA,WAjBiB,gBAAA,QAAb,KAAK,QAAG;4BADlB,mBAkBM,OAAA;SAhBH,KAAK;SACL,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,eAAA,CAAA;0BAEpB,YAYS,MAAA,MAAA,EAAA;SAXN,KAAK,IAAI;SACV,OAAM;SACL,MAAM,QAAA;SACN,MAAM,QAAA;SACN,QAAQ,QAAA;SACR,KAAK,IAAI;SACT,UAAU,IAAI;SACf,uBAAA;SACC,UAAK,WAAE,UAAU,IAAG;;gCAEM,CAA3B,mBAA2B,QAAA,MAAA,gBAAlB,IAAI,KAAI,EAAA,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;KAQrB,QAAA,cAAU,CAAK,MAAA,WAAU,GAAA,gBAAA,WAAA,EADjC,mBAYE,SAAA;;mEAVS,iBAAgB,QAAA;MACzB,MAAK;MACJ,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,eAAA,CAAA;MACnB,aAAa,YAAA,QAAW,KAAQ,iBAAA;MAChC,SAAK,OAAA,OAAA,OAAA,MAAG,MAAM,YAAY,iBAAA,OAAkB,EAAC;MAC7C,SAAK,OAAA,OAAA,OAAA,KAAA,eAAA,WAAO,oBAAmB,KAAA,EAAA,CAAA,OAAA,CAAA;MAC/B,WAAO,SAAS,cAAY,CAAA,SAAA,CAAA;MAC5B,oBAAgB,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,kBAAA,IAAA,MAAA,kBAAA,CAAA,GAAA,KAAiB;MACnC,qBAAiB,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,kBAAA,IAAA,MAAA,kBAAA,CAAA,GAAA,KAAiB;MACpC,kBAAc,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,kBAAA,IAAA,MAAA,kBAAA,CAAA,GAAA,KAAiB;8CATzB,iBAAA,MAAgB,CAAA,CAAA,GAAA,mBAAA,QAAA,KAAA;;;KAzHA;KAAd,WAAA;KAAY,CAAA,CAAA,CAAA,CAAA;IAwIpB,SAAO,cAGV;KAFKA,KAAAA,OAAO,UAAA,WAAA,EAAlB,mBAEM,OAAA;;MAFqB,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,SAAA,CAAA;MAAa,SAAK,OAAA,QAAA,OAAA,MAAA,oBAAN,IAAW,CAAA,OAAA,CAAA;SACnE,WAAsB,KAAA,QAAA,SAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,QAAA,KAAA;oBAExB,YAiBoB,MAAA,gBAAA,EAAA;eAfd;MAAJ,KAAI;kBACK,aAAA;qEAAA,aAAY,QAAA;MACpB,SAAS,QAAA;MACT,OAAO,MAAM;MACb,QAAQ;MACR,gBAAcA,KAAAA,OAAO;MACrB,kBAAgB,QAAA;MAChB,aAAW,QAAA;MACX,QAAQ,QAAA;MACR,gBAAe;MACf,SAAK,OAAA,QAAA,OAAA,OAAA,WAAEC,KAAAA,gBAAgB,oBAAmB,MAAA,CAAA;;MAEhC,OAAK,cACO,CAArB,WAAqB,KAAA,QAAA,QAAA,CAAA,CAAA;;;;;;;;;;mBAdd,UAAA,MAAS,CAAA,CAAA;KAiBJ,QAAA,cAAA,WAAA,EAAhB,mBAoFW,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,CAlFA,QAAA,gBAAA,gBAAA,WAAA,EADT,YAkCe,MAAA,YAAA,EAAA;;MA/BZ,MAAM,QAAS,gBAAA,QAAmB,KAA2B;MAC9D,KAAI;MACH,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,mBAAA,CAAA;MACnB,cAAY,MAAA,WAAU,CAAC,EAAC,kBAAA;MACxB,cAAY,MAAA,WAAU,CAAC,EAAC,kBAAA;MACxB,WAAS;;6BAoBC,CAlBK,YAAA,MAAY,UAAA,UAAA,KAAA,EAC1B,mBAgBK,UAAA,EAAA,KAAA,GAAA,EAAA,WAfY,YAAA,QAAR,SAAI;2BADb,mBAgBK,MAAA;QAdF,KAAK,KAAK;QACV,OAAK,eAAA,CAAoB,MAAA,WAAU,CAAC,EAAC,kBAAA,EAAqC,MAAA,WAAU,CAAC,GAAE,WAAY,KAAK,QAAO,CAAA,CAAA;QAI/G,UAAU;QACV,UAAK,WAAE,sBAAsB,KAAI;WAElC,WAKO,KAAA,QAAA,mBAAA,EAL6B,MAAI,QAKjC,CAJL,mBAA4B,QAAA,MAAA,gBAAnB,KAAK,KAAI,EAAA,EAAA,EACH,KAAK,WAAA,WAAA,EAApB,YAEU,MAAA,OAAA,EAAA,EAAA,KAAA,GAAA,EAAA;+BADC,CAAT,YAAS,MAAA,MAAA,CAAA,CAAA,CAAA;;;kBAKjB,WAIO,KAAA,QAAA,SAAA,EAAA,KAAA,GAAA,QAAA,CAHL,mBAEK,MAAA,EAFA,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,aAAA,CAAA,EAAA,EAAA,gBACnB,MAAA,EAAC,CAAA,sBAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;;;mBA7BA,UAAA,MAAS,CAAA,CAAA,GAAA,gBAAA,WAAA,EAiCnB,mBA+CM,OAAA;;eA5CA;MAAJ,KAAI;MACH,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,mBAAA,CAAA;MACnB,WAAS;wBAEV,YAgCqB,MAAA,cAAA,EAAA;eA9Bf;MAAJ,KAAI;MACH,QAAQ,4BAAA;MACR,aAAW,QAAA;MACX,MAAM,YAAA;MACN,OAAO,YAAA,MAAY;MACnB,cAAY,MAAA,WAAU,CAAC,EAAC,kBAAA;MACzB,iBAAc;MACb,eAAa,oBAAA;;MAEH,SAAO,SAmBX,EAnBe,MAAM,OAAO,YAAK,EAAA,WAAA,EACtC,mBAkBK,MAAA;OAjBF,IAAE,cAAgB,KAAK,OAAO;OAC9B,KAAK,KAAK,OAAO;OACjB,yBAAuB;OACvB,OAAK,eAAA,CAAsB,MAAA,WAAU,CAAC,EAAC,kBAAA,EAAuC,MAAA,WAAU,CAAC,GAAE,WAAY,KAAK,OAAO,QAAO,CAAA,CAAA;OAI1H,UAAU;OACV,OAAK,eAAE,MAAK;OACZ,UAAK,WAAE,sBAAsB,KAAK,OAAK;UAExC,WAKO,KAAA,QAAA,mBAAA,EALuB,MAAM,KAAK,QAAA,QAKlC,CAJL,mBAAmC,QAAA,MAAA,gBAA1B,KAAK,OAAO,KAAI,EAAA,EAAA,EACV,KAAK,OAAO,WAAA,WAAA,EAA3B,YAEU,MAAA,OAAA,EAAA,EAAA,KAAA,GAAA,EAAA;8BADC,CAAT,YAAS,MAAA,MAAA,CAAA,CAAA,CAAA;;;;;;;;;;;kBA1BT,YAAA,MAAY,OAAM,CAAA,CAAA,EAAA,CAgCf,YAAA,MAAY,SAAzB,WAMO,KAAA,QAAA,SAAA,EAAA,KAAA,GAAA,QAAA,CALL,mBAIK,MAAA,EAJA,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,kBAAA,CAAA,EAAA,EAAA,CACtB,mBAEK,MAAA,EAFA,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,aAAA,CAAA,EAAA,EAAA,gBACnB,MAAA,EAAC,CAAA,sBAAA,CAAA,EAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,GAAA,mBAAA,QAAA,KAAA,CAAA,EAAA,GAAA,GAAA,CAAA,CAAA,OAzCF,UAAA,MAAS,CAAA,CAAA,CAAA,EAAA,GAAA,IAAA,mBAAA,QAAA,KAAA;KA+CVD,KAAAA,OAAO,UAAA,WAAA,EAAlB,mBAEM,OAAA;;MAFqB,OAAK,eAAE,MAAA,WAAU,CAAC,EAAC,SAAA,CAAA;MAAa,SAAK,OAAA,QAAA,OAAA,MAAA,oBAAN,IAAW,CAAA,OAAA,CAAA;SACnE,WAAsB,KAAA,QAAA,SAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,QAAA,KAAA"}