@element-plus/nightly 0.0.20241021 → 0.0.20241023
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 +40 -8
- package/dist/index.full.min.js +9 -9
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +10 -10
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +40 -8
- 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/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/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/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/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/avatar/index.mjs +2 -2
- package/es/components/avatar/src/avatar.mjs +32 -66
- package/es/components/avatar/src/avatar.mjs.map +1 -1
- package/es/components/avatar/src/avatar2.mjs +66 -32
- package/es/components/avatar/src/avatar2.mjs.map +1 -1
- package/es/components/cascader/index.mjs +2 -2
- package/es/components/cascader/src/cascader.mjs +83 -627
- package/es/components/cascader/src/cascader.mjs.map +1 -1
- package/es/components/cascader/src/cascader2.mjs +627 -83
- package/es/components/cascader/src/cascader2.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +3 -0
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -0
- package/es/components/date-picker/src/date-picker.d.ts +3 -0
- package/es/components/date-picker/src/panel-utils.d.ts +16 -2
- package/es/components/date-picker/src/props/date-picker.d.ts +1 -0
- package/es/components/date-picker/src/props/panel-date-pick.d.ts +1 -0
- package/es/components/date-picker/src/props/panel-date-range.d.ts +1 -0
- package/es/components/date-picker/src/props/shared.d.ts +1 -0
- package/es/components/date-picker/src/props/shared.mjs +5 -1
- package/es/components/date-picker/src/props/shared.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-cell.mjs.map +1 -1
- package/es/components/index.mjs +7 -7
- package/es/components/input/index.mjs +2 -2
- package/es/components/input/src/input.mjs +103 -445
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input2.mjs +445 -103
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/mention/src/mention.mjs +1 -1
- package/es/components/mention/src/mention2.mjs +1 -1
- package/es/components/pagination/src/components/prev.mjs +18 -36
- package/es/components/pagination/src/components/prev.mjs.map +1 -1
- package/es/components/pagination/src/components/prev2.mjs +36 -18
- package/es/components/pagination/src/components/prev2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +1 -1
- package/es/components/popper/index.mjs +2 -2
- package/es/components/popper/src/content.mjs +93 -137
- package/es/components/popper/src/content.mjs.map +1 -1
- package/es/components/popper/src/content2.mjs +137 -93
- package/es/components/popper/src/content2.mjs.map +1 -1
- package/es/components/scrollbar/index.mjs +1 -1
- package/es/components/scrollbar/src/bar2.mjs +1 -1
- package/es/components/scrollbar/src/thumb.mjs +11 -130
- package/es/components/scrollbar/src/thumb.mjs.map +1 -1
- package/es/components/scrollbar/src/thumb2.mjs +130 -11
- package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
- package/es/components/table-v2/src/components/header.mjs +7 -1
- package/es/components/table-v2/src/components/header.mjs.map +1 -1
- package/es/components/table-v2/src/table-grid.mjs +9 -3
- package/es/components/table-v2/src/table-grid.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.mjs +1 -0
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +4 -0
- package/es/components/time-picker/src/common/props.d.ts +1 -0
- package/es/components/time-picker/src/common/props.mjs +5 -1
- package/es/components/time-picker/src/common/props.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker.d.ts +3 -0
- package/es/components/tooltip/src/content.mjs +1 -1
- package/es/components/tooltip/src/content2.mjs +1 -1
- package/es/components/tooltip-v2/index.mjs +1 -1
- package/es/components/tooltip-v2/src/arrow.mjs +22 -37
- package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
- package/es/components/tooltip-v2/src/arrow2.mjs +37 -22
- package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content2.mjs +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
- package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
- package/es/components/tour/index.mjs +1 -1
- package/es/components/tour/src/content.mjs +44 -68
- package/es/components/tour/src/content.mjs.map +1 -1
- package/es/components/tour/src/content2.mjs +68 -44
- package/es/components/tour/src/content2.mjs.map +1 -1
- package/es/components/tour/src/step.mjs +1 -1
- package/es/components/tour/src/tour.mjs +1 -1
- package/es/components/tour/src/tour2.mjs +1 -1
- package/es/components/tree/src/model/tree-store.mjs +2 -0
- package/es/components/tree/src/model/tree-store.mjs.map +1 -1
- package/es/components/tree/src/tree-node.mjs +10 -1
- package/es/components/tree/src/tree-node.mjs.map +1 -1
- package/es/components/visual-hidden/index.mjs +3 -3
- package/es/components/visual-hidden/src/visual-hidden.mjs +7 -35
- package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
- package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -7
- package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
- package/es/index.mjs +7 -7
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/avatar/index.js +2 -2
- package/lib/components/avatar/src/avatar.js +33 -66
- package/lib/components/avatar/src/avatar.js.map +1 -1
- package/lib/components/avatar/src/avatar2.js +66 -33
- package/lib/components/avatar/src/avatar2.js.map +1 -1
- package/lib/components/cascader/index.js +2 -2
- package/lib/components/cascader/src/cascader.js +84 -627
- package/lib/components/cascader/src/cascader.js.map +1 -1
- package/lib/components/cascader/src/cascader2.js +627 -84
- package/lib/components/cascader/src/cascader2.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +3 -0
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -0
- package/lib/components/date-picker/src/date-picker.d.ts +3 -0
- package/lib/components/date-picker/src/panel-utils.d.ts +16 -2
- package/lib/components/date-picker/src/props/date-picker.d.ts +1 -0
- package/lib/components/date-picker/src/props/panel-date-pick.d.ts +1 -0
- package/lib/components/date-picker/src/props/panel-date-range.d.ts +1 -0
- package/lib/components/date-picker/src/props/shared.d.ts +1 -0
- package/lib/components/date-picker/src/props/shared.js +5 -1
- package/lib/components/date-picker/src/props/shared.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-cell.js.map +1 -1
- package/lib/components/index.js +7 -7
- package/lib/components/input/index.js +2 -2
- package/lib/components/input/src/input.js +103 -444
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input2.js +444 -103
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/mention/src/mention.js +1 -1
- package/lib/components/mention/src/mention2.js +1 -1
- package/lib/components/pagination/src/components/prev.js +19 -36
- package/lib/components/pagination/src/components/prev.js.map +1 -1
- package/lib/components/pagination/src/components/prev2.js +36 -19
- package/lib/components/pagination/src/components/prev2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +1 -1
- package/lib/components/popper/index.js +2 -2
- package/lib/components/popper/src/content.js +98 -137
- package/lib/components/popper/src/content.js.map +1 -1
- package/lib/components/popper/src/content2.js +137 -98
- package/lib/components/popper/src/content2.js.map +1 -1
- package/lib/components/scrollbar/index.js +1 -1
- package/lib/components/scrollbar/src/bar2.js +1 -1
- package/lib/components/scrollbar/src/thumb.js +11 -130
- package/lib/components/scrollbar/src/thumb.js.map +1 -1
- package/lib/components/scrollbar/src/thumb2.js +130 -11
- package/lib/components/scrollbar/src/thumb2.js.map +1 -1
- package/lib/components/table-v2/src/components/header.js +6 -0
- package/lib/components/table-v2/src/components/header.js.map +1 -1
- package/lib/components/table-v2/src/table-grid.js +8 -2
- package/lib/components/table-v2/src/table-grid.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js +1 -0
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +4 -0
- package/lib/components/time-picker/src/common/props.d.ts +1 -0
- package/lib/components/time-picker/src/common/props.js +5 -1
- package/lib/components/time-picker/src/common/props.js.map +1 -1
- package/lib/components/time-picker/src/time-picker.d.ts +3 -0
- package/lib/components/tooltip/src/content.js +1 -1
- package/lib/components/tooltip/src/content2.js +1 -1
- package/lib/components/tooltip-v2/index.js +1 -1
- package/lib/components/tooltip-v2/src/arrow.js +23 -37
- package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
- package/lib/components/tooltip-v2/src/arrow2.js +37 -23
- package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
- package/lib/components/tooltip-v2/src/content2.js +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +1 -1
- package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
- package/lib/components/tour/index.js +1 -1
- package/lib/components/tour/src/content.js +47 -68
- package/lib/components/tour/src/content.js.map +1 -1
- package/lib/components/tour/src/content2.js +68 -47
- package/lib/components/tour/src/content2.js.map +1 -1
- package/lib/components/tour/src/step.js +1 -1
- package/lib/components/tour/src/tour.js +1 -1
- package/lib/components/tour/src/tour2.js +1 -1
- package/lib/components/tree/src/model/tree-store.js +2 -0
- package/lib/components/tree/src/model/tree-store.js.map +1 -1
- package/lib/components/tree/src/tree-node.js +10 -1
- package/lib/components/tree/src/tree-node.js.map +1 -1
- package/lib/components/visual-hidden/index.js +2 -2
- package/lib/components/visual-hidden/src/visual-hidden.js +7 -35
- package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
- package/lib/components/visual-hidden/src/visual-hidden2.js +35 -7
- package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
- package/lib/index.js +7 -7
- 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":"thumb2.mjs","sources":["../../../../../../packages/components/scrollbar/src/thumb.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Thumb from './thumb.vue'\n\nexport const thumbProps = buildProps({\n vertical: Boolean,\n size: String,\n move: Number,\n ratio: {\n type: Number,\n required: true,\n },\n always: Boolean,\n} as const)\nexport type ThumbProps = ExtractPropTypes<typeof thumbProps>\n\nexport type ThumbInstance = InstanceType<typeof Thumb>\n"],"names":[],"mappings":";;;AACY,MAAC,UAAU,GAAG,UAAU,CAAC;AACrC,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"thumb2.mjs","sources":["../../../../../../packages/components/scrollbar/src/thumb.vue"],"sourcesContent":["<template>\n <transition :name=\"ns.b('fade')\">\n <div\n v-show=\"always || visible\"\n ref=\"instance\"\n :class=\"[ns.e('bar'), ns.is(bar.key)]\"\n @mousedown=\"clickTrackHandler\"\n >\n <div\n ref=\"thumb\"\n :class=\"ns.e('thumb')\"\n :style=\"thumbStyle\"\n @mousedown=\"clickThumbHandler\"\n />\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, toRef } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { isClient, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { scrollbarContextKey } from './constants'\nimport { BAR_MAP, renderThumbStyle } from './util'\nimport { thumbProps } from './thumb'\n\nconst COMPONENT_NAME = 'Thumb'\nconst props = defineProps(thumbProps)\n\nconst scrollbar = inject(scrollbarContextKey)\nconst ns = useNamespace('scrollbar')\n\nif (!scrollbar) throwError(COMPONENT_NAME, 'can not inject scrollbar context')\n\nconst instance = ref<HTMLDivElement>()\nconst thumb = ref<HTMLDivElement>()\n\nconst thumbState = ref<Partial<Record<'X' | 'Y', number>>>({})\nconst visible = ref(false)\n\nlet cursorDown = false\nlet cursorLeave = false\nlet originalOnSelectStart:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = isClient ? document.onselectstart : null\n\nconst bar = computed(() => BAR_MAP[props.vertical ? 'vertical' : 'horizontal'])\n\nconst thumbStyle = computed(() =>\n renderThumbStyle({\n size: props.size,\n move: props.move,\n bar: bar.value,\n })\n)\n\nconst offsetRatio = computed(\n () =>\n // offsetRatioX = original width of thumb / current width of thumb / ratioX\n // offsetRatioY = original height of thumb / current height of thumb / ratioY\n // instance height = wrap height - GAP\n instance.value![bar.value.offset] ** 2 /\n scrollbar.wrapElement![bar.value.scrollSize] /\n props.ratio /\n thumb.value![bar.value.offset]\n)\n\nconst clickThumbHandler = (e: MouseEvent) => {\n // prevent click event of middle and right button\n e.stopPropagation()\n if (e.ctrlKey || [1, 2].includes(e.button)) return\n\n window.getSelection()?.removeAllRanges()\n startDrag(e)\n\n const el = e.currentTarget as HTMLDivElement\n if (!el) return\n thumbState.value[bar.value.axis] =\n el[bar.value.offset] -\n (e[bar.value.client] - el.getBoundingClientRect()[bar.value.direction])\n}\n\nconst clickTrackHandler = (e: MouseEvent) => {\n if (!thumb.value || !instance.value || !scrollbar.wrapElement) return\n\n const offset = Math.abs(\n (e.target as HTMLElement).getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]\n )\n const thumbHalf = thumb.value[bar.value.offset] / 2\n const thumbPositionPercentage =\n ((offset - thumbHalf) * 100 * offsetRatio.value) /\n instance.value[bar.value.offset]\n\n scrollbar.wrapElement[bar.value.scroll] =\n (thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize]) /\n 100\n}\n\nconst startDrag = (e: MouseEvent) => {\n e.stopImmediatePropagation()\n cursorDown = true\n document.addEventListener('mousemove', mouseMoveDocumentHandler)\n document.addEventListener('mouseup', mouseUpDocumentHandler)\n originalOnSelectStart = document.onselectstart\n document.onselectstart = () => false\n}\n\nconst mouseMoveDocumentHandler = (e: MouseEvent) => {\n if (!instance.value || !thumb.value) return\n if (cursorDown === false) return\n\n const prevPage = thumbState.value[bar.value.axis]\n if (!prevPage) return\n\n const offset =\n (instance.value.getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]) *\n -1\n const thumbClickPosition = thumb.value[bar.value.offset] - prevPage\n const thumbPositionPercentage =\n ((offset - thumbClickPosition) * 100 * offsetRatio.value) /\n instance.value[bar.value.offset]\n scrollbar.wrapElement[bar.value.scroll] =\n (thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize]) /\n 100\n}\n\nconst mouseUpDocumentHandler = () => {\n cursorDown = false\n thumbState.value[bar.value.axis] = 0\n document.removeEventListener('mousemove', mouseMoveDocumentHandler)\n document.removeEventListener('mouseup', mouseUpDocumentHandler)\n restoreOnselectstart()\n if (cursorLeave) visible.value = false\n}\n\nconst mouseMoveScrollbarHandler = () => {\n cursorLeave = false\n visible.value = !!props.size\n}\n\nconst mouseLeaveScrollbarHandler = () => {\n cursorLeave = true\n visible.value = cursorDown\n}\n\nonBeforeUnmount(() => {\n restoreOnselectstart()\n document.removeEventListener('mouseup', mouseUpDocumentHandler)\n})\n\nconst restoreOnselectstart = () => {\n if (document.onselectstart !== originalOnSelectStart)\n document.onselectstart = originalOnSelectStart\n}\n\nuseEventListener(\n toRef(scrollbar, 'scrollbarElement'),\n 'mousemove',\n mouseMoveScrollbarHandler\n)\nuseEventListener(\n toRef(scrollbar, 'scrollbarElement'),\n 'mouseleave',\n mouseLeaveScrollbarHandler\n)\n</script>\n"],"names":["_createBlock","_Transition","_unref","_withCtx","_withDirectives","_createElementVNode","_normalizeClass"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, computed, unref, nextTick, createVNode } from 'vue';
|
|
1
|
+
import { defineComponent, inject, ref, computed, unref, nextTick, onUpdated, createVNode } from 'vue';
|
|
2
2
|
import '../../../../hooks/index.mjs';
|
|
3
3
|
import '../../../../utils/index.mjs';
|
|
4
4
|
import { tableV2HeaderProps } from '../header.mjs';
|
|
@@ -15,6 +15,7 @@ const TableV2Header = defineComponent({
|
|
|
15
15
|
expose
|
|
16
16
|
}) {
|
|
17
17
|
const ns = useNamespace("table-v2");
|
|
18
|
+
const scrollLeftInfo = inject("tableV2GridScrollLeft");
|
|
18
19
|
const headerRef = ref();
|
|
19
20
|
const headerStyle = computed(() => enforceUnit({
|
|
20
21
|
width: props.width,
|
|
@@ -74,6 +75,11 @@ const TableV2Header = defineComponent({
|
|
|
74
75
|
});
|
|
75
76
|
});
|
|
76
77
|
};
|
|
78
|
+
onUpdated(() => {
|
|
79
|
+
if (scrollLeftInfo == null ? void 0 : scrollLeftInfo.value) {
|
|
80
|
+
scrollToLeft(scrollLeftInfo.value);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
77
83
|
expose({
|
|
78
84
|
scrollToLeft
|
|
79
85
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"header.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onUpdated,\n ref,\n unref,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ensureArray } from '@element-plus/utils'\nimport { tableV2HeaderProps } from '../header'\nimport { enforceUnit } from '../utils'\n\nimport type { CSSProperties, Ref, UnwrapRef } from 'vue'\nimport type { TableV2HeaderProps } from '../header'\nimport type { UseColumnsReturn } from '../composables/use-columns'\n\nconst COMPONENT_NAME = 'ElTableV2Header'\nconst TableV2Header = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2HeaderProps,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n const scrollLeftInfo = inject<Ref<number>>('tableV2GridScrollLeft')\n\n const headerRef = ref<HTMLElement>()\n\n const headerStyle = computed(() =>\n enforceUnit({\n width: props.width,\n height: props.height,\n })\n )\n\n const rowStyle = computed(() =>\n enforceUnit({\n width: props.rowWidth,\n height: props.height,\n })\n )\n\n const headerHeights = computed(() => ensureArray(unref(props.headerHeight)))\n\n const scrollToLeft = (left?: number) => {\n const headerEl = unref(headerRef)\n nextTick(() => {\n headerEl?.scroll &&\n headerEl.scroll({\n left,\n })\n })\n }\n\n const renderFixedRows = () => {\n const fixedRowClassName = ns.e('fixed-header-row')\n\n const { columns, fixedHeaderData, rowHeight } = props\n\n return fixedHeaderData?.map((fixedRowData, fixedRowIndex) => {\n const style: CSSProperties = enforceUnit({\n height: rowHeight,\n width: '100%',\n })\n\n return slots.fixed?.({\n class: fixedRowClassName,\n columns,\n rowData: fixedRowData,\n rowIndex: -(fixedRowIndex + 1),\n style,\n })\n })\n }\n\n const renderDynamicRows = () => {\n const dynamicRowClassName = ns.e('dynamic-header-row')\n const { columns } = props\n\n return unref(headerHeights).map((rowHeight, rowIndex) => {\n const style: CSSProperties = enforceUnit({\n width: '100%',\n height: rowHeight,\n })\n\n return slots.dynamic?.({\n class: dynamicRowClassName,\n columns,\n headerIndex: rowIndex,\n style,\n })\n })\n }\n\n onUpdated(() => {\n if (scrollLeftInfo?.value) {\n scrollToLeft(scrollLeftInfo.value)\n }\n })\n expose({\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft,\n })\n\n return () => {\n if (props.height <= 0) return\n\n return (\n <div\n ref={headerRef}\n class={props.class}\n style={unref(headerStyle)}\n role=\"rowgroup\"\n >\n <div style={unref(rowStyle)} class={ns.e('header')}>\n {renderDynamicRows()}\n {renderFixedRows()}\n </div>\n </div>\n )\n }\n },\n})\n\nexport default TableV2Header\n\nexport type TableV2HeaderInstance = InstanceType<typeof TableV2Header> & {\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft: (left?: number) => void\n}\n\nexport type TableV2HeaderRendererParams = {\n class: string\n columns: TableV2HeaderProps['columns']\n columnsStyles: UnwrapRef<UseColumnsReturn['columnsStyles']>\n headerIndex: number\n style: CSSProperties\n}\n\nexport type TableV2HeaderRowRendererParams = {\n rowData: any\n rowIndex: number\n} & Omit<TableV2HeaderRendererParams, 'headerIndex'>\n"],"names":["COMPONENT_NAME","TableV2Header","defineComponent","name","props","tableV2HeaderProps","slots","expose","ns","scrollLeftInfo","inject","headerRef","ref","computed","width","height","rowWidth","ensureArray","headerHeights","scrollToLeft","nextTick","headerEl","left","renderFixedRows","rowHeight","fixedHeaderData","style","enforceUnit","class","fixedRowClassName","columns","rowData","rowIndex","renderDynamicRows","unref","headerIndex","onUpdated","_createVNode","headerStyle"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ref, computed, unref, defineComponent, inject, createVNode } from 'vue';
|
|
1
|
+
import { ref, computed, unref, defineComponent, inject, provide, createVNode } from 'vue';
|
|
2
2
|
import '../../virtual-list/index.mjs';
|
|
3
3
|
import '../../../utils/index.mjs';
|
|
4
4
|
import './components/index.mjs';
|
|
@@ -15,6 +15,7 @@ const COMPONENT_NAME = "ElTableV2Grid";
|
|
|
15
15
|
const useTableGrid = (props) => {
|
|
16
16
|
const headerRef = ref();
|
|
17
17
|
const bodyRef = ref();
|
|
18
|
+
const scrollLeft = ref(0);
|
|
18
19
|
const totalHeight = computed(() => {
|
|
19
20
|
const {
|
|
20
21
|
data,
|
|
@@ -70,9 +71,11 @@ const useTableGrid = (props) => {
|
|
|
70
71
|
const body$ = unref(bodyRef);
|
|
71
72
|
if (isObject(leftOrOptions)) {
|
|
72
73
|
header$ == null ? void 0 : header$.scrollToLeft(leftOrOptions.scrollLeft);
|
|
74
|
+
scrollLeft.value = leftOrOptions.scrollLeft;
|
|
73
75
|
body$ == null ? void 0 : body$.scrollTo(leftOrOptions);
|
|
74
76
|
} else {
|
|
75
77
|
header$ == null ? void 0 : header$.scrollToLeft(leftOrOptions);
|
|
78
|
+
scrollLeft.value = leftOrOptions;
|
|
76
79
|
body$ == null ? void 0 : body$.scrollTo({
|
|
77
80
|
scrollLeft: leftOrOptions,
|
|
78
81
|
scrollTop: top
|
|
@@ -108,7 +111,8 @@ const useTableGrid = (props) => {
|
|
|
108
111
|
resetAfterRowIndex,
|
|
109
112
|
scrollTo,
|
|
110
113
|
scrollToTop,
|
|
111
|
-
scrollToRow
|
|
114
|
+
scrollToRow,
|
|
115
|
+
scrollLeft
|
|
112
116
|
};
|
|
113
117
|
};
|
|
114
118
|
const TableGrid = defineComponent({
|
|
@@ -135,8 +139,10 @@ const TableGrid = defineComponent({
|
|
|
135
139
|
resetAfterRowIndex,
|
|
136
140
|
scrollTo,
|
|
137
141
|
scrollToTop,
|
|
138
|
-
scrollToRow
|
|
142
|
+
scrollToRow,
|
|
143
|
+
scrollLeft
|
|
139
144
|
} = useTableGrid(props);
|
|
145
|
+
provide("tableV2GridScrollLeft", scrollLeft);
|
|
140
146
|
expose({
|
|
141
147
|
forceUpdate,
|
|
142
148
|
totalHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-grid.mjs","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import { computed, defineComponent, inject, ref, unref } 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\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 body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(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 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 }\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 } = useTableGrid(props)\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","data","rowHeight","estimatedRowHeight","headerHeight","gridHeight","height","Math","max","unref","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","scrollTo","isObject","header$","scrollToLeft","scrollLeft","scrollTop","top","scrollToTop","fixedRowHeight","totalHeight","scrollToRow","TableGrid","name","expose","ns","inject","TableV2InjectionKey","onItemRendered","resetAfterRowIndex","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","onScroll","isDynamicRowEnabled","Grid","_headerHeight","Header","e","class"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-grid.mjs","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import { computed, defineComponent, inject, provide, ref, unref } 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 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","data","rowHeight","estimatedRowHeight","headerHeight","gridHeight","height","Math","max","unref","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","fixedRowHeight","totalHeight","TableGrid","name","expose","ns","inject","TableV2InjectionKey","onItemRendered","resetAfterRowIndex","scrollTo","scrollToRow","provide","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","onScroll","isDynamicRowEnabled","Grid","_headerHeight","Header","e","class"],"mappings":";;;;;;;;;;;;;AAwBA,MAAMA,cAAc,GAAG,eAAvB,CAAA;;AAEA,EAAMC,MAAAA,SAAAA,GAAgBC,GAAAA,EAAAA,CAAD;EACnB,MAAMC,OAAAA,GAAYC,GAAAA,EAAG,CAArB;EACA,MAAMC,UAAUD,GAAG,GAAnB,CAAA,CAAA,CAAA,CAAA;AACA,EAAA,MAAME,WAAU,GAAM,QAAtB,CAAA,MAAA;AAEA,IAAA,MAAiB;MACT,IAAA;MAAEC,SAAF;MAAQC,kBAAR;AAAmBC,KAAAA,GAAAA,KAAAA,CAAAA;AAAnB,IAAA,IAA0CP,kBAAhD,EAAA;;AAEA,KAAA;AACE,IAAA,OAAA,IAAA,CAAA,MAAA,GAAA,SAAA,CAAA;AACD,GAAA,CAAA,CAAA;;AAED,IAAA,MAAA;AACD,MARD,SAAA;AAUA,MAAA,SAAoB;KACZ,GAAA,KAAA,CAAA;WAAA,CAAA,CAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,MAAA,KAAA,CAAA,IAAA,SAAA,CAAA;AAAaM,GAAAA,CAAAA,CAAAA;AAAb,EAAA,MAA2BN,YAAjC,GAAA,QAAA,CAAA,MAAA,GAAA,CAAA,KAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAEA,EAAA,MAAA,UAAiB,GAAA,QAAT,CAAqB;AAC9B,IAJD,MAAA;MAMMQ,MAAAA;AAEN,KAAA,GAAMC,KAAU,CAAA;IACd,OAAM,IAAA,CAAA,GAAA,CAAA,CAAA,EAAA,MAAA,GAAA,KAAA,CAAA,YAAA,CAAA,GAAA,KAAA,CAAA,cAAA,CAAA,CAAA,CAAA;AAAEC,GAAAA,CAAAA,CAAAA;AAAF,EAAA,MAAaV,SAAnB,GAAA,QAAA,CAAA,MAAA;AACA,IAAA,OAAOW,KAAKC,CAAAA,YAAa,CAAA,GAAQ,KAACJ,eAAf,CAA+BK,KAAK;AACxD,GAH0B,CAA3B,CAAA;AAKA,EAAA,MAAMC,OAAS,GAAA,CAAA;IACb,IAAOD;AACR,IAFD,QAAA;;EAIA,SAAME,cAA8B,CAAA;IAAEV,aAAF;AAAQW,IAAAA,WAAAA;IAAT,eAC5BA;;AAEP,GAAA,EAAA;IACEC,IADsB,EAAA,CAAA;IAEtBC,CAFsB,EAAA,GAAA,KAAA,CAAA,cAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA;MAAA,aAAA;AAItBC,MAAAA,WAAAA;AAJsB,MAKM,eAAA;MACvB;MACHF,CADqB;;WAAA,kBAAA,CAAA,KAAA,EAAA,YAAA,EAAA;AAIrBE,IAAAA,IAAAA,EAAAA,CAAAA;IAJqB,CAAvB,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,KAAA,EAAA,YAAA,CAAA,CAAA;AAMD,GAAA;;AAED,IAAA,MAAA,OAAA,GAAA,KAAA,CAAA,SAAA,CAAA,CAA2CC;AACzCjB,IAAAA,MAAAA,KAAA,GAAA;AACD,IAAA,IAAA,QAAA,CAAA,aAAA,CAAA,EAAA;;AAID,MAAA,UAAA,CAAA,KAAA,GAAA,aAAA,CAA2E,UAAA,CAAA;AACzE,MAAA,KAAa,IAAA,IAAA,GAAQ,cAArB,CAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AACA,KAAA,MAAW;;AAEX,MAAA,UAAY,CAACkB,KAAD,GAAA,aAAiB,CAAA;AAC3BC,MAAAA,KAAAA,IAASC,IAAAA,GAAAA,KAAT,CAAsBF,GAAAA,KAAAA,CAAAA,QAAtB,CAAA;AACAjB,QAAAA,UAAWoB,EAAAA,aAAQH;QACd,SAAL,EAAA,GAAgBA;AACjB,OAAM,CAAA,CAAA;;;WAGA,WAAW,CAAA,SAAA,EAAA;AACdjB,IAAAA,IAAAA,EAAAA,CAAAA;AACAqB,IAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAAA,OAAWC,CAAAA,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,QAAAA,CAAAA;MAFG,SAAhB;AAID,KAAA,CAAA,CAAA;AACF,GAAA;;IAEQC,IAAAA,EAAAA,CAAAA;AACPd,IAAAA,CAAAA,EAAAA,GAAMV,KAAAA,CAAAA,aAAmB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AACvBsB,GAAAA;WADF,WAAA,GAAA;AAGD,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;;AAED,IAAA,CAAA,EAAA,GAAA,KAAA,CAAA,SAAA,CAAA,YAA4D,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,EAAA,CAAA;;AAE3D,EAAA,OAAA;;AAED,IAAA;AACEZ,IAAAA,cAAA;AACAA,IAAAA,UAAMZ;AACP,IAAA,SAAA;;IAEM,SAAA;IACLE,WADK;IAELiB,OAFK;IAGLQ,cAHK;IAILnB,kBAJK;IAKLK,QALK;IAMLN,WANK;IAOLP,WAPK;IAQL4B,UARK;IAULd;;AAVK,MAAA,SAAA,GAAA,eAAA,CAAA;MAAA,EAAA,cAAA;OAAA,EAAA,gBAAA;OAAA,CAAA,KAAA,EAAA;AAgBLX,IAAAA,KAAAA;IAhBF,MAAA;AAkBD,GA1GD,EAAA;;AA4GA,MAAM0B,EAAAA;AACJC,KAAAA,GAAMjC,MAD0B,CAAA,mBAAA,CAAA,CAAA;AAEhCE,IAAAA,MAFgC;;MAG3B,cAAQ;MAAA,UAAA;AAASgC,MAAAA,SAAAA;AAAT,MAAmB,SAAA;MACxB,YAAA;AAAEC,MAAAA,WAAAA;MAAOC,WAAOC;MAEhB,OAAA;MACJhC,cADI;MAEJyB,kBAFI;MAGJnB,QAHI;MAIJK,WAJI;MAKJb,WALI;MAMJO,UANI;QAAA,YAAA,CAAA,KAAA,CAAA,CAAA;WAAA,CAAA,uBAAA,EAAA,UAAA,CAAA,CAAA;UAAA,CAAA;MAWJ4B,WAXI;MAYJC,WAZI;MAaJC,QAbI;MAcJX,WAdI;MAeJY,WAfI;AAgBJnC,MAAAA,kBAAAA;KACEL,CAAAA,CAAAA;AAEJyC,IAAAA,MAAAA,cAAQ,GAAA,MAAA,KAAyBpC,CAAAA,SAAjC,CAAA;AAEA4B,IAAAA,OAAO,MAAA;MACLZ,MADK;;AAEL,QAAA,OAAA;AACN,QAAA,IAAA;AACA,QAAA,SAAA;QAJW,cAAA;;AAML,QAAA,eAAA;AACN,QAAA,iBAAA;AACA,QAAA,KAAA;QARW,SAAA;;AAUL,QAAA,kBAAA;AACN,QAAA,WAAA;AACA,QAAA,MAAA;QAZW,KAAA;;AAcL,QAAA,QAAA;AACN,OAAA,GAAA,KAAA,CAAA;AACA,MAAA,MAAA,mBAAA,GAAA,QAAA,CAAA,kBAAA,CAAA,CAAA;AACA,MAAA,MAAA,IAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,aAAA,CAAA;AACA,MAAA,MAAA,aAAA,GAAA,KAAA,CAAA,YAAA,CAAA,CAAA;MACMmB,OAnBKE,WAAA,CAAA,KAAA,EAAA;;AAoBL,QAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA;AACN,QAAA,OAAA,EAAA,KAAA;AACA,OAAA,EAAA,CAAAA,WAAA,CAAA,IAAA,EAAA;AACMJ,QAAAA,KAAAA,EAAAA,OAAAA;AAvBK,QAAP,MAAA,EAAA,IAAA;;AA0BA,QAAA,SAAoB,EAAA,OAAA;;AAEpB,QAAA,aAAa,EAAA,mBAAA,GAAA,cAAA,GAAA,SAAA;QACL,aAAA,EAAA,CAAA;QACJK,UADI,EAAA,IAAA,CAAA,MAAA;QAEJC,UAFI,EAAA,KAAA;QAGJtC,WAHI,EAAA,mBAAA,GAAA,YAAA,GAAA,SAAA;QAIJuC,OAJI,EAAA,KAAA;QAKJC,QALI,EAAA,KAAA,CAAA,UAAA,CAAA;QAMJC,OANI,EAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA;QAOJC,MAPI,EAAA,UAAA;QAQJC,mBARI,EAAA,iBAAA;QASJC,iBATI,EAAA,eAAA;QAUJ3C,mBAVI,EAAA,iBAAA;QAWJ4C,UAXI,EAAA,QAAA;QAYJ3C,gBAZI,EAAA,cAAA;QAaJ4C,UAbI,EAAA,KAAA;SAAA;QAeJC,OAfI,EAAA,CAAA,MAAA,KAAA;UAAA,IAAA,EAAA,CAAA;AAkBJC,UAAAA,MAAAA,OAAAA,GAAAA,IAAAA,CAAAA,MAAAA,CAAAA,QAAAA,CAAAA,CAAAA;AAlBI,UAmBFrD,OAnBJ,CAAA,EAAA,GAAA,KAAA,CAAA,GAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA;AAqBA,YAAMsD,GAAmB,MAAA;AACzB,YAAMC,OAAOD;;AACb,WAAA,CAAME,CAAa;;AAEnB,OAAA,CAAA,EAAA,KAAA,CAAA,SAAA,CAAA,IAAAf,WAAA,CAAAgB,aAAA,EAAA;AAAA,QAAA,KAAA,EAAA,SAAA;QAAA,OAC2B,EAAA,EAAG,CAAA,CAACC,CAAH,gBAAoB,CAACC;QADjD,SACgEV,EAAAA,OAAAA;AADhE,QAAA,YAAA,EAAA,IAAA;AAAA,QAAA,cAAA,EAAA,KAAA,CAAA,YAAA;AAAA,QAAA,iBAAA,EAAA,SAAA;AAAA,QAAA,UAAA,EAAA,WAAA;AAAA,QAAA,WAOelC,EAPf,SAAA;AAAA,QAAA,OAAA,EAAA,KAAA;AAAA,QAAA,QAAA,EAAA,IAAA,CAUmBuC,GAAmB,CAAA,aAAA,GAAA,KAAA,CAAA,cAVtC,CAAA,EAAA,MAAA,CAAA;AAAA,OAAA,EAAA;QAAA,OAagBjD,EAAAA,KAAAA,CAAAA,MAbhB;AAAA,QAAA,KAAA,EAAA,KAcgBqC,CAdhB,GAAA;AAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA;;AAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n :visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n role=\"dialog\"\n teleported\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"false\"\n :placement=\"placement\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"(id as string | undefined)\"\n ref=\"inputRef\"\n container-role=\"combobox\"\n :model-value=\"(displayValue as string)\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n :class=\"[nsDate.b('editor'), nsDate.bm('editor', type), $attrs.class]\"\n :style=\"$attrs.style\"\n :readonly=\"\n !editable ||\n readonly ||\n isDatesPicker ||\n isMonthsPicker ||\n isYearsPicker ||\n type === 'week'\n \"\n :aria-label=\"ariaLabel\"\n :tabindex=\"tabindex\"\n :validate-event=\"false\"\n @input=\"onUserInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @keydown=\"\n //\n handleKeydownInput as any\n \"\n @change=\"handleChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart.passive=\"onTouchStartInput\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart.passive=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"`${nsInput.e('icon')} clear-icon`\"\n @click.stop=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n :class=\"rangeInputKls\"\n :style=\"($attrs.style as any)\"\n @click=\"handleFocusInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart.passive=\"onTouchStartInput\"\n @keydown=\"handleKeydownInput\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart.passive=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n />\n <slot name=\"range-separator\">\n <span :class=\"nsRange.b('separator')\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n :class=\"clearIconKls\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :date-format=\"dateFormat\"\n :time-format=\"timeFormat\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @keydown=\"onKeydownPopperContent\"\n @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n provide,\n ref,\n unref,\n useAttrs,\n watch,\n} from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useEmptyValues, useLocale, useNamespace } from '@element-plus/hooks'\nimport { useFormItem, useFormSize } from '@element-plus/components/form'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Calendar, Clock } from '@element-plus/icons-vue'\nimport { formatter, parseDate, valueEquals } from '../utils'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type {\n DateModelType,\n DateOrDates,\n DayOrDays,\n PickerOptions,\n SingleOrRange,\n TimePickerDefaultProps,\n UserInput,\n} from './props'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\n// Date object and string\n\ndefineOptions({\n name: 'Picker',\n})\n\nconst props = defineProps(timePickerDefaultProps)\nconst emit = defineEmits([\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n 'keydown',\n])\nconst attrs = useAttrs()\n\nconst { lang } = useLocale()\n\nconst nsDate = useNamespace('date')\nconst nsInput = useNamespace('input')\nconst nsRange = useNamespace('range')\n\nconst { form, formItem } = useFormItem()\nconst elPopperOptions = inject('ElPopperOptions', {} as Options)\nconst { valueOnClear } = useEmptyValues(props, null)\n\nconst refPopper = ref<TooltipInstance>()\nconst inputRef = ref<HTMLElement | ComponentPublicInstance>()\nconst pickerVisible = ref(false)\nconst pickerActualVisible = ref(false)\nconst valueOnOpen = ref<TimePickerDefaultProps['modelValue'] | null>(null)\n\nlet hasJustTabExitedInput = false\nlet ignoreFocusEvent = false\n\nconst rangeInputKls = computed(() => [\n nsDate.b('editor'),\n nsDate.bm('editor', props.type),\n nsInput.e('wrapper'),\n nsDate.is('disabled', pickerDisabled.value),\n nsDate.is('active', pickerVisible.value),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize.value) : '',\n attrs.class,\n])\n\nconst clearIconKls = computed(() => [\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n !showClose.value ? nsRange.e('close-icon--hidden') : '',\n])\n\nwatch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n } else {\n nextTick(() => {\n if (val) {\n valueOnOpen.value = props.modelValue\n }\n })\n }\n})\nconst emitChange = (\n val: TimePickerDefaultProps['modelValue'] | null,\n isClear?: boolean\n) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n emit('change', val)\n props.validateEvent &&\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n}\nconst emitInput = (input: SingleOrRange<DateModelType | Dayjs> | null) => {\n if (!valueEquals(props.modelValue, input)) {\n let formatted\n if (isArray(input)) {\n formatted = input.map((item) =>\n formatter(item, props.valueFormat, lang.value)\n )\n } else if (input) {\n formatted = formatter(input, props.valueFormat, lang.value)\n }\n emit('update:modelValue', input ? formatted : input, lang.value)\n }\n}\nconst emitKeydown = (e: KeyboardEvent) => {\n emit('keydown', e)\n}\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n})\n\nconst setSelectionRange = (start: number, end: number, pos?: 'min' | 'max') => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n}\nconst focusOnInputBox = () => {\n focus(true, true)\n nextTick(() => {\n ignoreFocusEvent = false\n })\n}\n\nconst onPick = (date: any = '', visible = false) => {\n if (!visible) {\n ignoreFocusEvent = true\n }\n pickerVisible.value = visible\n let result\n if (isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n}\n\nconst onBeforeShow = () => {\n pickerActualVisible.value = true\n}\n\nconst onShow = () => {\n emit('visible-change', true)\n}\n\nconst onKeydownPopperContent = (event: KeyboardEvent) => {\n if ((event as KeyboardEvent)?.key === EVENT_CODE.esc) {\n focus(true, true)\n }\n}\n\nconst onHide = () => {\n pickerActualVisible.value = false\n pickerVisible.value = false\n ignoreFocusEvent = false\n emit('visible-change', false)\n}\n\nconst handleOpen = () => {\n pickerVisible.value = true\n}\n\nconst handleClose = () => {\n pickerVisible.value = false\n}\n\nconst focus = (focusStartInput = true, isIgnoreFocusEvent = false) => {\n ignoreFocusEvent = isIgnoreFocusEvent\n const [leftInput, rightInput] = unref(refInput)\n let input = leftInput\n if (!focusStartInput && isRangeInput.value) {\n input = rightInput\n }\n if (input) {\n input.focus()\n }\n}\n\nconst handleFocusInput = (e?: FocusEvent) => {\n if (\n props.readonly ||\n pickerDisabled.value ||\n pickerVisible.value ||\n ignoreFocusEvent\n ) {\n return\n }\n pickerVisible.value = true\n emit('focus', e)\n}\n\nlet currentHandleBlurDeferCallback:\n | (() => Promise<void> | undefined)\n | undefined = undefined\n\n// Check if document.activeElement is inside popper or any input before popper close\nconst handleBlurInput = (e?: FocusEvent) => {\n const handleBlurDefer = async () => {\n setTimeout(() => {\n if (currentHandleBlurDeferCallback === handleBlurDefer) {\n if (\n !(\n refPopper.value?.isFocusInsideContent() && !hasJustTabExitedInput\n ) &&\n refInput.value.filter((input) => {\n return input.contains(document.activeElement)\n }).length === 0\n ) {\n handleChange()\n pickerVisible.value = false\n emit('blur', e)\n props.validateEvent &&\n formItem?.validate('blur').catch((err) => debugWarn(err))\n }\n hasJustTabExitedInput = false\n }\n }, 0)\n }\n currentHandleBlurDeferCallback = handleBlurDefer\n handleBlurDefer()\n}\n\nconst pickerDisabled = computed(() => {\n return props.disabled || form?.disabled\n})\n\nconst parsedValue = computed(() => {\n let dayOrDays: DayOrDays\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n dayOrDays = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (isArray(props.modelValue)) {\n dayOrDays = props.modelValue.map((d) =>\n parseDate(d, props.valueFormat, lang.value)\n ) as [Dayjs, Dayjs]\n } else {\n dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value)!\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult = pickerOptions.value.getRangeAvailableTime(\n dayOrDays!\n )\n if (!isEqual(availableResult, dayOrDays!)) {\n dayOrDays = availableResult\n\n // The result is corrected only when model-value exists\n if (!valueIsEmpty.value) {\n emitInput(\n (isArray(dayOrDays)\n ? dayOrDays.map((_) => _.toDate())\n : dayOrDays.toDate()) as SingleOrRange<Date>\n )\n }\n }\n }\n if (isArray(dayOrDays!) && dayOrDays.some((day) => !day)) {\n dayOrDays = [] as unknown as DayOrDays\n }\n return dayOrDays!\n})\n\nconst displayValue = computed<UserInput>(() => {\n if (!pickerOptions.value.panelReady) return ''\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return ''\n if (!pickerVisible.value && valueIsEmpty.value) return ''\n if (formattedValue) {\n return isDatesPicker.value || isMonthsPicker.value || isYearsPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n})\n\nconst isTimeLikePicker = computed(() => props.type.includes('time'))\n\nconst isTimePicker = computed(() => props.type.startsWith('time'))\n\nconst isDatesPicker = computed(() => props.type === 'dates')\n\nconst isMonthsPicker = computed(() => props.type === 'months')\n\nconst isYearsPicker = computed(() => props.type === 'years')\n\nconst triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n)\n\nconst showClose = ref(false)\n\nconst onClearIconClick = (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n focusOnInputBox()\n // When the handleClear Function was provided, emit null will be executed inside it\n // There is no need for us to execute emit null twice. #14752\n if (pickerOptions.value.handleClear) {\n pickerOptions.value.handleClear()\n } else {\n emitInput(valueOnClear.value)\n }\n emitChange(valueOnClear.value, true)\n showClose.value = false\n onHide()\n }\n emit('clear')\n}\n\nconst valueIsEmpty = computed(() => {\n const { modelValue } = props\n return (\n !modelValue || (isArray(modelValue) && !modelValue.filter(Boolean).length)\n )\n})\n\nconst onMouseDownInput = async (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n}\nconst onMouseLeave = () => {\n showClose.value = false\n}\nconst onTouchStartInput = (event: TouchEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.touches[0].target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst isRangeInput = computed(() => {\n return props.type.includes('range')\n})\n\nconst pickerSize = useFormSize()\n\nconst popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\nconst actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n})\n\nconst stophandle = onClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n})\n\nonBeforeUnmount(() => {\n stophandle?.()\n})\n\nconst userInput = ref<UserInput>(null)\n\nconst handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n (isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()) as DateOrDates\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(valueOnClear.value)\n emitChange(valueOnClear.value)\n userInput.value = null\n }\n}\n\nconst parseUserInputToDayjs = (value: UserInput) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput!(value)\n}\n\nconst formatDayjsToString = (value: DayOrDays) => {\n if (!value) return null\n return pickerOptions.value.formatToString!(value)\n}\n\nconst isValidValue = (value: DayOrDays) => {\n return pickerOptions.value.isValidValue!(value)\n}\n\nconst handleKeydownInput = async (event: KeyboardEvent) => {\n if (props.readonly || pickerDisabled.value) return\n\n const { code } = event\n emitKeydown(event)\n if (code === EVENT_CODE.esc) {\n if (pickerVisible.value === true) {\n pickerVisible.value = false\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n if (code === EVENT_CODE.down) {\n if (pickerOptions.value.handleFocusPicker) {\n event.preventDefault()\n event.stopPropagation()\n }\n if (pickerVisible.value === false) {\n pickerVisible.value = true\n await nextTick()\n }\n if (pickerOptions.value.handleFocusPicker) {\n pickerOptions.value.handleFocusPicker()\n return\n }\n }\n\n if (code === EVENT_CODE.tab) {\n hasJustTabExitedInput = true\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value) as DayOrDays)\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n if (pickerOptions.value.handleKeydownInput) {\n pickerOptions.value.handleKeydownInput(event)\n }\n}\nconst onUserInput = (e: string) => {\n userInput.value = e\n // Temporary fix when the picker is dismissed and the input box\n // is focused, just mimic the behavior of antdesign.\n if (!pickerVisible.value) {\n pickerVisible.value = true\n }\n}\n\nconst handleStartInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [target.value, userInput.value[1]]\n } else {\n userInput.value = [target.value, null]\n }\n}\n\nconst handleEndInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [userInput.value[0], target.value]\n } else {\n userInput.value = [null, target.value]\n }\n}\n\nconst handleStartChange = () => {\n const values = userInput.value as string[]\n const value = parseUserInputToDayjs(values && values[0]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n formatDayjsToString(value) as string,\n displayValue.value?.[1] || null,\n ]\n const newValue = [value, parsedVal && (parsedVal[1] || null)] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst handleEndChange = () => {\n const values = unref(userInput) as string[]\n const value = parseUserInputToDayjs(values && values[1]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n unref(displayValue)?.[0] || null,\n formatDayjsToString(value) as string,\n ]\n const newValue = [parsedVal && parsedVal[0], value] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst pickerOptions = ref<Partial<PickerOptions>>({})\nconst onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n}\n\nconst onCalendarChange = (e: [Date, null | Date]) => {\n emit('calendar-change', e)\n}\n\nconst onPanelChange = (\n value: [Dayjs, Dayjs],\n mode: 'month' | 'year',\n view: unknown\n) => {\n emit('panel-change', value, mode, view)\n}\n\nprovide('EP_PICKER_BASE', {\n props,\n})\n\ndefineExpose({\n /**\n * @description focus input box.\n */\n focus,\n /**\n * @description emit focus event\n */\n handleFocusInput,\n /**\n * @description emit blur event\n */\n handleBlurInput,\n /**\n * @description opens picker\n */\n handleOpen,\n /**\n * @description closes picker\n */\n handleClose,\n /**\n * @description pick item manually\n */\n onPick,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picker.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n :visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n role=\"dialog\"\n teleported\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"false\"\n :placement=\"placement\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"(id as string | undefined)\"\n ref=\"inputRef\"\n container-role=\"combobox\"\n :model-value=\"(displayValue as string)\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n :class=\"[nsDate.b('editor'), nsDate.bm('editor', type), $attrs.class]\"\n :style=\"$attrs.style\"\n :readonly=\"\n !editable ||\n readonly ||\n isDatesPicker ||\n isMonthsPicker ||\n isYearsPicker ||\n type === 'week'\n \"\n :aria-label=\"ariaLabel\"\n :tabindex=\"tabindex\"\n :validate-event=\"false\"\n @input=\"onUserInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @keydown=\"\n //\n handleKeydownInput as any\n \"\n @change=\"handleChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart.passive=\"onTouchStartInput\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart.passive=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"`${nsInput.e('icon')} clear-icon`\"\n @click.stop=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n :class=\"rangeInputKls\"\n :style=\"($attrs.style as any)\"\n @click=\"handleFocusInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart.passive=\"onTouchStartInput\"\n @keydown=\"handleKeydownInput\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart.passive=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n />\n <slot name=\"range-separator\">\n <span :class=\"nsRange.b('separator')\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n :class=\"clearIconKls\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :date-format=\"dateFormat\"\n :time-format=\"timeFormat\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n :show-now=\"showNow\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @keydown=\"onKeydownPopperContent\"\n @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n provide,\n ref,\n unref,\n useAttrs,\n watch,\n} from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useEmptyValues, useLocale, useNamespace } from '@element-plus/hooks'\nimport { useFormItem, useFormSize } from '@element-plus/components/form'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Calendar, Clock } from '@element-plus/icons-vue'\nimport { formatter, parseDate, valueEquals } from '../utils'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type {\n DateModelType,\n DateOrDates,\n DayOrDays,\n PickerOptions,\n SingleOrRange,\n TimePickerDefaultProps,\n UserInput,\n} from './props'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\n// Date object and string\n\ndefineOptions({\n name: 'Picker',\n})\n\nconst props = defineProps(timePickerDefaultProps)\nconst emit = defineEmits([\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'clear',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n 'keydown',\n])\nconst attrs = useAttrs()\n\nconst { lang } = useLocale()\n\nconst nsDate = useNamespace('date')\nconst nsInput = useNamespace('input')\nconst nsRange = useNamespace('range')\n\nconst { form, formItem } = useFormItem()\nconst elPopperOptions = inject('ElPopperOptions', {} as Options)\nconst { valueOnClear } = useEmptyValues(props, null)\n\nconst refPopper = ref<TooltipInstance>()\nconst inputRef = ref<HTMLElement | ComponentPublicInstance>()\nconst pickerVisible = ref(false)\nconst pickerActualVisible = ref(false)\nconst valueOnOpen = ref<TimePickerDefaultProps['modelValue'] | null>(null)\n\nlet hasJustTabExitedInput = false\nlet ignoreFocusEvent = false\n\nconst rangeInputKls = computed(() => [\n nsDate.b('editor'),\n nsDate.bm('editor', props.type),\n nsInput.e('wrapper'),\n nsDate.is('disabled', pickerDisabled.value),\n nsDate.is('active', pickerVisible.value),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize.value) : '',\n attrs.class,\n])\n\nconst clearIconKls = computed(() => [\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n !showClose.value ? nsRange.e('close-icon--hidden') : '',\n])\n\nwatch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n } else {\n nextTick(() => {\n if (val) {\n valueOnOpen.value = props.modelValue\n }\n })\n }\n})\nconst emitChange = (\n val: TimePickerDefaultProps['modelValue'] | null,\n isClear?: boolean\n) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n emit('change', val)\n props.validateEvent &&\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n}\nconst emitInput = (input: SingleOrRange<DateModelType | Dayjs> | null) => {\n if (!valueEquals(props.modelValue, input)) {\n let formatted\n if (isArray(input)) {\n formatted = input.map((item) =>\n formatter(item, props.valueFormat, lang.value)\n )\n } else if (input) {\n formatted = formatter(input, props.valueFormat, lang.value)\n }\n emit('update:modelValue', input ? formatted : input, lang.value)\n }\n}\nconst emitKeydown = (e: KeyboardEvent) => {\n emit('keydown', e)\n}\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n})\n\nconst setSelectionRange = (start: number, end: number, pos?: 'min' | 'max') => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n}\nconst focusOnInputBox = () => {\n focus(true, true)\n nextTick(() => {\n ignoreFocusEvent = false\n })\n}\n\nconst onPick = (date: any = '', visible = false) => {\n if (!visible) {\n ignoreFocusEvent = true\n }\n pickerVisible.value = visible\n let result\n if (isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n}\n\nconst onBeforeShow = () => {\n pickerActualVisible.value = true\n}\n\nconst onShow = () => {\n emit('visible-change', true)\n}\n\nconst onKeydownPopperContent = (event: KeyboardEvent) => {\n if ((event as KeyboardEvent)?.key === EVENT_CODE.esc) {\n focus(true, true)\n }\n}\n\nconst onHide = () => {\n pickerActualVisible.value = false\n pickerVisible.value = false\n ignoreFocusEvent = false\n emit('visible-change', false)\n}\n\nconst handleOpen = () => {\n pickerVisible.value = true\n}\n\nconst handleClose = () => {\n pickerVisible.value = false\n}\n\nconst focus = (focusStartInput = true, isIgnoreFocusEvent = false) => {\n ignoreFocusEvent = isIgnoreFocusEvent\n const [leftInput, rightInput] = unref(refInput)\n let input = leftInput\n if (!focusStartInput && isRangeInput.value) {\n input = rightInput\n }\n if (input) {\n input.focus()\n }\n}\n\nconst handleFocusInput = (e?: FocusEvent) => {\n if (\n props.readonly ||\n pickerDisabled.value ||\n pickerVisible.value ||\n ignoreFocusEvent\n ) {\n return\n }\n pickerVisible.value = true\n emit('focus', e)\n}\n\nlet currentHandleBlurDeferCallback:\n | (() => Promise<void> | undefined)\n | undefined = undefined\n\n// Check if document.activeElement is inside popper or any input before popper close\nconst handleBlurInput = (e?: FocusEvent) => {\n const handleBlurDefer = async () => {\n setTimeout(() => {\n if (currentHandleBlurDeferCallback === handleBlurDefer) {\n if (\n !(\n refPopper.value?.isFocusInsideContent() && !hasJustTabExitedInput\n ) &&\n refInput.value.filter((input) => {\n return input.contains(document.activeElement)\n }).length === 0\n ) {\n handleChange()\n pickerVisible.value = false\n emit('blur', e)\n props.validateEvent &&\n formItem?.validate('blur').catch((err) => debugWarn(err))\n }\n hasJustTabExitedInput = false\n }\n }, 0)\n }\n currentHandleBlurDeferCallback = handleBlurDefer\n handleBlurDefer()\n}\n\nconst pickerDisabled = computed(() => {\n return props.disabled || form?.disabled\n})\n\nconst parsedValue = computed(() => {\n let dayOrDays: DayOrDays\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n dayOrDays = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (isArray(props.modelValue)) {\n dayOrDays = props.modelValue.map((d) =>\n parseDate(d, props.valueFormat, lang.value)\n ) as [Dayjs, Dayjs]\n } else {\n dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value)!\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult = pickerOptions.value.getRangeAvailableTime(\n dayOrDays!\n )\n if (!isEqual(availableResult, dayOrDays!)) {\n dayOrDays = availableResult\n\n // The result is corrected only when model-value exists\n if (!valueIsEmpty.value) {\n emitInput(\n (isArray(dayOrDays)\n ? dayOrDays.map((_) => _.toDate())\n : dayOrDays.toDate()) as SingleOrRange<Date>\n )\n }\n }\n }\n if (isArray(dayOrDays!) && dayOrDays.some((day) => !day)) {\n dayOrDays = [] as unknown as DayOrDays\n }\n return dayOrDays!\n})\n\nconst displayValue = computed<UserInput>(() => {\n if (!pickerOptions.value.panelReady) return ''\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return ''\n if (!pickerVisible.value && valueIsEmpty.value) return ''\n if (formattedValue) {\n return isDatesPicker.value || isMonthsPicker.value || isYearsPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n})\n\nconst isTimeLikePicker = computed(() => props.type.includes('time'))\n\nconst isTimePicker = computed(() => props.type.startsWith('time'))\n\nconst isDatesPicker = computed(() => props.type === 'dates')\n\nconst isMonthsPicker = computed(() => props.type === 'months')\n\nconst isYearsPicker = computed(() => props.type === 'years')\n\nconst triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n)\n\nconst showClose = ref(false)\n\nconst onClearIconClick = (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n focusOnInputBox()\n // When the handleClear Function was provided, emit null will be executed inside it\n // There is no need for us to execute emit null twice. #14752\n if (pickerOptions.value.handleClear) {\n pickerOptions.value.handleClear()\n } else {\n emitInput(valueOnClear.value)\n }\n emitChange(valueOnClear.value, true)\n showClose.value = false\n onHide()\n }\n emit('clear')\n}\n\nconst valueIsEmpty = computed(() => {\n const { modelValue } = props\n return (\n !modelValue || (isArray(modelValue) && !modelValue.filter(Boolean).length)\n )\n})\n\nconst onMouseDownInput = async (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n}\nconst onMouseLeave = () => {\n showClose.value = false\n}\nconst onTouchStartInput = (event: TouchEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.touches[0].target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst isRangeInput = computed(() => {\n return props.type.includes('range')\n})\n\nconst pickerSize = useFormSize()\n\nconst popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\nconst actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n})\n\nconst stophandle = onClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n})\n\nonBeforeUnmount(() => {\n stophandle?.()\n})\n\nconst userInput = ref<UserInput>(null)\n\nconst handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n (isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()) as DateOrDates\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(valueOnClear.value)\n emitChange(valueOnClear.value)\n userInput.value = null\n }\n}\n\nconst parseUserInputToDayjs = (value: UserInput) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput!(value)\n}\n\nconst formatDayjsToString = (value: DayOrDays) => {\n if (!value) return null\n return pickerOptions.value.formatToString!(value)\n}\n\nconst isValidValue = (value: DayOrDays) => {\n return pickerOptions.value.isValidValue!(value)\n}\n\nconst handleKeydownInput = async (event: KeyboardEvent) => {\n if (props.readonly || pickerDisabled.value) return\n\n const { code } = event\n emitKeydown(event)\n if (code === EVENT_CODE.esc) {\n if (pickerVisible.value === true) {\n pickerVisible.value = false\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n if (code === EVENT_CODE.down) {\n if (pickerOptions.value.handleFocusPicker) {\n event.preventDefault()\n event.stopPropagation()\n }\n if (pickerVisible.value === false) {\n pickerVisible.value = true\n await nextTick()\n }\n if (pickerOptions.value.handleFocusPicker) {\n pickerOptions.value.handleFocusPicker()\n return\n }\n }\n\n if (code === EVENT_CODE.tab) {\n hasJustTabExitedInput = true\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value) as DayOrDays)\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n if (pickerOptions.value.handleKeydownInput) {\n pickerOptions.value.handleKeydownInput(event)\n }\n}\nconst onUserInput = (e: string) => {\n userInput.value = e\n // Temporary fix when the picker is dismissed and the input box\n // is focused, just mimic the behavior of antdesign.\n if (!pickerVisible.value) {\n pickerVisible.value = true\n }\n}\n\nconst handleStartInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [target.value, userInput.value[1]]\n } else {\n userInput.value = [target.value, null]\n }\n}\n\nconst handleEndInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [userInput.value[0], target.value]\n } else {\n userInput.value = [null, target.value]\n }\n}\n\nconst handleStartChange = () => {\n const values = userInput.value as string[]\n const value = parseUserInputToDayjs(values && values[0]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n formatDayjsToString(value) as string,\n displayValue.value?.[1] || null,\n ]\n const newValue = [value, parsedVal && (parsedVal[1] || null)] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst handleEndChange = () => {\n const values = unref(userInput) as string[]\n const value = parseUserInputToDayjs(values && values[1]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n unref(displayValue)?.[0] || null,\n formatDayjsToString(value) as string,\n ]\n const newValue = [parsedVal && parsedVal[0], value] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst pickerOptions = ref<Partial<PickerOptions>>({})\nconst onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n}\n\nconst onCalendarChange = (e: [Date, null | Date]) => {\n emit('calendar-change', e)\n}\n\nconst onPanelChange = (\n value: [Dayjs, Dayjs],\n mode: 'month' | 'year',\n view: unknown\n) => {\n emit('panel-change', value, mode, view)\n}\n\nprovide('EP_PICKER_BASE', {\n props,\n})\n\ndefineExpose({\n /**\n * @description focus input box.\n */\n focus,\n /**\n * @description emit focus event\n */\n handleFocusInput,\n /**\n * @description emit blur event\n */\n handleBlurInput,\n /**\n * @description opens picker\n */\n handleOpen,\n /**\n * @description closes picker\n */\n handleClose,\n /**\n * @description pick item manually\n */\n onPick,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { Dayjs } from 'dayjs';
|
|
|
2
2
|
import type { Options } from '@popperjs/core';
|
|
3
3
|
import type { DayOrDays, PickerOptions, SingleOrRange } from './props';
|
|
4
4
|
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
5
|
+
readonly showNow: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
5
6
|
readonly ariaLabel: StringConstructor;
|
|
6
7
|
readonly emptyValues: ArrayConstructor;
|
|
7
8
|
readonly valueOnClear: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
|
|
@@ -127,6 +128,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
127
128
|
"panel-change": (...args: any[]) => void;
|
|
128
129
|
"visible-change": (...args: any[]) => void;
|
|
129
130
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
131
|
+
readonly showNow: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
130
132
|
readonly ariaLabel: StringConstructor;
|
|
131
133
|
readonly emptyValues: ArrayConstructor;
|
|
132
134
|
readonly valueOnClear: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
|
|
@@ -245,6 +247,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
245
247
|
readonly editable: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
246
248
|
readonly rangeSeparator: string;
|
|
247
249
|
readonly shortcuts: unknown[];
|
|
250
|
+
readonly showNow: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
248
251
|
readonly arrowControl: boolean;
|
|
249
252
|
readonly unlinkPanels: boolean;
|
|
250
253
|
readonly isRange: boolean;
|
|
@@ -260,6 +263,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
260
263
|
unlinkPanels: boolean;
|
|
261
264
|
type: string;
|
|
262
265
|
defaultValue: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => Date | [Date, Date]) | (() => SingleOrRange<Date>) | ((new (...args: any[]) => Date | [Date, Date]) | (() => SingleOrRange<Date>))[], unknown, unknown> | undefined;
|
|
266
|
+
showNow: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
263
267
|
pick: (date?: any, visible?: boolean) => void;
|
|
264
268
|
"select-range": (start: number, end: number, pos?: "min" | "max" | undefined) => void;
|
|
265
269
|
"set-picker-option": <T extends keyof PickerOptions>(e: [T, PickerOptions[T]]) => void;
|
|
@@ -12,6 +12,7 @@ export declare type GetDisabledHours = (role: string, comparingDate?: Dayjs) =>
|
|
|
12
12
|
export declare type GetDisabledMinutes = (hour: number, role: string, comparingDate?: Dayjs) => number[];
|
|
13
13
|
export declare type GetDisabledSeconds = (hour: number, minute: number, role: string, comparingDate?: Dayjs) => number[];
|
|
14
14
|
export declare const timePickerDefaultProps: {
|
|
15
|
+
readonly showNow: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
15
16
|
readonly ariaLabel: StringConstructor;
|
|
16
17
|
readonly emptyValues: ArrayConstructor;
|
|
17
18
|
readonly valueOnClear: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
|
|
@@ -103,7 +103,11 @@ const timePickerDefaultProps = buildProps({
|
|
|
103
103
|
default: ["bottom", "top", "right", "left"]
|
|
104
104
|
},
|
|
105
105
|
...useEmptyValuesProps,
|
|
106
|
-
...useAriaProps(["ariaLabel"])
|
|
106
|
+
...useAriaProps(["ariaLabel"]),
|
|
107
|
+
showNow: {
|
|
108
|
+
type: Boolean,
|
|
109
|
+
default: true
|
|
110
|
+
}
|
|
107
111
|
});
|
|
108
112
|
|
|
109
113
|
export { timePickerDefaultProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/props.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { buildProps, definePropType } from '@element-plus/utils'\nimport {\n useAriaProps,\n useEmptyValuesProps,\n useSizeProp,\n} from '@element-plus/hooks'\nimport { CircleClose } from '@element-plus/icons-vue'\nimport { disabledTimeListsProps } from '../props/shared'\n\nimport type { Component, ExtractPropTypes } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type { Dayjs } from 'dayjs'\nimport type { Placement } from '@element-plus/components/popper'\n\nexport type SingleOrRange<T> = T | [T, T]\nexport type DateModelType = number | string | Date\nexport type ModelValueType = SingleOrRange<DateModelType> | string[]\nexport type DayOrDays = SingleOrRange<Dayjs>\nexport type DateOrDates = SingleOrRange<Date>\nexport type UserInput = SingleOrRange<string | null>\nexport type GetDisabledHours = (role: string, comparingDate?: Dayjs) => number[]\nexport type GetDisabledMinutes = (\n hour: number,\n role: string,\n comparingDate?: Dayjs\n) => number[]\nexport type GetDisabledSeconds = (\n hour: number,\n minute: number,\n role: string,\n comparingDate?: Dayjs\n) => number[]\n\nexport const timePickerDefaultProps = buildProps({\n /**\n * @description same as `id` in native input\n */\n id: {\n type: definePropType<SingleOrRange<string>>([Array, String]),\n },\n /**\n * @description same as `name` in native input\n */\n name: {\n type: definePropType<SingleOrRange<string>>([Array, String]),\n default: '',\n },\n /**\n * @description custom class name for TimePicker's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description format of the displayed value in the input box\n */\n format: String,\n /**\n * @description optional, format of binding value. If not specified, the binding value will be a Date object\n */\n valueFormat: String,\n /**\n * @description optional, format of the date displayed value in TimePicker's dropdown\n */\n dateFormat: String,\n /**\n * @description optional, format of the time displayed value in TimePicker's dropdown\n */\n timeFormat: String,\n /**\n * @description type of the picker\n */\n type: {\n type: String,\n default: '',\n },\n /**\n * @description whether to show clear button\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Custom clear icon component\n */\n clearIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: CircleClose,\n },\n /**\n * @description whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Custom prefix icon component\n */\n prefixIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description whether TimePicker is read only\n */\n readonly: Boolean,\n /**\n * @description whether TimePicker is disabled\n */\n disabled: Boolean,\n /**\n * @description placeholder in non-range mode\n */\n placeholder: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}),\n },\n /**\n * @description binding value, if it is an array, the length should be 2\n */\n modelValue: {\n type: definePropType<ModelValueType>([Date, Array, String, Number]),\n default: '',\n },\n /**\n * @description range separator\n */\n rangeSeparator: {\n type: String,\n default: '-',\n },\n /**\n * @description placeholder for the start date in range mode\n */\n startPlaceholder: String,\n /**\n * @description placeholder for the end date in range mode\n */\n endPlaceholder: String,\n /**\n * @description optional, default date of the calendar\n */\n defaultValue: {\n type: definePropType<SingleOrRange<Date>>([Date, Array]),\n },\n /**\n * @description optional, the time value to use when selecting date range\n */\n defaultTime: {\n type: definePropType<SingleOrRange<Date>>([Date, Array]),\n },\n /**\n * @description whether to pick a time range\n */\n isRange: Boolean,\n ...disabledTimeListsProps,\n /**\n * @description a function determining if a date is disabled with that date as its parameter. Should return a Boolean\n */\n disabledDate: {\n type: Function,\n },\n /**\n * @description set custom className\n */\n cellClassName: {\n type: Function,\n },\n /**\n * @description an object array to set shortcut options\n */\n shortcuts: {\n type: Array,\n default: () => [],\n },\n /**\n * @description whether to pick time using arrow buttons\n */\n arrowControl: Boolean,\n /**\n * @description input tabindex\n */\n tabindex: {\n type: definePropType<string | number>([String, Number]),\n default: 0,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description unlink two date-panels in range-picker\n */\n unlinkPanels: Boolean,\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: ['bottom', 'top', 'right', 'left'],\n },\n ...useEmptyValuesProps,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type TimePickerDefaultProps = ExtractPropTypes<\n typeof timePickerDefaultProps\n>\n\nexport interface PickerOptions {\n isValidValue: (date: DayOrDays) => boolean\n handleKeydownInput: (event: KeyboardEvent) => void\n parseUserInput: (value: UserInput) => DayOrDays\n formatToString: (value: DayOrDays) => UserInput\n getRangeAvailableTime: (date: DayOrDays) => DayOrDays\n getDefaultValue: () => DayOrDays\n panelReady: boolean\n handleClear: () => void\n handleFocusPicker?: () => void\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"props.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/props.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { buildProps, definePropType } from '@element-plus/utils'\nimport {\n useAriaProps,\n useEmptyValuesProps,\n useSizeProp,\n} from '@element-plus/hooks'\nimport { CircleClose } from '@element-plus/icons-vue'\nimport { disabledTimeListsProps } from '../props/shared'\n\nimport type { Component, ExtractPropTypes } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type { Dayjs } from 'dayjs'\nimport type { Placement } from '@element-plus/components/popper'\n\nexport type SingleOrRange<T> = T | [T, T]\nexport type DateModelType = number | string | Date\nexport type ModelValueType = SingleOrRange<DateModelType> | string[]\nexport type DayOrDays = SingleOrRange<Dayjs>\nexport type DateOrDates = SingleOrRange<Date>\nexport type UserInput = SingleOrRange<string | null>\nexport type GetDisabledHours = (role: string, comparingDate?: Dayjs) => number[]\nexport type GetDisabledMinutes = (\n hour: number,\n role: string,\n comparingDate?: Dayjs\n) => number[]\nexport type GetDisabledSeconds = (\n hour: number,\n minute: number,\n role: string,\n comparingDate?: Dayjs\n) => number[]\n\nexport const timePickerDefaultProps = buildProps({\n /**\n * @description same as `id` in native input\n */\n id: {\n type: definePropType<SingleOrRange<string>>([Array, String]),\n },\n /**\n * @description same as `name` in native input\n */\n name: {\n type: definePropType<SingleOrRange<string>>([Array, String]),\n default: '',\n },\n /**\n * @description custom class name for TimePicker's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description format of the displayed value in the input box\n */\n format: String,\n /**\n * @description optional, format of binding value. If not specified, the binding value will be a Date object\n */\n valueFormat: String,\n /**\n * @description optional, format of the date displayed value in TimePicker's dropdown\n */\n dateFormat: String,\n /**\n * @description optional, format of the time displayed value in TimePicker's dropdown\n */\n timeFormat: String,\n /**\n * @description type of the picker\n */\n type: {\n type: String,\n default: '',\n },\n /**\n * @description whether to show clear button\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Custom clear icon component\n */\n clearIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: CircleClose,\n },\n /**\n * @description whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Custom prefix icon component\n */\n prefixIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description whether TimePicker is read only\n */\n readonly: Boolean,\n /**\n * @description whether TimePicker is disabled\n */\n disabled: Boolean,\n /**\n * @description placeholder in non-range mode\n */\n placeholder: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}),\n },\n /**\n * @description binding value, if it is an array, the length should be 2\n */\n modelValue: {\n type: definePropType<ModelValueType>([Date, Array, String, Number]),\n default: '',\n },\n /**\n * @description range separator\n */\n rangeSeparator: {\n type: String,\n default: '-',\n },\n /**\n * @description placeholder for the start date in range mode\n */\n startPlaceholder: String,\n /**\n * @description placeholder for the end date in range mode\n */\n endPlaceholder: String,\n /**\n * @description optional, default date of the calendar\n */\n defaultValue: {\n type: definePropType<SingleOrRange<Date>>([Date, Array]),\n },\n /**\n * @description optional, the time value to use when selecting date range\n */\n defaultTime: {\n type: definePropType<SingleOrRange<Date>>([Date, Array]),\n },\n /**\n * @description whether to pick a time range\n */\n isRange: Boolean,\n ...disabledTimeListsProps,\n /**\n * @description a function determining if a date is disabled with that date as its parameter. Should return a Boolean\n */\n disabledDate: {\n type: Function,\n },\n /**\n * @description set custom className\n */\n cellClassName: {\n type: Function,\n },\n /**\n * @description an object array to set shortcut options\n */\n shortcuts: {\n type: Array,\n default: () => [],\n },\n /**\n * @description whether to pick time using arrow buttons\n */\n arrowControl: Boolean,\n /**\n * @description input tabindex\n */\n tabindex: {\n type: definePropType<string | number>([String, Number]),\n default: 0,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description unlink two date-panels in range-picker\n */\n unlinkPanels: Boolean,\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType<Placement>(String),\n values: placements,\n default: 'bottom',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: ['bottom', 'top', 'right', 'left'],\n },\n ...useEmptyValuesProps,\n ...useAriaProps(['ariaLabel']),\n /**\n * @description whether to show the now button\n */\n showNow: {\n type: Boolean,\n default: true,\n },\n} as const)\n\nexport type TimePickerDefaultProps = ExtractPropTypes<\n typeof timePickerDefaultProps\n>\n\nexport interface PickerOptions {\n isValidValue: (date: DayOrDays) => boolean\n handleKeydownInput: (event: KeyboardEvent) => void\n parseUserInput: (value: UserInput) => DayOrDays\n formatToString: (value: DayOrDays) => UserInput\n getRangeAvailableTime: (date: DayOrDays) => DayOrDays\n getDefaultValue: () => DayOrDays\n panelReady: boolean\n handleClear: () => void\n handleFocusPicker?: () => void\n}\n"],"names":[],"mappings":";;;;;;;;;;AASY,MAAC,sBAAsB,GAAG,UAAU,CAAC;AACjD,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACzC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,WAAW;AACxB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;AACvB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,gBAAgB,EAAE,MAAM;AAC1B,EAAE,cAAc,EAAE,MAAM;AACxB,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvC,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvC,GAAG;AACH,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,GAAG,sBAAsB;AAC3B,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,MAAM,EAAE,UAAU;AACtB,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;AAC/C,GAAG;AACH,EAAE,GAAG,mBAAmB;AACxB,EAAE,GAAG,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC;;;;"}
|
|
@@ -6,6 +6,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
6
6
|
type: BooleanConstructor;
|
|
7
7
|
default: boolean;
|
|
8
8
|
};
|
|
9
|
+
showNow: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
9
10
|
ariaLabel: StringConstructor;
|
|
10
11
|
emptyValues: ArrayConstructor;
|
|
11
12
|
valueOnClear: import("../../../utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
|
|
@@ -102,6 +103,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
102
103
|
type: BooleanConstructor;
|
|
103
104
|
default: boolean;
|
|
104
105
|
};
|
|
106
|
+
showNow: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
105
107
|
ariaLabel: StringConstructor;
|
|
106
108
|
emptyValues: ArrayConstructor;
|
|
107
109
|
valueOnClear: import("../../../utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
|
|
@@ -211,6 +213,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
211
213
|
editable: import("../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
212
214
|
rangeSeparator: string;
|
|
213
215
|
shortcuts: unknown[];
|
|
216
|
+
showNow: import("../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
214
217
|
arrowControl: boolean;
|
|
215
218
|
unlinkPanels: boolean;
|
|
216
219
|
isRange: boolean;
|
|
@@ -3,7 +3,7 @@ import '../../popper/index.mjs';
|
|
|
3
3
|
import '../../../hooks/index.mjs';
|
|
4
4
|
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
|
|
5
5
|
import { useDelayedToggleProps } from '../../../hooks/use-delayed-toggle/index.mjs';
|
|
6
|
-
import { popperContentProps } from '../../popper/src/
|
|
6
|
+
import { popperContentProps } from '../../popper/src/content.mjs';
|
|
7
7
|
import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
|
|
8
8
|
|
|
9
9
|
const useTooltipContentProps = buildProps({
|
|
@@ -10,7 +10,7 @@ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
|
10
10
|
import { usePopperContainerId } from '../../../hooks/use-popper-container/index.mjs';
|
|
11
11
|
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
12
12
|
import { composeEventHandlers } from '../../../utils/dom/event.mjs';
|
|
13
|
-
import ElPopperContent from '../../popper/src/
|
|
13
|
+
import ElPopperContent from '../../popper/src/content2.mjs';
|
|
14
14
|
|
|
15
15
|
const __default__ = defineComponent({
|
|
16
16
|
name: "ElTooltipContent",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import '../../utils/index.mjs';
|
|
2
2
|
import TooltipV2 from './src/tooltip2.mjs';
|
|
3
|
-
export { tooltipV2ArrowProps, tooltipV2ArrowSpecialProps } from './src/
|
|
3
|
+
export { tooltipV2ArrowProps, tooltipV2ArrowSpecialProps } from './src/arrow.mjs';
|
|
4
4
|
export { tooltipV2ContentProps } from './src/content.mjs';
|
|
5
5
|
export { tooltipV2RootProps } from './src/root.mjs';
|
|
6
6
|
export { tooltipV2Props } from './src/tooltip.mjs';
|