@element-plus/nightly 0.0.20220320 → 0.0.20220323
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.css +1 -1
- package/dist/index.full.js +783 -686
- package/dist/index.full.min.js +7 -7
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +11 -11
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +780 -688
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/autocomplete/index.d.ts +36 -4
- package/es/components/autocomplete/src/autocomplete.d.ts +9 -1
- package/es/components/autocomplete/src/autocomplete.mjs +1 -1
- package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +36 -4
- package/es/components/autocomplete/src/autocomplete2.mjs +13 -3
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/cascader/index.d.ts +30 -0
- package/es/components/cascader/src/index.mjs +7 -5
- package/es/components/cascader/src/index.mjs.map +1 -1
- package/es/components/cascader/src/index.vue.d.ts +15 -0
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
- package/es/components/dropdown/index.d.ts +3 -0
- package/es/components/dropdown/src/dropdown.d.ts +2 -0
- package/es/components/dropdown/src/dropdown.mjs +3 -0
- package/es/components/dropdown/src/dropdown.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.vue.d.ts +3 -0
- package/es/components/dropdown/src/dropdown2.mjs +10 -12
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/empty/index.d.ts +17 -0
- package/es/components/empty/index.mjs +2 -2
- package/es/components/empty/index.mjs.map +1 -1
- package/es/components/empty/src/empty.vue.d.ts +17 -0
- package/es/components/empty/src/empty2.mjs +39 -46
- package/es/components/empty/src/empty2.mjs.map +1 -1
- package/es/components/form/index.d.ts +2 -0
- package/es/components/form/src/form-item.vue.d.ts +1 -0
- package/es/components/form/src/form-item2.mjs +4 -2
- package/es/components/form/src/form-item2.mjs.map +1 -1
- package/es/components/message-box/src/index.mjs +3 -2
- package/es/components/message-box/src/index.mjs.map +1 -1
- package/es/components/message-box/src/index.vue.d.ts +1 -1
- package/es/components/select/index.d.ts +1 -1
- package/es/components/select/src/select.vue.d.ts +1 -1
- package/es/components/table/src/table-body/styles-helper.mjs +1 -1
- package/es/components/table/src/table-body/styles-helper.mjs.map +1 -1
- package/es/components/table/src/table-header/style.helper.mjs +1 -1
- package/es/components/table/src/table-header/style.helper.mjs.map +1 -1
- package/es/components/tabs/src/tabs.mjs +1 -1
- package/es/components/tabs/src/tabs.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.mjs +44 -29
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +42 -0
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +40 -25
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +14 -0
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs +21 -16
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +15 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs +51 -31
- package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +28 -0
- package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
- package/es/components/upload/index.d.ts +29 -29
- package/es/components/upload/src/upload-content.d.ts +3 -3
- package/es/components/upload/src/upload-content.mjs.map +1 -1
- package/es/components/upload/src/upload-content.vue.d.ts +8 -8
- package/es/components/upload/src/upload.d.ts +2 -2
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/upload.vue.d.ts +57 -58
- package/es/components/upload/src/upload2.mjs +10 -28
- package/es/components/upload/src/upload2.mjs.map +1 -1
- package/es/defaults.d.ts +1 -1
- package/es/index.d.ts +2 -1
- package/es/index.mjs +5 -1
- package/es/index.mjs.map +1 -1
- package/es/make-installer.d.ts +8 -2
- package/es/make-installer.mjs +3 -2
- package/es/make-installer.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/autocomplete/index.d.ts +36 -4
- package/lib/components/autocomplete/src/autocomplete.d.ts +9 -1
- package/lib/components/autocomplete/src/autocomplete.js +1 -1
- package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +36 -4
- package/lib/components/autocomplete/src/autocomplete2.js +13 -3
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/cascader/index.d.ts +30 -0
- package/lib/components/cascader/src/index.js +7 -5
- package/lib/components/cascader/src/index.js.map +1 -1
- package/lib/components/cascader/src/index.vue.d.ts +15 -0
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +2 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
- package/lib/components/dropdown/index.d.ts +3 -0
- package/lib/components/dropdown/src/dropdown.d.ts +2 -0
- package/lib/components/dropdown/src/dropdown.js +3 -0
- package/lib/components/dropdown/src/dropdown.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -0
- package/lib/components/dropdown/src/dropdown2.js +9 -11
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/empty/index.d.ts +17 -0
- package/lib/components/empty/src/empty.vue.d.ts +17 -0
- package/lib/components/empty/src/empty2.js +38 -45
- package/lib/components/empty/src/empty2.js.map +1 -1
- package/lib/components/form/index.d.ts +2 -0
- package/lib/components/form/src/form-item.vue.d.ts +1 -0
- package/lib/components/form/src/form-item2.js +4 -2
- package/lib/components/form/src/form-item2.js.map +1 -1
- package/lib/components/message-box/src/index.js +3 -2
- package/lib/components/message-box/src/index.js.map +1 -1
- package/lib/components/message-box/src/index.vue.d.ts +1 -1
- package/lib/components/select/index.d.ts +1 -1
- package/lib/components/select/src/select.vue.d.ts +1 -1
- package/lib/components/table/src/table-body/styles-helper.js +1 -1
- package/lib/components/table/src/table-body/styles-helper.js.map +1 -1
- package/lib/components/table/src/table-header/style.helper.js +1 -1
- package/lib/components/table/src/table-header/style.helper.js.map +1 -1
- package/lib/components/tabs/src/tabs.js +1 -1
- package/lib/components/tabs/src/tabs.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js +46 -31
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +42 -0
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js +40 -25
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +14 -0
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js +22 -17
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +15 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.js +50 -30
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +28 -0
- package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
- package/lib/components/upload/index.d.ts +29 -29
- package/lib/components/upload/src/upload-content.d.ts +3 -3
- package/lib/components/upload/src/upload-content.js.map +1 -1
- package/lib/components/upload/src/upload-content.vue.d.ts +8 -8
- package/lib/components/upload/src/upload.d.ts +2 -2
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +57 -58
- package/lib/components/upload/src/upload2.js +9 -27
- package/lib/components/upload/src/upload2.js.map +1 -1
- package/lib/defaults.d.ts +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +9 -0
- package/lib/index.js.map +1 -1
- package/lib/make-installer.d.ts +8 -2
- package/lib/make-installer.js +3 -2
- package/lib/make-installer.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +7 -7
- package/tags.json +1 -1
- package/theme-chalk/base.css +1 -1
- package/theme-chalk/el-avatar.css +1 -1
- package/theme-chalk/el-button.css +1 -1
- package/theme-chalk/el-calendar.css +1 -1
- package/theme-chalk/el-card.css +1 -1
- package/theme-chalk/el-cascader-panel.css +1 -1
- package/theme-chalk/el-cascader.css +1 -1
- package/theme-chalk/el-checkbox-button.css +1 -1
- package/theme-chalk/el-checkbox.css +1 -1
- package/theme-chalk/el-color-picker.css +1 -1
- package/theme-chalk/el-date-picker.css +1 -1
- package/theme-chalk/el-descriptions.css +1 -1
- package/theme-chalk/el-empty.css +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-message.css +1 -1
- package/theme-chalk/el-radio-button.css +1 -1
- package/theme-chalk/el-radio.css +1 -1
- package/theme-chalk/el-reset.css +1 -1
- package/theme-chalk/el-select-v2.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/el-skeleton-item.css +1 -1
- package/theme-chalk/el-skeleton.css +1 -1
- package/theme-chalk/el-spinner.css +1 -1
- package/theme-chalk/el-table.css +1 -1
- package/theme-chalk/el-tabs.css +1 -1
- package/theme-chalk/el-time-picker.css +1 -1
- package/theme-chalk/el-time-select.css +1 -1
- package/theme-chalk/el-upload.css +1 -1
- package/theme-chalk/el-var.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/button.scss +4 -1
- package/theme-chalk/src/calendar.scss +1 -1
- package/theme-chalk/src/color-picker.scss +3 -3
- package/theme-chalk/src/common/var.scss +210 -203
- package/theme-chalk/src/date-picker/picker-panel.scss +6 -6
- package/theme-chalk/src/date-picker/time-spinner.scss +5 -6
- package/theme-chalk/src/empty.scss +2 -1
- package/theme-chalk/src/input.scss +1 -0
- package/theme-chalk/src/mixins/mixins.scss +2 -2
- package/theme-chalk/src/reset.scss +1 -1
- package/theme-chalk/src/select-v2.scss +2 -2
- package/theme-chalk/src/select.scss +1 -1
- package/theme-chalk/src/skeleton-item.scss +2 -1
- package/theme-chalk/src/spinner.scss +1 -1
- package/theme-chalk/src/table.scss +1 -1
- package/theme-chalk/src/tabs.scss +3 -3
- package/theme-chalk/src/upload.scss +8 -8
- package/theme-chalk/src/var.scss +17 -13
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\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\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"['el-date-editor--' + type, $attrs.class || undefined]\"\n :style=\"$attrs.style || undefined\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n $attrs.class || undefined,\n ]\"\n :style=\"$attrs.style || undefined\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\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=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-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=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\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 :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 @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n unref,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { formContextKey, formItemContextKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isEmpty } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { FormContext, FormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = Array.isArray(a)\n const bIsArray = Array.isArray(b)\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: string | number | Date,\n format: string,\n lang: string\n): Dayjs {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (\n date: string | number | Date,\n format: string,\n lang: string\n) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElTooltip,\n ElIcon,\n },\n props: timePickerDefaultProps,\n emits: [\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n ],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(formContextKey, {} as FormContext)\n const elFormItem = inject(formItemContextKey, {} as FormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref<InstanceType<typeof ElTooltip>>()\n const inputRef = ref<HTMLElement | ComponentPublicInstance>()\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent &&\n elFormItem.validate?.('blur').catch((err) => debugWarn(err))\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent &&\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const 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 const refStartInput = computed(() => {\n return refInput?.value[0]\n })\n const refEndInput = computed(() => {\n return refInput?.value[1]\n })\n const setSelectionRange = (start, end, pos) => {\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 }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.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\n const onBeforeShow = () => {\n pickerActualVisible.value = true\n }\n\n const onShow = () => {\n ctx.emit('visible-change', true)\n }\n\n const onHide = () => {\n pickerActualVisible.value = false\n ctx.emit('visible-change', false)\n }\n\n const focus = (focusStartInput = true) => {\n let input = refStartInput.value\n if (!focusStartInput && isRangeInput.value) {\n input = refEndInput.value\n }\n if (input) {\n input.focus()\n }\n }\n\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n refPopper.value?.onClose()\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.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\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.includes('range')\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef?.contentRef\n })\n\n const popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n const actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n })\n\n 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\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (!refInput.value.includes(document.activeElement)) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\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))\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\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const 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\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n const onPanelChange = (value, mode, view) => {\n ctx.emit('panel-change', value, mode, view)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n inputRef,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n onPanelChange,\n focus,\n onShow,\n onBeforeShow,\n onHide,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_mergeProps","_withCtx","_normalizeClass","_withModifiers","_resolveDynamicComponent","_createCommentVNode","_createElementBlock","_normalizeStyle","_createElementVNode","_renderSlot","_toDisplayString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picker.mjs","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n append-to-body\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\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\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\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=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @click=\"handleFocus\"\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=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n :class=\"[\n nsDate.b('editor'),\n nsDate.bm('editor', type),\n nsInput.e('inner'),\n nsDate.is('disabled', pickerDisabled),\n nsDate.is('active', pickerVisible),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize) : '',\n $attrs.class,\n ]\"\n :style=\"$attrs.style\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n @click=\"handleFocus\"\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 @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\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 @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n {\n [nsRange.e('close-icon--hidden')]: !showClose,\n },\n ]\"\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 :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 @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n unref,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useNamespace, useSize } from '@element-plus/hooks'\nimport { formContextKey, formItemContextKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isEmpty } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { FormContext, FormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = Array.isArray(a)\n const bIsArray = Array.isArray(b)\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: string | number | Date,\n format: string,\n lang: string\n): Dayjs {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (\n date: string | number | Date,\n format: string,\n lang: string\n) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElTooltip,\n ElIcon,\n },\n props: timePickerDefaultProps,\n emits: [\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n ],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const nsDate = useNamespace('date')\n const nsInput = useNamespace('input')\n const nsRange = useNamespace('range')\n\n const elForm = inject(formContextKey, {} as FormContext)\n const elFormItem = inject(formItemContextKey, {} as FormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref<InstanceType<typeof ElTooltip>>()\n const inputRef = ref<HTMLElement | ComponentPublicInstance>()\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent &&\n elFormItem.validate?.('blur').catch((err) => debugWarn(err))\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent &&\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const 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 const refStartInput = computed(() => {\n return refInput?.value[0]\n })\n const refEndInput = computed(() => {\n return refInput?.value[1]\n })\n const setSelectionRange = (start, end, pos) => {\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 }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.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\n const onBeforeShow = () => {\n pickerActualVisible.value = true\n }\n\n const onShow = () => {\n ctx.emit('visible-change', true)\n }\n\n const onHide = () => {\n pickerActualVisible.value = false\n ctx.emit('visible-change', false)\n }\n\n const focus = (focusStartInput = true) => {\n let input = refStartInput.value\n if (!focusStartInput && isRangeInput.value) {\n input = refEndInput.value\n }\n if (input) {\n input.focus()\n }\n }\n\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n refPopper.value?.onClose()\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.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\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.includes('range')\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef?.contentRef\n })\n\n const popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n const actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n })\n\n 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\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (!refInput.value.includes(document.activeElement)) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\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))\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\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const 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\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n const onPanelChange = (value, mode, view) => {\n ctx.emit('panel-change', value, mode, view)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n nsDate,\n nsInput,\n nsRange,\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n inputRef,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n onPanelChange,\n focus,\n onShow,\n onBeforeShow,\n onHide,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_mergeProps","_withCtx","_normalizeClass","_withModifiers","_createCommentVNode","_resolveDynamicComponent","_createElementBlock","_normalizeStyle","_createElementVNode","_renderSlot","_toDisplayString"],"mappings":"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"}
|
|
@@ -121,6 +121,48 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
121
121
|
};
|
|
122
122
|
unlinkPanels: BooleanConstructor;
|
|
123
123
|
}, {
|
|
124
|
+
nsDate: {
|
|
125
|
+
namespace: import("vue").ComputedRef<string>;
|
|
126
|
+
b: (blockSuffix?: string) => string;
|
|
127
|
+
e: (element?: string | undefined) => string;
|
|
128
|
+
m: (modifier?: string | undefined) => string;
|
|
129
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
130
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
131
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
132
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
133
|
+
is: {
|
|
134
|
+
(name: string, state: boolean | undefined): string;
|
|
135
|
+
(name: string): string;
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
nsInput: {
|
|
139
|
+
namespace: import("vue").ComputedRef<string>;
|
|
140
|
+
b: (blockSuffix?: string) => string;
|
|
141
|
+
e: (element?: string | undefined) => string;
|
|
142
|
+
m: (modifier?: string | undefined) => string;
|
|
143
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
144
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
145
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
146
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
147
|
+
is: {
|
|
148
|
+
(name: string, state: boolean | undefined): string;
|
|
149
|
+
(name: string): string;
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
nsRange: {
|
|
153
|
+
namespace: import("vue").ComputedRef<string>;
|
|
154
|
+
b: (blockSuffix?: string) => string;
|
|
155
|
+
e: (element?: string | undefined) => string;
|
|
156
|
+
m: (modifier?: string | undefined) => string;
|
|
157
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
158
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
159
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
160
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
161
|
+
is: {
|
|
162
|
+
(name: string, state: boolean | undefined): string;
|
|
163
|
+
(name: string): string;
|
|
164
|
+
};
|
|
165
|
+
};
|
|
124
166
|
elPopperOptions: Options;
|
|
125
167
|
isDatesPicker: import("vue").ComputedRef<boolean>;
|
|
126
168
|
handleEndChange: () => void;
|
|
@@ -4,9 +4,11 @@ import '../../../../directives/index.mjs';
|
|
|
4
4
|
import { ElScrollbar } from '../../../scrollbar/index.mjs';
|
|
5
5
|
import { ElIcon } from '../../../icon/index.mjs';
|
|
6
6
|
import { ArrowUp, ArrowDown } from '@element-plus/icons-vue';
|
|
7
|
+
import '../../../../hooks/index.mjs';
|
|
7
8
|
import { getTimeLists } from './useTimePicker.mjs';
|
|
8
9
|
import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
|
|
9
10
|
import RepeatClick from '../../../../directives/repeat-click/index.mjs';
|
|
11
|
+
import { useNamespace } from '../../../../hooks/use-namespace/index.mjs';
|
|
10
12
|
|
|
11
13
|
const _sfc_main = defineComponent({
|
|
12
14
|
directives: {
|
|
@@ -48,6 +50,7 @@ const _sfc_main = defineComponent({
|
|
|
48
50
|
},
|
|
49
51
|
emits: ["change", "select-range", "set-option"],
|
|
50
52
|
setup(props, ctx) {
|
|
53
|
+
const ns = useNamespace("time");
|
|
51
54
|
let isScrolling = false;
|
|
52
55
|
const debouncedResetScroll = debounce((type) => {
|
|
53
56
|
isScrolling = false;
|
|
@@ -151,12 +154,13 @@ const _sfc_main = defineComponent({
|
|
|
151
154
|
adjustCurrentSpinner("minutes");
|
|
152
155
|
adjustCurrentSpinner("seconds");
|
|
153
156
|
};
|
|
157
|
+
const getScrollbarElement = (el) => el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`);
|
|
154
158
|
const adjustSpinner = (type, value) => {
|
|
155
159
|
if (props.arrowControl)
|
|
156
160
|
return;
|
|
157
161
|
const el = listRefsMap[type];
|
|
158
162
|
if (el && el.$el) {
|
|
159
|
-
el.$el
|
|
163
|
+
getScrollbarElement(el.$el).scrollTop = Math.max(0, value * typeItemHeight(type));
|
|
160
164
|
}
|
|
161
165
|
};
|
|
162
166
|
const typeItemHeight = (type) => {
|
|
@@ -208,23 +212,23 @@ const _sfc_main = defineComponent({
|
|
|
208
212
|
const handleScroll = (type) => {
|
|
209
213
|
isScrolling = true;
|
|
210
214
|
debouncedResetScroll(type);
|
|
211
|
-
const value = Math.min(Math.round((listRefsMap[type].$el
|
|
215
|
+
const value = Math.min(Math.round((getScrollbarElement(listRefsMap[type].$el).scrollTop - (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) + 3) / typeItemHeight(type)), type === "hours" ? 23 : 59);
|
|
212
216
|
modifyDateField(type, value);
|
|
213
217
|
};
|
|
214
218
|
const scrollBarHeight = (type) => {
|
|
215
219
|
return listRefsMap[type].$el.offsetHeight;
|
|
216
220
|
};
|
|
217
221
|
const bindScrollEvent = () => {
|
|
218
|
-
const
|
|
222
|
+
const bindFunction = (type) => {
|
|
219
223
|
if (listRefsMap[type] && listRefsMap[type].$el) {
|
|
220
|
-
listRefsMap[type].$el
|
|
224
|
+
getScrollbarElement(listRefsMap[type].$el).onscroll = () => {
|
|
221
225
|
handleScroll(type);
|
|
222
226
|
};
|
|
223
227
|
}
|
|
224
228
|
};
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
229
|
+
bindFunction("hours");
|
|
230
|
+
bindFunction("minutes");
|
|
231
|
+
bindFunction("seconds");
|
|
228
232
|
};
|
|
229
233
|
onMounted(() => {
|
|
230
234
|
nextTick(() => {
|
|
@@ -246,6 +250,7 @@ const _sfc_main = defineComponent({
|
|
|
246
250
|
adjustSpinners();
|
|
247
251
|
});
|
|
248
252
|
return {
|
|
253
|
+
ns,
|
|
249
254
|
setRef,
|
|
250
255
|
spinnerItems,
|
|
251
256
|
currentScrollbar,
|
|
@@ -276,7 +281,6 @@ const _sfc_main = defineComponent({
|
|
|
276
281
|
});
|
|
277
282
|
const _hoisted_1 = ["onClick"];
|
|
278
283
|
const _hoisted_2 = ["onMouseenter"];
|
|
279
|
-
const _hoisted_3 = { class: "el-time-spinner__list" };
|
|
280
284
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
281
285
|
const _component_el_scrollbar = resolveComponent("el-scrollbar");
|
|
282
286
|
const _component_arrow_up = resolveComponent("arrow-up");
|
|
@@ -284,16 +288,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
284
288
|
const _component_arrow_down = resolveComponent("arrow-down");
|
|
285
289
|
const _directive_repeat_click = resolveDirective("repeat-click");
|
|
286
290
|
return openBlock(), createElementBlock("div", {
|
|
287
|
-
class: normalizeClass(["
|
|
291
|
+
class: normalizeClass([_ctx.ns.b("spinner"), { "has-seconds": _ctx.showSeconds }])
|
|
288
292
|
}, [
|
|
289
293
|
!_ctx.arrowControl ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.spinnerItems, (item) => {
|
|
290
294
|
return openBlock(), createBlock(_component_el_scrollbar, {
|
|
291
295
|
key: item,
|
|
292
296
|
ref_for: true,
|
|
293
297
|
ref: (scollbar) => _ctx.setRef(scollbar, item),
|
|
294
|
-
class: "
|
|
298
|
+
class: normalizeClass(_ctx.ns.be("spinner", "wrapper")),
|
|
295
299
|
"wrap-style": "max-height: inherit;",
|
|
296
|
-
"view-class": "
|
|
300
|
+
"view-class": _ctx.ns.be("spinner", "list"),
|
|
297
301
|
noresize: "",
|
|
298
302
|
tag: "ul",
|
|
299
303
|
onMouseenter: ($event) => _ctx.emitSelectRange(item),
|
|
@@ -303,7 +307,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
303
307
|
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.listMap[item].value, (disabled, key) => {
|
|
304
308
|
return openBlock(), createElementBlock("li", {
|
|
305
309
|
key,
|
|
306
|
-
class: normalizeClass([
|
|
310
|
+
class: normalizeClass([
|
|
311
|
+
_ctx.ns.be("spinner", "item"),
|
|
312
|
+
_ctx.ns.is("active", key === _ctx.timePartsMap[item].value),
|
|
313
|
+
_ctx.ns.is("disabled", disabled)
|
|
314
|
+
]),
|
|
307
315
|
onClick: ($event) => _ctx.handleClick(item, { value: key, disabled })
|
|
308
316
|
}, [
|
|
309
317
|
item === "hours" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
@@ -315,38 +323,45 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
315
323
|
}), 128))
|
|
316
324
|
]),
|
|
317
325
|
_: 2
|
|
318
|
-
}, 1032, ["onMouseenter", "onMousemove"]);
|
|
326
|
+
}, 1032, ["class", "view-class", "onMouseenter", "onMousemove"]);
|
|
319
327
|
}), 128)) : createCommentVNode("v-if", true),
|
|
320
328
|
_ctx.arrowControl ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(_ctx.spinnerItems, (item) => {
|
|
321
329
|
return openBlock(), createElementBlock("div", {
|
|
322
330
|
key: item,
|
|
323
|
-
class: "
|
|
331
|
+
class: normalizeClass([_ctx.ns.be("wrapper", "item"), _ctx.ns.is("arrow")]),
|
|
324
332
|
onMouseenter: ($event) => _ctx.emitSelectRange(item)
|
|
325
333
|
}, [
|
|
326
|
-
withDirectives((openBlock(), createBlock(_component_el_icon, {
|
|
334
|
+
withDirectives((openBlock(), createBlock(_component_el_icon, {
|
|
335
|
+
class: normalizeClass(["arrow-up", _ctx.ns.be("spinner", "arrow")])
|
|
336
|
+
}, {
|
|
327
337
|
default: withCtx(() => [
|
|
328
338
|
createVNode(_component_arrow_up)
|
|
329
339
|
]),
|
|
330
340
|
_: 1
|
|
331
|
-
})), [
|
|
341
|
+
}, 8, ["class"])), [
|
|
332
342
|
[_directive_repeat_click, _ctx.onDecreaseClick]
|
|
333
343
|
]),
|
|
334
|
-
withDirectives((openBlock(), createBlock(_component_el_icon, {
|
|
344
|
+
withDirectives((openBlock(), createBlock(_component_el_icon, {
|
|
345
|
+
class: normalizeClass(["arrow-down", _ctx.ns.be("spinner", "arrow")])
|
|
346
|
+
}, {
|
|
335
347
|
default: withCtx(() => [
|
|
336
348
|
createVNode(_component_arrow_down)
|
|
337
349
|
]),
|
|
338
350
|
_: 1
|
|
339
|
-
})), [
|
|
351
|
+
}, 8, ["class"])), [
|
|
340
352
|
[_directive_repeat_click, _ctx.onIncreaseClick]
|
|
341
353
|
]),
|
|
342
|
-
createElementVNode("ul",
|
|
354
|
+
createElementVNode("ul", {
|
|
355
|
+
class: normalizeClass(_ctx.ns.be("spinner", "list"))
|
|
356
|
+
}, [
|
|
343
357
|
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.arrowListMap[item].value, (time, key) => {
|
|
344
358
|
return openBlock(), createElementBlock("li", {
|
|
345
359
|
key,
|
|
346
|
-
class: normalizeClass([
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
360
|
+
class: normalizeClass([
|
|
361
|
+
_ctx.ns.be("spinner", "item"),
|
|
362
|
+
_ctx.ns.is("active", time === _ctx.timePartsMap[item].value),
|
|
363
|
+
_ctx.ns.is("disabled", _ctx.listMap[item].value[time])
|
|
364
|
+
])
|
|
350
365
|
}, [
|
|
351
366
|
typeof time === "number" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
352
367
|
item === "hours" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
@@ -357,8 +372,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
357
372
|
], 2112)) : createCommentVNode("v-if", true)
|
|
358
373
|
], 2);
|
|
359
374
|
}), 128))
|
|
360
|
-
])
|
|
361
|
-
],
|
|
375
|
+
], 2)
|
|
376
|
+
], 42, _hoisted_2);
|
|
362
377
|
}), 128)) : createCommentVNode("v-if", true)
|
|
363
378
|
], 2);
|
|
364
379
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-time-spinner.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div class=\"el-time-spinner\" :class=\"{ 'has-seconds': showSeconds }\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scollbar) => setRef(scollbar, item)\"\n class=\"el-time-spinner__wrapper\"\n wrap-style=\"max-height: inherit;\"\n view-class=\"el-time-spinner__list\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in listMap[item].value\"\n :key=\"key\"\n class=\"el-time-spinner__item\"\n :class=\"{ active: key === timePartsMap[item].value, disabled }\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n class=\"el-time-spinner__wrapper is-arrow\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecreaseClick\"\n class=\"el-time-spinner__arrow arrow-up\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncreaseClick\"\n class=\"el-time-spinner__arrow arrow-down\"\n >\n <arrow-down />\n </el-icon>\n <ul class=\"el-time-spinner__list\">\n <li\n v-for=\"(time, key) in arrowListMap[item].value\"\n :key=\"key\"\n class=\"el-time-spinner__item\"\n :class=\"{\n active: time === timePartsMap[item].value,\n disabled: listMap[item].value[time],\n }\"\n >\n <template v-if=\"typeof time === 'number'\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, nextTick, computed, onMounted, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { RepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowUp, ArrowDown } from '@element-plus/icons-vue'\nimport { getTimeLists } from './useTimePicker'\n\nimport type { PropType, Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { Nullable } from '@element-plus/utils'\n\nexport default defineComponent({\n directives: {\n repeatClick: RepeatClick,\n },\n\n components: {\n ElScrollbar,\n ElIcon,\n ArrowUp,\n ArrowDown,\n },\n\n props: {\n role: {\n type: String,\n required: true,\n },\n spinnerDate: {\n type: Object as PropType<Dayjs>,\n required: true,\n },\n showSeconds: {\n type: Boolean,\n default: true,\n },\n arrowControl: Boolean,\n amPmMode: {\n type: String,\n default: '', // 'a': am/pm; 'A': AM/PM\n },\n disabledHours: {\n type: Function,\n },\n disabledMinutes: {\n type: Function,\n },\n disabledSeconds: {\n type: Function,\n },\n },\n\n emits: ['change', 'select-range', 'set-option'],\n\n setup(props, ctx) {\n // data\n let isScrolling = false\n const debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n }, 200)\n const currentScrollbar = ref(null)\n const listHoursRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listMinutesRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listSecondsRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listRefsMap = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n }\n\n // computed\n const spinnerItems = computed(() => {\n const arr = ['hours', 'minutes', 'seconds']\n return props.showSeconds ? arr : arr.slice(0, 2)\n })\n const hours = computed(() => {\n return props.spinnerDate.hour()\n })\n const minutes = computed(() => {\n return props.spinnerDate.minute()\n })\n const seconds = computed(() => {\n return props.spinnerDate.second()\n })\n const timePartsMap = computed(() => ({\n hours,\n minutes,\n seconds,\n }))\n const hoursList = computed(() => {\n return getHoursList(props.role)\n })\n const minutesList = computed(() => {\n return getMinutesList(hours.value, props.role)\n })\n const secondsList = computed(() => {\n return getSecondsList(hours.value, minutes.value, props.role)\n })\n const listMap = computed(() => ({\n hours: hoursList,\n minutes: minutesList,\n seconds: secondsList,\n }))\n const arrowHourList = computed(() => {\n const hour = hours.value\n return [\n hour > 0 ? hour - 1 : undefined,\n hour,\n hour < 23 ? hour + 1 : undefined,\n ]\n })\n const arrowMinuteList = computed(() => {\n const minute = minutes.value\n return [\n minute > 0 ? minute - 1 : undefined,\n minute,\n minute < 59 ? minute + 1 : undefined,\n ]\n })\n const arrowSecondList = computed(() => {\n const second = seconds.value\n return [\n second > 0 ? second - 1 : undefined,\n second,\n second < 59 ? second + 1 : undefined,\n ]\n })\n const arrowListMap = computed(() => ({\n hours: arrowHourList,\n minutes: arrowMinuteList,\n seconds: arrowSecondList,\n }))\n const getAmPmFlag = (hour) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n }\n\n const emitSelectRange = (type) => {\n if (type === 'hours') {\n ctx.emit('select-range', 0, 2)\n } else if (type === 'minutes') {\n ctx.emit('select-range', 3, 5)\n } else if (type === 'seconds') {\n ctx.emit('select-range', 6, 8)\n }\n currentScrollbar.value = type\n }\n\n const adjustCurrentSpinner = (type) => {\n adjustSpinner(type, timePartsMap.value[type].value)\n }\n\n // NOTE: used by datetime / date-range panel\n // renamed from adjustScrollTop\n // should try to refactory it\n const adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n }\n\n const adjustSpinner = (type, value) => {\n if (props.arrowControl) return\n const el = listRefsMap[type]\n if (el && el.$el) {\n el.$el.querySelector('.el-scrollbar__wrap').scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n }\n\n const typeItemHeight = (type) => {\n const el = listRefsMap[type]\n return el.$el.querySelector('li').offsetHeight\n }\n\n const onIncreaseClick = () => {\n scrollDown(1)\n }\n\n const onDecreaseClick = () => {\n scrollDown(-1)\n }\n\n const scrollDown = (step) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value\n let now = timePartsMap.value[label].value\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n now = (now + step + total) % total\n\n modifyDateField(label, now)\n adjustSpinner(label, now)\n nextTick(() => emitSelectRange(currentScrollbar.value))\n }\n\n const modifyDateField = (type, value) => {\n const list = listMap.value[type].value\n const isDisabled = list[value]\n if (isDisabled) return\n switch (type) {\n case 'hours':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(value)\n .minute(minutes.value)\n .second(seconds.value)\n )\n break\n case 'minutes':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(value)\n .second(seconds.value)\n )\n break\n case 'seconds':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(minutes.value)\n .second(value)\n )\n break\n }\n }\n\n const handleClick = (type, { value, disabled }) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n }\n\n const handleScroll = (type) => {\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (listRefsMap[type].$el.querySelector('.el-scrollbar__wrap')\n .scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n }\n\n const scrollBarHeight = (type) => {\n return listRefsMap[type].$el.offsetHeight\n }\n\n const bindScrollEvent = () => {\n const bindFuntion = (type) => {\n if (listRefsMap[type] && listRefsMap[type].$el) {\n listRefsMap[type].$el.querySelector('.el-scrollbar__wrap').onscroll =\n () => {\n // TODO: scroll is emitted when set scrollTop programatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFuntion('hours')\n bindFuntion('minutes')\n bindFuntion('seconds')\n }\n\n onMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n })\n\n const setRef = (scrollbar, type) => {\n listRefsMap[type] = scrollbar\n }\n\n ctx.emit('set-option', [`${props.role}_scrollDown`, scrollDown])\n ctx.emit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n )\n\n watch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n )\n\n return {\n setRef,\n spinnerItems,\n currentScrollbar,\n hours,\n minutes,\n seconds,\n hoursList,\n minutesList,\n arrowHourList,\n arrowMinuteList,\n arrowSecondList,\n getAmPmFlag,\n emitSelectRange,\n adjustCurrentSpinner,\n typeItemHeight,\n listHoursRef,\n listMinutesRef,\n listSecondsRef,\n onIncreaseClick,\n onDecreaseClick,\n handleClick,\n secondsList,\n timePartsMap,\n arrowListMap,\n listMap,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_openBlock","_Fragment","_renderList","_createBlock","_createTextVNode","_toDisplayString","_withCtx","_createVNode","_withDirectives","_createElementVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basic-time-spinner.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b('spinner'), { 'has-seconds': showSeconds }]\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scollbar) => setRef(scollbar, item)\"\n :class=\"ns.be('spinner', 'wrapper')\"\n wrap-style=\"max-height: inherit;\"\n :view-class=\"ns.be('spinner', 'list')\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in listMap[item].value\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartsMap[item].value),\n ns.is('disabled', disabled),\n ]\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :class=\"[ns.be('wrapper', 'item'), ns.is('arrow')]\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecreaseClick\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncreaseClick\"\n :class=\"['arrow-down', ns.be('spinner', 'arrow')]\"\n >\n <arrow-down />\n </el-icon>\n <ul :class=\"ns.be('spinner', 'list')\">\n <li\n v-for=\"(time, key) in arrowListMap[item].value\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartsMap[item].value),\n ns.is('disabled', listMap[item].value[time]),\n ]\"\n >\n <template v-if=\"typeof time === 'number'\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, nextTick, computed, onMounted, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { RepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowUp, ArrowDown } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { getTimeLists } from './useTimePicker'\n\nimport type { PropType, Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { Nullable } from '@element-plus/utils'\n\nexport default defineComponent({\n directives: {\n repeatClick: RepeatClick,\n },\n\n components: {\n ElScrollbar,\n ElIcon,\n ArrowUp,\n ArrowDown,\n },\n\n props: {\n role: {\n type: String,\n required: true,\n },\n spinnerDate: {\n type: Object as PropType<Dayjs>,\n required: true,\n },\n showSeconds: {\n type: Boolean,\n default: true,\n },\n arrowControl: Boolean,\n amPmMode: {\n type: String,\n default: '', // 'a': am/pm; 'A': AM/PM\n },\n disabledHours: {\n type: Function,\n },\n disabledMinutes: {\n type: Function,\n },\n disabledSeconds: {\n type: Function,\n },\n },\n\n emits: ['change', 'select-range', 'set-option'],\n\n setup(props, ctx) {\n const ns = useNamespace('time')\n // data\n let isScrolling = false\n const debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n }, 200)\n const currentScrollbar = ref(null)\n const listHoursRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listMinutesRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listSecondsRef: Ref<Nullable<HTMLElement>> = ref(null)\n const listRefsMap = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n }\n\n // computed\n const spinnerItems = computed(() => {\n const arr = ['hours', 'minutes', 'seconds']\n return props.showSeconds ? arr : arr.slice(0, 2)\n })\n const hours = computed(() => {\n return props.spinnerDate.hour()\n })\n const minutes = computed(() => {\n return props.spinnerDate.minute()\n })\n const seconds = computed(() => {\n return props.spinnerDate.second()\n })\n const timePartsMap = computed(() => ({\n hours,\n minutes,\n seconds,\n }))\n const hoursList = computed(() => {\n return getHoursList(props.role)\n })\n const minutesList = computed(() => {\n return getMinutesList(hours.value, props.role)\n })\n const secondsList = computed(() => {\n return getSecondsList(hours.value, minutes.value, props.role)\n })\n const listMap = computed(() => ({\n hours: hoursList,\n minutes: minutesList,\n seconds: secondsList,\n }))\n const arrowHourList = computed(() => {\n const hour = hours.value\n return [\n hour > 0 ? hour - 1 : undefined,\n hour,\n hour < 23 ? hour + 1 : undefined,\n ]\n })\n const arrowMinuteList = computed(() => {\n const minute = minutes.value\n return [\n minute > 0 ? minute - 1 : undefined,\n minute,\n minute < 59 ? minute + 1 : undefined,\n ]\n })\n const arrowSecondList = computed(() => {\n const second = seconds.value\n return [\n second > 0 ? second - 1 : undefined,\n second,\n second < 59 ? second + 1 : undefined,\n ]\n })\n const arrowListMap = computed(() => ({\n hours: arrowHourList,\n minutes: arrowMinuteList,\n seconds: arrowSecondList,\n }))\n const getAmPmFlag = (hour) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n }\n\n const emitSelectRange = (type) => {\n if (type === 'hours') {\n ctx.emit('select-range', 0, 2)\n } else if (type === 'minutes') {\n ctx.emit('select-range', 3, 5)\n } else if (type === 'seconds') {\n ctx.emit('select-range', 6, 8)\n }\n currentScrollbar.value = type\n }\n\n const adjustCurrentSpinner = (type) => {\n adjustSpinner(type, timePartsMap.value[type].value)\n }\n\n // NOTE: used by datetime / date-range panel\n // renamed from adjustScrollTop\n // should try to refactory it\n const adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n }\n\n const getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\n const adjustSpinner = (type, value) => {\n if (props.arrowControl) return\n const el = listRefsMap[type]\n if (el && el.$el) {\n getScrollbarElement(el.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n }\n\n const typeItemHeight = (type) => {\n const el = listRefsMap[type]\n return el.$el.querySelector('li').offsetHeight\n }\n\n const onIncreaseClick = () => {\n scrollDown(1)\n }\n\n const onDecreaseClick = () => {\n scrollDown(-1)\n }\n\n const scrollDown = (step) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value\n let now = timePartsMap.value[label].value\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n now = (now + step + total) % total\n\n modifyDateField(label, now)\n adjustSpinner(label, now)\n nextTick(() => emitSelectRange(currentScrollbar.value))\n }\n\n const modifyDateField = (type, value) => {\n const list = listMap.value[type].value\n const isDisabled = list[value]\n if (isDisabled) return\n switch (type) {\n case 'hours':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(value)\n .minute(minutes.value)\n .second(seconds.value)\n )\n break\n case 'minutes':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(value)\n .second(seconds.value)\n )\n break\n case 'seconds':\n ctx.emit(\n 'change',\n props.spinnerDate\n .hour(hours.value)\n .minute(minutes.value)\n .second(value)\n )\n break\n }\n }\n\n const handleClick = (type, { value, disabled }) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n }\n\n const handleScroll = (type) => {\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(listRefsMap[type].$el).scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n }\n\n const scrollBarHeight = (type) => {\n return listRefsMap[type].$el.offsetHeight\n }\n\n const bindScrollEvent = () => {\n const bindFunction = (type) => {\n if (listRefsMap[type] && listRefsMap[type].$el) {\n getScrollbarElement(listRefsMap[type].$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n }\n\n onMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n })\n\n const setRef = (scrollbar, type) => {\n listRefsMap[type] = scrollbar\n }\n\n ctx.emit('set-option', [`${props.role}_scrollDown`, scrollDown])\n ctx.emit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n )\n\n watch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n )\n\n return {\n ns,\n\n setRef,\n spinnerItems,\n currentScrollbar,\n hours,\n minutes,\n seconds,\n hoursList,\n minutesList,\n arrowHourList,\n arrowMinuteList,\n arrowSecondList,\n getAmPmFlag,\n emitSelectRange,\n adjustCurrentSpinner,\n typeItemHeight,\n listHoursRef,\n listMinutesRef,\n listSecondsRef,\n onIncreaseClick,\n onDecreaseClick,\n handleClick,\n secondsList,\n timePartsMap,\n arrowListMap,\n listMap,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_openBlock","_Fragment","_renderList","_createBlock","_createTextVNode","_toDisplayString","_createVNode","_withDirectives","_createElementVNode"],"mappings":"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"}
|
|
@@ -29,6 +29,20 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
29
29
|
type: FunctionConstructor;
|
|
30
30
|
};
|
|
31
31
|
}, {
|
|
32
|
+
ns: {
|
|
33
|
+
namespace: import("vue").ComputedRef<string>;
|
|
34
|
+
b: (blockSuffix?: string) => string;
|
|
35
|
+
e: (element?: string | undefined) => string;
|
|
36
|
+
m: (modifier?: string | undefined) => string;
|
|
37
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
38
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
39
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
40
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
41
|
+
is: {
|
|
42
|
+
(name: string, state: boolean | undefined): string;
|
|
43
|
+
(name: string): string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
32
46
|
setRef: (scrollbar: any, type: any) => void;
|
|
33
47
|
spinnerItems: import("vue").ComputedRef<string[]>;
|
|
34
48
|
currentScrollbar: Ref<null>;
|