Vulture/VApp/node_modules/vuetify/lib/labs/VCalendar/VCalendar.mjs.map

1 line
13 KiB
Plaintext

{"version":3,"file":"VCalendar.mjs","names":["makeVCalendarDayProps","VCalendarDay","makeVCalendarHeaderProps","VCalendarHeader","VCalendarMonthDay","makeCalendarProps","useCalendar","useDate","computed","chunkArray","genericComponent","propsFactory","useRender","makeVCalendarProps","hideHeader","Boolean","hideWeekNumber","VCalendar","name","props","emits","next","prev","setup","_ref","emit","slots","adapter","daysInMonth","daysInWeek","genDays","model","weekNumbers","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","Date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","_mergeProps","weekdays","length","hideDayHeader","sort","a","b","map","weekday","week","wi","day","isSameDay","date","undefined","events","filter","e","start","end","i"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendar.sass'\n\n// Components\nimport { makeVCalendarDayProps, VCalendarDay } from './VCalendarDay'\nimport { makeVCalendarHeaderProps, VCalendarHeader } from './VCalendarHeader'\nimport { VCalendarMonthDay } from './VCalendarMonthDay'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { chunkArray, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarProps = propsFactory({\n hideHeader: Boolean,\n hideWeekNumber: Boolean,\n\n ...makeCalendarProps(),\n ...makeVCalendarDayProps(),\n ...makeVCalendarHeaderProps(),\n}, 'VCalender')\n\nexport type VCalendarSlots = {\n header: { title: string }\n}\n\nexport const VCalendar = genericComponent<VCalendarSlots>()({\n name: 'VCalendar',\n\n props: makeVCalendarProps(),\n\n emits: {\n next: null,\n prev: null,\n 'update:modelValue': null,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n\n const { daysInMonth, daysInWeek, genDays, model, weekNumbers } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(model.value[0], 1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(model.value[0], 7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(model.value[0], 1)]\n }\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(model.value[0], -1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(model.value[0], -7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(model.value[0], -1)]\n }\n }\n\n function onClickToday () {\n model.value = [new Date()]\n }\n\n const title = computed(() => {\n return adapter.format(model.value[0], 'monthAndYear')\n })\n\n useRender(() => {\n const calendarDayProps = VCalendarDay.filterProps(props)\n const calendarHeaderProps = VCalendarHeader.filterProps(props)\n\n return (\n <div class={[\n 'v-calendar',\n {\n 'v-calendar-monthly': props.viewMode === 'month',\n 'v-calendar-weekly': props.viewMode === 'week',\n 'v-calendar-day': props.viewMode === 'day',\n },\n ]}\n >\n <div>\n { !props.hideHeader && (\n !slots.header ? (\n <VCalendarHeader\n key=\"calendar-header\"\n { ...calendarHeaderProps }\n title={ title.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:toToday={ onClickToday }\n />\n ) : (\n slots.header({ title: title.value })\n )\n )}\n </div>\n\n <div class={['v-calendar__container', `days__${props.weekdays.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : []),\n ]\n }\n key=\"calenderWeeklyHead\"\n >\n { !props.hideWeekNumber ? <div key=\"weekNumber0\" class=\"v-calendar-weekly__head-weeknumber\"></div> : '' }\n {\n props.weekdays.sort((a, b) => a - b).map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { dayNames[weekday] }\n </div>\n ))\n }\n </div>\n )}\n\n { props.viewMode === 'month' && (\n <div\n key=\"VCalendarMonth\"\n class={\n [\n 'v-calendar-month__days',\n `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, props.weekdays.length)\n .map((week, wi) => (\n [\n !props.hideWeekNumber ? <div class=\"v-calendar-month__weeknumber\">{ weekNumbers.value[wi] }</div> : '',\n week.map(day => (\n <VCalendarMonthDay\n color={ adapter.isSameDay(new Date(), day.date) ? 'primary' : undefined }\n day={ day }\n title={ day ? adapter.format(day.date, 'dayOfMonth') : 'NaN' }\n events={ props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end)) }\n ></VCalendarMonthDay>\n )),\n ]\n ))}\n </div>\n )}\n\n { props.viewMode === 'week' && (\n daysInWeek.value.map((day, i) => (\n <VCalendarDay\n { ...calendarDayProps }\n day={ day }\n dayIndex={ i }\n events={ props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)) }\n ></VCalendarDay>\n ))\n )}\n\n { props.viewMode === 'day' && (\n <VCalendarDay\n { ...calendarDayProps }\n day={ genDays([model.value[0] as Date], adapter.date() as Date)[0] }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([model.value[0] as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([model.value[0] as Date], adapter.date() as Date)[0].date)\n )\n }\n ></VCalendarDay>\n )}\n </div>\n </div>\n )\n })\n\n return { daysInMonth, daysInWeek, genDays }\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":"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"}