element-plus
Version:
A Component Library for Vue 3
1 lines • 7.6 kB
Source Map (JSON)
{"version":3,"file":"calendar.vue2.mjs","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\n v-if=\"validatedRange.length === 0 && controllerType === 'button'\"\n :class=\"ns.e('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 <div\n v-else-if=\"validatedRange.length === 0 && controllerType === 'select'\"\n :class=\"ns.e('select-controller')\"\n >\n <select-controller\n :date=\"date\"\n :formatter=\"formatter\"\n @date-change=\"handleDateChange\"\n />\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['date-cell']\" #date-cell=\"data\">\n <slot name=\"date-cell\" 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['date-cell']\" #date-cell=\"data\">\n <slot name=\"date-cell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport DateTable from './date-table.vue'\nimport { useCalendar } from './use-calendar'\nimport { calendarEmits } from './calendar'\nimport SelectController from './select-controller.vue'\n\nimport type { CalendarProps } from './calendar'\n\nconst ns = useNamespace('calendar')\n\nconst COMPONENT_NAME = 'ElCalendar'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = withDefaults(defineProps<CalendarProps>(), {\n controllerType: 'button',\n})\nconst emit = defineEmits(calendarEmits)\n\nconst {\n calculateValidatedDateRange,\n date,\n pickDay,\n realSelectedDay,\n selectDate,\n validatedRange,\n handleDateChange,\n} = useCalendar(props, emit, COMPONENT_NAME)\n\nconst { t } = useLocale()\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\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":["_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot","_createVNode","SelectController","DateTable","$slots","_withCtx","_openBlock","_Fragment","_renderList","_createBlock","_mergeProps"],"mappings":"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"}