@element-plus/nightly 0.0.20260314 → 0.0.20260316
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/attributes.json +1 -1
- package/dist/index.full.js +614 -531
- package/dist/index.full.min.js +9 -9
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +8 -8
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +614 -531
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/affix/src/affix.d.ts +2 -2
- package/es/components/affix/src/affix.vue.d.ts +3 -3
- package/es/components/alert/src/alert.d.ts +1 -1
- package/es/components/alert/src/alert.vue.d.ts +2 -2
- package/es/components/autocomplete/src/autocomplete.d.ts +3 -3
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +7 -7
- package/es/components/avatar/src/avatar.d.ts +1 -1
- package/es/components/backtop/src/backtop.vue.d.ts +2 -2
- package/es/components/badge/src/badge.vue.d.ts +1 -1
- package/es/components/button/src/button-group.vue.d.ts +1 -1
- package/es/components/button/src/button.d.ts +1 -1
- package/es/components/button/src/button.vue.d.ts +3 -3
- package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
- package/es/components/cascader/src/cascader.d.ts +3 -3
- package/es/components/cascader/src/cascader.vue.d.ts +8 -8
- package/es/components/cascader-panel/src/index.vue.d.ts +2 -2
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
- package/es/components/checkbox/src/checkbox.d.ts +8 -8
- package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
- package/es/components/col/src/col.vue.d.ts +1 -1
- package/es/components/collapse/src/collapse.vue.d.ts +1 -1
- package/es/components/color-picker/src/color-picker.vue.d.ts +4 -4
- package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
- package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/es/components/countdown/src/countdown.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker.d.ts +9 -9
- package/es/components/date-picker/src/props.d.ts +2 -2
- package/es/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
- package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
- package/es/components/descriptions/src/description-item.d.ts +12 -12
- package/es/components/dialog/src/dialog.vue.d.ts +1 -1
- package/es/components/drawer/src/drawer.vue.d.ts +2 -2
- package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
- package/es/components/dropdown/src/dropdown.d.ts +3 -3
- package/es/components/dropdown/src/dropdown.vue.d.ts +52 -52
- package/es/components/form/src/form-item.d.ts +1 -1
- package/es/components/form/src/form.d.ts +1 -1
- package/es/components/input/src/input.d.ts +2 -2
- package/es/components/input/src/input.vue.d.ts +2 -2
- package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs +3 -1
- package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/src/input-number.d.ts +2 -2
- package/es/components/input-number/src/input-number.vue.d.ts +5 -5
- package/es/components/input-tag/src/input-tag.d.ts +2 -2
- package/es/components/input-tag/src/input-tag.vue.d.ts +7 -7
- package/es/components/link/src/link.vue.d.ts +1 -1
- package/es/components/mention/src/mention.d.ts +3 -3
- package/es/components/mention/src/mention.vue.d.ts +8 -8
- package/es/components/menu/src/sub-menu.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/notification/src/notification.d.ts +1 -1
- package/es/components/notification/src/notification.vue.d.ts +2 -2
- package/es/components/overlay/index.d.ts +2 -2
- package/es/components/overlay/src/overlay.d.ts +1 -1
- package/es/components/pagination/src/pagination.d.ts +3 -3
- package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
- package/es/components/popover/src/popover.d.ts +1 -1
- package/es/components/popover/src/popover.vue.d.ts +9 -9
- package/es/components/popper/src/composables/use-content.d.ts +3 -3
- package/es/components/popper/src/composables/use-content.mjs +9 -0
- package/es/components/popper/src/composables/use-content.mjs.map +1 -1
- package/es/components/popper/src/content.vue.d.ts +4 -4
- package/es/components/popper/src/popper.d.ts +2 -2
- package/es/components/radio/src/radio-button.d.ts +3 -3
- package/es/components/radio/src/radio-button.vue.d.ts +2 -2
- package/es/components/radio/src/radio-group.vue.d.ts +5 -5
- package/es/components/radio/src/radio.d.ts +6 -6
- package/es/components/radio/src/radio.vue.d.ts +3 -3
- package/es/components/rate/src/rate.vue.d.ts +2 -2
- package/es/components/row/src/row.d.ts +2 -2
- package/es/components/row/src/row.vue.d.ts +1 -1
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
- package/es/components/segmented/index.d.ts +34 -66
- package/es/components/segmented/src/segmented.d.ts +6 -5
- package/es/components/segmented/src/segmented.mjs.map +1 -1
- package/es/components/segmented/src/segmented.vue.d.ts +21 -26
- package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs +58 -4
- package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/segmented/src/segmented2.mjs.map +1 -1
- package/es/components/select/src/option.d.ts +2 -2
- package/es/components/select/src/option.vue.d.ts +5 -5
- package/es/components/select/src/select.d.ts +4 -4
- package/es/components/select/src/select.vue.d.ts +59 -59
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs +3 -2
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select/src/select2.mjs.map +1 -1
- package/es/components/select-v2/src/defaults.d.ts +2 -2
- package/es/components/select-v2/src/select.vue.d.ts +41 -41
- package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
- package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
- package/es/components/slider/src/slider.vue.d.ts +5 -5
- package/es/components/space/src/space.d.ts +4 -4
- package/es/components/steps/src/item.d.ts +1 -1
- package/es/components/steps/src/item.vue.d.ts +1 -1
- package/es/components/steps/src/steps.d.ts +2 -2
- package/es/components/switch/src/switch.vue.d.ts +2 -2
- package/es/components/table/src/table-body/events-helper.mjs +1 -3
- package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
- package/es/components/table/src/table-column/index.d.ts +17 -17
- package/es/components/table/src/table-footer/index.d.ts +1 -1
- package/es/components/table/src/table-header/index.d.ts +13 -13
- package/es/components/table/src/table.vue.d.ts +33 -33
- package/es/components/tabs/src/tab-nav.mjs +13 -10
- package/es/components/tabs/src/tab-nav.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
- package/es/components/tabs/src/tabs.d.ts +5 -5
- package/es/components/tag/src/tag.d.ts +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +9 -9
- package/es/components/time-picker/src/common/props.d.ts +2 -2
- package/es/components/time-picker/src/time-picker.d.ts +9 -9
- package/es/components/time-select/src/time-select.vue.d.ts +3 -3
- 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/tooltip/src/content.vue.d.ts +7 -7
- package/es/components/tooltip/src/content.vue_vue_type_script_setup_true_lang.mjs +0 -3
- package/es/components/tooltip/src/content.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/tooltip/src/content2.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.d.ts +1 -1
- package/es/components/tooltip/src/tooltip.vue.d.ts +8 -8
- 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/tour.d.ts +1 -1
- package/es/components/transfer/src/transfer.vue.d.ts +3 -3
- package/es/components/tree/src/tree.vue.d.ts +12 -12
- package/es/components/tree-select/src/tree-select.vue.d.ts +22 -22
- package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
- package/es/components/upload/src/upload-content.vue.d.ts +1 -1
- package/es/components/upload/src/upload.vue.d.ts +2 -2
- package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
- package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
- package/es/components/watermark/src/watermark.vue.d.ts +1 -1
- package/es/hooks/use-floating/index.d.ts +8 -8
- package/es/hooks/use-popper/index.d.ts +3 -3
- package/es/utils/index.d.ts +2 -1
- package/es/utils/index.mjs +2 -1
- package/es/utils/numbers.d.ts +9 -0
- package/es/utils/numbers.mjs +13 -0
- package/es/utils/numbers.mjs.map +1 -0
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/affix/src/affix.d.ts +2 -2
- package/lib/components/affix/src/affix.vue.d.ts +3 -3
- package/lib/components/alert/src/alert.d.ts +1 -1
- package/lib/components/alert/src/alert.vue.d.ts +2 -2
- package/lib/components/autocomplete/src/autocomplete.d.ts +3 -3
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +7 -7
- package/lib/components/avatar/src/avatar.d.ts +1 -1
- package/lib/components/backtop/src/backtop.vue.d.ts +2 -2
- package/lib/components/badge/src/badge.vue.d.ts +1 -1
- package/lib/components/button/src/button-group.vue.d.ts +1 -1
- package/lib/components/button/src/button.d.ts +1 -1
- package/lib/components/button/src/button.vue.d.ts +3 -3
- package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
- package/lib/components/cascader/src/cascader.d.ts +3 -3
- package/lib/components/cascader/src/cascader.vue.d.ts +8 -8
- package/lib/components/cascader-panel/src/index.vue.d.ts +2 -2
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
- package/lib/components/checkbox/src/checkbox.d.ts +8 -8
- package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
- package/lib/components/col/src/col.vue.d.ts +1 -1
- package/lib/components/collapse/src/collapse.vue.d.ts +1 -1
- package/lib/components/color-picker/src/color-picker.vue.d.ts +4 -4
- package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
- package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker.d.ts +9 -9
- package/lib/components/date-picker/src/props.d.ts +2 -2
- package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +4 -4
- package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +1 -1
- package/lib/components/descriptions/src/description-item.d.ts +12 -12
- package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
- package/lib/components/drawer/src/drawer.vue.d.ts +2 -2
- package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown.d.ts +3 -3
- package/lib/components/dropdown/src/dropdown.vue.d.ts +52 -52
- package/lib/components/form/src/form-item.d.ts +1 -1
- package/lib/components/form/src/form.d.ts +1 -1
- package/lib/components/input/src/input.d.ts +2 -2
- package/lib/components/input/src/input.vue.d.ts +2 -2
- package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js +3 -1
- package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/src/input-number.d.ts +2 -2
- package/lib/components/input-number/src/input-number.vue.d.ts +5 -5
- package/lib/components/input-tag/src/input-tag.d.ts +2 -2
- package/lib/components/input-tag/src/input-tag.vue.d.ts +7 -7
- package/lib/components/link/src/link.vue.d.ts +1 -1
- package/lib/components/mention/src/mention.d.ts +3 -3
- package/lib/components/mention/src/mention.vue.d.ts +8 -8
- package/lib/components/menu/src/sub-menu.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/notification/src/notification.d.ts +1 -1
- package/lib/components/notification/src/notification.vue.d.ts +2 -2
- package/lib/components/overlay/index.d.ts +2 -2
- package/lib/components/overlay/src/overlay.d.ts +1 -1
- package/lib/components/pagination/src/pagination.d.ts +3 -3
- package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
- package/lib/components/popover/src/popover.d.ts +1 -1
- package/lib/components/popover/src/popover.vue.d.ts +9 -9
- package/lib/components/popper/src/composables/use-content.d.ts +3 -3
- package/lib/components/popper/src/composables/use-content.js +9 -0
- package/lib/components/popper/src/composables/use-content.js.map +1 -1
- package/lib/components/popper/src/content.vue.d.ts +4 -4
- package/lib/components/popper/src/popper.d.ts +2 -2
- package/lib/components/radio/src/radio-button.d.ts +3 -3
- package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
- package/lib/components/radio/src/radio-group.vue.d.ts +5 -5
- package/lib/components/radio/src/radio.d.ts +6 -6
- package/lib/components/radio/src/radio.vue.d.ts +3 -3
- package/lib/components/rate/src/rate.vue.d.ts +2 -2
- package/lib/components/row/src/row.d.ts +2 -2
- package/lib/components/row/src/row.vue.d.ts +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
- package/lib/components/segmented/index.d.ts +34 -66
- package/lib/components/segmented/src/segmented.d.ts +6 -5
- package/lib/components/segmented/src/segmented.js.map +1 -1
- package/lib/components/segmented/src/segmented.vue.d.ts +21 -26
- package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js +57 -3
- package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/segmented/src/segmented2.js.map +1 -1
- package/lib/components/select/src/option.d.ts +2 -2
- package/lib/components/select/src/option.vue.d.ts +5 -5
- package/lib/components/select/src/select.d.ts +4 -4
- package/lib/components/select/src/select.vue.d.ts +59 -59
- package/lib/components/select/src/select.vue_vue_type_script_lang.js +3 -2
- package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select/src/select2.js.map +1 -1
- package/lib/components/select-v2/src/defaults.d.ts +2 -2
- package/lib/components/select-v2/src/select.vue.d.ts +41 -41
- package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
- package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
- package/lib/components/slider/src/slider.vue.d.ts +5 -5
- package/lib/components/space/src/space.d.ts +4 -4
- package/lib/components/steps/src/item.d.ts +1 -1
- package/lib/components/steps/src/item.vue.d.ts +1 -1
- package/lib/components/steps/src/steps.d.ts +2 -2
- package/lib/components/switch/src/switch.vue.d.ts +2 -2
- package/lib/components/table/src/table-body/events-helper.js +2 -4
- package/lib/components/table/src/table-body/events-helper.js.map +1 -1
- package/lib/components/table/src/table-column/index.d.ts +17 -17
- package/lib/components/table/src/table-footer/index.d.ts +1 -1
- package/lib/components/table/src/table-header/index.d.ts +13 -13
- package/lib/components/table/src/table.vue.d.ts +33 -33
- package/lib/components/tabs/src/tab-nav.js +13 -10
- package/lib/components/tabs/src/tab-nav.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
- package/lib/components/tabs/src/tabs.d.ts +5 -5
- package/lib/components/tag/src/tag.d.ts +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +9 -9
- package/lib/components/time-picker/src/common/props.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker.d.ts +9 -9
- package/lib/components/time-select/src/time-select.vue.d.ts +3 -3
- 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/tooltip/src/content.vue.d.ts +7 -7
- package/lib/components/tooltip/src/content.vue_vue_type_script_setup_true_lang.js +0 -3
- package/lib/components/tooltip/src/content.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/tooltip/src/content2.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.d.ts +1 -1
- package/lib/components/tooltip/src/tooltip.vue.d.ts +8 -8
- 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/tour.d.ts +1 -1
- package/lib/components/transfer/src/transfer.vue.d.ts +3 -3
- package/lib/components/tree/src/tree.vue.d.ts +12 -12
- package/lib/components/tree-select/src/tree-select.vue.d.ts +22 -22
- package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
- package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +2 -2
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
- package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
- package/lib/hooks/use-floating/index.d.ts +8 -8
- package/lib/hooks/use-popper/index.d.ts +3 -3
- package/lib/utils/index.d.ts +2 -1
- package/lib/utils/index.js +2 -0
- package/lib/utils/numbers.d.ts +9 -0
- package/lib/utils/numbers.js +15 -0
- package/lib/utils/numbers.js.map +1 -0
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +4 -3
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-nav.mjs","names":["computed","defineComponent","inject","nextTick","onMounted","onUpdated","ref","shallowRef","triggerRef","watch","createVNode","_createVNode","useDocumentVisibility","useElementSize","useResizeObserver","useWindowFocus","buildProps","capitalize","definePropType","getEventCode","mutable","rAF","throwError","EVENT_CODE","ElIcon","ArrowLeft","ArrowRight","Close","useNamespace","useWheel","clamp","TabBar","tabsRootContextKey","tabNavProps","panes","type","Array","default","currentName","String","Number","editable","Boolean","values","stretch","tabindex","undefined","tabNavEmits","tabClick","tab","tabName","ev","Event","tabRemove","COMPONENT_NAME","TabNav","name","props","emits","setup","expose","emit","rootTabs","ns","visibility","focused","navScroll$","nav$","el$","tabRefsMap","tabBarRef","scrollable","navOffset","isFocus","focusable","isWheelScrolling","tracker","isHorizontal","includes","tabPosition","sizeName","value","navStyle","dir","transition","transform","width","navContainerWidth","height","navContainerHeight","navWidth","navHeight","box","navContainerSize","navSize","onWheel","atStartEdge","atEndEdge","layout","offset","handleWheel","event","scrollPrev","containerSize","currentOffset","newOffset","scrollNext","scrollToActiveTab","nav","activeTab","navScroll","activeTabBounding","getBoundingClientRect","navScrollBounding","maxOffset","offsetWidth","offsetHeight","left","right","top","bottom","Math","max","min","update","prev","next","changeTab","code","step","up","down","tabList","from","currentTarget","querySelectorAll","currentIndex","indexOf","target","nextIndex","length","focus","preventScroll","click","setFocus","removeFocus","setRefs","el","key","focusActiveTab","setTimeout","tabListRef","scheduleRender","scrollBtn","e","is","tabs","map","pane","index","uid","disabled","closable","isClosable","btnClose","tabLabelContent","slots","label","active","onFocus","onBlur","delete","backspace"],"sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n triggerRef,\n watch,\n} from 'vue'\nimport {\n useDocumentVisibility,\n useElementSize,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n getEventCode,\n mutable,\n rAF,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport useWheel from '@element-plus/components/virtual-list/src/hooks/use-wheel'\nimport { clamp } from 'lodash-unified'\nimport TabBar from './tab-bar.vue'\nimport { tabsRootContextKey } from './constants'\n\nimport type {\n CSSProperties,\n ComponentPublicInstance,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nimport type { TabBarInstance } from './tab-bar'\nimport type { TabPaneName, TabsPaneContext } from './constants'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n /**\n * @description tab-nav tabindex\n */\n tabindex: {\n type: [String, Number],\n default: undefined,\n },\n} as const)\n\nexport const tabNavEmits = {\n tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) =>\n ev instanceof Event,\n tabRemove: (tab: TabsPaneContext, ev: Event) => ev instanceof Event,\n}\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\nexport type TabNavPropsPublic = ExtractPublicPropTypes<typeof tabNavProps>\nexport type TabNavEmits = typeof tabNavEmits\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n emits: tabNavEmits,\n setup(props, { expose, emit }) {\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n const tabRefsMap = ref<{ [key: TabPaneName]: HTMLDivElement }>({})\n\n const tabBarRef = ref<TabBarInstance>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n const isWheelScrolling = ref(false)\n const tracker = shallowRef()\n\n const isHorizontal = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n )\n\n const sizeName = computed(() => (isHorizontal.value ? 'width' : 'height'))\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transition: isWheelScrolling.value ? 'none' : undefined,\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const { width: navContainerWidth, height: navContainerHeight } =\n useElementSize(navScroll$)\n const { width: navWidth, height: navHeight } = useElementSize(\n nav$,\n { width: 0, height: 0 },\n { box: 'border-box' }\n )\n\n const navContainerSize = computed(() =>\n isHorizontal.value ? navContainerWidth.value : navContainerHeight.value\n )\n const navSize = computed(() =>\n isHorizontal.value ? navWidth.value : navHeight.value\n )\n\n const { onWheel } = useWheel(\n {\n atStartEdge: computed(() => navOffset.value <= 0),\n atEndEdge: computed(\n () => navSize.value - navOffset.value <= navContainerSize.value\n ),\n layout: computed(() =>\n isHorizontal.value ? 'horizontal' : 'vertical'\n ),\n },\n (offset) => {\n navOffset.value = clamp(\n navOffset.value + offset,\n 0,\n navSize.value - navContainerSize.value\n )\n }\n )\n\n const handleWheel = (event: WheelEvent) => {\n isWheelScrolling.value = true\n onWheel(event)\n rAF(() => {\n isWheelScrolling.value = false\n })\n }\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal.value\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal.value) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n props.stretch && tabBarRef.value?.update()\n\n const navSize = nav$.value.getBoundingClientRect()[sizeName.value]\n const containerSize =\n navScroll$.value.getBoundingClientRect()[sizeName.value]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = currentOffset + containerSize < navSize\n if (navSize - currentOffset < containerSize) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (event: KeyboardEvent) => {\n const code = getEventCode(event)\n let step = 0\n\n switch (code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n step = -1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n step = 1\n break\n default:\n return\n }\n\n const tabList = Array.from(\n (\n event.currentTarget as HTMLDivElement\n ).querySelectorAll<HTMLDivElement>('[role=tab]:not(.is-disabled)')\n )\n const currentIndex = tabList.indexOf(event.target as HTMLDivElement)\n let nextIndex = currentIndex + step\n\n if (nextIndex < 0) {\n nextIndex = tabList.length - 1\n } else if (nextIndex >= tabList.length) {\n nextIndex = 0\n }\n\n tabList[nextIndex].focus({ preventScroll: true }) // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n const setRefs = (\n el: Element | ComponentPublicInstance | null,\n key: TabPaneName\n ) => {\n tabRefsMap.value[key] = el as HTMLDivElement\n }\n\n const focusActiveTab = async () => {\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n activeTab?.focus({ preventScroll: true })\n }\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, () => {\n rAF(update)\n })\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n focusActiveTab,\n tabListRef: nav$,\n tabBarRef,\n scheduleRender: () => triggerRef(tracker),\n })\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable =\n !disabled &&\n (pane.isClosable || (pane.props.closable !== false && props.editable))\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n\n // @ts-ignore\n onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex =\n !disabled && pane.active\n ? (props.tabindex ?? rootTabs.props.tabindex)\n : -1\n\n return (\n <div\n ref={(el) => setRefs(el, tabName)}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n emit('tabClick', pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n const code = getEventCode(ev)\n if (\n closable &&\n (code === EVENT_CODE.delete || code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n // By tracking the value property, we can schedule a job to re-render `TabNav` when needed.\n // Unlike `instance.update`, the scheduler ensures the job is queued only once even if we trigger it multiple times.\n tracker.value\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n {props.panes.length > 0 ? (\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n onWheel={handleWheel}\n >\n {...[\n !props.type ? (\n <TabBar\n ref={tabBarRef}\n tabs={[...props.panes]}\n tabRefs={tabRefsMap.value}\n />\n ) : null,\n tabs,\n ]}\n </div>\n ) : null}\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav> & {\n scrollToActiveTab: () => Promise<void>\n removeFocus: () => void\n focusActiveTab: () => void\n scheduleRender: () => void\n tabListRef: HTMLDivElement | undefined\n tabBarRef: TabBarInstance | undefined\n}\n\nexport default TabNav\n"],"mappings":";;;;;;;;;;;;;;;;;;AAkDA,MAAaiC,cAAcjB,WAAW;CACpCkB,OAAO;EACLC,MAAMjB,eAAkCkB,MAAM;EAC9CC,eAAejB,QAAQ,EAAW,CAAA;EACnC;CACDkB,aAAa;EACXH,MAAM,CAACI,QAAQC,OAAO;EACtBH,SAAS;EACV;CACDI,UAAUC;CACVP,MAAM;EACJA,MAAMI;EACNI,QAAQ;GAAC;GAAQ;GAAe;GAAG;EACnCN,SAAS;EACV;CACDO,SAASF;CAITG,UAAU;EACRV,MAAM,CAACI,QAAQC,OAAO;EACtBH,SAASS;EACX;CACQ,CAAC;AAEX,MAAaC,cAAc;CACzBC,WAAWC,KAAsBC,SAAsBC,OACrDA,cAAcC;CAChBC,YAAYJ,KAAsBE,OAAcA,cAAcC;CAC/D;AAMD,MAAME,iBAAiB;AACvB,MAAMC,SAAStD,gCAAgB;CAC7BuD,MAAMF;CACNG,OAAOxB;CACPyB,OAAOX;CACPY,MAAMF,OAAO,EAAEG,QAAQC,QAAQ;EAC7B,MAAMC,WAAW5D,OAAO8B,mBAAmB;AAC3C,MAAI,CAAC8B,SAAUxC,YAAWgC,gBAAgB,iCAAiC;EAE3E,MAAMS,KAAKnC,aAAa,OAAO;EAC/B,MAAMoC,aAAapD,uBAAuB;EAC1C,MAAMqD,UAAUlD,gBAAgB;EAEhC,MAAMmD,aAAa5D,KAAqB;EACxC,MAAM6D,OAAO7D,KAAqB;EAClC,MAAM8D,MAAM9D,KAAqB;EACjC,MAAM+D,aAAa/D,IAA4C,EAAE,CAAC;EAElE,MAAMgE,YAAYhE,KAAqB;EAEvC,MAAMiE,aAAajE,IAAwB,MAAM;EACjD,MAAMkE,YAAYlE,IAAI,EAAE;EACxB,MAAMmE,UAAUnE,IAAI,MAAM;EAC1B,MAAMoE,YAAYpE,IAAI,KAAK;EAC3B,MAAMqE,mBAAmBrE,IAAI,MAAM;EACnC,MAAMsE,UAAUrE,YAAY;EAE5B,MAAMsE,eAAe7E,eACnB,CAAC,OAAO,SAAS,CAAC8E,SAAShB,SAASL,MAAMsB,YAC5C,CAAC;EAED,MAAMC,WAAWhF,eAAgB6E,aAAaI,QAAQ,UAAU,SAAU;EAC1E,MAAMC,WAAWlF,eAA8B;GAC7C,MAAMmF,MAAMH,SAASC,UAAU,UAAU,MAAM;AAC/C,UAAO;IACLG,YAAYT,iBAAiBM,QAAQ,SAASnC;IAC9CuC,WAAW,YAAYF,IAAG,IAAKX,UAAUS,MAAK;IAC/C;IACD;EAEF,MAAM,EAAEK,OAAOC,mBAAmBC,QAAQC,uBACxC5E,eAAeqD,WAAW;EAC5B,MAAM,EAAEoB,OAAOI,UAAUF,QAAQG,cAAc9E,eAC7CsD,MACA;GAAEmB,OAAO;GAAGE,QAAQ;GAAG,EACvB,EAAEI,KAAK,cACT,CAAC;EAED,MAAMC,mBAAmB7F,eACvB6E,aAAaI,QAAQM,kBAAkBN,QAAQQ,mBAAmBR,MACnE;EACD,MAAMa,UAAU9F,eACd6E,aAAaI,QAAQS,SAAST,QAAQU,UAAUV,MACjD;EAED,MAAM,EAAEc,YAAYlE,SAClB;GACEmE,aAAahG,eAAewE,UAAUS,SAAS,EAAE;GACjDgB,WAAWjG,eACH8F,QAAQb,QAAQT,UAAUS,SAASY,iBAAiBZ,MAC3D;GACDiB,QAAQlG,eACN6E,aAAaI,QAAQ,eAAe,WACtC;GACD,GACAkB,WAAW;AACV3B,aAAUS,QAAQnD,QAChB0C,UAAUS,QAAQkB,QAClB,GACAL,QAAQb,QAAQY,iBAAiBZ,MAClC;IAEJ;EAED,MAAMmB,eAAeC,UAAsB;AACzC1B,oBAAiBM,QAAQ;AACzBc,WAAQM,MAAM;AACdhF,aAAU;AACRsD,qBAAiBM,QAAQ;KACzB;;EAGJ,MAAMqB,mBAAmB;AACvB,OAAI,CAACpC,WAAWe,MAAO;GAEvB,MAAMsB,gBACJrC,WAAWe,MAAM,SAAShE,WAAW+D,SAASC,MAAM;GACtD,MAAMuB,gBAAgBhC,UAAUS;AAEhC,OAAI,CAACuB,cAAe;AAKpBhC,aAAUS,QAFRuB,gBAAgBD,gBAAgBC,gBAAgBD,gBAAgB;;EAKpE,MAAMG,mBAAmB;AACvB,OAAI,CAACxC,WAAWe,SAAS,CAACd,KAAKc,MAAO;GAEtC,MAAMa,UAAU3B,KAAKc,MAAM,SAAShE,WAAW+D,SAASC,MAAM;GAC9D,MAAMsB,gBACJrC,WAAWe,MAAM,SAAShE,WAAW+D,SAASC,MAAM;GACtD,MAAMuB,gBAAgBhC,UAAUS;AAEhC,OAAIa,UAAUU,iBAAiBD,cAAe;AAO9C/B,aAAUS,QAJRa,UAAUU,gBAAgBD,gBAAgB,IACtCC,gBAAgBD,gBAChBT,UAAUS;;EAKlB,MAAMI,oBAAoB,YAAY;GACpC,MAAMC,MAAMzC,KAAKc;AACjB,OAAI,CAACV,WAAWU,SAAS,CAACb,IAAIa,SAAS,CAACf,WAAWe,SAAS,CAAC2B,IAAK;AAElE,SAAMzG,UAAU;GAEhB,MAAM0G,YAAYxC,WAAWY,MAAMxB,MAAMnB;AACzC,OAAI,CAACuE,UAAW;GAEhB,MAAMC,YAAY5C,WAAWe;GAE7B,MAAM8B,oBAAoBF,UAAUG,uBAAuB;GAC3D,MAAMC,oBAAoBH,UAAUE,uBAAuB;GAC3D,MAAME,YAAYrC,aAAaI,QAC3B2B,IAAIO,cAAcF,kBAAkB3B,QACpCsB,IAAIQ,eAAeH,kBAAkBzB;GACzC,MAAMgB,gBAAgBhC,UAAUS;GAChC,IAAIwB,YAAYD;AAEhB,OAAI3B,aAAaI,OAAO;AACtB,QAAI8B,kBAAkBM,OAAOJ,kBAAkBI,KAC7CZ,aACED,iBAAiBS,kBAAkBI,OAAON,kBAAkBM;AAEhE,QAAIN,kBAAkBO,QAAQL,kBAAkBK,MAC9Cb,aACED,gBAAgBO,kBAAkBO,QAAQL,kBAAkBK;UAE3D;AACL,QAAIP,kBAAkBQ,MAAMN,kBAAkBM,IAC5Cd,aACED,iBAAiBS,kBAAkBM,MAAMR,kBAAkBQ;AAE/D,QAAIR,kBAAkBS,SAASP,kBAAkBO,OAC/Cf,aACED,iBACCO,kBAAkBS,SAASP,kBAAkBO;;AAGpDf,eAAYgB,KAAKC,IAAIjB,WAAW,EAAE;AAClCjC,aAAUS,QAAQwC,KAAKE,IAAIlB,WAAWS,UAAU;;EAGlD,MAAMU,eAAe;AACnB,OAAI,CAACzD,KAAKc,SAAS,CAACf,WAAWe,MAAO;AAEtCxB,SAAMb,WAAW0B,UAAUW,OAAO2C,QAAQ;GAE1C,MAAM9B,UAAU3B,KAAKc,MAAM+B,uBAAuB,CAAChC,SAASC;GAC5D,MAAMsB,gBACJrC,WAAWe,MAAM+B,uBAAuB,CAAChC,SAASC;GACpD,MAAMuB,gBAAgBhC,UAAUS;AAEhC,OAAIsB,gBAAgBT,SAAS;AAC3BvB,eAAWU,QAAQV,WAAWU,SAAS,EAAE;AACzCV,eAAWU,MAAM4C,OAAOrB;AACxBjC,eAAWU,MAAM6C,OAAOtB,gBAAgBD,gBAAgBT;AACxD,QAAIA,UAAUU,gBAAgBD,cAC5B/B,WAAUS,QAAQa,UAAUS;UAEzB;AACLhC,eAAWU,QAAQ;AACnB,QAAIuB,gBAAgB,EAClBhC,WAAUS,QAAQ;;;EAKxB,MAAM8C,aAAa1B,UAAyB;GAC1C,MAAM2B,OAAO7G,aAAakF,MAAM;GAChC,IAAI4B,OAAO;AAEX,WAAQD,MAAR;IACE,KAAKzG,WAAW8F;IAChB,KAAK9F,WAAW2G;AACdD,YAAO;AACP;IACF,KAAK1G,WAAW+F;IAChB,KAAK/F,WAAW4G;AACdF,YAAO;AACP;IACF,QACE;;GAGJ,MAAMG,UAAUhG,MAAMiG,KAElBhC,MAAMiC,cACNC,iBAAiC,+BACrC,CAAC;GAED,IAAII,YADiBP,QAAQK,QAAQpC,MAAMqC,OAAyB,GACrCT;AAE/B,OAAIU,YAAY,EACdA,aAAYP,QAAQQ,SAAS;YACpBD,aAAaP,QAAQQ,OAC9BD,aAAY;AAGdP,WAAQO,WAAWE,MAAM,EAAEC,eAAe,MAAM,CAAC;AACjDV,WAAQO,WAAWI,OAAO;AAC1BC,aAAU;;EAGZ,MAAMA,iBAAiB;AACrB,OAAItE,UAAUO,MAAOR,SAAQQ,QAAQ;;EAEvC,MAAMgE,oBAAqBxE,QAAQQ,QAAQ;EAE3C,MAAMiE,WACJC,IACAC,QACG;AACH/E,cAAWY,MAAMmE,OAAOD;;EAG1B,MAAME,iBAAiB,YAAY;AACjC,SAAMlJ,UAAU;AAGhB0G,GADkBxC,WAAWY,MAAMxB,MAAMnB,cAC9BuG,MAAM,EAAEC,eAAe,MAAM,CAAC;;AAG3CrI,QAAMuD,aAAaA,eAAe;AAChC,OAAIA,eAAe,SACjBU,WAAUO,QAAQ;YACTjB,eAAe,UACxBsF,kBAAkB5E,UAAUO,QAAQ,MAAO,GAAG;IAEhD;AACFxE,QAAMwD,UAAUA,YAAY;AAC1B,OAAIA,QACFqF,kBAAkB5E,UAAUO,QAAQ,MAAO,GAAG;OAE9CP,WAAUO,QAAQ;IAEpB;AAEFnE,oBAAkBsD,WAAW;AAC3B/C,OAAIuG,OAAO;IACX;AAEFxH,kBAAgBkJ,iBAAiB3C,mBAAmB,EAAE,EAAE,CAAC;AACzDtG,kBAAgBuH,QAAQ,CAAC;AAEzBhE,SAAO;GACL+C;GACAsC;GACAI;GACAE,YAAYpF;GACZG;GACAkF,sBAAsBhJ,WAAWoE,QAAO;GACzC,CAAC;AAEF,eAAa;GACX,MAAM6E,YAAYlF,WAAWU,QACzB,CAAAtE,YAAA,QAAA;IAAA,SAEW,CACLoD,GAAG2F,EAAE,WAAW,EAChB3F,GAAG4F,GAAG,YAAY,CAACpF,WAAWU,MAAM4C,KAAK,CAC1C;IAAA,WACQvB;IAAU,EAAA,CAAA3F,YAAAa,QAAA,MAAA,EAAAa,eAAA,CAAA1B,YAAAc,WAAA,MAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAd,YAAA,QAAA;IAAA,SAOZ,CACLoD,GAAG2F,EAAE,WAAW,EAChB3F,GAAG4F,GAAG,YAAY,CAACpF,WAAWU,MAAM6C,KAAK,CAC1C;IAAA,WACQpB;IAAU,EAAA,CAAA/F,YAAAa,QAAA,MAAA,EAAAa,eAAA,CAAA1B,YAAAe,YAAA,MAAA,KAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAMtB,GACD;GAEJ,MAAMkI,OAAOnG,MAAMvB,MAAM2H,KAAKC,MAAMC,UAAU;IAC5C,MAAMC,MAAMF,KAAKE;IACjB,MAAMC,WAAWH,KAAKrG,MAAMwG;IAC5B,MAAM/G,UAAU4G,KAAKrG,MAAMD,QAAQsG,KAAKC,SAAS,GAAGA;IACpD,MAAMG,WACJ,CAACD,aACAH,KAAKK,cAAeL,KAAKrG,MAAMyG,aAAa,SAASzG,MAAMhB;AAC9DqH,SAAKC,QAAQ,GAAGA;IAEhB,MAAMK,WAAWF,WAAQvJ,YAAAa,QAAA;KAAA,SAAA;KAAA,YAMX2B,OAAmBU,KAAK,aAAaiG,MAAM3G,GAAE;KAAC,EAAA,EAAAd,eAAA,CAAA1B,YAAAgB,OAAA,MAAA,KAAA,CAAA,EAAA,CAAA,GAIxD;IAEJ,MAAM0I,kBAAkBP,KAAKQ,MAAMC,SAAS,IAAIT,KAAKrG,MAAM8G;IAC3D,MAAM1H,WACJ,CAACoH,YAAYH,KAAKU,SACb/G,MAAMZ,YAAYiB,SAASL,MAAMZ,WAClC;AAEN,WAAAlC,YAAA,OAAA;KAAA,QAEUwI,OAAOD,QAAQC,IAAIjG,QAAQ;KAAA,SAC1B;MACLa,GAAG2F,EAAE,OAAO;MACZ3F,GAAG4F,GAAG7F,SAASL,MAAMsB,YAAY;MACjChB,GAAG4F,GAAG,UAAUG,KAAKU,OAAO;MAC5BzG,GAAG4F,GAAG,YAAYM,SAAS;MAC3BlG,GAAG4F,GAAG,YAAYO,SAAS;MAC3BnG,GAAG4F,GAAG,SAASlF,QAAQQ,MAAM;MAC9B;KAAA,MACG,OAAO/B;KAAS,OACf,OAAO8G;KAAK,iBACF,QAAQ9G;KAAS,QAAA;KAAA,iBAEjB4G,KAAKU;KAAM,YAChB3H;KAAQ,iBACHmG,UAAU;KAAA,gBACXC,aAAa;KAAA,YACjB9F,OAAmB;AAC3B8F,mBAAa;AACbpF,WAAK,YAAYiG,MAAM5G,SAASC,GAAG;;KACpC,cACWA,OAAsB;MAChC,MAAM6E,OAAO7G,aAAagC,GAAG;AAC7B,UACE+G,aACClC,SAASzG,WAAWoJ,UAAU3C,SAASzG,WAAWqJ,WAEnD/G,MAAK,aAAaiG,MAAM3G,GAAG;;KAE9B,EAAA,CAAA,GAEG,CAACkH,iBAAiBD,SAAS,CAAA,CAAA;KAGnC;AAIFxF,WAAQK;AAER,UAAAtE,YAAA,OAAA;IAAA,OAESyD;IAAG,SACD;KACLL,GAAG2F,EAAE,WAAW;KAChB3F,GAAG4F,GAAG,cAAc,CAAC,CAACpF,WAAWU,MAAM;KACvClB,GAAG4F,GAAG7F,SAASL,MAAMsB,YAAY;KAAA;IAClC,EAAA,CAEA0E,WAAS9I,YAAA,OAAA;IAAA,SACEoD,GAAG2F,EAAE,aAAa;IAAA,OAAOxF;IAAU,EAAA,CAC5CT,MAAMvB,MAAM0G,SAAS,IAACjI,YAAA,OAAA;IAAA,SAEZ;KACLoD,GAAG2F,EAAE,MAAM;KACX3F,GAAG4F,GAAG7F,SAASL,MAAMsB,YAAY;KACjChB,GAAG4F,GACD,WACAlG,MAAMb,WACJ,CAAC,OAAO,SAAS,CAACkC,SAAShB,SAASL,MAAMsB,YAC9C,CAAC;KACF;IAAA,OACIZ;IAAI,SACFe,SAASD;IAAK,QAAA;IAAA,aAEV8C;IAAS,WACX3B;IAAW,EAAA,CAAA,GAEhB,CACF,CAAC3C,MAAMtB,OAAIxB,YAAAoB,iBAAA;IAAA,OAEFuC;IAAS,QACR,CAAC,GAAGb,MAAMvB,MAAM;IAAA,WACbmC,WAAWY;IAAK,EAAA,KAAA,GAEzB,MACJ2E,KACD,CAAA,CAAA,GAED,KAAI,CAAA,CAAA,CAAA;;;CAMnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tab-nav.mjs","names":["computed","defineComponent","inject","nextTick","onMounted","onUpdated","ref","shallowRef","triggerRef","watch","createVNode","_createVNode","useDocumentVisibility","useElementSize","useResizeObserver","useWindowFocus","buildProps","definePropType","getEventCode","isGreaterThan","mutable","rAF","throwError","EVENT_CODE","ElIcon","ArrowLeft","ArrowRight","Close","useNamespace","useWheel","clamp","TabBar","tabsRootContextKey","tabNavProps","panes","type","Array","default","currentName","String","Number","editable","Boolean","values","stretch","tabindex","undefined","tabNavEmits","tabClick","tab","tabName","ev","Event","tabRemove","COMPONENT_NAME","TabNav","name","props","emits","setup","expose","emit","rootTabs","ns","visibility","focused","navScroll$","nav$","el$","tabRefsMap","tabBarRef","scrollable","navOffset","isFocus","focusable","isWheelScrolling","tracker","isHorizontal","includes","tabPosition","sizeName","value","navStyle","dir","transition","transform","width","navContainerWidth","height","navContainerHeight","navWidth","navHeight","box","navContainerSize","navSize","onWheel","atStartEdge","atEndEdge","layout","offset","handleWheel","event","scrollPrev","containerSize","getBoundingClientRect","currentOffset","newOffset","scrollNext","scrollToActiveTab","nav","activeTab","navScroll","activeTabBounding","navScrollBounding","navScrollLeft","left","navScrollRight","right","navBounding","maxOffset","top","bottom","Math","max","min","update","prev","next","changeTab","code","step","up","down","tabList","from","currentTarget","querySelectorAll","currentIndex","indexOf","target","nextIndex","length","focus","preventScroll","click","setFocus","removeFocus","setRefs","el","key","focusActiveTab","setTimeout","tabListRef","scheduleRender","scrollBtn","e","is","tabs","map","pane","index","uid","disabled","closable","isClosable","btnClose","tabLabelContent","slots","label","active","onFocus","onBlur","delete","backspace"],"sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n triggerRef,\n watch,\n} from 'vue'\nimport {\n useDocumentVisibility,\n useElementSize,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n definePropType,\n getEventCode,\n isGreaterThan,\n mutable,\n rAF,\n throwError,\n} from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport useWheel from '@element-plus/components/virtual-list/src/hooks/use-wheel'\nimport { clamp } from 'lodash-unified'\nimport TabBar from './tab-bar.vue'\nimport { tabsRootContextKey } from './constants'\n\nimport type {\n CSSProperties,\n ComponentPublicInstance,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nimport type { TabBarInstance } from './tab-bar'\nimport type { TabPaneName, TabsPaneContext } from './constants'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n /**\n * @description tab-nav tabindex\n */\n tabindex: {\n type: [String, Number],\n default: undefined,\n },\n} as const)\n\nexport const tabNavEmits = {\n tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) =>\n ev instanceof Event,\n tabRemove: (tab: TabsPaneContext, ev: Event) => ev instanceof Event,\n}\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\nexport type TabNavPropsPublic = ExtractPublicPropTypes<typeof tabNavProps>\nexport type TabNavEmits = typeof tabNavEmits\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n emits: tabNavEmits,\n setup(props, { expose, emit }) {\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n const tabRefsMap = ref<{ [key: TabPaneName]: HTMLDivElement }>({})\n\n const tabBarRef = ref<TabBarInstance>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n const isWheelScrolling = ref(false)\n const tracker = shallowRef()\n\n const isHorizontal = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n )\n\n const sizeName = computed(() => (isHorizontal.value ? 'width' : 'height'))\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transition: isWheelScrolling.value ? 'none' : undefined,\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const { width: navContainerWidth, height: navContainerHeight } =\n useElementSize(navScroll$)\n const { width: navWidth, height: navHeight } = useElementSize(\n nav$,\n { width: 0, height: 0 },\n { box: 'border-box' }\n )\n\n const navContainerSize = computed(() =>\n isHorizontal.value ? navContainerWidth.value : navContainerHeight.value\n )\n const navSize = computed(() =>\n isHorizontal.value ? navWidth.value : navHeight.value\n )\n\n const { onWheel } = useWheel(\n {\n atStartEdge: computed(() => navOffset.value <= 0),\n atEndEdge: computed(\n () => navSize.value - navOffset.value <= navContainerSize.value\n ),\n layout: computed(() =>\n isHorizontal.value ? 'horizontal' : 'vertical'\n ),\n },\n (offset) => {\n navOffset.value = clamp(\n navOffset.value + offset,\n 0,\n navSize.value - navContainerSize.value\n )\n }\n )\n\n const handleWheel = (event: WheelEvent) => {\n isWheelScrolling.value = true\n onWheel(event)\n rAF(() => {\n isWheelScrolling.value = false\n })\n }\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value.getBoundingClientRect()[sizeName.value]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value.getBoundingClientRect()[sizeName.value]\n const containerSize =\n navScroll$.value.getBoundingClientRect()[sizeName.value]\n const currentOffset = navOffset.value\n\n if (!isGreaterThan(navSize - currentOffset, containerSize)) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n // nav has a 1px border width\n const navScrollLeft = navScrollBounding.left + 1\n const navScrollRight = navScrollBounding.right - 1\n const navBounding = nav.getBoundingClientRect()\n const maxOffset = isHorizontal.value\n ? navBounding.width - navScrollBounding.width\n : navBounding.height - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal.value) {\n if (activeTabBounding.left < navScrollLeft) {\n newOffset = currentOffset - (navScrollLeft - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollRight) {\n newOffset = currentOffset + activeTabBounding.right - navScrollRight\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n props.stretch && tabBarRef.value?.update()\n\n const navSize = nav$.value.getBoundingClientRect()[sizeName.value]\n const containerSize =\n navScroll$.value.getBoundingClientRect()[sizeName.value]\n const currentOffset = navOffset.value\n\n if (containerSize < navSize) {\n scrollable.value = scrollable.value || {}\n scrollable.value.prev = currentOffset\n scrollable.value.next = isGreaterThan(\n navSize,\n currentOffset + containerSize\n )\n if (isGreaterThan(containerSize, navSize - currentOffset)) {\n navOffset.value = navSize - containerSize\n }\n } else {\n scrollable.value = false\n if (currentOffset > 0) {\n navOffset.value = 0\n }\n }\n }\n\n const changeTab = (event: KeyboardEvent) => {\n const code = getEventCode(event)\n let step = 0\n\n switch (code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n step = -1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n step = 1\n break\n default:\n return\n }\n\n const tabList = Array.from(\n (\n event.currentTarget as HTMLDivElement\n ).querySelectorAll<HTMLDivElement>('[role=tab]:not(.is-disabled)')\n )\n const currentIndex = tabList.indexOf(event.target as HTMLDivElement)\n let nextIndex = currentIndex + step\n\n if (nextIndex < 0) {\n nextIndex = tabList.length - 1\n } else if (nextIndex >= tabList.length) {\n nextIndex = 0\n }\n\n tabList[nextIndex].focus({ preventScroll: true }) // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n const setRefs = (\n el: Element | ComponentPublicInstance | null,\n key: TabPaneName\n ) => {\n tabRefsMap.value[key] = el as HTMLDivElement\n }\n\n const focusActiveTab = async () => {\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n activeTab?.focus({ preventScroll: true })\n }\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, () => {\n rAF(update)\n })\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n focusActiveTab,\n tabListRef: nav$,\n tabBarRef,\n scheduleRender: () => triggerRef(tracker),\n })\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable =\n !disabled &&\n (pane.isClosable || (pane.props.closable !== false && props.editable))\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n\n // @ts-ignore\n onClick={(ev: MouseEvent) => emit('tabRemove', pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent = pane.slots.label?.() || pane.props.label\n const tabindex =\n !disabled && pane.active\n ? (props.tabindex ?? rootTabs.props.tabindex)\n : -1\n\n return (\n <div\n ref={(el) => setRefs(el, tabName)}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n emit('tabClick', pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n const code = getEventCode(ev)\n if (\n closable &&\n (code === EVENT_CODE.delete || code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\n\n // By tracking the value property, we can schedule a job to re-render `TabNav` when needed.\n // Unlike `instance.update`, the scheduler ensures the job is queued only once even if we trigger it multiple times.\n tracker.value\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n {props.panes.length > 0 ? (\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n onWheel={handleWheel}\n >\n {...[\n !props.type ? (\n <TabBar\n ref={tabBarRef}\n tabs={[...props.panes]}\n tabRefs={tabRefsMap.value}\n />\n ) : null,\n tabs,\n ]}\n </div>\n ) : null}\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav> & {\n scrollToActiveTab: () => Promise<void>\n removeFocus: () => void\n focusActiveTab: () => void\n scheduleRender: () => void\n tabListRef: HTMLDivElement | undefined\n tabBarRef: TabBarInstance | undefined\n}\n\nexport default TabNav\n"],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ type __VLS_Slots = {} & {
|
|
|
7
7
|
default?: (props: typeof __VLS_1) => any;
|
|
8
8
|
};
|
|
9
9
|
declare const __VLS_base: vue.DefineComponent<TabPaneProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<TabPaneProps> & Readonly<{}>, {
|
|
10
|
-
label: string;
|
|
11
10
|
closable: boolean;
|
|
11
|
+
label: string;
|
|
12
12
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
13
13
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
14
|
declare const _default: typeof __VLS_export;
|
|
@@ -25,7 +25,7 @@ declare const tabsProps: {
|
|
|
25
25
|
__epPropKey: true;
|
|
26
26
|
};
|
|
27
27
|
readonly editable: BooleanConstructor;
|
|
28
|
-
readonly tabPosition: EpPropFinalized<StringConstructor, "
|
|
28
|
+
readonly tabPosition: EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right", unknown, "top", boolean>;
|
|
29
29
|
readonly beforeLeave: EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
|
|
30
30
|
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
|
|
31
31
|
new (): any;
|
|
@@ -67,7 +67,7 @@ declare const Tabs: vue.DefineComponent<ExtractPropTypes<{
|
|
|
67
67
|
__epPropKey: true;
|
|
68
68
|
};
|
|
69
69
|
readonly editable: BooleanConstructor;
|
|
70
|
-
readonly tabPosition: EpPropFinalized<StringConstructor, "
|
|
70
|
+
readonly tabPosition: EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right", unknown, "top", boolean>;
|
|
71
71
|
readonly beforeLeave: EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
|
|
72
72
|
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
|
|
73
73
|
new (): any;
|
|
@@ -103,7 +103,7 @@ declare const Tabs: vue.DefineComponent<ExtractPropTypes<{
|
|
|
103
103
|
__epPropKey: true;
|
|
104
104
|
};
|
|
105
105
|
readonly editable: BooleanConstructor;
|
|
106
|
-
readonly tabPosition: EpPropFinalized<StringConstructor, "
|
|
106
|
+
readonly tabPosition: EpPropFinalized<StringConstructor, "top" | "bottom" | "left" | "right", unknown, "top", boolean>;
|
|
107
107
|
readonly beforeLeave: EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
|
|
108
108
|
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
|
|
109
109
|
new (): any;
|
|
@@ -140,11 +140,11 @@ declare const Tabs: vue.DefineComponent<ExtractPropTypes<{
|
|
|
140
140
|
onTabAdd?: (() => any) | undefined;
|
|
141
141
|
}>, {
|
|
142
142
|
readonly type: EpPropMergeType<StringConstructor, "" | "card" | "border-card", unknown>;
|
|
143
|
+
readonly closable: boolean;
|
|
143
144
|
readonly tabindex: EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
144
145
|
readonly stretch: boolean;
|
|
145
|
-
readonly closable: boolean;
|
|
146
146
|
readonly editable: boolean;
|
|
147
|
-
readonly tabPosition: EpPropMergeType<StringConstructor, "
|
|
147
|
+
readonly tabPosition: EpPropMergeType<StringConstructor, "top" | "bottom" | "left" | "right", unknown>;
|
|
148
148
|
readonly beforeLeave: (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
|
|
149
149
|
readonly addable: boolean;
|
|
150
150
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
@@ -55,7 +55,7 @@ declare const tagProps: {
|
|
|
55
55
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
56
56
|
__epPropKey: true;
|
|
57
57
|
};
|
|
58
|
-
readonly effect: EpPropFinalized<StringConstructor, "
|
|
58
|
+
readonly effect: EpPropFinalized<StringConstructor, "light" | "dark" | "plain", unknown, "light", boolean>;
|
|
59
59
|
readonly round: BooleanConstructor;
|
|
60
60
|
};
|
|
61
61
|
/**
|
|
@@ -59,7 +59,7 @@ declare const __VLS_base: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
59
59
|
readonly tabindex: EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown, 0, boolean>;
|
|
60
60
|
readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
61
61
|
readonly unlinkPanels: BooleanConstructor;
|
|
62
|
-
readonly placement: EpPropFinalized<(new (...args: any[]) => "
|
|
62
|
+
readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => _popperjs_core0.Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => _popperjs_core0.Placement)) | null)[], _popperjs_core0.Placement, unknown, "bottom", boolean>;
|
|
63
63
|
readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => _popperjs_core0.Placement[]) | (() => _popperjs_core0.Placement[]) | (((new (...args: any[]) => _popperjs_core0.Placement[]) | (() => _popperjs_core0.Placement[])) | null)[], unknown, unknown, readonly ["bottom", "top", "right", "left"], boolean>;
|
|
64
64
|
readonly disabledHours: {
|
|
65
65
|
readonly type: vue.PropType<GetDisabledHours>;
|
|
@@ -220,7 +220,7 @@ declare const __VLS_base: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
220
220
|
readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
221
221
|
readonly placeholder: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
222
222
|
readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
|
|
223
|
-
readonly modelValue: EpPropFinalized<(new (...args: any[]) => string | number |
|
|
223
|
+
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>;
|
|
224
224
|
readonly rangeSeparator: EpPropFinalized<StringConstructor, unknown, unknown, "-", boolean>;
|
|
225
225
|
readonly startPlaceholder: StringConstructor;
|
|
226
226
|
readonly endPlaceholder: StringConstructor;
|
|
@@ -293,7 +293,7 @@ declare const __VLS_base: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
293
293
|
readonly tabindex: EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown, 0, boolean>;
|
|
294
294
|
readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
295
295
|
readonly unlinkPanels: BooleanConstructor;
|
|
296
|
-
readonly placement: EpPropFinalized<(new (...args: any[]) => "
|
|
296
|
+
readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => _popperjs_core0.Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => _popperjs_core0.Placement)) | null)[], _popperjs_core0.Placement, unknown, "bottom", boolean>;
|
|
297
297
|
readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => _popperjs_core0.Placement[]) | (() => _popperjs_core0.Placement[]) | (((new (...args: any[]) => _popperjs_core0.Placement[]) | (() => _popperjs_core0.Placement[])) | null)[], unknown, unknown, readonly ["bottom", "top", "right", "left"], boolean>;
|
|
298
298
|
readonly disabledHours: {
|
|
299
299
|
readonly type: vue.PropType<GetDisabledHours>;
|
|
@@ -454,7 +454,7 @@ declare const __VLS_base: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
454
454
|
readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
455
455
|
readonly placeholder: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
456
456
|
readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
|
|
457
|
-
readonly modelValue: EpPropFinalized<(new (...args: any[]) => string | number |
|
|
457
|
+
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>;
|
|
458
458
|
readonly rangeSeparator: EpPropFinalized<StringConstructor, unknown, unknown, "-", boolean>;
|
|
459
459
|
readonly startPlaceholder: StringConstructor;
|
|
460
460
|
readonly endPlaceholder: StringConstructor;
|
|
@@ -483,18 +483,18 @@ declare const __VLS_base: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
483
483
|
"onVisible-change"?: ((...args: any[]) => any) | undefined;
|
|
484
484
|
}>, {
|
|
485
485
|
readonly type: string;
|
|
486
|
-
readonly modelValue: EpPropMergeType<(new (...args: any[]) => string | number |
|
|
486
|
+
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>;
|
|
487
|
+
readonly placement: EpPropMergeType<(new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => _popperjs_core0.Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => _popperjs_core0.Placement)) | null)[], _popperjs_core0.Placement, unknown>;
|
|
487
488
|
readonly disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
488
|
-
readonly tabindex: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
|
|
489
|
-
readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
490
489
|
readonly placeholder: string;
|
|
491
|
-
readonly placement: EpPropMergeType<(new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "bottom-start" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => _popperjs_core0.Placement) | (((new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "bottom-start" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => _popperjs_core0.Placement)) | null)[], _popperjs_core0.Placement, unknown>;
|
|
492
|
-
readonly popperOptions: Partial<Options>;
|
|
493
490
|
readonly readonly: boolean;
|
|
494
491
|
readonly clearable: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
495
492
|
readonly clearIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
|
|
496
493
|
readonly prefixIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
|
|
494
|
+
readonly tabindex: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
|
|
495
|
+
readonly validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
497
496
|
readonly fallbackPlacements: _popperjs_core0.Placement[];
|
|
497
|
+
readonly popperOptions: Partial<Options>;
|
|
498
498
|
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>;
|
|
499
499
|
readonly automaticDropdown: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
500
500
|
readonly editable: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -41,7 +41,7 @@ declare const timePickerDefaultProps: {
|
|
|
41
41
|
readonly tabindex: EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown, 0, boolean>;
|
|
42
42
|
readonly validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
43
43
|
readonly unlinkPanels: BooleanConstructor;
|
|
44
|
-
readonly placement: EpPropFinalized<(new (...args: any[]) => "
|
|
44
|
+
readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement$1) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement$1)) | null)[], Placement$1, unknown, "bottom", boolean>;
|
|
45
45
|
readonly fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement$1[]) | (() => Placement$1[]) | (((new (...args: any[]) => Placement$1[]) | (() => Placement$1[])) | null)[], unknown, unknown, readonly ["bottom", "top", "right", "left"], boolean>;
|
|
46
46
|
readonly disabledHours: {
|
|
47
47
|
readonly type: vue.PropType<GetDisabledHours>;
|
|
@@ -202,7 +202,7 @@ declare const timePickerDefaultProps: {
|
|
|
202
202
|
readonly disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
203
203
|
readonly placeholder: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
204
204
|
readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
|
|
205
|
-
readonly modelValue: EpPropFinalized<(new (...args: any[]) => string | number |
|
|
205
|
+
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>;
|
|
206
206
|
readonly rangeSeparator: EpPropFinalized<StringConstructor, unknown, unknown, "-", boolean>;
|
|
207
207
|
readonly startPlaceholder: StringConstructor;
|
|
208
208
|
readonly endPlaceholder: StringConstructor;
|
|
@@ -36,7 +36,7 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
36
36
|
tabindex: EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown, 0, boolean>;
|
|
37
37
|
validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
38
38
|
unlinkPanels: BooleanConstructor;
|
|
39
|
-
placement: EpPropFinalized<(new (...args: any[]) => "
|
|
39
|
+
placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom", boolean>;
|
|
40
40
|
fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom", "top", "right", "left"], boolean>;
|
|
41
41
|
disabledHours: {
|
|
42
42
|
readonly type: vue.PropType<GetDisabledHours>;
|
|
@@ -197,7 +197,7 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
197
197
|
disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
198
198
|
placeholder: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
199
199
|
popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
|
|
200
|
-
modelValue: EpPropFinalized<(new (...args: any[]) => string | number |
|
|
200
|
+
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>;
|
|
201
201
|
rangeSeparator: EpPropFinalized<StringConstructor, unknown, unknown, "-", boolean>;
|
|
202
202
|
startPlaceholder: StringConstructor;
|
|
203
203
|
endPlaceholder: StringConstructor;
|
|
@@ -242,7 +242,7 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
242
242
|
tabindex: EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown, 0, boolean>;
|
|
243
243
|
validateEvent: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
244
244
|
unlinkPanels: BooleanConstructor;
|
|
245
|
-
placement: EpPropFinalized<(new (...args: any[]) => "
|
|
245
|
+
placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown, "bottom", boolean>;
|
|
246
246
|
fallbackPlacements: EpPropFinalized<(new (...args: any[]) => Placement[]) | (() => Placement[]) | (((new (...args: any[]) => Placement[]) | (() => Placement[])) | null)[], unknown, unknown, readonly ["bottom", "top", "right", "left"], boolean>;
|
|
247
247
|
disabledHours: {
|
|
248
248
|
readonly type: vue.PropType<GetDisabledHours>;
|
|
@@ -403,7 +403,7 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
403
403
|
disabled: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
404
404
|
placeholder: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
405
405
|
popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
|
|
406
|
-
modelValue: EpPropFinalized<(new (...args: any[]) => string | number |
|
|
406
|
+
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>;
|
|
407
407
|
rangeSeparator: EpPropFinalized<StringConstructor, unknown, unknown, "-", boolean>;
|
|
408
408
|
startPlaceholder: StringConstructor;
|
|
409
409
|
endPlaceholder: StringConstructor;
|
|
@@ -423,18 +423,18 @@ declare const _default: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
423
423
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
424
424
|
}>, {
|
|
425
425
|
type: string;
|
|
426
|
-
modelValue: EpPropMergeType<(new (...args: any[]) => string | number |
|
|
426
|
+
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>;
|
|
427
|
+
placement: EpPropMergeType<(new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "bottom-start" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown>;
|
|
427
428
|
disabled: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
428
|
-
tabindex: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
|
|
429
|
-
validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
430
429
|
placeholder: string;
|
|
431
|
-
placement: EpPropMergeType<(new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "bottom-start" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "auto" | "left" | "right" | "bottom" | "top" | "bottom-start" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], Placement, unknown>;
|
|
432
|
-
popperOptions: Partial<Options>;
|
|
433
430
|
readonly: boolean;
|
|
434
431
|
clearable: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
435
432
|
clearIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
|
|
436
433
|
prefixIcon: EpPropMergeType<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown>;
|
|
434
|
+
tabindex: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
|
|
435
|
+
validateEvent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
437
436
|
fallbackPlacements: Placement[];
|
|
437
|
+
popperOptions: Partial<Options>;
|
|
438
438
|
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>;
|
|
439
439
|
automaticDropdown: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
440
440
|
editable: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -28,15 +28,15 @@ declare const __VLS_export: vue.DefineComponent<TimeSelectProps, {
|
|
|
28
28
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
29
29
|
onClear?: ((...args: any[]) => any) | undefined;
|
|
30
30
|
}>, {
|
|
31
|
-
disabled: boolean;
|
|
32
31
|
effect: PopperEffect;
|
|
33
32
|
popperClass: string;
|
|
34
|
-
end: string;
|
|
35
|
-
start: string;
|
|
36
33
|
popperStyle: string | vue.CSSProperties;
|
|
34
|
+
disabled: boolean;
|
|
37
35
|
clearable: boolean;
|
|
38
36
|
clearIcon: IconPropType;
|
|
39
37
|
prefixIcon: IconPropType;
|
|
38
|
+
end: string;
|
|
39
|
+
start: string;
|
|
40
40
|
valueOnClear: string | number | boolean | Function | null;
|
|
41
41
|
editable: boolean;
|
|
42
42
|
format: string;
|
|
@@ -51,7 +51,7 @@ declare const timelineItemProps: {
|
|
|
51
51
|
readonly timestamp: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
52
52
|
readonly hideTimestamp: BooleanConstructor;
|
|
53
53
|
readonly center: BooleanConstructor;
|
|
54
|
-
readonly placement: EpPropFinalized<StringConstructor, "
|
|
54
|
+
readonly placement: EpPropFinalized<StringConstructor, "top" | "bottom", unknown, "bottom", boolean>;
|
|
55
55
|
readonly type: EpPropFinalized<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown, "", boolean>;
|
|
56
56
|
readonly color: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
57
57
|
readonly size: EpPropFinalized<StringConstructor, "large" | "normal", unknown, "normal", boolean>;
|
|
@@ -10,8 +10,8 @@ type __VLS_Slots = {} & {
|
|
|
10
10
|
};
|
|
11
11
|
declare const __VLS_base: vue.DefineComponent<TimelineItemProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<TimelineItemProps> & Readonly<{}>, {
|
|
12
12
|
type: "primary" | "success" | "warning" | "danger" | "info" | "";
|
|
13
|
-
size: "normal" | "large";
|
|
14
13
|
placement: "top" | "bottom";
|
|
14
|
+
size: "normal" | "large";
|
|
15
15
|
color: string;
|
|
16
16
|
timestamp: string;
|
|
17
17
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
@@ -19,18 +19,15 @@ declare const __VLS_base: vue.DefineComponent<ElTooltipContentProps, {
|
|
|
19
19
|
*/
|
|
20
20
|
isFocusInsideContent: (event?: FocusEvent) => boolean | undefined;
|
|
21
21
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<ElTooltipContentProps> & Readonly<{}>, {
|
|
22
|
-
effect: PopperEffect;
|
|
23
|
-
enterable: boolean;
|
|
24
|
-
hideAfter: number;
|
|
25
22
|
offset: number;
|
|
23
|
+
teleported: boolean;
|
|
24
|
+
effect: PopperEffect;
|
|
26
25
|
placement: Placement;
|
|
27
|
-
|
|
28
|
-
showAfter: number;
|
|
26
|
+
popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
|
|
29
27
|
visible: boolean | null;
|
|
30
28
|
content: string;
|
|
31
29
|
style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
|
|
32
|
-
|
|
33
|
-
popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
|
|
30
|
+
enterable: boolean;
|
|
34
31
|
pure: boolean;
|
|
35
32
|
focusOnShow: boolean;
|
|
36
33
|
trapping: boolean;
|
|
@@ -39,8 +36,11 @@ declare const __VLS_base: vue.DefineComponent<ElTooltipContentProps, {
|
|
|
39
36
|
loop: boolean;
|
|
40
37
|
boundariesPadding: number;
|
|
41
38
|
gpuAcceleration: boolean;
|
|
39
|
+
popperOptions: Partial<Options>;
|
|
42
40
|
strategy: "fixed" | "absolute";
|
|
43
41
|
arrowOffset: number;
|
|
42
|
+
showAfter: number;
|
|
43
|
+
hideAfter: number;
|
|
44
44
|
autoClose: number;
|
|
45
45
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
46
46
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -89,9 +89,6 @@ var content_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
|
|
|
89
89
|
}, { detectIframe: true });
|
|
90
90
|
}
|
|
91
91
|
}, { flush: "post" });
|
|
92
|
-
watch(() => props.content, () => {
|
|
93
|
-
contentRef.value?.updatePopper?.();
|
|
94
|
-
});
|
|
95
92
|
__expose({
|
|
96
93
|
contentRef,
|
|
97
94
|
isFocusInsideContent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.vue_vue_type_script_setup_true_lang.mjs","names":["$attrs"],"sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n v-if=\"shouldRender || !ariaHidden\"\n :name=\"transitionClass\"\n :appear=\"!persistentRef\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-show=\"shouldShow\"\n :id=\"id\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-label=\"ariaLabel\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :arrow-offset=\"arrowOffset\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle!, contentStyle]\"\n :reference-el=\"referenceEl\"\n :trigger-target-el=\"triggerTargetEl\"\n :visible=\"shouldShow\"\n :z-index=\"zIndex\"\n :loop=\"loop\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n @blur=\"onBlur\"\n @close=\"onClose\"\n >\n <slot />\n </el-popper-content>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport { computedEager, onClickOutside } from '@vueuse/core'\nimport { useNamespace, usePopperContainerId } from '@element-plus/hooks'\nimport {\n castArray,\n composeEventHandlers,\n focusElement,\n} from '@element-plus/utils'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { isTriggerType } from './utils'\nimport { useTooltipContentPropsDefaults } from './content'\n\nimport type { ElTooltipContentProps } from './content'\nimport type { PopperContentInstance } from '@element-plus/components/popper'\n\ndefineOptions({\n name: 'ElTooltipContent',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(\n defineProps<ElTooltipContentProps>(),\n useTooltipContentPropsDefaults\n)\n\nconst { selector } = usePopperContainerId()\nconst ns = useNamespace('tooltip')\n\nconst contentRef = ref<PopperContentInstance>()\nconst popperContentRef = computedEager(() => contentRef.value?.popperContentRef)\nlet stopHandle: ReturnType<typeof onClickOutside>\nconst {\n controlled,\n id,\n open,\n trigger,\n onClose,\n onOpen,\n onShow,\n onHide,\n onBeforeShow,\n onBeforeHide,\n} = inject(TOOLTIP_INJECTION_KEY, undefined)!\nconst transitionClass = computed(() => {\n return props.transition || `${ns.namespace.value}-fade-in-linear`\n})\nconst persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n if (!process.env.RUN_TEST_WITH_PERSISTENT) {\n return true\n }\n }\n return props.persistent\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nconst shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n})\n\nconst shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n})\n\nconst appendTo = computed(() => {\n return props.appendTo || selector.value\n})\n\nconst contentStyle = computed(() => props.style ?? {})\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n onHide()\n isFocusInsideContent() && focusElement(document.body, { preventScroll: true })\n ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && isTriggerType(unref(trigger), 'hover')) {\n onOpen()\n }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (isTriggerType(unref(trigger), 'hover')) {\n onClose()\n }\n})\n\nconst onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n onBeforeShow?.()\n}\n\nconst onBeforeLeave = () => {\n onBeforeHide?.()\n}\n\nconst onAfterShow = () => {\n onShow()\n}\n\nconst onBlur = () => {\n if (!props.virtualTriggering) {\n onClose()\n }\n}\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n const popperContent: HTMLElement | undefined =\n contentRef.value?.popperContentRef\n const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n return popperContent?.contains(activeElement)\n}\n\nwatch(\n () => unref(open),\n (val) => {\n if (!val) {\n stopHandle?.()\n } else {\n ariaHidden.value = false\n stopHandle = onClickOutside(\n popperContentRef,\n () => {\n if (unref(controlled)) return\n const needClose = castArray(unref(trigger)).every((item) => {\n return item !== 'hover' && item !== 'focus'\n })\n if (needClose) {\n onClose()\n }\n },\n { detectIframe: true }\n )\n }\n },\n {\n flush: 'post',\n }\n)\n\
|
|
1
|
+
{"version":3,"file":"content.vue_vue_type_script_setup_true_lang.mjs","names":["$attrs"],"sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n v-if=\"shouldRender || !ariaHidden\"\n :name=\"transitionClass\"\n :appear=\"!persistentRef\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-show=\"shouldShow\"\n :id=\"id\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-label=\"ariaLabel\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :arrow-offset=\"arrowOffset\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle!, contentStyle]\"\n :reference-el=\"referenceEl\"\n :trigger-target-el=\"triggerTargetEl\"\n :visible=\"shouldShow\"\n :z-index=\"zIndex\"\n :loop=\"loop\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n @blur=\"onBlur\"\n @close=\"onClose\"\n >\n <slot />\n </el-popper-content>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport { computedEager, onClickOutside } from '@vueuse/core'\nimport { useNamespace, usePopperContainerId } from '@element-plus/hooks'\nimport {\n castArray,\n composeEventHandlers,\n focusElement,\n} from '@element-plus/utils'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { isTriggerType } from './utils'\nimport { useTooltipContentPropsDefaults } from './content'\n\nimport type { ElTooltipContentProps } from './content'\nimport type { PopperContentInstance } from '@element-plus/components/popper'\n\ndefineOptions({\n name: 'ElTooltipContent',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(\n defineProps<ElTooltipContentProps>(),\n useTooltipContentPropsDefaults\n)\n\nconst { selector } = usePopperContainerId()\nconst ns = useNamespace('tooltip')\n\nconst contentRef = ref<PopperContentInstance>()\nconst popperContentRef = computedEager(() => contentRef.value?.popperContentRef)\nlet stopHandle: ReturnType<typeof onClickOutside>\nconst {\n controlled,\n id,\n open,\n trigger,\n onClose,\n onOpen,\n onShow,\n onHide,\n onBeforeShow,\n onBeforeHide,\n} = inject(TOOLTIP_INJECTION_KEY, undefined)!\nconst transitionClass = computed(() => {\n return props.transition || `${ns.namespace.value}-fade-in-linear`\n})\nconst persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n if (!process.env.RUN_TEST_WITH_PERSISTENT) {\n return true\n }\n }\n return props.persistent\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nconst shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n})\n\nconst shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n})\n\nconst appendTo = computed(() => {\n return props.appendTo || selector.value\n})\n\nconst contentStyle = computed(() => props.style ?? {})\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n onHide()\n isFocusInsideContent() && focusElement(document.body, { preventScroll: true })\n ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && isTriggerType(unref(trigger), 'hover')) {\n onOpen()\n }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (isTriggerType(unref(trigger), 'hover')) {\n onClose()\n }\n})\n\nconst onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n onBeforeShow?.()\n}\n\nconst onBeforeLeave = () => {\n onBeforeHide?.()\n}\n\nconst onAfterShow = () => {\n onShow()\n}\n\nconst onBlur = () => {\n if (!props.virtualTriggering) {\n onClose()\n }\n}\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n const popperContent: HTMLElement | undefined =\n contentRef.value?.popperContentRef\n const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n return popperContent?.contains(activeElement)\n}\n\nwatch(\n () => unref(open),\n (val) => {\n if (!val) {\n stopHandle?.()\n } else {\n ariaHidden.value = false\n stopHandle = onClickOutside(\n popperContentRef,\n () => {\n if (unref(controlled)) return\n const needClose = castArray(unref(trigger)).every((item) => {\n return item !== 'hover' && item !== 'focus'\n })\n if (needClose) {\n onClose()\n }\n },\n { detectIframe: true }\n )\n }\n },\n {\n flush: 'post',\n }\n)\n\ndefineExpose({\n /**\n * @description el-popper-content component instance\n */\n contentRef,\n /**\n * @description validate current focus event is trigger inside el-popper-content\n */\n isFocusInsideContent,\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content2.mjs","names":[],"sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n v-if=\"shouldRender || !ariaHidden\"\n :name=\"transitionClass\"\n :appear=\"!persistentRef\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-show=\"shouldShow\"\n :id=\"id\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-label=\"ariaLabel\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :arrow-offset=\"arrowOffset\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle!, contentStyle]\"\n :reference-el=\"referenceEl\"\n :trigger-target-el=\"triggerTargetEl\"\n :visible=\"shouldShow\"\n :z-index=\"zIndex\"\n :loop=\"loop\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n @blur=\"onBlur\"\n @close=\"onClose\"\n >\n <slot />\n </el-popper-content>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport { computedEager, onClickOutside } from '@vueuse/core'\nimport { useNamespace, usePopperContainerId } from '@element-plus/hooks'\nimport {\n castArray,\n composeEventHandlers,\n focusElement,\n} from '@element-plus/utils'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { isTriggerType } from './utils'\nimport { useTooltipContentPropsDefaults } from './content'\n\nimport type { ElTooltipContentProps } from './content'\nimport type { PopperContentInstance } from '@element-plus/components/popper'\n\ndefineOptions({\n name: 'ElTooltipContent',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(\n defineProps<ElTooltipContentProps>(),\n useTooltipContentPropsDefaults\n)\n\nconst { selector } = usePopperContainerId()\nconst ns = useNamespace('tooltip')\n\nconst contentRef = ref<PopperContentInstance>()\nconst popperContentRef = computedEager(() => contentRef.value?.popperContentRef)\nlet stopHandle: ReturnType<typeof onClickOutside>\nconst {\n controlled,\n id,\n open,\n trigger,\n onClose,\n onOpen,\n onShow,\n onHide,\n onBeforeShow,\n onBeforeHide,\n} = inject(TOOLTIP_INJECTION_KEY, undefined)!\nconst transitionClass = computed(() => {\n return props.transition || `${ns.namespace.value}-fade-in-linear`\n})\nconst persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n if (!process.env.RUN_TEST_WITH_PERSISTENT) {\n return true\n }\n }\n return props.persistent\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nconst shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n})\n\nconst shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n})\n\nconst appendTo = computed(() => {\n return props.appendTo || selector.value\n})\n\nconst contentStyle = computed(() => props.style ?? {})\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n onHide()\n isFocusInsideContent() && focusElement(document.body, { preventScroll: true })\n ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && isTriggerType(unref(trigger), 'hover')) {\n onOpen()\n }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (isTriggerType(unref(trigger), 'hover')) {\n onClose()\n }\n})\n\nconst onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n onBeforeShow?.()\n}\n\nconst onBeforeLeave = () => {\n onBeforeHide?.()\n}\n\nconst onAfterShow = () => {\n onShow()\n}\n\nconst onBlur = () => {\n if (!props.virtualTriggering) {\n onClose()\n }\n}\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n const popperContent: HTMLElement | undefined =\n contentRef.value?.popperContentRef\n const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n return popperContent?.contains(activeElement)\n}\n\nwatch(\n () => unref(open),\n (val) => {\n if (!val) {\n stopHandle?.()\n } else {\n ariaHidden.value = false\n stopHandle = onClickOutside(\n popperContentRef,\n () => {\n if (unref(controlled)) return\n const needClose = castArray(unref(trigger)).every((item) => {\n return item !== 'hover' && item !== 'focus'\n })\n if (needClose) {\n onClose()\n }\n },\n { detectIframe: true }\n )\n }\n },\n {\n flush: 'post',\n }\n)\n\
|
|
1
|
+
{"version":3,"file":"content2.mjs","names":[],"sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n v-if=\"shouldRender || !ariaHidden\"\n :name=\"transitionClass\"\n :appear=\"!persistentRef\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-show=\"shouldShow\"\n :id=\"id\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-label=\"ariaLabel\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :arrow-offset=\"arrowOffset\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle!, contentStyle]\"\n :reference-el=\"referenceEl\"\n :trigger-target-el=\"triggerTargetEl\"\n :visible=\"shouldShow\"\n :z-index=\"zIndex\"\n :loop=\"loop\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n @blur=\"onBlur\"\n @close=\"onClose\"\n >\n <slot />\n </el-popper-content>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport { computedEager, onClickOutside } from '@vueuse/core'\nimport { useNamespace, usePopperContainerId } from '@element-plus/hooks'\nimport {\n castArray,\n composeEventHandlers,\n focusElement,\n} from '@element-plus/utils'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { isTriggerType } from './utils'\nimport { useTooltipContentPropsDefaults } from './content'\n\nimport type { ElTooltipContentProps } from './content'\nimport type { PopperContentInstance } from '@element-plus/components/popper'\n\ndefineOptions({\n name: 'ElTooltipContent',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(\n defineProps<ElTooltipContentProps>(),\n useTooltipContentPropsDefaults\n)\n\nconst { selector } = usePopperContainerId()\nconst ns = useNamespace('tooltip')\n\nconst contentRef = ref<PopperContentInstance>()\nconst popperContentRef = computedEager(() => contentRef.value?.popperContentRef)\nlet stopHandle: ReturnType<typeof onClickOutside>\nconst {\n controlled,\n id,\n open,\n trigger,\n onClose,\n onOpen,\n onShow,\n onHide,\n onBeforeShow,\n onBeforeHide,\n} = inject(TOOLTIP_INJECTION_KEY, undefined)!\nconst transitionClass = computed(() => {\n return props.transition || `${ns.namespace.value}-fade-in-linear`\n})\nconst persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n if (!process.env.RUN_TEST_WITH_PERSISTENT) {\n return true\n }\n }\n return props.persistent\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nconst shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n})\n\nconst shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n})\n\nconst appendTo = computed(() => {\n return props.appendTo || selector.value\n})\n\nconst contentStyle = computed(() => props.style ?? {})\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n onHide()\n isFocusInsideContent() && focusElement(document.body, { preventScroll: true })\n ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && isTriggerType(unref(trigger), 'hover')) {\n onOpen()\n }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (isTriggerType(unref(trigger), 'hover')) {\n onClose()\n }\n})\n\nconst onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n onBeforeShow?.()\n}\n\nconst onBeforeLeave = () => {\n onBeforeHide?.()\n}\n\nconst onAfterShow = () => {\n onShow()\n}\n\nconst onBlur = () => {\n if (!props.virtualTriggering) {\n onClose()\n }\n}\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n const popperContent: HTMLElement | undefined =\n contentRef.value?.popperContentRef\n const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n return popperContent?.contains(activeElement)\n}\n\nwatch(\n () => unref(open),\n (val) => {\n if (!val) {\n stopHandle?.()\n } else {\n ariaHidden.value = false\n stopHandle = onClickOutside(\n popperContentRef,\n () => {\n if (unref(controlled)) return\n const needClose = castArray(unref(trigger)).every((item) => {\n return item !== 'hover' && item !== 'focus'\n })\n if (needClose) {\n onClose()\n }\n },\n { detectIframe: true }\n )\n }\n },\n {\n flush: 'post',\n }\n)\n\ndefineExpose({\n /**\n * @description el-popper-content component instance\n */\n contentRef,\n /**\n * @description validate current focus event is trigger inside el-popper-content\n */\n isFocusInsideContent,\n})\n</script>\n"],"mappings":""}
|
|
@@ -360,7 +360,7 @@ declare const useTooltipProps: {
|
|
|
360
360
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
361
361
|
__epPropKey: true;
|
|
362
362
|
};
|
|
363
|
-
role: EpPropFinalized<StringConstructor, "
|
|
363
|
+
role: EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree", unknown, "tooltip", boolean>;
|
|
364
364
|
};
|
|
365
365
|
declare const tooltipEmits: readonly [..."update:visible"[], "before-show", "before-hide", "show", "hide", "open", "close"];
|
|
366
366
|
/**
|
|
@@ -60,19 +60,15 @@ declare const __VLS_base: vue.DefineComponent<UseTooltipProps, {
|
|
|
60
60
|
"onBefore-show"?: ((...args: any[]) => any) | undefined;
|
|
61
61
|
"onBefore-hide"?: ((...args: any[]) => any) | undefined;
|
|
62
62
|
}>, {
|
|
63
|
-
effect: PopperEffect;
|
|
64
|
-
enterable: boolean;
|
|
65
|
-
hideAfter: number;
|
|
66
63
|
offset: number;
|
|
64
|
+
teleported: boolean;
|
|
65
|
+
effect: PopperEffect;
|
|
67
66
|
placement: Placement;
|
|
68
|
-
|
|
69
|
-
showAfter: number;
|
|
70
|
-
showArrow: boolean;
|
|
67
|
+
popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
|
|
71
68
|
visible: boolean | null;
|
|
72
69
|
content: string;
|
|
73
70
|
style: string | false | vue.CSSProperties | vue.StyleValue[] | null;
|
|
74
|
-
|
|
75
|
-
popperStyle: string | false | vue.CSSProperties | vue.StyleValue[] | null;
|
|
71
|
+
enterable: boolean;
|
|
76
72
|
pure: boolean;
|
|
77
73
|
focusOnShow: boolean;
|
|
78
74
|
trapping: boolean;
|
|
@@ -81,9 +77,13 @@ declare const __VLS_base: vue.DefineComponent<UseTooltipProps, {
|
|
|
81
77
|
loop: boolean;
|
|
82
78
|
boundariesPadding: number;
|
|
83
79
|
gpuAcceleration: boolean;
|
|
80
|
+
popperOptions: Partial<Options>;
|
|
84
81
|
strategy: "fixed" | "absolute";
|
|
85
82
|
arrowOffset: number;
|
|
83
|
+
showArrow: boolean;
|
|
86
84
|
role: typeof roleTypes[number];
|
|
85
|
+
showAfter: number;
|
|
86
|
+
hideAfter: number;
|
|
87
87
|
autoClose: number;
|
|
88
88
|
trigger: Arrayable<TooltipTriggerType>;
|
|
89
89
|
triggerKeys: string[];
|
|
@@ -36,7 +36,7 @@ interface TourContentProps {
|
|
|
36
36
|
* @deprecated Removed after 3.0.0, Use `TourContentProps` instead.
|
|
37
37
|
*/
|
|
38
38
|
declare const tourContentProps: {
|
|
39
|
-
placement: EpPropFinalized<(new (...args: any[]) => "
|
|
39
|
+
placement: EpPropFinalized<(new (...args: any[]) => "top" | "bottom" | "bottom-start" | "left" | "right" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "bottom" | "bottom-start" | "left" | "right" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], "top" | "bottom" | "bottom-start" | "left" | "right" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end", unknown, string, boolean>;
|
|
40
40
|
reference: EpPropFinalized<(new (...args: any[]) => HTMLElement | VirtualElement) | (() => HTMLElement | VirtualElement | null) | (((new (...args: any[]) => HTMLElement | VirtualElement) | (() => HTMLElement | VirtualElement | null)) | null)[], unknown, unknown, null, boolean>;
|
|
41
41
|
strategy: EpPropFinalized<(new (...args: any[]) => "fixed" | "absolute") | (() => Strategy) | (((new (...args: any[]) => "fixed" | "absolute") | (() => Strategy)) | null)[], "fixed" | "absolute", unknown, string, boolean>;
|
|
42
42
|
offset: EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|