@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
|
@@ -2,19 +2,138 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var core = require('@vueuse/core');
|
|
5
7
|
require('../../../utils/index.js');
|
|
6
|
-
|
|
8
|
+
require('../../../hooks/index.js');
|
|
9
|
+
var constants = require('./constants.js');
|
|
10
|
+
var util = require('./util.js');
|
|
11
|
+
var thumb = require('./thumb.js');
|
|
12
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
13
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
14
|
+
var error = require('../../../utils/error.js');
|
|
7
15
|
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
const COMPONENT_NAME = "Thumb";
|
|
17
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
18
|
+
__name: "thumb",
|
|
19
|
+
props: thumb.thumbProps,
|
|
20
|
+
setup(__props) {
|
|
21
|
+
const props = __props;
|
|
22
|
+
const scrollbar = vue.inject(constants.scrollbarContextKey);
|
|
23
|
+
const ns = index.useNamespace("scrollbar");
|
|
24
|
+
if (!scrollbar)
|
|
25
|
+
error.throwError(COMPONENT_NAME, "can not inject scrollbar context");
|
|
26
|
+
const instance = vue.ref();
|
|
27
|
+
const thumb = vue.ref();
|
|
28
|
+
const thumbState = vue.ref({});
|
|
29
|
+
const visible = vue.ref(false);
|
|
30
|
+
let cursorDown = false;
|
|
31
|
+
let cursorLeave = false;
|
|
32
|
+
let originalOnSelectStart = core.isClient ? document.onselectstart : null;
|
|
33
|
+
const bar = vue.computed(() => util.BAR_MAP[props.vertical ? "vertical" : "horizontal"]);
|
|
34
|
+
const thumbStyle = vue.computed(() => util.renderThumbStyle({
|
|
35
|
+
size: props.size,
|
|
36
|
+
move: props.move,
|
|
37
|
+
bar: bar.value
|
|
38
|
+
}));
|
|
39
|
+
const offsetRatio = vue.computed(() => instance.value[bar.value.offset] ** 2 / scrollbar.wrapElement[bar.value.scrollSize] / props.ratio / thumb.value[bar.value.offset]);
|
|
40
|
+
const clickThumbHandler = (e) => {
|
|
41
|
+
var _a;
|
|
42
|
+
e.stopPropagation();
|
|
43
|
+
if (e.ctrlKey || [1, 2].includes(e.button))
|
|
44
|
+
return;
|
|
45
|
+
(_a = window.getSelection()) == null ? void 0 : _a.removeAllRanges();
|
|
46
|
+
startDrag(e);
|
|
47
|
+
const el = e.currentTarget;
|
|
48
|
+
if (!el)
|
|
49
|
+
return;
|
|
50
|
+
thumbState.value[bar.value.axis] = el[bar.value.offset] - (e[bar.value.client] - el.getBoundingClientRect()[bar.value.direction]);
|
|
51
|
+
};
|
|
52
|
+
const clickTrackHandler = (e) => {
|
|
53
|
+
if (!thumb.value || !instance.value || !scrollbar.wrapElement)
|
|
54
|
+
return;
|
|
55
|
+
const offset = Math.abs(e.target.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]);
|
|
56
|
+
const thumbHalf = thumb.value[bar.value.offset] / 2;
|
|
57
|
+
const thumbPositionPercentage = (offset - thumbHalf) * 100 * offsetRatio.value / instance.value[bar.value.offset];
|
|
58
|
+
scrollbar.wrapElement[bar.value.scroll] = thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize] / 100;
|
|
59
|
+
};
|
|
60
|
+
const startDrag = (e) => {
|
|
61
|
+
e.stopImmediatePropagation();
|
|
62
|
+
cursorDown = true;
|
|
63
|
+
document.addEventListener("mousemove", mouseMoveDocumentHandler);
|
|
64
|
+
document.addEventListener("mouseup", mouseUpDocumentHandler);
|
|
65
|
+
originalOnSelectStart = document.onselectstart;
|
|
66
|
+
document.onselectstart = () => false;
|
|
67
|
+
};
|
|
68
|
+
const mouseMoveDocumentHandler = (e) => {
|
|
69
|
+
if (!instance.value || !thumb.value)
|
|
70
|
+
return;
|
|
71
|
+
if (cursorDown === false)
|
|
72
|
+
return;
|
|
73
|
+
const prevPage = thumbState.value[bar.value.axis];
|
|
74
|
+
if (!prevPage)
|
|
75
|
+
return;
|
|
76
|
+
const offset = (instance.value.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]) * -1;
|
|
77
|
+
const thumbClickPosition = thumb.value[bar.value.offset] - prevPage;
|
|
78
|
+
const thumbPositionPercentage = (offset - thumbClickPosition) * 100 * offsetRatio.value / instance.value[bar.value.offset];
|
|
79
|
+
scrollbar.wrapElement[bar.value.scroll] = thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize] / 100;
|
|
80
|
+
};
|
|
81
|
+
const mouseUpDocumentHandler = () => {
|
|
82
|
+
cursorDown = false;
|
|
83
|
+
thumbState.value[bar.value.axis] = 0;
|
|
84
|
+
document.removeEventListener("mousemove", mouseMoveDocumentHandler);
|
|
85
|
+
document.removeEventListener("mouseup", mouseUpDocumentHandler);
|
|
86
|
+
restoreOnselectstart();
|
|
87
|
+
if (cursorLeave)
|
|
88
|
+
visible.value = false;
|
|
89
|
+
};
|
|
90
|
+
const mouseMoveScrollbarHandler = () => {
|
|
91
|
+
cursorLeave = false;
|
|
92
|
+
visible.value = !!props.size;
|
|
93
|
+
};
|
|
94
|
+
const mouseLeaveScrollbarHandler = () => {
|
|
95
|
+
cursorLeave = true;
|
|
96
|
+
visible.value = cursorDown;
|
|
97
|
+
};
|
|
98
|
+
vue.onBeforeUnmount(() => {
|
|
99
|
+
restoreOnselectstart();
|
|
100
|
+
document.removeEventListener("mouseup", mouseUpDocumentHandler);
|
|
101
|
+
});
|
|
102
|
+
const restoreOnselectstart = () => {
|
|
103
|
+
if (document.onselectstart !== originalOnSelectStart)
|
|
104
|
+
document.onselectstart = originalOnSelectStart;
|
|
105
|
+
};
|
|
106
|
+
core.useEventListener(vue.toRef(scrollbar, "scrollbarElement"), "mousemove", mouseMoveScrollbarHandler);
|
|
107
|
+
core.useEventListener(vue.toRef(scrollbar, "scrollbarElement"), "mouseleave", mouseLeaveScrollbarHandler);
|
|
108
|
+
return (_ctx, _cache) => {
|
|
109
|
+
return vue.openBlock(), vue.createBlock(vue.Transition, {
|
|
110
|
+
name: vue.unref(ns).b("fade"),
|
|
111
|
+
persisted: ""
|
|
112
|
+
}, {
|
|
113
|
+
default: vue.withCtx(() => [
|
|
114
|
+
vue.withDirectives(vue.createElementVNode("div", {
|
|
115
|
+
ref_key: "instance",
|
|
116
|
+
ref: instance,
|
|
117
|
+
class: vue.normalizeClass([vue.unref(ns).e("bar"), vue.unref(ns).is(vue.unref(bar).key)]),
|
|
118
|
+
onMousedown: clickTrackHandler
|
|
119
|
+
}, [
|
|
120
|
+
vue.createElementVNode("div", {
|
|
121
|
+
ref_key: "thumb",
|
|
122
|
+
ref: thumb,
|
|
123
|
+
class: vue.normalizeClass(vue.unref(ns).e("thumb")),
|
|
124
|
+
style: vue.normalizeStyle(vue.unref(thumbStyle)),
|
|
125
|
+
onMousedown: clickThumbHandler
|
|
126
|
+
}, null, 38)
|
|
127
|
+
], 34), [
|
|
128
|
+
[vue.vShow, _ctx.always || visible.value]
|
|
129
|
+
])
|
|
130
|
+
]),
|
|
131
|
+
_: 1
|
|
132
|
+
}, 8, ["name"]);
|
|
133
|
+
};
|
|
134
|
+
}
|
|
17
135
|
});
|
|
136
|
+
var Thumb = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "thumb.vue"]]);
|
|
18
137
|
|
|
19
|
-
exports
|
|
138
|
+
exports["default"] = Thumb;
|
|
20
139
|
//# sourceMappingURL=thumb2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumb2.js","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":["buildProps"],"mappings":";;;;;;;AACY,MAAC,UAAU,GAAGA,kBAAU,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.js","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":["inject","scrollbarContextKey","useNamespace","throwError","ref","isClient","computed","BAR_MAP","renderThumbStyle","onBeforeUnmount","useEventListener","toRef","_createBlock","_Transition","_unref","_withCtx","_withDirectives","_createElementVNode","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA8BA,IAAM,MAAA,SAAA,GAAYA,WAAOC,6BAAmB,CAAA,CAAA;AAC5C,IAAM,MAAA,EAAA,GAAKC,mBAAa,WAAW,CAAA,CAAA;AAEnC,IAAA,IAAI,CAAC,SAAA;AAEL,MAAAC,+BAAqC,EAAA,kCAAA,CAAA,CAAA;AACrC,IAAA,MAAM,QAAQ,GAAoBC,OAAA,EAAA,CAAA;AAElC,IAAM,MAAA,KAAA,GAAAA,OAAA,EAAa,CAAwC;AAC3D,IAAM,MAAA,UAAU,UAAS,CAAA,EAAA,CAAA,CAAA;AAEzB,IAAA,MAAiB,OAAA,GAAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AACjB,IAAA,IAAI,UAAc,GAAA,KAAA,CAAA;AAClB,IAAI,IAAA,WAAA,GAAA,KAAA,CAAA;AAIJ,IAAM,IAAA,qBAAqB,GAAAC,wBAAyB,CAAA,aAAA,GAAA;AAEpD,IAAA,MAAM,GAAa,GAAAC,YAAA,CAAA,MAAAC,YAAA,CAAA,KAAA,CAAA,QAAA,GAAA,UAAA,GAAA,YAAA,CAAA,CAAA,CAAA;AAAA,IAAA,gBACA,GAAAD,YAAA,CAAA,MAAAE,qBAAA,CAAA;AAAA,MAAA,WACH,CAAA,IAAA;AAAA,MAAA,WACA,CAAA,IAAA;AAAA,MAAA,QACH,CAAA,KAAA;AAAA,KAAA,CACX,CAAC,CAAA;AAAA,IACH,MAAA,WAAA,GAAAF,YAAA,CAAA,MAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,IAAA,CAAA,GAAA,SAAA,CAAA,WAAA,CAAA,GAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,KAAA,CAAA,KAAA,GAAA,KAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAM,iBAAc,GAAA,CAAA,CAAA,KAAA;AAAA,MAClB,IAAA,EAAA,CAAA;AAAA,MAAA,CAAA,CAAA,eAAA,EAAA,CAAA;AAAA,MAAA,IAAA,CAAA,CAAA,OAAA,IAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,MAAA,CAAA;AAAA,QAAA,OAAA;AAAA,MAAA,CAAA,WAIkB,CAAA,cAAU,KAAM,IAAA,QACtB,CAAA,GAAA,EAAA,CAAA,iBAAiB,CAAM;AAEJ,MAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MACjC,MAAA,EAAA,GAAA,CAAA,CAAA,aAAA,CAAA;AAEA,MAAM,IAAA,CAAA,EAAA;AAEJ,QAAE,OAAgB;AAClB,MAAI,iBAAa,GAAC,CAAG,KAAG,CAAA,IAAA,CAAA,GAAW,EAAA,CAAA,GAAM,CAAG,KAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,qBAAA,EAAA,CAAA,GAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AAE5C,KAAO,CAAA;AACP,IAAA,MAAA,iBAAW,GAAA,CAAA,CAAA,KAAA;AAEX,MAAA,IAAA,CAAA,MAAW,KAAE,IAAA,CAAA,QAAA,CAAA,KAAA,IAAA,CAAA,SAAA,CAAA,WAAA;AACb,QAAA,OAAS;AACT,MAAW,MAAA,MAAA,GAAA,QAAgB,CAAA,CAAA,CAAA,4BACN,EAAA,CAAA,IAChB,KAAI,CAAA,UAAY,GAAI,CAAA,CAAA;AAA8C,MACzE,MAAA,SAAA,GAAA,KAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA;AAEA,MAAM,MAAA,uBAAuC,GAAA,CAAA,MAAA,GAAA,SAAA,IAAA,GAAA,GAAA,WAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAC3C,MAAI,qBAAiB,UAAkB,CAAA,MAAA,CAAA,0BAAwB,GAAA,SAAA,CAAA,WAAA,CAAA,GAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA;AAE/D,KAAA,CAAA;AAAoB,IACjB,MAAE,SAAuB,GAAA,CAAA,CAAA,KAAA;AACN,MACtB,CAAA,CAAA,wBAAA,EAAA,CAAA;AACA,MAAA,kBAAkB;AAClB,MAAM,QAAA,CAAA,gBAAA,CAAA,WACO,EAAA,wBAAmB,CAAA,CAAA;AAGhC,MAAU,QAAA,CAAA,gBAAgB,CAAA,SAAY,EAAA,sBACT,CAAA,CAAA;AAC3B,MACJ,qBAAA,GAAA,QAAA,CAAA,aAAA,CAAA;AAEA,MAAM,QAAA,CAAA,aAA+B,GAAA,MAAA,KAAA,CAAA;AACnC,KAAA,CAAA;AACA,IAAa,MAAA,wBAAA,GAAA,CAAA,CAAA,KAAA;AACb,MAAS,IAAA,CAAA,QAAA,CAAA,KAAA,IAAA,CAAA;AACT,QAAS,OAAA;AACT,MAAA,IAAA,UAAA,KAAA,KAAwB;AACxB,QAAA,OAAS;AAAsB,MACjC,MAAA,QAAA,GAAA,UAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AAEA,MAAM,IAAA,CAAA,QAAA;AACJ,QAAA,OAAK;AACL,MAAA,wBAA0B,CAAA,KAAA,CAAA,qBAAA,EAAA,CAAA,GAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAE1B,MAAA,MAAM,kBAAW,GAAA,KAAiB,CAAA,KAAI,UAAU,CAAA,MAAA,CAAA,GAAA,QAAA,CAAA;AAChD,MAAA,MAAe,uBAAA,GAAA,CAAA,MAAA,GAAA,kBAAA,IAAA,GAAA,GAAA,WAAA,CAAA,KAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAEf,MAAA,SACG,CAAA,WAAA,CAAA,GAAS,CAAM,KAAA,CAAA,MAAA,CAAA,GAAA,uBAAkC,GAAA,SAChD,CAAA,WAAM,CAAM,SACd,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA;AACF,KAAA,CAAA;AACA,IAAM,MAAA,sBAAA,GAAA,MACO;AAEb,MAAU,UAAA,GAAA,KAAA,CAAA;AAER,MACJ,UAAA,CAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAEA,MAAA,6BAA+B,WAAM,EAAA,wBAAA,CAAA,CAAA;AACnC,MAAa,QAAA,CAAA,mBAAA,CAAA,SAAA,EAAA,sBAAA,CAAA,CAAA;AACb,MAAA,oBAAiB,EAAU,CAAA;AAC3B,MAAS,IAAA,WAAA;AACT,QAAS,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACT,KAAqB,CAAA;AACrB,IAAI,MAAA,yBAA6B,GAAA,MAAA;AAAA,MACnC,WAAA,GAAA,KAAA,CAAA;AAEA,MAAA;AACE,KAAc,CAAA;AACd,IAAQ,MAAA,0BAAgB,GAAA,MAAA;AAAA,MAC1B,WAAA,GAAA,IAAA,CAAA;AAEA,MAAA;AACE,KAAc,CAAA;AACd,IAAAG,mBAAgB,CAAA,MAAA;AAAA,MAClB,oBAAA,EAAA,CAAA;AAEA,MAAA,QAAA,CAAA,mBAAsB,CAAA,SAAA,EAAA,sBAAA,CAAA,CAAA;AACpB,KAAqB,CAAA,CAAA;AACrB,IAAS,MAAA,oBAAA,GAAA;AAAqD,MAC/D,IAAA,QAAA,CAAA,aAAA,KAAA,qBAAA;AAED,QAAA,yBAA6B,qBAAM,CAAA;AACjC,KAAA,CAAA;AACE,IAAAC,qBAAyB,CAAAC,SAAA,CAAA,SAAA,EAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,yBAAA,CAAA,CAAA;AAAA,IAC7BD,qBAAA,CAAAC,SAAA,CAAA,SAAA,EAAA,kBAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,CAAA,CAAA;AAEA,IAAA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MACE,oBAAiB,EAAkB,EAAAC,eAAA,CAAAC,cAAA,EAAA;AAAA,QACnC,IAAA,EAAAC,SAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA;AAAA,QACA,SAAA,EAAA,EAAA;AAAA,OACF,EAAA;AACA,QAAA,OAAA,EAAAC,WAAA,CAAA,MAAA;AAAA,UACEC,kBAAmC,CAAAC,sBAAA,CAAA,KAAA,EAAA;AAAA,YACnC,OAAA,EAAA,UAAA;AAAA,YACA,GAAA,EAAA,QAAA;AAAA,YACF,KAAA,EAAAC,kBAAA,CAAA,CAAAJ,SAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,EAAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -19,6 +19,7 @@ const TableV2Header = vue.defineComponent({
|
|
|
19
19
|
expose
|
|
20
20
|
}) {
|
|
21
21
|
const ns = index.useNamespace("table-v2");
|
|
22
|
+
const scrollLeftInfo = vue.inject("tableV2GridScrollLeft");
|
|
22
23
|
const headerRef = vue.ref();
|
|
23
24
|
const headerStyle = vue.computed(() => utils.enforceUnit({
|
|
24
25
|
width: props.width,
|
|
@@ -78,6 +79,11 @@ const TableV2Header = vue.defineComponent({
|
|
|
78
79
|
});
|
|
79
80
|
});
|
|
80
81
|
};
|
|
82
|
+
vue.onUpdated(() => {
|
|
83
|
+
if (scrollLeftInfo == null ? void 0 : scrollLeftInfo.value) {
|
|
84
|
+
scrollToLeft(scrollLeftInfo.value);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
81
87
|
expose({
|
|
82
88
|
scrollToLeft
|
|
83
89
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"header.js","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","useNamespace","ns","inject","scrollLeftInfo","ref","headerRef","enforceUnit","computed","width","height","rowWidth","ensureArray","unref","headerHeights","scrollToLeft","nextTick","headerEl","left","renderFixedRows","rowHeight","fixedHeaderData","style","class","fixedRowClassName","columns","rowData","rowIndex","renderDynamicRows","headerIndex","onUpdated","_createVNode","headerStyle"],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ const COMPONENT_NAME = "ElTableV2Grid";
|
|
|
19
19
|
const useTableGrid = (props) => {
|
|
20
20
|
const headerRef = vue.ref();
|
|
21
21
|
const bodyRef = vue.ref();
|
|
22
|
+
const scrollLeft = vue.ref(0);
|
|
22
23
|
const totalHeight = vue.computed(() => {
|
|
23
24
|
const {
|
|
24
25
|
data,
|
|
@@ -74,9 +75,11 @@ const useTableGrid = (props) => {
|
|
|
74
75
|
const body$ = vue.unref(bodyRef);
|
|
75
76
|
if (shared.isObject(leftOrOptions)) {
|
|
76
77
|
header$ == null ? void 0 : header$.scrollToLeft(leftOrOptions.scrollLeft);
|
|
78
|
+
scrollLeft.value = leftOrOptions.scrollLeft;
|
|
77
79
|
body$ == null ? void 0 : body$.scrollTo(leftOrOptions);
|
|
78
80
|
} else {
|
|
79
81
|
header$ == null ? void 0 : header$.scrollToLeft(leftOrOptions);
|
|
82
|
+
scrollLeft.value = leftOrOptions;
|
|
80
83
|
body$ == null ? void 0 : body$.scrollTo({
|
|
81
84
|
scrollLeft: leftOrOptions,
|
|
82
85
|
scrollTop: top
|
|
@@ -112,7 +115,8 @@ const useTableGrid = (props) => {
|
|
|
112
115
|
resetAfterRowIndex,
|
|
113
116
|
scrollTo,
|
|
114
117
|
scrollToTop,
|
|
115
|
-
scrollToRow
|
|
118
|
+
scrollToRow,
|
|
119
|
+
scrollLeft
|
|
116
120
|
};
|
|
117
121
|
};
|
|
118
122
|
const TableGrid = vue.defineComponent({
|
|
@@ -139,8 +143,10 @@ const TableGrid = vue.defineComponent({
|
|
|
139
143
|
resetAfterRowIndex,
|
|
140
144
|
scrollTo,
|
|
141
145
|
scrollToTop,
|
|
142
|
-
scrollToRow
|
|
146
|
+
scrollToRow,
|
|
147
|
+
scrollLeft
|
|
143
148
|
} = useTableGrid(props);
|
|
149
|
+
vue.provide("tableV2GridScrollLeft", scrollLeft);
|
|
144
150
|
expose({
|
|
145
151
|
forceUpdate,
|
|
146
152
|
totalHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-grid.js","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","computed","data","rowHeight","estimatedRowHeight","sum","headerHeight","gridHeight","unref","height","Math","max","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","isObject","scrollTo","header$","scrollToLeft","scrollLeft","scrollTop","top","scrollToTop","fixedRowHeight","totalHeight","defineComponent","tableV2GridProps","scrollToRow","TableGrid","name","TableV2InjectionKey","expose","ns","inject","onItemRendered","resetAfterRowIndex","isNumber","DynamicSizeGrid","FixedSizeGrid","_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.js","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","computed","data","rowHeight","estimatedRowHeight","sum","headerHeight","gridHeight","unref","height","Math","max","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","isObject","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","fixedRowHeight","totalHeight","defineComponent","tableV2GridProps","TableGrid","name","TableV2InjectionKey","expose","ns","inject","onItemRendered","resetAfterRowIndex","scrollTo","scrollToRow","provide","isNumber","DynamicSizeGrid","FixedSizeGrid","_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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.js","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":["useAttrs","useLocale","useNamespace","useFormItem","inject","useEmptyValues","ref","computed","watch","nextTick","valueEquals","debugWarn","isArray","formatter","EVENT_CODE","unref","parseDate","isEqual","Clock","Calendar","useFormSize","onClickOutside","onBeforeUnmount","provide","_openBlock","_createBlock","_unref","ElTooltip","_mergeProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picker.js","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":["useAttrs","useLocale","useNamespace","useFormItem","inject","useEmptyValues","ref","computed","watch","nextTick","valueEquals","debugWarn","isArray","formatter","EVENT_CODE","unref","parseDate","isEqual","Clock","Calendar","useFormSize","onClickOutside","onBeforeUnmount","provide","_openBlock","_createBlock","_unref","ElTooltip","_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>;
|