vuetify 3.1.12 → 3.1.14
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/_component-variables-labs.sass +2 -1
- package/dist/json/attributes.json +4138 -3902
- package/dist/json/importMap-labs.json +8 -4
- package/dist/json/importMap.json +154 -154
- package/dist/json/tags.json +608 -544
- package/dist/json/web-types.json +14730 -14109
- package/dist/vuetify-labs.css +479 -236
- package/dist/vuetify-labs.d.ts +2356 -1425
- package/dist/vuetify-labs.esm.js +716 -505
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +716 -507
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +156 -133
- package/dist/vuetify.d.ts +1772 -1110
- package/dist/vuetify.esm.js +556 -480
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +556 -482
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +202 -186
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.ts +2 -2
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +7 -5
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +77 -71
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.mjs +1 -1
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/index.d.ts +13 -13
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.ts +4 -4
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
- package/lib/components/VCalendar/modes/column.mjs.map +1 -1
- package/lib/components/VCalendar/modes/common.mjs.map +1 -1
- package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
- package/lib/components/VCalendar/util/events.mjs.map +1 -1
- package/lib/components/VCalendar/util/parser.mjs.map +1 -1
- package/lib/components/VCalendar/util/props.mjs.map +1 -1
- package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +1 -13
- package/lib/components/VCarousel/VCarousel.mjs +10 -10
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +197 -19
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +14 -14
- package/lib/components/VChip/VChip.mjs +2 -2
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +14 -14
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs +58 -61
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.ts +113 -50
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +8 -6
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +77 -71
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +123 -24
- package/lib/components/VData/VData.mjs.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
- package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
- package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
- package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +43 -43
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VField/VField.mjs +3 -3
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +20 -20
- package/lib/components/VFileInput/VFileInput.mjs +0 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +59 -65
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs +3 -3
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +28 -28
- package/lib/components/VInput/InputIcon.mjs.map +1 -1
- package/lib/components/VInput/VInput.mjs +2 -2
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +14 -14
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.ts +2 -2
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +13 -13
- package/lib/components/VList/VList.mjs +2 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +24 -13
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +12 -0
- package/lib/components/VList/VListItem.mjs +2 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +5 -0
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +14 -14
- package/lib/components/VList/list.mjs.map +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +43 -43
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +123 -24
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.d.ts +1 -13
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +15 -15
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +1 -0
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VOverlay/util/point.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +2 -2
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VPicker/VPicker.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.css +3 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.sass +3 -1
- package/lib/components/VProgressCircular/_variables.scss +1 -0
- package/lib/components/VProgressLinear/VProgressLinear.css +6 -3
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +3 -0
- package/lib/components/VProgressLinear/_variables.scss +1 -1
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +14 -14
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +14 -14
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +2 -2
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +31 -2
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +77 -71
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +29 -28
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
- package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +17 -17
- package/lib/components/VSlider/VSlider.mjs +1 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +14 -14
- package/lib/components/VSlider/slider.mjs +1 -1
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +43 -43
- package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
- package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.css +4 -0
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.sass +4 -0
- package/lib/components/VSwitch/index.d.ts +14 -14
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VTable/VTable.css +1 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/VTable.sass +1 -1
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +25 -30
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +165 -28
- package/lib/components/VTextField/VTextField.mjs +3 -6
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +83 -77
- package/lib/components/VTextarea/VTextarea.mjs +9 -6
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +56 -50
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VTimePicker/SelectingTimes.mjs +3 -3
- package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.ts +8 -8
- package/lib/components/VToolbar/VToolbar.css +2 -0
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +2 -0
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +43 -43
- package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
- package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
- package/lib/components/VValidation/VValidation.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.mjs +38 -37
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +2 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/index.d.ts +1655 -993
- package/lib/components/transitions/createTransition.mjs +59 -50
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/expand-transition.mjs.map +1 -1
- package/lib/components/transitions/index.d.ts +150 -15
- package/lib/composables/border.mjs.map +1 -1
- package/lib/composables/color.mjs.map +1 -1
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/delay.mjs.map +1 -1
- package/lib/composables/density.mjs.map +1 -1
- package/lib/composables/dimensions.mjs.map +1 -1
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/elevation.mjs.map +1 -1
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/forwardRefs.mjs +17 -0
- package/lib/composables/forwardRefs.mjs.map +1 -1
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/hydration.mjs.map +1 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/items.mjs.map +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/lazy.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/locale.mjs.map +1 -1
- package/lib/composables/location.mjs.map +1 -1
- package/lib/composables/mutationObserver.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/openStrategies.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/position.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs +2 -1
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/refs.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/composables/rounded.mjs.map +1 -1
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/scopeId.mjs.map +1 -1
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/selectLink.mjs.map +1 -1
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/ssrBoot.mjs.map +1 -1
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/teleport.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/composables/touch.mjs.map +1 -1
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +1 -1
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/directives/click-outside/index.mjs.map +1 -1
- package/lib/directives/color/index.mjs.map +1 -1
- package/lib/directives/intersect/index.mjs.map +1 -1
- package/lib/directives/mutate/index.mjs.map +1 -1
- package/lib/directives/resize/index.mjs.map +1 -1
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/directives/scroll/index.mjs.map +1 -1
- package/lib/directives/touch/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +39 -39
- package/lib/labs/VDataTable/VDataTable.mjs +7 -5
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +5 -7
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +4 -3
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -3
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +393 -340
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +221 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +141 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +225 -0
- package/lib/labs/VSkeletonLoader/_variables.scss +44 -0
- package/lib/labs/VSkeletonLoader/index.d.ts +222 -0
- package/lib/labs/VSkeletonLoader/index.mjs +2 -0
- package/lib/labs/VSkeletonLoader/index.mjs.map +1 -0
- package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/labs/components.d.ts +608 -341
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/labs/entry-bundler.mjs.map +1 -1
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/lib/locale/af.mjs +2 -1
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +2 -1
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +2 -1
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +2 -1
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +2 -1
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +2 -1
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +2 -1
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +2 -1
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +2 -1
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +2 -1
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +2 -1
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +2 -1
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +2 -1
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +2 -1
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +2 -1
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +2 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +2 -1
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +2 -1
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +2 -1
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +2 -1
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.ts +42 -0
- package/lib/locale/it.mjs +2 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +2 -1
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/ko.mjs +2 -1
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +2 -1
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +2 -1
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +2 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +2 -1
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +2 -1
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +2 -1
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +2 -1
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +2 -1
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +2 -1
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +2 -1
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +2 -1
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +2 -1
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +2 -1
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +2 -1
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +2 -1
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +2 -1
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +2 -1
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +2 -1
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +2 -1
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/services/goto/index.mjs.map +1 -1
- package/lib/services/goto/util.mjs.map +1 -1
- package/lib/util/anchor.mjs.map +1 -1
- package/lib/util/animation.mjs.map +1 -1
- package/lib/util/box.mjs.map +1 -1
- package/lib/util/color/APCA.mjs.map +1 -1
- package/lib/util/color/transformCIELAB.mjs.map +1 -1
- package/lib/util/color/transformSRGB.mjs.map +1 -1
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/dateTimeUtils.mjs.map +1 -1
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/dom.mjs.map +1 -1
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/getScrollParent.mjs.map +1 -1
- package/lib/util/helpers.mjs +1 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/injectSelf.mjs.map +1 -1
- package/lib/util/isFixedPosition.mjs.map +1 -1
- package/lib/util/propsFactory.mjs.map +1 -1
- package/lib/util/useRender.mjs.map +1 -1
- package/package.json +25 -25
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +0 -179
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +0 -377
- package/lib/components/VSkeletonLoader/_variables.scss +0 -54
- package/lib/components/VSkeletonLoader/index.mjs +0 -4
- package/lib/components/VSkeletonLoader/index.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-with-intervals.mjs","names":["CalendarBase","props","parseTime","copyTimestamp","updateMinutes","createDayList","createIntervalList","createNativeLocaleFormatter","MINUTES_IN_DAY","extend","name","intervals","computed","parsedFirstInterval","parseInt","firstInterval","parsedIntervalMinutes","intervalMinutes","parsedIntervalCount","intervalCount","parsedIntervalHeight","parseFloat","intervalHeight","parsedFirstTime","firstTime","firstMinute","time","bodyHeight","days","parsedStart","parsedEnd","times","today","weekdaySkips","maxDays","first","minutes","count","now","map","d","intervalFormatter","intervalFormat","longOptions","timeZone","hour","minute","shortOptions","shortHourOptions","currentLocale","tms","short","methods","showIntervalLabelDefault","interval","isFirst","intervalStyleDefault","_interval","undefined","getTimestampAtEvent","e","day","timestamp","bounds","currentTarget","getBoundingClientRect","baseMinutes","touchEvent","mouseEvent","touches","changedTouches","clientY","addIntervals","top","addMinutes","Math","floor","getSlotScope","scope","timeToY","timeDelta","minutesToPixels","week","scrollToTime","y","pane","$refs","scrollArea","scrollTop","clamp","min","gap"],"sources":["../../../../src/components/VCalendar/mixins/calendar-with-intervals.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTime,\n copyTimestamp,\n updateMinutes,\n createDayList,\n createIntervalList,\n createNativeLocaleFormatter,\n VTime,\n MINUTES_IN_DAY,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter, CalendarDayBodySlotScope } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-intervals',\n\n props: props.intervals,\n\n computed: {\n parsedFirstInterval (): number {\n return parseInt(this.firstInterval)\n },\n parsedIntervalMinutes (): number {\n return parseInt(this.intervalMinutes)\n },\n parsedIntervalCount (): number {\n return parseInt(this.intervalCount)\n },\n parsedIntervalHeight (): number {\n return parseFloat(this.intervalHeight)\n },\n parsedFirstTime (): number | false {\n return parseTime(this.firstTime)\n },\n firstMinute (): number {\n const time = this.parsedFirstTime\n\n return time !== false && time >= 0 && time <= MINUTES_IN_DAY\n ? time\n : this.parsedFirstInterval * this.parsedIntervalMinutes\n },\n bodyHeight (): number {\n return this.parsedIntervalCount * this.parsedIntervalHeight\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips,\n this.maxDays\n )\n },\n intervals (): CalendarTimestamp[][] {\n const days: CalendarTimestamp[] = this.days\n const first: number = this.firstMinute\n const minutes: number = this.parsedIntervalMinutes\n const count: number = this.parsedIntervalCount\n const now: CalendarTimestamp = this.times.now\n\n return days.map(d => createIntervalList(d, first, minutes, count, now))\n },\n intervalFormatter (): CalendarFormatter {\n if (this.intervalFormat) {\n return this.intervalFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', hour: '2-digit', minute: '2-digit' }\n const shortOptions = { timeZone: 'UTC', hour: 'numeric', minute: '2-digit' }\n const shortHourOptions = { timeZone: 'UTC', hour: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (tms, short) => short ? (tms.minute === 0 ? shortHourOptions : shortOptions) : longOptions\n )\n },\n },\n\n methods: {\n showIntervalLabelDefault (interval: CalendarTimestamp): boolean {\n const first: CalendarTimestamp = this.intervals[0][0]\n const isFirst: boolean = first.hour === interval.hour && first.minute === interval.minute\n return !isFirst\n },\n intervalStyleDefault (_interval: CalendarTimestamp): object | undefined {\n return undefined\n },\n getTimestampAtEvent (e: MouseEvent | TouchEvent, day: CalendarTimestamp): CalendarTimestamp {\n const timestamp: CalendarTimestamp = copyTimestamp(day)\n const bounds = (e.currentTarget as HTMLElement).getBoundingClientRect()\n const baseMinutes: number = this.firstMinute\n const touchEvent: TouchEvent = e as TouchEvent\n const mouseEvent: MouseEvent = e as MouseEvent\n const touches: TouchList = touchEvent.changedTouches || touchEvent.touches\n const clientY: number = touches && touches[0] ? touches[0].clientY : mouseEvent.clientY\n const addIntervals: number = (clientY - bounds.top) / this.parsedIntervalHeight\n const addMinutes: number = Math.floor(addIntervals * this.parsedIntervalMinutes)\n const minutes: number = baseMinutes + addMinutes\n\n return updateMinutes(timestamp, minutes, this.times.now)\n },\n getSlotScope (timestamp: CalendarTimestamp): CalendarDayBodySlotScope {\n const scope = copyTimestamp(timestamp) as any\n scope.timeToY = this.timeToY\n scope.timeDelta = this.timeDelta\n scope.minutesToPixels = this.minutesToPixels\n scope.week = this.days\n return scope\n },\n scrollToTime (time: VTime): boolean {\n const y = this.timeToY(time)\n const pane = this.$refs.scrollArea as HTMLElement\n\n if (y === false || !pane) {\n return false\n }\n\n pane.scrollTop = y\n\n return true\n },\n minutesToPixels (minutes: number): number {\n return minutes / this.parsedIntervalMinutes * this.parsedIntervalHeight\n },\n timeToY (time: VTime, clamp = true): number | false {\n let y = this.timeDelta(time)\n\n if (y !== false) {\n y *= this.bodyHeight\n\n if (clamp) {\n if (y < 0) {\n y = 0\n }\n if (y > this.bodyHeight) {\n y = this.bodyHeight\n }\n }\n }\n\n return y\n },\n timeDelta (time: VTime): number | false {\n const minutes = parseTime(time)\n\n if (minutes === false) {\n return false\n }\n\n const min: number = this.firstMinute\n const gap: number = this.parsedIntervalCount * this.parsedIntervalMinutes\n\n return (minutes - min) / gap\n },\n },\n})\n"],"mappings":"AAAA;AACA;AAGA;AAAA,OACOA,YAAY,6BAEnB;AAAA,OACOC,KAAK;AAAA,SAEVC,SAAS,EACTC,aAAa,EACbC,aAAa,EACbC,aAAa,EACbC,kBAAkB,EAClBC,2BAA2B,EAE3BC,cAAc;AAIhB;AACA,eAAeR,YAAY,CAACS,MAAM,CAAC;EACjCC,IAAI,EAAE,yBAAyB;EAE/BT,KAAK,EAAEA,KAAK,CAACU,SAAS;EAEtBC,QAAQ,EAAE;IACRC,mBAAmB,GAAY;MAC7B,OAAOC,QAAQ,CAAC,IAAI,CAACC,aAAa,CAAC;IACrC,CAAC;IACDC,qBAAqB,GAAY;MAC/B,OAAOF,QAAQ,CAAC,IAAI,CAACG,eAAe,CAAC;IACvC,CAAC;IACDC,mBAAmB,GAAY;MAC7B,OAAOJ,QAAQ,CAAC,IAAI,CAACK,aAAa,CAAC;IACrC,CAAC;IACDC,oBAAoB,GAAY;MAC9B,OAAOC,UAAU,CAAC,IAAI,CAACC,cAAc,CAAC;IACxC,CAAC;IACDC,eAAe,GAAoB;MACjC,OAAOrB,SAAS,CAAC,IAAI,CAACsB,SAAS,CAAC;IAClC,CAAC;IACDC,WAAW,GAAY;MACrB,MAAMC,IAAI,GAAG,IAAI,CAACH,eAAe;MAEjC,OAAOG,IAAI,KAAK,KAAK,IAAIA,IAAI,IAAI,CAAC,IAAIA,IAAI,IAAIlB,cAAc,GACxDkB,IAAI,GACJ,IAAI,CAACb,mBAAmB,GAAG,IAAI,CAACG,qBAAqB;IAC3D,CAAC;IACDW,UAAU,GAAY;MACpB,OAAO,IAAI,CAACT,mBAAmB,GAAG,IAAI,CAACE,oBAAoB;IAC7D,CAAC;IACDQ,IAAI,GAAyB;MAC3B,OAAOvB,aAAa,CAClB,IAAI,CAACwB,WAAW,EAChB,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,KAAK,CAACC,KAAK,EAChB,IAAI,CAACC,YAAY,EACjB,IAAI,CAACC,OAAO,CACb;IACH,CAAC;IACDvB,SAAS,GAA2B;MAClC,MAAMiB,IAAyB,GAAG,IAAI,CAACA,IAAI;MAC3C,MAAMO,KAAa,GAAG,IAAI,CAACV,WAAW;MACtC,MAAMW,OAAe,GAAG,IAAI,CAACpB,qBAAqB;MAClD,MAAMqB,KAAa,GAAG,IAAI,CAACnB,mBAAmB;MAC9C,MAAMoB,GAAsB,GAAG,IAAI,CAACP,KAAK,CAACO,GAAG;MAE7C,OAAOV,IAAI,CAACW,GAAG,CAACC,CAAC,IAAIlC,kBAAkB,CAACkC,CAAC,EAAEL,KAAK,EAAEC,OAAO,EAAEC,KAAK,EAAEC,GAAG,CAAC,CAAC;IACzE,CAAC;IACDG,iBAAiB,GAAuB;MACtC,IAAI,IAAI,CAACC,cAAc,EAAE;QACvB,OAAO,IAAI,CAACA,cAAc;MAC5B;MAEA,MAAMC,WAAW,GAAG;QAAEC,QAAQ,EAAE,KAAK;QAAEC,IAAI,EAAE,SAAS;QAAEC,MAAM,EAAE;MAAU,CAAC;MAC3E,MAAMC,YAAY,GAAG;QAAEH,QAAQ,EAAE,KAAK;QAAEC,IAAI,EAAE,SAAS;QAAEC,MAAM,EAAE;MAAU,CAAC;MAC5E,MAAME,gBAAgB,GAAG;QAAEJ,QAAQ,EAAE,KAAK;QAAEC,IAAI,EAAE;MAAU,CAAC;MAE7D,OAAOtC,2BAA2B,CAChC,IAAI,CAAC0C,aAAa,EAClB,CAACC,GAAG,EAAEC,KAAK,KAAKA,KAAK,GAAID,GAAG,CAACJ,MAAM,KAAK,CAAC,GAAGE,gBAAgB,GAAGD,YAAY,GAAIJ,WAAW,CAC3F;IACH;EACF,CAAC;EAEDS,OAAO,EAAE;IACPC,wBAAwB,CAAEC,QAA2B,EAAW;MAC9D,MAAMnB,KAAwB,GAAG,IAAI,CAACxB,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACrD,MAAM4C,OAAgB,GAAGpB,KAAK,CAACU,IAAI,KAAKS,QAAQ,CAACT,IAAI,IAAIV,KAAK,CAACW,MAAM,KAAKQ,QAAQ,CAACR,MAAM;MACzF,OAAO,CAACS,OAAO;IACjB,CAAC;IACDC,oBAAoB,CAAEC,SAA4B,EAAsB;MACtE,OAAOC,SAAS;IAClB,CAAC;IACDC,mBAAmB,CAAEC,CAA0B,EAAEC,GAAsB,EAAqB;MAC1F,MAAMC,SAA4B,GAAG3D,aAAa,CAAC0D,GAAG,CAAC;MACvD,MAAME,MAAM,GAAIH,CAAC,CAACI,aAAa,CAAiBC,qBAAqB,EAAE;MACvE,MAAMC,WAAmB,GAAG,IAAI,CAACzC,WAAW;MAC5C,MAAM0C,UAAsB,GAAGP,CAAe;MAC9C,MAAMQ,UAAsB,GAAGR,CAAe;MAC9C,MAAMS,OAAkB,GAAGF,UAAU,CAACG,cAAc,IAAIH,UAAU,CAACE,OAAO;MAC1E,MAAME,OAAe,GAAGF,OAAO,IAAIA,OAAO,CAAC,CAAC,CAAC,GAAGA,OAAO,CAAC,CAAC,CAAC,CAACE,OAAO,GAAGH,UAAU,CAACG,OAAO;MACvF,MAAMC,YAAoB,GAAG,CAACD,OAAO,GAAGR,MAAM,CAACU,GAAG,IAAI,IAAI,CAACrD,oBAAoB;MAC/E,MAAMsD,UAAkB,GAAGC,IAAI,CAACC,KAAK,CAACJ,YAAY,GAAG,IAAI,CAACxD,qBAAqB,CAAC;MAChF,MAAMoB,OAAe,GAAG8B,WAAW,GAAGQ,UAAU;MAEhD,OAAOtE,aAAa,CAAC0D,SAAS,EAAE1B,OAAO,EAAE,IAAI,CAACL,KAAK,CAACO,GAAG,CAAC;IAC1D,CAAC;IACDuC,YAAY,CAAEf,SAA4B,EAA4B;MACpE,MAAMgB,KAAK,GAAG3E,aAAa,CAAC2D,SAAS,CAAQ;MAC7CgB,KAAK,CAACC,OAAO,GAAG,IAAI,CAACA,OAAO;MAC5BD,KAAK,CAACE,SAAS,GAAG,IAAI,CAACA,SAAS;MAChCF,KAAK,CAACG,eAAe,GAAG,IAAI,CAACA,eAAe;MAC5CH,KAAK,CAACI,IAAI,GAAG,IAAI,CAACtD,IAAI;MACtB,OAAOkD,KAAK;IACd,CAAC;IACDK,YAAY,CAAEzD,IAAW,EAAW;MAClC,MAAM0D,CAAC,GAAG,IAAI,CAACL,OAAO,CAACrD,IAAI,CAAC;MAC5B,MAAM2D,IAAI,GAAG,IAAI,CAACC,KAAK,CAACC,UAAyB;MAEjD,IAAIH,CAAC,KAAK,KAAK,IAAI,CAACC,IAAI,EAAE;QACxB,OAAO,KAAK;MACd;MAEAA,IAAI,CAACG,SAAS,GAAGJ,CAAC;MAElB,OAAO,IAAI;IACb,CAAC;IACDH,eAAe,CAAE7C,OAAe,EAAU;MACxC,OAAOA,OAAO,GAAG,IAAI,CAACpB,qBAAqB,GAAG,IAAI,CAACI,oBAAoB;IACzE,CAAC;IACD2D,OAAO,CAAErD,IAAW,EAAgC;MAAA,IAA9B+D,KAAK,uEAAG,IAAI;MAChC,IAAIL,CAAC,GAAG,IAAI,CAACJ,SAAS,CAACtD,IAAI,CAAC;MAE5B,IAAI0D,CAAC,KAAK,KAAK,EAAE;QACfA,CAAC,IAAI,IAAI,CAACzD,UAAU;QAEpB,IAAI8D,KAAK,EAAE;UACT,IAAIL,CAAC,GAAG,CAAC,EAAE;YACTA,CAAC,GAAG,CAAC;UACP;UACA,IAAIA,CAAC,GAAG,IAAI,CAACzD,UAAU,EAAE;YACvByD,CAAC,GAAG,IAAI,CAACzD,UAAU;UACrB;QACF;MACF;MAEA,OAAOyD,CAAC;IACV,CAAC;IACDJ,SAAS,CAAEtD,IAAW,EAAkB;MACtC,MAAMU,OAAO,GAAGlC,SAAS,CAACwB,IAAI,CAAC;MAE/B,IAAIU,OAAO,KAAK,KAAK,EAAE;QACrB,OAAO,KAAK;MACd;MAEA,MAAMsD,GAAW,GAAG,IAAI,CAACjE,WAAW;MACpC,MAAMkE,GAAW,GAAG,IAAI,CAACzE,mBAAmB,GAAG,IAAI,CAACF,qBAAqB;MAEzE,OAAO,CAACoB,OAAO,GAAGsD,GAAG,IAAIC,GAAG;IAC9B;EACF;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"calendar-with-intervals.mjs","names":["CalendarBase","props","parseTime","copyTimestamp","updateMinutes","createDayList","createIntervalList","createNativeLocaleFormatter","MINUTES_IN_DAY","extend","name","intervals","computed","parsedFirstInterval","parseInt","firstInterval","parsedIntervalMinutes","intervalMinutes","parsedIntervalCount","intervalCount","parsedIntervalHeight","parseFloat","intervalHeight","parsedFirstTime","firstTime","firstMinute","time","bodyHeight","days","parsedStart","parsedEnd","times","today","weekdaySkips","maxDays","first","minutes","count","now","map","d","intervalFormatter","intervalFormat","longOptions","timeZone","hour","minute","shortOptions","shortHourOptions","currentLocale","tms","short","methods","showIntervalLabelDefault","interval","isFirst","intervalStyleDefault","_interval","undefined","getTimestampAtEvent","e","day","timestamp","bounds","currentTarget","getBoundingClientRect","baseMinutes","touchEvent","mouseEvent","touches","changedTouches","clientY","addIntervals","top","addMinutes","Math","floor","getSlotScope","scope","timeToY","timeDelta","minutesToPixels","week","scrollToTime","y","pane","$refs","scrollArea","scrollTop","clamp","arguments","length","min","gap"],"sources":["../../../../src/components/VCalendar/mixins/calendar-with-intervals.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTime,\n copyTimestamp,\n updateMinutes,\n createDayList,\n createIntervalList,\n createNativeLocaleFormatter,\n VTime,\n MINUTES_IN_DAY,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter, CalendarDayBodySlotScope } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-intervals',\n\n props: props.intervals,\n\n computed: {\n parsedFirstInterval (): number {\n return parseInt(this.firstInterval)\n },\n parsedIntervalMinutes (): number {\n return parseInt(this.intervalMinutes)\n },\n parsedIntervalCount (): number {\n return parseInt(this.intervalCount)\n },\n parsedIntervalHeight (): number {\n return parseFloat(this.intervalHeight)\n },\n parsedFirstTime (): number | false {\n return parseTime(this.firstTime)\n },\n firstMinute (): number {\n const time = this.parsedFirstTime\n\n return time !== false && time >= 0 && time <= MINUTES_IN_DAY\n ? time\n : this.parsedFirstInterval * this.parsedIntervalMinutes\n },\n bodyHeight (): number {\n return this.parsedIntervalCount * this.parsedIntervalHeight\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips,\n this.maxDays\n )\n },\n intervals (): CalendarTimestamp[][] {\n const days: CalendarTimestamp[] = this.days\n const first: number = this.firstMinute\n const minutes: number = this.parsedIntervalMinutes\n const count: number = this.parsedIntervalCount\n const now: CalendarTimestamp = this.times.now\n\n return days.map(d => createIntervalList(d, first, minutes, count, now))\n },\n intervalFormatter (): CalendarFormatter {\n if (this.intervalFormat) {\n return this.intervalFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', hour: '2-digit', minute: '2-digit' }\n const shortOptions = { timeZone: 'UTC', hour: 'numeric', minute: '2-digit' }\n const shortHourOptions = { timeZone: 'UTC', hour: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (tms, short) => short ? (tms.minute === 0 ? shortHourOptions : shortOptions) : longOptions\n )\n },\n },\n\n methods: {\n showIntervalLabelDefault (interval: CalendarTimestamp): boolean {\n const first: CalendarTimestamp = this.intervals[0][0]\n const isFirst: boolean = first.hour === interval.hour && first.minute === interval.minute\n return !isFirst\n },\n intervalStyleDefault (_interval: CalendarTimestamp): object | undefined {\n return undefined\n },\n getTimestampAtEvent (e: MouseEvent | TouchEvent, day: CalendarTimestamp): CalendarTimestamp {\n const timestamp: CalendarTimestamp = copyTimestamp(day)\n const bounds = (e.currentTarget as HTMLElement).getBoundingClientRect()\n const baseMinutes: number = this.firstMinute\n const touchEvent: TouchEvent = e as TouchEvent\n const mouseEvent: MouseEvent = e as MouseEvent\n const touches: TouchList = touchEvent.changedTouches || touchEvent.touches\n const clientY: number = touches && touches[0] ? touches[0].clientY : mouseEvent.clientY\n const addIntervals: number = (clientY - bounds.top) / this.parsedIntervalHeight\n const addMinutes: number = Math.floor(addIntervals * this.parsedIntervalMinutes)\n const minutes: number = baseMinutes + addMinutes\n\n return updateMinutes(timestamp, minutes, this.times.now)\n },\n getSlotScope (timestamp: CalendarTimestamp): CalendarDayBodySlotScope {\n const scope = copyTimestamp(timestamp) as any\n scope.timeToY = this.timeToY\n scope.timeDelta = this.timeDelta\n scope.minutesToPixels = this.minutesToPixels\n scope.week = this.days\n return scope\n },\n scrollToTime (time: VTime): boolean {\n const y = this.timeToY(time)\n const pane = this.$refs.scrollArea as HTMLElement\n\n if (y === false || !pane) {\n return false\n }\n\n pane.scrollTop = y\n\n return true\n },\n minutesToPixels (minutes: number): number {\n return minutes / this.parsedIntervalMinutes * this.parsedIntervalHeight\n },\n timeToY (time: VTime, clamp = true): number | false {\n let y = this.timeDelta(time)\n\n if (y !== false) {\n y *= this.bodyHeight\n\n if (clamp) {\n if (y < 0) {\n y = 0\n }\n if (y > this.bodyHeight) {\n y = this.bodyHeight\n }\n }\n }\n\n return y\n },\n timeDelta (time: VTime): number | false {\n const minutes = parseTime(time)\n\n if (minutes === false) {\n return false\n }\n\n const min: number = this.firstMinute\n const gap: number = this.parsedIntervalCount * this.parsedIntervalMinutes\n\n return (minutes - min) / gap\n },\n },\n})\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mouse.mjs","names":["Vue","extend","name","methods","getDefaultMouseEventHandlers","suffix","getEvent","listeners","Object","keys","$listeners","filter","key","endsWith","reduce","acc","event","slice","length","getMouseEventHandlers","prevent","result","events","on","eventOptions","prefix","passive","once","capture","handler","e","mouseEvent","button","undefined","buttons","preventDefault","stop","stopPropagation","classSeparator","eventTargetClasses","currentTarget","className","split","currentTargets","document","elementsFromPoint","changedTouches","clientX","clientY","find","t","some","c","includes","target","isSameNode","dispatchEvent","TouchEvent","type","targetTouches","touches","$emit","Array","isArray","push"],"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"mappings":"AAAA;AACA;;AAEA,OAAOA,GAAG,MAAM,KAAK;AAqBrB,eAAeA,GAAG,CAACC,MAAM,CAAC;EACxBC,IAAI,EAAE,OAAO;EAEbC,OAAO,EAAE;IACPC,
|
|
1
|
+
{"version":3,"file":"mouse.mjs","names":["Vue","extend","name","methods","getDefaultMouseEventHandlers","suffix","getEvent","listeners","Object","keys","$listeners","filter","key","endsWith","reduce","acc","event","slice","length","getMouseEventHandlers","prevent","result","events","on","eventOptions","prefix","passive","once","capture","handler","e","mouseEvent","button","undefined","buttons","preventDefault","stop","stopPropagation","classSeparator","eventTargetClasses","currentTarget","className","split","currentTargets","document","elementsFromPoint","changedTouches","clientX","clientY","find","t","some","c","includes","target","isSameNode","dispatchEvent","TouchEvent","type","targetTouches","touches","$emit","Array","isArray","push"],"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"times.mjs","names":["Vue","validateTimestamp","parseTimestamp","parseDate","extend","name","props","now","type","String","validator","data","times","today","computed","parsedNow","watch","created","updateTimes","setPresent","methods","present","past","future","getNow","updateDay","updateTime","Date","target","date","year","month","day","weekday","time","hour","minute"],"sources":["../../../../src/components/VCalendar/mixins/times.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport Vue from 'vue'\n\nimport {\n validateTimestamp,\n parseTimestamp,\n parseDate,\n} from '../util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\nexport default Vue.extend({\n name: 'times',\n\n props: {\n now: {\n type: String,\n validator: validateTimestamp,\n },\n },\n\n data: () => ({\n times: {\n now: parseTimestamp('0000-00-00 00:00', true),\n today: parseTimestamp('0000-00-00', true),\n },\n }),\n\n computed: {\n parsedNow (): CalendarTimestamp | null {\n return this.now ? parseTimestamp(this.now, true) : null\n },\n },\n\n watch: {\n parsedNow: 'updateTimes',\n },\n\n created () {\n this.updateTimes()\n this.setPresent()\n },\n\n methods: {\n setPresent (): void {\n this.times.now.present = this.times.today.present = true\n this.times.now.past = this.times.today.past = false\n this.times.now.future = this.times.today.future = false\n },\n updateTimes (): void {\n const now: CalendarTimestamp = this.parsedNow || this.getNow()\n this.updateDay(now, this.times.now)\n this.updateTime(now, this.times.now)\n this.updateDay(now, this.times.today)\n },\n getNow (): CalendarTimestamp {\n return parseDate(new Date())\n },\n updateDay (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.date !== target.date) {\n target.year = now.year\n target.month = now.month\n target.day = now.day\n target.weekday = now.weekday\n target.date = now.date\n }\n },\n updateTime (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.time !== target.time) {\n target.hour = now.hour\n target.minute = now.minute\n target.time = now.time\n }\n },\n },\n})\n"],"mappings":"AAAA;AACA;;AAEA,OAAOA,GAAG,MAAM,KAAK;AAAA,SAGnBC,iBAAiB,EACjBC,cAAc,EACdC,SAAS;AAIX,eAAeH,GAAG,CAACI,MAAM,CAAC;EACxBC,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAE;IACLC,GAAG,EAAE;MACHC,IAAI,EAAEC,MAAM;MACZC,SAAS,EAAET;IACb;EACF,CAAC;EAEDU,IAAI,
|
|
1
|
+
{"version":3,"file":"times.mjs","names":["Vue","validateTimestamp","parseTimestamp","parseDate","extend","name","props","now","type","String","validator","data","times","today","computed","parsedNow","watch","created","updateTimes","setPresent","methods","present","past","future","getNow","updateDay","updateTime","Date","target","date","year","month","day","weekday","time","hour","minute"],"sources":["../../../../src/components/VCalendar/mixins/times.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport Vue from 'vue'\n\nimport {\n validateTimestamp,\n parseTimestamp,\n parseDate,\n} from '../util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\nexport default Vue.extend({\n name: 'times',\n\n props: {\n now: {\n type: String,\n validator: validateTimestamp,\n },\n },\n\n data: () => ({\n times: {\n now: parseTimestamp('0000-00-00 00:00', true),\n today: parseTimestamp('0000-00-00', true),\n },\n }),\n\n computed: {\n parsedNow (): CalendarTimestamp | null {\n return this.now ? parseTimestamp(this.now, true) : null\n },\n },\n\n watch: {\n parsedNow: 'updateTimes',\n },\n\n created () {\n this.updateTimes()\n this.setPresent()\n },\n\n methods: {\n setPresent (): void {\n this.times.now.present = this.times.today.present = true\n this.times.now.past = this.times.today.past = false\n this.times.now.future = this.times.today.future = false\n },\n updateTimes (): void {\n const now: CalendarTimestamp = this.parsedNow || this.getNow()\n this.updateDay(now, this.times.now)\n this.updateTime(now, this.times.now)\n this.updateDay(now, this.times.today)\n },\n getNow (): CalendarTimestamp {\n return parseDate(new Date())\n },\n updateDay (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.date !== target.date) {\n target.year = now.year\n target.month = now.month\n target.day = now.day\n target.weekday = now.weekday\n target.date = now.date\n }\n },\n updateTime (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.time !== target.time) {\n target.hour = now.hour\n target.minute = now.minute\n target.time = now.time\n }\n },\n },\n})\n"],"mappings":"AAAA;AACA;;AAEA,OAAOA,GAAG,MAAM,KAAK;AAAA,SAGnBC,iBAAiB,EACjBC,cAAc,EACdC,SAAS;AAIX,eAAeH,GAAG,CAACI,MAAM,CAAC;EACxBC,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAE;IACLC,GAAG,EAAE;MACHC,IAAI,EAAEC,MAAM;MACZC,SAAS,EAAET;IACb;EACF,CAAC;EAEDU,IAAI,EAAEA,CAAA,MAAO;IACXC,KAAK,EAAE;MACLL,GAAG,EAAEL,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC;MAC7CW,KAAK,EAAEX,cAAc,CAAC,YAAY,EAAE,IAAI;IAC1C;EACF,CAAC,CAAC;EAEFY,QAAQ,EAAE;IACRC,SAASA,CAAA,EAA8B;MACrC,OAAO,IAAI,CAACR,GAAG,GAAGL,cAAc,CAAC,IAAI,CAACK,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI;IACzD;EACF,CAAC;EAEDS,KAAK,EAAE;IACLD,SAAS,EAAE;EACb,CAAC;EAEDE,OAAOA,CAAA,EAAI;IACT,IAAI,CAACC,WAAW,EAAE;IAClB,IAAI,CAACC,UAAU,EAAE;EACnB,CAAC;EAEDC,OAAO,EAAE;IACPD,UAAUA,CAAA,EAAU;MAClB,IAAI,CAACP,KAAK,CAACL,GAAG,CAACc,OAAO,GAAG,IAAI,CAACT,KAAK,CAACC,KAAK,CAACQ,OAAO,GAAG,IAAI;MACxD,IAAI,CAACT,KAAK,CAACL,GAAG,CAACe,IAAI,GAAG,IAAI,CAACV,KAAK,CAACC,KAAK,CAACS,IAAI,GAAG,KAAK;MACnD,IAAI,CAACV,KAAK,CAACL,GAAG,CAACgB,MAAM,GAAG,IAAI,CAACX,KAAK,CAACC,KAAK,CAACU,MAAM,GAAG,KAAK;IACzD,CAAC;IACDL,WAAWA,CAAA,EAAU;MACnB,MAAMX,GAAsB,GAAG,IAAI,CAACQ,SAAS,IAAI,IAAI,CAACS,MAAM,EAAE;MAC9D,IAAI,CAACC,SAAS,CAAClB,GAAG,EAAE,IAAI,CAACK,KAAK,CAACL,GAAG,CAAC;MACnC,IAAI,CAACmB,UAAU,CAACnB,GAAG,EAAE,IAAI,CAACK,KAAK,CAACL,GAAG,CAAC;MACpC,IAAI,CAACkB,SAAS,CAAClB,GAAG,EAAE,IAAI,CAACK,KAAK,CAACC,KAAK,CAAC;IACvC,CAAC;IACDW,MAAMA,CAAA,EAAuB;MAC3B,OAAOrB,SAAS,CAAC,IAAIwB,IAAI,EAAE,CAAC;IAC9B,CAAC;IACDF,SAASA,CAAElB,GAAsB,EAAEqB,MAAyB,EAAQ;MAClE,IAAIrB,GAAG,CAACsB,IAAI,KAAKD,MAAM,CAACC,IAAI,EAAE;QAC5BD,MAAM,CAACE,IAAI,GAAGvB,GAAG,CAACuB,IAAI;QACtBF,MAAM,CAACG,KAAK,GAAGxB,GAAG,CAACwB,KAAK;QACxBH,MAAM,CAACI,GAAG,GAAGzB,GAAG,CAACyB,GAAG;QACpBJ,MAAM,CAACK,OAAO,GAAG1B,GAAG,CAAC0B,OAAO;QAC5BL,MAAM,CAACC,IAAI,GAAGtB,GAAG,CAACsB,IAAI;MACxB;IACF,CAAC;IACDH,UAAUA,CAAEnB,GAAsB,EAAEqB,MAAyB,EAAQ;MACnE,IAAIrB,GAAG,CAAC2B,IAAI,KAAKN,MAAM,CAACM,IAAI,EAAE;QAC5BN,MAAM,CAACO,IAAI,GAAG5B,GAAG,CAAC4B,IAAI;QACtBP,MAAM,CAACQ,MAAM,GAAG7B,GAAG,CAAC6B,MAAM;QAC1BR,MAAM,CAACM,IAAI,GAAG3B,GAAG,CAAC2B,IAAI;MACxB;IACF;EACF;AACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column.mjs","names":["getOverlapGroupHandler","FULL_WIDTH","column","events","firstWeekday","overlapThreshold","handler","day","dayEvents","timed","reset","visuals","getVisuals","forEach","visual","left","columnCount","width"],"sources":["../../../../src/components/VCalendar/modes/column.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarEventOverlapMode } from 'vuetify/types'\nimport { getOverlapGroupHandler } from './common'\n\nconst FULL_WIDTH = 100\n\nexport const column: CalendarEventOverlapMode = (events, firstWeekday, overlapThreshold) => {\n const handler = getOverlapGroupHandler(firstWeekday)\n\n return (day, dayEvents, timed, reset) => {\n const visuals = handler.getVisuals(day, dayEvents, timed, reset)\n\n if (timed) {\n visuals.forEach(visual => {\n visual.left = visual.column * FULL_WIDTH / visual.columnCount\n visual.width = FULL_WIDTH / visual.columnCount\n })\n }\n\n return visuals\n }\n}\n"],"mappings":"AAAA;AACA;AAAA,SAGSA,sBAAsB;AAE/B,MAAMC,UAAU,GAAG,GAAG;AAEtB,OAAO,MAAMC,MAAgC,
|
|
1
|
+
{"version":3,"file":"column.mjs","names":["getOverlapGroupHandler","FULL_WIDTH","column","events","firstWeekday","overlapThreshold","handler","day","dayEvents","timed","reset","visuals","getVisuals","forEach","visual","left","columnCount","width"],"sources":["../../../../src/components/VCalendar/modes/column.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarEventOverlapMode } from 'vuetify/types'\nimport { getOverlapGroupHandler } from './common'\n\nconst FULL_WIDTH = 100\n\nexport const column: CalendarEventOverlapMode = (events, firstWeekday, overlapThreshold) => {\n const handler = getOverlapGroupHandler(firstWeekday)\n\n return (day, dayEvents, timed, reset) => {\n const visuals = handler.getVisuals(day, dayEvents, timed, reset)\n\n if (timed) {\n visuals.forEach(visual => {\n visual.left = visual.column * FULL_WIDTH / visual.columnCount\n visual.width = FULL_WIDTH / visual.columnCount\n })\n }\n\n return visuals\n }\n}\n"],"mappings":"AAAA;AACA;AAAA,SAGSA,sBAAsB;AAE/B,MAAMC,UAAU,GAAG,GAAG;AAEtB,OAAO,MAAMC,MAAgC,GAAGA,CAACC,MAAM,EAAEC,YAAY,EAAEC,gBAAgB,KAAK;EAC1F,MAAMC,OAAO,GAAGN,sBAAsB,CAACI,YAAY,CAAC;EAEpD,OAAO,CAACG,GAAG,EAAEC,SAAS,EAAEC,KAAK,EAAEC,KAAK,KAAK;IACvC,MAAMC,OAAO,GAAGL,OAAO,CAACM,UAAU,CAACL,GAAG,EAAEC,SAAS,EAAEC,KAAK,EAAEC,KAAK,CAAC;IAEhE,IAAID,KAAK,EAAE;MACTE,OAAO,CAACE,OAAO,CAACC,MAAM,IAAI;QACxBA,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACZ,MAAM,GAAGD,UAAU,GAAGa,MAAM,CAACE,WAAW;QAC7DF,MAAM,CAACG,KAAK,GAAGhB,UAAU,GAAGa,MAAM,CAACE,WAAW;MAChD,CAAC,CAAC;IACJ;IAEA,OAAOL,OAAO;EAChB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.mjs","names":["getTimestampIdentifier","MILLIS_IN_DAY","getVisuals","events","minStart","visuals","map","event","columnCount","column","left","width","sort","a","b","Math","max","startTimestampIdentifier","endTimestampIdentifier","hasOverlap","s0","e0","s1","e1","exclude","setColumnCount","groups","forEach","group","groupVisual","
|
|
1
|
+
{"version":3,"file":"common.mjs","names":["getTimestampIdentifier","MILLIS_IN_DAY","getVisuals","events","minStart","arguments","length","undefined","visuals","map","event","columnCount","column","left","width","sort","a","b","Math","max","startTimestampIdentifier","endTimestampIdentifier","hasOverlap","s0","e0","s1","e1","exclude","setColumnCount","groups","forEach","group","groupVisual","getRange","getDayRange","startIdentifier","endIdentifier","getNormalizedRange","dayStart","min","getOpenGroup","start","end","timed","i","intersected","k","groupStart","groupEnd","getOverlapGroupHandler","firstWeekday","handler","reset","day","dayEvents","weekday","visual","targetGroup","push","target"],"sources":["../../../../src/components/VCalendar/modes/common.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarEventParsed, CalendarEventVisual, CalendarTimestamp } from 'vuetify/types'\nimport { getTimestampIdentifier } from '../util/timestamp'\n\nconst MILLIS_IN_DAY = 86400000\n\nexport type GetRange = (event: CalendarEventParsed) => [number, number]\n\nexport function getVisuals (events: CalendarEventParsed[], minStart = 0): CalendarEventVisual[] {\n const visuals = events.map(event => ({\n event,\n columnCount: 0,\n column: 0,\n left: 0,\n width: 100,\n }))\n\n visuals.sort((a, b) => {\n return (Math.max(minStart, a.event.startTimestampIdentifier) - Math.max(minStart, b.event.startTimestampIdentifier)) ||\n (b.event.endTimestampIdentifier - a.event.endTimestampIdentifier)\n })\n\n return visuals\n}\n\nexport interface ColumnGroup {\n start: number\n end: number\n visuals: CalendarEventVisual[]\n}\n\nexport function hasOverlap (s0: number, e0: number, s1: number, e1: number, exclude = true): boolean {\n return exclude ? !(s0 >= e1 || e0 <= s1) : !(s0 > e1 || e0 < s1)\n}\n\nexport function setColumnCount (groups: ColumnGroup[]) {\n groups.forEach(group => {\n group.visuals.forEach(groupVisual => {\n groupVisual.columnCount = groups.length\n })\n })\n}\n\nexport function getRange (event: CalendarEventParsed): [number, number] {\n return [event.startTimestampIdentifier, event.endTimestampIdentifier]\n}\n\nexport function getDayRange (event: CalendarEventParsed): [number, number] {\n return [event.startIdentifier, event.endIdentifier]\n}\n\nexport function getNormalizedRange (event: CalendarEventParsed, dayStart: number): [number, number] {\n return [Math.max(dayStart, event.startTimestampIdentifier), Math.min(dayStart + MILLIS_IN_DAY, event.endTimestampIdentifier)]\n}\n\nexport function getOpenGroup (groups: ColumnGroup[], start: number, end: number, timed: boolean) {\n for (let i = 0; i < groups.length; i++) {\n const group = groups[i]\n let intersected = false\n\n if (hasOverlap(start, end, group.start, group.end, timed)) {\n for (let k = 0; k < group.visuals.length; k++) {\n const groupVisual = group.visuals[k]\n const [groupStart, groupEnd] = timed ? getRange(groupVisual.event) : getDayRange(groupVisual.event)\n\n if (hasOverlap(start, end, groupStart, groupEnd, timed)) {\n intersected = true\n break\n }\n }\n }\n\n if (!intersected) {\n return i\n }\n }\n\n return -1\n}\n\nexport function getOverlapGroupHandler (firstWeekday: number) {\n const handler = {\n groups: [] as ColumnGroup[],\n min: -1,\n max: -1,\n reset: () => {\n handler.groups = []\n handler.min = handler.max = -1\n },\n getVisuals: (day: CalendarTimestamp, dayEvents: CalendarEventParsed[], timed: boolean, reset = false) => {\n if (day.weekday === firstWeekday || reset) {\n handler.reset()\n }\n\n const dayStart = getTimestampIdentifier(day)\n const visuals = getVisuals(dayEvents, dayStart)\n\n visuals.forEach(visual => {\n const [start, end] = timed ? getRange(visual.event) : getDayRange(visual.event)\n\n if (handler.groups.length > 0 && !hasOverlap(start, end, handler.min, handler.max, timed)) {\n setColumnCount(handler.groups)\n handler.reset()\n }\n\n let targetGroup = getOpenGroup(handler.groups, start, end, timed)\n\n if (targetGroup === -1) {\n targetGroup = handler.groups.length\n\n handler.groups.push({ start, end, visuals: [] })\n }\n\n const target = handler.groups[targetGroup]\n target.visuals.push(visual)\n target.start = Math.min(target.start, start)\n target.end = Math.max(target.end, end)\n\n visual.column = targetGroup\n\n if (handler.min === -1) {\n handler.min = start\n handler.max = end\n } else {\n handler.min = Math.min(handler.min, start)\n handler.max = Math.max(handler.max, end)\n }\n })\n\n setColumnCount(handler.groups)\n\n if (timed) {\n handler.reset()\n }\n\n return visuals\n },\n }\n\n return handler\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.mjs","names":["getOverlapGroupHandler","getVisuals","hasOverlap","getNormalizedRange","getTimestampIdentifier","FULL_WIDTH","DEFAULT_OFFSET","WIDTH_MULTIPLIER","stack","events","firstWeekday","overlapThreshold","handler","day","dayEvents","timed","reset","dayStart","visuals","groups","getGroups","group","nodes","visual","child","getNode","index","getNextIndex","parent","getParent","sibling","start","end","addTime","children","push","getOverlappingRange","length","grand","grandNext","calculateBounds","sort","a","b","left","event","startTimestampIdentifier","node","columns","getMaxChildIndex","spaceLeft","spaceWidth","offset","Math","min","columnWidthMultiplier","getColumnWidthMultiplier","columnOffset","columnWidth","width","hasFullWidth","maxColumn","minColumn","reduce","c","getOverlappingIndices","indices","other","i","indexMin","indexMax","returnFirstColumn","overlapping","first","n","filter","added","max","childMax","identifier","minutes","removeMinutes","totalMinutes","addHours","floor","addMinutes"],"sources":["../../../../src/components/VCalendar/modes/stack.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarEventOverlapMode, CalendarEventVisual } from 'vuetify/types'\nimport { getOverlapGroupHandler, getVisuals, hasOverlap, getNormalizedRange } from './common'\nimport { getTimestampIdentifier } from '../util/timestamp'\n\ninterface Group {\n start: number\n end: number\n visuals: CalendarEventVisual[]\n}\n\ninterface Node {\n parent: Node | null\n sibling: boolean\n index: number\n visual: CalendarEventVisual\n start: number\n end: number\n children: Node[]\n}\n\nconst FULL_WIDTH = 100\n\nconst DEFAULT_OFFSET = 5\n\nconst WIDTH_MULTIPLIER = 1.7\n\n/**\n * Variation of column mode where events can be stacked. The priority of this\n * mode is to stack events together taking up the least amount of space while\n * trying to ensure the content of the event is always visible as well as its\n * start and end. A sibling column has intersecting event content and must be\n * placed beside each other. Non-sibling columns are offset by 5% from the\n * previous column. The width is scaled by 1.7 so the events overlap and\n * whitespace is reduced. If there is a hole in columns the event width is\n * scaled up so it intersects with the next column. The columns have equal\n * width in the space they are given. If the event doesn't have any to the\n * right of it that intersect with it's content it's right side is extended\n * to the right side.\n */\n\nexport const stack: CalendarEventOverlapMode = (events, firstWeekday, overlapThreshold) => {\n const handler = getOverlapGroupHandler(firstWeekday)\n\n // eslint-disable-next-line max-statements\n return (day, dayEvents, timed, reset) => {\n if (!timed) {\n return handler.getVisuals(day, dayEvents, timed, reset)\n }\n\n const dayStart = getTimestampIdentifier(day)\n const visuals = getVisuals(dayEvents, dayStart)\n const groups = getGroups(visuals, dayStart)\n\n for (const group of groups) {\n const nodes: Node[] = []\n\n for (const visual of group.visuals) {\n const child = getNode(visual, dayStart)\n const index = getNextIndex(child, nodes)\n\n if (index === false) {\n const parent = getParent(child, nodes)\n if (parent) {\n child.parent = parent\n child.sibling = hasOverlap(child.start, child.end, parent.start, addTime(parent.start, overlapThreshold))\n child.index = parent.index + 1\n parent.children.push(child)\n }\n } else {\n const [parent] = getOverlappingRange(child, nodes, index - 1, index - 1)\n const children = getOverlappingRange(child, nodes, index + 1, index + nodes.length, true)\n\n child.children = children\n child.index = index\n\n if (parent) {\n child.parent = parent\n child.sibling = hasOverlap(child.start, child.end, parent.start, addTime(parent.start, overlapThreshold))\n parent.children.push(child)\n }\n\n for (const grand of children) {\n if (grand.parent === parent) {\n grand.parent = child\n }\n\n const grandNext = grand.index - child.index <= 1\n if (grandNext && child.sibling &&\n hasOverlap(child.start, addTime(child.start, overlapThreshold), grand.start, grand.end)) {\n grand.sibling = true\n }\n }\n }\n\n nodes.push(child)\n }\n\n calculateBounds(nodes, overlapThreshold)\n }\n\n visuals.sort((a, b) => (a.left - b.left) || (a.event.startTimestampIdentifier - b.event.startTimestampIdentifier))\n\n return visuals\n }\n}\n\nfunction calculateBounds (nodes: Node[], overlapThreshold: number) {\n for (const node of nodes) {\n const { visual, parent } = node\n const columns = getMaxChildIndex(node) + 1\n const spaceLeft = parent ? parent.visual.left : 0\n const spaceWidth = FULL_WIDTH - spaceLeft\n const offset = Math.min(DEFAULT_OFFSET, FULL_WIDTH / columns)\n const columnWidthMultiplier = getColumnWidthMultiplier(node, nodes)\n const columnOffset = spaceWidth / (columns - node.index + 1)\n const columnWidth = spaceWidth / (columns - node.index + (node.sibling ? 1 : 0)) * columnWidthMultiplier\n\n if (parent) {\n visual.left = node.sibling\n ? spaceLeft + columnOffset\n : spaceLeft + offset\n }\n\n visual.width = hasFullWidth(node, nodes, overlapThreshold)\n ? FULL_WIDTH - visual.left\n : Math.min(FULL_WIDTH - visual.left, columnWidth * WIDTH_MULTIPLIER)\n }\n}\n\nfunction getColumnWidthMultiplier (node: Node, nodes: Node[]): number {\n if (!node.children.length) {\n return 1\n }\n\n const maxColumn = node.index + nodes.length\n const minColumn = node.children.reduce((min, c) => Math.min(min, c.index), maxColumn)\n\n return minColumn - node.index\n}\n\nfunction getOverlappingIndices (node: Node, nodes: Node[]): number[] {\n const indices: number[] = []\n for (const other of nodes) {\n if (hasOverlap(node.start, node.end, other.start, other.end)) {\n indices.push(other.index)\n }\n }\n return indices\n}\n\nfunction getNextIndex (node: Node, nodes: Node[]): number | false {\n const indices = getOverlappingIndices(node, nodes)\n indices.sort()\n\n for (let i = 0; i < indices.length; i++) {\n if (i < indices[i]) {\n return i\n }\n }\n return false\n}\n\nfunction getOverlappingRange (node: Node, nodes: Node[], indexMin: number, indexMax: number, returnFirstColumn = false): Node[] {\n const overlapping: Node[] = []\n for (const other of nodes) {\n if (other.index >= indexMin && other.index <= indexMax && hasOverlap(node.start, node.end, other.start, other.end)) {\n overlapping.push(other)\n }\n }\n if (returnFirstColumn && overlapping.length > 0) {\n const first = overlapping.reduce((min, n) => Math.min(min, n.index), overlapping[0].index)\n return overlapping.filter(n => n.index === first)\n }\n return overlapping\n}\n\nfunction getParent (node: Node, nodes: Node[]): Node | null {\n let parent: Node | null = null\n for (const other of nodes) {\n if (hasOverlap(node.start, node.end, other.start, other.end) && (parent === null || other.index > parent.index)) {\n parent = other\n }\n }\n return parent\n}\n\nfunction hasFullWidth (node: Node, nodes: Node[], overlapThreshold: number): boolean {\n for (const other of nodes) {\n if (other !== node &&\n other.index > node.index &&\n hasOverlap(node.start, addTime(node.start, overlapThreshold), other.start, other.end)) {\n return false\n }\n }\n\n return true\n}\n\nfunction getGroups (visuals: CalendarEventVisual[], dayStart: number): Group[] {\n const groups: Group[] = []\n\n for (const visual of visuals) {\n const [start, end] = getNormalizedRange(visual.event, dayStart)\n let added = false\n\n for (const group of groups) {\n if (hasOverlap(start, end, group.start, group.end)) {\n group.visuals.push(visual)\n group.end = Math.max(group.end, end)\n added = true\n break\n }\n }\n\n if (!added) {\n groups.push({ start, end, visuals: [visual] })\n }\n }\n\n return groups\n}\n\nfunction getNode (visual: CalendarEventVisual, dayStart: number): Node {\n const [start, end] = getNormalizedRange(visual.event, dayStart)\n\n return {\n parent: null,\n sibling: true,\n index: 0,\n visual,\n start,\n end,\n children: [],\n }\n}\n\nfunction getMaxChildIndex (node: Node): number {\n let max = node.index\n for (const child of node.children) {\n const childMax = getMaxChildIndex(child)\n if (childMax > max) {\n max = childMax\n }\n }\n return max\n}\n\nfunction addTime (identifier: number, minutes: number): number {\n const removeMinutes = identifier % 100\n const totalMinutes = removeMinutes + minutes\n const addHours = Math.floor(totalMinutes / 60)\n const addMinutes = totalMinutes % 60\n\n return identifier - removeMinutes + addHours * 100 + addMinutes\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stack.mjs","names":["getOverlapGroupHandler","getVisuals","hasOverlap","getNormalizedRange","getTimestampIdentifier","FULL_WIDTH","DEFAULT_OFFSET","WIDTH_MULTIPLIER","stack","events","firstWeekday","overlapThreshold","handler","day","dayEvents","timed","reset","dayStart","visuals","groups","getGroups","group","nodes","visual","child","getNode","index","getNextIndex","parent","getParent","sibling","start","end","addTime","children","push","getOverlappingRange","length","grand","grandNext","calculateBounds","sort","a","b","left","event","startTimestampIdentifier","node","columns","getMaxChildIndex","spaceLeft","spaceWidth","offset","Math","min","columnWidthMultiplier","getColumnWidthMultiplier","columnOffset","columnWidth","width","hasFullWidth","maxColumn","minColumn","reduce","c","getOverlappingIndices","indices","other","i","indexMin","indexMax","returnFirstColumn","arguments","undefined","overlapping","first","n","filter","added","max","childMax","identifier","minutes","removeMinutes","totalMinutes","addHours","floor","addMinutes"],"sources":["../../../../src/components/VCalendar/modes/stack.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarEventOverlapMode, CalendarEventVisual } from 'vuetify/types'\nimport { getOverlapGroupHandler, getVisuals, hasOverlap, getNormalizedRange } from './common'\nimport { getTimestampIdentifier } from '../util/timestamp'\n\ninterface Group {\n start: number\n end: number\n visuals: CalendarEventVisual[]\n}\n\ninterface Node {\n parent: Node | null\n sibling: boolean\n index: number\n visual: CalendarEventVisual\n start: number\n end: number\n children: Node[]\n}\n\nconst FULL_WIDTH = 100\n\nconst DEFAULT_OFFSET = 5\n\nconst WIDTH_MULTIPLIER = 1.7\n\n/**\n * Variation of column mode where events can be stacked. The priority of this\n * mode is to stack events together taking up the least amount of space while\n * trying to ensure the content of the event is always visible as well as its\n * start and end. A sibling column has intersecting event content and must be\n * placed beside each other. Non-sibling columns are offset by 5% from the\n * previous column. The width is scaled by 1.7 so the events overlap and\n * whitespace is reduced. If there is a hole in columns the event width is\n * scaled up so it intersects with the next column. The columns have equal\n * width in the space they are given. If the event doesn't have any to the\n * right of it that intersect with it's content it's right side is extended\n * to the right side.\n */\n\nexport const stack: CalendarEventOverlapMode = (events, firstWeekday, overlapThreshold) => {\n const handler = getOverlapGroupHandler(firstWeekday)\n\n // eslint-disable-next-line max-statements\n return (day, dayEvents, timed, reset) => {\n if (!timed) {\n return handler.getVisuals(day, dayEvents, timed, reset)\n }\n\n const dayStart = getTimestampIdentifier(day)\n const visuals = getVisuals(dayEvents, dayStart)\n const groups = getGroups(visuals, dayStart)\n\n for (const group of groups) {\n const nodes: Node[] = []\n\n for (const visual of group.visuals) {\n const child = getNode(visual, dayStart)\n const index = getNextIndex(child, nodes)\n\n if (index === false) {\n const parent = getParent(child, nodes)\n if (parent) {\n child.parent = parent\n child.sibling = hasOverlap(child.start, child.end, parent.start, addTime(parent.start, overlapThreshold))\n child.index = parent.index + 1\n parent.children.push(child)\n }\n } else {\n const [parent] = getOverlappingRange(child, nodes, index - 1, index - 1)\n const children = getOverlappingRange(child, nodes, index + 1, index + nodes.length, true)\n\n child.children = children\n child.index = index\n\n if (parent) {\n child.parent = parent\n child.sibling = hasOverlap(child.start, child.end, parent.start, addTime(parent.start, overlapThreshold))\n parent.children.push(child)\n }\n\n for (const grand of children) {\n if (grand.parent === parent) {\n grand.parent = child\n }\n\n const grandNext = grand.index - child.index <= 1\n if (grandNext && child.sibling &&\n hasOverlap(child.start, addTime(child.start, overlapThreshold), grand.start, grand.end)) {\n grand.sibling = true\n }\n }\n }\n\n nodes.push(child)\n }\n\n calculateBounds(nodes, overlapThreshold)\n }\n\n visuals.sort((a, b) => (a.left - b.left) || (a.event.startTimestampIdentifier - b.event.startTimestampIdentifier))\n\n return visuals\n }\n}\n\nfunction calculateBounds (nodes: Node[], overlapThreshold: number) {\n for (const node of nodes) {\n const { visual, parent } = node\n const columns = getMaxChildIndex(node) + 1\n const spaceLeft = parent ? parent.visual.left : 0\n const spaceWidth = FULL_WIDTH - spaceLeft\n const offset = Math.min(DEFAULT_OFFSET, FULL_WIDTH / columns)\n const columnWidthMultiplier = getColumnWidthMultiplier(node, nodes)\n const columnOffset = spaceWidth / (columns - node.index + 1)\n const columnWidth = spaceWidth / (columns - node.index + (node.sibling ? 1 : 0)) * columnWidthMultiplier\n\n if (parent) {\n visual.left = node.sibling\n ? spaceLeft + columnOffset\n : spaceLeft + offset\n }\n\n visual.width = hasFullWidth(node, nodes, overlapThreshold)\n ? FULL_WIDTH - visual.left\n : Math.min(FULL_WIDTH - visual.left, columnWidth * WIDTH_MULTIPLIER)\n }\n}\n\nfunction getColumnWidthMultiplier (node: Node, nodes: Node[]): number {\n if (!node.children.length) {\n return 1\n }\n\n const maxColumn = node.index + nodes.length\n const minColumn = node.children.reduce((min, c) => Math.min(min, c.index), maxColumn)\n\n return minColumn - node.index\n}\n\nfunction getOverlappingIndices (node: Node, nodes: Node[]): number[] {\n const indices: number[] = []\n for (const other of nodes) {\n if (hasOverlap(node.start, node.end, other.start, other.end)) {\n indices.push(other.index)\n }\n }\n return indices\n}\n\nfunction getNextIndex (node: Node, nodes: Node[]): number | false {\n const indices = getOverlappingIndices(node, nodes)\n indices.sort()\n\n for (let i = 0; i < indices.length; i++) {\n if (i < indices[i]) {\n return i\n }\n }\n return false\n}\n\nfunction getOverlappingRange (node: Node, nodes: Node[], indexMin: number, indexMax: number, returnFirstColumn = false): Node[] {\n const overlapping: Node[] = []\n for (const other of nodes) {\n if (other.index >= indexMin && other.index <= indexMax && hasOverlap(node.start, node.end, other.start, other.end)) {\n overlapping.push(other)\n }\n }\n if (returnFirstColumn && overlapping.length > 0) {\n const first = overlapping.reduce((min, n) => Math.min(min, n.index), overlapping[0].index)\n return overlapping.filter(n => n.index === first)\n }\n return overlapping\n}\n\nfunction getParent (node: Node, nodes: Node[]): Node | null {\n let parent: Node | null = null\n for (const other of nodes) {\n if (hasOverlap(node.start, node.end, other.start, other.end) && (parent === null || other.index > parent.index)) {\n parent = other\n }\n }\n return parent\n}\n\nfunction hasFullWidth (node: Node, nodes: Node[], overlapThreshold: number): boolean {\n for (const other of nodes) {\n if (other !== node &&\n other.index > node.index &&\n hasOverlap(node.start, addTime(node.start, overlapThreshold), other.start, other.end)) {\n return false\n }\n }\n\n return true\n}\n\nfunction getGroups (visuals: CalendarEventVisual[], dayStart: number): Group[] {\n const groups: Group[] = []\n\n for (const visual of visuals) {\n const [start, end] = getNormalizedRange(visual.event, dayStart)\n let added = false\n\n for (const group of groups) {\n if (hasOverlap(start, end, group.start, group.end)) {\n group.visuals.push(visual)\n group.end = Math.max(group.end, end)\n added = true\n break\n }\n }\n\n if (!added) {\n groups.push({ start, end, visuals: [visual] })\n }\n }\n\n return groups\n}\n\nfunction getNode (visual: CalendarEventVisual, dayStart: number): Node {\n const [start, end] = getNormalizedRange(visual.event, dayStart)\n\n return {\n parent: null,\n sibling: true,\n index: 0,\n visual,\n start,\n end,\n children: [],\n }\n}\n\nfunction getMaxChildIndex (node: Node): number {\n let max = node.index\n for (const child of node.children) {\n const childMax = getMaxChildIndex(child)\n if (childMax > max) {\n max = childMax\n }\n }\n return max\n}\n\nfunction addTime (identifier: number, minutes: number): number {\n const removeMinutes = identifier % 100\n const totalMinutes = removeMinutes + minutes\n const addHours = Math.floor(totalMinutes / 60)\n const addMinutes = totalMinutes % 60\n\n return identifier - removeMinutes + addHours * 100 + addMinutes\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.mjs","names":["parseTimestamp","getDayIdentifier","getTimestampIdentifier","isTimedless","updateHasTime","parseEvent","input","index","startProperty","endProperty","timed","category","startInput","endInput","startParsed","endParsed","start","end","startIdentifier","startTimestampIdentifier","endIdentifier","endOffset","hasTime","endTimestampIdentifier","allDay","isEventOn","event","dayIdentifier","isEventHiddenOn","day","time","date","isEventStart","firstWeekday","weekday","isEventOverlapping"],"sources":["../../../../src/components/VCalendar/util/events.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport {\n parseTimestamp,\n getDayIdentifier,\n getTimestampIdentifier,\n isTimedless,\n updateHasTime,\n} from './timestamp'\nimport { CalendarTimestamp, CalendarEvent, CalendarEventParsed } from 'vuetify/types'\n\nexport function parseEvent (\n input: CalendarEvent,\n index: number,\n startProperty: string,\n endProperty: string,\n timed = false,\n category: string | false = false,\n): CalendarEventParsed {\n const startInput = input[startProperty]\n const endInput = input[endProperty]\n const startParsed: CalendarTimestamp = parseTimestamp(startInput, true)\n const endParsed: CalendarTimestamp = (endInput ? parseTimestamp(endInput, true) : startParsed)\n const start: CalendarTimestamp = isTimedless(startInput)\n ? updateHasTime(startParsed, timed)\n : startParsed\n const end: CalendarTimestamp = isTimedless(endInput)\n ? updateHasTime(endParsed, timed)\n : endParsed\n const startIdentifier: number = getDayIdentifier(start)\n const startTimestampIdentifier: number = getTimestampIdentifier(start)\n const endIdentifier: number = getDayIdentifier(end)\n const endOffset: number = start.hasTime ? 0 : 2359\n const endTimestampIdentifier: number = getTimestampIdentifier(end) + endOffset\n const allDay = !start.hasTime\n\n return { input, start, startIdentifier, startTimestampIdentifier, end, endIdentifier, endTimestampIdentifier, allDay, index, category }\n}\n\nexport function isEventOn (event: CalendarEventParsed, dayIdentifier: number): boolean {\n return dayIdentifier >= event.startIdentifier && dayIdentifier <= event.endIdentifier\n}\n\nexport function isEventHiddenOn (event: CalendarEventParsed, day: CalendarTimestamp): boolean {\n return event.end.time === '00:00' && event.end.date === day.date && event.start.date !== day.date\n}\n\nexport function isEventStart (event: CalendarEventParsed, day: CalendarTimestamp, dayIdentifier: number, firstWeekday: number): boolean {\n return dayIdentifier === event.startIdentifier || (firstWeekday === day.weekday && isEventOn(event, dayIdentifier))\n}\n\nexport function isEventOverlapping (event: CalendarEventParsed, startIdentifier: number, endIdentifier: number): boolean {\n return startIdentifier <= event.endIdentifier && endIdentifier >= event.startIdentifier\n}\n"],"mappings":"AAAA;AACA;AAAA,SAGEA,cAAc,EACdC,gBAAgB,EAChBC,sBAAsB,EACtBC,WAAW,EACXC,aAAa;AAIf,OAAO,SAASC,
|
|
1
|
+
{"version":3,"file":"events.mjs","names":["parseTimestamp","getDayIdentifier","getTimestampIdentifier","isTimedless","updateHasTime","parseEvent","input","index","startProperty","endProperty","timed","arguments","length","undefined","category","startInput","endInput","startParsed","endParsed","start","end","startIdentifier","startTimestampIdentifier","endIdentifier","endOffset","hasTime","endTimestampIdentifier","allDay","isEventOn","event","dayIdentifier","isEventHiddenOn","day","time","date","isEventStart","firstWeekday","weekday","isEventOverlapping"],"sources":["../../../../src/components/VCalendar/util/events.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport {\n parseTimestamp,\n getDayIdentifier,\n getTimestampIdentifier,\n isTimedless,\n updateHasTime,\n} from './timestamp'\nimport { CalendarTimestamp, CalendarEvent, CalendarEventParsed } from 'vuetify/types'\n\nexport function parseEvent (\n input: CalendarEvent,\n index: number,\n startProperty: string,\n endProperty: string,\n timed = false,\n category: string | false = false,\n): CalendarEventParsed {\n const startInput = input[startProperty]\n const endInput = input[endProperty]\n const startParsed: CalendarTimestamp = parseTimestamp(startInput, true)\n const endParsed: CalendarTimestamp = (endInput ? parseTimestamp(endInput, true) : startParsed)\n const start: CalendarTimestamp = isTimedless(startInput)\n ? updateHasTime(startParsed, timed)\n : startParsed\n const end: CalendarTimestamp = isTimedless(endInput)\n ? updateHasTime(endParsed, timed)\n : endParsed\n const startIdentifier: number = getDayIdentifier(start)\n const startTimestampIdentifier: number = getTimestampIdentifier(start)\n const endIdentifier: number = getDayIdentifier(end)\n const endOffset: number = start.hasTime ? 0 : 2359\n const endTimestampIdentifier: number = getTimestampIdentifier(end) + endOffset\n const allDay = !start.hasTime\n\n return { input, start, startIdentifier, startTimestampIdentifier, end, endIdentifier, endTimestampIdentifier, allDay, index, category }\n}\n\nexport function isEventOn (event: CalendarEventParsed, dayIdentifier: number): boolean {\n return dayIdentifier >= event.startIdentifier && dayIdentifier <= event.endIdentifier\n}\n\nexport function isEventHiddenOn (event: CalendarEventParsed, day: CalendarTimestamp): boolean {\n return event.end.time === '00:00' && event.end.date === day.date && event.start.date !== day.date\n}\n\nexport function isEventStart (event: CalendarEventParsed, day: CalendarTimestamp, dayIdentifier: number, firstWeekday: number): boolean {\n return dayIdentifier === event.startIdentifier || (firstWeekday === day.weekday && isEventOn(event, dayIdentifier))\n}\n\nexport function isEventOverlapping (event: CalendarEventParsed, startIdentifier: number, endIdentifier: number): boolean {\n return startIdentifier <= event.endIdentifier && endIdentifier >= event.startIdentifier\n}\n"],"mappings":"AAAA;AACA;AAAA,SAGEA,cAAc,EACdC,gBAAgB,EAChBC,sBAAsB,EACtBC,WAAW,EACXC,aAAa;AAIf,OAAO,SAASC,UAAUA,CACxBC,KAAoB,EACpBC,KAAa,EACbC,aAAqB,EACrBC,WAAmB,EAGE;EAAA,IAFrBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IACbG,QAAwB,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEhC,MAAMI,UAAU,GAAGT,KAAK,CAACE,aAAa,CAAC;EACvC,MAAMQ,QAAQ,GAAGV,KAAK,CAACG,WAAW,CAAC;EACnC,MAAMQ,WAA8B,GAAGjB,cAAc,CAACe,UAAU,EAAE,IAAI,CAAC;EACvE,MAAMG,SAA4B,GAAIF,QAAQ,GAAGhB,cAAc,CAACgB,QAAQ,EAAE,IAAI,CAAC,GAAGC,WAAY;EAC9F,MAAME,KAAwB,GAAGhB,WAAW,CAACY,UAAU,CAAC,GACpDX,aAAa,CAACa,WAAW,EAAEP,KAAK,CAAC,GACjCO,WAAW;EACf,MAAMG,GAAsB,GAAGjB,WAAW,CAACa,QAAQ,CAAC,GAChDZ,aAAa,CAACc,SAAS,EAAER,KAAK,CAAC,GAC/BQ,SAAS;EACb,MAAMG,eAAuB,GAAGpB,gBAAgB,CAACkB,KAAK,CAAC;EACvD,MAAMG,wBAAgC,GAAGpB,sBAAsB,CAACiB,KAAK,CAAC;EACtE,MAAMI,aAAqB,GAAGtB,gBAAgB,CAACmB,GAAG,CAAC;EACnD,MAAMI,SAAiB,GAAGL,KAAK,CAACM,OAAO,GAAG,CAAC,GAAG,IAAI;EAClD,MAAMC,sBAA8B,GAAGxB,sBAAsB,CAACkB,GAAG,CAAC,GAAGI,SAAS;EAC9E,MAAMG,MAAM,GAAG,CAACR,KAAK,CAACM,OAAO;EAE7B,OAAO;IAAEnB,KAAK;IAAEa,KAAK;IAAEE,eAAe;IAAEC,wBAAwB;IAAEF,GAAG;IAAEG,aAAa;IAAEG,sBAAsB;IAAEC,MAAM;IAAEpB,KAAK;IAAEO;EAAS,CAAC;AACzI;AAEA,OAAO,SAASc,SAASA,CAAEC,KAA0B,EAAEC,aAAqB,EAAW;EACrF,OAAOA,aAAa,IAAID,KAAK,CAACR,eAAe,IAAIS,aAAa,IAAID,KAAK,CAACN,aAAa;AACvF;AAEA,OAAO,SAASQ,eAAeA,CAAEF,KAA0B,EAAEG,GAAsB,EAAW;EAC5F,OAAOH,KAAK,CAACT,GAAG,CAACa,IAAI,KAAK,OAAO,IAAIJ,KAAK,CAACT,GAAG,CAACc,IAAI,KAAKF,GAAG,CAACE,IAAI,IAAIL,KAAK,CAACV,KAAK,CAACe,IAAI,KAAKF,GAAG,CAACE,IAAI;AACnG;AAEA,OAAO,SAASC,YAAYA,CAAEN,KAA0B,EAAEG,GAAsB,EAAEF,aAAqB,EAAEM,YAAoB,EAAW;EACtI,OAAON,aAAa,KAAKD,KAAK,CAACR,eAAe,IAAKe,YAAY,KAAKJ,GAAG,CAACK,OAAO,IAAIT,SAAS,CAACC,KAAK,EAAEC,aAAa,CAAE;AACrH;AAEA,OAAO,SAASQ,kBAAkBA,CAAET,KAA0B,EAAER,eAAuB,EAAEE,aAAqB,EAAW;EACvH,OAAOF,eAAe,IAAIQ,KAAK,CAACN,aAAa,IAAIA,aAAa,IAAIM,KAAK,CAACR,eAAe;AACzF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.mjs","names":["parsedCategoryText","category","categoryText","getParsedCategories","categories","split","Array","isArray","map","categoryName"],"sources":["../../../../src/components/VCalendar/util/parser.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarCategory, CalendarCategoryTextFunction } from 'types'\n\nexport function parsedCategoryText (\n category: CalendarCategory,\n categoryText: string | CalendarCategoryTextFunction\n): string {\n return typeof categoryText === 'string' && typeof category === 'object' && category\n ? category[categoryText]\n : typeof categoryText === 'function'\n ? categoryText(category)\n : category\n}\n\nexport function getParsedCategories (\n categories: CalendarCategory | CalendarCategory[],\n categoryText: string | CalendarCategoryTextFunction\n): CalendarCategory[] {\n if (typeof categories === 'string') return categories.split(/\\s*,\\s/)\n if (Array.isArray(categories)) {\n return categories.map((category: CalendarCategory) => {\n if (typeof category === 'string') return category\n\n const categoryName = typeof category.categoryName === 'string'\n ? category.categoryName\n : parsedCategoryText(category, categoryText)\n return { ...category, categoryName }\n })\n }\n return []\n}\n"],"mappings":"AAAA;AACA;;AAIA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"file":"parser.mjs","names":["parsedCategoryText","category","categoryText","getParsedCategories","categories","split","Array","isArray","map","categoryName"],"sources":["../../../../src/components/VCalendar/util/parser.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarCategory, CalendarCategoryTextFunction } from 'types'\n\nexport function parsedCategoryText (\n category: CalendarCategory,\n categoryText: string | CalendarCategoryTextFunction\n): string {\n return typeof categoryText === 'string' && typeof category === 'object' && category\n ? category[categoryText]\n : typeof categoryText === 'function'\n ? categoryText(category)\n : category\n}\n\nexport function getParsedCategories (\n categories: CalendarCategory | CalendarCategory[],\n categoryText: string | CalendarCategoryTextFunction\n): CalendarCategory[] {\n if (typeof categories === 'string') return categories.split(/\\s*,\\s/)\n if (Array.isArray(categories)) {\n return categories.map((category: CalendarCategory) => {\n if (typeof category === 'string') return category\n\n const categoryName = typeof category.categoryName === 'string'\n ? category.categoryName\n : parsedCategoryText(category, categoryText)\n return { ...category, categoryName }\n })\n }\n return []\n}\n"],"mappings":"AAAA;AACA;;AAIA,OAAO,SAASA,kBAAkBA,CAChCC,QAA0B,EAC1BC,YAAmD,EAC3C;EACR,OAAO,OAAOA,YAAY,KAAK,QAAQ,IAAI,OAAOD,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,GAC/EA,QAAQ,CAACC,YAAY,CAAC,GACtB,OAAOA,YAAY,KAAK,UAAU,GAChCA,YAAY,CAACD,QAAQ,CAAC,GACtBA,QAAQ;AAChB;AAEA,OAAO,SAASE,mBAAmBA,CACjCC,UAAiD,EACjDF,YAAmD,EAC/B;EACpB,IAAI,OAAOE,UAAU,KAAK,QAAQ,EAAE,OAAOA,UAAU,CAACC,KAAK,CAAC,QAAQ,CAAC;EACrE,IAAIC,KAAK,CAACC,OAAO,CAACH,UAAU,CAAC,EAAE;IAC7B,OAAOA,UAAU,CAACI,GAAG,CAAEP,QAA0B,IAAK;MACpD,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE,OAAOA,QAAQ;MAEjD,MAAMQ,YAAY,GAAG,OAAOR,QAAQ,CAACQ,YAAY,KAAK,QAAQ,GAC1DR,QAAQ,CAACQ,YAAY,GACrBT,kBAAkB,CAACC,QAAQ,EAAEC,YAAY,CAAC;MAC9C,OAAO;QAAE,GAAGD,QAAQ;QAAEQ;MAAa,CAAC;IACtC,CAAC,CAAC;EACJ;EACA,OAAO,EAAE;AACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.mjs","names":["validateTimestamp","parseDate","DAYS_IN_WEEK","validateTime","CalendarEventOverlapModes","base","start","type","String","Number","Date","validate","default","date","end","weekdays","Array","validateWeekdays","hideHeader","Boolean","shortWeekdays","weekdayFormat","Function","dayFormat","intervals","maxDays","shortIntervals","intervalHeight","validateNumber","intervalWidth","intervalMinutes","firstInterval","firstTime","Object","intervalCount","intervalFormat","intervalStyle","showIntervalLabel","weeks","localeFirstDayOfYear","minWeeks","shortMonths","showMonthOnFirst","showWeek","monthFormat","calendar","value","category","categories","categoryText","categoryHideDynamic","categoryShowAll","categoryForInvalid","categoryDays","x","isFinite","parseInt","events","eventStart","eventEnd","eventTimed","eventCategory","eventHeight","eventColor","eventTextColor","eventName","eventOverlapThreshold","eventOverlapMode","mode","eventMore","eventMoreText","eventRipple","eventMarginBottom","input","split","isArray","ints","map","length","visited","wrapped","i","d"],"sources":["../../../../src/components/VCalendar/util/props.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n\nimport { validateTimestamp, parseDate, DAYS_IN_WEEK, validateTime } from './timestamp'\nimport { PropType } from 'vue'\nimport { CalendarEvent, CalendarFormatter, CalendarTimestamp, CalendarEventOverlapMode, CalendarEventNameFunction, CalendarEventColorFunction, CalendarEventCategoryFunction, CalendarEventTimedFunction, CalendarCategoryTextFunction, CalendarCategory } from 'vuetify/types'\nimport { CalendarEventOverlapModes } from '../modes'\nimport { PropValidator } from 'vue/types/options'\n\nexport default {\n base: {\n start: {\n type: [String, Number, Date],\n validate: validateTimestamp,\n default: () => parseDate(new Date()).date,\n },\n end: {\n type: [String, Number, Date],\n validate: validateTimestamp,\n },\n weekdays: {\n type: [Array, String] as PropType<number[] | string>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n validate: validateWeekdays,\n },\n hideHeader: {\n type: Boolean,\n },\n shortWeekdays: {\n type: Boolean,\n default: true,\n },\n weekdayFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n dayFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n },\n intervals: {\n maxDays: {\n type: Number,\n default: 7,\n },\n shortIntervals: {\n type: Boolean,\n default: true,\n },\n intervalHeight: {\n type: [Number, String],\n default: 48,\n validate: validateNumber,\n },\n intervalWidth: {\n type: [Number, String],\n default: 60,\n validate: validateNumber,\n },\n intervalMinutes: {\n type: [Number, String],\n default: 60,\n validate: validateNumber,\n },\n firstInterval: {\n type: [Number, String],\n default: 0,\n validate: validateNumber,\n },\n firstTime: {\n type: [Number, String, Object],\n validate: validateTime,\n },\n intervalCount: {\n type: [Number, String],\n default: 24,\n validate: validateNumber,\n },\n intervalFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n intervalStyle: {\n type: Function as PropType<(interval: CalendarTimestamp) => object>,\n default: null,\n },\n showIntervalLabel: {\n type: Function as PropType<(interval: CalendarTimestamp) => boolean>,\n default: null,\n },\n },\n weeks: {\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n minWeeks: {\n validate: validateNumber,\n default: 1,\n },\n shortMonths: {\n type: Boolean,\n default: true,\n },\n showMonthOnFirst: {\n type: Boolean,\n default: true,\n },\n showWeek: Boolean,\n monthFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n },\n calendar: {\n type: {\n type: String,\n default: 'month',\n },\n value: {\n type: [String, Number, Date] as PropType<string | number | Date>,\n validate: validateTimestamp,\n },\n },\n category: {\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 categoryHideDynamic: {\n type: Boolean,\n },\n categoryShowAll: {\n type: Boolean,\n },\n categoryForInvalid: {\n type: String,\n default: '',\n },\n categoryDays: {\n type: [Number, String],\n default: 1,\n validate: (x: any) => isFinite(parseInt(x)) && parseInt(x) > 0,\n },\n },\n events: {\n events: {\n type: Array,\n default: () => [],\n } as PropValidator<CalendarEvent[]>,\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 default: 'white',\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],\n default: 'stack',\n validate: (mode: any) => mode in CalendarEventOverlapModes || typeof mode === 'function',\n } as PropValidator<'stack' | 'column' | CalendarEventOverlapMode>,\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 },\n}\n\nexport function validateNumber (input: any): boolean {\n return isFinite(parseInt(input))\n}\n\nexport function validateWeekdays (input: string | (number | string)[]): boolean {\n if (typeof input === 'string') {\n input = input.split(',')\n }\n\n if (Array.isArray(input)) {\n const ints = input.map(x => parseInt(x))\n\n if (ints.length > DAYS_IN_WEEK || ints.length === 0) {\n return false\n }\n\n const visited: Record<number, boolean> = {}\n let wrapped = false\n\n for (let i = 0; i < ints.length; i++) {\n const x = ints[i]\n\n if (!isFinite(x) || x < 0 || x >= DAYS_IN_WEEK) {\n return false\n }\n\n if (i > 0) {\n const d = x - ints[i - 1]\n if (d < 0) {\n if (wrapped) {\n return false\n }\n wrapped = true\n } else if (d === 0) {\n return false\n }\n }\n\n if (visited[x]) {\n return false\n }\n visited[x] = true\n }\n\n return true\n }\n\n return false\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"props.mjs","names":["validateTimestamp","parseDate","DAYS_IN_WEEK","validateTime","CalendarEventOverlapModes","base","start","type","String","Number","Date","validate","default","date","end","weekdays","Array","validateWeekdays","hideHeader","Boolean","shortWeekdays","weekdayFormat","Function","dayFormat","intervals","maxDays","shortIntervals","intervalHeight","validateNumber","intervalWidth","intervalMinutes","firstInterval","firstTime","Object","intervalCount","intervalFormat","intervalStyle","showIntervalLabel","weeks","localeFirstDayOfYear","minWeeks","shortMonths","showMonthOnFirst","showWeek","monthFormat","calendar","value","category","categories","categoryText","categoryHideDynamic","categoryShowAll","categoryForInvalid","categoryDays","x","isFinite","parseInt","events","eventStart","eventEnd","eventTimed","eventCategory","eventHeight","eventColor","eventTextColor","eventName","eventOverlapThreshold","eventOverlapMode","mode","eventMore","eventMoreText","eventRipple","eventMarginBottom","input","split","isArray","ints","map","length","visited","wrapped","i","d"],"sources":["../../../../src/components/VCalendar/util/props.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n\nimport { validateTimestamp, parseDate, DAYS_IN_WEEK, validateTime } from './timestamp'\nimport { PropType } from 'vue'\nimport { CalendarEvent, CalendarFormatter, CalendarTimestamp, CalendarEventOverlapMode, CalendarEventNameFunction, CalendarEventColorFunction, CalendarEventCategoryFunction, CalendarEventTimedFunction, CalendarCategoryTextFunction, CalendarCategory } from 'vuetify/types'\nimport { CalendarEventOverlapModes } from '../modes'\nimport { PropValidator } from 'vue/types/options'\n\nexport default {\n base: {\n start: {\n type: [String, Number, Date],\n validate: validateTimestamp,\n default: () => parseDate(new Date()).date,\n },\n end: {\n type: [String, Number, Date],\n validate: validateTimestamp,\n },\n weekdays: {\n type: [Array, String] as PropType<number[] | string>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n validate: validateWeekdays,\n },\n hideHeader: {\n type: Boolean,\n },\n shortWeekdays: {\n type: Boolean,\n default: true,\n },\n weekdayFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n dayFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n },\n intervals: {\n maxDays: {\n type: Number,\n default: 7,\n },\n shortIntervals: {\n type: Boolean,\n default: true,\n },\n intervalHeight: {\n type: [Number, String],\n default: 48,\n validate: validateNumber,\n },\n intervalWidth: {\n type: [Number, String],\n default: 60,\n validate: validateNumber,\n },\n intervalMinutes: {\n type: [Number, String],\n default: 60,\n validate: validateNumber,\n },\n firstInterval: {\n type: [Number, String],\n default: 0,\n validate: validateNumber,\n },\n firstTime: {\n type: [Number, String, Object],\n validate: validateTime,\n },\n intervalCount: {\n type: [Number, String],\n default: 24,\n validate: validateNumber,\n },\n intervalFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n intervalStyle: {\n type: Function as PropType<(interval: CalendarTimestamp) => object>,\n default: null,\n },\n showIntervalLabel: {\n type: Function as PropType<(interval: CalendarTimestamp) => boolean>,\n default: null,\n },\n },\n weeks: {\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n minWeeks: {\n validate: validateNumber,\n default: 1,\n },\n shortMonths: {\n type: Boolean,\n default: true,\n },\n showMonthOnFirst: {\n type: Boolean,\n default: true,\n },\n showWeek: Boolean,\n monthFormat: {\n type: Function as PropType<CalendarFormatter>,\n default: null,\n },\n },\n calendar: {\n type: {\n type: String,\n default: 'month',\n },\n value: {\n type: [String, Number, Date] as PropType<string | number | Date>,\n validate: validateTimestamp,\n },\n },\n category: {\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 categoryHideDynamic: {\n type: Boolean,\n },\n categoryShowAll: {\n type: Boolean,\n },\n categoryForInvalid: {\n type: String,\n default: '',\n },\n categoryDays: {\n type: [Number, String],\n default: 1,\n validate: (x: any) => isFinite(parseInt(x)) && parseInt(x) > 0,\n },\n },\n events: {\n events: {\n type: Array,\n default: () => [],\n } as PropValidator<CalendarEvent[]>,\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 default: 'white',\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],\n default: 'stack',\n validate: (mode: any) => mode in CalendarEventOverlapModes || typeof mode === 'function',\n } as PropValidator<'stack' | 'column' | CalendarEventOverlapMode>,\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 },\n}\n\nexport function validateNumber (input: any): boolean {\n return isFinite(parseInt(input))\n}\n\nexport function validateWeekdays (input: string | (number | string)[]): boolean {\n if (typeof input === 'string') {\n input = input.split(',')\n }\n\n if (Array.isArray(input)) {\n const ints = input.map(x => parseInt(x))\n\n if (ints.length > DAYS_IN_WEEK || ints.length === 0) {\n return false\n }\n\n const visited: Record<number, boolean> = {}\n let wrapped = false\n\n for (let i = 0; i < ints.length; i++) {\n const x = ints[i]\n\n if (!isFinite(x) || x < 0 || x >= DAYS_IN_WEEK) {\n return false\n }\n\n if (i > 0) {\n const d = x - ints[i - 1]\n if (d < 0) {\n if (wrapped) {\n return false\n }\n wrapped = true\n } else if (d === 0) {\n return false\n }\n }\n\n if (visited[x]) {\n return false\n }\n visited[x] = true\n }\n\n return true\n }\n\n return false\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamp.mjs","names":["isLeapYear","PARSE_REGEX","PARSE_TIME","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP","DAYS_IN_MONTH_MIN","DAYS_IN_MONTH_MAX","MONTH_MAX","MONTH_MIN","DAY_MIN","DAYS_IN_WEEK","MINUTES_IN_HOUR","MINUTE_MAX","MINUTES_IN_DAY","HOURS_IN_DAY","HOUR_MAX","FIRST_HOUR","OFFSET_YEAR","OFFSET_MONTH","OFFSET_HOUR","OFFSET_TIME","getStartOfWeek","timestamp","weekdays","today","start","copyTimestamp","findWeekday","prevDay","updateFormatted","updateRelative","hasTime","getEndOfWeek","end","length","getStartOfMonth","day","updateWeekday","getEndOfMonth","daysInMonth","year","month","validateTime","input","isFinite","exec","hour","minute","parseTime","parts","parseInt","validateTimestamp","Date","parseTimestamp","required","now","date","parseDate","Error","time","weekday","hasDay","past","present","future","getFullYear","getMonth","getDate","getDay","getHours","getMinutes","getDayIdentifier","getTimeIdentifier","getTimestampIdentifier","a","b","isTimedless","updateHasTime","getTime","updateMinutes","minutes","Math","floor","getWeekday","_","k","m","C","Y","padNumber","x","padded","String","str","nextMinutes","nextDay","relativeDays","mover","days","diffMinutes","min","max","M","D","h","maxDays","getWeekdaySkips","skips","filled","i","skip","j","next","timestampToDate","createDayList","weekdaySkips","stop","current","currentIdentifier","stopped","push","createIntervalList","first","count","intervals","mins","int","createNativeLocaleFormatter","locale","getOptions","emptyFormatter","_t","_s","Intl","DateTimeFormat","short","intlFormatter","undefined","format","e"],"sources":["../../../../src/components/VCalendar/util/timestamp.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\nimport { isLeapYear } from '../../../util/dateTimeUtils'\n\nexport const PARSE_REGEX = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/\nexport const PARSE_TIME = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/\n\nexport const DAYS_IN_MONTH: number[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_LEAP: number[] = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_MIN = 28\nexport const DAYS_IN_MONTH_MAX = 31\nexport const MONTH_MAX = 12\nexport const MONTH_MIN = 1\nexport const DAY_MIN = 1\nexport const DAYS_IN_WEEK = 7\nexport const MINUTES_IN_HOUR = 60\nexport const MINUTE_MAX = 59\nexport const MINUTES_IN_DAY = 24 * 60\nexport const HOURS_IN_DAY = 24\nexport const HOUR_MAX = 23\nexport const FIRST_HOUR = 0\nexport const OFFSET_YEAR = 10000\nexport const OFFSET_MONTH = 100\nexport const OFFSET_HOUR = 100\nexport const OFFSET_TIME = 10000\n\ntype CalendarTimestampFormatOptions = (timestamp: CalendarTimestamp, short: boolean) => object\ntype CalendarTimestampOperation = (timestamp: CalendarTimestamp) => CalendarTimestamp\nexport type VTime = number | string | {\n hour: number\n minute: number\n}\n\nexport type VTimestampInput = number | string | Date;\n\nexport function getStartOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n findWeekday(start, weekdays[0], prevDay)\n updateFormatted(start)\n if (today) {\n updateRelative(start, today, start.hasTime)\n }\n\n return start\n}\n\nexport function getEndOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n findWeekday(end, weekdays[weekdays.length - 1])\n updateFormatted(end)\n if (today) {\n updateRelative(end, today, end.hasTime)\n }\n\n return end\n}\n\nexport function getStartOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n start.day = DAY_MIN\n updateWeekday(start)\n updateFormatted(start)\n\n return start\n}\n\nexport function getEndOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n end.day = daysInMonth(end.year, end.month)\n updateWeekday(end)\n updateFormatted(end)\n\n return end\n}\n\nexport function validateTime (input: any): input is VTime {\n return (typeof input === 'number' && isFinite(input)) ||\n (!!PARSE_TIME.exec(input)) ||\n (typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute))\n}\n\nexport function parseTime (input: any): number | false {\n if (typeof input === 'number') {\n // when a number is given, it's minutes since 12:00am\n return input\n } else if (typeof input === 'string') {\n // when a string is given, it's a hh:mm:ss format where seconds are optional\n const parts = PARSE_TIME.exec(input)\n if (!parts) {\n return false\n }\n\n return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0)\n } else if (typeof input === 'object') {\n // when an object is given, it must have hour and minute\n if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n return false\n }\n\n return input.hour * 60 + input.minute\n } else {\n // unsupported type\n return false\n }\n}\n\nexport function validateTimestamp (input: any): input is VTimestampInput {\n return (typeof input === 'number' && isFinite(input)) ||\n (typeof input === 'string' && !!PARSE_REGEX.exec(input)) ||\n (input instanceof Date)\n}\n\nexport function parseTimestamp (input: VTimestampInput, required?: false, now?: CalendarTimestamp): CalendarTimestamp | null\nexport function parseTimestamp (input: VTimestampInput, required: true, now?: CalendarTimestamp): CalendarTimestamp\nexport function parseTimestamp (input: VTimestampInput, required = false, now?: CalendarTimestamp): CalendarTimestamp | null {\n if (typeof input === 'number' && isFinite(input)) {\n input = new Date(input)\n }\n\n if (input instanceof Date) {\n const date: CalendarTimestamp = parseDate(input)\n\n if (now) {\n updateRelative(date, now, date.hasTime)\n }\n\n return date\n }\n\n if (typeof input !== 'string') {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n return null\n }\n\n // YYYY-MM-DD hh:mm:ss\n const parts = PARSE_REGEX.exec(input)\n\n if (!parts) {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n\n return null\n }\n\n const timestamp: CalendarTimestamp = {\n date: input,\n time: '',\n year: parseInt(parts[1]),\n month: parseInt(parts[2]),\n day: parseInt(parts[4]) || 1,\n hour: parseInt(parts[6]) || 0,\n minute: parseInt(parts[8]) || 0,\n weekday: 0,\n hasDay: !!parts[4],\n hasTime: !!(parts[6] && parts[8]),\n past: false,\n present: false,\n future: false,\n }\n\n updateWeekday(timestamp)\n updateFormatted(timestamp)\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n\n return timestamp\n}\n\nexport function parseDate (date: Date): CalendarTimestamp {\n return updateFormatted({\n date: '',\n time: '',\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n weekday: date.getDay(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n hasDay: true,\n hasTime: true,\n past: false,\n present: true,\n future: false,\n })\n}\n\nexport function getDayIdentifier (timestamp: { year: number, month: number, day: number }): number {\n return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day\n}\n\nexport function getTimeIdentifier (timestamp: { hour: number, minute: number }): number {\n return timestamp.hour * OFFSET_HOUR + timestamp.minute\n}\n\nexport function getTimestampIdentifier (timestamp: CalendarTimestamp): number {\n return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp)\n}\n\nexport function updateRelative (timestamp: CalendarTimestamp, now: CalendarTimestamp, time = false): CalendarTimestamp {\n let a = getDayIdentifier(now)\n let b = getDayIdentifier(timestamp)\n let present = a === b\n\n if (timestamp.hasTime && time && present) {\n a = getTimeIdentifier(now)\n b = getTimeIdentifier(timestamp)\n present = a === b\n }\n\n timestamp.past = b < a\n timestamp.present = present\n timestamp.future = b > a\n\n return timestamp\n}\n\nexport function isTimedless (input: VTimestampInput): input is (Date | number) {\n return (input instanceof Date) || (typeof input === 'number' && isFinite(input))\n}\n\nexport function updateHasTime (timestamp: CalendarTimestamp, hasTime: boolean, now?: CalendarTimestamp): CalendarTimestamp {\n if (timestamp.hasTime !== hasTime) {\n timestamp.hasTime = hasTime\n if (!hasTime) {\n timestamp.hour = HOUR_MAX\n timestamp.minute = MINUTE_MAX\n timestamp.time = getTime(timestamp)\n }\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n }\n\n return timestamp\n}\n\nexport function updateMinutes (timestamp: CalendarTimestamp, minutes: number, now?: CalendarTimestamp): CalendarTimestamp {\n timestamp.hasTime = true\n timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR)\n timestamp.minute = minutes % MINUTES_IN_HOUR\n timestamp.time = getTime(timestamp)\n if (now) {\n updateRelative(timestamp, now, true)\n }\n\n return timestamp\n}\n\nexport function updateWeekday (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.weekday = getWeekday(timestamp)\n\n return timestamp\n}\n\nexport function updateFormatted (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.time = getTime(timestamp)\n timestamp.date = getDate(timestamp)\n\n return timestamp\n}\n\nexport function getWeekday (timestamp: CalendarTimestamp): number {\n if (timestamp.hasDay) {\n const _ = Math.floor\n const k = timestamp.day\n const m = ((timestamp.month + 9) % MONTH_MAX) + 1\n const C = _(timestamp.year / 100)\n const Y = (timestamp.year % 100) - (timestamp.month <= 2 ? 1 : 0)\n\n return (((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7) + 7) % 7\n }\n\n return timestamp.weekday\n}\n\nexport function daysInMonth (year: number, month: number) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month]\n}\n\nexport function copyTimestamp (timestamp: CalendarTimestamp): CalendarTimestamp {\n const { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future } = timestamp\n\n return { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future }\n}\n\nexport function padNumber (x: number, length: number): string {\n let padded = String(x)\n while (padded.length < length) {\n padded = '0' + padded\n }\n\n return padded\n}\n\nexport function getDate (timestamp: CalendarTimestamp): string {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`\n\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`\n\n return str\n}\n\nexport function getTime (timestamp: CalendarTimestamp): string {\n if (!timestamp.hasTime) {\n return ''\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n}\n\nexport function nextMinutes (timestamp: CalendarTimestamp, minutes: number): CalendarTimestamp {\n timestamp.minute += minutes\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR\n timestamp.hour++\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp)\n timestamp.hour = FIRST_HOUR\n }\n }\n\n return timestamp\n}\n\nexport function nextDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day++\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN\n timestamp.month++\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN\n timestamp.year++\n }\n }\n\n return timestamp\n}\n\nexport function prevDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day--\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK\n if (timestamp.day < DAY_MIN) {\n timestamp.month--\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--\n timestamp.month = MONTH_MAX\n }\n timestamp.day = daysInMonth(timestamp.year, timestamp.month)\n }\n\n return timestamp\n}\n\nexport function relativeDays (\n timestamp: CalendarTimestamp,\n mover: CalendarTimestampOperation = nextDay,\n days = 1\n): CalendarTimestamp {\n while (--days >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function diffMinutes (min: CalendarTimestamp, max: CalendarTimestamp) {\n const Y = (max.year - min.year) * 525600\n const M = (max.month - min.month) * 43800\n const D = (max.day - min.day) * 1440\n const h = (max.hour - min.hour) * 60\n const m = (max.minute - min.minute)\n\n return Y + M + D + h + m\n}\n\nexport function findWeekday (timestamp: CalendarTimestamp, weekday: number,\n mover: CalendarTimestampOperation = nextDay, maxDays = 6): CalendarTimestamp {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function getWeekdaySkips (weekdays: number[]): number[] {\n const skips: number[] = [1, 1, 1, 1, 1, 1, 1]\n const filled: number[] = [0, 0, 0, 0, 0, 0, 0]\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1\n }\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK\n if (filled[next]) {\n break\n }\n skip++\n }\n skips[k] = filled[k] * skip\n }\n\n return skips\n}\n\nexport function timestampToDate (timestamp: CalendarTimestamp): Date {\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n const date = timestamp.date\n\n return new Date(`${date}T${time}:00+00:00`)\n}\n\nexport function createDayList (\n start: CalendarTimestamp,\n end: CalendarTimestamp,\n now: CalendarTimestamp,\n weekdaySkips: number[],\n max = 42,\n min = 0\n): CalendarTimestamp[] {\n const stop = getDayIdentifier(end)\n const days: CalendarTimestamp[] = []\n let current = copyTimestamp(start)\n let currentIdentifier = 0\n let stopped = currentIdentifier === stop\n\n if (stop < getDayIdentifier(start)) {\n throw new Error('End date is earlier than start date.')\n }\n\n while ((!stopped || days.length < min) && days.length < max) {\n currentIdentifier = getDayIdentifier(current)\n stopped = stopped || currentIdentifier === stop\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current)\n continue\n }\n const day = copyTimestamp(current)\n updateFormatted(day)\n updateRelative(day, now)\n days.push(day)\n current = relativeDays(current, nextDay, weekdaySkips[current.weekday])\n }\n\n if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.')\n\n return days\n}\n\nexport function createIntervalList (timestamp: CalendarTimestamp, first: number,\n minutes: number, count: number, now?: CalendarTimestamp): CalendarTimestamp[] {\n const intervals: CalendarTimestamp[] = []\n\n for (let i = 0; i < count; i++) {\n const mins = first + (i * minutes)\n const int = copyTimestamp(timestamp)\n intervals.push(updateMinutes(int, mins, now))\n }\n\n return intervals\n}\n\nexport function createNativeLocaleFormatter (locale: string, getOptions: CalendarTimestampFormatOptions): CalendarFormatter {\n const emptyFormatter: CalendarFormatter = (_t, _s) => ''\n\n if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n return emptyFormatter\n }\n\n return (timestamp, short) => {\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short))\n\n return intlFormatter.format(timestampToDate(timestamp))\n } catch (e) {\n return ''\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"timestamp.mjs","names":["isLeapYear","PARSE_REGEX","PARSE_TIME","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP","DAYS_IN_MONTH_MIN","DAYS_IN_MONTH_MAX","MONTH_MAX","MONTH_MIN","DAY_MIN","DAYS_IN_WEEK","MINUTES_IN_HOUR","MINUTE_MAX","MINUTES_IN_DAY","HOURS_IN_DAY","HOUR_MAX","FIRST_HOUR","OFFSET_YEAR","OFFSET_MONTH","OFFSET_HOUR","OFFSET_TIME","getStartOfWeek","timestamp","weekdays","today","start","copyTimestamp","findWeekday","prevDay","updateFormatted","updateRelative","hasTime","getEndOfWeek","end","length","getStartOfMonth","day","updateWeekday","getEndOfMonth","daysInMonth","year","month","validateTime","input","isFinite","exec","hour","minute","parseTime","parts","parseInt","validateTimestamp","Date","parseTimestamp","required","arguments","undefined","now","date","parseDate","Error","time","weekday","hasDay","past","present","future","getFullYear","getMonth","getDate","getDay","getHours","getMinutes","getDayIdentifier","getTimeIdentifier","getTimestampIdentifier","a","b","isTimedless","updateHasTime","getTime","updateMinutes","minutes","Math","floor","getWeekday","_","k","m","C","Y","padNumber","x","padded","String","str","nextMinutes","nextDay","relativeDays","mover","days","diffMinutes","min","max","M","D","h","maxDays","getWeekdaySkips","skips","filled","i","skip","j","next","timestampToDate","createDayList","weekdaySkips","stop","current","currentIdentifier","stopped","push","createIntervalList","first","count","intervals","mins","int","createNativeLocaleFormatter","locale","getOptions","emptyFormatter","_t","_s","Intl","DateTimeFormat","short","intlFormatter","format","e"],"sources":["../../../../src/components/VCalendar/util/timestamp.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\nimport { isLeapYear } from '../../../util/dateTimeUtils'\n\nexport const PARSE_REGEX = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/\nexport const PARSE_TIME = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/\n\nexport const DAYS_IN_MONTH: number[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_LEAP: number[] = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_MIN = 28\nexport const DAYS_IN_MONTH_MAX = 31\nexport const MONTH_MAX = 12\nexport const MONTH_MIN = 1\nexport const DAY_MIN = 1\nexport const DAYS_IN_WEEK = 7\nexport const MINUTES_IN_HOUR = 60\nexport const MINUTE_MAX = 59\nexport const MINUTES_IN_DAY = 24 * 60\nexport const HOURS_IN_DAY = 24\nexport const HOUR_MAX = 23\nexport const FIRST_HOUR = 0\nexport const OFFSET_YEAR = 10000\nexport const OFFSET_MONTH = 100\nexport const OFFSET_HOUR = 100\nexport const OFFSET_TIME = 10000\n\ntype CalendarTimestampFormatOptions = (timestamp: CalendarTimestamp, short: boolean) => object\ntype CalendarTimestampOperation = (timestamp: CalendarTimestamp) => CalendarTimestamp\nexport type VTime = number | string | {\n hour: number\n minute: number\n}\n\nexport type VTimestampInput = number | string | Date;\n\nexport function getStartOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n findWeekday(start, weekdays[0], prevDay)\n updateFormatted(start)\n if (today) {\n updateRelative(start, today, start.hasTime)\n }\n\n return start\n}\n\nexport function getEndOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n findWeekday(end, weekdays[weekdays.length - 1])\n updateFormatted(end)\n if (today) {\n updateRelative(end, today, end.hasTime)\n }\n\n return end\n}\n\nexport function getStartOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n start.day = DAY_MIN\n updateWeekday(start)\n updateFormatted(start)\n\n return start\n}\n\nexport function getEndOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n end.day = daysInMonth(end.year, end.month)\n updateWeekday(end)\n updateFormatted(end)\n\n return end\n}\n\nexport function validateTime (input: any): input is VTime {\n return (typeof input === 'number' && isFinite(input)) ||\n (!!PARSE_TIME.exec(input)) ||\n (typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute))\n}\n\nexport function parseTime (input: any): number | false {\n if (typeof input === 'number') {\n // when a number is given, it's minutes since 12:00am\n return input\n } else if (typeof input === 'string') {\n // when a string is given, it's a hh:mm:ss format where seconds are optional\n const parts = PARSE_TIME.exec(input)\n if (!parts) {\n return false\n }\n\n return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0)\n } else if (typeof input === 'object') {\n // when an object is given, it must have hour and minute\n if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n return false\n }\n\n return input.hour * 60 + input.minute\n } else {\n // unsupported type\n return false\n }\n}\n\nexport function validateTimestamp (input: any): input is VTimestampInput {\n return (typeof input === 'number' && isFinite(input)) ||\n (typeof input === 'string' && !!PARSE_REGEX.exec(input)) ||\n (input instanceof Date)\n}\n\nexport function parseTimestamp (input: VTimestampInput, required?: false, now?: CalendarTimestamp): CalendarTimestamp | null\nexport function parseTimestamp (input: VTimestampInput, required: true, now?: CalendarTimestamp): CalendarTimestamp\nexport function parseTimestamp (input: VTimestampInput, required = false, now?: CalendarTimestamp): CalendarTimestamp | null {\n if (typeof input === 'number' && isFinite(input)) {\n input = new Date(input)\n }\n\n if (input instanceof Date) {\n const date: CalendarTimestamp = parseDate(input)\n\n if (now) {\n updateRelative(date, now, date.hasTime)\n }\n\n return date\n }\n\n if (typeof input !== 'string') {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n return null\n }\n\n // YYYY-MM-DD hh:mm:ss\n const parts = PARSE_REGEX.exec(input)\n\n if (!parts) {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n\n return null\n }\n\n const timestamp: CalendarTimestamp = {\n date: input,\n time: '',\n year: parseInt(parts[1]),\n month: parseInt(parts[2]),\n day: parseInt(parts[4]) || 1,\n hour: parseInt(parts[6]) || 0,\n minute: parseInt(parts[8]) || 0,\n weekday: 0,\n hasDay: !!parts[4],\n hasTime: !!(parts[6] && parts[8]),\n past: false,\n present: false,\n future: false,\n }\n\n updateWeekday(timestamp)\n updateFormatted(timestamp)\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n\n return timestamp\n}\n\nexport function parseDate (date: Date): CalendarTimestamp {\n return updateFormatted({\n date: '',\n time: '',\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n weekday: date.getDay(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n hasDay: true,\n hasTime: true,\n past: false,\n present: true,\n future: false,\n })\n}\n\nexport function getDayIdentifier (timestamp: { year: number, month: number, day: number }): number {\n return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day\n}\n\nexport function getTimeIdentifier (timestamp: { hour: number, minute: number }): number {\n return timestamp.hour * OFFSET_HOUR + timestamp.minute\n}\n\nexport function getTimestampIdentifier (timestamp: CalendarTimestamp): number {\n return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp)\n}\n\nexport function updateRelative (timestamp: CalendarTimestamp, now: CalendarTimestamp, time = false): CalendarTimestamp {\n let a = getDayIdentifier(now)\n let b = getDayIdentifier(timestamp)\n let present = a === b\n\n if (timestamp.hasTime && time && present) {\n a = getTimeIdentifier(now)\n b = getTimeIdentifier(timestamp)\n present = a === b\n }\n\n timestamp.past = b < a\n timestamp.present = present\n timestamp.future = b > a\n\n return timestamp\n}\n\nexport function isTimedless (input: VTimestampInput): input is (Date | number) {\n return (input instanceof Date) || (typeof input === 'number' && isFinite(input))\n}\n\nexport function updateHasTime (timestamp: CalendarTimestamp, hasTime: boolean, now?: CalendarTimestamp): CalendarTimestamp {\n if (timestamp.hasTime !== hasTime) {\n timestamp.hasTime = hasTime\n if (!hasTime) {\n timestamp.hour = HOUR_MAX\n timestamp.minute = MINUTE_MAX\n timestamp.time = getTime(timestamp)\n }\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n }\n\n return timestamp\n}\n\nexport function updateMinutes (timestamp: CalendarTimestamp, minutes: number, now?: CalendarTimestamp): CalendarTimestamp {\n timestamp.hasTime = true\n timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR)\n timestamp.minute = minutes % MINUTES_IN_HOUR\n timestamp.time = getTime(timestamp)\n if (now) {\n updateRelative(timestamp, now, true)\n }\n\n return timestamp\n}\n\nexport function updateWeekday (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.weekday = getWeekday(timestamp)\n\n return timestamp\n}\n\nexport function updateFormatted (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.time = getTime(timestamp)\n timestamp.date = getDate(timestamp)\n\n return timestamp\n}\n\nexport function getWeekday (timestamp: CalendarTimestamp): number {\n if (timestamp.hasDay) {\n const _ = Math.floor\n const k = timestamp.day\n const m = ((timestamp.month + 9) % MONTH_MAX) + 1\n const C = _(timestamp.year / 100)\n const Y = (timestamp.year % 100) - (timestamp.month <= 2 ? 1 : 0)\n\n return (((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7) + 7) % 7\n }\n\n return timestamp.weekday\n}\n\nexport function daysInMonth (year: number, month: number) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month]\n}\n\nexport function copyTimestamp (timestamp: CalendarTimestamp): CalendarTimestamp {\n const { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future } = timestamp\n\n return { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future }\n}\n\nexport function padNumber (x: number, length: number): string {\n let padded = String(x)\n while (padded.length < length) {\n padded = '0' + padded\n }\n\n return padded\n}\n\nexport function getDate (timestamp: CalendarTimestamp): string {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`\n\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`\n\n return str\n}\n\nexport function getTime (timestamp: CalendarTimestamp): string {\n if (!timestamp.hasTime) {\n return ''\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n}\n\nexport function nextMinutes (timestamp: CalendarTimestamp, minutes: number): CalendarTimestamp {\n timestamp.minute += minutes\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR\n timestamp.hour++\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp)\n timestamp.hour = FIRST_HOUR\n }\n }\n\n return timestamp\n}\n\nexport function nextDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day++\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN\n timestamp.month++\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN\n timestamp.year++\n }\n }\n\n return timestamp\n}\n\nexport function prevDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day--\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK\n if (timestamp.day < DAY_MIN) {\n timestamp.month--\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--\n timestamp.month = MONTH_MAX\n }\n timestamp.day = daysInMonth(timestamp.year, timestamp.month)\n }\n\n return timestamp\n}\n\nexport function relativeDays (\n timestamp: CalendarTimestamp,\n mover: CalendarTimestampOperation = nextDay,\n days = 1\n): CalendarTimestamp {\n while (--days >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function diffMinutes (min: CalendarTimestamp, max: CalendarTimestamp) {\n const Y = (max.year - min.year) * 525600\n const M = (max.month - min.month) * 43800\n const D = (max.day - min.day) * 1440\n const h = (max.hour - min.hour) * 60\n const m = (max.minute - min.minute)\n\n return Y + M + D + h + m\n}\n\nexport function findWeekday (timestamp: CalendarTimestamp, weekday: number,\n mover: CalendarTimestampOperation = nextDay, maxDays = 6): CalendarTimestamp {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function getWeekdaySkips (weekdays: number[]): number[] {\n const skips: number[] = [1, 1, 1, 1, 1, 1, 1]\n const filled: number[] = [0, 0, 0, 0, 0, 0, 0]\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1\n }\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK\n if (filled[next]) {\n break\n }\n skip++\n }\n skips[k] = filled[k] * skip\n }\n\n return skips\n}\n\nexport function timestampToDate (timestamp: CalendarTimestamp): Date {\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n const date = timestamp.date\n\n return new Date(`${date}T${time}:00+00:00`)\n}\n\nexport function createDayList (\n start: CalendarTimestamp,\n end: CalendarTimestamp,\n now: CalendarTimestamp,\n weekdaySkips: number[],\n max = 42,\n min = 0\n): CalendarTimestamp[] {\n const stop = getDayIdentifier(end)\n const days: CalendarTimestamp[] = []\n let current = copyTimestamp(start)\n let currentIdentifier = 0\n let stopped = currentIdentifier === stop\n\n if (stop < getDayIdentifier(start)) {\n throw new Error('End date is earlier than start date.')\n }\n\n while ((!stopped || days.length < min) && days.length < max) {\n currentIdentifier = getDayIdentifier(current)\n stopped = stopped || currentIdentifier === stop\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current)\n continue\n }\n const day = copyTimestamp(current)\n updateFormatted(day)\n updateRelative(day, now)\n days.push(day)\n current = relativeDays(current, nextDay, weekdaySkips[current.weekday])\n }\n\n if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.')\n\n return days\n}\n\nexport function createIntervalList (timestamp: CalendarTimestamp, first: number,\n minutes: number, count: number, now?: CalendarTimestamp): CalendarTimestamp[] {\n const intervals: CalendarTimestamp[] = []\n\n for (let i = 0; i < count; i++) {\n const mins = first + (i * minutes)\n const int = copyTimestamp(timestamp)\n intervals.push(updateMinutes(int, mins, now))\n }\n\n return intervals\n}\n\nexport function createNativeLocaleFormatter (locale: string, getOptions: CalendarTimestampFormatOptions): CalendarFormatter {\n const emptyFormatter: CalendarFormatter = (_t, _s) => ''\n\n if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n return emptyFormatter\n }\n\n return (timestamp, short) => {\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short))\n\n return intlFormatter.format(timestampToDate(timestamp))\n } catch (e) {\n return ''\n }\n }\n}\n"],"mappings":"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"}
|