@vuetify/nightly 3.0.0-beta.2 → 3.0.0-beta.3
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/CHANGELOG.md +2 -53
- package/dist/json/attributes.json +170 -242
- package/dist/json/tags.json +32 -50
- package/dist/json/web-types.json +596 -570
- package/dist/vuetify.css +338 -356
- package/dist/vuetify.d.ts +5952 -5468
- package/dist/vuetify.esm.js +2272 -2010
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +2271 -2009
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +912 -886
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.mjs +11 -6
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
- package/lib/components/VAlert/index.mjs.map +1 -1
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +4 -4
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +4 -2
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +3 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAppBar/index.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +31 -41
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.mjs +3 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/index.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.css +3 -6
- package/lib/components/VBadge/VBadge.mjs +16 -44
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.sass +2 -4
- package/lib/components/VBadge/_variables.scss +1 -2
- package/lib/components/VBadge/index.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.mjs +10 -5
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/VBannerAvatar.mjs.map +1 -1
- package/lib/components/VBanner/VBannerIcon.mjs.map +1 -1
- package/lib/components/VBanner/VBannerText.mjs.map +1 -1
- package/lib/components/VBanner/index.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -1
- package/lib/components/VBottomNavigation/index.mjs.map +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/components/VBottomSheet/index.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +3 -2
- 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/VBreadcrumbs/index.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/shared.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.css +18 -9
- package/lib/components/VBtn/VBtn.mjs +19 -10
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +5 -2
- package/lib/components/VBtn/_variables.scss +0 -1
- package/lib/components/VBtn/index.mjs.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.mjs.map +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.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/index.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/index.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.css +8 -7
- package/lib/components/VCard/VCard.mjs +11 -6
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardAvatar.mjs.map +1 -1
- package/lib/components/VCard/VCardContent.mjs.map +1 -1
- package/lib/components/VCard/VCardHeader.mjs.map +1 -1
- package/lib/components/VCard/VCardHeaderText.mjs.map +1 -1
- package/lib/components/VCard/VCardImg.mjs.map +1 -1
- package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
- package/lib/components/VCard/VCardText.mjs.map +1 -1
- package/lib/components/VCard/VCardTitle.mjs.map +1 -1
- package/lib/components/VCard/index.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.mjs +3 -2
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.mjs +5 -4
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.mjs.map +1 -1
- package/lib/components/VChip/VChip.mjs +5 -4
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.mjs.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.mjs.map +1 -1
- package/lib/components/VCode/index.mjs.map +1 -1
- 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.mjs.map +1 -1
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +46 -52
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.mjs.map +1 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.mjs.map +1 -1
- package/lib/components/VData/VData.mjs.map +1 -1
- package/lib/components/VData/index.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/VDataIterator/index.mjs.map +1 -1
- package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
- package/lib/components/VDataTable/Row.mjs.map +1 -1
- package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
- package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
- package/lib/components/VDataTable/index.mjs.map +1 -1
- package/lib/components/VDataTable/mixins/header.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/index.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/index.mjs.map +1 -1
- package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
- package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
- package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
- package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.css +0 -1
- package/lib/components/VDialog/VDialog.mjs +8 -3
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +0 -1
- package/lib/components/VDialog/_variables.scss +0 -1
- package/lib/components/VDialog/index.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/index.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +8 -7
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.mjs.map +1 -1
- package/lib/components/VField/VField.mjs +7 -5
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.mjs +3 -2
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.mjs.map +1 -1
- package/lib/components/VFooter/VFooter.mjs +1 -1
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.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/VGrid/VSpacer.mjs.map +1 -1
- package/lib/components/VGrid/index.mjs.map +1 -1
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VHover/index.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.mjs +2 -4
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/index.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.mjs.map +1 -1
- package/lib/components/VInput/VInput.mjs +4 -3
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.mjs.map +1 -1
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.mjs.map +1 -1
- package/lib/components/VKbd/index.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/index.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.mjs.map +1 -1
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.mjs.map +1 -1
- package/lib/components/VList/VList.css +0 -6
- package/lib/components/VList/VList.mjs +47 -31
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +0 -1
- package/lib/components/VList/VListChildren.mjs +41 -3
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +4 -3
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListImg.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +8 -7
- package/lib/components/VList/VListItem.mjs +6 -5
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
- package/lib/components/VList/VListItemHeader.mjs.map +1 -1
- package/lib/components/VList/VListItemIcon.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
- package/lib/components/VList/VListItemTitle.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +3 -3
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/_variables.scss +0 -1
- package/lib/components/VList/index.mjs.map +1 -1
- package/lib/components/VList/list.mjs.map +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/index.mjs.map +1 -1
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +6 -2
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/_variables.scss +0 -1
- package/lib/components/VMenu/index.mjs.map +1 -1
- package/lib/components/VMenu/shared.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +7 -7
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.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.mjs.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOtpInput/index.mjs.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
- package/lib/components/VOverflowBtn/index.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +0 -1
- package/lib/components/VOverlay/VOverlay.mjs +45 -21
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +0 -1
- package/lib/components/VOverlay/_variables.scss +0 -1
- package/lib/components/VOverlay/index.mjs.map +1 -1
- package/lib/components/VOverlay/{positionStrategies.mjs → locationStrategies.mjs} +32 -33
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
- package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +7 -1
- 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 +6 -5
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.mjs.map +1 -1
- package/lib/components/VPicker/VPicker.mjs.map +1 -1
- package/lib/components/VPicker/index.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/index.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.mjs.map +1 -1
- package/lib/components/VRadio/VRadio.mjs +5 -3
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +5 -3
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.mjs.map +1 -1
- package/lib/components/VRating/VRating.mjs +4 -3
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/index.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +40 -27
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs +7 -6
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -3
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
- package/lib/components/VSheet/VSheet.mjs +7 -3
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +4 -3
- 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.mjs.map +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 +2 -1
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +0 -18
- package/lib/components/VSnackbar/VSnackbar.mjs +19 -12
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +0 -18
- package/lib/components/VSnackbar/index.mjs.map +1 -1
- 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/VSparkline/index.mjs.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/components/VSpeedDial/index.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/VStepper/index.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.mjs +1 -1
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/index.mjs.map +1 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/index.mjs.map +1 -1
- package/lib/components/VTabs/VTab.css +1 -1
- package/lib/components/VTabs/VTab.mjs +5 -4
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTab.sass +1 -1
- package/lib/components/VTabs/VTabs.css +8 -9
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.sass +4 -5
- package/lib/components/VTabs/index.mjs.map +1 -1
- package/lib/components/VTabs/shared.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.mjs +3 -2
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.mjs.map +1 -1
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/index.mjs.map +1 -1
- 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/VTimePicker/index.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +3 -2
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +3 -2
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.mjs.map +1 -1
- package/lib/components/VTimeline/shared.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.mjs +16 -9
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/index.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.mjs +12 -7
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.mjs.map +1 -1
- package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
- package/lib/components/VTreeview/index.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/VValidation/index.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.mjs +2 -2
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.mjs.map +1 -1
- package/lib/components/index.d.ts +3689 -3205
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs +61 -8
- 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.mjs.map +1 -1
- package/lib/composables/border.mjs.map +1 -1
- package/lib/composables/color.mjs.map +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 +33 -13
- 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/forwardRef.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 +15 -3
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/items.mjs +39 -11
- package/lib/composables/items.mjs.map +1 -1
- package/lib/composables/layout.mjs +3 -3
- 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 +11 -8
- package/lib/composables/locale.mjs.map +1 -1
- package/lib/composables/location.mjs +70 -0
- package/lib/composables/location.mjs.map +1 -0
- 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 +4 -25
- package/lib/composables/position.mjs.map +1 -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 +25 -23
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/rtl.mjs.map +1 -1
- package/lib/composables/scopeId.mjs +11 -0
- package/lib/composables/scopeId.mjs.map +1 -0
- 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 +23 -22
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/tag.mjs.map +1 -1
- package/lib/composables/teleport.mjs.map +1 -1
- package/lib/composables/theme.mjs +89 -92
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +18 -0
- package/lib/composables/toggleScope.mjs.map +1 -0
- package/lib/composables/touch.mjs.map +1 -1
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +1 -0
- 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/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 +10 -22
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa-svg.d.ts +2 -1
- package/lib/iconsets/fa-svg.mjs.map +1 -1
- package/lib/iconsets/fa.d.ts +2 -1
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.d.ts +2 -1
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/iconsets/md.d.ts +2 -1
- package/lib/iconsets/md.mjs.map +1 -1
- package/lib/iconsets/mdi-svg.d.ts +2 -1
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/iconsets/mdi.d.ts +2 -1
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.ts +81 -80
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/adapters/vue-intl.mjs.map +1 -1
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.mjs.map +1 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/presets/default/index.mjs.map +1 -1
- package/lib/services/goto/easing-patterns.mjs.map +1 -1
- package/lib/services/goto/index.mjs.map +1 -1
- package/lib/services/goto/util.mjs.map +1 -1
- package/lib/styles/tools/_states.sass +9 -2
- package/lib/styles/tools/_utilities.sass +1 -1
- package/lib/{components/VOverlay/util → util}/anchor.mjs +0 -0
- package/lib/util/anchor.mjs.map +1 -0
- 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/colors.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/easing.mjs.map +1 -1
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/getScrollParent.mjs.map +1 -1
- package/lib/util/globals.mjs +0 -3
- package/lib/util/globals.mjs.map +1 -1
- package/lib/util/helpers.mjs +1 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.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 +22 -22
- package/lib/components/VOverlay/positionStrategies.mjs.map +0 -1
- package/lib/components/VOverlay/util/anchor.mjs.map +0 -1
- package/lib/composables/overlay.mjs +0 -34
- package/lib/composables/overlay.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"touch.mjs","names":["CircularBuffer","HORIZON","HISTORY","kineticEnergyToVelocity","work","sqrt2","Math","sqrt","abs","calculateImpulseVelocity","samples","length","t","d","i","vprev","vcurr","useVelocity","touches","addMovement","e","Array","from","changedTouches","forEach","touch","identifier","push","timeStamp","endTouch","getVelocity","id","values","reverse","Error","newest","x","y","val","clientX","clientY","direction","absX","absY","oops"],"sources":["../../src/composables/touch.ts"],"sourcesContent":["import { CircularBuffer } from '@/util'\n\nconst HORIZON = 100 // ms\nconst HISTORY = 20 // number of samples to keep\n\nexport interface Sample {\n t: number\n d: number\n}\n\n/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */\nfunction kineticEnergyToVelocity (work: number) {\n const sqrt2 = 1.41421356237\n return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2\n}\n\n/**\n * Returns pointer velocity in px/s\n */\nexport function calculateImpulseVelocity (samples: Sample[]) {\n // The input should be in reversed time order (most recent sample at index i=0)\n if (samples.length < 2) {\n // if 0 or 1 points, velocity is zero\n return 0\n }\n // if (samples[1].t > samples[0].t) {\n // // Algorithm will still work, but not perfectly\n // consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')\n // }\n if (samples.length === 2) {\n // if 2 points, basic linear calculation\n if (samples[1].t === samples[0].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)\n return 0\n }\n return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t)\n }\n // Guaranteed to have at least 3 points here\n // start with the oldest sample and go forward in time\n let work = 0\n for (let i = samples.length - 1; i > 0; i--) {\n if (samples[i].t === samples[i - 1].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)\n continue\n }\n const vprev = kineticEnergyToVelocity(work) // v[i-1]\n const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t) // v[i]\n work += (vcurr - vprev) * Math.abs(vcurr)\n if (i === samples.length - 1) {\n work *= 0.5\n }\n }\n return kineticEnergyToVelocity(work) * 1000\n}\n\nexport function useVelocity () {\n const touches: Record<number, CircularBuffer<[number, Touch]> | undefined> = {}\n\n function addMovement (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY))\n samples.push([e.timeStamp, touch])\n })\n }\n\n function endTouch (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n delete touches[touch.identifier]\n })\n }\n\n function getVelocity (id: number) {\n const samples = touches[id]?.values().reverse()\n\n if (!samples) {\n throw new Error(`No samples for touch id ${id}`)\n }\n\n const newest = samples[0]\n const x: Sample[] = []\n const y: Sample[] = []\n for (const val of samples) {\n if (newest[0] - val[0] > HORIZON) break\n\n x.push({ t: val[0], d: val[1].clientX })\n y.push({ t: val[0], d: val[1].clientY })\n }\n\n return {\n x: calculateImpulseVelocity(x),\n y: calculateImpulseVelocity(y),\n get direction () {\n const { x, y } = this\n const [absX, absY] = [Math.abs(x), Math.abs(y)]\n\n return absX > absY && x >= 0 ? 'right'\n : absX > absY && x <= 0 ? 'left'\n : absY > absX && y >= 0 ? 'down'\n : absY > absX && y <= 0 ? 'up'\n : oops()\n },\n }\n }\n\n return { addMovement, endTouch, getVelocity }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"transition.mjs","names":["h","mergeProps","Transition","propsFactory","makeTransitionProps","transition","type","Boolean","String","Object","default","validator","val","MaybeTransition","props","slots","rest","component","customProps","name"],"sources":["../../src/composables/transition.ts"],"sourcesContent":["// Utilities\nimport { h, mergeProps, Transition } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Component, FunctionalComponent, PropType, TransitionProps } from 'vue'\n\nexport const makeTransitionProps = propsFactory({\n transition: {\n type: [Boolean, String, Object] as PropType<string | boolean | TransitionProps & { component?: Component }>,\n default: 'fade-transition',\n validator: val => val !== true,\n },\n}, 'transition')\n\ninterface MaybeTransitionProps extends TransitionProps {\n transition?: string | boolean | TransitionProps & { component?: any }\n}\n\nexport const MaybeTransition: FunctionalComponent<MaybeTransitionProps> = (props, { slots }) => {\n const { transition, ...rest } = props\n\n if (!transition || typeof transition === 'boolean') return slots.default?.()\n\n const { component = Transition, ...customProps } = typeof transition === 'object' ? transition : {}\n\n return h(\n component,\n mergeProps(typeof transition === 'string' ? { name: transition } : customProps as any, rest as any),\n slots\n )\n}\n"],"mappings":"AAAA;AACA,SAASA,CAAT,EAAYC,UAAZ,EAAwBC,UAAxB,QAA0C,KAA1C;SACSC,Y,6BAET;;AAGA,OAAO,MAAMC,mBAAmB,GAAGD,YAAY,CAAC;EAC9CE,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,OAAD,EAAUC,MAAV,EAAkBC,MAAlB,CADI;IAEVC,OAAO,EAAE,iBAFC;IAGVC,SAAS,EAAEC,GAAG,IAAIA,GAAG,KAAK;EAHhB;AADkC,CAAD,EAM5C,YAN4C,CAAxC;AAYP,OAAO,MAAMC,eAA0D,GAAG,CAACC,KAAD,WAAsB;EAAA;;EAAA,IAAd;IAAEC;EAAF,CAAc;EAC9F,MAAM;IAAEV,UAAF;IAAc,GAAGW;EAAjB,IAA0BF,KAAhC;EAEA,IAAI,CAACT,UAAD,IAAe,OAAOA,UAAP,KAAsB,SAAzC,EAAoD,yBAAOU,KAAK,CAACL,OAAb,qBAAO,oBAAAK,KAAK,CAAZ;EAEpD,MAAM;IAAEE,SAAS,GAAGf,UAAd;IAA0B,GAAGgB;EAA7B,IAA6C,OAAOb,UAAP,KAAsB,QAAtB,GAAiCA,UAAjC,GAA8C,EAAjG;EAEA,OAAOL,CAAC,CACNiB,SADM,EAENhB,UAAU,CAAC,OAAOI,UAAP,KAAsB,QAAtB,GAAiC;IAAEc,IAAI,EAAEd;EAAR,CAAjC,GAAwDa,WAAzD,EAA6EF,IAA7E,CAFJ,EAGND,KAHM,CAAR;AAKD,CAZM"}
|
|
@@ -37,6 +37,7 @@ export function useValidation(props) {
|
|
|
37
37
|
return props.errorMessages.length ? wrapInArray(props.errorMessages) : internalErrorMessages.value;
|
|
38
38
|
});
|
|
39
39
|
const isValid = computed(() => {
|
|
40
|
+
if (!props.rules.length) return true;
|
|
40
41
|
if (props.error || errorMessages.value.length) return false;
|
|
41
42
|
return isPristine.value ? null : true;
|
|
42
43
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"validation.mjs","names":["useForm","useProxiedModel","computed","onBeforeMount","onBeforeUnmount","ref","watch","getCurrentInstanceName","getUid","propsFactory","wrapInArray","makeValidationProps","disabled","Boolean","error","errorMessages","type","Array","String","default","maxErrors","Number","name","readonly","rules","modelValue","useValidation","props","model","form","internalErrorMessages","isPristine","isDirty","value","length","isDisabled","isReadonly","isValid","isValidating","validationClasses","uid","register","validate","reset","resetValidation","unregister","results","rule","handler","result","console","warn","push"],"sources":["../../src/composables/validation.ts"],"sourcesContent":["// Composables\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, onBeforeMount, onBeforeUnmount, ref, watch } from 'vue'\nimport { getCurrentInstanceName, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type ValidationResult = string | true\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\nexport interface ValidationProps {\n disabled: boolean\n error: boolean\n errorMessages: string | string[]\n maxErrors: string | number\n name: string | undefined\n readonly: boolean\n rules: ValidationRule[]\n modelValue: any\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n readonly: Boolean,\n rules: {\n type: Array as PropType<ValidationRule[]>,\n default: () => ([]),\n },\n modelValue: null,\n})\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const form = useForm()\n const internalErrorMessages = ref<string[]>([])\n const isPristine = ref(true)\n const isDirty = computed(() => wrapInArray(model.value === '' ? null : model.value).length > 0)\n const isDisabled = computed(() => !!(props.disabled || form?.isDisabled.value))\n const isReadonly = computed(() => !!(props.readonly || form?.isReadonly.value))\n const errorMessages = computed(() => {\n return props.errorMessages.length\n ? wrapInArray(props.errorMessages)\n : internalErrorMessages.value\n })\n const isValid = computed(() => {\n if (!props.rules.length) return true\n if (props.error || errorMessages.value.length) return false\n\n return isPristine.value ? null : true\n })\n const isValidating = ref(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value,\n }\n })\n\n const uid = computed(() => props.name ?? getUid())\n\n onBeforeMount(() => {\n form?.register(uid.value, validate, reset, resetValidation, isValid)\n })\n\n onBeforeUnmount(() => {\n form?.unregister(uid.value)\n })\n\n watch(model, () => {\n if (model.value != null) validate()\n })\n\n function reset () {\n resetValidation()\n model.value = null\n }\n\n function resetValidation () {\n isPristine.value = true\n internalErrorMessages.value = []\n }\n\n async function validate () {\n const results = []\n\n isValidating.value = true\n\n for (const rule of props.rules) {\n if (results.length >= (props.maxErrors || 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(model.value)\n\n if (result === true) continue\n\n if (typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result)\n }\n\n internalErrorMessages.value = results\n isValidating.value = false\n isPristine.value = false\n\n return internalErrorMessages.value\n }\n\n return {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"variant.mjs","names":["useColor","computed","unref","getCurrentInstanceName","propsFactory","allowedVariants","genOverlays","isClickable","name","makeVariantProps","color","String","variant","type","default","validator","v","includes","useVariant","props","variantClasses","colorClasses","colorStyles"],"sources":["../../src/composables/variant.tsx"],"sourcesContent":["// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = [\n 'outlined',\n 'plain',\n 'text',\n 'contained',\n 'contained-flat',\n 'contained-text',\n] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div class={`${name}__overlay`} /> }\n\n <div class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'contained',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { variant, color } = unref(props)\n return {\n [['contained', 'contained-flat'].includes(variant) ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n"],"mappings":";AAAA;SACSA,Q,uBAET;;AACA,SAASC,QAAT,EAAmBC,KAAnB,QAAgC,KAAhC;SACSC,sB,EAAwBC,Y,6BAEjC;;AAIA,OAAO,MAAMC,eAAe,GAAG,CAC7B,UAD6B,EAE7B,OAF6B,EAG7B,MAH6B,EAI7B,WAJ6B,EAK7B,gBAL6B,EAM7B,gBAN6B,CAAxB;AAgBP,OAAO,SAASC,WAAT,CAAsBC,WAAtB,EAA4CC,IAA5C,EAA0D;EAC/D,sCAEMD,WAAW;IAAA,SAAiB,GAAEC,IAAK;EAAxB,QAFjB;IAAA,SAIiB,GAAEA,IAAK;EAJxB;AAOD;AAED,OAAO,MAAMC,gBAAgB,GAAGL,YAAY,CAAC;EAC3CM,KAAK,EAAEC,MADoC;EAE3CC,OAAO,EAAE;IACPC,IAAI,EAAEF,MADC;IAEPG,OAAO,EAAE,WAFF;IAGPC,SAAS,EAAGC,CAAD,IAAYX,eAAe,CAACY,QAAhB,CAAyBD,CAAzB;EAHhB;AAFkC,CAAD,EAOzC,SAPyC,CAArC;AASP,OAAO,SAASE,UAAT,CACLC,KADK,EAGL;EAAA,IADAX,IACA,uEADOL,sBAAsB,EAC7B;EACA,MAAMiB,cAAc,GAAGnB,QAAQ,CAAC,MAAM;IACpC,MAAM;MAAEW;IAAF,IAAcV,KAAK,CAACiB,KAAD,CAAzB;IACA,OAAQ,GAAEX,IAAK,aAAYI,OAAQ,EAAnC;EACD,CAH8B,CAA/B;EAKA,MAAM;IAAES,YAAF;IAAgBC;EAAhB,IAAgCtB,QAAQ,CAACC,QAAQ,CAAC,MAAM;IAC5D,MAAM;MAAEW,OAAF;MAAWF;IAAX,IAAqBR,KAAK,CAACiB,KAAD,CAAhC;IACA,OAAO;MACL,CAAC,CAAC,WAAD,EAAc,gBAAd,EAAgCF,QAAhC,CAAyCL,OAAzC,IAAoD,YAApD,GAAmE,MAApE,GAA6EF;IADxE,CAAP;EAGD,CALsD,CAAT,CAA9C;EAOA,OAAO;IAAEW,YAAF;IAAgBC,WAAhB;IAA6BF;EAA7B,CAAP;AACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["attachedRoot","defaultConditional","checkEvent","e","el","binding","checkIsActive","root","ShadowRoot","host","target","elements","value","include","push","some","contains","isActive","closeConditional","directive","handler","_clickOutside","lastMousedownWasOutside","setTimeout","handleShadow","callback","document","ClickOutside","mounted","onClick","onMousedown","app","addEventListener","instance","$","uid","unmounted","removeEventListener"],"sources":["../../../src/directives/click-outside/index.ts"],"sourcesContent":["import { attachedRoot } from '@/util'\nimport type { DirectiveBinding } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: MouseEvent) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirectiveBinding extends DirectiveBinding {\n value: ((e: MouseEvent) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: MouseEvent, binding: ClickOutsideDirectiveBinding): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const onClick = (e: Event) => directive(e as MouseEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as MouseEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[binding.instance!.$.uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unmounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[binding.instance!.$.uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[binding.instance!.$.uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[binding.instance!.$.uid]\n },\n}\n\nexport default ClickOutside\n"],"mappings":"SAASA,Y;;AAaT,SAASC,kBAAT,GAA+B;EAC7B,OAAO,IAAP;AACD;;AAED,SAASC,UAAT,CAAqBC,CAArB,EAAoCC,EAApC,EAAqDC,OAArD,EAAqG;EACnG;EACA;EACA;EACA;EACA,IAAI,CAACF,CAAD,IAAMG,aAAa,CAACH,CAAD,EAAIE,OAAJ,CAAb,KAA8B,KAAxC,EAA+C,OAAO,KAAP,CALoD,CAOnG;EACA;EACA;;EACA,MAAME,IAAI,GAAGP,YAAY,CAACI,EAAD,CAAzB;EACA,IACE,OAAOI,UAAP,KAAsB,WAAtB,IACAD,IAAI,YAAYC,UADhB,IAEAD,IAAI,CAACE,IAAL,KAAcN,CAAC,CAACO,MAHlB,EAIE,OAAO,KAAP,CAfiG,CAiBnG;EACA;;EACA,MAAMC,QAAQ,GAAG,CAAE,OAAON,OAAO,CAACO,KAAf,KAAyB,QAAzB,IAAqCP,OAAO,CAACO,KAAR,CAAcC,OAApD,KAAiE,MAAM,EAAvE,CAAD,GAAjB,CAnBmG,CAoBnG;;;EACAF,QAAQ,CAACG,IAAT,CAAcV,EAAd,EArBmG,CAuBnG;EACA;EACA;EACA;EACA;;EACA,OAAO,CAACO,QAAQ,CAACI,IAAT,CAAcX,EAAE,IAAIA,EAAJ,oBAAIA,EAAE,CAAEY,QAAJ,CAAab,CAAC,CAACO,MAAf,CAApB,CAAR;AACD;;AAED,SAASJ,aAAT,CAAwBH,CAAxB,EAAuCE,OAAvC,EAA8F;EAC5F,MAAMY,QAAQ,GAAI,OAAOZ,OAAO,CAACO,KAAf,KAAyB,QAAzB,IAAqCP,OAAO,CAACO,KAAR,CAAcM,gBAApD,IAAyEjB,kBAA1F;EAEA,OAAOgB,QAAQ,CAACd,CAAD,CAAf;AACD;;AAED,SAASgB,SAAT,CAAoBhB,CAApB,EAAmCC,EAAnC,EAAoDC,OAApD,EAA2F;EACzF,MAAMe,OAAO,GAAG,OAAOf,OAAO,CAACO,KAAf,KAAyB,UAAzB,GAAsCP,OAAO,CAACO,KAA9C,GAAsDP,OAAO,CAACO,KAAR,CAAcQ,OAApF;EAEAhB,EAAE,CAACiB,aAAH,CAAkBC,uBAAlB,IAA6CpB,UAAU,CAACC,CAAD,EAAIC,EAAJ,EAAQC,OAAR,CAAvD,IAA2EkB,UAAU,CAAC,MAAM;IAC1FjB,aAAa,CAACH,CAAD,EAAIE,OAAJ,CAAb,IAA6Be,OAA7B,IAAwCA,OAAO,CAACjB,CAAD,CAA/C;EACD,CAFoF,EAElF,CAFkF,CAArF;AAGD;;AAED,SAASqB,YAAT,CAAuBpB,EAAvB,EAAwCqB,QAAxC,EAAkE;EAChE,MAAMlB,IAAI,GAAGP,YAAY,CAACI,EAAD,CAAzB;EAEAqB,QAAQ,CAACC,QAAD,CAAR;;EAEA,IAAI,OAAOlB,UAAP,KAAsB,WAAtB,IAAqCD,IAAI,YAAYC,UAAzD,EAAqE;IACnEiB,QAAQ,CAAClB,IAAD,CAAR;EACD;AACF;;AAED,OAAO,MAAMoB,YAAY,GAAG;EAC1B;EACA;EACA;EACA;EACA;EACAC,OAAO,CAAExB,EAAF,EAAmBC,OAAnB,EAA0D;IAC/D,MAAMwB,OAAO,GAAI1B,CAAD,IAAcgB,SAAS,CAAChB,CAAD,EAAkBC,EAAlB,EAAsBC,OAAtB,CAAvC;;IACA,MAAMyB,WAAW,GAAI3B,CAAD,IAAc;MAChCC,EAAE,CAACiB,aAAH,CAAkBC,uBAAlB,GAA4CpB,UAAU,CAACC,CAAD,EAAkBC,EAAlB,EAAsBC,OAAtB,CAAtD;IACD,CAFD;;IAIAmB,YAAY,CAACpB,EAAD,EAAM2B,GAAD,IAAsB;MACrCA,GAAG,CAACC,gBAAJ,CAAqB,OAArB,EAA8BH,OAA9B,EAAuC,IAAvC;MACAE,GAAG,CAACC,gBAAJ,CAAqB,WAArB,EAAkCF,WAAlC,EAA+C,IAA/C;IACD,CAHW,CAAZ;;IAKA,IAAI,CAAC1B,EAAE,CAACiB,aAAR,EAAuB;MACrBjB,EAAE,CAACiB,aAAH,GAAmB;QACjBC,uBAAuB,EAAE;MADR,CAAnB;IAGD;;IAEDlB,EAAE,CAACiB,aAAH,CAAiBhB,OAAO,CAAC4B,QAAR,CAAkBC,CAAlB,CAAoBC,GAArC,IAA4C;MAC1CN,OAD0C;MAE1CC;IAF0C,CAA5C;EAID,CA3ByB;;EA6B1BM,SAAS,CAAEhC,EAAF,EAAmBC,OAAnB,EAA0D;IACjE,IAAI,CAACD,EAAE,CAACiB,aAAR,EAAuB;IAEvBG,YAAY,CAACpB,EAAD,EAAM2B,GAAD,IAAsB;MAAA;;MACrC,IAAI,CAACA,GAAD,IAAQ,uBAAC3B,EAAE,CAACiB,aAAJ,aAAC,kBAAmBhB,OAAO,CAAC4B,QAAR,CAAkBC,CAAlB,CAAoBC,GAAvC,CAAD,CAAZ,EAA0D;MAE1D,MAAM;QAAEN,OAAF;QAAWC;MAAX,IAA2B1B,EAAE,CAACiB,aAAH,CAAiBhB,OAAO,CAAC4B,QAAR,CAAkBC,CAAlB,CAAoBC,GAArC,CAAjC;MAEAJ,GAAG,CAACM,mBAAJ,CAAwB,OAAxB,EAAiCR,OAAjC,EAA0C,IAA1C;MACAE,GAAG,CAACM,mBAAJ,CAAwB,WAAxB,EAAqCP,WAArC,EAAkD,IAAlD;IACD,CAPW,CAAZ;IASA,OAAO1B,EAAE,CAACiB,aAAH,CAAiBhB,OAAO,CAAC4B,QAAR,CAAkBC,CAAlB,CAAoBC,GAArC,CAAP;EACD;;AA1CyB,CAArB;AA6CP,eAAeR,YAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["classToHex","isCssColor","parseGradient","colors","setTextColor","el","color","currentTheme","cssColor","style","caretColor","setBackgroundColor","backgroundColor","borderColor","setBorderColor","modifiers","Object","keys","length","top","borderTopColor","right","borderRightColor","bottom","borderBottomColor","left","borderLeftColor","setGradientColor","gradient","backgroundImage","updateColor","binding","node","context","$vuetify","theme","arg","undefined","value","update","oldValue","Color","bind"],"sources":["../../../src/directives/color/index.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Utilities\nimport {\n classToHex,\n isCssColor,\n parseGradient,\n} from '../../util/colorUtils'\nimport colors from '../../util/colors'\n\n// Types\nimport { VuetifyThemeVariant } from 'types/services/theme'\nimport { VNode, VNodeDirective } from 'vue'\n\ninterface BorderModifiers {\n top?: Boolean\n right?: Boolean\n bottom?: Boolean\n left?: Boolean\n}\n\nfunction setTextColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n el.style.color = cssColor\n el.style.caretColor = cssColor\n}\n\nfunction setBackgroundColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n el.style.backgroundColor = cssColor\n el.style.borderColor = cssColor\n}\n\nfunction setBorderColor (\n el: HTMLElement,\n color: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n modifiers?: BorderModifiers,\n) {\n const cssColor = !isCssColor(color) ? classToHex(color, colors, currentTheme) : color\n\n if (!modifiers || !Object.keys(modifiers).length) {\n el.style.borderColor = cssColor\n return\n }\n\n if (modifiers.top) el.style.borderTopColor = cssColor\n if (modifiers.right) el.style.borderRightColor = cssColor\n if (modifiers.bottom) el.style.borderBottomColor = cssColor\n if (modifiers.left) el.style.borderLeftColor = cssColor\n}\n\nfunction setGradientColor (\n el: HTMLElement,\n gradient: string,\n currentTheme: Partial<VuetifyThemeVariant>,\n) {\n el.style.backgroundImage = `linear-gradient(${\n parseGradient(gradient, colors, currentTheme)\n })`\n}\n\nfunction updateColor (\n el: HTMLElement,\n binding: VNodeDirective,\n node: VNode\n) {\n const currentTheme = node.context!.$vuetify.theme.currentTheme\n\n if (binding.arg === undefined) {\n setBackgroundColor(el, binding.value, currentTheme)\n } else if (binding.arg === 'text') {\n setTextColor(el, binding.value, currentTheme)\n } else if (binding.arg === 'border') {\n setBorderColor(el, binding.value, currentTheme, binding.modifiers)\n } else if (binding.arg === 'gradient') {\n setGradientColor(el, binding.value, currentTheme)\n }\n}\n\nfunction update (\n el: HTMLElement,\n binding: VNodeDirective,\n node: VNode\n) {\n if (binding.value === binding.oldValue) return\n\n updateColor(el, binding, node)\n}\n\nexport const Color = {\n bind: updateColor,\n update,\n}\n\nexport default Color\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["ClickOutside","Intersect","Mutate","Resize","Ripple","Scroll","Touch"],"sources":["../../src/directives/index.ts"],"sourcesContent":["export { ClickOutside } from './click-outside'\n// export { Color } from './color'\nexport { Intersect } from './intersect'\nexport { Mutate } from './mutate'\nexport { Resize } from './resize'\nexport { Ripple } from './ripple'\nexport { Scroll } from './scroll'\nexport { Touch } from './touch'\n"],"mappings":"SAASA,Y,qCACT;;SACSC,S;SACAC,M;SACAC,M;SACAC,M;SACAC,M;SACAC,K"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["SUPPORTS_INTERSECTION","mounted","el","binding","modifiers","value","handler","options","observer","IntersectionObserver","entries","_observe","instance","$","uid","isIntersecting","some","entry","quiet","init","once","unmounted","Object","observe","unobserve","Intersect"],"sources":["../../../src/directives/intersect/index.ts"],"sourcesContent":["// Utils\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype ObserveHandler = (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n) => void\n\nexport interface ObserveDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n if (!SUPPORTS_INTERSECTION) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[binding.instance!.$.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(isIntersecting, entries, observer)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![binding.instance!.$.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unmounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n const observe = el._observe?.[binding.instance!.$.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![binding.instance!.$.uid]\n}\n\nexport const Intersect: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n"],"mappings":"AAAA;SACSA,qB,gCAET;;AAoBA,SAASC,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAqE;EACnE,IAAI,CAACH,qBAAL,EAA4B;EAE5B,MAAMI,SAAS,GAAGD,OAAO,CAACC,SAAR,IAAqB,EAAvC;EACA,MAAMC,KAAK,GAAGF,OAAO,CAACE,KAAtB;EACA,MAAM;IAAEC,OAAF;IAAWC;EAAX,IAAuB,OAAOF,KAAP,KAAiB,QAAjB,GACzBA,KADyB,GAEzB;IAAEC,OAAO,EAAED,KAAX;IAAkBE,OAAO,EAAE;EAA3B,CAFJ;EAIA,MAAMC,QAAQ,GAAG,IAAIC,oBAAJ,CAAyB,YAGrC;IAAA;;IAAA,IAFHC,OAEG,uEAFoC,EAEpC;IAAA,IADHF,QACG;;IACH,MAAMG,QAAQ,mBAAGT,EAAE,CAACS,QAAN,qBAAG,aAAcR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,CAAjB;;IACA,IAAI,CAACH,QAAL,EAAe,OAFZ,CAEmB;;IAEtB,MAAMI,cAAc,GAAGL,OAAO,CAACM,IAAR,CAAaC,KAAK,IAAIA,KAAK,CAACF,cAA5B,CAAvB,CAJG,CAMH;IACA;;IACA,IACET,OAAO,KACL,CAACF,SAAS,CAACc,KAAX,IACAP,QAAQ,CAACQ,IAFJ,CAAP,KAIE,CAACf,SAAS,CAACgB,IAAX,IACAL,cADA,IAEAJ,QAAQ,CAACQ,IANX,CADF,EASE;MACAb,OAAO,CAACS,cAAD,EAAiBL,OAAjB,EAA0BF,QAA1B,CAAP;IACD;;IAED,IAAIO,cAAc,IAAIX,SAAS,CAACgB,IAAhC,EAAsCC,SAAS,CAACnB,EAAD,EAAKC,OAAL,CAAT,CAAtC,KACKQ,QAAQ,CAACQ,IAAT,GAAgB,IAAhB;EACN,CA1BgB,EA0BdZ,OA1Bc,CAAjB;EA4BAL,EAAE,CAACS,QAAH,GAAcW,MAAM,CAACpB,EAAE,CAACS,QAAJ,CAApB;EACAT,EAAE,CAACS,QAAH,CAAaR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,IAAwC;IAAEK,IAAI,EAAE,KAAR;IAAeX;EAAf,CAAxC;EAEAA,QAAQ,CAACe,OAAT,CAAiBrB,EAAjB;AACD;;AAED,SAASmB,SAAT,CAAoBnB,EAApB,EAAqCC,OAArC,EAAuE;EAAA;;EACrE,MAAMoB,OAAO,oBAAGrB,EAAE,CAACS,QAAN,qBAAG,cAAcR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,CAAhB;EACA,IAAI,CAACS,OAAL,EAAc;EAEdA,OAAO,CAACf,QAAR,CAAiBgB,SAAjB,CAA2BtB,EAA3B;EACA,OAAOA,EAAE,CAACS,QAAH,CAAaR,OAAO,CAACS,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;AACD;;AAED,OAAO,MAAMW,SAAuC,GAAG;EACrDxB,OADqD;EAErDoB;AAFqD,CAAhD;AAKP,eAAeI,SAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["mounted","el","binding","modifiers","value","once","immediate","modifierKeys","defaultValue","Object","keys","length","handler","options","attributes","attr","characterData","char","childList","child","subtree","sub","observer","MutationObserver","mutations","unmounted","_mutate","instance","$","uid","observe","disconnect","Mutate"],"sources":["../../../src/directives/mutate/index.ts"],"sourcesContent":["// Types\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { MutationOptions } from '@/composables/mutationObserver'\n\nexport interface MutationDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value: MutationCallback | { handler: MutationCallback, options?: MutationObserverInit }\n modifiers: MutationOptions\n}\n\nfunction mounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { once, immediate, ...modifierKeys } = modifiers\n const defaultValue = !Object.keys(modifierKeys).length\n\n const { handler, options } = typeof value === 'object'\n ? value\n : {\n handler: value,\n options: {\n attributes: modifierKeys?.attr ?? defaultValue,\n characterData: modifierKeys?.char ?? defaultValue,\n childList: modifierKeys?.child ?? defaultValue,\n subtree: modifierKeys?.sub ?? defaultValue,\n },\n }\n\n const observer = new MutationObserver((\n mutations: MutationRecord[] = [],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (once) unmounted(el, binding)\n })\n\n if (immediate) handler?.([], observer)\n\n el._mutate = Object(el._mutate)\n el._mutate![binding.instance!.$.uid] = { observer }\n\n observer.observe(el, options)\n}\n\nfunction unmounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n if (!el._mutate?.[binding.instance!.$.uid]) return\n\n el._mutate[binding.instance!.$.uid]!.observer.disconnect()\n delete el._mutate[binding.instance!.$.uid]\n}\n\nexport const Mutate: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n"],"mappings":"AAAA;AASA,SAASA,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAsE;EAAA;;EACpE,MAAMC,SAAS,GAAGD,OAAO,CAACC,SAAR,IAAqB,EAAvC;EACA,MAAMC,KAAK,GAAGF,OAAO,CAACE,KAAtB;EACA,MAAM;IAAEC,IAAF;IAAQC,SAAR;IAAmB,GAAGC;EAAtB,IAAuCJ,SAA7C;EACA,MAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYH,YAAZ,EAA0BI,MAAhD;EAEA,MAAM;IAAEC,OAAF;IAAWC;EAAX,IAAuB,OAAOT,KAAP,KAAiB,QAAjB,GACzBA,KADyB,GAEzB;IACAQ,OAAO,EAAER,KADT;IAEAS,OAAO,EAAE;MACPC,UAAU,wBAAEP,YAAF,oBAAEA,YAAY,CAAEQ,IAAhB,iCAAwBP,YAD3B;MAEPQ,aAAa,wBAAET,YAAF,oBAAEA,YAAY,CAAEU,IAAhB,iCAAwBT,YAF9B;MAGPU,SAAS,yBAAEX,YAAF,oBAAEA,YAAY,CAAEY,KAAhB,kCAAyBX,YAH3B;MAIPY,OAAO,uBAAEb,YAAF,oBAAEA,YAAY,CAAEc,GAAhB,gCAAuBb;IAJvB;EAFT,CAFJ;EAYA,MAAMc,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,YAGjC;IAAA,IAFHC,SAEG,uEAF2B,EAE3B;IAAA,IADHF,QACG;IACHV,OAAO,QAAP,YAAAA,OAAO,CAAGY,SAAH,EAAcF,QAAd,CAAP;IAEA,IAAIjB,IAAJ,EAAUoB,SAAS,CAACxB,EAAD,EAAKC,OAAL,CAAT;EACX,CAPgB,CAAjB;EASA,IAAII,SAAJ,EAAeM,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOU,QAAP,CAAP;EAEfrB,EAAE,CAACyB,OAAH,GAAajB,MAAM,CAACR,EAAE,CAACyB,OAAJ,CAAnB;EACAzB,EAAE,CAACyB,OAAH,CAAYxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAAhC,IAAuC;IAAEP;EAAF,CAAvC;EAEAA,QAAQ,CAACQ,OAAT,CAAiB7B,EAAjB,EAAqBY,OAArB;AACD;;AAED,SAASY,SAAT,CAAoBxB,EAApB,EAAqCC,OAArC,EAAwE;EAAA;;EACtE,IAAI,iBAACD,EAAE,CAACyB,OAAJ,aAAC,YAAaxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAD,CAAJ,EAA4C;;EAE5C5B,EAAE,CAACyB,OAAH,CAAWxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAA/B,EAAqCP,QAArC,CAA8CS,UAA9C;;EACA,OAAO9B,EAAE,CAACyB,OAAH,CAAWxB,OAAO,CAACyB,QAAR,CAAkBC,CAAlB,CAAoBC,GAA/B,CAAP;AACD;;AAED,OAAO,MAAMG,MAAoC,GAAG;EAClDhC,OADkD;EAElDyB;AAFkD,CAA7C;AAKP,eAAeO,MAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["mounted","el","binding","handler","value","options","passive","modifiers","active","window","addEventListener","_onResize","Object","instance","$","uid","quiet","unmounted","removeEventListener","Resize"],"sources":["../../../src/directives/resize/index.ts"],"sourcesContent":["import type { DirectiveBinding } from 'vue'\n\ninterface ResizeDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: () => void\n modifiers?: {\n active?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n const handler = binding.value\n const options: AddEventListenerOptions = {\n passive: !binding.modifiers?.active,\n }\n\n window.addEventListener('resize', handler, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![binding.instance!.$.uid] = {\n handler,\n options,\n }\n\n if (!binding.modifiers?.quiet) {\n handler()\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n if (!el._onResize?.[binding.instance!.$.uid]) return\n\n const { handler, options } = el._onResize[binding.instance!.$.uid]!\n\n window.removeEventListener('resize', handler, options)\n\n delete el._onResize[binding.instance!.$.uid]\n}\n\nexport const Resize = {\n mounted,\n unmounted,\n}\n\nexport default Resize\n"],"mappings":"AAUA,SAASA,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAoE;EAAA;;EAClE,MAAMC,OAAO,GAAGD,OAAO,CAACE,KAAxB;EACA,MAAMC,OAAgC,GAAG;IACvCC,OAAO,EAAE,wBAACJ,OAAO,CAACK,SAAT,aAAC,mBAAmBC,MAApB;EAD8B,CAAzC;EAIAC,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCP,OAAlC,EAA2CE,OAA3C;EAEAJ,EAAE,CAACU,SAAH,GAAeC,MAAM,CAACX,EAAE,CAACU,SAAJ,CAArB;EACAV,EAAE,CAACU,SAAH,CAAcT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,IAAyC;IACvCZ,OADuC;IAEvCE;EAFuC,CAAzC;;EAKA,IAAI,yBAACH,OAAO,CAACK,SAAT,aAAC,oBAAmBS,KAApB,CAAJ,EAA+B;IAC7Bb,OAAO;EACR;AACF;;AAED,SAASc,SAAT,CAAoBhB,EAApB,EAAqCC,OAArC,EAAsE;EAAA;;EACpE,IAAI,mBAACD,EAAE,CAACU,SAAJ,aAAC,cAAeT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAnC,CAAD,CAAJ,EAA8C;EAE9C,MAAM;IAAEZ,OAAF;IAAWE;EAAX,IAAuBJ,EAAE,CAACU,SAAH,CAAaT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAA7B;EAEAN,MAAM,CAACS,mBAAP,CAA2B,QAA3B,EAAqCf,OAArC,EAA8CE,OAA9C;EAEA,OAAOJ,EAAE,CAACU,SAAH,CAAaT,OAAO,CAACW,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;AACD;;AAED,OAAO,MAAMI,MAAM,GAAG;EACpBnB,OADoB;EAEpBiB;AAFoB,CAAf;AAKP,eAAeE,MAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/ripple/index.ts"],"names":["isObject","keyCodes","stopSymbol","Symbol","DELAY_RIPPLE","transform","el","value","style","webkitTransform","opacity","isTouchEvent","e","constructor","name","isKeyboardEvent","calculate","localX","localY","offset","getBoundingClientRect","target","touches","length","clientX","left","clientY","top","radius","scale","_ripple","circle","clientWidth","center","Math","sqrt","clientHeight","centerX","centerY","x","y","ripples","show","enabled","container","document","createElement","animation","appendChild","className","class","size","width","height","computed","window","getComputedStyle","position","dataset","previousPosition","classList","add","activated","String","performance","now","setTimeout","remove","hide","getElementsByClassName","isHiding","diff","Number","delay","max","parentNode","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","clearTimeout","type","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","enter","space","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","stop","addEventListener","passive","removeListeners","removeEventListener","mounted","unmounted","updated","oldValue","Ripple"],"mappings":"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","sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n stop?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.08)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: DirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: DirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple: ObjectDirective = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n"],"file":"index.mjs"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["isObject","keyCodes","stopSymbol","Symbol","DELAY_RIPPLE","transform","el","value","style","webkitTransform","opacity","isTouchEvent","e","constructor","name","isKeyboardEvent","calculate","localX","localY","offset","getBoundingClientRect","target","touches","length","clientX","left","clientY","top","radius","scale","_ripple","circle","clientWidth","center","Math","sqrt","clientHeight","centerX","centerY","x","y","ripples","show","enabled","container","document","createElement","animation","appendChild","className","class","size","width","height","computed","window","getComputedStyle","position","dataset","previousPosition","classList","add","activated","String","performance","now","setTimeout","remove","hide","getElementsByClassName","isHiding","diff","Number","delay","max","parentNode","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","clearTimeout","type","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","enter","space","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","stop","addEventListener","passive","removeListeners","removeEventListener","mounted","unmounted","updated","oldValue","Ripple"],"sources":["../../../src/directives/ripple/index.ts"],"sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n stop?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.08)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: DirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: DirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple: ObjectDirective = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["mounted","el","binding","self","modifiers","value","options","passive","handler","target","arg","document","querySelector","window","addEventListener","_onScroll","Object","instance","$","uid","undefined","unmounted","removeEventListener","updated","oldValue","Scroll"],"sources":["../../../src/directives/scroll/index.ts"],"sourcesContent":["import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n"],"mappings":"AAYA,SAASA,OAAT,CAAkBC,EAAlB,EAAmCC,OAAnC,EAAoE;EAAA;;EAClE,MAAM;IAAEC,IAAI,GAAG;EAAT,0BAAmBD,OAAO,CAACE,SAA3B,iCAAwC,EAA9C;EACA,MAAMC,KAAK,GAAGH,OAAO,CAACG,KAAtB;EACA,MAAMC,OAAO,GAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAACC,OAApC,IAAgD;IAAEC,OAAO,EAAE;EAAX,CAAhE;EACA,MAAMC,OAAO,GAAG,OAAOH,KAAP,KAAiB,UAAjB,IAA+B,iBAAiBA,KAAhD,GAAwDA,KAAxD,GAAgEA,KAAK,CAACG,OAAtF;EAEA,MAAMC,MAAM,GAAGN,IAAI,GACfF,EADe,GAEfC,OAAO,CAACQ,GAAR,GACEC,QAAQ,CAACC,aAAT,CAAuBV,OAAO,CAACQ,GAA/B,CADF,GAEEG,MAJN;EAMA,IAAI,CAACJ,MAAL,EAAa;EAEbA,MAAM,CAACK,gBAAP,CAAwB,QAAxB,EAAkCN,OAAlC,EAA2CF,OAA3C;EAEAL,EAAE,CAACc,SAAH,GAAeC,MAAM,CAACf,EAAE,CAACc,SAAJ,CAArB;EACAd,EAAE,CAACc,SAAH,CAAcb,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,IAAyC;IACvCX,OADuC;IAEvCF,OAFuC;IAGvC;IACAG,MAAM,EAAEN,IAAI,GAAGiB,SAAH,GAAeX;EAJY,CAAzC;AAMD;;AAED,SAASY,SAAT,CAAoBpB,EAApB,EAAqCC,OAArC,EAAsE;EAAA;;EACpE,IAAI,mBAACD,EAAE,CAACc,SAAJ,aAAC,cAAeb,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAnC,CAAD,CAAJ,EAA8C;EAE9C,MAAM;IAAEX,OAAF;IAAWF,OAAX;IAAoBG,MAAM,GAAGR;EAA7B,IAAoCA,EAAE,CAACc,SAAH,CAAab,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAA1C;EAEAV,MAAM,CAACa,mBAAP,CAA2B,QAA3B,EAAqCd,OAArC,EAA8CF,OAA9C;EACA,OAAOL,EAAE,CAACc,SAAH,CAAab,OAAO,CAACe,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;AACD;;AAED,SAASI,OAAT,CAAkBtB,EAAlB,EAAmCC,OAAnC,EAAoE;EAClE,IAAIA,OAAO,CAACG,KAAR,KAAkBH,OAAO,CAACsB,QAA9B,EAAwC;EAExCH,SAAS,CAACpB,EAAD,EAAKC,OAAL,CAAT;EACAF,OAAO,CAACC,EAAD,EAAKC,OAAL,CAAP;AACD;;AAED,OAAO,MAAMuB,MAAM,GAAG;EACpBzB,OADoB;EAEpBqB,SAFoB;EAGpBE;AAHoB,CAAf;AAMP,eAAeE,MAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["keys","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","offsetX","offsetY","Math","abs","left","right","up","down","touchstart","event","touch","changedTouches","clientX","clientY","start","originalEvent","touchend","end","touchmove","touchmoveX","touchmoveY","move","createHandlers","value","e","mounted","el","binding","target","parent","parentElement","options","passive","uid","instance","$","handlers","_touchHandlers","Object","create","forEach","eventName","addEventListener","unmounted","removeEventListener","Touch"],"sources":["../../../src/directives/touch/index.ts"],"sourcesContent":["// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n end?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n move?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n left?: (wrapper: TouchWrapper) => void\n right?: (wrapper: TouchWrapper) => void\n up?: (wrapper: TouchWrapper) => void\n down?: (wrapper: TouchWrapper) => void\n}\n\nexport interface TouchWrapper extends TouchHandlers {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nexport interface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ originalEvent: event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ originalEvent: event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ originalEvent: event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n"],"mappings":"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"}
|
package/lib/entry-bundler.mjs
CHANGED
|
@@ -10,7 +10,7 @@ export const createVuetify = function () {
|
|
|
10
10
|
...options
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
|
-
export const version = "3.0.0-beta.
|
|
13
|
+
export const version = "3.0.0-beta.3";
|
|
14
14
|
export { components, directives };
|
|
15
15
|
export * from "./composables/index.mjs";
|
|
16
16
|
//# sourceMappingURL=entry-bundler.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"entry-bundler.mjs","names":["components","directives","createVuetify","_createVuetify","options","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;OACO,KAAKA,U;OACL,KAAKC,U;SACHC,aAAa,IAAIC,c;AAG1B,OAAO,MAAMD,aAAa,GAAG,YAAkC;EAAA,IAAjCE,OAAiC,uEAAP,EAAO;EAC7D,OAAOD,cAAc,CAAC;IAAEH,UAAF;IAAcC,UAAd;IAA0B,GAAGG;EAA7B,CAAD,CAArB;AACD,CAFM;AAIP,OAAO,MAAMC,OAAO,iBAAb;AAEP,SACEL,UADF,EAEEC,UAFF"}
|
package/lib/framework.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
// Composables
|
|
2
|
+
import { createDefaults, DefaultsSymbol } from "./composables/defaults.mjs";
|
|
1
3
|
import { createDisplay, DisplaySymbol } from "./composables/display.mjs";
|
|
4
|
+
import { createIcons, IconSymbol } from "./composables/icons.mjs";
|
|
5
|
+
import { createLocale, LocaleAdapterSymbol } from "./composables/locale.mjs";
|
|
2
6
|
import { createTheme, ThemeSymbol } from "./composables/theme.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { createDefaults, DefaultsSymbol } from "./composables/defaults.mjs";
|
|
5
|
-
import { createLocaleAdapter, LocaleAdapterSymbol } from "./composables/locale.mjs";
|
|
6
|
-
import { createRtl, RtlSymbol } from "./composables/rtl.mjs";
|
|
7
|
-
import { aliases as iconAliases, mdi } from "./iconsets/mdi.mjs"; // Utilities
|
|
7
|
+
import { RtlSymbol } from "./composables/rtl.mjs"; // Utilities
|
|
8
8
|
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { defineComponent } from "./util/index.mjs";
|
|
10
|
+
import { reactive } from 'vue'; // Types
|
|
11
11
|
|
|
12
12
|
export * from "./composables/index.mjs";
|
|
13
13
|
export const createVuetify = function () {
|
|
@@ -17,8 +17,7 @@ export const createVuetify = function () {
|
|
|
17
17
|
const {
|
|
18
18
|
aliases = {},
|
|
19
19
|
components = {},
|
|
20
|
-
directives = {}
|
|
21
|
-
icons = {}
|
|
20
|
+
directives = {}
|
|
22
21
|
} = options;
|
|
23
22
|
|
|
24
23
|
for (const key in directives) {
|
|
@@ -38,19 +37,8 @@ export const createVuetify = function () {
|
|
|
38
37
|
app.provide(DefaultsSymbol, createDefaults(options.defaults));
|
|
39
38
|
app.provide(DisplaySymbol, createDisplay(options.display));
|
|
40
39
|
app.provide(ThemeSymbol, createTheme(app, options.theme));
|
|
41
|
-
app.provide(IconSymbol,
|
|
42
|
-
|
|
43
|
-
sets: { ...defaultSets,
|
|
44
|
-
mdi
|
|
45
|
-
},
|
|
46
|
-
aliases: iconAliases
|
|
47
|
-
}, icons));
|
|
48
|
-
const {
|
|
49
|
-
adapter,
|
|
50
|
-
rootInstance
|
|
51
|
-
} = createLocaleAdapter(app, options == null ? void 0 : options.locale);
|
|
52
|
-
app.provide(LocaleAdapterSymbol, adapter);
|
|
53
|
-
app.provide(RtlSymbol, createRtl(rootInstance, options == null ? void 0 : options.locale)); // Vue's inject() can only be used in setup
|
|
40
|
+
app.provide(IconSymbol, createIcons(options.icons));
|
|
41
|
+
app.provide(LocaleAdapterSymbol, createLocale(app, options.locale)); // Vue's inject() can only be used in setup
|
|
54
42
|
|
|
55
43
|
function inject(key) {
|
|
56
44
|
var _vm$parent$provides, _vm$parent, _vm$vnode$appContext;
|
package/lib/framework.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"framework.mjs","names":["createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createIcons","IconSymbol","createLocale","LocaleAdapterSymbol","createTheme","ThemeSymbol","RtlSymbol","defineComponent","reactive","createVuetify","options","install","app","aliases","components","directives","key","directive","component","name","provide","defaults","display","theme","icons","locale","inject","vm","$","provides","parent","vnode","appContext","mixin","computed","$vuetify","call","rtl"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { RtlSymbol } from '@/composables/rtl'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { reactive } from 'vue'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { ThemeOptions } from '@/composables/theme'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n }))\n }\n\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, createIcons(options.icons))\n app.provide(LocaleAdapterSymbol, createLocale(app, options.locale))\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n"],"mappings":"AAAA;SACSA,c,EAAgBC,c;SAChBC,a,EAAeC,a;SACfC,W,EAAaC,U;SACbC,Y,EAAcC,mB;SACdC,W,EAAaC,W;SACbC,S,iCAET;;SACSC,e;AACT,SAASC,QAAT,QAAyB,KAAzB,C,CAEA;;;AAsBA,OAAO,MAAMC,aAAa,GAAG,YAAkC;EAAA,IAAjCC,OAAiC,uEAAP,EAAO;;EAC7D,MAAMC,OAAO,GAAIC,GAAD,IAAc;IAC5B,MAAM;MACJC,OAAO,GAAG,EADN;MAEJC,UAAU,GAAG,EAFT;MAGJC,UAAU,GAAG;IAHT,IAIFL,OAJJ;;IAMA,KAAK,MAAMM,GAAX,IAAkBD,UAAlB,EAA8B;MAC5BH,GAAG,CAACK,SAAJ,CAAcD,GAAd,EAAmBD,UAAU,CAACC,GAAD,CAA7B;IACD;;IAED,KAAK,MAAMA,GAAX,IAAkBF,UAAlB,EAA8B;MAC5BF,GAAG,CAACM,SAAJ,CAAcF,GAAd,EAAmBF,UAAU,CAACE,GAAD,CAA7B;IACD;;IAED,KAAK,MAAMA,GAAX,IAAkBH,OAAlB,EAA2B;MACzBD,GAAG,CAACM,SAAJ,CAAcF,GAAd,EAAmBT,eAAe,CAAC,EACjC,GAAGM,OAAO,CAACG,GAAD,CADuB;QAEjCG,IAAI,EAAEH;MAF2B,CAAD,CAAlC;IAID;;IAEDJ,GAAG,CAACQ,OAAJ,CAAYvB,cAAZ,EAA4BD,cAAc,CAACc,OAAO,CAACW,QAAT,CAA1C;IACAT,GAAG,CAACQ,OAAJ,CAAYrB,aAAZ,EAA2BD,aAAa,CAACY,OAAO,CAACY,OAAT,CAAxC;IACAV,GAAG,CAACQ,OAAJ,CAAYf,WAAZ,EAAyBD,WAAW,CAACQ,GAAD,EAAMF,OAAO,CAACa,KAAd,CAApC;IACAX,GAAG,CAACQ,OAAJ,CAAYnB,UAAZ,EAAwBD,WAAW,CAACU,OAAO,CAACc,KAAT,CAAnC;IACAZ,GAAG,CAACQ,OAAJ,CAAYjB,mBAAZ,EAAiCD,YAAY,CAACU,GAAD,EAAMF,OAAO,CAACe,MAAd,CAA7C,EA1B4B,CA4B5B;;IACA,SAASC,MAAT,CAAgDV,GAAhD,EAAiF;MAAA;;MAC/E,MAAMW,EAAE,GAAG,KAAKC,CAAhB;MAEA,MAAMC,QAAQ,wCAAGF,EAAE,CAACG,MAAN,qBAAG,WAAWD,QAAd,0DAA0BF,EAAE,CAACI,KAAH,CAASC,UAAnC,qBAA0B,qBAAqBH,QAA7D;;MAEA,IAAIA,QAAQ,IAAKb,GAAD,IAAgBa,QAAhC,EAA0C;QACxC,OAAOA,QAAQ,CAAEb,GAAF,CAAf;MACD;IACF;;IAEDJ,GAAG,CAACqB,KAAJ,CAAU;MACRC,QAAQ,EAAE;QACRC,QAAQ,GAAI;UACV,OAAO3B,QAAQ,CAAC;YACda,QAAQ,EAAEK,MAAM,CAACU,IAAP,CAAY,IAAZ,EAAkBvC,cAAlB,CADI;YAEdyB,OAAO,EAAEI,MAAM,CAACU,IAAP,CAAY,IAAZ,EAAkBrC,aAAlB,CAFK;YAGdwB,KAAK,EAAEG,MAAM,CAACU,IAAP,CAAY,IAAZ,EAAkB/B,WAAlB,CAHO;YAIdmB,KAAK,EAAEE,MAAM,CAACU,IAAP,CAAY,IAAZ,EAAkBnC,UAAlB,CAJO;YAKdwB,MAAM,EAAEC,MAAM,CAACU,IAAP,CAAY,IAAZ,EAAkBjC,mBAAlB,CALM;YAMdkC,GAAG,EAAEX,MAAM,CAACU,IAAP,CAAY,IAAZ,EAAkB9B,SAAlB;UANS,CAAD,CAAf;QAQD;;MAVO;IADF,CAAV;EAcD,CArDD;;EAuDA,OAAO;IAAEK;EAAF,CAAP;AACD,CAzDM"}
|