@element-plus/nightly 0.0.20260416 → 0.0.20260417
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/attributes.json +1 -1
- package/dist/index.full.js +90 -52
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +90 -52
- 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.d.ts +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.vue.d.ts +4 -4
- package/es/components/autocomplete/src/autocomplete.d.ts +4 -4
- 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 +2 -2
- package/es/components/avatar/src/avatar.d.ts +2 -2
- package/es/components/avatar/src/avatar.vue.d.ts +1 -1
- package/es/components/backtop/src/backtop.vue.d.ts +1 -1
- 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.vue.d.ts +1 -1
- package/es/components/button/src/button.d.ts +2 -2
- package/es/components/button/src/button.vue.d.ts +5 -5
- package/es/components/calendar/src/calendar.d.ts +1 -1
- 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 +15 -15
- package/es/components/cascader-panel/src/index.vue.d.ts +2 -2
- package/es/components/check-tag/src/check-tag.d.ts +1 -1
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
- package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
- package/es/components/checkbox/src/checkbox.d.ts +9 -9
- package/es/components/checkbox/src/checkbox.vue.d.ts +5 -5
- package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
- package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
- package/es/components/col/src/col.vue.d.ts +1 -1
- package/es/components/collapse/src/collapse-item.vue.d.ts +1 -1
- package/es/components/collapse/src/collapse.d.ts +1 -1
- package/es/components/collapse/src/collapse.vue.d.ts +2 -2
- package/es/components/color-picker/src/color-picker.d.ts +1 -1
- package/es/components/color-picker/src/color-picker.vue.d.ts +7 -7
- package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
- package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
- package/es/components/config-provider/src/config-provider.d.ts +3 -3
- package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/es/components/countdown/src/countdown.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker.d.ts +13 -13
- package/es/components/date-picker/src/props.d.ts +2 -2
- package/es/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
- package/es/components/descriptions/src/description-item.d.ts +19 -19
- package/es/components/descriptions/src/description.d.ts +1 -1
- package/es/components/descriptions/src/description.vue.d.ts +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +4 -4
- package/es/components/divider/src/divider.d.ts +1 -1
- package/es/components/divider/src/divider.vue.d.ts +1 -1
- package/es/components/drawer/src/drawer.vue.d.ts +8 -8
- package/es/components/dropdown/src/dropdown-item.vue.d.ts +4 -4
- 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 +69 -69
- package/es/components/empty/src/empty.vue.d.ts +1 -1
- package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/es/components/form/src/form-item.d.ts +2 -2
- package/es/components/form/src/form-item.vue.d.ts +1 -1
- package/es/components/form/src/form.d.ts +4 -4
- package/es/components/form/src/form.vue.d.ts +1 -1
- package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
- package/es/components/image/src/image.d.ts +1 -1
- package/es/components/image/src/image.vue.d.ts +5 -5
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
- package/es/components/index.d.ts +2 -2
- package/es/components/input/src/input.d.ts +3 -3
- package/es/components/input/src/input.vue.d.ts +19 -19
- package/es/components/input-number/src/input-number.d.ts +4 -4
- package/es/components/input-number/src/input-number.vue.d.ts +10 -10
- package/es/components/input-otp/src/input-otp.vue.d.ts +6 -6
- package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
- package/es/components/input-tag/src/input-tag.d.ts +4 -4
- package/es/components/input-tag/src/input-tag.vue.d.ts +15 -15
- package/es/components/link/src/link.d.ts +2 -2
- package/es/components/link/src/link.vue.d.ts +1 -1
- package/es/components/mention/src/mention.d.ts +4 -4
- package/es/components/mention/src/mention.vue.d.ts +3 -3
- package/es/components/menu/src/menu-item.d.ts +8 -5
- package/es/components/menu/src/menu-item.mjs +2 -2
- package/es/components/menu/src/menu-item.mjs.map +1 -1
- package/es/components/menu/src/menu-item.vue.d.ts +1 -3
- package/es/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.mjs +1 -3
- package/es/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/menu/src/menu-item2.mjs.map +1 -1
- package/es/components/menu/src/menu.d.ts +2 -2
- package/es/components/menu/src/utils/menu-bar.mjs.map +1 -1
- package/es/components/menu/src/utils/menu-item.mjs +2 -3
- package/es/components/menu/src/utils/menu-item.mjs.map +1 -1
- package/es/components/menu/src/utils/submenu.mjs +1 -5
- package/es/components/menu/src/utils/submenu.mjs.map +1 -1
- package/es/components/message/src/message.d.ts +2 -2
- package/es/components/message/src/message.vue.d.ts +6 -6
- package/es/components/notification/src/notification.d.ts +1 -1
- package/es/components/notification/src/notification.vue.d.ts +4 -4
- package/es/components/pagination/src/pagination.d.ts +7 -7
- package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +5 -5
- package/es/components/popover/src/popover.d.ts +2 -2
- package/es/components/popover/src/popover.vue.d.ts +10 -10
- package/es/components/popper/src/composables/use-content.d.ts +4 -4
- package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- package/es/components/popper/src/content.d.ts +4 -4
- package/es/components/popper/src/content.vue.d.ts +7 -7
- package/es/components/popper/src/popper.d.ts +2 -2
- package/es/components/progress/src/progress.vue.d.ts +2 -2
- package/es/components/radio/src/radio-button.d.ts +4 -4
- package/es/components/radio/src/radio-button.vue.d.ts +2 -2
- package/es/components/radio/src/radio-group.d.ts +1 -1
- package/es/components/radio/src/radio-group.vue.d.ts +5 -5
- package/es/components/radio/src/radio.d.ts +8 -8
- package/es/components/radio/src/radio.vue.d.ts +4 -4
- package/es/components/rate/src/rate.d.ts +1 -1
- package/es/components/rate/src/rate.vue.d.ts +2 -2
- 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 +2 -2
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
- package/es/components/segmented/index.d.ts +4 -4
- package/es/components/segmented/src/segmented.d.ts +2 -2
- 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.d.ts +9 -6
- package/es/components/select/src/select.mjs +1 -0
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select.vue.d.ts +91 -89
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs +2 -1
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select/src/select2.mjs +4 -2
- package/es/components/select/src/select2.mjs.map +1 -1
- package/es/components/select/src/useSelect.mjs +4 -0
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/src/defaults.d.ts +5 -4
- package/es/components/select-v2/src/defaults.mjs +2 -0
- package/es/components/select-v2/src/defaults.mjs.map +1 -1
- package/es/components/select-v2/src/select-dropdown.d.ts +1 -0
- package/es/components/select-v2/src/select-dropdown.mjs +7 -1
- package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
- package/es/components/select-v2/src/select.mjs +4 -2
- package/es/components/select-v2/src/select.mjs.map +1 -1
- package/es/components/select-v2/src/select.vue.d.ts +83 -75
- package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select-v2/src/useSelect.mjs +4 -0
- 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 +2 -2
- package/es/components/slider/src/slider.d.ts +2 -2
- package/es/components/slider/src/slider.vue.d.ts +11 -11
- package/es/components/space/src/space.d.ts +4 -4
- package/es/components/statistic/src/statistic.vue.d.ts +2 -2
- package/es/components/steps/src/item.d.ts +1 -1
- package/es/components/steps/src/item.vue.d.ts +1 -1
- package/es/components/steps/src/steps.d.ts +2 -2
- package/es/components/switch/src/switch.d.ts +1 -1
- package/es/components/switch/src/switch.vue.d.ts +4 -4
- package/es/components/table/src/table-column/index.d.ts +23 -23
- package/es/components/table/src/table-header/index.d.ts +16 -16
- package/es/components/table/src/table.vue.d.ts +48 -48
- package/es/components/table-v2/src/components/row.d.ts +1 -1
- package/es/components/table-v2/src/table-grid.d.ts +3 -3
- package/es/components/table-v2/src/table-v2.d.ts +4 -4
- package/es/components/tabs/src/tab-nav.d.ts +1 -1
- package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
- package/es/components/tabs/src/tabs.d.ts +6 -6
- package/es/components/tag/src/tag.d.ts +3 -3
- package/es/components/tag/src/tag.vue.d.ts +1 -1
- package/es/components/text/src/text.d.ts +2 -2
- package/es/components/time-picker/src/common/picker.vue.d.ts +19 -19
- package/es/components/time-picker/src/common/props.d.ts +2 -2
- package/es/components/time-picker/src/time-picker.d.ts +13 -13
- package/es/components/time-select/src/time-select.d.ts +1 -1
- package/es/components/time-select/src/time-select.vue.d.ts +10 -10
- package/es/components/timeline/src/timeline-item.d.ts +3 -3
- package/es/components/timeline/src/timeline-item.vue.d.ts +2 -2
- package/es/components/tooltip/src/content.d.ts +1 -1
- package/es/components/tooltip/src/content.vue.d.ts +5 -5
- package/es/components/tooltip/src/tooltip.d.ts +3 -3
- package/es/components/tooltip/src/tooltip.vue.d.ts +13 -13
- package/es/components/tooltip/src/trigger.d.ts +1 -1
- package/es/components/tour/src/content.d.ts +2 -2
- package/es/components/tour/src/step.d.ts +1 -1
- package/es/components/tour/src/tour.d.ts +1 -1
- package/es/components/tour/src/tour.vue.d.ts +5 -5
- package/es/components/transfer/src/transfer.vue.d.ts +2 -2
- package/es/components/tree/src/tree.vue.d.ts +25 -25
- package/es/components/tree-select/src/tree-select.vue.d.ts +48 -48
- package/es/components/tree-v2/src/tree.vue.d.ts +6 -6
- package/es/components/upload/src/upload-content.vue.d.ts +2 -2
- package/es/components/upload/src/upload.vue.d.ts +3 -3
- package/es/components/virtual-list/index.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.mjs +60 -36
- package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
- 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 +9 -8
- 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 +9 -8
- package/es/components/virtual-list/src/defaults.mjs +2 -1
- package/es/components/virtual-list/src/defaults.mjs.map +1 -1
- package/es/components/virtual-list/src/types.d.ts +7 -7
- package/es/components/watermark/src/watermark.vue.d.ts +1 -1
- package/es/hooks/use-floating/index.d.ts +8 -8
- package/es/hooks/use-popper/index.d.ts +4 -4
- package/es/hooks/use-size/index.d.ts +3 -3
- package/es/index.d.ts +2 -2
- package/es/utils/vue/size.d.ts +1 -1
- package/es/utils/vue/vnode.d.ts +2 -2
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/affix/src/affix.d.ts +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.vue.d.ts +4 -4
- package/lib/components/autocomplete/src/autocomplete.d.ts +4 -4
- 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 +2 -2
- package/lib/components/avatar/src/avatar.d.ts +2 -2
- package/lib/components/avatar/src/avatar.vue.d.ts +1 -1
- package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
- 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.vue.d.ts +1 -1
- package/lib/components/button/src/button.d.ts +2 -2
- package/lib/components/button/src/button.vue.d.ts +5 -5
- package/lib/components/calendar/src/calendar.d.ts +1 -1
- 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 +15 -15
- package/lib/components/cascader-panel/src/index.vue.d.ts +2 -2
- package/lib/components/check-tag/src/check-tag.d.ts +1 -1
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
- package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
- package/lib/components/checkbox/src/checkbox.d.ts +9 -9
- package/lib/components/checkbox/src/checkbox.vue.d.ts +5 -5
- package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
- package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
- package/lib/components/col/src/col.vue.d.ts +1 -1
- package/lib/components/collapse/src/collapse-item.vue.d.ts +1 -1
- package/lib/components/collapse/src/collapse.d.ts +1 -1
- package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
- package/lib/components/color-picker/src/color-picker.d.ts +1 -1
- package/lib/components/color-picker/src/color-picker.vue.d.ts +7 -7
- package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
- package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
- package/lib/components/config-provider/src/config-provider.d.ts +3 -3
- package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker.d.ts +13 -13
- package/lib/components/date-picker/src/props.d.ts +2 -2
- package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
- package/lib/components/descriptions/src/description-item.d.ts +19 -19
- package/lib/components/descriptions/src/description.d.ts +1 -1
- package/lib/components/descriptions/src/description.vue.d.ts +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +4 -4
- package/lib/components/divider/src/divider.d.ts +1 -1
- package/lib/components/divider/src/divider.vue.d.ts +1 -1
- package/lib/components/drawer/src/drawer.vue.d.ts +8 -8
- package/lib/components/dropdown/src/dropdown-item.vue.d.ts +4 -4
- 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 +69 -69
- package/lib/components/empty/src/empty.vue.d.ts +1 -1
- package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/lib/components/form/src/form-item.d.ts +2 -2
- package/lib/components/form/src/form-item.vue.d.ts +1 -1
- package/lib/components/form/src/form.d.ts +4 -4
- package/lib/components/form/src/form.vue.d.ts +1 -1
- package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
- package/lib/components/image/src/image.d.ts +1 -1
- package/lib/components/image/src/image.vue.d.ts +5 -5
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -4
- package/lib/components/index.d.ts +2 -2
- package/lib/components/input/src/input.d.ts +3 -3
- package/lib/components/input/src/input.vue.d.ts +19 -19
- package/lib/components/input-number/src/input-number.d.ts +4 -4
- package/lib/components/input-number/src/input-number.vue.d.ts +10 -10
- package/lib/components/input-otp/src/input-otp.vue.d.ts +6 -6
- package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
- package/lib/components/input-tag/src/input-tag.d.ts +4 -4
- package/lib/components/input-tag/src/input-tag.vue.d.ts +15 -15
- package/lib/components/link/src/link.d.ts +2 -2
- package/lib/components/link/src/link.vue.d.ts +1 -1
- package/lib/components/mention/src/mention.d.ts +4 -4
- package/lib/components/mention/src/mention.vue.d.ts +3 -3
- package/lib/components/menu/src/menu-item.d.ts +8 -5
- package/lib/components/menu/src/menu-item.js +2 -2
- package/lib/components/menu/src/menu-item.js.map +1 -1
- package/lib/components/menu/src/menu-item.vue.d.ts +1 -3
- package/lib/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.js +0 -2
- package/lib/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/menu/src/menu-item2.js.map +1 -1
- package/lib/components/menu/src/menu.d.ts +2 -2
- package/lib/components/menu/src/utils/menu-bar.js.map +1 -1
- package/lib/components/menu/src/utils/menu-item.js +2 -3
- package/lib/components/menu/src/utils/menu-item.js.map +1 -1
- package/lib/components/menu/src/utils/submenu.js +1 -5
- package/lib/components/menu/src/utils/submenu.js.map +1 -1
- package/lib/components/message/src/message.d.ts +2 -2
- package/lib/components/message/src/message.vue.d.ts +6 -6
- package/lib/components/notification/src/notification.d.ts +1 -1
- package/lib/components/notification/src/notification.vue.d.ts +4 -4
- package/lib/components/pagination/src/pagination.d.ts +7 -7
- package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +5 -5
- package/lib/components/popover/src/popover.d.ts +2 -2
- package/lib/components/popover/src/popover.vue.d.ts +10 -10
- package/lib/components/popper/src/composables/use-content.d.ts +4 -4
- package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- package/lib/components/popper/src/content.d.ts +4 -4
- package/lib/components/popper/src/content.vue.d.ts +7 -7
- package/lib/components/popper/src/popper.d.ts +2 -2
- package/lib/components/progress/src/progress.vue.d.ts +2 -2
- package/lib/components/radio/src/radio-button.d.ts +4 -4
- package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
- package/lib/components/radio/src/radio-group.d.ts +1 -1
- package/lib/components/radio/src/radio-group.vue.d.ts +5 -5
- package/lib/components/radio/src/radio.d.ts +8 -8
- package/lib/components/radio/src/radio.vue.d.ts +4 -4
- package/lib/components/rate/src/rate.d.ts +1 -1
- package/lib/components/rate/src/rate.vue.d.ts +2 -2
- 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 +2 -2
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
- package/lib/components/segmented/index.d.ts +4 -4
- package/lib/components/segmented/src/segmented.d.ts +2 -2
- 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.d.ts +9 -6
- package/lib/components/select/src/select.js +1 -0
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select.vue.d.ts +91 -89
- package/lib/components/select/src/select.vue_vue_type_script_lang.js +2 -1
- package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select/src/select2.js +4 -2
- package/lib/components/select/src/select2.js.map +1 -1
- package/lib/components/select/src/useSelect.js +4 -0
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/src/defaults.d.ts +5 -4
- package/lib/components/select-v2/src/defaults.js +2 -0
- package/lib/components/select-v2/src/defaults.js.map +1 -1
- package/lib/components/select-v2/src/select-dropdown.d.ts +1 -0
- package/lib/components/select-v2/src/select-dropdown.js +7 -1
- package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
- package/lib/components/select-v2/src/select.js +4 -2
- package/lib/components/select-v2/src/select.js.map +1 -1
- package/lib/components/select-v2/src/select.vue.d.ts +83 -75
- package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select-v2/src/useSelect.js +4 -0
- 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 +2 -2
- package/lib/components/slider/src/slider.d.ts +2 -2
- package/lib/components/slider/src/slider.vue.d.ts +11 -11
- package/lib/components/space/src/space.d.ts +4 -4
- package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
- package/lib/components/steps/src/item.d.ts +1 -1
- package/lib/components/steps/src/item.vue.d.ts +1 -1
- package/lib/components/steps/src/steps.d.ts +2 -2
- package/lib/components/switch/src/switch.d.ts +1 -1
- package/lib/components/switch/src/switch.vue.d.ts +4 -4
- package/lib/components/table/src/table-column/index.d.ts +23 -23
- package/lib/components/table/src/table-header/index.d.ts +16 -16
- package/lib/components/table/src/table.vue.d.ts +48 -48
- package/lib/components/table-v2/src/components/row.d.ts +1 -1
- package/lib/components/table-v2/src/table-grid.d.ts +3 -3
- package/lib/components/table-v2/src/table-v2.d.ts +4 -4
- package/lib/components/tabs/src/tab-nav.d.ts +1 -1
- package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
- package/lib/components/tabs/src/tabs.d.ts +6 -6
- package/lib/components/tag/src/tag.d.ts +3 -3
- package/lib/components/tag/src/tag.vue.d.ts +1 -1
- package/lib/components/text/src/text.d.ts +2 -2
- package/lib/components/time-picker/src/common/picker.vue.d.ts +19 -19
- package/lib/components/time-picker/src/common/props.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker.d.ts +13 -13
- package/lib/components/time-select/src/time-select.d.ts +1 -1
- package/lib/components/time-select/src/time-select.vue.d.ts +10 -10
- package/lib/components/timeline/src/timeline-item.d.ts +3 -3
- package/lib/components/timeline/src/timeline-item.vue.d.ts +2 -2
- package/lib/components/tooltip/src/content.d.ts +1 -1
- package/lib/components/tooltip/src/content.vue.d.ts +5 -5
- package/lib/components/tooltip/src/tooltip.d.ts +3 -3
- package/lib/components/tooltip/src/tooltip.vue.d.ts +13 -13
- package/lib/components/tooltip/src/trigger.d.ts +1 -1
- package/lib/components/tour/src/content.d.ts +2 -2
- package/lib/components/tour/src/step.d.ts +1 -1
- package/lib/components/tour/src/tour.d.ts +1 -1
- package/lib/components/tour/src/tour.vue.d.ts +5 -5
- package/lib/components/transfer/src/transfer.vue.d.ts +2 -2
- package/lib/components/tree/src/tree.vue.d.ts +25 -25
- package/lib/components/tree-select/src/tree-select.vue.d.ts +48 -48
- package/lib/components/tree-v2/src/tree.vue.d.ts +6 -6
- package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
- package/lib/components/upload/src/upload.vue.d.ts +3 -3
- package/lib/components/virtual-list/index.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.js +57 -33
- package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
- 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 +9 -8
- 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 +9 -8
- package/lib/components/virtual-list/src/defaults.js +2 -0
- package/lib/components/virtual-list/src/defaults.js.map +1 -1
- package/lib/components/virtual-list/src/types.d.ts +7 -7
- package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
- package/lib/hooks/use-floating/index.d.ts +8 -8
- package/lib/hooks/use-popper/index.d.ts +4 -4
- package/lib/hooks/use-size/index.d.ts +3 -3
- package/lib/index.d.ts +2 -2
- package/lib/utils/vue/size.d.ts +1 -1
- package/lib/utils/vue/vnode.d.ts +2 -2
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/tags.json +1 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelect.mjs","names":["isUndefined"],"sources":["../../../../../../packages/components/select-v2/src/useSelect.ts"],"sourcesContent":["import {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n useSlots,\n watch,\n watchEffect,\n} from 'vue'\nimport { findLastIndex, get, isEqual } from 'lodash-unified'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n escapeStringRegexp,\n getEventCode,\n isArray,\n isEmpty,\n isFunction,\n isNumber,\n isObject,\n isUndefined,\n} from '@element-plus/utils'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n MINIMUM_INPUT_WIDTH,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useAllowCreate } from './useAllowCreate'\nimport { useProps } from './useProps'\n\nimport type { Option, OptionType, SelectStates } from './select.types'\nimport type { SelectV2Props } from './token'\nimport type { SelectV2EmitFn } from './defaults'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { SelectDropdownInstance } from './select-dropdown'\n\nconst useSelect = (props: SelectV2Props, emit: SelectV2EmitFn) => {\n // inject\n const { t } = useLocale()\n const slots = useSlots()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n const { form: elForm, formItem: elFormItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n })\n const { aliasProps, getLabel, getValue, getDisabled, getOptions } =\n useProps(props)\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const states: SelectStates = reactive({\n inputValue: '',\n cachedOptions: [],\n createdOptions: [],\n hoveringIndex: -1,\n inputHovering: false,\n selectionWidth: 0,\n collapseItemWidth: 0,\n previousQuery: null,\n previousValue: undefined,\n selectedLabel: '',\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // data refs\n const popperSize = ref(-1)\n const debouncing = ref(false)\n\n // DOM & Component refs\n const selectRef = ref<HTMLElement>()\n const selectionRef = ref<HTMLElement>()\n const tooltipRef = ref<TooltipInstance>()\n const tagTooltipRef = ref<TooltipInstance>()\n const inputRef = ref<HTMLElement>()\n const prefixRef = ref<HTMLElement>()\n const suffixRef = ref<HTMLElement>()\n const menuRef = ref<SelectDropdownInstance>()\n const tagMenuRef = ref<HTMLElement>()\n const collapseItemRef = ref<HTMLElement>()\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionEnd,\n handleCompositionUpdate,\n } = useComposition({\n afterComposition: (e) => onInput(e),\n })\n\n const selectDisabled = useFormDisabled()\n\n const { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n disabled: selectDisabled,\n afterFocus() {\n if (props.automaticDropdown && !expanded.value) {\n expanded.value = true\n states.menuVisibleOnFocus = true\n }\n },\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n expanded.value = false\n states.menuVisibleOnFocus = false\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch(NOOP)\n }\n },\n })\n\n const allOptions = computed(() => filterOptions(''))\n\n const hasOptions = computed(() => {\n if (props.loading) return false\n return props.options.length > 0 || states.createdOptions.length > 0\n })\n\n const filteredOptions = ref<OptionType[]>([])\n // the controller of the expanded popup\n const expanded = ref(false)\n\n const needStatusIcon = computed(() => elForm?.statusIcon ?? false)\n\n const popupHeight = computed(() => {\n const totalHeight = filteredOptions.value.length * props.itemHeight\n return totalHeight > props.height ? props.height : totalHeight\n })\n\n const hasModelValue = computed(() => {\n return props.multiple\n ? isArray(props.modelValue) && props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const showClearBtn = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n hasModelValue.value &&\n (isFocused.value || states.inputHovering)\n )\n })\n\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n\n const iconReverse = computed(\n () => iconComponent.value && nsSelect.is('reverse', expanded.value)\n )\n\n const validateState = computed(() => elFormItem?.validateState || '')\n const validateIcon = computed(() => {\n // When we use indexed access to get the type of an undeclared property,\n // the unsafe type `any` will be inferred, which TypeScript throws an error to emphasize it.\n // To avoid TypeScript complaining about it, we use truthiness narrowing to narrow the type of validateState.\n if (!validateState.value) return\n return ValidateComponentsMap[validateState.value]\n })\n\n const debounce = computed(() => (props.remote ? props.debounce : 0))\n\n const isRemoteSearchEmpty = computed(\n () => props.remote && !states.inputValue && !hasOptions.value\n )\n\n // filteredOptions includes flatten the data into one dimensional array.\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (\n props.filterable &&\n states.inputValue &&\n hasOptions.value &&\n filteredOptions.value.length === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (!hasOptions.value) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const isFilterMethodValid = computed(\n () => props.filterable && isFunction(props.filterMethod)\n )\n const isRemoteMethodValid = computed(\n () => props.filterable && props.remote && isFunction(props.remoteMethod)\n )\n\n const filterOptions = (query: string) => {\n const regexp = new RegExp(escapeStringRegexp(query), 'i')\n\n const isValidOption = (o: Option): boolean => {\n if (isFilterMethodValid.value || isRemoteMethodValid.value) return true\n // when query was given, we should test on the label see whether the label contains the given query\n return query ? regexp.test(getLabel(o) || '') : true\n }\n if (props.loading) {\n return []\n }\n\n return [...states.createdOptions, ...props.options].reduce((all, item) => {\n const options = getOptions(item)\n\n if (isArray(options)) {\n const filtered = options.filter(isValidOption)\n\n if (filtered.length > 0) {\n all.push(\n {\n label: getLabel(item),\n type: 'Group',\n },\n ...filtered\n )\n }\n } else if (props.remote || isValidOption(item)) {\n all.push(item)\n }\n\n return all\n }, []) as OptionType[]\n }\n\n const updateOptions = () => {\n filteredOptions.value = filterOptions(states.inputValue)\n }\n\n const allOptionsValueMap = computed(() => {\n const valueMap = new Map()\n\n allOptions.value.forEach((option, index) => {\n valueMap.set(getValueKey(getValue(option)), { option, index })\n })\n return valueMap\n })\n\n const filteredOptionsValueMap = computed(() => {\n const valueMap = new Map()\n\n filteredOptions.value.forEach((option, index) => {\n valueMap.set(getValueKey(getValue(option)), { option, index })\n })\n return valueMap\n })\n\n const optionsAllDisabled = computed(() =>\n filteredOptions.value.every((option) => getDisabled(option))\n )\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n 'small' === selectSize.value ? 'small' : 'default'\n )\n\n const calculatePopperSize = () => {\n if (isNumber(props.fitInputWidth)) {\n popperSize.value = props.fitInputWidth\n return\n }\n const width = selectRef.value?.offsetWidth || 200\n if (!props.fitInputWidth && hasOptions.value) {\n nextTick(() => {\n popperSize.value = Math.max(width, calculateLabelMaxWidth())\n })\n } else {\n popperSize.value = width\n }\n }\n\n // TODO Caching implementation\n // 1. There is no need to calculate options that have already been calculated\n // 2. Repeatedly expand and close when persistent is set to false, no need for repeated calculations\n const calculateLabelMaxWidth = () => {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n const selector = nsSelect.be('dropdown', 'item')\n const dom = menuRef.value?.listRef?.innerRef || document\n const dropdownItemEl = dom.querySelector(`.${selector}`)\n if (dropdownItemEl === null || ctx === null) return 0\n const style = getComputedStyle(dropdownItemEl)\n const padding =\n Number.parseFloat(style.paddingLeft) +\n Number.parseFloat(style.paddingRight)\n ctx.font = `bold ${style.font.replace(\n new RegExp(`\\\\b${style.fontWeight}\\\\b`),\n ''\n )}`\n const maxWidth = filteredOptions.value.reduce((max, option) => {\n const metrics = ctx.measureText(getLabel(option))\n return Math.max(metrics.width, max)\n }, 0)\n return maxWidth + padding\n }\n\n const getGapWidth = () => {\n if (!selectionRef.value) return 0\n const style = window.getComputedStyle(selectionRef.value)\n return Number.parseFloat(style.gap || '6px')\n }\n\n // computed style\n const tagStyle = computed(() => {\n const gapWidth = getGapWidth()\n const inputSlotWidth = props.filterable ? gapWidth + MINIMUM_INPUT_WIDTH : 0\n const maxWidth =\n collapseItemRef.value && props.maxCollapseTags === 1\n ? states.selectionWidth -\n states.collapseItemWidth -\n gapWidth -\n inputSlotWidth\n : states.selectionWidth - inputSlotWidth\n return { maxWidth: `${maxWidth}px` }\n })\n\n const collapseTagStyle = computed(() => {\n return { maxWidth: `${states.selectionWidth}px` }\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (isArray(props.modelValue)) {\n return props.modelValue.length === 0 && !states.inputValue\n }\n\n // when it's not multiple mode, we only determine this flag based on filterable and expanded\n // when filterable flag is true, which means we have input box on the screen\n return props.filterable ? !states.inputValue : true\n })\n\n const currentPlaceholder = computed(() => {\n const _placeholder = props.placeholder ?? t('el.select.placeholder')\n return props.multiple || !hasModelValue.value\n ? _placeholder\n : states.selectedLabel\n })\n\n // this obtains the actual popper DOM element.\n const popperRef = computed(() => tooltipRef.value?.popperRef?.contentRef)\n\n // the index with current value in options\n const indexRef = computed<number>(() => {\n if (props.multiple) {\n const len = (props.modelValue as []).length\n if (\n len > 0 &&\n filteredOptionsValueMap.value.has(props.modelValue[len - 1])\n ) {\n const { index } = filteredOptionsValueMap.value.get(\n props.modelValue[len - 1]\n )\n return index\n }\n } else {\n if (\n !isEmptyValue(props.modelValue) &&\n filteredOptionsValueMap.value.has(props.modelValue)\n ) {\n const { index } = filteredOptionsValueMap.value.get(props.modelValue)\n return index\n }\n }\n return -1\n })\n\n const dropdownMenuVisible = computed({\n get() {\n return (\n expanded.value &&\n (props.loading ||\n !isRemoteSearchEmpty.value ||\n (props.remote && !!slots.empty)) &&\n (!debouncing.value ||\n !isEmpty(states.previousQuery) ||\n hasOptions.value)\n )\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.cachedOptions.slice(0, props.maxCollapseTags)\n : states.cachedOptions\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.cachedOptions.slice(props.maxCollapseTags)\n : []\n })\n\n // hooks\n const {\n createNewOption,\n removeNewOption,\n selectNewOption,\n clearAllNewOption,\n } = useAllowCreate(props, states)\n\n // methods\n const toggleMenu = (event?: Event) => {\n if (\n selectDisabled.value ||\n (props.filterable &&\n expanded.value &&\n event &&\n !suffixRef.value?.contains(event.target as Node))\n )\n return\n\n if (states.menuVisibleOnFocus) {\n // controlled by automaticDropdown\n states.menuVisibleOnFocus = false\n } else {\n expanded.value = !expanded.value\n }\n }\n\n const onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n createNewOption(states.inputValue)\n nextTick(() => {\n handleQueryChange(states.inputValue)\n })\n }\n\n const debouncedOnInputChange = useDebounceFn(() => {\n onInputChange()\n debouncing.value = false\n }, debounce)\n\n const handleQueryChange = (val: string) => {\n if (states.previousQuery === val || isComposing.value) {\n return\n }\n states.previousQuery = val\n if (props.filterable && isFunction(props.filterMethod)) {\n props.filterMethod(val)\n } else if (\n props.filterable &&\n props.remote &&\n isFunction(props.remoteMethod)\n ) {\n props.remoteMethod(val)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptions.value.length\n ) {\n nextTick(checkDefaultFirstOption)\n } else {\n nextTick(updateHoveringIndex)\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = filteredOptions.value.filter(\n (n) => !n.disabled && n.type !== 'Group'\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n states.hoveringIndex = getValueIndex(\n filteredOptions.value,\n userCreatedOption || firstOriginOption\n )\n }\n\n const emitChange = (val: any | any[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const update = (val: any) => {\n emit(UPDATE_MODEL_EVENT, val)\n emitChange(val)\n states.previousValue = props.multiple ? String(val) : val\n\n nextTick(() => {\n if (props.multiple && isArray(props.modelValue)) {\n const cachedOptions = states.cachedOptions.slice()\n const selectedOptions = props.modelValue.map((value) =>\n getOption(value, cachedOptions)\n )\n\n if (!isEqual(states.cachedOptions, selectedOptions)) {\n states.cachedOptions = selectedOptions\n }\n } else {\n initStates(true)\n }\n })\n }\n\n const getValueIndex = (arr: unknown[] = [], value: unknown) => {\n if (!isObject(value)) {\n return arr.indexOf(value)\n }\n const valueKey = props.valueKey\n let index = -1\n arr.some((item, i) => {\n if (get(item, valueKey) === get(value, valueKey)) {\n index = i\n return true\n }\n return false\n })\n return index\n }\n\n const getValueKey = (item: unknown) => {\n return isObject(item) ? get(item, props.valueKey) : item\n }\n\n const handleResize = () => {\n calculatePopperSize()\n }\n\n const resetSelectionWidth = () => {\n states.selectionWidth = Number.parseFloat(\n window.getComputedStyle(selectionRef.value!).width\n )\n }\n\n const resetCollapseItemWidth = () => {\n states.collapseItemWidth =\n collapseItemRef.value!.getBoundingClientRect().width\n }\n\n const updateTooltip = () => {\n tooltipRef.value?.updatePopper?.()\n }\n\n const updateTagTooltip = () => {\n tagTooltipRef.value?.updatePopper?.()\n }\n\n const onSelect = (option: Option) => {\n const optionValue = getValue(option)\n\n if (props.multiple) {\n let selectedOptions = (props.modelValue as any[]).slice()\n\n const index = getValueIndex(selectedOptions, optionValue)\n if (index > -1) {\n selectedOptions = [\n ...selectedOptions.slice(0, index),\n ...selectedOptions.slice(index + 1),\n ]\n states.cachedOptions.splice(index, 1)\n removeNewOption(option)\n } else if (\n props.multipleLimit <= 0 ||\n selectedOptions.length < props.multipleLimit\n ) {\n selectedOptions = [...selectedOptions, optionValue]\n states.cachedOptions.push(option)\n selectNewOption(option)\n }\n update(selectedOptions)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && (option.created || !props.reserveKeyword)) {\n states.inputValue = ''\n }\n } else {\n states.selectedLabel = getLabel(option)\n !isEqual(props.modelValue, optionValue) && update(optionValue)\n expanded.value = false\n selectNewOption(option)\n if (!option.created) {\n clearAllNewOption()\n }\n }\n focus()\n }\n\n const deleteTag = (event: MouseEvent, option: Option) => {\n let selectedOptions = (props.modelValue as any[]).slice()\n\n const index = getValueIndex(selectedOptions, getValue(option))\n\n if (index > -1 && !selectDisabled.value) {\n selectedOptions = [\n ...(props.modelValue as Array<unknown>).slice(0, index),\n ...(props.modelValue as Array<unknown>).slice(index + 1),\n ]\n states.cachedOptions.splice(index, 1)\n update(selectedOptions)\n emit('remove-tag', getValue(option))\n removeNewOption(option)\n }\n event.stopPropagation()\n focus()\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n if (expanded.value) {\n expanded.value = false\n nextTick(() => inputRef.value?.blur())\n return\n }\n inputRef.value?.blur()\n }\n\n // keyboard handlers\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\n const getLastNotDisabledIndex = (value: unknown[]) =>\n findLastIndex(\n value,\n (it) =>\n !states.cachedOptions.some(\n (option) => getValue(option) === it && getDisabled(option)\n )\n )\n\n const handleDel = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n if (!props.multiple) return\n if (code === EVENT_CODE.delete) return\n if (states.inputValue.length === 0) {\n e.preventDefault()\n const selected = (props.modelValue as Array<any>).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(selected)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = selected[lastNotDisabledIndex]\n selected.splice(lastNotDisabledIndex, 1)\n const option = states.cachedOptions[lastNotDisabledIndex]\n states.cachedOptions.splice(lastNotDisabledIndex, 1)\n removeNewOption(option)\n update(selected)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const handleClear = () => {\n let emptyValue: string | any[]\n if (isArray(props.modelValue)) {\n emptyValue = []\n } else {\n emptyValue = valueOnClear.value\n }\n\n states.selectedLabel = ''\n\n expanded.value = false\n update(emptyValue)\n emit('clear')\n clearAllNewOption()\n focus()\n }\n\n const onKeyboardNavigate = (\n direction: 'forward' | 'backward',\n hoveringIndex: number | undefined = undefined\n ): void => {\n const options = filteredOptions.value\n if (\n !['forward', 'backward'].includes(direction) ||\n selectDisabled.value ||\n options.length <= 0 ||\n optionsAllDisabled.value ||\n isComposing.value\n ) {\n return\n }\n if (!expanded.value) {\n return toggleMenu()\n }\n if (isUndefined(hoveringIndex)) {\n hoveringIndex = states.hoveringIndex\n }\n let newIndex = -1\n if (direction === 'forward') {\n newIndex = hoveringIndex + 1\n if (newIndex >= options.length) {\n // return to the first option\n newIndex = 0\n }\n } else if (direction === 'backward') {\n newIndex = hoveringIndex - 1\n if (newIndex < 0 || newIndex >= options.length) {\n // navigate to the last one\n newIndex = options.length - 1\n }\n }\n const option = options[newIndex]\n if (getDisabled(option) || option.type === 'Group') {\n // prevent dispatching multiple nextTick callbacks.\n return onKeyboardNavigate(direction, newIndex)\n } else {\n states.hoveringIndex = newIndex\n scrollToItem(newIndex)\n }\n }\n\n const onKeyboardSelect = () => {\n if (!expanded.value) {\n return toggleMenu()\n } else if (\n ~states.hoveringIndex &&\n filteredOptions.value[states.hoveringIndex]\n ) {\n onSelect(filteredOptions.value[states.hoveringIndex])\n }\n }\n\n const onHoverOption = (idx?: number) => {\n states.hoveringIndex = idx ?? -1\n }\n\n const updateHoveringIndex = () => {\n if (!props.multiple) {\n states.hoveringIndex = filteredOptions.value.findIndex((item) => {\n return getValueKey(getValue(item)) === getValueKey(props.modelValue)\n })\n } else {\n const length = props.modelValue.length\n if (length > 0) {\n const lastValue = props.modelValue[length - 1]\n states.hoveringIndex = filteredOptions.value.findIndex(\n (item) => getValueKey(lastValue) === getValueKey(getValue(item))\n )\n } else {\n states.hoveringIndex = -1\n }\n }\n }\n\n const onInput = (event: Event) => {\n states.inputValue = (event.target as HTMLInputElement).value\n if (props.remote) {\n debouncing.value = true\n debouncedOnInputChange()\n } else {\n return onInputChange()\n }\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n handleBlur(_event)\n }\n }\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n return nextTick(() => {\n if (~indexRef.value) {\n scrollToItem(indexRef.value)\n }\n })\n }\n\n const scrollToItem = (index: number) => {\n menuRef.value!.scrollToItem(index)\n }\n\n const getOption = (value: unknown, cachedOptions?: Option[]) => {\n // match the option with the given value, if not found, create a new option\n const selectValue = getValueKey(value)\n\n if (allOptionsValueMap.value.has(selectValue)) {\n const { option } = allOptionsValueMap.value.get(selectValue)\n\n return option\n }\n if (cachedOptions && cachedOptions.length) {\n const option = cachedOptions.find(\n (option) => getValueKey(getValue(option)) === selectValue\n )\n if (option) {\n return option\n }\n }\n\n return {\n [aliasProps.value.value]: value,\n [aliasProps.value.label]: value,\n }\n }\n\n const getIndex = (option: Option) =>\n allOptionsValueMap.value.get(getValue(option))?.index ?? -1\n\n const initStates = (needUpdateSelectedLabel = false) => {\n if (props.multiple) {\n if ((props.modelValue as Array<any>).length > 0) {\n const cachedOptions = states.cachedOptions.slice()\n states.cachedOptions.length = 0\n states.previousValue = props.modelValue.toString()\n\n for (const value of props.modelValue) {\n const option = getOption(value, cachedOptions)\n states.cachedOptions.push(option)\n }\n } else {\n states.cachedOptions = []\n states.previousValue = undefined\n }\n } else {\n if (hasModelValue.value) {\n states.previousValue = props.modelValue\n const options = filteredOptions.value\n const selectedItemIndex = options.findIndex(\n (option) =>\n getValueKey(getValue(option)) === getValueKey(props.modelValue)\n )\n if (~selectedItemIndex) {\n states.selectedLabel = getLabel(options[selectedItemIndex])\n } else {\n if (!states.selectedLabel || needUpdateSelectedLabel) {\n states.selectedLabel = getValueKey(props.modelValue)\n }\n }\n } else {\n states.selectedLabel = ''\n states.previousValue = undefined\n }\n }\n clearAllNewOption()\n calculatePopperSize()\n }\n\n watch(\n () => props.fitInputWidth,\n () => {\n calculatePopperSize()\n }\n )\n\n // in order to track these individually, we need to turn them into refs instead of watching the entire\n // reactive object which could cause perf penalty when unnecessary field gets changed the watch method will\n // be invoked.\n\n watch(expanded, (val) => {\n if (val) {\n if (!props.persistent) {\n calculatePopperSize()\n }\n handleQueryChange('')\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n states.menuVisibleOnFocus = false\n createNewOption('')\n }\n })\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n const isValEmpty = !val || (isArray(val) && val.length === 0)\n\n if (\n isValEmpty ||\n (props.multiple && !isEqual(val.toString(), states.previousValue)) ||\n (!props.multiple &&\n getValueKey(val) !== getValueKey(states.previousValue))\n ) {\n initStates(true)\n }\n if (!isEqual(val, oldVal) && props.validateEvent) {\n elFormItem?.validate?.('change').catch(NOOP)\n }\n },\n {\n deep: true,\n }\n )\n\n watch(\n () => props.options,\n () => {\n const input = inputRef.value\n // filter or remote-search scenarios are not initialized\n if (!input || (input && document.activeElement !== input)) {\n initStates()\n }\n },\n {\n deep: true,\n flush: 'post',\n }\n )\n\n // fix the problem that scrollTop is not reset in filterable mode\n watch(\n () => filteredOptions.value,\n () => {\n calculatePopperSize()\n return menuRef.value && nextTick(menuRef.value.resetScrollTop)\n }\n )\n\n watchEffect(() => {\n // Anything could cause options changed, then update options\n // If you want to control it by condition, write here\n if (states.isBeforeHide) return\n updateOptions()\n })\n\n watchEffect(() => {\n const { valueKey, options } = props\n const duplicateValue = new Map()\n for (const item of options) {\n const optionValue = getValue(item)\n let v = optionValue\n if (isObject(v)) {\n v = get(optionValue, valueKey)\n }\n if (duplicateValue.get(v)) {\n debugWarn(\n 'ElSelectV2',\n `The option values you provided seem to be duplicated, which may cause some problems, please check.`\n )\n break\n } else {\n duplicateValue.set(v, true)\n }\n }\n })\n\n onMounted(() => {\n initStates()\n })\n useResizeObserver(selectRef, handleResize)\n useResizeObserver(selectionRef, resetSelectionWidth)\n useResizeObserver(wrapperRef, updateTooltip)\n useResizeObserver(tagMenuRef, updateTagTooltip)\n useResizeObserver(collapseItemRef, resetCollapseItemWidth)\n\n // #21498\n let stop: (() => void) | undefined\n watch(\n () => dropdownMenuVisible.value,\n (newVal) => {\n if (newVal) {\n stop = useResizeObserver(menuRef, updateTooltip).stop\n } else {\n stop?.()\n stop = undefined\n }\n emit('visible-change', newVal)\n }\n )\n\n return {\n // data exports\n inputId,\n collapseTagSize,\n currentPlaceholder,\n expanded,\n emptyText,\n popupHeight,\n debounce,\n allOptions,\n allOptionsValueMap,\n filteredOptions,\n iconComponent,\n iconReverse,\n tagStyle,\n collapseTagStyle,\n popperSize,\n dropdownMenuVisible,\n hasModelValue,\n shouldShowPlaceholder,\n selectDisabled,\n selectSize,\n needStatusIcon,\n showClearBtn,\n states,\n isFocused,\n nsSelect,\n nsInput,\n\n // refs items exports\n inputRef,\n menuRef,\n tagMenuRef,\n tooltipRef,\n tagTooltipRef,\n selectRef,\n wrapperRef,\n selectionRef,\n prefixRef,\n suffixRef,\n collapseItemRef,\n\n popperRef,\n\n validateState,\n validateIcon,\n showTagList,\n collapseTagList,\n\n // methods exports\n debouncedOnInputChange,\n deleteTag,\n getLabel,\n getValue,\n getDisabled,\n getValueKey,\n getIndex,\n handleClear,\n handleClickOutside,\n handleDel,\n handleEsc,\n focus,\n blur,\n handleMenuEnter,\n handleResize,\n resetSelectionWidth,\n updateTooltip,\n updateTagTooltip,\n updateOptions,\n toggleMenu,\n scrollTo: scrollToItem,\n onInput,\n onKeyboardNavigate,\n onKeyboardSelect,\n onSelect,\n onHover: onHoverOption,\n handleCompositionStart,\n handleCompositionEnd,\n handleCompositionUpdate,\n }\n}\n\nexport default useSelect\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSelect.mjs","names":["isUndefined"],"sources":["../../../../../../packages/components/select-v2/src/useSelect.ts"],"sourcesContent":["import {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n useSlots,\n watch,\n watchEffect,\n} from 'vue'\nimport { findLastIndex, get, isEqual } from 'lodash-unified'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n escapeStringRegexp,\n getEventCode,\n isArray,\n isEmpty,\n isFunction,\n isNumber,\n isObject,\n isUndefined,\n} from '@element-plus/utils'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n MINIMUM_INPUT_WIDTH,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useAllowCreate } from './useAllowCreate'\nimport { useProps } from './useProps'\n\nimport type { Option, OptionType, SelectStates } from './select.types'\nimport type { SelectV2Props } from './token'\nimport type { SelectV2EmitFn } from './defaults'\nimport type { ScrollbarDirection } from '@element-plus/components/scrollbar'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { SelectDropdownInstance } from './select-dropdown'\n\nconst useSelect = (props: SelectV2Props, emit: SelectV2EmitFn) => {\n // inject\n const { t } = useLocale()\n const slots = useSlots()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n const { form: elForm, formItem: elFormItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n })\n const { aliasProps, getLabel, getValue, getDisabled, getOptions } =\n useProps(props)\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const states: SelectStates = reactive({\n inputValue: '',\n cachedOptions: [],\n createdOptions: [],\n hoveringIndex: -1,\n inputHovering: false,\n selectionWidth: 0,\n collapseItemWidth: 0,\n previousQuery: null,\n previousValue: undefined,\n selectedLabel: '',\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // data refs\n const popperSize = ref(-1)\n const debouncing = ref(false)\n\n // DOM & Component refs\n const selectRef = ref<HTMLElement>()\n const selectionRef = ref<HTMLElement>()\n const tooltipRef = ref<TooltipInstance>()\n const tagTooltipRef = ref<TooltipInstance>()\n const inputRef = ref<HTMLElement>()\n const prefixRef = ref<HTMLElement>()\n const suffixRef = ref<HTMLElement>()\n const menuRef = ref<SelectDropdownInstance>()\n const tagMenuRef = ref<HTMLElement>()\n const collapseItemRef = ref<HTMLElement>()\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionEnd,\n handleCompositionUpdate,\n } = useComposition({\n afterComposition: (e) => onInput(e),\n })\n\n const selectDisabled = useFormDisabled()\n\n const { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n disabled: selectDisabled,\n afterFocus() {\n if (props.automaticDropdown && !expanded.value) {\n expanded.value = true\n states.menuVisibleOnFocus = true\n }\n },\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n expanded.value = false\n states.menuVisibleOnFocus = false\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch(NOOP)\n }\n },\n })\n\n const allOptions = computed(() => filterOptions(''))\n\n const hasOptions = computed(() => {\n if (props.loading) return false\n return props.options.length > 0 || states.createdOptions.length > 0\n })\n\n const filteredOptions = ref<OptionType[]>([])\n // the controller of the expanded popup\n const expanded = ref(false)\n\n const needStatusIcon = computed(() => elForm?.statusIcon ?? false)\n\n const popupHeight = computed(() => {\n const totalHeight = filteredOptions.value.length * props.itemHeight\n return totalHeight > props.height ? props.height : totalHeight\n })\n\n const hasModelValue = computed(() => {\n return props.multiple\n ? isArray(props.modelValue) && props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const showClearBtn = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n hasModelValue.value &&\n (isFocused.value || states.inputHovering)\n )\n })\n\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n\n const iconReverse = computed(\n () => iconComponent.value && nsSelect.is('reverse', expanded.value)\n )\n\n const validateState = computed(() => elFormItem?.validateState || '')\n const validateIcon = computed(() => {\n // When we use indexed access to get the type of an undeclared property,\n // the unsafe type `any` will be inferred, which TypeScript throws an error to emphasize it.\n // To avoid TypeScript complaining about it, we use truthiness narrowing to narrow the type of validateState.\n if (!validateState.value) return\n return ValidateComponentsMap[validateState.value]\n })\n\n const debounce = computed(() => (props.remote ? props.debounce : 0))\n\n const isRemoteSearchEmpty = computed(\n () => props.remote && !states.inputValue && !hasOptions.value\n )\n\n // filteredOptions includes flatten the data into one dimensional array.\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (\n props.filterable &&\n states.inputValue &&\n hasOptions.value &&\n filteredOptions.value.length === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (!hasOptions.value) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const isFilterMethodValid = computed(\n () => props.filterable && isFunction(props.filterMethod)\n )\n const isRemoteMethodValid = computed(\n () => props.filterable && props.remote && isFunction(props.remoteMethod)\n )\n\n const filterOptions = (query: string) => {\n const regexp = new RegExp(escapeStringRegexp(query), 'i')\n\n const isValidOption = (o: Option): boolean => {\n if (isFilterMethodValid.value || isRemoteMethodValid.value) return true\n // when query was given, we should test on the label see whether the label contains the given query\n return query ? regexp.test(getLabel(o) || '') : true\n }\n if (props.loading) {\n return []\n }\n\n return [...states.createdOptions, ...props.options].reduce((all, item) => {\n const options = getOptions(item)\n\n if (isArray(options)) {\n const filtered = options.filter(isValidOption)\n\n if (filtered.length > 0) {\n all.push(\n {\n label: getLabel(item),\n type: 'Group',\n },\n ...filtered\n )\n }\n } else if (props.remote || isValidOption(item)) {\n all.push(item)\n }\n\n return all\n }, []) as OptionType[]\n }\n\n const updateOptions = () => {\n filteredOptions.value = filterOptions(states.inputValue)\n }\n\n const allOptionsValueMap = computed(() => {\n const valueMap = new Map()\n\n allOptions.value.forEach((option, index) => {\n valueMap.set(getValueKey(getValue(option)), { option, index })\n })\n return valueMap\n })\n\n const filteredOptionsValueMap = computed(() => {\n const valueMap = new Map()\n\n filteredOptions.value.forEach((option, index) => {\n valueMap.set(getValueKey(getValue(option)), { option, index })\n })\n return valueMap\n })\n\n const optionsAllDisabled = computed(() =>\n filteredOptions.value.every((option) => getDisabled(option))\n )\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n 'small' === selectSize.value ? 'small' : 'default'\n )\n\n const calculatePopperSize = () => {\n if (isNumber(props.fitInputWidth)) {\n popperSize.value = props.fitInputWidth\n return\n }\n const width = selectRef.value?.offsetWidth || 200\n if (!props.fitInputWidth && hasOptions.value) {\n nextTick(() => {\n popperSize.value = Math.max(width, calculateLabelMaxWidth())\n })\n } else {\n popperSize.value = width\n }\n }\n\n // TODO Caching implementation\n // 1. There is no need to calculate options that have already been calculated\n // 2. Repeatedly expand and close when persistent is set to false, no need for repeated calculations\n const calculateLabelMaxWidth = () => {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n const selector = nsSelect.be('dropdown', 'item')\n const dom = menuRef.value?.listRef?.innerRef || document\n const dropdownItemEl = dom.querySelector(`.${selector}`)\n if (dropdownItemEl === null || ctx === null) return 0\n const style = getComputedStyle(dropdownItemEl)\n const padding =\n Number.parseFloat(style.paddingLeft) +\n Number.parseFloat(style.paddingRight)\n ctx.font = `bold ${style.font.replace(\n new RegExp(`\\\\b${style.fontWeight}\\\\b`),\n ''\n )}`\n const maxWidth = filteredOptions.value.reduce((max, option) => {\n const metrics = ctx.measureText(getLabel(option))\n return Math.max(metrics.width, max)\n }, 0)\n return maxWidth + padding\n }\n\n const getGapWidth = () => {\n if (!selectionRef.value) return 0\n const style = window.getComputedStyle(selectionRef.value)\n return Number.parseFloat(style.gap || '6px')\n }\n\n // computed style\n const tagStyle = computed(() => {\n const gapWidth = getGapWidth()\n const inputSlotWidth = props.filterable ? gapWidth + MINIMUM_INPUT_WIDTH : 0\n const maxWidth =\n collapseItemRef.value && props.maxCollapseTags === 1\n ? states.selectionWidth -\n states.collapseItemWidth -\n gapWidth -\n inputSlotWidth\n : states.selectionWidth - inputSlotWidth\n return { maxWidth: `${maxWidth}px` }\n })\n\n const collapseTagStyle = computed(() => {\n return { maxWidth: `${states.selectionWidth}px` }\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (isArray(props.modelValue)) {\n return props.modelValue.length === 0 && !states.inputValue\n }\n\n // when it's not multiple mode, we only determine this flag based on filterable and expanded\n // when filterable flag is true, which means we have input box on the screen\n return props.filterable ? !states.inputValue : true\n })\n\n const currentPlaceholder = computed(() => {\n const _placeholder = props.placeholder ?? t('el.select.placeholder')\n return props.multiple || !hasModelValue.value\n ? _placeholder\n : states.selectedLabel\n })\n\n // this obtains the actual popper DOM element.\n const popperRef = computed(() => tooltipRef.value?.popperRef?.contentRef)\n\n // the index with current value in options\n const indexRef = computed<number>(() => {\n if (props.multiple) {\n const len = (props.modelValue as []).length\n if (\n len > 0 &&\n filteredOptionsValueMap.value.has(props.modelValue[len - 1])\n ) {\n const { index } = filteredOptionsValueMap.value.get(\n props.modelValue[len - 1]\n )\n return index\n }\n } else {\n if (\n !isEmptyValue(props.modelValue) &&\n filteredOptionsValueMap.value.has(props.modelValue)\n ) {\n const { index } = filteredOptionsValueMap.value.get(props.modelValue)\n return index\n }\n }\n return -1\n })\n\n const dropdownMenuVisible = computed({\n get() {\n return (\n expanded.value &&\n (props.loading ||\n !isRemoteSearchEmpty.value ||\n (props.remote && !!slots.empty)) &&\n (!debouncing.value ||\n !isEmpty(states.previousQuery) ||\n hasOptions.value)\n )\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.cachedOptions.slice(0, props.maxCollapseTags)\n : states.cachedOptions\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.cachedOptions.slice(props.maxCollapseTags)\n : []\n })\n\n // hooks\n const {\n createNewOption,\n removeNewOption,\n selectNewOption,\n clearAllNewOption,\n } = useAllowCreate(props, states)\n\n // methods\n const toggleMenu = (event?: Event) => {\n if (\n selectDisabled.value ||\n (props.filterable &&\n expanded.value &&\n event &&\n !suffixRef.value?.contains(event.target as Node))\n )\n return\n\n if (states.menuVisibleOnFocus) {\n // controlled by automaticDropdown\n states.menuVisibleOnFocus = false\n } else {\n expanded.value = !expanded.value\n }\n }\n\n const onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n createNewOption(states.inputValue)\n nextTick(() => {\n handleQueryChange(states.inputValue)\n })\n }\n\n const debouncedOnInputChange = useDebounceFn(() => {\n onInputChange()\n debouncing.value = false\n }, debounce)\n\n const handleQueryChange = (val: string) => {\n if (states.previousQuery === val || isComposing.value) {\n return\n }\n states.previousQuery = val\n if (props.filterable && isFunction(props.filterMethod)) {\n props.filterMethod(val)\n } else if (\n props.filterable &&\n props.remote &&\n isFunction(props.remoteMethod)\n ) {\n props.remoteMethod(val)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptions.value.length\n ) {\n nextTick(checkDefaultFirstOption)\n } else {\n nextTick(updateHoveringIndex)\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = filteredOptions.value.filter(\n (n) => !n.disabled && n.type !== 'Group'\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n states.hoveringIndex = getValueIndex(\n filteredOptions.value,\n userCreatedOption || firstOriginOption\n )\n }\n\n const emitChange = (val: any | any[]) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const update = (val: any) => {\n emit(UPDATE_MODEL_EVENT, val)\n emitChange(val)\n states.previousValue = props.multiple ? String(val) : val\n\n nextTick(() => {\n if (props.multiple && isArray(props.modelValue)) {\n const cachedOptions = states.cachedOptions.slice()\n const selectedOptions = props.modelValue.map((value) =>\n getOption(value, cachedOptions)\n )\n\n if (!isEqual(states.cachedOptions, selectedOptions)) {\n states.cachedOptions = selectedOptions\n }\n } else {\n initStates(true)\n }\n })\n }\n\n const getValueIndex = (arr: unknown[] = [], value: unknown) => {\n if (!isObject(value)) {\n return arr.indexOf(value)\n }\n const valueKey = props.valueKey\n let index = -1\n arr.some((item, i) => {\n if (get(item, valueKey) === get(value, valueKey)) {\n index = i\n return true\n }\n return false\n })\n return index\n }\n\n const getValueKey = (item: unknown) => {\n return isObject(item) ? get(item, props.valueKey) : item\n }\n\n const handleResize = () => {\n calculatePopperSize()\n }\n\n const onEndReached = (direction: ScrollbarDirection) => {\n emit('end-reached', direction)\n }\n\n const resetSelectionWidth = () => {\n states.selectionWidth = Number.parseFloat(\n window.getComputedStyle(selectionRef.value!).width\n )\n }\n\n const resetCollapseItemWidth = () => {\n states.collapseItemWidth =\n collapseItemRef.value!.getBoundingClientRect().width\n }\n\n const updateTooltip = () => {\n tooltipRef.value?.updatePopper?.()\n }\n\n const updateTagTooltip = () => {\n tagTooltipRef.value?.updatePopper?.()\n }\n\n const onSelect = (option: Option) => {\n const optionValue = getValue(option)\n\n if (props.multiple) {\n let selectedOptions = (props.modelValue as any[]).slice()\n\n const index = getValueIndex(selectedOptions, optionValue)\n if (index > -1) {\n selectedOptions = [\n ...selectedOptions.slice(0, index),\n ...selectedOptions.slice(index + 1),\n ]\n states.cachedOptions.splice(index, 1)\n removeNewOption(option)\n } else if (\n props.multipleLimit <= 0 ||\n selectedOptions.length < props.multipleLimit\n ) {\n selectedOptions = [...selectedOptions, optionValue]\n states.cachedOptions.push(option)\n selectNewOption(option)\n }\n update(selectedOptions)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && (option.created || !props.reserveKeyword)) {\n states.inputValue = ''\n }\n } else {\n states.selectedLabel = getLabel(option)\n !isEqual(props.modelValue, optionValue) && update(optionValue)\n expanded.value = false\n selectNewOption(option)\n if (!option.created) {\n clearAllNewOption()\n }\n }\n focus()\n }\n\n const deleteTag = (event: MouseEvent, option: Option) => {\n let selectedOptions = (props.modelValue as any[]).slice()\n\n const index = getValueIndex(selectedOptions, getValue(option))\n\n if (index > -1 && !selectDisabled.value) {\n selectedOptions = [\n ...(props.modelValue as Array<unknown>).slice(0, index),\n ...(props.modelValue as Array<unknown>).slice(index + 1),\n ]\n states.cachedOptions.splice(index, 1)\n update(selectedOptions)\n emit('remove-tag', getValue(option))\n removeNewOption(option)\n }\n event.stopPropagation()\n focus()\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n if (expanded.value) {\n expanded.value = false\n nextTick(() => inputRef.value?.blur())\n return\n }\n inputRef.value?.blur()\n }\n\n // keyboard handlers\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\n const getLastNotDisabledIndex = (value: unknown[]) =>\n findLastIndex(\n value,\n (it) =>\n !states.cachedOptions.some(\n (option) => getValue(option) === it && getDisabled(option)\n )\n )\n\n const handleDel = (e: KeyboardEvent) => {\n const code = getEventCode(e)\n if (!props.multiple) return\n if (code === EVENT_CODE.delete) return\n if (states.inputValue.length === 0) {\n e.preventDefault()\n const selected = (props.modelValue as Array<any>).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(selected)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = selected[lastNotDisabledIndex]\n selected.splice(lastNotDisabledIndex, 1)\n const option = states.cachedOptions[lastNotDisabledIndex]\n states.cachedOptions.splice(lastNotDisabledIndex, 1)\n removeNewOption(option)\n update(selected)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const handleClear = () => {\n let emptyValue: string | any[]\n if (isArray(props.modelValue)) {\n emptyValue = []\n } else {\n emptyValue = valueOnClear.value\n }\n\n states.selectedLabel = ''\n\n expanded.value = false\n update(emptyValue)\n emit('clear')\n clearAllNewOption()\n focus()\n }\n\n const onKeyboardNavigate = (\n direction: 'forward' | 'backward',\n hoveringIndex: number | undefined = undefined\n ): void => {\n const options = filteredOptions.value\n if (\n !['forward', 'backward'].includes(direction) ||\n selectDisabled.value ||\n options.length <= 0 ||\n optionsAllDisabled.value ||\n isComposing.value\n ) {\n return\n }\n if (!expanded.value) {\n return toggleMenu()\n }\n if (isUndefined(hoveringIndex)) {\n hoveringIndex = states.hoveringIndex\n }\n let newIndex = -1\n if (direction === 'forward') {\n newIndex = hoveringIndex + 1\n if (newIndex >= options.length) {\n // return to the first option\n newIndex = 0\n }\n } else if (direction === 'backward') {\n newIndex = hoveringIndex - 1\n if (newIndex < 0 || newIndex >= options.length) {\n // navigate to the last one\n newIndex = options.length - 1\n }\n }\n const option = options[newIndex]\n if (getDisabled(option) || option.type === 'Group') {\n // prevent dispatching multiple nextTick callbacks.\n return onKeyboardNavigate(direction, newIndex)\n } else {\n states.hoveringIndex = newIndex\n scrollToItem(newIndex)\n }\n }\n\n const onKeyboardSelect = () => {\n if (!expanded.value) {\n return toggleMenu()\n } else if (\n ~states.hoveringIndex &&\n filteredOptions.value[states.hoveringIndex]\n ) {\n onSelect(filteredOptions.value[states.hoveringIndex])\n }\n }\n\n const onHoverOption = (idx?: number) => {\n states.hoveringIndex = idx ?? -1\n }\n\n const updateHoveringIndex = () => {\n if (!props.multiple) {\n states.hoveringIndex = filteredOptions.value.findIndex((item) => {\n return getValueKey(getValue(item)) === getValueKey(props.modelValue)\n })\n } else {\n const length = props.modelValue.length\n if (length > 0) {\n const lastValue = props.modelValue[length - 1]\n states.hoveringIndex = filteredOptions.value.findIndex(\n (item) => getValueKey(lastValue) === getValueKey(getValue(item))\n )\n } else {\n states.hoveringIndex = -1\n }\n }\n }\n\n const onInput = (event: Event) => {\n states.inputValue = (event.target as HTMLInputElement).value\n if (props.remote) {\n debouncing.value = true\n debouncedOnInputChange()\n } else {\n return onInputChange()\n }\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('blur', event)\n handleBlur(_event)\n }\n }\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n return nextTick(() => {\n if (~indexRef.value) {\n scrollToItem(indexRef.value)\n }\n })\n }\n\n const scrollToItem = (index: number) => {\n menuRef.value!.scrollToItem(index)\n }\n\n const getOption = (value: unknown, cachedOptions?: Option[]) => {\n // match the option with the given value, if not found, create a new option\n const selectValue = getValueKey(value)\n\n if (allOptionsValueMap.value.has(selectValue)) {\n const { option } = allOptionsValueMap.value.get(selectValue)\n\n return option\n }\n if (cachedOptions && cachedOptions.length) {\n const option = cachedOptions.find(\n (option) => getValueKey(getValue(option)) === selectValue\n )\n if (option) {\n return option\n }\n }\n\n return {\n [aliasProps.value.value]: value,\n [aliasProps.value.label]: value,\n }\n }\n\n const getIndex = (option: Option) =>\n allOptionsValueMap.value.get(getValue(option))?.index ?? -1\n\n const initStates = (needUpdateSelectedLabel = false) => {\n if (props.multiple) {\n if ((props.modelValue as Array<any>).length > 0) {\n const cachedOptions = states.cachedOptions.slice()\n states.cachedOptions.length = 0\n states.previousValue = props.modelValue.toString()\n\n for (const value of props.modelValue) {\n const option = getOption(value, cachedOptions)\n states.cachedOptions.push(option)\n }\n } else {\n states.cachedOptions = []\n states.previousValue = undefined\n }\n } else {\n if (hasModelValue.value) {\n states.previousValue = props.modelValue\n const options = filteredOptions.value\n const selectedItemIndex = options.findIndex(\n (option) =>\n getValueKey(getValue(option)) === getValueKey(props.modelValue)\n )\n if (~selectedItemIndex) {\n states.selectedLabel = getLabel(options[selectedItemIndex])\n } else {\n if (!states.selectedLabel || needUpdateSelectedLabel) {\n states.selectedLabel = getValueKey(props.modelValue)\n }\n }\n } else {\n states.selectedLabel = ''\n states.previousValue = undefined\n }\n }\n clearAllNewOption()\n calculatePopperSize()\n }\n\n watch(\n () => props.fitInputWidth,\n () => {\n calculatePopperSize()\n }\n )\n\n // in order to track these individually, we need to turn them into refs instead of watching the entire\n // reactive object which could cause perf penalty when unnecessary field gets changed the watch method will\n // be invoked.\n\n watch(expanded, (val) => {\n if (val) {\n if (!props.persistent) {\n calculatePopperSize()\n }\n handleQueryChange('')\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n states.menuVisibleOnFocus = false\n createNewOption('')\n }\n })\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n const isValEmpty = !val || (isArray(val) && val.length === 0)\n\n if (\n isValEmpty ||\n (props.multiple && !isEqual(val.toString(), states.previousValue)) ||\n (!props.multiple &&\n getValueKey(val) !== getValueKey(states.previousValue))\n ) {\n initStates(true)\n }\n if (!isEqual(val, oldVal) && props.validateEvent) {\n elFormItem?.validate?.('change').catch(NOOP)\n }\n },\n {\n deep: true,\n }\n )\n\n watch(\n () => props.options,\n () => {\n const input = inputRef.value\n // filter or remote-search scenarios are not initialized\n if (!input || (input && document.activeElement !== input)) {\n initStates()\n }\n },\n {\n deep: true,\n flush: 'post',\n }\n )\n\n // fix the problem that scrollTop is not reset in filterable mode\n watch(\n () => filteredOptions.value,\n () => {\n calculatePopperSize()\n return menuRef.value && nextTick(menuRef.value.resetScrollTop)\n }\n )\n\n watchEffect(() => {\n // Anything could cause options changed, then update options\n // If you want to control it by condition, write here\n if (states.isBeforeHide) return\n updateOptions()\n })\n\n watchEffect(() => {\n const { valueKey, options } = props\n const duplicateValue = new Map()\n for (const item of options) {\n const optionValue = getValue(item)\n let v = optionValue\n if (isObject(v)) {\n v = get(optionValue, valueKey)\n }\n if (duplicateValue.get(v)) {\n debugWarn(\n 'ElSelectV2',\n `The option values you provided seem to be duplicated, which may cause some problems, please check.`\n )\n break\n } else {\n duplicateValue.set(v, true)\n }\n }\n })\n\n onMounted(() => {\n initStates()\n })\n useResizeObserver(selectRef, handleResize)\n useResizeObserver(selectionRef, resetSelectionWidth)\n useResizeObserver(wrapperRef, updateTooltip)\n useResizeObserver(tagMenuRef, updateTagTooltip)\n useResizeObserver(collapseItemRef, resetCollapseItemWidth)\n\n // #21498\n let stop: (() => void) | undefined\n watch(\n () => dropdownMenuVisible.value,\n (newVal) => {\n if (newVal) {\n stop = useResizeObserver(menuRef, updateTooltip).stop\n } else {\n stop?.()\n stop = undefined\n }\n emit('visible-change', newVal)\n }\n )\n\n return {\n // data exports\n inputId,\n collapseTagSize,\n currentPlaceholder,\n expanded,\n emptyText,\n popupHeight,\n debounce,\n allOptions,\n allOptionsValueMap,\n filteredOptions,\n iconComponent,\n iconReverse,\n tagStyle,\n collapseTagStyle,\n popperSize,\n dropdownMenuVisible,\n hasModelValue,\n shouldShowPlaceholder,\n selectDisabled,\n selectSize,\n needStatusIcon,\n showClearBtn,\n states,\n isFocused,\n nsSelect,\n nsInput,\n\n // refs items exports\n inputRef,\n menuRef,\n tagMenuRef,\n tooltipRef,\n tagTooltipRef,\n selectRef,\n wrapperRef,\n selectionRef,\n prefixRef,\n suffixRef,\n collapseItemRef,\n\n popperRef,\n\n validateState,\n validateIcon,\n showTagList,\n collapseTagList,\n\n // methods exports\n debouncedOnInputChange,\n deleteTag,\n getLabel,\n getValue,\n getDisabled,\n getValueKey,\n getIndex,\n handleClear,\n handleClickOutside,\n handleDel,\n handleEsc,\n focus,\n blur,\n handleMenuEnter,\n handleResize,\n resetSelectionWidth,\n updateTooltip,\n updateTagTooltip,\n updateOptions,\n toggleMenu,\n scrollTo: scrollToItem,\n onInput,\n onKeyboardNavigate,\n onKeyboardSelect,\n onEndReached,\n onSelect,\n onHover: onHoverOption,\n handleCompositionStart,\n handleCompositionEnd,\n handleCompositionUpdate,\n }\n}\n\nexport default useSelect\n"],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ interface SkeletonItemProps {
|
|
|
14
14
|
* @deprecated Removed after 3.0.0, Use `SkeletonItemProps` instead.
|
|
15
15
|
*/
|
|
16
16
|
declare const skeletonItemProps: {
|
|
17
|
-
readonly variant: EpPropFinalized<StringConstructor, "
|
|
17
|
+
readonly variant: EpPropFinalized<StringConstructor, "button" | "text" | "circle" | "caption" | "h1" | "h3" | "p" | "image" | "rect", unknown, "text", boolean>;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
20
|
* @deprecated Removed after 3.0.0, Use `SkeletonItemProps` instead.
|
|
@@ -13,8 +13,8 @@ type __VLS_Slots = {} & {
|
|
|
13
13
|
declare const __VLS_base: vue.DefineComponent<SkeletonProps, {
|
|
14
14
|
/** @description loading state */uiLoading: vue.Ref<boolean, boolean>;
|
|
15
15
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<SkeletonProps> & Readonly<{}>, {
|
|
16
|
-
rows: number;
|
|
17
16
|
loading: boolean;
|
|
17
|
+
rows: number;
|
|
18
18
|
count: number;
|
|
19
19
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
20
20
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -26,9 +26,9 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
26
26
|
}>> & Readonly<{
|
|
27
27
|
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
|
|
28
28
|
}>, {
|
|
29
|
-
readonly modelValue: number;
|
|
30
|
-
readonly vertical: boolean;
|
|
31
29
|
readonly placement: EpPropMergeType<StringConstructor, Placement, unknown>;
|
|
30
|
+
readonly vertical: boolean;
|
|
31
|
+
readonly modelValue: number;
|
|
32
32
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
33
33
|
declare const _default: typeof __VLS_export;
|
|
34
34
|
//#endregion
|
|
@@ -27,13 +27,13 @@ declare const sliderProps: {
|
|
|
27
27
|
readonly showInput: BooleanConstructor;
|
|
28
28
|
readonly showInputControls: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
29
29
|
readonly size: {
|
|
30
|
-
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
30
|
+
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
|
|
31
31
|
readonly required: false;
|
|
32
32
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
33
33
|
__epPropKey: true;
|
|
34
34
|
};
|
|
35
35
|
readonly inputSize: {
|
|
36
|
-
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
36
|
+
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
|
|
37
37
|
readonly required: false;
|
|
38
38
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
39
39
|
__epPropKey: true;
|
|
@@ -16,13 +16,13 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
16
16
|
readonly showInput: BooleanConstructor;
|
|
17
17
|
readonly showInputControls: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
18
18
|
readonly size: {
|
|
19
|
-
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
19
|
+
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
|
|
20
20
|
readonly required: false;
|
|
21
21
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
22
22
|
__epPropKey: true;
|
|
23
23
|
};
|
|
24
24
|
readonly inputSize: {
|
|
25
|
-
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
25
|
+
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
|
|
26
26
|
readonly required: false;
|
|
27
27
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
28
28
|
__epPropKey: true;
|
|
@@ -80,8 +80,8 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
80
80
|
}>, {
|
|
81
81
|
onSliderClick: (event: MouseEvent | TouchEvent) => void;
|
|
82
82
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
83
|
-
change: (value: Arrayable<number>) => void;
|
|
84
83
|
"update:modelValue": (value: Arrayable<number>) => void;
|
|
84
|
+
change: (value: Arrayable<number>) => void;
|
|
85
85
|
input: (value: Arrayable<number>) => void;
|
|
86
86
|
}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
87
87
|
readonly ariaLabel: StringConstructor;
|
|
@@ -93,13 +93,13 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
93
93
|
readonly showInput: BooleanConstructor;
|
|
94
94
|
readonly showInputControls: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
95
95
|
readonly size: {
|
|
96
|
-
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
96
|
+
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
|
|
97
97
|
readonly required: false;
|
|
98
98
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
99
99
|
__epPropKey: true;
|
|
100
100
|
};
|
|
101
101
|
readonly inputSize: {
|
|
102
|
-
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
102
|
+
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
|
|
103
103
|
readonly required: false;
|
|
104
104
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
105
105
|
__epPropKey: true;
|
|
@@ -155,20 +155,20 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
155
155
|
readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
156
156
|
readonly persistent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
157
157
|
}>> & Readonly<{
|
|
158
|
-
onChange?: ((value: Arrayable<number>) => any) | undefined;
|
|
159
158
|
"onUpdate:modelValue"?: ((value: Arrayable<number>) => any) | undefined;
|
|
159
|
+
onChange?: ((value: Arrayable<number>) => any) | undefined;
|
|
160
160
|
onInput?: ((value: Arrayable<number>) => any) | undefined;
|
|
161
161
|
}>, {
|
|
162
162
|
readonly id: string;
|
|
163
|
+
readonly placement: EpPropMergeType<StringConstructor, Placement, unknown>;
|
|
164
|
+
readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
163
165
|
readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
164
|
-
readonly modelValue: EpPropMergeType<(new (...args: any[]) => number | number[]) | (() => Arrayable<number>) | (((new (...args: any[]) => number | number[]) | (() => Arrayable<number>)) | null)[], unknown, unknown>;
|
|
165
|
-
readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
166
166
|
readonly vertical: boolean;
|
|
167
167
|
readonly range: boolean;
|
|
168
|
-
readonly
|
|
169
|
-
readonly
|
|
170
|
-
readonly max: number;
|
|
168
|
+
readonly modelValue: EpPropMergeType<(new (...args: any[]) => number | number[]) | (() => Arrayable<number>) | (((new (...args: any[]) => number | number[]) | (() => Arrayable<number>)) | null)[], unknown, unknown>;
|
|
169
|
+
readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
171
170
|
readonly min: number;
|
|
171
|
+
readonly max: number;
|
|
172
172
|
readonly step: EpPropMergeType<(new (...args: any[]) => number | "mark") | (() => number | "mark") | (((new (...args: any[]) => number | "mark") | (() => number | "mark")) | null)[], unknown, unknown>;
|
|
173
173
|
readonly showInputControls: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
174
174
|
readonly showTooltip: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -24,7 +24,7 @@ declare const spaceProps: {
|
|
|
24
24
|
readonly fill: BooleanConstructor;
|
|
25
25
|
readonly fillRatio: EpPropFinalized<NumberConstructor, unknown, unknown, 100, boolean>;
|
|
26
26
|
readonly size: {
|
|
27
|
-
readonly type: vue.PropType<EpPropMergeType<readonly [StringConstructor, ArrayConstructor, NumberConstructor], "" | "default" | "
|
|
27
|
+
readonly type: vue.PropType<EpPropMergeType<readonly [StringConstructor, ArrayConstructor, NumberConstructor], "" | "default" | "large" | "small", number | [number, number]>>;
|
|
28
28
|
readonly required: false;
|
|
29
29
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
30
30
|
__epPropKey: true;
|
|
@@ -50,7 +50,7 @@ declare const Space: vue.DefineComponent<ExtractPropTypes<{
|
|
|
50
50
|
readonly fill: BooleanConstructor;
|
|
51
51
|
readonly fillRatio: EpPropFinalized<NumberConstructor, unknown, unknown, 100, boolean>;
|
|
52
52
|
readonly size: {
|
|
53
|
-
readonly type: vue.PropType<EpPropMergeType<readonly [StringConstructor, ArrayConstructor, NumberConstructor], "" | "default" | "
|
|
53
|
+
readonly type: vue.PropType<EpPropMergeType<readonly [StringConstructor, ArrayConstructor, NumberConstructor], "" | "default" | "large" | "small", number | [number, number]>>;
|
|
54
54
|
readonly required: false;
|
|
55
55
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
56
56
|
__epPropKey: true;
|
|
@@ -78,15 +78,15 @@ declare const Space: vue.DefineComponent<ExtractPropTypes<{
|
|
|
78
78
|
readonly fill: BooleanConstructor;
|
|
79
79
|
readonly fillRatio: EpPropFinalized<NumberConstructor, unknown, unknown, 100, boolean>;
|
|
80
80
|
readonly size: {
|
|
81
|
-
readonly type: vue.PropType<EpPropMergeType<readonly [StringConstructor, ArrayConstructor, NumberConstructor], "" | "default" | "
|
|
81
|
+
readonly type: vue.PropType<EpPropMergeType<readonly [StringConstructor, ArrayConstructor, NumberConstructor], "" | "default" | "large" | "small", number | [number, number]>>;
|
|
82
82
|
readonly required: false;
|
|
83
83
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
84
84
|
__epPropKey: true;
|
|
85
85
|
};
|
|
86
86
|
}>> & Readonly<{}>, {
|
|
87
87
|
readonly fill: boolean;
|
|
88
|
-
readonly direction: EpPropMergeType<StringConstructor, "horizontal" | "vertical", unknown>;
|
|
89
88
|
readonly style: StyleValue;
|
|
89
|
+
readonly direction: EpPropMergeType<StringConstructor, "horizontal" | "vertical", unknown>;
|
|
90
90
|
readonly wrap: boolean;
|
|
91
91
|
readonly class: EpPropMergeType<(new (...args: any[]) => string | Record<string, boolean> | (string | Record<string, boolean>)[]) | (() => Arrayable<string | Record<string, boolean>>) | (((new (...args: any[]) => string | Record<string, boolean> | (string | Record<string, boolean>)[]) | (() => Arrayable<string | Record<string, boolean>>)) | null)[], unknown, unknown>;
|
|
92
92
|
readonly alignment: EpPropMergeType<(new (...args: any[]) => string) | (() => csstype.Property.AlignItems | undefined) | (((new (...args: any[]) => string) | (() => csstype.Property.AlignItems | undefined)) | null)[], unknown, unknown>;
|
|
@@ -18,10 +18,10 @@ declare const __VLS_base: vue.DefineComponent<StatisticProps, {
|
|
|
18
18
|
displayValue: vue.ComputedRef<string | number | dayjs$1.Dayjs>;
|
|
19
19
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<StatisticProps> & Readonly<{}>, {
|
|
20
20
|
value: number | dayjs$1.Dayjs;
|
|
21
|
-
|
|
21
|
+
valueStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
|
|
22
22
|
decimalSeparator: string;
|
|
23
23
|
groupSeparator: string;
|
|
24
|
-
|
|
24
|
+
precision: number;
|
|
25
25
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
26
26
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
27
27
|
declare const _default: typeof __VLS_export;
|
|
@@ -38,7 +38,7 @@ declare const stepProps: {
|
|
|
38
38
|
__epPropKey: true;
|
|
39
39
|
};
|
|
40
40
|
readonly description: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
41
|
-
readonly status: EpPropFinalized<StringConstructor, "" | "
|
|
41
|
+
readonly status: EpPropFinalized<StringConstructor, "" | "wait" | "success" | "error" | "finish" | "process", unknown, "", boolean>;
|
|
42
42
|
};
|
|
43
43
|
/**
|
|
44
44
|
* @deprecated Removed after 3.0.0, Use `StepProps` instead.
|
|
@@ -15,9 +15,9 @@ type __VLS_Slots = {} & {
|
|
|
15
15
|
description?: (props: typeof __VLS_38) => any;
|
|
16
16
|
};
|
|
17
17
|
declare const __VLS_base: vue.DefineComponent<StepProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<StepProps> & Readonly<{}>, {
|
|
18
|
+
icon: IconPropType;
|
|
18
19
|
title: string;
|
|
19
20
|
description: string;
|
|
20
|
-
icon: IconPropType;
|
|
21
21
|
status: "" | "wait" | "process" | "finish" | "error" | "success";
|
|
22
22
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
23
23
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -60,8 +60,8 @@ declare const stepsProps: {
|
|
|
60
60
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
61
61
|
__epPropKey: true;
|
|
62
62
|
};
|
|
63
|
-
readonly finishStatus: EpPropFinalized<StringConstructor, "
|
|
64
|
-
readonly processStatus: EpPropFinalized<StringConstructor, "
|
|
63
|
+
readonly finishStatus: EpPropFinalized<StringConstructor, "wait" | "success" | "error" | "finish" | "process", unknown, "finish", boolean>;
|
|
64
|
+
readonly processStatus: EpPropFinalized<StringConstructor, "wait" | "success" | "error" | "finish" | "process", unknown, "process", boolean>;
|
|
65
65
|
};
|
|
66
66
|
/**
|
|
67
67
|
* @deprecated Removed after 3.0.0, Use `StepsProps` instead.
|
|
@@ -98,7 +98,7 @@ declare const switchProps: {
|
|
|
98
98
|
readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
99
99
|
readonly loading: BooleanConstructor;
|
|
100
100
|
readonly size: {
|
|
101
|
-
readonly type: PropType<EpPropMergeType<(new (...args: any[]) => "" | "default" | "
|
|
101
|
+
readonly type: PropType<EpPropMergeType<(new (...args: any[]) => "" | "default" | "large" | "small") | (() => "" | "default" | "large" | "small") | (((new (...args: any[]) => "" | "default" | "large" | "small") | (() => "" | "default" | "large" | "small")) | null)[], unknown, "" | "default" | "large" | "small">>;
|
|
102
102
|
readonly required: false;
|
|
103
103
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
104
104
|
__epPropKey: true;
|
|
@@ -26,19 +26,19 @@ declare const __VLS_base: vue.DefineComponent<SwitchProps, {
|
|
|
26
26
|
*/
|
|
27
27
|
checked: vue.ComputedRef<boolean>;
|
|
28
28
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
29
|
-
change: (val: string | number | boolean) => void;
|
|
30
29
|
"update:modelValue": (val: string | number | boolean) => void;
|
|
30
|
+
change: (val: string | number | boolean) => void;
|
|
31
31
|
input: (val: string | number | boolean) => void;
|
|
32
32
|
}, string, vue.PublicProps, Readonly<SwitchProps> & Readonly<{
|
|
33
|
-
onChange?: ((val: string | number | boolean) => any) | undefined;
|
|
34
33
|
"onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
|
|
34
|
+
onChange?: ((val: string | number | boolean) => any) | undefined;
|
|
35
35
|
onInput?: ((val: string | number | boolean) => any) | undefined;
|
|
36
36
|
}>, {
|
|
37
|
-
width: string | number;
|
|
38
37
|
disabled: boolean;
|
|
38
|
+
width: string | number;
|
|
39
|
+
name: string;
|
|
39
40
|
modelValue: boolean | string | number;
|
|
40
41
|
validateEvent: boolean;
|
|
41
|
-
name: string;
|
|
42
42
|
activeText: string;
|
|
43
43
|
inactiveText: string;
|
|
44
44
|
activeValue: boolean | string | number;
|
|
@@ -20,11 +20,11 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
20
20
|
property: StringConstructor;
|
|
21
21
|
prop: StringConstructor;
|
|
22
22
|
width: {
|
|
23
|
-
type: (
|
|
23
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
24
24
|
default: string;
|
|
25
25
|
};
|
|
26
26
|
minWidth: {
|
|
27
|
-
type: (
|
|
27
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
28
28
|
default: string;
|
|
29
29
|
};
|
|
30
30
|
renderHeader: vue.PropType<TableColumnCtx<any>["renderHeader"]>;
|
|
@@ -76,11 +76,11 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
76
76
|
property: StringConstructor;
|
|
77
77
|
prop: StringConstructor;
|
|
78
78
|
width: {
|
|
79
|
-
type: (
|
|
79
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
80
80
|
default: string;
|
|
81
81
|
};
|
|
82
82
|
minWidth: {
|
|
83
|
-
type: (
|
|
83
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
84
84
|
default: string;
|
|
85
85
|
};
|
|
86
86
|
renderHeader: vue.PropType<TableColumnCtx<any>["renderHeader"]>;
|
|
@@ -122,35 +122,35 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
122
122
|
validator: (val: TableColumnCtx<any>["sortOrders"]) => boolean;
|
|
123
123
|
};
|
|
124
124
|
}>> & Readonly<{}>, {
|
|
125
|
-
width: string | number;
|
|
126
125
|
type: string;
|
|
127
126
|
minWidth: string | number;
|
|
128
|
-
|
|
129
|
-
showOverflowTooltip: boolean | Partial<Pick<UseTooltipProps, "
|
|
127
|
+
width: string | number;
|
|
128
|
+
showOverflowTooltip: boolean | Partial<Pick<UseTooltipProps, "effect" | "enterable" | "popperClass" | "offset" | "placement" | "popperOptions" | "showArrow" | "appendTo" | "transition" | "showAfter" | "hideAfter">> | undefined;
|
|
130
129
|
sortOrders: (TableSortOrder | null)[];
|
|
131
130
|
sortable: string | boolean;
|
|
131
|
+
resizable: boolean;
|
|
132
132
|
reserveSelection: boolean;
|
|
133
133
|
filterMultiple: boolean;
|
|
134
134
|
}, {}, {
|
|
135
135
|
ElCheckbox: {
|
|
136
136
|
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<CheckboxProps> & Readonly<{
|
|
137
|
-
onChange?: ((val: CheckboxValueType) => any) | undefined;
|
|
138
137
|
"onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
|
|
138
|
+
onChange?: ((val: CheckboxValueType) => any) | undefined;
|
|
139
139
|
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
140
|
-
change: (val: CheckboxValueType) => void;
|
|
141
140
|
"update:modelValue": (val: CheckboxValueType) => void;
|
|
141
|
+
change: (val: CheckboxValueType) => void;
|
|
142
142
|
}, vue.PublicProps, {
|
|
143
143
|
id: string;
|
|
144
144
|
disabled: boolean;
|
|
145
|
-
modelValue: number | string | boolean;
|
|
146
|
-
validateEvent: boolean;
|
|
147
|
-
name: string;
|
|
148
145
|
value: string | boolean | number | object;
|
|
146
|
+
name: string;
|
|
147
|
+
modelValue: number | string | boolean;
|
|
149
148
|
label: string | boolean | number | object;
|
|
150
149
|
trueValue: string | number;
|
|
151
150
|
falseValue: string | number;
|
|
152
151
|
trueLabel: string | number;
|
|
153
152
|
falseLabel: string | number;
|
|
153
|
+
validateEvent: boolean;
|
|
154
154
|
}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
|
|
155
155
|
P: {};
|
|
156
156
|
B: {};
|
|
@@ -159,42 +159,42 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
159
159
|
M: {};
|
|
160
160
|
Defaults: {};
|
|
161
161
|
}, Readonly<CheckboxProps> & Readonly<{
|
|
162
|
-
onChange?: ((val: CheckboxValueType) => any) | undefined;
|
|
163
162
|
"onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
|
|
163
|
+
onChange?: ((val: CheckboxValueType) => any) | undefined;
|
|
164
164
|
}>, {}, {}, {}, {}, {
|
|
165
165
|
id: string;
|
|
166
166
|
disabled: boolean;
|
|
167
|
-
modelValue: number | string | boolean;
|
|
168
|
-
validateEvent: boolean;
|
|
169
|
-
name: string;
|
|
170
167
|
value: string | boolean | number | object;
|
|
168
|
+
name: string;
|
|
169
|
+
modelValue: number | string | boolean;
|
|
171
170
|
label: string | boolean | number | object;
|
|
172
171
|
trueValue: string | number;
|
|
173
172
|
falseValue: string | number;
|
|
174
173
|
trueLabel: string | number;
|
|
175
174
|
falseLabel: string | number;
|
|
175
|
+
validateEvent: boolean;
|
|
176
176
|
}>;
|
|
177
177
|
__isFragment?: never;
|
|
178
178
|
__isTeleport?: never;
|
|
179
179
|
__isSuspense?: never;
|
|
180
180
|
} & vue.ComponentOptionsBase<Readonly<CheckboxProps> & Readonly<{
|
|
181
|
-
onChange?: ((val: CheckboxValueType) => any) | undefined;
|
|
182
181
|
"onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
|
|
182
|
+
onChange?: ((val: CheckboxValueType) => any) | undefined;
|
|
183
183
|
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
184
|
-
change: (val: CheckboxValueType) => void;
|
|
185
184
|
"update:modelValue": (val: CheckboxValueType) => void;
|
|
185
|
+
change: (val: CheckboxValueType) => void;
|
|
186
186
|
}, string, {
|
|
187
187
|
id: string;
|
|
188
188
|
disabled: boolean;
|
|
189
|
-
modelValue: number | string | boolean;
|
|
190
|
-
validateEvent: boolean;
|
|
191
|
-
name: string;
|
|
192
189
|
value: string | boolean | number | object;
|
|
190
|
+
name: string;
|
|
191
|
+
modelValue: number | string | boolean;
|
|
193
192
|
label: string | boolean | number | object;
|
|
194
193
|
trueValue: string | number;
|
|
195
194
|
falseValue: string | number;
|
|
196
195
|
trueLabel: string | number;
|
|
197
196
|
falseLabel: string | number;
|
|
197
|
+
validateEvent: boolean;
|
|
198
198
|
}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
|
|
199
199
|
$slots: {
|
|
200
200
|
default?: (props: {}) => any;
|
|
@@ -219,9 +219,9 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
219
219
|
readonly validateEvent?: boolean | undefined;
|
|
220
220
|
readonly ariaLabel?: string | undefined;
|
|
221
221
|
readonly ariaControls?: string | undefined;
|
|
222
|
-
readonly onChange?: ((val: CheckboxValueType) => any) | undefined;
|
|
223
222
|
readonly "onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
|
|
224
|
-
|
|
223
|
+
readonly onChange?: ((val: CheckboxValueType) => any) | undefined;
|
|
224
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "onUpdate:modelValue" | "onChange" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps>>) => void;
|
|
225
225
|
} & {
|
|
226
226
|
CheckboxButton: typeof _default$1;
|
|
227
227
|
CheckboxGroup: typeof _default$2;
|