@element-plus/nightly 0.0.20220119 → 0.0.20220120
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 +488 -470
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +9 -9
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +488 -470
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/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.d.ts +11 -0
- package/es/components/calendar/src/calendar.vue.d.ts +11 -0
- package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs +4 -1
- package/es/components/calendar/src/calendar.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.mjs +26 -26
- package/es/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.mjs.map +1 -1
- package/es/components/calendar/src/date-table.vue.d.ts +22 -0
- package/es/components/calendar/src/date-table.vue_vue_type_script_lang.mjs +6 -1
- package/es/components/calendar/src/date-table.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.mjs +7 -9
- package/es/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.mjs.map +1 -1
- package/es/components/container/index.d.ts +103 -2
- package/es/components/container/src/aside.vue.d.ts +11 -0
- package/es/components/container/src/aside.vue_vue_type_script_lang.mjs +5 -1
- package/es/components/container/src/aside.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/container/src/aside.vue_vue_type_template_id_47e12f0a_lang.mjs +3 -3
- package/es/components/container/src/aside.vue_vue_type_template_id_47e12f0a_lang.mjs.map +1 -1
- package/es/components/container/src/container.vue.d.ts +11 -0
- package/es/components/container/src/container.vue_vue_type_script_lang.mjs +5 -1
- package/es/components/container/src/container.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/container/src/container.vue_vue_type_template_id_60a2865a_lang.mjs +1 -1
- package/es/components/container/src/footer.vue.d.ts +11 -0
- package/es/components/container/src/footer.vue_vue_type_script_lang.mjs +5 -1
- package/es/components/container/src/footer.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/container/src/footer.vue_vue_type_template_id_2c2b128e_lang.mjs +3 -3
- package/es/components/container/src/footer.vue_vue_type_template_id_2c2b128e_lang.mjs.map +1 -1
- package/es/components/container/src/header.vue.d.ts +11 -0
- package/es/components/container/src/header.vue_vue_type_script_lang.mjs +5 -1
- package/es/components/container/src/header.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/container/src/header.vue_vue_type_template_id_0b1cdaab_lang.mjs +3 -3
- package/es/components/container/src/header.vue_vue_type_template_id_0b1cdaab_lang.mjs.map +1 -1
- package/es/components/container/src/main.vue.d.ts +13 -1
- package/es/components/container/src/main.vue_vue_type_script_lang.mjs +9 -1
- package/es/components/container/src/main.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/container/src/main.vue_vue_type_template_id_526ed157_lang.mjs +5 -4
- package/es/components/container/src/main.vue_vue_type_template_id_526ed157_lang.mjs.map +1 -1
- package/es/components/descriptions/index.d.ts +11 -0
- package/es/components/descriptions/src/descriptions-cell.mjs +14 -15
- package/es/components/descriptions/src/descriptions-cell.mjs.map +1 -1
- package/es/components/descriptions/src/index.vue.d.ts +11 -0
- package/es/components/descriptions/src/index.vue_vue_type_script_lang.mjs +6 -4
- package/es/components/descriptions/src/index.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.mjs +18 -16
- package/es/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.mjs.map +1 -1
- package/es/components/slider/src/button.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.mjs +3 -4
- package/es/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.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.d.ts +11 -0
- package/lib/components/calendar/src/calendar.vue.d.ts +11 -0
- package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js +6 -3
- package/lib/components/calendar/src/calendar.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.js +25 -25
- package/lib/components/calendar/src/calendar.vue_vue_type_template_id_76705c76_lang.js.map +1 -1
- package/lib/components/calendar/src/date-table.vue.d.ts +22 -0
- package/lib/components/calendar/src/date-table.vue_vue_type_script_lang.js +6 -1
- package/lib/components/calendar/src/date-table.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.js +7 -9
- package/lib/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.js.map +1 -1
- package/lib/components/container/index.d.ts +103 -2
- package/lib/components/container/src/aside.vue.d.ts +11 -0
- package/lib/components/container/src/aside.vue_vue_type_script_lang.js +5 -1
- package/lib/components/container/src/aside.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/container/src/aside.vue_vue_type_template_id_47e12f0a_lang.js +2 -2
- package/lib/components/container/src/aside.vue_vue_type_template_id_47e12f0a_lang.js.map +1 -1
- package/lib/components/container/src/container.vue.d.ts +11 -0
- package/lib/components/container/src/container.vue_vue_type_script_lang.js +5 -1
- package/lib/components/container/src/container.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/container/src/container.vue_vue_type_template_id_60a2865a_lang.js +1 -1
- package/lib/components/container/src/footer.vue.d.ts +11 -0
- package/lib/components/container/src/footer.vue_vue_type_script_lang.js +5 -1
- package/lib/components/container/src/footer.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/container/src/footer.vue_vue_type_template_id_2c2b128e_lang.js +2 -2
- package/lib/components/container/src/footer.vue_vue_type_template_id_2c2b128e_lang.js.map +1 -1
- package/lib/components/container/src/header.vue.d.ts +11 -0
- package/lib/components/container/src/header.vue_vue_type_script_lang.js +5 -1
- package/lib/components/container/src/header.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/container/src/header.vue_vue_type_template_id_0b1cdaab_lang.js +2 -2
- package/lib/components/container/src/header.vue_vue_type_template_id_0b1cdaab_lang.js.map +1 -1
- package/lib/components/container/src/main.vue.d.ts +13 -1
- package/lib/components/container/src/main.vue_vue_type_script_lang.js +9 -1
- package/lib/components/container/src/main.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/container/src/main.vue_vue_type_template_id_526ed157_lang.js +4 -3
- package/lib/components/container/src/main.vue_vue_type_template_id_526ed157_lang.js.map +1 -1
- package/lib/components/descriptions/index.d.ts +11 -0
- package/lib/components/descriptions/src/descriptions-cell.js +14 -15
- package/lib/components/descriptions/src/descriptions-cell.js.map +1 -1
- package/lib/components/descriptions/src/index.vue.d.ts +11 -0
- package/lib/components/descriptions/src/index.vue_vue_type_script_lang.js +6 -4
- package/lib/components/descriptions/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.js +18 -16
- package/lib/components/descriptions/src/index.vue_vue_type_template_id_788d3854_lang.js.map +1 -1
- package/lib/components/slider/src/button.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.js +3 -4
- package/lib/components/slider/src/button.vue_vue_type_template_id_9cd3e794_lang.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-table.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table.scss +2 -2
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div class=\"el-calendar\">\n <div class=\"el-calendar__header\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div class=\"el-calendar__title\">{{ i18nDate }}</div>\n <div\n v-if=\"validatedRange.length === 0\"\n class=\"el-calendar__button-group\"\n >\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=\"el-calendar__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\"></slot>\n </template>\n </date-table>\n </div>\n <div v-else class=\"el-calendar__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\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils/error'\nimport DateTable from './date-table.vue'\nimport { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month').date(1)\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month').date(1)\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year').date(1)\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year').date(1)\n })\n\n const 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 const 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', result)\n emit('update:modelValue', result)\n },\n })\n\n const 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 })\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const 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 (firstMonth + 2 === lastMonth) {\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 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n // if range is valid, we get a two-digit array\n const 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('ElCalendar', '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 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\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\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DateTable","calendarProps","calendarEmits","dayjs","computed","debugWarn"],"mappings":";;;;;;;;;;;;;;;;;;AAuDA,aAAeA,mBAAe,CAAC;;AAE/B,EAAE,UAAU,EAAE;AACd,eAAIC;;AAEJ;;EAEE,KAAK,EAAEC;EACP,KAAK,EAAEC;EACP,KAAK,CAAC,KAAK;IACT,MAAM;;AAEV,IAAI,MAAM,GAAG,GAAGC,yBAAK,EAAE,CAAC,MAAM,CAAC;IAC3B,MAAM;;KAEL,CAAC,CAAC;IACH,MAAM;MACJ;KACD,CAAC,CAAC;;;KAGF,CAAC,CAAC;IACH,MAAM;;KAEL,CAAC,CAAC;IACH,MAAM,gBAAgBC,YAAQ;MAC5B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;KAC1B,CAAC,CAAC;;MAED,MAAM,WAAW,IAAI;MACrB,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;KAClC;IACD,MAAM,eAAe,eAAW,CAAC;MAC/B,GAAG;;;QAGD,OAAO,IAAI,CAAC,KAAK;OAClB;;;UAGG,OAAO;QACT,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;;;QAGxB,IAAI,CAAC,mBAAmB,EAAE,OAAO;OAClC;KACF;;MAEC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;QACrB,IAAI,eAAe,CAAC,KAAK,EAAE;UACzB,OAAO,eAAe,CAAC,KAAK,CAAC;;;;QAI/B;aACK;QACL,OAAOD,yBAAK,CAAC;OACd;MACD,CAAC;;YAEK,QAAQ,GAAG;YACX,OAAO,WAAW,CAAC;;YAEnB,YAAY;UACd,UAAU,KAAK,SAAS,EAAE;;;;QAI5B,MAAM,iBAAiB,UAAU,CAAC,OAAO,CAAC;cACpC,UAAU,GAAG;QACnB,MAAM,iBAAiB;eAChB;UACL,CAAC,QAAQ,EAAE,iBAAiB,CAAC;UAC7B,CAAC,iBAAiB,CAAC,OAAO,CAAC;;aAExB,IAAI;QACT;QACA,yBAAyB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;;;;QAI5C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACpD,OAAO;UACL,CAAC,QAAQ,EAAE,iBAAiB;UAC5B,CAAC;UACD,CAAC;SACF,CAAC;OACH,MAAM;QACLE,eAAS,CAAC,YAAY,EAAE;QACxB,OAAO,EAAE,CAAC;OACX;;UAEG;MACJ,IAAI,CAAC,KAAK,CAAC,KAAK;QACd,OAAO,EAAE,CAAC;MACZ;MACA,OAAO,UAAU,EAAE;MACnB,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE;QAChCA,eAAS,CAAC,YAAY,EAAE;QACxB,OAAO,EAAE,CAAC;;oBAEE,CAAC,OAAO,QAAQ,SAAS,CAAC,EAAE;QACxC,OAAO,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;;YAErD,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;UAC7BA,eAAS,CAAC;;SAEX;eACM;;;;MAIT,eAAe,CAAC,KAAK,GAAG,IAAI;MAC5B;UACI,UAAU,GAAG,CAAC,IAAI;UAClB,IAAI;;QAEN,GAAG,GAAG,cAAc,CAAC,MAAM;iBAClB,IAAI,KAAK,YAAY,EAAE;WAC7B,GAAG,cAAc,CAAC;aAChB;QACL;aACK,IAAI,IAAI,KAAK,WAAW,EAAE;cACzB,aAAa,CAAC;;QAEpB,GAAG,GAAG,GAAG,CAAC;;;QAGV,OAAO;cACD,GAAG,CAAC,CAAC;;WAER;;wBAEa;cACV;;UAEJ;;aAEG;gBACG;;MAEV;;;;;;"}
|
|
1
|
+
{"version":3,"file":"calendar.vue_vue_type_script_lang.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\"></slot>\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\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } 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/error'\nimport DateTable from './date-table.vue'\nimport { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('calendar')\n\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month').date(1)\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month').date(1)\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year').date(1)\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year').date(1)\n })\n\n const 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 const 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', result)\n emit('update:modelValue', result)\n },\n })\n\n const 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 })\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const 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 (firstMonth + 2 === lastMonth) {\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 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n // if range is valid, we get a two-digit array\n const 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('ElCalendar', '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 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\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\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DateTable","calendarProps","calendarEmits","ref","dayjs","computed","debugWarn"],"mappings":";;;;;;;;;;;;;;;;;;;AAoDA,aAAeA,mBAAe,CAAC;;AAE/B,EAAE,UAAU,EAAE;AACd,eAAIC;;AAEJ;;EAEE,KAAK,EAAEC;EACP,KAAK,EAAEC;EACP,KAAK,CAAC,KAAK;IACT,MAAM;;AAEV,IAAI,MAAM,WAAW,GAAGC,OAAG,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAGC;;MAEV;KACD,CAAC,CAAC;IACH,MAAM;MACJ,OAAOA;;;MAGP,OAAO,IAAI,CAAC;KACb,CAAC,CAAC;;MAED,OAAO,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;;MAED,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;KAC1B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAGC,YAAQ,CAAC,MAAM;;MAE9B,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;MACjC,CAAC;IACH;MACE,MAAM;QACJ,KAAK,KAAK,CAAC,UAAU;;;OAGtB;MACD,GAAG,CAAC,GAAG,EAAE;;;QAGP,WAAW,CAAC,QAAQ,GAAG,CAAC;QACxB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG;;;OAG7B;MACD,CAAC;IACH;;QAEI,IAAI,eAAe,CAAC,KAAK;UACvB,OAAO,eAAe,CAAC,KAAK,CAAC;SAC9B,MAAM,IAAI,cAAc,MAAM,CAAC,MAAM,EAAE;;;QAGxC,OAAO,GAAG,CAAC;OACZ;QACC,OAAOD,yBAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;;MAE7C,CAAC;UACG;YACE,QAAQ,GAAG;YACX,OAAO,GAAG,QAAQ;YAClB,aAAa,QAAQ,CAAC;;UAExB,UAAU,KAAK;QACjB,OAAO,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;OAC9B;;;QAGC,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO;cACtC;QACN,OAAO;UACL,CAAC,QAAQ,EAAE;UACX,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;UACpC;;QAEF;QACA;QACA,yBAAyB,GAAG,iBAAiB,CAAC;;;;QAI9C,OAAO;UACL,CAAC,QAAQ,EAAE,iBAAiB,CAAC;UAC7B,CAAC,mBAAmB,CAAC,OAAO;UAC5B,CAAC;SACF,CAAC;OACH,MAAM;QACLE,eAAS,CAAC,YAAY,EAAE;QACxB,OAAO,EAAE,CAAC;OACX;MACD;;MAEA,IAAI,CAAC,MAAM;eACF,EAAE,CAAC;YACN,aAAa,GAAG,KAAK,CAAC;MAC5B;MACA,IAAI,UAAU;QACZA,eAAS,CAAC,YAAY,EAAE;QACxB,OAAO,EAAE,CAAC;;;QAGV,OAAO,2BAA2B,CAAC,UAAU,EAAE,QAAQ,EAAE;;QAEzD,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;UAC7BA,eAAS,CAAC,YAAY,EAAE;UACxB,OAAO,EAAE,CAAC;;QAEZ,OAAO;;;;MAIT;MACA;oBACc,GAAG,CAAC,IAAI;UAClB,IAAI;UACJ,IAAI,KAAK,YAAY;;aAElB,IAAI,IAAI,KAAK,cAAc;QAChC,GAAG,GAAG,cAAc,CAAC,KAAK;aACrB,IAAI,IAAI,KAAK;WACf,GAAG;;cAEA,aAAa,CAAC,KAAK,CAAC;aACrB;;;UAGH,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;;aAE1B,CAAC,GAAG,EAAE;;WAER;;;cAGG;qBACO;;;aAGR;gBACG;;QAER;MACF;;;;;;"}
|
|
@@ -4,30 +4,24 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
|
|
7
|
-
const _hoisted_1 = { class: "el-calendar" };
|
|
8
|
-
const _hoisted_2 = { class: "el-calendar__header" };
|
|
9
|
-
const _hoisted_3 = { class: "el-calendar__title" };
|
|
10
|
-
const _hoisted_4 = {
|
|
11
|
-
key: 0,
|
|
12
|
-
class: "el-calendar__button-group"
|
|
13
|
-
};
|
|
14
|
-
const _hoisted_5 = {
|
|
15
|
-
key: 0,
|
|
16
|
-
class: "el-calendar__body"
|
|
17
|
-
};
|
|
18
|
-
const _hoisted_6 = {
|
|
19
|
-
key: 1,
|
|
20
|
-
class: "el-calendar__body"
|
|
21
|
-
};
|
|
22
7
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
23
8
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
24
9
|
const _component_el_button_group = vue.resolveComponent("el-button-group");
|
|
25
10
|
const _component_date_table = vue.resolveComponent("date-table");
|
|
26
|
-
return vue.openBlock(), vue.createElementBlock("div",
|
|
27
|
-
vue.
|
|
11
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
12
|
+
class: vue.normalizeClass(_ctx.ns.b())
|
|
13
|
+
}, [
|
|
14
|
+
vue.createElementVNode("div", {
|
|
15
|
+
class: vue.normalizeClass(_ctx.ns.e("header"))
|
|
16
|
+
}, [
|
|
28
17
|
vue.renderSlot(_ctx.$slots, "header", { date: _ctx.i18nDate }, () => [
|
|
29
|
-
vue.createElementVNode("div",
|
|
30
|
-
|
|
18
|
+
vue.createElementVNode("div", {
|
|
19
|
+
class: vue.normalizeClass(_ctx.ns.e("title"))
|
|
20
|
+
}, vue.toDisplayString(_ctx.i18nDate), 3),
|
|
21
|
+
_ctx.validatedRange.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
22
|
+
key: 0,
|
|
23
|
+
class: vue.normalizeClass(_ctx.ns.e("button-group"))
|
|
24
|
+
}, [
|
|
31
25
|
vue.createVNode(_component_el_button_group, null, {
|
|
32
26
|
default: vue.withCtx(() => [
|
|
33
27
|
vue.createVNode(_component_el_button, {
|
|
@@ -60,10 +54,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
60
54
|
]),
|
|
61
55
|
_: 1
|
|
62
56
|
})
|
|
63
|
-
])) : vue.createCommentVNode("v-if", true)
|
|
57
|
+
], 2)) : vue.createCommentVNode("v-if", true)
|
|
64
58
|
])
|
|
65
|
-
]),
|
|
66
|
-
_ctx.validatedRange.length === 0 ? (vue.openBlock(), vue.createElementBlock("div",
|
|
59
|
+
], 2),
|
|
60
|
+
_ctx.validatedRange.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
61
|
+
key: 0,
|
|
62
|
+
class: vue.normalizeClass(_ctx.ns.e("body"))
|
|
63
|
+
}, [
|
|
67
64
|
vue.createVNode(_component_date_table, {
|
|
68
65
|
date: _ctx.date,
|
|
69
66
|
"selected-day": _ctx.realSelectedDay,
|
|
@@ -76,7 +73,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
76
73
|
])
|
|
77
74
|
} : void 0
|
|
78
75
|
]), 1032, ["date", "selected-day", "onPick"])
|
|
79
|
-
])) : (vue.openBlock(), vue.createElementBlock("div",
|
|
76
|
+
], 2)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
77
|
+
key: 1,
|
|
78
|
+
class: vue.normalizeClass(_ctx.ns.e("body"))
|
|
79
|
+
}, [
|
|
80
80
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.validatedRange, (range_, index) => {
|
|
81
81
|
return vue.openBlock(), vue.createBlock(_component_date_table, {
|
|
82
82
|
key: index,
|
|
@@ -94,8 +94,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
94
94
|
} : void 0
|
|
95
95
|
]), 1032, ["date", "selected-day", "range", "hide-header", "onPick"]);
|
|
96
96
|
}), 128))
|
|
97
|
-
]))
|
|
98
|
-
]);
|
|
97
|
+
], 2))
|
|
98
|
+
], 2);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
exports.render = render;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.vue_vue_type_template_id_76705c76_lang.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue?vue&type=template&id=76705c76&lang.js"],"sourcesContent":["<template>\n <div class=\"
|
|
1
|
+
{"version":3,"file":"calendar.vue_vue_type_template_id_76705c76_lang.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue?vue&type=template&id=76705c76&lang.js"],"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\"></slot>\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\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } 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/error'\nimport DateTable from './date-table.vue'\nimport { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('calendar')\n\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month').date(1)\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month').date(1)\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year').date(1)\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year').date(1)\n })\n\n const 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 const 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', result)\n emit('update:modelValue', result)\n },\n })\n\n const 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 })\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const 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 (firstMonth + 2 === lastMonth) {\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 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n // if range is valid, we get a two-digit array\n const 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('ElCalendar', '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 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\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\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n\n ns,\n }\n },\n})\n</script>\n"],"names":["_createElementVNode","_renderSlot"],"mappings":";;;;;;;;;;;;;IACQA;;;MACEC,0BAAO;;8CACU;;wCACJ;;;;;mBAC+B;;;kCAE1C;;;;;;;;;;;;uFAG0C;;;;;;;;;;;;;;;;;;;;;;;;uBAUlD;;;;;gBACmB;YAAS,mBAAc;YAAkBA;;;;2BACtB;;;;;;;;;;UAKzB;;gCACX;;;cAGG,eAAY;cACZA,mBAAc;cACd;cACA;;;;;;;;;"}
|
|
@@ -24,6 +24,28 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
24
24
|
day: string;
|
|
25
25
|
date: Date;
|
|
26
26
|
};
|
|
27
|
+
nsTable: {
|
|
28
|
+
namespace: import("vue").ComputedRef<string>;
|
|
29
|
+
b: (blockSuffix?: string) => string;
|
|
30
|
+
e: (element?: string | undefined) => string;
|
|
31
|
+
m: (modifier?: string | undefined) => string;
|
|
32
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
33
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
34
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
35
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
36
|
+
is: (name: string, state?: boolean) => string;
|
|
37
|
+
};
|
|
38
|
+
nsDay: {
|
|
39
|
+
namespace: import("vue").ComputedRef<string>;
|
|
40
|
+
b: (blockSuffix?: string) => string;
|
|
41
|
+
e: (element?: string | undefined) => string;
|
|
42
|
+
m: (modifier?: string | undefined) => string;
|
|
43
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
44
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
45
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
46
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
47
|
+
is: (name: string, state?: boolean) => string;
|
|
48
|
+
};
|
|
27
49
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
28
50
|
pick: (value: dayjs.Dayjs) => boolean;
|
|
29
51
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -10,6 +10,7 @@ require('../../time-picker/index.js');
|
|
|
10
10
|
var dateTable = require('./date-table.js');
|
|
11
11
|
var dateUtils = require('../../time-picker/src/common/date-utils.js');
|
|
12
12
|
var index = require('../../../hooks/use-locale/index.js');
|
|
13
|
+
var index$1 = require('../../../hooks/use-namespace/index.js');
|
|
13
14
|
|
|
14
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
16
|
|
|
@@ -35,6 +36,8 @@ var script = vue.defineComponent({
|
|
|
35
36
|
emits: dateTable.dateTableEmits,
|
|
36
37
|
setup(props, { emit }) {
|
|
37
38
|
const { t, lang } = index.useLocale();
|
|
39
|
+
const nsTable = index$1.useNamespace("calendar-table");
|
|
40
|
+
const nsDay = index$1.useNamespace("calendar-day");
|
|
38
41
|
const now = dayjs__default["default"]().locale(lang.value);
|
|
39
42
|
const firstDayOfWeek = now.$locale().weekStart || 0;
|
|
40
43
|
const isInRange = vue.computed(() => !!props.range && !!props.range.length);
|
|
@@ -122,7 +125,9 @@ var script = vue.defineComponent({
|
|
|
122
125
|
rows,
|
|
123
126
|
getCellClass,
|
|
124
127
|
handlePickDay,
|
|
125
|
-
getSlotData
|
|
128
|
+
getSlotData,
|
|
129
|
+
nsTable,
|
|
130
|
+
nsDay
|
|
126
131
|
};
|
|
127
132
|
}
|
|
128
133
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-table.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"
|
|
1
|
+
{"version":3,"file":"date-table.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"dateCell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { dateTableProps, dateTableEmits } from './date-table'\nimport type { Dayjs } from 'dayjs'\ndayjs.extend(localeData)\n\ntype CellType = 'next' | 'prev' | 'current'\ninterface Cell {\n text: number\n type: CellType\n}\n\nconst WEEK_DAYS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'] as const\n\nexport const getPrevMonthLastDays = (date: Dayjs, count: number) => {\n const lastDay = date.subtract(1, 'month').endOf('month').date()\n return rangeArr(count).map((_, index) => lastDay - (count - index - 1))\n}\n\nexport const getMonthDays = (date: Dayjs) => {\n const days = date.daysInMonth()\n return rangeArr(days).map((_, index) => index + 1)\n}\n\nconst toNestedArr = (days: Cell[]) =>\n rangeArr(days.length / 7).map((index) => {\n const start = index * 7\n return days.slice(start, start + 7)\n })\n\nexport default defineComponent({\n props: dateTableProps,\n emits: dateTableEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const nsTable = useNamespace('calendar-table')\n const nsDay = useNamespace('calendar-day')\n\n const now = dayjs().locale(lang.value)\n // todo better way to get Day.js locale object\n const firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\n const isInRange = computed(() => !!props.range && !!props.range.length)\n\n const rows = computed(() => {\n let days: Cell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: Cell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: Cell[] = rangeArr(remaining).map((_, index) => ({\n text: index + 1,\n type: 'next',\n }))\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day() || 7\n const prevMonthDays: Cell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: Cell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const nextMonthDays: Cell[] = rangeArr(42 - days.length).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n })\n\n const weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n })\n\n const getFormattedDate = (day: number, type: CellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n }\n\n const getCellClass = ({ text, type }: Cell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push('is-selected')\n }\n if (date.isSame(now, 'day')) {\n classes.push('is-today')\n }\n }\n return classes\n }\n\n const handlePickDay = ({ text, type }: Cell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n }\n\n const getSlotData = ({ text, type }: Cell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n }\n\n return {\n isInRange,\n weekDays,\n rows,\n getCellClass,\n handlePickDay,\n getSlotData,\n\n nsTable,\n nsDay,\n }\n },\n})\n</script>\n"],"names":["dayjs","localeData","rangeArr","defineComponent","useLocale","useNamespace","computed"],"mappings":";;;;;;;;;;;;;;;;;;;AA0CAA,yBAAK,OAAO,CAACC,8BAAU,EAAE;AACzB,eAAe,GAAG,MAAM,OAAO,EAAE;AACrB,MAAC;;AAEb,EAAE,OAAOC,kBAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ;AACtC,EAAE;AACU,MAAC;EACX,MAAM,IAAI,GAAG;AACf;;AAEA,MAAM,cAAc,CAAC,SAASA,kBAAQ,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK;;AAEvE,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC;EACpC,CAAC;aACYC,mBAAe,CAAC;AAC/B;;AAEA,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE;IACnB,MAAM,GAAG,EAAE,IAAI,EAAE,GAAGC;IACpB,MAAM,OAAO,GAAGC,oBAAY,CAAC,iBAAiB,CAAC;AACnD;;AAEA,IAAI,MAAM,cAAc,GAAG,GAAG,CAAC;IAC3B,MAAM,SAAS,eAAW,CAAC,MAAM,CAAC;IAClC,MAAM,IAAI,gBAAY;MACpB,QAAQ,GAAG,EAAE,CAAC;;;AAGpB,QAAQ,uBAAuB;UACrB,IAAI,EAAE,KAAK,CAAC;UACZ,IAAI,EAAE;;QAER,IAAI;QACJ,SAAS,GAAG,SAAS,KAAK;QAC1B,MAAM,cAAc,GAAGH,kBAAQ,CAAC,SAAS;UACvC,IAAI,EAAE,KAAK,GAAG,CAAC;;UAEf,CAAC,CAAC;QACJ,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC;OACjC,MAAM;;QAEL,MAAM,aAAa,GAAG,qBAAqB,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG;;UAEhE,YAAY;UACZ,CAAC,CAAC;cACE;UACJ,IAAI,EAAE,GAAG;UACT,IAAI,EAAE,SAAS;UACf,CAAC,CAAC;QACJ,IAAI,GAAG,CAAC,GAAG;cACL,aAAa;UACjB,IAAI,EAAE,KAAK,GAAG,CAAC;UACf;;QAEF,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;;wBAElB,CAAC,KAAK,CAAC;;UAErB,QAAQ,GAAGI;;UAEX,KAAK,KAAK,CAAC,EAAE;QACf;;QAEA,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;;;UAG7C;cACI,IAAI;aACL,MAAM;UACT;QACF,WAAW;UACT,OAAO;aACJ;sBACS,CAAC,IAAI;;;UAGjB,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;YACjC,OAAO,GAAG,CAAC,IAAI,EAAE;UACnB,IAAI,KAAK;cACL,IAAI,GAAG;YACT,IAAI,OAAO,CAAC;UACd;;QAEF,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;;SAE5B;;;KAGJ,CAAC;UACI,aAAa,GAAG,CAAC,EAAE,IAAI;MAC3B,MAAM,IAAI;UACN,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;MACnB;UACI,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE;YACrB,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE;aAC5B;;;;QAIL,IAAI,EAAE,GAAG,CAAC,MAAM;OACjB,CAAC;;WAEG;eACI;cACD;UACJ;kBACQ;MACZ;;;MAGA,KAAK;MACL;;;;;;;;"}
|
|
@@ -6,13 +6,9 @@ var vue = require('vue');
|
|
|
6
6
|
|
|
7
7
|
const _hoisted_1 = { key: 0 };
|
|
8
8
|
const _hoisted_2 = ["onClick"];
|
|
9
|
-
const _hoisted_3 = { class: "el-calendar-day" };
|
|
10
9
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
11
10
|
return vue.openBlock(), vue.createElementBlock("table", {
|
|
12
|
-
class: vue.normalizeClass(
|
|
13
|
-
"el-calendar-table": true,
|
|
14
|
-
"is-range": _ctx.isInRange
|
|
15
|
-
}),
|
|
11
|
+
class: vue.normalizeClass([_ctx.nsTable.b(), _ctx.nsTable.is("range", _ctx.isInRange)]),
|
|
16
12
|
cellspacing: "0",
|
|
17
13
|
cellpadding: "0"
|
|
18
14
|
}, [
|
|
@@ -26,8 +22,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
26
22
|
return vue.openBlock(), vue.createElementBlock("tr", {
|
|
27
23
|
key: index,
|
|
28
24
|
class: vue.normalizeClass({
|
|
29
|
-
"
|
|
30
|
-
"
|
|
25
|
+
[_ctx.nsTable.e("row")]: true,
|
|
26
|
+
[_ctx.nsTable.em("row", "hide-border")]: index === 0 && _ctx.hideHeader
|
|
31
27
|
})
|
|
32
28
|
}, [
|
|
33
29
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(row, (cell, key) => {
|
|
@@ -36,13 +32,15 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
36
32
|
class: vue.normalizeClass(_ctx.getCellClass(cell)),
|
|
37
33
|
onClick: ($event) => _ctx.handlePickDay(cell)
|
|
38
34
|
}, [
|
|
39
|
-
vue.createElementVNode("div",
|
|
35
|
+
vue.createElementVNode("div", {
|
|
36
|
+
class: vue.normalizeClass(_ctx.nsDay.b())
|
|
37
|
+
}, [
|
|
40
38
|
vue.renderSlot(_ctx.$slots, "dateCell", {
|
|
41
39
|
data: _ctx.getSlotData(cell)
|
|
42
40
|
}, () => [
|
|
43
41
|
vue.createElementVNode("span", null, vue.toDisplayString(cell.text), 1)
|
|
44
42
|
])
|
|
45
|
-
])
|
|
43
|
+
], 2)
|
|
46
44
|
], 10, _hoisted_2);
|
|
47
45
|
}), 128))
|
|
48
46
|
], 2);
|
package/lib/components/calendar/src/date-table.vue_vue_type_template_id_297fdb36_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-table.vue_vue_type_template_id_297fdb36_lang.js","sources":["../../../../../../packages/components/calendar/src/date-table.vue?vue&type=template&id=297fdb36&lang.js"],"sourcesContent":["<template>\n <table\n :class=\"
|
|
1
|
+
{"version":3,"file":"date-table.vue_vue_type_template_id_297fdb36_lang.js","sources":["../../../../../../packages/components/calendar/src/date-table.vue?vue&type=template&id=297fdb36&lang.js"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"dateCell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { dateTableProps, dateTableEmits } from './date-table'\nimport type { Dayjs } from 'dayjs'\ndayjs.extend(localeData)\n\ntype CellType = 'next' | 'prev' | 'current'\ninterface Cell {\n text: number\n type: CellType\n}\n\nconst WEEK_DAYS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'] as const\n\nexport const getPrevMonthLastDays = (date: Dayjs, count: number) => {\n const lastDay = date.subtract(1, 'month').endOf('month').date()\n return rangeArr(count).map((_, index) => lastDay - (count - index - 1))\n}\n\nexport const getMonthDays = (date: Dayjs) => {\n const days = date.daysInMonth()\n return rangeArr(days).map((_, index) => index + 1)\n}\n\nconst toNestedArr = (days: Cell[]) =>\n rangeArr(days.length / 7).map((index) => {\n const start = index * 7\n return days.slice(start, start + 7)\n })\n\nexport default defineComponent({\n props: dateTableProps,\n emits: dateTableEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const nsTable = useNamespace('calendar-table')\n const nsDay = useNamespace('calendar-day')\n\n const now = dayjs().locale(lang.value)\n // todo better way to get Day.js locale object\n const firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\n const isInRange = computed(() => !!props.range && !!props.range.length)\n\n const rows = computed(() => {\n let days: Cell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: Cell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: Cell[] = rangeArr(remaining).map((_, index) => ({\n text: index + 1,\n type: 'next',\n }))\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day() || 7\n const prevMonthDays: Cell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: Cell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const nextMonthDays: Cell[] = rangeArr(42 - days.length).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n })\n\n const weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n })\n\n const getFormattedDate = (day: number, type: CellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n }\n\n const getCellClass = ({ text, type }: Cell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push('is-selected')\n }\n if (date.isSame(now, 'day')) {\n classes.push('is-today')\n }\n }\n return classes\n }\n\n const handlePickDay = ({ text, type }: Cell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n }\n\n const getSlotData = ({ text, type }: Cell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n }\n\n return {\n isInRange,\n weekDays,\n rows,\n getCellClass,\n handlePickDay,\n getSlotData,\n\n nsTable,\n nsDay,\n }\n },\n})\n</script>\n"],"names":["_createElementVNode"],"mappings":";;;;;;;;;;;;IAEK;;IAED;;;;gCAGE;;;;;;yBAIA;;;;;;;;;;cAUKA;yDACmB;;;;;;;kBAIK;mBAAvB;kBACE;;;;;;;;;"}
|
|
@@ -5,6 +5,17 @@ export declare const ElContainer: import("../../utils/types").SFCWithInstall<imp
|
|
|
5
5
|
};
|
|
6
6
|
}, {
|
|
7
7
|
isVertical: import("vue").ComputedRef<boolean>;
|
|
8
|
+
ns: {
|
|
9
|
+
namespace: import("vue").ComputedRef<string>;
|
|
10
|
+
b: (blockSuffix?: string) => string;
|
|
11
|
+
e: (element?: string | undefined) => string;
|
|
12
|
+
m: (modifier?: string | undefined) => string;
|
|
13
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
14
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
15
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
16
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
17
|
+
is: (name: string, state?: boolean) => string;
|
|
18
|
+
};
|
|
8
19
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
9
20
|
direction: {
|
|
10
21
|
type: StringConstructor;
|
|
@@ -20,6 +31,17 @@ export declare const ElContainer: import("../../utils/types").SFCWithInstall<imp
|
|
|
20
31
|
};
|
|
21
32
|
}, {
|
|
22
33
|
style: import("vue").ComputedRef<import("vue").CSSProperties>;
|
|
34
|
+
ns: {
|
|
35
|
+
namespace: import("vue").ComputedRef<string>;
|
|
36
|
+
b: (blockSuffix?: string) => string;
|
|
37
|
+
e: (element?: string | undefined) => string;
|
|
38
|
+
m: (modifier?: string | undefined) => string;
|
|
39
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
40
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
41
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
42
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
43
|
+
is: (name: string, state?: boolean) => string;
|
|
44
|
+
};
|
|
23
45
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
46
|
width: {
|
|
25
47
|
type: StringConstructor;
|
|
@@ -35,6 +57,17 @@ export declare const ElContainer: import("../../utils/types").SFCWithInstall<imp
|
|
|
35
57
|
};
|
|
36
58
|
}, {
|
|
37
59
|
style: import("vue").ComputedRef<import("vue").CSSProperties>;
|
|
60
|
+
ns: {
|
|
61
|
+
namespace: import("vue").ComputedRef<string>;
|
|
62
|
+
b: (blockSuffix?: string) => string;
|
|
63
|
+
e: (element?: string | undefined) => string;
|
|
64
|
+
m: (modifier?: string | undefined) => string;
|
|
65
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
66
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
67
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
68
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
69
|
+
is: (name: string, state?: boolean) => string;
|
|
70
|
+
};
|
|
38
71
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
39
72
|
height: {
|
|
40
73
|
type: StringConstructor;
|
|
@@ -50,6 +83,17 @@ export declare const ElContainer: import("../../utils/types").SFCWithInstall<imp
|
|
|
50
83
|
};
|
|
51
84
|
}, {
|
|
52
85
|
style: import("vue").ComputedRef<import("vue").CSSProperties>;
|
|
86
|
+
ns: {
|
|
87
|
+
namespace: import("vue").ComputedRef<string>;
|
|
88
|
+
b: (blockSuffix?: string) => string;
|
|
89
|
+
e: (element?: string | undefined) => string;
|
|
90
|
+
m: (modifier?: string | undefined) => string;
|
|
91
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
92
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
93
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
94
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
95
|
+
is: (name: string, state?: boolean) => string;
|
|
96
|
+
};
|
|
53
97
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
54
98
|
height: {
|
|
55
99
|
type: StringConstructor;
|
|
@@ -58,7 +102,19 @@ export declare const ElContainer: import("../../utils/types").SFCWithInstall<imp
|
|
|
58
102
|
}>>, {
|
|
59
103
|
height: string;
|
|
60
104
|
}>;
|
|
61
|
-
Main: import("vue").DefineComponent<{}, {
|
|
105
|
+
Main: import("vue").DefineComponent<{}, {
|
|
106
|
+
ns: {
|
|
107
|
+
namespace: import("vue").ComputedRef<string>;
|
|
108
|
+
b: (blockSuffix?: string) => string;
|
|
109
|
+
e: (element?: string | undefined) => string;
|
|
110
|
+
m: (modifier?: string | undefined) => string;
|
|
111
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
112
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
113
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
114
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
115
|
+
is: (name: string, state?: boolean) => string;
|
|
116
|
+
};
|
|
117
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
62
118
|
};
|
|
63
119
|
export default ElContainer;
|
|
64
120
|
export declare const ElAside: import("../../utils/types").SFCWithInstall<import("vue").DefineComponent<{
|
|
@@ -68,6 +124,17 @@ export declare const ElAside: import("../../utils/types").SFCWithInstall<import(
|
|
|
68
124
|
};
|
|
69
125
|
}, {
|
|
70
126
|
style: import("vue").ComputedRef<import("vue").CSSProperties>;
|
|
127
|
+
ns: {
|
|
128
|
+
namespace: import("vue").ComputedRef<string>;
|
|
129
|
+
b: (blockSuffix?: string) => string;
|
|
130
|
+
e: (element?: string | undefined) => string;
|
|
131
|
+
m: (modifier?: string | undefined) => string;
|
|
132
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
133
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
134
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
135
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
136
|
+
is: (name: string, state?: boolean) => string;
|
|
137
|
+
};
|
|
71
138
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
72
139
|
width: {
|
|
73
140
|
type: StringConstructor;
|
|
@@ -83,6 +150,17 @@ export declare const ElFooter: import("../../utils/types").SFCWithInstall<import
|
|
|
83
150
|
};
|
|
84
151
|
}, {
|
|
85
152
|
style: import("vue").ComputedRef<import("vue").CSSProperties>;
|
|
153
|
+
ns: {
|
|
154
|
+
namespace: import("vue").ComputedRef<string>;
|
|
155
|
+
b: (blockSuffix?: string) => string;
|
|
156
|
+
e: (element?: string | undefined) => string;
|
|
157
|
+
m: (modifier?: string | undefined) => string;
|
|
158
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
159
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
160
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
161
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
162
|
+
is: (name: string, state?: boolean) => string;
|
|
163
|
+
};
|
|
86
164
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
87
165
|
height: {
|
|
88
166
|
type: StringConstructor;
|
|
@@ -98,6 +176,17 @@ export declare const ElHeader: import("../../utils/types").SFCWithInstall<import
|
|
|
98
176
|
};
|
|
99
177
|
}, {
|
|
100
178
|
style: import("vue").ComputedRef<import("vue").CSSProperties>;
|
|
179
|
+
ns: {
|
|
180
|
+
namespace: import("vue").ComputedRef<string>;
|
|
181
|
+
b: (blockSuffix?: string) => string;
|
|
182
|
+
e: (element?: string | undefined) => string;
|
|
183
|
+
m: (modifier?: string | undefined) => string;
|
|
184
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
185
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
186
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
187
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
188
|
+
is: (name: string, state?: boolean) => string;
|
|
189
|
+
};
|
|
101
190
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
102
191
|
height: {
|
|
103
192
|
type: StringConstructor;
|
|
@@ -106,4 +195,16 @@ export declare const ElHeader: import("../../utils/types").SFCWithInstall<import
|
|
|
106
195
|
}>>, {
|
|
107
196
|
height: string;
|
|
108
197
|
}>>;
|
|
109
|
-
export declare const ElMain: import("../../utils/types").SFCWithInstall<import("vue").DefineComponent<{}, {
|
|
198
|
+
export declare const ElMain: import("../../utils/types").SFCWithInstall<import("vue").DefineComponent<{}, {
|
|
199
|
+
ns: {
|
|
200
|
+
namespace: import("vue").ComputedRef<string>;
|
|
201
|
+
b: (blockSuffix?: string) => string;
|
|
202
|
+
e: (element?: string | undefined) => string;
|
|
203
|
+
m: (modifier?: string | undefined) => string;
|
|
204
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
205
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
206
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
207
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
208
|
+
is: (name: string, state?: boolean) => string;
|
|
209
|
+
};
|
|
210
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
|
|
@@ -6,6 +6,17 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
6
6
|
};
|
|
7
7
|
}, {
|
|
8
8
|
style: import("vue").ComputedRef<CSSProperties>;
|
|
9
|
+
ns: {
|
|
10
|
+
namespace: import("vue").ComputedRef<string>;
|
|
11
|
+
b: (blockSuffix?: string) => string;
|
|
12
|
+
e: (element?: string | undefined) => string;
|
|
13
|
+
m: (modifier?: string | undefined) => string;
|
|
14
|
+
be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
|
|
15
|
+
em: (element?: string | undefined, modifier?: string | undefined) => string;
|
|
16
|
+
bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
|
|
17
|
+
bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
|
|
18
|
+
is: (name: string, state?: boolean) => string;
|
|
19
|
+
};
|
|
9
20
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
10
21
|
width: {
|
|
11
22
|
type: StringConstructor;
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
|
+
require('../../../hooks/index.js');
|
|
7
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
6
8
|
|
|
7
9
|
var script = vue.defineComponent({
|
|
8
10
|
name: "ElAside",
|
|
@@ -13,10 +15,12 @@ var script = vue.defineComponent({
|
|
|
13
15
|
}
|
|
14
16
|
},
|
|
15
17
|
setup(props) {
|
|
18
|
+
const ns = index.useNamespace("aside");
|
|
16
19
|
return {
|
|
17
20
|
style: vue.computed(() => {
|
|
18
21
|
return props.width ? { "--el-aside-width": props.width } : {};
|
|
19
|
-
})
|
|
22
|
+
}),
|
|
23
|
+
ns
|
|
20
24
|
};
|
|
21
25
|
}
|
|
22
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aside.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/container/src/aside.vue"],"sourcesContent":["<template>\n <aside class=\"
|
|
1
|
+
{"version":3,"file":"aside.vue_vue_type_script_lang.js","sources":["../../../../../../packages/components/container/src/aside.vue"],"sourcesContent":["<template>\n <aside :class=\"ns.b()\" :style=\"style\">\n <slot></slot>\n </aside>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElAside',\n props: {\n width: {\n type: String,\n default: null,\n },\n },\n setup(props) {\n const ns = useNamespace('aside')\n\n return {\n style: computed(() => {\n return props.width\n ? ({ '--el-aside-width': props.width } as CSSProperties)\n : {}\n }),\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","useNamespace"],"mappings":";;;;;;;;AAOA,aAAeA,mBAAe,CAAC;;AAE/B,EAAE,KAAK,EAAE;;AAET,UAAU,EAAE,MAAM;MACZ,OAAO,EAAE;KACV;;OAEE,CAAC,KAAK,EAAE;UACL,EAAE,GAAGC;IACX;;QAEI,OAAO;OACR,CAAC;;KAEH,CAAC;;;;;;"}
|
|
@@ -6,11 +6,11 @@ var vue = require('vue');
|
|
|
6
6
|
|
|
7
7
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
8
8
|
return vue.openBlock(), vue.createElementBlock("aside", {
|
|
9
|
-
class:
|
|
9
|
+
class: vue.normalizeClass(_ctx.ns.b()),
|
|
10
10
|
style: vue.normalizeStyle(_ctx.style)
|
|
11
11
|
}, [
|
|
12
12
|
vue.renderSlot(_ctx.$slots, "default")
|
|
13
|
-
],
|
|
13
|
+
], 6);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
exports.render = render;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aside.vue_vue_type_template_id_47e12f0a_lang.js","sources":["../../../../../../packages/components/container/src/aside.vue?vue&type=template&id=47e12f0a&lang.js"],"sourcesContent":["<template>\n <aside class=\"
|
|
1
|
+
{"version":3,"file":"aside.vue_vue_type_template_id_47e12f0a_lang.js","sources":["../../../../../../packages/components/container/src/aside.vue?vue&type=template&id=47e12f0a&lang.js"],"sourcesContent":["<template>\n <aside :class=\"ns.b()\" :style=\"style\">\n <slot></slot>\n </aside>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElAside',\n props: {\n width: {\n type: String,\n default: null,\n },\n },\n setup(props) {\n const ns = useNamespace('aside')\n\n return {\n style: computed(() => {\n return props.width\n ? ({ '--el-aside-width': props.width } as CSSProperties)\n : {}\n }),\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;IACU,KAAK,qBAAE;;;;;;;;"}
|