@element-plus/nightly 0.0.20250916 → 0.0.20250918
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/attributes.json +1 -1
- package/dist/index.full.js +68 -30
- package/dist/index.full.min.js +12 -12
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +13 -13
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +68 -30
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/anchor/index.mjs +1 -1
- package/es/components/anchor/src/anchor-link.mjs +5 -81
- package/es/components/anchor/src/anchor-link.mjs.map +1 -1
- package/es/components/anchor/src/anchor-link2.mjs +81 -5
- package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
- package/es/components/badge/index.mjs +2 -2
- package/es/components/badge/src/badge.mjs +71 -32
- package/es/components/badge/src/badge.mjs.map +1 -1
- package/es/components/badge/src/badge2.mjs +32 -71
- package/es/components/badge/src/badge2.mjs.map +1 -1
- package/es/components/button/index.mjs +2 -2
- package/es/components/button/src/button-group.mjs +1 -1
- package/es/components/button/src/button.mjs +65 -88
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button2.mjs +88 -65
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/cascader-panel/src/store.d.ts +1 -1
- package/es/components/cascader-panel/src/store.mjs.map +1 -1
- package/es/components/col/index.mjs +2 -2
- package/es/components/col/src/col.mjs +43 -64
- package/es/components/col/src/col.mjs.map +1 -1
- package/es/components/col/src/col2.mjs +64 -43
- package/es/components/col/src/col2.mjs.map +1 -1
- package/es/components/collapse/index.mjs +2 -2
- package/es/components/collapse/src/collapse-item.mjs +95 -18
- package/es/components/collapse/src/collapse-item.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item2.mjs +18 -95
- package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
- package/es/components/countdown/index.mjs +2 -2
- package/es/components/countdown/src/countdown.mjs +79 -21
- package/es/components/countdown/src/countdown.mjs.map +1 -1
- package/es/components/countdown/src/countdown2.mjs +21 -79
- package/es/components/countdown/src/countdown2.mjs.map +1 -1
- package/es/components/date-picker/src/instance.d.ts +1 -1
- package/es/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -0
- package/es/components/date-picker-panel/src/composables/use-basic-date-table.mjs +4 -0
- package/es/components/date-picker-panel/src/composables/use-basic-date-table.mjs.map +1 -1
- package/es/components/date-picker-panel/src/date-picker-com/basic-date-table.mjs +3 -2
- package/es/components/date-picker-panel/src/date-picker-com/basic-date-table.mjs.map +1 -1
- package/es/components/date-picker-panel/src/instance.d.ts +1 -1
- package/es/components/descriptions/index.mjs +2 -2
- package/es/components/descriptions/src/description.mjs +26 -127
- package/es/components/descriptions/src/description.mjs.map +1 -1
- package/es/components/descriptions/src/description2.mjs +127 -26
- package/es/components/descriptions/src/description2.mjs.map +1 -1
- package/es/components/divider/index.mjs +2 -2
- package/es/components/divider/src/divider.mjs +16 -34
- package/es/components/divider/src/divider.mjs.map +1 -1
- package/es/components/divider/src/divider2.mjs +34 -16
- package/es/components/divider/src/divider2.mjs.map +1 -1
- package/es/components/drawer/index.mjs +2 -2
- package/es/components/drawer/src/drawer.mjs +27 -192
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/drawer/src/drawer2.mjs +192 -27
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.d.ts +1 -1
- package/es/components/dropdown/src/dropdown.mjs.map +1 -1
- package/es/components/dropdown/src/tokens.d.ts +1 -1
- package/es/components/dropdown/src/tokens.mjs.map +1 -1
- package/es/components/image/index.mjs +2 -2
- package/es/components/image/src/image.d.ts +1 -0
- package/es/components/image/src/image.mjs +69 -227
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image.vue.d.ts +7 -0
- package/es/components/image/src/image2.mjs +234 -65
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.d.ts +2 -0
- package/es/components/image-viewer/src/image-viewer.mjs +5 -0
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +9 -0
- package/es/components/image-viewer/src/image-viewer2.mjs +35 -24
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.mjs +18 -18
- package/es/components/input-tag/src/composables/use-drag-tag.d.ts +1 -1
- package/es/components/input-tag/src/composables/use-drag-tag.mjs.map +1 -1
- package/es/components/mention/index.mjs +2 -2
- package/es/components/mention/src/mention-dropdown.mjs +166 -15
- package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
- package/es/components/mention/src/mention-dropdown2.mjs +15 -166
- package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
- package/es/components/mention/src/mention.mjs +74 -303
- package/es/components/mention/src/mention.mjs.map +1 -1
- package/es/components/mention/src/mention2.mjs +303 -74
- package/es/components/mention/src/mention2.mjs.map +1 -1
- package/es/components/pagination/src/components/next.mjs +35 -18
- package/es/components/pagination/src/components/next.mjs.map +1 -1
- package/es/components/pagination/src/components/next2.mjs +18 -35
- package/es/components/pagination/src/components/next2.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.mjs +71 -23
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes2.mjs +23 -71
- package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +2 -2
- package/es/components/popconfirm/src/popconfirm.mjs +1 -1
- package/es/components/segmented/index.mjs +2 -2
- package/es/components/segmented/src/segmented.mjs +42 -170
- package/es/components/segmented/src/segmented.mjs.map +1 -1
- package/es/components/segmented/src/segmented2.mjs +170 -42
- package/es/components/segmented/src/segmented2.mjs.map +1 -1
- package/es/components/select/src/select.d.ts +1 -1
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/useSelect.d.ts +1 -1
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/src/defaults.d.ts +1 -1
- package/es/components/select-v2/src/defaults.mjs.map +1 -1
- package/es/components/skeleton/index.mjs +4 -4
- package/es/components/skeleton/src/skeleton-item.mjs +17 -22
- package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton-item2.mjs +22 -17
- package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton.mjs +18 -48
- package/es/components/skeleton/src/skeleton.mjs.map +1 -1
- package/es/components/skeleton/src/skeleton2.mjs +48 -18
- package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
- package/es/components/slider/index.mjs +2 -2
- package/es/components/slider/src/slider.mjs +92 -238
- package/es/components/slider/src/slider.mjs.map +1 -1
- package/es/components/slider/src/slider2.mjs +238 -92
- package/es/components/slider/src/slider2.mjs.map +1 -1
- package/es/components/splitter/index.mjs +2 -2
- package/es/components/splitter/src/split-panel.mjs +157 -17
- package/es/components/splitter/src/split-panel.mjs.map +1 -1
- package/es/components/splitter/src/split-panel2.mjs +17 -157
- package/es/components/splitter/src/split-panel2.mjs.map +1 -1
- package/es/components/splitter/src/splitter2.mjs.map +1 -1
- package/es/components/table/src/table-header/index.d.ts +1 -1
- package/es/components/table/src/table-header/index.mjs.map +1 -1
- package/es/components/table-v2/src/composables/use-styles.d.ts +1 -2
- package/es/components/table-v2/src/composables/use-styles.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.d.ts +4 -4
- package/es/components/tabs/src/tab-bar.vue.d.ts +9 -9
- package/es/components/tabs/src/tab-nav.d.ts +15 -15
- package/es/components/tabs/src/tab-nav.mjs +1 -1
- package/es/components/tabs/src/tab-nav.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.d.ts +1 -1
- package/es/components/tabs/src/tab-pane.mjs +4 -1
- package/es/components/tabs/src/tab-pane.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane.vue.d.ts +3 -3
- package/es/components/tabs/src/tab-pane2.mjs +4 -1
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/tabs/src/tabs.d.ts +1 -1
- package/es/components/tooltip/index.mjs +2 -2
- package/es/components/tooltip/src/tooltip.mjs +166 -30
- package/es/components/tooltip/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip2.mjs +30 -166
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip-v2/index.mjs +2 -2
- package/es/components/tooltip-v2/src/content.mjs +110 -48
- package/es/components/tooltip-v2/src/content.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content2.mjs +48 -110
- package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/root.mjs +79 -17
- package/es/components/tooltip-v2/src/root.mjs.map +1 -1
- package/es/components/tooltip-v2/src/root2.mjs +17 -79
- package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
- package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
- package/es/components/tour/index.mjs +2 -2
- package/es/components/tour/src/tour.mjs +69 -154
- package/es/components/tour/src/tour.mjs.map +1 -1
- package/es/components/tour/src/tour2.mjs +154 -69
- package/es/components/tour/src/tour2.mjs.map +1 -1
- package/es/components/upload/index.mjs +1 -1
- package/es/components/upload/src/upload-list.mjs +25 -173
- package/es/components/upload/src/upload-list.mjs.map +1 -1
- package/es/components/upload/src/upload-list2.mjs +173 -25
- package/es/components/upload/src/upload-list2.mjs.map +1 -1
- package/es/components/upload/src/upload2.mjs +1 -1
- package/es/hooks/use-id/index.d.ts +1 -1
- package/es/hooks/use-id/index.mjs.map +1 -1
- package/es/index.d.ts +53 -34
- package/es/index.mjs +18 -18
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/anchor/index.js +1 -1
- package/lib/components/anchor/src/anchor-link.js +5 -81
- package/lib/components/anchor/src/anchor-link.js.map +1 -1
- package/lib/components/anchor/src/anchor-link2.js +81 -5
- package/lib/components/anchor/src/anchor-link2.js.map +1 -1
- package/lib/components/badge/index.js +2 -2
- package/lib/components/badge/src/badge.js +71 -32
- package/lib/components/badge/src/badge.js.map +1 -1
- package/lib/components/badge/src/badge2.js +32 -71
- package/lib/components/badge/src/badge2.js.map +1 -1
- package/lib/components/button/index.js +2 -2
- package/lib/components/button/src/button-group.js +1 -1
- package/lib/components/button/src/button.js +68 -88
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button2.js +88 -68
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/cascader-panel/src/store.d.ts +1 -1
- package/lib/components/cascader-panel/src/store.js.map +1 -1
- package/lib/components/col/index.js +2 -2
- package/lib/components/col/src/col.js +43 -64
- package/lib/components/col/src/col.js.map +1 -1
- package/lib/components/col/src/col2.js +64 -43
- package/lib/components/col/src/col2.js.map +1 -1
- package/lib/components/collapse/index.js +2 -2
- package/lib/components/collapse/src/collapse-item.js +95 -18
- package/lib/components/collapse/src/collapse-item.js.map +1 -1
- package/lib/components/collapse/src/collapse-item2.js +18 -95
- package/lib/components/collapse/src/collapse-item2.js.map +1 -1
- package/lib/components/countdown/index.js +2 -2
- package/lib/components/countdown/src/countdown.js +79 -22
- package/lib/components/countdown/src/countdown.js.map +1 -1
- package/lib/components/countdown/src/countdown2.js +22 -79
- package/lib/components/countdown/src/countdown2.js.map +1 -1
- package/lib/components/date-picker/src/instance.d.ts +1 -1
- package/lib/components/date-picker-panel/src/composables/use-basic-date-table.d.ts +1 -0
- package/lib/components/date-picker-panel/src/composables/use-basic-date-table.js +4 -0
- package/lib/components/date-picker-panel/src/composables/use-basic-date-table.js.map +1 -1
- package/lib/components/date-picker-panel/src/date-picker-com/basic-date-table.js +3 -2
- package/lib/components/date-picker-panel/src/date-picker-com/basic-date-table.js.map +1 -1
- package/lib/components/date-picker-panel/src/instance.d.ts +1 -1
- package/lib/components/descriptions/index.js +2 -2
- package/lib/components/descriptions/src/description.js +26 -127
- package/lib/components/descriptions/src/description.js.map +1 -1
- package/lib/components/descriptions/src/description2.js +127 -26
- package/lib/components/descriptions/src/description2.js.map +1 -1
- package/lib/components/divider/index.js +2 -2
- package/lib/components/divider/src/divider.js +16 -34
- package/lib/components/divider/src/divider.js.map +1 -1
- package/lib/components/divider/src/divider2.js +34 -16
- package/lib/components/divider/src/divider2.js.map +1 -1
- package/lib/components/drawer/index.js +2 -2
- package/lib/components/drawer/src/drawer.js +28 -192
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/drawer/src/drawer2.js +192 -28
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown.js.map +1 -1
- package/lib/components/dropdown/src/tokens.d.ts +1 -1
- package/lib/components/dropdown/src/tokens.js.map +1 -1
- package/lib/components/image/index.js +2 -2
- package/lib/components/image/src/image.d.ts +1 -0
- package/lib/components/image/src/image.js +69 -226
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image.vue.d.ts +7 -0
- package/lib/components/image/src/image2.js +233 -65
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.d.ts +2 -0
- package/lib/components/image-viewer/src/image-viewer.js +5 -0
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +9 -0
- package/lib/components/image-viewer/src/image-viewer2.js +33 -22
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.js +18 -18
- package/lib/components/input-tag/src/composables/use-drag-tag.d.ts +1 -1
- package/lib/components/input-tag/src/composables/use-drag-tag.js.map +1 -1
- package/lib/components/mention/index.js +2 -2
- package/lib/components/mention/src/mention-dropdown.js +166 -16
- package/lib/components/mention/src/mention-dropdown.js.map +1 -1
- package/lib/components/mention/src/mention-dropdown2.js +16 -166
- package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
- package/lib/components/mention/src/mention.js +74 -301
- package/lib/components/mention/src/mention.js.map +1 -1
- package/lib/components/mention/src/mention2.js +301 -74
- package/lib/components/mention/src/mention2.js.map +1 -1
- package/lib/components/pagination/src/components/next.js +35 -18
- package/lib/components/pagination/src/components/next.js.map +1 -1
- package/lib/components/pagination/src/components/next2.js +18 -35
- package/lib/components/pagination/src/components/next2.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.js +71 -23
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/pagination/src/components/sizes2.js +23 -71
- package/lib/components/pagination/src/components/sizes2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +2 -2
- package/lib/components/popconfirm/src/popconfirm.js +1 -1
- package/lib/components/segmented/index.js +2 -2
- package/lib/components/segmented/src/segmented.js +44 -170
- package/lib/components/segmented/src/segmented.js.map +1 -1
- package/lib/components/segmented/src/segmented2.js +170 -44
- package/lib/components/segmented/src/segmented2.js.map +1 -1
- package/lib/components/select/src/select.d.ts +1 -1
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/useSelect.d.ts +1 -1
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/src/defaults.d.ts +1 -1
- package/lib/components/select-v2/src/defaults.js.map +1 -1
- package/lib/components/skeleton/index.js +4 -4
- package/lib/components/skeleton/src/skeleton-item.js +17 -22
- package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
- package/lib/components/skeleton/src/skeleton-item2.js +22 -17
- package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
- package/lib/components/skeleton/src/skeleton.js +18 -48
- package/lib/components/skeleton/src/skeleton.js.map +1 -1
- package/lib/components/skeleton/src/skeleton2.js +48 -18
- package/lib/components/skeleton/src/skeleton2.js.map +1 -1
- package/lib/components/slider/index.js +2 -2
- package/lib/components/slider/src/slider.js +93 -238
- package/lib/components/slider/src/slider.js.map +1 -1
- package/lib/components/slider/src/slider2.js +238 -93
- package/lib/components/slider/src/slider2.js.map +1 -1
- package/lib/components/splitter/index.js +2 -2
- package/lib/components/splitter/src/split-panel.js +157 -17
- package/lib/components/splitter/src/split-panel.js.map +1 -1
- package/lib/components/splitter/src/split-panel2.js +17 -157
- package/lib/components/splitter/src/split-panel2.js.map +1 -1
- package/lib/components/splitter/src/splitter2.js.map +1 -1
- package/lib/components/table/src/table-header/index.d.ts +1 -1
- package/lib/components/table/src/table-header/index.js.map +1 -1
- package/lib/components/table-v2/src/composables/use-styles.d.ts +1 -2
- package/lib/components/table-v2/src/composables/use-styles.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.d.ts +4 -4
- package/lib/components/tabs/src/tab-bar.vue.d.ts +9 -9
- package/lib/components/tabs/src/tab-nav.d.ts +15 -15
- package/lib/components/tabs/src/tab-nav.js +1 -1
- package/lib/components/tabs/src/tab-nav.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.d.ts +1 -1
- package/lib/components/tabs/src/tab-pane.js +4 -1
- package/lib/components/tabs/src/tab-pane.js.map +1 -1
- package/lib/components/tabs/src/tab-pane.vue.d.ts +3 -3
- package/lib/components/tabs/src/tab-pane2.js +4 -1
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/tabs/src/tabs.d.ts +1 -1
- package/lib/components/tooltip/index.js +2 -2
- package/lib/components/tooltip/src/tooltip.js +166 -34
- package/lib/components/tooltip/src/tooltip.js.map +1 -1
- package/lib/components/tooltip/src/tooltip2.js +34 -166
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip-v2/index.js +2 -2
- package/lib/components/tooltip-v2/src/content.js +110 -48
- package/lib/components/tooltip-v2/src/content.js.map +1 -1
- package/lib/components/tooltip-v2/src/content2.js +48 -110
- package/lib/components/tooltip-v2/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/src/root.js +79 -17
- package/lib/components/tooltip-v2/src/root.js.map +1 -1
- package/lib/components/tooltip-v2/src/root2.js +17 -79
- package/lib/components/tooltip-v2/src/root2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +2 -2
- package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
- package/lib/components/tour/index.js +2 -2
- package/lib/components/tour/src/tour.js +69 -153
- package/lib/components/tour/src/tour.js.map +1 -1
- package/lib/components/tour/src/tour2.js +153 -69
- package/lib/components/tour/src/tour2.js.map +1 -1
- package/lib/components/upload/index.js +1 -1
- package/lib/components/upload/src/upload-list.js +26 -173
- package/lib/components/upload/src/upload-list.js.map +1 -1
- package/lib/components/upload/src/upload-list2.js +173 -26
- package/lib/components/upload/src/upload-list2.js.map +1 -1
- package/lib/components/upload/src/upload2.js +1 -1
- package/lib/hooks/use-id/index.d.ts +1 -1
- package/lib/hooks/use-id/index.js.map +1 -1
- package/lib/index.d.ts +53 -34
- package/lib/index.js +18 -18
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/tags.json +1 -1
- package/web-types.json +1 -1
@@ -9,9 +9,9 @@ export declare const tabNavProps: {
|
|
9
9
|
props: {
|
10
10
|
readonly label: string;
|
11
11
|
readonly disabled: boolean;
|
12
|
-
readonly closable: boolean;
|
13
12
|
readonly lazy: boolean;
|
14
13
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
14
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
15
15
|
};
|
16
16
|
paneName: TabPaneName | undefined;
|
17
17
|
active: boolean;
|
@@ -25,9 +25,9 @@ export declare const tabNavProps: {
|
|
25
25
|
props: {
|
26
26
|
readonly label: string;
|
27
27
|
readonly disabled: boolean;
|
28
|
-
readonly closable: boolean;
|
29
28
|
readonly lazy: boolean;
|
30
29
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
30
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
31
31
|
};
|
32
32
|
paneName: TabPaneName | undefined;
|
33
33
|
active: boolean;
|
@@ -41,9 +41,9 @@ export declare const tabNavProps: {
|
|
41
41
|
props: {
|
42
42
|
readonly label: string;
|
43
43
|
readonly disabled: boolean;
|
44
|
-
readonly closable: boolean;
|
45
44
|
readonly lazy: boolean;
|
46
45
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
46
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
47
47
|
};
|
48
48
|
paneName: TabPaneName | undefined;
|
49
49
|
active: boolean;
|
@@ -57,9 +57,9 @@ export declare const tabNavProps: {
|
|
57
57
|
props: {
|
58
58
|
readonly label: string;
|
59
59
|
readonly disabled: boolean;
|
60
|
-
readonly closable: boolean;
|
61
60
|
readonly lazy: boolean;
|
62
61
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
62
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
63
63
|
};
|
64
64
|
paneName: TabPaneName | undefined;
|
65
65
|
active: boolean;
|
@@ -87,9 +87,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
87
87
|
props: {
|
88
88
|
readonly label: string;
|
89
89
|
readonly disabled: boolean;
|
90
|
-
readonly closable: boolean;
|
91
90
|
readonly lazy: boolean;
|
92
91
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
92
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
93
93
|
};
|
94
94
|
paneName: TabPaneName | undefined;
|
95
95
|
active: boolean;
|
@@ -103,9 +103,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
103
103
|
props: {
|
104
104
|
readonly label: string;
|
105
105
|
readonly disabled: boolean;
|
106
|
-
readonly closable: boolean;
|
107
106
|
readonly lazy: boolean;
|
108
107
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
108
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
109
109
|
};
|
110
110
|
paneName: TabPaneName | undefined;
|
111
111
|
active: boolean;
|
@@ -119,9 +119,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
119
119
|
props: {
|
120
120
|
readonly label: string;
|
121
121
|
readonly disabled: boolean;
|
122
|
-
readonly closable: boolean;
|
123
122
|
readonly lazy: boolean;
|
124
123
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
124
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
125
125
|
};
|
126
126
|
paneName: TabPaneName | undefined;
|
127
127
|
active: boolean;
|
@@ -135,9 +135,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
135
135
|
props: {
|
136
136
|
readonly label: string;
|
137
137
|
readonly disabled: boolean;
|
138
|
-
readonly closable: boolean;
|
139
138
|
readonly lazy: boolean;
|
140
139
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
140
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
141
141
|
};
|
142
142
|
paneName: TabPaneName | undefined;
|
143
143
|
active: boolean;
|
@@ -160,9 +160,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
160
160
|
props: {
|
161
161
|
readonly label: string;
|
162
162
|
readonly disabled: boolean;
|
163
|
-
readonly closable: boolean;
|
164
163
|
readonly lazy: boolean;
|
165
164
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
165
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
166
166
|
};
|
167
167
|
paneName: TabPaneName | undefined;
|
168
168
|
active: boolean;
|
@@ -176,9 +176,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
176
176
|
props: {
|
177
177
|
readonly label: string;
|
178
178
|
readonly disabled: boolean;
|
179
|
-
readonly closable: boolean;
|
180
179
|
readonly lazy: boolean;
|
181
180
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
181
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
182
182
|
};
|
183
183
|
paneName: TabPaneName | undefined;
|
184
184
|
active: boolean;
|
@@ -192,9 +192,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
192
192
|
props: {
|
193
193
|
readonly label: string;
|
194
194
|
readonly disabled: boolean;
|
195
|
-
readonly closable: boolean;
|
196
195
|
readonly lazy: boolean;
|
197
196
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
197
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
198
198
|
};
|
199
199
|
paneName: TabPaneName | undefined;
|
200
200
|
active: boolean;
|
@@ -208,9 +208,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
208
208
|
props: {
|
209
209
|
readonly label: string;
|
210
210
|
readonly disabled: boolean;
|
211
|
-
readonly closable: boolean;
|
212
211
|
readonly lazy: boolean;
|
213
212
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
213
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
214
214
|
};
|
215
215
|
paneName: TabPaneName | undefined;
|
216
216
|
active: boolean;
|
@@ -230,9 +230,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
230
230
|
props: {
|
231
231
|
readonly label: string;
|
232
232
|
readonly disabled: boolean;
|
233
|
-
readonly closable: boolean;
|
234
233
|
readonly lazy: boolean;
|
235
234
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
235
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
236
236
|
};
|
237
237
|
paneName: TabPaneName | undefined;
|
238
238
|
active: boolean;
|
@@ -247,9 +247,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
247
247
|
props: {
|
248
248
|
readonly label: string;
|
249
249
|
readonly disabled: boolean;
|
250
|
-
readonly closable: boolean;
|
251
250
|
readonly lazy: boolean;
|
252
251
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
252
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
253
253
|
};
|
254
254
|
paneName: TabPaneName | undefined;
|
255
255
|
active: boolean;
|
@@ -268,9 +268,9 @@ declare const TabNav: import("vue").DefineComponent<{
|
|
268
268
|
props: {
|
269
269
|
readonly label: string;
|
270
270
|
readonly disabled: boolean;
|
271
|
-
readonly closable: boolean;
|
272
271
|
readonly lazy: boolean;
|
273
272
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
273
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
274
274
|
};
|
275
275
|
paneName: TabPaneName | undefined;
|
276
276
|
active: boolean;
|
@@ -251,7 +251,7 @@ const TabNav = defineComponent({
|
|
251
251
|
const uid = pane.uid;
|
252
252
|
const disabled = pane.props.disabled;
|
253
253
|
const tabName = (_b = (_a = pane.props.name) != null ? _a : pane.index) != null ? _b : `${index}`;
|
254
|
-
const closable = !disabled && (pane.isClosable || props.editable);
|
254
|
+
const closable = !disabled && (pane.isClosable || pane.props.closable !== false && props.editable);
|
255
255
|
pane.index = `${index}`;
|
256
256
|
const btnClose = closable ? createVNode(ElIcon, {
|
257
257
|
"class": "is-icon-close",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n triggerRef,\n watch,\n} from 'vue'\nimport {\n useDocumentVisibility,\n useElementSize,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n 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 useWheel from '@element-plus/components/virtual-list/src/hooks/use-wheel'\nimport { clamp } from 'lodash-unified'\nimport TabBar from './tab-bar.vue'\nimport { tabsRootContextKey } from './constants'\n\nimport type {\n CSSProperties,\n ComponentPublicInstance,\n ExtractPropTypes,\n __ExtractPublicPropTypes,\n} from 'vue'\nimport type { TabBarInstance } from './tab-bar'\nimport type { TabPaneName, TabsPaneContext } from './constants'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport const tabNavEmits = {\n tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) =>\n ev instanceof Event,\n tabRemove: (tab: TabsPaneContext, ev: Event) => ev instanceof Event,\n}\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\nexport type TabNavPropsPublic = __ExtractPublicPropTypes<typeof tabNavProps>\nexport type TabNavEmits = typeof tabNavEmits\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n emits: tabNavEmits,\n setup(props, { expose, emit }) {\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n const tabRefsMap = ref<{ [key: TabPaneName]: HTMLDivElement }>({})\n\n const tabBarRef = ref<TabBarInstance>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n const tracker = shallowRef()\n\n const isHorizontal = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n )\n\n const sizeName = computed(() => (isHorizontal.value ? 'width' : 'height'))\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const { width: navContainerWidth, height: navContainerHeight } =\n useElementSize(navScroll$)\n const { width: navWidth, height: navHeight } = useElementSize(\n nav$,\n { width: 0, height: 0 },\n { box: 'border-box' }\n )\n\n const navContainerSize = computed(() =>\n isHorizontal.value ? navContainerWidth.value : navContainerHeight.value\n )\n const navSize = computed(() =>\n isHorizontal.value ? navWidth.value : navHeight.value\n )\n\n const { onWheel } = useWheel(\n {\n atStartEdge: computed(() => navOffset.value <= 0),\n atEndEdge: computed(\n () => navSize.value - navOffset.value <= navContainerSize.value\n ),\n layout: computed(() =>\n isHorizontal.value ? 'horizontal' : 'vertical'\n ),\n },\n (offset) => {\n navOffset.value = clamp(\n navOffset.value + offset,\n 0,\n navSize.value - navContainerSize.value\n )\n }\n )\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal.value\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal.value) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n props.stretch && tabBarRef.value?.update()\n\n const navSize = nav$.value[`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 = (event: KeyboardEvent) => {\n let step = 0\n\n switch (event.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n step = -1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n step = 1\n break\n default:\n return\n }\n\n const tabList = Array.from(\n (\n event.currentTarget as HTMLDivElement\n ).querySelectorAll<HTMLDivElement>('[role=tab]:not(.is-disabled)')\n )\n const currentIndex = tabList.indexOf(event.target as HTMLDivElement)\n let nextIndex = currentIndex + step\n\n if (nextIndex < 0) {\n nextIndex = tabList.length - 1\n } else if (nextIndex >= tabList.length) {\n nextIndex = 0\n }\n\n tabList[nextIndex].focus({ preventScroll: true }) // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n const setRefs = (\n el: Element | ComponentPublicInstance | null,\n key: TabPaneName\n ) => {\n tabRefsMap.value[key] = el as HTMLDivElement\n }\n\n const focusActiveTab = async () => {\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n activeTab?.focus({ preventScroll: true })\n }\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n focusActiveTab,\n tabListRef: nav$,\n tabBarRef,\n scheduleRender: () => triggerRef(tracker),\n })\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable = !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={(el) => setRefs(el, tabName)}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n emit('tabClick', pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n 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 // By tracking the value property, we can schedule a job to re-render `TabNav` when needed.\n // Unlike `instance.update`, the scheduler ensures the job is queued only once even if we trigger it multiple times.\n tracker.value\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n {props.panes.length > 0 ? (\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n onWheel={onWheel}\n >\n {...[\n !props.type ? (\n <TabBar\n ref={tabBarRef}\n tabs={[...props.panes]}\n tabRefs={tabRefsMap.value}\n />\n ) : null,\n tabs,\n ]}\n </div>\n ) : null}\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav> & {\n scrollToActiveTab: () => Promise<void>\n removeFocus: () => void\n focusActiveTab: () => void\n scheduleRender: () => void\n tabListRef: HTMLDivElement | undefined\n tabBarRef: TabBarInstance | undefined\n}\n\nexport default TabNav\n"],"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","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","tabRefsMap","tabBarRef","scrollable","navOffset","isFocus","focusable","tracker","shallowRef","isHorizontal","computed","includes","rootTabs","tabPosition","sizeName","value","navStyle","dir","transform","width","navContainerWidth","height","navContainerHeight","useElementSize","navWidth","navHeight","box","navContainerSize","navSize","onWheel","useWheel","atStartEdge","atEndEdge","layout","offset","clamp","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","navScroll","maxOffset","activeTabBounding","right","top","bottom","navScrollBounding","max","update","prev","changeTab","event","step","EVENT_CODE","left","currentIndex","tabList","nextIndex","preventScroll","click","setFocus","key","focusActiveTab","focus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","tabListRef","scheduleRender","triggerRef","e","is","pane","index","uid","disabled","isClosable","btnClose","closable","setRefs","el","tabLabelContent"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"tab-nav.mjs","sources":["../../../../../../packages/components/tabs/src/tab-nav.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n shallowRef,\n triggerRef,\n watch,\n} from 'vue'\nimport {\n useDocumentVisibility,\n useElementSize,\n useResizeObserver,\n useWindowFocus,\n} from '@vueuse/core'\nimport {\n buildProps,\n capitalize,\n definePropType,\n 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 useWheel from '@element-plus/components/virtual-list/src/hooks/use-wheel'\nimport { clamp } from 'lodash-unified'\nimport TabBar from './tab-bar.vue'\nimport { tabsRootContextKey } from './constants'\n\nimport type {\n CSSProperties,\n ComponentPublicInstance,\n ExtractPropTypes,\n __ExtractPublicPropTypes,\n} from 'vue'\nimport type { TabBarInstance } from './tab-bar'\nimport type { TabPaneName, TabsPaneContext } from './constants'\n\ninterface Scrollable {\n next?: boolean\n prev?: number\n}\n\nexport const tabNavProps = buildProps({\n panes: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n currentName: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n stretch: Boolean,\n} as const)\n\nexport const tabNavEmits = {\n tabClick: (tab: TabsPaneContext, tabName: TabPaneName, ev: Event) =>\n ev instanceof Event,\n tabRemove: (tab: TabsPaneContext, ev: Event) => ev instanceof Event,\n}\n\nexport type TabNavProps = ExtractPropTypes<typeof tabNavProps>\nexport type TabNavPropsPublic = __ExtractPublicPropTypes<typeof tabNavProps>\nexport type TabNavEmits = typeof tabNavEmits\n\nconst COMPONENT_NAME = 'ElTabNav'\nconst TabNav = defineComponent({\n name: COMPONENT_NAME,\n props: tabNavProps,\n emits: tabNavEmits,\n setup(props, { expose, emit }) {\n const rootTabs = inject(tabsRootContextKey)\n if (!rootTabs) throwError(COMPONENT_NAME, `<el-tabs><tab-nav /></el-tabs>`)\n\n const ns = useNamespace('tabs')\n const visibility = useDocumentVisibility()\n const focused = useWindowFocus()\n\n const navScroll$ = ref<HTMLDivElement>()\n const nav$ = ref<HTMLDivElement>()\n const el$ = ref<HTMLDivElement>()\n const tabRefsMap = ref<{ [key: TabPaneName]: HTMLDivElement }>({})\n\n const tabBarRef = ref<TabBarInstance>()\n\n const scrollable = ref<false | Scrollable>(false)\n const navOffset = ref(0)\n const isFocus = ref(false)\n const focusable = ref(true)\n const tracker = shallowRef()\n\n const isHorizontal = computed(() =>\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n )\n\n const sizeName = computed(() => (isHorizontal.value ? 'width' : 'height'))\n const navStyle = computed<CSSProperties>(() => {\n const dir = sizeName.value === 'width' ? 'X' : 'Y'\n return {\n transform: `translate${dir}(-${navOffset.value}px)`,\n }\n })\n\n const { width: navContainerWidth, height: navContainerHeight } =\n useElementSize(navScroll$)\n const { width: navWidth, height: navHeight } = useElementSize(\n nav$,\n { width: 0, height: 0 },\n { box: 'border-box' }\n )\n\n const navContainerSize = computed(() =>\n isHorizontal.value ? navContainerWidth.value : navContainerHeight.value\n )\n const navSize = computed(() =>\n isHorizontal.value ? navWidth.value : navHeight.value\n )\n\n const { onWheel } = useWheel(\n {\n atStartEdge: computed(() => navOffset.value <= 0),\n atEndEdge: computed(\n () => navSize.value - navOffset.value <= navContainerSize.value\n ),\n layout: computed(() =>\n isHorizontal.value ? 'horizontal' : 'vertical'\n ),\n },\n (offset) => {\n navOffset.value = clamp(\n navOffset.value + offset,\n 0,\n navSize.value - navContainerSize.value\n )\n }\n )\n\n const scrollPrev = () => {\n if (!navScroll$.value) return\n\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (!currentOffset) return\n\n const newOffset =\n currentOffset > containerSize ? currentOffset - containerSize : 0\n\n navOffset.value = newOffset\n }\n\n const scrollNext = () => {\n if (!navScroll$.value || !nav$.value) return\n\n const navSize = nav$.value[`offset${capitalize(sizeName.value)}`]\n const containerSize =\n navScroll$.value[`offset${capitalize(sizeName.value)}`]\n const currentOffset = navOffset.value\n\n if (navSize - currentOffset <= containerSize) return\n\n const newOffset =\n navSize - currentOffset > containerSize * 2\n ? currentOffset + containerSize\n : navSize - containerSize\n\n navOffset.value = newOffset\n }\n\n const scrollToActiveTab = async () => {\n const nav = nav$.value\n if (!scrollable.value || !el$.value || !navScroll$.value || !nav) return\n\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n if (!activeTab) return\n\n const navScroll = navScroll$.value\n\n const activeTabBounding = activeTab.getBoundingClientRect()\n const navScrollBounding = navScroll.getBoundingClientRect()\n const maxOffset = isHorizontal.value\n ? nav.offsetWidth - navScrollBounding.width\n : nav.offsetHeight - navScrollBounding.height\n const currentOffset = navOffset.value\n let newOffset = currentOffset\n\n if (isHorizontal.value) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset =\n currentOffset - (navScrollBounding.left - activeTabBounding.left)\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset =\n currentOffset + activeTabBounding.right - navScrollBounding.right\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset =\n currentOffset - (navScrollBounding.top - activeTabBounding.top)\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset =\n currentOffset +\n (activeTabBounding.bottom - navScrollBounding.bottom)\n }\n }\n newOffset = Math.max(newOffset, 0)\n navOffset.value = Math.min(newOffset, maxOffset)\n }\n\n const update = () => {\n if (!nav$.value || !navScroll$.value) return\n\n props.stretch && tabBarRef.value?.update()\n\n const navSize = nav$.value[`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 = (event: KeyboardEvent) => {\n let step = 0\n\n switch (event.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n step = -1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n step = 1\n break\n default:\n return\n }\n\n const tabList = Array.from(\n (\n event.currentTarget as HTMLDivElement\n ).querySelectorAll<HTMLDivElement>('[role=tab]:not(.is-disabled)')\n )\n const currentIndex = tabList.indexOf(event.target as HTMLDivElement)\n let nextIndex = currentIndex + step\n\n if (nextIndex < 0) {\n nextIndex = tabList.length - 1\n } else if (nextIndex >= tabList.length) {\n nextIndex = 0\n }\n\n tabList[nextIndex].focus({ preventScroll: true }) // 改变焦点元素\n tabList[nextIndex].click() // 选中下一个tab\n setFocus()\n }\n\n const setFocus = () => {\n if (focusable.value) isFocus.value = true\n }\n const removeFocus = () => (isFocus.value = false)\n\n const setRefs = (\n el: Element | ComponentPublicInstance | null,\n key: TabPaneName\n ) => {\n tabRefsMap.value[key] = el as HTMLDivElement\n }\n\n const focusActiveTab = async () => {\n await nextTick()\n\n const activeTab = tabRefsMap.value[props.currentName]\n activeTab?.focus({ preventScroll: true })\n }\n\n watch(visibility, (visibility) => {\n if (visibility === 'hidden') {\n focusable.value = false\n } else if (visibility === 'visible') {\n setTimeout(() => (focusable.value = true), 50)\n }\n })\n watch(focused, (focused) => {\n if (focused) {\n setTimeout(() => (focusable.value = true), 50)\n } else {\n focusable.value = false\n }\n })\n\n useResizeObserver(el$, update)\n\n onMounted(() => setTimeout(() => scrollToActiveTab(), 0))\n onUpdated(() => update())\n\n expose({\n scrollToActiveTab,\n removeFocus,\n focusActiveTab,\n tabListRef: nav$,\n tabBarRef,\n scheduleRender: () => triggerRef(tracker),\n })\n\n return () => {\n const scrollBtn = scrollable.value\n ? [\n <span\n class={[\n ns.e('nav-prev'),\n ns.is('disabled', !scrollable.value.prev),\n ]}\n onClick={scrollPrev}\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </span>,\n <span\n class={[\n ns.e('nav-next'),\n ns.is('disabled', !scrollable.value.next),\n ]}\n onClick={scrollNext}\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </span>,\n ]\n : null\n\n const tabs = props.panes.map((pane, index) => {\n const uid = pane.uid\n const disabled = pane.props.disabled\n const tabName = pane.props.name ?? pane.index ?? `${index}`\n const closable =\n !disabled &&\n (pane.isClosable || (pane.props.closable !== false && props.editable))\n pane.index = `${index}`\n\n const btnClose = closable ? (\n <ElIcon\n class=\"is-icon-close\"\n // `onClick` not exist when generate dts\n // 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={(el) => setRefs(el, tabName)}\n class={[\n ns.e('item'),\n ns.is(rootTabs.props.tabPosition),\n ns.is('active', pane.active),\n ns.is('disabled', disabled),\n ns.is('closable', closable),\n ns.is('focus', isFocus.value),\n ]}\n id={`tab-${tabName}`}\n key={`tab-${uid}`}\n aria-controls={`pane-${tabName}`}\n role=\"tab\"\n aria-selected={pane.active}\n tabindex={tabindex}\n onFocus={() => setFocus()}\n onBlur={() => removeFocus()}\n onClick={(ev: MouseEvent) => {\n removeFocus()\n emit('tabClick', pane, tabName, ev)\n }}\n onKeydown={(ev: KeyboardEvent) => {\n 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 // By tracking the value property, we can schedule a job to re-render `TabNav` when needed.\n // Unlike `instance.update`, the scheduler ensures the job is queued only once even if we trigger it multiple times.\n tracker.value\n\n return (\n <div\n ref={el$}\n class={[\n ns.e('nav-wrap'),\n ns.is('scrollable', !!scrollable.value),\n ns.is(rootTabs.props.tabPosition),\n ]}\n >\n {scrollBtn}\n <div class={ns.e('nav-scroll')} ref={navScroll$}>\n {props.panes.length > 0 ? (\n <div\n class={[\n ns.e('nav'),\n ns.is(rootTabs.props.tabPosition),\n ns.is(\n 'stretch',\n props.stretch &&\n ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ),\n ]}\n ref={nav$}\n style={navStyle.value}\n role=\"tablist\"\n onKeydown={changeTab}\n onWheel={onWheel}\n >\n {...[\n !props.type ? (\n <TabBar\n ref={tabBarRef}\n tabs={[...props.panes]}\n tabRefs={tabRefsMap.value}\n />\n ) : null,\n tabs,\n ]}\n </div>\n ) : null}\n </div>\n </div>\n )\n }\n },\n})\n\nexport type TabNavInstance = InstanceType<typeof TabNav> & {\n scrollToActiveTab: () => Promise<void>\n removeFocus: () => void\n focusActiveTab: () => void\n scheduleRender: () => void\n tabListRef: HTMLDivElement | undefined\n tabBarRef: TabBarInstance | undefined\n}\n\nexport default TabNav\n"],"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","ns","useNamespace","visibility","useDocumentVisibility","focused","useWindowFocus","navScroll$","ref","nav$","el$","tabRefsMap","tabBarRef","scrollable","navOffset","isFocus","focusable","tracker","shallowRef","isHorizontal","computed","includes","rootTabs","tabPosition","sizeName","value","navStyle","dir","transform","width","navContainerWidth","height","navContainerHeight","useElementSize","navWidth","navHeight","box","navContainerSize","navSize","onWheel","useWheel","atStartEdge","atEndEdge","layout","offset","clamp","scrollPrev","containerSize","capitalize","currentOffset","newOffset","scrollNext","scrollToActiveTab","activeTab","navScroll","maxOffset","activeTabBounding","right","top","bottom","navScrollBounding","max","update","prev","changeTab","event","step","EVENT_CODE","left","currentIndex","tabList","nextIndex","preventScroll","click","setFocus","key","focusActiveTab","focus","watch","_createVNode","useResizeObserver","setTimeout","onUpdated","tabListRef","scheduleRender","triggerRef","e","is","pane","index","uid","disabled","closable","isClosable","btnClose","setRefs","el","tabLabelContent"],"mappings":"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"}
|
@@ -8,7 +8,7 @@ export declare const tabPaneProps: {
|
|
8
8
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
9
9
|
__epPropKey: true;
|
10
10
|
};
|
11
|
-
readonly closable: BooleanConstructor
|
11
|
+
readonly closable: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
12
12
|
readonly disabled: BooleanConstructor;
|
13
13
|
readonly lazy: BooleanConstructor;
|
14
14
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n /**\n * @description title of the tab\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description identifier corresponding to the name of Tabs, representing the alias of the tab-pane, the default is ordinal number of the tab-pane in the sequence, e.g. the first tab-pane is '0'\n */\n name: {\n type: [String, Number],\n },\n /**\n * @description whether Tab is closable\n */\n closable: Boolean,\n /**\n * @description whether Tab is disabled\n */\n disabled: Boolean,\n /**\n * @description whether Tab is lazily rendered\n */\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\nexport type TabPanePropsPublic = __ExtractPublicPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane> & unknown\n"],"names":[],"mappings":";;AACY,MAAC,YAAY,GAAG,UAAU,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,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
|
1
|
+
{"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n /**\n * @description title of the tab\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description identifier corresponding to the name of Tabs, representing the alias of the tab-pane, the default is ordinal number of the tab-pane in the sequence, e.g. the first tab-pane is '0'\n */\n name: {\n type: [String, Number],\n },\n /**\n * @description whether Tab is closable\n */\n closable: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description whether Tab is disabled\n */\n disabled: Boolean,\n /**\n * @description whether Tab is lazily rendered\n */\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\nexport type TabPanePropsPublic = __ExtractPublicPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane> & unknown\n"],"names":[],"mappings":";;AACY,MAAC,YAAY,GAAG,UAAU,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,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
|
@@ -9,7 +9,7 @@ declare const __VLS_component: import("vue").DefineComponent<{
|
|
9
9
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
10
10
|
__epPropKey: true;
|
11
11
|
};
|
12
|
-
readonly closable: BooleanConstructor
|
12
|
+
readonly closable: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
13
13
|
readonly disabled: BooleanConstructor;
|
14
14
|
readonly lazy: BooleanConstructor;
|
15
15
|
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
@@ -20,13 +20,13 @@ declare const __VLS_component: import("vue").DefineComponent<{
|
|
20
20
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
21
21
|
__epPropKey: true;
|
22
22
|
};
|
23
|
-
readonly closable: BooleanConstructor
|
23
|
+
readonly closable: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
24
24
|
readonly disabled: BooleanConstructor;
|
25
25
|
readonly lazy: BooleanConstructor;
|
26
26
|
}>>, {
|
27
27
|
readonly label: string;
|
28
28
|
readonly disabled: boolean;
|
29
|
-
readonly closable:
|
29
|
+
readonly closable: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
30
30
|
readonly lazy: boolean;
|
31
31
|
}>;
|
32
32
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
@@ -23,7 +23,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
23
23
|
const ns = useNamespace("tab-pane");
|
24
24
|
const paneRef = ref();
|
25
25
|
const index = ref();
|
26
|
-
const isClosable = computed(() =>
|
26
|
+
const isClosable = computed(() => {
|
27
|
+
var _a;
|
28
|
+
return (_a = props.closable) != null ? _a : tabsRoot.props.closable;
|
29
|
+
});
|
27
30
|
const active = eagerComputed(() => {
|
28
31
|
var _a;
|
29
32
|
return tabsRoot.currentName.value === ((_a = props.name) != null ? _a : index.value);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n ref=\"paneRef\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onBeforeUpdate,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <el-tabs><el-tab-pane /></el-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst paneRef = ref<HTMLDivElement>()\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable
|
1
|
+
{"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n ref=\"paneRef\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onBeforeUpdate,\n reactive,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'ElTabPane'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst slots = useSlots()\n\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <el-tabs><el-tab-pane /></el-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst paneRef = ref<HTMLDivElement>()\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable ?? tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name ?? index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name ?? index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nconst isFocusInsidePane = () => {\n return paneRef.value?.contains(document.activeElement)\n}\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\nconst pane = reactive({\n uid: instance.uid,\n getVnode: () => instance.vnode,\n slots,\n props,\n paneName,\n active,\n index,\n isClosable,\n isFocusInsidePane,\n})\n\ntabsRoot.registerPane(pane)\n\nonBeforeUnmount(() => {\n tabsRoot.unregisterPane(pane)\n})\n\nonBeforeUpdate(() => {\n if (slots.label) tabsRoot.nav$.value?.scheduleRender()\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;mCAkCc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAGA,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,QAAA,GAAW,OAAO,kBAAkB,CAAA,CAAA;AAC1C,IAAA,IAAI,CAAC,QAAA;AACH,MAAA,UAAA,CAAW,gBAAgB,4CAA4C,CAAA,CAAA;AAEzE,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAElC,IAAA,MAAM,UAAU,GAAoB,EAAA,CAAA;AACpC,IAAA,MAAM,QAAQ,GAAY,EAAA,CAAA;AAC1B,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM;AAClC,MAAA,IAAM,EAAS,CAAA;AAAA,MACb,OAAe,CAAA,EAAA,GAAA,KAAA,CAAA,QAAY,KAAW,IAAA,GAAA,EAAA,GAAM,QAAQ,CAAM,KAAA,CAAA,QAAA,CAAA;AAAA,KAC5D,CAAA,CAAA;AACA,IAAM,MAAA,MAAA,GAAS,aAAgB,CAAA,MAAA;AAC/B,MAAA,IAAM;AACN,MAAA,OAAuB,QAAA,CAAA,WAAA,CAAA,KAAA,MAAA,CAAA,EAAA,GAAA,KAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA,CACrB;AAA4C,IAC9C,MAAA,MAAA,GAAA,GAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAEA,IAAA,MAAM,oBAAoB,MAAM;AAC9B,MAAA,IAAA,EAAA,CAAO;AAA8C,MACvD,OAAA,CAAA,EAAA,GAAA,KAAA,CAAA,IAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AAEA,KAAM,CAAA,CAAA;AACJ,IAAI,MAAA,cAAoB,GAAA,aAAA,CAAA,MAAA,CAAA,KAAA,CAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IAC1B,MAAC,iBAAA,GAAA,MAAA;AAED,MAAA,IAAM;AAAgB,MACpB,OAAc,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AAAA,KACd,CAAA;AAAyB,IACzB,KAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AAAA,MACA,IAAA,GAAA;AAAA,QACA,MAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACA,MAAA,IAAA,GAAA,QAAA,CAAA;AAAA,MACA,GAAA,EAAA,QAAA,CAAA,GAAA;AAAA,MACA,QAAA,EAAA,MAAA,QAAA,CAAA,KAAA;AAAA,MACD,KAAA;AAED,MAAA,KAAA;AAEA,MAAA,QAAA;AACE,MAAA,MAAA;AAA4B,MAC7B,KAAA;AAED,MAAA,UAAA;AACE,MAAA,iBAA0B;AAA2B,KACtD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -97,9 +97,9 @@ declare const Tabs: import("vue").DefineComponent<{
|
|
97
97
|
props: {
|
98
98
|
readonly label: string;
|
99
99
|
readonly disabled: boolean;
|
100
|
-
readonly closable: boolean;
|
101
100
|
readonly lazy: boolean;
|
102
101
|
readonly name?: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
|
102
|
+
readonly closable?: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
|
103
103
|
};
|
104
104
|
paneName: TabPaneName | undefined;
|
105
105
|
active: boolean;
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import Tooltip from './src/
|
2
|
-
export { tooltipEmits, useTooltipModelToggle, useTooltipModelToggleEmits, useTooltipModelToggleProps, useTooltipProps } from './src/
|
1
|
+
import Tooltip from './src/tooltip.mjs';
|
2
|
+
export { tooltipEmits, useTooltipModelToggle, useTooltipModelToggleEmits, useTooltipModelToggleProps, useTooltipProps } from './src/tooltip2.mjs';
|
3
3
|
export { useTooltipTriggerProps } from './src/trigger.mjs';
|
4
4
|
export { useTooltipContentProps } from './src/content.mjs';
|
5
5
|
export { TOOLTIP_INJECTION_KEY } from './src/constants.mjs';
|
@@ -1,35 +1,171 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import
|
6
|
-
import
|
1
|
+
import { defineComponent, ref, toRef, computed, provide, readonly, unref, watch, onDeactivated, openBlock, createBlock, withCtx, createVNode, renderSlot, createCommentVNode, createElementBlock, toDisplayString } from 'vue';
|
2
|
+
import { ElPopper } from '../../popper/index.mjs';
|
3
|
+
import { TOOLTIP_INJECTION_KEY } from './constants.mjs';
|
4
|
+
import { useTooltipProps, tooltipEmits, useTooltipModelToggle } from './tooltip2.mjs';
|
5
|
+
import ElTooltipTrigger from './trigger2.mjs';
|
6
|
+
import ElTooltipContent from './content2.mjs';
|
7
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
8
|
+
import { usePopperContainer } from '../../../hooks/use-popper-container/index.mjs';
|
9
|
+
import ElPopperArrow from '../../popper/src/arrow2.mjs';
|
10
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
11
|
+
import { useId } from '../../../hooks/use-id/index.mjs';
|
12
|
+
import { useDelayedToggle } from '../../../hooks/use-delayed-toggle/index.mjs';
|
13
|
+
import { isBoolean } from '../../../utils/types.mjs';
|
7
14
|
|
8
|
-
const {
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
15
|
+
const __default__ = defineComponent({
|
16
|
+
name: "ElTooltip"
|
17
|
+
});
|
18
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
19
|
+
...__default__,
|
20
|
+
props: useTooltipProps,
|
21
|
+
emits: tooltipEmits,
|
22
|
+
setup(__props, { expose, emit }) {
|
23
|
+
const props = __props;
|
24
|
+
usePopperContainer();
|
25
|
+
const ns = useNamespace("tooltip");
|
26
|
+
const id = useId();
|
27
|
+
const popperRef = ref();
|
28
|
+
const contentRef = ref();
|
29
|
+
const updatePopper = () => {
|
30
|
+
var _a;
|
31
|
+
const popperComponent = unref(popperRef);
|
32
|
+
if (popperComponent) {
|
33
|
+
(_a = popperComponent.popperInstanceRef) == null ? void 0 : _a.update();
|
34
|
+
}
|
35
|
+
};
|
36
|
+
const open = ref(false);
|
37
|
+
const toggleReason = ref();
|
38
|
+
const { show, hide, hasUpdateHandler } = useTooltipModelToggle({
|
39
|
+
indicator: open,
|
40
|
+
toggleReason
|
41
|
+
});
|
42
|
+
const { onOpen, onClose } = useDelayedToggle({
|
43
|
+
showAfter: toRef(props, "showAfter"),
|
44
|
+
hideAfter: toRef(props, "hideAfter"),
|
45
|
+
autoClose: toRef(props, "autoClose"),
|
46
|
+
open: show,
|
47
|
+
close: hide
|
48
|
+
});
|
49
|
+
const controlled = computed(() => isBoolean(props.visible) && !hasUpdateHandler.value);
|
50
|
+
const kls = computed(() => {
|
51
|
+
return [ns.b(), props.popperClass];
|
52
|
+
});
|
53
|
+
provide(TOOLTIP_INJECTION_KEY, {
|
54
|
+
controlled,
|
55
|
+
id,
|
56
|
+
open: readonly(open),
|
57
|
+
trigger: toRef(props, "trigger"),
|
58
|
+
onOpen,
|
59
|
+
onClose,
|
60
|
+
onToggle: (event) => {
|
61
|
+
if (unref(open)) {
|
62
|
+
onClose(event);
|
63
|
+
} else {
|
64
|
+
onOpen(event);
|
65
|
+
}
|
66
|
+
},
|
67
|
+
onShow: () => {
|
68
|
+
emit("show", toggleReason.value);
|
69
|
+
},
|
70
|
+
onHide: () => {
|
71
|
+
emit("hide", toggleReason.value);
|
72
|
+
},
|
73
|
+
onBeforeShow: () => {
|
74
|
+
emit("before-show", toggleReason.value);
|
75
|
+
},
|
76
|
+
onBeforeHide: () => {
|
77
|
+
emit("before-hide", toggleReason.value);
|
78
|
+
},
|
79
|
+
updatePopper
|
80
|
+
});
|
81
|
+
watch(() => props.disabled, (disabled) => {
|
82
|
+
if (disabled && open.value) {
|
83
|
+
open.value = false;
|
84
|
+
}
|
85
|
+
});
|
86
|
+
const isFocusInsideContent = (event) => {
|
87
|
+
var _a;
|
88
|
+
return (_a = contentRef.value) == null ? void 0 : _a.isFocusInsideContent(event);
|
89
|
+
};
|
90
|
+
onDeactivated(() => open.value && hide());
|
91
|
+
expose({
|
92
|
+
popperRef,
|
93
|
+
contentRef,
|
94
|
+
isFocusInsideContent,
|
95
|
+
updatePopper,
|
96
|
+
onOpen,
|
97
|
+
onClose,
|
98
|
+
hide
|
99
|
+
});
|
100
|
+
return (_ctx, _cache) => {
|
101
|
+
return openBlock(), createBlock(unref(ElPopper), {
|
102
|
+
ref_key: "popperRef",
|
103
|
+
ref: popperRef,
|
104
|
+
role: _ctx.role
|
105
|
+
}, {
|
106
|
+
default: withCtx(() => [
|
107
|
+
createVNode(ElTooltipTrigger, {
|
108
|
+
disabled: _ctx.disabled,
|
109
|
+
trigger: _ctx.trigger,
|
110
|
+
"trigger-keys": _ctx.triggerKeys,
|
111
|
+
"virtual-ref": _ctx.virtualRef,
|
112
|
+
"virtual-triggering": _ctx.virtualTriggering,
|
113
|
+
"focus-on-target": _ctx.focusOnTarget
|
114
|
+
}, {
|
115
|
+
default: withCtx(() => [
|
116
|
+
_ctx.$slots.default ? renderSlot(_ctx.$slots, "default", { key: 0 }) : createCommentVNode("v-if", true)
|
117
|
+
]),
|
118
|
+
_: 3
|
119
|
+
}, 8, ["disabled", "trigger", "trigger-keys", "virtual-ref", "virtual-triggering", "focus-on-target"]),
|
120
|
+
createVNode(ElTooltipContent, {
|
121
|
+
ref_key: "contentRef",
|
122
|
+
ref: contentRef,
|
123
|
+
"aria-label": _ctx.ariaLabel,
|
124
|
+
"boundaries-padding": _ctx.boundariesPadding,
|
125
|
+
content: _ctx.content,
|
126
|
+
disabled: _ctx.disabled,
|
127
|
+
effect: _ctx.effect,
|
128
|
+
enterable: _ctx.enterable,
|
129
|
+
"fallback-placements": _ctx.fallbackPlacements,
|
130
|
+
"hide-after": _ctx.hideAfter,
|
131
|
+
"gpu-acceleration": _ctx.gpuAcceleration,
|
132
|
+
offset: _ctx.offset,
|
133
|
+
persistent: _ctx.persistent,
|
134
|
+
"popper-class": unref(kls),
|
135
|
+
"popper-style": _ctx.popperStyle,
|
136
|
+
placement: _ctx.placement,
|
137
|
+
"popper-options": _ctx.popperOptions,
|
138
|
+
"arrow-offset": _ctx.arrowOffset,
|
139
|
+
pure: _ctx.pure,
|
140
|
+
"raw-content": _ctx.rawContent,
|
141
|
+
"reference-el": _ctx.referenceEl,
|
142
|
+
"trigger-target-el": _ctx.triggerTargetEl,
|
143
|
+
"show-after": _ctx.showAfter,
|
144
|
+
strategy: _ctx.strategy,
|
145
|
+
teleported: _ctx.teleported,
|
146
|
+
transition: _ctx.transition,
|
147
|
+
"virtual-triggering": _ctx.virtualTriggering,
|
148
|
+
"z-index": _ctx.zIndex,
|
149
|
+
"append-to": _ctx.appendTo
|
150
|
+
}, {
|
151
|
+
default: withCtx(() => [
|
152
|
+
renderSlot(_ctx.$slots, "content", {}, () => [
|
153
|
+
_ctx.rawContent ? (openBlock(), createElementBlock("span", {
|
154
|
+
key: 0,
|
155
|
+
innerHTML: _ctx.content
|
156
|
+
}, null, 8, ["innerHTML"])) : (openBlock(), createElementBlock("span", { key: 1 }, toDisplayString(_ctx.content), 1))
|
157
|
+
]),
|
158
|
+
_ctx.showArrow ? (openBlock(), createBlock(unref(ElPopperArrow), { key: 0 })) : createCommentVNode("v-if", true)
|
159
|
+
]),
|
160
|
+
_: 3
|
161
|
+
}, 8, ["aria-label", "boundaries-padding", "content", "disabled", "effect", "enterable", "fallback-placements", "hide-after", "gpu-acceleration", "offset", "persistent", "popper-class", "popper-style", "placement", "popper-options", "arrow-offset", "pure", "raw-content", "reference-el", "trigger-target-el", "show-after", "strategy", "teleported", "transition", "virtual-triggering", "z-index", "append-to"])
|
162
|
+
]),
|
163
|
+
_: 3
|
164
|
+
}, 8, ["role"]);
|
165
|
+
};
|
22
166
|
}
|
23
167
|
});
|
24
|
-
|
25
|
-
...useTooltipModelToggleEmits,
|
26
|
-
"before-show",
|
27
|
-
"before-hide",
|
28
|
-
"show",
|
29
|
-
"hide",
|
30
|
-
"open",
|
31
|
-
"close"
|
32
|
-
];
|
168
|
+
var Tooltip = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "tooltip.vue"]]);
|
33
169
|
|
34
|
-
export {
|
170
|
+
export { Tooltip as default };
|
35
171
|
//# sourceMappingURL=tooltip.mjs.map
|