@element-plus/nightly 0.0.20260517 → 0.0.20260518
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.full.js +5 -5
- package/dist/index.full.min.js +4 -4
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +4 -4
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +5 -5
- 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/component.mjs +3 -3
- package/es/components/affix/src/affix.d.ts +1 -1
- package/es/components/affix/src/affix.vue.d.ts +3 -3
- package/es/components/alert/src/alert.vue.d.ts +1 -1
- package/es/components/anchor/src/anchor.vue.d.ts +4 -4
- package/es/components/autocomplete/src/autocomplete.d.ts +2 -2
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
- package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
- package/es/components/avatar/src/avatar-group.d.ts +3 -3
- package/es/components/avatar/src/avatar.d.ts +2 -2
- package/es/components/button/src/button-group.d.ts +1 -1
- package/es/components/button/src/button-group.vue.d.ts +1 -1
- package/es/components/button/src/button.d.ts +1 -1
- package/es/components/button/src/button.vue.d.ts +1 -1
- package/es/components/button/src/use-button.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 +2 -2
- package/es/components/cascader/src/cascader.vue.d.ts +13 -13
- package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.vue.d.ts +3 -3
- package/es/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.mjs +2 -2
- package/es/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/cascader-panel/src/menu.vue.d.ts +1 -1
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
- package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +1 -1
- package/es/components/checkbox/src/checkbox.d.ts +4 -4
- package/es/components/checkbox/src/checkbox.vue.d.ts +2 -2
- package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
- package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
- package/es/components/color-picker/src/color-picker.d.ts +1 -1
- package/es/components/color-picker/src/color-picker.vue.d.ts +8 -8
- package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
- package/es/components/config-provider/src/config-provider.d.ts +3 -3
- package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/es/components/countdown/src/countdown.vue.d.ts +1 -1
- package/es/components/countdown/src/countdown.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/date-picker/src/date-picker.d.ts +21 -21
- package/es/components/date-picker/src/props.d.ts +4 -4
- 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 +2 -2
- 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 +6 -6
- 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 +8 -8
- package/es/components/descriptions/src/description.d.ts +1 -1
- package/es/components/dialog/src/dialog-content.vue.d.ts +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +4 -4
- package/es/components/divider/src/divider.d.ts +3 -3
- package/es/components/divider/src/divider.mjs +2 -2
- package/es/components/divider/src/divider.mjs.map +1 -1
- package/es/components/drawer/src/drawer.vue.d.ts +6 -6
- package/es/components/dropdown/src/dropdown.d.ts +2 -2
- package/es/components/dropdown/src/dropdown.vue.d.ts +73 -73
- package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/es/components/form/src/form-item.d.ts +1 -1
- package/es/components/form/src/form-item.vue.d.ts +1 -1
- package/es/components/form/src/form.d.ts +2 -2
- package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +2 -2
- package/es/components/index.mjs +6 -6
- package/es/components/input/src/input.d.ts +1 -1
- package/es/components/input/src/input.vue.d.ts +13 -13
- package/es/components/input-number/src/input-number.d.ts +3 -3
- package/es/components/input-number/src/input-number.vue.d.ts +8 -8
- package/es/components/input-otp/src/input-otp.vue.d.ts +5 -5
- package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
- package/es/components/input-tag/src/input-tag.d.ts +1 -1
- package/es/components/input-tag/src/input-tag.vue.d.ts +9 -9
- package/es/components/mention/src/mention.d.ts +2 -2
- package/es/components/mention/src/mention.vue.d.ts +4 -4
- package/es/components/menu/src/menu.d.ts +5 -5
- package/es/components/menu/src/utils/menu-item.mjs +1 -1
- package/es/components/menu/src/utils/submenu.mjs +1 -1
- package/es/components/message/src/instance.d.ts +1 -1
- package/es/components/message/src/message.d.ts +1 -1
- package/es/components/message/src/message.vue.d.ts +3 -3
- package/es/components/message-box/src/index.vue.d.ts +42 -42
- package/es/components/notification/src/notification.vue.d.ts +3 -3
- package/es/components/overlay/index.d.ts +2 -2
- package/es/components/overlay/src/overlay.d.ts +3 -3
- package/es/components/pagination/src/components/jumper.d.ts +1 -1
- package/es/components/pagination/src/components/jumper.vue.d.ts +2 -2
- package/es/components/pagination/src/components/sizes.d.ts +1 -1
- package/es/components/pagination/src/components/sizes.vue.d.ts +2 -2
- package/es/components/pagination/src/pagination.d.ts +5 -5
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
- package/es/components/popover/src/popover.d.ts +2 -2
- package/es/components/popover/src/popover.vue.d.ts +9 -9
- package/es/components/popper/src/composables/use-content.d.ts +2 -2
- package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- package/es/components/popper/src/content.vue.d.ts +15 -15
- package/es/components/progress/src/progress.vue.d.ts +1 -1
- package/es/components/radio/src/radio-button.d.ts +4 -4
- package/es/components/radio/src/radio-button.vue.d.ts +1 -1
- package/es/components/radio/src/radio-group.d.ts +1 -1
- package/es/components/radio/src/radio-group.vue.d.ts +2 -2
- package/es/components/radio/src/radio.d.ts +8 -8
- package/es/components/radio/src/radio.vue.d.ts +1 -1
- package/es/components/radio/src/use-radio.d.ts +1 -1
- package/es/components/rate/src/rate.d.ts +1 -1
- package/es/components/rate/src/rate.vue.d.ts +1 -1
- package/es/components/row/src/row.d.ts +2 -2
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
- package/es/components/segmented/index.d.ts +1 -1
- package/es/components/segmented/src/segmented.d.ts +2 -2
- package/es/components/select/src/option.d.ts +1 -1
- package/es/components/select/src/option.vue.d.ts +2 -2
- package/es/components/select/src/select.d.ts +3 -3
- package/es/components/select/src/select.vue.d.ts +84 -84
- package/es/components/select/src/useSelect.d.ts +6 -6
- package/es/components/select-v2/src/defaults.d.ts +2 -2
- package/es/components/select-v2/src/select.vue.d.ts +74 -74
- package/es/components/select-v2/src/useSelect.d.ts +1 -1
- package/es/components/slider/src/slider.d.ts +2 -2
- package/es/components/slider/src/slider.vue.d.ts +7 -7
- package/es/components/space/src/space.d.ts +6 -6
- package/es/components/splitter/src/splitter.vue.d.ts +2 -2
- package/es/components/switch/src/switch.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 +60 -60
- package/es/components/table/src/table/defaults.d.ts +1 -1
- package/es/components/table/src/table/style-helper.d.ts +2 -2
- package/es/components/table/src/table-column/defaults.d.ts +2 -2
- package/es/components/table/src/table-header/index.d.ts +7 -7
- package/es/components/table/src/table.vue.d.ts +3 -3
- package/es/components/table-v2/src/components/header.d.ts +1 -1
- package/es/components/table-v2/src/components/row.d.ts +1 -1
- package/es/components/table-v2/src/table-grid.d.ts +4 -4
- package/es/components/table-v2/src/table-v2.d.ts +6 -6
- package/es/components/tabs/src/tab-nav.d.ts +1 -1
- package/es/components/tabs/src/tabs.d.ts +6 -6
- package/es/components/tag/src/tag.d.ts +1 -1
- package/es/components/tag/src/tag.vue.d.ts +2 -2
- package/es/components/text/src/text.d.ts +1 -1
- package/es/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
- package/es/components/time-picker/src/common/picker.vue.d.ts +24 -24
- package/es/components/time-picker/src/common/props.d.ts +3 -3
- package/es/components/time-picker/src/time-picker.d.ts +18 -18
- package/es/components/time-select/src/time-select.d.ts +1 -1
- package/es/components/time-select/src/time-select.vue.d.ts +9 -9
- package/es/components/timeline/src/timeline-item.d.ts +1 -1
- package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
- package/es/components/timeline/src/timeline.d.ts +4 -4
- package/es/components/tooltip/src/content.vue.d.ts +13 -13
- package/es/components/tooltip/src/tooltip.d.ts +1 -1
- package/es/components/tooltip/src/tooltip.vue.d.ts +16 -16
- package/es/components/tooltip/src/trigger.d.ts +1 -1
- package/es/components/tour/src/content.d.ts +1 -1
- package/es/components/tour/src/step.d.ts +1 -1
- package/es/components/tour/src/step.vue.d.ts +1 -1
- package/es/components/tour/src/tour.d.ts +1 -1
- package/es/components/tour/src/tour.vue.d.ts +3 -3
- package/es/components/tree/src/model/node.mjs +2 -2
- package/es/components/tree/src/model/node.mjs.map +1 -1
- package/es/components/tree/src/tree-node.vue.d.ts +7 -7
- package/es/components/tree/src/tree.vue.d.ts +8 -8
- package/es/components/tree-select/src/tree-select-option.d.ts +2 -2
- package/es/components/tree-select/src/tree-select.vue.d.ts +19 -19
- package/es/components/tree-v2/src/composables/useTree.d.ts +6 -6
- package/es/components/tree-v2/src/tree.vue.d.ts +4 -4
- package/es/components/upload/src/upload-content.vue.d.ts +2 -2
- package/es/components/upload/src/upload.vue.d.ts +2 -2
- package/es/components/virtual-list/src/builders/build-grid.d.ts +4 -4
- package/es/components/virtual-list/src/builders/build-list.d.ts +3 -3
- package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +4 -4
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +3 -3
- package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +4 -4
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +3 -3
- package/es/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/es/components/watermark/src/watermark.vue.d.ts +1 -1
- package/es/constants/index.mjs +2 -2
- package/es/directives/trap-focus/index.mjs +1 -1
- package/es/hooks/use-floating/index.d.ts +4 -4
- package/es/hooks/use-popper/index.d.ts +2 -2
- package/es/hooks/use-size/index.d.ts +3 -3
- package/es/index.mjs +9 -9
- package/es/plugin.mjs +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/component.js +109 -109
- package/lib/components/affix/src/affix.d.ts +1 -1
- package/lib/components/affix/src/affix.vue.d.ts +3 -3
- package/lib/components/alert/src/alert.vue.d.ts +1 -1
- package/lib/components/anchor/src/anchor.vue.d.ts +4 -4
- package/lib/components/autocomplete/src/autocomplete.d.ts +2 -2
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
- package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
- package/lib/components/avatar/src/avatar-group.d.ts +3 -3
- package/lib/components/avatar/src/avatar.d.ts +2 -2
- package/lib/components/button/src/button-group.d.ts +1 -1
- package/lib/components/button/src/button-group.vue.d.ts +1 -1
- package/lib/components/button/src/button.d.ts +1 -1
- package/lib/components/button/src/button.vue.d.ts +1 -1
- package/lib/components/button/src/use-button.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 +2 -2
- package/lib/components/cascader/src/cascader.vue.d.ts +13 -13
- package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js +14 -14
- package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/cascader-panel/src/index.vue.d.ts +3 -3
- package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js +13 -13
- package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/cascader-panel/src/menu.vue.d.ts +1 -1
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +2 -2
- package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +1 -1
- package/lib/components/checkbox/src/checkbox.d.ts +4 -4
- package/lib/components/checkbox/src/checkbox.vue.d.ts +2 -2
- package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
- package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
- package/lib/components/color-picker/src/color-picker.d.ts +1 -1
- package/lib/components/color-picker/src/color-picker.vue.d.ts +8 -8
- package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
- package/lib/components/config-provider/src/config-provider.d.ts +3 -3
- package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
- package/lib/components/countdown/src/countdown.vue_vue_type_script_setup_true_lang.js +1 -1
- package/lib/components/date-picker/src/date-picker.d.ts +21 -21
- package/lib/components/date-picker/src/props.d.ts +4 -4
- 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 +2 -2
- 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 +6 -6
- 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 +8 -8
- package/lib/components/descriptions/src/description.d.ts +1 -1
- package/lib/components/dialog/src/dialog-content.vue.d.ts +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +4 -4
- package/lib/components/divider/src/divider.d.ts +3 -3
- package/lib/components/divider/src/divider.js +2 -2
- package/lib/components/divider/src/divider.js.map +1 -1
- package/lib/components/drawer/src/drawer.vue.d.ts +6 -6
- package/lib/components/dropdown/src/dropdown.d.ts +2 -2
- package/lib/components/dropdown/src/dropdown.vue.d.ts +73 -73
- package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/lib/components/form/src/form-item.d.ts +1 -1
- package/lib/components/form/src/form-item.vue.d.ts +1 -1
- package/lib/components/form/src/form.d.ts +2 -2
- package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +2 -2
- package/lib/components/index.js +125 -125
- package/lib/components/input/src/input.d.ts +1 -1
- package/lib/components/input/src/input.vue.d.ts +13 -13
- package/lib/components/input-number/src/input-number.d.ts +3 -3
- package/lib/components/input-number/src/input-number.vue.d.ts +8 -8
- package/lib/components/input-otp/src/input-otp.vue.d.ts +5 -5
- package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
- package/lib/components/input-tag/src/input-tag.d.ts +1 -1
- package/lib/components/input-tag/src/input-tag.vue.d.ts +9 -9
- package/lib/components/mention/src/mention.d.ts +2 -2
- package/lib/components/mention/src/mention.vue.d.ts +4 -4
- package/lib/components/menu/src/menu.d.ts +5 -5
- package/lib/components/menu/src/utils/menu-item.js +11 -11
- package/lib/components/menu/src/utils/menu-item.js.map +1 -1
- package/lib/components/menu/src/utils/submenu.js +9 -9
- package/lib/components/menu/src/utils/submenu.js.map +1 -1
- package/lib/components/message/src/instance.d.ts +1 -1
- package/lib/components/message/src/message.d.ts +1 -1
- package/lib/components/message/src/message.vue.d.ts +3 -3
- package/lib/components/message-box/src/index.vue.d.ts +42 -42
- package/lib/components/notification/src/notification.vue.d.ts +3 -3
- package/lib/components/overlay/index.d.ts +2 -2
- package/lib/components/overlay/src/overlay.d.ts +3 -3
- package/lib/components/pagination/src/components/jumper.d.ts +1 -1
- package/lib/components/pagination/src/components/jumper.vue.d.ts +2 -2
- package/lib/components/pagination/src/components/sizes.d.ts +1 -1
- package/lib/components/pagination/src/components/sizes.vue.d.ts +2 -2
- package/lib/components/pagination/src/pagination.d.ts +5 -5
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -3
- package/lib/components/popover/src/popover.d.ts +2 -2
- package/lib/components/popover/src/popover.vue.d.ts +9 -9
- package/lib/components/popper/src/composables/use-content.d.ts +2 -2
- package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- package/lib/components/popper/src/content.vue.d.ts +15 -15
- package/lib/components/progress/src/progress.vue.d.ts +1 -1
- package/lib/components/radio/src/radio-button.d.ts +4 -4
- package/lib/components/radio/src/radio-button.vue.d.ts +1 -1
- package/lib/components/radio/src/radio-group.d.ts +1 -1
- package/lib/components/radio/src/radio-group.vue.d.ts +2 -2
- package/lib/components/radio/src/radio.d.ts +8 -8
- package/lib/components/radio/src/radio.vue.d.ts +1 -1
- package/lib/components/radio/src/use-radio.d.ts +1 -1
- package/lib/components/rate/src/rate.d.ts +1 -1
- package/lib/components/rate/src/rate.vue.d.ts +1 -1
- package/lib/components/row/src/row.d.ts +2 -2
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
- package/lib/components/segmented/index.d.ts +1 -1
- package/lib/components/segmented/src/segmented.d.ts +2 -2
- package/lib/components/select/src/option.d.ts +1 -1
- package/lib/components/select/src/option.vue.d.ts +2 -2
- package/lib/components/select/src/select.d.ts +3 -3
- package/lib/components/select/src/select.vue.d.ts +84 -84
- package/lib/components/select/src/useSelect.d.ts +6 -6
- package/lib/components/select-v2/src/defaults.d.ts +2 -2
- package/lib/components/select-v2/src/select.vue.d.ts +74 -74
- package/lib/components/select-v2/src/useSelect.d.ts +1 -1
- package/lib/components/slider/src/slider.d.ts +2 -2
- package/lib/components/slider/src/slider.vue.d.ts +7 -7
- package/lib/components/space/src/space.d.ts +6 -6
- package/lib/components/splitter/src/splitter.vue.d.ts +2 -2
- package/lib/components/switch/src/switch.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 +60 -60
- package/lib/components/table/src/table/defaults.d.ts +1 -1
- package/lib/components/table/src/table/style-helper.d.ts +2 -2
- package/lib/components/table/src/table-column/defaults.d.ts +2 -2
- package/lib/components/table/src/table-header/index.d.ts +7 -7
- package/lib/components/table/src/table.vue.d.ts +3 -3
- package/lib/components/table-v2/src/components/header.d.ts +1 -1
- package/lib/components/table-v2/src/components/row.d.ts +1 -1
- package/lib/components/table-v2/src/table-grid.d.ts +4 -4
- package/lib/components/table-v2/src/table-v2.d.ts +6 -6
- package/lib/components/tabs/src/tab-nav.d.ts +1 -1
- package/lib/components/tabs/src/tabs.d.ts +6 -6
- package/lib/components/tag/src/tag.d.ts +1 -1
- package/lib/components/tag/src/tag.vue.d.ts +2 -2
- package/lib/components/text/src/text.d.ts +1 -1
- package/lib/components/time-picker/src/common/picker-range-trigger.vue.d.ts +6 -6
- package/lib/components/time-picker/src/common/picker.vue.d.ts +24 -24
- package/lib/components/time-picker/src/common/props.d.ts +3 -3
- package/lib/components/time-picker/src/time-picker.d.ts +18 -18
- package/lib/components/time-select/src/time-select.d.ts +1 -1
- package/lib/components/time-select/src/time-select.vue.d.ts +9 -9
- package/lib/components/timeline/src/timeline-item.d.ts +1 -1
- package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
- package/lib/components/timeline/src/timeline.d.ts +4 -4
- package/lib/components/tooltip/src/content.vue.d.ts +13 -13
- package/lib/components/tooltip/src/tooltip.d.ts +1 -1
- package/lib/components/tooltip/src/tooltip.vue.d.ts +16 -16
- package/lib/components/tooltip/src/trigger.d.ts +1 -1
- package/lib/components/tour/src/content.d.ts +1 -1
- package/lib/components/tour/src/step.d.ts +1 -1
- package/lib/components/tour/src/step.vue.d.ts +1 -1
- package/lib/components/tour/src/tour.d.ts +1 -1
- package/lib/components/tour/src/tour.vue.d.ts +3 -3
- package/lib/components/tree/src/model/node.js +2 -2
- package/lib/components/tree/src/model/node.js.map +1 -1
- package/lib/components/tree/src/tree-node.vue.d.ts +7 -7
- package/lib/components/tree/src/tree.vue.d.ts +8 -8
- package/lib/components/tree-select/src/tree-select-option.d.ts +2 -2
- package/lib/components/tree-select/src/tree-select.vue.d.ts +19 -19
- package/lib/components/tree-v2/src/composables/useTree.d.ts +6 -6
- package/lib/components/tree-v2/src/tree.vue.d.ts +4 -4
- package/lib/components/upload/src/upload-content.vue.d.ts +2 -2
- package/lib/components/upload/src/upload.vue.d.ts +2 -2
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +4 -4
- package/lib/components/virtual-list/src/builders/build-list.d.ts +3 -3
- package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +4 -4
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +3 -3
- package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +4 -4
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +3 -3
- package/lib/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
- package/lib/constants/index.js +2 -2
- package/lib/directives/trap-focus/index.js +5 -5
- package/lib/directives/trap-focus/index.js.map +1 -1
- package/lib/hooks/use-floating/index.d.ts +4 -4
- package/lib/hooks/use-popper/index.d.ts +2 -2
- package/lib/hooks/use-size/index.d.ts +3 -3
- package/lib/index.js +128 -128
- package/lib/plugin.js +12 -12
- package/lib/plugin.js.map +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 +3 -3
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('panel'), ns.is('bordered', border)]\"\n @keydown=\"handleKeyDown\"\n >\n <el-cascader-menu\n v-for=\"(menu, index) in menus\"\n :key=\"index\"\n :ref=\"(item) => (menuList[index] = item as CascaderMenuInstance)\"\n :index=\"index\"\n :nodes=\"[...menu]\"\n :virtual-scroll=\"virtualScroll\"\n :item-size=\"itemSize\"\n :height=\"height\"\n >\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </el-cascader-menu>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onBeforeUpdate,\n onMounted,\n provide,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { cloneDeep, flattenDeep, isEqual } from 'lodash-unified'\nimport {\n castArray,\n focusNode,\n getEventCode,\n getSibling,\n isClient,\n isEmpty,\n scrollIntoView,\n unique,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport ElCascaderMenu from './menu.vue'\nimport Store from './store'\nimport Node from './node'\nimport {\n CASCADER_PANEL_HEIGHT,\n CASCADER_PANEL_ITEM_SIZE,\n cascaderPanelEmits,\n useCascaderConfig,\n} from './config'\nimport { checkNode, getMenuIndex, sortByOriginalOrder } from './utils'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type {\n CascaderNode,\n CascaderNodeValue,\n CascaderOption,\n CascaderValue,\n ElCascaderPanelContext,\n} from './types'\nimport type { CascaderMenuInstance } from './instance'\nimport type { CascaderPanelProps } from './config'\n\ndefineOptions({\n name: 'ElCascaderPanel',\n})\n\nconst props = withDefaults(defineProps<CascaderPanelProps>(), {\n options: () => [],\n props: () => ({}),\n border: true,\n itemSize: CASCADER_PANEL_ITEM_SIZE,\n height: CASCADER_PANEL_HEIGHT,\n})\nconst emit = defineEmits(cascaderPanelEmits)\n\n// for interrupt sync check status in lazy mode\nlet manualChecked = false\n\nconst ns = useNamespace('cascader')\nconst config = useCascaderConfig(props)\nconst slots = useSlots()\n\nlet store: Store\nconst initialLoaded = ref(true)\nconst initialLoadedOnce = ref(false)\nconst menuList = ref<CascaderMenuInstance[]>([])\nconst checkedValue = ref<CascaderValue>()\nconst menus = ref<CascaderNode[][]>([])\nconst expandingNode = ref<CascaderNode>()\nconst checkedNodes = ref<CascaderNode[]>([])\n\nconst isHoverMenu = computed(() => config.value.expandTrigger === 'hover')\nconst renderLabelFn = computed(() => props.renderLabel || slots.default)\nconst virtualScroll = computed(() => props.virtualScroll)\nconst itemSize = computed(() => props.itemSize)\nconst height = computed(() => props.height)\n\nconst initStore = () => {\n const { options } = props\n const cfg = config.value\n\n manualChecked = false\n store = new Store(options, cfg)\n menus.value = [store.getNodes()]\n\n if (cfg.lazy && isEmpty(props.options)) {\n initialLoaded.value = false\n lazyLoad(undefined, (list) => {\n if (list) {\n store = new Store(list, cfg)\n menus.value = [store.getNodes()]\n }\n initialLoaded.value = true\n syncCheckedValue(false, true)\n })\n } else {\n syncCheckedValue(false, true)\n }\n}\n\nconst lazyLoad: ElCascaderPanelContext['lazyLoad'] = (node, cb) => {\n const cfg = config.value\n node! = node || new Node({}, cfg, undefined, true)\n node.loading = true\n\n const resolve = (dataList?: CascaderOption[]) => {\n const _node = node as Node\n const parent = _node.root ? null : _node\n _node.loading = false\n _node.loaded = true\n _node.childrenData = _node.childrenData || []\n dataList && store?.appendNodes(dataList, parent as Node)\n dataList && cb?.(dataList)\n if (node.level === 0) {\n initialLoadedOnce.value = true\n }\n }\n\n const reject = () => {\n node!.loading = false\n node!.loaded = false\n if (node!.level === 0) {\n initialLoaded.value = true\n }\n }\n\n cfg.lazyLoad(node, resolve, reject)\n}\n\nconst expandNode: ElCascaderPanelContext['expandNode'] = (node, silent) => {\n const { level } = node\n const newMenus = menus.value.slice(0, level)\n let newExpandingNode: CascaderNode\n\n if (node.isLeaf) {\n newExpandingNode = node.pathNodes[level - 2]\n } else {\n newExpandingNode = node\n newMenus.push(node.children)\n }\n\n if (expandingNode.value?.uid !== newExpandingNode?.uid) {\n expandingNode.value = node\n menus.value = newMenus\n !silent && emit('expand-change', node?.pathValues || [])\n }\n}\n\nconst handleCheckChange: ElCascaderPanelContext['handleCheckChange'] = (\n node,\n checked,\n emitClose = true\n) => {\n const { checkStrictly, multiple } = config.value\n const oldNode = checkedNodes.value[0]\n manualChecked = true\n\n !multiple && oldNode?.doCheck(false)\n node.doCheck(checked)\n calculateCheckedValue()\n emitClose && !multiple && !checkStrictly && emit('close')\n !emitClose && !multiple && expandParentNode(node)\n}\n\nconst expandParentNode = (node: Node | undefined) => {\n if (!node) return\n node = node.parent\n expandParentNode(node)\n node && expandNode(node)\n}\n\nconst getFlattedNodes = (leafOnly: boolean) => store?.getFlattedNodes(leafOnly)\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return getFlattedNodes(leafOnly)?.filter(({ checked }) => checked !== false)\n}\n\nconst clearCheckedNodes = () => {\n checkedNodes.value.forEach((node) => node.doCheck(false))\n calculateCheckedValue()\n menus.value = menus.value.slice(0, 1)\n expandingNode.value = undefined\n emit('expand-change', [])\n}\n\nconst calculateCheckedValue = () => {\n const { checkStrictly, multiple } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = getCheckedNodes(!checkStrictly)!\n // ensure the original order\n const nodes = sortByOriginalOrder(oldNodes, newNodes)\n const values = nodes.map((node) => node.valueByOption)\n checkedNodes.value = nodes\n checkedValue.value = multiple ? values : (values[0] ?? null)\n}\n\nconst syncCheckedValue = (loaded = false, forced = false) => {\n const { modelValue } = props\n const { lazy, multiple, checkStrictly } = config.value\n const leafOnly = !checkStrictly\n\n if (\n !initialLoaded.value ||\n manualChecked ||\n (!forced && isEqual(modelValue, checkedValue.value))\n )\n return\n\n if (lazy && !loaded) {\n const values: CascaderNodeValue[] = unique(\n flattenDeep(castArray(modelValue as CascaderNodeValue[]))\n )\n const nodes = values\n .map((val) => store?.getNodeByValue(val))\n .filter((node) => !!node && !node.loaded && !node.loading) as Node[]\n\n if (nodes.length) {\n nodes.forEach((node) => {\n lazyLoad(node, () => syncCheckedValue(false, forced))\n })\n } else {\n syncCheckedValue(true, forced)\n }\n } else {\n const values = multiple ? castArray(modelValue) : [modelValue]\n const nodes = unique(\n values.map((val) =>\n store?.getNodeByValue(val as CascaderNodeValue, leafOnly)\n )\n ) as Node[]\n syncMenuState(nodes, forced)\n checkedValue.value = cloneDeep(modelValue ?? undefined)\n }\n}\n\nconst syncMenuState = (\n newCheckedNodes: CascaderNode[],\n reserveExpandingState = true\n) => {\n const { checkStrictly } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = newCheckedNodes.filter(\n (node) => !!node && (checkStrictly || node.isLeaf)\n )\n const oldExpandingNode = store?.getSameNode(expandingNode.value!)\n const newExpandingNode =\n (reserveExpandingState && oldExpandingNode) || newNodes[0]\n\n if (newExpandingNode) {\n newExpandingNode.pathNodes.forEach((node) => expandNode(node, true))\n } else {\n expandingNode.value = undefined\n }\n\n oldNodes.forEach((node) => node.doCheck(false))\n reactive(newNodes).forEach((node) => node.doCheck(true))\n checkedNodes.value = newNodes\n nextTick(scrollToExpandingNode)\n}\n\nconst scrollToExpandingNode = () => {\n if (!isClient) return\n\n menuList.value.forEach((menu) => {\n const menuElement = menu?.$el\n if (menuElement) {\n // virtual scroll mode, use scrollToItem method\n if (virtualScroll.value) {\n const activeIndex = menu?.getActiveNodeIndex?.()\n if (activeIndex !== undefined && activeIndex >= 0) {\n menu?.scrollToItem?.(activeIndex)\n }\n } else {\n // logic for non-virtual scroll mode\n const container = menuElement.querySelector(\n `.${ns.namespace.value}-scrollbar__wrap`\n )\n let activeNode = menuElement.querySelector(\n `.${ns.b('node')}.in-active-path`\n )\n if (!activeNode) {\n const activeElements = menuElement.querySelectorAll(\n `.${ns.b('node')}.${ns.is('active')}`\n )\n activeNode = activeElements[activeElements.length - 1]\n }\n scrollIntoView(container, activeNode)\n }\n }\n })\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const code = getEventCode(e)\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n\n if (virtualScroll.value) {\n const menuIndex = getMenuIndex(target)\n const menu = menuList.value[menuIndex]\n if (menu) {\n // For virtual scroll, calculate the target index and use focusNodeAt\n const currentIndex = menu.getNodeIndexById(target.id)\n if (currentIndex >= 0) {\n const nodesInMenu = menus.value[menuIndex] ?? []\n const nodesCount = nodesInMenu.length\n // Find the next non-disabled node\n let targetIndex = currentIndex + distance\n while (targetIndex >= 0 && targetIndex < nodesCount) {\n if (!nodesInMenu[targetIndex].isDisabled) {\n menu.focusNodeAt(targetIndex)\n return\n }\n targetIndex += distance\n }\n }\n }\n }\n\n focusNode(\n getSibling(\n target,\n distance,\n `.${ns.b('node')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.left: {\n e.preventDefault()\n const preMenu = menuList.value[getMenuIndex(target) - 1]\n const expandedNode = preMenu?.$el.querySelector(\n `.${ns.b('node')}[aria-expanded=\"true\"]`\n )\n focusNode(expandedNode)\n break\n }\n case EVENT_CODE.right: {\n e.preventDefault()\n const nextMenu = menuList.value[getMenuIndex(target) + 1]\n const firstNode = nextMenu?.$el.querySelector(\n `.${ns.b('node')}[tabindex=\"-1\"]`\n )\n focusNode(firstNode)\n break\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n checkNode(target)\n break\n }\n}\n\nprovide(\n CASCADER_PANEL_INJECTION_KEY,\n reactive({\n config,\n expandingNode,\n checkedNodes,\n isHoverMenu,\n initialLoaded,\n renderLabelFn,\n virtualScroll,\n itemSize,\n height,\n lazyLoad,\n expandNode,\n handleCheckChange,\n })\n)\n\nwatch(\n config,\n (newVal, oldVal) => {\n if (isEqual(newVal, oldVal)) return\n initStore()\n },\n {\n immediate: true,\n }\n)\n\nwatch(() => props.options, initStore, {\n deep: true,\n})\n\nwatch(\n () => props.modelValue,\n () => {\n manualChecked = false\n syncCheckedValue()\n },\n {\n deep: true,\n }\n)\n\nwatch(\n () => checkedValue.value,\n (val) => {\n if (!isEqual(val, props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n }\n }\n)\n\nconst loadLazyRootNodes = () => {\n if (initialLoadedOnce.value) return\n initStore()\n}\n\nonBeforeUpdate(() => (menuList.value = []))\n\nonMounted(() => !isEmpty(props.modelValue) && syncCheckedValue())\n\ndefineExpose({\n menuList,\n menus,\n checkedNodes,\n handleKeyDown,\n handleCheckChange,\n getFlattedNodes,\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description clear checked nodes\n */\n clearCheckedNodes,\n calculateCheckedValue,\n scrollToExpandingNode,\n loadLazyRootNodes,\n})\n</script>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('panel'), ns.is('bordered', border)]\"\n @keydown=\"handleKeyDown\"\n >\n <el-cascader-menu\n v-for=\"(menu, index) in menus\"\n :key=\"index\"\n :ref=\"(item) => (menuList[index] = item as CascaderMenuInstance)\"\n :index=\"index\"\n :nodes=\"[...menu]\"\n :virtual-scroll=\"virtualScroll\"\n :item-size=\"itemSize\"\n :height=\"height\"\n >\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </el-cascader-menu>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onBeforeUpdate,\n onMounted,\n provide,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { cloneDeep, flattenDeep, isEqual } from 'lodash-unified'\nimport {\n castArray,\n focusNode,\n getEventCode,\n getSibling,\n isClient,\n isEmpty,\n scrollIntoView,\n unique,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport ElCascaderMenu from './menu.vue'\nimport Store from './store'\nimport Node from './node'\nimport {\n CASCADER_PANEL_HEIGHT,\n CASCADER_PANEL_ITEM_SIZE,\n cascaderPanelEmits,\n useCascaderConfig,\n} from './config'\nimport { checkNode, getMenuIndex, sortByOriginalOrder } from './utils'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type {\n CascaderNode,\n CascaderNodeValue,\n CascaderOption,\n CascaderValue,\n ElCascaderPanelContext,\n} from './types'\nimport type { CascaderMenuInstance } from './instance'\nimport type { CascaderPanelProps } from './config'\n\ndefineOptions({\n name: 'ElCascaderPanel',\n})\n\nconst props = withDefaults(defineProps<CascaderPanelProps>(), {\n options: () => [],\n props: () => ({}),\n border: true,\n itemSize: CASCADER_PANEL_ITEM_SIZE,\n height: CASCADER_PANEL_HEIGHT,\n})\nconst emit = defineEmits(cascaderPanelEmits)\n\n// for interrupt sync check status in lazy mode\nlet manualChecked = false\n\nconst ns = useNamespace('cascader')\nconst config = useCascaderConfig(props)\nconst slots = useSlots()\n\nlet store: Store\nconst initialLoaded = ref(true)\nconst initialLoadedOnce = ref(false)\nconst menuList = ref<CascaderMenuInstance[]>([])\nconst checkedValue = ref<CascaderValue>()\nconst menus = ref<CascaderNode[][]>([])\nconst expandingNode = ref<CascaderNode>()\nconst checkedNodes = ref<CascaderNode[]>([])\n\nconst isHoverMenu = computed(() => config.value.expandTrigger === 'hover')\nconst renderLabelFn = computed(() => props.renderLabel || slots.default)\nconst virtualScroll = computed(() => props.virtualScroll)\nconst itemSize = computed(() => props.itemSize)\nconst height = computed(() => props.height)\n\nconst initStore = () => {\n const { options } = props\n const cfg = config.value\n\n manualChecked = false\n store = new Store(options, cfg)\n menus.value = [store.getNodes()]\n\n if (cfg.lazy && isEmpty(props.options)) {\n initialLoaded.value = false\n lazyLoad(undefined, (list) => {\n if (list) {\n store = new Store(list, cfg)\n menus.value = [store.getNodes()]\n }\n initialLoaded.value = true\n syncCheckedValue(false, true)\n })\n } else {\n syncCheckedValue(false, true)\n }\n}\n\nconst lazyLoad: ElCascaderPanelContext['lazyLoad'] = (node, cb) => {\n const cfg = config.value\n node! = node || new Node({}, cfg, undefined, true)\n node.loading = true\n\n const resolve = (dataList?: CascaderOption[]) => {\n const _node = node as Node\n const parent = _node.root ? null : _node\n _node.loading = false\n _node.loaded = true\n _node.childrenData = _node.childrenData || []\n dataList && store?.appendNodes(dataList, parent as Node)\n dataList && cb?.(dataList)\n if (node.level === 0) {\n initialLoadedOnce.value = true\n }\n }\n\n const reject = () => {\n node!.loading = false\n node!.loaded = false\n if (node!.level === 0) {\n initialLoaded.value = true\n }\n }\n\n cfg.lazyLoad(node, resolve, reject)\n}\n\nconst expandNode: ElCascaderPanelContext['expandNode'] = (node, silent) => {\n const { level } = node\n const newMenus = menus.value.slice(0, level)\n let newExpandingNode: CascaderNode\n\n if (node.isLeaf) {\n newExpandingNode = node.pathNodes[level - 2]\n } else {\n newExpandingNode = node\n newMenus.push(node.children)\n }\n\n if (expandingNode.value?.uid !== newExpandingNode?.uid) {\n expandingNode.value = node\n menus.value = newMenus\n !silent && emit('expand-change', node?.pathValues || [])\n }\n}\n\nconst handleCheckChange: ElCascaderPanelContext['handleCheckChange'] = (\n node,\n checked,\n emitClose = true\n) => {\n const { checkStrictly, multiple } = config.value\n const oldNode = checkedNodes.value[0]\n manualChecked = true\n\n !multiple && oldNode?.doCheck(false)\n node.doCheck(checked)\n calculateCheckedValue()\n emitClose && !multiple && !checkStrictly && emit('close')\n !emitClose && !multiple && expandParentNode(node)\n}\n\nconst expandParentNode = (node: Node | undefined) => {\n if (!node) return\n node = node.parent\n expandParentNode(node)\n node && expandNode(node)\n}\n\nconst getFlattedNodes = (leafOnly: boolean) => store?.getFlattedNodes(leafOnly)\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return getFlattedNodes(leafOnly)?.filter(({ checked }) => checked !== false)\n}\n\nconst clearCheckedNodes = () => {\n checkedNodes.value.forEach((node) => node.doCheck(false))\n calculateCheckedValue()\n menus.value = menus.value.slice(0, 1)\n expandingNode.value = undefined\n emit('expand-change', [])\n}\n\nconst calculateCheckedValue = () => {\n const { checkStrictly, multiple } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = getCheckedNodes(!checkStrictly)!\n // ensure the original order\n const nodes = sortByOriginalOrder(oldNodes, newNodes)\n const values = nodes.map((node) => node.valueByOption)\n checkedNodes.value = nodes\n checkedValue.value = multiple ? values : (values[0] ?? null)\n}\n\nconst syncCheckedValue = (loaded = false, forced = false) => {\n const { modelValue } = props\n const { lazy, multiple, checkStrictly } = config.value\n const leafOnly = !checkStrictly\n\n if (\n !initialLoaded.value ||\n manualChecked ||\n (!forced && isEqual(modelValue, checkedValue.value))\n )\n return\n\n if (lazy && !loaded) {\n const values: CascaderNodeValue[] = unique(\n flattenDeep(castArray(modelValue as CascaderNodeValue[]))\n )\n const nodes = values\n .map((val) => store?.getNodeByValue(val))\n .filter((node) => !!node && !node.loaded && !node.loading) as Node[]\n\n if (nodes.length) {\n nodes.forEach((node) => {\n lazyLoad(node, () => syncCheckedValue(false, forced))\n })\n } else {\n syncCheckedValue(true, forced)\n }\n } else {\n const values = multiple ? castArray(modelValue) : [modelValue]\n const nodes = unique(\n values.map((val) =>\n store?.getNodeByValue(val as CascaderNodeValue, leafOnly)\n )\n ) as Node[]\n syncMenuState(nodes, forced)\n checkedValue.value = cloneDeep(modelValue ?? undefined)\n }\n}\n\nconst syncMenuState = (\n newCheckedNodes: CascaderNode[],\n reserveExpandingState = true\n) => {\n const { checkStrictly } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = newCheckedNodes.filter(\n (node) => !!node && (checkStrictly || node.isLeaf)\n )\n const oldExpandingNode = store?.getSameNode(expandingNode.value!)\n const newExpandingNode =\n (reserveExpandingState && oldExpandingNode) || newNodes[0]\n\n if (newExpandingNode) {\n newExpandingNode.pathNodes.forEach((node) => expandNode(node, true))\n } else {\n expandingNode.value = undefined\n }\n\n oldNodes.forEach((node) => node.doCheck(false))\n reactive(newNodes).forEach((node) => node.doCheck(true))\n checkedNodes.value = newNodes\n nextTick(scrollToExpandingNode)\n}\n\nconst scrollToExpandingNode = () => {\n if (!isClient) return\n\n menuList.value.forEach((menu) => {\n const menuElement = menu?.$el\n if (menuElement) {\n // virtual scroll mode, use scrollToItem method\n if (virtualScroll.value) {\n const activeIndex = menu?.getActiveNodeIndex?.()\n if (activeIndex !== undefined && activeIndex >= 0) {\n menu?.scrollToItem?.(activeIndex)\n }\n } else {\n // logic for non-virtual scroll mode\n const container = menuElement.querySelector(\n `.${ns.namespace.value}-scrollbar__wrap`\n )\n let activeNode = menuElement.querySelector(\n `.${ns.b('node')}.in-active-path`\n )\n if (!activeNode) {\n const activeElements = menuElement.querySelectorAll(\n `.${ns.b('node')}.${ns.is('active')}`\n )\n activeNode = activeElements[activeElements.length - 1]\n }\n scrollIntoView(container, activeNode)\n }\n }\n })\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const code = getEventCode(e)\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n\n if (virtualScroll.value) {\n const menuIndex = getMenuIndex(target)\n const menu = menuList.value[menuIndex]\n if (menu) {\n // For virtual scroll, calculate the target index and use focusNodeAt\n const currentIndex = menu.getNodeIndexById(target.id)\n if (currentIndex >= 0) {\n const nodesInMenu = menus.value[menuIndex] ?? []\n const nodesCount = nodesInMenu.length\n // Find the next non-disabled node\n let targetIndex = currentIndex + distance\n while (targetIndex >= 0 && targetIndex < nodesCount) {\n if (!nodesInMenu[targetIndex].isDisabled) {\n menu.focusNodeAt(targetIndex)\n return\n }\n targetIndex += distance\n }\n }\n }\n }\n\n focusNode(\n getSibling(\n target,\n distance,\n `.${ns.b('node')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.left: {\n e.preventDefault()\n const preMenu = menuList.value[getMenuIndex(target) - 1]\n const expandedNode = preMenu?.$el.querySelector(\n `.${ns.b('node')}[aria-expanded=\"true\"]`\n )\n focusNode(expandedNode)\n break\n }\n case EVENT_CODE.right: {\n e.preventDefault()\n const nextMenu = menuList.value[getMenuIndex(target) + 1]\n const firstNode = nextMenu?.$el.querySelector(\n `.${ns.b('node')}[tabindex=\"-1\"]`\n )\n focusNode(firstNode)\n break\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n checkNode(target)\n break\n }\n}\n\nprovide(\n CASCADER_PANEL_INJECTION_KEY,\n reactive({\n config,\n expandingNode,\n checkedNodes,\n isHoverMenu,\n initialLoaded,\n renderLabelFn,\n virtualScroll,\n itemSize,\n height,\n lazyLoad,\n expandNode,\n handleCheckChange,\n })\n)\n\nwatch(\n config,\n (newVal, oldVal) => {\n if (isEqual(newVal, oldVal)) return\n initStore()\n },\n {\n immediate: true,\n }\n)\n\nwatch(() => props.options, initStore, {\n deep: true,\n})\n\nwatch(\n () => props.modelValue,\n () => {\n manualChecked = false\n syncCheckedValue()\n },\n {\n deep: true,\n }\n)\n\nwatch(\n () => checkedValue.value,\n (val) => {\n if (!isEqual(val, props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n }\n }\n)\n\nconst loadLazyRootNodes = () => {\n if (initialLoadedOnce.value || !initialLoaded.value) return\n initStore()\n}\n\nonBeforeUpdate(() => (menuList.value = []))\n\nonMounted(() => !isEmpty(props.modelValue) && syncCheckedValue())\n\ndefineExpose({\n menuList,\n menus,\n checkedNodes,\n handleKeyDown,\n handleCheckChange,\n getFlattedNodes,\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description clear checked nodes\n */\n clearCheckedNodes,\n calculateCheckedValue,\n scrollToExpandingNode,\n loadLazyRootNodes,\n})\n</script>\n"],"mappings":""}
|
|
@@ -278,11 +278,11 @@ declare const __VLS_base: _$vue.DefineComponent<CascaderPanelProps, {
|
|
|
278
278
|
onClose?: (() => any) | undefined;
|
|
279
279
|
"onExpand-change"?: ((value: CascaderNodePathValue) => any) | undefined;
|
|
280
280
|
}>, {
|
|
281
|
-
height: number;
|
|
282
|
-
itemSize: number;
|
|
283
|
-
border: boolean;
|
|
284
281
|
props: CascaderProps;
|
|
282
|
+
border: boolean;
|
|
283
|
+
height: number;
|
|
285
284
|
options: CascaderOption[];
|
|
285
|
+
itemSize: number;
|
|
286
286
|
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
287
287
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
288
288
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { focusNode, getSibling } from "../../../utils/dom/aria.mjs";
|
|
2
1
|
import { EVENT_CODE } from "../../../constants/aria.mjs";
|
|
3
2
|
import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from "../../../constants/event.mjs";
|
|
3
|
+
import { focusNode, getSibling } from "../../../utils/dom/aria.mjs";
|
|
4
4
|
import { isClient } from "../../../utils/browser.mjs";
|
|
5
5
|
import { getEventCode } from "../../../utils/dom/event.mjs";
|
|
6
6
|
import { isEmpty } from "../../../utils/types.mjs";
|
|
@@ -255,7 +255,7 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
255
255
|
}
|
|
256
256
|
});
|
|
257
257
|
const loadLazyRootNodes = () => {
|
|
258
|
-
if (initialLoadedOnce.value) return;
|
|
258
|
+
if (initialLoadedOnce.value || !initialLoaded.value) return;
|
|
259
259
|
initStore();
|
|
260
260
|
};
|
|
261
261
|
onBeforeUpdate(() => menuList.value = []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue_vue_type_script_setup_true_lang.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('panel'), ns.is('bordered', border)]\"\n @keydown=\"handleKeyDown\"\n >\n <el-cascader-menu\n v-for=\"(menu, index) in menus\"\n :key=\"index\"\n :ref=\"(item) => (menuList[index] = item as CascaderMenuInstance)\"\n :index=\"index\"\n :nodes=\"[...menu]\"\n :virtual-scroll=\"virtualScroll\"\n :item-size=\"itemSize\"\n :height=\"height\"\n >\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </el-cascader-menu>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onBeforeUpdate,\n onMounted,\n provide,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { cloneDeep, flattenDeep, isEqual } from 'lodash-unified'\nimport {\n castArray,\n focusNode,\n getEventCode,\n getSibling,\n isClient,\n isEmpty,\n scrollIntoView,\n unique,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport ElCascaderMenu from './menu.vue'\nimport Store from './store'\nimport Node from './node'\nimport {\n CASCADER_PANEL_HEIGHT,\n CASCADER_PANEL_ITEM_SIZE,\n cascaderPanelEmits,\n useCascaderConfig,\n} from './config'\nimport { checkNode, getMenuIndex, sortByOriginalOrder } from './utils'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type {\n CascaderNode,\n CascaderNodeValue,\n CascaderOption,\n CascaderValue,\n ElCascaderPanelContext,\n} from './types'\nimport type { CascaderMenuInstance } from './instance'\nimport type { CascaderPanelProps } from './config'\n\ndefineOptions({\n name: 'ElCascaderPanel',\n})\n\nconst props = withDefaults(defineProps<CascaderPanelProps>(), {\n options: () => [],\n props: () => ({}),\n border: true,\n itemSize: CASCADER_PANEL_ITEM_SIZE,\n height: CASCADER_PANEL_HEIGHT,\n})\nconst emit = defineEmits(cascaderPanelEmits)\n\n// for interrupt sync check status in lazy mode\nlet manualChecked = false\n\nconst ns = useNamespace('cascader')\nconst config = useCascaderConfig(props)\nconst slots = useSlots()\n\nlet store: Store\nconst initialLoaded = ref(true)\nconst initialLoadedOnce = ref(false)\nconst menuList = ref<CascaderMenuInstance[]>([])\nconst checkedValue = ref<CascaderValue>()\nconst menus = ref<CascaderNode[][]>([])\nconst expandingNode = ref<CascaderNode>()\nconst checkedNodes = ref<CascaderNode[]>([])\n\nconst isHoverMenu = computed(() => config.value.expandTrigger === 'hover')\nconst renderLabelFn = computed(() => props.renderLabel || slots.default)\nconst virtualScroll = computed(() => props.virtualScroll)\nconst itemSize = computed(() => props.itemSize)\nconst height = computed(() => props.height)\n\nconst initStore = () => {\n const { options } = props\n const cfg = config.value\n\n manualChecked = false\n store = new Store(options, cfg)\n menus.value = [store.getNodes()]\n\n if (cfg.lazy && isEmpty(props.options)) {\n initialLoaded.value = false\n lazyLoad(undefined, (list) => {\n if (list) {\n store = new Store(list, cfg)\n menus.value = [store.getNodes()]\n }\n initialLoaded.value = true\n syncCheckedValue(false, true)\n })\n } else {\n syncCheckedValue(false, true)\n }\n}\n\nconst lazyLoad: ElCascaderPanelContext['lazyLoad'] = (node, cb) => {\n const cfg = config.value\n node! = node || new Node({}, cfg, undefined, true)\n node.loading = true\n\n const resolve = (dataList?: CascaderOption[]) => {\n const _node = node as Node\n const parent = _node.root ? null : _node\n _node.loading = false\n _node.loaded = true\n _node.childrenData = _node.childrenData || []\n dataList && store?.appendNodes(dataList, parent as Node)\n dataList && cb?.(dataList)\n if (node.level === 0) {\n initialLoadedOnce.value = true\n }\n }\n\n const reject = () => {\n node!.loading = false\n node!.loaded = false\n if (node!.level === 0) {\n initialLoaded.value = true\n }\n }\n\n cfg.lazyLoad(node, resolve, reject)\n}\n\nconst expandNode: ElCascaderPanelContext['expandNode'] = (node, silent) => {\n const { level } = node\n const newMenus = menus.value.slice(0, level)\n let newExpandingNode: CascaderNode\n\n if (node.isLeaf) {\n newExpandingNode = node.pathNodes[level - 2]\n } else {\n newExpandingNode = node\n newMenus.push(node.children)\n }\n\n if (expandingNode.value?.uid !== newExpandingNode?.uid) {\n expandingNode.value = node\n menus.value = newMenus\n !silent && emit('expand-change', node?.pathValues || [])\n }\n}\n\nconst handleCheckChange: ElCascaderPanelContext['handleCheckChange'] = (\n node,\n checked,\n emitClose = true\n) => {\n const { checkStrictly, multiple } = config.value\n const oldNode = checkedNodes.value[0]\n manualChecked = true\n\n !multiple && oldNode?.doCheck(false)\n node.doCheck(checked)\n calculateCheckedValue()\n emitClose && !multiple && !checkStrictly && emit('close')\n !emitClose && !multiple && expandParentNode(node)\n}\n\nconst expandParentNode = (node: Node | undefined) => {\n if (!node) return\n node = node.parent\n expandParentNode(node)\n node && expandNode(node)\n}\n\nconst getFlattedNodes = (leafOnly: boolean) => store?.getFlattedNodes(leafOnly)\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return getFlattedNodes(leafOnly)?.filter(({ checked }) => checked !== false)\n}\n\nconst clearCheckedNodes = () => {\n checkedNodes.value.forEach((node) => node.doCheck(false))\n calculateCheckedValue()\n menus.value = menus.value.slice(0, 1)\n expandingNode.value = undefined\n emit('expand-change', [])\n}\n\nconst calculateCheckedValue = () => {\n const { checkStrictly, multiple } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = getCheckedNodes(!checkStrictly)!\n // ensure the original order\n const nodes = sortByOriginalOrder(oldNodes, newNodes)\n const values = nodes.map((node) => node.valueByOption)\n checkedNodes.value = nodes\n checkedValue.value = multiple ? values : (values[0] ?? null)\n}\n\nconst syncCheckedValue = (loaded = false, forced = false) => {\n const { modelValue } = props\n const { lazy, multiple, checkStrictly } = config.value\n const leafOnly = !checkStrictly\n\n if (\n !initialLoaded.value ||\n manualChecked ||\n (!forced && isEqual(modelValue, checkedValue.value))\n )\n return\n\n if (lazy && !loaded) {\n const values: CascaderNodeValue[] = unique(\n flattenDeep(castArray(modelValue as CascaderNodeValue[]))\n )\n const nodes = values\n .map((val) => store?.getNodeByValue(val))\n .filter((node) => !!node && !node.loaded && !node.loading) as Node[]\n\n if (nodes.length) {\n nodes.forEach((node) => {\n lazyLoad(node, () => syncCheckedValue(false, forced))\n })\n } else {\n syncCheckedValue(true, forced)\n }\n } else {\n const values = multiple ? castArray(modelValue) : [modelValue]\n const nodes = unique(\n values.map((val) =>\n store?.getNodeByValue(val as CascaderNodeValue, leafOnly)\n )\n ) as Node[]\n syncMenuState(nodes, forced)\n checkedValue.value = cloneDeep(modelValue ?? undefined)\n }\n}\n\nconst syncMenuState = (\n newCheckedNodes: CascaderNode[],\n reserveExpandingState = true\n) => {\n const { checkStrictly } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = newCheckedNodes.filter(\n (node) => !!node && (checkStrictly || node.isLeaf)\n )\n const oldExpandingNode = store?.getSameNode(expandingNode.value!)\n const newExpandingNode =\n (reserveExpandingState && oldExpandingNode) || newNodes[0]\n\n if (newExpandingNode) {\n newExpandingNode.pathNodes.forEach((node) => expandNode(node, true))\n } else {\n expandingNode.value = undefined\n }\n\n oldNodes.forEach((node) => node.doCheck(false))\n reactive(newNodes).forEach((node) => node.doCheck(true))\n checkedNodes.value = newNodes\n nextTick(scrollToExpandingNode)\n}\n\nconst scrollToExpandingNode = () => {\n if (!isClient) return\n\n menuList.value.forEach((menu) => {\n const menuElement = menu?.$el\n if (menuElement) {\n // virtual scroll mode, use scrollToItem method\n if (virtualScroll.value) {\n const activeIndex = menu?.getActiveNodeIndex?.()\n if (activeIndex !== undefined && activeIndex >= 0) {\n menu?.scrollToItem?.(activeIndex)\n }\n } else {\n // logic for non-virtual scroll mode\n const container = menuElement.querySelector(\n `.${ns.namespace.value}-scrollbar__wrap`\n )\n let activeNode = menuElement.querySelector(\n `.${ns.b('node')}.in-active-path`\n )\n if (!activeNode) {\n const activeElements = menuElement.querySelectorAll(\n `.${ns.b('node')}.${ns.is('active')}`\n )\n activeNode = activeElements[activeElements.length - 1]\n }\n scrollIntoView(container, activeNode)\n }\n }\n })\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const code = getEventCode(e)\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n\n if (virtualScroll.value) {\n const menuIndex = getMenuIndex(target)\n const menu = menuList.value[menuIndex]\n if (menu) {\n // For virtual scroll, calculate the target index and use focusNodeAt\n const currentIndex = menu.getNodeIndexById(target.id)\n if (currentIndex >= 0) {\n const nodesInMenu = menus.value[menuIndex] ?? []\n const nodesCount = nodesInMenu.length\n // Find the next non-disabled node\n let targetIndex = currentIndex + distance\n while (targetIndex >= 0 && targetIndex < nodesCount) {\n if (!nodesInMenu[targetIndex].isDisabled) {\n menu.focusNodeAt(targetIndex)\n return\n }\n targetIndex += distance\n }\n }\n }\n }\n\n focusNode(\n getSibling(\n target,\n distance,\n `.${ns.b('node')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.left: {\n e.preventDefault()\n const preMenu = menuList.value[getMenuIndex(target) - 1]\n const expandedNode = preMenu?.$el.querySelector(\n `.${ns.b('node')}[aria-expanded=\"true\"]`\n )\n focusNode(expandedNode)\n break\n }\n case EVENT_CODE.right: {\n e.preventDefault()\n const nextMenu = menuList.value[getMenuIndex(target) + 1]\n const firstNode = nextMenu?.$el.querySelector(\n `.${ns.b('node')}[tabindex=\"-1\"]`\n )\n focusNode(firstNode)\n break\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n checkNode(target)\n break\n }\n}\n\nprovide(\n CASCADER_PANEL_INJECTION_KEY,\n reactive({\n config,\n expandingNode,\n checkedNodes,\n isHoverMenu,\n initialLoaded,\n renderLabelFn,\n virtualScroll,\n itemSize,\n height,\n lazyLoad,\n expandNode,\n handleCheckChange,\n })\n)\n\nwatch(\n config,\n (newVal, oldVal) => {\n if (isEqual(newVal, oldVal)) return\n initStore()\n },\n {\n immediate: true,\n }\n)\n\nwatch(() => props.options, initStore, {\n deep: true,\n})\n\nwatch(\n () => props.modelValue,\n () => {\n manualChecked = false\n syncCheckedValue()\n },\n {\n deep: true,\n }\n)\n\nwatch(\n () => checkedValue.value,\n (val) => {\n if (!isEqual(val, props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n }\n }\n)\n\nconst loadLazyRootNodes = () => {\n if (initialLoadedOnce.value) return\n initStore()\n}\n\nonBeforeUpdate(() => (menuList.value = []))\n\nonMounted(() => !isEmpty(props.modelValue) && syncCheckedValue())\n\ndefineExpose({\n menuList,\n menus,\n checkedNodes,\n handleKeyDown,\n handleCheckChange,\n getFlattedNodes,\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description clear checked nodes\n */\n clearCheckedNodes,\n calculateCheckedValue,\n scrollToExpandingNode,\n loadLazyRootNodes,\n})\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.vue_vue_type_script_setup_true_lang.mjs","names":[],"sources":["../../../../../../packages/components/cascader-panel/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('panel'), ns.is('bordered', border)]\"\n @keydown=\"handleKeyDown\"\n >\n <el-cascader-menu\n v-for=\"(menu, index) in menus\"\n :key=\"index\"\n :ref=\"(item) => (menuList[index] = item as CascaderMenuInstance)\"\n :index=\"index\"\n :nodes=\"[...menu]\"\n :virtual-scroll=\"virtualScroll\"\n :item-size=\"itemSize\"\n :height=\"height\"\n >\n <template #empty>\n <slot name=\"empty\" />\n </template>\n </el-cascader-menu>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onBeforeUpdate,\n onMounted,\n provide,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { cloneDeep, flattenDeep, isEqual } from 'lodash-unified'\nimport {\n castArray,\n focusNode,\n getEventCode,\n getSibling,\n isClient,\n isEmpty,\n scrollIntoView,\n unique,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport ElCascaderMenu from './menu.vue'\nimport Store from './store'\nimport Node from './node'\nimport {\n CASCADER_PANEL_HEIGHT,\n CASCADER_PANEL_ITEM_SIZE,\n cascaderPanelEmits,\n useCascaderConfig,\n} from './config'\nimport { checkNode, getMenuIndex, sortByOriginalOrder } from './utils'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type {\n CascaderNode,\n CascaderNodeValue,\n CascaderOption,\n CascaderValue,\n ElCascaderPanelContext,\n} from './types'\nimport type { CascaderMenuInstance } from './instance'\nimport type { CascaderPanelProps } from './config'\n\ndefineOptions({\n name: 'ElCascaderPanel',\n})\n\nconst props = withDefaults(defineProps<CascaderPanelProps>(), {\n options: () => [],\n props: () => ({}),\n border: true,\n itemSize: CASCADER_PANEL_ITEM_SIZE,\n height: CASCADER_PANEL_HEIGHT,\n})\nconst emit = defineEmits(cascaderPanelEmits)\n\n// for interrupt sync check status in lazy mode\nlet manualChecked = false\n\nconst ns = useNamespace('cascader')\nconst config = useCascaderConfig(props)\nconst slots = useSlots()\n\nlet store: Store\nconst initialLoaded = ref(true)\nconst initialLoadedOnce = ref(false)\nconst menuList = ref<CascaderMenuInstance[]>([])\nconst checkedValue = ref<CascaderValue>()\nconst menus = ref<CascaderNode[][]>([])\nconst expandingNode = ref<CascaderNode>()\nconst checkedNodes = ref<CascaderNode[]>([])\n\nconst isHoverMenu = computed(() => config.value.expandTrigger === 'hover')\nconst renderLabelFn = computed(() => props.renderLabel || slots.default)\nconst virtualScroll = computed(() => props.virtualScroll)\nconst itemSize = computed(() => props.itemSize)\nconst height = computed(() => props.height)\n\nconst initStore = () => {\n const { options } = props\n const cfg = config.value\n\n manualChecked = false\n store = new Store(options, cfg)\n menus.value = [store.getNodes()]\n\n if (cfg.lazy && isEmpty(props.options)) {\n initialLoaded.value = false\n lazyLoad(undefined, (list) => {\n if (list) {\n store = new Store(list, cfg)\n menus.value = [store.getNodes()]\n }\n initialLoaded.value = true\n syncCheckedValue(false, true)\n })\n } else {\n syncCheckedValue(false, true)\n }\n}\n\nconst lazyLoad: ElCascaderPanelContext['lazyLoad'] = (node, cb) => {\n const cfg = config.value\n node! = node || new Node({}, cfg, undefined, true)\n node.loading = true\n\n const resolve = (dataList?: CascaderOption[]) => {\n const _node = node as Node\n const parent = _node.root ? null : _node\n _node.loading = false\n _node.loaded = true\n _node.childrenData = _node.childrenData || []\n dataList && store?.appendNodes(dataList, parent as Node)\n dataList && cb?.(dataList)\n if (node.level === 0) {\n initialLoadedOnce.value = true\n }\n }\n\n const reject = () => {\n node!.loading = false\n node!.loaded = false\n if (node!.level === 0) {\n initialLoaded.value = true\n }\n }\n\n cfg.lazyLoad(node, resolve, reject)\n}\n\nconst expandNode: ElCascaderPanelContext['expandNode'] = (node, silent) => {\n const { level } = node\n const newMenus = menus.value.slice(0, level)\n let newExpandingNode: CascaderNode\n\n if (node.isLeaf) {\n newExpandingNode = node.pathNodes[level - 2]\n } else {\n newExpandingNode = node\n newMenus.push(node.children)\n }\n\n if (expandingNode.value?.uid !== newExpandingNode?.uid) {\n expandingNode.value = node\n menus.value = newMenus\n !silent && emit('expand-change', node?.pathValues || [])\n }\n}\n\nconst handleCheckChange: ElCascaderPanelContext['handleCheckChange'] = (\n node,\n checked,\n emitClose = true\n) => {\n const { checkStrictly, multiple } = config.value\n const oldNode = checkedNodes.value[0]\n manualChecked = true\n\n !multiple && oldNode?.doCheck(false)\n node.doCheck(checked)\n calculateCheckedValue()\n emitClose && !multiple && !checkStrictly && emit('close')\n !emitClose && !multiple && expandParentNode(node)\n}\n\nconst expandParentNode = (node: Node | undefined) => {\n if (!node) return\n node = node.parent\n expandParentNode(node)\n node && expandNode(node)\n}\n\nconst getFlattedNodes = (leafOnly: boolean) => store?.getFlattedNodes(leafOnly)\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return getFlattedNodes(leafOnly)?.filter(({ checked }) => checked !== false)\n}\n\nconst clearCheckedNodes = () => {\n checkedNodes.value.forEach((node) => node.doCheck(false))\n calculateCheckedValue()\n menus.value = menus.value.slice(0, 1)\n expandingNode.value = undefined\n emit('expand-change', [])\n}\n\nconst calculateCheckedValue = () => {\n const { checkStrictly, multiple } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = getCheckedNodes(!checkStrictly)!\n // ensure the original order\n const nodes = sortByOriginalOrder(oldNodes, newNodes)\n const values = nodes.map((node) => node.valueByOption)\n checkedNodes.value = nodes\n checkedValue.value = multiple ? values : (values[0] ?? null)\n}\n\nconst syncCheckedValue = (loaded = false, forced = false) => {\n const { modelValue } = props\n const { lazy, multiple, checkStrictly } = config.value\n const leafOnly = !checkStrictly\n\n if (\n !initialLoaded.value ||\n manualChecked ||\n (!forced && isEqual(modelValue, checkedValue.value))\n )\n return\n\n if (lazy && !loaded) {\n const values: CascaderNodeValue[] = unique(\n flattenDeep(castArray(modelValue as CascaderNodeValue[]))\n )\n const nodes = values\n .map((val) => store?.getNodeByValue(val))\n .filter((node) => !!node && !node.loaded && !node.loading) as Node[]\n\n if (nodes.length) {\n nodes.forEach((node) => {\n lazyLoad(node, () => syncCheckedValue(false, forced))\n })\n } else {\n syncCheckedValue(true, forced)\n }\n } else {\n const values = multiple ? castArray(modelValue) : [modelValue]\n const nodes = unique(\n values.map((val) =>\n store?.getNodeByValue(val as CascaderNodeValue, leafOnly)\n )\n ) as Node[]\n syncMenuState(nodes, forced)\n checkedValue.value = cloneDeep(modelValue ?? undefined)\n }\n}\n\nconst syncMenuState = (\n newCheckedNodes: CascaderNode[],\n reserveExpandingState = true\n) => {\n const { checkStrictly } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = newCheckedNodes.filter(\n (node) => !!node && (checkStrictly || node.isLeaf)\n )\n const oldExpandingNode = store?.getSameNode(expandingNode.value!)\n const newExpandingNode =\n (reserveExpandingState && oldExpandingNode) || newNodes[0]\n\n if (newExpandingNode) {\n newExpandingNode.pathNodes.forEach((node) => expandNode(node, true))\n } else {\n expandingNode.value = undefined\n }\n\n oldNodes.forEach((node) => node.doCheck(false))\n reactive(newNodes).forEach((node) => node.doCheck(true))\n checkedNodes.value = newNodes\n nextTick(scrollToExpandingNode)\n}\n\nconst scrollToExpandingNode = () => {\n if (!isClient) return\n\n menuList.value.forEach((menu) => {\n const menuElement = menu?.$el\n if (menuElement) {\n // virtual scroll mode, use scrollToItem method\n if (virtualScroll.value) {\n const activeIndex = menu?.getActiveNodeIndex?.()\n if (activeIndex !== undefined && activeIndex >= 0) {\n menu?.scrollToItem?.(activeIndex)\n }\n } else {\n // logic for non-virtual scroll mode\n const container = menuElement.querySelector(\n `.${ns.namespace.value}-scrollbar__wrap`\n )\n let activeNode = menuElement.querySelector(\n `.${ns.b('node')}.in-active-path`\n )\n if (!activeNode) {\n const activeElements = menuElement.querySelectorAll(\n `.${ns.b('node')}.${ns.is('active')}`\n )\n activeNode = activeElements[activeElements.length - 1]\n }\n scrollIntoView(container, activeNode)\n }\n }\n })\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const code = getEventCode(e)\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n\n if (virtualScroll.value) {\n const menuIndex = getMenuIndex(target)\n const menu = menuList.value[menuIndex]\n if (menu) {\n // For virtual scroll, calculate the target index and use focusNodeAt\n const currentIndex = menu.getNodeIndexById(target.id)\n if (currentIndex >= 0) {\n const nodesInMenu = menus.value[menuIndex] ?? []\n const nodesCount = nodesInMenu.length\n // Find the next non-disabled node\n let targetIndex = currentIndex + distance\n while (targetIndex >= 0 && targetIndex < nodesCount) {\n if (!nodesInMenu[targetIndex].isDisabled) {\n menu.focusNodeAt(targetIndex)\n return\n }\n targetIndex += distance\n }\n }\n }\n }\n\n focusNode(\n getSibling(\n target,\n distance,\n `.${ns.b('node')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.left: {\n e.preventDefault()\n const preMenu = menuList.value[getMenuIndex(target) - 1]\n const expandedNode = preMenu?.$el.querySelector(\n `.${ns.b('node')}[aria-expanded=\"true\"]`\n )\n focusNode(expandedNode)\n break\n }\n case EVENT_CODE.right: {\n e.preventDefault()\n const nextMenu = menuList.value[getMenuIndex(target) + 1]\n const firstNode = nextMenu?.$el.querySelector(\n `.${ns.b('node')}[tabindex=\"-1\"]`\n )\n focusNode(firstNode)\n break\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n checkNode(target)\n break\n }\n}\n\nprovide(\n CASCADER_PANEL_INJECTION_KEY,\n reactive({\n config,\n expandingNode,\n checkedNodes,\n isHoverMenu,\n initialLoaded,\n renderLabelFn,\n virtualScroll,\n itemSize,\n height,\n lazyLoad,\n expandNode,\n handleCheckChange,\n })\n)\n\nwatch(\n config,\n (newVal, oldVal) => {\n if (isEqual(newVal, oldVal)) return\n initStore()\n },\n {\n immediate: true,\n }\n)\n\nwatch(() => props.options, initStore, {\n deep: true,\n})\n\nwatch(\n () => props.modelValue,\n () => {\n manualChecked = false\n syncCheckedValue()\n },\n {\n deep: true,\n }\n)\n\nwatch(\n () => checkedValue.value,\n (val) => {\n if (!isEqual(val, props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n }\n }\n)\n\nconst loadLazyRootNodes = () => {\n if (initialLoadedOnce.value || !initialLoaded.value) return\n initStore()\n}\n\nonBeforeUpdate(() => (menuList.value = []))\n\nonMounted(() => !isEmpty(props.modelValue) && syncCheckedValue())\n\ndefineExpose({\n menuList,\n menus,\n checkedNodes,\n handleKeyDown,\n handleCheckChange,\n getFlattedNodes,\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description clear checked nodes\n */\n clearCheckedNodes,\n calculateCheckedValue,\n scrollToExpandingNode,\n loadLazyRootNodes,\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -23,8 +23,8 @@ declare const __VLS_base: _$vue.DefineComponent<__VLS_Props, {
|
|
|
23
23
|
readonly $el: HTMLElement;
|
|
24
24
|
}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
25
25
|
height: number;
|
|
26
|
-
itemSize: number;
|
|
27
26
|
virtualScroll: boolean;
|
|
27
|
+
itemSize: number;
|
|
28
28
|
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
29
29
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
30
30
|
declare const _default: typeof __VLS_export;
|
|
@@ -13,9 +13,9 @@ declare const __VLS_base: _$vue.DefineComponent<CheckboxProps, {}, {}, {}, {}, _
|
|
|
13
13
|
"onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
|
|
14
14
|
onChange?: ((val: CheckboxValueType) => any) | undefined;
|
|
15
15
|
}>, {
|
|
16
|
-
id: string;
|
|
17
|
-
disabled: boolean;
|
|
18
16
|
name: string;
|
|
17
|
+
disabled: boolean;
|
|
18
|
+
id: string;
|
|
19
19
|
modelValue: number | string | boolean;
|
|
20
20
|
validateEvent: boolean;
|
|
21
21
|
value: string | boolean | number | object;
|
|
@@ -68,7 +68,7 @@ declare const checkboxGroupProps: {
|
|
|
68
68
|
readonly min: NumberConstructor;
|
|
69
69
|
readonly max: NumberConstructor;
|
|
70
70
|
readonly size: {
|
|
71
|
-
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
71
|
+
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
72
72
|
readonly required: false;
|
|
73
73
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
74
74
|
__epPropKey: true;
|
|
@@ -15,12 +15,12 @@ declare const __VLS_base: _$vue.DefineComponent<CheckboxGroupProps, {}, {}, {},
|
|
|
15
15
|
onChange?: ((val: CheckboxValueType[]) => any) | undefined;
|
|
16
16
|
}>, {
|
|
17
17
|
type: "checkbox" | "button";
|
|
18
|
-
disabled: boolean;
|
|
19
18
|
props: {
|
|
20
19
|
value?: string;
|
|
21
20
|
label?: string;
|
|
22
21
|
disabled?: string;
|
|
23
22
|
};
|
|
23
|
+
disabled: boolean;
|
|
24
24
|
modelValue: CheckboxGroupValueType;
|
|
25
25
|
validateEvent: boolean;
|
|
26
26
|
tag: string;
|
|
@@ -84,21 +84,21 @@ declare const checkboxProps: {
|
|
|
84
84
|
* @description binding value
|
|
85
85
|
*/
|
|
86
86
|
modelValue: {
|
|
87
|
-
type: (
|
|
87
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
88
88
|
default: undefined;
|
|
89
89
|
};
|
|
90
90
|
/**
|
|
91
91
|
* @description label of the Checkbox when used inside a `checkbox-group`
|
|
92
92
|
*/
|
|
93
93
|
label: {
|
|
94
|
-
type: (
|
|
94
|
+
type: (StringConstructor | ObjectConstructor | BooleanConstructor | NumberConstructor)[];
|
|
95
95
|
default: undefined;
|
|
96
96
|
};
|
|
97
97
|
/**
|
|
98
98
|
* @description value of the Checkbox when used inside a `checkbox-group`
|
|
99
99
|
*/
|
|
100
100
|
value: {
|
|
101
|
-
type: (
|
|
101
|
+
type: (StringConstructor | ObjectConstructor | BooleanConstructor | NumberConstructor)[];
|
|
102
102
|
default: undefined;
|
|
103
103
|
};
|
|
104
104
|
/**
|
|
@@ -168,7 +168,7 @@ declare const checkboxProps: {
|
|
|
168
168
|
* @description size of the Checkbox
|
|
169
169
|
*/
|
|
170
170
|
size: {
|
|
171
|
-
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
171
|
+
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
172
172
|
readonly required: false;
|
|
173
173
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
174
174
|
__epPropKey: true;
|
|
@@ -13,9 +13,9 @@ declare const __VLS_base: _$vue.DefineComponent<CheckboxProps, {}, {}, {}, {}, _
|
|
|
13
13
|
"onUpdate:modelValue"?: ((val: CheckboxValueType) => any) | undefined;
|
|
14
14
|
onChange?: ((val: CheckboxValueType) => any) | undefined;
|
|
15
15
|
}>, {
|
|
16
|
-
id: string;
|
|
17
|
-
disabled: boolean;
|
|
18
16
|
name: string;
|
|
17
|
+
disabled: boolean;
|
|
18
|
+
id: string;
|
|
19
19
|
modelValue: number | string | boolean;
|
|
20
20
|
validateEvent: boolean;
|
|
21
21
|
value: string | boolean | number | object;
|
|
@@ -7,10 +7,10 @@ import { ComponentInternalInstance } from "vue";
|
|
|
7
7
|
declare const useCheckboxStatus: (props: CheckboxProps, slots: ComponentInternalInstance["slots"], {
|
|
8
8
|
model
|
|
9
9
|
}: Pick<CheckboxModel, "model">) => {
|
|
10
|
-
checkboxButtonSize: _$vue.ComputedRef<"" | "default" | "
|
|
10
|
+
checkboxButtonSize: _$vue.ComputedRef<"" | "default" | "small" | "large">;
|
|
11
11
|
isChecked: _$vue.ComputedRef<boolean>;
|
|
12
12
|
isFocused: _$vue.Ref<boolean, boolean>;
|
|
13
|
-
checkboxSize: _$vue.ComputedRef<"" | "default" | "
|
|
13
|
+
checkboxSize: _$vue.ComputedRef<"" | "default" | "small" | "large">;
|
|
14
14
|
hasOwnLabel: _$vue.ComputedRef<boolean>;
|
|
15
15
|
actualValue: _$vue.ComputedRef<string | number | boolean | object | undefined>;
|
|
16
16
|
};
|
|
@@ -9,8 +9,8 @@ declare const useCheckbox: (props: CheckboxProps, slots: ComponentInternalInstan
|
|
|
9
9
|
isChecked: _$vue.ComputedRef<boolean>;
|
|
10
10
|
isDisabled: _$vue.ComputedRef<boolean>;
|
|
11
11
|
isFocused: _$vue.Ref<boolean, boolean>;
|
|
12
|
-
checkboxButtonSize: _$vue.ComputedRef<"" | "default" | "
|
|
13
|
-
checkboxSize: _$vue.ComputedRef<"" | "default" | "
|
|
12
|
+
checkboxButtonSize: _$vue.ComputedRef<"" | "default" | "small" | "large">;
|
|
13
|
+
checkboxSize: _$vue.ComputedRef<"" | "default" | "small" | "large">;
|
|
14
14
|
hasOwnLabel: _$vue.ComputedRef<boolean>;
|
|
15
15
|
model: _$vue.WritableComputedRef<any, unknown>;
|
|
16
16
|
actualValue: _$vue.ComputedRef<string | number | boolean | object | undefined>;
|
|
@@ -91,7 +91,7 @@ declare const colorPickerProps: {
|
|
|
91
91
|
readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
92
92
|
readonly clearable: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
93
93
|
readonly size: {
|
|
94
|
-
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
94
|
+
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
95
95
|
readonly required: false;
|
|
96
96
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
97
97
|
__epPropKey: true;
|
|
@@ -29,29 +29,29 @@ declare const __VLS_export: _$vue.DefineComponent<ColorPickerProps, {
|
|
|
29
29
|
*/
|
|
30
30
|
blur: typeof blur;
|
|
31
31
|
}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
|
|
32
|
+
"update:modelValue": (val: string | null) => void;
|
|
33
|
+
change: (val: string | null) => void;
|
|
32
34
|
clear: () => void;
|
|
33
35
|
focus: (evt: FocusEvent) => void;
|
|
34
36
|
blur: (evt: FocusEvent) => void;
|
|
35
|
-
"update:modelValue": (val: string | null) => void;
|
|
36
|
-
change: (val: string | null) => void;
|
|
37
37
|
activeChange: (val: string | null) => void;
|
|
38
38
|
}, string, _$vue.PublicProps, Readonly<ColorPickerProps> & Readonly<{
|
|
39
|
+
"onUpdate:modelValue"?: ((val: string | null) => any) | undefined;
|
|
40
|
+
onChange?: ((val: string | null) => any) | undefined;
|
|
39
41
|
onClear?: (() => any) | undefined;
|
|
40
42
|
onFocus?: ((evt: FocusEvent) => any) | undefined;
|
|
41
43
|
onBlur?: ((evt: FocusEvent) => any) | undefined;
|
|
42
|
-
"onUpdate:modelValue"?: ((val: string | null) => any) | undefined;
|
|
43
|
-
onChange?: ((val: string | null) => any) | undefined;
|
|
44
44
|
onActiveChange?: ((val: string | null) => any) | undefined;
|
|
45
45
|
}>, {
|
|
46
46
|
disabled: boolean;
|
|
47
|
-
|
|
48
|
-
popperStyle: string | false | _$vue.CSSProperties | _$vue.StyleValue[] | null;
|
|
47
|
+
valueOnClear: string | number | boolean | Function | null;
|
|
49
48
|
teleported: boolean;
|
|
50
|
-
|
|
49
|
+
modelValue: string | null;
|
|
51
50
|
clearable: boolean;
|
|
52
51
|
tabindex: string | number;
|
|
53
52
|
validateEvent: boolean;
|
|
54
|
-
|
|
53
|
+
popperStyle: string | false | _$vue.CSSProperties | _$vue.StyleValue[] | null;
|
|
54
|
+
persistent: boolean;
|
|
55
55
|
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
56
56
|
declare const _default: typeof __VLS_export;
|
|
57
57
|
//#endregion
|
|
@@ -22,7 +22,7 @@ declare const configProviderProps: {
|
|
|
22
22
|
__epPropKey: true;
|
|
23
23
|
};
|
|
24
24
|
readonly size: {
|
|
25
|
-
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
25
|
+
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
26
26
|
readonly required: false;
|
|
27
27
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
28
28
|
__epPropKey: true;
|
|
@@ -22,7 +22,7 @@ declare const ConfigProvider: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
22
22
|
__epPropKey: true;
|
|
23
23
|
};
|
|
24
24
|
readonly size: {
|
|
25
|
-
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
25
|
+
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
26
26
|
readonly required: false;
|
|
27
27
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
28
28
|
__epPropKey: true;
|
|
@@ -85,7 +85,7 @@ declare const ConfigProvider: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
85
85
|
__epPropKey: true;
|
|
86
86
|
};
|
|
87
87
|
readonly size: {
|
|
88
|
-
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
88
|
+
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
89
89
|
readonly required: false;
|
|
90
90
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
91
91
|
__epPropKey: true;
|
|
@@ -136,10 +136,10 @@ declare const ConfigProvider: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
136
136
|
__epPropKey: true;
|
|
137
137
|
};
|
|
138
138
|
}>> & Readonly<{}>, {
|
|
139
|
-
readonly 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>;
|
|
140
139
|
readonly a11y: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
141
140
|
readonly keyboardNavigation: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
142
141
|
readonly namespace: string;
|
|
142
|
+
readonly 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>;
|
|
143
143
|
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
|
|
144
144
|
type ConfigProviderInstance = InstanceType<typeof ConfigProvider> & unknown;
|
|
145
145
|
//#endregion
|
|
@@ -32,7 +32,7 @@ declare function useGlobalComponentSettings(block: string, sizeFallback?: MaybeR
|
|
|
32
32
|
currentZIndex: _$vue.ComputedRef<number>;
|
|
33
33
|
nextZIndex: () => number;
|
|
34
34
|
};
|
|
35
|
-
size: _$vue.ComputedRef<"default" | "" | "
|
|
35
|
+
size: _$vue.ComputedRef<"default" | "" | "small" | "large">;
|
|
36
36
|
};
|
|
37
37
|
declare const provideGlobalConfig: (config: MaybeRef<ConfigProviderContext>, app?: App, global?: boolean) => _$vue.ComputedRef<Partial<ConfigProviderProps>> | undefined;
|
|
38
38
|
//#endregion
|
|
@@ -17,8 +17,8 @@ declare const __VLS_base: _$vue.DefineComponent<CountdownProps, {
|
|
|
17
17
|
onChange?: ((value: number) => any) | undefined;
|
|
18
18
|
onFinish?: (() => any) | undefined;
|
|
19
19
|
}>, {
|
|
20
|
-
format: string;
|
|
21
20
|
value: number | _$dayjs.Dayjs;
|
|
21
|
+
format: string;
|
|
22
22
|
valueStyle: string | false | _$vue.CSSProperties | _$vue.StyleValue[] | null;
|
|
23
23
|
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
|
|
24
24
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CHANGE_EVENT } from "../../../constants/event.mjs";
|
|
2
2
|
import { cAF, rAF } from "../../../utils/raf.mjs";
|
|
3
|
-
import { countdownEmits, countdownProps } from "./countdown.mjs";
|
|
4
3
|
import { ElStatistic } from "../../statistic/index.mjs";
|
|
4
|
+
import { countdownEmits, countdownProps } from "./countdown.mjs";
|
|
5
5
|
import { formatTime, getTime } from "./utils.mjs";
|
|
6
6
|
import { computed, createBlock, createSlots, defineComponent, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, unref, watch, withCtx } from "vue";
|
|
7
7
|
//#region ../../packages/components/countdown/src/countdown.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -7,7 +7,7 @@ import * as _$vue_jsx_runtime0 from "vue/jsx-runtime";
|
|
|
7
7
|
|
|
8
8
|
//#region ../../packages/components/date-picker/src/date-picker.d.ts
|
|
9
9
|
declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
10
|
-
readonly type: EpPropFinalized<(new (...args: any[]) => "
|
|
10
|
+
readonly type: EpPropFinalized<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (() => DatePickerType)) | null)[], unknown, unknown, "date", boolean>;
|
|
11
11
|
readonly showNow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
12
12
|
readonly showConfirm: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
13
13
|
readonly showFooter: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
@@ -33,7 +33,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
33
33
|
readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
34
34
|
readonly unlinkPanels: BooleanConstructor;
|
|
35
35
|
readonly singlePanel: BooleanConstructor;
|
|
36
|
-
readonly placement: EpPropFinalized<(new (...args: any[]) => "
|
|
36
|
+
readonly placement: EpPropFinalized<(new (...args: any[]) => "left" | "right" | "auto" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "left" | "right" | "auto" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom", boolean>;
|
|
37
37
|
readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom", "top", "right", "left"], boolean>;
|
|
38
38
|
readonly disabledHours: {
|
|
39
39
|
readonly type: _$vue.PropType<GetDisabledHours>;
|
|
@@ -179,7 +179,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
179
179
|
readonly saveOnBlur: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
180
180
|
readonly prefixIcon: EpPropFinalized<(new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component) | (((new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component)) | null)[], unknown, unknown, "", boolean>;
|
|
181
181
|
readonly size: {
|
|
182
|
-
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
182
|
+
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
183
183
|
readonly required: false;
|
|
184
184
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
185
185
|
__epPropKey: true;
|
|
@@ -188,7 +188,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
188
188
|
readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
189
189
|
readonly placeholder: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
190
190
|
readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
|
|
191
|
-
readonly modelValue: EpPropFinalized<(new (...args: any[]) => string | number |
|
|
191
|
+
readonly modelValue: EpPropFinalized<(new (...args: any[]) => string | number | string[] | Date | number[] | Date[]) | (() => ModelValueType | null) | (((new (...args: any[]) => string | number | string[] | Date | number[] | Date[]) | (() => ModelValueType | null)) | null)[], unknown, unknown, "", boolean>;
|
|
192
192
|
readonly rangeSeparator: EpPropFinalized<StringConstructor, unknown, unknown, "-", boolean>;
|
|
193
193
|
readonly startPlaceholder: StringConstructor;
|
|
194
194
|
readonly endPlaceholder: StringConstructor;
|
|
@@ -206,7 +206,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
206
206
|
};
|
|
207
207
|
readonly isRange: BooleanConstructor;
|
|
208
208
|
}>, () => _$vue_jsx_runtime0.JSX.Element, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", _$vue.PublicProps, Readonly<_$vue.ExtractPropTypes<{
|
|
209
|
-
readonly type: EpPropFinalized<(new (...args: any[]) => "
|
|
209
|
+
readonly type: EpPropFinalized<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (() => DatePickerType)) | null)[], unknown, unknown, "date", boolean>;
|
|
210
210
|
readonly showNow: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
211
211
|
readonly showConfirm: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
212
212
|
readonly showFooter: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
@@ -232,7 +232,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
232
232
|
readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
233
233
|
readonly unlinkPanels: BooleanConstructor;
|
|
234
234
|
readonly singlePanel: BooleanConstructor;
|
|
235
|
-
readonly placement: EpPropFinalized<(new (...args: any[]) => "
|
|
235
|
+
readonly placement: EpPropFinalized<(new (...args: any[]) => "left" | "right" | "auto" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "left" | "right" | "auto" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom", boolean>;
|
|
236
236
|
readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom", "top", "right", "left"], boolean>;
|
|
237
237
|
readonly disabledHours: {
|
|
238
238
|
readonly type: _$vue.PropType<GetDisabledHours>;
|
|
@@ -378,7 +378,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
378
378
|
readonly saveOnBlur: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
379
379
|
readonly prefixIcon: EpPropFinalized<(new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component) | (((new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component)) | null)[], unknown, unknown, "", boolean>;
|
|
380
380
|
readonly size: {
|
|
381
|
-
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
381
|
+
readonly type: _$vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
|
|
382
382
|
readonly required: false;
|
|
383
383
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
384
384
|
__epPropKey: true;
|
|
@@ -387,7 +387,7 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
387
387
|
readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
388
388
|
readonly placeholder: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
389
389
|
readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
|
|
390
|
-
readonly modelValue: EpPropFinalized<(new (...args: any[]) => string | number |
|
|
390
|
+
readonly modelValue: EpPropFinalized<(new (...args: any[]) => string | number | string[] | Date | number[] | Date[]) | (() => ModelValueType | null) | (((new (...args: any[]) => string | number | string[] | Date | number[] | Date[]) | (() => ModelValueType | null)) | null)[], unknown, unknown, "", boolean>;
|
|
391
391
|
readonly rangeSeparator: EpPropFinalized<StringConstructor, unknown, unknown, "-", boolean>;
|
|
392
392
|
readonly startPlaceholder: StringConstructor;
|
|
393
393
|
readonly endPlaceholder: StringConstructor;
|
|
@@ -407,25 +407,26 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
407
407
|
}>> & Readonly<{
|
|
408
408
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
409
409
|
}>, {
|
|
410
|
-
readonly type: EpPropMergeType<(new (...args: any[]) => "
|
|
410
|
+
readonly type: EpPropMergeType<(new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (() => DatePickerType) | (((new (...args: any[]) => "year" | "years" | "month" | "months" | "date" | "dates" | "week" | "datetime" | "datetimerange" | "daterange" | "monthrange" | "yearrange") | (() => DatePickerType)) | null)[], unknown, unknown>;
|
|
411
411
|
readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
412
|
-
readonly
|
|
413
|
-
readonly
|
|
414
|
-
readonly
|
|
415
|
-
readonly
|
|
416
|
-
readonly popperOptions: Partial<Options>;
|
|
417
|
-
readonly popperStyle: _$vue.StyleValue;
|
|
412
|
+
readonly 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>;
|
|
413
|
+
readonly modelValue: EpPropMergeType<(new (...args: any[]) => string | number | string[] | Date | number[] | Date[]) | (() => ModelValueType | null) | (((new (...args: any[]) => string | number | string[] | Date | number[] | Date[]) | (() => ModelValueType | null)) | null)[], unknown, unknown>;
|
|
414
|
+
readonly placeholder: string;
|
|
415
|
+
readonly readonly: boolean;
|
|
418
416
|
readonly clearable: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
419
417
|
readonly clearIcon: EpPropMergeType<(new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component) | (((new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component)) | null)[], unknown, unknown>;
|
|
418
|
+
readonly prefixIcon: EpPropMergeType<(new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component) | (((new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component)) | null)[], unknown, unknown>;
|
|
419
|
+
readonly tabindex: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
|
|
420
|
+
readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
421
|
+
readonly popperStyle: _$vue.StyleValue;
|
|
422
|
+
readonly fallbackPlacements: Placement[];
|
|
423
|
+
readonly placement: EpPropMergeType<(new (...args: any[]) => "left" | "right" | "auto" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "left" | "right" | "auto" | "bottom" | "top" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown>;
|
|
424
|
+
readonly popperOptions: Partial<Options>;
|
|
425
|
+
readonly automaticDropdown: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
420
426
|
readonly editable: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
421
427
|
readonly saveOnBlur: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
422
|
-
readonly prefixIcon: EpPropMergeType<(new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component) | (((new (...args: any[]) => (string | _$vue.Component) & {}) | (() => string | _$vue.Component)) | null)[], unknown, unknown>;
|
|
423
|
-
readonly placeholder: string;
|
|
424
428
|
readonly rangeSeparator: string;
|
|
425
429
|
readonly shortcuts: unknown[];
|
|
426
|
-
readonly tabindex: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
|
|
427
|
-
readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
428
|
-
readonly 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>;
|
|
429
430
|
readonly showNow: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
430
431
|
readonly showConfirm: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
431
432
|
readonly showFooter: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -433,7 +434,6 @@ declare const _default: _$vue.DefineComponent<_$vue.ExtractPropTypes<{
|
|
|
433
434
|
readonly arrowControl: boolean;
|
|
434
435
|
readonly unlinkPanels: boolean;
|
|
435
436
|
readonly singlePanel: boolean;
|
|
436
|
-
readonly readonly: boolean;
|
|
437
437
|
readonly isRange: boolean;
|
|
438
438
|
}, {}, {}, {}, string, _$vue.ComponentProvideOptions, true, {}, any>;
|
|
439
439
|
//#endregion
|