@element-plus/nightly 0.0.20250521 → 0.0.20250522
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +12 -3
- package/dist/index.full.min.js +7 -7
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +9 -9
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +12 -3
- 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/alert/index.mjs +2 -2
- package/es/components/alert/src/alert.mjs +36 -91
- package/es/components/alert/src/alert.mjs.map +1 -1
- package/es/components/alert/src/alert2.mjs +91 -36
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/autocomplete/index.mjs +2 -2
- package/es/components/autocomplete/src/autocomplete.mjs +80 -370
- package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete2.mjs +370 -80
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/avatar/index.mjs +2 -2
- package/es/components/avatar/src/avatar.mjs +65 -31
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/avatar/src/avatar2.mjs +31 -65
- package/es/components/avatar/src/avatar2.mjs.map +1 -1
- package/es/components/calendar/src/calendar2.mjs +1 -1
- package/es/components/calendar/src/date-table.mjs +31 -89
- package/es/components/calendar/src/date-table.mjs.map +1 -1
- package/es/components/calendar/src/date-table2.mjs +89 -31
- package/es/components/calendar/src/date-table2.mjs.map +1 -1
- package/es/components/calendar/src/use-date-table.mjs +1 -1
- package/es/components/image-viewer/index.mjs +2 -2
- package/es/components/image-viewer/src/image-viewer.mjs +447 -49
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer2.mjs +49 -447
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.mjs +10 -10
- package/es/components/input-tag/index.mjs +2 -2
- package/es/components/input-tag/src/input-tag.mjs +215 -73
- package/es/components/input-tag/src/input-tag.mjs.map +1 -1
- package/es/components/input-tag/src/input-tag2.mjs +73 -215
- package/es/components/input-tag/src/input-tag2.mjs.map +1 -1
- package/es/components/message/src/message.d.ts +5 -1
- package/es/components/message/src/message.mjs.map +1 -1
- package/es/components/pagination/src/components/next.mjs +18 -35
- package/es/components/pagination/src/components/next.mjs.map +1 -1
- package/es/components/pagination/src/components/next2.mjs +35 -18
- package/es/components/pagination/src/components/next2.mjs.map +1 -1
- package/es/components/pagination/src/components/pager.mjs +16 -210
- package/es/components/pagination/src/components/pager.mjs.map +1 -1
- package/es/components/pagination/src/components/pager2.mjs +210 -16
- package/es/components/pagination/src/components/pager2.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.mjs +23 -71
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes2.mjs +71 -23
- package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
- package/es/components/pagination/src/components/total.mjs +26 -6
- package/es/components/pagination/src/components/total.mjs.map +1 -1
- package/es/components/pagination/src/components/total2.mjs +6 -26
- package/es/components/pagination/src/components/total2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +4 -4
- package/es/components/scrollbar/index.mjs +1 -1
- package/es/components/scrollbar/src/bar2.mjs +1 -1
- package/es/components/scrollbar/src/thumb.mjs +131 -11
- package/es/components/scrollbar/src/thumb.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb2.mjs +11 -131
- package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
- package/es/components/select/index.mjs +2 -2
- package/es/components/select/src/select.mjs +450 -130
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select2.mjs +130 -450
- package/es/components/select/src/select2.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/statistic/index.mjs +2 -2
- package/es/components/statistic/src/statistic.mjs +25 -69
- package/es/components/statistic/src/statistic.mjs.map +1 -1
- package/es/components/statistic/src/statistic2.mjs +69 -25
- package/es/components/statistic/src/statistic2.mjs.map +1 -1
- package/es/components/steps/index.mjs +2 -2
- package/es/components/steps/src/item.mjs +190 -19
- package/es/components/steps/src/item.mjs.map +1 -1
- package/es/components/steps/src/item2.mjs +19 -190
- package/es/components/steps/src/item2.mjs.map +1 -1
- package/es/components/table/src/store/tree.mjs +4 -1
- package/es/components/table/src/store/tree.mjs.map +1 -1
- package/es/components/table-v2/src/table-grid.mjs +7 -1
- package/es/components/table-v2/src/table-grid.mjs.map +1 -1
- package/es/components/tooltip/src/content2.mjs +1 -1
- package/es/components/tooltip/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/index.mjs +3 -3
- package/es/components/tooltip-v2/src/content.mjs +48 -110
- package/es/components/tooltip-v2/src/content.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content2.mjs +110 -48
- package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +19 -77
- package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip2.mjs +77 -19
- package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
- package/es/components/visual-hidden/index.mjs +3 -3
- package/es/components/visual-hidden/src/visual-hidden.mjs +6 -35
- package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
- package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -6
- package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
- package/es/index.d.ts +5 -1
- package/es/index.mjs +10 -10
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/alert/index.js +2 -2
- package/lib/components/alert/src/alert.js +37 -90
- package/lib/components/alert/src/alert.js.map +1 -1
- package/lib/components/alert/src/alert2.js +90 -37
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/autocomplete/index.js +2 -2
- package/lib/components/autocomplete/src/autocomplete.js +79 -368
- package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete2.js +368 -79
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/avatar/index.js +2 -2
- package/lib/components/avatar/src/avatar.js +65 -32
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/avatar/src/avatar2.js +32 -65
- package/lib/components/avatar/src/avatar2.js.map +1 -1
- package/lib/components/calendar/src/calendar2.js +1 -1
- package/lib/components/calendar/src/date-table.js +35 -89
- package/lib/components/calendar/src/date-table.js.map +1 -1
- package/lib/components/calendar/src/date-table2.js +89 -35
- package/lib/components/calendar/src/date-table2.js.map +1 -1
- package/lib/components/calendar/src/use-date-table.js +1 -1
- package/lib/components/image-viewer/index.js +2 -2
- package/lib/components/image-viewer/src/image-viewer.js +447 -50
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer2.js +50 -447
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.js +10 -10
- package/lib/components/input-tag/index.js +2 -2
- package/lib/components/input-tag/src/input-tag.js +214 -73
- package/lib/components/input-tag/src/input-tag.js.map +1 -1
- package/lib/components/input-tag/src/input-tag2.js +73 -214
- package/lib/components/input-tag/src/input-tag2.js.map +1 -1
- package/lib/components/message/src/message.d.ts +5 -1
- package/lib/components/message/src/message.js.map +1 -1
- package/lib/components/pagination/src/components/next.js +18 -35
- package/lib/components/pagination/src/components/next.js.map +1 -1
- package/lib/components/pagination/src/components/next2.js +35 -18
- package/lib/components/pagination/src/components/next2.js.map +1 -1
- package/lib/components/pagination/src/components/pager.js +16 -210
- package/lib/components/pagination/src/components/pager.js.map +1 -1
- package/lib/components/pagination/src/components/pager2.js +210 -16
- package/lib/components/pagination/src/components/pager2.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.js +23 -71
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/pagination/src/components/sizes2.js +71 -23
- package/lib/components/pagination/src/components/sizes2.js.map +1 -1
- package/lib/components/pagination/src/components/total.js +26 -6
- package/lib/components/pagination/src/components/total.js.map +1 -1
- package/lib/components/pagination/src/components/total2.js +6 -26
- package/lib/components/pagination/src/components/total2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +4 -4
- package/lib/components/scrollbar/index.js +1 -1
- package/lib/components/scrollbar/src/bar2.js +1 -1
- package/lib/components/scrollbar/src/thumb.js +131 -11
- package/lib/components/scrollbar/src/thumb.js.map +1 -1
- package/lib/components/scrollbar/src/thumb2.js +11 -131
- package/lib/components/scrollbar/src/thumb2.js.map +1 -1
- package/lib/components/select/index.js +2 -2
- package/lib/components/select/src/select.js +450 -131
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select2.js +131 -450
- package/lib/components/select/src/select2.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/statistic/index.js +2 -2
- package/lib/components/statistic/src/statistic.js +25 -69
- package/lib/components/statistic/src/statistic.js.map +1 -1
- package/lib/components/statistic/src/statistic2.js +69 -25
- package/lib/components/statistic/src/statistic2.js.map +1 -1
- package/lib/components/steps/index.js +2 -2
- package/lib/components/steps/src/item.js +190 -19
- package/lib/components/steps/src/item.js.map +1 -1
- package/lib/components/steps/src/item2.js +19 -190
- package/lib/components/steps/src/item2.js.map +1 -1
- package/lib/components/table/src/store/tree.js +4 -1
- package/lib/components/table/src/store/tree.js.map +1 -1
- package/lib/components/table-v2/src/table-grid.js +6 -0
- package/lib/components/table-v2/src/table-grid.js.map +1 -1
- package/lib/components/tooltip/src/content2.js +1 -1
- package/lib/components/tooltip/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/index.js +3 -3
- package/lib/components/tooltip-v2/src/content.js +48 -110
- package/lib/components/tooltip-v2/src/content.js.map +1 -1
- package/lib/components/tooltip-v2/src/content2.js +110 -48
- package/lib/components/tooltip-v2/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +19 -77
- package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip2.js +77 -19
- package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
- package/lib/components/visual-hidden/index.js +2 -2
- package/lib/components/visual-hidden/src/visual-hidden.js +6 -35
- package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
- package/lib/components/visual-hidden/src/visual-hidden2.js +35 -6
- package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
- package/lib/index.d.ts +5 -1
- package/lib/index.js +10 -10
- 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/web-types.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tree.js","sources":["../../../../../../../packages/components/table/src/store/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, getCurrentInstance, ref, unref, watch } from 'vue'\nimport { isArray, isUndefined } from '@element-plus/utils'\nimport { getRowIdentity, walkTreeNode } from '../util'\n\nimport type { WatcherPropsData } from '.'\nimport type { Table, TableProps } from '../table/defaults'\n\nfunction useTree<T>(watcherData: WatcherPropsData<T>) {\n const expandRowKeys = ref<string[]>([])\n const treeData = ref<unknown>({})\n const indent = ref(16)\n const lazy = ref(false)\n const lazyTreeNodeMap = ref({})\n const lazyColumnIdentifier = ref('hasChildren')\n const childrenColumnName = ref('children')\n const checkStrictly = ref(false)\n const instance = getCurrentInstance() as Table<T>\n const normalizedData = computed(() => {\n if (!watcherData.rowKey.value) return {}\n const data = watcherData.data.value || []\n return normalize(data)\n })\n const normalizedLazyNode = computed(() => {\n const rowKey = watcherData.rowKey.value\n const keys = Object.keys(lazyTreeNodeMap.value)\n const res = {}\n if (!keys.length) return res\n keys.forEach((key) => {\n if (lazyTreeNodeMap.value[key].length) {\n const item = { children: [] }\n lazyTreeNodeMap.value[key].forEach((row) => {\n const currentRowKey = getRowIdentity(row, rowKey)\n item.children.push(currentRowKey)\n if (row[lazyColumnIdentifier.value] && !res[currentRowKey]) {\n res[currentRowKey] = { children: [] }\n }\n })\n res[key] = item\n }\n })\n return res\n })\n\n const normalize = (data) => {\n const rowKey = watcherData.rowKey.value\n const res = {}\n walkTreeNode(\n data,\n (parent, children, level) => {\n const parentId = getRowIdentity(parent, rowKey)\n if (isArray(children)) {\n res[parentId] = {\n children: children.map((row) => getRowIdentity(row, rowKey)),\n level,\n }\n } else if (lazy.value) {\n // 当 children 不存在且 lazy 为 true,该节点即为懒加载的节点\n res[parentId] = {\n children: [],\n lazy: true,\n level,\n }\n }\n },\n childrenColumnName.value,\n lazyColumnIdentifier.value\n )\n return res\n }\n\n let isInitTree = true\n const updateTreeData = (ifChangeExpandRowKeys = false) => {\n const nested = normalizedData.value\n const normalizedLazyNode_ = normalizedLazyNode.value\n const keys = Object.keys(nested)\n const newTreeData = {}\n const ifExpandAll =\n instance.store?.states.defaultExpandAll.value && isInitTree\n isInitTree = false\n if (keys.length) {\n const oldTreeData = unref(treeData)\n const rootLazyRowKeys = []\n const getExpanded = (oldValue, key) => {\n if (ifChangeExpandRowKeys) {\n if (expandRowKeys.value.length) {\n return ifExpandAll || expandRowKeys.value.includes(key)\n } else {\n return !!(ifExpandAll || oldValue?.expanded)\n }\n } else {\n const included =\n ifExpandAll ||\n (expandRowKeys.value && expandRowKeys.value.includes(key))\n return !!(oldValue?.expanded || included)\n }\n }\n // 合并 expanded 与 display,确保数据刷新后,状态不变\n keys.forEach((key) => {\n const oldValue = oldTreeData[key]\n const newValue = { ...nested[key] }\n newValue.expanded = getExpanded(oldValue, key)\n if (newValue.lazy) {\n const { loaded = false, loading = false } = oldValue || {}\n newValue.loaded = !!loaded\n newValue.loading = !!loading\n rootLazyRowKeys.push(key)\n }\n newTreeData[key] = newValue\n })\n // 根据懒加载数据更新 treeData\n const lazyKeys = Object.keys(normalizedLazyNode_)\n if (lazy.value && lazyKeys.length && rootLazyRowKeys.length) {\n lazyKeys.forEach((key) => {\n const oldValue = oldTreeData[key]\n const lazyNodeChildren = normalizedLazyNode_[key].children\n if (rootLazyRowKeys.includes(key)) {\n // 懒加载的 root 节点,更新一下原有的数据,原来的 children 一定是空数组\n if (newTreeData[key].children.length !== 0) {\n throw new Error('[ElTable]children must be an empty array.')\n }\n newTreeData[key].children = lazyNodeChildren\n } else {\n const { loaded = false, loading = false } = oldValue || {}\n newTreeData[key] = {\n lazy: true,\n loaded: !!loaded,\n loading: !!loading,\n expanded: getExpanded(oldValue, key),\n children: lazyNodeChildren,\n level: '',\n }\n }\n })\n }\n }\n treeData.value = newTreeData\n instance.store?.updateTableScrollY()\n }\n\n watch(\n () => expandRowKeys.value,\n () => {\n updateTreeData(true)\n }\n )\n\n watch(\n () => normalizedData.value,\n () => {\n isInitTree = true\n updateTreeData()\n }\n )\n watch(\n () => normalizedLazyNode.value,\n () => {\n updateTreeData()\n }\n )\n\n const updateTreeExpandKeys = (value: string[]) => {\n expandRowKeys.value = value\n updateTreeData()\n }\n const isUseLazy = (data): boolean => {\n return lazy.value && data && 'loaded' in data && !data.loaded\n }\n const toggleTreeExpansion = (row: T, expanded?: boolean) => {\n instance.store.assertRowKey()\n\n const rowKey = watcherData.rowKey.value\n const id = getRowIdentity(row, rowKey)\n const data = id && treeData.value[id]\n if (id && data && 'expanded' in data) {\n const oldExpanded = data.expanded\n expanded = isUndefined(expanded) ? !data.expanded : expanded\n treeData.value[id].expanded = expanded\n if (oldExpanded !== expanded) {\n instance.emit('expand-change', row, expanded)\n }\n isUseLazy(data) && loadData(row, id, data)\n instance.store.updateTableScrollY()\n }\n }\n\n const loadOrToggle = (row) => {\n instance.store.assertRowKey()\n const rowKey = watcherData.rowKey.value\n const id = getRowIdentity(row, rowKey)\n const data = treeData.value[id]\n if (isUseLazy(data)) {\n loadData(row, id, data)\n } else {\n toggleTreeExpansion(row, undefined)\n }\n }\n\n const loadData = (row: T, key: string, treeNode) => {\n const { load } = instance.props as unknown as TableProps<T>\n if (load && !treeData.value[key].loaded) {\n treeData.value[key].loading = true\n load(row, treeNode, (data) => {\n if (!isArray(data)) {\n throw new TypeError('[ElTable] data must be an array')\n }\n treeData.value[key].loading = false\n treeData.value[key].loaded = true\n treeData.value[key].expanded = true\n if (data.length) {\n lazyTreeNodeMap.value[key] = data\n }\n instance.emit('expand-change', row, true)\n })\n }\n }\n\n const updateKeyChildren = (key: string, data: T[]) => {\n const { lazy, rowKey } = instance.props as unknown as TableProps<T>\n if (!lazy) return\n if (!rowKey) throw new Error('[Table] rowKey is required in updateKeyChild')\n\n if (lazyTreeNodeMap.value[key]) {\n lazyTreeNodeMap.value[key] = data\n }\n }\n\n return {\n loadData,\n loadOrToggle,\n toggleTreeExpansion,\n updateTreeExpandKeys,\n updateTreeData,\n updateKeyChildren,\n normalize,\n states: {\n expandRowKeys,\n treeData,\n indent,\n lazy,\n lazyTreeNodeMap,\n lazyColumnIdentifier,\n childrenColumnName,\n checkStrictly,\n },\n }\n}\n\nexport default useTree\n"],"names":["ref","getCurrentInstance","computed","getRowIdentity","walkTreeNode","isArray","unref","watch","isUndefined"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"tree.js","sources":["../../../../../../../packages/components/table/src/store/tree.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, getCurrentInstance, ref, unref, watch } from 'vue'\nimport { isArray, isUndefined } from '@element-plus/utils'\nimport { getRowIdentity, walkTreeNode } from '../util'\n\nimport type { WatcherPropsData } from '.'\nimport type { Table, TableProps } from '../table/defaults'\n\nfunction useTree<T>(watcherData: WatcherPropsData<T>) {\n const expandRowKeys = ref<string[]>([])\n const treeData = ref<unknown>({})\n const indent = ref(16)\n const lazy = ref(false)\n const lazyTreeNodeMap = ref({})\n const lazyColumnIdentifier = ref('hasChildren')\n const childrenColumnName = ref('children')\n const checkStrictly = ref(false)\n const instance = getCurrentInstance() as Table<T>\n const normalizedData = computed(() => {\n if (!watcherData.rowKey.value) return {}\n const data = watcherData.data.value || []\n return normalize(data)\n })\n const normalizedLazyNode = computed(() => {\n const rowKey = watcherData.rowKey.value\n const keys = Object.keys(lazyTreeNodeMap.value)\n const res = {}\n if (!keys.length) return res\n keys.forEach((key) => {\n if (lazyTreeNodeMap.value[key].length) {\n const item = { children: [] }\n lazyTreeNodeMap.value[key].forEach((row) => {\n const currentRowKey = getRowIdentity(row, rowKey)\n item.children.push(currentRowKey)\n if (row[lazyColumnIdentifier.value] && !res[currentRowKey]) {\n res[currentRowKey] = { children: [] }\n }\n })\n res[key] = item\n }\n })\n return res\n })\n\n const normalize = (data) => {\n const rowKey = watcherData.rowKey.value\n const res = {}\n walkTreeNode(\n data,\n (parent, children, level) => {\n const parentId = getRowIdentity(parent, rowKey)\n if (isArray(children)) {\n res[parentId] = {\n children: children.map((row) => getRowIdentity(row, rowKey)),\n level,\n }\n } else if (lazy.value) {\n // 当 children 不存在且 lazy 为 true,该节点即为懒加载的节点\n res[parentId] = {\n children: [],\n lazy: true,\n level,\n }\n }\n },\n childrenColumnName.value,\n lazyColumnIdentifier.value\n )\n return res\n }\n\n let isInitTree = true\n let hasUpdateExpandRowKeys = false\n\n const updateTreeData = (ifChangeExpandRowKeys = false) => {\n const nested = normalizedData.value\n const normalizedLazyNode_ = normalizedLazyNode.value\n const keys = Object.keys(nested)\n const newTreeData = {}\n const ifExpandAll =\n instance.store?.states.defaultExpandAll.value && isInitTree\n isInitTree = false\n if (keys.length) {\n const oldTreeData = unref(treeData)\n const rootLazyRowKeys = []\n const getExpanded = (oldValue, key) => {\n if (ifChangeExpandRowKeys) {\n if (expandRowKeys.value.length || hasUpdateExpandRowKeys) {\n hasUpdateExpandRowKeys = false\n return ifExpandAll || expandRowKeys.value.includes(key)\n } else {\n return !!(ifExpandAll || oldValue?.expanded)\n }\n } else {\n const included =\n ifExpandAll ||\n (expandRowKeys.value && expandRowKeys.value.includes(key))\n return !!(oldValue?.expanded || included)\n }\n }\n // 合并 expanded 与 display,确保数据刷新后,状态不变\n keys.forEach((key) => {\n const oldValue = oldTreeData[key]\n const newValue = { ...nested[key] }\n newValue.expanded = getExpanded(oldValue, key)\n if (newValue.lazy) {\n const { loaded = false, loading = false } = oldValue || {}\n newValue.loaded = !!loaded\n newValue.loading = !!loading\n rootLazyRowKeys.push(key)\n }\n newTreeData[key] = newValue\n })\n // 根据懒加载数据更新 treeData\n const lazyKeys = Object.keys(normalizedLazyNode_)\n if (lazy.value && lazyKeys.length && rootLazyRowKeys.length) {\n lazyKeys.forEach((key) => {\n const oldValue = oldTreeData[key]\n const lazyNodeChildren = normalizedLazyNode_[key].children\n if (rootLazyRowKeys.includes(key)) {\n // 懒加载的 root 节点,更新一下原有的数据,原来的 children 一定是空数组\n if (newTreeData[key].children.length !== 0) {\n throw new Error('[ElTable]children must be an empty array.')\n }\n newTreeData[key].children = lazyNodeChildren\n } else {\n const { loaded = false, loading = false } = oldValue || {}\n newTreeData[key] = {\n lazy: true,\n loaded: !!loaded,\n loading: !!loading,\n expanded: getExpanded(oldValue, key),\n children: lazyNodeChildren,\n level: '',\n }\n }\n })\n }\n }\n treeData.value = newTreeData\n instance.store?.updateTableScrollY()\n }\n\n watch(\n () => expandRowKeys.value,\n () => {\n hasUpdateExpandRowKeys = true\n updateTreeData(true)\n }\n )\n\n watch(\n () => normalizedData.value,\n () => {\n isInitTree = true\n updateTreeData()\n }\n )\n watch(\n () => normalizedLazyNode.value,\n () => {\n updateTreeData()\n }\n )\n\n const updateTreeExpandKeys = (value: string[]) => {\n expandRowKeys.value = value\n updateTreeData()\n }\n const isUseLazy = (data): boolean => {\n return lazy.value && data && 'loaded' in data && !data.loaded\n }\n const toggleTreeExpansion = (row: T, expanded?: boolean) => {\n instance.store.assertRowKey()\n\n const rowKey = watcherData.rowKey.value\n const id = getRowIdentity(row, rowKey)\n const data = id && treeData.value[id]\n if (id && data && 'expanded' in data) {\n const oldExpanded = data.expanded\n expanded = isUndefined(expanded) ? !data.expanded : expanded\n treeData.value[id].expanded = expanded\n if (oldExpanded !== expanded) {\n instance.emit('expand-change', row, expanded)\n }\n isUseLazy(data) && loadData(row, id, data)\n instance.store.updateTableScrollY()\n }\n }\n\n const loadOrToggle = (row) => {\n instance.store.assertRowKey()\n const rowKey = watcherData.rowKey.value\n const id = getRowIdentity(row, rowKey)\n const data = treeData.value[id]\n if (isUseLazy(data)) {\n loadData(row, id, data)\n } else {\n toggleTreeExpansion(row, undefined)\n }\n }\n\n const loadData = (row: T, key: string, treeNode) => {\n const { load } = instance.props as unknown as TableProps<T>\n if (load && !treeData.value[key].loaded) {\n treeData.value[key].loading = true\n load(row, treeNode, (data) => {\n if (!isArray(data)) {\n throw new TypeError('[ElTable] data must be an array')\n }\n treeData.value[key].loading = false\n treeData.value[key].loaded = true\n treeData.value[key].expanded = true\n if (data.length) {\n lazyTreeNodeMap.value[key] = data\n }\n instance.emit('expand-change', row, true)\n })\n }\n }\n\n const updateKeyChildren = (key: string, data: T[]) => {\n const { lazy, rowKey } = instance.props as unknown as TableProps<T>\n if (!lazy) return\n if (!rowKey) throw new Error('[Table] rowKey is required in updateKeyChild')\n\n if (lazyTreeNodeMap.value[key]) {\n lazyTreeNodeMap.value[key] = data\n }\n }\n\n return {\n loadData,\n loadOrToggle,\n toggleTreeExpansion,\n updateTreeExpandKeys,\n updateTreeData,\n updateKeyChildren,\n normalize,\n states: {\n expandRowKeys,\n treeData,\n indent,\n lazy,\n lazyTreeNodeMap,\n lazyColumnIdentifier,\n childrenColumnName,\n checkStrictly,\n },\n }\n}\n\nexport default useTree\n"],"names":["ref","getCurrentInstance","computed","getRowIdentity","walkTreeNode","isArray","unref","watch","isUndefined"],"mappings":"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"}
|
@@ -151,6 +151,12 @@ const TableGrid = vue.defineComponent({
|
|
151
151
|
scrollLeft
|
152
152
|
} = useTableGrid(props);
|
153
153
|
vue.provide("tableV2GridScrollLeft", scrollLeft);
|
154
|
+
vue.onActivated(async () => {
|
155
|
+
var _a;
|
156
|
+
await vue.nextTick();
|
157
|
+
const scrollTop = (_a = bodyRef.value) == null ? void 0 : _a.states.scrollTop;
|
158
|
+
scrollTop && scrollToTop(Math.round(scrollTop) + 1);
|
159
|
+
});
|
154
160
|
expose({
|
155
161
|
forceUpdate,
|
156
162
|
totalHeight,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table-grid.js","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n const scrollLeft = ref(0)\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (isObject(leftOrOptions)) {\n header$?.scrollToLeft(leftOrOptions.scrollLeft)\n scrollLeft.value = leftOrOptions.scrollLeft!\n body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(leftOrOptions)\n scrollLeft.value = leftOrOptions\n body$?.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n watch(\n () => props.bodyWidth,\n () => {\n if (isNumber(props.estimatedRowHeight))\n bodyRef.value?.resetAfter({ columnIndex: 0 }, false)\n }\n )\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n } = useTableGrid(props)\n\n provide('tableV2GridScrollLeft', scrollLeft)\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\n */\n scrollToTop(scrollTop: number): void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","scrollLeft","computed","data","rowHeight","estimatedRowHeight","sum","headerHeight","gridHeight","unref","height","Math","max","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","isObject","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","watch","isNumber","$forceUpdate","columnIndex","fixedRowHeight","totalHeight","onItemRendered","resetAfterRowIndex","defineComponent","TableGrid","name","expose","ns","inject","TableV2InjectionKey","scrollTo","scrollToRow","provide","DynamicSizeGrid","FixedSizeGrid","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","onScroll","isDynamicRowEnabled","_headerHeight","class"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"table-grid.js","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onActivated,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n const scrollLeft = ref(0)\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (isObject(leftOrOptions)) {\n header$?.scrollToLeft(leftOrOptions.scrollLeft)\n scrollLeft.value = leftOrOptions.scrollLeft!\n body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(leftOrOptions)\n scrollLeft.value = leftOrOptions\n body$?.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n watch(\n () => props.bodyWidth,\n () => {\n if (isNumber(props.estimatedRowHeight))\n bodyRef.value?.resetAfter({ columnIndex: 0 }, false)\n }\n )\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n } = useTableGrid(props)\n\n provide('tableV2GridScrollLeft', scrollLeft)\n\n onActivated(async () => {\n await nextTick()\n const scrollTop = bodyRef.value?.states.scrollTop\n scrollTop && scrollToTop(Math.round(scrollTop) + 1)\n })\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\n */\n scrollToTop(scrollTop: number): void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","scrollLeft","computed","data","rowHeight","estimatedRowHeight","sum","headerHeight","gridHeight","unref","height","Math","max","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","isObject","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","watch","isNumber","$forceUpdate","columnIndex","fixedRowHeight","totalHeight","onItemRendered","resetAfterRowIndex","defineComponent","TableGrid","name","expose","ns","inject","TableV2InjectionKey","scrollTo","nextTick","scrollToRow","provide","onActivated","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","getRowHeight","onScroll","isDynamicRowEnabled","DynamicSizeGrid","_headerHeight"],"mappings":"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"}
|
@@ -49,7 +49,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
49
49
|
});
|
50
50
|
const persistentRef = vue.computed(() => {
|
51
51
|
if (process.env.NODE_ENV === "test") {
|
52
|
-
if (process.env.
|
52
|
+
if (!process.env.RUN_TEST_WITH_PERSISTENT) {
|
53
53
|
return true;
|
54
54
|
}
|
55
55
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"content2.js","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n :name=\"transitionClass\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-if=\"shouldRender\"\n v-show=\"shouldShow\"\n :id=\"id\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-label=\"ariaLabel\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :arrow-offset=\"arrowOffset\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle, contentStyle]\"\n :reference-el=\"referenceEl\"\n :trigger-target-el=\"triggerTargetEl\"\n :visible=\"shouldShow\"\n :z-index=\"zIndex\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n @blur=\"onBlur\"\n @close=\"onClose\"\n >\n <slot />\n </el-popper-content>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport { computedEager, onClickOutside } from '@vueuse/core'\nimport { useNamespace, usePopperContainerId } from '@element-plus/hooks'\nimport { composeEventHandlers } from '@element-plus/utils'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { tryFocus } from '@element-plus/components/focus-trap'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { useTooltipContentProps } from './content'\nimport type { PopperContentInstance } from '@element-plus/components/popper'\n\ndefineOptions({\n name: 'ElTooltipContent',\n inheritAttrs: false,\n})\n\nconst props = defineProps(useTooltipContentProps)\n\nconst { selector } = usePopperContainerId()\nconst ns = useNamespace('tooltip')\n\nconst contentRef = ref<PopperContentInstance>()\nconst popperContentRef = computedEager(() => contentRef.value?.popperContentRef)\nlet stopHandle: ReturnType<typeof onClickOutside>\nconst {\n controlled,\n id,\n open,\n trigger,\n onClose,\n onOpen,\n onShow,\n onHide,\n onBeforeShow,\n onBeforeHide,\n} = inject(TOOLTIP_INJECTION_KEY, undefined)!\nconst transitionClass = computed(() => {\n return props.transition || `${ns.namespace.value}-fade-in-linear`\n})\nconst persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n if (process.env.RUN_TEST_FILE_NAME !== 'select') {\n return true\n }\n }\n return props.persistent\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nconst shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n})\n\nconst shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n})\n\nconst appendTo = computed(() => {\n return props.appendTo || selector.value\n})\n\nconst contentStyle = computed(() => (props.style ?? {}) as any)\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n onHide()\n isFocusInsideContent() && tryFocus(document.body)\n ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && unref(trigger) === 'hover') {\n onOpen()\n }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (unref(trigger) === 'hover') {\n onClose()\n }\n})\n\nconst onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n onBeforeShow?.()\n}\n\nconst onBeforeLeave = () => {\n onBeforeHide?.()\n}\n\nconst onAfterShow = () => {\n onShow()\n}\n\nconst onBlur = () => {\n if (!props.virtualTriggering) {\n onClose()\n }\n}\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n const popperContent: HTMLElement | undefined =\n contentRef.value?.popperContentRef\n const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n return popperContent?.contains(activeElement)\n}\n\nwatch(\n () => unref(open),\n (val) => {\n if (!val) {\n stopHandle?.()\n } else {\n ariaHidden.value = false\n stopHandle = onClickOutside(popperContentRef, () => {\n if (unref(controlled)) return\n const $trigger = unref(trigger)\n if ($trigger !== 'hover') {\n onClose()\n }\n })\n }\n },\n {\n flush: 'post',\n }\n)\n\nwatch(\n () => props.content,\n () => {\n contentRef.value?.updatePopper?.()\n }\n)\n\ndefineExpose({\n /**\n * @description el-popper-content component instance\n */\n contentRef,\n /**\n * @description validate current focus event is trigger inside el-popper-content\n */\n isFocusInsideContent,\n})\n</script>\n"],"names":["usePopperContainerId","useNamespace","ref","computedEager","inject","TOOLTIP_INJECTION_KEY","computed","onBeforeUnmount","unref","tryFocus","composeEventHandlers","watch","onClickOutside","_openBlock","_createBlock","_unref","ElTeleport"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"content2.js","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <el-teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n :name=\"transitionClass\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-if=\"shouldRender\"\n v-show=\"shouldShow\"\n :id=\"id\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-label=\"ariaLabel\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :arrow-offset=\"arrowOffset\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle, contentStyle]\"\n :reference-el=\"referenceEl\"\n :trigger-target-el=\"triggerTargetEl\"\n :visible=\"shouldShow\"\n :z-index=\"zIndex\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n @blur=\"onBlur\"\n @close=\"onClose\"\n >\n <slot />\n </el-popper-content>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, unref, watch } from 'vue'\nimport { computedEager, onClickOutside } from '@vueuse/core'\nimport { useNamespace, usePopperContainerId } from '@element-plus/hooks'\nimport { composeEventHandlers } from '@element-plus/utils'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { tryFocus } from '@element-plus/components/focus-trap'\nimport { TOOLTIP_INJECTION_KEY } from './constants'\nimport { useTooltipContentProps } from './content'\nimport type { PopperContentInstance } from '@element-plus/components/popper'\n\ndefineOptions({\n name: 'ElTooltipContent',\n inheritAttrs: false,\n})\n\nconst props = defineProps(useTooltipContentProps)\n\nconst { selector } = usePopperContainerId()\nconst ns = useNamespace('tooltip')\n\nconst contentRef = ref<PopperContentInstance>()\nconst popperContentRef = computedEager(() => contentRef.value?.popperContentRef)\nlet stopHandle: ReturnType<typeof onClickOutside>\nconst {\n controlled,\n id,\n open,\n trigger,\n onClose,\n onOpen,\n onShow,\n onHide,\n onBeforeShow,\n onBeforeHide,\n} = inject(TOOLTIP_INJECTION_KEY, undefined)!\nconst transitionClass = computed(() => {\n return props.transition || `${ns.namespace.value}-fade-in-linear`\n})\nconst persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n if (!process.env.RUN_TEST_WITH_PERSISTENT) {\n return true\n }\n }\n return props.persistent\n})\n\nonBeforeUnmount(() => {\n stopHandle?.()\n})\n\nconst shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n})\n\nconst shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n})\n\nconst appendTo = computed(() => {\n return props.appendTo || selector.value\n})\n\nconst contentStyle = computed(() => (props.style ?? {}) as any)\n\nconst ariaHidden = ref(true)\n\nconst onTransitionLeave = () => {\n onHide()\n isFocusInsideContent() && tryFocus(document.body)\n ariaHidden.value = true\n}\n\nconst stopWhenControlled = () => {\n if (unref(controlled)) return true\n}\n\nconst onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && unref(trigger) === 'hover') {\n onOpen()\n }\n})\n\nconst onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (unref(trigger) === 'hover') {\n onClose()\n }\n})\n\nconst onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n onBeforeShow?.()\n}\n\nconst onBeforeLeave = () => {\n onBeforeHide?.()\n}\n\nconst onAfterShow = () => {\n onShow()\n}\n\nconst onBlur = () => {\n if (!props.virtualTriggering) {\n onClose()\n }\n}\n\nconst isFocusInsideContent = (event?: FocusEvent) => {\n const popperContent: HTMLElement | undefined =\n contentRef.value?.popperContentRef\n const activeElement = (event?.relatedTarget as Node) || document.activeElement\n\n return popperContent?.contains(activeElement)\n}\n\nwatch(\n () => unref(open),\n (val) => {\n if (!val) {\n stopHandle?.()\n } else {\n ariaHidden.value = false\n stopHandle = onClickOutside(popperContentRef, () => {\n if (unref(controlled)) return\n const $trigger = unref(trigger)\n if ($trigger !== 'hover') {\n onClose()\n }\n })\n }\n },\n {\n flush: 'post',\n }\n)\n\nwatch(\n () => props.content,\n () => {\n contentRef.value?.updatePopper?.()\n }\n)\n\ndefineExpose({\n /**\n * @description el-popper-content component instance\n */\n contentRef,\n /**\n * @description validate current focus event is trigger inside el-popper-content\n */\n isFocusInsideContent,\n})\n</script>\n"],"names":["usePopperContainerId","useNamespace","ref","computedEager","inject","TOOLTIP_INJECTION_KEY","computed","onBeforeUnmount","unref","tryFocus","composeEventHandlers","watch","onClickOutside","_openBlock","_createBlock","_unref","ElTeleport"],"mappings":"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"}
|
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
var tooltip$1 = require('./src/
|
5
|
+
var tooltip$1 = require('./src/tooltip2.js');
|
6
6
|
var arrow = require('./src/arrow.js');
|
7
|
-
var content = require('./src/
|
7
|
+
var content = require('./src/content.js');
|
8
8
|
var root = require('./src/root.js');
|
9
|
-
var tooltip = require('./src/
|
9
|
+
var tooltip = require('./src/tooltip.js');
|
10
10
|
var trigger = require('./src/trigger.js');
|
11
11
|
var constants = require('./src/constants.js');
|
12
12
|
var install = require('../../utils/vue/install.js');
|
@@ -2,117 +2,55 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
var
|
6
|
-
var
|
7
|
-
var visualHidden = require('../../visual-hidden/src/visual-hidden.js');
|
8
|
-
var constants = require('./constants.js');
|
9
|
-
var content = require('./content2.js');
|
10
|
-
var common = require('./common.js');
|
11
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
12
|
-
var index = require('../../../hooks/use-floating/index.js');
|
13
|
-
var index$1 = require('../../../hooks/use-z-index/index.js');
|
14
|
-
var index$2 = require('../../../hooks/use-namespace/index.js');
|
5
|
+
var runtime = require('../../../utils/vue/props/runtime.js');
|
6
|
+
var index = require('../../../hooks/use-aria/index.js');
|
15
7
|
|
16
|
-
const
|
17
|
-
|
8
|
+
const tooltipV2Strategies = ["absolute", "fixed"];
|
9
|
+
const tooltipV2Placements = [
|
10
|
+
"top-start",
|
11
|
+
"top-end",
|
12
|
+
"top",
|
13
|
+
"bottom-start",
|
14
|
+
"bottom-end",
|
15
|
+
"bottom",
|
16
|
+
"left-start",
|
17
|
+
"left-end",
|
18
|
+
"left",
|
19
|
+
"right-start",
|
20
|
+
"right-end",
|
21
|
+
"right"
|
22
|
+
];
|
23
|
+
const tooltipV2ContentProps = runtime.buildProps({
|
24
|
+
arrowPadding: {
|
25
|
+
type: runtime.definePropType(Number),
|
26
|
+
default: 5
|
27
|
+
},
|
28
|
+
effect: {
|
29
|
+
type: runtime.definePropType(String),
|
30
|
+
default: "light"
|
31
|
+
},
|
32
|
+
contentClass: String,
|
33
|
+
placement: {
|
34
|
+
type: runtime.definePropType(String),
|
35
|
+
values: tooltipV2Placements,
|
36
|
+
default: "bottom"
|
37
|
+
},
|
38
|
+
reference: {
|
39
|
+
type: runtime.definePropType(Object),
|
40
|
+
default: null
|
41
|
+
},
|
42
|
+
offset: {
|
43
|
+
type: Number,
|
44
|
+
default: 8
|
45
|
+
},
|
46
|
+
strategy: {
|
47
|
+
type: runtime.definePropType(String),
|
48
|
+
values: tooltipV2Strategies,
|
49
|
+
default: "absolute"
|
50
|
+
},
|
51
|
+
showArrow: Boolean,
|
52
|
+
...index.useAriaProps(["ariaLabel"])
|
18
53
|
});
|
19
|
-
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
20
|
-
...__default__,
|
21
|
-
props: { ...content.tooltipV2ContentProps, ...common.tooltipV2CommonProps },
|
22
|
-
setup(__props) {
|
23
|
-
const props = __props;
|
24
|
-
const { triggerRef, contentId } = vue.inject(constants.tooltipV2RootKey);
|
25
|
-
const placement = vue.ref(props.placement);
|
26
|
-
const strategy = vue.ref(props.strategy);
|
27
|
-
const arrowRef = vue.ref(null);
|
28
|
-
const { referenceRef, contentRef, middlewareData, x, y, update } = index.useFloating({
|
29
|
-
placement,
|
30
|
-
strategy,
|
31
|
-
middleware: vue.computed(() => {
|
32
|
-
const middleware = [dom.offset(props.offset)];
|
33
|
-
if (props.showArrow) {
|
34
|
-
middleware.push(index.arrowMiddleware({
|
35
|
-
arrowRef
|
36
|
-
}));
|
37
|
-
}
|
38
|
-
return middleware;
|
39
|
-
})
|
40
|
-
});
|
41
|
-
const zIndex = index$1.useZIndex().nextZIndex();
|
42
|
-
const ns = index$2.useNamespace("tooltip-v2");
|
43
|
-
const side = vue.computed(() => {
|
44
|
-
return placement.value.split("-")[0];
|
45
|
-
});
|
46
|
-
const contentStyle = vue.computed(() => {
|
47
|
-
return {
|
48
|
-
position: vue.unref(strategy),
|
49
|
-
top: `${vue.unref(y) || 0}px`,
|
50
|
-
left: `${vue.unref(x) || 0}px`,
|
51
|
-
zIndex
|
52
|
-
};
|
53
|
-
});
|
54
|
-
const arrowStyle = vue.computed(() => {
|
55
|
-
if (!props.showArrow)
|
56
|
-
return {};
|
57
|
-
const { arrow } = vue.unref(middlewareData);
|
58
|
-
return {
|
59
|
-
[`--${ns.namespace.value}-tooltip-v2-arrow-x`]: `${arrow == null ? void 0 : arrow.x}px` || "",
|
60
|
-
[`--${ns.namespace.value}-tooltip-v2-arrow-y`]: `${arrow == null ? void 0 : arrow.y}px` || ""
|
61
|
-
};
|
62
|
-
});
|
63
|
-
const contentClass = vue.computed(() => [
|
64
|
-
ns.e("content"),
|
65
|
-
ns.is("dark", props.effect === "dark"),
|
66
|
-
ns.is(vue.unref(strategy)),
|
67
|
-
props.contentClass
|
68
|
-
]);
|
69
|
-
vue.watch(arrowRef, () => update());
|
70
|
-
vue.watch(() => props.placement, (val) => placement.value = val);
|
71
|
-
vue.onMounted(() => {
|
72
|
-
vue.watch(() => props.reference || triggerRef.value, (el) => {
|
73
|
-
referenceRef.value = el || void 0;
|
74
|
-
}, {
|
75
|
-
immediate: true
|
76
|
-
});
|
77
|
-
});
|
78
|
-
vue.provide(constants.tooltipV2ContentKey, { arrowRef });
|
79
|
-
return (_ctx, _cache) => {
|
80
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
81
|
-
ref_key: "contentRef",
|
82
|
-
ref: contentRef,
|
83
|
-
style: vue.normalizeStyle(vue.unref(contentStyle)),
|
84
|
-
"data-tooltip-v2-root": ""
|
85
|
-
}, [
|
86
|
-
!_ctx.nowrap ? (vue.openBlock(), vue.createElementBlock("div", {
|
87
|
-
key: 0,
|
88
|
-
"data-side": vue.unref(side),
|
89
|
-
class: vue.normalizeClass(vue.unref(contentClass))
|
90
|
-
}, [
|
91
|
-
vue.renderSlot(_ctx.$slots, "default", {
|
92
|
-
contentStyle: vue.unref(contentStyle),
|
93
|
-
contentClass: vue.unref(contentClass)
|
94
|
-
}),
|
95
|
-
vue.createVNode(vue.unref(visualHidden["default"]), {
|
96
|
-
id: vue.unref(contentId),
|
97
|
-
role: "tooltip"
|
98
|
-
}, {
|
99
|
-
default: vue.withCtx(() => [
|
100
|
-
_ctx.ariaLabel ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
101
|
-
vue.createTextVNode(vue.toDisplayString(_ctx.ariaLabel), 1)
|
102
|
-
], 64)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
|
103
|
-
]),
|
104
|
-
_: 3
|
105
|
-
}, 8, ["id"]),
|
106
|
-
vue.renderSlot(_ctx.$slots, "arrow", {
|
107
|
-
style: vue.normalizeStyle(vue.unref(arrowStyle)),
|
108
|
-
side: vue.unref(side)
|
109
|
-
})
|
110
|
-
], 10, ["data-side"])) : vue.createCommentVNode("v-if", true)
|
111
|
-
], 4);
|
112
|
-
};
|
113
|
-
}
|
114
|
-
});
|
115
|
-
var TooltipV2Content = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "content.vue"]]);
|
116
54
|
|
117
|
-
exports
|
55
|
+
exports.tooltipV2ContentProps = tooltipV2ContentProps;
|
118
56
|
//# sourceMappingURL=content.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"content.js","sources":["../../../../../../packages/components/tooltip-v2/src/content.
|
1
|
+
{"version":3,"file":"content.js","sources":["../../../../../../packages/components/tooltip-v2/src/content.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { useAriaProps } from '@element-plus/hooks'\n\nimport type { PopperEffect } from '@element-plus/components/popper'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Placement, Strategy, VirtualElement } from '@floating-ui/dom'\n\nconst tooltipV2Strategies = ['absolute', 'fixed'] as const\n\nconst tooltipV2Placements = [\n 'top-start',\n 'top-end',\n 'top',\n 'bottom-start',\n 'bottom-end',\n 'bottom',\n 'left-start',\n 'left-end',\n 'left',\n 'right-start',\n 'right-end',\n 'right',\n] as const\n\nexport const tooltipV2ContentProps = buildProps({\n arrowPadding: {\n type: definePropType<number>(Number),\n default: 5,\n },\n effect: {\n type: definePropType<PopperEffect>(String),\n default: 'light',\n },\n contentClass: String,\n /**\n * Placement of tooltip content relative to reference element (when absent it refers to trigger)\n */\n placement: {\n type: definePropType<Placement>(String),\n values: tooltipV2Placements,\n default: 'bottom',\n },\n /**\n * Reference element for tooltip content to set its position\n */\n reference: {\n type: definePropType<HTMLElement | VirtualElement | null>(Object),\n default: null,\n },\n offset: {\n type: Number,\n default: 8,\n },\n strategy: {\n type: definePropType<Strategy>(String),\n values: tooltipV2Strategies,\n default: 'absolute',\n },\n showArrow: Boolean,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type TooltipV2ContentProps = ExtractPropTypes<\n typeof tooltipV2ContentProps\n>\n"],"names":["buildProps","definePropType","useAriaProps"],"mappings":";;;;;;;AAEA,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,mBAAmB,GAAG;AAC5B,EAAE,WAAW;AACb,EAAE,SAAS;AACX,EAAE,KAAK;AACP,EAAE,cAAc;AAChB,EAAE,YAAY;AACd,EAAE,QAAQ;AACV,EAAE,YAAY;AACd,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,aAAa;AACf,EAAE,WAAW;AACb,EAAE,OAAO;AACT,CAAC,CAAC;AACU,MAAC,qBAAqB,GAAGA,kBAAU,CAAC;AAChD,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEC,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,YAAY,EAAE,MAAM;AACtB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE,mBAAmB;AAC/B,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE,mBAAmB;AAC/B,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,GAAGC,kBAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;;;;"}
|
@@ -2,55 +2,117 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
var
|
6
|
-
var
|
5
|
+
var vue = require('vue');
|
6
|
+
var dom = require('@floating-ui/dom');
|
7
|
+
var visualHidden = require('../../visual-hidden/src/visual-hidden2.js');
|
8
|
+
var constants = require('./constants.js');
|
9
|
+
var content = require('./content.js');
|
10
|
+
var common = require('./common.js');
|
11
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
12
|
+
var index = require('../../../hooks/use-floating/index.js');
|
13
|
+
var index$1 = require('../../../hooks/use-z-index/index.js');
|
14
|
+
var index$2 = require('../../../hooks/use-namespace/index.js');
|
7
15
|
|
8
|
-
const
|
9
|
-
|
10
|
-
"top-start",
|
11
|
-
"top-end",
|
12
|
-
"top",
|
13
|
-
"bottom-start",
|
14
|
-
"bottom-end",
|
15
|
-
"bottom",
|
16
|
-
"left-start",
|
17
|
-
"left-end",
|
18
|
-
"left",
|
19
|
-
"right-start",
|
20
|
-
"right-end",
|
21
|
-
"right"
|
22
|
-
];
|
23
|
-
const tooltipV2ContentProps = runtime.buildProps({
|
24
|
-
arrowPadding: {
|
25
|
-
type: runtime.definePropType(Number),
|
26
|
-
default: 5
|
27
|
-
},
|
28
|
-
effect: {
|
29
|
-
type: runtime.definePropType(String),
|
30
|
-
default: "light"
|
31
|
-
},
|
32
|
-
contentClass: String,
|
33
|
-
placement: {
|
34
|
-
type: runtime.definePropType(String),
|
35
|
-
values: tooltipV2Placements,
|
36
|
-
default: "bottom"
|
37
|
-
},
|
38
|
-
reference: {
|
39
|
-
type: runtime.definePropType(Object),
|
40
|
-
default: null
|
41
|
-
},
|
42
|
-
offset: {
|
43
|
-
type: Number,
|
44
|
-
default: 8
|
45
|
-
},
|
46
|
-
strategy: {
|
47
|
-
type: runtime.definePropType(String),
|
48
|
-
values: tooltipV2Strategies,
|
49
|
-
default: "absolute"
|
50
|
-
},
|
51
|
-
showArrow: Boolean,
|
52
|
-
...index.useAriaProps(["ariaLabel"])
|
16
|
+
const __default__ = vue.defineComponent({
|
17
|
+
name: "ElTooltipV2Content"
|
53
18
|
});
|
19
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
20
|
+
...__default__,
|
21
|
+
props: { ...content.tooltipV2ContentProps, ...common.tooltipV2CommonProps },
|
22
|
+
setup(__props) {
|
23
|
+
const props = __props;
|
24
|
+
const { triggerRef, contentId } = vue.inject(constants.tooltipV2RootKey);
|
25
|
+
const placement = vue.ref(props.placement);
|
26
|
+
const strategy = vue.ref(props.strategy);
|
27
|
+
const arrowRef = vue.ref(null);
|
28
|
+
const { referenceRef, contentRef, middlewareData, x, y, update } = index.useFloating({
|
29
|
+
placement,
|
30
|
+
strategy,
|
31
|
+
middleware: vue.computed(() => {
|
32
|
+
const middleware = [dom.offset(props.offset)];
|
33
|
+
if (props.showArrow) {
|
34
|
+
middleware.push(index.arrowMiddleware({
|
35
|
+
arrowRef
|
36
|
+
}));
|
37
|
+
}
|
38
|
+
return middleware;
|
39
|
+
})
|
40
|
+
});
|
41
|
+
const zIndex = index$1.useZIndex().nextZIndex();
|
42
|
+
const ns = index$2.useNamespace("tooltip-v2");
|
43
|
+
const side = vue.computed(() => {
|
44
|
+
return placement.value.split("-")[0];
|
45
|
+
});
|
46
|
+
const contentStyle = vue.computed(() => {
|
47
|
+
return {
|
48
|
+
position: vue.unref(strategy),
|
49
|
+
top: `${vue.unref(y) || 0}px`,
|
50
|
+
left: `${vue.unref(x) || 0}px`,
|
51
|
+
zIndex
|
52
|
+
};
|
53
|
+
});
|
54
|
+
const arrowStyle = vue.computed(() => {
|
55
|
+
if (!props.showArrow)
|
56
|
+
return {};
|
57
|
+
const { arrow } = vue.unref(middlewareData);
|
58
|
+
return {
|
59
|
+
[`--${ns.namespace.value}-tooltip-v2-arrow-x`]: `${arrow == null ? void 0 : arrow.x}px` || "",
|
60
|
+
[`--${ns.namespace.value}-tooltip-v2-arrow-y`]: `${arrow == null ? void 0 : arrow.y}px` || ""
|
61
|
+
};
|
62
|
+
});
|
63
|
+
const contentClass = vue.computed(() => [
|
64
|
+
ns.e("content"),
|
65
|
+
ns.is("dark", props.effect === "dark"),
|
66
|
+
ns.is(vue.unref(strategy)),
|
67
|
+
props.contentClass
|
68
|
+
]);
|
69
|
+
vue.watch(arrowRef, () => update());
|
70
|
+
vue.watch(() => props.placement, (val) => placement.value = val);
|
71
|
+
vue.onMounted(() => {
|
72
|
+
vue.watch(() => props.reference || triggerRef.value, (el) => {
|
73
|
+
referenceRef.value = el || void 0;
|
74
|
+
}, {
|
75
|
+
immediate: true
|
76
|
+
});
|
77
|
+
});
|
78
|
+
vue.provide(constants.tooltipV2ContentKey, { arrowRef });
|
79
|
+
return (_ctx, _cache) => {
|
80
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
81
|
+
ref_key: "contentRef",
|
82
|
+
ref: contentRef,
|
83
|
+
style: vue.normalizeStyle(vue.unref(contentStyle)),
|
84
|
+
"data-tooltip-v2-root": ""
|
85
|
+
}, [
|
86
|
+
!_ctx.nowrap ? (vue.openBlock(), vue.createElementBlock("div", {
|
87
|
+
key: 0,
|
88
|
+
"data-side": vue.unref(side),
|
89
|
+
class: vue.normalizeClass(vue.unref(contentClass))
|
90
|
+
}, [
|
91
|
+
vue.renderSlot(_ctx.$slots, "default", {
|
92
|
+
contentStyle: vue.unref(contentStyle),
|
93
|
+
contentClass: vue.unref(contentClass)
|
94
|
+
}),
|
95
|
+
vue.createVNode(vue.unref(visualHidden["default"]), {
|
96
|
+
id: vue.unref(contentId),
|
97
|
+
role: "tooltip"
|
98
|
+
}, {
|
99
|
+
default: vue.withCtx(() => [
|
100
|
+
_ctx.ariaLabel ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
101
|
+
vue.createTextVNode(vue.toDisplayString(_ctx.ariaLabel), 1)
|
102
|
+
], 64)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
|
103
|
+
]),
|
104
|
+
_: 3
|
105
|
+
}, 8, ["id"]),
|
106
|
+
vue.renderSlot(_ctx.$slots, "arrow", {
|
107
|
+
style: vue.normalizeStyle(vue.unref(arrowStyle)),
|
108
|
+
side: vue.unref(side)
|
109
|
+
})
|
110
|
+
], 10, ["data-side"])) : vue.createCommentVNode("v-if", true)
|
111
|
+
], 4);
|
112
|
+
};
|
113
|
+
}
|
114
|
+
});
|
115
|
+
var TooltipV2Content = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "content.vue"]]);
|
54
116
|
|
55
|
-
exports
|
117
|
+
exports["default"] = TooltipV2Content;
|
56
118
|
//# sourceMappingURL=content2.js.map
|