@element-plus/nightly 0.0.20260727 → 0.0.20260729
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.full.js +7 -3
- package/dist/index.full.min.js +3 -3
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +3 -3
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +7 -3
- 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/anchor/src/anchor.d.ts +1 -1
- package/es/components/anchor/src/anchor.vue.d.ts +4 -4
- package/es/components/autocomplete/src/autocomplete.d.ts +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
- package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs +5 -1
- package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/badge/src/badge.vue.d.ts +1 -1
- package/es/components/calendar/src/calendar.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 +1 -1
- package/es/components/cascader/src/cascader.d.ts +1 -1
- package/es/components/cascader/src/cascader.vue.d.ts +3 -3
- package/es/components/cascader-panel/src/index.vue.d.ts +2 -2
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
- package/es/components/checkbox/src/checkbox.d.ts +8 -8
- package/es/components/checkbox/src/checkbox.vue.d.ts +2 -2
- package/es/components/col/src/col.vue.d.ts +1 -1
- package/es/components/collapse/src/collapse.vue.d.ts +2 -2
- package/es/components/color-picker/src/color-picker.vue.d.ts +3 -3
- package/es/components/date-picker/src/date-picker.d.ts +7 -7
- package/es/components/date-picker/src/props.d.ts +2 -2
- package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +3 -3
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
- package/es/components/date-picker-panel/src/date-picker-panel.d.ts +8 -8
- package/es/components/date-picker-panel/src/panel-utils.d.ts +9 -9
- package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +2 -2
- package/es/components/date-picker-panel/src/props/panel-date-pick.d.ts +1 -1
- package/es/components/date-picker-panel/src/props/panel-date-range.d.ts +1 -1
- package/es/components/date-picker-panel/src/props/shared.d.ts +1 -1
- package/es/components/descriptions/src/description-item.d.ts +11 -11
- package/es/components/descriptions/src/description.vue.d.ts +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +2 -2
- package/es/components/divider/src/divider.vue.d.ts +1 -1
- package/es/components/drawer/src/drawer.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 +2 -2
- package/es/components/dropdown/src/dropdown.vue.d.ts +7 -7
- package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/es/components/input/src/input.d.ts +1 -1
- package/es/components/input/src/input.vue.d.ts +4 -4
- package/es/components/input-number/src/input-number.vue.d.ts +3 -3
- package/es/components/input-otp/src/input-otp.vue.d.ts +4 -4
- package/es/components/input-tag/src/input-tag.vue.d.ts +4 -4
- package/es/components/link/src/link.vue.d.ts +1 -1
- package/es/components/mention/src/mention.d.ts +1 -1
- package/es/components/menu/src/menu.d.ts +4 -4
- package/es/components/message/src/message.vue.d.ts +3 -3
- package/es/components/message-box/src/index.vue.d.ts +11 -11
- package/es/components/notification/src/notification.vue.d.ts +4 -4
- package/es/components/pagination/src/pagination.d.ts +3 -3
- package/es/components/popover/src/popover.d.ts +1 -1
- package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- 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 +3 -3
- package/es/components/radio/src/radio-group.vue.d.ts +3 -3
- package/es/components/radio/src/radio.d.ts +6 -6
- package/es/components/radio/src/radio.vue.d.ts +2 -2
- package/es/components/rate/src/rate.vue.d.ts +2 -2
- package/es/components/segmented/index.d.ts +3 -3
- package/es/components/segmented/src/segmented.d.ts +1 -1
- package/es/components/segmented/src/segmented.vue.d.ts +2 -2
- package/es/components/select/src/option.d.ts +2 -2
- package/es/components/select/src/option.vue.d.ts +5 -5
- package/es/components/select/src/select.d.ts +2 -2
- package/es/components/select/src/select.vue.d.ts +17 -17
- package/es/components/select/src/useOption.d.ts +2 -2
- package/es/components/select/src/useSelect.d.ts +4 -4
- package/es/components/select-v2/src/select.vue.d.ts +2 -2
- package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
- package/es/components/slider/src/button.vue.d.ts +1 -1
- package/es/components/slider/src/slider.vue.d.ts +3 -3
- package/es/components/space/src/space.d.ts +1 -1
- package/es/components/statistic/src/statistic.vue.d.ts +2 -2
- package/es/components/steps/src/steps.vue.d.ts +1 -1
- package/es/components/switch/src/switch.vue.d.ts +2 -2
- package/es/components/table/src/filter-panel.vue.d.ts +13 -13
- package/es/components/table/src/table/defaults.d.ts +5 -5
- package/es/components/table/src/table-column/defaults.d.ts +2 -2
- package/es/components/table/src/table-header/index.d.ts +5 -5
- package/es/components/table/src/table.vue.d.ts +1 -1
- package/es/components/time-picker/src/common/picker-range-trigger.vue.d.ts +2 -2
- package/es/components/time-picker/src/common/picker.vue.d.ts +6 -6
- package/es/components/time-picker/src/common/props.d.ts +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
- package/es/components/time-picker/src/time-picker.d.ts +4 -4
- package/es/components/time-select/src/time-select.vue.d.ts +4 -4
- package/es/components/tooltip/src/tooltip.d.ts +2 -2
- package/es/components/tooltip/src/trigger.d.ts +1 -1
- package/es/components/tour/src/mask.vue.d.ts +1 -1
- package/es/components/tour/src/tour.vue.d.ts +2 -2
- package/es/components/transfer/src/transfer.vue.d.ts +2 -2
- package/es/components/tree/src/tree-node.vue.d.ts +5 -5
- package/es/components/tree/src/tree.vue.d.ts +5 -5
- package/es/components/tree-select/src/tree-select-option.d.ts +5 -5
- package/es/components/tree-select/src/tree-select.vue.d.ts +9 -9
- package/es/components/tree-v2/src/composables/useTree.d.ts +2 -2
- package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
- package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
- package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
- package/es/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/es/utils/vue/size.d.ts +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/anchor/src/anchor.d.ts +1 -1
- package/lib/components/anchor/src/anchor.vue.d.ts +4 -4
- package/lib/components/autocomplete/src/autocomplete.d.ts +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +3 -3
- package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js +5 -1
- package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/badge/src/badge.vue.d.ts +1 -1
- package/lib/components/calendar/src/calendar.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 +1 -1
- package/lib/components/cascader/src/cascader.d.ts +1 -1
- package/lib/components/cascader/src/cascader.vue.d.ts +3 -3
- package/lib/components/cascader-panel/src/index.vue.d.ts +2 -2
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
- package/lib/components/checkbox/src/checkbox.d.ts +8 -8
- package/lib/components/checkbox/src/checkbox.vue.d.ts +2 -2
- package/lib/components/col/src/col.vue.d.ts +1 -1
- package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
- package/lib/components/color-picker/src/color-picker.vue.d.ts +3 -3
- package/lib/components/date-picker/src/date-picker.d.ts +7 -7
- package/lib/components/date-picker/src/props.d.ts +2 -2
- package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -1
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +3 -3
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
- package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +8 -8
- package/lib/components/date-picker-panel/src/panel-utils.d.ts +9 -9
- package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +2 -2
- package/lib/components/date-picker-panel/src/props/panel-date-pick.d.ts +1 -1
- package/lib/components/date-picker-panel/src/props/panel-date-range.d.ts +1 -1
- package/lib/components/date-picker-panel/src/props/shared.d.ts +1 -1
- package/lib/components/descriptions/src/description-item.d.ts +11 -11
- package/lib/components/descriptions/src/description.vue.d.ts +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +2 -2
- package/lib/components/divider/src/divider.vue.d.ts +1 -1
- package/lib/components/drawer/src/drawer.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 +2 -2
- package/lib/components/dropdown/src/dropdown.vue.d.ts +7 -7
- package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/lib/components/input/src/input.d.ts +1 -1
- package/lib/components/input/src/input.vue.d.ts +4 -4
- package/lib/components/input-number/src/input-number.vue.d.ts +3 -3
- package/lib/components/input-otp/src/input-otp.vue.d.ts +4 -4
- package/lib/components/input-tag/src/input-tag.vue.d.ts +4 -4
- package/lib/components/link/src/link.vue.d.ts +1 -1
- package/lib/components/mention/src/mention.d.ts +1 -1
- package/lib/components/menu/src/menu.d.ts +4 -4
- package/lib/components/message/src/message.vue.d.ts +3 -3
- package/lib/components/message-box/src/index.vue.d.ts +11 -11
- package/lib/components/notification/src/notification.vue.d.ts +4 -4
- package/lib/components/pagination/src/pagination.d.ts +3 -3
- package/lib/components/popover/src/popover.d.ts +1 -1
- package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- 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 +3 -3
- package/lib/components/radio/src/radio-group.vue.d.ts +3 -3
- package/lib/components/radio/src/radio.d.ts +6 -6
- package/lib/components/radio/src/radio.vue.d.ts +2 -2
- package/lib/components/rate/src/rate.vue.d.ts +2 -2
- package/lib/components/segmented/index.d.ts +3 -3
- package/lib/components/segmented/src/segmented.d.ts +1 -1
- package/lib/components/segmented/src/segmented.vue.d.ts +2 -2
- package/lib/components/select/src/option.d.ts +2 -2
- package/lib/components/select/src/option.vue.d.ts +5 -5
- package/lib/components/select/src/select.d.ts +2 -2
- package/lib/components/select/src/select.vue.d.ts +17 -17
- package/lib/components/select/src/useOption.d.ts +2 -2
- package/lib/components/select/src/useSelect.d.ts +4 -4
- package/lib/components/select-v2/src/select.vue.d.ts +2 -2
- package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
- package/lib/components/slider/src/button.vue.d.ts +1 -1
- package/lib/components/slider/src/slider.vue.d.ts +3 -3
- package/lib/components/space/src/space.d.ts +1 -1
- package/lib/components/statistic/src/statistic.vue.d.ts +2 -2
- package/lib/components/steps/src/steps.vue.d.ts +1 -1
- package/lib/components/switch/src/switch.vue.d.ts +2 -2
- package/lib/components/table/src/filter-panel.vue.d.ts +13 -13
- package/lib/components/table/src/table/defaults.d.ts +5 -5
- package/lib/components/table/src/table-column/defaults.d.ts +2 -2
- package/lib/components/table/src/table-header/index.d.ts +5 -5
- package/lib/components/table/src/table.vue.d.ts +1 -1
- package/lib/components/time-picker/src/common/picker-range-trigger.vue.d.ts +2 -2
- package/lib/components/time-picker/src/common/picker.vue.d.ts +6 -6
- package/lib/components/time-picker/src/common/props.d.ts +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker.d.ts +4 -4
- package/lib/components/time-select/src/time-select.vue.d.ts +4 -4
- package/lib/components/tooltip/src/tooltip.d.ts +2 -2
- package/lib/components/tooltip/src/trigger.d.ts +1 -1
- package/lib/components/tour/src/mask.vue.d.ts +1 -1
- package/lib/components/tour/src/tour.vue.d.ts +2 -2
- package/lib/components/transfer/src/transfer.vue.d.ts +2 -2
- package/lib/components/tree/src/tree-node.vue.d.ts +5 -5
- package/lib/components/tree/src/tree.vue.d.ts +5 -5
- package/lib/components/tree-select/src/tree-select-option.d.ts +5 -5
- package/lib/components/tree-select/src/tree-select.vue.d.ts +9 -9
- package/lib/components/tree-v2/src/composables/useTree.d.ts +2 -2
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
- package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
- package/lib/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/lib/utils/vue/size.d.ts +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-select-v2.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/input.scss +3 -1
- package/theme-chalk/src/select.scss +3 -1
- package/web-types.json +1 -1
|
@@ -8,13 +8,13 @@ declare const component: _$vue.DefineComponent<{}, any, {}, {}, {
|
|
|
8
8
|
selectOptionClick(): void;
|
|
9
9
|
}, _$vue.ComponentOptionsMixin, SFCWithInstall<_$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
10
10
|
value: {
|
|
11
|
-
readonly type: _$vue.PropType<EpPropMergeType<(
|
|
11
|
+
readonly type: _$vue.PropType<EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>>;
|
|
12
12
|
readonly required: true;
|
|
13
13
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
14
14
|
__epPropKey: true;
|
|
15
15
|
};
|
|
16
16
|
label: {
|
|
17
|
-
readonly type: _$vue.PropType<EpPropMergeType<(
|
|
17
|
+
readonly type: _$vue.PropType<EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
|
|
18
18
|
readonly required: false;
|
|
19
19
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
20
20
|
__epPropKey: true;
|
|
@@ -42,7 +42,7 @@ declare const component: _$vue.DefineComponent<{}, any, {}, {}, {
|
|
|
42
42
|
};
|
|
43
43
|
id: _$vue.Ref<string, string>;
|
|
44
44
|
containerKls: _$vue.ComputedRef<string[]>;
|
|
45
|
-
currentLabel: _$vue.ComputedRef<boolean | EpPropMergeType<(
|
|
45
|
+
currentLabel: _$vue.ComputedRef<boolean | EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
|
|
46
46
|
itemSelected: _$vue.ComputedRef<boolean>;
|
|
47
47
|
isDisabled: _$vue.ComputedRef<boolean>;
|
|
48
48
|
select: SelectContext;
|
|
@@ -61,13 +61,13 @@ declare const component: _$vue.DefineComponent<{}, any, {}, {}, {
|
|
|
61
61
|
selectOptionClick: () => void;
|
|
62
62
|
}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
|
|
63
63
|
value: {
|
|
64
|
-
readonly type: _$vue.PropType<EpPropMergeType<(
|
|
64
|
+
readonly type: _$vue.PropType<EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>>;
|
|
65
65
|
readonly required: true;
|
|
66
66
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
67
67
|
__epPropKey: true;
|
|
68
68
|
};
|
|
69
69
|
label: {
|
|
70
|
-
readonly type: _$vue.PropType<EpPropMergeType<(
|
|
70
|
+
readonly type: _$vue.PropType<EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
|
|
71
71
|
readonly required: false;
|
|
72
72
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
73
73
|
__epPropKey: true;
|
|
@@ -102,7 +102,7 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
102
102
|
valueOnClear: EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
|
|
103
103
|
name: StringConstructor;
|
|
104
104
|
id: StringConstructor;
|
|
105
|
-
modelValue: EpPropFinalized<(new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(
|
|
105
|
+
modelValue: EpPropFinalized<(new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[]) | (() => EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[] | null) | (((new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[]) | (() => EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[] | null)) | null)[], unknown, unknown, undefined, boolean>;
|
|
106
106
|
autocomplete: EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
|
|
107
107
|
automaticDropdown: BooleanConstructor;
|
|
108
108
|
size: {
|
|
@@ -177,7 +177,7 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
177
177
|
offset: EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
178
178
|
placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, string, boolean>;
|
|
179
179
|
fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, string[], boolean>;
|
|
180
|
-
tabindex: EpPropFinalized<(
|
|
180
|
+
tabindex: EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, number, boolean>;
|
|
181
181
|
appendTo: {
|
|
182
182
|
readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown>>;
|
|
183
183
|
readonly required: false;
|
|
@@ -286,7 +286,7 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
286
286
|
valueOnClear: EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
|
|
287
287
|
name: StringConstructor;
|
|
288
288
|
id: StringConstructor;
|
|
289
|
-
modelValue: EpPropFinalized<(new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(
|
|
289
|
+
modelValue: EpPropFinalized<(new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[]) | (() => EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[] | null) | (((new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[]) | (() => EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[] | null)) | null)[], unknown, unknown, undefined, boolean>;
|
|
290
290
|
autocomplete: EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
|
|
291
291
|
automaticDropdown: BooleanConstructor;
|
|
292
292
|
size: {
|
|
@@ -361,7 +361,7 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
361
361
|
offset: EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
362
362
|
placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, string, boolean>;
|
|
363
363
|
fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, string[], boolean>;
|
|
364
|
-
tabindex: EpPropFinalized<(
|
|
364
|
+
tabindex: EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, number, boolean>;
|
|
365
365
|
appendTo: {
|
|
366
366
|
readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown>>;
|
|
367
367
|
readonly required: false;
|
|
@@ -375,18 +375,17 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
375
375
|
__epPropKey: true;
|
|
376
376
|
};
|
|
377
377
|
}>> & Readonly<{}>, {
|
|
378
|
-
valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
|
|
379
378
|
offset: number;
|
|
380
379
|
teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
381
380
|
props: TreeOptionProps;
|
|
382
381
|
effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown>;
|
|
383
382
|
disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
384
|
-
modelValue: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(
|
|
383
|
+
modelValue: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[]) | (() => EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[] | null) | (((new (...args: any[]) => string | number | boolean | Record<string, any> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[]) | (() => EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown> | EpPropMergeType<(ObjectConstructor | BooleanConstructor | NumberConstructor | StringConstructor)[], unknown, unknown>[] | null)) | null)[], unknown, unknown>;
|
|
385
384
|
autocomplete: string;
|
|
386
385
|
clearable: boolean;
|
|
387
386
|
clearIcon: EpPropMergeType<(new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component) | (((new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component)) | null)[], unknown, unknown>;
|
|
388
387
|
suffixIcon: EpPropMergeType<(new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component) | (((new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component)) | null)[], unknown, unknown>;
|
|
389
|
-
tabindex: EpPropMergeType<(
|
|
388
|
+
tabindex: EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>;
|
|
390
389
|
validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
391
390
|
multiple: boolean;
|
|
392
391
|
popperClass: ClassValue;
|
|
@@ -401,6 +400,7 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
401
400
|
debounce: number;
|
|
402
401
|
fitInputWidth: boolean;
|
|
403
402
|
loading: boolean;
|
|
403
|
+
valueOnClear: EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
|
|
404
404
|
checkStrictly: boolean;
|
|
405
405
|
lazy: boolean;
|
|
406
406
|
checkOnClickNode: boolean;
|
|
@@ -414,6 +414,8 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
414
414
|
accordion: boolean;
|
|
415
415
|
automaticDropdown: boolean;
|
|
416
416
|
draggable: boolean;
|
|
417
|
+
defaultExpandAll: boolean;
|
|
418
|
+
indent: number;
|
|
417
419
|
allowCreate: boolean;
|
|
418
420
|
remote: boolean;
|
|
419
421
|
multipleLimit: number;
|
|
@@ -421,8 +423,6 @@ declare const __VLS_export: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
421
423
|
reserveKeyword: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
422
424
|
tagTooltip: TagTooltipProps;
|
|
423
425
|
remoteShowSuffix: boolean;
|
|
424
|
-
defaultExpandAll: boolean;
|
|
425
|
-
indent: number;
|
|
426
426
|
renderAfterExpand: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
427
427
|
showCheckbox: boolean;
|
|
428
428
|
expandOnClickNode: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -182,9 +182,9 @@ declare function useTree(props: TreeProps, emit: SetupContext<typeof treeEmits>[
|
|
|
182
182
|
"onEnd-reached"?: ((...args: any[]) => any) | undefined;
|
|
183
183
|
}>, {
|
|
184
184
|
readonly layout: EpPropMergeType<StringConstructor, "horizontal" | "vertical", never>;
|
|
185
|
+
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
185
186
|
readonly style: _$vue.StyleValue;
|
|
186
187
|
readonly className: ClassValue;
|
|
187
|
-
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
188
188
|
readonly data: any[];
|
|
189
189
|
readonly containerElement: EpPropMergeType<(new (...args: any[]) => string | Element) | (() => string | Element) | (((new (...args: any[]) => string | Element) | (() => string | Element)) | null)[], unknown, unknown>;
|
|
190
190
|
readonly innerElement: EpPropMergeType<readonly [StringConstructor, ObjectConstructor], unknown, unknown>;
|
|
@@ -364,9 +364,9 @@ declare function useTree(props: TreeProps, emit: SetupContext<typeof treeEmits>[
|
|
|
364
364
|
"onEnd-reached"?: ((...args: any[]) => any) | undefined;
|
|
365
365
|
}>, {
|
|
366
366
|
readonly layout: EpPropMergeType<StringConstructor, "horizontal" | "vertical", never>;
|
|
367
|
+
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
367
368
|
readonly style: _$vue.StyleValue;
|
|
368
369
|
readonly className: ClassValue;
|
|
369
|
-
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
370
370
|
readonly data: any[];
|
|
371
371
|
readonly containerElement: EpPropMergeType<(new (...args: any[]) => string | Element) | (() => string | Element) | (((new (...args: any[]) => string | Element) | (() => string | Element)) | null)[], unknown, unknown>;
|
|
372
372
|
readonly innerElement: EpPropMergeType<readonly [StringConstructor, ObjectConstructor], unknown, unknown>;
|
|
@@ -207,9 +207,9 @@ declare const createGrid: ({
|
|
|
207
207
|
onScroll?: ((...args: any[]) => any) | undefined;
|
|
208
208
|
onItemRendered?: ((...args: any[]) => any) | undefined;
|
|
209
209
|
}>, {
|
|
210
|
+
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
210
211
|
readonly style: StyleValue;
|
|
211
212
|
readonly className: ClassValue;
|
|
212
|
-
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
213
213
|
readonly data: any[];
|
|
214
214
|
readonly containerElement: EpPropMergeType<(new (...args: any[]) => string | Element) | (() => string | Element) | (((new (...args: any[]) => string | Element) | (() => string | Element)) | null)[], unknown, unknown>;
|
|
215
215
|
readonly innerElement: EpPropMergeType<readonly [StringConstructor, ObjectConstructor], unknown, unknown>;
|
|
@@ -187,9 +187,9 @@ declare const createList: ({
|
|
|
187
187
|
"onEnd-reached"?: ((...args: any[]) => any) | undefined;
|
|
188
188
|
}>, {
|
|
189
189
|
readonly layout: EpPropMergeType<StringConstructor, "horizontal" | "vertical", never>;
|
|
190
|
+
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
190
191
|
readonly style: _$vue.StyleValue;
|
|
191
192
|
readonly className: ClassValue;
|
|
192
|
-
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
193
193
|
readonly data: any[];
|
|
194
194
|
readonly containerElement: EpPropMergeType<(new (...args: any[]) => string | Element) | (() => string | Element) | (((new (...args: any[]) => string | Element) | (() => string | Element)) | null)[], unknown, unknown>;
|
|
195
195
|
readonly innerElement: EpPropMergeType<readonly [StringConstructor, ObjectConstructor], unknown, unknown>;
|
|
@@ -193,9 +193,9 @@ declare const DynamicSizeGrid: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
193
193
|
onScroll?: ((...args: any[]) => any) | undefined;
|
|
194
194
|
onItemRendered?: ((...args: any[]) => any) | undefined;
|
|
195
195
|
}>, {
|
|
196
|
+
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
196
197
|
readonly style: _$vue.StyleValue;
|
|
197
198
|
readonly className: ClassValue;
|
|
198
|
-
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
199
199
|
readonly data: any[];
|
|
200
200
|
readonly containerElement: EpPropMergeType<(new (...args: any[]) => string | Element) | (() => string | Element) | (((new (...args: any[]) => string | Element) | (() => string | Element)) | null)[], unknown, unknown>;
|
|
201
201
|
readonly innerElement: EpPropMergeType<readonly [StringConstructor, ObjectConstructor], unknown, unknown>;
|
|
@@ -174,9 +174,9 @@ declare const DynamicSizeList: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
174
174
|
"onEnd-reached"?: ((...args: any[]) => any) | undefined;
|
|
175
175
|
}>, {
|
|
176
176
|
readonly layout: EpPropMergeType<StringConstructor, "horizontal" | "vertical", never>;
|
|
177
|
+
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
177
178
|
readonly style: _$vue.StyleValue;
|
|
178
179
|
readonly className: ClassValue;
|
|
179
|
-
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
180
180
|
readonly data: any[];
|
|
181
181
|
readonly containerElement: EpPropMergeType<(new (...args: any[]) => string | Element) | (() => string | Element) | (((new (...args: any[]) => string | Element) | (() => string | Element)) | null)[], unknown, unknown>;
|
|
182
182
|
readonly innerElement: EpPropMergeType<readonly [StringConstructor, ObjectConstructor], unknown, unknown>;
|
|
@@ -188,9 +188,9 @@ declare const FixedSizeGrid: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
188
188
|
onScroll?: ((...args: any[]) => any) | undefined;
|
|
189
189
|
onItemRendered?: ((...args: any[]) => any) | undefined;
|
|
190
190
|
}>, {
|
|
191
|
+
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
191
192
|
readonly style: _$vue.StyleValue;
|
|
192
193
|
readonly className: ClassValue;
|
|
193
|
-
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
194
194
|
readonly data: any[];
|
|
195
195
|
readonly containerElement: EpPropMergeType<(new (...args: any[]) => string | Element) | (() => string | Element) | (((new (...args: any[]) => string | Element) | (() => string | Element)) | null)[], unknown, unknown>;
|
|
196
196
|
readonly innerElement: EpPropMergeType<readonly [StringConstructor, ObjectConstructor], unknown, unknown>;
|
|
@@ -174,9 +174,9 @@ declare const FixedSizeList: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
174
174
|
"onEnd-reached"?: ((...args: any[]) => any) | undefined;
|
|
175
175
|
}>, {
|
|
176
176
|
readonly layout: EpPropMergeType<StringConstructor, "horizontal" | "vertical", never>;
|
|
177
|
+
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
177
178
|
readonly style: _$vue.StyleValue;
|
|
178
179
|
readonly className: ClassValue;
|
|
179
|
-
readonly direction: EpPropMergeType<StringConstructor, "ltr" | "rtl", never>;
|
|
180
180
|
readonly data: any[];
|
|
181
181
|
readonly containerElement: EpPropMergeType<(new (...args: any[]) => string | Element) | (() => string | Element) | (((new (...args: any[]) => string | Element) | (() => string | Element)) | null)[], unknown, unknown>;
|
|
182
182
|
readonly innerElement: EpPropMergeType<readonly [StringConstructor, ObjectConstructor], unknown, unknown>;
|
|
@@ -74,8 +74,8 @@ declare const ScrollBar: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
74
74
|
"onStart-move"?: ((...args: any[]) => any) | undefined;
|
|
75
75
|
"onStop-move"?: ((...args: any[]) => any) | undefined;
|
|
76
76
|
}>, {
|
|
77
|
-
readonly visible: boolean;
|
|
78
77
|
readonly layout: EpPropMergeType<StringConstructor, "horizontal" | "vertical", never>;
|
|
78
|
+
readonly visible: boolean;
|
|
79
79
|
readonly class: ClassValue;
|
|
80
80
|
readonly alwaysOn: boolean;
|
|
81
81
|
readonly scrollbarSize: number;
|
package/es/utils/vue/size.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentSize } from "../../constants/size.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../packages/utils/vue/size.d.ts
|
|
4
|
-
declare const getComponentSize: (size?: ComponentSize) => 40 |
|
|
4
|
+
declare const getComponentSize: (size?: ComponentSize) => 40 | 24 | 32;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { getComponentSize };
|
package/es/version.d.ts
CHANGED
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","names":[],"sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.
|
|
1
|
+
{"version":3,"file":"version.mjs","names":[],"sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20260729'\n"],"mappings":";AAAA,MAAa,UAAU"}
|
|
@@ -43,7 +43,7 @@ interface AnchorProps {
|
|
|
43
43
|
*/
|
|
44
44
|
declare const anchorProps: {
|
|
45
45
|
container: {
|
|
46
|
-
readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string |
|
|
46
|
+
readonly type: _$vue.PropType<EpPropMergeType<(new (...args: any[]) => string | Window | HTMLElement) | (() => string | Window | HTMLElement | null) | (((new (...args: any[]) => string | Window | HTMLElement) | (() => string | Window | HTMLElement | null)) | null)[], unknown, unknown>>;
|
|
47
47
|
readonly required: false;
|
|
48
48
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
49
49
|
__epPropKey: true;
|
|
@@ -15,12 +15,12 @@ declare const __VLS_base: _$vue.DefineComponent<AnchorProps, {
|
|
|
15
15
|
onChange?: ((href: string) => any) | undefined;
|
|
16
16
|
onClick?: ((e: MouseEvent, href?: string | undefined) => any) | undefined;
|
|
17
17
|
}>, {
|
|
18
|
-
type: "default" | "underline";
|
|
19
18
|
offset: number;
|
|
20
|
-
|
|
21
|
-
marker: boolean;
|
|
22
|
-
duration: number;
|
|
19
|
+
type: "default" | "underline";
|
|
23
20
|
bound: number;
|
|
21
|
+
duration: number;
|
|
22
|
+
marker: boolean;
|
|
23
|
+
direction: "vertical" | "horizontal";
|
|
24
24
|
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
25
25
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
26
26
|
declare const _default: typeof __VLS_export;
|
|
@@ -136,7 +136,7 @@ declare const autocompleteProps: {
|
|
|
136
136
|
};
|
|
137
137
|
readonly type: EpPropFinalized<(new (...args: any[]) => string) | (() => InputType) | (((new (...args: any[]) => string) | (() => InputType)) | null)[], unknown, unknown, "text", boolean>;
|
|
138
138
|
readonly resize: {
|
|
139
|
-
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "
|
|
139
|
+
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "horizontal" | "vertical" | "none" | "both", unknown>>;
|
|
140
140
|
readonly required: false;
|
|
141
141
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
142
142
|
__epPropKey: true;
|
|
@@ -7,10 +7,10 @@ import { Ref } from "vue";
|
|
|
7
7
|
//#region ../../packages/components/autocomplete/src/autocomplete.vue.d.ts
|
|
8
8
|
declare const __VLS_export: <T extends AutocompleteDataItem = AutocompleteDataItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
9
9
|
props: _$vue.PublicProps & __VLS_PrettifyLocal<AutocompleteProps<T> & {
|
|
10
|
-
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
11
10
|
onChange?: ((value: string | number) => any) | undefined;
|
|
12
|
-
onInput?: ((value: string | number) => any) | undefined;
|
|
13
11
|
onClear?: (() => any) | undefined;
|
|
12
|
+
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
13
|
+
onInput?: ((value: string | number) => any) | undefined;
|
|
14
14
|
onFocus?: ((evt: FocusEvent) => any) | undefined;
|
|
15
15
|
onBlur?: ((evt: FocusEvent) => any) | undefined;
|
|
16
16
|
onSelect?: ((item: Record<string, any>) => any) | undefined;
|
|
@@ -52,7 +52,7 @@ declare const __VLS_export: <T extends AutocompleteDataItem = AutocompleteDataIt
|
|
|
52
52
|
} & {
|
|
53
53
|
footer?: (props: {}) => any;
|
|
54
54
|
};
|
|
55
|
-
emit: ((event: "
|
|
55
|
+
emit: ((event: "change", value: string | number) => void) & ((event: "clear") => void) & ((event: "update:modelValue", value: string | number) => void) & ((event: "input", value: string | number) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "blur", evt: FocusEvent) => void) & ((event: "select", item: Record<string, any>) => void);
|
|
56
56
|
}>) => _$vue.VNode & {
|
|
57
57
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
58
58
|
};
|
|
@@ -112,7 +112,11 @@ var autocomplete_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (
|
|
|
112
112
|
activated.value = true;
|
|
113
113
|
emit("focus", evt);
|
|
114
114
|
const queryString = props.modelValue ?? "";
|
|
115
|
-
if (props.triggerOnFocus && !readonly)
|
|
115
|
+
if (props.triggerOnFocus && !readonly) {
|
|
116
|
+
suggestions.value = [];
|
|
117
|
+
highlightedIndex.value = -1;
|
|
118
|
+
debouncedGetData(String(queryString));
|
|
119
|
+
}
|
|
116
120
|
} else ignoreFocusEvent = false;
|
|
117
121
|
};
|
|
118
122
|
const handleBlur = (evt) => {
|
package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.vue_vue_type_script_setup_true_lang.js","names":["$slots","$attrs"],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :show-arrow=\"showArrow\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script\n lang=\"ts\"\n setup\n generic=\"T extends AutocompleteDataItem = AutocompleteDataItem\"\n>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, { inputPropsDefaults } from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n showArrow: true,\n popperClass: undefined,\n popperStyle: undefined,\n popperOptions: () => ({}),\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref([]) as Ref<AutocompleteData<T>>\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData<T>) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: T) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autocomplete.vue_vue_type_script_setup_true_lang.js","names":["$slots","$attrs"],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :show-arrow=\"showArrow\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script\n lang=\"ts\"\n setup\n generic=\"T extends AutocompleteDataItem = AutocompleteDataItem\"\n>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, { inputPropsDefaults } from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n showArrow: true,\n popperClass: undefined,\n popperStyle: undefined,\n popperOptions: () => ({}),\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref([]) as Ref<AutocompleteData<T>>\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData<T>) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n suggestions.value = []\n highlightedIndex.value = -1\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: T) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete2.js","names":[],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :show-arrow=\"showArrow\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script\n lang=\"ts\"\n setup\n generic=\"T extends AutocompleteDataItem = AutocompleteDataItem\"\n>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, { inputPropsDefaults } from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n showArrow: true,\n popperClass: undefined,\n popperStyle: undefined,\n popperOptions: () => ({}),\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref([]) as Ref<AutocompleteData<T>>\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData<T>) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: T) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"autocomplete2.js","names":[],"sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n :visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass!]\"\n :popper-style=\"popperStyle\"\n :popper-options=\"popperOptions\"\n :show-arrow=\"showArrow\"\n :teleported=\"teleported\"\n :append-to=\"appendTo\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n role=\"listbox\"\n @before-show=\"onSuggestionShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"mergeProps(passInputProps, $attrs)\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown=\"handleKeydown\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{\n [fitInputWidth ? 'width' : 'minWidth']: dropdownWidth,\n outline: 'none',\n }\"\n role=\"region\"\n >\n <div\n v-if=\"$slots.header\"\n :class=\"ns.be('suggestion', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <slot name=\"loading\">\n <el-icon :class=\"ns.is('loading')\">\n <Loading />\n </el-icon>\n </slot>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n <div\n v-if=\"$slots.footer\"\n :class=\"ns.be('suggestion', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script\n lang=\"ts\"\n setup\n generic=\"T extends AutocompleteDataItem = AutocompleteDataItem\"\n>\nimport {\n computed,\n mergeProps,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { pick } from 'lodash-unified'\nimport { onClickOutside, useDebounceFn } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { NOOP, getEventCode, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput, { inputPropsDefaults } from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { autocompleteEmits } from './autocomplete'\n\nimport type {\n AutocompleteData,\n AutocompleteDataItem,\n AutocompleteProps,\n} from './autocomplete'\nimport type { Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\nconst COMPONENT_NAME = 'ElAutocomplete'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<AutocompleteProps<T>>(), {\n ...inputPropsDefaults,\n valueKey: 'value',\n modelValue: '',\n debounce: 300,\n placement: 'bottom-start',\n fetchSuggestions: NOOP,\n triggerOnFocus: true,\n loopNavigation: true,\n teleported: true,\n showArrow: true,\n popperClass: undefined,\n popperStyle: undefined,\n popperOptions: () => ({}),\n})\nconst emit = defineEmits(autocompleteEmits)\nconst passInputProps = computed(() => {\n const inputProps = ElInput.props ?? []\n const keys = isArray(inputProps) ? inputProps : Object.keys(inputProps)\n return pick(props, keys)\n})\n\nconst rawAttrs = useRawAttrs()\nconst disabled = useFormDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet readonly = false\nlet ignoreFocusEvent = false\nconst suggestions = ref([]) as Ref<AutocompleteData<T>>\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = useId()\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = () => {\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onHide = () => {\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData<T>) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\n\nconst debounce = computed(() => props.debounce)\nconst debouncedGetData = useDebounceFn(getData, debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string | number) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (!ignoreFocusEvent) {\n activated.value = true\n emit('focus', evt)\n const queryString = props.modelValue ?? ''\n if (props.triggerOnFocus && !readonly) {\n suggestions.value = []\n highlightedIndex.value = -1\n debouncedGetData(String(queryString))\n }\n } else {\n ignoreFocusEvent = false\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n setTimeout(() => {\n // validate current focus event is inside el-tooltip-content\n // if so, ignore the blur event and the next focus event\n if (popperRef.value?.isFocusInsideContent()) {\n ignoreFocusEvent = true\n return\n }\n activated.value && close()\n emit('blur', evt)\n })\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (inputRef.value?.isComposing) {\n return\n }\n\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else {\n if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n activated.value = true\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst blur = () => {\n inputRef.value?.blur()\n}\n\nconst handleSelect = async (item: T) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n if (!props.loopNavigation) {\n highlightedIndex.value = -1\n return\n }\n index = suggestions.value.length - 1\n }\n\n if (index >= suggestions.value.length) {\n index = props.loopNavigation ? 0 : suggestions.value.length - 1\n }\n const [suggestion, suggestionList] = getSuggestionContext()\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop = offsetTop + scrollHeight - suggestion.clientHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop = offsetTop\n }\n highlightedIndex.value = index\n inputRef.value?.ref?.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\nconst getSuggestionContext = () => {\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )\n return [suggestion, suggestionList] as const\n}\n\nconst stopHandle = onClickOutside(listboxRef, (event: FocusEvent) => {\n // Prevent closing if focus is inside popper content\n if (popperRef.value?.isFocusInsideContent()) return\n const hadIgnoredFocus = ignoreFocusEvent\n ignoreFocusEvent = false\n if (!suggestionVisible.value) return\n if (hadIgnoredFocus) {\n handleBlur(new FocusEvent('blur', event))\n } else {\n close()\n }\n})\n\nconst handleKeydown = (e: KeyboardEvent | Event) => {\n const code = getEventCode(e as KeyboardEvent)\n switch (code) {\n case EVENT_CODE.up:\n e.preventDefault()\n highlight(highlightedIndex.value - 1)\n break\n case EVENT_CODE.down:\n e.preventDefault()\n highlight(highlightedIndex.value + 1)\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n e.preventDefault()\n handleKeyEnter()\n break\n case EVENT_CODE.tab:\n close()\n break\n case EVENT_CODE.esc:\n handleKeyEscape(e)\n break\n case EVENT_CODE.home:\n e.preventDefault()\n highlight(0)\n break\n case EVENT_CODE.end:\n e.preventDefault()\n highlight(suggestions.value.length - 1)\n break\n case EVENT_CODE.pageUp:\n e.preventDefault()\n highlight(Math.max(0, highlightedIndex.value - 10))\n break\n case EVENT_CODE.pageDown:\n e.preventDefault()\n highlight(\n Math.min(suggestions.value.length - 1, highlightedIndex.value + 10)\n )\n break\n }\n}\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nonMounted(() => {\n const inputElement = inputRef.value?.ref\n if (!inputElement) return\n ;[\n { key: 'role', value: 'textbox' },\n { key: 'aria-autocomplete', value: 'list' },\n { key: 'aria-controls', value: listboxId.value },\n {\n key: 'aria-activedescendant',\n value: `${listboxId.value}-item-${highlightedIndex.value}`,\n },\n ].forEach(({ key, value }) => inputElement.setAttribute(key, value))\n // get readonly attr\n readonly = inputElement.hasAttribute('readonly')\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description blur the input element */\n blur,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n /** @description loading suggestion list */\n getData,\n})\n</script>\n"],"mappings":""}
|
|
@@ -15,8 +15,8 @@ type __VLS_Slots = {} & {
|
|
|
15
15
|
declare const __VLS_base: _$vue.DefineComponent<BadgeProps, {
|
|
16
16
|
/** @description badge content */content: _$vue.ComputedRef<string>;
|
|
17
17
|
}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
|
|
18
|
-
type: "primary" | "success" | "warning" | "info" | "danger";
|
|
19
18
|
offset: [number, number];
|
|
19
|
+
type: "primary" | "success" | "warning" | "info" | "danger";
|
|
20
20
|
value: string | number;
|
|
21
21
|
max: number;
|
|
22
22
|
showZero: boolean;
|
|
@@ -39,7 +39,7 @@ declare const calendarProps: {
|
|
|
39
39
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
40
40
|
__epPropKey: true;
|
|
41
41
|
};
|
|
42
|
-
readonly controllerType: EpPropFinalized<StringConstructor, "
|
|
42
|
+
readonly controllerType: EpPropFinalized<StringConstructor, "select" | "button", unknown, "button", boolean>;
|
|
43
43
|
readonly formatter: {
|
|
44
44
|
readonly type: _$vue.PropType<(value: number, type: "year" | "month") => string | number>;
|
|
45
45
|
readonly required: false;
|
|
@@ -12,8 +12,8 @@ type __VLS_Slots = {} & {
|
|
|
12
12
|
footer?: (props: typeof __VLS_5) => any;
|
|
13
13
|
};
|
|
14
14
|
declare const __VLS_base: _$vue.DefineComponent<CardProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<CardProps> & Readonly<{}>, {
|
|
15
|
-
header: string;
|
|
16
15
|
footer: string;
|
|
16
|
+
header: string;
|
|
17
17
|
bodyStyle: string | false | _$vue.CSSProperties | _$vue.StyleValue[] | null;
|
|
18
18
|
headerClass: string | false | Record<string, any> | ClassValue[] | null;
|
|
19
19
|
bodyClass: string | false | Record<string, any> | ClassValue[] | null;
|
|
@@ -62,7 +62,7 @@ interface CarouselProps {
|
|
|
62
62
|
declare const carouselProps: {
|
|
63
63
|
readonly initialIndex: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
64
64
|
readonly height: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
65
|
-
readonly trigger: EpPropFinalized<StringConstructor, "
|
|
65
|
+
readonly trigger: EpPropFinalized<StringConstructor, "click" | "hover", unknown, "hover", boolean>;
|
|
66
66
|
readonly autoplay: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
67
67
|
readonly interval: EpPropFinalized<NumberConstructor, unknown, unknown, 3000, boolean>;
|
|
68
68
|
readonly indicatorPosition: EpPropFinalized<StringConstructor, "" | "none" | "outside", unknown, "", boolean>;
|