vuetify 3.10.2 → 3.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +3585 -3581
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +136 -136
- package/dist/json/tags.json +1 -0
- package/dist/json/web-types.json +6506 -6482
- package/dist/vuetify-labs.cjs +124 -92
- package/dist/vuetify-labs.css +4941 -4941
- package/dist/vuetify-labs.d.ts +1375 -1363
- package/dist/vuetify-labs.esm.js +125 -93
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +124 -92
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +116 -87
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +6491 -6491
- package/dist/vuetify.d.ts +1120 -1108
- package/dist/vuetify.esm.js +116 -87
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +116 -87
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1435 -1428
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.d.ts +3 -3
- package/lib/components/VAlert/VAlertTitle.d.ts +3 -3
- package/lib/components/VApp/VApp.d.ts +3 -3
- package/lib/components/VAppBar/VAppBar.d.ts +3 -3
- package/lib/components/VAppBar/VAppBarNavIcon.d.ts +6 -6
- package/lib/components/VAppBar/VAppBarTitle.d.ts +3 -3
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +116 -116
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VAvatar/VAvatar.d.ts +3 -3
- package/lib/components/VBadge/VBadge.d.ts +3 -3
- package/lib/components/VBanner/VBanner.d.ts +3 -3
- package/lib/components/VBanner/VBannerActions.d.ts +3 -3
- package/lib/components/VBanner/VBannerText.d.ts +3 -3
- package/lib/components/VBottomNavigation/VBottomNavigation.d.ts +3 -3
- package/lib/components/VBottomSheet/VBottomSheet.d.ts +3 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbs.d.ts +3 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.d.ts +3 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.d.ts +3 -3
- package/lib/components/VBtn/VBtn.d.ts +6 -6
- package/lib/components/VBtn/VBtn.js +5 -5
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.d.ts +3 -3
- package/lib/components/VBtnToggle/VBtnToggle.d.ts +3 -3
- package/lib/components/VCard/VCard.d.ts +6 -6
- package/lib/components/VCard/VCard.js +2 -2
- package/lib/components/VCard/VCard.js.map +1 -1
- package/lib/components/VCard/VCardActions.d.ts +3 -3
- package/lib/components/VCard/VCardItem.d.ts +3 -3
- package/lib/components/VCard/VCardSubtitle.d.ts +3 -3
- package/lib/components/VCard/VCardText.d.ts +3 -3
- package/lib/components/VCard/VCardTitle.d.ts +3 -3
- package/lib/components/VCarousel/VCarousel.d.ts +3 -3
- package/lib/components/VCarousel/VCarouselItem.d.ts +3 -3
- package/lib/components/VCheckbox/VCheckbox.d.ts +15 -15
- package/lib/components/VCheckbox/VCheckboxBtn.d.ts +6 -6
- package/lib/components/VChip/VChip.d.ts +6 -6
- package/lib/components/VChip/VChip.js +15 -4
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.d.ts +3 -3
- package/lib/components/VCode/index.d.ts +3 -3
- package/lib/components/VCombobox/VCombobox.d.ts +129 -116
- package/lib/components/VCombobox/VCombobox.js +8 -25
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VCounter/VCounter.d.ts +3 -3
- package/lib/components/VDataIterator/VDataIterator.d.ts +9 -9
- package/lib/components/VDataTable/VDataTable.d.ts +3 -3
- package/lib/components/VDataTable/VDataTableServer.d.ts +3 -3
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +6 -6
- package/lib/components/VDataTable/composables/expand.js +8 -8
- package/lib/components/VDataTable/composables/expand.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.d.ts +3 -3
- package/lib/components/VDialog/VDialog.d.ts +12 -12
- package/lib/components/VDialog/VDialog.js +29 -11
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VDialog/__test__/VDialog.spec.browser.js +41 -0
- package/lib/components/VDialog/__test__/VDialog.spec.browser.js.map +1 -1
- package/lib/components/VDivider/VDivider.d.ts +3 -3
- package/lib/components/VEmptyState/VEmptyState.d.ts +6 -6
- package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +6 -6
- package/lib/components/VExpansionPanel/VExpansionPanelText.d.ts +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +6 -6
- package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +6 -6
- package/lib/components/VFab/VFab.d.ts +6 -6
- package/lib/components/VField/VField.d.ts +3 -3
- package/lib/components/VField/VFieldLabel.d.ts +3 -3
- package/lib/components/VFileInput/VFileInput.d.ts +12 -12
- package/lib/components/VFileInput/VFileInput.js +2 -1
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VFooter/VFooter.d.ts +3 -3
- package/lib/components/VForm/VForm.d.ts +6 -6
- package/lib/components/VGrid/VCol.d.ts +3 -3
- package/lib/components/VGrid/VContainer.d.ts +3 -3
- package/lib/components/VGrid/VRow.d.ts +3 -3
- package/lib/components/VGrid/VSpacer.d.ts +3 -3
- package/lib/components/VIcon/VIcon.d.ts +3 -3
- package/lib/components/VImg/VImg.d.ts +3 -3
- package/lib/components/VInput/VInput.d.ts +3 -3
- package/lib/components/VItemGroup/VItemGroup.d.ts +3 -3
- package/lib/components/VKbd/VKbd.d.ts +3 -3
- package/lib/components/VLabel/VLabel.d.ts +3 -3
- package/lib/components/VLayout/VLayout.d.ts +3 -3
- package/lib/components/VLayout/VLayoutItem.d.ts +3 -3
- package/lib/components/VLazy/VLazy.d.ts +3 -3
- package/lib/components/VList/VList.d.ts +11 -11
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.d.ts +3 -3
- package/lib/components/VList/VListImg.d.ts +3 -3
- package/lib/components/VList/VListItem.d.ts +6 -6
- package/lib/components/VList/VListItem.js +2 -2
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/VListItemAction.d.ts +3 -3
- package/lib/components/VList/VListItemMedia.d.ts +3 -3
- package/lib/components/VList/VListItemSubtitle.d.ts +3 -3
- package/lib/components/VList/VListItemTitle.d.ts +3 -3
- package/lib/components/VList/VListSubheader.d.ts +3 -3
- package/lib/components/VLocaleProvider/VLocaleProvider.d.ts +3 -3
- package/lib/components/VMain/VMain.d.ts +3 -3
- package/lib/components/VMenu/VMenu.d.ts +15 -15
- package/lib/components/VMessages/VMessages.d.ts +3 -3
- package/lib/components/VNavigationDrawer/VNavigationDrawer.d.ts +3 -3
- package/lib/components/VNumberInput/VNumberInput.d.ts +66 -66
- package/lib/components/VNumberInput/VNumberInput.js +1 -0
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.d.ts +3 -3
- package/lib/components/VOverlay/VOverlay.d.ts +3 -3
- package/lib/components/VPagination/VPagination.d.ts +3 -3
- package/lib/components/VParallax/VParallax.d.ts +3 -3
- package/lib/components/VProgressCircular/VProgressCircular.d.ts +3 -3
- package/lib/components/VProgressLinear/VProgressLinear.d.ts +3 -3
- package/lib/components/VRadio/VRadio.d.ts +6 -6
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +15 -15
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +12 -12
- package/lib/components/VRating/VRating.d.ts +3 -3
- package/lib/components/VResponsive/VResponsive.d.ts +3 -3
- package/lib/components/VSelect/VSelect.d.ts +140 -140
- package/lib/components/VSelectionControl/VSelectionControl.d.ts +6 -6
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +6 -6
- package/lib/components/VSheet/VSheet.d.ts +3 -3
- package/lib/components/VSlideGroup/VSlideGroup.d.ts +3 -3
- package/lib/components/VSlider/VSlider.d.ts +12 -12
- package/lib/components/VSlider/VSliderThumb.d.ts +6 -6
- package/lib/components/VSlider/VSliderTrack.d.ts +3 -3
- package/lib/components/VSnackbar/VSnackbar.d.ts +12 -12
- package/lib/components/VSnackbarQueue/VSnackbarQueue.d.ts +3 -3
- package/lib/components/VSpeedDial/VSpeedDial.d.ts +9 -9
- package/lib/components/VStepper/VStepper.d.ts +3 -3
- package/lib/components/VStepper/VStepperHeader.d.ts +3 -3
- package/lib/components/VStepper/VStepperItem.d.ts +3 -3
- package/lib/components/VStepper/VStepperWindow.d.ts +3 -3
- package/lib/components/VStepper/VStepperWindowItem.d.ts +3 -3
- package/lib/components/VSwitch/VSwitch.d.ts +15 -15
- package/lib/components/VSwitch/VSwitch.js +2 -2
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.d.ts +3 -3
- package/lib/components/VTable/VTable.d.ts +3 -3
- package/lib/components/VTabs/VTab.d.ts +24 -24
- package/lib/components/VTabs/VTabs.d.ts +3 -3
- package/lib/components/VTabs/VTabsWindow.d.ts +3 -3
- package/lib/components/VTabs/VTabsWindowItem.d.ts +3 -3
- package/lib/components/VTextField/VTextField.d.ts +21 -21
- package/lib/components/VTextarea/VTextarea.d.ts +12 -12
- package/lib/components/VThemeProvider/VThemeProvider.d.ts +3 -3
- package/lib/components/VTimePicker/VTimePicker.d.ts +3 -3
- package/lib/components/VTimeline/VTimeline.d.ts +3 -3
- package/lib/components/VTimeline/VTimelineDivider.d.ts +3 -3
- package/lib/components/VTimeline/VTimelineItem.d.ts +3 -3
- package/lib/components/VToolbar/VToolbar.d.ts +3 -3
- package/lib/components/VToolbar/VToolbarItems.d.ts +3 -3
- package/lib/components/VToolbar/VToolbarTitle.d.ts +3 -3
- package/lib/components/VTooltip/VTooltip.d.ts +15 -15
- package/lib/components/VTreeview/VTreeview.d.ts +26 -26
- package/lib/components/VTreeview/VTreeviewChildren.js +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewGroup.d.ts +3 -3
- package/lib/components/VTreeview/VTreeviewItem.d.ts +24 -24
- package/lib/components/VVirtualScroll/VVirtualScroll.d.ts +6 -6
- package/lib/components/VVirtualScroll/VVirtualScrollItem.d.ts +3 -3
- package/lib/components/VWindow/VWindow.d.ts +3 -3
- package/lib/components/VWindow/VWindowItem.d.ts +3 -3
- package/lib/components/transitions/createTransition.d.ts +6 -6
- package/lib/components/transitions/index.d.ts +78 -78
- package/lib/composables/goto.js +2 -2
- package/lib/composables/goto.js.map +1 -1
- package/lib/composables/group.d.ts +2 -0
- package/lib/composables/group.js +15 -9
- package/lib/composables/group.js.map +1 -1
- package/lib/composables/router.d.ts +2 -0
- package/lib/composables/router.js +6 -1
- package/lib/composables/router.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +63 -63
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.js +7 -4
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/composables/calendarWithEvents.js +7 -4
- package/lib/labs/VCalendar/composables/calendarWithEvents.js.map +1 -1
- package/lib/labs/VColorInput/VColorInput.d.ts +6 -6
- package/lib/labs/VDateInput/VDateInput.d.ts +66 -66
- package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
- package/lib/labs/VFileUpload/VFileUpload.js +2 -1
- package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
- package/lib/labs/VFileUpload/VFileUploadItem.d.ts +6 -6
- package/lib/labs/VHotkey/VHotkey.d.ts +3 -3
- package/lib/labs/VIconBtn/VIconBtn.d.ts +3 -3
- package/lib/labs/VMaskInput/VMaskInput.d.ts +66 -66
- package/lib/labs/VPicker/VPicker.d.ts +3 -3
- package/lib/labs/VPicker/VPickerTitle.d.ts +3 -3
- package/lib/labs/VPie/VPieTooltip.d.ts +3 -3
- package/lib/labs/VStepperVertical/VStepperVertical.d.ts +6 -6
- package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +6 -6
- package/lib/labs/VVideo/VVideo.d.ts +87 -87
- package/lib/labs/VVideo/VVideoControls.d.ts +40 -40
- package/lib/labs/VVideo/VVideoVolume.d.ts +33 -33
- package/lib/util/animation.js +1 -1
- package/lib/util/animation.js.map +1 -1
- package/lib/util/box.d.ts +1 -1
- package/lib/util/box.js +19 -14
- package/lib/util/box.js.map +1 -1
- package/lib/util/createSimpleFunctional.d.ts +3 -3
- package/lib/util/events.js +2 -2
- package/lib/util/events.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCalendar.js","names":["VCalendarCategory","VCalendarDaily","VCalendarWeekly","makeCalendarBaseProps","makeCalendarWithEventsProps","useCalendarWithEvents","forwardRefs","computed","onMounted","onUpdated","ref","watch","getParsedCategories","copyTimestamp","DAY_MIN","DAYS_IN_MONTH_MAX","DAYS_IN_WEEK","getEndOfMonth","getStartOfMonth","nextDay","prevDay","relativeDays","timestampToDate","updateFormatted","updateRelative","updateWeekday","validateTimestamp","genericComponent","useRender","VCalendar","name","props","modelValue","type","String","Number","Date","validate","categoryDays","default","x","isFinite","parseInt","categories","Array","categoryText","Function","maxDays","categoryHideDynamic","Boolean","categoryShowAll","categoryForInvalid","setup","_ref","slots","attrs","emit","root","base","lastStart","lastEnd","parsedCategoryDays","parsedCategories","renderProps","around","parsedValue","value","component","start","end","getStartOfWeek","getEndOfWeek","parsedStart","parsedEnd","days","getCategoryList","Error","eventWeekdays","effectiveWeekdays","categoryMode","monthLongFormatter","getFormatter","timeZone","month","monthShortFormatter","title","spanYears","year","spanMonths","checkChange","date","move","amount","arguments","length","undefined","moved","forward","mover","limit","times","day","now","getTime","next","prev","noEvents","categoryMap","reduce","map","category","index","categoryName","count","categoryLength","parsedEvents","forEach","ev","filter","hasOwnProperty","updateEventVisibility","window","requestAnimationFrame","Component","_withDirectives","_createVNode","_mergeProps","filterProps","onClick:date","e","getScopedSlots","_resolveDirective","quiet"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendarCategory.sass'\nimport './VCalendarDaily.sass'\nimport './VCalendarWeekly.sass'\n\n// Components\nimport { VCalendarCategory } from './VCalendarCategory'\nimport { VCalendarDaily } from './VCalendarDaily'\nimport { VCalendarWeekly } from './VCalendarWeekly'\n\n// Composables\nimport { makeCalendarBaseProps } from './composables/calendarBase'\nimport { makeCalendarWithEventsProps, useCalendarWithEvents } from './composables/calendarWithEvents'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { computed, onMounted, onUpdated, ref, watch } from 'vue'\nimport { getParsedCategories } from './util/parser'\nimport {\n copyTimestamp,\n DAY_MIN,\n DAYS_IN_MONTH_MAX,\n DAYS_IN_WEEK,\n getEndOfMonth,\n getStartOfMonth,\n nextDay,\n prevDay,\n relativeDays,\n timestampToDate,\n updateFormatted,\n updateRelative,\n updateWeekday,\n validateTimestamp,\n} from './util/timestamp'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type {\n CalendarCategory, CalendarCategoryTextFunction,\n CalendarDayBodySlotScope,\n CalendarDaySlotScope, CalendarEvent, CalendarEventParsed,\n CalendarTimestamp,\n} from './types'\nimport type { EventProp, GenericProps, JSXComponent } from '@/util'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: JSXComponent & { filterProps: <T>(props: T) => Partial<T> }\n maxDays: number\n categories: CalendarCategory[]\n}\n\ninterface EventSlotScope {\n event: CalendarEvent\n outside: boolean\n singline: boolean\n overlapsNoon: boolean\n formatTime: (withTime: CalendarTimestamp, ampm: boolean) => string\n timeSummary: () => string\n eventSummary: () => JSX.Element\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\ninterface DaySlotScope extends CalendarTimestamp {\n outside: boolean\n index: number\n week: CalendarTimestamp[]\n}\n\ninterface DayHeaderSlotScope extends CalendarTimestamp {\n index: number\n week: CalendarTimestamp[]\n}\n\ninterface CalendarDayCategorySlotScope extends CalendarDayBodySlotScope {\n category: CalendarCategory\n}\n\nexport const VCalendar = genericComponent<new (\n props: {\n [key: `on${Capitalize<string>}:date`]: EventProp<[Event, CalendarTimestamp]>\n [key: `on${Capitalize<string>}:dayCategory`]: EventProp<[Event, CalendarDayCategorySlotScope]>\n [key: `on${Capitalize<string>}:day`]: EventProp<[Event, CalendarDayBodySlotScope]>\n [key: `on${Capitalize<string>}:event`]: EventProp<[Event, EventSlotScope]>\n [key: `on${Capitalize<string>}:interval`]: EventProp<[Event, CalendarTimestamp]>\n [key: `on${Capitalize<string>}:more`]: EventProp<[Event, CalendarDaySlotScope]>\n [key: `on${Capitalize<string>}:timeCategory`]: EventProp<[Event, CalendarDayCategorySlotScope]>\n [key: `on${Capitalize<string>}:time`]: EventProp<[Event, CalendarDayBodySlotScope]>\n },\n slots: {\n 'category': CalendarDayCategorySlotScope\n 'day': DaySlotScope\n 'day-body': CalendarDayBodySlotScope\n 'day-header': DayHeaderSlotScope\n 'day-label': CalendarTimestamp\n 'day-label-header': CalendarTimestamp\n 'day-month': CalendarTimestamp\n 'event': EventSlotScope\n 'interval': CalendarDayCategorySlotScope\n 'interval-header': never\n },\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VCalendar',\n\n props: {\n modelValue: {\n type: [String, Number, Date] as PropType<string | number | Date>,\n validate: validateTimestamp,\n },\n categoryDays: {\n type: [Number, String],\n default: 1,\n validate: (x: any) => isFinite(parseInt(x)) && parseInt(x) > 0,\n },\n categories: {\n type: [Array, String] as PropType<CalendarCategory[] | string>,\n default: '',\n },\n categoryText: {\n type: [String, Function] as PropType<string | CalendarCategoryTextFunction>,\n },\n maxDays: {\n type: Number,\n default: 7,\n },\n categoryHideDynamic: {\n type: Boolean,\n },\n categoryShowAll: {\n type: Boolean,\n },\n categoryForInvalid: {\n type: String,\n default: '',\n },\n\n ...makeCalendarBaseProps(),\n ...makeCalendarWithEventsProps(),\n },\n\n setup (props, { slots, attrs, emit }) {\n const root = ref<VCalendarWeekly | VCalendarDaily | VCalendarCategory>()\n const base = useCalendarWithEvents(props, slots, attrs)\n\n const lastStart = ref<CalendarTimestamp | null>(null)\n const lastEnd = ref<CalendarTimestamp | null>(null)\n\n const parsedCategoryDays = computed((): number => {\n return parseInt(String(props.categoryDays)) || 1\n })\n\n const parsedCategories = computed((): CalendarCategory[] => {\n return getParsedCategories(props.categories, props.categoryText)\n })\n\n const renderProps = computed((): VCalendarRenderProps => {\n const around = base.parsedValue.value\n let component: any = null\n let maxDays = props.maxDays\n let categories = parsedCategories.value\n let start = around\n let end = around\n\n switch (props.type) {\n case 'month':\n component = VCalendarWeekly\n start = getStartOfMonth(around)\n end = getEndOfMonth(around)\n break\n case 'week':\n component = VCalendarDaily\n start = base.getStartOfWeek(around)\n end = base.getEndOfWeek(around)\n maxDays = 7\n break\n case 'day':\n component = VCalendarDaily\n maxDays = 1\n break\n case '4day':\n component = VCalendarDaily\n end = relativeDays(copyTimestamp(end), nextDay, 3)\n updateFormatted(end)\n maxDays = 4\n break\n case 'custom-weekly':\n component = VCalendarWeekly\n start = base.parsedStart.value || around\n end = base.parsedEnd.value\n break\n case 'custom-daily':\n component = VCalendarDaily\n start = base.parsedStart.value || around\n end = base.parsedEnd.value\n break\n case 'category':\n const days = parsedCategoryDays.value\n\n component = VCalendarCategory\n end = relativeDays(copyTimestamp(end), nextDay, days)\n updateFormatted(end)\n maxDays = days\n\n categories = getCategoryList(categories)\n break\n default:\n const type = props.type satisfies never\n throw new Error(`${type} is not a valid Calendar type`)\n }\n\n return { component, start, end, maxDays, categories }\n })\n\n const eventWeekdays = computed((): number[] => {\n return base.effectiveWeekdays.value\n })\n\n const categoryMode = computed((): boolean => {\n return props.type === 'category'\n })\n\n const monthLongFormatter = computed(() => {\n return base.getFormatter({\n timeZone: 'UTC', month: 'long',\n })\n })\n\n const monthShortFormatter = computed(() => {\n return base.getFormatter({\n timeZone: 'UTC', month: 'short',\n })\n })\n\n const title = computed((): string => {\n const { start, end } = renderProps.value\n const spanYears = start.year !== end.year\n const spanMonths = spanYears || start.month !== end.month\n\n if (spanYears) {\n return monthShortFormatter.value(start, true) + ' ' + start.year + ' - ' + monthShortFormatter.value(end, true) + ' ' + end.year\n }\n\n if (spanMonths) {\n return monthShortFormatter.value(start, true) + ' - ' + monthShortFormatter.value(end, true) + ' ' + end.year\n } else {\n return monthLongFormatter.value(start, false) + ' ' + start.year\n }\n })\n\n function checkChange (): void {\n const { start, end } = renderProps.value\n if (!lastStart.value || !lastEnd.value ||\n start.date !== lastStart.value.date ||\n end.date !== lastEnd.value.date) {\n lastStart.value = start\n lastEnd.value = end\n emit('change', { start, end })\n }\n }\n\n function move (amount = 1): void {\n const moved = copyTimestamp(base.parsedValue.value)\n const forward = amount > 0\n const mover = forward ? nextDay : prevDay\n const limit = forward ? DAYS_IN_MONTH_MAX : DAY_MIN\n let times = forward ? amount : -amount\n\n while (--times >= 0) {\n switch (props.type) {\n case 'month':\n moved.day = limit\n mover(moved)\n break\n case 'week':\n relativeDays(moved, mover, DAYS_IN_WEEK)\n break\n case 'day':\n relativeDays(moved, mover, 1)\n break\n case '4day':\n relativeDays(moved, mover, 4)\n break\n case 'category':\n relativeDays(moved, mover, parsedCategoryDays.value)\n break\n }\n }\n\n updateWeekday(moved)\n updateFormatted(moved)\n updateRelative(moved, base.times.now)\n\n if (props.modelValue instanceof Date) {\n emit('update:modelValue', timestampToDate(moved))\n } else if (typeof props.modelValue === 'number') {\n emit('update:modelValue', timestampToDate(moved).getTime())\n } else {\n emit('update:modelValue', moved.date)\n }\n\n emit('moved', moved)\n }\n\n function next (amount = 1): void {\n move(amount)\n }\n\n function prev (amount = 1): void {\n move(-amount)\n }\n\n function getCategoryList (categories: CalendarCategory[]): CalendarCategory[] {\n if (!base.noEvents.value) {\n const categoryMap: any = categories.reduce((map: any, category, index) => {\n if (typeof category === 'object' && category.categoryName) map[category.categoryName] = { index, count: 0 }\n else if (typeof category === 'string') map[category] = { index, count: 0 }\n return map\n }, {})\n\n if (!props.categoryHideDynamic || !props.categoryShowAll) {\n let categoryLength = categories.length\n\n base.parsedEvents.value.forEach(ev => {\n let category = ev.category\n\n if (typeof category !== 'string') {\n category = props.categoryForInvalid\n }\n\n if (!category) {\n return\n }\n\n if (category in categoryMap) {\n categoryMap[category].count++\n } else if (!props.categoryHideDynamic) {\n categoryMap[category] = {\n index: categoryLength++,\n count: 1,\n }\n }\n })\n }\n\n if (!props.categoryShowAll) {\n for (const category in categoryMap) {\n if (categoryMap[category].count === 0) {\n delete categoryMap[category]\n }\n }\n }\n\n categories = categories.filter((category: CalendarCategory) => {\n if (typeof category === 'object' && category.categoryName) {\n return categoryMap.hasOwnProperty(category.categoryName)\n } else if (typeof category === 'string') {\n return categoryMap.hasOwnProperty(category)\n }\n return false\n })\n }\n return categories\n }\n\n watch(renderProps, checkChange)\n\n onMounted(() => {\n base.updateEventVisibility()\n checkChange()\n })\n\n onUpdated(() => {\n window.requestAnimationFrame(base.updateEventVisibility)\n })\n\n useRender(() => {\n const { start, end, maxDays, component: Component, categories } = renderProps.value\n return (\n <Component\n ref={ root }\n class={['v-calendar', { 'v-calendar-events': !base.noEvents.value }]}\n v-resize_quiet={ base.updateEventVisibility }\n role=\"grid\"\n { ...Component.filterProps(props) }\n start={ start.date }\n end={ end.date }\n maxDays={ maxDays }\n weekdays={ base.effectiveWeekdays.value }\n categories={ categories }\n onClick:date={ (e: MouseEvent, day: CalendarTimestamp) => {\n if (attrs['onUpdate:modelValue']) emit('update:modelValue', day.date)\n if (attrs['onClick:date']) emit('click:date', e, day)\n }}\n v-slots={ base.getScopedSlots() }\n />\n )\n })\n\n return forwardRefs({\n ...base,\n lastStart,\n lastEnd,\n parsedCategoryDays,\n renderProps,\n eventWeekdays,\n categoryMode,\n title,\n monthLongFormatter,\n monthShortFormatter,\n parsedCategories,\n checkChange,\n move,\n next,\n prev,\n getCategoryList,\n }, root)\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VCalendar.js","names":["VCalendarCategory","VCalendarDaily","VCalendarWeekly","makeCalendarBaseProps","makeCalendarWithEventsProps","useCalendarWithEvents","forwardRefs","vResize","computed","onMounted","onUpdated","ref","watch","getParsedCategories","copyTimestamp","DAY_MIN","DAYS_IN_MONTH_MAX","DAYS_IN_WEEK","getEndOfMonth","getStartOfMonth","nextDay","prevDay","relativeDays","timestampToDate","updateFormatted","updateRelative","updateWeekday","validateTimestamp","genericComponent","useRender","VCalendar","name","directives","props","modelValue","type","String","Number","Date","validate","categoryDays","default","x","isFinite","parseInt","categories","Array","categoryText","Function","maxDays","categoryHideDynamic","Boolean","categoryShowAll","categoryForInvalid","setup","_ref","slots","attrs","emit","root","base","lastStart","lastEnd","parsedCategoryDays","parsedCategories","renderProps","around","parsedValue","value","component","start","end","getStartOfWeek","getEndOfWeek","parsedStart","parsedEnd","days","getCategoryList","Error","eventWeekdays","effectiveWeekdays","categoryMode","monthLongFormatter","getFormatter","timeZone","month","monthShortFormatter","title","spanYears","year","spanMonths","checkChange","date","move","amount","arguments","length","undefined","moved","forward","mover","limit","times","day","now","getTime","next","prev","noEvents","categoryMap","reduce","map","category","index","categoryName","count","categoryLength","parsedEvents","forEach","ev","filter","hasOwnProperty","updateEventVisibility","window","requestAnimationFrame","Component","_withDirectives","_createVNode","_mergeProps","filterProps","onClick:date","e","getScopedSlots","quiet"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendarCategory.sass'\nimport './VCalendarDaily.sass'\nimport './VCalendarWeekly.sass'\n\n// Components\nimport { VCalendarCategory } from './VCalendarCategory'\nimport { VCalendarDaily } from './VCalendarDaily'\nimport { VCalendarWeekly } from './VCalendarWeekly'\n\n// Composables\nimport { makeCalendarBaseProps } from './composables/calendarBase'\nimport { makeCalendarWithEventsProps, useCalendarWithEvents } from './composables/calendarWithEvents'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Directives\nimport vResize from '@/directives/resize'\n\n// Utilities\nimport { computed, onMounted, onUpdated, ref, watch } from 'vue'\nimport { getParsedCategories } from './util/parser'\nimport {\n copyTimestamp,\n DAY_MIN,\n DAYS_IN_MONTH_MAX,\n DAYS_IN_WEEK,\n getEndOfMonth,\n getStartOfMonth,\n nextDay,\n prevDay,\n relativeDays,\n timestampToDate,\n updateFormatted,\n updateRelative,\n updateWeekday,\n validateTimestamp,\n} from './util/timestamp'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type {\n CalendarCategory, CalendarCategoryTextFunction,\n CalendarDayBodySlotScope,\n CalendarDaySlotScope, CalendarEvent, CalendarEventParsed,\n CalendarTimestamp,\n} from './types'\nimport type { EventProp, GenericProps, JSXComponent } from '@/util'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: JSXComponent & { filterProps: <T>(props: T) => Partial<T> }\n maxDays: number\n categories: CalendarCategory[]\n}\n\ninterface EventSlotScope {\n event: CalendarEvent\n outside: boolean\n singline: boolean\n overlapsNoon: boolean\n formatTime: (withTime: CalendarTimestamp, ampm: boolean) => string\n timeSummary: () => string\n eventSummary: () => JSX.Element\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\ninterface DaySlotScope extends CalendarTimestamp {\n outside: boolean\n index: number\n week: CalendarTimestamp[]\n}\n\ninterface DayHeaderSlotScope extends CalendarTimestamp {\n index: number\n week: CalendarTimestamp[]\n}\n\ninterface CalendarDayCategorySlotScope extends CalendarDayBodySlotScope {\n category: CalendarCategory\n}\n\nexport const VCalendar = genericComponent<new (\n props: {\n [key: `on${Capitalize<string>}:date`]: EventProp<[Event, CalendarTimestamp]>\n [key: `on${Capitalize<string>}:dayCategory`]: EventProp<[Event, CalendarDayCategorySlotScope]>\n [key: `on${Capitalize<string>}:day`]: EventProp<[Event, CalendarDayBodySlotScope]>\n [key: `on${Capitalize<string>}:event`]: EventProp<[Event, EventSlotScope]>\n [key: `on${Capitalize<string>}:interval`]: EventProp<[Event, CalendarTimestamp]>\n [key: `on${Capitalize<string>}:more`]: EventProp<[Event, CalendarDaySlotScope]>\n [key: `on${Capitalize<string>}:timeCategory`]: EventProp<[Event, CalendarDayCategorySlotScope]>\n [key: `on${Capitalize<string>}:time`]: EventProp<[Event, CalendarDayBodySlotScope]>\n },\n slots: {\n 'category': CalendarDayCategorySlotScope\n 'day': DaySlotScope\n 'day-body': CalendarDayBodySlotScope\n 'day-header': DayHeaderSlotScope\n 'day-label': CalendarTimestamp\n 'day-label-header': CalendarTimestamp\n 'day-month': CalendarTimestamp\n 'event': EventSlotScope\n 'interval': CalendarDayCategorySlotScope\n 'interval-header': never\n },\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VCalendar',\n\n directives: { vResize },\n\n props: {\n modelValue: {\n type: [String, Number, Date] as PropType<string | number | Date>,\n validate: validateTimestamp,\n },\n categoryDays: {\n type: [Number, String],\n default: 1,\n validate: (x: any) => isFinite(parseInt(x)) && parseInt(x) > 0,\n },\n categories: {\n type: [Array, String] as PropType<CalendarCategory[] | string>,\n default: '',\n },\n categoryText: {\n type: [String, Function] as PropType<string | CalendarCategoryTextFunction>,\n },\n maxDays: {\n type: Number,\n default: 7,\n },\n categoryHideDynamic: {\n type: Boolean,\n },\n categoryShowAll: {\n type: Boolean,\n },\n categoryForInvalid: {\n type: String,\n default: '',\n },\n\n ...makeCalendarBaseProps(),\n ...makeCalendarWithEventsProps(),\n },\n\n setup (props, { slots, attrs, emit }) {\n const root = ref<VCalendarWeekly | VCalendarDaily | VCalendarCategory>()\n const base = useCalendarWithEvents(props, slots, attrs)\n\n const lastStart = ref<CalendarTimestamp | null>(null)\n const lastEnd = ref<CalendarTimestamp | null>(null)\n\n const parsedCategoryDays = computed((): number => {\n return parseInt(String(props.categoryDays)) || 1\n })\n\n const parsedCategories = computed((): CalendarCategory[] => {\n return getParsedCategories(props.categories, props.categoryText)\n })\n\n const renderProps = computed((): VCalendarRenderProps => {\n const around = base.parsedValue.value\n let component: any = null\n let maxDays = props.maxDays\n let categories = parsedCategories.value\n let start = around\n let end = around\n\n switch (props.type) {\n case 'month':\n component = VCalendarWeekly\n start = getStartOfMonth(around)\n end = getEndOfMonth(around)\n break\n case 'week':\n component = VCalendarDaily\n start = base.getStartOfWeek(around)\n end = base.getEndOfWeek(around)\n maxDays = 7\n break\n case 'day':\n component = VCalendarDaily\n maxDays = 1\n break\n case '4day':\n component = VCalendarDaily\n end = relativeDays(copyTimestamp(end), nextDay, 3)\n updateFormatted(end)\n maxDays = 4\n break\n case 'custom-weekly':\n component = VCalendarWeekly\n start = base.parsedStart.value || around\n end = base.parsedEnd.value\n break\n case 'custom-daily':\n component = VCalendarDaily\n start = base.parsedStart.value || around\n end = base.parsedEnd.value\n break\n case 'category':\n const days = parsedCategoryDays.value\n\n component = VCalendarCategory\n end = relativeDays(copyTimestamp(end), nextDay, days)\n updateFormatted(end)\n maxDays = days\n\n categories = getCategoryList(categories)\n break\n default:\n const type = props.type satisfies never\n throw new Error(`${type} is not a valid Calendar type`)\n }\n\n return { component, start, end, maxDays, categories }\n })\n\n const eventWeekdays = computed((): number[] => {\n return base.effectiveWeekdays.value\n })\n\n const categoryMode = computed((): boolean => {\n return props.type === 'category'\n })\n\n const monthLongFormatter = computed(() => {\n return base.getFormatter({\n timeZone: 'UTC', month: 'long',\n })\n })\n\n const monthShortFormatter = computed(() => {\n return base.getFormatter({\n timeZone: 'UTC', month: 'short',\n })\n })\n\n const title = computed((): string => {\n const { start, end } = renderProps.value\n const spanYears = start.year !== end.year\n const spanMonths = spanYears || start.month !== end.month\n\n if (spanYears) {\n return monthShortFormatter.value(start, true) + ' ' + start.year + ' - ' + monthShortFormatter.value(end, true) + ' ' + end.year\n }\n\n if (spanMonths) {\n return monthShortFormatter.value(start, true) + ' - ' + monthShortFormatter.value(end, true) + ' ' + end.year\n } else {\n return monthLongFormatter.value(start, false) + ' ' + start.year\n }\n })\n\n function checkChange (): void {\n const { start, end } = renderProps.value\n if (!lastStart.value || !lastEnd.value ||\n start.date !== lastStart.value.date ||\n end.date !== lastEnd.value.date) {\n lastStart.value = start\n lastEnd.value = end\n emit('change', { start, end })\n }\n }\n\n function move (amount = 1): void {\n const moved = copyTimestamp(base.parsedValue.value)\n const forward = amount > 0\n const mover = forward ? nextDay : prevDay\n const limit = forward ? DAYS_IN_MONTH_MAX : DAY_MIN\n let times = forward ? amount : -amount\n\n while (--times >= 0) {\n switch (props.type) {\n case 'month':\n moved.day = limit\n mover(moved)\n break\n case 'week':\n relativeDays(moved, mover, DAYS_IN_WEEK)\n break\n case 'day':\n relativeDays(moved, mover, 1)\n break\n case '4day':\n relativeDays(moved, mover, 4)\n break\n case 'category':\n relativeDays(moved, mover, parsedCategoryDays.value)\n break\n }\n }\n\n updateWeekday(moved)\n updateFormatted(moved)\n updateRelative(moved, base.times.now)\n\n if (props.modelValue instanceof Date) {\n emit('update:modelValue', timestampToDate(moved))\n } else if (typeof props.modelValue === 'number') {\n emit('update:modelValue', timestampToDate(moved).getTime())\n } else {\n emit('update:modelValue', moved.date)\n }\n\n emit('moved', moved)\n }\n\n function next (amount = 1): void {\n move(amount)\n }\n\n function prev (amount = 1): void {\n move(-amount)\n }\n\n function getCategoryList (categories: CalendarCategory[]): CalendarCategory[] {\n if (!base.noEvents.value) {\n const categoryMap: any = categories.reduce((map: any, category, index) => {\n if (typeof category === 'object' && category.categoryName) map[category.categoryName] = { index, count: 0 }\n else if (typeof category === 'string') map[category] = { index, count: 0 }\n return map\n }, {})\n\n if (!props.categoryHideDynamic || !props.categoryShowAll) {\n let categoryLength = categories.length\n\n base.parsedEvents.value.forEach(ev => {\n let category = ev.category\n\n if (typeof category !== 'string') {\n category = props.categoryForInvalid\n }\n\n if (!category) {\n return\n }\n\n if (category in categoryMap) {\n categoryMap[category].count++\n } else if (!props.categoryHideDynamic) {\n categoryMap[category] = {\n index: categoryLength++,\n count: 1,\n }\n }\n })\n }\n\n if (!props.categoryShowAll) {\n for (const category in categoryMap) {\n if (categoryMap[category].count === 0) {\n delete categoryMap[category]\n }\n }\n }\n\n categories = categories.filter((category: CalendarCategory) => {\n if (typeof category === 'object' && category.categoryName) {\n return categoryMap.hasOwnProperty(category.categoryName)\n } else if (typeof category === 'string') {\n return categoryMap.hasOwnProperty(category)\n }\n return false\n })\n }\n return categories\n }\n\n watch(renderProps, checkChange)\n\n onMounted(() => {\n base.updateEventVisibility()\n checkChange()\n })\n\n onUpdated(() => {\n window.requestAnimationFrame(base.updateEventVisibility)\n })\n\n useRender(() => {\n const { start, end, maxDays, component: Component, categories } = renderProps.value\n return (\n <Component\n ref={ root }\n class={['v-calendar', { 'v-calendar-events': !base.noEvents.value }]}\n v-resize_quiet={ base.updateEventVisibility }\n role=\"grid\"\n { ...Component.filterProps(props) }\n start={ start.date }\n end={ end.date }\n maxDays={ maxDays }\n weekdays={ base.effectiveWeekdays.value }\n categories={ categories }\n onClick:date={ (e: MouseEvent, day: CalendarTimestamp) => {\n if (attrs['onUpdate:modelValue']) emit('update:modelValue', day.date)\n }}\n v-slots={ base.getScopedSlots() }\n />\n )\n })\n\n return forwardRefs({\n ...base,\n lastStart,\n lastEnd,\n parsedCategoryDays,\n renderProps,\n eventWeekdays,\n categoryMode,\n title,\n monthLongFormatter,\n monthShortFormatter,\n parsedCategories,\n checkChange,\n move,\n next,\n prev,\n getCategoryList,\n }, root)\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode,
|
|
1
|
+
import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, mergeProps as _mergeProps, withDirectives as _withDirectives } from "vue";
|
|
2
2
|
// Styles
|
|
3
3
|
import "./calendarWithEvents.css";
|
|
4
4
|
|
|
5
5
|
// Composables
|
|
6
|
-
import { useCalendarBase } from "./calendarBase.js"; //
|
|
6
|
+
import { useCalendarBase } from "./calendarBase.js"; // Directives
|
|
7
|
+
import vRipple from "../../../directives/ripple/index.js"; // Utilities
|
|
7
8
|
import { computed, ref } from 'vue';
|
|
8
9
|
import { CalendarEventOverlapModes } from "../modes/index.js";
|
|
9
10
|
import { isEventHiddenOn, isEventOn, isEventOverlapping, isEventStart, parseEvent } from "../util/events.js";
|
|
@@ -13,6 +14,8 @@ import { getPrefixedEventHandlers, propsFactory } from "../../../util/index.js";
|
|
|
13
14
|
const WIDTH_FULL = 100;
|
|
14
15
|
const WIDTH_START = 95;
|
|
15
16
|
const MINUTES_IN_DAY = 1440;
|
|
17
|
+
// Prevent import from being erased
|
|
18
|
+
void vRipple;
|
|
16
19
|
export const makeCalendarWithEventsProps = propsFactory({
|
|
17
20
|
events: {
|
|
18
21
|
type: Array,
|
|
@@ -310,7 +313,7 @@ export function useCalendarWithEvents(props, slots, attrs) {
|
|
|
310
313
|
}), events, data, {
|
|
311
314
|
"ref_for": true,
|
|
312
315
|
"ref": eventsRef
|
|
313
|
-
}), [slot?.(scope) ?? genName(eventSummary)]), [[
|
|
316
|
+
}), [slot?.(scope) ?? genName(eventSummary)]), [[vRipple, props.eventRipple ?? true]]);
|
|
314
317
|
}
|
|
315
318
|
function genName(eventSummary) {
|
|
316
319
|
return _createElementVNode("div", {
|
|
@@ -348,7 +351,7 @@ export function useCalendarWithEvents(props, slots, attrs) {
|
|
|
348
351
|
},
|
|
349
352
|
"ref_for": true,
|
|
350
353
|
"ref": eventsRef
|
|
351
|
-
}, events), null), [[
|
|
354
|
+
}, events), null), [[vRipple, props.eventRipple ?? true]]);
|
|
352
355
|
}
|
|
353
356
|
function getVisibleEvents() {
|
|
354
357
|
const days = base.days.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendarWithEvents.js","names":["useCalendarBase","computed","ref","CalendarEventOverlapModes","isEventHiddenOn","isEventOn","isEventOverlapping","isEventStart","parseEvent","diffMinutes","getDayIdentifier","getPrefixedEventHandlers","propsFactory","WIDTH_FULL","WIDTH_START","MINUTES_IN_DAY","makeCalendarWithEventsProps","events","type","Array","default","eventStart","String","eventEnd","eventTimed","Function","eventCategory","eventHeight","Number","eventColor","eventTextColor","eventName","eventOverlapThreshold","eventOverlapMode","validate","mode","eventMore","Boolean","eventMoreText","eventRipple","Object","eventMarginBottom","useCalendarWithEvents","props","slots","attrs","base","noEvents","isArray","length","categoryMode","eventTimedFunction","event","eventCategoryFunction","parsedEvents","map","index","value","parsedEventOverlapThreshold","parseInt","eventTextColorFunction","eventNameFunction","timedEvent","input","eventModeFunction","eventWeekdays","effectiveWeekdays","eventColorFunction","e","color","eventsRef","updateEventVisibility","eventsMap","getEventsMap","date","parent","more","parentBounds","getBoundingClientRect","last","eventsSorted","bottom","sort","a","b","hidden","i","hide","style","display","innerHTML","locale","t","elements","forEach","el","getAttribute","parentElement","push","genDayEvent","_ref","day","dayIdentifier","week","start","startIdentifier","end","endIdentifier","width","weekdayIdentifier","scope","eventParsed","timed","genEvent","class","height","marginBottom","genTimedEvent","_ref2","left","endDelta","timeDelta","startDelta","top","timeToY","Math","max","scopeInput","data","slot","text","background","overlapsNoon","hour","singline","formatTime","withTime","ampm","formatter","getFormatter","timeZone","minute","undefined","timeSummary","eventSummary","name","hasTime","time","delimiter","_createElementVNode","_createTextVNode","outside","nativeEvent","_withDirectives","_mergeProps","getColorProps","genName","_resolveDirective","genPlaceholder","genMore","getVisibleEvents","days","filter","isEventForCategory","category","categoryName","getEventsForDay","identifier","firstWeekday","getEventsForDayAll","allDay","getEventsForDayTimed","getScopedSlots","isNode","getSlotChildren","getter","mapper","visuals","visual","children","column","mapped","concat"],"sources":["../../../../src/labs/VCalendar/composables/calendarWithEvents.tsx"],"sourcesContent":["// Styles\nimport './calendarWithEvents.sass'\n\n// Composables\nimport { useCalendarBase } from './calendarBase'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { CalendarEventOverlapModes } from '../modes'\nimport {\n isEventHiddenOn,\n isEventOn,\n isEventOverlapping,\n isEventStart,\n parseEvent,\n} from '../util/events'\nimport { diffMinutes, getDayIdentifier } from '../util/timestamp'\nimport { getPrefixedEventHandlers, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\nimport type { CalendarBaseProps } from './calendarBase'\nimport type {\n CalendarCategory,\n CalendarDayBodySlotScope,\n CalendarDaySlotScope,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventOverlapMode,\n CalendarEventParsed,\n CalendarEventTimedFunction,\n CalendarEventVisual,\n CalendarTimestamp,\n} from '../types'\n\n// Constants\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\nexport interface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nexport const makeCalendarWithEventsProps = propsFactory({\n events: {\n type: Array as PropType<CalendarEvent[]>,\n default: () => [],\n },\n eventStart: {\n type: String,\n default: 'start',\n },\n eventEnd: {\n type: String,\n default: 'end',\n },\n eventTimed: {\n type: [String, Function] as PropType<string | CalendarEventTimedFunction>,\n default: 'timed',\n },\n eventCategory: {\n type: [String, Function] as PropType<string | CalendarEventCategoryFunction>,\n default: 'category',\n },\n eventHeight: {\n type: Number,\n default: 20,\n },\n eventColor: {\n type: [String, Function] as PropType<string | CalendarEventColorFunction>,\n default: 'primary',\n },\n eventTextColor: {\n type: [String, Function] as PropType<string | CalendarEventColorFunction>,\n },\n eventName: {\n type: [String, Function] as PropType<string | CalendarEventNameFunction>,\n default: 'name',\n },\n eventOverlapThreshold: {\n type: [String, Number],\n default: 60,\n },\n eventOverlapMode: {\n type: [String, Function] as PropType<'stack' | 'column' | CalendarEventOverlapMode>,\n default: 'stack',\n validate: (mode: any) => mode in CalendarEventOverlapModes || typeof mode === 'function',\n },\n eventMore: {\n type: Boolean,\n default: true,\n },\n eventMoreText: {\n type: String,\n default: '$vuetify.calendar.moreEvents',\n },\n eventRipple: {\n type: [Boolean, Object],\n default: null,\n },\n eventMarginBottom: {\n type: Number,\n default: 1,\n },\n}, 'VCalendar-events')\n\ninterface CalendarWithEventsProps extends CalendarBaseProps {\n events: CalendarEvent[]\n eventStart: string\n eventEnd: string\n eventTimed: string | CalendarEventTimedFunction\n eventCategory: string | CalendarEventCategoryFunction\n eventHeight: number\n eventColor: string | CalendarEventColorFunction\n eventTextColor: string | CalendarEventColorFunction | undefined\n eventName: string | CalendarEventNameFunction\n eventOverlapThreshold: string | number\n eventOverlapMode: string | CalendarEventOverlapMode\n eventMore: boolean\n eventMoreText: string\n eventRipple: boolean | object | null | undefined\n eventMarginBottom: number\n type: 'month' | 'week' | 'day' | '4day' | 'custom-weekly' | 'custom-daily' | 'category'\n}\n\nexport function useCalendarWithEvents (props: CalendarWithEventsProps, slots: any, attrs: any) {\n const base = useCalendarBase(props)\n\n const noEvents = computed((): boolean => {\n return !Array.isArray(props.events) || props.events.length === 0\n })\n\n const categoryMode = computed((): boolean => {\n return props.type === 'category'\n })\n\n const eventTimedFunction = computed((): CalendarEventTimedFunction => {\n return typeof props.eventTimed === 'function'\n ? props.eventTimed\n : event => !!event[props.eventTimed as string]\n })\n\n const eventCategoryFunction = computed((): CalendarEventCategoryFunction => {\n return typeof props.eventCategory === 'function'\n ? props.eventCategory\n : event => event[props.eventCategory as string]\n })\n\n const parsedEvents = computed((): CalendarEventParsed[] => {\n if (!props.events) return []\n return props.events.map((event, index) => parseEvent(\n event,\n index,\n props.eventStart || '',\n props.eventEnd || '',\n eventTimedFunction.value(event),\n categoryMode.value ? eventCategoryFunction.value(event) : false,\n ))\n })\n\n const parsedEventOverlapThreshold = computed((): number => {\n return parseInt(String(props.eventOverlapThreshold || 0))\n })\n\n const eventTextColorFunction = computed((): CalendarEventColorFunction => {\n return typeof props.eventTextColor === 'function'\n ? props.eventTextColor\n : () => props.eventTextColor as string\n })\n\n const eventNameFunction = computed((): CalendarEventNameFunction => {\n return typeof props.eventName === 'function'\n ? props.eventName\n : (event, timedEvent) => event.input[props.eventName as string] as string || ''\n })\n\n const eventModeFunction = computed((): CalendarEventOverlapMode => {\n return typeof props.eventOverlapMode === 'function'\n ? props.eventOverlapMode\n : CalendarEventOverlapModes[props.eventOverlapMode as keyof typeof CalendarEventOverlapModes]\n })\n\n const eventWeekdays = computed((): number[] => {\n return base.effectiveWeekdays.value\n })\n\n function eventColorFunction (e: CalendarEvent): string | undefined {\n return typeof props.eventColor === 'function'\n ? props.eventColor(e)\n : e.color || props.eventColor\n }\n\n const eventsRef = ref<HTMLElement[]>([])\n\n function updateEventVisibility () {\n if (noEvents.value || !props.eventMore) {\n return\n }\n\n const eventHeight = props.eventHeight || 0\n const eventsMap = getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n // TODO: avoid direct DOM manipulation\n if (hidden) {\n more.style.display = ''\n more.innerHTML = base.locale.t(props.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n }\n\n function getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = eventsRef.value\n\n if (!elements || !elements.length) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n }\n\n function genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = props.eventHeight || 0\n const eventMarginBottom = props.eventMarginBottom || 0\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!categoryMode.value) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return genEvent(event, scope, false, {\n class: [\n 'v-event',\n { 'v-event-start': start, 'v-event-end': end },\n ],\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n marginBottom: `${eventMarginBottom}px`,\n },\n 'data-date': day.date,\n })\n }\n\n function genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n const endDelta = day.timeDelta(event.end)\n const startDelta = day.timeDelta(event.start)\n if (\n endDelta === false ||\n startDelta === false ||\n endDelta < 0 ||\n startDelta >= 1 ||\n isEventHiddenOn(event, day)\n ) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(props.eventHeight || 0, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return genEvent(event, scope, true, {\n class: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n }\n\n function genEvent (\n event: CalendarEventParsed,\n scopeInput: VEventScopeInput,\n timedEvent: boolean,\n data: Record<string, unknown>\n ): VNode {\n const slot = slots.event\n const text = eventTextColorFunction.value(event.input)\n const background = eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= parsedEventOverlapThreshold.value\n const formatTime = (withTime: CalendarTimestamp, ampm: boolean): string => {\n const formatter = base.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n return formatter(withTime, true)\n }\n\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n\n const eventSummary = () => {\n const name = eventNameFunction.value(event, timedEvent)\n if (event.start.hasTime) {\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : <br />\n\n return (\n <span class=\"v-event-summary\">\n <strong>{ name }</strong>\n { delimiter }\n { time }\n </span>\n )\n } else {\n const time = formatTime(event.start, true)\n\n return (\n <span class=\"v-event-summary\">\n <strong>{ time }</strong> { name }\n </span>\n )\n }\n }\n\n return <span class=\"v-event-summary\">{ name }</span>\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n const events = getPrefixedEventHandlers(attrs, ':event', (nativeEvent: Event) => ({ ...scope, nativeEvent }))\n\n return (\n <div\n { ...base.getColorProps({ text, background }) }\n { ...events }\n { ...data }\n ref_for\n ref={ eventsRef }\n v-ripple={ props.eventRipple ?? true }\n >\n { slot?.(scope) ?? genName(eventSummary) }\n </div>\n )\n }\n\n function genName (eventSummary: () => string | VNode): VNode {\n return (\n <div class=\"pl-1\">\n { eventSummary() }\n </div>\n )\n }\n\n function genPlaceholder (day: CalendarTimestamp): VNode {\n const height = (props.eventHeight || 0) + (props.eventMarginBottom || 0)\n return (\n <div\n style={{ height: `${height}px` }}\n data-date={ day.date }\n ref_for\n ref={ eventsRef }\n />\n )\n }\n\n function genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = props.eventHeight || 0\n const eventMarginBottom = props.eventMarginBottom || 0\n const events = getPrefixedEventHandlers(attrs, ':more', (nativeEvent: Event) => ({ nativeEvent, ...day }))\n\n return (\n <div\n class={['v-event-more pl-1', { 'v-outside': day.outside }]}\n data-date={ day.date }\n data-more=\"1\"\n style={{\n display: 'none',\n height: `${eventHeight}px`,\n marginBottom: `${eventMarginBottom}px`,\n }}\n ref_for\n ref={ eventsRef }\n v-ripple={ props.eventRipple ?? true }\n { ...events }\n />\n )\n }\n\n function getVisibleEvents (): CalendarEventParsed[] {\n const days = base.days.value\n const start = getDayIdentifier(days[0])\n const end = getDayIdentifier(days[days.length - 1])\n\n return parsedEvents.value.filter(\n event => isEventOverlapping(event, start, end)\n )\n }\n\n function isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !categoryMode.value ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n }\n\n function getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = eventWeekdays.value[0]\n\n return parsedEvents.value.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n }\n\n function getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = eventWeekdays.value[0]\n\n return parsedEvents.value.filter(\n event => event.allDay &&\n (categoryMode.value ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n isEventForCategory(event, day.category)\n )\n }\n\n function getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return parsedEvents.value.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n isEventForCategory(event, day.category)\n )\n }\n\n function getScopedSlots () {\n if (noEvents.value) {\n return { ...slots }\n }\n\n const mode = eventModeFunction.value(\n parsedEvents.value,\n eventWeekdays.value[0],\n parsedEventOverlapThreshold.value\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, categoryMode.value)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(genPlaceholder(day) as VNode)\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, getEventsForDay, genDayEvent, false)\n if (children && children.length > 0 && props.eventMore) {\n children.push(genMore(day) as VNode)\n }\n if (slots.day) {\n const slot = slots.day(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, getEventsForDayAll, genDayEvent, false)\n\n if (slots['day-header']) {\n const slot = slots['day-header'](day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, getEventsForDayTimed, genTimedEvent, true)\n let children: VNode[] = [\n <div class=\"v-event-timed-container\">{ events }</div>,\n ]\n\n if (slots['day-body']) {\n const slot = slots['day-body'](day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n },\n }\n }\n\n return {\n ...base,\n noEvents,\n parsedEvents,\n parsedEventOverlapThreshold,\n eventTimedFunction,\n eventCategoryFunction,\n eventTextColorFunction,\n eventNameFunction,\n eventModeFunction,\n eventWeekdays,\n categoryMode,\n eventColorFunction,\n eventsRef,\n updateEventVisibility,\n getEventsMap,\n genDayEvent,\n genTimedEvent,\n genEvent,\n genName,\n genPlaceholder,\n genMore,\n getVisibleEvents,\n isEventForCategory,\n getEventsForDay,\n getEventsForDayAll,\n getEventsForDayTimed,\n getScopedSlots,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"calendarWithEvents.js","names":["useCalendarBase","vRipple","computed","ref","CalendarEventOverlapModes","isEventHiddenOn","isEventOn","isEventOverlapping","isEventStart","parseEvent","diffMinutes","getDayIdentifier","getPrefixedEventHandlers","propsFactory","WIDTH_FULL","WIDTH_START","MINUTES_IN_DAY","makeCalendarWithEventsProps","events","type","Array","default","eventStart","String","eventEnd","eventTimed","Function","eventCategory","eventHeight","Number","eventColor","eventTextColor","eventName","eventOverlapThreshold","eventOverlapMode","validate","mode","eventMore","Boolean","eventMoreText","eventRipple","Object","eventMarginBottom","useCalendarWithEvents","props","slots","attrs","base","noEvents","isArray","length","categoryMode","eventTimedFunction","event","eventCategoryFunction","parsedEvents","map","index","value","parsedEventOverlapThreshold","parseInt","eventTextColorFunction","eventNameFunction","timedEvent","input","eventModeFunction","eventWeekdays","effectiveWeekdays","eventColorFunction","e","color","eventsRef","updateEventVisibility","eventsMap","getEventsMap","date","parent","more","parentBounds","getBoundingClientRect","last","eventsSorted","bottom","sort","a","b","hidden","i","hide","style","display","innerHTML","locale","t","elements","forEach","el","getAttribute","parentElement","push","genDayEvent","_ref","day","dayIdentifier","week","start","startIdentifier","end","endIdentifier","width","weekdayIdentifier","scope","eventParsed","timed","genEvent","class","height","marginBottom","genTimedEvent","_ref2","left","endDelta","timeDelta","startDelta","top","timeToY","Math","max","scopeInput","data","slot","text","background","overlapsNoon","hour","singline","formatTime","withTime","ampm","formatter","getFormatter","timeZone","minute","undefined","timeSummary","eventSummary","name","hasTime","time","delimiter","_createElementVNode","_createTextVNode","outside","nativeEvent","_withDirectives","_mergeProps","getColorProps","genName","genPlaceholder","genMore","getVisibleEvents","days","filter","isEventForCategory","category","categoryName","getEventsForDay","identifier","firstWeekday","getEventsForDayAll","allDay","getEventsForDayTimed","getScopedSlots","isNode","getSlotChildren","getter","mapper","visuals","visual","children","column","mapped","concat"],"sources":["../../../../src/labs/VCalendar/composables/calendarWithEvents.tsx"],"sourcesContent":["// Styles\nimport './calendarWithEvents.sass'\n\n// Composables\nimport { useCalendarBase } from './calendarBase'\n\n// Directives\nimport vRipple from '@/directives/ripple'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { CalendarEventOverlapModes } from '../modes'\nimport {\n isEventHiddenOn,\n isEventOn,\n isEventOverlapping,\n isEventStart,\n parseEvent,\n} from '../util/events'\nimport { diffMinutes, getDayIdentifier } from '../util/timestamp'\nimport { getPrefixedEventHandlers, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\nimport type { CalendarBaseProps } from './calendarBase'\nimport type {\n CalendarCategory,\n CalendarDayBodySlotScope,\n CalendarDaySlotScope,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventOverlapMode,\n CalendarEventParsed,\n CalendarEventTimedFunction,\n CalendarEventVisual,\n CalendarTimestamp,\n} from '../types'\n\n// Constants\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\nexport interface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\n// Prevent import from being erased\nvoid vRipple\n\nexport const makeCalendarWithEventsProps = propsFactory({\n events: {\n type: Array as PropType<CalendarEvent[]>,\n default: () => [],\n },\n eventStart: {\n type: String,\n default: 'start',\n },\n eventEnd: {\n type: String,\n default: 'end',\n },\n eventTimed: {\n type: [String, Function] as PropType<string | CalendarEventTimedFunction>,\n default: 'timed',\n },\n eventCategory: {\n type: [String, Function] as PropType<string | CalendarEventCategoryFunction>,\n default: 'category',\n },\n eventHeight: {\n type: Number,\n default: 20,\n },\n eventColor: {\n type: [String, Function] as PropType<string | CalendarEventColorFunction>,\n default: 'primary',\n },\n eventTextColor: {\n type: [String, Function] as PropType<string | CalendarEventColorFunction>,\n },\n eventName: {\n type: [String, Function] as PropType<string | CalendarEventNameFunction>,\n default: 'name',\n },\n eventOverlapThreshold: {\n type: [String, Number],\n default: 60,\n },\n eventOverlapMode: {\n type: [String, Function] as PropType<'stack' | 'column' | CalendarEventOverlapMode>,\n default: 'stack',\n validate: (mode: any) => mode in CalendarEventOverlapModes || typeof mode === 'function',\n },\n eventMore: {\n type: Boolean,\n default: true,\n },\n eventMoreText: {\n type: String,\n default: '$vuetify.calendar.moreEvents',\n },\n eventRipple: {\n type: [Boolean, Object],\n default: null,\n },\n eventMarginBottom: {\n type: Number,\n default: 1,\n },\n}, 'VCalendar-events')\n\ninterface CalendarWithEventsProps extends CalendarBaseProps {\n events: CalendarEvent[]\n eventStart: string\n eventEnd: string\n eventTimed: string | CalendarEventTimedFunction\n eventCategory: string | CalendarEventCategoryFunction\n eventHeight: number\n eventColor: string | CalendarEventColorFunction\n eventTextColor: string | CalendarEventColorFunction | undefined\n eventName: string | CalendarEventNameFunction\n eventOverlapThreshold: string | number\n eventOverlapMode: string | CalendarEventOverlapMode\n eventMore: boolean\n eventMoreText: string\n eventRipple: boolean | object | null | undefined\n eventMarginBottom: number\n type: 'month' | 'week' | 'day' | '4day' | 'custom-weekly' | 'custom-daily' | 'category'\n}\n\nexport function useCalendarWithEvents (props: CalendarWithEventsProps, slots: any, attrs: any) {\n const base = useCalendarBase(props)\n\n const noEvents = computed((): boolean => {\n return !Array.isArray(props.events) || props.events.length === 0\n })\n\n const categoryMode = computed((): boolean => {\n return props.type === 'category'\n })\n\n const eventTimedFunction = computed((): CalendarEventTimedFunction => {\n return typeof props.eventTimed === 'function'\n ? props.eventTimed\n : event => !!event[props.eventTimed as string]\n })\n\n const eventCategoryFunction = computed((): CalendarEventCategoryFunction => {\n return typeof props.eventCategory === 'function'\n ? props.eventCategory\n : event => event[props.eventCategory as string]\n })\n\n const parsedEvents = computed((): CalendarEventParsed[] => {\n if (!props.events) return []\n return props.events.map((event, index) => parseEvent(\n event,\n index,\n props.eventStart || '',\n props.eventEnd || '',\n eventTimedFunction.value(event),\n categoryMode.value ? eventCategoryFunction.value(event) : false,\n ))\n })\n\n const parsedEventOverlapThreshold = computed((): number => {\n return parseInt(String(props.eventOverlapThreshold || 0))\n })\n\n const eventTextColorFunction = computed((): CalendarEventColorFunction => {\n return typeof props.eventTextColor === 'function'\n ? props.eventTextColor\n : () => props.eventTextColor as string\n })\n\n const eventNameFunction = computed((): CalendarEventNameFunction => {\n return typeof props.eventName === 'function'\n ? props.eventName\n : (event, timedEvent) => event.input[props.eventName as string] as string || ''\n })\n\n const eventModeFunction = computed((): CalendarEventOverlapMode => {\n return typeof props.eventOverlapMode === 'function'\n ? props.eventOverlapMode\n : CalendarEventOverlapModes[props.eventOverlapMode as keyof typeof CalendarEventOverlapModes]\n })\n\n const eventWeekdays = computed((): number[] => {\n return base.effectiveWeekdays.value\n })\n\n function eventColorFunction (e: CalendarEvent): string | undefined {\n return typeof props.eventColor === 'function'\n ? props.eventColor(e)\n : e.color || props.eventColor\n }\n\n const eventsRef = ref<HTMLElement[]>([])\n\n function updateEventVisibility () {\n if (noEvents.value || !props.eventMore) {\n return\n }\n\n const eventHeight = props.eventHeight || 0\n const eventsMap = getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n // TODO: avoid direct DOM manipulation\n if (hidden) {\n more.style.display = ''\n more.innerHTML = base.locale.t(props.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n }\n\n function getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = eventsRef.value\n\n if (!elements || !elements.length) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n }\n\n function genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = props.eventHeight || 0\n const eventMarginBottom = props.eventMarginBottom || 0\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!categoryMode.value) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return genEvent(event, scope, false, {\n class: [\n 'v-event',\n { 'v-event-start': start, 'v-event-end': end },\n ],\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n marginBottom: `${eventMarginBottom}px`,\n },\n 'data-date': day.date,\n })\n }\n\n function genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n const endDelta = day.timeDelta(event.end)\n const startDelta = day.timeDelta(event.start)\n if (\n endDelta === false ||\n startDelta === false ||\n endDelta < 0 ||\n startDelta >= 1 ||\n isEventHiddenOn(event, day)\n ) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(props.eventHeight || 0, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return genEvent(event, scope, true, {\n class: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n }\n\n function genEvent (\n event: CalendarEventParsed,\n scopeInput: VEventScopeInput,\n timedEvent: boolean,\n data: Record<string, unknown>\n ): VNode {\n const slot = slots.event\n const text = eventTextColorFunction.value(event.input)\n const background = eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= parsedEventOverlapThreshold.value\n const formatTime = (withTime: CalendarTimestamp, ampm: boolean): string => {\n const formatter = base.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n return formatter(withTime, true)\n }\n\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n\n const eventSummary = () => {\n const name = eventNameFunction.value(event, timedEvent)\n if (event.start.hasTime) {\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : <br />\n\n return (\n <span class=\"v-event-summary\">\n <strong>{ name }</strong>\n { delimiter }\n { time }\n </span>\n )\n } else {\n const time = formatTime(event.start, true)\n\n return (\n <span class=\"v-event-summary\">\n <strong>{ time }</strong> { name }\n </span>\n )\n }\n }\n\n return <span class=\"v-event-summary\">{ name }</span>\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n const events = getPrefixedEventHandlers(attrs, ':event', (nativeEvent: Event) => ({ ...scope, nativeEvent }))\n\n return (\n <div\n { ...base.getColorProps({ text, background }) }\n { ...events }\n { ...data }\n ref_for\n ref={ eventsRef }\n v-ripple={ props.eventRipple ?? true }\n >\n { slot?.(scope) ?? genName(eventSummary) }\n </div>\n )\n }\n\n function genName (eventSummary: () => string | VNode): VNode {\n return (\n <div class=\"pl-1\">\n { eventSummary() }\n </div>\n )\n }\n\n function genPlaceholder (day: CalendarTimestamp): VNode {\n const height = (props.eventHeight || 0) + (props.eventMarginBottom || 0)\n return (\n <div\n style={{ height: `${height}px` }}\n data-date={ day.date }\n ref_for\n ref={ eventsRef }\n />\n )\n }\n\n function genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = props.eventHeight || 0\n const eventMarginBottom = props.eventMarginBottom || 0\n const events = getPrefixedEventHandlers(attrs, ':more', (nativeEvent: Event) => ({ nativeEvent, ...day }))\n\n return (\n <div\n class={['v-event-more pl-1', { 'v-outside': day.outside }]}\n data-date={ day.date }\n data-more=\"1\"\n style={{\n display: 'none',\n height: `${eventHeight}px`,\n marginBottom: `${eventMarginBottom}px`,\n }}\n ref_for\n ref={ eventsRef }\n v-ripple={ props.eventRipple ?? true }\n { ...events }\n />\n )\n }\n\n function getVisibleEvents (): CalendarEventParsed[] {\n const days = base.days.value\n const start = getDayIdentifier(days[0])\n const end = getDayIdentifier(days[days.length - 1])\n\n return parsedEvents.value.filter(\n event => isEventOverlapping(event, start, end)\n )\n }\n\n function isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !categoryMode.value ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n }\n\n function getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = eventWeekdays.value[0]\n\n return parsedEvents.value.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n }\n\n function getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = eventWeekdays.value[0]\n\n return parsedEvents.value.filter(\n event => event.allDay &&\n (categoryMode.value ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n isEventForCategory(event, day.category)\n )\n }\n\n function getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return parsedEvents.value.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n isEventForCategory(event, day.category)\n )\n }\n\n function getScopedSlots () {\n if (noEvents.value) {\n return { ...slots }\n }\n\n const mode = eventModeFunction.value(\n parsedEvents.value,\n eventWeekdays.value[0],\n parsedEventOverlapThreshold.value\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, categoryMode.value)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(genPlaceholder(day) as VNode)\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, getEventsForDay, genDayEvent, false)\n if (children && children.length > 0 && props.eventMore) {\n children.push(genMore(day) as VNode)\n }\n if (slots.day) {\n const slot = slots.day(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, getEventsForDayAll, genDayEvent, false)\n\n if (slots['day-header']) {\n const slot = slots['day-header'](day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, getEventsForDayTimed, genTimedEvent, true)\n let children: VNode[] = [\n <div class=\"v-event-timed-container\">{ events }</div>,\n ]\n\n if (slots['day-body']) {\n const slot = slots['day-body'](day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n },\n }\n }\n\n return {\n ...base,\n noEvents,\n parsedEvents,\n parsedEventOverlapThreshold,\n eventTimedFunction,\n eventCategoryFunction,\n eventTextColorFunction,\n eventNameFunction,\n eventModeFunction,\n eventWeekdays,\n categoryMode,\n eventColorFunction,\n eventsRef,\n updateEventVisibility,\n getEventsMap,\n genDayEvent,\n genTimedEvent,\n genEvent,\n genName,\n genPlaceholder,\n genMore,\n getVisibleEvents,\n isEventForCategory,\n getEventsForDay,\n getEventsForDayAll,\n getEventsForDayTimed,\n getScopedSlots,\n }\n}\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe,6BAExB;AAAA,OACOC,OAAO,6CAEd;AACA,SAASC,QAAQ,EAAEC,GAAG,QAAQ,KAAK;AAAA,SAC1BC,yBAAyB;AAAA,SAEhCC,eAAe,EACfC,SAAS,EACTC,kBAAkB,EAClBC,YAAY,EACZC,UAAU;AAAA,SAEHC,WAAW,EAAEC,gBAAgB;AAAA,SAC7BC,wBAAwB,EAAEC,YAAY,kCAE/C;AAkBA;AACA,MAAMC,UAAU,GAAG,GAAG;AACtB,MAAMC,WAAW,GAAG,EAAE;AACtB,MAAMC,cAAc,GAAG,IAAI;AA0B3B;AACA,KAAKf,OAAO;AAEZ,OAAO,MAAMgB,2BAA2B,GAAGJ,YAAY,CAAC;EACtDK,MAAM,EAAE;IACNC,IAAI,EAAEC,KAAkC;IACxCC,OAAO,EAAEA,CAAA,KAAM;EACjB,CAAC;EACDC,UAAU,EAAE;IACVH,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX,CAAC;EACDG,QAAQ,EAAE;IACRL,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX,CAAC;EACDI,UAAU,EAAE;IACVN,IAAI,EAAE,CAACI,MAAM,EAAEG,QAAQ,CAAkD;IACzEL,OAAO,EAAE;EACX,CAAC;EACDM,aAAa,EAAE;IACbR,IAAI,EAAE,CAACI,MAAM,EAAEG,QAAQ,CAAqD;IAC5EL,OAAO,EAAE;EACX,CAAC;EACDO,WAAW,EAAE;IACXT,IAAI,EAAEU,MAAM;IACZR,OAAO,EAAE;EACX,CAAC;EACDS,UAAU,EAAE;IACVX,IAAI,EAAE,CAACI,MAAM,EAAEG,QAAQ,CAAkD;IACzEL,OAAO,EAAE;EACX,CAAC;EACDU,cAAc,EAAE;IACdZ,IAAI,EAAE,CAACI,MAAM,EAAEG,QAAQ;EACzB,CAAC;EACDM,SAAS,EAAE;IACTb,IAAI,EAAE,CAACI,MAAM,EAAEG,QAAQ,CAAiD;IACxEL,OAAO,EAAE;EACX,CAAC;EACDY,qBAAqB,EAAE;IACrBd,IAAI,EAAE,CAACI,MAAM,EAAEM,MAAM,CAAC;IACtBR,OAAO,EAAE;EACX,CAAC;EACDa,gBAAgB,EAAE;IAChBf,IAAI,EAAE,CAACI,MAAM,EAAEG,QAAQ,CAA4D;IACnFL,OAAO,EAAE,OAAO;IAChBc,QAAQ,EAAGC,IAAS,IAAKA,IAAI,IAAIhC,yBAAyB,IAAI,OAAOgC,IAAI,KAAK;EAChF,CAAC;EACDC,SAAS,EAAE;IACTlB,IAAI,EAAEmB,OAAO;IACbjB,OAAO,EAAE;EACX,CAAC;EACDkB,aAAa,EAAE;IACbpB,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX,CAAC;EACDmB,WAAW,EAAE;IACXrB,IAAI,EAAE,CAACmB,OAAO,EAAEG,MAAM,CAAC;IACvBpB,OAAO,EAAE;EACX,CAAC;EACDqB,iBAAiB,EAAE;IACjBvB,IAAI,EAAEU,MAAM;IACZR,OAAO,EAAE;EACX;AACF,CAAC,EAAE,kBAAkB,CAAC;AAqBtB,OAAO,SAASsB,qBAAqBA,CAAEC,KAA8B,EAAEC,KAAU,EAAEC,KAAU,EAAE;EAC7F,MAAMC,IAAI,GAAG/C,eAAe,CAAC4C,KAAK,CAAC;EAEnC,MAAMI,QAAQ,GAAG9C,QAAQ,CAAC,MAAe;IACvC,OAAO,CAACkB,KAAK,CAAC6B,OAAO,CAACL,KAAK,CAAC1B,MAAM,CAAC,IAAI0B,KAAK,CAAC1B,MAAM,CAACgC,MAAM,KAAK,CAAC;EAClE,CAAC,CAAC;EAEF,MAAMC,YAAY,GAAGjD,QAAQ,CAAC,MAAe;IAC3C,OAAO0C,KAAK,CAACzB,IAAI,KAAK,UAAU;EAClC,CAAC,CAAC;EAEF,MAAMiC,kBAAkB,GAAGlD,QAAQ,CAAC,MAAkC;IACpE,OAAO,OAAO0C,KAAK,CAACnB,UAAU,KAAK,UAAU,GACzCmB,KAAK,CAACnB,UAAU,GAChB4B,KAAK,IAAI,CAAC,CAACA,KAAK,CAACT,KAAK,CAACnB,UAAU,CAAW;EAClD,CAAC,CAAC;EAEF,MAAM6B,qBAAqB,GAAGpD,QAAQ,CAAC,MAAqC;IAC1E,OAAO,OAAO0C,KAAK,CAACjB,aAAa,KAAK,UAAU,GAC5CiB,KAAK,CAACjB,aAAa,GACnB0B,KAAK,IAAIA,KAAK,CAACT,KAAK,CAACjB,aAAa,CAAW;EACnD,CAAC,CAAC;EAEF,MAAM4B,YAAY,GAAGrD,QAAQ,CAAC,MAA6B;IACzD,IAAI,CAAC0C,KAAK,CAAC1B,MAAM,EAAE,OAAO,EAAE;IAC5B,OAAO0B,KAAK,CAAC1B,MAAM,CAACsC,GAAG,CAAC,CAACH,KAAK,EAAEI,KAAK,KAAKhD,UAAU,CAClD4C,KAAK,EACLI,KAAK,EACLb,KAAK,CAACtB,UAAU,IAAI,EAAE,EACtBsB,KAAK,CAACpB,QAAQ,IAAI,EAAE,EACpB4B,kBAAkB,CAACM,KAAK,CAACL,KAAK,CAAC,EAC/BF,YAAY,CAACO,KAAK,GAAGJ,qBAAqB,CAACI,KAAK,CAACL,KAAK,CAAC,GAAG,KAC5D,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMM,2BAA2B,GAAGzD,QAAQ,CAAC,MAAc;IACzD,OAAO0D,QAAQ,CAACrC,MAAM,CAACqB,KAAK,CAACX,qBAAqB,IAAI,CAAC,CAAC,CAAC;EAC3D,CAAC,CAAC;EAEF,MAAM4B,sBAAsB,GAAG3D,QAAQ,CAAC,MAAkC;IACxE,OAAO,OAAO0C,KAAK,CAACb,cAAc,KAAK,UAAU,GAC7Ca,KAAK,CAACb,cAAc,GACpB,MAAMa,KAAK,CAACb,cAAwB;EAC1C,CAAC,CAAC;EAEF,MAAM+B,iBAAiB,GAAG5D,QAAQ,CAAC,MAAiC;IAClE,OAAO,OAAO0C,KAAK,CAACZ,SAAS,KAAK,UAAU,GACxCY,KAAK,CAACZ,SAAS,GACf,CAACqB,KAAK,EAAEU,UAAU,KAAKV,KAAK,CAACW,KAAK,CAACpB,KAAK,CAACZ,SAAS,CAAW,IAAc,EAAE;EACnF,CAAC,CAAC;EAEF,MAAMiC,iBAAiB,GAAG/D,QAAQ,CAAC,MAAgC;IACjE,OAAO,OAAO0C,KAAK,CAACV,gBAAgB,KAAK,UAAU,GAC/CU,KAAK,CAACV,gBAAgB,GACtB9B,yBAAyB,CAACwC,KAAK,CAACV,gBAAgB,CAA2C;EACjG,CAAC,CAAC;EAEF,MAAMgC,aAAa,GAAGhE,QAAQ,CAAC,MAAgB;IAC7C,OAAO6C,IAAI,CAACoB,iBAAiB,CAACT,KAAK;EACrC,CAAC,CAAC;EAEF,SAASU,kBAAkBA,CAAEC,CAAgB,EAAsB;IACjE,OAAO,OAAOzB,KAAK,CAACd,UAAU,KAAK,UAAU,GACzCc,KAAK,CAACd,UAAU,CAACuC,CAAC,CAAC,GACnBA,CAAC,CAACC,KAAK,IAAI1B,KAAK,CAACd,UAAU;EACjC;EAEA,MAAMyC,SAAS,GAAGpE,GAAG,CAAgB,EAAE,CAAC;EAExC,SAASqE,qBAAqBA,CAAA,EAAI;IAChC,IAAIxB,QAAQ,CAACU,KAAK,IAAI,CAACd,KAAK,CAACP,SAAS,EAAE;MACtC;IACF;IAEA,MAAMT,WAAW,GAAGgB,KAAK,CAAChB,WAAW,IAAI,CAAC;IAC1C,MAAM6C,SAAS,GAAGC,YAAY,CAAC,CAAC;IAEhC,KAAK,MAAMC,IAAI,IAAIF,SAAS,EAAE;MAC5B,MAAM;QAAEG,MAAM;QAAE1D,MAAM;QAAE2D;MAAK,CAAC,GAAGJ,SAAS,CAACE,IAAI,CAAC;MAChD,IAAI,CAACE,IAAI,EAAE;QACT;MACF;MAEA,MAAMC,YAAY,GAAGF,MAAM,CAACG,qBAAqB,CAAC,CAAC;MACnD,MAAMC,IAAI,GAAG9D,MAAM,CAACgC,MAAM,GAAG,CAAC;MAC9B,MAAM+B,YAAY,GAAG/D,MAAM,CAACsC,GAAG,CAACH,KAAK,KAAK;QACxCA,KAAK;QACL6B,MAAM,EAAE7B,KAAK,CAAC0B,qBAAqB,CAAC,CAAC,CAACG;MACxC,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACF,MAAM,GAAGG,CAAC,CAACH,MAAM,CAAC;MACvC,IAAII,MAAM,GAAG,CAAC;MAEd,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIP,IAAI,EAAEO,CAAC,EAAE,EAAE;QAC9B,MAAML,MAAM,GAAGD,YAAY,CAACM,CAAC,CAAC,CAACL,MAAM;QACrC,MAAMM,IAAI,GAAGD,CAAC,KAAKP,IAAI,GAClBE,MAAM,GAAGJ,YAAY,CAACI,MAAM,GAC5BA,MAAM,GAAGtD,WAAW,GAAGkD,YAAY,CAACI,MAAO;QAEhD,IAAIM,IAAI,EAAE;UACRP,YAAY,CAACM,CAAC,CAAC,CAAClC,KAAK,CAACoC,KAAK,CAACC,OAAO,GAAG,MAAM;UAC5CJ,MAAM,EAAE;QACV;MACF;;MAEA;MACA,IAAIA,MAAM,EAAE;QACVT,IAAI,CAACY,KAAK,CAACC,OAAO,GAAG,EAAE;QACvBb,IAAI,CAACc,SAAS,GAAG5C,IAAI,CAAC6C,MAAM,CAACC,CAAC,CAACjD,KAAK,CAACL,aAAa,EAAE+C,MAAM,CAAC;MAC7D,CAAC,MAAM;QACLT,IAAI,CAACY,KAAK,CAACC,OAAO,GAAG,MAAM;MAC7B;IACF;EACF;EAEA,SAAShB,YAAYA,CAAA,EAAqB;IACxC,MAAMD,SAA0B,GAAG,CAAC,CAAC;IACrC,MAAMqB,QAAQ,GAAGvB,SAAS,CAACb,KAAK;IAEhC,IAAI,CAACoC,QAAQ,IAAI,CAACA,QAAQ,CAAC5C,MAAM,EAAE;MACjC,OAAOuB,SAAS;IAClB;IAEAqB,QAAQ,CAACC,OAAO,CAACC,EAAE,IAAI;MACrB,MAAMrB,IAAI,GAAGqB,EAAE,CAACC,YAAY,CAAC,WAAW,CAAC;MACzC,IAAID,EAAE,CAACE,aAAa,IAAIvB,IAAI,EAAE;QAC5B,IAAI,EAAEA,IAAI,IAAIF,SAAS,CAAC,EAAE;UACxBA,SAAS,CAACE,IAAI,CAAC,GAAG;YAChBC,MAAM,EAAEoB,EAAE,CAACE,aAAa;YACxBrB,IAAI,EAAE,IAAI;YACV3D,MAAM,EAAE;UACV,CAAC;QACH;QACA,IAAI8E,EAAE,CAACC,YAAY,CAAC,WAAW,CAAC,EAAE;UAChCxB,SAAS,CAACE,IAAI,CAAC,CAACE,IAAI,GAAGmB,EAAE;QAC3B,CAAC,MAAM;UACLvB,SAAS,CAACE,IAAI,CAAC,CAACzD,MAAM,CAACiF,IAAI,CAACH,EAAE,CAAC;UAC/BA,EAAE,CAACP,KAAK,CAACC,OAAO,GAAG,EAAE;QACvB;MACF;IACF,CAAC,CAAC;IAEF,OAAOjB,SAAS;EAClB;EAEA,SAAS2B,WAAWA,CAAAC,IAAA,EAAkCC,GAAyB,EAAS;IAAA,IAAlE;MAAEjD;IAA2B,CAAC,GAAAgD,IAAA;IAClD,MAAMzE,WAAW,GAAGgB,KAAK,CAAChB,WAAW,IAAI,CAAC;IAC1C,MAAMc,iBAAiB,GAAGE,KAAK,CAACF,iBAAiB,IAAI,CAAC;IACtD,MAAM6D,aAAa,GAAG5F,gBAAgB,CAAC2F,GAAG,CAAC;IAC3C,MAAME,IAAI,GAAGF,GAAG,CAACE,IAAI;IACrB,MAAMC,KAAK,GAAGF,aAAa,KAAKlD,KAAK,CAACqD,eAAe;IACrD,IAAIC,GAAG,GAAGJ,aAAa,KAAKlD,KAAK,CAACuD,aAAa;IAC/C,IAAIC,KAAK,GAAG9F,WAAW;IAEvB,IAAI,CAACoC,YAAY,CAACO,KAAK,EAAE;MACvB,KAAK,IAAI6B,CAAC,GAAGe,GAAG,CAAC7C,KAAK,GAAG,CAAC,EAAE8B,CAAC,GAAGiB,IAAI,CAACtD,MAAM,EAAEqC,CAAC,EAAE,EAAE;QAChD,MAAMuB,iBAAiB,GAAGnG,gBAAgB,CAAC6F,IAAI,CAACjB,CAAC,CAAC,CAAC;QACnD,IAAIlC,KAAK,CAACuD,aAAa,IAAIE,iBAAiB,EAAE;UAC5CD,KAAK,IAAI/F,UAAU;UACnB6F,GAAG,GAAGA,GAAG,IAAIG,iBAAiB,KAAKzD,KAAK,CAACuD,aAAa;QACxD,CAAC,MAAM;UACLD,GAAG,GAAG,IAAI;UACV;QACF;MACF;IACF;IACA,MAAMI,KAAK,GAAG;MAAEC,WAAW,EAAE3D,KAAK;MAAEiD,GAAG;MAAEG,KAAK;MAAEE,GAAG;MAAEM,KAAK,EAAE;IAAM,CAAC;IAEnE,OAAOC,QAAQ,CAAC7D,KAAK,EAAE0D,KAAK,EAAE,KAAK,EAAE;MACnCI,KAAK,EAAE,CACL,SAAS,EACT;QAAE,eAAe,EAAEV,KAAK;QAAE,aAAa,EAAEE;MAAI,CAAC,CAC/C;MACDlB,KAAK,EAAE;QACL2B,MAAM,EAAE,GAAGxF,WAAW,IAAI;QAC1BiF,KAAK,EAAE,GAAGA,KAAK,GAAG;QAClBQ,YAAY,EAAE,GAAG3E,iBAAiB;MACpC,CAAC;MACD,WAAW,EAAE4D,GAAG,CAAC3B;IACnB,CAAC,CAAC;EACJ;EAEA,SAAS2C,aAAaA,CAAAC,KAAA,EAA+CjB,GAA6B,EAAiB;IAAA,IAA3F;MAAEjD,KAAK;MAAEmE,IAAI;MAAEX;IAA2B,CAAC,GAAAU,KAAA;IACjE,MAAME,QAAQ,GAAGnB,GAAG,CAACoB,SAAS,CAACrE,KAAK,CAACsD,GAAG,CAAC;IACzC,MAAMgB,UAAU,GAAGrB,GAAG,CAACoB,SAAS,CAACrE,KAAK,CAACoD,KAAK,CAAC;IAC7C,IACEgB,QAAQ,KAAK,KAAK,IAClBE,UAAU,KAAK,KAAK,IACpBF,QAAQ,GAAG,CAAC,IACZE,UAAU,IAAI,CAAC,IACftH,eAAe,CAACgD,KAAK,EAAEiD,GAAG,CAAC,EAC3B;MACA,OAAO,KAAK;IACd;IAEA,MAAMC,aAAa,GAAG5F,gBAAgB,CAAC2F,GAAG,CAAC;IAC3C,MAAMG,KAAK,GAAGpD,KAAK,CAACqD,eAAe,IAAIH,aAAa;IACpD,MAAMI,GAAG,GAAGtD,KAAK,CAACuD,aAAa,GAAGL,aAAa;IAC/C,MAAMqB,GAAG,GAAGnB,KAAK,GAAGH,GAAG,CAACuB,OAAO,CAACxE,KAAK,CAACoD,KAAK,CAAC,GAAG,CAAC;IAChD,MAAMvB,MAAM,GAAGyB,GAAG,GAAGL,GAAG,CAACuB,OAAO,CAAC7G,cAAc,CAAC,GAAGsF,GAAG,CAACuB,OAAO,CAACxE,KAAK,CAACsD,GAAG,CAAC;IACzE,MAAMS,MAAM,GAAGU,IAAI,CAACC,GAAG,CAACnF,KAAK,CAAChB,WAAW,IAAI,CAAC,EAAEsD,MAAM,GAAG0C,GAAG,CAAC;IAC7D,MAAMb,KAAK,GAAG;MAAEC,WAAW,EAAE3D,KAAK;MAAEiD,GAAG;MAAEG,KAAK;MAAEE,GAAG;MAAEM,KAAK,EAAE;IAAK,CAAC;IAElE,OAAOC,QAAQ,CAAC7D,KAAK,EAAE0D,KAAK,EAAE,IAAI,EAAE;MAClCI,KAAK,EAAE,eAAe;MACtB1B,KAAK,EAAE;QACLmC,GAAG,EAAE,GAAGA,GAAG,IAAI;QACfR,MAAM,EAAE,GAAGA,MAAM,IAAI;QACrBI,IAAI,EAAE,GAAGA,IAAI,GAAG;QAChBX,KAAK,EAAE,GAAGA,KAAK;MACjB;IACF,CAAC,CAAC;EACJ;EAEA,SAASK,QAAQA,CACf7D,KAA0B,EAC1B2E,UAA4B,EAC5BjE,UAAmB,EACnBkE,IAA6B,EACtB;IACP,MAAMC,IAAI,GAAGrF,KAAK,CAACQ,KAAK;IACxB,MAAM8E,IAAI,GAAGtE,sBAAsB,CAACH,KAAK,CAACL,KAAK,CAACW,KAAK,CAAC;IACtD,MAAMoE,UAAU,GAAGhE,kBAAkB,CAACf,KAAK,CAACW,KAAK,CAAC;IAClD,MAAMqE,YAAY,GAAGhF,KAAK,CAACoD,KAAK,CAAC6B,IAAI,GAAG,EAAE,IAAIjF,KAAK,CAACsD,GAAG,CAAC2B,IAAI,IAAI,EAAE;IAClE,MAAMC,QAAQ,GAAG7H,WAAW,CAAC2C,KAAK,CAACoD,KAAK,EAAEpD,KAAK,CAACsD,GAAG,CAAC,IAAIhD,2BAA2B,CAACD,KAAK;IACzF,MAAM8E,UAAU,GAAGA,CAACC,QAA2B,EAAEC,IAAa,KAAa;MACzE,MAAMC,SAAS,GAAG5F,IAAI,CAAC6F,YAAY,CAAC;QAClCC,QAAQ,EAAE,KAAK;QACfP,IAAI,EAAE,SAAS;QACfQ,MAAM,EAAEL,QAAQ,CAACK,MAAM,GAAG,CAAC,GAAG,SAAS,GAAGC;MAC5C,CAAC,CAAC;MACF,OAAOJ,SAAS,CAACF,QAAQ,EAAE,IAAI,CAAC;IAClC,CAAC;IAED,MAAMO,WAAW,GAAGA,CAAA,KAAMR,UAAU,CAACnF,KAAK,CAACoD,KAAK,EAAE4B,YAAY,CAAC,GAAG,KAAK,GAAGG,UAAU,CAACnF,KAAK,CAACsD,GAAG,EAAE,IAAI,CAAC;IAErG,MAAMsC,YAAY,GAAGA,CAAA,KAAM;MACzB,MAAMC,IAAI,GAAGpF,iBAAiB,CAACJ,KAAK,CAACL,KAAK,EAAEU,UAAU,CAAC;MACvD,IAAIV,KAAK,CAACoD,KAAK,CAAC0C,OAAO,EAAE;QACvB,IAAIpF,UAAU,EAAE;UACd,MAAMqF,IAAI,GAAGJ,WAAW,CAAC,CAAC;UAC1B,MAAMK,SAAS,GAAGd,QAAQ,GAAG,IAAI,GAAAe,mBAAA,kBAAS;UAE1C,OAAAA,mBAAA;YAAA;UAAA,IAAAA,mBAAA,kBAEcJ,IAAI,IACZG,SAAS,EACTD,IAAI;QAGZ,CAAC,MAAM;UACL,MAAMA,IAAI,GAAGZ,UAAU,CAACnF,KAAK,CAACoD,KAAK,EAAE,IAAI,CAAC;UAE1C,OAAA6C,mBAAA;YAAA;UAAA,IAAAA,mBAAA,kBAEcF,IAAI,IAAAG,gBAAA,OAAcL,IAAI;QAGtC;MACF;MAEA,OAAAI,mBAAA;QAAA;MAAA,IAAuCJ,IAAI;IAC7C,CAAC;IAED,MAAMnC,KAAK,GAAG;MACZ,GAAGiB,UAAU;MACb3E,KAAK,EAAEA,KAAK,CAACW,KAAK;MAClBwF,OAAO,EAAExB,UAAU,CAAC1B,GAAG,CAACkD,OAAO;MAC/BjB,QAAQ;MACRF,YAAY;MACZG,UAAU;MACVQ,WAAW;MACXC;IACF,CAAC;IAED,MAAM/H,MAAM,GAAGN,wBAAwB,CAACkC,KAAK,EAAE,QAAQ,EAAG2G,WAAkB,KAAM;MAAE,GAAG1C,KAAK;MAAE0C;IAAY,CAAC,CAAC,CAAC;IAE7G,OAAAC,eAAA,CAAAJ,mBAAA,QAAAK,WAAA,CAES5G,IAAI,CAAC6G,aAAa,CAAC;MAAEzB,IAAI;MAAEC;IAAW,CAAC,CAAC,EACxClH,MAAM,EACN+G,IAAI;MAAA;MAAA,OAEH1D;IAAS,KAGb2D,IAAI,GAAGnB,KAAK,CAAC,IAAI8C,OAAO,CAACZ,YAAY,CAAC,MAAAhJ,OAAA,EAF7B2C,KAAK,CAACJ,WAAW,IAAI,IAAI;EAK1C;EAEA,SAASqH,OAAOA,CAAEZ,YAAkC,EAAS;IAC3D,OAAAK,mBAAA;MAAA;IAAA,IAEML,YAAY,CAAC,CAAC;EAGtB;EAEA,SAASa,cAAcA,CAAExD,GAAsB,EAAS;IACtD,MAAMc,MAAM,GAAG,CAACxE,KAAK,CAAChB,WAAW,IAAI,CAAC,KAAKgB,KAAK,CAACF,iBAAiB,IAAI,CAAC,CAAC;IACxE,OAAA4G,mBAAA;MAAA,SAEW;QAAElC,MAAM,EAAE,GAAGA,MAAM;MAAK,CAAC;MAAA,aACpBd,GAAG,CAAC3B,IAAI;MAAA;MAAA,OAEdJ;IAAS;EAGrB;EAEA,SAASwF,OAAOA,CAAEzD,GAAyB,EAAS;IAClD,MAAM1E,WAAW,GAAGgB,KAAK,CAAChB,WAAW,IAAI,CAAC;IAC1C,MAAMc,iBAAiB,GAAGE,KAAK,CAACF,iBAAiB,IAAI,CAAC;IACtD,MAAMxB,MAAM,GAAGN,wBAAwB,CAACkC,KAAK,EAAE,OAAO,EAAG2G,WAAkB,KAAM;MAAEA,WAAW;MAAE,GAAGnD;IAAI,CAAC,CAAC,CAAC;IAE1G,OAAAoD,eAAA,CAAAJ,mBAAA,QAAAK,WAAA;MAAA,SAEW,CAAC,mBAAmB,EAAE;QAAE,WAAW,EAAErD,GAAG,CAACkD;MAAQ,CAAC,CAAC;MAAA,aAC9ClD,GAAG,CAAC3B,IAAI;MAAA;MAAA,SAEb;QACLe,OAAO,EAAE,MAAM;QACf0B,MAAM,EAAE,GAAGxF,WAAW,IAAI;QAC1ByF,YAAY,EAAE,GAAG3E,iBAAiB;MACpC,CAAC;MAAA;MAAA,OAEK6B;IAAS,GAEVrD,MAAM,YAAAjB,OAAA,EADA2C,KAAK,CAACJ,WAAW,IAAI,IAAI;EAI1C;EAEA,SAASwH,gBAAgBA,CAAA,EAA2B;IAClD,MAAMC,IAAI,GAAGlH,IAAI,CAACkH,IAAI,CAACvG,KAAK;IAC5B,MAAM+C,KAAK,GAAG9F,gBAAgB,CAACsJ,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC,MAAMtD,GAAG,GAAGhG,gBAAgB,CAACsJ,IAAI,CAACA,IAAI,CAAC/G,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnD,OAAOK,YAAY,CAACG,KAAK,CAACwG,MAAM,CAC9B7G,KAAK,IAAI9C,kBAAkB,CAAC8C,KAAK,EAAEoD,KAAK,EAAEE,GAAG,CAC/C,CAAC;EACH;EAEA,SAASwD,kBAAkBA,CAAE9G,KAA0B,EAAE+G,QAA0B,EAAW;IAC5F,OAAO,CAACjH,YAAY,CAACO,KAAK,IACvB,OAAO0G,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACC,YAAY,IACtDD,QAAQ,CAACC,YAAY,KAAKhH,KAAK,CAAC+G,QAAS,IACxC,OAAO/G,KAAK,CAAC+G,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,KAAK/G,KAAK,CAAC+G,QAAS,IAClE,OAAO/G,KAAK,CAAC+G,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,KAAK,IAAK;EAC7D;EAEA,SAASE,eAAeA,CAAEhE,GAAyB,EAAyB;IAC1E,MAAMiE,UAAU,GAAG5J,gBAAgB,CAAC2F,GAAG,CAAC;IACxC,MAAMkE,YAAY,GAAGtG,aAAa,CAACR,KAAK,CAAC,CAAC,CAAC;IAE3C,OAAOH,YAAY,CAACG,KAAK,CAACwG,MAAM,CAC9B7G,KAAK,IAAI7C,YAAY,CAAC6C,KAAK,EAAEiD,GAAG,EAAEiE,UAAU,EAAEC,YAAY,CAC5D,CAAC;EACH;EAEA,SAASC,kBAAkBA,CAAEnE,GAAyB,EAAyB;IAC7E,MAAMiE,UAAU,GAAG5J,gBAAgB,CAAC2F,GAAG,CAAC;IACxC,MAAMkE,YAAY,GAAGtG,aAAa,CAACR,KAAK,CAAC,CAAC,CAAC;IAE3C,OAAOH,YAAY,CAACG,KAAK,CAACwG,MAAM,CAC9B7G,KAAK,IAAIA,KAAK,CAACqH,MAAM,KAClBvH,YAAY,CAACO,KAAK,GAAGpD,SAAS,CAAC+C,KAAK,EAAEkH,UAAU,CAAC,GAAG/J,YAAY,CAAC6C,KAAK,EAAEiD,GAAG,EAAEiE,UAAU,EAAEC,YAAY,CAAC,CAAC,IACxGL,kBAAkB,CAAC9G,KAAK,EAAEiD,GAAG,CAAC8D,QAAQ,CAC1C,CAAC;EACH;EAEA,SAASO,oBAAoBA,CAAErE,GAAyB,EAAyB;IAC/E,MAAMiE,UAAU,GAAG5J,gBAAgB,CAAC2F,GAAG,CAAC;IACxC,OAAO/C,YAAY,CAACG,KAAK,CAACwG,MAAM,CAC9B7G,KAAK,IAAI,CAACA,KAAK,CAACqH,MAAM,IACpBpK,SAAS,CAAC+C,KAAK,EAAEkH,UAAU,CAAC,IAC5BJ,kBAAkB,CAAC9G,KAAK,EAAEiD,GAAG,CAAC8D,QAAQ,CAC1C,CAAC;EACH;EAEA,SAASQ,cAAcA,CAAA,EAAI;IACzB,IAAI5H,QAAQ,CAACU,KAAK,EAAE;MAClB,OAAO;QAAE,GAAGb;MAAM,CAAC;IACrB;IAEA,MAAMT,IAAI,GAAG6B,iBAAiB,CAACP,KAAK,CAClCH,YAAY,CAACG,KAAK,EAClBQ,aAAa,CAACR,KAAK,CAAC,CAAC,CAAC,EACtBC,2BAA2B,CAACD,KAC9B,CAAC;IAED,MAAMmH,MAAM,GAAI7G,KAAoB,IAAqB,CAAC,CAACA,KAAK;IAChE,MAAM8G,eAA+B,GAAGA,CAACxE,GAAG,EAAEyE,MAAM,EAAEC,MAAM,EAAE/D,KAAK,KAAK;MACtE,MAAM/F,MAAM,GAAG6J,MAAM,CAACzE,GAAG,CAAC;MAC1B,MAAM2E,OAAO,GAAG7I,IAAI,CAACkE,GAAG,EAAEpF,MAAM,EAAE+F,KAAK,EAAE9D,YAAY,CAACO,KAAK,CAAC;MAE5D,IAAIuD,KAAK,EAAE;QACT,OAAOgE,OAAO,CAACzH,GAAG,CAAC0H,MAAM,IAAIF,MAAM,CAACE,MAAM,EAAE5E,GAAG,CAAC,CAAC,CAAC4D,MAAM,CAACW,MAAM,CAAC;MAClE;MAEA,MAAMM,QAAiB,GAAG,EAAE;MAE5BF,OAAO,CAAClF,OAAO,CAAC,CAACmF,MAAM,EAAEzH,KAAK,KAAK;QACjC,OAAO0H,QAAQ,CAACjI,MAAM,GAAGgI,MAAM,CAACE,MAAM,EAAE;UACtCD,QAAQ,CAAChF,IAAI,CAAC2D,cAAc,CAACxD,GAAG,CAAU,CAAC;QAC7C;QAEA,MAAM+E,MAAM,GAAGL,MAAM,CAACE,MAAM,EAAE5E,GAAG,CAAC;QAClC,IAAI+E,MAAM,EAAE;UACVF,QAAQ,CAAChF,IAAI,CAACkF,MAAM,CAAC;QACvB;MACF,CAAC,CAAC;MAEF,OAAOF,QAAQ;IACjB,CAAC;IAED,OAAO;MACL,GAAGtI,KAAK;MACRyD,GAAG,EAAGA,GAAyB,IAAK;QAClC,IAAI6E,QAAQ,GAAGL,eAAe,CAACxE,GAAG,EAAEgE,eAAe,EAAElE,WAAW,EAAE,KAAK,CAAC;QACxE,IAAI+E,QAAQ,IAAIA,QAAQ,CAACjI,MAAM,GAAG,CAAC,IAAIN,KAAK,CAACP,SAAS,EAAE;UACtD8I,QAAQ,CAAChF,IAAI,CAAC4D,OAAO,CAACzD,GAAG,CAAU,CAAC;QACtC;QACA,IAAIzD,KAAK,CAACyD,GAAG,EAAE;UACb,MAAM4B,IAAI,GAAGrF,KAAK,CAACyD,GAAG,CAACA,GAAG,CAAC;UAC3B,IAAI4B,IAAI,EAAE;YACRiD,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ,CAACG,MAAM,CAACpD,IAAI,CAAC,GAAGA,IAAI;UACpD;QACF;QACA,OAAOiD,QAAQ;MACjB,CAAC;MACD,YAAY,EAAG7E,GAAyB,IAAK;QAC3C,IAAI6E,QAAQ,GAAGL,eAAe,CAACxE,GAAG,EAAEmE,kBAAkB,EAAErE,WAAW,EAAE,KAAK,CAAC;QAE3E,IAAIvD,KAAK,CAAC,YAAY,CAAC,EAAE;UACvB,MAAMqF,IAAI,GAAGrF,KAAK,CAAC,YAAY,CAAC,CAACyD,GAAG,CAAC;UACrC,IAAI4B,IAAI,EAAE;YACRiD,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ,CAACG,MAAM,CAACpD,IAAI,CAAC,GAAGA,IAAI;UACpD;QACF;QACA,OAAOiD,QAAQ;MACjB,CAAC;MACD,UAAU,EAAG7E,GAA6B,IAAK;QAC7C,MAAMpF,MAAM,GAAG4J,eAAe,CAACxE,GAAG,EAAEqE,oBAAoB,EAAErD,aAAa,EAAE,IAAI,CAAC;QAC9E,IAAI6D,QAAiB,GAAG,CAAA7B,mBAAA;UAAA;QAAA,IACiBpI,MAAM,GAC9C;QAED,IAAI2B,KAAK,CAAC,UAAU,CAAC,EAAE;UACrB,MAAMqF,IAAI,GAAGrF,KAAK,CAAC,UAAU,CAAC,CAACyD,GAAG,CAAC;UACnC,IAAI4B,IAAI,EAAE;YACRiD,QAAQ,GAAGA,QAAQ,CAACG,MAAM,CAACpD,IAAI,CAAC;UAClC;QACF;QACA,OAAOiD,QAAQ;MACjB;IACF,CAAC;EACH;EAEA,OAAO;IACL,GAAGpI,IAAI;IACPC,QAAQ;IACRO,YAAY;IACZI,2BAA2B;IAC3BP,kBAAkB;IAClBE,qBAAqB;IACrBO,sBAAsB;IACtBC,iBAAiB;IACjBG,iBAAiB;IACjBC,aAAa;IACbf,YAAY;IACZiB,kBAAkB;IAClBG,SAAS;IACTC,qBAAqB;IACrBE,YAAY;IACZ0B,WAAW;IACXkB,aAAa;IACbJ,QAAQ;IACR2C,OAAO;IACPC,cAAc;IACdC,OAAO;IACPC,gBAAgB;IAChBG,kBAAkB;IAClBG,eAAe;IACfG,kBAAkB;IAClBE,oBAAoB;IACpBC;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -778,7 +778,7 @@ export declare const makeVColorInputProps: <Defaults extends {
|
|
|
778
778
|
};
|
|
779
779
|
export declare const VColorInput: {
|
|
780
780
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
|
|
781
|
-
style: import("vue").StyleValue;
|
|
781
|
+
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
|
|
782
782
|
focused: boolean;
|
|
783
783
|
errorMessages: string | readonly string[] | null;
|
|
784
784
|
maxErrors: string | number;
|
|
@@ -830,7 +830,7 @@ export declare const VColorInput: {
|
|
|
830
830
|
colorPip: boolean;
|
|
831
831
|
pipIcon: string;
|
|
832
832
|
pipLocation: "append" | "append-inner" | "prepend" | "prepend-inner";
|
|
833
|
-
pipVariant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"
|
|
833
|
+
pipVariant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal";
|
|
834
834
|
} & {
|
|
835
835
|
theme?: string | undefined;
|
|
836
836
|
class?: any;
|
|
@@ -1063,7 +1063,7 @@ export declare const VColorInput: {
|
|
|
1063
1063
|
M: {};
|
|
1064
1064
|
Defaults: {};
|
|
1065
1065
|
}, {
|
|
1066
|
-
style: import("vue").StyleValue;
|
|
1066
|
+
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
|
|
1067
1067
|
focused: boolean;
|
|
1068
1068
|
errorMessages: string | readonly string[] | null;
|
|
1069
1069
|
maxErrors: string | number;
|
|
@@ -1115,7 +1115,7 @@ export declare const VColorInput: {
|
|
|
1115
1115
|
colorPip: boolean;
|
|
1116
1116
|
pipIcon: string;
|
|
1117
1117
|
pipLocation: "append" | "append-inner" | "prepend" | "prepend-inner";
|
|
1118
|
-
pipVariant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"
|
|
1118
|
+
pipVariant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal";
|
|
1119
1119
|
} & {
|
|
1120
1120
|
theme?: string | undefined;
|
|
1121
1121
|
class?: any;
|
|
@@ -1301,7 +1301,7 @@ export declare const VColorInput: {
|
|
|
1301
1301
|
__isTeleport?: undefined;
|
|
1302
1302
|
__isSuspense?: undefined;
|
|
1303
1303
|
} & import("vue").ComponentOptionsBase<{
|
|
1304
|
-
style: import("vue").StyleValue;
|
|
1304
|
+
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
|
|
1305
1305
|
focused: boolean;
|
|
1306
1306
|
errorMessages: string | readonly string[] | null;
|
|
1307
1307
|
maxErrors: string | number;
|
|
@@ -1353,7 +1353,7 @@ export declare const VColorInput: {
|
|
|
1353
1353
|
colorPip: boolean;
|
|
1354
1354
|
pipIcon: string;
|
|
1355
1355
|
pipLocation: "append" | "append-inner" | "prepend" | "prepend-inner";
|
|
1356
|
-
pipVariant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"
|
|
1356
|
+
pipVariant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal";
|
|
1357
1357
|
} & {
|
|
1358
1358
|
theme?: string | undefined;
|
|
1359
1359
|
class?: any;
|