@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.
- package/es/components/affix/src/affix.vue.d.ts +3 -3
- package/es/components/alert/src/alert.d.ts +1 -1
- package/es/components/alert/src/alert.vue.d.ts +1 -1
- package/es/components/anchor/src/anchor.vue.d.ts +1 -1
- package/es/components/autocomplete/src/autocomplete.d.ts +5 -106
- package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
- package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/avatar/src/avatar-group-props.d.ts +8 -105
- package/es/components/avatar/src/avatar-group-props.mjs +9 -1
- package/es/components/avatar/src/avatar-group-props.mjs.map +1 -1
- package/es/components/avatar/src/avatar-group.d.ts +17 -210
- package/es/components/avatar/src/avatar.d.ts +2 -2
- package/es/components/badge/src/badge.d.ts +4 -8
- package/es/components/badge/src/badge.mjs +9 -1
- package/es/components/badge/src/badge.mjs.map +1 -1
- package/es/components/badge/src/badge.vue.d.ts +3 -1
- package/es/components/badge/src/badge.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/badge/src/badge2.mjs.map +1 -1
- package/es/components/button/src/button-group.d.ts +2 -2
- package/es/components/button/src/button-group.vue.d.ts +1 -1
- package/es/components/button/src/button.d.ts +2 -2
- package/es/components/button/src/button.vue.d.ts +4 -4
- package/es/components/button/src/use-button.d.ts +2 -2
- package/es/components/calendar/src/calendar.mjs.map +1 -1
- package/es/components/card/src/card.d.ts +7 -6
- package/es/components/card/src/card.mjs +27 -3
- package/es/components/card/src/card.mjs.map +1 -1
- package/es/components/card/src/card.vue.d.ts +4 -0
- package/es/components/card/src/card.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/card/src/card2.mjs.map +1 -1
- package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
- package/es/components/carousel/src/carousel.vue.d.ts +1 -1
- package/es/components/cascader/src/cascader.d.ts +5 -106
- package/es/components/cascader/src/cascader.mjs.map +1 -1
- package/es/components/cascader/src/cascader.vue.d.ts +18 -16
- package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/cascader/src/cascader2.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.vue.d.ts +5 -5
- package/es/components/cascader-panel/src/menu.vue.d.ts +1 -1
- package/es/components/check-tag/src/check-tag.d.ts +1 -1
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
- package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
- package/es/components/checkbox/src/checkbox.d.ts +3 -3
- package/es/components/checkbox/src/checkbox.vue.d.ts +5 -5
- package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
- package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
- package/es/components/col/src/col.vue.d.ts +2 -2
- package/es/components/collapse/src/collapse.vue.d.ts +2 -2
- package/es/components/color-picker/src/color-picker.d.ts +5 -104
- package/es/components/color-picker/src/color-picker.mjs +1 -0
- package/es/components/color-picker/src/color-picker.mjs.map +1 -1
- package/es/components/color-picker/src/color-picker.vue.d.ts +12 -10
- package/es/components/color-picker-panel/src/color-picker-panel.d.ts +4 -10
- package/es/components/color-picker-panel/src/color-picker-panel.mjs +9 -5
- package/es/components/color-picker-panel/src/color-picker-panel.mjs.map +1 -1
- package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +5 -2
- package/es/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/color-picker-panel/src/color-picker-panel2.mjs.map +1 -1
- package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
- package/es/components/config-provider/src/config-provider.d.ts +3 -3
- package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/es/components/countdown/src/countdown.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker.d.ts +12 -212
- package/es/components/date-picker/src/props.d.ts +4 -104
- package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
- package/es/components/date-picker-panel/src/date-picker-com/basic-month-table.vue.d.ts +2 -2
- package/es/components/date-picker-panel/src/date-picker-com/basic-year-table.vue.d.ts +2 -2
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +5 -5
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +6 -6
- package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
- package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
- package/es/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
- package/es/components/date-picker-panel/src/panel-utils.d.ts +36 -36
- package/es/components/date-picker-panel/src/props/basic-date-table.mjs.map +1 -1
- package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
- package/es/components/descriptions/src/description-item.d.ts +2 -2
- package/es/components/descriptions/src/description.d.ts +1 -1
- package/es/components/descriptions/src/description.vue.d.ts +1 -1
- package/es/components/dialog/src/dialog-content.d.ts +10 -6
- package/es/components/dialog/src/dialog-content.mjs +32 -5
- package/es/components/dialog/src/dialog-content.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content.vue.d.ts +5 -1
- package/es/components/dialog/src/dialog.d.ts +10 -5
- package/es/components/dialog/src/dialog.mjs +11 -14
- package/es/components/dialog/src/dialog.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +11 -6
- package/es/components/divider/src/divider.vue.d.ts +1 -1
- package/es/components/drawer/src/drawer.d.ts +5 -4
- package/es/components/drawer/src/drawer.vue.d.ts +12 -7
- package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -2
- package/es/components/dropdown/src/dropdown-item.vue.d.ts +5 -5
- package/es/components/dropdown/src/dropdown.d.ts +4 -105
- package/es/components/dropdown/src/dropdown.vue.d.ts +67 -265
- package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/es/components/form/src/form-item.d.ts +2 -2
- package/es/components/form/src/form-item.vue.d.ts +2 -2
- package/es/components/form/src/form.d.ts +2 -2
- package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
- package/es/components/image/src/image.d.ts +1 -1
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image.vue.d.ts +4 -4
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
- package/es/components/input/src/input.d.ts +3 -3
- package/es/components/input/src/input.vue.d.ts +16 -16
- package/es/components/input-number/src/input-number.d.ts +3 -3
- package/es/components/input-number/src/input-number.vue.d.ts +9 -9
- package/es/components/input-otp/src/input-otp.vue.d.ts +7 -7
- package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
- package/es/components/input-tag/src/input-tag.d.ts +2 -2
- package/es/components/input-tag/src/input-tag.vue.d.ts +10 -10
- package/es/components/link/src/link.d.ts +1 -1
- package/es/components/link/src/link.mjs.map +1 -1
- package/es/components/mention/src/mention.d.ts +5 -106
- package/es/components/mention/src/mention.vue.d.ts +4 -4
- package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/mention/src/mention2.mjs.map +1 -1
- package/es/components/menu/src/menu.d.ts +11 -23
- package/es/components/menu/src/menu.mjs +18 -2
- package/es/components/menu/src/menu.mjs.map +1 -1
- package/es/components/menu/src/sub-menu.d.ts +10 -22
- package/es/components/menu/src/sub-menu.mjs +18 -2
- package/es/components/menu/src/sub-menu.mjs.map +1 -1
- package/es/components/message/src/message.d.ts +4 -4
- package/es/components/message/src/message.mjs +6 -1
- package/es/components/message/src/message.mjs.map +1 -1
- package/es/components/message/src/message.vue.d.ts +6 -5
- package/es/components/message/src/method.mjs.map +1 -1
- package/es/components/message-box/src/index.vue.d.ts +66 -74
- package/es/components/notification/src/notification.d.ts +4 -3
- package/es/components/notification/src/notification.mjs +6 -1
- package/es/components/notification/src/notification.mjs.map +1 -1
- package/es/components/notification/src/notification.vue.d.ts +6 -5
- package/es/components/overlay/index.d.ts +4 -12
- package/es/components/overlay/src/overlay.d.ts +5 -18
- package/es/components/overlay/src/overlay.mjs +9 -5
- package/es/components/overlay/src/overlay.mjs.map +1 -1
- package/es/components/pagination/src/components/jumper.d.ts +1 -1
- package/es/components/pagination/src/components/jumper.vue.d.ts +2 -2
- package/es/components/pagination/src/components/sizes.d.ts +5 -14
- package/es/components/pagination/src/components/sizes.mjs +18 -2
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.vue.d.ts +9 -26
- package/es/components/pagination/src/pagination.d.ts +15 -28
- package/es/components/pagination/src/pagination.mjs +15 -2
- package/es/components/pagination/src/pagination.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
- package/es/components/popover/src/popover.d.ts +4 -104
- package/es/components/popover/src/popover.mjs +1 -0
- package/es/components/popover/src/popover.mjs.map +1 -1
- package/es/components/popover/src/popover.vue.d.ts +8 -7
- package/es/components/popper/src/composables/use-content-dom.d.ts +2 -25
- package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- package/es/components/popper/src/content.d.ts +12 -22
- package/es/components/popper/src/content.mjs +13 -7
- package/es/components/popper/src/content.mjs.map +1 -1
- package/es/components/popper/src/content.vue.d.ts +11 -9
- package/es/components/popper/src/popper.mjs.map +1 -1
- package/es/components/progress/src/progress.d.ts +1 -1
- package/es/components/progress/src/progress.vue.d.ts +1 -1
- package/es/components/radio/src/radio-button.d.ts +1 -1
- package/es/components/radio/src/radio-button.vue.d.ts +2 -2
- package/es/components/radio/src/radio-group.d.ts +1 -1
- package/es/components/radio/src/radio-group.vue.d.ts +7 -7
- package/es/components/radio/src/radio.d.ts +2 -2
- package/es/components/radio/src/radio.vue.d.ts +5 -5
- package/es/components/radio/src/use-radio.d.ts +1 -1
- package/es/components/rate/src/rate.d.ts +1 -1
- package/es/components/rate/src/rate.vue.d.ts +4 -4
- package/es/components/rate/src/rate.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/rate/src/rate2.mjs.map +1 -1
- package/es/components/result/src/result.d.ts +1 -1
- package/es/components/scrollbar/src/scrollbar.d.ts +5 -4
- package/es/components/scrollbar/src/scrollbar.mjs +12 -2
- package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +5 -4
- package/es/components/scrollbar/src/thumb.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
- package/es/components/segmented/index.d.ts +4 -4
- package/es/components/segmented/src/segmented.d.ts +1 -1
- package/es/components/segmented/src/segmented.vue.d.ts +2 -2
- package/es/components/select/src/option.d.ts +1 -1
- package/es/components/select/src/option.vue.d.ts +2 -2
- package/es/components/select/src/select-dropdown.vue.d.ts +2 -1
- package/es/components/select/src/select.d.ts +9 -13
- package/es/components/select/src/select.mjs +15 -2
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select.vue.d.ts +77 -83
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select/src/select2.mjs.map +1 -1
- package/es/components/select/src/useSelect.d.ts +7 -7
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/src/defaults.d.ts +4 -104
- package/es/components/select-v2/src/select.vue.d.ts +54 -252
- package/es/components/select-v2/src/useSelect.d.ts +2 -2
- package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
- package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
- package/es/components/slider/src/button.d.ts +2 -1
- package/es/components/slider/src/button.mjs +10 -2
- package/es/components/slider/src/button.mjs.map +1 -1
- package/es/components/slider/src/button.vue.d.ts +5 -3
- package/es/components/slider/src/composables/use-marks.mjs.map +1 -1
- package/es/components/slider/src/slider.d.ts +4 -4
- package/es/components/slider/src/slider.mjs +6 -1
- package/es/components/slider/src/slider.mjs.map +1 -1
- package/es/components/slider/src/slider.vue.d.ts +16 -16
- package/es/components/space/src/space.d.ts +9 -9
- package/es/components/space/src/space.mjs +2 -1
- package/es/components/space/src/space.mjs.map +1 -1
- package/es/components/space/src/use-space.d.ts +2 -3
- package/es/components/splitter/src/split-bar.vue.d.ts +1 -1
- package/es/components/splitter/src/splitter.vue.d.ts +2 -2
- package/es/components/statistic/src/statistic.vue.d.ts +2 -2
- package/es/components/steps/src/item.d.ts +1 -1
- package/es/components/steps/src/steps.d.ts +2 -2
- package/es/components/steps/src/steps.vue.d.ts +1 -1
- package/es/components/switch/src/switch.d.ts +1 -1
- package/es/components/switch/src/switch.vue.d.ts +5 -5
- package/es/components/table/src/filter-panel.vue.d.ts +63 -60
- package/es/components/table/src/table/defaults.d.ts +1 -1
- package/es/components/table/src/table/defaults.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.d.ts +2 -2
- package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
- package/es/components/table/src/table-footer/index.d.ts +1 -1
- package/es/components/table/src/table-header/index.d.ts +16 -16
- package/es/components/table/src/table.vue.d.ts +4 -4
- package/es/components/table-v2/src/components/row.d.ts +1 -1
- package/es/components/table-v2/src/table-grid.d.ts +2 -2
- package/es/components/table-v2/src/table-v2.d.ts +4 -4
- package/es/components/tabs/src/tab-nav.d.ts +1 -1
- package/es/components/tabs/src/tabs.d.ts +2 -2
- package/es/components/tag/src/tag.d.ts +2 -2
- package/es/components/tag/src/tag.vue.d.ts +2 -2
- package/es/components/text/src/text.d.ts +2 -2
- package/es/components/text/src/text.vue.d.ts +1 -1
- package/es/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
- package/es/components/time-picker/src/common/picker.vue.d.ts +18 -218
- package/es/components/time-picker/src/common/props.d.ts +4 -104
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
- package/es/components/time-picker/src/time-picker.d.ts +12 -212
- package/es/components/time-picker/src/utils.d.ts +1 -1
- package/es/components/time-select/src/time-select.d.ts +7 -11
- package/es/components/time-select/src/time-select.mjs +15 -2
- package/es/components/time-select/src/time-select.mjs.map +1 -1
- package/es/components/time-select/src/time-select.vue.d.ts +13 -12
- package/es/components/timeline/src/timeline-item.d.ts +2 -2
- package/es/components/timeline/src/timeline-item.vue.d.ts +2 -2
- package/es/components/tooltip/src/content.d.ts +5 -200
- package/es/components/tooltip/src/content.vue.d.ts +6 -4
- package/es/components/tooltip/src/tooltip.d.ts +5 -202
- package/es/components/tooltip/src/tooltip.vue.d.ts +8 -7
- package/es/components/tooltip/src/trigger.d.ts +1 -1
- package/es/components/tour/src/content.d.ts +1 -1
- package/es/components/tour/src/step.vue.d.ts +1 -1
- package/es/components/tour/src/tour.vue.d.ts +6 -6
- package/es/components/transfer/src/transfer.vue.d.ts +2 -2
- package/es/components/tree/src/tree-node.vue.d.ts +16 -16
- package/es/components/tree/src/tree.vue.d.ts +22 -22
- package/es/components/tree-select/src/select.mjs +1 -5
- package/es/components/tree-select/src/select.mjs.map +1 -1
- package/es/components/tree-select/src/tree-select-option.d.ts +2 -2
- package/es/components/tree-select/src/tree-select.vue.d.ts +32 -40
- package/es/components/tree-v2/src/composables/useTree.d.ts +15 -14
- package/es/components/tree-v2/src/tree-node.vue.d.ts +2 -2
- package/es/components/tree-v2/src/tree.vue.d.ts +5 -5
- package/es/components/upload/src/upload-content.vue.d.ts +2 -2
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/upload.vue.d.ts +3 -3
- package/es/components/virtual-list/src/builders/build-grid.d.ts +9 -8
- package/es/components/virtual-list/src/builders/build-list.d.ts +8 -7
- package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +9 -8
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +8 -7
- package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +9 -8
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +8 -7
- package/es/components/virtual-list/src/components/scrollbar.d.ts +5 -3
- package/es/components/virtual-list/src/props.d.ts +5 -4
- package/es/components/virtual-list/src/props.mjs +15 -2
- package/es/components/virtual-list/src/props.mjs.map +1 -1
- package/es/components/watermark/src/watermark.mjs.map +1 -1
- package/es/hooks/use-size/index.d.ts +3 -3
- package/es/hooks/use-throttle-render/index.mjs.map +1 -1
- package/es/utils/index.d.ts +2 -2
- package/es/utils/typescript.d.ts +2 -1
- package/es/utils/typescript.mjs.map +1 -1
- package/es/utils/vue/size.d.ts +1 -1
- package/es/utils/vue/vnode.d.ts +4 -4
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/affix/src/affix.vue.d.ts +3 -3
- package/lib/components/alert/src/alert.d.ts +1 -1
- package/lib/components/alert/src/alert.vue.d.ts +1 -1
- package/lib/components/anchor/src/anchor.vue.d.ts +1 -1
- package/lib/components/autocomplete/src/autocomplete.d.ts +5 -106
- package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
- package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/avatar/src/avatar-group-props.d.ts +8 -105
- package/lib/components/avatar/src/avatar-group-props.js +9 -1
- package/lib/components/avatar/src/avatar-group-props.js.map +1 -1
- package/lib/components/avatar/src/avatar-group.d.ts +17 -210
- package/lib/components/avatar/src/avatar.d.ts +2 -2
- package/lib/components/badge/src/badge.d.ts +4 -8
- package/lib/components/badge/src/badge.js +9 -1
- package/lib/components/badge/src/badge.js.map +1 -1
- package/lib/components/badge/src/badge.vue.d.ts +3 -1
- package/lib/components/badge/src/badge.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/badge/src/badge2.js.map +1 -1
- package/lib/components/button/src/button-group.d.ts +2 -2
- package/lib/components/button/src/button-group.vue.d.ts +1 -1
- package/lib/components/button/src/button.d.ts +2 -2
- package/lib/components/button/src/button.vue.d.ts +4 -4
- package/lib/components/button/src/use-button.d.ts +2 -2
- package/lib/components/calendar/src/calendar.js.map +1 -1
- package/lib/components/card/src/card.d.ts +7 -6
- package/lib/components/card/src/card.js +27 -3
- package/lib/components/card/src/card.js.map +1 -1
- package/lib/components/card/src/card.vue.d.ts +4 -0
- package/lib/components/card/src/card.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/card/src/card2.js.map +1 -1
- package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
- package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
- package/lib/components/cascader/src/cascader.d.ts +5 -106
- package/lib/components/cascader/src/cascader.js.map +1 -1
- package/lib/components/cascader/src/cascader.vue.d.ts +18 -16
- package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/cascader/src/cascader2.js.map +1 -1
- package/lib/components/cascader-panel/src/index.vue.d.ts +5 -5
- package/lib/components/cascader-panel/src/menu.vue.d.ts +1 -1
- package/lib/components/check-tag/src/check-tag.d.ts +1 -1
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
- package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +5 -5
- package/lib/components/checkbox/src/checkbox.d.ts +3 -3
- package/lib/components/checkbox/src/checkbox.vue.d.ts +5 -5
- package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
- package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
- package/lib/components/col/src/col.vue.d.ts +2 -2
- package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
- package/lib/components/color-picker/src/color-picker.d.ts +5 -104
- package/lib/components/color-picker/src/color-picker.js +1 -0
- package/lib/components/color-picker/src/color-picker.js.map +1 -1
- package/lib/components/color-picker/src/color-picker.vue.d.ts +12 -10
- package/lib/components/color-picker-panel/src/color-picker-panel.d.ts +4 -10
- package/lib/components/color-picker-panel/src/color-picker-panel.js +9 -5
- package/lib/components/color-picker-panel/src/color-picker-panel.js.map +1 -1
- package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +5 -2
- package/lib/components/color-picker-panel/src/color-picker-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/color-picker-panel/src/color-picker-panel2.js.map +1 -1
- package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
- package/lib/components/config-provider/src/config-provider.d.ts +3 -3
- package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker.d.ts +12 -212
- package/lib/components/date-picker/src/props.d.ts +4 -104
- package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
- package/lib/components/date-picker-panel/src/date-picker-com/basic-month-table.vue.d.ts +2 -2
- package/lib/components/date-picker-panel/src/date-picker-com/basic-year-table.vue.d.ts +2 -2
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +5 -5
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +6 -6
- package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
- package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
- package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +7 -7
- package/lib/components/date-picker-panel/src/panel-utils.d.ts +36 -36
- package/lib/components/date-picker-panel/src/props/basic-date-table.js.map +1 -1
- package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
- package/lib/components/descriptions/src/description-item.d.ts +2 -2
- package/lib/components/descriptions/src/description.d.ts +1 -1
- package/lib/components/descriptions/src/description.vue.d.ts +1 -1
- package/lib/components/dialog/src/dialog-content.d.ts +10 -6
- package/lib/components/dialog/src/dialog-content.js +31 -4
- package/lib/components/dialog/src/dialog-content.js.map +1 -1
- package/lib/components/dialog/src/dialog-content.vue.d.ts +5 -1
- package/lib/components/dialog/src/dialog.d.ts +10 -5
- package/lib/components/dialog/src/dialog.js +11 -14
- package/lib/components/dialog/src/dialog.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +11 -6
- package/lib/components/divider/src/divider.vue.d.ts +1 -1
- package/lib/components/drawer/src/drawer.d.ts +5 -4
- package/lib/components/drawer/src/drawer.vue.d.ts +12 -7
- package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -2
- package/lib/components/dropdown/src/dropdown-item.vue.d.ts +5 -5
- package/lib/components/dropdown/src/dropdown.d.ts +4 -105
- package/lib/components/dropdown/src/dropdown.vue.d.ts +67 -265
- package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/lib/components/form/src/form-item.d.ts +2 -2
- package/lib/components/form/src/form-item.vue.d.ts +2 -2
- package/lib/components/form/src/form.d.ts +2 -2
- package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
- package/lib/components/image/src/image.d.ts +1 -1
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image.vue.d.ts +4 -4
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +3 -3
- package/lib/components/input/src/input.d.ts +3 -3
- package/lib/components/input/src/input.vue.d.ts +16 -16
- package/lib/components/input-number/src/input-number.d.ts +3 -3
- package/lib/components/input-number/src/input-number.vue.d.ts +9 -9
- package/lib/components/input-otp/src/input-otp.vue.d.ts +7 -7
- package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
- package/lib/components/input-tag/src/input-tag.d.ts +2 -2
- package/lib/components/input-tag/src/input-tag.vue.d.ts +10 -10
- package/lib/components/link/src/link.d.ts +1 -1
- package/lib/components/link/src/link.js.map +1 -1
- package/lib/components/mention/src/mention.d.ts +5 -106
- package/lib/components/mention/src/mention.vue.d.ts +4 -4
- package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/mention/src/mention2.js.map +1 -1
- package/lib/components/menu/src/menu.d.ts +11 -23
- package/lib/components/menu/src/menu.js +18 -2
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/menu/src/sub-menu.d.ts +10 -22
- package/lib/components/menu/src/sub-menu.js +18 -2
- package/lib/components/menu/src/sub-menu.js.map +1 -1
- package/lib/components/message/src/message.d.ts +4 -4
- package/lib/components/message/src/message.js +6 -1
- package/lib/components/message/src/message.js.map +1 -1
- package/lib/components/message/src/message.vue.d.ts +6 -5
- package/lib/components/message/src/method.js.map +1 -1
- package/lib/components/message-box/src/index.vue.d.ts +66 -74
- package/lib/components/notification/src/notification.d.ts +4 -3
- package/lib/components/notification/src/notification.js +6 -1
- package/lib/components/notification/src/notification.js.map +1 -1
- package/lib/components/notification/src/notification.vue.d.ts +6 -5
- package/lib/components/overlay/index.d.ts +4 -12
- package/lib/components/overlay/src/overlay.d.ts +5 -18
- package/lib/components/overlay/src/overlay.js +9 -5
- package/lib/components/overlay/src/overlay.js.map +1 -1
- package/lib/components/pagination/src/components/jumper.d.ts +1 -1
- package/lib/components/pagination/src/components/jumper.vue.d.ts +2 -2
- package/lib/components/pagination/src/components/sizes.d.ts +5 -14
- package/lib/components/pagination/src/components/sizes.js +18 -2
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.vue.d.ts +9 -26
- package/lib/components/pagination/src/pagination.d.ts +15 -28
- package/lib/components/pagination/src/pagination.js +15 -2
- package/lib/components/pagination/src/pagination.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
- package/lib/components/popover/src/popover.d.ts +4 -104
- package/lib/components/popover/src/popover.js +1 -0
- package/lib/components/popover/src/popover.js.map +1 -1
- package/lib/components/popover/src/popover.vue.d.ts +8 -7
- package/lib/components/popper/src/composables/use-content-dom.d.ts +2 -25
- package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- package/lib/components/popper/src/content.d.ts +12 -22
- package/lib/components/popper/src/content.js +13 -7
- package/lib/components/popper/src/content.js.map +1 -1
- package/lib/components/popper/src/content.vue.d.ts +11 -9
- package/lib/components/popper/src/popper.js.map +1 -1
- package/lib/components/progress/src/progress.d.ts +1 -1
- package/lib/components/progress/src/progress.vue.d.ts +1 -1
- package/lib/components/radio/src/radio-button.d.ts +1 -1
- package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
- package/lib/components/radio/src/radio-group.d.ts +1 -1
- package/lib/components/radio/src/radio-group.vue.d.ts +7 -7
- package/lib/components/radio/src/radio.d.ts +2 -2
- package/lib/components/radio/src/radio.vue.d.ts +5 -5
- package/lib/components/radio/src/use-radio.d.ts +1 -1
- package/lib/components/rate/src/rate.d.ts +1 -1
- package/lib/components/rate/src/rate.vue.d.ts +4 -4
- package/lib/components/rate/src/rate.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/rate/src/rate2.js.map +1 -1
- package/lib/components/result/src/result.d.ts +1 -1
- package/lib/components/scrollbar/src/scrollbar.d.ts +5 -4
- package/lib/components/scrollbar/src/scrollbar.js +12 -2
- package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +5 -4
- package/lib/components/scrollbar/src/thumb.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/scrollbar/src/thumb2.js.map +1 -1
- package/lib/components/segmented/index.d.ts +4 -4
- package/lib/components/segmented/src/segmented.d.ts +1 -1
- package/lib/components/segmented/src/segmented.vue.d.ts +2 -2
- package/lib/components/select/src/option.d.ts +1 -1
- package/lib/components/select/src/option.vue.d.ts +2 -2
- package/lib/components/select/src/select-dropdown.vue.d.ts +2 -1
- package/lib/components/select/src/select.d.ts +9 -13
- package/lib/components/select/src/select.js +15 -2
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select.vue.d.ts +77 -83
- package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select/src/select2.js.map +1 -1
- package/lib/components/select/src/useSelect.d.ts +7 -7
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/src/defaults.d.ts +4 -104
- package/lib/components/select-v2/src/select.vue.d.ts +54 -252
- package/lib/components/select-v2/src/useSelect.d.ts +2 -2
- package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
- package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
- package/lib/components/slider/src/button.d.ts +2 -1
- package/lib/components/slider/src/button.js +9 -1
- package/lib/components/slider/src/button.js.map +1 -1
- package/lib/components/slider/src/button.vue.d.ts +5 -3
- package/lib/components/slider/src/composables/use-marks.js.map +1 -1
- package/lib/components/slider/src/slider.d.ts +4 -4
- package/lib/components/slider/src/slider.js +6 -1
- package/lib/components/slider/src/slider.js.map +1 -1
- package/lib/components/slider/src/slider.vue.d.ts +16 -16
- package/lib/components/space/src/space.d.ts +9 -9
- package/lib/components/space/src/space.js +2 -1
- package/lib/components/space/src/space.js.map +1 -1
- package/lib/components/space/src/use-space.d.ts +2 -3
- package/lib/components/splitter/src/split-bar.vue.d.ts +1 -1
- package/lib/components/splitter/src/splitter.vue.d.ts +2 -2
- package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
- package/lib/components/steps/src/item.d.ts +1 -1
- package/lib/components/steps/src/steps.d.ts +2 -2
- package/lib/components/steps/src/steps.vue.d.ts +1 -1
- package/lib/components/switch/src/switch.d.ts +1 -1
- package/lib/components/switch/src/switch.vue.d.ts +5 -5
- package/lib/components/table/src/filter-panel.vue.d.ts +63 -60
- package/lib/components/table/src/table/defaults.d.ts +1 -1
- package/lib/components/table/src/table/defaults.js.map +1 -1
- package/lib/components/table/src/table/style-helper.d.ts +2 -2
- package/lib/components/table/src/table-body/events-helper.js.map +1 -1
- package/lib/components/table/src/table-footer/index.d.ts +1 -1
- package/lib/components/table/src/table-header/index.d.ts +16 -16
- package/lib/components/table/src/table.vue.d.ts +4 -4
- package/lib/components/table-v2/src/components/row.d.ts +1 -1
- package/lib/components/table-v2/src/table-grid.d.ts +2 -2
- package/lib/components/table-v2/src/table-v2.d.ts +4 -4
- package/lib/components/tabs/src/tab-nav.d.ts +1 -1
- package/lib/components/tabs/src/tabs.d.ts +2 -2
- package/lib/components/tag/src/tag.d.ts +2 -2
- package/lib/components/tag/src/tag.vue.d.ts +2 -2
- package/lib/components/text/src/text.d.ts +2 -2
- package/lib/components/text/src/text.vue.d.ts +1 -1
- package/lib/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
- package/lib/components/time-picker/src/common/picker.vue.d.ts +18 -218
- package/lib/components/time-picker/src/common/props.d.ts +4 -104
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker.d.ts +12 -212
- package/lib/components/time-picker/src/utils.d.ts +1 -1
- package/lib/components/time-select/src/time-select.d.ts +7 -11
- package/lib/components/time-select/src/time-select.js +15 -2
- package/lib/components/time-select/src/time-select.js.map +1 -1
- package/lib/components/time-select/src/time-select.vue.d.ts +13 -12
- package/lib/components/timeline/src/timeline-item.d.ts +2 -2
- package/lib/components/timeline/src/timeline-item.vue.d.ts +2 -2
- package/lib/components/tooltip/src/content.d.ts +5 -200
- package/lib/components/tooltip/src/content.vue.d.ts +6 -4
- package/lib/components/tooltip/src/tooltip.d.ts +5 -202
- package/lib/components/tooltip/src/tooltip.vue.d.ts +8 -7
- package/lib/components/tooltip/src/trigger.d.ts +1 -1
- package/lib/components/tour/src/content.d.ts +1 -1
- package/lib/components/tour/src/step.vue.d.ts +1 -1
- package/lib/components/tour/src/tour.vue.d.ts +6 -6
- package/lib/components/transfer/src/transfer.vue.d.ts +2 -2
- package/lib/components/tree/src/tree-node.vue.d.ts +16 -16
- package/lib/components/tree/src/tree.vue.d.ts +22 -22
- package/lib/components/tree-select/src/select.js +1 -5
- package/lib/components/tree-select/src/select.js.map +1 -1
- package/lib/components/tree-select/src/tree-select-option.d.ts +2 -2
- package/lib/components/tree-select/src/tree-select.vue.d.ts +32 -40
- package/lib/components/tree-v2/src/composables/useTree.d.ts +15 -14
- package/lib/components/tree-v2/src/tree-node.vue.d.ts +2 -2
- package/lib/components/tree-v2/src/tree.vue.d.ts +5 -5
- package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +3 -3
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +9 -8
- package/lib/components/virtual-list/src/builders/build-list.d.ts +8 -7
- package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +9 -8
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +8 -7
- package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +9 -8
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +8 -7
- package/lib/components/virtual-list/src/components/scrollbar.d.ts +5 -3
- package/lib/components/virtual-list/src/props.d.ts +5 -4
- package/lib/components/virtual-list/src/props.js +15 -2
- package/lib/components/virtual-list/src/props.js.map +1 -1
- package/lib/components/watermark/src/watermark.js.map +1 -1
- package/lib/hooks/use-size/index.d.ts +3 -3
- package/lib/hooks/use-throttle-render/index.js.map +1 -1
- package/lib/utils/index.d.ts +2 -2
- package/lib/utils/typescript.d.ts +2 -1
- package/lib/utils/typescript.js.map +1 -1
- package/lib/utils/vue/size.d.ts +1 -1
- package/lib/utils/vue/vnode.d.ts +4 -4
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- 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?:
|
|
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;
|
|
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?:
|
|
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, "" | "
|
|
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, "
|
|
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
|
-
|
|
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
|
-
|
|
214
|
-
|
|
215
|
-
|
|
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
|
-
|
|
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: "
|
|
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":"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"}
|