@element-plus/nightly 0.0.20260901 → 0.0.20260903
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/dist/index.css +1 -1
- package/dist/index.full.js +62 -65
- package/dist/index.full.min.js +5 -5
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +5 -5
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +62 -65
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/affix/src/affix.vue.d.ts +4 -4
- package/es/components/alert/src/alert.d.ts +2 -2
- package/es/components/alert/src/alert.vue.d.ts +1 -1
- package/es/components/anchor/src/anchor.d.ts +1 -1
- package/es/components/anchor/src/anchor.vue.d.ts +5 -5
- package/es/components/autocomplete/src/autocomplete.d.ts +3 -3
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
- package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
- package/es/components/avatar/src/avatar-group.d.ts +3 -3
- package/es/components/avatar/src/avatar.d.ts +2 -2
- package/es/components/backtop/src/backtop.vue.d.ts +2 -2
- package/es/components/badge/src/badge.d.ts +1 -1
- package/es/components/badge/src/badge.vue.d.ts +1 -1
- package/es/components/button/src/button-group.d.ts +1 -1
- package/es/components/button/src/button-group.vue.d.ts +1 -1
- package/es/components/button/src/button.d.ts +1 -1
- package/es/components/button/src/button.vue.d.ts +4 -4
- package/es/components/button/src/use-button.d.ts +1 -1
- package/es/components/calendar/src/calendar.d.ts +1 -1
- package/es/components/calendar/src/calendar.vue.d.ts +1 -1
- package/es/components/calendar/src/select-controller.vue.d.ts +2 -2
- package/es/components/card/src/card.d.ts +1 -1
- package/es/components/card/src/card.vue.d.ts +1 -1
- package/es/components/carousel/src/carousel.d.ts +1 -1
- package/es/components/carousel/src/carousel.vue.d.ts +3 -3
- package/es/components/cascader/src/cascader.d.ts +5 -5
- package/es/components/cascader/src/cascader.vue.d.ts +17 -17
- package/es/components/cascader-panel/src/index.vue.d.ts +3 -3
- 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 +6 -6
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +4 -4
- package/es/components/checkbox/src/checkbox.d.ts +8 -8
- package/es/components/checkbox/src/checkbox.vue.d.ts +6 -6
- package/es/components/col/src/col.vue.d.ts +1 -1
- package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
- package/es/components/collapse/src/collapse.vue.d.ts +2 -2
- package/es/components/color-picker/src/color-picker.vue.d.ts +8 -8
- package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
- package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/es/components/countdown/src/countdown.vue.d.ts +2 -2
- package/es/components/date-picker/src/date-picker.d.ts +25 -25
- package/es/components/date-picker/src/props.d.ts +3 -3
- 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/panel-date-pick.vue.d.ts +6 -6
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +7 -7
- package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +4 -4
- package/es/components/date-picker-panel/src/date-picker-com/panel-quarter-range.vue.d.ts +4 -4
- package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +4 -4
- package/es/components/date-picker-panel/src/date-picker-panel.d.ts +15 -15
- package/es/components/date-picker-panel/src/panel-utils.d.ts +45 -45
- package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +2 -2
- package/es/components/date-picker-panel/src/props/panel-date-pick.d.ts +1 -1
- package/es/components/date-picker-panel/src/props/panel-date-range.d.ts +1 -1
- package/es/components/date-picker-panel/src/props/shared.d.ts +1 -1
- package/es/components/descriptions/src/description-item.d.ts +13 -13
- package/es/components/dialog/src/dialog-content.vue.d.ts +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +3 -3
- package/es/components/drawer/src/drawer.vue.d.ts +5 -5
- package/es/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
- package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
- package/es/components/dropdown/src/dropdown.d.ts +3 -3
- package/es/components/dropdown/src/dropdown.vue.d.ts +105 -105
- package/es/components/empty/src/empty.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 +1 -1
- package/es/components/form/src/form-label-wrap.mjs +1 -1
- package/es/components/form/src/form-label-wrap.mjs.map +1 -1
- package/es/components/form/src/form.d.ts +1 -1
- package/es/components/form/src/form.vue.d.ts +1 -1
- package/es/components/image/src/image.d.ts +1 -1
- package/es/components/image/src/image.vue.d.ts +7 -7
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +5 -5
- package/es/components/index.d.ts +2 -2
- package/es/components/input/src/input.d.ts +2 -2
- package/es/components/input/src/input.vue.d.ts +12 -12
- package/es/components/input-number/src/input-number.d.ts +2 -2
- package/es/components/input-number/src/input-number.vue.d.ts +12 -12
- package/es/components/input-otp/src/input-otp.vue.d.ts +4 -4
- package/es/components/input-tag/src/input-tag.d.ts +3 -3
- package/es/components/input-tag/src/input-tag.vue.d.ts +13 -13
- package/es/components/link/src/link.d.ts +2 -2
- package/es/components/mention/src/mention.d.ts +2 -2
- package/es/components/mention/src/mention.vue.d.ts +4 -4
- package/es/components/menu/src/menu.d.ts +3 -3
- package/es/components/menu/src/sub-menu.d.ts +2 -2
- package/es/components/message/src/instance.d.ts +1 -1
- package/es/components/message/src/message.d.ts +2 -2
- package/es/components/message/src/message.vue.d.ts +5 -5
- package/es/components/message-box/src/index.vue.d.ts +51 -51
- package/es/components/notification/src/notification.d.ts +2 -2
- package/es/components/notification/src/notification.vue.d.ts +4 -4
- package/es/components/pagination/src/components/sizes.vue.d.ts +2 -2
- package/es/components/pagination/src/pagination.d.ts +4 -4
- package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
- package/es/components/popover/src/popover.d.ts +72 -72
- package/es/components/popover/src/popover.vue.d.ts +19 -19
- package/es/components/popper/src/composables/use-content.d.ts +4 -4
- package/es/components/popper/src/content.vue.d.ts +15 -15
- package/es/components/popper/src/popper.d.ts +2 -2
- package/es/components/progress/src/progress.d.ts +2 -2
- package/es/components/progress/src/progress.vue.d.ts +5 -5
- package/es/components/radio/src/radio-button.d.ts +3 -3
- package/es/components/radio/src/radio-button.vue.d.ts +2 -2
- package/es/components/radio/src/radio-group.vue.d.ts +5 -5
- package/es/components/radio/src/radio.d.ts +6 -6
- package/es/components/radio/src/radio.vue.d.ts +4 -4
- package/es/components/rate/src/rate.vue.d.ts +4 -4
- package/es/components/result/src/result.d.ts +1 -1
- package/es/components/result/src/result.vue.d.ts +1 -1
- package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
- package/es/components/row/src/row.d.ts +1 -1
- package/es/components/row/src/row.vue.d.ts +1 -1
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +2 -2
- package/es/components/segmented/index.d.ts +3 -3
- 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 +2 -2
- package/es/components/select/src/option.vue.d.ts +5 -5
- package/es/components/select/src/select-dropdown.mjs.map +1 -1
- package/es/components/select/src/select-dropdown.vue_vue_type_script_lang.mjs +4 -1
- package/es/components/select/src/select-dropdown.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select/src/select.d.ts +5 -5
- package/es/components/select/src/select.vue.d.ts +127 -131
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select/src/select2.mjs +6 -9
- package/es/components/select/src/select2.mjs.map +1 -1
- package/es/components/select/src/type.d.ts +0 -1
- package/es/components/select/src/useOption.d.ts +2 -2
- package/es/components/select/src/useSelect.d.ts +6 -10
- package/es/components/select/src/useSelect.mjs +1 -11
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/src/defaults.d.ts +4 -4
- package/es/components/select-v2/src/select.mjs +5 -8
- package/es/components/select-v2/src/select.mjs.map +1 -1
- package/es/components/select-v2/src/select.types.d.ts +0 -1
- package/es/components/select-v2/src/select.vue.d.ts +110 -114
- package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select-v2/src/useSelect.d.ts +1 -5
- package/es/components/select-v2/src/useSelect.mjs +3 -13
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- 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.vue.d.ts +1 -1
- package/es/components/slider/src/slider.vue.d.ts +9 -9
- package/es/components/space/src/space.d.ts +2 -2
- package/es/components/splitter/src/splitter.vue.d.ts +2 -2
- package/es/components/steps/src/item.d.ts +1 -1
- package/es/components/steps/src/item.vue.d.ts +1 -1
- package/es/components/steps/src/steps.d.ts +2 -2
- package/es/components/switch/src/switch.vue.d.ts +6 -6
- package/es/components/table/src/filter-panel.vue.d.ts +100 -100
- package/es/components/table/src/table/defaults.d.ts +5 -5
- package/es/components/table/src/table/style-helper.d.ts +1 -1
- package/es/components/table/src/table-column/defaults.d.ts +4 -4
- package/es/components/table/src/table-header/index.d.ts +17 -17
- package/es/components/table/src/table.vue.d.ts +2 -2
- package/es/components/table-v2/src/components/row.d.ts +1 -1
- package/es/components/table-v2/src/table-v2.d.ts +1 -1
- package/es/components/tabs/src/tab-nav.d.ts +1 -1
- package/es/components/tabs/src/tabs.d.ts +6 -6
- 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/index.d.ts +2 -2
- package/es/components/text/src/text.d.ts +4 -2
- package/es/components/text/src/text.mjs.map +1 -1
- package/es/components/text/src/text.vue.d.ts +4 -2
- package/es/components/text/src/text.vue_vue_type_script_setup_true_lang.mjs +47 -21
- package/es/components/text/src/text.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/text/src/text2.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker-range-trigger.vue.d.ts +4 -4
- package/es/components/time-picker/src/common/picker.vue.d.ts +26 -26
- package/es/components/time-picker/src/common/props.d.ts +2 -2
- package/es/components/time-picker/src/composables/use-time-picker.d.ts +2 -2
- package/es/components/time-picker/src/time-picker.d.ts +22 -22
- package/es/components/time-select/src/time-select.vue.d.ts +10 -10
- package/es/components/timeline/src/timeline-item.d.ts +1 -1
- package/es/components/timeline/src/timeline-item.vue.d.ts +2 -2
- package/es/components/timeline/src/timeline.d.ts +4 -4
- package/es/components/tooltip/src/content.vue.d.ts +16 -16
- package/es/components/tooltip/src/tooltip.d.ts +2 -2
- package/es/components/tooltip/src/tooltip.vue.d.ts +23 -23
- 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/content.vue.d.ts +1 -1
- package/es/components/tour/src/step.d.ts +1 -1
- package/es/components/tour/src/step.vue.d.ts +1 -1
- package/es/components/tour/src/tour.d.ts +1 -1
- package/es/components/tour/src/tour.vue.d.ts +8 -8
- package/es/components/transfer/src/transfer.vue.d.ts +2 -2
- package/es/components/tree/src/tree-node.vue.d.ts +18 -18
- package/es/components/tree/src/tree.vue.d.ts +24 -24
- package/es/components/tree-select/src/tree-select-option.d.ts +5 -5
- package/es/components/tree-select/src/tree-select.vue.d.ts +44 -44
- package/es/components/tree-v2/src/composables/useTree.d.ts +10 -10
- package/es/components/tree-v2/src/tree.vue.d.ts +8 -8
- package/es/components/upload/src/upload-content.d.ts +1 -1
- package/es/components/upload/src/upload-content.vue.d.ts +2 -2
- package/es/components/upload/src/upload-list.d.ts +1 -1
- package/es/components/upload/src/upload.d.ts +2 -2
- package/es/components/upload/src/upload.vue.d.ts +2 -2
- package/es/components/virtual-list/src/builders/build-grid.d.ts +3 -3
- package/es/components/virtual-list/src/builders/build-list.d.ts +5 -5
- package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +5 -5
- package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +5 -5
- package/es/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/es/components/watermark/src/watermark.vue.d.ts +1 -1
- package/es/hooks/use-floating/index.d.ts +16 -16
- package/es/hooks/use-popper/index.d.ts +4 -4
- package/es/index.d.ts +2 -2
- package/es/utils/vue/size.d.ts +1 -1
- 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 +4 -4
- package/lib/components/alert/src/alert.d.ts +2 -2
- package/lib/components/alert/src/alert.vue.d.ts +1 -1
- package/lib/components/anchor/src/anchor.d.ts +1 -1
- package/lib/components/anchor/src/anchor.vue.d.ts +5 -5
- package/lib/components/autocomplete/src/autocomplete.d.ts +3 -3
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
- package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
- package/lib/components/avatar/src/avatar-group.d.ts +3 -3
- package/lib/components/avatar/src/avatar.d.ts +2 -2
- package/lib/components/backtop/src/backtop.vue.d.ts +2 -2
- package/lib/components/badge/src/badge.d.ts +1 -1
- package/lib/components/badge/src/badge.vue.d.ts +1 -1
- package/lib/components/button/src/button-group.d.ts +1 -1
- package/lib/components/button/src/button-group.vue.d.ts +1 -1
- package/lib/components/button/src/button.d.ts +1 -1
- package/lib/components/button/src/button.vue.d.ts +4 -4
- package/lib/components/button/src/use-button.d.ts +1 -1
- package/lib/components/calendar/src/calendar.d.ts +1 -1
- package/lib/components/calendar/src/calendar.vue.d.ts +1 -1
- package/lib/components/calendar/src/select-controller.vue.d.ts +2 -2
- package/lib/components/card/src/card.d.ts +1 -1
- package/lib/components/card/src/card.vue.d.ts +1 -1
- package/lib/components/carousel/src/carousel.d.ts +1 -1
- package/lib/components/carousel/src/carousel.vue.d.ts +3 -3
- package/lib/components/cascader/src/cascader.d.ts +5 -5
- package/lib/components/cascader/src/cascader.vue.d.ts +17 -17
- package/lib/components/cascader-panel/src/index.vue.d.ts +3 -3
- 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 +6 -6
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +4 -4
- package/lib/components/checkbox/src/checkbox.d.ts +8 -8
- package/lib/components/checkbox/src/checkbox.vue.d.ts +6 -6
- package/lib/components/col/src/col.vue.d.ts +1 -1
- package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
- package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
- package/lib/components/color-picker/src/color-picker.vue.d.ts +8 -8
- package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
- package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/lib/components/countdown/src/countdown.vue.d.ts +2 -2
- package/lib/components/date-picker/src/date-picker.d.ts +25 -25
- package/lib/components/date-picker/src/props.d.ts +3 -3
- 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/panel-date-pick.vue.d.ts +6 -6
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +7 -7
- package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +4 -4
- package/lib/components/date-picker-panel/src/date-picker-com/panel-quarter-range.vue.d.ts +4 -4
- package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +4 -4
- package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +15 -15
- package/lib/components/date-picker-panel/src/panel-utils.d.ts +45 -45
- package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +2 -2
- package/lib/components/date-picker-panel/src/props/panel-date-pick.d.ts +1 -1
- package/lib/components/date-picker-panel/src/props/panel-date-range.d.ts +1 -1
- package/lib/components/date-picker-panel/src/props/shared.d.ts +1 -1
- package/lib/components/descriptions/src/description-item.d.ts +13 -13
- package/lib/components/dialog/src/dialog-content.vue.d.ts +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +3 -3
- package/lib/components/drawer/src/drawer.vue.d.ts +5 -5
- package/lib/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown.d.ts +3 -3
- package/lib/components/dropdown/src/dropdown.vue.d.ts +105 -105
- package/lib/components/empty/src/empty.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 +1 -1
- package/lib/components/form/src/form-label-wrap.js +1 -1
- package/lib/components/form/src/form-label-wrap.js.map +1 -1
- package/lib/components/form/src/form.d.ts +1 -1
- package/lib/components/form/src/form.vue.d.ts +1 -1
- package/lib/components/image/src/image.d.ts +1 -1
- package/lib/components/image/src/image.vue.d.ts +7 -7
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +5 -5
- package/lib/components/index.d.ts +2 -2
- package/lib/components/input/src/input.d.ts +2 -2
- package/lib/components/input/src/input.vue.d.ts +12 -12
- package/lib/components/input-number/src/input-number.d.ts +2 -2
- package/lib/components/input-number/src/input-number.vue.d.ts +12 -12
- package/lib/components/input-otp/src/input-otp.vue.d.ts +4 -4
- package/lib/components/input-tag/src/input-tag.d.ts +3 -3
- package/lib/components/input-tag/src/input-tag.vue.d.ts +13 -13
- package/lib/components/link/src/link.d.ts +2 -2
- package/lib/components/mention/src/mention.d.ts +2 -2
- package/lib/components/mention/src/mention.vue.d.ts +4 -4
- package/lib/components/menu/src/menu.d.ts +3 -3
- package/lib/components/menu/src/sub-menu.d.ts +2 -2
- package/lib/components/message/src/instance.d.ts +1 -1
- package/lib/components/message/src/message.d.ts +2 -2
- package/lib/components/message/src/message.vue.d.ts +5 -5
- package/lib/components/message-box/src/index.vue.d.ts +51 -51
- package/lib/components/notification/src/notification.d.ts +2 -2
- package/lib/components/notification/src/notification.vue.d.ts +4 -4
- package/lib/components/pagination/src/components/sizes.vue.d.ts +2 -2
- package/lib/components/pagination/src/pagination.d.ts +4 -4
- package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
- package/lib/components/popover/src/popover.d.ts +72 -72
- package/lib/components/popover/src/popover.vue.d.ts +19 -19
- package/lib/components/popper/src/composables/use-content.d.ts +4 -4
- package/lib/components/popper/src/content.vue.d.ts +15 -15
- package/lib/components/popper/src/popper.d.ts +2 -2
- package/lib/components/progress/src/progress.d.ts +2 -2
- package/lib/components/progress/src/progress.vue.d.ts +5 -5
- package/lib/components/radio/src/radio-button.d.ts +3 -3
- package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
- package/lib/components/radio/src/radio-group.vue.d.ts +5 -5
- package/lib/components/radio/src/radio.d.ts +6 -6
- package/lib/components/radio/src/radio.vue.d.ts +4 -4
- package/lib/components/rate/src/rate.vue.d.ts +4 -4
- package/lib/components/result/src/result.d.ts +1 -1
- package/lib/components/result/src/result.vue.d.ts +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
- package/lib/components/row/src/row.d.ts +1 -1
- package/lib/components/row/src/row.vue.d.ts +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +2 -2
- package/lib/components/segmented/index.d.ts +3 -3
- 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 +2 -2
- package/lib/components/select/src/option.vue.d.ts +5 -5
- package/lib/components/select/src/select-dropdown.js.map +1 -1
- package/lib/components/select/src/select-dropdown.vue_vue_type_script_lang.js +4 -1
- package/lib/components/select/src/select-dropdown.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select/src/select.d.ts +5 -5
- package/lib/components/select/src/select.vue.d.ts +127 -131
- package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select/src/select2.js +6 -9
- package/lib/components/select/src/select2.js.map +1 -1
- package/lib/components/select/src/type.d.ts +0 -1
- package/lib/components/select/src/useOption.d.ts +2 -2
- package/lib/components/select/src/useSelect.d.ts +6 -10
- package/lib/components/select/src/useSelect.js +1 -11
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/src/defaults.d.ts +4 -4
- package/lib/components/select-v2/src/select.js +5 -8
- package/lib/components/select-v2/src/select.js.map +1 -1
- package/lib/components/select-v2/src/select.types.d.ts +0 -1
- package/lib/components/select-v2/src/select.vue.d.ts +110 -114
- package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select-v2/src/useSelect.d.ts +1 -5
- package/lib/components/select-v2/src/useSelect.js +3 -13
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- 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.vue.d.ts +1 -1
- package/lib/components/slider/src/slider.vue.d.ts +9 -9
- package/lib/components/space/src/space.d.ts +2 -2
- package/lib/components/splitter/src/splitter.vue.d.ts +2 -2
- package/lib/components/steps/src/item.d.ts +1 -1
- package/lib/components/steps/src/item.vue.d.ts +1 -1
- package/lib/components/steps/src/steps.d.ts +2 -2
- package/lib/components/switch/src/switch.vue.d.ts +6 -6
- package/lib/components/table/src/filter-panel.vue.d.ts +100 -100
- package/lib/components/table/src/table/defaults.d.ts +5 -5
- package/lib/components/table/src/table/style-helper.d.ts +1 -1
- package/lib/components/table/src/table-column/defaults.d.ts +4 -4
- package/lib/components/table/src/table-header/index.d.ts +17 -17
- package/lib/components/table/src/table.vue.d.ts +2 -2
- package/lib/components/table-v2/src/components/row.d.ts +1 -1
- package/lib/components/table-v2/src/table-v2.d.ts +1 -1
- package/lib/components/tabs/src/tab-nav.d.ts +1 -1
- package/lib/components/tabs/src/tabs.d.ts +6 -6
- 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/index.d.ts +2 -2
- package/lib/components/text/src/text.d.ts +4 -2
- package/lib/components/text/src/text.js.map +1 -1
- package/lib/components/text/src/text.vue.d.ts +4 -2
- package/lib/components/text/src/text.vue_vue_type_script_setup_true_lang.js +46 -20
- package/lib/components/text/src/text.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/text/src/text2.js.map +1 -1
- package/lib/components/time-picker/src/common/picker-range-trigger.vue.d.ts +4 -4
- package/lib/components/time-picker/src/common/picker.vue.d.ts +26 -26
- package/lib/components/time-picker/src/common/props.d.ts +2 -2
- package/lib/components/time-picker/src/composables/use-time-picker.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker.d.ts +22 -22
- package/lib/components/time-select/src/time-select.vue.d.ts +10 -10
- package/lib/components/timeline/src/timeline-item.d.ts +1 -1
- package/lib/components/timeline/src/timeline-item.vue.d.ts +2 -2
- package/lib/components/timeline/src/timeline.d.ts +4 -4
- package/lib/components/tooltip/src/content.vue.d.ts +16 -16
- package/lib/components/tooltip/src/tooltip.d.ts +2 -2
- package/lib/components/tooltip/src/tooltip.vue.d.ts +23 -23
- 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/content.vue.d.ts +1 -1
- package/lib/components/tour/src/step.d.ts +1 -1
- package/lib/components/tour/src/step.vue.d.ts +1 -1
- package/lib/components/tour/src/tour.d.ts +1 -1
- package/lib/components/tour/src/tour.vue.d.ts +8 -8
- package/lib/components/transfer/src/transfer.vue.d.ts +2 -2
- package/lib/components/tree/src/tree-node.vue.d.ts +18 -18
- package/lib/components/tree/src/tree.vue.d.ts +24 -24
- package/lib/components/tree-select/src/tree-select-option.d.ts +5 -5
- package/lib/components/tree-select/src/tree-select.vue.d.ts +44 -44
- package/lib/components/tree-v2/src/composables/useTree.d.ts +10 -10
- package/lib/components/tree-v2/src/tree.vue.d.ts +8 -8
- package/lib/components/upload/src/upload-content.d.ts +1 -1
- package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
- package/lib/components/upload/src/upload-list.d.ts +1 -1
- package/lib/components/upload/src/upload.d.ts +2 -2
- package/lib/components/upload/src/upload.vue.d.ts +2 -2
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +3 -3
- package/lib/components/virtual-list/src/builders/build-list.d.ts +5 -5
- package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +5 -5
- package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +5 -5
- package/lib/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
- package/lib/hooks/use-floating/index.d.ts +16 -16
- package/lib/hooks/use-popper/index.d.ts +4 -4
- package/lib/index.d.ts +2 -2
- package/lib/utils/vue/size.d.ts +1 -1
- 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/theme-chalk/el-select-v2.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/select.scss +9 -0
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.vue_vue_type_script_lang.js","names":[],"sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @[mouseEnterEventName]=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :placement=\"placement\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n :show-arrow=\"showArrow\"\n :offset=\"offset\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!states.selected.length\n ),\n ]\"\n >\n <slot\n v-if=\"multiple\"\n name=\"tag\"\n :data=\"states.selected\"\n :delete-tag=\"deleteTag\"\n :select-disabled=\"selectDisabled\"\n >\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"item.index\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"collapseTags && states.selected.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"\n tagTooltip?.fallbackPlacements ?? [\n 'bottom',\n 'top',\n 'right',\n 'left',\n ]\n \"\n :effect=\"tagTooltip?.effect ?? effect\"\n :placement=\"tagTooltip?.placement ?? 'bottom'\"\n :popper-class=\"tagTooltip?.popperClass ?? popperClass\"\n :popper-style=\"tagTooltip?.popperStyle ?? popperStyle\"\n :teleported=\"tagTooltip?.teleported ?? teleported\"\n :append-to=\"tagTooltip?.appendTo ?? appendTo\"\n :popper-options=\"tagTooltip?.popperOptions ?? popperOptions\"\n :transition=\"tagTooltip?.transition\"\n :show-after=\"tagTooltip?.showAfter\"\n :hide-after=\"tagTooltip?.hideAfter\"\n :auto-close=\"tagTooltip?.autoClose\"\n :offset=\"tagTooltip?.offset\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"collapseTagStyle\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.selected.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"item in collapseTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"item.index\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is(\n 'hidden',\n !filterable ||\n selectDisabled ||\n (multiple && !states.inputValue && !isFocused)\n ),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n :value=\"states.inputValue\"\n type=\"text\"\n :name=\"name\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"inputStyle\"\n :tabindex=\"tabindex\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n :aria-activedescendant=\"hoverOption?.id || ''\"\n :aria-controls=\"contentId\"\n :aria-expanded=\"dropdownMenuVisible\"\n :aria-label=\"ariaLabel\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n @keydown=\"handleKeydown\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"onInput\"\n @change.stop\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :index=\"getOption(modelValue!).index\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent && !showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsSelect.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu ref=\"menuRef\">\n <div\n v-if=\"$slots.header\"\n :class=\"nsSelect.be('dropdown', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n v-show=\"states.options.size > 0 && !loading\"\n :id=\"contentId\"\n ref=\"scrollbarRef\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[nsSelect.is('empty', filteredOptionsCount === 0)]\"\n role=\"listbox\"\n :aria-label=\"ariaLabel\"\n aria-orientation=\"vertical\"\n @scroll=\"popupScroll\"\n @end-reached=\"endReached\"\n >\n <el-option\n v-if=\"showNewOption\"\n :value=\"states.inputValue\"\n :created=\"true\"\n />\n <el-options>\n <slot>\n <template v-for=\"(option, index) in options\" :key=\"index\">\n <el-option-group\n v-if=\"getOptions(option)?.length\"\n :label=\"getLabel(option)\"\n :disabled=\"getDisabled(option)\"\n >\n <el-option\n v-for=\"item in getOptions(option)\"\n :key=\"getValue(item)\"\n v-bind=\"getOptionProps(item)\"\n />\n </el-option-group>\n <el-option v-else v-bind=\"getOptionProps(option)\" />\n </template>\n </slot>\n </el-options>\n </el-scrollbar>\n <div\n v-if=\"$slots.loading && loading\"\n :class=\"nsSelect.be('dropdown', 'loading')\"\n >\n <slot name=\"loading\" />\n </div>\n <div\n v-else-if=\"loading || filteredOptionsCount === 0\"\n :class=\"nsSelect.be('dropdown', 'empty')\"\n >\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n :class=\"nsSelect.be('dropdown', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { flattedChildren, isArray, isObject } from '@element-plus/utils'\nimport { useCalcInputWidth } from '@element-plus/hooks'\nimport { useProps } from '@element-plus/components/select-v2/src/useProps'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect } from './useSelect'\nimport { selectKey } from './token'\nimport ElOptions from './options'\nimport { selectEmits, selectProps } from './select'\nimport ElOptionGroup from './option-group.vue'\n\nimport type { AppConfig, AppContext, VNode } from 'vue'\nimport type { SelectContext } from './type'\n\nconst COMPONENT_NAME = 'ElSelect'\n\ntype WarnHandler = AppConfig['warnHandler']\n\ninterface WarnHandlerRecord {\n originalWarnHandler: WarnHandler\n handler: WarnHandler\n count: number\n}\n\nconst warnHandlerMap = new WeakMap<AppContext, WarnHandlerRecord>()\n\nconst createSelectWarnHandler = (appContext: AppContext): WarnHandler => {\n return (...args) => {\n // Overrides warnings about slots not being executable outside of a render function.\n // We call slot below just to simulate data when persist is false, this warning message should be ignored\n const message = args[0]\n if (\n !message ||\n (message.includes(\n 'Slot \"default\" invoked outside of the render function'\n ) &&\n args[2]?.includes('ElTreeSelect'))\n )\n return\n const original = warnHandlerMap.get(appContext)?.originalWarnHandler\n if (original) {\n original(...args)\n return\n }\n // eslint-disable-next-line no-console\n console.warn(...args)\n }\n}\n\nconst getWarnHandlerRecord = (appContext: AppContext): WarnHandlerRecord => {\n let record = warnHandlerMap.get(appContext)\n if (!record) {\n record = {\n originalWarnHandler: appContext.config.warnHandler,\n handler: createSelectWarnHandler(appContext),\n count: 0,\n }\n warnHandlerMap.set(appContext, record)\n }\n return record\n}\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElSelectMenu,\n ElOption,\n ElOptions,\n ElOptionGroup,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: selectProps,\n emits: selectEmits,\n\n setup(props, { emit, slots }) {\n const instance = getCurrentInstance()!\n const warnRecord = getWarnHandlerRecord(instance.appContext)\n warnRecord.count += 1\n instance.appContext.config.warnHandler = warnRecord.handler\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n\n return multiple ? fallback : rawModelValue\n })\n\n const _props = reactive({\n ...toRefs(props),\n modelValue,\n })\n\n const API = useSelect(_props, emit)\n const { calculatorRef, inputStyle } = useCalcInputWidth()\n const { getLabel, getValue, getOptions, getDisabled } = useProps(props)\n\n const getOptionProps = (option: Record<string, any>) => ({\n label: getLabel(option),\n value: getValue(option),\n disabled: getDisabled(option),\n })\n\n const flatTreeSelectData = (data: any[]) => {\n return data.reduce((acc, item) => {\n acc.push(item)\n if (item.children && item.children.length > 0) {\n acc.push(...flatTreeSelectData(item.children))\n }\n return acc\n }, [])\n }\n\n const manuallyRenderSlots = (vnodes: VNode[] | undefined) => {\n // After option rendering is completed, the useSelect internal state can collect the value of each option.\n // If the persistent value is false, option will not be rendered by default, so in this case,\n // manually render and load option data here.\n const children = flattedChildren(vnodes || []) as VNode[]\n children.forEach((item) => {\n if (\n isObject(item) &&\n // @ts-expect-error\n (item.type.name === 'ElOption' || item.type.name === 'ElTree')\n ) {\n // @ts-expect-error\n const _name = item.type.name\n if (_name === 'ElTree') {\n // tree-select component is a special case.\n // So we need to handle it separately.\n const treeData = item.props?.data || []\n const flatData = flatTreeSelectData(treeData)\n flatData.forEach((treeItem: any) => {\n treeItem.currentLabel =\n treeItem.label ??\n (isObject(treeItem.value) ? '' : treeItem.value)\n API.onOptionCreate(treeItem)\n })\n } else if (_name === 'ElOption') {\n const obj = { ...item.props } as any\n obj.currentLabel =\n obj.label ?? (isObject(obj.value) ? '' : obj.value)\n API.onOptionCreate(obj)\n }\n }\n })\n }\n watch(\n () => [\n props.persistent || API.expanded.value || !slots.default\n ? undefined\n : slots.default?.(),\n modelValue.value,\n ],\n () => {\n // When persistent is false and the dropdown is closed, the menu is unmounted.\n // We should always re-hydrate option data from slots so labels stay in sync\n // with dynamic option list updates. Skip only when persistent is true or\n // when the dropdown is currently expanded (mounted options will manage themselves).\n if (props.persistent || API.expanded.value) {\n // If persistent is true, we don't need to manually render slots.\n return\n }\n // When using :options prop (no slot content), el-option components register\n // and unregister themselves via onOptionCreate/onOptionDestroy lifecycle hooks.\n // Calling options.clear() here would prematurely wipe options that are still\n // mounted, causing a \"No Data\" flash during rapid open/close toggling.\n if (!slots.default) {\n return\n }\n // Reset current options snapshot before re-collecting from slots.\n API.states.options.clear()\n manuallyRenderSlots(slots.default?.())\n },\n {\n immediate: true,\n }\n )\n\n provide(\n selectKey,\n reactive({\n props: _props,\n states: API.states,\n selectRef: API.selectRef,\n optionsArray: API.optionsArray,\n setSelected: API.setSelected,\n handleOptionSelect: API.handleOptionSelect,\n onOptionCreate: API.onOptionCreate,\n onOptionDestroy: API.onOptionDestroy,\n }) as unknown as SelectContext // Avoid TS2589\n )\n\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel\n }\n return API.states.selected.map((i) => i.currentLabel as string)\n })\n\n onBeforeUnmount(() => {\n // https://github.com/element-plus/element-plus/issues/21279\n const record = warnHandlerMap.get(instance.appContext)\n if (!record) return\n record.count -= 1\n if (record.count <= 0) {\n instance.appContext.config.warnHandler = record.originalWarnHandler\n warnHandlerMap.delete(instance.appContext)\n }\n })\n\n return {\n ...API,\n modelValue,\n selectedLabel,\n calculatorRef,\n inputStyle,\n getLabel,\n getValue,\n getOptions,\n getDisabled,\n getOptionProps,\n }\n },\n})\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.vue_vue_type_script_lang.js","names":[],"sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @[mouseEnterEventName]=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :placement=\"placement\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n :show-arrow=\"showArrow\"\n :offset=\"offset\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!states.selected.length\n ),\n ]\"\n >\n <slot\n v-if=\"multiple\"\n name=\"tag\"\n :data=\"states.selected\"\n :delete-tag=\"deleteTag\"\n :select-disabled=\"selectDisabled\"\n >\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n :style=\"tagStyle\"\n >\n <el-tag\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"item.index\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"collapseTags && states.selected.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"\n tagTooltip?.fallbackPlacements ?? [\n 'bottom',\n 'top',\n 'right',\n 'left',\n ]\n \"\n :effect=\"tagTooltip?.effect ?? effect\"\n :placement=\"tagTooltip?.placement ?? 'bottom'\"\n :popper-class=\"tagTooltip?.popperClass ?? popperClass\"\n :popper-style=\"tagTooltip?.popperStyle ?? popperStyle\"\n :teleported=\"tagTooltip?.teleported ?? teleported\"\n :append-to=\"tagTooltip?.appendTo ?? appendTo\"\n :popper-options=\"tagTooltip?.popperOptions ?? popperOptions\"\n :transition=\"tagTooltip?.transition\"\n :show-after=\"tagTooltip?.showAfter\"\n :hide-after=\"tagTooltip?.hideAfter\"\n :auto-close=\"tagTooltip?.autoClose\"\n :offset=\"tagTooltip?.offset\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('collapse-item'),\n ]\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.selected.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"item in collapseTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"item.index\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is(\n 'hidden',\n !filterable ||\n selectDisabled ||\n (multiple && !states.inputValue && !isFocused)\n ),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n :value=\"states.inputValue\"\n type=\"text\"\n :name=\"name\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"inputStyle\"\n :tabindex=\"tabindex\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n :aria-activedescendant=\"hoverOption?.id || ''\"\n :aria-controls=\"contentId\"\n :aria-expanded=\"dropdownMenuVisible\"\n :aria-label=\"ariaLabel\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n @keydown=\"handleKeydown\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"onInput\"\n @change.stop\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :index=\"getOption(modelValue!).index\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent && !showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsSelect.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu ref=\"menuRef\">\n <div\n v-if=\"$slots.header\"\n :class=\"nsSelect.be('dropdown', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n v-show=\"states.options.size > 0 && !loading\"\n :id=\"contentId\"\n ref=\"scrollbarRef\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[nsSelect.is('empty', filteredOptionsCount === 0)]\"\n role=\"listbox\"\n :aria-label=\"ariaLabel\"\n aria-orientation=\"vertical\"\n @scroll=\"popupScroll\"\n @end-reached=\"endReached\"\n >\n <el-option\n v-if=\"showNewOption\"\n :value=\"states.inputValue\"\n :created=\"true\"\n />\n <el-options>\n <slot>\n <template v-for=\"(option, index) in options\" :key=\"index\">\n <el-option-group\n v-if=\"getOptions(option)?.length\"\n :label=\"getLabel(option)\"\n :disabled=\"getDisabled(option)\"\n >\n <el-option\n v-for=\"item in getOptions(option)\"\n :key=\"getValue(item)\"\n v-bind=\"getOptionProps(item)\"\n />\n </el-option-group>\n <el-option v-else v-bind=\"getOptionProps(option)\" />\n </template>\n </slot>\n </el-options>\n </el-scrollbar>\n <div\n v-if=\"$slots.loading && loading\"\n :class=\"nsSelect.be('dropdown', 'loading')\"\n >\n <slot name=\"loading\" />\n </div>\n <div\n v-else-if=\"loading || filteredOptionsCount === 0\"\n :class=\"nsSelect.be('dropdown', 'empty')\"\n >\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n :class=\"nsSelect.be('dropdown', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { flattedChildren, isArray, isObject } from '@element-plus/utils'\nimport { useCalcInputWidth } from '@element-plus/hooks'\nimport { useProps } from '@element-plus/components/select-v2/src/useProps'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect } from './useSelect'\nimport { selectKey } from './token'\nimport ElOptions from './options'\nimport { selectEmits, selectProps } from './select'\nimport ElOptionGroup from './option-group.vue'\n\nimport type { AppConfig, AppContext, VNode } from 'vue'\nimport type { SelectContext } from './type'\n\nconst COMPONENT_NAME = 'ElSelect'\n\ntype WarnHandler = AppConfig['warnHandler']\n\ninterface WarnHandlerRecord {\n originalWarnHandler: WarnHandler\n handler: WarnHandler\n count: number\n}\n\nconst warnHandlerMap = new WeakMap<AppContext, WarnHandlerRecord>()\n\nconst createSelectWarnHandler = (appContext: AppContext): WarnHandler => {\n return (...args) => {\n // Overrides warnings about slots not being executable outside of a render function.\n // We call slot below just to simulate data when persist is false, this warning message should be ignored\n const message = args[0]\n if (\n !message ||\n (message.includes(\n 'Slot \"default\" invoked outside of the render function'\n ) &&\n args[2]?.includes('ElTreeSelect'))\n )\n return\n const original = warnHandlerMap.get(appContext)?.originalWarnHandler\n if (original) {\n original(...args)\n return\n }\n // eslint-disable-next-line no-console\n console.warn(...args)\n }\n}\n\nconst getWarnHandlerRecord = (appContext: AppContext): WarnHandlerRecord => {\n let record = warnHandlerMap.get(appContext)\n if (!record) {\n record = {\n originalWarnHandler: appContext.config.warnHandler,\n handler: createSelectWarnHandler(appContext),\n count: 0,\n }\n warnHandlerMap.set(appContext, record)\n }\n return record\n}\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElSelectMenu,\n ElOption,\n ElOptions,\n ElOptionGroup,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: selectProps,\n emits: selectEmits,\n\n setup(props, { emit, slots }) {\n const instance = getCurrentInstance()!\n const warnRecord = getWarnHandlerRecord(instance.appContext)\n warnRecord.count += 1\n instance.appContext.config.warnHandler = warnRecord.handler\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n\n return multiple ? fallback : rawModelValue\n })\n\n const _props = reactive({\n ...toRefs(props),\n modelValue,\n })\n\n const API = useSelect(_props, emit)\n const { calculatorRef, inputStyle } = useCalcInputWidth()\n const { getLabel, getValue, getOptions, getDisabled } = useProps(props)\n\n const getOptionProps = (option: Record<string, any>) => ({\n label: getLabel(option),\n value: getValue(option),\n disabled: getDisabled(option),\n })\n\n const flatTreeSelectData = (data: any[]) => {\n return data.reduce((acc, item) => {\n acc.push(item)\n if (item.children && item.children.length > 0) {\n acc.push(...flatTreeSelectData(item.children))\n }\n return acc\n }, [])\n }\n\n const manuallyRenderSlots = (vnodes: VNode[] | undefined) => {\n // After option rendering is completed, the useSelect internal state can collect the value of each option.\n // If the persistent value is false, option will not be rendered by default, so in this case,\n // manually render and load option data here.\n const children = flattedChildren(vnodes || []) as VNode[]\n children.forEach((item) => {\n if (\n isObject(item) &&\n // @ts-expect-error\n (item.type.name === 'ElOption' || item.type.name === 'ElTree')\n ) {\n // @ts-expect-error\n const _name = item.type.name\n if (_name === 'ElTree') {\n // tree-select component is a special case.\n // So we need to handle it separately.\n const treeData = item.props?.data || []\n const flatData = flatTreeSelectData(treeData)\n flatData.forEach((treeItem: any) => {\n treeItem.currentLabel =\n treeItem.label ??\n (isObject(treeItem.value) ? '' : treeItem.value)\n API.onOptionCreate(treeItem)\n })\n } else if (_name === 'ElOption') {\n const obj = { ...item.props } as any\n obj.currentLabel =\n obj.label ?? (isObject(obj.value) ? '' : obj.value)\n API.onOptionCreate(obj)\n }\n }\n })\n }\n watch(\n () => [\n props.persistent || API.expanded.value || !slots.default\n ? undefined\n : slots.default?.(),\n modelValue.value,\n ],\n () => {\n // When persistent is false and the dropdown is closed, the menu is unmounted.\n // We should always re-hydrate option data from slots so labels stay in sync\n // with dynamic option list updates. Skip only when persistent is true or\n // when the dropdown is currently expanded (mounted options will manage themselves).\n if (props.persistent || API.expanded.value) {\n // If persistent is true, we don't need to manually render slots.\n return\n }\n // When using :options prop (no slot content), el-option components register\n // and unregister themselves via onOptionCreate/onOptionDestroy lifecycle hooks.\n // Calling options.clear() here would prematurely wipe options that are still\n // mounted, causing a \"No Data\" flash during rapid open/close toggling.\n if (!slots.default) {\n return\n }\n // Reset current options snapshot before re-collecting from slots.\n API.states.options.clear()\n manuallyRenderSlots(slots.default?.())\n },\n {\n immediate: true,\n }\n )\n\n provide(\n selectKey,\n reactive({\n props: _props,\n states: API.states,\n selectRef: API.selectRef,\n optionsArray: API.optionsArray,\n setSelected: API.setSelected,\n handleOptionSelect: API.handleOptionSelect,\n onOptionCreate: API.onOptionCreate,\n onOptionDestroy: API.onOptionDestroy,\n }) as unknown as SelectContext // Avoid TS2589\n )\n\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel\n }\n return API.states.selected.map((i) => i.currentLabel as string)\n })\n\n onBeforeUnmount(() => {\n // https://github.com/element-plus/element-plus/issues/21279\n const record = warnHandlerMap.get(instance.appContext)\n if (!record) return\n record.count -= 1\n if (record.count <= 0) {\n instance.appContext.config.warnHandler = record.originalWarnHandler\n warnHandlerMap.delete(instance.appContext)\n }\n })\n\n return {\n ...API,\n modelValue,\n selectedLabel,\n calculatorRef,\n inputStyle,\n getLabel,\n getValue,\n getOptions,\n getDisabled,\n getOptionProps,\n }\n },\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -85,14 +85,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
85
85
|
}, () => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(_ctx.showTagList, (item) => {
|
|
86
86
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
87
87
|
key: _ctx.getValueKey(item),
|
|
88
|
-
class: (0, vue.normalizeClass)(_ctx.nsSelect.e("selected-item"))
|
|
88
|
+
class: (0, vue.normalizeClass)(_ctx.nsSelect.e("selected-item")),
|
|
89
|
+
style: (0, vue.normalizeStyle)(_ctx.tagStyle)
|
|
89
90
|
}, [(0, vue.createVNode)(_component_el_tag, {
|
|
90
91
|
closable: !_ctx.selectDisabled && !item.isDisabled,
|
|
91
92
|
size: _ctx.collapseTagSize,
|
|
92
93
|
type: _ctx.tagType,
|
|
93
94
|
effect: _ctx.tagEffect,
|
|
94
95
|
"disable-transitions": "",
|
|
95
|
-
style: (0, vue.normalizeStyle)(_ctx.tagStyle),
|
|
96
96
|
onClose: ($event) => _ctx.deleteTag($event, item)
|
|
97
97
|
}, {
|
|
98
98
|
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(_ctx.nsSelect.e("tags-text")) }, [(0, vue.renderSlot)(_ctx.$slots, "label", {
|
|
@@ -106,9 +106,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
106
106
|
"size",
|
|
107
107
|
"type",
|
|
108
108
|
"effect",
|
|
109
|
-
"style",
|
|
110
109
|
"onClose"
|
|
111
|
-
])],
|
|
110
|
+
])], 6);
|
|
112
111
|
}), 128)), _ctx.collapseTags && _ctx.states.selected.length > _ctx.maxCollapseTags ? ((0, vue.openBlock)(), (0, vue.createBlock)(_component_el_tooltip, {
|
|
113
112
|
key: 0,
|
|
114
113
|
ref: "tagTooltipRef",
|
|
@@ -134,22 +133,20 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
134
133
|
}, {
|
|
135
134
|
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", {
|
|
136
135
|
ref: "collapseItemRef",
|
|
137
|
-
class: (0, vue.normalizeClass)(_ctx.nsSelect.e("selected-item"))
|
|
136
|
+
class: (0, vue.normalizeClass)([_ctx.nsSelect.e("selected-item"), _ctx.nsSelect.e("collapse-item")])
|
|
138
137
|
}, [(0, vue.createVNode)(_component_el_tag, {
|
|
139
138
|
closable: false,
|
|
140
139
|
size: _ctx.collapseTagSize,
|
|
141
140
|
type: _ctx.tagType,
|
|
142
141
|
effect: _ctx.tagEffect,
|
|
143
|
-
"disable-transitions": ""
|
|
144
|
-
style: (0, vue.normalizeStyle)(_ctx.collapseTagStyle)
|
|
142
|
+
"disable-transitions": ""
|
|
145
143
|
}, {
|
|
146
144
|
default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(_ctx.nsSelect.e("tags-text")) }, " + " + (0, vue.toDisplayString)(_ctx.states.selected.length - _ctx.maxCollapseTags), 3)]),
|
|
147
145
|
_: 1
|
|
148
146
|
}, 8, [
|
|
149
147
|
"size",
|
|
150
148
|
"type",
|
|
151
|
-
"effect"
|
|
152
|
-
"style"
|
|
149
|
+
"effect"
|
|
153
150
|
])], 2)]),
|
|
154
151
|
content: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", {
|
|
155
152
|
ref: "tagMenuRef",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select2.js","names":[],"sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @[mouseEnterEventName]=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :placement=\"placement\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n :show-arrow=\"showArrow\"\n :offset=\"offset\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!states.selected.length\n ),\n ]\"\n >\n <slot\n v-if=\"multiple\"\n name=\"tag\"\n :data=\"states.selected\"\n :delete-tag=\"deleteTag\"\n :select-disabled=\"selectDisabled\"\n >\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"item.index\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"collapseTags && states.selected.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"\n tagTooltip?.fallbackPlacements ?? [\n 'bottom',\n 'top',\n 'right',\n 'left',\n ]\n \"\n :effect=\"tagTooltip?.effect ?? effect\"\n :placement=\"tagTooltip?.placement ?? 'bottom'\"\n :popper-class=\"tagTooltip?.popperClass ?? popperClass\"\n :popper-style=\"tagTooltip?.popperStyle ?? popperStyle\"\n :teleported=\"tagTooltip?.teleported ?? teleported\"\n :append-to=\"tagTooltip?.appendTo ?? appendTo\"\n :popper-options=\"tagTooltip?.popperOptions ?? popperOptions\"\n :transition=\"tagTooltip?.transition\"\n :show-after=\"tagTooltip?.showAfter\"\n :hide-after=\"tagTooltip?.hideAfter\"\n :auto-close=\"tagTooltip?.autoClose\"\n :offset=\"tagTooltip?.offset\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"collapseTagStyle\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.selected.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"item in collapseTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"item.index\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is(\n 'hidden',\n !filterable ||\n selectDisabled ||\n (multiple && !states.inputValue && !isFocused)\n ),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n :value=\"states.inputValue\"\n type=\"text\"\n :name=\"name\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"inputStyle\"\n :tabindex=\"tabindex\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n :aria-activedescendant=\"hoverOption?.id || ''\"\n :aria-controls=\"contentId\"\n :aria-expanded=\"dropdownMenuVisible\"\n :aria-label=\"ariaLabel\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n @keydown=\"handleKeydown\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"onInput\"\n @change.stop\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :index=\"getOption(modelValue!).index\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent && !showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsSelect.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu ref=\"menuRef\">\n <div\n v-if=\"$slots.header\"\n :class=\"nsSelect.be('dropdown', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n v-show=\"states.options.size > 0 && !loading\"\n :id=\"contentId\"\n ref=\"scrollbarRef\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[nsSelect.is('empty', filteredOptionsCount === 0)]\"\n role=\"listbox\"\n :aria-label=\"ariaLabel\"\n aria-orientation=\"vertical\"\n @scroll=\"popupScroll\"\n @end-reached=\"endReached\"\n >\n <el-option\n v-if=\"showNewOption\"\n :value=\"states.inputValue\"\n :created=\"true\"\n />\n <el-options>\n <slot>\n <template v-for=\"(option, index) in options\" :key=\"index\">\n <el-option-group\n v-if=\"getOptions(option)?.length\"\n :label=\"getLabel(option)\"\n :disabled=\"getDisabled(option)\"\n >\n <el-option\n v-for=\"item in getOptions(option)\"\n :key=\"getValue(item)\"\n v-bind=\"getOptionProps(item)\"\n />\n </el-option-group>\n <el-option v-else v-bind=\"getOptionProps(option)\" />\n </template>\n </slot>\n </el-options>\n </el-scrollbar>\n <div\n v-if=\"$slots.loading && loading\"\n :class=\"nsSelect.be('dropdown', 'loading')\"\n >\n <slot name=\"loading\" />\n </div>\n <div\n v-else-if=\"loading || filteredOptionsCount === 0\"\n :class=\"nsSelect.be('dropdown', 'empty')\"\n >\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n :class=\"nsSelect.be('dropdown', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { flattedChildren, isArray, isObject } from '@element-plus/utils'\nimport { useCalcInputWidth } from '@element-plus/hooks'\nimport { useProps } from '@element-plus/components/select-v2/src/useProps'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect } from './useSelect'\nimport { selectKey } from './token'\nimport ElOptions from './options'\nimport { selectEmits, selectProps } from './select'\nimport ElOptionGroup from './option-group.vue'\n\nimport type { AppConfig, AppContext, VNode } from 'vue'\nimport type { SelectContext } from './type'\n\nconst COMPONENT_NAME = 'ElSelect'\n\ntype WarnHandler = AppConfig['warnHandler']\n\ninterface WarnHandlerRecord {\n originalWarnHandler: WarnHandler\n handler: WarnHandler\n count: number\n}\n\nconst warnHandlerMap = new WeakMap<AppContext, WarnHandlerRecord>()\n\nconst createSelectWarnHandler = (appContext: AppContext): WarnHandler => {\n return (...args) => {\n // Overrides warnings about slots not being executable outside of a render function.\n // We call slot below just to simulate data when persist is false, this warning message should be ignored\n const message = args[0]\n if (\n !message ||\n (message.includes(\n 'Slot \"default\" invoked outside of the render function'\n ) &&\n args[2]?.includes('ElTreeSelect'))\n )\n return\n const original = warnHandlerMap.get(appContext)?.originalWarnHandler\n if (original) {\n original(...args)\n return\n }\n // eslint-disable-next-line no-console\n console.warn(...args)\n }\n}\n\nconst getWarnHandlerRecord = (appContext: AppContext): WarnHandlerRecord => {\n let record = warnHandlerMap.get(appContext)\n if (!record) {\n record = {\n originalWarnHandler: appContext.config.warnHandler,\n handler: createSelectWarnHandler(appContext),\n count: 0,\n }\n warnHandlerMap.set(appContext, record)\n }\n return record\n}\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElSelectMenu,\n ElOption,\n ElOptions,\n ElOptionGroup,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: selectProps,\n emits: selectEmits,\n\n setup(props, { emit, slots }) {\n const instance = getCurrentInstance()!\n const warnRecord = getWarnHandlerRecord(instance.appContext)\n warnRecord.count += 1\n instance.appContext.config.warnHandler = warnRecord.handler\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n\n return multiple ? fallback : rawModelValue\n })\n\n const _props = reactive({\n ...toRefs(props),\n modelValue,\n })\n\n const API = useSelect(_props, emit)\n const { calculatorRef, inputStyle } = useCalcInputWidth()\n const { getLabel, getValue, getOptions, getDisabled } = useProps(props)\n\n const getOptionProps = (option: Record<string, any>) => ({\n label: getLabel(option),\n value: getValue(option),\n disabled: getDisabled(option),\n })\n\n const flatTreeSelectData = (data: any[]) => {\n return data.reduce((acc, item) => {\n acc.push(item)\n if (item.children && item.children.length > 0) {\n acc.push(...flatTreeSelectData(item.children))\n }\n return acc\n }, [])\n }\n\n const manuallyRenderSlots = (vnodes: VNode[] | undefined) => {\n // After option rendering is completed, the useSelect internal state can collect the value of each option.\n // If the persistent value is false, option will not be rendered by default, so in this case,\n // manually render and load option data here.\n const children = flattedChildren(vnodes || []) as VNode[]\n children.forEach((item) => {\n if (\n isObject(item) &&\n // @ts-expect-error\n (item.type.name === 'ElOption' || item.type.name === 'ElTree')\n ) {\n // @ts-expect-error\n const _name = item.type.name\n if (_name === 'ElTree') {\n // tree-select component is a special case.\n // So we need to handle it separately.\n const treeData = item.props?.data || []\n const flatData = flatTreeSelectData(treeData)\n flatData.forEach((treeItem: any) => {\n treeItem.currentLabel =\n treeItem.label ??\n (isObject(treeItem.value) ? '' : treeItem.value)\n API.onOptionCreate(treeItem)\n })\n } else if (_name === 'ElOption') {\n const obj = { ...item.props } as any\n obj.currentLabel =\n obj.label ?? (isObject(obj.value) ? '' : obj.value)\n API.onOptionCreate(obj)\n }\n }\n })\n }\n watch(\n () => [\n props.persistent || API.expanded.value || !slots.default\n ? undefined\n : slots.default?.(),\n modelValue.value,\n ],\n () => {\n // When persistent is false and the dropdown is closed, the menu is unmounted.\n // We should always re-hydrate option data from slots so labels stay in sync\n // with dynamic option list updates. Skip only when persistent is true or\n // when the dropdown is currently expanded (mounted options will manage themselves).\n if (props.persistent || API.expanded.value) {\n // If persistent is true, we don't need to manually render slots.\n return\n }\n // When using :options prop (no slot content), el-option components register\n // and unregister themselves via onOptionCreate/onOptionDestroy lifecycle hooks.\n // Calling options.clear() here would prematurely wipe options that are still\n // mounted, causing a \"No Data\" flash during rapid open/close toggling.\n if (!slots.default) {\n return\n }\n // Reset current options snapshot before re-collecting from slots.\n API.states.options.clear()\n manuallyRenderSlots(slots.default?.())\n },\n {\n immediate: true,\n }\n )\n\n provide(\n selectKey,\n reactive({\n props: _props,\n states: API.states,\n selectRef: API.selectRef,\n optionsArray: API.optionsArray,\n setSelected: API.setSelected,\n handleOptionSelect: API.handleOptionSelect,\n onOptionCreate: API.onOptionCreate,\n onOptionDestroy: API.onOptionDestroy,\n }) as unknown as SelectContext // Avoid TS2589\n )\n\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel\n }\n return API.states.selected.map((i) => i.currentLabel as string)\n })\n\n onBeforeUnmount(() => {\n // https://github.com/element-plus/element-plus/issues/21279\n const record = warnHandlerMap.get(instance.appContext)\n if (!record) return\n record.count -= 1\n if (record.count <= 0) {\n instance.appContext.config.warnHandler = record.originalWarnHandler\n warnHandlerMap.delete(instance.appContext)\n }\n })\n\n return {\n ...API,\n modelValue,\n selectedLabel,\n calculatorRef,\n inputStyle,\n getLabel,\n getValue,\n getOptions,\n getDisabled,\n getOptionProps,\n }\n },\n})\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select2.js","names":[],"sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @[mouseEnterEventName]=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :placement=\"placement\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :persistent=\"persistent\"\n :append-to=\"appendTo\"\n :show-arrow=\"showArrow\"\n :offset=\"offset\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!states.selected.length\n ),\n ]\"\n >\n <slot\n v-if=\"multiple\"\n name=\"tag\"\n :data=\"states.selected\"\n :delete-tag=\"deleteTag\"\n :select-disabled=\"selectDisabled\"\n >\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n :style=\"tagStyle\"\n >\n <el-tag\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"item.index\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"collapseTags && states.selected.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"\n tagTooltip?.fallbackPlacements ?? [\n 'bottom',\n 'top',\n 'right',\n 'left',\n ]\n \"\n :effect=\"tagTooltip?.effect ?? effect\"\n :placement=\"tagTooltip?.placement ?? 'bottom'\"\n :popper-class=\"tagTooltip?.popperClass ?? popperClass\"\n :popper-style=\"tagTooltip?.popperStyle ?? popperStyle\"\n :teleported=\"tagTooltip?.teleported ?? teleported\"\n :append-to=\"tagTooltip?.appendTo ?? appendTo\"\n :popper-options=\"tagTooltip?.popperOptions ?? popperOptions\"\n :transition=\"tagTooltip?.transition\"\n :show-after=\"tagTooltip?.showAfter\"\n :hide-after=\"tagTooltip?.hideAfter\"\n :auto-close=\"tagTooltip?.autoClose\"\n :offset=\"tagTooltip?.offset\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('collapse-item'),\n ]\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.selected.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"item in collapseTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :index=\"item.index\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is(\n 'hidden',\n !filterable ||\n selectDisabled ||\n (multiple && !states.inputValue && !isFocused)\n ),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n :value=\"states.inputValue\"\n type=\"text\"\n :name=\"name\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"inputStyle\"\n :tabindex=\"tabindex\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n :aria-activedescendant=\"hoverOption?.id || ''\"\n :aria-controls=\"contentId\"\n :aria-expanded=\"dropdownMenuVisible\"\n :aria-label=\"ariaLabel\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n @keydown=\"handleKeydown\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"onInput\"\n @change.stop\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :index=\"getOption(modelValue!).index\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent && !showClearBtn\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsSelect.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu ref=\"menuRef\">\n <div\n v-if=\"$slots.header\"\n :class=\"nsSelect.be('dropdown', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n v-show=\"states.options.size > 0 && !loading\"\n :id=\"contentId\"\n ref=\"scrollbarRef\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[nsSelect.is('empty', filteredOptionsCount === 0)]\"\n role=\"listbox\"\n :aria-label=\"ariaLabel\"\n aria-orientation=\"vertical\"\n @scroll=\"popupScroll\"\n @end-reached=\"endReached\"\n >\n <el-option\n v-if=\"showNewOption\"\n :value=\"states.inputValue\"\n :created=\"true\"\n />\n <el-options>\n <slot>\n <template v-for=\"(option, index) in options\" :key=\"index\">\n <el-option-group\n v-if=\"getOptions(option)?.length\"\n :label=\"getLabel(option)\"\n :disabled=\"getDisabled(option)\"\n >\n <el-option\n v-for=\"item in getOptions(option)\"\n :key=\"getValue(item)\"\n v-bind=\"getOptionProps(item)\"\n />\n </el-option-group>\n <el-option v-else v-bind=\"getOptionProps(option)\" />\n </template>\n </slot>\n </el-options>\n </el-scrollbar>\n <div\n v-if=\"$slots.loading && loading\"\n :class=\"nsSelect.be('dropdown', 'loading')\"\n >\n <slot name=\"loading\" />\n </div>\n <div\n v-else-if=\"loading || filteredOptionsCount === 0\"\n :class=\"nsSelect.be('dropdown', 'empty')\"\n >\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n :class=\"nsSelect.be('dropdown', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { flattedChildren, isArray, isObject } from '@element-plus/utils'\nimport { useCalcInputWidth } from '@element-plus/hooks'\nimport { useProps } from '@element-plus/components/select-v2/src/useProps'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect } from './useSelect'\nimport { selectKey } from './token'\nimport ElOptions from './options'\nimport { selectEmits, selectProps } from './select'\nimport ElOptionGroup from './option-group.vue'\n\nimport type { AppConfig, AppContext, VNode } from 'vue'\nimport type { SelectContext } from './type'\n\nconst COMPONENT_NAME = 'ElSelect'\n\ntype WarnHandler = AppConfig['warnHandler']\n\ninterface WarnHandlerRecord {\n originalWarnHandler: WarnHandler\n handler: WarnHandler\n count: number\n}\n\nconst warnHandlerMap = new WeakMap<AppContext, WarnHandlerRecord>()\n\nconst createSelectWarnHandler = (appContext: AppContext): WarnHandler => {\n return (...args) => {\n // Overrides warnings about slots not being executable outside of a render function.\n // We call slot below just to simulate data when persist is false, this warning message should be ignored\n const message = args[0]\n if (\n !message ||\n (message.includes(\n 'Slot \"default\" invoked outside of the render function'\n ) &&\n args[2]?.includes('ElTreeSelect'))\n )\n return\n const original = warnHandlerMap.get(appContext)?.originalWarnHandler\n if (original) {\n original(...args)\n return\n }\n // eslint-disable-next-line no-console\n console.warn(...args)\n }\n}\n\nconst getWarnHandlerRecord = (appContext: AppContext): WarnHandlerRecord => {\n let record = warnHandlerMap.get(appContext)\n if (!record) {\n record = {\n originalWarnHandler: appContext.config.warnHandler,\n handler: createSelectWarnHandler(appContext),\n count: 0,\n }\n warnHandlerMap.set(appContext, record)\n }\n return record\n}\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElSelectMenu,\n ElOption,\n ElOptions,\n ElOptionGroup,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: selectProps,\n emits: selectEmits,\n\n setup(props, { emit, slots }) {\n const instance = getCurrentInstance()!\n const warnRecord = getWarnHandlerRecord(instance.appContext)\n warnRecord.count += 1\n instance.appContext.config.warnHandler = warnRecord.handler\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n\n return multiple ? fallback : rawModelValue\n })\n\n const _props = reactive({\n ...toRefs(props),\n modelValue,\n })\n\n const API = useSelect(_props, emit)\n const { calculatorRef, inputStyle } = useCalcInputWidth()\n const { getLabel, getValue, getOptions, getDisabled } = useProps(props)\n\n const getOptionProps = (option: Record<string, any>) => ({\n label: getLabel(option),\n value: getValue(option),\n disabled: getDisabled(option),\n })\n\n const flatTreeSelectData = (data: any[]) => {\n return data.reduce((acc, item) => {\n acc.push(item)\n if (item.children && item.children.length > 0) {\n acc.push(...flatTreeSelectData(item.children))\n }\n return acc\n }, [])\n }\n\n const manuallyRenderSlots = (vnodes: VNode[] | undefined) => {\n // After option rendering is completed, the useSelect internal state can collect the value of each option.\n // If the persistent value is false, option will not be rendered by default, so in this case,\n // manually render and load option data here.\n const children = flattedChildren(vnodes || []) as VNode[]\n children.forEach((item) => {\n if (\n isObject(item) &&\n // @ts-expect-error\n (item.type.name === 'ElOption' || item.type.name === 'ElTree')\n ) {\n // @ts-expect-error\n const _name = item.type.name\n if (_name === 'ElTree') {\n // tree-select component is a special case.\n // So we need to handle it separately.\n const treeData = item.props?.data || []\n const flatData = flatTreeSelectData(treeData)\n flatData.forEach((treeItem: any) => {\n treeItem.currentLabel =\n treeItem.label ??\n (isObject(treeItem.value) ? '' : treeItem.value)\n API.onOptionCreate(treeItem)\n })\n } else if (_name === 'ElOption') {\n const obj = { ...item.props } as any\n obj.currentLabel =\n obj.label ?? (isObject(obj.value) ? '' : obj.value)\n API.onOptionCreate(obj)\n }\n }\n })\n }\n watch(\n () => [\n props.persistent || API.expanded.value || !slots.default\n ? undefined\n : slots.default?.(),\n modelValue.value,\n ],\n () => {\n // When persistent is false and the dropdown is closed, the menu is unmounted.\n // We should always re-hydrate option data from slots so labels stay in sync\n // with dynamic option list updates. Skip only when persistent is true or\n // when the dropdown is currently expanded (mounted options will manage themselves).\n if (props.persistent || API.expanded.value) {\n // If persistent is true, we don't need to manually render slots.\n return\n }\n // When using :options prop (no slot content), el-option components register\n // and unregister themselves via onOptionCreate/onOptionDestroy lifecycle hooks.\n // Calling options.clear() here would prematurely wipe options that are still\n // mounted, causing a \"No Data\" flash during rapid open/close toggling.\n if (!slots.default) {\n return\n }\n // Reset current options snapshot before re-collecting from slots.\n API.states.options.clear()\n manuallyRenderSlots(slots.default?.())\n },\n {\n immediate: true,\n }\n )\n\n provide(\n selectKey,\n reactive({\n props: _props,\n states: API.states,\n selectRef: API.selectRef,\n optionsArray: API.optionsArray,\n setSelected: API.setSelected,\n handleOptionSelect: API.handleOptionSelect,\n onOptionCreate: API.onOptionCreate,\n onOptionDestroy: API.onOptionDestroy,\n }) as unknown as SelectContext // Avoid TS2589\n )\n\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel\n }\n return API.states.selected.map((i) => i.currentLabel as string)\n })\n\n onBeforeUnmount(() => {\n // https://github.com/element-plus/element-plus/issues/21279\n const record = warnHandlerMap.get(instance.appContext)\n if (!record) return\n record.count -= 1\n if (record.count <= 0) {\n instance.appContext.config.warnHandler = record.originalWarnHandler\n warnHandlerMap.delete(instance.appContext)\n }\n })\n\n return {\n ...API,\n modelValue,\n selectedLabel,\n calculatorRef,\n inputStyle,\n getLabel,\n getValue,\n getOptions,\n getDisabled,\n getOptionProps,\n }\n },\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import * as _$vue from "vue";
|
|
|
5
5
|
//#region ../../packages/components/select/src/useOption.d.ts
|
|
6
6
|
declare function useOption(props: OptionProps, states: OptionStates): {
|
|
7
7
|
select: SelectContext;
|
|
8
|
-
currentLabel: _$vue.ComputedRef<boolean | EpPropMergeType<(
|
|
9
|
-
currentValue: _$vue.ComputedRef<true | Record<string, any> | EpPropMergeType<(
|
|
8
|
+
currentLabel: _$vue.ComputedRef<boolean | EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
|
|
9
|
+
currentValue: _$vue.ComputedRef<true | Record<string, any> | EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
|
|
10
10
|
itemSelected: _$vue.ComputedRef<boolean>;
|
|
11
11
|
isDisabled: _$vue.ComputedRef<boolean>;
|
|
12
12
|
hoverItem: () => void;
|
|
@@ -49,8 +49,8 @@ declare const useSelect: (props: SelectProps, emit: SelectEmits) => {
|
|
|
49
49
|
};
|
|
50
50
|
states: {
|
|
51
51
|
inputValue: string;
|
|
52
|
-
options: Map<EpPropMergeType<(
|
|
53
|
-
cachedOptions: Map<EpPropMergeType<(
|
|
52
|
+
options: Map<EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>, OptionPublicInstance> & Omit<Map<EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>, OptionPublicInstance>, keyof Map<any, any>>;
|
|
53
|
+
cachedOptions: Map<EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>, OptionPublicInstance> & Omit<Map<EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>, OptionPublicInstance>, keyof Map<any, any>>;
|
|
54
54
|
optionValues: OptionValue[];
|
|
55
55
|
selected: {
|
|
56
56
|
index: number;
|
|
@@ -60,7 +60,6 @@ declare const useSelect: (props: SelectProps, emit: SelectEmits) => {
|
|
|
60
60
|
}[];
|
|
61
61
|
hoveringIndex: number;
|
|
62
62
|
inputHovering: boolean;
|
|
63
|
-
selectionWidth: number;
|
|
64
63
|
collapseItemWidth: number;
|
|
65
64
|
previousQuery: string | null;
|
|
66
65
|
selectedLabel: string;
|
|
@@ -90,8 +89,8 @@ declare const useSelect: (props: SelectProps, emit: SelectEmits) => {
|
|
|
90
89
|
showClearBtn: _$vue.ComputedRef<boolean>;
|
|
91
90
|
iconComponent: _$vue.ComputedRef<EpPropMergeType<(new (...args: any[]) => (string | Component) & {}) | (() => string | Component) | (((new (...args: any[]) => (string | Component) & {}) | (() => string | Component)) | null)[], unknown, unknown>>;
|
|
92
91
|
iconReverse: _$vue.ComputedRef<string>;
|
|
93
|
-
validateState: _$vue.ComputedRef<"" | "error" | "
|
|
94
|
-
validateIcon: _$vue.ComputedRef<
|
|
92
|
+
validateState: _$vue.ComputedRef<"" | "error" | "validating" | "success">;
|
|
93
|
+
validateIcon: _$vue.ComputedRef<Component | "">;
|
|
95
94
|
showNewOption: _$vue.ComputedRef<boolean>;
|
|
96
95
|
updateOptions: () => void;
|
|
97
96
|
collapseTagSize: _$vue.ComputedRef<"default" | "small">;
|
|
@@ -133,11 +132,11 @@ declare const useSelect: (props: SelectProps, emit: SelectEmits) => {
|
|
|
133
132
|
}) => void;
|
|
134
133
|
getOption: (value: OptionValue) => {
|
|
135
134
|
index: number;
|
|
136
|
-
value: EpPropMergeType<(
|
|
135
|
+
value: EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
137
136
|
currentLabel: any;
|
|
138
137
|
} | {
|
|
139
138
|
index: number;
|
|
140
|
-
value: EpPropMergeType<(
|
|
139
|
+
value: EpPropMergeType<(BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
141
140
|
currentLabel: string | number | boolean;
|
|
142
141
|
readonly isDisabled: boolean;
|
|
143
142
|
};
|
|
@@ -145,9 +144,6 @@ declare const useSelect: (props: SelectProps, emit: SelectEmits) => {
|
|
|
145
144
|
tagStyle: _$vue.ComputedRef<{
|
|
146
145
|
maxWidth: string;
|
|
147
146
|
}>;
|
|
148
|
-
collapseTagStyle: _$vue.ComputedRef<{
|
|
149
|
-
maxWidth: string;
|
|
150
|
-
}>;
|
|
151
147
|
popperRef: _$vue.ComputedRef<HTMLElement | undefined>;
|
|
152
148
|
inputRef: _$vue.Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
|
|
153
149
|
tooltipRef: _$vue.Ref<TooltipInstance | undefined, TooltipInstance | undefined>;
|
|
@@ -32,7 +32,6 @@ const useSelect = (props, emit) => {
|
|
|
32
32
|
cachedOptions: /* @__PURE__ */ new Map(),
|
|
33
33
|
optionValues: [],
|
|
34
34
|
selected: [],
|
|
35
|
-
selectionWidth: 0,
|
|
36
35
|
collapseItemWidth: 0,
|
|
37
36
|
selectedLabel: "",
|
|
38
37
|
hoveringIndex: -1,
|
|
@@ -251,9 +250,6 @@ const useSelect = (props, emit) => {
|
|
|
251
250
|
states.hoveringIndex = optionsArray.value.findIndex((item) => getValueKey(lastOption) === getValueKey(item));
|
|
252
251
|
} else states.hoveringIndex = -1;
|
|
253
252
|
};
|
|
254
|
-
const resetSelectionWidth = () => {
|
|
255
|
-
states.selectionWidth = Number.parseFloat(window.getComputedStyle(selectionRef.value).width);
|
|
256
|
-
};
|
|
257
253
|
const resetCollapseItemWidth = () => {
|
|
258
254
|
states.collapseItemWidth = collapseItemRef.value.getBoundingClientRect().width;
|
|
259
255
|
};
|
|
@@ -524,11 +520,7 @@ const useSelect = (props, emit) => {
|
|
|
524
520
|
};
|
|
525
521
|
const tagStyle = (0, vue.computed)(() => {
|
|
526
522
|
const gapWidth = getGapWidth();
|
|
527
|
-
|
|
528
|
-
return { maxWidth: `${collapseItemRef.value && props.maxCollapseTags === 1 ? states.selectionWidth - states.collapseItemWidth - gapWidth - inputSlotWidth : states.selectionWidth - inputSlotWidth}px` };
|
|
529
|
-
});
|
|
530
|
-
const collapseTagStyle = (0, vue.computed)(() => {
|
|
531
|
-
return { maxWidth: `${states.selectionWidth}px` };
|
|
523
|
+
return { maxWidth: `calc(100% - ${(props.filterable && !selectDisabled.value ? gapWidth + 11 : 0) + (collapseItemRef.value && props.maxCollapseTags === 1 ? states.collapseItemWidth + gapWidth : 0)}px)` };
|
|
532
524
|
});
|
|
533
525
|
const popupScroll = (data) => {
|
|
534
526
|
emit("popup-scroll", data);
|
|
@@ -536,7 +528,6 @@ const useSelect = (props, emit) => {
|
|
|
536
528
|
const endReached = (direction) => {
|
|
537
529
|
emit("end-reached", direction);
|
|
538
530
|
};
|
|
539
|
-
(0, _vueuse_core.useResizeObserver)(selectionRef, resetSelectionWidth);
|
|
540
531
|
(0, _vueuse_core.useResizeObserver)(wrapperRef, updateTooltip);
|
|
541
532
|
(0, _vueuse_core.useResizeObserver)(tagMenuRef, updateTagTooltip);
|
|
542
533
|
(0, _vueuse_core.useResizeObserver)(collapseItemRef, resetCollapseItemWidth);
|
|
@@ -612,7 +603,6 @@ const useSelect = (props, emit) => {
|
|
|
612
603
|
getOption,
|
|
613
604
|
endReached,
|
|
614
605
|
tagStyle,
|
|
615
|
-
collapseTagStyle,
|
|
616
606
|
popperRef,
|
|
617
607
|
inputRef,
|
|
618
608
|
tooltipRef,
|