element-plus 2.3.14 → 2.4.1
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.css +1 -1
- package/dist/index.full.js +1631 -1090
- package/dist/index.full.min.js +17 -17
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +17 -17
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1630 -1091
- 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.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/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/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/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/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/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/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-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/component.mjs +3 -1
- package/es/component.mjs.map +1 -1
- package/es/components/autocomplete/index.d.ts +28 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +28 -1
- package/es/components/carousel/index.d.ts +5 -0
- package/es/components/carousel/src/carousel.vue.d.ts +5 -0
- package/es/components/carousel/src/carousel2.mjs +7 -2
- package/es/components/carousel/src/carousel2.mjs.map +1 -1
- package/es/components/carousel/src/use-carousel.d.ts +6 -0
- package/es/components/carousel/src/use-carousel.mjs +41 -6
- package/es/components/carousel/src/use-carousel.mjs.map +1 -1
- package/es/components/cascader/index.d.ts +150 -6
- package/es/components/cascader/src/cascader.vue.d.ts +75 -3
- package/es/components/checkbox/index.d.ts +12 -0
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -0
- package/es/components/checkbox/src/checkbox.d.ts +1 -0
- package/es/components/checkbox/src/checkbox.mjs +2 -1
- package/es/components/checkbox/src/checkbox.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.vue.d.ts +4 -0
- package/es/components/checkbox/src/checkbox2.mjs +8 -12
- package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
- package/es/components/checkbox/src/composables/use-checkbox-status.mjs +2 -2
- package/es/components/checkbox/src/composables/use-checkbox-status.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item2.mjs +1 -0
- package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
- package/es/components/color-picker/index.d.ts +19 -2
- package/es/components/color-picker/src/color-picker.d.ts +2 -0
- package/es/components/color-picker/src/color-picker.mjs +3 -1
- package/es/components/color-picker/src/color-picker.mjs.map +1 -1
- package/es/components/color-picker/src/color-picker.vue.d.ts +19 -2
- package/es/components/color-picker/src/color-picker2.mjs +84 -12
- package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
- package/es/components/date-picker/index.d.ts +8 -0
- package/es/components/date-picker/src/date-picker-com/basic-cell-render.mjs +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-cell-render.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +269 -11
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +269 -11
- package/es/components/date-picker/src/date-picker.d.ts +4 -0
- package/es/components/date-picker/src/panel-utils.d.ts +538 -22
- package/es/components/date-picker/src/props/date-picker.d.ts +2 -0
- package/es/components/date-picker/src/props/panel-date-pick.d.ts +2 -0
- package/es/components/date-picker/src/props/panel-date-range.d.ts +2 -0
- package/es/components/date-picker/src/props/shared.d.ts +2 -0
- package/es/components/date-picker/src/props/shared.mjs +3 -1
- package/es/components/date-picker/src/props/shared.mjs.map +1 -1
- package/es/components/descriptions/index.d.ts +48 -140
- package/es/components/descriptions/index.mjs +3 -3
- package/es/components/descriptions/index.mjs.map +1 -1
- package/es/components/descriptions/src/description-item.d.ts +39 -69
- package/es/components/descriptions/src/description-item.mjs +39 -36
- package/es/components/descriptions/src/description-item.mjs.map +1 -1
- package/es/components/descriptions/src/description.mjs.map +1 -1
- package/es/components/descriptions/src/description.vue.d.ts +16 -10
- package/es/components/descriptions/src/description2.mjs +9 -8
- package/es/components/descriptions/src/description2.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-cell.d.ts +9 -3
- package/es/components/descriptions/src/descriptions-cell.mjs +16 -11
- package/es/components/descriptions/src/descriptions-cell.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-row.d.ts +2 -1
- package/es/components/descriptions/src/descriptions-row.mjs +2 -2
- package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-row.vue.d.ts +10 -6
- package/es/components/descriptions/src/descriptions-row2.mjs +6 -6
- package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
- package/es/components/form/src/form-item2.mjs +1 -1
- package/es/components/form/src/form-item2.mjs.map +1 -1
- package/es/components/image/index.d.ts +16 -0
- package/es/components/image/src/image.d.ts +2 -0
- package/es/components/image/src/image.mjs +8 -0
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image.vue.d.ts +16 -0
- package/es/components/image/src/image2.mjs +3 -1
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/image-viewer/index.d.ts +8 -0
- package/es/components/image-viewer/src/image-viewer.d.ts +2 -0
- package/es/components/image-viewer/src/image-viewer.mjs +8 -0
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +8 -0
- package/es/components/image-viewer/src/image-viewer2.mjs +3 -2
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.d.ts +1 -0
- package/es/components/index.mjs +2 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/menu/index.d.ts +1 -0
- package/es/components/menu/index.mjs +1 -0
- package/es/components/menu/index.mjs.map +1 -1
- package/es/components/menu/src/instance.d.ts +12 -0
- package/es/components/menu/src/instance.mjs +2 -0
- package/es/components/menu/src/instance.mjs.map +1 -0
- package/es/components/menu/src/sub-menu.mjs +0 -22
- package/es/components/menu/src/sub-menu.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.vue.d.ts +4 -0
- package/es/components/popper/src/composables/use-content-dom.mjs +4 -2
- package/es/components/popper/src/composables/use-content-dom.mjs.map +1 -1
- package/es/components/scrollbar/index.d.ts +28 -1
- package/es/components/scrollbar/src/scrollbar.d.ts +9 -0
- package/es/components/scrollbar/src/scrollbar.mjs +7 -0
- package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +28 -1
- package/es/components/scrollbar/src/scrollbar2.mjs +12 -8
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/select/index.d.ts +4 -0
- package/es/components/select/src/option.mjs +9 -1
- package/es/components/select/src/option.mjs.map +1 -1
- package/es/components/select/src/option.vue.d.ts +1 -0
- package/es/components/select/src/select.mjs +251 -228
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select.vue.d.ts +98 -98
- package/es/components/select/src/useOption.mjs +6 -7
- package/es/components/select/src/useOption.mjs.map +1 -1
- package/es/components/select/src/useSelect.d.ts +1 -0
- package/es/components/select/src/useSelect.mjs +4 -2
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/index.d.ts +2 -2
- package/es/components/select-v2/src/select-dropdown.mjs +4 -7
- package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
- package/es/components/select-v2/src/select.vue.d.ts +1 -1
- package/es/components/select-v2/src/useSelect.d.ts +1 -1
- package/es/components/select-v2/src/useSelect.mjs +16 -15
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- package/es/components/switch/index.d.ts +4 -0
- package/es/components/switch/src/switch.d.ts +1 -0
- package/es/components/switch/src/switch.mjs +4 -0
- package/es/components/switch/src/switch.mjs.map +1 -1
- package/es/components/switch/src/switch.vue.d.ts +4 -0
- package/es/components/switch/src/switch2.mjs +2 -1
- package/es/components/switch/src/switch2.mjs.map +1 -1
- package/es/components/table/src/table-footer/index.mjs +15 -33
- package/es/components/table/src/table-footer/index.mjs.map +1 -1
- package/es/components/table/src/table-header/index.mjs.map +1 -1
- package/es/components/table/src/table.mjs +33 -12
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/tabs/src/tab-nav.d.ts +4 -1
- package/es/components/tabs/src/tab-nav.mjs.map +1 -1
- package/es/components/tabs/src/tabs.d.ts +16 -29
- package/es/components/tabs/src/tabs.mjs +10 -10
- package/es/components/tabs/src/tabs.mjs.map +1 -1
- package/es/components/text/index.d.ts +18 -0
- package/es/components/text/src/text.d.ts +6 -2
- package/es/components/text/src/text.mjs +3 -0
- package/es/components/text/src/text.mjs.map +1 -1
- package/es/components/text/src/text.vue.d.ts +32 -14
- package/es/components/text/src/text2.mjs +8 -4
- package/es/components/text/src/text2.mjs.map +1 -1
- package/es/components/time-picker/index.d.ts +8 -0
- package/es/components/time-picker/src/common/picker.mjs +2 -0
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +6 -0
- package/es/components/time-picker/src/common/props.d.ts +29 -18
- package/es/components/time-picker/src/common/props.mjs +2 -0
- package/es/components/time-picker/src/common/props.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +216 -9
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +263 -11
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +263 -11
- package/es/components/time-picker/src/time-picker.d.ts +4 -0
- package/es/components/time-select/index.d.ts +16 -0
- package/es/components/time-select/src/time-select.vue.d.ts +17 -3
- package/es/components/time-select/src/time-select2.mjs +3 -1
- package/es/components/time-select/src/time-select2.mjs.map +1 -1
- package/es/components/transfer/index.d.ts +40 -0
- package/es/components/transfer/src/transfer-panel.vue.d.ts +8 -0
- package/es/components/transfer/src/transfer.vue.d.ts +40 -0
- package/es/components/tree-select/src/tree-select-option.d.ts +6 -0
- package/es/components/tree-v2/index.d.ts +8 -0
- package/es/components/tree-v2/src/tree-node.vue.d.ts +8 -0
- package/es/components/tree-v2/src/tree.vue.d.ts +8 -0
- package/es/components/upload/index.d.ts +18 -16
- package/es/components/upload/src/upload-content.d.ts +0 -1
- package/es/components/upload/src/upload-content.vue.d.ts +0 -4
- package/es/components/upload/src/upload-list.vue.d.ts +17 -0
- package/es/components/upload/src/upload-list2.mjs +8 -6
- package/es/components/upload/src/upload-list2.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +9 -5
- package/es/components/upload/src/upload.mjs +0 -4
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/upload.vue.d.ts +18 -16
- package/es/components/watermark/index.d.ts +94 -0
- package/es/components/watermark/index.mjs +9 -0
- package/es/components/watermark/index.mjs.map +1 -0
- package/es/components/watermark/src/useClips.d.ts +7 -0
- package/es/components/watermark/src/useClips.mjs +82 -0
- package/es/components/watermark/src/useClips.mjs.map +1 -0
- package/es/components/watermark/src/utils.d.ts +8 -0
- package/es/components/watermark/src/utils.mjs +22 -0
- package/es/components/watermark/src/utils.mjs.map +1 -0
- package/es/components/watermark/src/watermark.d.ts +32 -0
- package/es/components/watermark/src/watermark.mjs +33 -0
- package/es/components/watermark/src/watermark.mjs.map +1 -0
- package/es/components/watermark/src/watermark.vue.d.ts +94 -0
- package/es/components/watermark/src/watermark2.mjs +202 -0
- package/es/components/watermark/src/watermark2.mjs.map +1 -0
- package/es/components/watermark/style/css.d.ts +0 -0
- package/es/components/watermark/style/css.mjs +2 -0
- package/es/components/watermark/style/css.mjs.map +1 -0
- package/es/components/watermark/style/index.d.ts +0 -0
- package/es/components/watermark/style/index.mjs +2 -0
- package/es/components/watermark/style/index.mjs.map +1 -0
- package/es/hooks/use-focus-controller/index.d.ts +6 -1
- package/es/hooks/use-focus-controller/index.mjs +5 -2
- package/es/hooks/use-focus-controller/index.mjs.map +1 -1
- package/es/index.mjs +2 -0
- package/es/index.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/global.d.ts +1 -0
- package/lib/component.js +3 -1
- package/lib/component.js.map +1 -1
- package/lib/components/autocomplete/index.d.ts +28 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +28 -1
- package/lib/components/carousel/index.d.ts +5 -0
- package/lib/components/carousel/src/carousel.vue.d.ts +5 -0
- package/lib/components/carousel/src/carousel2.js +7 -2
- package/lib/components/carousel/src/carousel2.js.map +1 -1
- package/lib/components/carousel/src/use-carousel.d.ts +6 -0
- package/lib/components/carousel/src/use-carousel.js +40 -5
- package/lib/components/carousel/src/use-carousel.js.map +1 -1
- package/lib/components/cascader/index.d.ts +150 -6
- package/lib/components/cascader/src/cascader.vue.d.ts +75 -3
- package/lib/components/checkbox/index.d.ts +12 -0
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -0
- package/lib/components/checkbox/src/checkbox.d.ts +1 -0
- package/lib/components/checkbox/src/checkbox.js +2 -1
- package/lib/components/checkbox/src/checkbox.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -0
- package/lib/components/checkbox/src/checkbox2.js +8 -12
- package/lib/components/checkbox/src/checkbox2.js.map +1 -1
- package/lib/components/checkbox/src/composables/use-checkbox-status.js +1 -1
- package/lib/components/checkbox/src/composables/use-checkbox-status.js.map +1 -1
- package/lib/components/collapse/src/collapse-item2.js +1 -0
- package/lib/components/collapse/src/collapse-item2.js.map +1 -1
- package/lib/components/color-picker/index.d.ts +19 -2
- package/lib/components/color-picker/src/color-picker.d.ts +2 -0
- package/lib/components/color-picker/src/color-picker.js +3 -1
- package/lib/components/color-picker/src/color-picker.js.map +1 -1
- package/lib/components/color-picker/src/color-picker.vue.d.ts +19 -2
- package/lib/components/color-picker/src/color-picker2.js +94 -22
- package/lib/components/color-picker/src/color-picker2.js.map +1 -1
- package/lib/components/date-picker/index.d.ts +8 -0
- package/lib/components/date-picker/src/date-picker-com/basic-cell-render.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-cell-render.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +2 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +269 -11
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js +2 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +269 -11
- package/lib/components/date-picker/src/date-picker.d.ts +4 -0
- package/lib/components/date-picker/src/panel-utils.d.ts +538 -22
- package/lib/components/date-picker/src/props/date-picker.d.ts +2 -0
- package/lib/components/date-picker/src/props/panel-date-pick.d.ts +2 -0
- package/lib/components/date-picker/src/props/panel-date-range.d.ts +2 -0
- package/lib/components/date-picker/src/props/shared.d.ts +2 -0
- package/lib/components/date-picker/src/props/shared.js +3 -1
- package/lib/components/date-picker/src/props/shared.js.map +1 -1
- package/lib/components/descriptions/index.d.ts +48 -140
- package/lib/components/descriptions/src/description-item.d.ts +39 -69
- package/lib/components/descriptions/src/description-item.js +39 -36
- package/lib/components/descriptions/src/description-item.js.map +1 -1
- package/lib/components/descriptions/src/description.js.map +1 -1
- package/lib/components/descriptions/src/description.vue.d.ts +16 -10
- package/lib/components/descriptions/src/description2.js +9 -8
- package/lib/components/descriptions/src/description2.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-cell.d.ts +9 -3
- package/lib/components/descriptions/src/descriptions-cell.js +15 -10
- package/lib/components/descriptions/src/descriptions-cell.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-row.d.ts +2 -1
- package/lib/components/descriptions/src/descriptions-row.js +1 -1
- package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-row.vue.d.ts +10 -6
- package/lib/components/descriptions/src/descriptions-row2.js +6 -6
- package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
- package/lib/components/form/src/form-item2.js +1 -1
- package/lib/components/form/src/form-item2.js.map +1 -1
- package/lib/components/image/index.d.ts +16 -0
- package/lib/components/image/src/image.d.ts +2 -0
- package/lib/components/image/src/image.js +8 -0
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image.vue.d.ts +16 -0
- package/lib/components/image/src/image2.js +3 -1
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/image-viewer/index.d.ts +8 -0
- package/lib/components/image-viewer/src/image-viewer.d.ts +2 -0
- package/lib/components/image-viewer/src/image-viewer.js +8 -0
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +8 -0
- package/lib/components/image-viewer/src/image-viewer2.js +3 -2
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +17 -13
- package/lib/components/index.js.map +1 -1
- package/lib/components/menu/index.d.ts +1 -0
- package/lib/components/menu/index.js +1 -0
- package/lib/components/menu/index.js.map +1 -1
- package/lib/components/menu/src/instance.d.ts +12 -0
- package/lib/components/menu/src/instance.js +3 -0
- package/lib/components/menu/src/instance.js.map +1 -0
- package/lib/components/menu/src/sub-menu.js +0 -22
- package/lib/components/menu/src/sub-menu.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.vue.d.ts +4 -0
- package/lib/components/popper/src/composables/use-content-dom.js +4 -2
- package/lib/components/popper/src/composables/use-content-dom.js.map +1 -1
- package/lib/components/scrollbar/index.d.ts +28 -1
- package/lib/components/scrollbar/src/scrollbar.d.ts +9 -0
- package/lib/components/scrollbar/src/scrollbar.js +7 -0
- package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +28 -1
- package/lib/components/scrollbar/src/scrollbar2.js +12 -8
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/select/index.d.ts +4 -0
- package/lib/components/select/src/option.js +9 -1
- package/lib/components/select/src/option.js.map +1 -1
- package/lib/components/select/src/option.vue.d.ts +1 -0
- package/lib/components/select/src/select.js +251 -228
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select.vue.d.ts +98 -98
- package/lib/components/select/src/useOption.js +3 -4
- package/lib/components/select/src/useOption.js.map +1 -1
- package/lib/components/select/src/useSelect.d.ts +1 -0
- package/lib/components/select/src/useSelect.js +4 -2
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/index.d.ts +2 -2
- package/lib/components/select-v2/src/select-dropdown.js +3 -6
- package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
- package/lib/components/select-v2/src/select.vue.d.ts +1 -1
- package/lib/components/select-v2/src/useSelect.d.ts +1 -1
- package/lib/components/select-v2/src/useSelect.js +16 -15
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- package/lib/components/switch/index.d.ts +4 -0
- package/lib/components/switch/src/switch.d.ts +1 -0
- package/lib/components/switch/src/switch.js +4 -0
- package/lib/components/switch/src/switch.js.map +1 -1
- package/lib/components/switch/src/switch.vue.d.ts +4 -0
- package/lib/components/switch/src/switch2.js +2 -1
- package/lib/components/switch/src/switch2.js.map +1 -1
- package/lib/components/table/src/table-footer/index.js +15 -33
- package/lib/components/table/src/table-footer/index.js.map +1 -1
- package/lib/components/table/src/table-header/index.js.map +1 -1
- package/lib/components/table/src/table.js +33 -12
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/tabs/src/tab-nav.d.ts +4 -1
- package/lib/components/tabs/src/tab-nav.js.map +1 -1
- package/lib/components/tabs/src/tabs.d.ts +16 -29
- package/lib/components/tabs/src/tabs.js +10 -10
- package/lib/components/tabs/src/tabs.js.map +1 -1
- package/lib/components/text/index.d.ts +18 -0
- package/lib/components/text/src/text.d.ts +6 -2
- package/lib/components/text/src/text.js +3 -0
- package/lib/components/text/src/text.js.map +1 -1
- package/lib/components/text/src/text.vue.d.ts +32 -14
- package/lib/components/text/src/text2.js +7 -3
- package/lib/components/text/src/text2.js.map +1 -1
- package/lib/components/time-picker/index.d.ts +8 -0
- package/lib/components/time-picker/src/common/picker.js +2 -0
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +6 -0
- package/lib/components/time-picker/src/common/props.d.ts +29 -18
- package/lib/components/time-picker/src/common/props.js +2 -0
- package/lib/components/time-picker/src/common/props.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +216 -9
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +263 -11
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +263 -11
- package/lib/components/time-picker/src/time-picker.d.ts +4 -0
- package/lib/components/time-select/index.d.ts +16 -0
- package/lib/components/time-select/src/time-select.vue.d.ts +17 -3
- package/lib/components/time-select/src/time-select2.js +5 -3
- package/lib/components/time-select/src/time-select2.js.map +1 -1
- package/lib/components/transfer/index.d.ts +40 -0
- package/lib/components/transfer/src/transfer-panel.vue.d.ts +8 -0
- package/lib/components/transfer/src/transfer.vue.d.ts +40 -0
- package/lib/components/tree-select/src/tree-select-option.d.ts +6 -0
- package/lib/components/tree-v2/index.d.ts +8 -0
- package/lib/components/tree-v2/src/tree-node.vue.d.ts +8 -0
- package/lib/components/tree-v2/src/tree.vue.d.ts +8 -0
- package/lib/components/upload/index.d.ts +18 -16
- package/lib/components/upload/src/upload-content.d.ts +0 -1
- package/lib/components/upload/src/upload-content.vue.d.ts +0 -4
- package/lib/components/upload/src/upload-list.vue.d.ts +17 -0
- package/lib/components/upload/src/upload-list2.js +7 -5
- package/lib/components/upload/src/upload-list2.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +9 -5
- package/lib/components/upload/src/upload.js +0 -4
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +18 -16
- package/lib/components/watermark/index.d.ts +94 -0
- package/lib/components/watermark/index.js +15 -0
- package/lib/components/watermark/index.js.map +1 -0
- package/lib/components/watermark/src/useClips.d.ts +7 -0
- package/lib/components/watermark/src/useClips.js +87 -0
- package/lib/components/watermark/src/useClips.js.map +1 -0
- package/lib/components/watermark/src/utils.d.ts +8 -0
- package/lib/components/watermark/src/utils.js +29 -0
- package/lib/components/watermark/src/utils.js.map +1 -0
- package/lib/components/watermark/src/watermark.d.ts +32 -0
- package/lib/components/watermark/src/watermark.js +37 -0
- package/lib/components/watermark/src/watermark.js.map +1 -0
- package/lib/components/watermark/src/watermark.vue.d.ts +94 -0
- package/lib/components/watermark/src/watermark2.js +206 -0
- package/lib/components/watermark/src/watermark2.js.map +1 -0
- package/lib/components/watermark/style/css.d.ts +0 -0
- package/lib/components/watermark/style/css.js +3 -0
- package/lib/components/watermark/style/css.js.map +1 -0
- package/lib/components/watermark/style/index.d.ts +0 -0
- package/lib/components/watermark/style/index.js +3 -0
- package/lib/components/watermark/style/index.js.map +1 -0
- package/lib/hooks/use-focus-controller/index.d.ts +6 -1
- package/lib/hooks/use-focus-controller/index.js +5 -2
- package/lib/hooks/use-focus-controller/index.js.map +1 -1
- package/lib/index.js +108 -104
- package/lib/index.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +5 -2
- package/tags.json +1 -1
- package/theme-chalk/el-button.css +1 -1
- package/theme-chalk/el-color-picker.css +1 -1
- package/theme-chalk/el-menu.css +1 -1
- package/theme-chalk/el-message-box.css +1 -1
- package/theme-chalk/el-table-v2.css +1 -1
- package/theme-chalk/el-table.css +1 -1
- package/theme-chalk/el-text.css +1 -1
- package/theme-chalk/el-upload.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/button.scss +1 -0
- package/theme-chalk/src/color-picker.scss +8 -2
- package/theme-chalk/src/common/var.scss +3 -1
- package/theme-chalk/src/menu.scss +14 -4
- package/theme-chalk/src/message-box.scss +0 -12
- package/theme-chalk/src/table.scss +38 -15
- package/theme-chalk/src/text.scss +6 -0
- package/theme-chalk/src/upload.scss +1 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../packages/components/table/src/table-header/index.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n defineComponent,\n getCurrentInstance,\n h,\n inject,\n nextTick,\n onMounted,\n ref,\n} from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { useNamespace } from '@element-plus/hooks'\nimport FilterPanel from '../filter-panel.vue'\nimport useLayoutObserver from '../layout-observer'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport useEvent from './event-helper'\nimport useStyle from './style.helper'\nimport useUtils from './utils-helper'\nimport type { ComponentInternalInstance, PropType, Ref } from 'vue'\nimport type { DefaultRow, Sort } from '../table/defaults'\nimport type { Store } from '../store'\nexport interface TableHeader extends ComponentInternalInstance {\n state: {\n onColumnsChange\n onScrollableChange\n }\n filterPanels: Ref<unknown>\n}\nexport interface TableHeaderProps<T> {\n fixed: string\n store: Store<T>\n border: boolean\n defaultSort: Sort\n}\n\nexport default defineComponent({\n name: 'ElTableHeader',\n components: {\n ElCheckbox,\n },\n props: {\n fixed: {\n type: String,\n default: '',\n },\n store: {\n required: true,\n type: Object as PropType<TableHeaderProps<DefaultRow>['store']>,\n },\n border: Boolean,\n defaultSort: {\n type: Object as PropType<TableHeaderProps<DefaultRow>['defaultSort']>,\n default: () => {\n return {\n prop: '',\n order: '',\n }\n },\n },\n },\n setup(props, { emit }) {\n const instance = getCurrentInstance() as TableHeader\n const parent = inject(TABLE_INJECTION_KEY)\n const ns = useNamespace('table')\n const filterPanels = ref({})\n const { onColumnsChange, onScrollableChange } = useLayoutObserver(parent!)\n onMounted(async () => {\n // Need double await, because udpateColumns is executed after nextTick for now\n await nextTick()\n await nextTick()\n const { prop, order } = props.defaultSort\n parent?.store.commit('sort', { prop, order, init: true })\n })\n const {\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseOut,\n handleSortClick,\n handleFilterClick,\n } = useEvent(props as TableHeaderProps<unknown>, emit)\n const {\n getHeaderRowStyle,\n getHeaderRowClass,\n getHeaderCellStyle,\n getHeaderCellClass,\n } = useStyle(props as TableHeaderProps<unknown>)\n const { isGroup, toggleAllSelection, columnRows } = useUtils(\n props as TableHeaderProps<unknown>\n )\n\n instance.state = {\n onColumnsChange,\n onScrollableChange,\n }\n instance.filterPanels = filterPanels\n\n return {\n ns,\n filterPanels,\n onColumnsChange,\n onScrollableChange,\n columnRows,\n getHeaderRowClass,\n getHeaderRowStyle,\n getHeaderCellClass,\n getHeaderCellStyle,\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseOut,\n handleSortClick,\n handleFilterClick,\n isGroup,\n toggleAllSelection,\n }\n },\n render() {\n const {\n ns,\n isGroup,\n columnRows,\n getHeaderCellStyle,\n getHeaderCellClass,\n getHeaderRowClass,\n getHeaderRowStyle,\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleSortClick,\n handleMouseOut,\n store,\n $parent,\n } = this\n let rowSpan = 1\n return h(\n 'thead',\n {\n class: { [ns.is('group')]: isGroup },\n },\n columnRows.map((subColumns, rowIndex) =>\n h(\n 'tr',\n {\n class: getHeaderRowClass(rowIndex),\n key: rowIndex,\n style: getHeaderRowStyle(rowIndex),\n },\n subColumns.map((column, cellIndex) => {\n if (column.rowSpan > rowSpan) {\n rowSpan = column.rowSpan\n }\n return h(\n 'th',\n {\n class: getHeaderCellClass(\n rowIndex,\n cellIndex,\n subColumns,\n column\n ),\n colspan: column.colSpan,\n key: `${column.id}-thead`,\n rowspan: column.rowSpan,\n style: getHeaderCellStyle(\n rowIndex,\n cellIndex,\n subColumns,\n column\n ),\n onClick: ($event) => handleHeaderClick($event, column),\n onContextmenu: ($event) =>\n handleHeaderContextMenu($event, column),\n onMousedown: ($event) => handleMouseDown($event, column),\n onMousemove: ($event) => handleMouseMove($event, column),\n onMouseout: handleMouseOut,\n },\n [\n h(\n 'div',\n {\n class: [\n 'cell',\n column.filteredValue && column.filteredValue.length > 0\n ? 'highlight'\n : '',\n ],\n },\n [\n column.renderHeader\n ? column.renderHeader({\n column,\n $index: cellIndex,\n store,\n _self: $parent,\n })\n : column.label,\n column.sortable &&\n h(\n 'span',\n {\n onClick: ($event) => handleSortClick($event, column),\n class: 'caret-wrapper',\n },\n [\n h('i', {\n onClick: ($event) =>\n handleSortClick($event, column, 'ascending'),\n class: 'sort-caret ascending',\n }),\n h('i', {\n onClick: ($event) =>\n handleSortClick($event, column, 'descending'),\n class: 'sort-caret descending',\n }),\n ]\n ),\n column.filterable &&\n h(FilterPanel, {\n store,\n placement: column.filterPlacement || 'bottom-start',\n column,\n upDataColumn: (key, value) => {\n column[key] = value\n },\n }),\n ]\n ),\n ]\n )\n })\n )\n )\n )\n },\n})\n"],"names":["defineComponent","ElCheckbox","getCurrentInstance","inject","TABLE_INJECTION_KEY","useNamespace","ref","useLayoutObserver","onMounted","nextTick","useEvent","useStyle","useUtils","h","FilterPanel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../packages/components/table/src/table-header/index.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n defineComponent,\n getCurrentInstance,\n h,\n inject,\n nextTick,\n onMounted,\n ref,\n} from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { useNamespace } from '@element-plus/hooks'\nimport FilterPanel from '../filter-panel.vue'\nimport useLayoutObserver from '../layout-observer'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport useEvent from './event-helper'\nimport useStyle from './style.helper'\nimport useUtils from './utils-helper'\nimport type { ComponentInternalInstance, PropType, Ref } from 'vue'\nimport type { DefaultRow, Sort } from '../table/defaults'\nimport type { Store } from '../store'\nexport interface TableHeader extends ComponentInternalInstance {\n state: {\n onColumnsChange\n onScrollableChange\n }\n filterPanels: Ref<unknown>\n}\nexport interface TableHeaderProps<T> {\n fixed: string\n store: Store<T>\n border: boolean\n defaultSort: Sort\n}\n\nexport default defineComponent({\n name: 'ElTableHeader',\n components: {\n ElCheckbox,\n },\n props: {\n fixed: {\n type: String,\n default: '',\n },\n store: {\n required: true,\n type: Object as PropType<TableHeaderProps<DefaultRow>['store']>,\n },\n border: Boolean,\n defaultSort: {\n type: Object as PropType<TableHeaderProps<DefaultRow>['defaultSort']>,\n default: () => {\n return {\n prop: '',\n order: '',\n }\n },\n },\n },\n setup(props, { emit }) {\n const instance = getCurrentInstance() as TableHeader\n const parent = inject(TABLE_INJECTION_KEY)\n const ns = useNamespace('table')\n const filterPanels = ref({})\n const { onColumnsChange, onScrollableChange } = useLayoutObserver(parent!)\n onMounted(async () => {\n // Need double await, because updateColumns is executed after nextTick for now\n await nextTick()\n await nextTick()\n const { prop, order } = props.defaultSort\n parent?.store.commit('sort', { prop, order, init: true })\n })\n const {\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseOut,\n handleSortClick,\n handleFilterClick,\n } = useEvent(props as TableHeaderProps<unknown>, emit)\n const {\n getHeaderRowStyle,\n getHeaderRowClass,\n getHeaderCellStyle,\n getHeaderCellClass,\n } = useStyle(props as TableHeaderProps<unknown>)\n const { isGroup, toggleAllSelection, columnRows } = useUtils(\n props as TableHeaderProps<unknown>\n )\n\n instance.state = {\n onColumnsChange,\n onScrollableChange,\n }\n instance.filterPanels = filterPanels\n\n return {\n ns,\n filterPanels,\n onColumnsChange,\n onScrollableChange,\n columnRows,\n getHeaderRowClass,\n getHeaderRowStyle,\n getHeaderCellClass,\n getHeaderCellStyle,\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseOut,\n handleSortClick,\n handleFilterClick,\n isGroup,\n toggleAllSelection,\n }\n },\n render() {\n const {\n ns,\n isGroup,\n columnRows,\n getHeaderCellStyle,\n getHeaderCellClass,\n getHeaderRowClass,\n getHeaderRowStyle,\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleSortClick,\n handleMouseOut,\n store,\n $parent,\n } = this\n let rowSpan = 1\n return h(\n 'thead',\n {\n class: { [ns.is('group')]: isGroup },\n },\n columnRows.map((subColumns, rowIndex) =>\n h(\n 'tr',\n {\n class: getHeaderRowClass(rowIndex),\n key: rowIndex,\n style: getHeaderRowStyle(rowIndex),\n },\n subColumns.map((column, cellIndex) => {\n if (column.rowSpan > rowSpan) {\n rowSpan = column.rowSpan\n }\n return h(\n 'th',\n {\n class: getHeaderCellClass(\n rowIndex,\n cellIndex,\n subColumns,\n column\n ),\n colspan: column.colSpan,\n key: `${column.id}-thead`,\n rowspan: column.rowSpan,\n style: getHeaderCellStyle(\n rowIndex,\n cellIndex,\n subColumns,\n column\n ),\n onClick: ($event) => handleHeaderClick($event, column),\n onContextmenu: ($event) =>\n handleHeaderContextMenu($event, column),\n onMousedown: ($event) => handleMouseDown($event, column),\n onMousemove: ($event) => handleMouseMove($event, column),\n onMouseout: handleMouseOut,\n },\n [\n h(\n 'div',\n {\n class: [\n 'cell',\n column.filteredValue && column.filteredValue.length > 0\n ? 'highlight'\n : '',\n ],\n },\n [\n column.renderHeader\n ? column.renderHeader({\n column,\n $index: cellIndex,\n store,\n _self: $parent,\n })\n : column.label,\n column.sortable &&\n h(\n 'span',\n {\n onClick: ($event) => handleSortClick($event, column),\n class: 'caret-wrapper',\n },\n [\n h('i', {\n onClick: ($event) =>\n handleSortClick($event, column, 'ascending'),\n class: 'sort-caret ascending',\n }),\n h('i', {\n onClick: ($event) =>\n handleSortClick($event, column, 'descending'),\n class: 'sort-caret descending',\n }),\n ]\n ),\n column.filterable &&\n h(FilterPanel, {\n store,\n placement: column.filterPlacement || 'bottom-start',\n column,\n upDataColumn: (key, value) => {\n column[key] = value\n },\n }),\n ]\n ),\n ]\n )\n })\n )\n )\n )\n },\n})\n"],"names":["defineComponent","ElCheckbox","getCurrentInstance","inject","TABLE_INJECTION_KEY","useNamespace","ref","useLayoutObserver","onMounted","nextTick","useEvent","useStyle","useUtils","h","FilterPanel"],"mappings":"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"}
|
|
@@ -173,8 +173,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
173
173
|
const _component_hColgroup = vue.resolveComponent("hColgroup");
|
|
174
174
|
const _component_table_header = vue.resolveComponent("table-header");
|
|
175
175
|
const _component_table_body = vue.resolveComponent("table-body");
|
|
176
|
-
const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
|
|
177
176
|
const _component_table_footer = vue.resolveComponent("table-footer");
|
|
177
|
+
const _component_el_scrollbar = vue.resolveComponent("el-scrollbar");
|
|
178
178
|
const _directive_mousewheel = vue.resolveDirective("mousewheel");
|
|
179
179
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
180
180
|
ref: "tableWrapper",
|
|
@@ -265,11 +265,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
265
265
|
_ctx.showHeader && _ctx.tableLayout === "auto" ? (vue.openBlock(), vue.createBlock(_component_table_header, {
|
|
266
266
|
key: 0,
|
|
267
267
|
ref: "tableHeaderRef",
|
|
268
|
+
class: vue.normalizeClass(_ctx.ns.e("body-header")),
|
|
268
269
|
border: _ctx.border,
|
|
269
270
|
"default-sort": _ctx.defaultSort,
|
|
270
271
|
store: _ctx.store,
|
|
271
272
|
onSetDragVisible: _ctx.setDragVisible
|
|
272
|
-
}, null, 8, ["border", "default-sort", "store", "onSetDragVisible"])) : vue.createCommentVNode("v-if", true),
|
|
273
|
+
}, null, 8, ["class", "border", "default-sort", "store", "onSetDragVisible"])) : vue.createCommentVNode("v-if", true),
|
|
273
274
|
vue.createVNode(_component_table_body, {
|
|
274
275
|
context: _ctx.context,
|
|
275
276
|
highlight: _ctx.highlightCurrentRow,
|
|
@@ -279,7 +280,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
279
280
|
"row-style": _ctx.rowStyle,
|
|
280
281
|
store: _ctx.store,
|
|
281
282
|
stripe: _ctx.stripe
|
|
282
|
-
}, null, 8, ["context", "highlight", "row-class-name", "tooltip-effect", "tooltip-options", "row-style", "store", "stripe"])
|
|
283
|
+
}, null, 8, ["context", "highlight", "row-class-name", "tooltip-effect", "tooltip-options", "row-style", "store", "stripe"]),
|
|
284
|
+
_ctx.showSummary && _ctx.tableLayout === "auto" ? (vue.openBlock(), vue.createBlock(_component_table_footer, {
|
|
285
|
+
key: 1,
|
|
286
|
+
class: vue.normalizeClass(_ctx.ns.e("body-footer")),
|
|
287
|
+
border: _ctx.border,
|
|
288
|
+
"default-sort": _ctx.defaultSort,
|
|
289
|
+
store: _ctx.store,
|
|
290
|
+
"sum-text": _ctx.computedSumText,
|
|
291
|
+
"summary-method": _ctx.summaryMethod
|
|
292
|
+
}, null, 8, ["class", "border", "default-sort", "store", "sum-text", "summary-method"])) : vue.createCommentVNode("v-if", true)
|
|
283
293
|
], 6),
|
|
284
294
|
_ctx.isEmpty ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
285
295
|
key: 0,
|
|
@@ -306,19 +316,30 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
306
316
|
_: 3
|
|
307
317
|
}, 8, ["view-style", "wrap-style", "always"])
|
|
308
318
|
], 2),
|
|
309
|
-
_ctx.showSummary ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
319
|
+
_ctx.showSummary && _ctx.tableLayout === "fixed" ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
310
320
|
key: 1,
|
|
311
321
|
ref: "footerWrapper",
|
|
312
322
|
class: vue.normalizeClass(_ctx.ns.e("footer-wrapper"))
|
|
313
323
|
}, [
|
|
314
|
-
vue.
|
|
315
|
-
|
|
316
|
-
"
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
324
|
+
vue.createElementVNode("table", {
|
|
325
|
+
class: vue.normalizeClass(_ctx.ns.e("footer")),
|
|
326
|
+
cellspacing: "0",
|
|
327
|
+
cellpadding: "0",
|
|
328
|
+
border: "0",
|
|
329
|
+
style: vue.normalizeStyle(_ctx.tableBodyStyles)
|
|
330
|
+
}, [
|
|
331
|
+
vue.createVNode(_component_hColgroup, {
|
|
332
|
+
columns: _ctx.store.states.columns.value,
|
|
333
|
+
"table-layout": _ctx.tableLayout
|
|
334
|
+
}, null, 8, ["columns", "table-layout"]),
|
|
335
|
+
vue.createVNode(_component_table_footer, {
|
|
336
|
+
border: _ctx.border,
|
|
337
|
+
"default-sort": _ctx.defaultSort,
|
|
338
|
+
store: _ctx.store,
|
|
339
|
+
"sum-text": _ctx.computedSumText,
|
|
340
|
+
"summary-method": _ctx.summaryMethod
|
|
341
|
+
}, null, 8, ["border", "default-sort", "store", "sum-text", "summary-method"])
|
|
342
|
+
], 6)
|
|
322
343
|
], 2)), [
|
|
323
344
|
[vue.vShow, !_ctx.isEmpty],
|
|
324
345
|
[_directive_mousewheel, _ctx.handleHeaderFooterMousewheel]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n ref=\"tableWrapper\"\n :class=\"[\n {\n [ns.m('fit')]: fit,\n [ns.m('striped')]: stripe,\n [ns.m('border')]: border || isGroup,\n [ns.m('hidden')]: isHidden,\n [ns.m('group')]: isGroup,\n [ns.m('fluid-height')]: maxHeight,\n [ns.m('scrollable-x')]: layout.scrollX.value,\n [ns.m('scrollable-y')]: layout.scrollY.value,\n [ns.m('enable-row-hover')]: !store.states.isComplex.value,\n [ns.m('enable-row-transition')]:\n (store.states.data.value || []).length !== 0 &&\n (store.states.data.value || []).length < 100,\n 'has-footer': showSummary,\n },\n ns.m(tableSize),\n className,\n ns.b(),\n ns.m(`layout-${tableLayout}`),\n ]\"\n :style=\"style\"\n :data-prefix=\"ns.namespace.value\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('inner-wrapper')\" :style=\"tableInnerStyle\">\n <div ref=\"hiddenColumns\" class=\"hidden-columns\">\n <slot />\n </div>\n <div\n v-if=\"showHeader && tableLayout === 'fixed'\"\n ref=\"headerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('header-wrapper')\"\n >\n <table\n ref=\"tableHeader\"\n :class=\"ns.e('header')\"\n :style=\"tableBodyStyles\"\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n </table>\n </div>\n <div ref=\"bodyWrapper\" :class=\"ns.e('body-wrapper')\">\n <el-scrollbar\n ref=\"scrollBarRef\"\n :view-style=\"scrollbarViewStyle\"\n :wrap-style=\"scrollbarStyle\"\n :always=\"scrollbarAlwaysOn\"\n >\n <table\n ref=\"tableBody\"\n :class=\"ns.e('body')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"{\n width: bodyWidth,\n tableLayout,\n }\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n v-if=\"showHeader && tableLayout === 'auto'\"\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n <table-body\n :context=\"context\"\n :highlight=\"highlightCurrentRow\"\n :row-class-name=\"rowClassName\"\n :tooltip-effect=\"tooltipEffect\"\n :tooltip-options=\"tooltipOptions\"\n :row-style=\"rowStyle\"\n :store=\"store\"\n :stripe=\"stripe\"\n />\n </table>\n <div\n v-if=\"isEmpty\"\n ref=\"emptyBlock\"\n :style=\"emptyBlockStyle\"\n :class=\"ns.e('empty-block')\"\n >\n <span :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ computedEmptyText }}</slot>\n </span>\n </div>\n <div\n v-if=\"$slots.append\"\n ref=\"appendWrapper\"\n :class=\"ns.e('append-wrapper')\"\n >\n <slot name=\"append\" />\n </div>\n </el-scrollbar>\n </div>\n <div\n v-if=\"showSummary\"\n v-show=\"!isEmpty\"\n ref=\"footerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('footer-wrapper')\"\n >\n <table-footer\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :style=\"tableBodyStyles\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </div>\n <div v-if=\"border || isGroup\" :class=\"ns.e('border-left-patch')\" />\n </div>\n <div\n v-show=\"resizeProxyVisible\"\n ref=\"resizeProxy\"\n :class=\"ns.e('column-resize-proxy')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport { computed, defineComponent, getCurrentInstance, provide } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { Mousewheel } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { createStore } from './store/helper'\nimport TableLayout from './table-layout'\nimport TableHeader from './table-header'\nimport TableBody from './table-body'\nimport TableFooter from './table-footer'\nimport useUtils from './table/utils-helper'\nimport useStyle from './table/style-helper'\nimport useKeyRender from './table/key-render-helper'\nimport defaultProps from './table/defaults'\nimport { TABLE_INJECTION_KEY } from './tokens'\nimport { hColgroup } from './h-helper'\nimport { useScrollbar } from './composables/use-scrollbar'\n\nimport type { Table } from './table/defaults'\n\nlet tableIdSeed = 1\nexport default defineComponent({\n name: 'ElTable',\n directives: {\n Mousewheel,\n },\n components: {\n TableHeader,\n TableBody,\n TableFooter,\n ElScrollbar,\n hColgroup,\n },\n props: defaultProps,\n emits: [\n 'select',\n 'select-all',\n 'selection-change',\n 'cell-mouse-enter',\n 'cell-mouse-leave',\n 'cell-contextmenu',\n 'cell-click',\n 'cell-dblclick',\n 'row-click',\n 'row-contextmenu',\n 'row-dblclick',\n 'header-click',\n 'header-contextmenu',\n 'sort-change',\n 'filter-change',\n 'current-change',\n 'header-dragend',\n 'expand-change',\n ],\n setup(props) {\n type Row = typeof props.data[number]\n const { t } = useLocale()\n const ns = useNamespace('table')\n const table = getCurrentInstance() as Table<Row>\n provide(TABLE_INJECTION_KEY, table)\n const store = createStore<Row>(table, props)\n table.store = store\n const layout = new TableLayout<Row>({\n store: table.store,\n table,\n fit: props.fit,\n showHeader: props.showHeader,\n })\n table.layout = layout\n\n const isEmpty = computed(() => (store.states.data.value || []).length === 0)\n\n /**\n * open functions\n */\n const {\n setCurrentRow,\n getSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n sort,\n } = useUtils<Row>(store)\n const {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n handleFixedMousewheel,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n tableInnerStyle,\n scrollbarStyle,\n } = useStyle<Row>(props, layout, store, table)\n\n const { scrollBarRef, scrollTo, setScrollLeft, setScrollTop } =\n useScrollbar()\n\n const debouncedUpdateLayout = debounce(doLayout, 50)\n\n const tableId = `${ns.namespace.value}-table_${tableIdSeed++}`\n table.tableId = tableId\n table.state = {\n isGroup,\n resizeState,\n doLayout,\n debouncedUpdateLayout,\n }\n const computedSumText = computed(\n () => props.sumText || t('el.table.sumText')\n )\n\n const computedEmptyText = computed(() => {\n return props.emptyText || t('el.table.emptyText')\n })\n\n useKeyRender(table)\n\n return {\n ns,\n layout,\n store,\n handleHeaderFooterMousewheel,\n handleMouseLeave,\n tableId,\n tableSize,\n isHidden,\n isEmpty,\n renderExpanded,\n resizeProxyVisible,\n resizeState,\n isGroup,\n bodyWidth,\n tableBodyStyles,\n emptyBlockStyle,\n debouncedUpdateLayout,\n handleFixedMousewheel,\n setCurrentRow,\n getSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n doLayout,\n sort,\n t,\n setDragVisible,\n context: table,\n computedSumText,\n computedEmptyText,\n tableLayout,\n scrollbarViewStyle,\n tableInnerStyle,\n scrollbarStyle,\n scrollBarRef,\n scrollTo,\n setScrollLeft,\n setScrollTop,\n }\n },\n})\n</script>\n"],"names":["defineComponent","Mousewheel","TableHeader","TableBody","TableFooter","ElScrollbar","hColgroup","defaultProps","useLocale","useNamespace","getCurrentInstance","provide","TABLE_INJECTION_KEY","createStore","TableLayout","computed","useUtils","tableLayout","useStyle","useScrollbar","debounce","useKeyRender","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_createVNode","_createCommentVNode","_createBlock","_openBlock","_createTextVNode","_toDisplayString","_withDirectives"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n ref=\"tableWrapper\"\n :class=\"[\n {\n [ns.m('fit')]: fit,\n [ns.m('striped')]: stripe,\n [ns.m('border')]: border || isGroup,\n [ns.m('hidden')]: isHidden,\n [ns.m('group')]: isGroup,\n [ns.m('fluid-height')]: maxHeight,\n [ns.m('scrollable-x')]: layout.scrollX.value,\n [ns.m('scrollable-y')]: layout.scrollY.value,\n [ns.m('enable-row-hover')]: !store.states.isComplex.value,\n [ns.m('enable-row-transition')]:\n (store.states.data.value || []).length !== 0 &&\n (store.states.data.value || []).length < 100,\n 'has-footer': showSummary,\n },\n ns.m(tableSize),\n className,\n ns.b(),\n ns.m(`layout-${tableLayout}`),\n ]\"\n :style=\"style\"\n :data-prefix=\"ns.namespace.value\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('inner-wrapper')\" :style=\"tableInnerStyle\">\n <div ref=\"hiddenColumns\" class=\"hidden-columns\">\n <slot />\n </div>\n <div\n v-if=\"showHeader && tableLayout === 'fixed'\"\n ref=\"headerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('header-wrapper')\"\n >\n <table\n ref=\"tableHeader\"\n :class=\"ns.e('header')\"\n :style=\"tableBodyStyles\"\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n </table>\n </div>\n <div ref=\"bodyWrapper\" :class=\"ns.e('body-wrapper')\">\n <el-scrollbar\n ref=\"scrollBarRef\"\n :view-style=\"scrollbarViewStyle\"\n :wrap-style=\"scrollbarStyle\"\n :always=\"scrollbarAlwaysOn\"\n >\n <table\n ref=\"tableBody\"\n :class=\"ns.e('body')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"{\n width: bodyWidth,\n tableLayout,\n }\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n v-if=\"showHeader && tableLayout === 'auto'\"\n ref=\"tableHeaderRef\"\n :class=\"ns.e('body-header')\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n <table-body\n :context=\"context\"\n :highlight=\"highlightCurrentRow\"\n :row-class-name=\"rowClassName\"\n :tooltip-effect=\"tooltipEffect\"\n :tooltip-options=\"tooltipOptions\"\n :row-style=\"rowStyle\"\n :store=\"store\"\n :stripe=\"stripe\"\n />\n <table-footer\n v-if=\"showSummary && tableLayout === 'auto'\"\n :class=\"ns.e('body-footer')\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </table>\n <div\n v-if=\"isEmpty\"\n ref=\"emptyBlock\"\n :style=\"emptyBlockStyle\"\n :class=\"ns.e('empty-block')\"\n >\n <span :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ computedEmptyText }}</slot>\n </span>\n </div>\n <div\n v-if=\"$slots.append\"\n ref=\"appendWrapper\"\n :class=\"ns.e('append-wrapper')\"\n >\n <slot name=\"append\" />\n </div>\n </el-scrollbar>\n </div>\n <div\n v-if=\"showSummary && tableLayout === 'fixed'\"\n v-show=\"!isEmpty\"\n ref=\"footerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('footer-wrapper')\"\n >\n <table\n :class=\"ns.e('footer')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"tableBodyStyles\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-footer\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </table>\n </div>\n <div v-if=\"border || isGroup\" :class=\"ns.e('border-left-patch')\" />\n </div>\n <div\n v-show=\"resizeProxyVisible\"\n ref=\"resizeProxy\"\n :class=\"ns.e('column-resize-proxy')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport { computed, defineComponent, getCurrentInstance, provide } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { Mousewheel } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { createStore } from './store/helper'\nimport TableLayout from './table-layout'\nimport TableHeader from './table-header'\nimport TableBody from './table-body'\nimport TableFooter from './table-footer'\nimport useUtils from './table/utils-helper'\nimport useStyle from './table/style-helper'\nimport useKeyRender from './table/key-render-helper'\nimport defaultProps from './table/defaults'\nimport { TABLE_INJECTION_KEY } from './tokens'\nimport { hColgroup } from './h-helper'\nimport { useScrollbar } from './composables/use-scrollbar'\n\nimport type { Table } from './table/defaults'\n\nlet tableIdSeed = 1\nexport default defineComponent({\n name: 'ElTable',\n directives: {\n Mousewheel,\n },\n components: {\n TableHeader,\n TableBody,\n TableFooter,\n ElScrollbar,\n hColgroup,\n },\n props: defaultProps,\n emits: [\n 'select',\n 'select-all',\n 'selection-change',\n 'cell-mouse-enter',\n 'cell-mouse-leave',\n 'cell-contextmenu',\n 'cell-click',\n 'cell-dblclick',\n 'row-click',\n 'row-contextmenu',\n 'row-dblclick',\n 'header-click',\n 'header-contextmenu',\n 'sort-change',\n 'filter-change',\n 'current-change',\n 'header-dragend',\n 'expand-change',\n ],\n setup(props) {\n type Row = typeof props.data[number]\n const { t } = useLocale()\n const ns = useNamespace('table')\n const table = getCurrentInstance() as Table<Row>\n provide(TABLE_INJECTION_KEY, table)\n const store = createStore<Row>(table, props)\n table.store = store\n const layout = new TableLayout<Row>({\n store: table.store,\n table,\n fit: props.fit,\n showHeader: props.showHeader,\n })\n table.layout = layout\n\n const isEmpty = computed(() => (store.states.data.value || []).length === 0)\n\n /**\n * open functions\n */\n const {\n setCurrentRow,\n getSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n sort,\n } = useUtils<Row>(store)\n const {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n handleFixedMousewheel,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n tableInnerStyle,\n scrollbarStyle,\n } = useStyle<Row>(props, layout, store, table)\n\n const { scrollBarRef, scrollTo, setScrollLeft, setScrollTop } =\n useScrollbar()\n\n const debouncedUpdateLayout = debounce(doLayout, 50)\n\n const tableId = `${ns.namespace.value}-table_${tableIdSeed++}`\n table.tableId = tableId\n table.state = {\n isGroup,\n resizeState,\n doLayout,\n debouncedUpdateLayout,\n }\n const computedSumText = computed(\n () => props.sumText || t('el.table.sumText')\n )\n\n const computedEmptyText = computed(() => {\n return props.emptyText || t('el.table.emptyText')\n })\n\n useKeyRender(table)\n\n return {\n ns,\n layout,\n store,\n handleHeaderFooterMousewheel,\n handleMouseLeave,\n tableId,\n tableSize,\n isHidden,\n isEmpty,\n renderExpanded,\n resizeProxyVisible,\n resizeState,\n isGroup,\n bodyWidth,\n tableBodyStyles,\n emptyBlockStyle,\n debouncedUpdateLayout,\n handleFixedMousewheel,\n setCurrentRow,\n getSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n doLayout,\n sort,\n t,\n setDragVisible,\n context: table,\n computedSumText,\n computedEmptyText,\n tableLayout,\n scrollbarViewStyle,\n tableInnerStyle,\n scrollbarStyle,\n scrollBarRef,\n scrollTo,\n setScrollLeft,\n setScrollTop,\n }\n },\n})\n</script>\n"],"names":["defineComponent","Mousewheel","TableHeader","TableBody","TableFooter","ElScrollbar","hColgroup","defaultProps","useLocale","useNamespace","getCurrentInstance","provide","TABLE_INJECTION_KEY","createStore","TableLayout","computed","useUtils","tableLayout","useStyle","useScrollbar","debounce","useKeyRender","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_createVNode","_createCommentVNode","_createBlock","_openBlock","_createTextVNode","_toDisplayString"],"mappings":"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"}
|
|
@@ -279,5 +279,8 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
|
279
279
|
}[];
|
|
280
280
|
readonly currentName: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
281
281
|
}>;
|
|
282
|
-
export declare type TabNavInstance = InstanceType<typeof TabNav
|
|
282
|
+
export declare type TabNavInstance = InstanceType<typeof TabNav> & {
|
|
283
|
+
scrollToActiveTab: () => Promise<void>;
|
|
284
|
+
removeFocus: () => void;
|
|
285
|
+
};
|
|
283
286
|
export default TabNav;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-nav.js","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\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 TabBar from './tab-bar.vue'\nimport { tabsRootContextKey } from './constants'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from './constants'\nimport type { TabPaneName } from './tabs'\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} 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 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 vm = getCurrentInstance()!\n\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\n const tabBarRef = ref<InstanceType<typeof TabBar>>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\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 = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\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[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(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 = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\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 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$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post', deep: true }\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 = !disabled && (pane.isClosable || 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 // eslint-disable-next-line @typescript-eslint/ban-ts-comment\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 = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${uid}`}\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 if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\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 <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 >\n {...[\n !props.type ? (\n <TabBar ref={tabBarRef} tabs={[...props.panes]} />\n ) : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav>\nexport default TabNav\n"],"names":["tabNavProps","buildProps","panes","type","definePropType","Array","default","mutable","currentName","String","Number","editable","Boolean","values","stretch","tabNavEmits","tabClick","tab","tabName","ev","Event","tabRemove","COMPONENT_NAME","TabNav","defineComponent","name","props","emits","expose","emit","getCurrentInstance","vm","throwError","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","tabBarRef","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","max","update","navSize","prev","changeTab","code","EVENT_CODE","left","down","tabList","currentIndex","nextIndex","preventScroll","click","setFocus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","ArrowLeft","removeFocus","ElIcon","ArrowRight","flush","deep","e","Close","pane","index","closable","disabled","btnClose","delete","backspace","tabLabelContent","TabBar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tab-nav.js","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n mutable,\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 TabBar from './tab-bar.vue'\nimport { tabsRootContextKey } from './constants'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from './constants'\nimport type { TabPaneName } from './tabs'\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} 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 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 vm = getCurrentInstance()!\n\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\n const tabBarRef = ref<InstanceType<typeof TabBar>>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n\n const sizeName = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n )\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\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 = el$.value.querySelector('.is-active')\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n const isHorizontal = ['top', 'bottom'].includes(\n rootTabs.props.tabPosition\n )\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal) {\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[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(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 = (e: KeyboardEvent) => {\n const code = e.code\n\n const { up, down, left, right } = EVENT_CODE\n if (![up, down, left, right].includes(code)) return\n\n // 左右上下键更换tab\n const tabList = Array.from(\n (e.currentTarget as HTMLDivElement).querySelectorAll<HTMLDivElement>(\n '[role=tab]:not(.is-disabled)'\n )\n )\n const currentIndex = tabList.indexOf(e.target as HTMLDivElement)\n\n let nextIndex: number\n if (code === left || code === up) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1\n } else {\n nextIndex = currentIndex - 1\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1\n } else {\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 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$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n })\n\n watch(\n () => props.panes,\n () => vm.update(),\n { flush: 'post', deep: true }\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 = !disabled && (pane.isClosable || 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 // eslint-disable-next-line @typescript-eslint/ban-ts-comment\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 = !disabled && pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${uid}`}\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 if (\n closable &&\n (ev.code === EVENT_CODE.delete ||\n ev.code === EVENT_CODE.backspace)\n ) {\n emit('tabRemove', pane, ev)\n }\n }}\n >\n {...[tabLabelContent, btnClose]}\n </div>\n )\n })\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 <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 >\n {...[\n !props.type ? (\n <TabBar ref={tabBarRef} tabs={[...props.panes]} />\n ) : null,\n tabs,\n ]}\n </div>\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav> & {\n scrollToActiveTab: () => Promise<void>\n removeFocus: () => void\n}\nexport default TabNav\n"],"names":["tabNavProps","buildProps","panes","type","definePropType","Array","default","mutable","currentName","String","Number","editable","Boolean","values","stretch","tabNavEmits","tabClick","tab","tabName","ev","Event","tabRemove","COMPONENT_NAME","TabNav","defineComponent","name","props","emits","expose","emit","getCurrentInstance","vm","throwError","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","tabBarRef","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","max","update","navSize","prev","changeTab","code","EVENT_CODE","left","down","tabList","currentIndex","nextIndex","preventScroll","click","setFocus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","ArrowLeft","removeFocus","ElIcon","ArrowRight","flush","deep","e","Close","pane","index","closable","disabled","btnClose","delete","backspace","tabLabelContent","TabBar"],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ export declare const tabsEmits: {
|
|
|
42
42
|
};
|
|
43
43
|
export declare type TabsEmits = typeof tabsEmits;
|
|
44
44
|
export declare type TabsPanes = Record<number, TabsPaneContext>;
|
|
45
|
-
declare const
|
|
45
|
+
declare const Tabs: import("vue").DefineComponent<{
|
|
46
46
|
readonly type: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "" | "card" | "border-card", unknown, "", boolean>;
|
|
47
47
|
readonly activeName: {
|
|
48
48
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
@@ -60,37 +60,21 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
60
60
|
};
|
|
61
61
|
readonly editable: BooleanConstructor;
|
|
62
62
|
readonly tabPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "right" | "left", unknown, "top", boolean>;
|
|
63
|
-
readonly beforeLeave: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<
|
|
64
|
-
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<
|
|
63
|
+
readonly beforeLeave: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
|
|
64
|
+
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
|
|
65
65
|
new (): any;
|
|
66
66
|
readonly prototype: any;
|
|
67
|
-
} | ((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<
|
|
68
|
-
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<
|
|
67
|
+
} | ((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
|
|
68
|
+
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
|
|
69
69
|
new (): any;
|
|
70
70
|
readonly prototype: any;
|
|
71
71
|
})[], unknown, unknown, () => true, boolean>;
|
|
72
72
|
readonly stretch: BooleanConstructor;
|
|
73
73
|
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
74
74
|
"update:modelValue": (name: TabPaneName) => boolean;
|
|
75
|
-
tabClick: (pane:
|
|
76
|
-
uid: number;
|
|
77
|
-
slots: Readonly<{
|
|
78
|
-
[name: string]: import("vue").Slot | undefined;
|
|
79
|
-
}>;
|
|
80
|
-
props: {
|
|
81
|
-
readonly closable: boolean;
|
|
82
|
-
readonly label: string;
|
|
83
|
-
readonly disabled: boolean;
|
|
84
|
-
readonly lazy: boolean;
|
|
85
|
-
readonly name?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
|
86
|
-
};
|
|
87
|
-
paneName: string | number | undefined;
|
|
88
|
-
active: boolean;
|
|
89
|
-
index: string | undefined;
|
|
90
|
-
isClosable: boolean;
|
|
91
|
-
}, ev: Event) => boolean;
|
|
75
|
+
tabClick: (pane: TabsPaneContext, ev: Event) => boolean;
|
|
92
76
|
tabChange: (name: TabPaneName) => boolean;
|
|
93
|
-
edit: (paneName: TabPaneName | undefined, action:
|
|
77
|
+
edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') => boolean;
|
|
94
78
|
tabRemove: (name: TabPaneName) => boolean;
|
|
95
79
|
tabAdd: () => boolean;
|
|
96
80
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
|
|
@@ -111,12 +95,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
111
95
|
};
|
|
112
96
|
readonly editable: BooleanConstructor;
|
|
113
97
|
readonly tabPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "bottom" | "right" | "left", unknown, "top", boolean>;
|
|
114
|
-
readonly beforeLeave: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<
|
|
115
|
-
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<
|
|
98
|
+
readonly beforeLeave: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
|
|
99
|
+
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
|
|
116
100
|
new (): any;
|
|
117
101
|
readonly prototype: any;
|
|
118
|
-
} | ((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<
|
|
119
|
-
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<
|
|
102
|
+
} | ((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>) | {
|
|
103
|
+
(): (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
|
|
120
104
|
new (): any;
|
|
121
105
|
readonly prototype: any;
|
|
122
106
|
})[], unknown, unknown, () => true, boolean>;
|
|
@@ -149,8 +133,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
149
133
|
readonly closable: boolean;
|
|
150
134
|
readonly stretch: boolean;
|
|
151
135
|
readonly editable: boolean;
|
|
152
|
-
readonly beforeLeave: (newName: TabPaneName, oldName: TabPaneName) => Awaitable<
|
|
136
|
+
readonly beforeLeave: (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>;
|
|
153
137
|
readonly tabPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "right" | "left", unknown>;
|
|
154
138
|
readonly addable: boolean;
|
|
155
139
|
}>;
|
|
156
|
-
export
|
|
140
|
+
export declare type TabsInstance = InstanceType<typeof Tabs> & {
|
|
141
|
+
currentName: TabPaneName;
|
|
142
|
+
};
|
|
143
|
+
export default Tabs;
|
|
@@ -54,7 +54,7 @@ const tabsEmits = {
|
|
|
54
54
|
tabRemove: (name) => isPaneName(name),
|
|
55
55
|
tabAdd: () => true
|
|
56
56
|
};
|
|
57
|
-
|
|
57
|
+
const Tabs = vue.defineComponent({
|
|
58
58
|
name: "ElTabs",
|
|
59
59
|
props: tabsProps,
|
|
60
60
|
emits: tabsEmits,
|
|
@@ -72,19 +72,18 @@ var Tabs = vue.defineComponent({
|
|
|
72
72
|
} = index$1.useOrderedChildren(vue.getCurrentInstance(), "ElTabPane");
|
|
73
73
|
const nav$ = vue.ref();
|
|
74
74
|
const currentName = vue.ref((_b = (_a = props.modelValue) != null ? _a : props.activeName) != null ? _b : "0");
|
|
75
|
-
const
|
|
76
|
-
currentName.value = value;
|
|
77
|
-
emit(event.UPDATE_MODEL_EVENT, value);
|
|
78
|
-
emit("tabChange", value);
|
|
79
|
-
};
|
|
80
|
-
const setCurrentName = async (value) => {
|
|
75
|
+
const setCurrentName = async (value, trigger = false) => {
|
|
81
76
|
var _a2, _b2, _c;
|
|
82
77
|
if (currentName.value === value || types.isUndefined(value))
|
|
83
78
|
return;
|
|
84
79
|
try {
|
|
85
80
|
const canLeave = await ((_a2 = props.beforeLeave) == null ? void 0 : _a2.call(props, value, currentName.value));
|
|
86
81
|
if (canLeave !== false) {
|
|
87
|
-
|
|
82
|
+
currentName.value = value;
|
|
83
|
+
if (trigger) {
|
|
84
|
+
emit(event.UPDATE_MODEL_EVENT, value);
|
|
85
|
+
emit("tabChange", value);
|
|
86
|
+
}
|
|
88
87
|
(_c = (_b2 = nav$.value) == null ? void 0 : _b2.removeFocus) == null ? void 0 : _c.call(_b2);
|
|
89
88
|
}
|
|
90
89
|
} catch (e) {
|
|
@@ -93,7 +92,7 @@ var Tabs = vue.defineComponent({
|
|
|
93
92
|
const handleTabClick = (tab, tabName, event) => {
|
|
94
93
|
if (tab.props.disabled)
|
|
95
94
|
return;
|
|
96
|
-
setCurrentName(tabName);
|
|
95
|
+
setCurrentName(tabName, true);
|
|
97
96
|
emit("tabClick", tab, event);
|
|
98
97
|
};
|
|
99
98
|
const handleTabRemove = (pane, ev) => {
|
|
@@ -132,6 +131,7 @@ var Tabs = vue.defineComponent({
|
|
|
132
131
|
currentName
|
|
133
132
|
});
|
|
134
133
|
return () => {
|
|
134
|
+
const addSlot = slots.addIcon;
|
|
135
135
|
const newButton = props.editable || props.addable ? vue.createVNode("span", {
|
|
136
136
|
"class": ns.e("new-tab"),
|
|
137
137
|
"tabindex": "0",
|
|
@@ -140,7 +140,7 @@ var Tabs = vue.defineComponent({
|
|
|
140
140
|
if (ev.code === aria.EVENT_CODE.enter)
|
|
141
141
|
handleTabAdd();
|
|
142
142
|
}
|
|
143
|
-
}, [vue.createVNode(index$3.ElIcon, {
|
|
143
|
+
}, [addSlot ? vue.renderSlot(slots, "addIcon") : vue.createVNode(index$3.ElIcon, {
|
|
144
144
|
"class": ns.is("icon-plus")
|
|
145
145
|
}, {
|
|
146
146
|
default: () => [vue.createVNode(iconsVue.Plus, null, null)]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n nextTick,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport {\n buildProps,\n definePropType,\n isNumber,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport {\n useDeprecated,\n useNamespace,\n useOrderedChildren,\n} from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport TabNav from './tab-nav'\n\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from './constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type TabPaneName = string | number\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: [String, Number],\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPaneName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPaneName) => isPaneName(name),\n tabClick: (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n tabChange: (name: TabPaneName) => isPaneName(name),\n edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n tabRemove: (name: TabPaneName) => isPaneName(name),\n tabAdd: () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nexport type TabsPanes = Record<number, TabsPaneContext>\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const ns = useNamespace('tabs')\n\n const {\n children: panes,\n addChild: registerPane,\n removeChild: unregisterPane,\n } = useOrderedChildren<TabsPaneContext>(getCurrentInstance()!, 'ElTabPane')\n\n const nav$ = ref<TabNavInstance>()\n const currentName = ref<TabPaneName>(\n props.modelValue ?? props.activeName ?? '0'\n )\n\n const changeCurrentName = (value: TabPaneName) => {\n currentName.value = value\n emit(UPDATE_MODEL_EVENT, value)\n emit('tabChange', value)\n }\n\n const setCurrentName = async (value?: TabPaneName) => {\n // should do nothing.\n if (currentName.value === value || isUndefined(value)) return\n\n try {\n const canLeave = await props.beforeLeave?.(value, currentName.value)\n if (canLeave !== false) {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n }\n } catch {}\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPaneName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tabClick', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled || isUndefined(pane.props.name)) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tabRemove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tabAdd')\n }\n\n useDeprecated(\n {\n from: '\"activeName\"',\n replacement: '\"model-value\" or \"v-model\"',\n scope: 'ElTabs',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/tabs.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!props.activeName)\n )\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n await nextTick()\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n registerPane,\n unregisterPane,\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={handleTabAdd}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n }}\n >\n <ElIcon class={ns.is('icon-plus')}>\n <Plus />\n </ElIcon>\n </span>\n ) : null\n\n const header = (\n <div class={[ns.e('header'), ns.is(props.tabPosition)]}>\n {newButton}\n <TabNav\n ref={nav$}\n currentName={currentName.value}\n editable={props.editable}\n type={props.type}\n panes={panes.value}\n stretch={props.stretch}\n onTabClick={handleTabClick}\n onTabRemove={handleTabRemove}\n />\n </div>\n )\n\n const panels = (\n <div class={ns.e('content')}>{renderSlot(slots, 'default')}</div>\n )\n\n return (\n <div\n class={[\n ns.b(),\n ns.m(props.tabPosition),\n {\n [ns.m('card')]: props.type === 'card',\n [ns.m('border-card')]: props.type === 'border-card',\n },\n ]}\n >\n {...props.tabPosition !== 'bottom'\n ? [header, panels]\n : [panels, header]}\n </div>\n )\n }\n },\n})\n"],"names":["tabsProps","buildProps","type","String","values","default","activeName","Number","closable","Boolean","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","Function","stretch","tabsEmits","name","tabClick","ev","tabChange","edit","tabRemove","tabAdd","defineComponent","props","emits","slots","expose","children","addChild","getCurrentInstance","removeChild","ref","unregisterPane","nav$","changeCurrentName","value","currentName","emit","UPDATE_MODEL_EVENT","isUndefined","setCurrentName","handleTabClick","event","handleTabRemove","pane","disabled","handleTabAdd","computed","useDeprecated","from","replacement","scope","version","tabsRootContextKey","watch","nextTick","_createVNode","newButton","ns","TabNav","e","renderSlot","panes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../../../../../../packages/components/tabs/src/tabs.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n nextTick,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport {\n buildProps,\n definePropType,\n isNumber,\n isString,\n isUndefined,\n} from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport {\n useDeprecated,\n useNamespace,\n useOrderedChildren,\n} from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport TabNav from './tab-nav'\n\nimport type { TabNavInstance } from './tab-nav'\nimport type { TabsPaneContext } from './constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type TabPaneName = string | number\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: [String, Number],\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (newName: TabPaneName, oldName: TabPaneName) => Awaitable<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nconst isPaneName = (value: unknown): value is string | number =>\n isString(value) || isNumber(value)\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (name: TabPaneName) => isPaneName(name),\n tabClick: (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n tabChange: (name: TabPaneName) => isPaneName(name),\n edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') =>\n ['remove', 'add'].includes(action),\n tabRemove: (name: TabPaneName) => isPaneName(name),\n tabAdd: () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nexport type TabsPanes = Record<number, TabsPaneContext>\n\nconst Tabs = defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const ns = useNamespace('tabs')\n\n const {\n children: panes,\n addChild: registerPane,\n removeChild: unregisterPane,\n } = useOrderedChildren<TabsPaneContext>(getCurrentInstance()!, 'ElTabPane')\n\n const nav$ = ref<TabNavInstance>()\n const currentName = ref<TabPaneName>(\n props.modelValue ?? props.activeName ?? '0'\n )\n\n const setCurrentName = async (value?: TabPaneName, trigger = false) => {\n // should do nothing.\n if (currentName.value === value || isUndefined(value)) return\n\n try {\n const canLeave = await props.beforeLeave?.(value, currentName.value)\n if (canLeave !== false) {\n currentName.value = value\n if (trigger) {\n emit(UPDATE_MODEL_EVENT, value)\n emit('tabChange', value)\n }\n\n nav$.value?.removeFocus?.()\n }\n } catch {}\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: TabPaneName,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName, true)\n emit('tabClick', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled || isUndefined(pane.props.name)) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tabRemove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', undefined, 'add')\n emit('tabAdd')\n }\n\n useDeprecated(\n {\n from: '\"activeName\"',\n replacement: '\"model-value\" or \"v-model\"',\n scope: 'ElTabs',\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/tabs.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!props.activeName)\n )\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n await nextTick()\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n registerPane,\n unregisterPane,\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const addSlot = slots.addIcon\n const newButton =\n props.editable || props.addable ? (\n <span\n class={ns.e('new-tab')}\n tabindex=\"0\"\n onClick={handleTabAdd}\n onKeydown={(ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n }}\n >\n {addSlot ? (\n renderSlot(slots, 'addIcon')\n ) : (\n <ElIcon class={ns.is('icon-plus')}>\n <Plus />\n </ElIcon>\n )}\n </span>\n ) : null\n\n const header = (\n <div class={[ns.e('header'), ns.is(props.tabPosition)]}>\n {newButton}\n <TabNav\n ref={nav$}\n currentName={currentName.value}\n editable={props.editable}\n type={props.type}\n panes={panes.value}\n stretch={props.stretch}\n onTabClick={handleTabClick}\n onTabRemove={handleTabRemove}\n />\n </div>\n )\n\n const panels = (\n <div class={ns.e('content')}>{renderSlot(slots, 'default')}</div>\n )\n\n return (\n <div\n class={[\n ns.b(),\n ns.m(props.tabPosition),\n {\n [ns.m('card')]: props.type === 'card',\n [ns.m('border-card')]: props.type === 'border-card',\n },\n ]}\n >\n {...props.tabPosition !== 'bottom'\n ? [header, panels]\n : [panels, header]}\n </div>\n )\n }\n },\n})\n\nexport type TabsInstance = InstanceType<typeof Tabs> & {\n currentName: TabPaneName\n}\n\nexport default Tabs\n"],"names":["tabsProps","buildProps","type","String","values","default","activeName","Number","closable","Boolean","addable","modelValue","editable","tabPosition","beforeLeave","definePropType","Function","stretch","tabsEmits","name","tabClick","ev","tabChange","edit","tabRemove","tabAdd","defineComponent","Tabs","props","emits","slots","expose","children","addChild","getCurrentInstance","removeChild","ref","unregisterPane","nav$","currentName","setCurrentName","value","canLeave","emit","UPDATE_MODEL_EVENT","handleTabClick","tab","tabName","event","disabled","isUndefined","pane","useDeprecated","handleTabAdd","from","replacement","scope","version","nextTick","computed","watch","tabsRootContextKey","provide","_createVNode","EVENT_CODE","newButton","renderSlot","ElIcon","code","enter","ns","is","TabNav","panes","handleTabRemove"],"mappings":"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"}
|