@element-plus/nightly 0.0.20230830 → 0.0.20230914
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 +480 -368
- package/dist/index.full.min.js +18 -18
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +18 -18
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +480 -368
- 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/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/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 +5 -5
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.js.map +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.min.mjs.map +1 -1
- package/dist/locale/nl.mjs +5 -5
- 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 +12 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +12 -1
- package/es/components/button/index.d.ts +1 -1
- package/es/components/button/src/button.vue.d.ts +1 -1
- package/es/components/calendar/index.d.ts +1 -1
- package/es/components/calendar/src/calendar.vue.d.ts +1 -1
- package/es/components/cascader/index.d.ts +24 -2
- package/es/components/cascader/src/cascader.vue.d.ts +12 -1
- package/es/components/collapse/src/collapse-item2.mjs +24 -30
- package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
- package/es/components/collapse/src/collapse2.mjs +1 -3
- package/es/components/collapse/src/collapse2.mjs.map +1 -1
- package/es/components/color-picker/index.d.ts +5 -1
- package/es/components/color-picker/src/color-picker.vue.d.ts +5 -1
- package/es/components/color-picker/src/color-picker2.mjs +4 -3
- package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
- package/es/components/date-picker/src/composables/use-basic-date-table.d.ts +246 -0
- package/es/components/date-picker/src/composables/use-basic-date-table.mjs +352 -0
- package/es/components/date-picker/src/composables/use-basic-date-table.mjs.map +1 -0
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +38 -310
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +93 -354
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +27 -281
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs +24 -12
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +27 -281
- package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs +1 -0
- package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
- package/es/components/date-picker/src/panel-utils.d.ts +54 -562
- package/es/components/date-picker/src/props/basic-date-table.d.ts +2 -0
- package/es/components/date-picker/src/props/basic-date-table.mjs +2 -1
- package/es/components/date-picker/src/props/basic-date-table.mjs.map +1 -1
- package/es/components/date-picker/src/props/panel-month-range.mjs +5 -1
- package/es/components/date-picker/src/props/panel-month-range.mjs.map +1 -1
- package/es/components/image/index.d.ts +4 -1
- package/es/components/image/src/image.vue.d.ts +4 -1
- package/es/components/image-viewer/index.d.ts +4 -1
- package/es/components/image-viewer/src/image-viewer.d.ts +1 -0
- package/es/components/image-viewer/src/image-viewer.mjs +2 -1
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -1
- package/es/components/image-viewer/src/image-viewer2.mjs +2 -0
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/input/index.d.ts +4 -0
- package/es/components/input/src/input.d.ts +1 -0
- package/es/components/input/src/input.mjs +4 -0
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input.vue.d.ts +4 -0
- package/es/components/input/src/input2.mjs +4 -2
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/index.d.ts +12 -1
- package/es/components/input-number/src/input-number.vue.d.ts +12 -1
- package/es/components/pagination/index.d.ts +3 -0
- package/es/components/pagination/src/components/jumper.vue.d.ts +4 -0
- package/es/components/pagination/src/components/sizes.d.ts +1 -0
- package/es/components/pagination/src/components/sizes.mjs +1 -0
- package/es/components/pagination/src/components/sizes.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.vue.d.ts +4 -0
- package/es/components/pagination/src/components/sizes2.mjs +2 -1
- package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.d.ts +4 -0
- package/es/components/pagination/src/pagination.mjs +5 -0
- package/es/components/pagination/src/pagination.mjs.map +1 -1
- package/es/components/popconfirm/index.d.ts +1 -1
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
- package/es/components/result/index.mjs +2 -2
- package/es/components/result/src/result.mjs +63 -29
- package/es/components/result/src/result.mjs.map +1 -1
- package/es/components/result/src/result2.mjs +29 -63
- package/es/components/result/src/result2.mjs.map +1 -1
- package/es/components/select/src/useSelect.mjs +1 -1
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/slider/index.d.ts +12 -1
- package/es/components/slider/src/slider.vue.d.ts +12 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +4 -0
- package/es/components/transfer/index.d.ts +21 -1
- package/es/components/transfer/src/transfer-panel.vue.d.ts +4 -0
- package/es/components/transfer/src/transfer.vue.d.ts +21 -1
- package/es/components/upload/index.d.ts +57 -54
- package/es/components/upload/src/upload-content.d.ts +1 -1
- package/es/components/upload/src/upload-content.vue.d.ts +20 -18
- package/es/components/upload/src/upload-content2.mjs +17 -5
- package/es/components/upload/src/upload-content2.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +4 -3
- package/es/components/upload/src/upload.mjs +1 -1
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/upload.vue.d.ts +57 -54
- package/es/components/upload/src/use-handlers.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/locale/lang/nl.mjs +4 -4
- package/es/locale/lang/nl.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 +12 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +12 -1
- package/lib/components/button/index.d.ts +1 -1
- package/lib/components/button/src/button.vue.d.ts +1 -1
- package/lib/components/calendar/index.d.ts +1 -1
- package/lib/components/calendar/src/calendar.vue.d.ts +1 -1
- package/lib/components/cascader/index.d.ts +24 -2
- package/lib/components/cascader/src/cascader.vue.d.ts +12 -1
- package/lib/components/collapse/src/collapse-item2.js +24 -30
- package/lib/components/collapse/src/collapse-item2.js.map +1 -1
- package/lib/components/collapse/src/collapse2.js +1 -3
- package/lib/components/collapse/src/collapse2.js.map +1 -1
- package/lib/components/color-picker/index.d.ts +5 -1
- package/lib/components/color-picker/src/color-picker.vue.d.ts +5 -1
- package/lib/components/color-picker/src/color-picker2.js +4 -3
- package/lib/components/color-picker/src/color-picker2.js.map +1 -1
- package/lib/components/date-picker/src/composables/use-basic-date-table.d.ts +246 -0
- package/lib/components/date-picker/src/composables/use-basic-date-table.js +361 -0
- package/lib/components/date-picker/src/composables/use-basic-date-table.js.map +1 -0
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +36 -312
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +93 -354
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +27 -281
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js +24 -12
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +27 -281
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.js +1 -0
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
- package/lib/components/date-picker/src/panel-utils.d.ts +54 -562
- package/lib/components/date-picker/src/props/basic-date-table.d.ts +2 -0
- package/lib/components/date-picker/src/props/basic-date-table.js +2 -0
- package/lib/components/date-picker/src/props/basic-date-table.js.map +1 -1
- package/lib/components/date-picker/src/props/panel-month-range.js +5 -1
- package/lib/components/date-picker/src/props/panel-month-range.js.map +1 -1
- package/lib/components/image/index.d.ts +4 -1
- package/lib/components/image/src/image.vue.d.ts +4 -1
- package/lib/components/image-viewer/index.d.ts +4 -1
- package/lib/components/image-viewer/src/image-viewer.d.ts +1 -0
- package/lib/components/image-viewer/src/image-viewer.js +2 -1
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -1
- package/lib/components/image-viewer/src/image-viewer2.js +2 -0
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/input/index.d.ts +4 -0
- package/lib/components/input/src/input.d.ts +1 -0
- package/lib/components/input/src/input.js +4 -0
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input.vue.d.ts +4 -0
- package/lib/components/input/src/input2.js +4 -2
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/index.d.ts +12 -1
- package/lib/components/input-number/src/input-number.vue.d.ts +12 -1
- package/lib/components/pagination/index.d.ts +3 -0
- package/lib/components/pagination/src/components/jumper.vue.d.ts +4 -0
- package/lib/components/pagination/src/components/sizes.d.ts +1 -0
- package/lib/components/pagination/src/components/sizes.js +1 -0
- package/lib/components/pagination/src/components/sizes.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.vue.d.ts +4 -0
- package/lib/components/pagination/src/components/sizes2.js +2 -1
- package/lib/components/pagination/src/components/sizes2.js.map +1 -1
- package/lib/components/pagination/src/pagination.d.ts +4 -0
- package/lib/components/pagination/src/pagination.js +5 -0
- package/lib/components/pagination/src/pagination.js.map +1 -1
- package/lib/components/popconfirm/index.d.ts +1 -1
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
- package/lib/components/result/index.js +2 -2
- package/lib/components/result/src/result.js +63 -31
- package/lib/components/result/src/result.js.map +1 -1
- package/lib/components/result/src/result2.js +31 -63
- package/lib/components/result/src/result2.js.map +1 -1
- package/lib/components/select/src/useSelect.js +1 -1
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/slider/index.d.ts +12 -1
- package/lib/components/slider/src/slider.vue.d.ts +12 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +4 -0
- package/lib/components/transfer/index.d.ts +21 -1
- package/lib/components/transfer/src/transfer-panel.vue.d.ts +4 -0
- package/lib/components/transfer/src/transfer.vue.d.ts +21 -1
- package/lib/components/upload/index.d.ts +57 -54
- package/lib/components/upload/src/upload-content.d.ts +1 -1
- package/lib/components/upload/src/upload-content.vue.d.ts +20 -18
- package/lib/components/upload/src/upload-content2.js +16 -4
- package/lib/components/upload/src/upload-content2.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +4 -3
- package/lib/components/upload/src/upload.js +1 -1
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +57 -54
- package/lib/components/upload/src/use-handlers.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/locale/lang/nl.js +4 -4
- package/lib/locale/lang/nl.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 +2 -2
- package/tags.json +1 -1
- package/theme-chalk/el-collapse.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/collapse.scss +3 -0
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-picker2.mjs","sources":["../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n :visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), ns.b('dropdown'), popperClass]\"\n :stop-popper-mouse-event=\"false\"\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n >\n <template #content>\n <div v-click-outside=\"hide\">\n <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n <sv-panel ref=\"sv\" :color=\"color\" />\n </div>\n <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n <predefine\n v-if=\"predefine\"\n ref=\"predefine\"\n :color=\"color\"\n :colors=\"predefine\"\n />\n <div :class=\"ns.be('dropdown', 'btns')\">\n <span :class=\"ns.be('dropdown', 'value')\">\n <el-input\n v-model=\"customInput\"\n :validate-event=\"false\"\n size=\"small\"\n @keyup.enter=\"handleConfirm\"\n @blur=\"handleConfirm\"\n />\n </span>\n <el-button\n :class=\"ns.be('dropdown', 'link-btn')\"\n text\n size=\"small\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('dropdown', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </div>\n </template>\n <template #default>\n <div\n :id=\"buttonId\"\n :class=\"btnKls\"\n role=\"button\"\n :aria-label=\"buttonAriaLabel\"\n :aria-labelledby=\"buttonAriaLabelledby\"\n :aria-description=\"\n t('el.colorpicker.description', { color: modelValue || '' })\n \"\n :tabindex=\"tabindex\"\n @keydown.enter=\"handleTrigger\"\n >\n <div v-if=\"colorDisabled\" :class=\"ns.be('picker', 'mask')\" />\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-if=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { ElInput } from '@element-plus/components/input'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn } from '@element-plus/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './utils/color'\nimport {\n colorPickerContextKey,\n colorPickerEmits,\n colorPickerProps,\n} from './color-picker'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElColorPicker',\n})\nconst props = defineProps(colorPickerProps)\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\n\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst hue = ref<InstanceType<typeof HueSlider>>()\nconst sv = ref<InstanceType<typeof SvPanel>>()\nconst alpha = ref<InstanceType<typeof AlphaSlider>>()\nconst popper = ref<TooltipInstance>()\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n) as Color\n\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\nconst customInput = ref('')\n\nconst displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n return !isLabeledByFormItem.value\n ? props.label || t('el.colorpicker.defaultLabel')\n : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n return [\n ns.b('picker'),\n ns.is('disabled', colorDisabled.value),\n ns.bm('picker', colorSize.value),\n ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n if (!(color instanceof Color)) {\n throw new TypeError('color should be instance of _color Class')\n }\n\n const { r, g, b } = color.toRgb()\n return showAlpha\n ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100)\n\nfunction show() {\n if (colorDisabled.value) return\n setShowPicker(true)\n}\n\nfunction hide() {\n debounceSetShowPicker(false)\n resetColor()\n}\n\nfunction resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n color.value = ''\n nextTick(() => {\n showPanelColor.value = false\n })\n }\n })\n}\n\nfunction handleTrigger() {\n if (colorDisabled.value) return\n debounceSetShowPicker(!showPicker.value)\n}\n\nfunction handleConfirm() {\n color.fromString(customInput.value)\n}\n\nfunction confirmValue() {\n const value = color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit('change', value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n}\n\nfunction clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, null)\n emit('change', null)\n if (props.modelValue !== null && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n resetColor()\n}\n\nonMounted(() => {\n if (props.modelValue) {\n customInput.value = currentColor.value\n }\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n shouldActiveChange = false\n color.fromString(newVal)\n }\n }\n)\n\nwatch(\n () => currentColor.value,\n (val) => {\n customInput.value = val\n shouldActiveChange && emit('activeChange', val)\n shouldActiveChange = true\n }\n)\n\nwatch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n)\n\nwatch(\n () => showPicker.value,\n () => {\n nextTick(() => {\n hue.value?.update()\n sv.value?.update()\n alpha.value?.update()\n })\n }\n)\n\nprovide(colorPickerContextKey, {\n currentColor,\n})\n\ndefineExpose({\n /**\n * @description current color object\n */\n color,\n /**\n * @description manually show ColorPicker\n */\n show,\n /**\n * @description manually hide ColorPicker\n */\n hide,\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"color-picker2.mjs","sources":["../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popper\"\n :visible=\"showPicker\"\n :show-arrow=\"false\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :offset=\"0\"\n :gpu-acceleration=\"false\"\n :popper-class=\"[ns.be('picker', 'panel'), ns.b('dropdown'), popperClass]\"\n :stop-popper-mouse-event=\"false\"\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n >\n <template #content>\n <div v-click-outside=\"hide\">\n <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n <sv-panel ref=\"sv\" :color=\"color\" />\n </div>\n <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n <predefine\n v-if=\"predefine\"\n ref=\"predefine\"\n :color=\"color\"\n :colors=\"predefine\"\n />\n <div :class=\"ns.be('dropdown', 'btns')\">\n <span :class=\"ns.be('dropdown', 'value')\">\n <el-input\n v-model=\"customInput\"\n :validate-event=\"false\"\n size=\"small\"\n @keyup.enter=\"handleConfirm\"\n @blur=\"handleConfirm\"\n />\n </span>\n <el-button\n :class=\"ns.be('dropdown', 'link-btn')\"\n text\n size=\"small\"\n @click=\"clear\"\n >\n {{ t('el.colorpicker.clear') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n :class=\"ns.be('dropdown', 'btn')\"\n @click=\"confirmValue\"\n >\n {{ t('el.colorpicker.confirm') }}\n </el-button>\n </div>\n </div>\n </template>\n <template #default>\n <div\n :id=\"buttonId\"\n :class=\"btnKls\"\n role=\"button\"\n :aria-label=\"buttonAriaLabel\"\n :aria-labelledby=\"buttonAriaLabelledby\"\n :aria-description=\"\n t('el.colorpicker.description', { color: modelValue || '' })\n \"\n :tabindex=\"tabindex\"\n @keydown.enter=\"handleTrigger\"\n >\n <div v-if=\"colorDisabled\" :class=\"ns.be('picker', 'mask')\" />\n <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n <span\n :class=\"ns.be('picker', 'color-inner')\"\n :style=\"{\n backgroundColor: displayedColor,\n }\"\n >\n <el-icon\n v-show=\"modelValue || showPanelColor\"\n :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n >\n <arrow-down />\n </el-icon>\n <el-icon\n v-show=\"!modelValue && !showPanelColor\"\n :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n >\n <close />\n </el-icon>\n </span>\n </span>\n </div>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { ElButton } from '@element-plus/components/button'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { ElInput } from '@element-plus/components/input'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn } from '@element-plus/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './utils/color'\nimport {\n colorPickerContextKey,\n colorPickerEmits,\n colorPickerProps,\n} from './color-picker'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElColorPicker',\n})\nconst props = defineProps(colorPickerProps)\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\n\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst hue = ref<InstanceType<typeof HueSlider>>()\nconst sv = ref<InstanceType<typeof SvPanel>>()\nconst alpha = ref<InstanceType<typeof AlphaSlider>>()\nconst popper = ref<TooltipInstance>()\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n) as Color\n\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\nconst customInput = ref('')\n\nconst displayedColor = computed(() => {\n if (!props.modelValue && !showPanelColor.value) {\n return 'transparent'\n }\n return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n return !isLabeledByFormItem.value\n ? props.label || t('el.colorpicker.defaultLabel')\n : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n return [\n ns.b('picker'),\n ns.is('disabled', colorDisabled.value),\n ns.bm('picker', colorSize.value),\n ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n if (!(color instanceof Color)) {\n throw new TypeError('color should be instance of _color Class')\n }\n\n const { r, g, b } = color.toRgb()\n return showAlpha\n ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100)\n\nfunction show() {\n if (colorDisabled.value) return\n setShowPicker(true)\n}\n\nfunction hide() {\n debounceSetShowPicker(false)\n resetColor()\n}\n\nfunction resetColor() {\n nextTick(() => {\n if (props.modelValue) {\n color.fromString(props.modelValue)\n } else {\n color.value = ''\n nextTick(() => {\n showPanelColor.value = false\n })\n }\n })\n}\n\nfunction handleTrigger() {\n if (colorDisabled.value) return\n debounceSetShowPicker(!showPicker.value)\n}\n\nfunction handleConfirm() {\n color.fromString(customInput.value)\n}\n\nfunction confirmValue() {\n const value = color.value\n emit(UPDATE_MODEL_EVENT, value)\n emit('change', value)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n debounceSetShowPicker(false)\n // check if modelValue change, if not change, then reset color.\n nextTick(() => {\n const newColor = new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n if (!color.compare(newColor)) {\n resetColor()\n }\n })\n}\n\nfunction clear() {\n debounceSetShowPicker(false)\n emit(UPDATE_MODEL_EVENT, null)\n emit('change', null)\n if (props.modelValue !== null && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n resetColor()\n}\n\nonMounted(() => {\n if (props.modelValue) {\n customInput.value = currentColor.value\n }\n})\n\nwatch(\n () => props.modelValue,\n (newVal) => {\n if (!newVal) {\n showPanelColor.value = false\n } else if (newVal && newVal !== color.value) {\n shouldActiveChange = false\n color.fromString(newVal)\n }\n }\n)\n\nwatch(\n () => currentColor.value,\n (val) => {\n customInput.value = val\n shouldActiveChange && emit('activeChange', val)\n shouldActiveChange = true\n }\n)\n\nwatch(\n () => color.value,\n () => {\n if (!props.modelValue && !showPanelColor.value) {\n showPanelColor.value = true\n }\n }\n)\n\nwatch(\n () => showPicker.value,\n () => {\n nextTick(() => {\n hue.value?.update()\n sv.value?.update()\n alpha.value?.update()\n })\n }\n)\n\nprovide(colorPickerContextKey, {\n currentColor,\n})\n\ndefineExpose({\n /**\n * @description current color object\n */\n color,\n /**\n * @description manually show ColorPicker\n */\n show,\n /**\n * @description manually hide ColorPicker\n */\n hide,\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import type { SetupContext } from 'vue';
|
|
3
|
+
import type { DateCell } from '../date-picker.type';
|
|
4
|
+
import type { BasicDateTableEmits, BasicDateTableProps } from '../props/basic-date-table';
|
|
5
|
+
export declare const useBasicDateTable: (props: BasicDateTableProps, emit: SetupContext<BasicDateTableEmits>['emit']) => {
|
|
6
|
+
WEEKS: import("vue").ComputedRef<string[]>;
|
|
7
|
+
rows: import("vue").ComputedRef<{
|
|
8
|
+
column?: number | undefined;
|
|
9
|
+
customClass?: string | undefined;
|
|
10
|
+
disabled?: boolean | undefined;
|
|
11
|
+
end?: boolean | undefined;
|
|
12
|
+
inRange?: boolean | undefined;
|
|
13
|
+
row?: number | undefined;
|
|
14
|
+
selected?: {
|
|
15
|
+
clone: () => dayjs.Dayjs;
|
|
16
|
+
isValid: () => boolean;
|
|
17
|
+
year: {
|
|
18
|
+
(): number;
|
|
19
|
+
(value: number): dayjs.Dayjs;
|
|
20
|
+
};
|
|
21
|
+
month: {
|
|
22
|
+
(): number;
|
|
23
|
+
(value: number): dayjs.Dayjs;
|
|
24
|
+
};
|
|
25
|
+
date: {
|
|
26
|
+
(): number;
|
|
27
|
+
(value: number): dayjs.Dayjs;
|
|
28
|
+
};
|
|
29
|
+
day: {
|
|
30
|
+
(): number;
|
|
31
|
+
(value: number): dayjs.Dayjs;
|
|
32
|
+
};
|
|
33
|
+
hour: {
|
|
34
|
+
(): number;
|
|
35
|
+
(value: number): dayjs.Dayjs;
|
|
36
|
+
};
|
|
37
|
+
minute: {
|
|
38
|
+
(): number;
|
|
39
|
+
(value: number): dayjs.Dayjs;
|
|
40
|
+
};
|
|
41
|
+
second: {
|
|
42
|
+
(): number;
|
|
43
|
+
(value: number): dayjs.Dayjs;
|
|
44
|
+
};
|
|
45
|
+
millisecond: {
|
|
46
|
+
(): number;
|
|
47
|
+
(value: number): dayjs.Dayjs;
|
|
48
|
+
};
|
|
49
|
+
set: (unit: dayjs.UnitType, value: number) => dayjs.Dayjs;
|
|
50
|
+
get: (unit: dayjs.UnitType) => number;
|
|
51
|
+
add: (value: number, unit?: dayjs.ManipulateType | undefined) => dayjs.Dayjs;
|
|
52
|
+
subtract: (value: number, unit?: dayjs.ManipulateType | undefined) => dayjs.Dayjs;
|
|
53
|
+
startOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs;
|
|
54
|
+
endOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs;
|
|
55
|
+
format: (template?: string | undefined) => string;
|
|
56
|
+
diff: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
57
|
+
valueOf: () => number;
|
|
58
|
+
unix: () => number;
|
|
59
|
+
daysInMonth: () => number;
|
|
60
|
+
toDate: () => Date;
|
|
61
|
+
toJSON: () => string;
|
|
62
|
+
toISOString: () => string;
|
|
63
|
+
toString: () => string;
|
|
64
|
+
utcOffset: () => number;
|
|
65
|
+
isBefore: (date: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean;
|
|
66
|
+
isSame: (date: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean;
|
|
67
|
+
isAfter: (date: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean;
|
|
68
|
+
locale: {
|
|
69
|
+
(): string;
|
|
70
|
+
(preset: string | ILocale, object?: Partial<ILocale> | undefined): dayjs.Dayjs;
|
|
71
|
+
};
|
|
72
|
+
localeData: () => dayjs.InstanceLocaleDataReturn;
|
|
73
|
+
week: {
|
|
74
|
+
(): number;
|
|
75
|
+
(value: number): dayjs.Dayjs;
|
|
76
|
+
};
|
|
77
|
+
weekYear: () => number;
|
|
78
|
+
dayOfYear: {
|
|
79
|
+
(): number;
|
|
80
|
+
(value: number): dayjs.Dayjs;
|
|
81
|
+
};
|
|
82
|
+
isSameOrAfter: (date: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean;
|
|
83
|
+
isSameOrBefore: (date: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean;
|
|
84
|
+
} | undefined;
|
|
85
|
+
isCurrent?: boolean | undefined;
|
|
86
|
+
isSelected?: boolean | undefined;
|
|
87
|
+
start?: boolean | undefined;
|
|
88
|
+
text?: number | undefined;
|
|
89
|
+
timestamp?: number | undefined;
|
|
90
|
+
date?: {
|
|
91
|
+
toString: () => string;
|
|
92
|
+
toDateString: () => string;
|
|
93
|
+
toTimeString: () => string;
|
|
94
|
+
toLocaleString: {
|
|
95
|
+
(): string;
|
|
96
|
+
(locales?: string | string[] | undefined, options?: Intl.DateTimeFormatOptions | undefined): string;
|
|
97
|
+
};
|
|
98
|
+
toLocaleDateString: {
|
|
99
|
+
(): string;
|
|
100
|
+
(locales?: string | string[] | undefined, options?: Intl.DateTimeFormatOptions | undefined): string;
|
|
101
|
+
};
|
|
102
|
+
toLocaleTimeString: {
|
|
103
|
+
(): string;
|
|
104
|
+
(locales?: string | string[] | undefined, options?: Intl.DateTimeFormatOptions | undefined): string;
|
|
105
|
+
};
|
|
106
|
+
valueOf: () => number;
|
|
107
|
+
getTime: () => number;
|
|
108
|
+
getFullYear: () => number;
|
|
109
|
+
getUTCFullYear: () => number;
|
|
110
|
+
getMonth: () => number;
|
|
111
|
+
getUTCMonth: () => number;
|
|
112
|
+
getDate: () => number;
|
|
113
|
+
getUTCDate: () => number;
|
|
114
|
+
getDay: () => number;
|
|
115
|
+
getUTCDay: () => number;
|
|
116
|
+
getHours: () => number;
|
|
117
|
+
getUTCHours: () => number;
|
|
118
|
+
getMinutes: () => number;
|
|
119
|
+
getUTCMinutes: () => number;
|
|
120
|
+
getSeconds: () => number;
|
|
121
|
+
getUTCSeconds: () => number;
|
|
122
|
+
getMilliseconds: () => number;
|
|
123
|
+
getUTCMilliseconds: () => number;
|
|
124
|
+
getTimezoneOffset: () => number;
|
|
125
|
+
setTime: (time: number) => number;
|
|
126
|
+
setMilliseconds: (ms: number) => number;
|
|
127
|
+
setUTCMilliseconds: (ms: number) => number;
|
|
128
|
+
setSeconds: (sec: number, ms?: number | undefined) => number;
|
|
129
|
+
setUTCSeconds: (sec: number, ms?: number | undefined) => number;
|
|
130
|
+
setMinutes: (min: number, sec?: number | undefined, ms?: number | undefined) => number;
|
|
131
|
+
setUTCMinutes: (min: number, sec?: number | undefined, ms?: number | undefined) => number;
|
|
132
|
+
setHours: (hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => number;
|
|
133
|
+
setUTCHours: (hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => number;
|
|
134
|
+
setDate: (date: number) => number;
|
|
135
|
+
setUTCDate: (date: number) => number;
|
|
136
|
+
setMonth: (month: number, date?: number | undefined) => number;
|
|
137
|
+
setUTCMonth: (month: number, date?: number | undefined) => number;
|
|
138
|
+
setFullYear: (year: number, month?: number | undefined, date?: number | undefined) => number;
|
|
139
|
+
setUTCFullYear: (year: number, month?: number | undefined, date?: number | undefined) => number;
|
|
140
|
+
toUTCString: () => string;
|
|
141
|
+
toISOString: () => string;
|
|
142
|
+
toJSON: (key?: any) => string;
|
|
143
|
+
[Symbol.toPrimitive]: {
|
|
144
|
+
(hint: "default"): string;
|
|
145
|
+
(hint: "string"): string;
|
|
146
|
+
(hint: "number"): number;
|
|
147
|
+
(hint: string): string | number;
|
|
148
|
+
};
|
|
149
|
+
} | undefined;
|
|
150
|
+
dayjs?: {
|
|
151
|
+
clone: () => dayjs.Dayjs;
|
|
152
|
+
isValid: () => boolean;
|
|
153
|
+
year: {
|
|
154
|
+
(): number;
|
|
155
|
+
(value: number): dayjs.Dayjs;
|
|
156
|
+
};
|
|
157
|
+
month: {
|
|
158
|
+
(): number;
|
|
159
|
+
(value: number): dayjs.Dayjs;
|
|
160
|
+
};
|
|
161
|
+
date: {
|
|
162
|
+
(): number;
|
|
163
|
+
(value: number): dayjs.Dayjs;
|
|
164
|
+
};
|
|
165
|
+
day: {
|
|
166
|
+
(): number;
|
|
167
|
+
(value: number): dayjs.Dayjs;
|
|
168
|
+
};
|
|
169
|
+
hour: {
|
|
170
|
+
(): number;
|
|
171
|
+
(value: number): dayjs.Dayjs;
|
|
172
|
+
};
|
|
173
|
+
minute: {
|
|
174
|
+
(): number;
|
|
175
|
+
(value: number): dayjs.Dayjs;
|
|
176
|
+
};
|
|
177
|
+
second: {
|
|
178
|
+
(): number;
|
|
179
|
+
(value: number): dayjs.Dayjs;
|
|
180
|
+
};
|
|
181
|
+
millisecond: {
|
|
182
|
+
(): number;
|
|
183
|
+
(value: number): dayjs.Dayjs;
|
|
184
|
+
};
|
|
185
|
+
set: (unit: dayjs.UnitType, value: number) => dayjs.Dayjs;
|
|
186
|
+
get: (unit: dayjs.UnitType) => number;
|
|
187
|
+
add: (value: number, unit?: dayjs.ManipulateType | undefined) => dayjs.Dayjs;
|
|
188
|
+
subtract: (value: number, unit?: dayjs.ManipulateType | undefined) => dayjs.Dayjs;
|
|
189
|
+
startOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs;
|
|
190
|
+
endOf: (unit: dayjs.OpUnitType) => dayjs.Dayjs;
|
|
191
|
+
format: (template?: string | undefined) => string;
|
|
192
|
+
diff: (date?: string | number | Date | dayjs.Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "m" | "s" | "day" | "hour" | "minute" | "second" | "millisecond" | "hours" | "minutes" | "seconds" | "milliseconds" | "days" | "years" | "d" | "h" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
|
|
193
|
+
valueOf: () => number;
|
|
194
|
+
unix: () => number;
|
|
195
|
+
daysInMonth: () => number;
|
|
196
|
+
toDate: () => Date;
|
|
197
|
+
toJSON: () => string;
|
|
198
|
+
toISOString: () => string;
|
|
199
|
+
toString: () => string;
|
|
200
|
+
utcOffset: () => number;
|
|
201
|
+
isBefore: (date: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean;
|
|
202
|
+
isSame: (date: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean;
|
|
203
|
+
isAfter: (date: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean;
|
|
204
|
+
locale: {
|
|
205
|
+
(): string;
|
|
206
|
+
(preset: string | ILocale, object?: Partial<ILocale> | undefined): dayjs.Dayjs;
|
|
207
|
+
};
|
|
208
|
+
localeData: () => dayjs.InstanceLocaleDataReturn;
|
|
209
|
+
week: {
|
|
210
|
+
(): number;
|
|
211
|
+
(value: number): dayjs.Dayjs;
|
|
212
|
+
};
|
|
213
|
+
weekYear: () => number;
|
|
214
|
+
dayOfYear: {
|
|
215
|
+
(): number;
|
|
216
|
+
(value: number): dayjs.Dayjs;
|
|
217
|
+
};
|
|
218
|
+
isSameOrAfter: (date: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean;
|
|
219
|
+
isSameOrBefore: (date: string | number | Date | dayjs.Dayjs | null | undefined, unit?: dayjs.OpUnitType | undefined) => boolean;
|
|
220
|
+
} | undefined;
|
|
221
|
+
type?: ("week" | "normal" | "prev-month" | "next-month" | "today") | undefined;
|
|
222
|
+
}[][]>;
|
|
223
|
+
tbodyRef: import("vue").Ref<HTMLElement | undefined>;
|
|
224
|
+
currentCellRef: import("vue").Ref<HTMLElement | undefined>;
|
|
225
|
+
focus: () => Promise<void | undefined>;
|
|
226
|
+
isCurrent: (cell: DateCell) => boolean;
|
|
227
|
+
isWeekActive: (cell: DateCell) => boolean;
|
|
228
|
+
isSelectedCell: (cell: DateCell) => boolean | undefined;
|
|
229
|
+
handlePickDate: (event: FocusEvent | MouseEvent, isKeyboardMovement?: boolean) => void;
|
|
230
|
+
handleMouseUp: (event: MouseEvent) => void;
|
|
231
|
+
handleMouseDown: (event: MouseEvent) => void;
|
|
232
|
+
handleMouseMove: (event: MouseEvent) => void;
|
|
233
|
+
handleFocus: (event: FocusEvent) => void;
|
|
234
|
+
};
|
|
235
|
+
export declare const useBasicDateTableDOM: (props: BasicDateTableProps, { isCurrent, isWeekActive, }: Pick<ReturnType<typeof useBasicDateTable>, 'isCurrent' | 'isWeekActive'>) => {
|
|
236
|
+
tableKls: import("vue").ComputedRef<(string | {
|
|
237
|
+
'is-week-mode': boolean;
|
|
238
|
+
})[]>;
|
|
239
|
+
tableLabel: import("vue").ComputedRef<string>;
|
|
240
|
+
weekLabel: import("vue").ComputedRef<string>;
|
|
241
|
+
getCellClasses: (cell: DateCell) => string;
|
|
242
|
+
getRowKls: (cell: DateCell) => (string | {
|
|
243
|
+
current: boolean;
|
|
244
|
+
})[];
|
|
245
|
+
t: import("@element-plus/nightly/es/hooks").Translator;
|
|
246
|
+
};
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
import { ref, computed, unref, watch, nextTick } from 'vue';
|
|
2
|
+
import dayjs from 'dayjs';
|
|
3
|
+
import { flatten } from 'lodash-unified';
|
|
4
|
+
import '../../../../hooks/index.mjs';
|
|
5
|
+
import '../../../../utils/index.mjs';
|
|
6
|
+
import { buildPickerTable } from '../utils.mjs';
|
|
7
|
+
import { useLocale } from '../../../../hooks/use-locale/index.mjs';
|
|
8
|
+
import { castArray } from '../../../../utils/arrays.mjs';
|
|
9
|
+
import { useNamespace } from '../../../../hooks/use-namespace/index.mjs';
|
|
10
|
+
|
|
11
|
+
const isNormalDay = (type = "") => {
|
|
12
|
+
return ["normal", "today"].includes(type);
|
|
13
|
+
};
|
|
14
|
+
const useBasicDateTable = (props, emit) => {
|
|
15
|
+
const { lang } = useLocale();
|
|
16
|
+
const tbodyRef = ref();
|
|
17
|
+
const currentCellRef = ref();
|
|
18
|
+
const lastRow = ref();
|
|
19
|
+
const lastColumn = ref();
|
|
20
|
+
const tableRows = ref([[], [], [], [], [], []]);
|
|
21
|
+
let focusWithClick = false;
|
|
22
|
+
const firstDayOfWeek = props.date.$locale().weekStart || 7;
|
|
23
|
+
const WEEKS_CONSTANT = props.date.locale("en").localeData().weekdaysShort().map((_) => _.toLowerCase());
|
|
24
|
+
const offsetDay = computed(() => {
|
|
25
|
+
return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : -firstDayOfWeek;
|
|
26
|
+
});
|
|
27
|
+
const startDate = computed(() => {
|
|
28
|
+
const startDayOfMonth = props.date.startOf("month");
|
|
29
|
+
return startDayOfMonth.subtract(startDayOfMonth.day() || 7, "day");
|
|
30
|
+
});
|
|
31
|
+
const WEEKS = computed(() => {
|
|
32
|
+
return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(firstDayOfWeek, firstDayOfWeek + 7);
|
|
33
|
+
});
|
|
34
|
+
const hasCurrent = computed(() => {
|
|
35
|
+
return flatten(unref(rows)).some((row) => {
|
|
36
|
+
return row.isCurrent;
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
const days = computed(() => {
|
|
40
|
+
const startOfMonth = props.date.startOf("month");
|
|
41
|
+
const startOfMonthDay = startOfMonth.day() || 7;
|
|
42
|
+
const dateCountOfMonth = startOfMonth.daysInMonth();
|
|
43
|
+
const dateCountOfLastMonth = startOfMonth.subtract(1, "month").daysInMonth();
|
|
44
|
+
return {
|
|
45
|
+
startOfMonthDay,
|
|
46
|
+
dateCountOfMonth,
|
|
47
|
+
dateCountOfLastMonth
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
const selectedDate = computed(() => {
|
|
51
|
+
return props.selectionMode === "dates" ? castArray(props.parsedValue) : [];
|
|
52
|
+
});
|
|
53
|
+
const setDateText = (cell, { count, rowIndex, columnIndex }) => {
|
|
54
|
+
const { startOfMonthDay, dateCountOfMonth, dateCountOfLastMonth } = unref(days);
|
|
55
|
+
const offset = unref(offsetDay);
|
|
56
|
+
if (rowIndex >= 0 && rowIndex <= 1) {
|
|
57
|
+
const numberOfDaysFromPreviousMonth = startOfMonthDay + offset < 0 ? 7 + startOfMonthDay + offset : startOfMonthDay + offset;
|
|
58
|
+
if (columnIndex + rowIndex * 7 >= numberOfDaysFromPreviousMonth) {
|
|
59
|
+
cell.text = count;
|
|
60
|
+
return true;
|
|
61
|
+
} else {
|
|
62
|
+
cell.text = dateCountOfLastMonth - (numberOfDaysFromPreviousMonth - columnIndex % 7) + 1 + rowIndex * 7;
|
|
63
|
+
cell.type = "prev-month";
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
if (count <= dateCountOfMonth) {
|
|
67
|
+
cell.text = count;
|
|
68
|
+
} else {
|
|
69
|
+
cell.text = count - dateCountOfMonth;
|
|
70
|
+
cell.type = "next-month";
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
};
|
|
76
|
+
const setCellMetadata = (cell, { columnIndex, rowIndex }, count) => {
|
|
77
|
+
const { disabledDate, cellClassName } = props;
|
|
78
|
+
const _selectedDate = unref(selectedDate);
|
|
79
|
+
const shouldIncrement = setDateText(cell, { count, rowIndex, columnIndex });
|
|
80
|
+
const cellDate = cell.dayjs.toDate();
|
|
81
|
+
cell.selected = _selectedDate.find((d) => d.valueOf() === cell.dayjs.valueOf());
|
|
82
|
+
cell.isSelected = !!cell.selected;
|
|
83
|
+
cell.isCurrent = isCurrent(cell);
|
|
84
|
+
cell.disabled = disabledDate == null ? void 0 : disabledDate(cellDate);
|
|
85
|
+
cell.customClass = cellClassName == null ? void 0 : cellClassName(cellDate);
|
|
86
|
+
return shouldIncrement;
|
|
87
|
+
};
|
|
88
|
+
const setRowMetadata = (row) => {
|
|
89
|
+
if (props.selectionMode === "week") {
|
|
90
|
+
const [start, end] = props.showWeekNumber ? [1, 7] : [0, 6];
|
|
91
|
+
const isActive = isWeekActive(row[start + 1]);
|
|
92
|
+
row[start].inRange = isActive;
|
|
93
|
+
row[start].start = isActive;
|
|
94
|
+
row[end].inRange = isActive;
|
|
95
|
+
row[end].end = isActive;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
const rows = computed(() => {
|
|
99
|
+
const { minDate, maxDate, rangeState, showWeekNumber } = props;
|
|
100
|
+
const offset = unref(offsetDay);
|
|
101
|
+
const rows_ = unref(tableRows);
|
|
102
|
+
const dateUnit = "day";
|
|
103
|
+
let count = 1;
|
|
104
|
+
if (showWeekNumber) {
|
|
105
|
+
for (let rowIndex = 0; rowIndex < 6; rowIndex++) {
|
|
106
|
+
if (!rows_[rowIndex][0]) {
|
|
107
|
+
rows_[rowIndex][0] = {
|
|
108
|
+
type: "week",
|
|
109
|
+
text: unref(startDate).add(rowIndex * 7 + 1, dateUnit).week()
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
buildPickerTable({ row: 6, column: 7 }, rows_, {
|
|
115
|
+
startDate: minDate,
|
|
116
|
+
columnIndexOffset: showWeekNumber ? 1 : 0,
|
|
117
|
+
nextEndDate: rangeState.endDate || maxDate || rangeState.selecting && minDate || null,
|
|
118
|
+
now: dayjs().locale(unref(lang)).startOf(dateUnit),
|
|
119
|
+
unit: dateUnit,
|
|
120
|
+
relativeDateGetter: (idx) => unref(startDate).add(idx - offset, dateUnit),
|
|
121
|
+
setCellMetadata: (...args) => {
|
|
122
|
+
if (setCellMetadata(...args, count)) {
|
|
123
|
+
count += 1;
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
setRowMetadata
|
|
127
|
+
});
|
|
128
|
+
return rows_;
|
|
129
|
+
});
|
|
130
|
+
watch(() => props.date, async () => {
|
|
131
|
+
var _a;
|
|
132
|
+
if ((_a = unref(tbodyRef)) == null ? void 0 : _a.contains(document.activeElement)) {
|
|
133
|
+
await nextTick();
|
|
134
|
+
await focus();
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
const focus = async () => {
|
|
138
|
+
var _a;
|
|
139
|
+
return (_a = unref(currentCellRef)) == null ? void 0 : _a.focus();
|
|
140
|
+
};
|
|
141
|
+
const isCurrent = (cell) => {
|
|
142
|
+
return props.selectionMode === "date" && isNormalDay(cell.type) && cellMatchesDate(cell, props.parsedValue);
|
|
143
|
+
};
|
|
144
|
+
const cellMatchesDate = (cell, date) => {
|
|
145
|
+
if (!date)
|
|
146
|
+
return false;
|
|
147
|
+
return dayjs(date).locale(unref(lang)).isSame(props.date.date(Number(cell.text)), "day");
|
|
148
|
+
};
|
|
149
|
+
const getDateOfCell = (row, column) => {
|
|
150
|
+
const offsetFromStart = row * 7 + (column - (props.showWeekNumber ? 1 : 0)) - unref(offsetDay);
|
|
151
|
+
return unref(startDate).add(offsetFromStart, "day");
|
|
152
|
+
};
|
|
153
|
+
const handleMouseMove = (event) => {
|
|
154
|
+
var _a;
|
|
155
|
+
if (!props.rangeState.selecting)
|
|
156
|
+
return;
|
|
157
|
+
let target = event.target;
|
|
158
|
+
if (target.tagName === "SPAN") {
|
|
159
|
+
target = (_a = target.parentNode) == null ? void 0 : _a.parentNode;
|
|
160
|
+
}
|
|
161
|
+
if (target.tagName === "DIV") {
|
|
162
|
+
target = target.parentNode;
|
|
163
|
+
}
|
|
164
|
+
if (target.tagName !== "TD")
|
|
165
|
+
return;
|
|
166
|
+
const row = target.parentNode.rowIndex - 1;
|
|
167
|
+
const column = target.cellIndex;
|
|
168
|
+
if (unref(rows)[row][column].disabled)
|
|
169
|
+
return;
|
|
170
|
+
if (row !== unref(lastRow) || column !== unref(lastColumn)) {
|
|
171
|
+
lastRow.value = row;
|
|
172
|
+
lastColumn.value = column;
|
|
173
|
+
emit("changerange", {
|
|
174
|
+
selecting: true,
|
|
175
|
+
endDate: getDateOfCell(row, column)
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
const isSelectedCell = (cell) => {
|
|
180
|
+
return !unref(hasCurrent) && (cell == null ? void 0 : cell.text) === 1 && cell.type === "normal" || cell.isCurrent;
|
|
181
|
+
};
|
|
182
|
+
const handleFocus = (event) => {
|
|
183
|
+
if (focusWithClick || unref(hasCurrent) || props.selectionMode !== "date")
|
|
184
|
+
return;
|
|
185
|
+
handlePickDate(event, true);
|
|
186
|
+
};
|
|
187
|
+
const handleMouseDown = (event) => {
|
|
188
|
+
const target = event.target.closest("td");
|
|
189
|
+
if (!target)
|
|
190
|
+
return;
|
|
191
|
+
focusWithClick = true;
|
|
192
|
+
};
|
|
193
|
+
const handleMouseUp = (event) => {
|
|
194
|
+
const target = event.target.closest("td");
|
|
195
|
+
if (!target)
|
|
196
|
+
return;
|
|
197
|
+
focusWithClick = false;
|
|
198
|
+
};
|
|
199
|
+
const handleRangePick = (newDate) => {
|
|
200
|
+
if (!props.rangeState.selecting || !props.minDate) {
|
|
201
|
+
emit("pick", { minDate: newDate, maxDate: null });
|
|
202
|
+
emit("select", true);
|
|
203
|
+
} else {
|
|
204
|
+
if (newDate >= props.minDate) {
|
|
205
|
+
emit("pick", { minDate: props.minDate, maxDate: newDate });
|
|
206
|
+
} else {
|
|
207
|
+
emit("pick", { minDate: newDate, maxDate: props.minDate });
|
|
208
|
+
}
|
|
209
|
+
emit("select", false);
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
const handleWeekPick = (newDate) => {
|
|
213
|
+
const weekNumber = newDate.week();
|
|
214
|
+
const value = `${newDate.year()}w${weekNumber}`;
|
|
215
|
+
emit("pick", {
|
|
216
|
+
year: newDate.year(),
|
|
217
|
+
week: weekNumber,
|
|
218
|
+
value,
|
|
219
|
+
date: newDate.startOf("week")
|
|
220
|
+
});
|
|
221
|
+
};
|
|
222
|
+
const handleDatesPick = (newDate, selected) => {
|
|
223
|
+
const newValue = selected ? castArray(props.parsedValue).filter((d) => (d == null ? void 0 : d.valueOf()) !== newDate.valueOf()) : castArray(props.parsedValue).concat([newDate]);
|
|
224
|
+
emit("pick", newValue);
|
|
225
|
+
};
|
|
226
|
+
const handlePickDate = (event, isKeyboardMovement = false) => {
|
|
227
|
+
const target = event.target.closest("td");
|
|
228
|
+
if (!target)
|
|
229
|
+
return;
|
|
230
|
+
const row = target.parentNode.rowIndex - 1;
|
|
231
|
+
const column = target.cellIndex;
|
|
232
|
+
const cell = unref(rows)[row][column];
|
|
233
|
+
if (cell.disabled || cell.type === "week")
|
|
234
|
+
return;
|
|
235
|
+
const newDate = getDateOfCell(row, column);
|
|
236
|
+
switch (props.selectionMode) {
|
|
237
|
+
case "range": {
|
|
238
|
+
handleRangePick(newDate);
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
case "date": {
|
|
242
|
+
emit("pick", newDate, isKeyboardMovement);
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
case "week": {
|
|
246
|
+
handleWeekPick(newDate);
|
|
247
|
+
break;
|
|
248
|
+
}
|
|
249
|
+
case "dates": {
|
|
250
|
+
handleDatesPick(newDate, !!cell.selected);
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
default: {
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
const isWeekActive = (cell) => {
|
|
259
|
+
if (props.selectionMode !== "week")
|
|
260
|
+
return false;
|
|
261
|
+
let newDate = props.date.startOf("day");
|
|
262
|
+
if (cell.type === "prev-month") {
|
|
263
|
+
newDate = newDate.subtract(1, "month");
|
|
264
|
+
}
|
|
265
|
+
if (cell.type === "next-month") {
|
|
266
|
+
newDate = newDate.add(1, "month");
|
|
267
|
+
}
|
|
268
|
+
newDate = newDate.date(Number.parseInt(cell.text, 10));
|
|
269
|
+
if (props.parsedValue && !Array.isArray(props.parsedValue)) {
|
|
270
|
+
const dayOffset = (props.parsedValue.day() - firstDayOfWeek + 7) % 7 - 1;
|
|
271
|
+
const weekDate = props.parsedValue.subtract(dayOffset, "day");
|
|
272
|
+
return weekDate.isSame(newDate, "day");
|
|
273
|
+
}
|
|
274
|
+
return false;
|
|
275
|
+
};
|
|
276
|
+
return {
|
|
277
|
+
WEEKS,
|
|
278
|
+
rows,
|
|
279
|
+
tbodyRef,
|
|
280
|
+
currentCellRef,
|
|
281
|
+
focus,
|
|
282
|
+
isCurrent,
|
|
283
|
+
isWeekActive,
|
|
284
|
+
isSelectedCell,
|
|
285
|
+
handlePickDate,
|
|
286
|
+
handleMouseUp,
|
|
287
|
+
handleMouseDown,
|
|
288
|
+
handleMouseMove,
|
|
289
|
+
handleFocus
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
const useBasicDateTableDOM = (props, {
|
|
293
|
+
isCurrent,
|
|
294
|
+
isWeekActive
|
|
295
|
+
}) => {
|
|
296
|
+
const ns = useNamespace("date-table");
|
|
297
|
+
const { t } = useLocale();
|
|
298
|
+
const tableKls = computed(() => [
|
|
299
|
+
ns.b(),
|
|
300
|
+
{ "is-week-mode": props.selectionMode === "week" }
|
|
301
|
+
]);
|
|
302
|
+
const tableLabel = computed(() => t("el.datepicker.dateTablePrompt"));
|
|
303
|
+
const weekLabel = computed(() => t("el.datepicker.week"));
|
|
304
|
+
const getCellClasses = (cell) => {
|
|
305
|
+
const classes = [];
|
|
306
|
+
if (isNormalDay(cell.type) && !cell.disabled) {
|
|
307
|
+
classes.push("available");
|
|
308
|
+
if (cell.type === "today") {
|
|
309
|
+
classes.push("today");
|
|
310
|
+
}
|
|
311
|
+
} else {
|
|
312
|
+
classes.push(cell.type);
|
|
313
|
+
}
|
|
314
|
+
if (isCurrent(cell)) {
|
|
315
|
+
classes.push("current");
|
|
316
|
+
}
|
|
317
|
+
if (cell.inRange && (isNormalDay(cell.type) || props.selectionMode === "week")) {
|
|
318
|
+
classes.push("in-range");
|
|
319
|
+
if (cell.start) {
|
|
320
|
+
classes.push("start-date");
|
|
321
|
+
}
|
|
322
|
+
if (cell.end) {
|
|
323
|
+
classes.push("end-date");
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
if (cell.disabled) {
|
|
327
|
+
classes.push("disabled");
|
|
328
|
+
}
|
|
329
|
+
if (cell.selected) {
|
|
330
|
+
classes.push("selected");
|
|
331
|
+
}
|
|
332
|
+
if (cell.customClass) {
|
|
333
|
+
classes.push(cell.customClass);
|
|
334
|
+
}
|
|
335
|
+
return classes.join(" ");
|
|
336
|
+
};
|
|
337
|
+
const getRowKls = (cell) => [
|
|
338
|
+
ns.e("row"),
|
|
339
|
+
{ current: isWeekActive(cell) }
|
|
340
|
+
];
|
|
341
|
+
return {
|
|
342
|
+
tableKls,
|
|
343
|
+
tableLabel,
|
|
344
|
+
weekLabel,
|
|
345
|
+
getCellClasses,
|
|
346
|
+
getRowKls,
|
|
347
|
+
t
|
|
348
|
+
};
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
export { useBasicDateTable, useBasicDateTableDOM };
|
|
352
|
+
//# sourceMappingURL=use-basic-date-table.mjs.map
|