@vuetify/nightly 4.0.0-dev-20230422.0 → 4.0.0-dev-20230427.0
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 +11 -2
- package/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +274 -198
- package/dist/json/importMap-labs.json +4 -0
- package/dist/json/importMap.json +60 -60
- package/dist/json/tags.json +25 -1
- package/dist/json/web-types.json +624 -344
- package/dist/vuetify-labs.css +110 -86
- package/dist/vuetify-labs.d.ts +5976 -8072
- package/dist/vuetify-labs.esm.js +1499 -1093
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1498 -1092
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +21 -22
- package/dist/vuetify.d.ts +5999 -7524
- package/dist/vuetify.esm.js +1255 -1066
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1254 -1065
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +744 -739
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +1 -1
- package/lib/blueprints/md1.d.ts +1 -1
- package/lib/blueprints/md2.d.ts +1 -1
- package/lib/blueprints/md3.d.ts +1 -1
- package/lib/components/VAlert/VAlert.mjs +6 -4
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +57 -55
- package/lib/components/VApp/VApp.mjs +4 -2
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.ts +22 -13
- package/lib/components/VAppBar/VAppBar.mjs +3 -3
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -4
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +87 -92
- package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +225 -403
- package/lib/components/VAvatar/VAvatar.mjs +4 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/index.d.ts +23 -14
- package/lib/components/VBadge/VBadge.mjs +6 -5
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/index.d.ts +27 -22
- package/lib/components/VBanner/VBanner.mjs +6 -4
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +5 -2
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/index.d.ts +92 -66
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.ts +22 -13
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -18
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +134 -93
- package/lib/components/VBtn/VBtn.mjs +5 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.ts +33 -36
- package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +22 -13
- package/lib/components/VBtnToggle/VBtnToggle.mjs +4 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +30 -21
- package/lib/components/VCard/VCard.mjs +5 -3
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs +7 -4
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +5 -2
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +250 -141
- package/lib/components/VCarousel/VCarousel.mjs +3 -3
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +6 -3
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +78 -141
- package/lib/components/VCheckbox/VCheckbox.mjs +3 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +69 -103
- package/lib/components/VChip/VChip.mjs +7 -8
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +27 -30
- package/lib/components/VChipGroup/VChipGroup.mjs +4 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.d.ts +22 -13
- package/lib/components/VCode/index.d.ts +30 -17
- package/lib/components/VColorPicker/VColorPicker.mjs +3 -3
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -2
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +7 -5
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.ts +34 -1
- package/lib/components/VCombobox/VCombobox.mjs +2 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +225 -403
- package/lib/components/VCounter/VCounter.mjs +4 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +22 -145
- package/lib/components/VDefaultsProvider/index.d.ts +0 -12
- package/lib/components/VDialog/VDialog.mjs +4 -3
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +104 -282
- package/lib/components/VDivider/VDivider.mjs +4 -2
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/index.d.ts +22 -13
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.ts +109 -81
- package/lib/components/VField/VField.css +0 -1
- package/lib/components/VField/VField.mjs +9 -6
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +0 -1
- package/lib/components/VField/VFieldLabel.mjs +6 -3
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +119 -70
- package/lib/components/VFileInput/VFileInput.mjs +2 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +99 -150
- package/lib/components/VFooter/VFooter.mjs +4 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.ts +22 -13
- package/lib/components/VForm/VForm.mjs +5 -2
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +30 -17
- package/lib/components/VGrid/VCol.mjs +4 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +4 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +4 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/index.d.ts +104 -60
- package/lib/components/VHover/index.d.ts +20 -44
- package/lib/components/VIcon/VIcon.mjs +4 -2
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/index.d.ts +23 -26
- package/lib/components/VImg/VImg.mjs +5 -3
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +26 -29
- package/lib/components/VInput/VInput.mjs +4 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +31 -34
- package/lib/components/VItemGroup/VItemGroup.mjs +4 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.d.ts +30 -33
- package/lib/components/VKbd/index.d.ts +30 -17
- package/lib/components/VLabel/VLabel.mjs +4 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/index.d.ts +22 -13
- package/lib/components/VLayout/VLayout.mjs +8 -4
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +4 -2
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.ts +44 -26
- package/lib/components/VLazy/VLazy.mjs +4 -2
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +22 -13
- package/lib/components/VList/VList.mjs +7 -24
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +5 -2
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +4 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +4 -1
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +4 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +5 -3
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +932 -826
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -2
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/index.d.ts +30 -17
- package/lib/components/VMain/VMain.mjs +4 -2
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.d.ts +30 -17
- package/lib/components/VMenu/VMenu.mjs +2 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +104 -282
- package/lib/components/VMessages/VMessages.mjs +4 -2
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +22 -145
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +4 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.ts +26 -29
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.d.ts +3 -13
- package/lib/components/VOverlay/VOverlay.mjs +5 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +38 -45
- package/lib/components/VPagination/VPagination.mjs +4 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +23 -30
- package/lib/components/VParallax/VParallax.mjs +5 -2
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.d.ts +34 -33
- package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -2
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/index.d.ts +22 -13
- package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -4
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +42 -45
- package/lib/components/VRadio/VRadio.mjs +2 -1
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.ts +27 -38
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +39 -62
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +27 -38
- package/lib/components/VRating/VRating.mjs +4 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +23 -18
- package/lib/components/VResponsive/VResponsive.mjs +4 -2
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/index.d.ts +43 -31
- package/lib/components/VSelect/VSelect.mjs +2 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +194 -552
- package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +76 -46
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.ts +23 -14
- package/lib/components/VSheet/VSheet.mjs +4 -2
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.d.ts +22 -13
- package/lib/components/VSlideGroup/VSlideGroup.mjs +6 -3
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +59 -90
- package/lib/components/VSlider/VSlider.mjs +2 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +6 -4
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +6 -4
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +27 -38
- package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +92 -142
- package/lib/components/VSwitch/VSwitch.mjs +2 -1
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +39 -66
- package/lib/components/VSystemBar/VSystemBar.mjs +4 -2
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/index.d.ts +22 -13
- package/lib/components/VTable/VTable.mjs +4 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/index.d.ts +26 -29
- package/lib/components/VTabs/VTab.mjs +2 -2
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +2 -2
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +45 -27
- package/lib/components/VTextField/VTextField.mjs +2 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +208 -269
- package/lib/components/VTextarea/VTextarea.mjs +2 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +79 -122
- package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/index.d.ts +22 -13
- package/lib/components/VTimeline/VTimeline.mjs +5 -3
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +4 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +8 -6
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.ts +67 -57
- package/lib/components/VToolbar/VToolbar.mjs +4 -2
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +74 -71
- package/lib/components/VTooltip/VTooltip.mjs +2 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +104 -150
- package/lib/components/VValidation/index.d.ts +0 -12
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +21 -23
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.ts +70 -30
- package/lib/components/VWindow/VWindow.mjs +4 -1
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +4 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.ts +61 -79
- package/lib/components/index.d.ts +5229 -6754
- package/lib/components/transitions/index.d.ts +0 -192
- package/lib/composables/component.mjs +11 -0
- package/lib/composables/component.mjs.map +1 -0
- package/lib/composables/defaults.mjs +51 -5
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/icons.mjs +15 -4
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/index.mjs +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs +2 -2
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +2 -2
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa-svg.d.ts +1 -1
- package/lib/iconsets/fa.d.ts +1 -1
- package/lib/iconsets/fa4.d.ts +1 -1
- package/lib/iconsets/md.d.ts +1 -1
- package/lib/iconsets/mdi-svg.d.ts +1 -1
- package/lib/iconsets/mdi.d.ts +1 -1
- package/lib/index.d.ts +24 -24
- package/lib/labs/VDataTable/VDataTable.mjs +1 -1
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +2 -2
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +61 -933
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.css +26 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +215 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -0
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.sass +25 -0
- package/lib/labs/VInfiniteScroll/_variables.scss +3 -0
- package/lib/labs/VInfiniteScroll/index.d.ts +321 -0
- package/lib/labs/VInfiniteScroll/index.mjs +2 -0
- package/lib/labs/VInfiniteScroll/index.mjs.map +1 -0
- package/lib/labs/VSkeletonLoader/index.d.ts +0 -12
- package/lib/labs/components.d.ts +398 -969
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/labs/date/DateAdapter.mjs +2 -0
- package/lib/labs/date/DateAdapter.mjs.map +1 -0
- package/lib/labs/date/adapters/vuetify.d.ts +52 -0
- package/lib/{adapters → labs/date/adapters}/vuetify.mjs +2 -2
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
- package/lib/{composables → labs/date}/date.mjs +3 -3
- package/lib/labs/date/date.mjs.map +1 -0
- package/lib/labs/date/index.d.ts +40 -0
- package/lib/labs/date/index.mjs +2 -0
- package/lib/labs/date/index.mjs.map +1 -0
- package/lib/labs/index.mjs +3 -2
- package/lib/labs/index.mjs.map +1 -1
- package/lib/locale/af.mjs +5 -1
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +5 -1
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +5 -1
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +5 -1
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +5 -1
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +5 -1
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +5 -1
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +5 -1
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +5 -1
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +5 -1
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +5 -1
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +5 -1
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +5 -1
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +5 -1
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +5 -1
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +5 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +5 -1
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +5 -1
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +5 -1
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +5 -1
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.ts +168 -0
- package/lib/locale/it.mjs +5 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +5 -1
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/ko.mjs +5 -1
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +5 -1
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +5 -1
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +5 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +5 -1
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +5 -1
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +5 -1
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +5 -1
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +5 -1
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +5 -1
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +5 -1
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +5 -1
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +5 -1
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +5 -1
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +5 -1
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +5 -1
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +5 -1
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +5 -1
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +5 -1
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +5 -1
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +9 -4
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +11 -43
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +28 -2
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.mjs.map +1 -1
- package/package.json +2 -1
- package/lib/adapters/date-adapter.mjs +0 -2
- package/lib/adapters/date-adapter.mjs.map +0 -1
- package/lib/adapters/vuetify.mjs.map +0 -1
- package/lib/composables/date.mjs.map +0 -1
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v4.0.0-dev-
|
2
|
+
* Vuetify v4.0.0-dev-20230427.0
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
6
6
|
|
7
|
-
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize,
|
7
|
+
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, onScopeDispose, effectScope, shallowRef, inject as inject$1, unref, provide, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onDeactivated, onActivated, onMounted, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, Fragment, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, cloneVNode, warn, toHandlers, Teleport, createTextVNode, onBeforeUpdate, vModelText, onUpdated, withModifiers } from 'vue';
|
8
8
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
@@ -167,11 +167,11 @@ const keyValues = Object.freeze({
|
|
167
167
|
function keys(o) {
|
168
168
|
return Object.keys(o);
|
169
169
|
}
|
170
|
-
function pick(obj, paths) {
|
170
|
+
function pick(obj, paths, exclude) {
|
171
171
|
const found = Object.create(null);
|
172
172
|
const rest = Object.create(null);
|
173
173
|
for (const key in obj) {
|
174
|
-
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key)) {
|
174
|
+
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) && !exclude?.some(path => path === key)) {
|
175
175
|
found[key] = obj[key];
|
176
176
|
} else {
|
177
177
|
rest[key] = obj[key];
|
@@ -356,6 +356,32 @@ function callEvent(handler) {
|
|
356
356
|
handler(...args);
|
357
357
|
}
|
358
358
|
}
|
359
|
+
function focusableChildren(el) {
|
360
|
+
const targets = ['button', '[href]', 'input:not([type="hidden"])', 'select', 'textarea', '[tabindex]'].map(s => `${s}:not([tabindex="-1"]):not([disabled])`).join(', ');
|
361
|
+
return [...el.querySelectorAll(targets)];
|
362
|
+
}
|
363
|
+
function focusChild(el, location) {
|
364
|
+
const focusable = focusableChildren(el);
|
365
|
+
const idx = focusable.indexOf(document.activeElement);
|
366
|
+
if (!location) {
|
367
|
+
if (!el.contains(document.activeElement)) {
|
368
|
+
focusable[0]?.focus();
|
369
|
+
}
|
370
|
+
} else if (location === 'first') {
|
371
|
+
focusable[0]?.focus();
|
372
|
+
} else if (location === 'last') {
|
373
|
+
focusable.at(-1)?.focus();
|
374
|
+
} else {
|
375
|
+
let _el;
|
376
|
+
let idxx = idx;
|
377
|
+
const inc = location === 'next' ? 1 : -1;
|
378
|
+
do {
|
379
|
+
idxx += inc;
|
380
|
+
_el = focusable[idxx];
|
381
|
+
} while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
382
|
+
if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');
|
383
|
+
}
|
384
|
+
}
|
359
385
|
|
360
386
|
const block = ['top', 'bottom'];
|
361
387
|
const inline = ['start', 'end', 'left', 'right'];
|
@@ -856,44 +882,6 @@ function getContrast(first, second) {
|
|
856
882
|
return (light + 0.05) / (dark + 0.05);
|
857
883
|
}
|
858
884
|
|
859
|
-
// Utilities
|
860
|
-
function getCurrentInstance(name, message) {
|
861
|
-
const vm = getCurrentInstance$1();
|
862
|
-
if (!vm) {
|
863
|
-
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
864
|
-
}
|
865
|
-
return vm;
|
866
|
-
}
|
867
|
-
function getCurrentInstanceName() {
|
868
|
-
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
869
|
-
const vm = getCurrentInstance(name).type;
|
870
|
-
return toKebabCase(vm?.aliasName || vm?.name);
|
871
|
-
}
|
872
|
-
let _uid = 0;
|
873
|
-
let _map = new WeakMap();
|
874
|
-
function getUid() {
|
875
|
-
const vm = getCurrentInstance('getUid');
|
876
|
-
if (_map.has(vm)) return _map.get(vm);else {
|
877
|
-
const uid = _uid++;
|
878
|
-
_map.set(vm, uid);
|
879
|
-
return uid;
|
880
|
-
}
|
881
|
-
}
|
882
|
-
getUid.reset = () => {
|
883
|
-
_uid = 0;
|
884
|
-
_map = new WeakMap();
|
885
|
-
};
|
886
|
-
|
887
|
-
function injectSelf(key) {
|
888
|
-
const {
|
889
|
-
provides
|
890
|
-
} = getCurrentInstance('injectSelf');
|
891
|
-
if (provides && key in provides) {
|
892
|
-
// TS doesn't allow symbol as index type
|
893
|
-
return provides[key];
|
894
|
-
}
|
895
|
-
}
|
896
|
-
|
897
885
|
/**
|
898
886
|
* Creates a factory function for props definitions.
|
899
887
|
* This is used to define props in a composable then override
|
@@ -947,17 +935,54 @@ function propsFactory(props, source) {
|
|
947
935
|
|
948
936
|
// Types
|
949
937
|
|
938
|
+
// Composables
|
939
|
+
const makeComponentProps = propsFactory({
|
940
|
+
class: [String, Array],
|
941
|
+
style: {
|
942
|
+
type: [String, Array, Object],
|
943
|
+
default: null
|
944
|
+
}
|
945
|
+
}, 'component');
|
946
|
+
|
947
|
+
function useToggleScope(source, fn) {
|
948
|
+
let scope;
|
949
|
+
function start() {
|
950
|
+
scope = effectScope();
|
951
|
+
scope.run(() => fn.length ? fn(() => {
|
952
|
+
scope?.stop();
|
953
|
+
start();
|
954
|
+
}) : fn());
|
955
|
+
}
|
956
|
+
watch(source, active => {
|
957
|
+
if (active && !scope) {
|
958
|
+
start();
|
959
|
+
} else if (!active) {
|
960
|
+
scope?.stop();
|
961
|
+
scope = undefined;
|
962
|
+
}
|
963
|
+
}, {
|
964
|
+
immediate: true
|
965
|
+
});
|
966
|
+
onScopeDispose(() => {
|
967
|
+
scope?.stop();
|
968
|
+
});
|
969
|
+
}
|
970
|
+
|
971
|
+
// Composables
|
972
|
+
|
973
|
+
// Types
|
974
|
+
|
950
975
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
951
976
|
function createDefaults(options) {
|
952
977
|
return ref(options);
|
953
978
|
}
|
954
|
-
function
|
979
|
+
function injectDefaults() {
|
955
980
|
const defaults = inject$1(DefaultsSymbol);
|
956
981
|
if (!defaults) throw new Error('[Vuetify] Could not find defaults instance');
|
957
982
|
return defaults;
|
958
983
|
}
|
959
984
|
function provideDefaults(defaults, options) {
|
960
|
-
const injectedDefaults =
|
985
|
+
const injectedDefaults = injectDefaults();
|
961
986
|
const providedDefaults = ref(defaults);
|
962
987
|
const newDefaults = computed(() => {
|
963
988
|
const disabled = unref(options?.disabled);
|
@@ -984,41 +1009,56 @@ function provideDefaults(defaults, options) {
|
|
984
1009
|
provide(DefaultsSymbol, newDefaults);
|
985
1010
|
return newDefaults;
|
986
1011
|
}
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
}
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1012
|
+
function propIsDefined(vnode, prop) {
|
1013
|
+
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1014
|
+
}
|
1015
|
+
function useDefaults(props, name) {
|
1016
|
+
let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();
|
1017
|
+
const vm = getCurrentInstance('useDefaults');
|
1018
|
+
name = name ?? vm.type.name ?? vm.type.__name;
|
1019
|
+
if (!name) {
|
1020
|
+
throw new Error('[Vuetify] Could not determine component name');
|
1021
|
+
}
|
1022
|
+
const componentDefaults = computed(() => defaults.value[props._as ?? name]);
|
1023
|
+
const _props = new Proxy(props, {
|
1024
|
+
get(target, prop) {
|
1025
|
+
const propValue = Reflect.get(target, prop);
|
1026
|
+
if (prop === 'class' || prop === 'style') {
|
1027
|
+
return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
|
1028
|
+
} else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1029
|
+
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
1030
|
+
}
|
1031
|
+
return propValue;
|
1003
1032
|
}
|
1004
|
-
}, {
|
1005
|
-
immediate: true
|
1006
1033
|
});
|
1007
|
-
|
1008
|
-
|
1034
|
+
const _subcomponentDefaults = shallowRef();
|
1035
|
+
watchEffect(() => {
|
1036
|
+
if (componentDefaults.value) {
|
1037
|
+
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1038
|
+
let [key] = _ref;
|
1039
|
+
return key.startsWith(key[0].toUpperCase());
|
1040
|
+
});
|
1041
|
+
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1042
|
+
}
|
1009
1043
|
});
|
1044
|
+
function provideSubDefaults() {
|
1045
|
+
// If subcomponent defaults are provided, override any
|
1046
|
+
// subcomponents provided by the component's setup function.
|
1047
|
+
// This uses injectSelf so must be done after the original setup to work.
|
1048
|
+
useToggleScope(_subcomponentDefaults, () => {
|
1049
|
+
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1050
|
+
});
|
1051
|
+
}
|
1052
|
+
return {
|
1053
|
+
props: _props,
|
1054
|
+
provideSubDefaults
|
1055
|
+
};
|
1010
1056
|
}
|
1011
1057
|
|
1012
1058
|
// Utils
|
1013
1059
|
|
1014
1060
|
// Types
|
1015
1061
|
|
1016
|
-
function propIsDefined(vnode, prop) {
|
1017
|
-
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1018
|
-
}
|
1019
|
-
|
1020
|
-
// No props
|
1021
|
-
|
1022
1062
|
// Implementation
|
1023
1063
|
function defineComponent(options) {
|
1024
1064
|
options._setup = options._setup ?? options.setup;
|
@@ -1030,43 +1070,20 @@ function defineComponent(options) {
|
|
1030
1070
|
options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
|
1031
1071
|
const propKeys = Object.keys(options.props);
|
1032
1072
|
options.filterProps = function filterProps(props) {
|
1033
|
-
return pick(props, propKeys);
|
1073
|
+
return pick(props, propKeys, ['class', 'style']);
|
1034
1074
|
};
|
1035
1075
|
options.props._as = String;
|
1036
1076
|
options.setup = function setup(props, ctx) {
|
1037
|
-
const defaults =
|
1077
|
+
const defaults = injectDefaults();
|
1038
1078
|
|
1039
1079
|
// Skip props proxy if defaults are not provided
|
1040
1080
|
if (!defaults.value) return options._setup(props, ctx);
|
1041
|
-
const
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
const propValue = Reflect.get(target, prop);
|
1046
|
-
if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1047
|
-
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
1048
|
-
}
|
1049
|
-
return propValue;
|
1050
|
-
}
|
1051
|
-
});
|
1052
|
-
const _subcomponentDefaults = shallowRef();
|
1053
|
-
watchEffect(() => {
|
1054
|
-
if (componentDefaults.value) {
|
1055
|
-
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1056
|
-
let [key] = _ref;
|
1057
|
-
return key.startsWith(key[0].toUpperCase());
|
1058
|
-
});
|
1059
|
-
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1060
|
-
}
|
1061
|
-
});
|
1081
|
+
const {
|
1082
|
+
props: _props,
|
1083
|
+
provideSubDefaults
|
1084
|
+
} = useDefaults(props, props._as ?? options.name, defaults);
|
1062
1085
|
const setupBindings = options._setup(_props, ctx);
|
1063
|
-
|
1064
|
-
// If subcomponent defaults are provided, override any
|
1065
|
-
// subcomponents provided by the component's setup function.
|
1066
|
-
// This uses injectSelf so must be done after the original setup to work.
|
1067
|
-
useToggleScope(_subcomponentDefaults, () => {
|
1068
|
-
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1069
|
-
});
|
1086
|
+
provideSubDefaults();
|
1070
1087
|
return setupBindings;
|
1071
1088
|
};
|
1072
1089
|
}
|
@@ -1091,15 +1108,19 @@ function createSimpleFunctional(klass) {
|
|
1091
1108
|
tag: {
|
1092
1109
|
type: String,
|
1093
1110
|
default: tag
|
1094
|
-
}
|
1111
|
+
},
|
1112
|
+
...makeComponentProps()
|
1095
1113
|
},
|
1096
1114
|
setup(props, _ref) {
|
1097
1115
|
let {
|
1098
1116
|
slots
|
1099
1117
|
} = _ref;
|
1100
|
-
return () =>
|
1101
|
-
|
1102
|
-
|
1118
|
+
return () => {
|
1119
|
+
return h(props.tag, {
|
1120
|
+
class: [klass, props.class],
|
1121
|
+
style: props.style
|
1122
|
+
}, slots.default?.());
|
1123
|
+
};
|
1103
1124
|
}
|
1104
1125
|
});
|
1105
1126
|
}
|
@@ -1132,6 +1153,34 @@ const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';
|
|
1132
1153
|
const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering
|
1133
1154
|
const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving
|
1134
1155
|
|
1156
|
+
// Utilities
|
1157
|
+
function getCurrentInstance(name, message) {
|
1158
|
+
const vm = getCurrentInstance$1();
|
1159
|
+
if (!vm) {
|
1160
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
1161
|
+
}
|
1162
|
+
return vm;
|
1163
|
+
}
|
1164
|
+
function getCurrentInstanceName() {
|
1165
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
1166
|
+
const vm = getCurrentInstance(name).type;
|
1167
|
+
return toKebabCase(vm?.aliasName || vm?.name);
|
1168
|
+
}
|
1169
|
+
let _uid = 0;
|
1170
|
+
let _map = new WeakMap();
|
1171
|
+
function getUid() {
|
1172
|
+
const vm = getCurrentInstance('getUid');
|
1173
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
1174
|
+
const uid = _uid++;
|
1175
|
+
_map.set(vm, uid);
|
1176
|
+
return uid;
|
1177
|
+
}
|
1178
|
+
}
|
1179
|
+
getUid.reset = () => {
|
1180
|
+
_uid = 0;
|
1181
|
+
_map = new WeakMap();
|
1182
|
+
};
|
1183
|
+
|
1135
1184
|
function getScrollParent(el) {
|
1136
1185
|
while (el) {
|
1137
1186
|
if (hasScrollbar(el)) return el;
|
@@ -1155,6 +1204,16 @@ function hasScrollbar(el) {
|
|
1155
1204
|
return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
|
1156
1205
|
}
|
1157
1206
|
|
1207
|
+
function injectSelf(key) {
|
1208
|
+
const {
|
1209
|
+
provides
|
1210
|
+
} = getCurrentInstance('injectSelf');
|
1211
|
+
if (provides && key in provides) {
|
1212
|
+
// TS doesn't allow symbol as index type
|
1213
|
+
return provides[key];
|
1214
|
+
}
|
1215
|
+
}
|
1216
|
+
|
1158
1217
|
function isFixedPosition(el) {
|
1159
1218
|
while (el) {
|
1160
1219
|
if (window.getComputedStyle(el).position === 'fixed') {
|
@@ -1935,7 +1994,11 @@ var en = {
|
|
1935
1994
|
item: 'Rating {0} of {1}'
|
1936
1995
|
}
|
1937
1996
|
},
|
1938
|
-
loading: 'Loading...'
|
1997
|
+
loading: 'Loading...',
|
1998
|
+
infiniteScroll: {
|
1999
|
+
loadMore: 'Load more',
|
2000
|
+
empty: 'No more'
|
2001
|
+
}
|
1939
2002
|
};
|
1940
2003
|
|
1941
2004
|
const LANG_PREFIX = '$vuetify.';
|
@@ -2133,6 +2196,7 @@ function useRtl() {
|
|
2133
2196
|
const VApp = genericComponent()({
|
2134
2197
|
name: 'VApp',
|
2135
2198
|
props: {
|
2199
|
+
...makeComponentProps(),
|
2136
2200
|
...makeLayoutProps({
|
2137
2201
|
fullHeight: true
|
2138
2202
|
}),
|
@@ -2155,8 +2219,8 @@ const VApp = genericComponent()({
|
|
2155
2219
|
} = useRtl();
|
2156
2220
|
useRender(() => createVNode("div", {
|
2157
2221
|
"ref": layoutRef,
|
2158
|
-
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value],
|
2159
|
-
"style": layoutStyles.value
|
2222
|
+
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
|
2223
|
+
"style": [layoutStyles.value, props.style]
|
2160
2224
|
}, [createVNode("div", {
|
2161
2225
|
"class": "v-application__wrap"
|
2162
2226
|
}, [slots.default?.()])]));
|
@@ -2581,6 +2645,7 @@ const VResponsive = genericComponent()({
|
|
2581
2645
|
props: {
|
2582
2646
|
aspectRatio: [String, Number],
|
2583
2647
|
contentClass: String,
|
2648
|
+
...makeComponentProps(),
|
2584
2649
|
...makeDimensionProps()
|
2585
2650
|
},
|
2586
2651
|
setup(props, _ref) {
|
@@ -2594,8 +2659,8 @@ const VResponsive = genericComponent()({
|
|
2594
2659
|
dimensionStyles
|
2595
2660
|
} = useDimension(props);
|
2596
2661
|
useRender(() => createVNode("div", {
|
2597
|
-
"class":
|
2598
|
-
"style": dimensionStyles.value
|
2662
|
+
"class": ['v-responsive', props.class],
|
2663
|
+
"style": [dimensionStyles.value, props.style]
|
2599
2664
|
}, [createVNode("div", {
|
2600
2665
|
"class": "v-responsive__sizer",
|
2601
2666
|
"style": aspectStyles.value
|
@@ -2713,6 +2778,7 @@ const VImg = genericComponent()({
|
|
2713
2778
|
},
|
2714
2779
|
srcset: String,
|
2715
2780
|
width: [String, Number],
|
2781
|
+
...makeComponentProps(),
|
2716
2782
|
...makeTransitionProps()
|
2717
2783
|
},
|
2718
2784
|
emits: {
|
@@ -2900,10 +2966,10 @@ const VImg = genericComponent()({
|
|
2900
2966
|
useRender(() => withDirectives(createVNode(VResponsive, {
|
2901
2967
|
"class": ['v-img', {
|
2902
2968
|
'v-img--booting': !isBooted.value
|
2903
|
-
}],
|
2904
|
-
"style": {
|
2969
|
+
}, props.class],
|
2970
|
+
"style": [{
|
2905
2971
|
width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
|
2906
|
-
},
|
2972
|
+
}, props.style],
|
2907
2973
|
"aspectRatio": aspectRatio.value,
|
2908
2974
|
"aria-label": props.alt,
|
2909
2975
|
"role": props.alt ? 'img' : undefined
|
@@ -2938,10 +3004,9 @@ const makeTagProps = propsFactory({
|
|
2938
3004
|
}
|
2939
3005
|
}, 'tag');
|
2940
3006
|
|
2941
|
-
// Types
|
2942
|
-
|
2943
3007
|
const makeVToolbarTitleProps = propsFactory({
|
2944
3008
|
text: String,
|
3009
|
+
...makeComponentProps(),
|
2945
3010
|
...makeTagProps()
|
2946
3011
|
}, 'v-toolbar-title');
|
2947
3012
|
const VToolbarTitle = genericComponent()({
|
@@ -2954,7 +3019,8 @@ const VToolbarTitle = genericComponent()({
|
|
2954
3019
|
useRender(() => {
|
2955
3020
|
const hasText = !!(slots.default || slots.text || props.text);
|
2956
3021
|
return createVNode(props.tag, {
|
2957
|
-
"class":
|
3022
|
+
"class": ['v-toolbar-title', props.class],
|
3023
|
+
"style": props.style
|
2958
3024
|
}, {
|
2959
3025
|
default: () => [hasText && createVNode("div", {
|
2960
3026
|
"class": "v-toolbar-title__placeholder"
|
@@ -3135,6 +3201,7 @@ const makeVToolbarProps = propsFactory({
|
|
3135
3201
|
image: String,
|
3136
3202
|
title: String,
|
3137
3203
|
...makeBorderProps(),
|
3204
|
+
...makeComponentProps(),
|
3138
3205
|
...makeElevationProps(),
|
3139
3206
|
...makeRoundedProps(),
|
3140
3207
|
...makeTagProps({
|
@@ -3185,8 +3252,8 @@ const VToolbar = genericComponent()({
|
|
3185
3252
|
'v-toolbar--flat': props.flat,
|
3186
3253
|
'v-toolbar--floating': props.floating,
|
3187
3254
|
[`v-toolbar--density-${props.density}`]: true
|
3188
|
-
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value],
|
3189
|
-
"style": [backgroundColorStyles.value]
|
3255
|
+
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
3256
|
+
"style": [backgroundColorStyles.value, props.style]
|
3190
3257
|
}, {
|
3191
3258
|
default: () => [hasImage && createVNode("div", {
|
3192
3259
|
"key": "image",
|
@@ -3471,13 +3538,13 @@ const VAppBar = genericComponent()({
|
|
3471
3538
|
"ref": vToolbarRef,
|
3472
3539
|
"class": ['v-app-bar', {
|
3473
3540
|
'v-app-bar--bottom': props.location === 'bottom'
|
3474
|
-
}],
|
3475
|
-
"style": {
|
3541
|
+
}, props.class],
|
3542
|
+
"style": [{
|
3476
3543
|
...layoutItemStyles.value,
|
3477
3544
|
'--v-toolbar-image-opacity': opacity.value,
|
3478
3545
|
height: undefined,
|
3479
3546
|
...ssrBootStyles.value
|
3480
|
-
}
|
3547
|
+
}, props.style]
|
3481
3548
|
}, toolbarProps, {
|
3482
3549
|
"collapse": isCollapsed.value,
|
3483
3550
|
"flat": isFlat.value
|
@@ -3564,6 +3631,7 @@ function useVariant(props) {
|
|
3564
3631
|
const makeVBtnGroupProps = propsFactory({
|
3565
3632
|
divided: Boolean,
|
3566
3633
|
...makeBorderProps(),
|
3634
|
+
...makeComponentProps(),
|
3567
3635
|
...makeDensityProps(),
|
3568
3636
|
...makeElevationProps(),
|
3569
3637
|
...makeRoundedProps(),
|
@@ -3606,7 +3674,8 @@ const VBtnGroup = genericComponent()({
|
|
3606
3674
|
return createVNode(props.tag, {
|
3607
3675
|
"class": ['v-btn-group', {
|
3608
3676
|
'v-btn-group--divided': props.divided
|
3609
|
-
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value]
|
3677
|
+
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
3678
|
+
"style": props.style
|
3610
3679
|
}, slots);
|
3611
3680
|
});
|
3612
3681
|
}
|
@@ -3839,8 +3908,10 @@ const VBtnToggle = genericComponent()({
|
|
3839
3908
|
useRender(() => {
|
3840
3909
|
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
3841
3910
|
return createVNode(VBtnGroup, mergeProps({
|
3842
|
-
"class":
|
3843
|
-
}, btnGroupProps
|
3911
|
+
"class": ['v-btn-toggle', props.class]
|
3912
|
+
}, btnGroupProps, {
|
3913
|
+
"style": props.style
|
3914
|
+
}), {
|
3844
3915
|
default: () => [slots.default?.({
|
3845
3916
|
isSelected,
|
3846
3917
|
next,
|
@@ -3911,7 +3982,7 @@ const mdi = {
|
|
3911
3982
|
|
3912
3983
|
// Types
|
3913
3984
|
|
3914
|
-
const IconValue = [String, Function, Object];
|
3985
|
+
const IconValue = [String, Function, Object, Array];
|
3915
3986
|
const IconSymbol = Symbol.for('vuetify:icons');
|
3916
3987
|
const makeIconProps = propsFactory({
|
3917
3988
|
icon: {
|
@@ -3931,8 +4002,9 @@ const VComponentIcon = genericComponent()({
|
|
3931
4002
|
slots
|
3932
4003
|
} = _ref;
|
3933
4004
|
return () => {
|
4005
|
+
const Icon = props.icon;
|
3934
4006
|
return createVNode(props.tag, null, {
|
3935
|
-
default: () => [props.icon ? createVNode(
|
4007
|
+
default: () => [props.icon ? createVNode(Icon, null, null) : slots.default?.()]
|
3936
4008
|
});
|
3937
4009
|
};
|
3938
4010
|
}
|
@@ -3955,7 +4027,12 @@ const VSvgIcon = defineComponent({
|
|
3955
4027
|
"viewBox": "0 0 24 24",
|
3956
4028
|
"role": "img",
|
3957
4029
|
"aria-hidden": "true"
|
3958
|
-
}, [createVNode("path", {
|
4030
|
+
}, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createVNode("path", {
|
4031
|
+
"d": path[0],
|
4032
|
+
"fill-opacity": path[1]
|
4033
|
+
}, null) : createVNode("path", {
|
4034
|
+
"d": path
|
4035
|
+
}, null)) : createVNode("path", {
|
3959
4036
|
"d": props.icon
|
3960
4037
|
}, null)])]
|
3961
4038
|
});
|
@@ -4020,7 +4097,12 @@ const useIcon = props => {
|
|
4020
4097
|
}
|
4021
4098
|
}
|
4022
4099
|
if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`);
|
4023
|
-
if (
|
4100
|
+
if (Array.isArray(icon)) {
|
4101
|
+
return {
|
4102
|
+
component: VSvgIcon,
|
4103
|
+
icon
|
4104
|
+
};
|
4105
|
+
} else if (typeof icon !== 'string') {
|
4024
4106
|
return {
|
4025
4107
|
component: VComponentIcon,
|
4026
4108
|
icon
|
@@ -4077,6 +4159,7 @@ const makeVIconProps = propsFactory({
|
|
4077
4159
|
start: Boolean,
|
4078
4160
|
end: Boolean,
|
4079
4161
|
icon: IconValue,
|
4162
|
+
...makeComponentProps(),
|
4080
4163
|
...makeSizeProps(),
|
4081
4164
|
...makeTagProps({
|
4082
4165
|
tag: 'i'
|
@@ -4119,12 +4202,12 @@ const VIcon = genericComponent()({
|
|
4119
4202
|
'v-icon--clickable': !!attrs.onClick,
|
4120
4203
|
'v-icon--start': props.start,
|
4121
4204
|
'v-icon--end': props.end
|
4122
|
-
}],
|
4205
|
+
}, props.class],
|
4123
4206
|
"style": [!sizeClasses.value ? {
|
4124
4207
|
fontSize: convertToUnit(props.size),
|
4125
4208
|
height: convertToUnit(props.size),
|
4126
4209
|
width: convertToUnit(props.size)
|
4127
|
-
} : undefined, textColorStyles.value],
|
4210
|
+
} : undefined, textColorStyles.value, props.style],
|
4128
4211
|
"role": attrs.onClick ? 'button' : undefined,
|
4129
4212
|
"aria-hidden": !attrs.onClick
|
4130
4213
|
}, {
|
@@ -4135,14 +4218,14 @@ const VIcon = genericComponent()({
|
|
4135
4218
|
});
|
4136
4219
|
|
4137
4220
|
// Utilities
|
4138
|
-
function useIntersectionObserver(callback) {
|
4221
|
+
function useIntersectionObserver(callback, options) {
|
4139
4222
|
const intersectionRef = ref();
|
4140
4223
|
const isIntersecting = ref(false);
|
4141
4224
|
if (SUPPORTS_INTERSECTION) {
|
4142
4225
|
const observer = new IntersectionObserver(entries => {
|
4143
4226
|
callback?.(entries, observer);
|
4144
4227
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
4145
|
-
});
|
4228
|
+
}, options);
|
4146
4229
|
onBeforeUnmount(() => {
|
4147
4230
|
observer.disconnect();
|
4148
4231
|
});
|
@@ -4182,6 +4265,7 @@ const VProgressCircular = genericComponent()({
|
|
4182
4265
|
type: [Number, String],
|
4183
4266
|
default: 4
|
4184
4267
|
},
|
4268
|
+
...makeComponentProps(),
|
4185
4269
|
...makeSizeProps(),
|
4186
4270
|
...makeTagProps({
|
4187
4271
|
tag: 'div'
|
@@ -4237,8 +4321,8 @@ const VProgressCircular = genericComponent()({
|
|
4237
4321
|
'v-progress-circular--indeterminate': !!props.indeterminate,
|
4238
4322
|
'v-progress-circular--visible': isIntersecting.value,
|
4239
4323
|
'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
|
4240
|
-
}, themeClasses.value, sizeClasses.value, textColorClasses.value],
|
4241
|
-
"style": [sizeStyles.value, textColorStyles.value],
|
4324
|
+
}, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
|
4325
|
+
"style": [sizeStyles.value, textColorStyles.value, props.style],
|
4242
4326
|
"role": "progressbar",
|
4243
4327
|
"aria-valuemin": "0",
|
4244
4328
|
"aria-valuemax": "100",
|
@@ -4657,6 +4741,7 @@ const VProgressLinear = genericComponent()({
|
|
4657
4741
|
stream: Boolean,
|
4658
4742
|
striped: Boolean,
|
4659
4743
|
roundedBar: Boolean,
|
4744
|
+
...makeComponentProps(),
|
4660
4745
|
...makeLocationProps({
|
4661
4746
|
location: 'top'
|
4662
4747
|
}),
|
@@ -4728,14 +4813,14 @@ const VProgressLinear = genericComponent()({
|
|
4728
4813
|
'v-progress-linear--rounded': props.rounded,
|
4729
4814
|
'v-progress-linear--rounded-bar': props.roundedBar,
|
4730
4815
|
'v-progress-linear--striped': props.striped
|
4731
|
-
}, roundedClasses.value, themeClasses.value],
|
4732
|
-
"style": {
|
4816
|
+
}, roundedClasses.value, themeClasses.value, props.class],
|
4817
|
+
"style": [{
|
4733
4818
|
bottom: props.location === 'bottom' ? 0 : undefined,
|
4734
4819
|
top: props.location === 'top' ? 0 : undefined,
|
4735
4820
|
height: props.active ? convertToUnit(height.value) : 0,
|
4736
4821
|
'--v-progress-linear-height': convertToUnit(height.value),
|
4737
4822
|
...locationStyles.value
|
4738
|
-
},
|
4823
|
+
}, props.style],
|
4739
4824
|
"role": "progressbar",
|
4740
4825
|
"aria-hidden": props.active ? 'false' : 'true',
|
4741
4826
|
"aria-valuemin": "0",
|
@@ -4946,7 +5031,7 @@ const makeVBtnProps = propsFactory({
|
|
4946
5031
|
},
|
4947
5032
|
text: String,
|
4948
5033
|
...makeBorderProps(),
|
4949
|
-
...
|
5034
|
+
...makeComponentProps(),
|
4950
5035
|
...makeDensityProps(),
|
4951
5036
|
...makeDimensionProps(),
|
4952
5037
|
...makeElevationProps(),
|
@@ -4954,6 +5039,7 @@ const makeVBtnProps = propsFactory({
|
|
4954
5039
|
...makeLoaderProps(),
|
4955
5040
|
...makeLocationProps(),
|
4956
5041
|
...makePositionProps(),
|
5042
|
+
...makeRoundedProps(),
|
4957
5043
|
...makeRouterProps(),
|
4958
5044
|
...makeSizeProps(),
|
4959
5045
|
...makeTagProps({
|
@@ -5051,8 +5137,8 @@ const VBtn = genericComponent()({
|
|
5051
5137
|
'v-btn--icon': !!props.icon,
|
5052
5138
|
'v-btn--loading': props.loading,
|
5053
5139
|
'v-btn--stacked': props.stacked
|
5054
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
5055
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value],
|
5140
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
5141
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
5056
5142
|
"disabled": isDisabled.value || undefined,
|
5057
5143
|
"href": link.href.value,
|
5058
5144
|
"onClick": e => {
|
@@ -5129,15 +5215,17 @@ const VAppBarNavIcon = genericComponent()({
|
|
5129
5215
|
icon: {
|
5130
5216
|
type: IconValue,
|
5131
5217
|
default: '$menu'
|
5132
|
-
}
|
5218
|
+
},
|
5219
|
+
...makeComponentProps()
|
5133
5220
|
},
|
5134
5221
|
setup(props, _ref) {
|
5135
5222
|
let {
|
5136
5223
|
slots
|
5137
5224
|
} = _ref;
|
5138
5225
|
useRender(() => createVNode(VBtn, {
|
5139
|
-
"class":
|
5140
|
-
"icon": props.icon
|
5226
|
+
"class": ['v-app-bar-nav-icon', props.class],
|
5227
|
+
"icon": props.icon,
|
5228
|
+
"style": props.style
|
5141
5229
|
}, slots));
|
5142
5230
|
return {};
|
5143
5231
|
}
|
@@ -5145,9 +5233,12 @@ const VAppBarNavIcon = genericComponent()({
|
|
5145
5233
|
|
5146
5234
|
const VToolbarItems = genericComponent()({
|
5147
5235
|
name: 'VToolbarItems',
|
5148
|
-
props:
|
5149
|
-
|
5150
|
-
|
5236
|
+
props: {
|
5237
|
+
...makeComponentProps(),
|
5238
|
+
...makeVariantProps({
|
5239
|
+
variant: 'text'
|
5240
|
+
})
|
5241
|
+
},
|
5151
5242
|
setup(props, _ref) {
|
5152
5243
|
let {
|
5153
5244
|
slots
|
@@ -5160,7 +5251,8 @@ const VToolbarItems = genericComponent()({
|
|
5160
5251
|
}
|
5161
5252
|
});
|
5162
5253
|
useRender(() => createVNode("div", {
|
5163
|
-
"class":
|
5254
|
+
"class": ['v-toolbar-items', props.class],
|
5255
|
+
"style": props.style
|
5164
5256
|
}, [slots.default?.()]));
|
5165
5257
|
return {};
|
5166
5258
|
}
|
@@ -5222,6 +5314,7 @@ const VAlert = genericComponent()({
|
|
5222
5314
|
type: String,
|
5223
5315
|
validator: val => allowedTypes.includes(val)
|
5224
5316
|
},
|
5317
|
+
...makeComponentProps(),
|
5225
5318
|
...makeDensityProps(),
|
5226
5319
|
...makeDimensionProps(),
|
5227
5320
|
...makeElevationProps(),
|
@@ -5304,8 +5397,8 @@ const VAlert = genericComponent()({
|
|
5304
5397
|
[`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
|
5305
5398
|
}, {
|
5306
5399
|
'v-alert--prominent': props.prominent
|
5307
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
5308
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
5400
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
5401
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
5309
5402
|
"role": "alert"
|
5310
5403
|
}, {
|
5311
5404
|
default: () => [genOverlays(false, 'v-alert'), props.border && createVNode("div", {
|
@@ -5399,6 +5492,7 @@ const VLabel = genericComponent()({
|
|
5399
5492
|
props: {
|
5400
5493
|
text: String,
|
5401
5494
|
clickable: Boolean,
|
5495
|
+
...makeComponentProps(),
|
5402
5496
|
...makeThemeProps()
|
5403
5497
|
},
|
5404
5498
|
setup(props, _ref) {
|
@@ -5408,7 +5502,8 @@ const VLabel = genericComponent()({
|
|
5408
5502
|
useRender(() => createVNode("label", {
|
5409
5503
|
"class": ['v-label', {
|
5410
5504
|
'v-label--clickable': props.clickable
|
5411
|
-
}]
|
5505
|
+
}, props.class],
|
5506
|
+
"style": props.style
|
5412
5507
|
}, [props.text, slots.default?.()]));
|
5413
5508
|
return {};
|
5414
5509
|
}
|
@@ -5417,7 +5512,8 @@ const VLabel = genericComponent()({
|
|
5417
5512
|
const VFieldLabel = genericComponent()({
|
5418
5513
|
name: 'VFieldLabel',
|
5419
5514
|
props: {
|
5420
|
-
floating: Boolean
|
5515
|
+
floating: Boolean,
|
5516
|
+
...makeComponentProps()
|
5421
5517
|
},
|
5422
5518
|
setup(props, _ref) {
|
5423
5519
|
let {
|
@@ -5426,7 +5522,8 @@ const VFieldLabel = genericComponent()({
|
|
5426
5522
|
useRender(() => createVNode(VLabel, {
|
5427
5523
|
"class": ['v-field-label', {
|
5428
5524
|
'v-field-label--floating': props.floating
|
5429
|
-
}],
|
5525
|
+
}, props.class],
|
5526
|
+
"style": props.style,
|
5430
5527
|
"aria-hidden": props.floating || undefined
|
5431
5528
|
}, slots));
|
5432
5529
|
return {};
|
@@ -5477,6 +5574,7 @@ const makeVFieldProps = propsFactory({
|
|
5477
5574
|
},
|
5478
5575
|
active: Boolean,
|
5479
5576
|
color: String,
|
5577
|
+
baseColor: String,
|
5480
5578
|
dirty: Boolean,
|
5481
5579
|
disabled: Boolean,
|
5482
5580
|
error: Boolean,
|
@@ -5494,9 +5592,10 @@ const makeVFieldProps = propsFactory({
|
|
5494
5592
|
'onClick:clear': EventProp(),
|
5495
5593
|
'onClick:appendInner': EventProp(),
|
5496
5594
|
'onClick:prependInner': EventProp(),
|
5497
|
-
...
|
5595
|
+
...makeComponentProps(),
|
5498
5596
|
...makeLoaderProps(),
|
5499
|
-
...makeRoundedProps()
|
5597
|
+
...makeRoundedProps(),
|
5598
|
+
...makeThemeProps()
|
5500
5599
|
}, 'v-field');
|
5501
5600
|
const VField = genericComponent()({
|
5502
5601
|
name: 'VField',
|
@@ -5550,7 +5649,7 @@ const VField = genericComponent()({
|
|
5550
5649
|
textColorClasses,
|
5551
5650
|
textColorStyles
|
5552
5651
|
} = useTextColor(computed(() => {
|
5553
|
-
return
|
5652
|
+
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
5554
5653
|
}));
|
5555
5654
|
watch(isActive, val => {
|
5556
5655
|
if (hasLabel.value) {
|
@@ -5627,8 +5726,8 @@ const VField = genericComponent()({
|
|
5627
5726
|
'v-field--single-line': props.singleLine,
|
5628
5727
|
'v-field--no-label': !label,
|
5629
5728
|
[`v-field--variant-${props.variant}`]: true
|
5630
|
-
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value],
|
5631
|
-
"style": [backgroundColorStyles.value, textColorStyles.value],
|
5729
|
+
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, props.class],
|
5730
|
+
"style": [backgroundColorStyles.value, textColorStyles.value, props.style],
|
5632
5731
|
"onClick": onClick
|
5633
5732
|
}, attrs), [createVNode("div", {
|
5634
5733
|
"class": "v-field__overlay"
|
@@ -5716,7 +5815,7 @@ const VField = genericComponent()({
|
|
5716
5815
|
});
|
5717
5816
|
// TODO: this is kinda slow, might be better to implicitly inherit props instead
|
5718
5817
|
function filterFieldProps(attrs) {
|
5719
|
-
const keys = Object.keys(VField.props).filter(k => !isOn(k));
|
5818
|
+
const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');
|
5720
5819
|
return pick(attrs, keys);
|
5721
5820
|
}
|
5722
5821
|
|
@@ -5731,6 +5830,7 @@ const VMessages = genericComponent()({
|
|
5731
5830
|
type: [Array, String],
|
5732
5831
|
default: () => []
|
5733
5832
|
},
|
5833
|
+
...makeComponentProps(),
|
5734
5834
|
...makeTransitionProps({
|
5735
5835
|
transition: {
|
5736
5836
|
component: VSlideYTransition,
|
@@ -5751,8 +5851,8 @@ const VMessages = genericComponent()({
|
|
5751
5851
|
useRender(() => createVNode(MaybeTransition, {
|
5752
5852
|
"transition": props.transition,
|
5753
5853
|
"tag": "div",
|
5754
|
-
"class": ['v-messages', textColorClasses.value],
|
5755
|
-
"style": textColorStyles.value,
|
5854
|
+
"class": ['v-messages', textColorClasses.value, props.class],
|
5855
|
+
"style": [textColorStyles.value, props.style],
|
5756
5856
|
"role": "alert",
|
5757
5857
|
"aria-live": "polite"
|
5758
5858
|
}, {
|
@@ -6048,6 +6148,7 @@ const makeVInputProps = propsFactory({
|
|
6048
6148
|
},
|
6049
6149
|
'onClick:prepend': EventProp(),
|
6050
6150
|
'onClick:append': EventProp(),
|
6151
|
+
...makeComponentProps(),
|
6051
6152
|
...makeDensityProps(),
|
6052
6153
|
...makeValidationProps()
|
6053
6154
|
}, 'v-input');
|
@@ -6115,7 +6216,8 @@ const VInput = genericComponent()({
|
|
6115
6216
|
const hasMessages = messages.value.length > 0;
|
6116
6217
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
6117
6218
|
return createVNode("div", {
|
6118
|
-
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
|
6219
|
+
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value, props.class],
|
6220
|
+
"style": props.style
|
6119
6221
|
}, [hasPrepend && createVNode("div", {
|
6120
6222
|
"key": "prepend",
|
6121
6223
|
"class": "v-input__prepend"
|
@@ -6158,6 +6260,7 @@ const VCounter = genericComponent()({
|
|
6158
6260
|
type: [Number, String],
|
6159
6261
|
default: 0
|
6160
6262
|
},
|
6263
|
+
...makeComponentProps(),
|
6161
6264
|
...makeTransitionProps({
|
6162
6265
|
transition: {
|
6163
6266
|
component: VSlideYTransition
|
@@ -6175,7 +6278,8 @@ const VCounter = genericComponent()({
|
|
6175
6278
|
"transition": props.transition
|
6176
6279
|
}, {
|
6177
6280
|
default: () => [withDirectives(createVNode("div", {
|
6178
|
-
"class":
|
6281
|
+
"class": ['v-counter', props.class],
|
6282
|
+
"style": props.style
|
6179
6283
|
}, [slots.default ? slots.default({
|
6180
6284
|
counter: counter.value,
|
6181
6285
|
max: props.max,
|
@@ -6378,7 +6482,8 @@ const VTextField = genericComponent()({
|
|
6378
6482
|
'v-text-field--prefixed': props.prefix,
|
6379
6483
|
'v-text-field--suffixed': props.suffix,
|
6380
6484
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
6381
|
-
}]
|
6485
|
+
}, props.class],
|
6486
|
+
"style": props.style
|
6382
6487
|
}, rootAttrs, inputProps, {
|
6383
6488
|
"focused": isFocused.value
|
6384
6489
|
}), {
|
@@ -6494,6 +6599,7 @@ const VSelectionControlGroup = genericComponent()({
|
|
6494
6599
|
type: String,
|
6495
6600
|
default: 'VSelectionControl'
|
6496
6601
|
},
|
6602
|
+
...makeComponentProps(),
|
6497
6603
|
...makeSelectionControlGroupProps()
|
6498
6604
|
},
|
6499
6605
|
emits: {
|
@@ -6541,7 +6647,8 @@ const VSelectionControlGroup = genericComponent()({
|
|
6541
6647
|
useRender(() => createVNode("div", {
|
6542
6648
|
"class": ['v-selection-control-group', {
|
6543
6649
|
'v-selection-control-group--inline': props.inline
|
6544
|
-
}],
|
6650
|
+
}, props.class],
|
6651
|
+
"style": props.style,
|
6545
6652
|
"role": props.type === 'radio' ? 'radiogroup' : undefined
|
6546
6653
|
}, [slots.default?.()]));
|
6547
6654
|
return {};
|
@@ -6555,6 +6662,7 @@ const makeSelectionControlProps = propsFactory({
|
|
6555
6662
|
trueValue: null,
|
6556
6663
|
falseValue: null,
|
6557
6664
|
value: null,
|
6665
|
+
...makeComponentProps(),
|
6558
6666
|
...makeSelectionControlGroupProps()
|
6559
6667
|
}, 'v-selection-control');
|
6560
6668
|
function useSelectionControl(props) {
|
@@ -6669,8 +6777,10 @@ const VSelectionControl = genericComponent()({
|
|
6669
6777
|
'v-selection-control--focused': isFocused.value,
|
6670
6778
|
'v-selection-control--focus-visible': isFocusVisible.value,
|
6671
6779
|
'v-selection-control--inline': props.inline
|
6672
|
-
}, densityClasses.value]
|
6673
|
-
}, rootAttrs
|
6780
|
+
}, densityClasses.value, props.class]
|
6781
|
+
}, rootAttrs, {
|
6782
|
+
"style": props.style
|
6783
|
+
}), [createVNode("div", {
|
6674
6784
|
"class": ['v-selection-control__wrapper', textColorClasses.value],
|
6675
6785
|
"style": textColorStyles.value
|
6676
6786
|
}, [slots.default?.(), withDirectives(createVNode("div", {
|
@@ -6752,7 +6862,8 @@ const VCheckboxBtn = genericComponent()({
|
|
6752
6862
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
6753
6863
|
"modelValue": model.value,
|
6754
6864
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
6755
|
-
"class":
|
6865
|
+
"class": ['v-checkbox-btn', props.class],
|
6866
|
+
"style": props.style,
|
6756
6867
|
"type": "checkbox",
|
6757
6868
|
"inline": true,
|
6758
6869
|
"falseIcon": falseIcon.value,
|
@@ -6792,10 +6903,11 @@ const VCheckbox = genericComponent()({
|
|
6792
6903
|
const [inputProps, _1] = VInput.filterProps(props);
|
6793
6904
|
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
6794
6905
|
return createVNode(VInput, mergeProps({
|
6795
|
-
"class":
|
6906
|
+
"class": ['v-checkbox', props.class]
|
6796
6907
|
}, inputAttrs, inputProps, {
|
6797
6908
|
"id": id.value,
|
6798
|
-
"focused": isFocused.value
|
6909
|
+
"focused": isFocused.value,
|
6910
|
+
"style": props.style
|
6799
6911
|
}), {
|
6800
6912
|
...slots,
|
6801
6913
|
default: _ref2 => {
|
@@ -6826,6 +6938,7 @@ const makeVAvatarProps = propsFactory({
|
|
6826
6938
|
end: Boolean,
|
6827
6939
|
icon: IconValue,
|
6828
6940
|
image: String,
|
6941
|
+
...makeComponentProps(),
|
6829
6942
|
...makeDensityProps(),
|
6830
6943
|
...makeRoundedProps(),
|
6831
6944
|
...makeSizeProps(),
|
@@ -6864,8 +6977,8 @@ const VAvatar = genericComponent()({
|
|
6864
6977
|
"class": ['v-avatar', {
|
6865
6978
|
'v-avatar--start': props.start,
|
6866
6979
|
'v-avatar--end': props.end
|
6867
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
6868
|
-
"style": [colorStyles.value, sizeStyles.value]
|
6980
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
6981
|
+
"style": [colorStyles.value, sizeStyles.value, props.style]
|
6869
6982
|
}, {
|
6870
6983
|
default: () => [props.image ? createVNode(VImg, {
|
6871
6984
|
"key": "image",
|
@@ -6893,6 +7006,7 @@ const VChipGroup = genericComponent()({
|
|
6893
7006
|
type: Function,
|
6894
7007
|
default: deepEqual
|
6895
7008
|
},
|
7009
|
+
...makeComponentProps(),
|
6896
7010
|
...makeGroupProps({
|
6897
7011
|
selectedClass: 'v-chip--selected'
|
6898
7012
|
}),
|
@@ -6930,7 +7044,8 @@ const VChipGroup = genericComponent()({
|
|
6930
7044
|
useRender(() => createVNode(props.tag, {
|
6931
7045
|
"class": ['v-chip-group', {
|
6932
7046
|
'v-chip-group--column': props.column
|
6933
|
-
}, themeClasses.value]
|
7047
|
+
}, themeClasses.value, props.class],
|
7048
|
+
"style": props.style
|
6934
7049
|
}, {
|
6935
7050
|
default: () => [slots.default?.({
|
6936
7051
|
isSelected,
|
@@ -6944,8 +7059,6 @@ const VChipGroup = genericComponent()({
|
|
6944
7059
|
}
|
6945
7060
|
});
|
6946
7061
|
|
6947
|
-
// Types
|
6948
|
-
|
6949
7062
|
const VChip = genericComponent()({
|
6950
7063
|
name: 'VChip',
|
6951
7064
|
directives: {
|
@@ -6990,6 +7103,7 @@ const VChip = genericComponent()({
|
|
6990
7103
|
onClick: EventProp(),
|
6991
7104
|
onClickOnce: EventProp(),
|
6992
7105
|
...makeBorderProps(),
|
7106
|
+
...makeComponentProps(),
|
6993
7107
|
...makeDensityProps(),
|
6994
7108
|
...makeElevationProps(),
|
6995
7109
|
...makeGroupItemProps(),
|
@@ -7082,8 +7196,8 @@ const VChip = genericComponent()({
|
|
7082
7196
|
'v-chip--link': isClickable.value,
|
7083
7197
|
'v-chip--filter': hasFilter,
|
7084
7198
|
'v-chip--pill': props.pill
|
7085
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value],
|
7086
|
-
"style": [hasColor ? colorStyles.value : undefined],
|
7199
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
|
7200
|
+
"style": [hasColor ? colorStyles.value : undefined, props.style],
|
7087
7201
|
"disabled": props.disabled || undefined,
|
7088
7202
|
"draggable": props.draggable,
|
7089
7203
|
"href": link.href.value,
|
@@ -7192,6 +7306,7 @@ const VDivider = genericComponent()({
|
|
7192
7306
|
length: [Number, String],
|
7193
7307
|
thickness: [Number, String],
|
7194
7308
|
vertical: Boolean,
|
7309
|
+
...makeComponentProps(),
|
7195
7310
|
...makeThemeProps()
|
7196
7311
|
},
|
7197
7312
|
setup(props, _ref) {
|
@@ -7220,8 +7335,8 @@ const VDivider = genericComponent()({
|
|
7220
7335
|
'v-divider': true,
|
7221
7336
|
'v-divider--inset': props.inset,
|
7222
7337
|
'v-divider--vertical': props.vertical
|
7223
|
-
}, themeClasses.value, textColorClasses.value],
|
7224
|
-
"style": [dividerStyles.value, textColorStyles.value],
|
7338
|
+
}, themeClasses.value, textColorClasses.value, props.class],
|
7339
|
+
"style": [dividerStyles.value, textColorStyles.value, props.style],
|
7225
7340
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
7226
7341
|
"role": `${attrs.role || 'separator'}`
|
7227
7342
|
}, null));
|
@@ -7720,6 +7835,7 @@ const makeVListGroupProps = propsFactory({
|
|
7720
7835
|
fluid: Boolean,
|
7721
7836
|
subgroup: Boolean,
|
7722
7837
|
value: null,
|
7838
|
+
...makeComponentProps(),
|
7723
7839
|
...makeTagProps()
|
7724
7840
|
}, 'v-list-group');
|
7725
7841
|
const VListGroup = genericComponent()({
|
@@ -7768,7 +7884,8 @@ const VListGroup = genericComponent()({
|
|
7768
7884
|
'v-list-group--fluid': props.fluid,
|
7769
7885
|
'v-list-group--subgroup': props.subgroup,
|
7770
7886
|
'v-list-group--open': isOpen.value
|
7771
|
-
}]
|
7887
|
+
}, props.class],
|
7888
|
+
"style": props.style
|
7772
7889
|
}, {
|
7773
7890
|
default: () => [slots.activator && createVNode(VDefaultsProvider, {
|
7774
7891
|
"defaults": activatorDefaults.value
|
@@ -7835,6 +7952,7 @@ const VListItem = genericComponent()({
|
|
7835
7952
|
onClick: EventProp(),
|
7836
7953
|
onClickOnce: EventProp(),
|
7837
7954
|
...makeBorderProps(),
|
7955
|
+
...makeComponentProps(),
|
7838
7956
|
...makeDensityProps(),
|
7839
7957
|
...makeDimensionProps(),
|
7840
7958
|
...makeElevationProps(),
|
@@ -7945,8 +8063,8 @@ const VListItem = genericComponent()({
|
|
7945
8063
|
'v-list-item--nav': props.nav,
|
7946
8064
|
'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,
|
7947
8065
|
[`${props.activeClass}`]: props.activeClass && isActive.value
|
7948
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value],
|
7949
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value],
|
8066
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
8067
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, props.style],
|
7950
8068
|
"href": link.href.value,
|
7951
8069
|
"tabindex": isClickable.value ? 0 : undefined,
|
7952
8070
|
"onClick": onClick,
|
@@ -8039,6 +8157,7 @@ const VListSubheader = genericComponent()({
|
|
8039
8157
|
inset: Boolean,
|
8040
8158
|
sticky: Boolean,
|
8041
8159
|
title: String,
|
8160
|
+
...makeComponentProps(),
|
8042
8161
|
...makeTagProps()
|
8043
8162
|
},
|
8044
8163
|
setup(props, _ref) {
|
@@ -8055,10 +8174,10 @@ const VListSubheader = genericComponent()({
|
|
8055
8174
|
"class": ['v-list-subheader', {
|
8056
8175
|
'v-list-subheader--inset': props.inset,
|
8057
8176
|
'v-list-subheader--sticky': props.sticky
|
8058
|
-
}, textColorClasses.value],
|
8059
|
-
"style": {
|
8177
|
+
}, textColorClasses.value, props.class],
|
8178
|
+
"style": [{
|
8060
8179
|
textColorStyles
|
8061
|
-
}
|
8180
|
+
}, props.style]
|
8062
8181
|
}, {
|
8063
8182
|
default: () => [hasText && createVNode("div", {
|
8064
8183
|
"class": "v-list-subheader__text"
|
@@ -8278,6 +8397,7 @@ const VList = genericComponent()({
|
|
8278
8397
|
openStrategy: 'list'
|
8279
8398
|
}),
|
8280
8399
|
...makeBorderProps(),
|
8400
|
+
...makeComponentProps(),
|
8281
8401
|
...makeDensityProps(),
|
8282
8402
|
...makeDimensionProps(),
|
8283
8403
|
...makeElevationProps(),
|
@@ -8379,27 +8499,8 @@ const VList = genericComponent()({
|
|
8379
8499
|
e.preventDefault();
|
8380
8500
|
}
|
8381
8501
|
function focus(location) {
|
8382
|
-
if (
|
8383
|
-
|
8384
|
-
const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
|
8385
|
-
const idx = focusable.indexOf(document.activeElement);
|
8386
|
-
if (!location) {
|
8387
|
-
if (!contentRef.value.contains(document.activeElement)) {
|
8388
|
-
focusable[0]?.focus();
|
8389
|
-
}
|
8390
|
-
} else if (location === 'first') {
|
8391
|
-
focusable[0]?.focus();
|
8392
|
-
} else if (location === 'last') {
|
8393
|
-
focusable.at(-1)?.focus();
|
8394
|
-
} else {
|
8395
|
-
let el;
|
8396
|
-
let idxx = idx;
|
8397
|
-
const inc = location === 'next' ? 1 : -1;
|
8398
|
-
do {
|
8399
|
-
idxx += inc;
|
8400
|
-
el = focusable[idxx];
|
8401
|
-
} while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
8402
|
-
if (el) el.focus();else focus(location === 'next' ? 'first' : 'last');
|
8502
|
+
if (contentRef.value) {
|
8503
|
+
return focusChild(contentRef.value, location);
|
8403
8504
|
}
|
8404
8505
|
}
|
8405
8506
|
useRender(() => {
|
@@ -8408,8 +8509,8 @@ const VList = genericComponent()({
|
|
8408
8509
|
"class": ['v-list', {
|
8409
8510
|
'v-list--disabled': props.disabled,
|
8410
8511
|
'v-list--nav': props.nav
|
8411
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value],
|
8412
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value],
|
8512
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
|
8513
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
8413
8514
|
"role": "listbox",
|
8414
8515
|
"aria-activedescendant": undefined,
|
8415
8516
|
"onFocusin": onFocusin,
|
@@ -8437,6 +8538,7 @@ const VListItemAction = genericComponent()({
|
|
8437
8538
|
props: {
|
8438
8539
|
start: Boolean,
|
8439
8540
|
end: Boolean,
|
8541
|
+
...makeComponentProps(),
|
8440
8542
|
...makeTagProps()
|
8441
8543
|
},
|
8442
8544
|
setup(props, _ref) {
|
@@ -8447,7 +8549,8 @@ const VListItemAction = genericComponent()({
|
|
8447
8549
|
"class": ['v-list-item-action', {
|
8448
8550
|
'v-list-item-action--start': props.start,
|
8449
8551
|
'v-list-item-action--end': props.end
|
8450
|
-
}]
|
8552
|
+
}, props.class],
|
8553
|
+
"style": props.style
|
8451
8554
|
}, slots));
|
8452
8555
|
return {};
|
8453
8556
|
}
|
@@ -8458,6 +8561,7 @@ const VListItemMedia = genericComponent()({
|
|
8458
8561
|
props: {
|
8459
8562
|
start: Boolean,
|
8460
8563
|
end: Boolean,
|
8564
|
+
...makeComponentProps(),
|
8461
8565
|
...makeTagProps()
|
8462
8566
|
},
|
8463
8567
|
setup(props, _ref) {
|
@@ -8469,7 +8573,8 @@ const VListItemMedia = genericComponent()({
|
|
8469
8573
|
"class": ['v-list-item-media', {
|
8470
8574
|
'v-list-item-media--start': props.start,
|
8471
8575
|
'v-list-item-media--end': props.end
|
8472
|
-
}]
|
8576
|
+
}, props.class],
|
8577
|
+
"style": props.style
|
8473
8578
|
}, slots);
|
8474
8579
|
});
|
8475
8580
|
return {};
|
@@ -9710,6 +9815,7 @@ const makeVOverlayProps = propsFactory({
|
|
9710
9815
|
default: 2000
|
9711
9816
|
},
|
9712
9817
|
...makeActivatorProps(),
|
9818
|
+
...makeComponentProps(),
|
9713
9819
|
...makeDimensionProps(),
|
9714
9820
|
...makeLazyProps(),
|
9715
9821
|
...makeLocationStrategyProps(),
|
@@ -9877,10 +9983,10 @@ const VOverlay = genericComponent()({
|
|
9877
9983
|
'v-overlay--absolute': props.absolute || props.contained,
|
9878
9984
|
'v-overlay--active': isActive.value,
|
9879
9985
|
'v-overlay--contained': props.contained
|
9880
|
-
}, themeClasses.value, rtlClasses.value],
|
9986
|
+
}, themeClasses.value, rtlClasses.value, props.class],
|
9881
9987
|
"style": [stackStyles.value, {
|
9882
9988
|
top: convertToUnit(top.value)
|
9883
|
-
}],
|
9989
|
+
}, props.style],
|
9884
9990
|
"ref": root
|
9885
9991
|
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
|
9886
9992
|
"color": scrimColor,
|
@@ -9986,7 +10092,8 @@ const VMenu = genericComponent()({
|
|
9986
10092
|
const [overlayProps] = VOverlay.filterProps(props);
|
9987
10093
|
return createVNode(VOverlay, mergeProps({
|
9988
10094
|
"ref": overlay,
|
9989
|
-
"class": ['v-menu']
|
10095
|
+
"class": ['v-menu', props.class],
|
10096
|
+
"style": props.style
|
9990
10097
|
}, overlayProps, {
|
9991
10098
|
"modelValue": isActive.value,
|
9992
10099
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -10205,7 +10312,8 @@ const VSelect = genericComponent()({
|
|
10205
10312
|
'v-select--chips': !!props.chips,
|
10206
10313
|
[`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10207
10314
|
'v-select--selected': model.value.length
|
10208
|
-
}],
|
10315
|
+
}, props.class],
|
10316
|
+
"style": props.style,
|
10209
10317
|
"appendInnerIcon": props.menuIcon,
|
10210
10318
|
"readonly": true,
|
10211
10319
|
"placeholder": placeholder,
|
@@ -10648,7 +10756,8 @@ const VAutocomplete = genericComponent()({
|
|
10648
10756
|
'v-autocomplete--selecting-index': selectionIndex.value > -1,
|
10649
10757
|
[`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10650
10758
|
'v-autocomplete--selection-slot': !!slots.selection
|
10651
|
-
}],
|
10759
|
+
}, props.class],
|
10760
|
+
"style": props.style,
|
10652
10761
|
"appendInnerIcon": props.menuIcon,
|
10653
10762
|
"readonly": props.readonly,
|
10654
10763
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -10762,8 +10871,6 @@ const VAutocomplete = genericComponent()({
|
|
10762
10871
|
}
|
10763
10872
|
});
|
10764
10873
|
|
10765
|
-
// Types
|
10766
|
-
|
10767
10874
|
const VBadge = genericComponent()({
|
10768
10875
|
name: 'VBadge',
|
10769
10876
|
inheritAttrs: false,
|
@@ -10787,6 +10894,7 @@ const VBadge = genericComponent()({
|
|
10787
10894
|
offsetX: [Number, String],
|
10788
10895
|
offsetY: [Number, String],
|
10789
10896
|
textColor: String,
|
10897
|
+
...makeComponentProps(),
|
10790
10898
|
...makeLocationProps({
|
10791
10899
|
location: 'top end'
|
10792
10900
|
}),
|
@@ -10831,8 +10939,10 @@ const VBadge = genericComponent()({
|
|
10831
10939
|
'v-badge--dot': props.dot,
|
10832
10940
|
'v-badge--floating': props.floating,
|
10833
10941
|
'v-badge--inline': props.inline
|
10834
|
-
}]
|
10835
|
-
}, attrs
|
10942
|
+
}, props.class]
|
10943
|
+
}, attrs, {
|
10944
|
+
"style": props.style
|
10945
|
+
}), {
|
10836
10946
|
default: () => [createVNode("div", {
|
10837
10947
|
"class": "v-badge__wrapper"
|
10838
10948
|
}, [ctx.slots.default?.(), createVNode(MaybeTransition, {
|
@@ -10859,7 +10969,8 @@ const VBannerActions = genericComponent()({
|
|
10859
10969
|
name: 'VBannerActions',
|
10860
10970
|
props: {
|
10861
10971
|
color: String,
|
10862
|
-
density: String
|
10972
|
+
density: String,
|
10973
|
+
...makeComponentProps()
|
10863
10974
|
},
|
10864
10975
|
setup(props, _ref) {
|
10865
10976
|
let {
|
@@ -10873,7 +10984,8 @@ const VBannerActions = genericComponent()({
|
|
10873
10984
|
}
|
10874
10985
|
});
|
10875
10986
|
useRender(() => createVNode("div", {
|
10876
|
-
"class":
|
10987
|
+
"class": ['v-banner-actions', props.class],
|
10988
|
+
"style": props.style
|
10877
10989
|
}, [slots.default?.()]));
|
10878
10990
|
return {};
|
10879
10991
|
}
|
@@ -10894,6 +11006,7 @@ const VBanner = genericComponent()({
|
|
10894
11006
|
sticky: Boolean,
|
10895
11007
|
text: String,
|
10896
11008
|
...makeBorderProps(),
|
11009
|
+
...makeComponentProps(),
|
10897
11010
|
...makeDensityProps(),
|
10898
11011
|
...makeDimensionProps(),
|
10899
11012
|
...makeElevationProps(),
|
@@ -10951,8 +11064,8 @@ const VBanner = genericComponent()({
|
|
10951
11064
|
'v-banner--stacked': props.stacked || mobile.value,
|
10952
11065
|
'v-banner--sticky': props.sticky,
|
10953
11066
|
[`v-banner--${props.lines}-line`]: !!props.lines
|
10954
|
-
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value],
|
10955
|
-
"style": [dimensionStyles.value, locationStyles.value],
|
11067
|
+
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
11068
|
+
"style": [dimensionStyles.value, locationStyles.value, props.style],
|
10956
11069
|
"role": "banner"
|
10957
11070
|
}, {
|
10958
11071
|
default: () => [hasPrepend && createVNode("div", {
|
@@ -11008,6 +11121,7 @@ const VBottomNavigation = genericComponent()({
|
|
11008
11121
|
default: true
|
11009
11122
|
},
|
11010
11123
|
...makeBorderProps(),
|
11124
|
+
...makeComponentProps(),
|
11011
11125
|
...makeDensityProps(),
|
11012
11126
|
...makeElevationProps(),
|
11013
11127
|
...makeRoundedProps(),
|
@@ -11082,11 +11196,11 @@ const VBottomNavigation = genericComponent()({
|
|
11082
11196
|
'v-bottom-navigation--active': isActive.value,
|
11083
11197
|
'v-bottom-navigation--grow': props.grow,
|
11084
11198
|
'v-bottom-navigation--shift': props.mode === 'shift'
|
11085
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value],
|
11199
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
11086
11200
|
"style": [backgroundColorStyles.value, layoutItemStyles.value, {
|
11087
11201
|
height: convertToUnit(height.value),
|
11088
11202
|
transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`
|
11089
|
-
}, ssrBootStyles.value]
|
11203
|
+
}, ssrBootStyles.value, props.style]
|
11090
11204
|
}, {
|
11091
11205
|
default: () => [slots.default && createVNode("div", {
|
11092
11206
|
"class": "v-bottom-navigation__content"
|
@@ -11100,14 +11214,16 @@ const VBottomNavigation = genericComponent()({
|
|
11100
11214
|
const VBreadcrumbsDivider = genericComponent()({
|
11101
11215
|
name: 'VBreadcrumbsDivider',
|
11102
11216
|
props: {
|
11103
|
-
divider: [Number, String]
|
11217
|
+
divider: [Number, String],
|
11218
|
+
...makeComponentProps()
|
11104
11219
|
},
|
11105
11220
|
setup(props, _ref) {
|
11106
11221
|
let {
|
11107
11222
|
slots
|
11108
11223
|
} = _ref;
|
11109
11224
|
useRender(() => createVNode("li", {
|
11110
|
-
"class":
|
11225
|
+
"class": ['v-breadcrumbs-divider', props.class],
|
11226
|
+
"style": props.style
|
11111
11227
|
}, [slots?.default?.() ?? props.divider]));
|
11112
11228
|
return {};
|
11113
11229
|
}
|
@@ -11122,6 +11238,7 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11122
11238
|
color: String,
|
11123
11239
|
disabled: Boolean,
|
11124
11240
|
title: String,
|
11241
|
+
...makeComponentProps(),
|
11125
11242
|
...makeRouterProps(),
|
11126
11243
|
...makeTagProps({
|
11127
11244
|
tag: 'li'
|
@@ -11147,8 +11264,8 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11147
11264
|
'v-breadcrumbs-item--disabled': props.disabled,
|
11148
11265
|
'v-breadcrumbs-item--link': link.isLink.value,
|
11149
11266
|
[`${props.activeClass}`]: isActive.value && props.activeClass
|
11150
|
-
}, textColorClasses.value],
|
11151
|
-
"style": [textColorStyles.value],
|
11267
|
+
}, textColorClasses.value, props.class],
|
11268
|
+
"style": [textColorStyles.value, props.style],
|
11152
11269
|
"href": link.href.value,
|
11153
11270
|
"aria-current": isActive.value ? 'page' : undefined,
|
11154
11271
|
"onClick": link.navigate
|
@@ -11179,6 +11296,7 @@ const VBreadcrumbs = genericComponent()({
|
|
11179
11296
|
type: Array,
|
11180
11297
|
default: () => []
|
11181
11298
|
},
|
11299
|
+
...makeComponentProps(),
|
11182
11300
|
...makeDensityProps(),
|
11183
11301
|
...makeRoundedProps(),
|
11184
11302
|
...makeTagProps({
|
@@ -11210,11 +11328,22 @@ const VBreadcrumbs = genericComponent()({
|
|
11210
11328
|
disabled: toRef(props, 'disabled')
|
11211
11329
|
}
|
11212
11330
|
});
|
11331
|
+
const items = computed(() => props.items.map(item => {
|
11332
|
+
return typeof item === 'string' ? {
|
11333
|
+
item: {
|
11334
|
+
title: item
|
11335
|
+
},
|
11336
|
+
raw: item
|
11337
|
+
} : {
|
11338
|
+
item,
|
11339
|
+
raw: item
|
11340
|
+
};
|
11341
|
+
}));
|
11213
11342
|
useRender(() => {
|
11214
11343
|
const hasPrepend = !!(slots.prepend || props.icon);
|
11215
11344
|
return createVNode(props.tag, {
|
11216
|
-
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value],
|
11217
|
-
"style": backgroundColorStyles.value
|
11345
|
+
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
|
11346
|
+
"style": [backgroundColorStyles.value, props.style]
|
11218
11347
|
}, {
|
11219
11348
|
default: () => [hasPrepend && createVNode("div", {
|
11220
11349
|
"key": "prepend",
|
@@ -11232,33 +11361,36 @@ const VBreadcrumbs = genericComponent()({
|
|
11232
11361
|
start: true
|
11233
11362
|
}
|
11234
11363
|
}
|
11235
|
-
}, slots.prepend)]),
|
11236
|
-
|
11237
|
-
"disabled": index >= array.length - 1
|
11238
|
-
}, typeof item === 'string' ? {
|
11239
|
-
title: item
|
11240
|
-
} : item), {
|
11241
|
-
default: slots.title ? () => slots.title?.({
|
11242
|
-
item,
|
11243
|
-
index
|
11244
|
-
}) : undefined
|
11245
|
-
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11246
|
-
default: slots.divider ? () => slots.divider?.({
|
11364
|
+
}, slots.prepend)]), items.value.map((_ref2, index, array) => {
|
11365
|
+
let {
|
11247
11366
|
item,
|
11248
|
-
|
11249
|
-
}
|
11250
|
-
|
11367
|
+
raw
|
11368
|
+
} = _ref2;
|
11369
|
+
return createVNode(Fragment, null, [createVNode(VBreadcrumbsItem, mergeProps({
|
11370
|
+
"key": item.title,
|
11371
|
+
"disabled": index >= array.length - 1
|
11372
|
+
}, item), {
|
11373
|
+
default: slots.title ? () => slots.title?.({
|
11374
|
+
item: raw,
|
11375
|
+
index
|
11376
|
+
}) : undefined
|
11377
|
+
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11378
|
+
default: slots.divider ? () => slots.divider?.({
|
11379
|
+
item: raw,
|
11380
|
+
index
|
11381
|
+
}) : undefined
|
11382
|
+
})]);
|
11383
|
+
}), slots.default?.()]
|
11251
11384
|
});
|
11252
11385
|
});
|
11253
11386
|
return {};
|
11254
11387
|
}
|
11255
11388
|
});
|
11256
11389
|
|
11257
|
-
|
11258
|
-
|
11259
|
-
const VCardActions = defineComponent({
|
11390
|
+
const VCardActions = genericComponent()({
|
11260
11391
|
name: 'VCardActions',
|
11261
|
-
|
11392
|
+
props: makeComponentProps(),
|
11393
|
+
setup(props, _ref) {
|
11262
11394
|
let {
|
11263
11395
|
slots
|
11264
11396
|
} = _ref;
|
@@ -11268,7 +11400,8 @@ const VCardActions = defineComponent({
|
|
11268
11400
|
}
|
11269
11401
|
});
|
11270
11402
|
useRender(() => createVNode("div", {
|
11271
|
-
"class":
|
11403
|
+
"class": ['v-card-actions', props.class],
|
11404
|
+
"style": props.style
|
11272
11405
|
}, [slots.default?.()]));
|
11273
11406
|
return {};
|
11274
11407
|
}
|
@@ -11278,8 +11411,6 @@ const VCardSubtitle = createSimpleFunctional('v-card-subtitle');
|
|
11278
11411
|
|
11279
11412
|
const VCardTitle = createSimpleFunctional('v-card-title');
|
11280
11413
|
|
11281
|
-
// Types
|
11282
|
-
|
11283
11414
|
const VCardItem = genericComponent()({
|
11284
11415
|
name: 'VCardItem',
|
11285
11416
|
props: {
|
@@ -11289,6 +11420,7 @@ const VCardItem = genericComponent()({
|
|
11289
11420
|
prependIcon: IconValue,
|
11290
11421
|
subtitle: String,
|
11291
11422
|
title: String,
|
11423
|
+
...makeComponentProps(),
|
11292
11424
|
...makeDensityProps()
|
11293
11425
|
},
|
11294
11426
|
setup(props, _ref) {
|
@@ -11303,7 +11435,8 @@ const VCardItem = genericComponent()({
|
|
11303
11435
|
const hasTitle = !!(props.title || slots.title);
|
11304
11436
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
11305
11437
|
return createVNode("div", {
|
11306
|
-
"class":
|
11438
|
+
"class": ['v-card-item', props.class],
|
11439
|
+
"style": props.style
|
11307
11440
|
}, [hasPrepend && createVNode("div", {
|
11308
11441
|
"key": "prepend",
|
11309
11442
|
"class": "v-card-item__prepend"
|
@@ -11385,8 +11518,8 @@ const VCard = genericComponent()({
|
|
11385
11518
|
subtitle: String,
|
11386
11519
|
text: String,
|
11387
11520
|
title: String,
|
11388
|
-
...makeThemeProps(),
|
11389
11521
|
...makeBorderProps(),
|
11522
|
+
...makeComponentProps(),
|
11390
11523
|
...makeDensityProps(),
|
11391
11524
|
...makeDimensionProps(),
|
11392
11525
|
...makeElevationProps(),
|
@@ -11396,6 +11529,7 @@ const VCard = genericComponent()({
|
|
11396
11529
|
...makeRoundedProps(),
|
11397
11530
|
...makeRouterProps(),
|
11398
11531
|
...makeTagProps(),
|
11532
|
+
...makeThemeProps(),
|
11399
11533
|
...makeVariantProps({
|
11400
11534
|
variant: 'elevated'
|
11401
11535
|
})
|
@@ -11456,8 +11590,8 @@ const VCard = genericComponent()({
|
|
11456
11590
|
'v-card--flat': props.flat,
|
11457
11591
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
11458
11592
|
'v-card--link': isClickable.value
|
11459
|
-
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
11460
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
11593
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
11594
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
11461
11595
|
"href": link.href.value,
|
11462
11596
|
"onClick": isClickable.value && link.navigate,
|
11463
11597
|
"tabindex": props.disabled ? -1 : undefined
|
@@ -11653,6 +11787,7 @@ const makeVWindowProps = propsFactory({
|
|
11653
11787
|
mandatory: {
|
11654
11788
|
default: 'force'
|
11655
11789
|
},
|
11790
|
+
...makeComponentProps(),
|
11656
11791
|
...makeTagProps(),
|
11657
11792
|
...makeThemeProps()
|
11658
11793
|
}, 'v-window');
|
@@ -11768,7 +11903,8 @@ const VWindow = genericComponent()({
|
|
11768
11903
|
"ref": rootRef,
|
11769
11904
|
"class": ['v-window', {
|
11770
11905
|
'v-window--show-arrows-on-hover': props.showArrows === 'hover'
|
11771
|
-
}, themeClasses.value]
|
11906
|
+
}, themeClasses.value, props.class],
|
11907
|
+
"style": props.style
|
11772
11908
|
}, {
|
11773
11909
|
default: () => [createVNode("div", {
|
11774
11910
|
"class": "v-window__container",
|
@@ -11853,10 +11989,10 @@ const VCarousel = genericComponent()({
|
|
11853
11989
|
"class": ['v-carousel', {
|
11854
11990
|
'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,
|
11855
11991
|
'v-carousel--vertical-delimiters': props.verticalDelimiters
|
11856
|
-
}],
|
11857
|
-
"style": {
|
11992
|
+
}, props.class],
|
11993
|
+
"style": [{
|
11858
11994
|
height: convertToUnit(props.height)
|
11859
|
-
},
|
11995
|
+
}, props.style],
|
11860
11996
|
"continuous": true,
|
11861
11997
|
"mandatory": "force",
|
11862
11998
|
"showArrows": props.showArrows
|
@@ -11922,6 +12058,7 @@ const VWindowItem = genericComponent()({
|
|
11922
12058
|
type: [Boolean, String],
|
11923
12059
|
default: undefined
|
11924
12060
|
},
|
12061
|
+
...makeComponentProps(),
|
11925
12062
|
...makeGroupItemProps(),
|
11926
12063
|
...makeLazyProps()
|
11927
12064
|
},
|
@@ -12008,7 +12145,8 @@ const VWindowItem = genericComponent()({
|
|
12008
12145
|
"disabled": !isBooted.value
|
12009
12146
|
}, {
|
12010
12147
|
default: () => [withDirectives(createVNode("div", {
|
12011
|
-
"class": ['v-window-item', groupItem.selectedClass.value]
|
12148
|
+
"class": ['v-window-item', groupItem.selectedClass.value, props.class],
|
12149
|
+
"style": props.style
|
12012
12150
|
}, [hasContent.value && slots.default?.()]), [[vShow, groupItem.isSelected.value]])]
|
12013
12151
|
}));
|
12014
12152
|
return {};
|
@@ -12021,7 +12159,8 @@ const VCarouselItem = genericComponent()({
|
|
12021
12159
|
name: 'VCarouselItem',
|
12022
12160
|
inheritAttrs: false,
|
12023
12161
|
props: {
|
12024
|
-
value: null
|
12162
|
+
value: null,
|
12163
|
+
...makeComponentProps()
|
12025
12164
|
},
|
12026
12165
|
setup(props, _ref) {
|
12027
12166
|
let {
|
@@ -12029,7 +12168,8 @@ const VCarouselItem = genericComponent()({
|
|
12029
12168
|
attrs
|
12030
12169
|
} = _ref;
|
12031
12170
|
useRender(() => createVNode(VWindowItem, {
|
12032
|
-
"class":
|
12171
|
+
"class": ['v-carousel-item', props.class],
|
12172
|
+
"style": props.style,
|
12033
12173
|
"value": props.value
|
12034
12174
|
}, {
|
12035
12175
|
default: () => [createVNode(VImg, attrs, slots)]
|
@@ -12042,6 +12182,7 @@ const VCode = createSimpleFunctional('v-code');
|
|
12042
12182
|
const makeVSheetProps = propsFactory({
|
12043
12183
|
color: String,
|
12044
12184
|
...makeBorderProps(),
|
12185
|
+
...makeComponentProps(),
|
12045
12186
|
...makeDimensionProps(),
|
12046
12187
|
...makeElevationProps(),
|
12047
12188
|
...makeLocationProps(),
|
@@ -12085,8 +12226,8 @@ const VSheet = genericComponent()({
|
|
12085
12226
|
roundedClasses
|
12086
12227
|
} = useRounded(props);
|
12087
12228
|
useRender(() => createVNode(props.tag, {
|
12088
|
-
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
12089
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
12229
|
+
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
|
12230
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
|
12090
12231
|
}, slots));
|
12091
12232
|
return {};
|
12092
12233
|
}
|
@@ -12112,7 +12253,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12112
12253
|
width: {
|
12113
12254
|
type: [Number, String],
|
12114
12255
|
default: 300
|
12115
|
-
}
|
12256
|
+
},
|
12257
|
+
...makeComponentProps()
|
12116
12258
|
},
|
12117
12259
|
emits: {
|
12118
12260
|
'update:color': color => true,
|
@@ -12257,7 +12399,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12257
12399
|
onMounted(() => updateCanvas());
|
12258
12400
|
useRender(() => createVNode("div", {
|
12259
12401
|
"ref": resizeRef,
|
12260
|
-
"class":
|
12402
|
+
"class": ['v-color-picker-canvas', props.class],
|
12403
|
+
"style": props.style,
|
12261
12404
|
"onClick": handleClick,
|
12262
12405
|
"onMousedown": handleMouseDown,
|
12263
12406
|
"onTouchstart": handleMouseDown
|
@@ -12490,7 +12633,8 @@ const VColorPickerEdit = defineComponent({
|
|
12490
12633
|
type: Array,
|
12491
12634
|
default: () => Object.keys(modes),
|
12492
12635
|
validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
|
12493
|
-
}
|
12636
|
+
},
|
12637
|
+
...makeComponentProps()
|
12494
12638
|
},
|
12495
12639
|
emits: {
|
12496
12640
|
'update:color': color => true,
|
@@ -12530,7 +12674,8 @@ const VColorPickerEdit = defineComponent({
|
|
12530
12674
|
});
|
12531
12675
|
});
|
12532
12676
|
useRender(() => createVNode("div", {
|
12533
|
-
"class":
|
12677
|
+
"class": ['v-color-picker-edit', props.class],
|
12678
|
+
"style": props.style
|
12534
12679
|
}, [inputs.value?.map(props => createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && createVNode(VBtn, {
|
12535
12680
|
"icon": "$unfold",
|
12536
12681
|
"size": "x-small",
|
@@ -12849,7 +12994,8 @@ const VSliderThumb = genericComponent()({
|
|
12849
12994
|
ripple: {
|
12850
12995
|
type: Boolean,
|
12851
12996
|
default: true
|
12852
|
-
}
|
12997
|
+
},
|
12998
|
+
...makeComponentProps()
|
12853
12999
|
},
|
12854
13000
|
emits: {
|
12855
13001
|
'update:modelValue': v => true
|
@@ -12927,11 +13073,11 @@ const VSliderThumb = genericComponent()({
|
|
12927
13073
|
"class": ['v-slider-thumb', {
|
12928
13074
|
'v-slider-thumb--focused': props.focused,
|
12929
13075
|
'v-slider-thumb--pressed': props.focused && mousePressed.value
|
12930
|
-
}],
|
12931
|
-
"style": {
|
13076
|
+
}, props.class],
|
13077
|
+
"style": [{
|
12932
13078
|
'--v-slider-thumb-position': positionPercentage,
|
12933
13079
|
'--v-slider-thumb-size': convertToUnit(thumbSize.value)
|
12934
|
-
},
|
13080
|
+
}, props.style],
|
12935
13081
|
"role": "slider",
|
12936
13082
|
"tabindex": disabled.value ? -1 : 0,
|
12937
13083
|
"aria-valuemin": props.min,
|
@@ -12977,7 +13123,8 @@ const VSliderTrack = genericComponent()({
|
|
12977
13123
|
stop: {
|
12978
13124
|
type: Number,
|
12979
13125
|
required: true
|
12980
|
-
}
|
13126
|
+
},
|
13127
|
+
...makeComponentProps()
|
12981
13128
|
},
|
12982
13129
|
emits: {},
|
12983
13130
|
setup(props, _ref) {
|
@@ -13052,12 +13199,12 @@ const VSliderTrack = genericComponent()({
|
|
13052
13199
|
});
|
13053
13200
|
useRender(() => {
|
13054
13201
|
return createVNode("div", {
|
13055
|
-
"class": ['v-slider-track', roundedClasses.value],
|
13056
|
-
"style": {
|
13202
|
+
"class": ['v-slider-track', roundedClasses.value, props.class],
|
13203
|
+
"style": [{
|
13057
13204
|
'--v-slider-track-size': convertToUnit(trackSize.value),
|
13058
13205
|
'--v-slider-tick-size': convertToUnit(tickSize.value),
|
13059
13206
|
direction: !vertical.value ? horizontalDirection.value : undefined
|
13060
|
-
}
|
13207
|
+
}, props.style]
|
13061
13208
|
}, [createVNode("div", {
|
13062
13209
|
"class": ['v-slider-track__background', trackColorClasses.value, {
|
13063
13210
|
'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
|
@@ -13160,7 +13307,8 @@ const VSlider = genericComponent()({
|
|
13160
13307
|
'v-slider--focused': isFocused.value,
|
13161
13308
|
'v-slider--pressed': mousePressed.value,
|
13162
13309
|
'v-slider--disabled': props.disabled
|
13163
|
-
}]
|
13310
|
+
}, props.class],
|
13311
|
+
"style": props.style
|
13164
13312
|
}, inputProps, {
|
13165
13313
|
"focused": isFocused.value
|
13166
13314
|
}), {
|
@@ -13223,7 +13371,8 @@ const VColorPickerPreview = defineComponent({
|
|
13223
13371
|
type: Object
|
13224
13372
|
},
|
13225
13373
|
disabled: Boolean,
|
13226
|
-
hideAlpha: Boolean
|
13374
|
+
hideAlpha: Boolean,
|
13375
|
+
...makeComponentProps()
|
13227
13376
|
},
|
13228
13377
|
emits: {
|
13229
13378
|
'update:color': color => true
|
@@ -13235,7 +13384,8 @@ const VColorPickerPreview = defineComponent({
|
|
13235
13384
|
useRender(() => createVNode("div", {
|
13236
13385
|
"class": ['v-color-picker-preview', {
|
13237
13386
|
'v-color-picker-preview--hide-alpha': props.hideAlpha
|
13238
|
-
}]
|
13387
|
+
}, props.class],
|
13388
|
+
"style": props.style
|
13239
13389
|
}, [createVNode("div", {
|
13240
13390
|
"class": "v-color-picker-preview__dot"
|
13241
13391
|
}, [createVNode("div", {
|
@@ -13616,7 +13766,8 @@ const VColorPickerSwatches = defineComponent({
|
|
13616
13766
|
},
|
13617
13767
|
disabled: Boolean,
|
13618
13768
|
color: Object,
|
13619
|
-
maxHeight: [Number, String]
|
13769
|
+
maxHeight: [Number, String],
|
13770
|
+
...makeComponentProps()
|
13620
13771
|
},
|
13621
13772
|
emits: {
|
13622
13773
|
'update:color': color => true
|
@@ -13626,10 +13777,10 @@ const VColorPickerSwatches = defineComponent({
|
|
13626
13777
|
emit
|
13627
13778
|
} = _ref;
|
13628
13779
|
useRender(() => createVNode("div", {
|
13629
|
-
"class":
|
13630
|
-
"style": {
|
13780
|
+
"class": ['v-color-picker-swatches', props.class],
|
13781
|
+
"style": [{
|
13631
13782
|
maxHeight: convertToUnit(props.maxHeight)
|
13632
|
-
}
|
13783
|
+
}, props.style]
|
13633
13784
|
}, [createVNode("div", null, [props.swatches.map(swatch => createVNode("div", {
|
13634
13785
|
"class": "v-color-picker-swatches__swatch"
|
13635
13786
|
}, [swatch.map(color => {
|
@@ -13733,13 +13884,13 @@ const VColorPicker = defineComponent({
|
|
13733
13884
|
"rounded": props.rounded,
|
13734
13885
|
"elevation": props.elevation,
|
13735
13886
|
"theme": props.theme,
|
13736
|
-
"class": ['v-color-picker'],
|
13737
|
-
"style": {
|
13887
|
+
"class": ['v-color-picker', props.class],
|
13888
|
+
"style": [{
|
13738
13889
|
'--v-color-picker-color-hsv': HSVtoCSS({
|
13739
13890
|
...(currentColor.value ?? nullColor),
|
13740
13891
|
a: 1
|
13741
13892
|
})
|
13742
|
-
}
|
13893
|
+
}, props.style]
|
13743
13894
|
}, sheetProps, {
|
13744
13895
|
"maxWidth": props.width
|
13745
13896
|
}), {
|
@@ -14050,7 +14201,8 @@ const VCombobox = genericComponent()({
|
|
14050
14201
|
'v-combobox--chips': !!props.chips,
|
14051
14202
|
'v-combobox--selecting-index': selectionIndex.value > -1,
|
14052
14203
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
14053
|
-
}],
|
14204
|
+
}, props.class],
|
14205
|
+
"style": props.style,
|
14054
14206
|
"appendInnerIcon": props.items.length ? props.menuIcon : undefined,
|
14055
14207
|
"readonly": props.readonly,
|
14056
14208
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -14207,7 +14359,7 @@ const VDialog = genericComponent()({
|
|
14207
14359
|
![document, overlay.value.contentEl].includes(after) &&
|
14208
14360
|
// It isn't inside the dialog body
|
14209
14361
|
!overlay.value.contentEl.contains(after)) {
|
14210
|
-
const focusable =
|
14362
|
+
const focusable = focusableChildren(overlay.value.contentEl);
|
14211
14363
|
if (!focusable.length) return;
|
14212
14364
|
const firstElement = focusable[0];
|
14213
14365
|
const lastElement = focusable[focusable.length - 1];
|
@@ -14248,7 +14400,8 @@ const VDialog = genericComponent()({
|
|
14248
14400
|
"class": ['v-dialog', {
|
14249
14401
|
'v-dialog--fullscreen': props.fullscreen,
|
14250
14402
|
'v-dialog--scrollable': props.scrollable
|
14251
|
-
}]
|
14403
|
+
}, props.class],
|
14404
|
+
"style": props.style
|
14252
14405
|
}, overlayProps, {
|
14253
14406
|
"modelValue": isActive.value,
|
14254
14407
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -14287,6 +14440,7 @@ const VExpansionPanels = genericComponent()({
|
|
14287
14440
|
validator: v => allowedVariants.includes(v)
|
14288
14441
|
},
|
14289
14442
|
readonly: Boolean,
|
14443
|
+
...makeComponentProps(),
|
14290
14444
|
...makeGroupProps(),
|
14291
14445
|
...makeTagProps(),
|
14292
14446
|
...makeThemeProps()
|
@@ -14312,7 +14466,8 @@ const VExpansionPanels = genericComponent()({
|
|
14312
14466
|
}
|
14313
14467
|
});
|
14314
14468
|
useRender(() => createVNode(props.tag, {
|
14315
|
-
"class": ['v-expansion-panels', themeClasses.value, variantClass.value]
|
14469
|
+
"class": ['v-expansion-panels', themeClasses.value, variantClass.value, props.class],
|
14470
|
+
"style": props.style
|
14316
14471
|
}, slots));
|
14317
14472
|
return {};
|
14318
14473
|
}
|
@@ -14341,6 +14496,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14341
14496
|
Ripple
|
14342
14497
|
},
|
14343
14498
|
props: {
|
14499
|
+
...makeComponentProps(),
|
14344
14500
|
...makeVExpansionPanelTitleProps()
|
14345
14501
|
},
|
14346
14502
|
setup(props, _ref) {
|
@@ -14363,8 +14519,8 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14363
14519
|
useRender(() => withDirectives(createVNode("button", {
|
14364
14520
|
"class": ['v-expansion-panel-title', {
|
14365
14521
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value
|
14366
|
-
}, backgroundColorClasses.value],
|
14367
|
-
"style": backgroundColorStyles.value,
|
14522
|
+
}, backgroundColorClasses.value, props.class],
|
14523
|
+
"style": [backgroundColorStyles.value, props.style],
|
14368
14524
|
"type": "button",
|
14369
14525
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
14370
14526
|
"disabled": expansionPanel.disabled.value,
|
@@ -14384,6 +14540,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14384
14540
|
const VExpansionPanelText = genericComponent()({
|
14385
14541
|
name: 'VExpansionPanelText',
|
14386
14542
|
props: {
|
14543
|
+
...makeComponentProps(),
|
14387
14544
|
...makeLazyProps()
|
14388
14545
|
},
|
14389
14546
|
setup(props, _ref) {
|
@@ -14400,7 +14557,8 @@ const VExpansionPanelText = genericComponent()({
|
|
14400
14557
|
"onAfterLeave": onAfterLeave
|
14401
14558
|
}, {
|
14402
14559
|
default: () => [withDirectives(createVNode("div", {
|
14403
|
-
"class":
|
14560
|
+
"class": ['v-expansion-panel-text', props.class],
|
14561
|
+
"style": props.style
|
14404
14562
|
}, [slots.default && hasContent.value && createVNode("div", {
|
14405
14563
|
"class": "v-expansion-panel-text__wrapper"
|
14406
14564
|
}, [slots.default?.()])]), [[vShow, expansionPanel.isSelected.value]])]
|
@@ -14415,6 +14573,7 @@ const VExpansionPanel = genericComponent()({
|
|
14415
14573
|
title: String,
|
14416
14574
|
text: String,
|
14417
14575
|
bgColor: String,
|
14576
|
+
...makeComponentProps(),
|
14418
14577
|
...makeElevationProps(),
|
14419
14578
|
...makeGroupItemProps(),
|
14420
14579
|
...makeLazyProps(),
|
@@ -14463,8 +14622,8 @@ const VExpansionPanel = genericComponent()({
|
|
14463
14622
|
'v-expansion-panel--before-active': isBeforeSelected.value,
|
14464
14623
|
'v-expansion-panel--after-active': isAfterSelected.value,
|
14465
14624
|
'v-expansion-panel--disabled': isDisabled.value
|
14466
|
-
}, roundedClasses.value, backgroundColorClasses.value],
|
14467
|
-
"style": backgroundColorStyles.value,
|
14625
|
+
}, roundedClasses.value, backgroundColorClasses.value, props.class],
|
14626
|
+
"style": [backgroundColorStyles.value, props.style],
|
14468
14627
|
"aria-expanded": groupItem.isSelected.value
|
14469
14628
|
}, {
|
14470
14629
|
default: () => [createVNode("div", {
|
@@ -14614,7 +14773,8 @@ const VFileInput = genericComponent()({
|
|
14614
14773
|
"ref": vInputRef,
|
14615
14774
|
"modelValue": model.value,
|
14616
14775
|
"onUpdate:modelValue": $event => model.value = $event,
|
14617
|
-
"class":
|
14776
|
+
"class": ['v-file-input', props.class],
|
14777
|
+
"style": props.style,
|
14618
14778
|
"onClick:prepend": onClickPrepend
|
14619
14779
|
}, rootAttrs, inputProps, {
|
14620
14780
|
"focused": isFocused.value
|
@@ -14706,6 +14866,7 @@ const VFooter = genericComponent()({
|
|
14706
14866
|
default: 'auto'
|
14707
14867
|
},
|
14708
14868
|
...makeBorderProps(),
|
14869
|
+
...makeComponentProps(),
|
14709
14870
|
...makeElevationProps(),
|
14710
14871
|
...makeLayoutItemProps(),
|
14711
14872
|
...makeRoundedProps(),
|
@@ -14755,8 +14916,8 @@ const VFooter = genericComponent()({
|
|
14755
14916
|
});
|
14756
14917
|
useRender(() => createVNode(props.tag, {
|
14757
14918
|
"ref": resizeRef,
|
14758
|
-
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
14759
|
-
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined]
|
14919
|
+
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
14920
|
+
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined, props.style]
|
14760
14921
|
}, slots));
|
14761
14922
|
return {};
|
14762
14923
|
}
|
@@ -14767,6 +14928,7 @@ const VFooter = genericComponent()({
|
|
14767
14928
|
const VForm = genericComponent()({
|
14768
14929
|
name: 'VForm',
|
14769
14930
|
props: {
|
14931
|
+
...makeComponentProps(),
|
14770
14932
|
...makeFormProps()
|
14771
14933
|
},
|
14772
14934
|
emits: {
|
@@ -14805,7 +14967,8 @@ const VForm = genericComponent()({
|
|
14805
14967
|
}
|
14806
14968
|
useRender(() => createVNode("form", {
|
14807
14969
|
"ref": formRef,
|
14808
|
-
"class":
|
14970
|
+
"class": ['v-form', props.class],
|
14971
|
+
"style": props.style,
|
14809
14972
|
"novalidate": true,
|
14810
14973
|
"onReset": onReset,
|
14811
14974
|
"onSubmit": onSubmit
|
@@ -14821,6 +14984,7 @@ const VContainer = genericComponent()({
|
|
14821
14984
|
type: Boolean,
|
14822
14985
|
default: false
|
14823
14986
|
},
|
14987
|
+
...makeComponentProps(),
|
14824
14988
|
...makeTagProps()
|
14825
14989
|
},
|
14826
14990
|
setup(props, _ref) {
|
@@ -14830,7 +14994,8 @@ const VContainer = genericComponent()({
|
|
14830
14994
|
useRender(() => createVNode(props.tag, {
|
14831
14995
|
"class": ['v-container', {
|
14832
14996
|
'v-container--fluid': props.fluid
|
14833
|
-
}]
|
14997
|
+
}, props.class],
|
14998
|
+
"style": props.style
|
14834
14999
|
}, slots));
|
14835
15000
|
return {};
|
14836
15001
|
}
|
@@ -14921,6 +15086,7 @@ const VCol = genericComponent()({
|
|
14921
15086
|
default: null,
|
14922
15087
|
validator: str => ALIGN_SELF_VALUES.includes(str)
|
14923
15088
|
},
|
15089
|
+
...makeComponentProps(),
|
14924
15090
|
...makeTagProps()
|
14925
15091
|
},
|
14926
15092
|
setup(props, _ref) {
|
@@ -14951,7 +15117,8 @@ const VCol = genericComponent()({
|
|
14951
15117
|
return classList;
|
14952
15118
|
});
|
14953
15119
|
return () => h(props.tag, {
|
14954
|
-
class: classes.value
|
15120
|
+
class: [classes.value, props.class],
|
15121
|
+
style: props.style
|
14955
15122
|
}, slots.default?.());
|
14956
15123
|
}
|
14957
15124
|
});
|
@@ -15037,6 +15204,7 @@ const VRow = genericComponent()({
|
|
15037
15204
|
validator: alignContentValidator
|
15038
15205
|
},
|
15039
15206
|
...alignContentProps,
|
15207
|
+
...makeComponentProps(),
|
15040
15208
|
...makeTagProps()
|
15041
15209
|
},
|
15042
15210
|
setup(props, _ref) {
|
@@ -15065,7 +15233,8 @@ const VRow = genericComponent()({
|
|
15065
15233
|
return classList;
|
15066
15234
|
});
|
15067
15235
|
return () => h(props.tag, {
|
15068
|
-
class: ['v-row', classes.value]
|
15236
|
+
class: ['v-row', classes.value, props.class],
|
15237
|
+
style: props.style
|
15069
15238
|
}, slots.default?.());
|
15070
15239
|
}
|
15071
15240
|
});
|
@@ -15109,6 +15278,7 @@ const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');
|
|
15109
15278
|
const VItemGroup = genericComponent()({
|
15110
15279
|
name: 'VItemGroup',
|
15111
15280
|
props: {
|
15281
|
+
...makeComponentProps(),
|
15112
15282
|
...makeGroupProps({
|
15113
15283
|
selectedClass: 'v-item--selected'
|
15114
15284
|
}),
|
@@ -15133,7 +15303,8 @@ const VItemGroup = genericComponent()({
|
|
15133
15303
|
selected
|
15134
15304
|
} = useGroup(props, VItemGroupSymbol);
|
15135
15305
|
return () => createVNode(props.tag, {
|
15136
|
-
"class": ['v-item-group', themeClasses.value]
|
15306
|
+
"class": ['v-item-group', themeClasses.value, props.class],
|
15307
|
+
"style": props.style
|
15137
15308
|
}, {
|
15138
15309
|
default: () => [slots.default?.({
|
15139
15310
|
isSelected,
|
@@ -15183,7 +15354,10 @@ const VKbd = createSimpleFunctional('v-kbd');
|
|
15183
15354
|
|
15184
15355
|
const VLayout = genericComponent()({
|
15185
15356
|
name: 'VLayout',
|
15186
|
-
props:
|
15357
|
+
props: {
|
15358
|
+
...makeComponentProps(),
|
15359
|
+
...makeLayoutProps()
|
15360
|
+
},
|
15187
15361
|
setup(props, _ref) {
|
15188
15362
|
let {
|
15189
15363
|
slots
|
@@ -15197,8 +15371,8 @@ const VLayout = genericComponent()({
|
|
15197
15371
|
} = createLayout(props);
|
15198
15372
|
useRender(() => createVNode("div", {
|
15199
15373
|
"ref": layoutRef,
|
15200
|
-
"class": layoutClasses.value,
|
15201
|
-
"style": layoutStyles.value
|
15374
|
+
"class": [layoutClasses.value, props.class],
|
15375
|
+
"style": [layoutStyles.value, props.style]
|
15202
15376
|
}, [slots.default?.()]));
|
15203
15377
|
return {
|
15204
15378
|
getLayoutItem,
|
@@ -15221,6 +15395,7 @@ const VLayoutItem = genericComponent()({
|
|
15221
15395
|
default: 300
|
15222
15396
|
},
|
15223
15397
|
modelValue: Boolean,
|
15398
|
+
...makeComponentProps(),
|
15224
15399
|
...makeLayoutItemProps()
|
15225
15400
|
},
|
15226
15401
|
setup(props, _ref) {
|
@@ -15239,8 +15414,8 @@ const VLayoutItem = genericComponent()({
|
|
15239
15414
|
absolute: toRef(props, 'absolute')
|
15240
15415
|
});
|
15241
15416
|
return () => createVNode("div", {
|
15242
|
-
"class": ['v-layout-item'],
|
15243
|
-
"style": layoutItemStyles.value
|
15417
|
+
"class": ['v-layout-item', props.class],
|
15418
|
+
"style": [layoutItemStyles.value, props.style]
|
15244
15419
|
}, [slots.default?.()]);
|
15245
15420
|
}
|
15246
15421
|
});
|
@@ -15264,6 +15439,7 @@ const VLazy = genericComponent()({
|
|
15264
15439
|
threshold: undefined
|
15265
15440
|
})
|
15266
15441
|
},
|
15442
|
+
...makeComponentProps(),
|
15267
15443
|
...makeDimensionProps(),
|
15268
15444
|
...makeTagProps(),
|
15269
15445
|
...makeTransitionProps({
|
@@ -15286,8 +15462,8 @@ const VLazy = genericComponent()({
|
|
15286
15462
|
isActive.value = isIntersecting;
|
15287
15463
|
}
|
15288
15464
|
useRender(() => withDirectives(createVNode(props.tag, {
|
15289
|
-
"class":
|
15290
|
-
"style": dimensionStyles.value
|
15465
|
+
"class": ['v-lazy', props.class],
|
15466
|
+
"style": [dimensionStyles.value, props.style]
|
15291
15467
|
}, {
|
15292
15468
|
default: () => [isActive.value && createVNode(MaybeTransition, {
|
15293
15469
|
"transition": props.transition,
|
@@ -15312,7 +15488,8 @@ const VLocaleProvider = genericComponent()({
|
|
15312
15488
|
rtl: {
|
15313
15489
|
type: Boolean,
|
15314
15490
|
default: undefined
|
15315
|
-
}
|
15491
|
+
},
|
15492
|
+
...makeComponentProps()
|
15316
15493
|
},
|
15317
15494
|
setup(props, _ref) {
|
15318
15495
|
let {
|
@@ -15322,7 +15499,8 @@ const VLocaleProvider = genericComponent()({
|
|
15322
15499
|
rtlClasses
|
15323
15500
|
} = provideLocale(props);
|
15324
15501
|
useRender(() => createVNode("div", {
|
15325
|
-
"class": ['v-locale-provider', rtlClasses.value]
|
15502
|
+
"class": ['v-locale-provider', rtlClasses.value, props.class],
|
15503
|
+
"style": props.style
|
15326
15504
|
}, [slots.default?.()]));
|
15327
15505
|
return {};
|
15328
15506
|
}
|
@@ -15332,6 +15510,7 @@ const VMain = genericComponent()({
|
|
15332
15510
|
name: 'VMain',
|
15333
15511
|
props: {
|
15334
15512
|
scrollable: Boolean,
|
15513
|
+
...makeComponentProps(),
|
15335
15514
|
...makeTagProps({
|
15336
15515
|
tag: 'main'
|
15337
15516
|
})
|
@@ -15349,8 +15528,8 @@ const VMain = genericComponent()({
|
|
15349
15528
|
useRender(() => createVNode(props.tag, {
|
15350
15529
|
"class": ['v-main', {
|
15351
15530
|
'v-main--scrollable': props.scrollable
|
15352
|
-
}],
|
15353
|
-
"style": [mainStyles.value, ssrBootStyles.value]
|
15531
|
+
}, props.class],
|
15532
|
+
"style": [mainStyles.value, ssrBootStyles.value, props.style]
|
15354
15533
|
}, {
|
15355
15534
|
default: () => [props.scrollable ? createVNode("div", {
|
15356
15535
|
"class": "v-main__scroller"
|
@@ -15360,593 +15539,167 @@ const VMain = genericComponent()({
|
|
15360
15539
|
}
|
15361
15540
|
});
|
15362
15541
|
|
15363
|
-
|
15364
|
-
|
15365
|
-
|
15366
|
-
|
15367
|
-
|
15368
|
-
|
15369
|
-
const
|
15370
|
-
const
|
15371
|
-
const
|
15372
|
-
|
15373
|
-
|
15542
|
+
function useSticky(_ref) {
|
15543
|
+
let {
|
15544
|
+
rootEl,
|
15545
|
+
isSticky,
|
15546
|
+
layoutItemStyles
|
15547
|
+
} = _ref;
|
15548
|
+
const isStuck = ref(false);
|
15549
|
+
const stuckPosition = ref(0);
|
15550
|
+
const stickyStyles = computed(() => {
|
15551
|
+
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15552
|
+
return [isSticky.value ? {
|
15553
|
+
top: 'auto',
|
15554
|
+
bottom: 'auto',
|
15555
|
+
height: undefined
|
15556
|
+
} : undefined, isStuck.value ? {
|
15557
|
+
[side]: convertToUnit(stuckPosition.value)
|
15558
|
+
} : {
|
15559
|
+
top: layoutItemStyles.value.top
|
15560
|
+
}];
|
15561
|
+
});
|
15562
|
+
onMounted(() => {
|
15563
|
+
watch(isSticky, val => {
|
15564
|
+
if (val) {
|
15565
|
+
window.addEventListener('scroll', onScroll, {
|
15566
|
+
passive: true
|
15567
|
+
});
|
15568
|
+
} else {
|
15569
|
+
window.removeEventListener('scroll', onScroll);
|
15570
|
+
}
|
15571
|
+
}, {
|
15572
|
+
immediate: true
|
15573
|
+
});
|
15574
|
+
});
|
15575
|
+
onBeforeUnmount(() => {
|
15576
|
+
document.removeEventListener('scroll', onScroll);
|
15577
|
+
});
|
15578
|
+
let lastScrollTop = 0;
|
15579
|
+
function onScroll() {
|
15580
|
+
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15581
|
+
const rect = rootEl.value.getBoundingClientRect();
|
15582
|
+
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15583
|
+
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15584
|
+
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15585
|
+
if (rect.height < window.innerHeight - layoutTop) {
|
15586
|
+
isStuck.value = 'top';
|
15587
|
+
stuckPosition.value = layoutTop;
|
15588
|
+
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15589
|
+
stuckPosition.value = window.scrollY + rect.top;
|
15590
|
+
isStuck.value = true;
|
15591
|
+
} else if (direction === 'down' && bottom <= 0) {
|
15592
|
+
stuckPosition.value = 0;
|
15593
|
+
isStuck.value = 'bottom';
|
15594
|
+
} else if (direction === 'up' && top <= 0) {
|
15595
|
+
stuckPosition.value = rect.top + top;
|
15596
|
+
isStuck.value = 'top';
|
15597
|
+
}
|
15598
|
+
lastScrollTop = window.scrollY;
|
15374
15599
|
}
|
15375
|
-
|
15376
|
-
|
15600
|
+
return {
|
15601
|
+
isStuck,
|
15602
|
+
stickyStyles
|
15603
|
+
};
|
15604
|
+
}
|
15377
15605
|
|
15378
|
-
|
15379
|
-
|
15606
|
+
const HORIZON = 100; // ms
|
15607
|
+
const HISTORY = 20; // number of samples to keep
|
15380
15608
|
|
15381
|
-
|
15382
|
-
|
15383
|
-
|
15384
|
-
|
15609
|
+
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15610
|
+
function kineticEnergyToVelocity(work) {
|
15611
|
+
const sqrt2 = 1.41421356237;
|
15612
|
+
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15613
|
+
}
|
15614
|
+
|
15615
|
+
/**
|
15616
|
+
* Returns pointer velocity in px/s
|
15617
|
+
*/
|
15618
|
+
function calculateImpulseVelocity(samples) {
|
15619
|
+
// The input should be in reversed time order (most recent sample at index i=0)
|
15620
|
+
if (samples.length < 2) {
|
15621
|
+
// if 0 or 1 points, velocity is zero
|
15622
|
+
return 0;
|
15623
|
+
}
|
15624
|
+
// if (samples[1].t > samples[0].t) {
|
15625
|
+
// // Algorithm will still work, but not perfectly
|
15626
|
+
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15627
|
+
// }
|
15628
|
+
if (samples.length === 2) {
|
15629
|
+
// if 2 points, basic linear calculation
|
15630
|
+
if (samples[1].t === samples[0].t) {
|
15631
|
+
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15632
|
+
return 0;
|
15385
15633
|
}
|
15634
|
+
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15386
15635
|
}
|
15387
|
-
|
15388
|
-
|
15636
|
+
// Guaranteed to have at least 3 points here
|
15637
|
+
// start with the oldest sample and go forward in time
|
15638
|
+
let work = 0;
|
15639
|
+
for (let i = samples.length - 1; i > 0; i--) {
|
15640
|
+
if (samples[i].t === samples[i - 1].t) {
|
15641
|
+
// consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)
|
15642
|
+
continue;
|
15643
|
+
}
|
15644
|
+
const vprev = kineticEnergyToVelocity(work); // v[i-1]
|
15645
|
+
const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]
|
15646
|
+
work += (vcurr - vprev) * Math.abs(vcurr);
|
15647
|
+
if (i === samples.length - 1) {
|
15648
|
+
work *= 0.5;
|
15649
|
+
}
|
15389
15650
|
}
|
15390
|
-
|
15391
|
-
return weeks;
|
15392
|
-
}
|
15393
|
-
function startOfMonth(date) {
|
15394
|
-
return new Date(date.getFullYear(), date.getMonth(), 1);
|
15395
|
-
}
|
15396
|
-
function endOfMonth(date) {
|
15397
|
-
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
15651
|
+
return kineticEnergyToVelocity(work) * 1000;
|
15398
15652
|
}
|
15399
|
-
function
|
15400
|
-
|
15401
|
-
|
15402
|
-
|
15403
|
-
|
15404
|
-
|
15653
|
+
function useVelocity() {
|
15654
|
+
const touches = {};
|
15655
|
+
function addMovement(e) {
|
15656
|
+
Array.from(e.changedTouches).forEach(touch => {
|
15657
|
+
const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
|
15658
|
+
samples.push([e.timeStamp, touch]);
|
15659
|
+
});
|
15405
15660
|
}
|
15406
|
-
|
15407
|
-
|
15408
|
-
|
15409
|
-
|
15410
|
-
|
15411
|
-
|
15412
|
-
|
15413
|
-
|
15414
|
-
|
15415
|
-
|
15416
|
-
|
15417
|
-
|
15418
|
-
|
15419
|
-
|
15420
|
-
|
15421
|
-
|
15422
|
-
|
15423
|
-
|
15424
|
-
|
15425
|
-
|
15426
|
-
|
15427
|
-
|
15428
|
-
|
15429
|
-
|
15430
|
-
|
15431
|
-
|
15432
|
-
|
15433
|
-
|
15434
|
-
|
15435
|
-
|
15436
|
-
|
15437
|
-
|
15438
|
-
|
15439
|
-
|
15440
|
-
|
15441
|
-
|
15442
|
-
|
15443
|
-
|
15444
|
-
|
15445
|
-
|
15446
|
-
|
15447
|
-
|
15448
|
-
DK: 1,
|
15449
|
-
DM: 0,
|
15450
|
-
DO: 0,
|
15451
|
-
DZ: 6,
|
15452
|
-
EC: 1,
|
15453
|
-
EE: 1,
|
15454
|
-
EG: 6,
|
15455
|
-
ES: 1,
|
15456
|
-
ET: 0,
|
15457
|
-
FI: 1,
|
15458
|
-
FJ: 1,
|
15459
|
-
FO: 1,
|
15460
|
-
FR: 1,
|
15461
|
-
GB: 1,
|
15462
|
-
'GB-alt-variant': 0,
|
15463
|
-
GE: 1,
|
15464
|
-
GF: 1,
|
15465
|
-
GP: 1,
|
15466
|
-
GR: 1,
|
15467
|
-
GT: 0,
|
15468
|
-
GU: 0,
|
15469
|
-
HK: 0,
|
15470
|
-
HN: 0,
|
15471
|
-
HR: 1,
|
15472
|
-
HU: 1,
|
15473
|
-
ID: 0,
|
15474
|
-
IE: 1,
|
15475
|
-
IL: 0,
|
15476
|
-
IN: 0,
|
15477
|
-
IQ: 6,
|
15478
|
-
IR: 6,
|
15479
|
-
IS: 1,
|
15480
|
-
IT: 1,
|
15481
|
-
JM: 0,
|
15482
|
-
JO: 6,
|
15483
|
-
JP: 0,
|
15484
|
-
KE: 0,
|
15485
|
-
KG: 1,
|
15486
|
-
KH: 0,
|
15487
|
-
KR: 0,
|
15488
|
-
KW: 6,
|
15489
|
-
KZ: 1,
|
15490
|
-
LA: 0,
|
15491
|
-
LB: 1,
|
15492
|
-
LI: 1,
|
15493
|
-
LK: 1,
|
15494
|
-
LT: 1,
|
15495
|
-
LU: 1,
|
15496
|
-
LV: 1,
|
15497
|
-
LY: 6,
|
15498
|
-
MC: 1,
|
15499
|
-
MD: 1,
|
15500
|
-
ME: 1,
|
15501
|
-
MH: 0,
|
15502
|
-
MK: 1,
|
15503
|
-
MM: 0,
|
15504
|
-
MN: 1,
|
15505
|
-
MO: 0,
|
15506
|
-
MQ: 1,
|
15507
|
-
MT: 0,
|
15508
|
-
MV: 5,
|
15509
|
-
MX: 0,
|
15510
|
-
MY: 1,
|
15511
|
-
MZ: 0,
|
15512
|
-
NI: 0,
|
15513
|
-
NL: 1,
|
15514
|
-
NO: 1,
|
15515
|
-
NP: 0,
|
15516
|
-
NZ: 1,
|
15517
|
-
OM: 6,
|
15518
|
-
PA: 0,
|
15519
|
-
PE: 0,
|
15520
|
-
PH: 0,
|
15521
|
-
PK: 0,
|
15522
|
-
PL: 1,
|
15523
|
-
PR: 0,
|
15524
|
-
PT: 0,
|
15525
|
-
PY: 0,
|
15526
|
-
QA: 6,
|
15527
|
-
RE: 1,
|
15528
|
-
RO: 1,
|
15529
|
-
RS: 1,
|
15530
|
-
RU: 1,
|
15531
|
-
SA: 0,
|
15532
|
-
SD: 6,
|
15533
|
-
SE: 1,
|
15534
|
-
SG: 0,
|
15535
|
-
SI: 1,
|
15536
|
-
SK: 1,
|
15537
|
-
SM: 1,
|
15538
|
-
SV: 0,
|
15539
|
-
SY: 6,
|
15540
|
-
TH: 0,
|
15541
|
-
TJ: 1,
|
15542
|
-
TM: 1,
|
15543
|
-
TR: 1,
|
15544
|
-
TT: 0,
|
15545
|
-
TW: 0,
|
15546
|
-
UA: 1,
|
15547
|
-
UM: 0,
|
15548
|
-
US: 0,
|
15549
|
-
UY: 1,
|
15550
|
-
UZ: 1,
|
15551
|
-
VA: 1,
|
15552
|
-
VE: 0,
|
15553
|
-
VI: 0,
|
15554
|
-
VN: 1,
|
15555
|
-
WS: 0,
|
15556
|
-
XK: 1,
|
15557
|
-
YE: 0,
|
15558
|
-
ZA: 0,
|
15559
|
-
ZW: 0
|
15560
|
-
};
|
15561
|
-
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
15562
|
-
function getWeekdays(locale) {
|
15563
|
-
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
15564
|
-
return createRange(7).map(i => {
|
15565
|
-
const weekday = new Date(sundayJanuarySecond2000);
|
15566
|
-
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
15567
|
-
return new Intl.DateTimeFormat(locale, {
|
15568
|
-
weekday: 'long'
|
15569
|
-
}).format(weekday);
|
15570
|
-
});
|
15571
|
-
}
|
15572
|
-
function format(value, formatString, locale) {
|
15573
|
-
const date = new Date(value);
|
15574
|
-
let options = {};
|
15575
|
-
switch (formatString) {
|
15576
|
-
case 'fullDateWithWeekday':
|
15577
|
-
options = {
|
15578
|
-
weekday: 'long',
|
15579
|
-
day: 'numeric',
|
15580
|
-
month: 'long',
|
15581
|
-
year: 'numeric'
|
15582
|
-
};
|
15583
|
-
break;
|
15584
|
-
case 'normalDateWithWeekday':
|
15585
|
-
options = {
|
15586
|
-
weekday: 'short',
|
15587
|
-
day: 'numeric',
|
15588
|
-
month: 'short',
|
15589
|
-
year: 'numeric'
|
15590
|
-
};
|
15591
|
-
break;
|
15592
|
-
case 'keyboardDate':
|
15593
|
-
options = {};
|
15594
|
-
break;
|
15595
|
-
case 'monthAndDate':
|
15596
|
-
options = {
|
15597
|
-
month: 'long',
|
15598
|
-
day: 'numeric'
|
15599
|
-
};
|
15600
|
-
break;
|
15601
|
-
case 'monthAndYear':
|
15602
|
-
options = {
|
15603
|
-
month: 'long',
|
15604
|
-
year: 'numeric'
|
15605
|
-
};
|
15606
|
-
break;
|
15607
|
-
default:
|
15608
|
-
options = {
|
15609
|
-
timeZone: 'UTC',
|
15610
|
-
timeZoneName: 'short'
|
15611
|
-
};
|
15612
|
-
}
|
15613
|
-
return new Intl.DateTimeFormat(locale, options).format(date);
|
15614
|
-
}
|
15615
|
-
function addDays(date, amount) {
|
15616
|
-
const d = new Date(date);
|
15617
|
-
d.setDate(d.getDate() + amount);
|
15618
|
-
return d;
|
15619
|
-
}
|
15620
|
-
function addMonths(date, amount) {
|
15621
|
-
const d = new Date(date);
|
15622
|
-
d.setMonth(d.getMonth() + amount);
|
15623
|
-
return d;
|
15624
|
-
}
|
15625
|
-
function getYear(date) {
|
15626
|
-
return date.getFullYear();
|
15627
|
-
}
|
15628
|
-
function getMonth(date) {
|
15629
|
-
return date.getMonth();
|
15630
|
-
}
|
15631
|
-
function startOfYear(date) {
|
15632
|
-
return new Date(date.getFullYear(), 0, 1);
|
15633
|
-
}
|
15634
|
-
function endOfYear(date) {
|
15635
|
-
return new Date(date.getFullYear(), 11, 31);
|
15636
|
-
}
|
15637
|
-
function getMondayOfFirstWeekOfYear(year) {
|
15638
|
-
return new Date(year, 0, 1);
|
15639
|
-
}
|
15640
|
-
|
15641
|
-
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
15642
|
-
function getWeek(date) {
|
15643
|
-
let year = date.getFullYear();
|
15644
|
-
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
15645
|
-
if (date < d1w1) {
|
15646
|
-
year = year - 1;
|
15647
|
-
d1w1 = getMondayOfFirstWeekOfYear(year);
|
15648
|
-
} else {
|
15649
|
-
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
15650
|
-
if (date >= tv) {
|
15651
|
-
year = year + 1;
|
15652
|
-
d1w1 = tv;
|
15653
|
-
}
|
15654
|
-
}
|
15655
|
-
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
15656
|
-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
15657
|
-
return Math.floor(diffDays / 7) + 1;
|
15658
|
-
}
|
15659
|
-
function isWithinRange(date, range) {
|
15660
|
-
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
15661
|
-
}
|
15662
|
-
function isValid(date) {
|
15663
|
-
const d = new Date(date);
|
15664
|
-
return d instanceof Date && !isNaN(d.getTime());
|
15665
|
-
}
|
15666
|
-
function isAfter(date, comparing) {
|
15667
|
-
return date.getTime() > comparing.getTime();
|
15668
|
-
}
|
15669
|
-
function isBefore(date, comparing) {
|
15670
|
-
return date.getTime() < comparing.getTime();
|
15671
|
-
}
|
15672
|
-
function isEqual(date, comparing) {
|
15673
|
-
return date.getTime() === comparing.getTime();
|
15674
|
-
}
|
15675
|
-
function isSameDay(date, comparing) {
|
15676
|
-
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15677
|
-
}
|
15678
|
-
function isSameMonth(date, comparing) {
|
15679
|
-
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15680
|
-
}
|
15681
|
-
function getDiff(date, comparing, unit) {
|
15682
|
-
const d = new Date(date);
|
15683
|
-
const c = new Date(comparing);
|
15684
|
-
if (unit === 'month') {
|
15685
|
-
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
15686
|
-
}
|
15687
|
-
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
15688
|
-
}
|
15689
|
-
function setYear(date, year) {
|
15690
|
-
const d = new Date(date);
|
15691
|
-
d.setFullYear(year);
|
15692
|
-
return d;
|
15693
|
-
}
|
15694
|
-
class VuetifyDateAdapter {
|
15695
|
-
constructor() {
|
15696
|
-
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
15697
|
-
this.locale = locale;
|
15698
|
-
}
|
15699
|
-
date(value) {
|
15700
|
-
return date(value);
|
15701
|
-
}
|
15702
|
-
addDays(date, amount) {
|
15703
|
-
return addDays(date, amount);
|
15704
|
-
}
|
15705
|
-
addMonths(date, amount) {
|
15706
|
-
return addMonths(date, amount);
|
15707
|
-
}
|
15708
|
-
getWeekArray(date) {
|
15709
|
-
return getWeekArray(date);
|
15710
|
-
}
|
15711
|
-
startOfMonth(date) {
|
15712
|
-
return startOfMonth(date);
|
15713
|
-
}
|
15714
|
-
endOfMonth(date) {
|
15715
|
-
return endOfMonth(date);
|
15716
|
-
}
|
15717
|
-
format(date, formatString) {
|
15718
|
-
return format(date, formatString, this.locale);
|
15719
|
-
}
|
15720
|
-
isEqual(date, comparing) {
|
15721
|
-
return isEqual(date, comparing);
|
15722
|
-
}
|
15723
|
-
isValid(date) {
|
15724
|
-
return isValid(date);
|
15725
|
-
}
|
15726
|
-
isWithinRange(date, range) {
|
15727
|
-
return isWithinRange(date, range);
|
15728
|
-
}
|
15729
|
-
isAfter(date, comparing) {
|
15730
|
-
return isAfter(date, comparing);
|
15731
|
-
}
|
15732
|
-
isSameDay(date, comparing) {
|
15733
|
-
return isSameDay(date, comparing);
|
15734
|
-
}
|
15735
|
-
isSameMonth(date, comparing) {
|
15736
|
-
return isSameMonth(date, comparing);
|
15737
|
-
}
|
15738
|
-
setYear(date, year) {
|
15739
|
-
return setYear(date, year);
|
15740
|
-
}
|
15741
|
-
getDiff(date, comparing, unit) {
|
15742
|
-
return getDiff(date, comparing, unit);
|
15743
|
-
}
|
15744
|
-
getWeek(date) {
|
15745
|
-
return getWeek(date);
|
15746
|
-
}
|
15747
|
-
getWeekdays() {
|
15748
|
-
return getWeekdays(this.locale);
|
15749
|
-
}
|
15750
|
-
getYear(date) {
|
15751
|
-
return getYear(date);
|
15752
|
-
}
|
15753
|
-
getMonth(date) {
|
15754
|
-
return getMonth(date);
|
15755
|
-
}
|
15756
|
-
startOfYear(date) {
|
15757
|
-
return startOfYear(date);
|
15758
|
-
}
|
15759
|
-
endOfYear(date) {
|
15760
|
-
return endOfYear(date);
|
15761
|
-
}
|
15762
|
-
}
|
15763
|
-
|
15764
|
-
// Composables
|
15765
|
-
|
15766
|
-
// Types
|
15767
|
-
|
15768
|
-
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
15769
|
-
function createDate(options) {
|
15770
|
-
return options ?? {
|
15771
|
-
adapter: VuetifyDateAdapter
|
15772
|
-
};
|
15773
|
-
}
|
15774
|
-
function useDate(props) {
|
15775
|
-
const date = inject$1(DateAdapterSymbol);
|
15776
|
-
const locale = useLocale();
|
15777
|
-
if (!date) throw new Error('[Vuetify] Could not find injected date');
|
15778
|
-
|
15779
|
-
// eslint-disable-next-line new-cap
|
15780
|
-
const instance = new date.adapter(locale.current.value);
|
15781
|
-
watch(locale.current, val => {
|
15782
|
-
instance.locale = val;
|
15783
|
-
}, {
|
15784
|
-
immediate: true
|
15785
|
-
});
|
15786
|
-
return instance;
|
15787
|
-
}
|
15788
|
-
|
15789
|
-
function useSticky(_ref) {
|
15790
|
-
let {
|
15791
|
-
rootEl,
|
15792
|
-
isSticky,
|
15793
|
-
layoutItemStyles
|
15794
|
-
} = _ref;
|
15795
|
-
const isStuck = ref(false);
|
15796
|
-
const stuckPosition = ref(0);
|
15797
|
-
const stickyStyles = computed(() => {
|
15798
|
-
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15799
|
-
return [isSticky.value ? {
|
15800
|
-
top: 'auto',
|
15801
|
-
bottom: 'auto',
|
15802
|
-
height: undefined
|
15803
|
-
} : undefined, isStuck.value ? {
|
15804
|
-
[side]: convertToUnit(stuckPosition.value)
|
15805
|
-
} : {
|
15806
|
-
top: layoutItemStyles.value.top
|
15807
|
-
}];
|
15808
|
-
});
|
15809
|
-
onMounted(() => {
|
15810
|
-
watch(isSticky, val => {
|
15811
|
-
if (val) {
|
15812
|
-
window.addEventListener('scroll', onScroll, {
|
15813
|
-
passive: true
|
15814
|
-
});
|
15815
|
-
} else {
|
15816
|
-
window.removeEventListener('scroll', onScroll);
|
15817
|
-
}
|
15818
|
-
}, {
|
15819
|
-
immediate: true
|
15820
|
-
});
|
15821
|
-
});
|
15822
|
-
onBeforeUnmount(() => {
|
15823
|
-
document.removeEventListener('scroll', onScroll);
|
15824
|
-
});
|
15825
|
-
let lastScrollTop = 0;
|
15826
|
-
function onScroll() {
|
15827
|
-
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15828
|
-
const rect = rootEl.value.getBoundingClientRect();
|
15829
|
-
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15830
|
-
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15831
|
-
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15832
|
-
if (rect.height < window.innerHeight - layoutTop) {
|
15833
|
-
isStuck.value = 'top';
|
15834
|
-
stuckPosition.value = layoutTop;
|
15835
|
-
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15836
|
-
stuckPosition.value = window.scrollY + rect.top;
|
15837
|
-
isStuck.value = true;
|
15838
|
-
} else if (direction === 'down' && bottom <= 0) {
|
15839
|
-
stuckPosition.value = 0;
|
15840
|
-
isStuck.value = 'bottom';
|
15841
|
-
} else if (direction === 'up' && top <= 0) {
|
15842
|
-
stuckPosition.value = rect.top + top;
|
15843
|
-
isStuck.value = 'top';
|
15844
|
-
}
|
15845
|
-
lastScrollTop = window.scrollY;
|
15846
|
-
}
|
15847
|
-
return {
|
15848
|
-
isStuck,
|
15849
|
-
stickyStyles
|
15850
|
-
};
|
15851
|
-
}
|
15852
|
-
|
15853
|
-
const HORIZON = 100; // ms
|
15854
|
-
const HISTORY = 20; // number of samples to keep
|
15855
|
-
|
15856
|
-
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15857
|
-
function kineticEnergyToVelocity(work) {
|
15858
|
-
const sqrt2 = 1.41421356237;
|
15859
|
-
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15860
|
-
}
|
15861
|
-
|
15862
|
-
/**
|
15863
|
-
* Returns pointer velocity in px/s
|
15864
|
-
*/
|
15865
|
-
function calculateImpulseVelocity(samples) {
|
15866
|
-
// The input should be in reversed time order (most recent sample at index i=0)
|
15867
|
-
if (samples.length < 2) {
|
15868
|
-
// if 0 or 1 points, velocity is zero
|
15869
|
-
return 0;
|
15870
|
-
}
|
15871
|
-
// if (samples[1].t > samples[0].t) {
|
15872
|
-
// // Algorithm will still work, but not perfectly
|
15873
|
-
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15874
|
-
// }
|
15875
|
-
if (samples.length === 2) {
|
15876
|
-
// if 2 points, basic linear calculation
|
15877
|
-
if (samples[1].t === samples[0].t) {
|
15878
|
-
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15879
|
-
return 0;
|
15880
|
-
}
|
15881
|
-
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15882
|
-
}
|
15883
|
-
// Guaranteed to have at least 3 points here
|
15884
|
-
// start with the oldest sample and go forward in time
|
15885
|
-
let work = 0;
|
15886
|
-
for (let i = samples.length - 1; i > 0; i--) {
|
15887
|
-
if (samples[i].t === samples[i - 1].t) {
|
15888
|
-
// consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)
|
15889
|
-
continue;
|
15890
|
-
}
|
15891
|
-
const vprev = kineticEnergyToVelocity(work); // v[i-1]
|
15892
|
-
const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]
|
15893
|
-
work += (vcurr - vprev) * Math.abs(vcurr);
|
15894
|
-
if (i === samples.length - 1) {
|
15895
|
-
work *= 0.5;
|
15896
|
-
}
|
15897
|
-
}
|
15898
|
-
return kineticEnergyToVelocity(work) * 1000;
|
15899
|
-
}
|
15900
|
-
function useVelocity() {
|
15901
|
-
const touches = {};
|
15902
|
-
function addMovement(e) {
|
15903
|
-
Array.from(e.changedTouches).forEach(touch => {
|
15904
|
-
const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
|
15905
|
-
samples.push([e.timeStamp, touch]);
|
15906
|
-
});
|
15907
|
-
}
|
15908
|
-
function endTouch(e) {
|
15909
|
-
Array.from(e.changedTouches).forEach(touch => {
|
15910
|
-
delete touches[touch.identifier];
|
15911
|
-
});
|
15912
|
-
}
|
15913
|
-
function getVelocity(id) {
|
15914
|
-
const samples = touches[id]?.values().reverse();
|
15915
|
-
if (!samples) {
|
15916
|
-
throw new Error(`No samples for touch id ${id}`);
|
15917
|
-
}
|
15918
|
-
const newest = samples[0];
|
15919
|
-
const x = [];
|
15920
|
-
const y = [];
|
15921
|
-
for (const val of samples) {
|
15922
|
-
if (newest[0] - val[0] > HORIZON) break;
|
15923
|
-
x.push({
|
15924
|
-
t: val[0],
|
15925
|
-
d: val[1].clientX
|
15926
|
-
});
|
15927
|
-
y.push({
|
15928
|
-
t: val[0],
|
15929
|
-
d: val[1].clientY
|
15930
|
-
});
|
15931
|
-
}
|
15932
|
-
return {
|
15933
|
-
x: calculateImpulseVelocity(x),
|
15934
|
-
y: calculateImpulseVelocity(y),
|
15935
|
-
get direction() {
|
15936
|
-
const {
|
15937
|
-
x,
|
15938
|
-
y
|
15939
|
-
} = this;
|
15940
|
-
const [absX, absY] = [Math.abs(x), Math.abs(y)];
|
15941
|
-
return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops$1();
|
15942
|
-
}
|
15943
|
-
};
|
15944
|
-
}
|
15945
|
-
return {
|
15946
|
-
addMovement,
|
15947
|
-
endTouch,
|
15948
|
-
getVelocity
|
15949
|
-
};
|
15661
|
+
function endTouch(e) {
|
15662
|
+
Array.from(e.changedTouches).forEach(touch => {
|
15663
|
+
delete touches[touch.identifier];
|
15664
|
+
});
|
15665
|
+
}
|
15666
|
+
function getVelocity(id) {
|
15667
|
+
const samples = touches[id]?.values().reverse();
|
15668
|
+
if (!samples) {
|
15669
|
+
throw new Error(`No samples for touch id ${id}`);
|
15670
|
+
}
|
15671
|
+
const newest = samples[0];
|
15672
|
+
const x = [];
|
15673
|
+
const y = [];
|
15674
|
+
for (const val of samples) {
|
15675
|
+
if (newest[0] - val[0] > HORIZON) break;
|
15676
|
+
x.push({
|
15677
|
+
t: val[0],
|
15678
|
+
d: val[1].clientX
|
15679
|
+
});
|
15680
|
+
y.push({
|
15681
|
+
t: val[0],
|
15682
|
+
d: val[1].clientY
|
15683
|
+
});
|
15684
|
+
}
|
15685
|
+
return {
|
15686
|
+
x: calculateImpulseVelocity(x),
|
15687
|
+
y: calculateImpulseVelocity(y),
|
15688
|
+
get direction() {
|
15689
|
+
const {
|
15690
|
+
x,
|
15691
|
+
y
|
15692
|
+
} = this;
|
15693
|
+
const [absX, absY] = [Math.abs(x), Math.abs(y)];
|
15694
|
+
return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops$1();
|
15695
|
+
}
|
15696
|
+
};
|
15697
|
+
}
|
15698
|
+
return {
|
15699
|
+
addMovement,
|
15700
|
+
endTouch,
|
15701
|
+
getVelocity
|
15702
|
+
};
|
15950
15703
|
}
|
15951
15704
|
function oops$1() {
|
15952
15705
|
throw new Error();
|
@@ -16122,6 +15875,7 @@ const VNavigationDrawer = genericComponent()({
|
|
16122
15875
|
},
|
16123
15876
|
sticky: Boolean,
|
16124
15877
|
...makeBorderProps(),
|
15878
|
+
...makeComponentProps(),
|
16125
15879
|
...makeElevationProps(),
|
16126
15880
|
...makeLayoutItemProps(),
|
16127
15881
|
...makeRoundedProps(),
|
@@ -16273,8 +16027,8 @@ const VNavigationDrawer = genericComponent()({
|
|
16273
16027
|
'v-navigation-drawer--temporary': isTemporary.value,
|
16274
16028
|
'v-navigation-drawer--active': isActive.value,
|
16275
16029
|
'v-navigation-drawer--sticky': isSticky.value
|
16276
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
16277
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value]
|
16030
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
16031
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
16278
16032
|
}, attrs), {
|
16279
16033
|
default: () => [hasImage && createVNode("div", {
|
16280
16034
|
"key": "image",
|
@@ -16403,6 +16157,7 @@ const VPagination = genericComponent()({
|
|
16403
16157
|
},
|
16404
16158
|
showFirstLastPage: Boolean,
|
16405
16159
|
...makeBorderProps(),
|
16160
|
+
...makeComponentProps(),
|
16406
16161
|
...makeDensityProps(),
|
16407
16162
|
...makeElevationProps(),
|
16408
16163
|
...makeRoundedProps(),
|
@@ -16599,7 +16354,8 @@ const VPagination = genericComponent()({
|
|
16599
16354
|
}
|
16600
16355
|
useRender(() => createVNode(props.tag, {
|
16601
16356
|
"ref": resizeRef,
|
16602
|
-
"class": ['v-pagination', themeClasses.value],
|
16357
|
+
"class": ['v-pagination', themeClasses.value, props.class],
|
16358
|
+
"style": props.style,
|
16603
16359
|
"role": "navigation",
|
16604
16360
|
"aria-label": t(props.ariaLabel),
|
16605
16361
|
"onKeydown": onKeydown,
|
@@ -16658,7 +16414,8 @@ const VParallax = genericComponent()({
|
|
16658
16414
|
scale: {
|
16659
16415
|
type: [Number, String],
|
16660
16416
|
default: 0.5
|
16661
|
-
}
|
16417
|
+
},
|
16418
|
+
...makeComponentProps()
|
16662
16419
|
},
|
16663
16420
|
setup(props, _ref) {
|
16664
16421
|
let {
|
@@ -16720,7 +16477,8 @@ const VParallax = genericComponent()({
|
|
16720
16477
|
useRender(() => createVNode(VImg, {
|
16721
16478
|
"class": ['v-parallax', {
|
16722
16479
|
'v-parallax--active': isIntersecting.value
|
16723
|
-
}],
|
16480
|
+
}, props.class],
|
16481
|
+
"style": props.style,
|
16724
16482
|
"ref": root,
|
16725
16483
|
"cover": true,
|
16726
16484
|
"onLoadstart": onScroll,
|
@@ -16745,7 +16503,8 @@ const VRadio = genericComponent()({
|
|
16745
16503
|
slots
|
16746
16504
|
} = _ref;
|
16747
16505
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
16748
|
-
"class":
|
16506
|
+
"class": ['v-radio', props.class],
|
16507
|
+
"style": props.style,
|
16749
16508
|
"type": "radio"
|
16750
16509
|
}), slots));
|
16751
16510
|
return {};
|
@@ -16799,7 +16558,8 @@ const VRadioGroup = genericComponent()({
|
|
16799
16558
|
}
|
16800
16559
|
}) : props.label;
|
16801
16560
|
return createVNode(VInput, mergeProps({
|
16802
|
-
"class":
|
16561
|
+
"class": ['v-radio-group', props.class],
|
16562
|
+
"style": props.style
|
16803
16563
|
}, inputAttrs, inputProps, {
|
16804
16564
|
"modelValue": model.value,
|
16805
16565
|
"onUpdate:modelValue": $event => model.value = $event,
|
@@ -16937,7 +16697,8 @@ const VRangeSlider = genericComponent()({
|
|
16937
16697
|
'v-slider--focused': isFocused.value,
|
16938
16698
|
'v-slider--pressed': mousePressed.value,
|
16939
16699
|
'v-slider--disabled': props.disabled
|
16940
|
-
}],
|
16700
|
+
}, props.class],
|
16701
|
+
"style": props.style,
|
16941
16702
|
"ref": inputRef
|
16942
16703
|
}, inputProps, {
|
16943
16704
|
"focused": isFocused.value
|
@@ -17080,6 +16841,7 @@ const VRating = genericComponent()({
|
|
17080
16841
|
validator: v => ['top', 'bottom'].includes(v)
|
17081
16842
|
},
|
17082
16843
|
ripple: Boolean,
|
16844
|
+
...makeComponentProps(),
|
17083
16845
|
...makeDensityProps(),
|
17084
16846
|
...makeSizeProps(),
|
17085
16847
|
...makeTagProps(),
|
@@ -17197,7 +16959,8 @@ const VRating = genericComponent()({
|
|
17197
16959
|
"class": ['v-rating', {
|
17198
16960
|
'v-rating--hover': props.hover,
|
17199
16961
|
'v-rating--readonly': props.readonly
|
17200
|
-
}, themeClasses.value]
|
16962
|
+
}, themeClasses.value, props.class],
|
16963
|
+
"style": props.style
|
17201
16964
|
}, {
|
17202
16965
|
default: () => [createVNode(VRatingItem, {
|
17203
16966
|
"value": 0,
|
@@ -17297,6 +17060,7 @@ const makeVSlideGroupProps = propsFactory({
|
|
17297
17060
|
type: [Boolean, String],
|
17298
17061
|
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
17299
17062
|
},
|
17063
|
+
...makeComponentProps(),
|
17300
17064
|
...makeTagProps(),
|
17301
17065
|
...makeGroupProps({
|
17302
17066
|
selectedClass: 'v-slide-group-item--active'
|
@@ -17460,7 +17224,7 @@ const VSlideGroup = genericComponent()({
|
|
17460
17224
|
function focus(location) {
|
17461
17225
|
if (!contentRef.value) return;
|
17462
17226
|
if (!location) {
|
17463
|
-
const focusable =
|
17227
|
+
const focusable = focusableChildren(contentRef.value);
|
17464
17228
|
focusable[0]?.focus();
|
17465
17229
|
} else if (location === 'next') {
|
17466
17230
|
const el = contentRef.value.querySelector(':focus')?.nextElementSibling;
|
@@ -17537,7 +17301,8 @@ const VSlideGroup = genericComponent()({
|
|
17537
17301
|
'v-slide-group--vertical': !isHorizontal.value,
|
17538
17302
|
'v-slide-group--has-affixes': hasAffixes.value,
|
17539
17303
|
'v-slide-group--is-overflowing': isOverflowing.value
|
17540
|
-
}],
|
17304
|
+
}, props.class],
|
17305
|
+
"style": props.style,
|
17541
17306
|
"tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
|
17542
17307
|
"onFocus": onFocus
|
17543
17308
|
}, {
|
@@ -17687,7 +17452,8 @@ const VSnackbar = genericComponent()({
|
|
17687
17452
|
'v-snackbar--active': isActive.value,
|
17688
17453
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
17689
17454
|
'v-snackbar--vertical': props.vertical
|
17690
|
-
}, positionClasses.value]
|
17455
|
+
}, positionClasses.value, props.class],
|
17456
|
+
"style": props.style
|
17691
17457
|
}, overlayProps, {
|
17692
17458
|
"modelValue": isActive.value,
|
17693
17459
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -17787,7 +17553,8 @@ const VSwitch = genericComponent()({
|
|
17787
17553
|
'v-switch--inset': props.inset
|
17788
17554
|
}, {
|
17789
17555
|
'v-switch--indeterminate': indeterminate.value
|
17790
|
-
}, loaderClasses.value]
|
17556
|
+
}, loaderClasses.value, props.class],
|
17557
|
+
"style": props.style
|
17791
17558
|
}, inputAttrs, inputProps, {
|
17792
17559
|
"id": id.value,
|
17793
17560
|
"focused": isFocused.value
|
@@ -17856,6 +17623,7 @@ const VSystemBar = genericComponent()({
|
|
17856
17623
|
color: String,
|
17857
17624
|
height: [Number, String],
|
17858
17625
|
window: Boolean,
|
17626
|
+
...makeComponentProps(),
|
17859
17627
|
...makeElevationProps(),
|
17860
17628
|
...makeLayoutItemProps(),
|
17861
17629
|
...makeRoundedProps(),
|
@@ -17897,8 +17665,8 @@ const VSystemBar = genericComponent()({
|
|
17897
17665
|
useRender(() => createVNode(props.tag, {
|
17898
17666
|
"class": ['v-system-bar', {
|
17899
17667
|
'v-system-bar--window': props.window
|
17900
|
-
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
|
17901
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value]
|
17668
|
+
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
17669
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
|
17902
17670
|
}, slots));
|
17903
17671
|
return {};
|
17904
17672
|
}
|
@@ -17971,10 +17739,10 @@ const VTab = genericComponent()({
|
|
17971
17739
|
useRender(() => {
|
17972
17740
|
const [btnProps] = VBtn.filterProps(props);
|
17973
17741
|
return createVNode(VBtn, mergeProps({
|
17974
|
-
"_as": "VTab",
|
17975
17742
|
"symbol": VTabsSymbol,
|
17976
17743
|
"ref": rootEl,
|
17977
|
-
"class": ['v-tab'],
|
17744
|
+
"class": ['v-tab', props.class],
|
17745
|
+
"style": props.style,
|
17978
17746
|
"tabindex": isSelected.value ? 0 : -1,
|
17979
17747
|
"role": "tab",
|
17980
17748
|
"aria-selected": String(isSelected.value),
|
@@ -18069,10 +17837,10 @@ const VTabs = genericComponent()({
|
|
18069
17837
|
'v-tabs--fixed-tabs': props.fixedTabs,
|
18070
17838
|
'v-tabs--grow': props.grow,
|
18071
17839
|
'v-tabs--stacked': props.stacked
|
18072
|
-
}, densityClasses.value, backgroundColorClasses.value],
|
17840
|
+
}, densityClasses.value, backgroundColorClasses.value, props.class],
|
18073
17841
|
"style": [{
|
18074
17842
|
'--v-tabs-height': convertToUnit(props.height)
|
18075
|
-
}, backgroundColorStyles.value],
|
17843
|
+
}, backgroundColorStyles.value, props.style],
|
18076
17844
|
"role": "tablist",
|
18077
17845
|
"symbol": VTabsSymbol
|
18078
17846
|
}), {
|
@@ -18092,6 +17860,7 @@ const VTable = genericComponent()({
|
|
18092
17860
|
fixedFooter: Boolean,
|
18093
17861
|
height: [Number, String],
|
18094
17862
|
hover: Boolean,
|
17863
|
+
...makeComponentProps(),
|
18095
17864
|
...makeDensityProps(),
|
18096
17865
|
...makeTagProps(),
|
18097
17866
|
...makeThemeProps()
|
@@ -18114,7 +17883,8 @@ const VTable = genericComponent()({
|
|
18114
17883
|
'v-table--has-top': !!slots.top,
|
18115
17884
|
'v-table--has-bottom': !!slots.bottom,
|
18116
17885
|
'v-table--hover': props.hover
|
18117
|
-
}, themeClasses.value, densityClasses.value]
|
17886
|
+
}, themeClasses.value, densityClasses.value, props.class],
|
17887
|
+
"style": props.style
|
18118
17888
|
}, {
|
18119
17889
|
default: () => [slots.top?.(), slots.default ? createVNode("div", {
|
18120
17890
|
"class": "v-table__wrapper",
|
@@ -18279,7 +18049,8 @@ const VTextarea = genericComponent()({
|
|
18279
18049
|
'v-textarea--auto-grow': props.autoGrow,
|
18280
18050
|
'v-textarea--no-resize': props.noResize || props.autoGrow,
|
18281
18051
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
18282
|
-
}]
|
18052
|
+
}, props.class],
|
18053
|
+
"style": props.style
|
18283
18054
|
}, rootAttrs, inputProps, {
|
18284
18055
|
"focused": isFocused.value
|
18285
18056
|
}), {
|
@@ -18363,6 +18134,7 @@ const VThemeProvider = genericComponent()({
|
|
18363
18134
|
name: 'VThemeProvider',
|
18364
18135
|
props: {
|
18365
18136
|
withBackground: Boolean,
|
18137
|
+
...makeComponentProps(),
|
18366
18138
|
...makeThemeProps(),
|
18367
18139
|
...makeTagProps()
|
18368
18140
|
},
|
@@ -18376,7 +18148,8 @@ const VThemeProvider = genericComponent()({
|
|
18376
18148
|
return () => {
|
18377
18149
|
if (!props.withBackground) return slots.default?.();
|
18378
18150
|
return createVNode(props.tag, {
|
18379
|
-
"class": ['v-theme-provider', themeClasses.value]
|
18151
|
+
"class": ['v-theme-provider', themeClasses.value, props.class],
|
18152
|
+
"style": props.style
|
18380
18153
|
}, {
|
18381
18154
|
default: () => [slots.default?.()]
|
18382
18155
|
});
|
@@ -18421,6 +18194,7 @@ const VTimeline = genericComponent()({
|
|
18421
18194
|
type: String,
|
18422
18195
|
validator: v => ['start', 'end', 'both'].includes(v)
|
18423
18196
|
},
|
18197
|
+
...makeComponentProps(),
|
18424
18198
|
...makeDensityProps(),
|
18425
18199
|
...makeTagProps(),
|
18426
18200
|
...makeThemeProps()
|
@@ -18464,10 +18238,10 @@ const VTimeline = genericComponent()({
|
|
18464
18238
|
useRender(() => createVNode(props.tag, {
|
18465
18239
|
"class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
|
18466
18240
|
'v-timeline--inset-line': !!props.lineInset
|
18467
|
-
}, themeClasses.value, densityClasses.value, sideClasses.value],
|
18468
|
-
"style": {
|
18241
|
+
}, themeClasses.value, densityClasses.value, sideClasses.value, props.class],
|
18242
|
+
"style": [{
|
18469
18243
|
'--v-timeline-line-thickness': convertToUnit(props.lineThickness)
|
18470
|
-
}
|
18244
|
+
}, props.style]
|
18471
18245
|
}, slots));
|
18472
18246
|
return {};
|
18473
18247
|
}
|
@@ -18482,6 +18256,7 @@ const VTimelineDivider = genericComponent()({
|
|
18482
18256
|
icon: IconValue,
|
18483
18257
|
iconColor: String,
|
18484
18258
|
lineColor: String,
|
18259
|
+
...makeComponentProps(),
|
18485
18260
|
...makeRoundedProps(),
|
18486
18261
|
...makeSizeProps(),
|
18487
18262
|
...makeElevationProps()
|
@@ -18511,7 +18286,8 @@ const VTimelineDivider = genericComponent()({
|
|
18511
18286
|
useRender(() => createVNode("div", {
|
18512
18287
|
"class": ['v-timeline-divider', {
|
18513
18288
|
'v-timeline-divider--fill-dot': props.fillDot
|
18514
|
-
}]
|
18289
|
+
}, props.class],
|
18290
|
+
"style": props.style
|
18515
18291
|
}, [createVNode("div", {
|
18516
18292
|
"class": ['v-timeline-divider__before', lineColorClasses.value],
|
18517
18293
|
"style": lineColorStyles.value
|
@@ -18561,11 +18337,12 @@ const VTimelineItem = genericComponent()({
|
|
18561
18337
|
icon: IconValue,
|
18562
18338
|
iconColor: String,
|
18563
18339
|
lineInset: [Number, String],
|
18564
|
-
...
|
18340
|
+
...makeComponentProps(),
|
18341
|
+
...makeDimensionProps(),
|
18565
18342
|
...makeElevationProps(),
|
18343
|
+
...makeRoundedProps(),
|
18566
18344
|
...makeSizeProps(),
|
18567
|
-
...makeTagProps()
|
18568
|
-
...makeDimensionProps()
|
18345
|
+
...makeTagProps()
|
18569
18346
|
},
|
18570
18347
|
setup(props, _ref) {
|
18571
18348
|
let {
|
@@ -18585,11 +18362,11 @@ const VTimelineItem = genericComponent()({
|
|
18585
18362
|
useRender(() => createVNode("div", {
|
18586
18363
|
"class": ['v-timeline-item', {
|
18587
18364
|
'v-timeline-item--fill-dot': props.fillDot
|
18588
|
-
}],
|
18589
|
-
"style": {
|
18365
|
+
}, props.class],
|
18366
|
+
"style": [{
|
18590
18367
|
'--v-timeline-dot-size': convertToUnit(dotSize.value),
|
18591
18368
|
'--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
|
18592
|
-
}
|
18369
|
+
}, props.style]
|
18593
18370
|
}, [createVNode("div", {
|
18594
18371
|
"class": "v-timeline-item__body",
|
18595
18372
|
"style": dimensionStyles.value
|
@@ -18665,7 +18442,8 @@ const VTooltip = genericComponent()({
|
|
18665
18442
|
const [overlayProps] = VOverlay.filterProps(props);
|
18666
18443
|
return createVNode(VOverlay, mergeProps({
|
18667
18444
|
"ref": overlay,
|
18668
|
-
"class": ['v-tooltip'],
|
18445
|
+
"class": ['v-tooltip', props.class],
|
18446
|
+
"style": props.style,
|
18669
18447
|
"id": id.value
|
18670
18448
|
}, overlayProps, {
|
18671
18449
|
"modelValue": isActive.value,
|
@@ -18713,7 +18491,8 @@ const VValidation = genericComponent()({
|
|
18713
18491
|
const VVirtualScrollItem = genericComponent()({
|
18714
18492
|
name: 'VVirtualScrollItem',
|
18715
18493
|
props: {
|
18716
|
-
dynamicHeight: Boolean
|
18494
|
+
dynamicHeight: Boolean,
|
18495
|
+
...makeComponentProps()
|
18717
18496
|
},
|
18718
18497
|
emits: {
|
18719
18498
|
'update:height': height => true
|
@@ -18740,7 +18519,8 @@ const VVirtualScrollItem = genericComponent()({
|
|
18740
18519
|
onUpdated(updateHeight);
|
18741
18520
|
useRender(() => createVNode("div", {
|
18742
18521
|
"ref": props.dynamicHeight ? resizeRef : undefined,
|
18743
|
-
"class":
|
18522
|
+
"class": ['v-virtual-scroll__item', props.class],
|
18523
|
+
"style": props.style
|
18744
18524
|
}, [slots.default?.()]));
|
18745
18525
|
}
|
18746
18526
|
});
|
@@ -18757,7 +18537,7 @@ const VVirtualScroll = genericComponent()({
|
|
18757
18537
|
default: () => []
|
18758
18538
|
},
|
18759
18539
|
itemHeight: [Number, String],
|
18760
|
-
|
18540
|
+
...makeComponentProps(),
|
18761
18541
|
...makeDimensionProps()
|
18762
18542
|
},
|
18763
18543
|
setup(props, _ref) {
|
@@ -18784,7 +18564,7 @@ const VVirtualScroll = genericComponent()({
|
|
18784
18564
|
const sizeMap = new Map();
|
18785
18565
|
let sizes = createRange(props.items.length).map(() => itemHeight.value);
|
18786
18566
|
const visibleItems = computed(() => {
|
18787
|
-
return
|
18567
|
+
return Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
|
18788
18568
|
});
|
18789
18569
|
function handleItemResize(index, height) {
|
18790
18570
|
itemHeight.value = Math.max(itemHeight.value, height);
|
@@ -18795,20 +18575,13 @@ const VVirtualScroll = genericComponent()({
|
|
18795
18575
|
return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
|
18796
18576
|
}
|
18797
18577
|
function calculateMidPointIndex(scrollTop) {
|
18798
|
-
|
18799
|
-
let
|
18800
|
-
|
18801
|
-
|
18802
|
-
|
18803
|
-
if (middleOffset === scrollTop) {
|
18804
|
-
return middle;
|
18805
|
-
} else if (middleOffset < scrollTop) {
|
18806
|
-
start = middle + 1;
|
18807
|
-
} else if (middleOffset > scrollTop) {
|
18808
|
-
end = middle - 1;
|
18809
|
-
}
|
18578
|
+
const end = props.items.length;
|
18579
|
+
let middle = 0;
|
18580
|
+
let middleOffset = 0;
|
18581
|
+
while (middleOffset < scrollTop && middle < end) {
|
18582
|
+
middleOffset += sizes[middle++] || itemHeight.value;
|
18810
18583
|
}
|
18811
|
-
return
|
18584
|
+
return middle - 1;
|
18812
18585
|
}
|
18813
18586
|
let lastScrollTop = 0;
|
18814
18587
|
function handleScroll() {
|
@@ -18830,8 +18603,12 @@ const VVirtualScroll = genericComponent()({
|
|
18830
18603
|
const offset = calculateOffset(index);
|
18831
18604
|
rootEl.value.scrollTop = offset;
|
18832
18605
|
}
|
18606
|
+
const items = computed(() => props.items.map((item, index) => ({
|
18607
|
+
raw: item,
|
18608
|
+
index
|
18609
|
+
})));
|
18833
18610
|
const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value));
|
18834
|
-
const computedItems = computed(() =>
|
18611
|
+
const computedItems = computed(() => items.value.slice(first.value, last.value));
|
18835
18612
|
const paddingTop = computed(() => calculateOffset(first.value));
|
18836
18613
|
const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
|
18837
18614
|
const {
|
@@ -18856,23 +18633,23 @@ const VVirtualScroll = genericComponent()({
|
|
18856
18633
|
});
|
18857
18634
|
useRender(() => createVNode("div", {
|
18858
18635
|
"ref": rootEl,
|
18859
|
-
"class":
|
18636
|
+
"class": ['v-virtual-scroll', props.class],
|
18860
18637
|
"onScroll": handleScroll,
|
18861
|
-
"style": dimensionStyles.value
|
18638
|
+
"style": [dimensionStyles.value, props.style]
|
18862
18639
|
}, [createVNode("div", {
|
18863
18640
|
"class": "v-virtual-scroll__container",
|
18864
18641
|
"style": {
|
18865
18642
|
paddingTop: convertToUnit(paddingTop.value),
|
18866
18643
|
paddingBottom: convertToUnit(paddingBottom.value)
|
18867
18644
|
}
|
18868
|
-
}, [computedItems.value.map(
|
18869
|
-
"key": index,
|
18645
|
+
}, [computedItems.value.map(item => createVNode(VVirtualScrollItem, {
|
18646
|
+
"key": item.index,
|
18870
18647
|
"dynamicHeight": !props.itemHeight,
|
18871
|
-
"onUpdate:height": height => handleItemResize(index
|
18648
|
+
"onUpdate:height": height => handleItemResize(item.index, height)
|
18872
18649
|
}, {
|
18873
18650
|
default: () => [slots.default?.({
|
18874
|
-
item,
|
18875
|
-
index: index
|
18651
|
+
item: item.raw,
|
18652
|
+
index: item.index
|
18876
18653
|
})]
|
18877
18654
|
}))])]));
|
18878
18655
|
return {
|
@@ -19306,6 +19083,17 @@ const VDataTableHeaders = genericComponent()({
|
|
19306
19083
|
backgroundColorClasses,
|
19307
19084
|
backgroundColorStyles
|
19308
19085
|
} = useBackgroundColor(props, 'color');
|
19086
|
+
const slotProps = computed(() => ({
|
19087
|
+
headers: headers.value,
|
19088
|
+
columns: columns.value,
|
19089
|
+
toggleSort,
|
19090
|
+
sortBy: sortBy.value,
|
19091
|
+
someSelected: someSelected.value,
|
19092
|
+
allSelected: allSelected.value,
|
19093
|
+
selectAll,
|
19094
|
+
getSortIcon,
|
19095
|
+
getFixedStyles
|
19096
|
+
}));
|
19309
19097
|
const VDataTableHeaderCell = _ref2 => {
|
19310
19098
|
let {
|
19311
19099
|
column,
|
@@ -19333,14 +19121,14 @@ const VDataTableHeaders = genericComponent()({
|
|
19333
19121
|
"noPadding": noPadding
|
19334
19122
|
}, {
|
19335
19123
|
default: () => {
|
19336
|
-
const
|
19337
|
-
const
|
19124
|
+
const columnSlotName = `column.${column.key}`;
|
19125
|
+
const columnSlotProps = {
|
19338
19126
|
column,
|
19339
19127
|
selectAll
|
19340
19128
|
};
|
19341
|
-
if (slots[
|
19129
|
+
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
19342
19130
|
if (column.key === 'data-table-select') {
|
19343
|
-
return slots['column.data-table-select']?.(
|
19131
|
+
return slots['column.data-table-select']?.(columnSlotProps) ?? createVNode(VCheckboxBtn, {
|
19344
19132
|
"modelValue": allSelected.value,
|
19345
19133
|
"indeterminate": someSelected.value && !allSelected.value,
|
19346
19134
|
"onUpdate:modelValue": selectAll
|
@@ -19360,22 +19148,24 @@ const VDataTableHeaders = genericComponent()({
|
|
19360
19148
|
}
|
19361
19149
|
});
|
19362
19150
|
};
|
19363
|
-
useRender(() =>
|
19364
|
-
"
|
19365
|
-
|
19366
|
-
|
19367
|
-
|
19368
|
-
"
|
19369
|
-
|
19370
|
-
"
|
19371
|
-
|
19372
|
-
|
19373
|
-
|
19374
|
-
|
19375
|
-
|
19376
|
-
|
19377
|
-
|
19378
|
-
|
19151
|
+
useRender(() => {
|
19152
|
+
return createVNode(Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => createVNode("tr", null, [row.map((column, x) => createVNode(VDataTableHeaderCell, {
|
19153
|
+
"column": column,
|
19154
|
+
"x": x,
|
19155
|
+
"y": y
|
19156
|
+
}, null))])), props.loading && createVNode("tr", {
|
19157
|
+
"class": "v-data-table__progress"
|
19158
|
+
}, [createVNode("th", {
|
19159
|
+
"colspan": columns.value.length
|
19160
|
+
}, [createVNode(LoaderSlot, {
|
19161
|
+
"name": "v-data-table-headers",
|
19162
|
+
"active": true,
|
19163
|
+
"color": typeof props.loading === 'boolean' ? undefined : props.loading,
|
19164
|
+
"indeterminate": true
|
19165
|
+
}, {
|
19166
|
+
default: slots.loader
|
19167
|
+
})])])]);
|
19168
|
+
});
|
19379
19169
|
}
|
19380
19170
|
});
|
19381
19171
|
|
@@ -19674,9 +19464,7 @@ const VDataTableRow = defineComponent({
|
|
19674
19464
|
'v-data-table__tr--clickable': !!props.onClick
|
19675
19465
|
}],
|
19676
19466
|
"onClick": props.onClick
|
19677
|
-
}, [
|
19678
|
-
"key": "no-data"
|
19679
|
-
}, slots), props.item && columns.value.map((column, i) => createVNode(VDataTableColumn, {
|
19467
|
+
}, [props.item && columns.value.map((column, i) => createVNode(VDataTableColumn, {
|
19680
19468
|
"align": column.align,
|
19681
19469
|
"fixed": column.fixed,
|
19682
19470
|
"fixedOffset": column.fixedOffset,
|
@@ -19766,13 +19554,13 @@ const VDataTableRows = genericComponent()({
|
|
19766
19554
|
useRender(() => {
|
19767
19555
|
if (props.loading && slots.loading) {
|
19768
19556
|
return createVNode("tr", {
|
19769
|
-
"class": "v-data-table-rows-
|
19557
|
+
"class": "v-data-table-rows-loading",
|
19770
19558
|
"key": "loading"
|
19771
19559
|
}, [createVNode("td", {
|
19772
19560
|
"colspan": columns.value.length
|
19773
19561
|
}, [slots.loading()])]);
|
19774
19562
|
}
|
19775
|
-
if (!props.loading && !props.items.length && !props.hideNoData
|
19563
|
+
if (!props.loading && !props.items.length && !props.hideNoData) {
|
19776
19564
|
return createVNode("tr", {
|
19777
19565
|
"class": "v-data-table-rows-no-data",
|
19778
19566
|
"key": "no-data"
|
@@ -20251,7 +20039,7 @@ const VDataTable = genericComponent()({
|
|
20251
20039
|
top: slots.top,
|
20252
20040
|
default: slots.default ?? (() => createVNode(Fragment, null, [slots.colgroup?.({
|
20253
20041
|
columns
|
20254
|
-
}), createVNode("thead", null, [
|
20042
|
+
}), createVNode("thead", null, [createVNode(VDataTableHeaders, {
|
20255
20043
|
"sticky": props.fixedHeader,
|
20256
20044
|
"multiSort": props.multiSort
|
20257
20045
|
}, slots)]), slots.thead?.(), createVNode("tbody", null, [slots.body ? slots.body() : createVNode(VDataTableRows, {
|
@@ -20617,7 +20405,7 @@ const VDataTableServer = genericComponent()({
|
|
20617
20405
|
}), createVNode("thead", {
|
20618
20406
|
"class": "v-data-table__thead",
|
20619
20407
|
"role": "rowgroup"
|
20620
|
-
}, [
|
20408
|
+
}, [createVNode(VDataTableHeaders, {
|
20621
20409
|
"sticky": props.fixedHeader,
|
20622
20410
|
"loading": props.loading,
|
20623
20411
|
"color": props.color
|
@@ -20637,6 +20425,211 @@ const VDataTableServer = genericComponent()({
|
|
20637
20425
|
|
20638
20426
|
// Types
|
20639
20427
|
|
20428
|
+
const VInfiniteScrollIntersect = defineComponent({
|
20429
|
+
name: 'VInfiniteScrollIntersect',
|
20430
|
+
props: {
|
20431
|
+
side: {
|
20432
|
+
type: String,
|
20433
|
+
required: true
|
20434
|
+
},
|
20435
|
+
rootRef: null,
|
20436
|
+
rootMargin: String
|
20437
|
+
},
|
20438
|
+
emits: {
|
20439
|
+
intersect: side => true
|
20440
|
+
},
|
20441
|
+
setup(props, _ref) {
|
20442
|
+
let {
|
20443
|
+
emit
|
20444
|
+
} = _ref;
|
20445
|
+
const {
|
20446
|
+
intersectionRef,
|
20447
|
+
isIntersecting
|
20448
|
+
} = useIntersectionObserver(entries => {}, props.rootMargin ? {
|
20449
|
+
root: props.rootRef,
|
20450
|
+
rootMargin: props.rootMargin
|
20451
|
+
} : undefined);
|
20452
|
+
watch(isIntersecting, async val => {
|
20453
|
+
if (val) emit('intersect', props.side);
|
20454
|
+
});
|
20455
|
+
useRender(() => createVNode("div", {
|
20456
|
+
"class": "v-infinite-scroll-intersect",
|
20457
|
+
"ref": intersectionRef
|
20458
|
+
}, [createTextVNode("\xA0")]));
|
20459
|
+
return {};
|
20460
|
+
}
|
20461
|
+
});
|
20462
|
+
const VInfiniteScroll = genericComponent()({
|
20463
|
+
name: 'VInfiniteScroll',
|
20464
|
+
props: {
|
20465
|
+
color: String,
|
20466
|
+
direction: {
|
20467
|
+
type: String,
|
20468
|
+
default: 'vertical',
|
20469
|
+
validator: v => ['vertical', 'horizontal'].includes(v)
|
20470
|
+
},
|
20471
|
+
side: {
|
20472
|
+
type: String,
|
20473
|
+
default: 'end',
|
20474
|
+
validator: v => ['start', 'end', 'both'].includes(v)
|
20475
|
+
},
|
20476
|
+
mode: {
|
20477
|
+
type: String,
|
20478
|
+
default: 'intersect',
|
20479
|
+
validator: v => ['intersect', 'manual'].includes(v)
|
20480
|
+
},
|
20481
|
+
margin: [Number, String],
|
20482
|
+
loadMoreText: {
|
20483
|
+
type: String,
|
20484
|
+
default: '$vuetify.infiniteScroll.loadMore'
|
20485
|
+
},
|
20486
|
+
emptyText: {
|
20487
|
+
type: String,
|
20488
|
+
default: '$vuetify.infiniteScroll.empty'
|
20489
|
+
},
|
20490
|
+
...makeDimensionProps()
|
20491
|
+
},
|
20492
|
+
emits: {
|
20493
|
+
load: options => true
|
20494
|
+
},
|
20495
|
+
setup(props, _ref2) {
|
20496
|
+
let {
|
20497
|
+
slots,
|
20498
|
+
emit
|
20499
|
+
} = _ref2;
|
20500
|
+
const rootEl = ref();
|
20501
|
+
const startStatus = ref('ok');
|
20502
|
+
const endStatus = ref('ok');
|
20503
|
+
const margin = computed(() => convertToUnit(props.margin));
|
20504
|
+
function setScrollAmount(amount) {
|
20505
|
+
if (!rootEl.value) return;
|
20506
|
+
const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';
|
20507
|
+
rootEl.value[property] = amount;
|
20508
|
+
}
|
20509
|
+
function getScrollAmount() {
|
20510
|
+
if (!rootEl.value) return 0;
|
20511
|
+
const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';
|
20512
|
+
return rootEl.value[property];
|
20513
|
+
}
|
20514
|
+
function getScrollSize() {
|
20515
|
+
if (!rootEl.value) return 0;
|
20516
|
+
const property = props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth';
|
20517
|
+
return rootEl.value[property];
|
20518
|
+
}
|
20519
|
+
function getContainerSize() {
|
20520
|
+
if (!rootEl.value) return 0;
|
20521
|
+
const property = props.direction === 'vertical' ? 'clientHeight' : 'clientWidth';
|
20522
|
+
return rootEl.value[property];
|
20523
|
+
}
|
20524
|
+
onMounted(() => {
|
20525
|
+
if (!rootEl.value) return;
|
20526
|
+
if (props.side === 'start') {
|
20527
|
+
setScrollAmount(getScrollSize());
|
20528
|
+
} else if (props.side === 'both') {
|
20529
|
+
setScrollAmount(getScrollSize() / 2 - getContainerSize() / 2);
|
20530
|
+
}
|
20531
|
+
});
|
20532
|
+
function setStatus(side, status) {
|
20533
|
+
if (side === 'start') {
|
20534
|
+
startStatus.value = status;
|
20535
|
+
} else if (side === 'end') {
|
20536
|
+
endStatus.value = status;
|
20537
|
+
}
|
20538
|
+
}
|
20539
|
+
function getStatus(side) {
|
20540
|
+
return side === 'start' ? startStatus.value : endStatus.value;
|
20541
|
+
}
|
20542
|
+
let previousScrollSize = 0;
|
20543
|
+
function handleIntersect(side) {
|
20544
|
+
const status = getStatus(side);
|
20545
|
+
if (!rootEl.value || status === 'loading') return;
|
20546
|
+
previousScrollSize = getScrollSize();
|
20547
|
+
setStatus(side, 'loading');
|
20548
|
+
function done(status) {
|
20549
|
+
setStatus(side, status);
|
20550
|
+
nextTick(() => {
|
20551
|
+
if (status === 'ok' && side === 'start') {
|
20552
|
+
setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());
|
20553
|
+
}
|
20554
|
+
});
|
20555
|
+
}
|
20556
|
+
emit('load', {
|
20557
|
+
side,
|
20558
|
+
done
|
20559
|
+
});
|
20560
|
+
}
|
20561
|
+
const {
|
20562
|
+
t
|
20563
|
+
} = useLocale();
|
20564
|
+
function renderSide(side, status) {
|
20565
|
+
if (props.side !== side && props.side !== 'both') return;
|
20566
|
+
const onClick = () => handleIntersect(side);
|
20567
|
+
const slotProps = {
|
20568
|
+
side,
|
20569
|
+
props: {
|
20570
|
+
onClick,
|
20571
|
+
color: props.color
|
20572
|
+
}
|
20573
|
+
};
|
20574
|
+
if (status === 'error') return slots.error?.(slotProps);
|
20575
|
+
if (status === 'empty') return slots.empty?.(slotProps) ?? createVNode("div", null, [t(props.emptyText)]);
|
20576
|
+
if (props.mode === 'manual') {
|
20577
|
+
if (status === 'loading') {
|
20578
|
+
return slots.loading?.(slotProps) ?? createVNode(VProgressCircular, {
|
20579
|
+
"indeterminate": true,
|
20580
|
+
"color": props.color
|
20581
|
+
}, null);
|
20582
|
+
}
|
20583
|
+
return slots['load-more']?.(slotProps) ?? createVNode(VBtn, {
|
20584
|
+
"variant": "outlined",
|
20585
|
+
"color": props.color,
|
20586
|
+
"onClick": onClick
|
20587
|
+
}, {
|
20588
|
+
default: () => [t(props.loadMoreText)]
|
20589
|
+
});
|
20590
|
+
}
|
20591
|
+
return slots.loading?.(slotProps) ?? createVNode(VProgressCircular, {
|
20592
|
+
"indeterminate": true,
|
20593
|
+
"color": props.color
|
20594
|
+
}, null);
|
20595
|
+
}
|
20596
|
+
const {
|
20597
|
+
dimensionStyles
|
20598
|
+
} = useDimension(props);
|
20599
|
+
useRender(() => {
|
20600
|
+
const hasStartIntersect = props.side === 'start' || props.side === 'both';
|
20601
|
+
const hasEndIntersect = props.side === 'end' || props.side === 'both';
|
20602
|
+
const intersectMode = props.mode === 'intersect';
|
20603
|
+
return createVNode("div", {
|
20604
|
+
"ref": rootEl,
|
20605
|
+
"class": ['v-infinite-scroll', `v-infinite-scroll--${props.direction}`, {
|
20606
|
+
'v-infinite-scroll--start': hasStartIntersect,
|
20607
|
+
'v-infinite-scroll--end': hasEndIntersect
|
20608
|
+
}],
|
20609
|
+
"style": dimensionStyles.value
|
20610
|
+
}, [createVNode("div", {
|
20611
|
+
"class": "v-infinite-scroll__side"
|
20612
|
+
}, [renderSide('start', startStatus.value)]), rootEl.value && hasStartIntersect && intersectMode && createVNode(VInfiniteScrollIntersect, {
|
20613
|
+
"key": "start",
|
20614
|
+
"side": "start",
|
20615
|
+
"onIntersect": handleIntersect,
|
20616
|
+
"rootRef": rootEl.value,
|
20617
|
+
"rootMargin": margin.value
|
20618
|
+
}, null), slots.default?.(), rootEl.value && hasEndIntersect && intersectMode && createVNode(VInfiniteScrollIntersect, {
|
20619
|
+
"key": "end",
|
20620
|
+
"side": "end",
|
20621
|
+
"onIntersect": handleIntersect,
|
20622
|
+
"rootRef": rootEl.value,
|
20623
|
+
"rootMargin": margin.value
|
20624
|
+
}, null), createVNode("div", {
|
20625
|
+
"class": "v-infinite-scroll__side"
|
20626
|
+
}, [renderSide('end', endStatus.value)])]);
|
20627
|
+
});
|
20628
|
+
}
|
20629
|
+
});
|
20630
|
+
|
20631
|
+
// Types
|
20632
|
+
|
20640
20633
|
const rootTypes = {
|
20641
20634
|
actions: 'button@2',
|
20642
20635
|
article: 'heading, paragraph',
|
@@ -20836,6 +20829,7 @@ var components = /*#__PURE__*/Object.freeze({
|
|
20836
20829
|
VHover: VHover,
|
20837
20830
|
VIcon: VIcon,
|
20838
20831
|
VImg: VImg,
|
20832
|
+
VInfiniteScroll: VInfiniteScroll,
|
20839
20833
|
VInput: VInput,
|
20840
20834
|
VItem: VItem,
|
20841
20835
|
VItemGroup: VItemGroup,
|
@@ -20913,130 +20907,542 @@ var components = /*#__PURE__*/Object.freeze({
|
|
20913
20907
|
|
20914
20908
|
// Types
|
20915
20909
|
|
20916
|
-
function mounted$2(el, binding) {
|
20917
|
-
const modifiers = binding.modifiers || {};
|
20918
|
-
const value = binding.value;
|
20919
|
-
const {
|
20920
|
-
once,
|
20921
|
-
immediate,
|
20922
|
-
...modifierKeys
|
20923
|
-
} = modifiers;
|
20924
|
-
const defaultValue = !Object.keys(modifierKeys).length;
|
20925
|
-
const {
|
20926
|
-
handler,
|
20927
|
-
options
|
20928
|
-
} = typeof value === 'object' ? value : {
|
20929
|
-
handler: value,
|
20930
|
-
options: {
|
20931
|
-
attributes: modifierKeys?.attr ?? defaultValue,
|
20932
|
-
characterData: modifierKeys?.char ?? defaultValue,
|
20933
|
-
childList: modifierKeys?.child ?? defaultValue,
|
20934
|
-
subtree: modifierKeys?.sub ?? defaultValue
|
20910
|
+
function mounted$2(el, binding) {
|
20911
|
+
const modifiers = binding.modifiers || {};
|
20912
|
+
const value = binding.value;
|
20913
|
+
const {
|
20914
|
+
once,
|
20915
|
+
immediate,
|
20916
|
+
...modifierKeys
|
20917
|
+
} = modifiers;
|
20918
|
+
const defaultValue = !Object.keys(modifierKeys).length;
|
20919
|
+
const {
|
20920
|
+
handler,
|
20921
|
+
options
|
20922
|
+
} = typeof value === 'object' ? value : {
|
20923
|
+
handler: value,
|
20924
|
+
options: {
|
20925
|
+
attributes: modifierKeys?.attr ?? defaultValue,
|
20926
|
+
characterData: modifierKeys?.char ?? defaultValue,
|
20927
|
+
childList: modifierKeys?.child ?? defaultValue,
|
20928
|
+
subtree: modifierKeys?.sub ?? defaultValue
|
20929
|
+
}
|
20930
|
+
};
|
20931
|
+
const observer = new MutationObserver(function () {
|
20932
|
+
let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
20933
|
+
let observer = arguments.length > 1 ? arguments[1] : undefined;
|
20934
|
+
handler?.(mutations, observer);
|
20935
|
+
if (once) unmounted$2(el, binding);
|
20936
|
+
});
|
20937
|
+
if (immediate) handler?.([], observer);
|
20938
|
+
el._mutate = Object(el._mutate);
|
20939
|
+
el._mutate[binding.instance.$.uid] = {
|
20940
|
+
observer
|
20941
|
+
};
|
20942
|
+
observer.observe(el, options);
|
20943
|
+
}
|
20944
|
+
function unmounted$2(el, binding) {
|
20945
|
+
if (!el._mutate?.[binding.instance.$.uid]) return;
|
20946
|
+
el._mutate[binding.instance.$.uid].observer.disconnect();
|
20947
|
+
delete el._mutate[binding.instance.$.uid];
|
20948
|
+
}
|
20949
|
+
const Mutate = {
|
20950
|
+
mounted: mounted$2,
|
20951
|
+
unmounted: unmounted$2
|
20952
|
+
};
|
20953
|
+
|
20954
|
+
function mounted$1(el, binding) {
|
20955
|
+
const handler = binding.value;
|
20956
|
+
const options = {
|
20957
|
+
passive: !binding.modifiers?.active
|
20958
|
+
};
|
20959
|
+
window.addEventListener('resize', handler, options);
|
20960
|
+
el._onResize = Object(el._onResize);
|
20961
|
+
el._onResize[binding.instance.$.uid] = {
|
20962
|
+
handler,
|
20963
|
+
options
|
20964
|
+
};
|
20965
|
+
if (!binding.modifiers?.quiet) {
|
20966
|
+
handler();
|
20967
|
+
}
|
20968
|
+
}
|
20969
|
+
function unmounted$1(el, binding) {
|
20970
|
+
if (!el._onResize?.[binding.instance.$.uid]) return;
|
20971
|
+
const {
|
20972
|
+
handler,
|
20973
|
+
options
|
20974
|
+
} = el._onResize[binding.instance.$.uid];
|
20975
|
+
window.removeEventListener('resize', handler, options);
|
20976
|
+
delete el._onResize[binding.instance.$.uid];
|
20977
|
+
}
|
20978
|
+
const Resize = {
|
20979
|
+
mounted: mounted$1,
|
20980
|
+
unmounted: unmounted$1
|
20981
|
+
};
|
20982
|
+
|
20983
|
+
function mounted(el, binding) {
|
20984
|
+
const {
|
20985
|
+
self = false
|
20986
|
+
} = binding.modifiers ?? {};
|
20987
|
+
const value = binding.value;
|
20988
|
+
const options = typeof value === 'object' && value.options || {
|
20989
|
+
passive: true
|
20990
|
+
};
|
20991
|
+
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
20992
|
+
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
20993
|
+
if (!target) return;
|
20994
|
+
target.addEventListener('scroll', handler, options);
|
20995
|
+
el._onScroll = Object(el._onScroll);
|
20996
|
+
el._onScroll[binding.instance.$.uid] = {
|
20997
|
+
handler,
|
20998
|
+
options,
|
20999
|
+
// Don't reference self
|
21000
|
+
target: self ? undefined : target
|
21001
|
+
};
|
21002
|
+
}
|
21003
|
+
function unmounted(el, binding) {
|
21004
|
+
if (!el._onScroll?.[binding.instance.$.uid]) return;
|
21005
|
+
const {
|
21006
|
+
handler,
|
21007
|
+
options,
|
21008
|
+
target = el
|
21009
|
+
} = el._onScroll[binding.instance.$.uid];
|
21010
|
+
target.removeEventListener('scroll', handler, options);
|
21011
|
+
delete el._onScroll[binding.instance.$.uid];
|
21012
|
+
}
|
21013
|
+
function updated(el, binding) {
|
21014
|
+
if (binding.value === binding.oldValue) return;
|
21015
|
+
unmounted(el, binding);
|
21016
|
+
mounted(el, binding);
|
21017
|
+
}
|
21018
|
+
const Scroll = {
|
21019
|
+
mounted,
|
21020
|
+
unmounted,
|
21021
|
+
updated
|
21022
|
+
};
|
21023
|
+
|
21024
|
+
var directives = /*#__PURE__*/Object.freeze({
|
21025
|
+
__proto__: null,
|
21026
|
+
ClickOutside: ClickOutside,
|
21027
|
+
Intersect: Intersect,
|
21028
|
+
Mutate: Mutate,
|
21029
|
+
Resize: Resize,
|
21030
|
+
Ripple: Ripple,
|
21031
|
+
Scroll: Scroll,
|
21032
|
+
Touch: Touch
|
21033
|
+
});
|
21034
|
+
|
21035
|
+
// Utilities
|
21036
|
+
|
21037
|
+
// Types
|
21038
|
+
|
21039
|
+
function getWeekArray(date) {
|
21040
|
+
let currentWeek = [];
|
21041
|
+
const weeks = [];
|
21042
|
+
const firstDayOfMonth = startOfMonth(date);
|
21043
|
+
const lastDayOfMonth = endOfMonth(date);
|
21044
|
+
for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
|
21045
|
+
currentWeek.push(null);
|
21046
|
+
}
|
21047
|
+
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
21048
|
+
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
21049
|
+
|
21050
|
+
// Add the day to the current week
|
21051
|
+
currentWeek.push(day);
|
21052
|
+
|
21053
|
+
// If the current week has 7 days, add it to the weeks array and start a new week
|
21054
|
+
if (currentWeek.length === 7) {
|
21055
|
+
weeks.push(currentWeek);
|
21056
|
+
currentWeek = [];
|
20935
21057
|
}
|
20936
|
-
}
|
20937
|
-
|
20938
|
-
|
20939
|
-
|
20940
|
-
|
20941
|
-
|
21058
|
+
}
|
21059
|
+
for (let i = currentWeek.length; i < 7; i++) {
|
21060
|
+
currentWeek.push(null);
|
21061
|
+
}
|
21062
|
+
weeks.push(currentWeek);
|
21063
|
+
return weeks;
|
21064
|
+
}
|
21065
|
+
function startOfMonth(date) {
|
21066
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
21067
|
+
}
|
21068
|
+
function endOfMonth(date) {
|
21069
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
21070
|
+
}
|
21071
|
+
function date(value) {
|
21072
|
+
if (value == null) return null;
|
21073
|
+
if (value instanceof Date) return value;
|
21074
|
+
if (typeof value === 'string') {
|
21075
|
+
const parsed = Date.parse(value);
|
21076
|
+
if (!isNaN(parsed)) return new Date(parsed);
|
21077
|
+
}
|
21078
|
+
return null;
|
21079
|
+
}
|
21080
|
+
const firstDay = {
|
21081
|
+
'001': 1,
|
21082
|
+
AD: 1,
|
21083
|
+
AE: 6,
|
21084
|
+
AF: 6,
|
21085
|
+
AG: 0,
|
21086
|
+
AI: 1,
|
21087
|
+
AL: 1,
|
21088
|
+
AM: 1,
|
21089
|
+
AN: 1,
|
21090
|
+
AR: 1,
|
21091
|
+
AS: 0,
|
21092
|
+
AT: 1,
|
21093
|
+
AU: 0,
|
21094
|
+
AX: 1,
|
21095
|
+
AZ: 1,
|
21096
|
+
BA: 1,
|
21097
|
+
BD: 0,
|
21098
|
+
BE: 1,
|
21099
|
+
BG: 1,
|
21100
|
+
BH: 6,
|
21101
|
+
BM: 1,
|
21102
|
+
BN: 1,
|
21103
|
+
BR: 0,
|
21104
|
+
BS: 0,
|
21105
|
+
BT: 0,
|
21106
|
+
BW: 0,
|
21107
|
+
BY: 1,
|
21108
|
+
BZ: 0,
|
21109
|
+
CA: 0,
|
21110
|
+
CH: 1,
|
21111
|
+
CL: 1,
|
21112
|
+
CM: 1,
|
21113
|
+
CN: 0,
|
21114
|
+
CO: 0,
|
21115
|
+
CR: 1,
|
21116
|
+
CY: 1,
|
21117
|
+
CZ: 1,
|
21118
|
+
DE: 1,
|
21119
|
+
DJ: 6,
|
21120
|
+
DK: 1,
|
21121
|
+
DM: 0,
|
21122
|
+
DO: 0,
|
21123
|
+
DZ: 6,
|
21124
|
+
EC: 1,
|
21125
|
+
EE: 1,
|
21126
|
+
EG: 6,
|
21127
|
+
ES: 1,
|
21128
|
+
ET: 0,
|
21129
|
+
FI: 1,
|
21130
|
+
FJ: 1,
|
21131
|
+
FO: 1,
|
21132
|
+
FR: 1,
|
21133
|
+
GB: 1,
|
21134
|
+
'GB-alt-variant': 0,
|
21135
|
+
GE: 1,
|
21136
|
+
GF: 1,
|
21137
|
+
GP: 1,
|
21138
|
+
GR: 1,
|
21139
|
+
GT: 0,
|
21140
|
+
GU: 0,
|
21141
|
+
HK: 0,
|
21142
|
+
HN: 0,
|
21143
|
+
HR: 1,
|
21144
|
+
HU: 1,
|
21145
|
+
ID: 0,
|
21146
|
+
IE: 1,
|
21147
|
+
IL: 0,
|
21148
|
+
IN: 0,
|
21149
|
+
IQ: 6,
|
21150
|
+
IR: 6,
|
21151
|
+
IS: 1,
|
21152
|
+
IT: 1,
|
21153
|
+
JM: 0,
|
21154
|
+
JO: 6,
|
21155
|
+
JP: 0,
|
21156
|
+
KE: 0,
|
21157
|
+
KG: 1,
|
21158
|
+
KH: 0,
|
21159
|
+
KR: 0,
|
21160
|
+
KW: 6,
|
21161
|
+
KZ: 1,
|
21162
|
+
LA: 0,
|
21163
|
+
LB: 1,
|
21164
|
+
LI: 1,
|
21165
|
+
LK: 1,
|
21166
|
+
LT: 1,
|
21167
|
+
LU: 1,
|
21168
|
+
LV: 1,
|
21169
|
+
LY: 6,
|
21170
|
+
MC: 1,
|
21171
|
+
MD: 1,
|
21172
|
+
ME: 1,
|
21173
|
+
MH: 0,
|
21174
|
+
MK: 1,
|
21175
|
+
MM: 0,
|
21176
|
+
MN: 1,
|
21177
|
+
MO: 0,
|
21178
|
+
MQ: 1,
|
21179
|
+
MT: 0,
|
21180
|
+
MV: 5,
|
21181
|
+
MX: 0,
|
21182
|
+
MY: 1,
|
21183
|
+
MZ: 0,
|
21184
|
+
NI: 0,
|
21185
|
+
NL: 1,
|
21186
|
+
NO: 1,
|
21187
|
+
NP: 0,
|
21188
|
+
NZ: 1,
|
21189
|
+
OM: 6,
|
21190
|
+
PA: 0,
|
21191
|
+
PE: 0,
|
21192
|
+
PH: 0,
|
21193
|
+
PK: 0,
|
21194
|
+
PL: 1,
|
21195
|
+
PR: 0,
|
21196
|
+
PT: 0,
|
21197
|
+
PY: 0,
|
21198
|
+
QA: 6,
|
21199
|
+
RE: 1,
|
21200
|
+
RO: 1,
|
21201
|
+
RS: 1,
|
21202
|
+
RU: 1,
|
21203
|
+
SA: 0,
|
21204
|
+
SD: 6,
|
21205
|
+
SE: 1,
|
21206
|
+
SG: 0,
|
21207
|
+
SI: 1,
|
21208
|
+
SK: 1,
|
21209
|
+
SM: 1,
|
21210
|
+
SV: 0,
|
21211
|
+
SY: 6,
|
21212
|
+
TH: 0,
|
21213
|
+
TJ: 1,
|
21214
|
+
TM: 1,
|
21215
|
+
TR: 1,
|
21216
|
+
TT: 0,
|
21217
|
+
TW: 0,
|
21218
|
+
UA: 1,
|
21219
|
+
UM: 0,
|
21220
|
+
US: 0,
|
21221
|
+
UY: 1,
|
21222
|
+
UZ: 1,
|
21223
|
+
VA: 1,
|
21224
|
+
VE: 0,
|
21225
|
+
VI: 0,
|
21226
|
+
VN: 1,
|
21227
|
+
WS: 0,
|
21228
|
+
XK: 1,
|
21229
|
+
YE: 0,
|
21230
|
+
ZA: 0,
|
21231
|
+
ZW: 0
|
21232
|
+
};
|
21233
|
+
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
21234
|
+
function getWeekdays(locale) {
|
21235
|
+
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
21236
|
+
return createRange(7).map(i => {
|
21237
|
+
const weekday = new Date(sundayJanuarySecond2000);
|
21238
|
+
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
21239
|
+
return new Intl.DateTimeFormat(locale, {
|
21240
|
+
weekday: 'long'
|
21241
|
+
}).format(weekday);
|
20942
21242
|
});
|
20943
|
-
if (immediate) handler?.([], observer);
|
20944
|
-
el._mutate = Object(el._mutate);
|
20945
|
-
el._mutate[binding.instance.$.uid] = {
|
20946
|
-
observer
|
20947
|
-
};
|
20948
|
-
observer.observe(el, options);
|
20949
21243
|
}
|
20950
|
-
function
|
20951
|
-
|
20952
|
-
|
20953
|
-
|
21244
|
+
function format(value, formatString, locale) {
|
21245
|
+
const date = new Date(value);
|
21246
|
+
let options = {};
|
21247
|
+
switch (formatString) {
|
21248
|
+
case 'fullDateWithWeekday':
|
21249
|
+
options = {
|
21250
|
+
weekday: 'long',
|
21251
|
+
day: 'numeric',
|
21252
|
+
month: 'long',
|
21253
|
+
year: 'numeric'
|
21254
|
+
};
|
21255
|
+
break;
|
21256
|
+
case 'normalDateWithWeekday':
|
21257
|
+
options = {
|
21258
|
+
weekday: 'short',
|
21259
|
+
day: 'numeric',
|
21260
|
+
month: 'short',
|
21261
|
+
year: 'numeric'
|
21262
|
+
};
|
21263
|
+
break;
|
21264
|
+
case 'keyboardDate':
|
21265
|
+
options = {};
|
21266
|
+
break;
|
21267
|
+
case 'monthAndDate':
|
21268
|
+
options = {
|
21269
|
+
month: 'long',
|
21270
|
+
day: 'numeric'
|
21271
|
+
};
|
21272
|
+
break;
|
21273
|
+
case 'monthAndYear':
|
21274
|
+
options = {
|
21275
|
+
month: 'long',
|
21276
|
+
year: 'numeric'
|
21277
|
+
};
|
21278
|
+
break;
|
21279
|
+
default:
|
21280
|
+
options = {
|
21281
|
+
timeZone: 'UTC',
|
21282
|
+
timeZoneName: 'short'
|
21283
|
+
};
|
21284
|
+
}
|
21285
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
21286
|
+
}
|
21287
|
+
function addDays(date, amount) {
|
21288
|
+
const d = new Date(date);
|
21289
|
+
d.setDate(d.getDate() + amount);
|
21290
|
+
return d;
|
21291
|
+
}
|
21292
|
+
function addMonths(date, amount) {
|
21293
|
+
const d = new Date(date);
|
21294
|
+
d.setMonth(d.getMonth() + amount);
|
21295
|
+
return d;
|
21296
|
+
}
|
21297
|
+
function getYear(date) {
|
21298
|
+
return date.getFullYear();
|
21299
|
+
}
|
21300
|
+
function getMonth(date) {
|
21301
|
+
return date.getMonth();
|
21302
|
+
}
|
21303
|
+
function startOfYear(date) {
|
21304
|
+
return new Date(date.getFullYear(), 0, 1);
|
21305
|
+
}
|
21306
|
+
function endOfYear(date) {
|
21307
|
+
return new Date(date.getFullYear(), 11, 31);
|
21308
|
+
}
|
21309
|
+
function getMondayOfFirstWeekOfYear(year) {
|
21310
|
+
return new Date(year, 0, 1);
|
20954
21311
|
}
|
20955
|
-
const Mutate = {
|
20956
|
-
mounted: mounted$2,
|
20957
|
-
unmounted: unmounted$2
|
20958
|
-
};
|
20959
21312
|
|
20960
|
-
|
20961
|
-
|
20962
|
-
|
20963
|
-
|
20964
|
-
|
20965
|
-
|
20966
|
-
|
20967
|
-
|
20968
|
-
|
20969
|
-
|
20970
|
-
|
20971
|
-
|
20972
|
-
|
21313
|
+
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
21314
|
+
function getWeek(date) {
|
21315
|
+
let year = date.getFullYear();
|
21316
|
+
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
21317
|
+
if (date < d1w1) {
|
21318
|
+
year = year - 1;
|
21319
|
+
d1w1 = getMondayOfFirstWeekOfYear(year);
|
21320
|
+
} else {
|
21321
|
+
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
21322
|
+
if (date >= tv) {
|
21323
|
+
year = year + 1;
|
21324
|
+
d1w1 = tv;
|
21325
|
+
}
|
20973
21326
|
}
|
21327
|
+
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
21328
|
+
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
21329
|
+
return Math.floor(diffDays / 7) + 1;
|
20974
21330
|
}
|
20975
|
-
function
|
20976
|
-
|
20977
|
-
const {
|
20978
|
-
handler,
|
20979
|
-
options
|
20980
|
-
} = el._onResize[binding.instance.$.uid];
|
20981
|
-
window.removeEventListener('resize', handler, options);
|
20982
|
-
delete el._onResize[binding.instance.$.uid];
|
21331
|
+
function isWithinRange(date, range) {
|
21332
|
+
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
20983
21333
|
}
|
20984
|
-
|
20985
|
-
|
20986
|
-
|
20987
|
-
};
|
20988
|
-
|
20989
|
-
function mounted(el, binding) {
|
20990
|
-
const {
|
20991
|
-
self = false
|
20992
|
-
} = binding.modifiers ?? {};
|
20993
|
-
const value = binding.value;
|
20994
|
-
const options = typeof value === 'object' && value.options || {
|
20995
|
-
passive: true
|
20996
|
-
};
|
20997
|
-
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
20998
|
-
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
20999
|
-
if (!target) return;
|
21000
|
-
target.addEventListener('scroll', handler, options);
|
21001
|
-
el._onScroll = Object(el._onScroll);
|
21002
|
-
el._onScroll[binding.instance.$.uid] = {
|
21003
|
-
handler,
|
21004
|
-
options,
|
21005
|
-
// Don't reference self
|
21006
|
-
target: self ? undefined : target
|
21007
|
-
};
|
21334
|
+
function isValid(date) {
|
21335
|
+
const d = new Date(date);
|
21336
|
+
return d instanceof Date && !isNaN(d.getTime());
|
21008
21337
|
}
|
21009
|
-
function
|
21010
|
-
|
21011
|
-
const {
|
21012
|
-
handler,
|
21013
|
-
options,
|
21014
|
-
target = el
|
21015
|
-
} = el._onScroll[binding.instance.$.uid];
|
21016
|
-
target.removeEventListener('scroll', handler, options);
|
21017
|
-
delete el._onScroll[binding.instance.$.uid];
|
21338
|
+
function isAfter(date, comparing) {
|
21339
|
+
return date.getTime() > comparing.getTime();
|
21018
21340
|
}
|
21019
|
-
function
|
21020
|
-
|
21021
|
-
|
21022
|
-
|
21341
|
+
function isBefore(date, comparing) {
|
21342
|
+
return date.getTime() < comparing.getTime();
|
21343
|
+
}
|
21344
|
+
function isEqual(date, comparing) {
|
21345
|
+
return date.getTime() === comparing.getTime();
|
21346
|
+
}
|
21347
|
+
function isSameDay(date, comparing) {
|
21348
|
+
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
21349
|
+
}
|
21350
|
+
function isSameMonth(date, comparing) {
|
21351
|
+
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
21352
|
+
}
|
21353
|
+
function getDiff(date, comparing, unit) {
|
21354
|
+
const d = new Date(date);
|
21355
|
+
const c = new Date(comparing);
|
21356
|
+
if (unit === 'month') {
|
21357
|
+
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
21358
|
+
}
|
21359
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
21360
|
+
}
|
21361
|
+
function setYear(date, year) {
|
21362
|
+
const d = new Date(date);
|
21363
|
+
d.setFullYear(year);
|
21364
|
+
return d;
|
21365
|
+
}
|
21366
|
+
class VuetifyDateAdapter {
|
21367
|
+
constructor() {
|
21368
|
+
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
21369
|
+
this.locale = locale;
|
21370
|
+
}
|
21371
|
+
date(value) {
|
21372
|
+
return date(value);
|
21373
|
+
}
|
21374
|
+
addDays(date, amount) {
|
21375
|
+
return addDays(date, amount);
|
21376
|
+
}
|
21377
|
+
addMonths(date, amount) {
|
21378
|
+
return addMonths(date, amount);
|
21379
|
+
}
|
21380
|
+
getWeekArray(date) {
|
21381
|
+
return getWeekArray(date);
|
21382
|
+
}
|
21383
|
+
startOfMonth(date) {
|
21384
|
+
return startOfMonth(date);
|
21385
|
+
}
|
21386
|
+
endOfMonth(date) {
|
21387
|
+
return endOfMonth(date);
|
21388
|
+
}
|
21389
|
+
format(date, formatString) {
|
21390
|
+
return format(date, formatString, this.locale);
|
21391
|
+
}
|
21392
|
+
isEqual(date, comparing) {
|
21393
|
+
return isEqual(date, comparing);
|
21394
|
+
}
|
21395
|
+
isValid(date) {
|
21396
|
+
return isValid(date);
|
21397
|
+
}
|
21398
|
+
isWithinRange(date, range) {
|
21399
|
+
return isWithinRange(date, range);
|
21400
|
+
}
|
21401
|
+
isAfter(date, comparing) {
|
21402
|
+
return isAfter(date, comparing);
|
21403
|
+
}
|
21404
|
+
isSameDay(date, comparing) {
|
21405
|
+
return isSameDay(date, comparing);
|
21406
|
+
}
|
21407
|
+
isSameMonth(date, comparing) {
|
21408
|
+
return isSameMonth(date, comparing);
|
21409
|
+
}
|
21410
|
+
setYear(date, year) {
|
21411
|
+
return setYear(date, year);
|
21412
|
+
}
|
21413
|
+
getDiff(date, comparing, unit) {
|
21414
|
+
return getDiff(date, comparing, unit);
|
21415
|
+
}
|
21416
|
+
getWeek(date) {
|
21417
|
+
return getWeek(date);
|
21418
|
+
}
|
21419
|
+
getWeekdays() {
|
21420
|
+
return getWeekdays(this.locale);
|
21421
|
+
}
|
21422
|
+
getYear(date) {
|
21423
|
+
return getYear(date);
|
21424
|
+
}
|
21425
|
+
getMonth(date) {
|
21426
|
+
return getMonth(date);
|
21427
|
+
}
|
21428
|
+
startOfYear(date) {
|
21429
|
+
return startOfYear(date);
|
21430
|
+
}
|
21431
|
+
endOfYear(date) {
|
21432
|
+
return endOfYear(date);
|
21433
|
+
}
|
21023
21434
|
}
|
21024
|
-
const Scroll = {
|
21025
|
-
mounted,
|
21026
|
-
unmounted,
|
21027
|
-
updated
|
21028
|
-
};
|
21029
21435
|
|
21030
|
-
|
21031
|
-
|
21032
|
-
|
21033
|
-
|
21034
|
-
|
21035
|
-
|
21036
|
-
|
21037
|
-
|
21038
|
-
|
21039
|
-
}
|
21436
|
+
// Composables
|
21437
|
+
|
21438
|
+
// Types
|
21439
|
+
|
21440
|
+
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
21441
|
+
function createDate(options) {
|
21442
|
+
return options ?? {
|
21443
|
+
adapter: VuetifyDateAdapter
|
21444
|
+
};
|
21445
|
+
}
|
21040
21446
|
|
21041
21447
|
// Composables
|
21042
21448
|
function createVuetify$1() {
|
@@ -21123,7 +21529,7 @@ function createVuetify$1() {
|
|
21123
21529
|
date
|
21124
21530
|
};
|
21125
21531
|
}
|
21126
|
-
const version$1 = "4.0.0-dev-
|
21532
|
+
const version$1 = "4.0.0-dev-20230427.0";
|
21127
21533
|
createVuetify$1.version = version$1;
|
21128
21534
|
|
21129
21535
|
// Vue's inject() can only be used in setup
|
@@ -21135,7 +21541,7 @@ function inject(key) {
|
|
21135
21541
|
}
|
21136
21542
|
}
|
21137
21543
|
|
21138
|
-
const version = "4.0.0-dev-
|
21544
|
+
const version = "4.0.0-dev-20230427.0";
|
21139
21545
|
|
21140
21546
|
const createVuetify = function () {
|
21141
21547
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
@@ -21146,5 +21552,5 @@ const createVuetify = function () {
|
|
21146
21552
|
});
|
21147
21553
|
};
|
21148
21554
|
|
21149
|
-
export { components, createVuetify, directives,
|
21555
|
+
export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|
21150
21556
|
//# sourceMappingURL=vuetify-labs.esm.js.map
|