@element-plus/nightly 0.0.20220719 → 0.0.20220722
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.full.js +69 -106
- package/dist/index.full.min.js +13 -13
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +13 -13
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +69 -105
- 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/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/calendar/index.mjs +2 -2
- package/es/components/calendar/src/calendar.mjs +230 -16
- package/es/components/calendar/src/calendar.mjs.map +1 -1
- package/es/components/calendar/src/calendar2.mjs +16 -230
- package/es/components/calendar/src/calendar2.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +21 -8
- 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 +5 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +5 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +5 -2
- package/es/components/date-picker/src/panel-utils.d.ts +10 -4
- package/es/components/dialog/src/use-dialog.mjs.map +1 -1
- package/es/components/index.mjs +3 -3
- package/es/components/input-number/src/input-number2.mjs +3 -3
- package/es/components/menu/src/menu.mjs +16 -8
- package/es/components/menu/src/menu.mjs.map +1 -1
- package/es/components/popper/index.mjs +2 -2
- package/es/components/popper/src/content.mjs +207 -87
- package/es/components/popper/src/content.mjs.map +1 -1
- package/es/components/popper/src/content2.mjs +87 -207
- package/es/components/popper/src/content2.mjs.map +1 -1
- package/es/components/rate/src/rate2.mjs +2 -1
- package/es/components/rate/src/rate2.mjs.map +1 -1
- package/es/components/select/src/option.mjs +4 -4
- package/es/components/select/src/option.mjs.map +1 -1
- package/es/components/table/src/table-header/event-helper.mjs +5 -9
- package/es/components/table/src/table-header/event-helper.mjs.map +1 -1
- package/es/components/table/src/util.d.ts +1 -1
- package/es/components/table/src/util.mjs +2 -8
- package/es/components/table/src/util.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +3 -3
- package/es/components/tooltip/src/content.mjs +1 -1
- package/es/components/tooltip/src/tooltip.mjs +1 -1
- package/es/directives/index.d.ts +0 -1
- package/es/directives/index.mjs +0 -1
- package/es/directives/index.mjs.map +1 -1
- package/es/directives/repeat-click/index.d.ts +2 -2
- package/es/directives/repeat-click/index.mjs +13 -13
- package/es/directives/repeat-click/index.mjs.map +1 -1
- package/es/index.mjs +3 -4
- package/es/index.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/calendar/index.js +2 -2
- package/lib/components/calendar/src/calendar.js +233 -16
- package/lib/components/calendar/src/calendar.js.map +1 -1
- package/lib/components/calendar/src/calendar2.js +16 -233
- package/lib/components/calendar/src/calendar2.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +21 -8
- 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 +5 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +5 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +5 -2
- package/lib/components/date-picker/src/panel-utils.d.ts +10 -4
- package/lib/components/dialog/src/use-dialog.js.map +1 -1
- package/lib/components/index.js +3 -3
- package/lib/components/menu/src/menu.js +17 -9
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/popper/index.js +2 -2
- package/lib/components/popper/src/content.js +206 -88
- package/lib/components/popper/src/content.js.map +1 -1
- package/lib/components/popper/src/content2.js +88 -206
- package/lib/components/popper/src/content2.js.map +1 -1
- package/lib/components/rate/src/rate2.js +2 -1
- package/lib/components/rate/src/rate2.js.map +1 -1
- package/lib/components/select/src/option.js +4 -4
- package/lib/components/select/src/option.js.map +1 -1
- package/lib/components/table/src/table-header/event-helper.js +5 -9
- package/lib/components/table/src/table-header/event-helper.js.map +1 -1
- package/lib/components/table/src/util.d.ts +1 -1
- package/lib/components/table/src/util.js +2 -8
- package/lib/components/table/src/util.js.map +1 -1
- package/lib/components/tooltip/src/content.js +1 -1
- package/lib/components/tooltip/src/tooltip.js +1 -1
- package/lib/directives/index.d.ts +0 -1
- package/lib/directives/index.js +0 -2
- package/lib/directives/index.js.map +1 -1
- package/lib/directives/repeat-click/index.d.ts +2 -2
- package/lib/directives/repeat-click/index.js +13 -13
- package/lib/directives/repeat-click/index.js.map +1 -1
- package/lib/index.js +82 -84
- package/lib/index.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/theme-chalk/el-message.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/common/var.scss +1 -1
- package/theme-chalk/src/message.scss +2 -1
- package/web-types.json +1 -1
- package/es/directives/resize/index.d.ts +0 -3
- package/es/directives/resize/index.mjs +0 -18
- package/es/directives/resize/index.mjs.map +0 -1
- package/lib/directives/resize/index.d.ts +0 -3
- package/lib/directives/resize/index.js +0 -22
- package/lib/directives/resize/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","sources":["../../../../../../packages/components/calendar/src/calendar.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isArray,\n isDate,\n} from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Calendar from './calendar.vue'\n\nexport type CalendarDateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nconst isValidRange = (range: unknown): range is [Date, Date] =>\n isArray(range) && range.length === 2 && range.every((item) => isDate(item))\n\nexport const calendarProps = buildProps({\n modelValue: {\n type: Date,\n },\n range: {\n type: definePropType<[Date, Date]>(Array),\n validator: isValidRange,\n },\n} as const)\nexport type CalendarProps = ExtractPropTypes<typeof calendarProps>\n\nexport const calendarEmits = {\n [UPDATE_MODEL_EVENT]: (value: Date) => isDate(value),\n [INPUT_EVENT]: (value: Date) => isDate(value),\n}\nexport type CalendarEmits = typeof calendarEmits\n\nexport type CalendarInstance = InstanceType<typeof Calendar>\n"],"names":["isArray","isDate","buildProps","definePropType","UPDATE_MODEL_EVENT","INPUT_EVENT"],"mappings":";;;;;;;;;;AAOA,MAAM,YAAY,GAAG,CAAC,KAAK,KAAKA,cAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAKC,aAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,MAAC,aAAa,GAAGC,kBAAU,CAAC;AACxC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAACC,wBAAkB,GAAG,CAAC,KAAK,KAAKH,aAAM,CAAC,KAAK,CAAC;AAChD,EAAE,CAACI,iBAAW,GAAG,CAAC,KAAK,KAAKJ,aAAM,CAAC,KAAK,CAAC;AACzC;;;;;"}
|
|
1
|
+
{"version":3,"file":"calendar.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport DateTable from './date-table.vue'\nimport { calendarEmits, calendarProps } from './calendar'\n\nimport type { CalendarDateType } from './calendar'\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst COMPONENT_NAME = 'ElCalendar'\n\ndefineOptions({\n name: 'ElCalendar',\n})\n\nconst props = defineProps(calendarProps)\nconst emit = defineEmits(calendarEmits)\n\nconst ns = useNamespace('calendar')\nconst { t, lang } = useLocale()\n\nconst selectedDay = ref<Dayjs>()\nconst now = dayjs().locale(lang.value)\n\nconst realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit(INPUT_EVENT, result)\n emit(UPDATE_MODEL_EVENT, result)\n },\n})\n\n// if range is valid, we get a two-digit array\nconst validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(COMPONENT_NAME, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n})\n\nconst date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n})\nconst prevMonthDayjs = computed(() => date.value.subtract(1, 'month').date(1))\nconst nextMonthDayjs = computed(() => date.value.add(1, 'month').date(1))\nconst prevYearDayjs = computed(() => date.value.subtract(1, 'year').date(1))\nconst nextYearDayjs = computed(() => date.value.add(1, 'year').date(1))\n\nconst i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n})\n\n// https://github.com/element-plus/element-plus/issues/3155\n// Calculate the validate date range according to the start and end dates\nconst calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n}\n\nconst pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n}\n\nconst selectDate = (type: CalendarDateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n}\n\ndefineExpose({\n /** @description currently selected date */\n selectedDay: realSelectedDay,\n /** @description select a specific date */\n pickDay,\n /** @description select date */\n selectDate,\n /** @description Calculate the validate date range according to the start and end dates */\n calculateValidatedDateRange,\n})\n</script>\n"],"names":["useNamespace","useLocale","ref","dayjs","computed","INPUT_EVENT","UPDATE_MODEL_EVENT","debugWarn"],"mappings":"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"}
|
|
@@ -2,244 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var vue = require('vue');
|
|
6
|
-
var dayjs = require('dayjs');
|
|
7
|
-
var index$2 = require('../../button/index.js');
|
|
8
|
-
require('../../../hooks/index.js');
|
|
9
5
|
require('../../../utils/index.js');
|
|
10
6
|
require('../../../constants/index.js');
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
14
|
-
var index = require('../../../hooks/use-namespace/index.js');
|
|
15
|
-
var index$1 = require('../../../hooks/use-locale/index.js');
|
|
7
|
+
var shared = require('@vue/shared');
|
|
8
|
+
var runtime = require('../../../utils/vue/props/runtime.js');
|
|
16
9
|
var event = require('../../../constants/event.js');
|
|
17
|
-
var error = require('../../../utils/error.js');
|
|
18
10
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
...__default__,
|
|
28
|
-
props: calendar.calendarProps,
|
|
29
|
-
emits: calendar.calendarEmits,
|
|
30
|
-
setup(__props, { expose, emit }) {
|
|
31
|
-
const props = __props;
|
|
32
|
-
const COMPONENT_NAME = "ElCalendar";
|
|
33
|
-
const ns = index.useNamespace("calendar");
|
|
34
|
-
const { t, lang } = index$1.useLocale();
|
|
35
|
-
const selectedDay = vue.ref();
|
|
36
|
-
const now = dayjs__default["default"]().locale(lang.value);
|
|
37
|
-
const realSelectedDay = vue.computed({
|
|
38
|
-
get() {
|
|
39
|
-
if (!props.modelValue)
|
|
40
|
-
return selectedDay.value;
|
|
41
|
-
return date.value;
|
|
42
|
-
},
|
|
43
|
-
set(val) {
|
|
44
|
-
if (!val)
|
|
45
|
-
return;
|
|
46
|
-
selectedDay.value = val;
|
|
47
|
-
const result = val.toDate();
|
|
48
|
-
emit(event.INPUT_EVENT, result);
|
|
49
|
-
emit(event.UPDATE_MODEL_EVENT, result);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
const validatedRange = vue.computed(() => {
|
|
53
|
-
if (!props.range)
|
|
54
|
-
return [];
|
|
55
|
-
const rangeArrDayjs = props.range.map((_) => dayjs__default["default"](_).locale(lang.value));
|
|
56
|
-
const [startDayjs, endDayjs] = rangeArrDayjs;
|
|
57
|
-
if (startDayjs.isAfter(endDayjs)) {
|
|
58
|
-
error.debugWarn(COMPONENT_NAME, "end time should be greater than start time");
|
|
59
|
-
return [];
|
|
60
|
-
}
|
|
61
|
-
if (startDayjs.isSame(endDayjs, "month")) {
|
|
62
|
-
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
63
|
-
} else {
|
|
64
|
-
if (startDayjs.add(1, "month").month() !== endDayjs.month()) {
|
|
65
|
-
error.debugWarn(COMPONENT_NAME, "start time and end time interval must not exceed two months");
|
|
66
|
-
return [];
|
|
67
|
-
}
|
|
68
|
-
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
const date = vue.computed(() => {
|
|
72
|
-
if (!props.modelValue) {
|
|
73
|
-
if (realSelectedDay.value) {
|
|
74
|
-
return realSelectedDay.value;
|
|
75
|
-
} else if (validatedRange.value.length) {
|
|
76
|
-
return validatedRange.value[0][0];
|
|
77
|
-
}
|
|
78
|
-
return now;
|
|
79
|
-
} else {
|
|
80
|
-
return dayjs__default["default"](props.modelValue).locale(lang.value);
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
const prevMonthDayjs = vue.computed(() => date.value.subtract(1, "month").date(1));
|
|
84
|
-
const nextMonthDayjs = vue.computed(() => date.value.add(1, "month").date(1));
|
|
85
|
-
const prevYearDayjs = vue.computed(() => date.value.subtract(1, "year").date(1));
|
|
86
|
-
const nextYearDayjs = vue.computed(() => date.value.add(1, "year").date(1));
|
|
87
|
-
const i18nDate = vue.computed(() => {
|
|
88
|
-
const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
|
|
89
|
-
return `${date.value.year()} ${t("el.datepicker.year")} ${t(pickedMonth)}`;
|
|
90
|
-
});
|
|
91
|
-
const calculateValidatedDateRange = (startDayjs, endDayjs) => {
|
|
92
|
-
const firstDay = startDayjs.startOf("week");
|
|
93
|
-
const lastDay = endDayjs.endOf("week");
|
|
94
|
-
const firstMonth = firstDay.get("month");
|
|
95
|
-
const lastMonth = lastDay.get("month");
|
|
96
|
-
if (firstMonth === lastMonth) {
|
|
97
|
-
return [[firstDay, lastDay]];
|
|
98
|
-
} else if (firstMonth + 1 === lastMonth) {
|
|
99
|
-
const firstMonthLastDay = firstDay.endOf("month");
|
|
100
|
-
const lastMonthFirstDay = lastDay.startOf("month");
|
|
101
|
-
const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, "week");
|
|
102
|
-
const lastMonthStartDay = isSameWeek ? lastMonthFirstDay.add(1, "week") : lastMonthFirstDay;
|
|
103
|
-
return [
|
|
104
|
-
[firstDay, firstMonthLastDay],
|
|
105
|
-
[lastMonthStartDay.startOf("week"), lastDay]
|
|
106
|
-
];
|
|
107
|
-
} else if (firstMonth + 2 === lastMonth || (firstMonth + 1) % 11 === lastMonth) {
|
|
108
|
-
const firstMonthLastDay = firstDay.endOf("month");
|
|
109
|
-
const secondMonthFirstDay = firstDay.add(1, "month").startOf("month");
|
|
110
|
-
const secondMonthStartDay = firstMonthLastDay.isSame(secondMonthFirstDay, "week") ? secondMonthFirstDay.add(1, "week") : secondMonthFirstDay;
|
|
111
|
-
const secondMonthLastDay = secondMonthStartDay.endOf("month");
|
|
112
|
-
const lastMonthFirstDay = lastDay.startOf("month");
|
|
113
|
-
const lastMonthStartDay = secondMonthLastDay.isSame(lastMonthFirstDay, "week") ? lastMonthFirstDay.add(1, "week") : lastMonthFirstDay;
|
|
114
|
-
return [
|
|
115
|
-
[firstDay, firstMonthLastDay],
|
|
116
|
-
[secondMonthStartDay.startOf("week"), secondMonthLastDay],
|
|
117
|
-
[lastMonthStartDay.startOf("week"), lastDay]
|
|
118
|
-
];
|
|
119
|
-
} else {
|
|
120
|
-
error.debugWarn(COMPONENT_NAME, "start time and end time interval must not exceed two months");
|
|
121
|
-
return [];
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
const pickDay = (day) => {
|
|
125
|
-
realSelectedDay.value = day;
|
|
126
|
-
};
|
|
127
|
-
const selectDate = (type) => {
|
|
128
|
-
let day;
|
|
129
|
-
if (type === "prev-month") {
|
|
130
|
-
day = prevMonthDayjs.value;
|
|
131
|
-
} else if (type === "next-month") {
|
|
132
|
-
day = nextMonthDayjs.value;
|
|
133
|
-
} else if (type === "prev-year") {
|
|
134
|
-
day = prevYearDayjs.value;
|
|
135
|
-
} else if (type === "next-year") {
|
|
136
|
-
day = nextYearDayjs.value;
|
|
137
|
-
} else {
|
|
138
|
-
day = now;
|
|
139
|
-
}
|
|
140
|
-
if (day.isSame(date.value, "day"))
|
|
141
|
-
return;
|
|
142
|
-
pickDay(day);
|
|
143
|
-
};
|
|
144
|
-
expose({
|
|
145
|
-
selectedDay: realSelectedDay,
|
|
146
|
-
pickDay,
|
|
147
|
-
selectDate,
|
|
148
|
-
calculateValidatedDateRange
|
|
149
|
-
});
|
|
150
|
-
return (_ctx, _cache) => {
|
|
151
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
152
|
-
class: vue.normalizeClass(vue.unref(ns).b())
|
|
153
|
-
}, [
|
|
154
|
-
vue.createElementVNode("div", {
|
|
155
|
-
class: vue.normalizeClass(vue.unref(ns).e("header"))
|
|
156
|
-
}, [
|
|
157
|
-
vue.renderSlot(_ctx.$slots, "header", { date: vue.unref(i18nDate) }, () => [
|
|
158
|
-
vue.createElementVNode("div", {
|
|
159
|
-
class: vue.normalizeClass(vue.unref(ns).e("title"))
|
|
160
|
-
}, vue.toDisplayString(vue.unref(i18nDate)), 3),
|
|
161
|
-
vue.unref(validatedRange).length === 0 ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
162
|
-
key: 0,
|
|
163
|
-
class: vue.normalizeClass(vue.unref(ns).e("button-group"))
|
|
164
|
-
}, [
|
|
165
|
-
vue.createVNode(vue.unref(index$2.ElButtonGroup), null, {
|
|
166
|
-
default: vue.withCtx(() => [
|
|
167
|
-
vue.createVNode(vue.unref(index$2.ElButton), {
|
|
168
|
-
size: "small",
|
|
169
|
-
onClick: _cache[0] || (_cache[0] = ($event) => selectDate("prev-month"))
|
|
170
|
-
}, {
|
|
171
|
-
default: vue.withCtx(() => [
|
|
172
|
-
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("el.datepicker.prevMonth")), 1)
|
|
173
|
-
]),
|
|
174
|
-
_: 1
|
|
175
|
-
}),
|
|
176
|
-
vue.createVNode(vue.unref(index$2.ElButton), {
|
|
177
|
-
size: "small",
|
|
178
|
-
onClick: _cache[1] || (_cache[1] = ($event) => selectDate("today"))
|
|
179
|
-
}, {
|
|
180
|
-
default: vue.withCtx(() => [
|
|
181
|
-
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("el.datepicker.today")), 1)
|
|
182
|
-
]),
|
|
183
|
-
_: 1
|
|
184
|
-
}),
|
|
185
|
-
vue.createVNode(vue.unref(index$2.ElButton), {
|
|
186
|
-
size: "small",
|
|
187
|
-
onClick: _cache[2] || (_cache[2] = ($event) => selectDate("next-month"))
|
|
188
|
-
}, {
|
|
189
|
-
default: vue.withCtx(() => [
|
|
190
|
-
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("el.datepicker.nextMonth")), 1)
|
|
191
|
-
]),
|
|
192
|
-
_: 1
|
|
193
|
-
})
|
|
194
|
-
]),
|
|
195
|
-
_: 1
|
|
196
|
-
})
|
|
197
|
-
], 2)) : vue.createCommentVNode("v-if", true)
|
|
198
|
-
])
|
|
199
|
-
], 2),
|
|
200
|
-
vue.unref(validatedRange).length === 0 ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
201
|
-
key: 0,
|
|
202
|
-
class: vue.normalizeClass(vue.unref(ns).e("body"))
|
|
203
|
-
}, [
|
|
204
|
-
vue.createVNode(dateTable["default"], {
|
|
205
|
-
date: vue.unref(date),
|
|
206
|
-
"selected-day": vue.unref(realSelectedDay),
|
|
207
|
-
onPick: pickDay
|
|
208
|
-
}, vue.createSlots({ _: 2 }, [
|
|
209
|
-
_ctx.$slots.dateCell ? {
|
|
210
|
-
name: "dateCell",
|
|
211
|
-
fn: vue.withCtx((data) => [
|
|
212
|
-
vue.renderSlot(_ctx.$slots, "dateCell", vue.normalizeProps(vue.guardReactiveProps(data)))
|
|
213
|
-
])
|
|
214
|
-
} : void 0
|
|
215
|
-
]), 1032, ["date", "selected-day"])
|
|
216
|
-
], 2)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
217
|
-
key: 1,
|
|
218
|
-
class: vue.normalizeClass(vue.unref(ns).e("body"))
|
|
219
|
-
}, [
|
|
220
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(validatedRange), (range_, index) => {
|
|
221
|
-
return vue.openBlock(), vue.createBlock(dateTable["default"], {
|
|
222
|
-
key: index,
|
|
223
|
-
date: range_[0],
|
|
224
|
-
"selected-day": vue.unref(realSelectedDay),
|
|
225
|
-
range: range_,
|
|
226
|
-
"hide-header": index !== 0,
|
|
227
|
-
onPick: pickDay
|
|
228
|
-
}, vue.createSlots({ _: 2 }, [
|
|
229
|
-
_ctx.$slots.dateCell ? {
|
|
230
|
-
name: "dateCell",
|
|
231
|
-
fn: vue.withCtx((data) => [
|
|
232
|
-
vue.renderSlot(_ctx.$slots, "dateCell", vue.normalizeProps(vue.guardReactiveProps(data)))
|
|
233
|
-
])
|
|
234
|
-
} : void 0
|
|
235
|
-
]), 1032, ["date", "selected-day", "range", "hide-header"]);
|
|
236
|
-
}), 128))
|
|
237
|
-
], 2))
|
|
238
|
-
], 2);
|
|
239
|
-
};
|
|
11
|
+
const isValidRange = (range) => shared.isArray(range) && range.length === 2 && range.every((item) => shared.isDate(item));
|
|
12
|
+
const calendarProps = runtime.buildProps({
|
|
13
|
+
modelValue: {
|
|
14
|
+
type: Date
|
|
15
|
+
},
|
|
16
|
+
range: {
|
|
17
|
+
type: runtime.definePropType(Array),
|
|
18
|
+
validator: isValidRange
|
|
240
19
|
}
|
|
241
20
|
});
|
|
242
|
-
|
|
21
|
+
const calendarEmits = {
|
|
22
|
+
[event.UPDATE_MODEL_EVENT]: (value) => shared.isDate(value),
|
|
23
|
+
[event.INPUT_EVENT]: (value) => shared.isDate(value)
|
|
24
|
+
};
|
|
243
25
|
|
|
244
|
-
exports
|
|
26
|
+
exports.calendarEmits = calendarEmits;
|
|
27
|
+
exports.calendarProps = calendarProps;
|
|
245
28
|
//# sourceMappingURL=calendar2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar2.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport DateTable from './date-table.vue'\nimport { calendarEmits, calendarProps } from './calendar'\n\nimport type { CalendarDateType } from './calendar'\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst COMPONENT_NAME = 'ElCalendar'\n\ndefineOptions({\n name: 'ElCalendar',\n})\n\nconst props = defineProps(calendarProps)\nconst emit = defineEmits(calendarEmits)\n\nconst ns = useNamespace('calendar')\nconst { t, lang } = useLocale()\n\nconst selectedDay = ref<Dayjs>()\nconst now = dayjs().locale(lang.value)\n\nconst realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit(INPUT_EVENT, result)\n emit(UPDATE_MODEL_EVENT, result)\n },\n})\n\n// if range is valid, we get a two-digit array\nconst validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(COMPONENT_NAME, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n})\n\nconst date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n})\nconst prevMonthDayjs = computed(() => date.value.subtract(1, 'month').date(1))\nconst nextMonthDayjs = computed(() => date.value.add(1, 'month').date(1))\nconst prevYearDayjs = computed(() => date.value.subtract(1, 'year').date(1))\nconst nextYearDayjs = computed(() => date.value.add(1, 'year').date(1))\n\nconst i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n})\n\n// https://github.com/element-plus/element-plus/issues/3155\n// Calculate the validate date range according to the start and end dates\nconst calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n}\n\nconst pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n}\n\nconst selectDate = (type: CalendarDateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n}\n\ndefineExpose({\n /** @description currently selected date */\n selectedDay: realSelectedDay,\n /** @description select a specific date */\n pickDay,\n /** @description select date */\n selectDate,\n /** @description Calculate the validate date range according to the start and end dates */\n calculateValidatedDateRange,\n})\n</script>\n"],"names":["useNamespace","useLocale","ref","dayjs","computed","INPUT_EVENT","UPDATE_MODEL_EVENT","debugWarn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calendar2.js","sources":["../../../../../../packages/components/calendar/src/calendar.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isArray,\n isDate,\n} from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Calendar from './calendar.vue'\n\nexport type CalendarDateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nconst isValidRange = (range: unknown): range is [Date, Date] =>\n isArray(range) && range.length === 2 && range.every((item) => isDate(item))\n\nexport const calendarProps = buildProps({\n modelValue: {\n type: Date,\n },\n range: {\n type: definePropType<[Date, Date]>(Array),\n validator: isValidRange,\n },\n} as const)\nexport type CalendarProps = ExtractPropTypes<typeof calendarProps>\n\nexport const calendarEmits = {\n [UPDATE_MODEL_EVENT]: (value: Date) => isDate(value),\n [INPUT_EVENT]: (value: Date) => isDate(value),\n}\nexport type CalendarEmits = typeof calendarEmits\n\nexport type CalendarInstance = InstanceType<typeof Calendar>\n"],"names":["isArray","isDate","buildProps","definePropType","UPDATE_MODEL_EVENT","INPUT_EVENT"],"mappings":";;;;;;;;;;AAOA,MAAM,YAAY,GAAG,CAAC,KAAK,KAAKA,cAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAKC,aAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,MAAC,aAAa,GAAGC,kBAAU,CAAC;AACxC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAACC,wBAAkB,GAAG,CAAC,KAAK,KAAKH,aAAM,CAAC,KAAK,CAAC;AAChD,EAAE,CAACI,iBAAW,GAAG,CAAC,KAAK,KAAKJ,aAAM,CAAC,KAAK,CAAC;AACzC;;;;;"}
|
|
@@ -38,6 +38,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
38
38
|
const lastRow = vue.ref();
|
|
39
39
|
const lastColumn = vue.ref();
|
|
40
40
|
const tableRows = vue.ref([[], [], [], [], [], []]);
|
|
41
|
+
let focusWithClick = false;
|
|
41
42
|
const firstDayOfWeek = props.date.$locale().weekStart || 7;
|
|
42
43
|
const WEEKS_CONSTANT = props.date.locale("en").localeData().weekdaysShort().map((_) => _.toLowerCase());
|
|
43
44
|
const offsetDay = vue.computed(() => {
|
|
@@ -242,13 +243,25 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
242
243
|
return !hasCurrent.value && (cell == null ? void 0 : cell.text) === 1 && cell.type === "normal" || cell.isCurrent;
|
|
243
244
|
};
|
|
244
245
|
const handleFocus = (event) => {
|
|
245
|
-
if (
|
|
246
|
-
|
|
247
|
-
|
|
246
|
+
if (focusWithClick || hasCurrent.value || props.selectionMode !== "date")
|
|
247
|
+
return;
|
|
248
|
+
handlePickDate(event, true);
|
|
249
|
+
};
|
|
250
|
+
const handleMouseDown = (event) => {
|
|
251
|
+
const target = event.target.closest("td");
|
|
252
|
+
if (!target)
|
|
253
|
+
return;
|
|
254
|
+
focusWithClick = true;
|
|
255
|
+
};
|
|
256
|
+
const handleMouseUp = (event) => {
|
|
257
|
+
const target = event.target.closest("td");
|
|
258
|
+
if (!target)
|
|
259
|
+
return;
|
|
260
|
+
focusWithClick = false;
|
|
248
261
|
};
|
|
249
262
|
const handlePickDate = (event, isKeyboardMovement = false) => {
|
|
250
263
|
const target = event.target.closest("td");
|
|
251
|
-
if (!target
|
|
264
|
+
if (!target)
|
|
252
265
|
return;
|
|
253
266
|
const row = target.parentNode.rowIndex - 1;
|
|
254
267
|
const column = target.cellIndex;
|
|
@@ -313,7 +326,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
313
326
|
cellpadding: "0",
|
|
314
327
|
class: vue.normalizeClass([vue.unref(ns).b(), { "is-week-mode": _ctx.selectionMode === "week" }]),
|
|
315
328
|
onClick: handlePickDate,
|
|
316
|
-
onMousemove: handleMouseMove
|
|
329
|
+
onMousemove: handleMouseMove,
|
|
330
|
+
onMousedown: handleMouseDown,
|
|
331
|
+
onMouseup: handleMouseUp
|
|
317
332
|
}, [
|
|
318
333
|
vue.createElementVNode("tbody", {
|
|
319
334
|
ref_key: "tbodyRef",
|
|
@@ -338,9 +353,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
338
353
|
return vue.openBlock(), vue.createElementBlock("td", {
|
|
339
354
|
key: `${rowKey}.${columnKey}`,
|
|
340
355
|
ref_for: true,
|
|
341
|
-
ref: (el) =>
|
|
342
|
-
isSelectedCell(cell) && (currentCellRef.value = el);
|
|
343
|
-
},
|
|
356
|
+
ref: (el) => isSelectedCell(cell) && (currentCellRef.value = el),
|
|
344
357
|
class: vue.normalizeClass(getCellClasses(cell)),
|
|
345
358
|
"aria-current": cell.isCurrent ? "date" : void 0,
|
|
346
359
|
"aria-selected": cell.isCurrent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-date-table.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-date-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.dateTablePrompt')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n :class=\"[ns.b(), { 'is-week-mode': selectionMode === 'week' }]\"\n @click=\"handlePickDate\"\n @mousemove=\"handleMouseMove\"\n >\n <tbody ref=\"tbodyRef\">\n <tr>\n <th v-if=\"showWeekNumber\" scope=\"col\">{{ t('el.datepicker.week') }}</th>\n <th\n v-for=\"(week, key) in WEEKS\"\n :key=\"key\"\n scope=\"col\"\n :aria-label=\"t('el.datepicker.weeksFull.' + week)\"\n >\n {{ t('el.datepicker.weeks.' + week) }}\n </th>\n </tr>\n <tr\n v-for=\"(row, rowKey) in rows\"\n :key=\"rowKey\"\n :class=\"[ns.e('row'), { current: isWeekActive(row[1]) }]\"\n >\n <td\n v-for=\"(cell, columnKey) in row\"\n :key=\"`${rowKey}.${columnKey}`\"\n :ref=\"(el) => { isSelectedCell(cell) && (currentCellRef = el as HTMLElement) }\"\n :class=\"getCellClasses(cell)\"\n :aria-current=\"cell.isCurrent ? 'date' : undefined\"\n :aria-selected=\"cell.isCurrent\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @focus=\"handleFocus\"\n >\n <el-date-picker-cell :cell=\"cell\" />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, ref, unref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { castArray } from '@element-plus/utils'\nimport { basicDateTableProps } from '../props/basic-date-table'\nimport { buildPickerTable } from '../utils'\nimport ElDatePickerCell from './basic-cell-render'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from '../date-picker.type'\n\nconst props = defineProps(basicDateTableProps)\nconst emit = defineEmits(['changerange', 'pick', 'select'])\n\nconst ns = useNamespace('date-table')\n\nconst { t, lang } = useLocale()\n\nconst tbodyRef = ref<HTMLElement>()\nconst currentCellRef = ref<HTMLElement>()\n// data\nconst lastRow = ref<number>()\nconst lastColumn = ref<number>()\nconst tableRows = ref<DateCell[][]>([[], [], [], [], [], []])\n\n// todo better way to get Day.js locale object\nconst firstDayOfWeek = (props.date as any).$locale().weekStart || 7\nconst WEEKS_CONSTANT = props.date\n .locale('en')\n .localeData()\n .weekdaysShort()\n .map((_) => _.toLowerCase())\n\nconst offsetDay = computed(() => {\n // Sunday 7(0), cal the left and right offset days, 3217654, such as Monday is -1, the is to adjust the position of the first two rows of dates\n return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : -firstDayOfWeek\n})\n\nconst startDate = computed(() => {\n const startDayOfMonth = props.date.startOf('month')\n return startDayOfMonth.subtract(startDayOfMonth.day() || 7, 'day')\n})\n\nconst WEEKS = computed(() => {\n return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(\n firstDayOfWeek,\n firstDayOfWeek + 7\n )\n})\n\nconst hasCurrent = computed<boolean>(() => {\n return rows.value.flat().some((row) => {\n return row.isCurrent\n })\n})\n\nconst days = computed(() => {\n const startOfMonth = props.date.startOf('month')\n const startOfMonthDay = startOfMonth.day() || 7 // day of first day\n const dateCountOfMonth = startOfMonth.daysInMonth()\n\n const dateCountOfLastMonth = startOfMonth.subtract(1, 'month').daysInMonth()\n\n return {\n startOfMonthDay,\n dateCountOfMonth,\n dateCountOfLastMonth,\n }\n})\n\nconst selectedDate = computed(() => {\n return props.selectionMode === 'dates'\n ? (castArray(props.parsedValue) as Dayjs[])\n : ([] as Dayjs[])\n})\n\n// Return value indicates should the counter be incremented\nconst setDateText = (\n cell: DateCell,\n {\n count,\n rowIndex,\n columnIndex,\n }: {\n count: number\n rowIndex: number\n columnIndex: number\n }\n): boolean => {\n const { startOfMonthDay, dateCountOfMonth, dateCountOfLastMonth } =\n unref(days)\n const offset = unref(offsetDay)\n if (rowIndex >= 0 && rowIndex <= 1) {\n const numberOfDaysFromPreviousMonth =\n startOfMonthDay + offset < 0\n ? 7 + startOfMonthDay + offset\n : startOfMonthDay + offset\n\n if (columnIndex + rowIndex * 7 >= numberOfDaysFromPreviousMonth) {\n cell.text = count\n return true\n } else {\n cell.text =\n dateCountOfLastMonth -\n (numberOfDaysFromPreviousMonth - (columnIndex % 7)) +\n 1 +\n rowIndex * 7\n cell.type = 'prev-month'\n }\n } else {\n if (count <= dateCountOfMonth) {\n cell.text = count\n } else {\n cell.text = count - dateCountOfMonth\n cell.type = 'next-month'\n }\n return true\n }\n return false\n}\n\nconst setCellMetadata = (\n cell: DateCell,\n {\n columnIndex,\n rowIndex,\n }: {\n columnIndex: number\n rowIndex: number\n },\n count: number\n) => {\n const { disabledDate, cellClassName } = props\n const _selectedDate = unref(selectedDate)\n const shouldIncrement = setDateText(cell, { count, rowIndex, columnIndex })\n\n const cellDate = cell.dayjs!.toDate()\n cell.selected = _selectedDate.find(\n (d) => d.valueOf() === cell.dayjs!.valueOf()\n )\n cell.isSelected = !!cell.selected\n cell.isCurrent = isCurrent(cell)\n cell.disabled = disabledDate?.(cellDate)\n cell.customClass = cellClassName?.(cellDate)\n return shouldIncrement\n}\n\nconst setRowMetadata = (row: DateCell[]) => {\n if (props.selectionMode === 'week') {\n const [start, end] = props.showWeekNumber ? [1, 7] : [0, 6]\n const isActive = isWeekActive(row[start + 1])\n row[start].inRange = isActive\n row[start].start = isActive\n row[end].inRange = isActive\n row[end].end = isActive\n }\n}\n\nconst rows = computed(() => {\n const { minDate, maxDate, rangeState, showWeekNumber } = props\n\n const offset = offsetDay.value\n const rows_ = tableRows.value\n const dateUnit = 'day'\n let count = 1\n\n if (showWeekNumber) {\n for (let rowIndex = 0; rowIndex < 6; rowIndex++) {\n if (!rows_[rowIndex][0]) {\n rows_[rowIndex][0] = {\n type: 'week',\n text: startDate.value.add(rowIndex * 7 + 1, dateUnit).week(),\n }\n }\n }\n }\n\n buildPickerTable({ row: 6, column: 7 }, rows_, {\n startDate: minDate,\n columnIndexOffset: showWeekNumber ? 1 : 0,\n nextEndDate:\n rangeState.endDate ||\n maxDate ||\n (rangeState.selecting && minDate) ||\n null,\n now: dayjs().locale(unref(lang)).startOf(dateUnit),\n unit: dateUnit,\n relativeDateGetter: (idx: number) =>\n startDate.value.add(idx - offset, dateUnit),\n setCellMetadata: (...args) => {\n if (setCellMetadata(...args, count)) {\n count += 1\n }\n },\n\n setRowMetadata,\n })\n\n return rows_\n})\n\nwatch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n)\n\nconst focus = async () => {\n currentCellRef.value?.focus()\n}\n\nconst isNormalDay = (type = '') => {\n return ['normal', 'today'].includes(type)\n}\n\nconst isCurrent = (cell: DateCell): boolean => {\n return (\n props.selectionMode === 'date' &&\n isNormalDay(cell.type) &&\n cellMatchesDate(cell, props.parsedValue as Dayjs)\n )\n}\n\nconst cellMatchesDate = (cell: DateCell, date: Dayjs) => {\n if (!date) return false\n return dayjs(date)\n .locale(lang.value)\n .isSame(props.date.date(Number(cell.text)), 'day')\n}\n\nconst getCellClasses = (cell: DateCell) => {\n const classes: string[] = []\n if (isNormalDay(cell.type) && !cell.disabled) {\n classes.push('available')\n if (cell.type === 'today') {\n classes.push('today')\n }\n } else {\n classes.push(cell.type!)\n }\n\n if (isCurrent(cell)) {\n classes.push('current')\n }\n\n if (\n cell.inRange &&\n (isNormalDay(cell.type) || props.selectionMode === 'week')\n ) {\n classes.push('in-range')\n\n if (cell.start) {\n classes.push('start-date')\n }\n\n if (cell.end) {\n classes.push('end-date')\n }\n }\n\n if (cell.disabled) {\n classes.push('disabled')\n }\n\n if (cell.selected) {\n classes.push('selected')\n }\n\n if (cell.customClass) {\n classes.push(cell.customClass)\n }\n\n return classes.join(' ')\n}\n\nconst getDateOfCell = (row: number, column: number) => {\n const offsetFromStart =\n row * 7 + (column - (props.showWeekNumber ? 1 : 0)) - offsetDay.value\n return startDate.value.add(offsetFromStart, 'day')\n}\n\nconst handleMouseMove = (event: MouseEvent) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target as HTMLElement\n if (target.tagName === 'SPAN') {\n target = target.parentNode?.parentNode as HTMLElement\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode as HTMLElement\n }\n if (target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n emit('changerange', {\n selecting: true,\n endDate: getDateOfCell(row, column),\n })\n }\n}\n\nconst isSelectedCell = (cell: DateCell) => {\n return (\n (!hasCurrent.value && cell?.text === 1 && cell.type === 'normal') ||\n cell.isCurrent\n )\n}\n\nconst handleFocus = (event: Event) => {\n if (!hasCurrent.value && props.selectionMode === 'date') {\n handlePickDate(event, true)\n }\n}\n\nconst handlePickDate = (event: Event, isKeyboardMovement = false) => {\n const target = (event.target as HTMLElement).closest('td')\n\n if (!target || target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n const cell = rows.value[row][column]\n\n if (cell.disabled || cell.type === 'week') return\n\n const newDate = getDateOfCell(row, column)\n\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting || !props.minDate) {\n emit('pick', { minDate: newDate, maxDate: null })\n emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n emit('select', false)\n }\n } else if (props.selectionMode === 'date') {\n emit('pick', newDate, isKeyboardMovement)\n } else if (props.selectionMode === 'week') {\n const weekNumber = newDate.week()\n const value = `${newDate.year()}w${weekNumber}`\n emit('pick', {\n year: newDate.year(),\n week: weekNumber,\n value,\n date: newDate.startOf('week'),\n })\n } else if (props.selectionMode === 'dates') {\n const newValue = cell.selected\n ? castArray(props.parsedValue).filter(\n (d) => d?.valueOf() !== newDate.valueOf()\n )\n : castArray(props.parsedValue).concat([newDate])\n emit('pick', newValue)\n }\n}\n\nconst isWeekActive = (cell: DateCell) => {\n if (props.selectionMode !== 'week') return false\n let newDate = props.date.startOf('day')\n\n if (cell.type === 'prev-month') {\n newDate = newDate.subtract(1, 'month')\n }\n\n if (cell.type === 'next-month') {\n newDate = newDate.add(1, 'month')\n }\n\n newDate = newDate.date(Number.parseInt(cell.text as any, 10))\n\n if (props.parsedValue && !Array.isArray(props.parsedValue)) {\n const dayOffset = ((props.parsedValue.day() - firstDayOfWeek + 7) % 7) - 1\n const weekDate = props.parsedValue.subtract(dayOffset, 'day')\n return weekDate.isSame(newDate, 'day')\n }\n return false\n}\n\ndefineExpose({\n /**\n * @description focus on current cell\n */\n focus,\n})\n</script>\n"],"names":["useNamespace","useLocale","ref","computed","castArray","unref","buildPickerTable","dayjs","watch","nextTick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basic-date-table.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-date-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.dateTablePrompt')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n :class=\"[ns.b(), { 'is-week-mode': selectionMode === 'week' }]\"\n @click=\"handlePickDate\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown\"\n @mouseup=\"handleMouseUp\"\n >\n <tbody ref=\"tbodyRef\">\n <tr>\n <th v-if=\"showWeekNumber\" scope=\"col\">{{ t('el.datepicker.week') }}</th>\n <th\n v-for=\"(week, key) in WEEKS\"\n :key=\"key\"\n scope=\"col\"\n :aria-label=\"t('el.datepicker.weeksFull.' + week)\"\n >\n {{ t('el.datepicker.weeks.' + week) }}\n </th>\n </tr>\n <tr\n v-for=\"(row, rowKey) in rows\"\n :key=\"rowKey\"\n :class=\"[ns.e('row'), { current: isWeekActive(row[1]) }]\"\n >\n <td\n v-for=\"(cell, columnKey) in row\"\n :key=\"`${rowKey}.${columnKey}`\"\n :ref=\"(el) => isSelectedCell(cell) && (currentCellRef = el as HTMLElement)\"\n :class=\"getCellClasses(cell)\"\n :aria-current=\"cell.isCurrent ? 'date' : undefined\"\n :aria-selected=\"cell.isCurrent\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @focus=\"handleFocus\"\n >\n <el-date-picker-cell :cell=\"cell\" />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, ref, unref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { castArray } from '@element-plus/utils'\nimport { basicDateTableProps } from '../props/basic-date-table'\nimport { buildPickerTable } from '../utils'\nimport ElDatePickerCell from './basic-cell-render'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from '../date-picker.type'\n\nconst props = defineProps(basicDateTableProps)\nconst emit = defineEmits(['changerange', 'pick', 'select'])\n\nconst ns = useNamespace('date-table')\n\nconst { t, lang } = useLocale()\n\nconst tbodyRef = ref<HTMLElement>()\nconst currentCellRef = ref<HTMLElement>()\n// data\nconst lastRow = ref<number>()\nconst lastColumn = ref<number>()\nconst tableRows = ref<DateCell[][]>([[], [], [], [], [], []])\n\nlet focusWithClick = false\n\n// todo better way to get Day.js locale object\nconst firstDayOfWeek = (props.date as any).$locale().weekStart || 7\nconst WEEKS_CONSTANT = props.date\n .locale('en')\n .localeData()\n .weekdaysShort()\n .map((_) => _.toLowerCase())\n\nconst offsetDay = computed(() => {\n // Sunday 7(0), cal the left and right offset days, 3217654, such as Monday is -1, the is to adjust the position of the first two rows of dates\n return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : -firstDayOfWeek\n})\n\nconst startDate = computed(() => {\n const startDayOfMonth = props.date.startOf('month')\n return startDayOfMonth.subtract(startDayOfMonth.day() || 7, 'day')\n})\n\nconst WEEKS = computed(() => {\n return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(\n firstDayOfWeek,\n firstDayOfWeek + 7\n )\n})\n\nconst hasCurrent = computed<boolean>(() => {\n return rows.value.flat().some((row) => {\n return row.isCurrent\n })\n})\n\nconst days = computed(() => {\n const startOfMonth = props.date.startOf('month')\n const startOfMonthDay = startOfMonth.day() || 7 // day of first day\n const dateCountOfMonth = startOfMonth.daysInMonth()\n\n const dateCountOfLastMonth = startOfMonth.subtract(1, 'month').daysInMonth()\n\n return {\n startOfMonthDay,\n dateCountOfMonth,\n dateCountOfLastMonth,\n }\n})\n\nconst selectedDate = computed(() => {\n return props.selectionMode === 'dates'\n ? (castArray(props.parsedValue) as Dayjs[])\n : ([] as Dayjs[])\n})\n\n// Return value indicates should the counter be incremented\nconst setDateText = (\n cell: DateCell,\n {\n count,\n rowIndex,\n columnIndex,\n }: {\n count: number\n rowIndex: number\n columnIndex: number\n }\n): boolean => {\n const { startOfMonthDay, dateCountOfMonth, dateCountOfLastMonth } =\n unref(days)\n const offset = unref(offsetDay)\n if (rowIndex >= 0 && rowIndex <= 1) {\n const numberOfDaysFromPreviousMonth =\n startOfMonthDay + offset < 0\n ? 7 + startOfMonthDay + offset\n : startOfMonthDay + offset\n\n if (columnIndex + rowIndex * 7 >= numberOfDaysFromPreviousMonth) {\n cell.text = count\n return true\n } else {\n cell.text =\n dateCountOfLastMonth -\n (numberOfDaysFromPreviousMonth - (columnIndex % 7)) +\n 1 +\n rowIndex * 7\n cell.type = 'prev-month'\n }\n } else {\n if (count <= dateCountOfMonth) {\n cell.text = count\n } else {\n cell.text = count - dateCountOfMonth\n cell.type = 'next-month'\n }\n return true\n }\n return false\n}\n\nconst setCellMetadata = (\n cell: DateCell,\n {\n columnIndex,\n rowIndex,\n }: {\n columnIndex: number\n rowIndex: number\n },\n count: number\n) => {\n const { disabledDate, cellClassName } = props\n const _selectedDate = unref(selectedDate)\n const shouldIncrement = setDateText(cell, { count, rowIndex, columnIndex })\n\n const cellDate = cell.dayjs!.toDate()\n cell.selected = _selectedDate.find(\n (d) => d.valueOf() === cell.dayjs!.valueOf()\n )\n cell.isSelected = !!cell.selected\n cell.isCurrent = isCurrent(cell)\n cell.disabled = disabledDate?.(cellDate)\n cell.customClass = cellClassName?.(cellDate)\n return shouldIncrement\n}\n\nconst setRowMetadata = (row: DateCell[]) => {\n if (props.selectionMode === 'week') {\n const [start, end] = props.showWeekNumber ? [1, 7] : [0, 6]\n const isActive = isWeekActive(row[start + 1])\n row[start].inRange = isActive\n row[start].start = isActive\n row[end].inRange = isActive\n row[end].end = isActive\n }\n}\n\nconst rows = computed(() => {\n const { minDate, maxDate, rangeState, showWeekNumber } = props\n\n const offset = offsetDay.value\n const rows_ = tableRows.value\n const dateUnit = 'day'\n let count = 1\n\n if (showWeekNumber) {\n for (let rowIndex = 0; rowIndex < 6; rowIndex++) {\n if (!rows_[rowIndex][0]) {\n rows_[rowIndex][0] = {\n type: 'week',\n text: startDate.value.add(rowIndex * 7 + 1, dateUnit).week(),\n }\n }\n }\n }\n\n buildPickerTable({ row: 6, column: 7 }, rows_, {\n startDate: minDate,\n columnIndexOffset: showWeekNumber ? 1 : 0,\n nextEndDate:\n rangeState.endDate ||\n maxDate ||\n (rangeState.selecting && minDate) ||\n null,\n now: dayjs().locale(unref(lang)).startOf(dateUnit),\n unit: dateUnit,\n relativeDateGetter: (idx: number) =>\n startDate.value.add(idx - offset, dateUnit),\n setCellMetadata: (...args) => {\n if (setCellMetadata(...args, count)) {\n count += 1\n }\n },\n\n setRowMetadata,\n })\n\n return rows_\n})\n\nwatch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n)\n\nconst focus = async () => {\n currentCellRef.value?.focus()\n}\n\nconst isNormalDay = (type = '') => {\n return ['normal', 'today'].includes(type)\n}\n\nconst isCurrent = (cell: DateCell): boolean => {\n return (\n props.selectionMode === 'date' &&\n isNormalDay(cell.type) &&\n cellMatchesDate(cell, props.parsedValue as Dayjs)\n )\n}\n\nconst cellMatchesDate = (cell: DateCell, date: Dayjs) => {\n if (!date) return false\n return dayjs(date)\n .locale(lang.value)\n .isSame(props.date.date(Number(cell.text)), 'day')\n}\n\nconst getCellClasses = (cell: DateCell) => {\n const classes: string[] = []\n if (isNormalDay(cell.type) && !cell.disabled) {\n classes.push('available')\n if (cell.type === 'today') {\n classes.push('today')\n }\n } else {\n classes.push(cell.type!)\n }\n\n if (isCurrent(cell)) {\n classes.push('current')\n }\n\n if (\n cell.inRange &&\n (isNormalDay(cell.type) || props.selectionMode === 'week')\n ) {\n classes.push('in-range')\n\n if (cell.start) {\n classes.push('start-date')\n }\n\n if (cell.end) {\n classes.push('end-date')\n }\n }\n\n if (cell.disabled) {\n classes.push('disabled')\n }\n\n if (cell.selected) {\n classes.push('selected')\n }\n\n if (cell.customClass) {\n classes.push(cell.customClass)\n }\n\n return classes.join(' ')\n}\n\nconst getDateOfCell = (row: number, column: number) => {\n const offsetFromStart =\n row * 7 + (column - (props.showWeekNumber ? 1 : 0)) - offsetDay.value\n return startDate.value.add(offsetFromStart, 'day')\n}\n\nconst handleMouseMove = (event: MouseEvent) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target as HTMLElement\n if (target.tagName === 'SPAN') {\n target = target.parentNode?.parentNode as HTMLElement\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode as HTMLElement\n }\n if (target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n emit('changerange', {\n selecting: true,\n endDate: getDateOfCell(row, column),\n })\n }\n}\n\nconst isSelectedCell = (cell: DateCell) => {\n return (\n (!hasCurrent.value && cell?.text === 1 && cell.type === 'normal') ||\n cell.isCurrent\n )\n}\n\nconst handleFocus = (event: FocusEvent) => {\n if (focusWithClick || hasCurrent.value || props.selectionMode !== 'date')\n return\n handlePickDate(event, true)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = true\n}\n\nconst handleMouseUp = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = false\n}\n\nconst handlePickDate = (\n event: FocusEvent | MouseEvent,\n isKeyboardMovement = false\n) => {\n const target = (event.target as HTMLElement).closest('td')\n\n if (!target) return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n const cell = rows.value[row][column]\n\n if (cell.disabled || cell.type === 'week') return\n\n const newDate = getDateOfCell(row, column)\n\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting || !props.minDate) {\n emit('pick', { minDate: newDate, maxDate: null })\n emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n emit('select', false)\n }\n } else if (props.selectionMode === 'date') {\n emit('pick', newDate, isKeyboardMovement)\n } else if (props.selectionMode === 'week') {\n const weekNumber = newDate.week()\n const value = `${newDate.year()}w${weekNumber}`\n emit('pick', {\n year: newDate.year(),\n week: weekNumber,\n value,\n date: newDate.startOf('week'),\n })\n } else if (props.selectionMode === 'dates') {\n const newValue = cell.selected\n ? castArray(props.parsedValue).filter(\n (d) => d?.valueOf() !== newDate.valueOf()\n )\n : castArray(props.parsedValue).concat([newDate])\n emit('pick', newValue)\n }\n}\n\nconst isWeekActive = (cell: DateCell) => {\n if (props.selectionMode !== 'week') return false\n let newDate = props.date.startOf('day')\n\n if (cell.type === 'prev-month') {\n newDate = newDate.subtract(1, 'month')\n }\n\n if (cell.type === 'next-month') {\n newDate = newDate.add(1, 'month')\n }\n\n newDate = newDate.date(Number.parseInt(cell.text as any, 10))\n\n if (props.parsedValue && !Array.isArray(props.parsedValue)) {\n const dayOffset = ((props.parsedValue.day() - firstDayOfWeek + 7) % 7) - 1\n const weekDate = props.parsedValue.subtract(dayOffset, 'day')\n return weekDate.isSame(newDate, 'day')\n }\n return false\n}\n\ndefineExpose({\n /**\n * @description focus on current cell\n */\n focus,\n})\n</script>\n"],"names":["useNamespace","useLocale","ref","computed","castArray","unref","buildPickerTable","dayjs","watch","nextTick"],"mappings":"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"}
|
|
@@ -334,6 +334,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
334
334
|
} | undefined;
|
|
335
335
|
type?: ("week" | "normal" | "today" | "prev-month" | "next-month") | undefined;
|
|
336
336
|
}[][]>;
|
|
337
|
+
focusWithClick: boolean;
|
|
337
338
|
firstDayOfWeek: any;
|
|
338
339
|
WEEKS_CONSTANT: string[];
|
|
339
340
|
offsetDay: import("vue").ComputedRef<number>;
|
|
@@ -580,8 +581,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
580
581
|
getDateOfCell: (row: number, column: number) => dayjs.Dayjs;
|
|
581
582
|
handleMouseMove: (event: MouseEvent) => void;
|
|
582
583
|
isSelectedCell: (cell: DateCell) => boolean | undefined;
|
|
583
|
-
handleFocus: (event:
|
|
584
|
-
|
|
584
|
+
handleFocus: (event: FocusEvent) => void;
|
|
585
|
+
handleMouseDown: (event: MouseEvent) => void;
|
|
586
|
+
handleMouseUp: (event: MouseEvent) => void;
|
|
587
|
+
handlePickDate: (event: FocusEvent | MouseEvent, isKeyboardMovement?: boolean) => void;
|
|
585
588
|
isWeekActive: (cell: DateCell) => boolean;
|
|
586
589
|
ElDatePickerCell: import("vue").DefineComponent<{
|
|
587
590
|
readonly cell: {
|
|
@@ -7614,6 +7614,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
7614
7614
|
} | undefined;
|
|
7615
7615
|
type?: ("week" | "normal" | "today" | "prev-month" | "next-month") | undefined;
|
|
7616
7616
|
}[][]>;
|
|
7617
|
+
focusWithClick: boolean;
|
|
7617
7618
|
firstDayOfWeek: any;
|
|
7618
7619
|
WEEKS_CONSTANT: string[];
|
|
7619
7620
|
offsetDay: import("vue").ComputedRef<number>;
|
|
@@ -7860,8 +7861,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
7860
7861
|
getDateOfCell: (row: number, column: number) => dayjs.Dayjs;
|
|
7861
7862
|
handleMouseMove: (event: MouseEvent) => void;
|
|
7862
7863
|
isSelectedCell: (cell: import("../date-picker.type").DateCell) => boolean | undefined;
|
|
7863
|
-
handleFocus: (event:
|
|
7864
|
-
|
|
7864
|
+
handleFocus: (event: FocusEvent) => void;
|
|
7865
|
+
handleMouseDown: (event: MouseEvent) => void;
|
|
7866
|
+
handleMouseUp: (event: MouseEvent) => void;
|
|
7867
|
+
handlePickDate: (event: MouseEvent | FocusEvent, isKeyboardMovement?: boolean) => void;
|
|
7865
7868
|
isWeekActive: (cell: import("../date-picker.type").DateCell) => boolean;
|
|
7866
7869
|
ElDatePickerCell: import("vue").DefineComponent<{
|
|
7867
7870
|
readonly cell: {
|
|
@@ -7742,6 +7742,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
7742
7742
|
} | undefined;
|
|
7743
7743
|
type?: ("week" | "normal" | "today" | "prev-month" | "next-month") | undefined;
|
|
7744
7744
|
}[][]>;
|
|
7745
|
+
focusWithClick: boolean;
|
|
7745
7746
|
firstDayOfWeek: any;
|
|
7746
7747
|
WEEKS_CONSTANT: string[];
|
|
7747
7748
|
offsetDay: import("vue").ComputedRef<number>;
|
|
@@ -7988,8 +7989,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
7988
7989
|
getDateOfCell: (row: number, column: number) => dayjs.Dayjs;
|
|
7989
7990
|
handleMouseMove: (event: MouseEvent) => void;
|
|
7990
7991
|
isSelectedCell: (cell: import("../date-picker.type").DateCell) => boolean | undefined;
|
|
7991
|
-
handleFocus: (event:
|
|
7992
|
-
|
|
7992
|
+
handleFocus: (event: FocusEvent) => void;
|
|
7993
|
+
handleMouseDown: (event: MouseEvent) => void;
|
|
7994
|
+
handleMouseUp: (event: MouseEvent) => void;
|
|
7995
|
+
handlePickDate: (event: MouseEvent | FocusEvent, isKeyboardMovement?: boolean) => void;
|
|
7993
7996
|
isWeekActive: (cell: import("../date-picker.type").DateCell) => boolean;
|
|
7994
7997
|
ElDatePickerCell: import("vue").DefineComponent<{
|
|
7995
7998
|
readonly cell: {
|