1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
- // Styles
- import "./VCalendarDay.css";
- // Components
- import { makeVCalendarIntervalProps, VCalendarInterval } from "./VCalendarInterval.mjs";
- import { VBtn } from "../../components/VBtn/index.mjs"; // Composables
- import { useDate } from "../../composables/date/index.mjs"; // Utilities
- import { computed } from 'vue';
- import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
- export const makeVCalendarDayProps = propsFactory({
- hideDayHeader: Boolean,
- intervals: {
- type: Number,
- default: 24
- },
- ...makeVCalendarIntervalProps()
- }, 'VCalendarDay');
- export const VCalendarDay = genericComponent()({
- name: 'VCalendarDay',
- props: makeVCalendarDayProps(),
- setup(props) {
- const adapter = useDate();
- const intervals = computed(() => [...Array.from({
- length: props.intervals
- }, (v, i) => i).filter((int, index) => props.intervalDuration * (index + props.intervalStart) < 1440)]);
- useRender(() => {
- const calendarIntervalProps = VCalendarInterval.filterProps(props);
- return _createVNode("div", {
- "class": "v-calendar-day__container"
- }, [!props.hideDayHeader && _createVNode("div", {
- "key": "calender-week-name",
- "class": "v-calendar-weekly__head-weekday"
- }, [adapter.format(props.day.date, 'weekdayShort'), _createVNode("div", null, [_createVNode(VBtn, {
- "icon": true,
- "text": adapter.format(props.day.date, 'dayOfMonth'),
- "variant": "text"
- }, null)])]), intervals.value.map((_, index) => _createVNode(VCalendarInterval, _mergeProps({
- "index": index
- }, calendarIntervalProps), null))]);
- });
- return {
- intervals
- };
- }
- });
- //# sourceMappingURL=VCalendarDay.mjs.map
|