@element-plus/nightly 0.0.20220328 → 0.0.20220331
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/README.md +5 -0
- package/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +1934 -1265
- package/dist/index.full.min.js +12 -12
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +12 -12
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1933 -1265
- 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 +136 -0
- package/dist/locale/az.min.js +2 -0
- package/dist/locale/az.min.js.map +1 -0
- package/dist/locale/az.min.mjs +2 -0
- package/dist/locale/az.min.mjs.map +1 -0
- package/dist/locale/az.mjs +128 -0
- 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/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 +2 -0
- package/es/component.mjs.map +1 -1
- package/es/components/autocomplete/index.d.ts +8 -3
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +8 -3
- package/es/components/autocomplete/src/autocomplete2.mjs +7 -1
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/avatar/index.d.ts +4 -4
- package/es/components/avatar/src/avatar.d.ts +1 -1
- package/es/components/avatar/src/avatar.mjs +4 -2
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/avatar/src/avatar.vue.d.ts +4 -4
- package/es/components/cascader/index.d.ts +20 -4
- package/es/components/cascader/src/index.vue.d.ts +10 -2
- package/es/components/config-provider/index.d.ts +3 -3
- package/es/components/config-provider/src/config-provider.d.ts +4 -4
- package/es/components/config-provider/src/config-provider.mjs +4 -1
- package/es/components/config-provider/src/config-provider.mjs.map +1 -1
- package/es/components/image/index.d.ts +181 -10
- package/es/components/image/index.mjs +2 -2
- package/es/components/image/index.mjs.map +1 -1
- package/es/components/image/src/image.vue.d.ts +181 -10
- package/es/components/image/src/image2.mjs +55 -74
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/image-viewer/index.d.ts +98 -22
- package/es/components/image-viewer/index.mjs +2 -2
- package/es/components/image-viewer/index.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.d.ts +1 -0
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +99 -23
- package/es/components/image-viewer/src/image-viewer2.mjs +166 -202
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/input/index.d.ts +1 -1
- package/es/components/input/src/input.vue.d.ts +1 -1
- package/es/components/input/src/input2.mjs +3 -2
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/index.d.ts +2 -2
- package/es/components/input-number/src/input-number.vue.d.ts +2 -2
- package/es/components/message/src/message-method.mjs +1 -1
- package/es/components/message/src/message-method.mjs.map +1 -1
- package/es/components/scrollbar/index.d.ts +4 -0
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +4 -0
- package/es/components/scrollbar/src/scrollbar2.mjs +9 -0
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/select-v2/src/useSelect.mjs +1 -1
- package/es/components/select-v2/src/useSelect.mjs.map +1 -1
- package/es/components/table/index.d.ts +1 -4
- package/es/components/table/src/composables/use-scrollbar.d.ts +1 -4
- package/es/components/table/src/composables/use-scrollbar.mjs +5 -3
- package/es/components/table/src/composables/use-scrollbar.mjs.map +1 -1
- package/es/components/table/src/config.d.ts +1 -1
- package/es/components/table/src/config.mjs +11 -3
- package/es/components/table/src/config.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.mjs +4 -3
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table-body/render-helper.mjs +1 -0
- package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
- package/es/components/table/src/table-column/render-helper.mjs +11 -1
- package/es/components/table/src/table-column/render-helper.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +1 -4
- package/es/components/tabs/index.d.ts +74 -18
- package/es/components/tabs/index.mjs +4 -4
- package/es/components/tabs/index.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.d.ts +4 -2
- package/es/components/tabs/src/tab-bar.mjs +2 -2
- package/es/components/tabs/src/tab-bar.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.vue.d.ts +38 -2
- package/es/components/tabs/src/tab-bar2.mjs +30 -26
- package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
- package/es/components/tabs/src/tab-nav.d.ts +12 -100
- package/es/components/tabs/src/tab-nav.mjs +65 -81
- package/es/components/tabs/src/tab-nav.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.d.ts +2 -0
- package/es/components/tabs/src/tab-pane.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.vue.d.ts +29 -0
- package/es/components/tabs/src/tab-pane2.mjs +28 -28
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/tabs/src/tabs.d.ts +24 -24
- package/es/components/tabs/src/tabs.mjs +52 -40
- package/es/components/tabs/src/tabs.mjs.map +1 -1
- package/es/components/tag/index.d.ts +8 -4
- package/es/components/tag/src/tag.d.ts +2 -1
- package/es/components/tag/src/tag.mjs +6 -2
- package/es/components/tag/src/tag.mjs.map +1 -1
- package/es/components/tag/src/tag.vue.d.ts +8 -4
- package/es/components/tag/src/tag2.mjs +3 -2
- package/es/components/tag/src/tag2.mjs.map +1 -1
- package/es/components/time-select/index.d.ts +10 -10
- package/es/components/time-select/src/time-select.mjs +4 -2
- package/es/components/time-select/src/time-select.mjs.map +1 -1
- package/es/components/time-select/src/time-select.vue.d.ts +5 -5
- package/es/components/tooltip-v2/index.d.ts +578 -0
- package/es/components/tooltip-v2/index.mjs +11 -0
- package/es/components/tooltip-v2/index.mjs.map +1 -1
- package/es/components/tooltip-v2/src/arrow.d.ts +7 -3
- package/es/components/tooltip-v2/src/arrow.mjs +11 -3
- package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
- package/es/components/tooltip-v2/src/arrow.vue.d.ts +24 -6
- package/es/components/tooltip-v2/src/arrow2.mjs +23 -10
- package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/common.d.ts +19 -0
- package/es/components/tooltip-v2/src/common.mjs +21 -1
- package/es/components/tooltip-v2/src/common.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content.d.ts +7 -4
- package/es/components/tooltip-v2/src/content.mjs +12 -3
- package/es/components/tooltip-v2/src/content.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content.vue.d.ts +42 -13
- package/es/components/tooltip-v2/src/content2.mjs +61 -28
- package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/root.vue.d.ts +14 -0
- package/es/components/tooltip-v2/src/root2.mjs +7 -2
- package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.d.ts +27 -19
- package/es/components/tooltip-v2/src/tooltip.mjs +16 -3
- package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.vue.d.ts +178 -45
- package/es/components/tooltip-v2/src/tooltip2.mjs +38 -12
- package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/trigger.vue.d.ts +2 -1
- package/es/components/tooltip-v2/src/trigger2.mjs +10 -7
- package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
- package/es/components/upload/src/upload-content2.mjs +2 -1
- package/es/components/upload/src/upload-content2.mjs.map +1 -1
- package/es/components/visual-hidden/src/visual-hidden.mjs +4 -2
- package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
- package/es/defaults.d.ts +1 -1
- package/es/hooks/use-floating/index.d.ts +3 -3
- package/es/hooks/use-floating/index.mjs +7 -6
- package/es/hooks/use-floating/index.mjs.map +1 -1
- package/es/hooks/use-global-config/index.d.ts +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.mjs +2 -2
- package/es/locale/index.d.ts +1 -0
- package/es/locale/index.mjs +1 -0
- package/es/locale/index.mjs.map +1 -1
- package/es/locale/lang/az.d.ts +125 -0
- package/es/locale/lang/az.mjs +127 -0
- package/es/locale/lang/az.mjs.map +1 -0
- package/es/locales.mjs +1 -0
- package/es/locales.mjs.map +1 -1
- package/es/make-installer.d.ts +1 -1
- package/es/tokens/index.mjs +1 -1
- package/es/tokens/tooltip-v2.d.ts +6 -0
- package/es/tokens/tooltip-v2.mjs +2 -1
- package/es/tokens/tooltip-v2.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/lib/component.js +10 -8
- package/lib/component.js.map +1 -1
- package/lib/components/autocomplete/index.d.ts +8 -3
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +8 -3
- package/lib/components/autocomplete/src/autocomplete2.js +7 -1
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/avatar/index.d.ts +4 -4
- package/lib/components/avatar/src/avatar.d.ts +1 -1
- package/lib/components/avatar/src/avatar.js +4 -2
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/avatar/src/avatar.vue.d.ts +4 -4
- package/lib/components/cascader/index.d.ts +20 -4
- package/lib/components/cascader/src/index.vue.d.ts +10 -2
- package/lib/components/config-provider/index.d.ts +3 -3
- package/lib/components/config-provider/src/config-provider.d.ts +4 -4
- package/lib/components/config-provider/src/config-provider.js +4 -1
- package/lib/components/config-provider/src/config-provider.js.map +1 -1
- package/lib/components/image/index.d.ts +181 -10
- package/lib/components/image/src/image.vue.d.ts +181 -10
- package/lib/components/image/src/image2.js +63 -82
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/image-viewer/index.d.ts +98 -22
- package/lib/components/image-viewer/src/image-viewer.d.ts +1 -0
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +99 -23
- package/lib/components/image-viewer/src/image-viewer2.js +178 -214
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/input/index.d.ts +1 -1
- package/lib/components/input/src/input.vue.d.ts +1 -1
- package/lib/components/input/src/input2.js +2 -1
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/index.d.ts +2 -2
- package/lib/components/input-number/src/input-number.vue.d.ts +2 -2
- package/lib/components/message/src/message-method.js +1 -1
- package/lib/components/message/src/message-method.js.map +1 -1
- package/lib/components/scrollbar/index.d.ts +4 -0
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +4 -0
- package/lib/components/scrollbar/src/scrollbar2.js +9 -0
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/select-v2/src/useSelect.js +1 -1
- package/lib/components/select-v2/src/useSelect.js.map +1 -1
- package/lib/components/table/index.d.ts +1 -4
- package/lib/components/table/src/composables/use-scrollbar.d.ts +1 -4
- package/lib/components/table/src/composables/use-scrollbar.js +5 -3
- package/lib/components/table/src/composables/use-scrollbar.js.map +1 -1
- package/lib/components/table/src/config.d.ts +1 -1
- package/lib/components/table/src/config.js +11 -3
- package/lib/components/table/src/config.js.map +1 -1
- package/lib/components/table/src/table/style-helper.js +4 -3
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table-body/render-helper.js +1 -0
- package/lib/components/table/src/table-body/render-helper.js.map +1 -1
- package/lib/components/table/src/table-column/render-helper.js +11 -1
- package/lib/components/table/src/table-column/render-helper.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +1 -4
- package/lib/components/tabs/index.d.ts +74 -18
- package/lib/components/tabs/index.js +1 -1
- package/lib/components/tabs/index.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.d.ts +4 -2
- package/lib/components/tabs/src/tab-bar.js +2 -2
- package/lib/components/tabs/src/tab-bar.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.vue.d.ts +38 -2
- package/lib/components/tabs/src/tab-bar2.js +28 -24
- package/lib/components/tabs/src/tab-bar2.js.map +1 -1
- package/lib/components/tabs/src/tab-nav.d.ts +12 -100
- package/lib/components/tabs/src/tab-nav.js +67 -83
- package/lib/components/tabs/src/tab-nav.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.d.ts +2 -0
- package/lib/components/tabs/src/tab-pane.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.vue.d.ts +29 -0
- package/lib/components/tabs/src/tab-pane2.js +31 -31
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/tabs/src/tabs.d.ts +24 -24
- package/lib/components/tabs/src/tabs.js +51 -39
- package/lib/components/tabs/src/tabs.js.map +1 -1
- package/lib/components/tag/index.d.ts +8 -4
- package/lib/components/tag/src/tag.d.ts +2 -1
- package/lib/components/tag/src/tag.js +6 -2
- package/lib/components/tag/src/tag.js.map +1 -1
- package/lib/components/tag/src/tag.vue.d.ts +8 -4
- package/lib/components/tag/src/tag2.js +3 -2
- package/lib/components/tag/src/tag2.js.map +1 -1
- package/lib/components/time-select/index.d.ts +10 -10
- package/lib/components/time-select/src/time-select.js +4 -2
- package/lib/components/time-select/src/time-select.js.map +1 -1
- package/lib/components/time-select/src/time-select.vue.d.ts +5 -5
- package/lib/components/tooltip-v2/index.d.ts +578 -0
- package/lib/components/tooltip-v2/index.js +21 -0
- package/lib/components/tooltip-v2/index.js.map +1 -1
- package/lib/components/tooltip-v2/src/arrow.d.ts +7 -3
- package/lib/components/tooltip-v2/src/arrow.js +11 -2
- package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
- package/lib/components/tooltip-v2/src/arrow.vue.d.ts +24 -6
- package/lib/components/tooltip-v2/src/arrow2.js +21 -8
- package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
- package/lib/components/tooltip-v2/src/common.d.ts +19 -0
- package/lib/components/tooltip-v2/src/common.js +24 -0
- package/lib/components/tooltip-v2/src/common.js.map +1 -1
- package/lib/components/tooltip-v2/src/content.d.ts +7 -4
- package/lib/components/tooltip-v2/src/content.js +12 -3
- package/lib/components/tooltip-v2/src/content.js.map +1 -1
- package/lib/components/tooltip-v2/src/content.vue.d.ts +42 -13
- package/lib/components/tooltip-v2/src/content2.js +58 -25
- package/lib/components/tooltip-v2/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/src/root.vue.d.ts +14 -0
- package/lib/components/tooltip-v2/src/root2.js +9 -4
- package/lib/components/tooltip-v2/src/root2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.d.ts +27 -19
- package/lib/components/tooltip-v2/src/tooltip.js +16 -3
- package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +178 -45
- package/lib/components/tooltip-v2/src/tooltip2.js +37 -11
- package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip-v2/src/trigger.vue.d.ts +2 -1
- package/lib/components/tooltip-v2/src/trigger2.js +9 -6
- package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
- package/lib/components/upload/src/upload-content2.js +2 -1
- package/lib/components/upload/src/upload-content2.js.map +1 -1
- package/lib/components/visual-hidden/src/visual-hidden.js +3 -1
- package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
- package/lib/defaults.d.ts +1 -1
- package/lib/hooks/use-floating/index.d.ts +3 -3
- package/lib/hooks/use-floating/index.js +6 -5
- package/lib/hooks/use-floating/index.js.map +1 -1
- package/lib/hooks/use-global-config/index.d.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/locale/index.d.ts +1 -0
- package/lib/locale/index.js +2 -0
- package/lib/locale/index.js.map +1 -1
- package/lib/locale/lang/az.d.ts +125 -0
- package/lib/locale/lang/az.js +131 -0
- package/lib/locale/lang/az.js.map +1 -0
- package/lib/locales.js +2 -0
- package/lib/locales.js.map +1 -1
- package/lib/make-installer.d.ts +1 -1
- package/lib/tokens/index.js +1 -0
- package/lib/tokens/index.js.map +1 -1
- package/lib/tokens/tooltip-v2.d.ts +6 -0
- package/lib/tokens/tooltip-v2.js +2 -0
- package/lib/tokens/tooltip-v2.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 +6 -6
- package/tags.json +1 -1
- package/theme-chalk/el-avatar.css +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-tag.css +1 -1
- package/theme-chalk/el-tooltip-v2.css +1 -0
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/avatar.scss +10 -2
- package/theme-chalk/src/common/var.scss +1 -0
- package/theme-chalk/src/index.scss +1 -0
- package/theme-chalk/src/input.scss +0 -2
- package/theme-chalk/src/tag.scss +3 -0
- package/theme-chalk/src/tooltip-v2.scss +91 -0
- package/theme-chalk/src/var.scss +1 -1
- package/web-types.json +1 -1
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import type { ExtractPropTypes } from 'vue';
|
|
2
2
|
import type { TabsPaneContext } from 'element-plus/es/tokens';
|
|
3
|
-
|
|
4
|
-
next?: boolean;
|
|
5
|
-
prev?: number;
|
|
6
|
-
}
|
|
3
|
+
import type { TabPanelName } from './tabs';
|
|
7
4
|
export declare const tabNavProps: {
|
|
8
5
|
readonly panes: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<{
|
|
9
6
|
uid: number;
|
|
@@ -22,13 +19,13 @@ export declare const tabNavProps: {
|
|
|
22
19
|
}[]>, () => [], unknown, unknown, unknown>;
|
|
23
20
|
readonly currentName: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
|
|
24
21
|
readonly editable: BooleanConstructor;
|
|
25
|
-
readonly onTabClick: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab: TabsPaneContext, tabName:
|
|
22
|
+
readonly onTabClick: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void>, () => void, unknown, unknown, unknown>;
|
|
26
23
|
readonly onTabRemove: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab: TabsPaneContext, ev: Event) => void>, () => void, unknown, unknown, unknown>;
|
|
27
24
|
readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "card" | "border-card", unknown>;
|
|
28
25
|
readonly stretch: BooleanConstructor;
|
|
29
26
|
};
|
|
30
27
|
export declare type TabNavProps = ExtractPropTypes<typeof tabNavProps>;
|
|
31
|
-
declare const
|
|
28
|
+
declare const TabNav: import("vue").DefineComponent<{
|
|
32
29
|
readonly panes: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<{
|
|
33
30
|
uid: number;
|
|
34
31
|
instance: import("vue").ShallowReactive<import("vue").ComponentInternalInstance>;
|
|
@@ -46,41 +43,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
46
43
|
}[]>, () => [], unknown, unknown, unknown>;
|
|
47
44
|
readonly currentName: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
|
|
48
45
|
readonly editable: BooleanConstructor;
|
|
49
|
-
readonly onTabClick: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab:
|
|
50
|
-
|
|
51
|
-
instance: import("vue").ShallowReactive<import("vue").ComponentInternalInstance>;
|
|
52
|
-
props: {
|
|
53
|
-
readonly disabled: boolean;
|
|
54
|
-
readonly name: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
55
|
-
readonly label: string;
|
|
56
|
-
readonly closable: boolean;
|
|
57
|
-
readonly lazy: boolean;
|
|
58
|
-
};
|
|
59
|
-
paneName: string | number | undefined;
|
|
60
|
-
active: boolean;
|
|
61
|
-
index: string | undefined;
|
|
62
|
-
isClosable: boolean;
|
|
63
|
-
}, tabName: string | number, ev: Event) => void>, () => void, unknown, unknown, unknown>;
|
|
64
|
-
readonly onTabRemove: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab: {
|
|
65
|
-
uid: number;
|
|
66
|
-
instance: import("vue").ShallowReactive<import("vue").ComponentInternalInstance>;
|
|
67
|
-
props: {
|
|
68
|
-
readonly disabled: boolean;
|
|
69
|
-
readonly name: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
70
|
-
readonly label: string;
|
|
71
|
-
readonly closable: boolean;
|
|
72
|
-
readonly lazy: boolean;
|
|
73
|
-
};
|
|
74
|
-
paneName: string | number | undefined;
|
|
75
|
-
active: boolean;
|
|
76
|
-
index: string | undefined;
|
|
77
|
-
isClosable: boolean;
|
|
78
|
-
}, ev: Event) => void>, () => void, unknown, unknown, unknown>;
|
|
46
|
+
readonly onTabClick: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void>, () => void, unknown, unknown, unknown>;
|
|
47
|
+
readonly onTabRemove: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab: TabsPaneContext, ev: Event) => void>, () => void, unknown, unknown, unknown>;
|
|
79
48
|
readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "card" | "border-card", unknown>;
|
|
80
49
|
readonly stretch: BooleanConstructor;
|
|
81
|
-
}, () => import("vue").
|
|
82
|
-
[key: string]: any;
|
|
83
|
-
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
|
|
50
|
+
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
|
|
84
51
|
readonly panes: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<{
|
|
85
52
|
uid: number;
|
|
86
53
|
instance: import("vue").ShallowReactive<import("vue").ComponentInternalInstance>;
|
|
@@ -98,36 +65,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
98
65
|
}[]>, () => [], unknown, unknown, unknown>;
|
|
99
66
|
readonly currentName: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
|
|
100
67
|
readonly editable: BooleanConstructor;
|
|
101
|
-
readonly onTabClick: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab:
|
|
102
|
-
|
|
103
|
-
instance: import("vue").ShallowReactive<import("vue").ComponentInternalInstance>;
|
|
104
|
-
props: {
|
|
105
|
-
readonly disabled: boolean;
|
|
106
|
-
readonly name: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
107
|
-
readonly label: string;
|
|
108
|
-
readonly closable: boolean;
|
|
109
|
-
readonly lazy: boolean;
|
|
110
|
-
};
|
|
111
|
-
paneName: string | number | undefined;
|
|
112
|
-
active: boolean;
|
|
113
|
-
index: string | undefined;
|
|
114
|
-
isClosable: boolean;
|
|
115
|
-
}, tabName: string | number, ev: Event) => void>, () => void, unknown, unknown, unknown>;
|
|
116
|
-
readonly onTabRemove: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab: {
|
|
117
|
-
uid: number;
|
|
118
|
-
instance: import("vue").ShallowReactive<import("vue").ComponentInternalInstance>;
|
|
119
|
-
props: {
|
|
120
|
-
readonly disabled: boolean;
|
|
121
|
-
readonly name: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
122
|
-
readonly label: string;
|
|
123
|
-
readonly closable: boolean;
|
|
124
|
-
readonly lazy: boolean;
|
|
125
|
-
};
|
|
126
|
-
paneName: string | number | undefined;
|
|
127
|
-
active: boolean;
|
|
128
|
-
index: string | undefined;
|
|
129
|
-
isClosable: boolean;
|
|
130
|
-
}, ev: Event) => void>, () => void, unknown, unknown, unknown>;
|
|
68
|
+
readonly onTabClick: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void>, () => void, unknown, unknown, unknown>;
|
|
69
|
+
readonly onTabRemove: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(tab: TabsPaneContext, ev: Event) => void>, () => void, unknown, unknown, unknown>;
|
|
131
70
|
readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, "" | "card" | "border-card", unknown>;
|
|
132
71
|
readonly stretch: BooleanConstructor;
|
|
133
72
|
}>>, {
|
|
@@ -150,35 +89,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
150
89
|
isClosable: boolean;
|
|
151
90
|
}[];
|
|
152
91
|
currentName: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
153
|
-
onTabClick: (tab:
|
|
154
|
-
|
|
155
|
-
instance: import("vue").ShallowReactive<import("vue").ComponentInternalInstance>;
|
|
156
|
-
props: {
|
|
157
|
-
readonly disabled: boolean;
|
|
158
|
-
readonly name: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
159
|
-
readonly label: string;
|
|
160
|
-
readonly closable: boolean;
|
|
161
|
-
readonly lazy: boolean;
|
|
162
|
-
};
|
|
163
|
-
paneName: string | number | undefined;
|
|
164
|
-
active: boolean;
|
|
165
|
-
index: string | undefined;
|
|
166
|
-
isClosable: boolean;
|
|
167
|
-
}, tabName: string | number, ev: Event) => void;
|
|
168
|
-
onTabRemove: (tab: {
|
|
169
|
-
uid: number;
|
|
170
|
-
instance: import("vue").ShallowReactive<import("vue").ComponentInternalInstance>;
|
|
171
|
-
props: {
|
|
172
|
-
readonly disabled: boolean;
|
|
173
|
-
readonly name: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
174
|
-
readonly label: string;
|
|
175
|
-
readonly closable: boolean;
|
|
176
|
-
readonly lazy: boolean;
|
|
177
|
-
};
|
|
178
|
-
paneName: string | number | undefined;
|
|
179
|
-
active: boolean;
|
|
180
|
-
index: string | undefined;
|
|
181
|
-
isClosable: boolean;
|
|
182
|
-
}, ev: Event) => void;
|
|
92
|
+
onTabClick: (tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void;
|
|
93
|
+
onTabRemove: (tab: TabsPaneContext, ev: Event) => void;
|
|
183
94
|
}>;
|
|
184
|
-
export
|
|
95
|
+
export declare type TabNavInstance = InstanceType<typeof TabNav>;
|
|
96
|
+
export default TabNav;
|
|
@@ -7,14 +7,16 @@ var shared = require('@vue/shared');
|
|
|
7
7
|
var core = require('@vueuse/core');
|
|
8
8
|
require('../../../utils/index.js');
|
|
9
9
|
require('../../../constants/index.js');
|
|
10
|
-
var index = require('../../icon/index.js');
|
|
10
|
+
var index$1 = require('../../icon/index.js');
|
|
11
11
|
var iconsVue = require('@element-plus/icons-vue');
|
|
12
12
|
require('../../../tokens/index.js');
|
|
13
|
+
require('../../../hooks/index.js');
|
|
13
14
|
var tabBar = require('./tab-bar2.js');
|
|
14
15
|
var props = require('../../../utils/vue/props.js');
|
|
15
16
|
var typescript = require('../../../utils/typescript.js');
|
|
16
17
|
var tabs = require('../../../tokens/tabs.js');
|
|
17
18
|
var error = require('../../../utils/error.js');
|
|
19
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
18
20
|
var aria = require('../../../constants/aria.js');
|
|
19
21
|
|
|
20
22
|
const tabNavProps = props.buildProps({
|
|
@@ -43,22 +45,25 @@ const tabNavProps = props.buildProps({
|
|
|
43
45
|
stretch: Boolean
|
|
44
46
|
});
|
|
45
47
|
const COMPONENT_NAME = "ElTabNav";
|
|
46
|
-
|
|
48
|
+
const TabNav = vue.defineComponent({
|
|
47
49
|
name: COMPONENT_NAME,
|
|
48
50
|
props: tabNavProps,
|
|
49
|
-
setup(props, {
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
setup(props, {
|
|
52
|
+
expose
|
|
53
|
+
}) {
|
|
52
54
|
const rootTabs = vue.inject(tabs.tabsRootContextKey);
|
|
53
55
|
if (!rootTabs)
|
|
54
|
-
error.throwError(COMPONENT_NAME,
|
|
56
|
+
error.throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`);
|
|
57
|
+
const ns = index.useNamespace("tabs");
|
|
58
|
+
const visibility = core.useDocumentVisibility();
|
|
59
|
+
const focused = core.useWindowFocus();
|
|
60
|
+
const navScroll$ = vue.ref();
|
|
61
|
+
const nav$ = vue.ref();
|
|
62
|
+
const el$ = vue.ref();
|
|
55
63
|
const scrollable = vue.ref(false);
|
|
56
64
|
const navOffset = vue.ref(0);
|
|
57
65
|
const isFocus = vue.ref(false);
|
|
58
66
|
const focusable = vue.ref(true);
|
|
59
|
-
const navScroll$ = vue.ref();
|
|
60
|
-
const nav$ = vue.ref();
|
|
61
|
-
const el$ = vue.ref();
|
|
62
67
|
const sizeName = vue.computed(() => ["top", "bottom"].includes(rootTabs.props.tabPosition) ? "width" : "height");
|
|
63
68
|
const navStyle = vue.computed(() => {
|
|
64
69
|
const dir = sizeName.value === "width" ? "X" : "Y";
|
|
@@ -142,7 +147,12 @@ var TabNav = vue.defineComponent({
|
|
|
142
147
|
};
|
|
143
148
|
const changeTab = (e) => {
|
|
144
149
|
const code = e.code;
|
|
145
|
-
const {
|
|
150
|
+
const {
|
|
151
|
+
up,
|
|
152
|
+
down,
|
|
153
|
+
left,
|
|
154
|
+
right
|
|
155
|
+
} = aria.EVENT_CODE;
|
|
146
156
|
if (![up, down, left, right].includes(code))
|
|
147
157
|
return;
|
|
148
158
|
const tabList = Array.from(e.currentTarget.querySelectorAll("[role=tab]"));
|
|
@@ -192,93 +202,67 @@ var TabNav = vue.defineComponent({
|
|
|
192
202
|
removeFocus
|
|
193
203
|
});
|
|
194
204
|
return () => {
|
|
195
|
-
const scrollBtn = scrollable.value ? [
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
],
|
|
208
|
-
onClick: scrollNext
|
|
209
|
-
}, [vue.h(index.ElIcon, {}, { default: () => vue.h(iconsVue.ArrowRight) })])
|
|
210
|
-
] : null;
|
|
211
|
-
const tabs = props.panes.map((pane, index$1) => {
|
|
205
|
+
const scrollBtn = scrollable.value ? [vue.createVNode("span", {
|
|
206
|
+
"class": [ns.e("nav-prev"), ns.is("disabled", !scrollable.value.prev)],
|
|
207
|
+
"onClick": scrollPrev
|
|
208
|
+
}, [vue.createVNode(index$1.ElIcon, null, {
|
|
209
|
+
default: () => [vue.createVNode(iconsVue.ArrowLeft, null, null)]
|
|
210
|
+
})]), vue.createVNode("span", {
|
|
211
|
+
"class": [ns.e("nav-next"), ns.is("disabled", !scrollable.value.next)],
|
|
212
|
+
"onClick": scrollNext
|
|
213
|
+
}, [vue.createVNode(index$1.ElIcon, null, {
|
|
214
|
+
default: () => [vue.createVNode(iconsVue.ArrowRight, null, null)]
|
|
215
|
+
})])] : null;
|
|
216
|
+
const tabs = props.panes.map((pane, index) => {
|
|
212
217
|
var _a, _b;
|
|
213
|
-
const tabName = pane.props.name || pane.index || `${index
|
|
218
|
+
const tabName = pane.props.name || pane.index || `${index}`;
|
|
214
219
|
const closable = pane.isClosable || props.editable;
|
|
215
|
-
pane.index = `${index
|
|
216
|
-
const btnClose = closable ? vue.
|
|
217
|
-
class: "is-icon-close",
|
|
218
|
-
onClick: (ev) => props.onTabRemove(pane, ev)
|
|
219
|
-
}, {
|
|
220
|
+
pane.index = `${index}`;
|
|
221
|
+
const btnClose = closable ? vue.createVNode(index$1.ElIcon, {
|
|
222
|
+
"class": "is-icon-close",
|
|
223
|
+
"onClick": (ev) => props.onTabRemove(pane, ev)
|
|
224
|
+
}, {
|
|
225
|
+
default: () => [vue.createVNode(iconsVue.Close, null, null)]
|
|
226
|
+
}) : null;
|
|
220
227
|
const tabLabelContent = ((_b = (_a = pane.instance.slots).label) == null ? void 0 : _b.call(_a)) || pane.props.label;
|
|
221
228
|
const tabindex = pane.active ? 0 : -1;
|
|
222
|
-
return vue.
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
"is-disabled": pane.props.disabled,
|
|
228
|
-
"is-closable": closable,
|
|
229
|
-
"is-focus": isFocus
|
|
230
|
-
},
|
|
231
|
-
id: `tab-${tabName}`,
|
|
232
|
-
key: `tab-${tabName}`,
|
|
229
|
+
return vue.createVNode("div", {
|
|
230
|
+
"ref": `tab-${tabName}`,
|
|
231
|
+
"class": [ns.e("item"), ns.is(rootTabs.props.tabPosition), ns.is("active", pane.active), ns.is("disabled", pane.props.disabled), ns.is("closable", closable), ns.is("focus", isFocus.value)],
|
|
232
|
+
"id": `tab-${tabName}`,
|
|
233
|
+
"key": `tab-${tabName}`,
|
|
233
234
|
"aria-controls": `pane-${tabName}`,
|
|
234
|
-
role: "tab",
|
|
235
|
+
"role": "tab",
|
|
235
236
|
"aria-selected": pane.active,
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
onClick: (ev) => {
|
|
237
|
+
"tabindex": tabindex,
|
|
238
|
+
"onFocus": () => setFocus(),
|
|
239
|
+
"onBlur": () => removeFocus(),
|
|
240
|
+
"onClick": (ev) => {
|
|
241
241
|
removeFocus();
|
|
242
242
|
props.onTabClick(pane, tabName, ev);
|
|
243
243
|
},
|
|
244
|
-
onKeydown: (ev) => {
|
|
244
|
+
"onKeydown": (ev) => {
|
|
245
245
|
if (closable && (ev.code === aria.EVENT_CODE.delete || ev.code === aria.EVENT_CODE.backspace)) {
|
|
246
246
|
props.onTabRemove(pane, ev);
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
|
-
}, [tabLabelContent, btnClose]);
|
|
249
|
+
}, [...[tabLabelContent, btnClose]]);
|
|
250
250
|
});
|
|
251
|
-
return vue.
|
|
252
|
-
ref: el$,
|
|
253
|
-
class: [
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
"el-tabs__nav",
|
|
267
|
-
`is-${rootTabs.props.tabPosition}`,
|
|
268
|
-
props.stretch && ["top", "bottom"].includes(rootTabs.props.tabPosition) ? "is-stretch" : ""
|
|
269
|
-
],
|
|
270
|
-
ref: nav$,
|
|
271
|
-
style: navStyle.value,
|
|
272
|
-
role: "tablist",
|
|
273
|
-
onKeydown: changeTab
|
|
274
|
-
}, [
|
|
275
|
-
!props.type ? vue.h(tabBar["default"], {
|
|
276
|
-
tabs: [...props.panes]
|
|
277
|
-
}) : null,
|
|
278
|
-
tabs
|
|
279
|
-
])
|
|
280
|
-
])
|
|
281
|
-
]);
|
|
251
|
+
return vue.createVNode("div", {
|
|
252
|
+
"ref": el$,
|
|
253
|
+
"class": [ns.e("nav-wrap"), ns.is("scrollable", !!scrollable.value), ns.is(rootTabs.props.tabPosition)]
|
|
254
|
+
}, [scrollBtn, vue.createVNode("div", {
|
|
255
|
+
"class": ns.e("nav-scroll"),
|
|
256
|
+
"ref": navScroll$
|
|
257
|
+
}, [vue.createVNode("div", {
|
|
258
|
+
"class": [ns.e("nav"), ns.is(rootTabs.props.tabPosition), ns.is("stretch", props.stretch && ["top", "bottom"].includes(rootTabs.props.tabPosition))],
|
|
259
|
+
"ref": nav$,
|
|
260
|
+
"style": navStyle.value,
|
|
261
|
+
"role": "tablist",
|
|
262
|
+
"onKeydown": changeTab
|
|
263
|
+
}, [...[!props.type ? vue.createVNode(tabBar["default"], {
|
|
264
|
+
"tabs": [...props.panes]
|
|
265
|
+
}, null) : null, tabs]])])]);
|
|
282
266
|
};
|
|
283
267
|
}
|
|
284
268
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-nav.js","sources":["../../../../../../packages/components/tabs/src/tab-nav.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n h,\n inject,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { NOOP, capitalize } from '@vue/shared'\nimport {\n useDocumentVisibility,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\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 { tabsRootContextKey } from '@element-plus/tokens'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nexport interface 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 onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: string | number, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'ElTabNav'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs)\n throwError(COMPONENT_NAME, `ElTabNav must be nested inside ElTabs`)\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 navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\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 = () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\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 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 const currentOffset = navOffset.value\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]'\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() // 改变焦点元素\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 return () => {\n const scrollBtn = scrollable.value\n ? [\n h(\n 'span',\n {\n class: [\n 'el-tabs__nav-prev',\n scrollable.value.prev ? '' : 'is-disabled',\n ],\n onClick: scrollPrev,\n },\n [h(ElIcon, {}, { default: () => h(ArrowLeft) })]\n ),\n h(\n 'span',\n {\n class: [\n 'el-tabs__nav-next',\n scrollable.value.next ? '' : 'is-disabled',\n ],\n onClick: scrollNext,\n },\n [h(ElIcon, {}, { default: () => h(ArrowRight) })]\n ),\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const tabName = pane.props.name || pane.index || `${index}`\n const closable = pane.isClosable || props.editable\n pane.index = `${index}`\n\n const btnClose = closable\n ? h(\n ElIcon,\n {\n class: 'is-icon-close',\n onClick: (ev: MouseEvent) => props.onTabRemove(pane, ev),\n },\n { default: () => h(Close) }\n )\n : null\n\n const tabLabelContent =\n pane.instance.slots.label?.() || pane.props.label\n const tabindex = pane.active ? 0 : -1\n\n return h(\n 'div',\n {\n class: {\n 'el-tabs__item': true,\n [`is-${rootTabs.props.tabPosition}`]: true,\n 'is-active': pane.active,\n 'is-disabled': pane.props.disabled,\n 'is-closable': closable,\n 'is-focus': isFocus,\n },\n id: `tab-${tabName}`,\n key: `tab-${tabName}`,\n 'aria-controls': `pane-${tabName}`,\n role: 'tab',\n 'aria-selected': pane.active,\n ref: `tab-${tabName}`,\n tabindex,\n onFocus: () => setFocus(),\n onBlur: () => removeFocus(),\n onClick: (ev: MouseEvent) => {\n removeFocus()\n props.onTabClick(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 props.onTabRemove(pane, ev)\n }\n },\n },\n [tabLabelContent, btnClose]\n )\n })\n\n return h(\n 'div',\n {\n ref: el$,\n class: [\n 'el-tabs__nav-wrap',\n scrollable.value ? 'is-scrollable' : '',\n `is-${rootTabs.props.tabPosition}`,\n ],\n },\n [\n scrollBtn,\n h(\n 'div',\n {\n class: 'el-tabs__nav-scroll',\n ref: navScroll$,\n },\n [\n h(\n 'div',\n {\n class: [\n 'el-tabs__nav',\n `is-${rootTabs.props.tabPosition}`,\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'is-stretch'\n : '',\n ],\n ref: nav$,\n style: navStyle.value,\n role: 'tablist',\n onKeydown: changeTab,\n },\n [\n !props.type\n ? h(TabBar, {\n tabs: [...props.panes],\n })\n : null,\n tabs,\n ]\n ),\n ]\n ),\n ]\n )\n }\n },\n})\n"],"names":["buildProps","definePropType","mutable","NOOP","defineComponent","useDocumentVisibility","useWindowFocus","inject","tabsRootContextKey","throwError","ref","computed","capitalize","EVENT_CODE","watch","useResizeObserver","onMounted","onUpdated","h","ElIcon","ArrowLeft","ArrowRight","index","Close","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 inject,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\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 { tabsRootContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport TabBar from './tab-bar.vue'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-plus/tokens'\nimport type { TabPanelName } 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 onTabClick: {\n type: definePropType<\n (tab: TabsPaneContext, tabName: TabPanelName, ev: Event) => void\n >(Function),\n default: NOOP,\n },\n onTabRemove: {\n type: definePropType<(tab: TabsPaneContext, ev: Event) => void>(Function),\n default: NOOP,\n },\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n\n setup(props, { expose }) {\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 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 = () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\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 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 const currentOffset = navOffset.value\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]'\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() // 改变焦点元素\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 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 tabName = pane.props.name || pane.index || `${index}`\n const closable: boolean = pane.isClosable || props.editable\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // @ts-expect-error native event\n onClick={(ev: MouseEvent) => props.onTabRemove(pane, ev)}\n >\n <Close />\n </ElIcon>\n ) : null\n\n const tabLabelContent =\n pane.instance.slots.label?.() || pane.props.label\n const tabindex = pane.active ? 0 : -1\n\n return (\n <div\n ref={`tab-${tabName}`}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', pane.props.disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${tabName}`}\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 props.onTabClick(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 props.onTabRemove(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 ? <TabBar tabs={[...props.panes]} /> : 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","onTabClick","Function","NOOP","onTabRemove","values","stretch","COMPONENT_NAME","TabNav","defineComponent","name","props","setup","expose","inject","tabsRootContextKey","throwError","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","scrollable","navOffset","isFocus","focusable","sizeName","computed","includes","rootTabs","tabPosition","navStyle","dir","value","transform","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","querySelector","navScroll","navScrollBounding","maxOffset","isHorizontal","offsetWidth","activeTabBounding","right","top","bottom","update","navSize","next","changeTab","EVENT_CODE","up","down","left","currentTarget","currentIndex","nextIndex","tabList","watch","focus","click","setFocus","setTimeout","_createVNode","ElIcon","ArrowLeft","useResizeObserver","onMounted","onUpdated","ArrowRight","removeFocus","scrollBtn","Close","map","pane","tabName","closable","btnClose","ev","tabindex","active","tabLabelContent","TabBar"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ExtractPropTypes } from 'vue';
|
|
2
|
+
import type TabPane from './tab-pane.vue';
|
|
2
3
|
export declare const tabPaneProps: {
|
|
3
4
|
readonly label: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
4
5
|
readonly name: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
|
|
@@ -7,3 +8,4 @@ export declare const tabPaneProps: {
|
|
|
7
8
|
readonly lazy: BooleanConstructor;
|
|
8
9
|
};
|
|
9
10
|
export declare type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>;
|
|
11
|
+
export declare type TabPaneInstance = InstanceType<typeof TabPane>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-pane.js","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const tabPaneProps = buildProps({\n label: {\n type: String,\n default: '',\n },\n name: {\n type: [String, Number],\n default: '',\n },\n closable: Boolean,\n disabled: Boolean,\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n"],"names":["buildProps"],"mappings":";;;;;;;AACY,MAAC,YAAY,GAAGA,gBAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"tab-pane.js","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n label: {\n type: String,\n default: '',\n },\n name: {\n type: [String, Number],\n default: '',\n },\n closable: Boolean,\n disabled: Boolean,\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane>\n"],"names":["buildProps"],"mappings":";;;;;;;AACY,MAAC,YAAY,GAAGA,gBAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
|
|
@@ -5,7 +5,36 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5
5
|
readonly disabled: BooleanConstructor;
|
|
6
6
|
readonly lazy: BooleanConstructor;
|
|
7
7
|
}, {
|
|
8
|
+
COMPONENT_NAME: string;
|
|
9
|
+
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
10
|
+
readonly label: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
|
|
11
|
+
readonly name: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
|
|
12
|
+
readonly closable: BooleanConstructor;
|
|
13
|
+
readonly disabled: BooleanConstructor;
|
|
14
|
+
readonly lazy: BooleanConstructor;
|
|
15
|
+
}>> & {
|
|
16
|
+
[x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
|
|
17
|
+
}>>;
|
|
18
|
+
instance: import("vue").ComponentInternalInstance;
|
|
19
|
+
tabsRoot: import("element-plus/es/tokens").TabsRootContext;
|
|
20
|
+
ns: {
|
|
21
|
+
namespace: import("vue").ComputedRef<string>;
|
|
22
|
+
b: (blockSuffix?: string) => string;
|
|
23
|
+
e: (element?: string | undefined) => string;
|
|
24
|
+
m: (modifier?: string | undefined) => string;
|
|
25
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
26
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
27
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
28
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
29
|
+
is: {
|
|
30
|
+
(name: string, state: boolean | undefined): string;
|
|
31
|
+
(name: string): string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
index: import("vue").Ref<string | undefined>;
|
|
35
|
+
isClosable: import("vue").ComputedRef<boolean>;
|
|
8
36
|
active: Readonly<import("vue").Ref<boolean>>;
|
|
37
|
+
loaded: import("vue").Ref<boolean>;
|
|
9
38
|
paneName: import("vue").ComputedRef<import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined>;
|
|
10
39
|
shouldBeRender: Readonly<import("vue").Ref<boolean>>;
|
|
11
40
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -6,25 +6,32 @@ var vue = require('vue');
|
|
|
6
6
|
var core = require('@vueuse/core');
|
|
7
7
|
require('../../../tokens/index.js');
|
|
8
8
|
require('../../../utils/index.js');
|
|
9
|
+
require('../../../hooks/index.js');
|
|
9
10
|
var tabPane = require('./tab-pane.js');
|
|
10
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
11
11
|
var tabs = require('../../../tokens/tabs.js');
|
|
12
12
|
var error = require('../../../utils/error.js');
|
|
13
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
13
14
|
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
name:
|
|
15
|
+
const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby"];
|
|
16
|
+
const __default__ = {
|
|
17
|
+
name: "ElTabPane"
|
|
18
|
+
};
|
|
19
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
20
|
+
...__default__,
|
|
17
21
|
props: tabPane.tabPaneProps,
|
|
18
|
-
setup(
|
|
22
|
+
setup(__props) {
|
|
23
|
+
const props = __props;
|
|
24
|
+
const COMPONENT_NAME = "ElTabPane";
|
|
19
25
|
const instance = vue.getCurrentInstance();
|
|
20
26
|
const tabsRoot = vue.inject(tabs.tabsRootContextKey);
|
|
21
27
|
if (!tabsRoot)
|
|
22
|
-
error.throwError(COMPONENT_NAME,
|
|
23
|
-
const
|
|
28
|
+
error.throwError(COMPONENT_NAME, "usage: <el-tabs><el-tab-pane /></el-tabs/>");
|
|
29
|
+
const ns = index.useNamespace("tab-pane");
|
|
30
|
+
const index$1 = vue.ref();
|
|
24
31
|
const isClosable = vue.computed(() => props.closable || tabsRoot.props.closable);
|
|
25
|
-
const active = core.eagerComputed(() => tabsRoot.currentName.value === (props.name || index.value));
|
|
32
|
+
const active = core.eagerComputed(() => tabsRoot.currentName.value === (props.name || index$1.value));
|
|
26
33
|
const loaded = vue.ref(active.value);
|
|
27
|
-
const paneName = vue.computed(() => props.name || index.value);
|
|
34
|
+
const paneName = vue.computed(() => props.name || index$1.value);
|
|
28
35
|
const shouldBeRender = core.eagerComputed(() => !props.lazy || loaded.value || active.value);
|
|
29
36
|
vue.watch(active, (val) => {
|
|
30
37
|
if (val)
|
|
@@ -36,32 +43,25 @@ const _sfc_main = vue.defineComponent({
|
|
|
36
43
|
props,
|
|
37
44
|
paneName,
|
|
38
45
|
active,
|
|
39
|
-
index,
|
|
46
|
+
index: index$1,
|
|
40
47
|
isClosable
|
|
41
48
|
}));
|
|
42
|
-
return {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
49
|
+
return (_ctx, _cache) => {
|
|
50
|
+
return vue.unref(shouldBeRender) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
51
|
+
key: 0,
|
|
52
|
+
id: `pane-${vue.unref(paneName)}`,
|
|
53
|
+
class: vue.normalizeClass(vue.unref(ns).b()),
|
|
54
|
+
role: "tabpanel",
|
|
55
|
+
"aria-hidden": !vue.unref(active),
|
|
56
|
+
"aria-labelledby": `tab-${vue.unref(paneName)}`
|
|
57
|
+
}, [
|
|
58
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
59
|
+
], 10, _hoisted_1)), [
|
|
60
|
+
[vue.vShow, vue.unref(active)]
|
|
61
|
+
]) : vue.createCommentVNode("v-if", true);
|
|
46
62
|
};
|
|
47
63
|
}
|
|
48
64
|
});
|
|
49
|
-
const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby"];
|
|
50
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
51
|
-
return _ctx.shouldBeRender ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
52
|
-
key: 0,
|
|
53
|
-
id: `pane-${_ctx.paneName}`,
|
|
54
|
-
class: "el-tab-pane",
|
|
55
|
-
role: "tabpanel",
|
|
56
|
-
"aria-hidden": !_ctx.active,
|
|
57
|
-
"aria-labelledby": `tab-${_ctx.paneName}`
|
|
58
|
-
}, [
|
|
59
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
60
|
-
], 8, _hoisted_1)), [
|
|
61
|
-
[vue.vShow, _ctx.active]
|
|
62
|
-
]) : vue.createCommentVNode("v-if", true);
|
|
63
|
-
}
|
|
64
|
-
var TabPane = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
|
|
65
65
|
|
|
66
|
-
exports["default"] =
|
|
66
|
+
exports["default"] = _sfc_main;
|
|
67
67
|
//# sourceMappingURL=tab-pane2.js.map
|