@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.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 } 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
|
}
|
@@ -1087,15 +1104,19 @@ function createSimpleFunctional(klass) {
|
|
1087
1104
|
tag: {
|
1088
1105
|
type: String,
|
1089
1106
|
default: tag
|
1090
|
-
}
|
1107
|
+
},
|
1108
|
+
...makeComponentProps()
|
1091
1109
|
},
|
1092
1110
|
setup(props, _ref) {
|
1093
1111
|
let {
|
1094
1112
|
slots
|
1095
1113
|
} = _ref;
|
1096
|
-
return () =>
|
1097
|
-
|
1098
|
-
|
1114
|
+
return () => {
|
1115
|
+
return h(props.tag, {
|
1116
|
+
class: [klass, props.class],
|
1117
|
+
style: props.style
|
1118
|
+
}, slots.default?.());
|
1119
|
+
};
|
1099
1120
|
}
|
1100
1121
|
});
|
1101
1122
|
}
|
@@ -1128,6 +1149,34 @@ const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';
|
|
1128
1149
|
const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering
|
1129
1150
|
const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving
|
1130
1151
|
|
1152
|
+
// Utilities
|
1153
|
+
function getCurrentInstance(name, message) {
|
1154
|
+
const vm = getCurrentInstance$1();
|
1155
|
+
if (!vm) {
|
1156
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
1157
|
+
}
|
1158
|
+
return vm;
|
1159
|
+
}
|
1160
|
+
function getCurrentInstanceName() {
|
1161
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
1162
|
+
const vm = getCurrentInstance(name).type;
|
1163
|
+
return toKebabCase(vm?.aliasName || vm?.name);
|
1164
|
+
}
|
1165
|
+
let _uid = 0;
|
1166
|
+
let _map = new WeakMap();
|
1167
|
+
function getUid() {
|
1168
|
+
const vm = getCurrentInstance('getUid');
|
1169
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
1170
|
+
const uid = _uid++;
|
1171
|
+
_map.set(vm, uid);
|
1172
|
+
return uid;
|
1173
|
+
}
|
1174
|
+
}
|
1175
|
+
getUid.reset = () => {
|
1176
|
+
_uid = 0;
|
1177
|
+
_map = new WeakMap();
|
1178
|
+
};
|
1179
|
+
|
1131
1180
|
function getScrollParent(el) {
|
1132
1181
|
while (el) {
|
1133
1182
|
if (hasScrollbar(el)) return el;
|
@@ -1151,6 +1200,16 @@ function hasScrollbar(el) {
|
|
1151
1200
|
return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
|
1152
1201
|
}
|
1153
1202
|
|
1203
|
+
function injectSelf(key) {
|
1204
|
+
const {
|
1205
|
+
provides
|
1206
|
+
} = getCurrentInstance('injectSelf');
|
1207
|
+
if (provides && key in provides) {
|
1208
|
+
// TS doesn't allow symbol as index type
|
1209
|
+
return provides[key];
|
1210
|
+
}
|
1211
|
+
}
|
1212
|
+
|
1154
1213
|
function isFixedPosition(el) {
|
1155
1214
|
while (el) {
|
1156
1215
|
if (window.getComputedStyle(el).position === 'fixed') {
|
@@ -1931,7 +1990,11 @@ var en = {
|
|
1931
1990
|
item: 'Rating {0} of {1}'
|
1932
1991
|
}
|
1933
1992
|
},
|
1934
|
-
loading: 'Loading...'
|
1993
|
+
loading: 'Loading...',
|
1994
|
+
infiniteScroll: {
|
1995
|
+
loadMore: 'Load more',
|
1996
|
+
empty: 'No more'
|
1997
|
+
}
|
1935
1998
|
};
|
1936
1999
|
|
1937
2000
|
const LANG_PREFIX = '$vuetify.';
|
@@ -2129,6 +2192,7 @@ function useRtl() {
|
|
2129
2192
|
const VApp = genericComponent()({
|
2130
2193
|
name: 'VApp',
|
2131
2194
|
props: {
|
2195
|
+
...makeComponentProps(),
|
2132
2196
|
...makeLayoutProps({
|
2133
2197
|
fullHeight: true
|
2134
2198
|
}),
|
@@ -2151,8 +2215,8 @@ const VApp = genericComponent()({
|
|
2151
2215
|
} = useRtl();
|
2152
2216
|
useRender(() => createVNode("div", {
|
2153
2217
|
"ref": layoutRef,
|
2154
|
-
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value],
|
2155
|
-
"style": layoutStyles.value
|
2218
|
+
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
|
2219
|
+
"style": [layoutStyles.value, props.style]
|
2156
2220
|
}, [createVNode("div", {
|
2157
2221
|
"class": "v-application__wrap"
|
2158
2222
|
}, [slots.default?.()])]));
|
@@ -2577,6 +2641,7 @@ const VResponsive = genericComponent()({
|
|
2577
2641
|
props: {
|
2578
2642
|
aspectRatio: [String, Number],
|
2579
2643
|
contentClass: String,
|
2644
|
+
...makeComponentProps(),
|
2580
2645
|
...makeDimensionProps()
|
2581
2646
|
},
|
2582
2647
|
setup(props, _ref) {
|
@@ -2590,8 +2655,8 @@ const VResponsive = genericComponent()({
|
|
2590
2655
|
dimensionStyles
|
2591
2656
|
} = useDimension(props);
|
2592
2657
|
useRender(() => createVNode("div", {
|
2593
|
-
"class":
|
2594
|
-
"style": dimensionStyles.value
|
2658
|
+
"class": ['v-responsive', props.class],
|
2659
|
+
"style": [dimensionStyles.value, props.style]
|
2595
2660
|
}, [createVNode("div", {
|
2596
2661
|
"class": "v-responsive__sizer",
|
2597
2662
|
"style": aspectStyles.value
|
@@ -2709,6 +2774,7 @@ const VImg = genericComponent()({
|
|
2709
2774
|
},
|
2710
2775
|
srcset: String,
|
2711
2776
|
width: [String, Number],
|
2777
|
+
...makeComponentProps(),
|
2712
2778
|
...makeTransitionProps()
|
2713
2779
|
},
|
2714
2780
|
emits: {
|
@@ -2896,10 +2962,10 @@ const VImg = genericComponent()({
|
|
2896
2962
|
useRender(() => withDirectives(createVNode(VResponsive, {
|
2897
2963
|
"class": ['v-img', {
|
2898
2964
|
'v-img--booting': !isBooted.value
|
2899
|
-
}],
|
2900
|
-
"style": {
|
2965
|
+
}, props.class],
|
2966
|
+
"style": [{
|
2901
2967
|
width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
|
2902
|
-
},
|
2968
|
+
}, props.style],
|
2903
2969
|
"aspectRatio": aspectRatio.value,
|
2904
2970
|
"aria-label": props.alt,
|
2905
2971
|
"role": props.alt ? 'img' : undefined
|
@@ -2934,10 +3000,9 @@ const makeTagProps = propsFactory({
|
|
2934
3000
|
}
|
2935
3001
|
}, 'tag');
|
2936
3002
|
|
2937
|
-
// Types
|
2938
|
-
|
2939
3003
|
const makeVToolbarTitleProps = propsFactory({
|
2940
3004
|
text: String,
|
3005
|
+
...makeComponentProps(),
|
2941
3006
|
...makeTagProps()
|
2942
3007
|
}, 'v-toolbar-title');
|
2943
3008
|
const VToolbarTitle = genericComponent()({
|
@@ -2950,7 +3015,8 @@ const VToolbarTitle = genericComponent()({
|
|
2950
3015
|
useRender(() => {
|
2951
3016
|
const hasText = !!(slots.default || slots.text || props.text);
|
2952
3017
|
return createVNode(props.tag, {
|
2953
|
-
"class":
|
3018
|
+
"class": ['v-toolbar-title', props.class],
|
3019
|
+
"style": props.style
|
2954
3020
|
}, {
|
2955
3021
|
default: () => [hasText && createVNode("div", {
|
2956
3022
|
"class": "v-toolbar-title__placeholder"
|
@@ -3131,6 +3197,7 @@ const makeVToolbarProps = propsFactory({
|
|
3131
3197
|
image: String,
|
3132
3198
|
title: String,
|
3133
3199
|
...makeBorderProps(),
|
3200
|
+
...makeComponentProps(),
|
3134
3201
|
...makeElevationProps(),
|
3135
3202
|
...makeRoundedProps(),
|
3136
3203
|
...makeTagProps({
|
@@ -3181,8 +3248,8 @@ const VToolbar = genericComponent()({
|
|
3181
3248
|
'v-toolbar--flat': props.flat,
|
3182
3249
|
'v-toolbar--floating': props.floating,
|
3183
3250
|
[`v-toolbar--density-${props.density}`]: true
|
3184
|
-
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value],
|
3185
|
-
"style": [backgroundColorStyles.value]
|
3251
|
+
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
3252
|
+
"style": [backgroundColorStyles.value, props.style]
|
3186
3253
|
}, {
|
3187
3254
|
default: () => [hasImage && createVNode("div", {
|
3188
3255
|
"key": "image",
|
@@ -3467,13 +3534,13 @@ const VAppBar = genericComponent()({
|
|
3467
3534
|
"ref": vToolbarRef,
|
3468
3535
|
"class": ['v-app-bar', {
|
3469
3536
|
'v-app-bar--bottom': props.location === 'bottom'
|
3470
|
-
}],
|
3471
|
-
"style": {
|
3537
|
+
}, props.class],
|
3538
|
+
"style": [{
|
3472
3539
|
...layoutItemStyles.value,
|
3473
3540
|
'--v-toolbar-image-opacity': opacity.value,
|
3474
3541
|
height: undefined,
|
3475
3542
|
...ssrBootStyles.value
|
3476
|
-
}
|
3543
|
+
}, props.style]
|
3477
3544
|
}, toolbarProps, {
|
3478
3545
|
"collapse": isCollapsed.value,
|
3479
3546
|
"flat": isFlat.value
|
@@ -3560,6 +3627,7 @@ function useVariant(props) {
|
|
3560
3627
|
const makeVBtnGroupProps = propsFactory({
|
3561
3628
|
divided: Boolean,
|
3562
3629
|
...makeBorderProps(),
|
3630
|
+
...makeComponentProps(),
|
3563
3631
|
...makeDensityProps(),
|
3564
3632
|
...makeElevationProps(),
|
3565
3633
|
...makeRoundedProps(),
|
@@ -3602,7 +3670,8 @@ const VBtnGroup = genericComponent()({
|
|
3602
3670
|
return createVNode(props.tag, {
|
3603
3671
|
"class": ['v-btn-group', {
|
3604
3672
|
'v-btn-group--divided': props.divided
|
3605
|
-
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value]
|
3673
|
+
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
3674
|
+
"style": props.style
|
3606
3675
|
}, slots);
|
3607
3676
|
});
|
3608
3677
|
}
|
@@ -3835,8 +3904,10 @@ const VBtnToggle = genericComponent()({
|
|
3835
3904
|
useRender(() => {
|
3836
3905
|
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
3837
3906
|
return createVNode(VBtnGroup, mergeProps({
|
3838
|
-
"class":
|
3839
|
-
}, btnGroupProps
|
3907
|
+
"class": ['v-btn-toggle', props.class]
|
3908
|
+
}, btnGroupProps, {
|
3909
|
+
"style": props.style
|
3910
|
+
}), {
|
3840
3911
|
default: () => [slots.default?.({
|
3841
3912
|
isSelected,
|
3842
3913
|
next,
|
@@ -3907,7 +3978,7 @@ const mdi = {
|
|
3907
3978
|
|
3908
3979
|
// Types
|
3909
3980
|
|
3910
|
-
const IconValue = [String, Function, Object];
|
3981
|
+
const IconValue = [String, Function, Object, Array];
|
3911
3982
|
const IconSymbol = Symbol.for('vuetify:icons');
|
3912
3983
|
const makeIconProps = propsFactory({
|
3913
3984
|
icon: {
|
@@ -3927,8 +3998,9 @@ const VComponentIcon = genericComponent()({
|
|
3927
3998
|
slots
|
3928
3999
|
} = _ref;
|
3929
4000
|
return () => {
|
4001
|
+
const Icon = props.icon;
|
3930
4002
|
return createVNode(props.tag, null, {
|
3931
|
-
default: () => [props.icon ? createVNode(
|
4003
|
+
default: () => [props.icon ? createVNode(Icon, null, null) : slots.default?.()]
|
3932
4004
|
});
|
3933
4005
|
};
|
3934
4006
|
}
|
@@ -3951,7 +4023,12 @@ const VSvgIcon = defineComponent({
|
|
3951
4023
|
"viewBox": "0 0 24 24",
|
3952
4024
|
"role": "img",
|
3953
4025
|
"aria-hidden": "true"
|
3954
|
-
}, [createVNode("path", {
|
4026
|
+
}, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createVNode("path", {
|
4027
|
+
"d": path[0],
|
4028
|
+
"fill-opacity": path[1]
|
4029
|
+
}, null) : createVNode("path", {
|
4030
|
+
"d": path
|
4031
|
+
}, null)) : createVNode("path", {
|
3955
4032
|
"d": props.icon
|
3956
4033
|
}, null)])]
|
3957
4034
|
});
|
@@ -4016,7 +4093,12 @@ const useIcon = props => {
|
|
4016
4093
|
}
|
4017
4094
|
}
|
4018
4095
|
if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`);
|
4019
|
-
if (
|
4096
|
+
if (Array.isArray(icon)) {
|
4097
|
+
return {
|
4098
|
+
component: VSvgIcon,
|
4099
|
+
icon
|
4100
|
+
};
|
4101
|
+
} else if (typeof icon !== 'string') {
|
4020
4102
|
return {
|
4021
4103
|
component: VComponentIcon,
|
4022
4104
|
icon
|
@@ -4073,6 +4155,7 @@ const makeVIconProps = propsFactory({
|
|
4073
4155
|
start: Boolean,
|
4074
4156
|
end: Boolean,
|
4075
4157
|
icon: IconValue,
|
4158
|
+
...makeComponentProps(),
|
4076
4159
|
...makeSizeProps(),
|
4077
4160
|
...makeTagProps({
|
4078
4161
|
tag: 'i'
|
@@ -4115,12 +4198,12 @@ const VIcon = genericComponent()({
|
|
4115
4198
|
'v-icon--clickable': !!attrs.onClick,
|
4116
4199
|
'v-icon--start': props.start,
|
4117
4200
|
'v-icon--end': props.end
|
4118
|
-
}],
|
4201
|
+
}, props.class],
|
4119
4202
|
"style": [!sizeClasses.value ? {
|
4120
4203
|
fontSize: convertToUnit(props.size),
|
4121
4204
|
height: convertToUnit(props.size),
|
4122
4205
|
width: convertToUnit(props.size)
|
4123
|
-
} : undefined, textColorStyles.value],
|
4206
|
+
} : undefined, textColorStyles.value, props.style],
|
4124
4207
|
"role": attrs.onClick ? 'button' : undefined,
|
4125
4208
|
"aria-hidden": !attrs.onClick
|
4126
4209
|
}, {
|
@@ -4131,14 +4214,14 @@ const VIcon = genericComponent()({
|
|
4131
4214
|
});
|
4132
4215
|
|
4133
4216
|
// Utilities
|
4134
|
-
function useIntersectionObserver(callback) {
|
4217
|
+
function useIntersectionObserver(callback, options) {
|
4135
4218
|
const intersectionRef = ref();
|
4136
4219
|
const isIntersecting = ref(false);
|
4137
4220
|
if (SUPPORTS_INTERSECTION) {
|
4138
4221
|
const observer = new IntersectionObserver(entries => {
|
4139
4222
|
callback?.(entries, observer);
|
4140
4223
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
4141
|
-
});
|
4224
|
+
}, options);
|
4142
4225
|
onBeforeUnmount(() => {
|
4143
4226
|
observer.disconnect();
|
4144
4227
|
});
|
@@ -4178,6 +4261,7 @@ const VProgressCircular = genericComponent()({
|
|
4178
4261
|
type: [Number, String],
|
4179
4262
|
default: 4
|
4180
4263
|
},
|
4264
|
+
...makeComponentProps(),
|
4181
4265
|
...makeSizeProps(),
|
4182
4266
|
...makeTagProps({
|
4183
4267
|
tag: 'div'
|
@@ -4233,8 +4317,8 @@ const VProgressCircular = genericComponent()({
|
|
4233
4317
|
'v-progress-circular--indeterminate': !!props.indeterminate,
|
4234
4318
|
'v-progress-circular--visible': isIntersecting.value,
|
4235
4319
|
'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
|
4236
|
-
}, themeClasses.value, sizeClasses.value, textColorClasses.value],
|
4237
|
-
"style": [sizeStyles.value, textColorStyles.value],
|
4320
|
+
}, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
|
4321
|
+
"style": [sizeStyles.value, textColorStyles.value, props.style],
|
4238
4322
|
"role": "progressbar",
|
4239
4323
|
"aria-valuemin": "0",
|
4240
4324
|
"aria-valuemax": "100",
|
@@ -4653,6 +4737,7 @@ const VProgressLinear = genericComponent()({
|
|
4653
4737
|
stream: Boolean,
|
4654
4738
|
striped: Boolean,
|
4655
4739
|
roundedBar: Boolean,
|
4740
|
+
...makeComponentProps(),
|
4656
4741
|
...makeLocationProps({
|
4657
4742
|
location: 'top'
|
4658
4743
|
}),
|
@@ -4724,14 +4809,14 @@ const VProgressLinear = genericComponent()({
|
|
4724
4809
|
'v-progress-linear--rounded': props.rounded,
|
4725
4810
|
'v-progress-linear--rounded-bar': props.roundedBar,
|
4726
4811
|
'v-progress-linear--striped': props.striped
|
4727
|
-
}, roundedClasses.value, themeClasses.value],
|
4728
|
-
"style": {
|
4812
|
+
}, roundedClasses.value, themeClasses.value, props.class],
|
4813
|
+
"style": [{
|
4729
4814
|
bottom: props.location === 'bottom' ? 0 : undefined,
|
4730
4815
|
top: props.location === 'top' ? 0 : undefined,
|
4731
4816
|
height: props.active ? convertToUnit(height.value) : 0,
|
4732
4817
|
'--v-progress-linear-height': convertToUnit(height.value),
|
4733
4818
|
...locationStyles.value
|
4734
|
-
},
|
4819
|
+
}, props.style],
|
4735
4820
|
"role": "progressbar",
|
4736
4821
|
"aria-hidden": props.active ? 'false' : 'true',
|
4737
4822
|
"aria-valuemin": "0",
|
@@ -4942,7 +5027,7 @@ const makeVBtnProps = propsFactory({
|
|
4942
5027
|
},
|
4943
5028
|
text: String,
|
4944
5029
|
...makeBorderProps(),
|
4945
|
-
...
|
5030
|
+
...makeComponentProps(),
|
4946
5031
|
...makeDensityProps(),
|
4947
5032
|
...makeDimensionProps(),
|
4948
5033
|
...makeElevationProps(),
|
@@ -4950,6 +5035,7 @@ const makeVBtnProps = propsFactory({
|
|
4950
5035
|
...makeLoaderProps(),
|
4951
5036
|
...makeLocationProps(),
|
4952
5037
|
...makePositionProps(),
|
5038
|
+
...makeRoundedProps(),
|
4953
5039
|
...makeRouterProps(),
|
4954
5040
|
...makeSizeProps(),
|
4955
5041
|
...makeTagProps({
|
@@ -5047,8 +5133,8 @@ const VBtn = genericComponent()({
|
|
5047
5133
|
'v-btn--icon': !!props.icon,
|
5048
5134
|
'v-btn--loading': props.loading,
|
5049
5135
|
'v-btn--stacked': props.stacked
|
5050
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
5051
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value],
|
5136
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
5137
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
5052
5138
|
"disabled": isDisabled.value || undefined,
|
5053
5139
|
"href": link.href.value,
|
5054
5140
|
"onClick": e => {
|
@@ -5125,15 +5211,17 @@ const VAppBarNavIcon = genericComponent()({
|
|
5125
5211
|
icon: {
|
5126
5212
|
type: IconValue,
|
5127
5213
|
default: '$menu'
|
5128
|
-
}
|
5214
|
+
},
|
5215
|
+
...makeComponentProps()
|
5129
5216
|
},
|
5130
5217
|
setup(props, _ref) {
|
5131
5218
|
let {
|
5132
5219
|
slots
|
5133
5220
|
} = _ref;
|
5134
5221
|
useRender(() => createVNode(VBtn, {
|
5135
|
-
"class":
|
5136
|
-
"icon": props.icon
|
5222
|
+
"class": ['v-app-bar-nav-icon', props.class],
|
5223
|
+
"icon": props.icon,
|
5224
|
+
"style": props.style
|
5137
5225
|
}, slots));
|
5138
5226
|
return {};
|
5139
5227
|
}
|
@@ -5141,9 +5229,12 @@ const VAppBarNavIcon = genericComponent()({
|
|
5141
5229
|
|
5142
5230
|
const VToolbarItems = genericComponent()({
|
5143
5231
|
name: 'VToolbarItems',
|
5144
|
-
props:
|
5145
|
-
|
5146
|
-
|
5232
|
+
props: {
|
5233
|
+
...makeComponentProps(),
|
5234
|
+
...makeVariantProps({
|
5235
|
+
variant: 'text'
|
5236
|
+
})
|
5237
|
+
},
|
5147
5238
|
setup(props, _ref) {
|
5148
5239
|
let {
|
5149
5240
|
slots
|
@@ -5156,7 +5247,8 @@ const VToolbarItems = genericComponent()({
|
|
5156
5247
|
}
|
5157
5248
|
});
|
5158
5249
|
useRender(() => createVNode("div", {
|
5159
|
-
"class":
|
5250
|
+
"class": ['v-toolbar-items', props.class],
|
5251
|
+
"style": props.style
|
5160
5252
|
}, [slots.default?.()]));
|
5161
5253
|
return {};
|
5162
5254
|
}
|
@@ -5218,6 +5310,7 @@ const VAlert = genericComponent()({
|
|
5218
5310
|
type: String,
|
5219
5311
|
validator: val => allowedTypes.includes(val)
|
5220
5312
|
},
|
5313
|
+
...makeComponentProps(),
|
5221
5314
|
...makeDensityProps(),
|
5222
5315
|
...makeDimensionProps(),
|
5223
5316
|
...makeElevationProps(),
|
@@ -5300,8 +5393,8 @@ const VAlert = genericComponent()({
|
|
5300
5393
|
[`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
|
5301
5394
|
}, {
|
5302
5395
|
'v-alert--prominent': props.prominent
|
5303
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
5304
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
5396
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
5397
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
5305
5398
|
"role": "alert"
|
5306
5399
|
}, {
|
5307
5400
|
default: () => [genOverlays(false, 'v-alert'), props.border && createVNode("div", {
|
@@ -5395,6 +5488,7 @@ const VLabel = genericComponent()({
|
|
5395
5488
|
props: {
|
5396
5489
|
text: String,
|
5397
5490
|
clickable: Boolean,
|
5491
|
+
...makeComponentProps(),
|
5398
5492
|
...makeThemeProps()
|
5399
5493
|
},
|
5400
5494
|
setup(props, _ref) {
|
@@ -5404,7 +5498,8 @@ const VLabel = genericComponent()({
|
|
5404
5498
|
useRender(() => createVNode("label", {
|
5405
5499
|
"class": ['v-label', {
|
5406
5500
|
'v-label--clickable': props.clickable
|
5407
|
-
}]
|
5501
|
+
}, props.class],
|
5502
|
+
"style": props.style
|
5408
5503
|
}, [props.text, slots.default?.()]));
|
5409
5504
|
return {};
|
5410
5505
|
}
|
@@ -5413,7 +5508,8 @@ const VLabel = genericComponent()({
|
|
5413
5508
|
const VFieldLabel = genericComponent()({
|
5414
5509
|
name: 'VFieldLabel',
|
5415
5510
|
props: {
|
5416
|
-
floating: Boolean
|
5511
|
+
floating: Boolean,
|
5512
|
+
...makeComponentProps()
|
5417
5513
|
},
|
5418
5514
|
setup(props, _ref) {
|
5419
5515
|
let {
|
@@ -5422,7 +5518,8 @@ const VFieldLabel = genericComponent()({
|
|
5422
5518
|
useRender(() => createVNode(VLabel, {
|
5423
5519
|
"class": ['v-field-label', {
|
5424
5520
|
'v-field-label--floating': props.floating
|
5425
|
-
}],
|
5521
|
+
}, props.class],
|
5522
|
+
"style": props.style,
|
5426
5523
|
"aria-hidden": props.floating || undefined
|
5427
5524
|
}, slots));
|
5428
5525
|
return {};
|
@@ -5473,6 +5570,7 @@ const makeVFieldProps = propsFactory({
|
|
5473
5570
|
},
|
5474
5571
|
active: Boolean,
|
5475
5572
|
color: String,
|
5573
|
+
baseColor: String,
|
5476
5574
|
dirty: Boolean,
|
5477
5575
|
disabled: Boolean,
|
5478
5576
|
error: Boolean,
|
@@ -5490,9 +5588,10 @@ const makeVFieldProps = propsFactory({
|
|
5490
5588
|
'onClick:clear': EventProp(),
|
5491
5589
|
'onClick:appendInner': EventProp(),
|
5492
5590
|
'onClick:prependInner': EventProp(),
|
5493
|
-
...
|
5591
|
+
...makeComponentProps(),
|
5494
5592
|
...makeLoaderProps(),
|
5495
|
-
...makeRoundedProps()
|
5593
|
+
...makeRoundedProps(),
|
5594
|
+
...makeThemeProps()
|
5496
5595
|
}, 'v-field');
|
5497
5596
|
const VField = genericComponent()({
|
5498
5597
|
name: 'VField',
|
@@ -5546,7 +5645,7 @@ const VField = genericComponent()({
|
|
5546
5645
|
textColorClasses,
|
5547
5646
|
textColorStyles
|
5548
5647
|
} = useTextColor(computed(() => {
|
5549
|
-
return
|
5648
|
+
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
5550
5649
|
}));
|
5551
5650
|
watch(isActive, val => {
|
5552
5651
|
if (hasLabel.value) {
|
@@ -5623,8 +5722,8 @@ const VField = genericComponent()({
|
|
5623
5722
|
'v-field--single-line': props.singleLine,
|
5624
5723
|
'v-field--no-label': !label,
|
5625
5724
|
[`v-field--variant-${props.variant}`]: true
|
5626
|
-
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value],
|
5627
|
-
"style": [backgroundColorStyles.value, textColorStyles.value],
|
5725
|
+
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, props.class],
|
5726
|
+
"style": [backgroundColorStyles.value, textColorStyles.value, props.style],
|
5628
5727
|
"onClick": onClick
|
5629
5728
|
}, attrs), [createVNode("div", {
|
5630
5729
|
"class": "v-field__overlay"
|
@@ -5712,7 +5811,7 @@ const VField = genericComponent()({
|
|
5712
5811
|
});
|
5713
5812
|
// TODO: this is kinda slow, might be better to implicitly inherit props instead
|
5714
5813
|
function filterFieldProps(attrs) {
|
5715
|
-
const keys = Object.keys(VField.props).filter(k => !isOn(k));
|
5814
|
+
const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');
|
5716
5815
|
return pick(attrs, keys);
|
5717
5816
|
}
|
5718
5817
|
|
@@ -5727,6 +5826,7 @@ const VMessages = genericComponent()({
|
|
5727
5826
|
type: [Array, String],
|
5728
5827
|
default: () => []
|
5729
5828
|
},
|
5829
|
+
...makeComponentProps(),
|
5730
5830
|
...makeTransitionProps({
|
5731
5831
|
transition: {
|
5732
5832
|
component: VSlideYTransition,
|
@@ -5747,8 +5847,8 @@ const VMessages = genericComponent()({
|
|
5747
5847
|
useRender(() => createVNode(MaybeTransition, {
|
5748
5848
|
"transition": props.transition,
|
5749
5849
|
"tag": "div",
|
5750
|
-
"class": ['v-messages', textColorClasses.value],
|
5751
|
-
"style": textColorStyles.value,
|
5850
|
+
"class": ['v-messages', textColorClasses.value, props.class],
|
5851
|
+
"style": [textColorStyles.value, props.style],
|
5752
5852
|
"role": "alert",
|
5753
5853
|
"aria-live": "polite"
|
5754
5854
|
}, {
|
@@ -6044,6 +6144,7 @@ const makeVInputProps = propsFactory({
|
|
6044
6144
|
},
|
6045
6145
|
'onClick:prepend': EventProp(),
|
6046
6146
|
'onClick:append': EventProp(),
|
6147
|
+
...makeComponentProps(),
|
6047
6148
|
...makeDensityProps(),
|
6048
6149
|
...makeValidationProps()
|
6049
6150
|
}, 'v-input');
|
@@ -6111,7 +6212,8 @@ const VInput = genericComponent()({
|
|
6111
6212
|
const hasMessages = messages.value.length > 0;
|
6112
6213
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
6113
6214
|
return createVNode("div", {
|
6114
|
-
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
|
6215
|
+
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value, props.class],
|
6216
|
+
"style": props.style
|
6115
6217
|
}, [hasPrepend && createVNode("div", {
|
6116
6218
|
"key": "prepend",
|
6117
6219
|
"class": "v-input__prepend"
|
@@ -6154,6 +6256,7 @@ const VCounter = genericComponent()({
|
|
6154
6256
|
type: [Number, String],
|
6155
6257
|
default: 0
|
6156
6258
|
},
|
6259
|
+
...makeComponentProps(),
|
6157
6260
|
...makeTransitionProps({
|
6158
6261
|
transition: {
|
6159
6262
|
component: VSlideYTransition
|
@@ -6171,7 +6274,8 @@ const VCounter = genericComponent()({
|
|
6171
6274
|
"transition": props.transition
|
6172
6275
|
}, {
|
6173
6276
|
default: () => [withDirectives(createVNode("div", {
|
6174
|
-
"class":
|
6277
|
+
"class": ['v-counter', props.class],
|
6278
|
+
"style": props.style
|
6175
6279
|
}, [slots.default ? slots.default({
|
6176
6280
|
counter: counter.value,
|
6177
6281
|
max: props.max,
|
@@ -6374,7 +6478,8 @@ const VTextField = genericComponent()({
|
|
6374
6478
|
'v-text-field--prefixed': props.prefix,
|
6375
6479
|
'v-text-field--suffixed': props.suffix,
|
6376
6480
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
6377
|
-
}]
|
6481
|
+
}, props.class],
|
6482
|
+
"style": props.style
|
6378
6483
|
}, rootAttrs, inputProps, {
|
6379
6484
|
"focused": isFocused.value
|
6380
6485
|
}), {
|
@@ -6490,6 +6595,7 @@ const VSelectionControlGroup = genericComponent()({
|
|
6490
6595
|
type: String,
|
6491
6596
|
default: 'VSelectionControl'
|
6492
6597
|
},
|
6598
|
+
...makeComponentProps(),
|
6493
6599
|
...makeSelectionControlGroupProps()
|
6494
6600
|
},
|
6495
6601
|
emits: {
|
@@ -6537,7 +6643,8 @@ const VSelectionControlGroup = genericComponent()({
|
|
6537
6643
|
useRender(() => createVNode("div", {
|
6538
6644
|
"class": ['v-selection-control-group', {
|
6539
6645
|
'v-selection-control-group--inline': props.inline
|
6540
|
-
}],
|
6646
|
+
}, props.class],
|
6647
|
+
"style": props.style,
|
6541
6648
|
"role": props.type === 'radio' ? 'radiogroup' : undefined
|
6542
6649
|
}, [slots.default?.()]));
|
6543
6650
|
return {};
|
@@ -6551,6 +6658,7 @@ const makeSelectionControlProps = propsFactory({
|
|
6551
6658
|
trueValue: null,
|
6552
6659
|
falseValue: null,
|
6553
6660
|
value: null,
|
6661
|
+
...makeComponentProps(),
|
6554
6662
|
...makeSelectionControlGroupProps()
|
6555
6663
|
}, 'v-selection-control');
|
6556
6664
|
function useSelectionControl(props) {
|
@@ -6665,8 +6773,10 @@ const VSelectionControl = genericComponent()({
|
|
6665
6773
|
'v-selection-control--focused': isFocused.value,
|
6666
6774
|
'v-selection-control--focus-visible': isFocusVisible.value,
|
6667
6775
|
'v-selection-control--inline': props.inline
|
6668
|
-
}, densityClasses.value]
|
6669
|
-
}, rootAttrs
|
6776
|
+
}, densityClasses.value, props.class]
|
6777
|
+
}, rootAttrs, {
|
6778
|
+
"style": props.style
|
6779
|
+
}), [createVNode("div", {
|
6670
6780
|
"class": ['v-selection-control__wrapper', textColorClasses.value],
|
6671
6781
|
"style": textColorStyles.value
|
6672
6782
|
}, [slots.default?.(), withDirectives(createVNode("div", {
|
@@ -6748,7 +6858,8 @@ const VCheckboxBtn = genericComponent()({
|
|
6748
6858
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
6749
6859
|
"modelValue": model.value,
|
6750
6860
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
6751
|
-
"class":
|
6861
|
+
"class": ['v-checkbox-btn', props.class],
|
6862
|
+
"style": props.style,
|
6752
6863
|
"type": "checkbox",
|
6753
6864
|
"inline": true,
|
6754
6865
|
"falseIcon": falseIcon.value,
|
@@ -6788,10 +6899,11 @@ const VCheckbox = genericComponent()({
|
|
6788
6899
|
const [inputProps, _1] = VInput.filterProps(props);
|
6789
6900
|
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
6790
6901
|
return createVNode(VInput, mergeProps({
|
6791
|
-
"class":
|
6902
|
+
"class": ['v-checkbox', props.class]
|
6792
6903
|
}, inputAttrs, inputProps, {
|
6793
6904
|
"id": id.value,
|
6794
|
-
"focused": isFocused.value
|
6905
|
+
"focused": isFocused.value,
|
6906
|
+
"style": props.style
|
6795
6907
|
}), {
|
6796
6908
|
...slots,
|
6797
6909
|
default: _ref2 => {
|
@@ -6822,6 +6934,7 @@ const makeVAvatarProps = propsFactory({
|
|
6822
6934
|
end: Boolean,
|
6823
6935
|
icon: IconValue,
|
6824
6936
|
image: String,
|
6937
|
+
...makeComponentProps(),
|
6825
6938
|
...makeDensityProps(),
|
6826
6939
|
...makeRoundedProps(),
|
6827
6940
|
...makeSizeProps(),
|
@@ -6860,8 +6973,8 @@ const VAvatar = genericComponent()({
|
|
6860
6973
|
"class": ['v-avatar', {
|
6861
6974
|
'v-avatar--start': props.start,
|
6862
6975
|
'v-avatar--end': props.end
|
6863
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
6864
|
-
"style": [colorStyles.value, sizeStyles.value]
|
6976
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
6977
|
+
"style": [colorStyles.value, sizeStyles.value, props.style]
|
6865
6978
|
}, {
|
6866
6979
|
default: () => [props.image ? createVNode(VImg, {
|
6867
6980
|
"key": "image",
|
@@ -6889,6 +7002,7 @@ const VChipGroup = genericComponent()({
|
|
6889
7002
|
type: Function,
|
6890
7003
|
default: deepEqual
|
6891
7004
|
},
|
7005
|
+
...makeComponentProps(),
|
6892
7006
|
...makeGroupProps({
|
6893
7007
|
selectedClass: 'v-chip--selected'
|
6894
7008
|
}),
|
@@ -6926,7 +7040,8 @@ const VChipGroup = genericComponent()({
|
|
6926
7040
|
useRender(() => createVNode(props.tag, {
|
6927
7041
|
"class": ['v-chip-group', {
|
6928
7042
|
'v-chip-group--column': props.column
|
6929
|
-
}, themeClasses.value]
|
7043
|
+
}, themeClasses.value, props.class],
|
7044
|
+
"style": props.style
|
6930
7045
|
}, {
|
6931
7046
|
default: () => [slots.default?.({
|
6932
7047
|
isSelected,
|
@@ -6940,8 +7055,6 @@ const VChipGroup = genericComponent()({
|
|
6940
7055
|
}
|
6941
7056
|
});
|
6942
7057
|
|
6943
|
-
// Types
|
6944
|
-
|
6945
7058
|
const VChip = genericComponent()({
|
6946
7059
|
name: 'VChip',
|
6947
7060
|
directives: {
|
@@ -6986,6 +7099,7 @@ const VChip = genericComponent()({
|
|
6986
7099
|
onClick: EventProp(),
|
6987
7100
|
onClickOnce: EventProp(),
|
6988
7101
|
...makeBorderProps(),
|
7102
|
+
...makeComponentProps(),
|
6989
7103
|
...makeDensityProps(),
|
6990
7104
|
...makeElevationProps(),
|
6991
7105
|
...makeGroupItemProps(),
|
@@ -7078,8 +7192,8 @@ const VChip = genericComponent()({
|
|
7078
7192
|
'v-chip--link': isClickable.value,
|
7079
7193
|
'v-chip--filter': hasFilter,
|
7080
7194
|
'v-chip--pill': props.pill
|
7081
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value],
|
7082
|
-
"style": [hasColor ? colorStyles.value : undefined],
|
7195
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
|
7196
|
+
"style": [hasColor ? colorStyles.value : undefined, props.style],
|
7083
7197
|
"disabled": props.disabled || undefined,
|
7084
7198
|
"draggable": props.draggable,
|
7085
7199
|
"href": link.href.value,
|
@@ -7188,6 +7302,7 @@ const VDivider = genericComponent()({
|
|
7188
7302
|
length: [Number, String],
|
7189
7303
|
thickness: [Number, String],
|
7190
7304
|
vertical: Boolean,
|
7305
|
+
...makeComponentProps(),
|
7191
7306
|
...makeThemeProps()
|
7192
7307
|
},
|
7193
7308
|
setup(props, _ref) {
|
@@ -7216,8 +7331,8 @@ const VDivider = genericComponent()({
|
|
7216
7331
|
'v-divider': true,
|
7217
7332
|
'v-divider--inset': props.inset,
|
7218
7333
|
'v-divider--vertical': props.vertical
|
7219
|
-
}, themeClasses.value, textColorClasses.value],
|
7220
|
-
"style": [dividerStyles.value, textColorStyles.value],
|
7334
|
+
}, themeClasses.value, textColorClasses.value, props.class],
|
7335
|
+
"style": [dividerStyles.value, textColorStyles.value, props.style],
|
7221
7336
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
7222
7337
|
"role": `${attrs.role || 'separator'}`
|
7223
7338
|
}, null));
|
@@ -7716,6 +7831,7 @@ const makeVListGroupProps = propsFactory({
|
|
7716
7831
|
fluid: Boolean,
|
7717
7832
|
subgroup: Boolean,
|
7718
7833
|
value: null,
|
7834
|
+
...makeComponentProps(),
|
7719
7835
|
...makeTagProps()
|
7720
7836
|
}, 'v-list-group');
|
7721
7837
|
const VListGroup = genericComponent()({
|
@@ -7764,7 +7880,8 @@ const VListGroup = genericComponent()({
|
|
7764
7880
|
'v-list-group--fluid': props.fluid,
|
7765
7881
|
'v-list-group--subgroup': props.subgroup,
|
7766
7882
|
'v-list-group--open': isOpen.value
|
7767
|
-
}]
|
7883
|
+
}, props.class],
|
7884
|
+
"style": props.style
|
7768
7885
|
}, {
|
7769
7886
|
default: () => [slots.activator && createVNode(VDefaultsProvider, {
|
7770
7887
|
"defaults": activatorDefaults.value
|
@@ -7831,6 +7948,7 @@ const VListItem = genericComponent()({
|
|
7831
7948
|
onClick: EventProp(),
|
7832
7949
|
onClickOnce: EventProp(),
|
7833
7950
|
...makeBorderProps(),
|
7951
|
+
...makeComponentProps(),
|
7834
7952
|
...makeDensityProps(),
|
7835
7953
|
...makeDimensionProps(),
|
7836
7954
|
...makeElevationProps(),
|
@@ -7941,8 +8059,8 @@ const VListItem = genericComponent()({
|
|
7941
8059
|
'v-list-item--nav': props.nav,
|
7942
8060
|
'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,
|
7943
8061
|
[`${props.activeClass}`]: props.activeClass && isActive.value
|
7944
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value],
|
7945
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value],
|
8062
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
8063
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, props.style],
|
7946
8064
|
"href": link.href.value,
|
7947
8065
|
"tabindex": isClickable.value ? 0 : undefined,
|
7948
8066
|
"onClick": onClick,
|
@@ -8035,6 +8153,7 @@ const VListSubheader = genericComponent()({
|
|
8035
8153
|
inset: Boolean,
|
8036
8154
|
sticky: Boolean,
|
8037
8155
|
title: String,
|
8156
|
+
...makeComponentProps(),
|
8038
8157
|
...makeTagProps()
|
8039
8158
|
},
|
8040
8159
|
setup(props, _ref) {
|
@@ -8051,10 +8170,10 @@ const VListSubheader = genericComponent()({
|
|
8051
8170
|
"class": ['v-list-subheader', {
|
8052
8171
|
'v-list-subheader--inset': props.inset,
|
8053
8172
|
'v-list-subheader--sticky': props.sticky
|
8054
|
-
}, textColorClasses.value],
|
8055
|
-
"style": {
|
8173
|
+
}, textColorClasses.value, props.class],
|
8174
|
+
"style": [{
|
8056
8175
|
textColorStyles
|
8057
|
-
}
|
8176
|
+
}, props.style]
|
8058
8177
|
}, {
|
8059
8178
|
default: () => [hasText && createVNode("div", {
|
8060
8179
|
"class": "v-list-subheader__text"
|
@@ -8274,6 +8393,7 @@ const VList = genericComponent()({
|
|
8274
8393
|
openStrategy: 'list'
|
8275
8394
|
}),
|
8276
8395
|
...makeBorderProps(),
|
8396
|
+
...makeComponentProps(),
|
8277
8397
|
...makeDensityProps(),
|
8278
8398
|
...makeDimensionProps(),
|
8279
8399
|
...makeElevationProps(),
|
@@ -8375,27 +8495,8 @@ const VList = genericComponent()({
|
|
8375
8495
|
e.preventDefault();
|
8376
8496
|
}
|
8377
8497
|
function focus(location) {
|
8378
|
-
if (
|
8379
|
-
|
8380
|
-
const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
|
8381
|
-
const idx = focusable.indexOf(document.activeElement);
|
8382
|
-
if (!location) {
|
8383
|
-
if (!contentRef.value.contains(document.activeElement)) {
|
8384
|
-
focusable[0]?.focus();
|
8385
|
-
}
|
8386
|
-
} else if (location === 'first') {
|
8387
|
-
focusable[0]?.focus();
|
8388
|
-
} else if (location === 'last') {
|
8389
|
-
focusable.at(-1)?.focus();
|
8390
|
-
} else {
|
8391
|
-
let el;
|
8392
|
-
let idxx = idx;
|
8393
|
-
const inc = location === 'next' ? 1 : -1;
|
8394
|
-
do {
|
8395
|
-
idxx += inc;
|
8396
|
-
el = focusable[idxx];
|
8397
|
-
} while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
8398
|
-
if (el) el.focus();else focus(location === 'next' ? 'first' : 'last');
|
8498
|
+
if (contentRef.value) {
|
8499
|
+
return focusChild(contentRef.value, location);
|
8399
8500
|
}
|
8400
8501
|
}
|
8401
8502
|
useRender(() => {
|
@@ -8404,8 +8505,8 @@ const VList = genericComponent()({
|
|
8404
8505
|
"class": ['v-list', {
|
8405
8506
|
'v-list--disabled': props.disabled,
|
8406
8507
|
'v-list--nav': props.nav
|
8407
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value],
|
8408
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value],
|
8508
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
|
8509
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
8409
8510
|
"role": "listbox",
|
8410
8511
|
"aria-activedescendant": undefined,
|
8411
8512
|
"onFocusin": onFocusin,
|
@@ -8433,6 +8534,7 @@ const VListItemAction = genericComponent()({
|
|
8433
8534
|
props: {
|
8434
8535
|
start: Boolean,
|
8435
8536
|
end: Boolean,
|
8537
|
+
...makeComponentProps(),
|
8436
8538
|
...makeTagProps()
|
8437
8539
|
},
|
8438
8540
|
setup(props, _ref) {
|
@@ -8443,7 +8545,8 @@ const VListItemAction = genericComponent()({
|
|
8443
8545
|
"class": ['v-list-item-action', {
|
8444
8546
|
'v-list-item-action--start': props.start,
|
8445
8547
|
'v-list-item-action--end': props.end
|
8446
|
-
}]
|
8548
|
+
}, props.class],
|
8549
|
+
"style": props.style
|
8447
8550
|
}, slots));
|
8448
8551
|
return {};
|
8449
8552
|
}
|
@@ -8454,6 +8557,7 @@ const VListItemMedia = genericComponent()({
|
|
8454
8557
|
props: {
|
8455
8558
|
start: Boolean,
|
8456
8559
|
end: Boolean,
|
8560
|
+
...makeComponentProps(),
|
8457
8561
|
...makeTagProps()
|
8458
8562
|
},
|
8459
8563
|
setup(props, _ref) {
|
@@ -8465,7 +8569,8 @@ const VListItemMedia = genericComponent()({
|
|
8465
8569
|
"class": ['v-list-item-media', {
|
8466
8570
|
'v-list-item-media--start': props.start,
|
8467
8571
|
'v-list-item-media--end': props.end
|
8468
|
-
}]
|
8572
|
+
}, props.class],
|
8573
|
+
"style": props.style
|
8469
8574
|
}, slots);
|
8470
8575
|
});
|
8471
8576
|
return {};
|
@@ -9706,6 +9811,7 @@ const makeVOverlayProps = propsFactory({
|
|
9706
9811
|
default: 2000
|
9707
9812
|
},
|
9708
9813
|
...makeActivatorProps(),
|
9814
|
+
...makeComponentProps(),
|
9709
9815
|
...makeDimensionProps(),
|
9710
9816
|
...makeLazyProps(),
|
9711
9817
|
...makeLocationStrategyProps(),
|
@@ -9873,10 +9979,10 @@ const VOverlay = genericComponent()({
|
|
9873
9979
|
'v-overlay--absolute': props.absolute || props.contained,
|
9874
9980
|
'v-overlay--active': isActive.value,
|
9875
9981
|
'v-overlay--contained': props.contained
|
9876
|
-
}, themeClasses.value, rtlClasses.value],
|
9982
|
+
}, themeClasses.value, rtlClasses.value, props.class],
|
9877
9983
|
"style": [stackStyles.value, {
|
9878
9984
|
top: convertToUnit(top.value)
|
9879
|
-
}],
|
9985
|
+
}, props.style],
|
9880
9986
|
"ref": root
|
9881
9987
|
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
|
9882
9988
|
"color": scrimColor,
|
@@ -9982,7 +10088,8 @@ const VMenu = genericComponent()({
|
|
9982
10088
|
const [overlayProps] = VOverlay.filterProps(props);
|
9983
10089
|
return createVNode(VOverlay, mergeProps({
|
9984
10090
|
"ref": overlay,
|
9985
|
-
"class": ['v-menu']
|
10091
|
+
"class": ['v-menu', props.class],
|
10092
|
+
"style": props.style
|
9986
10093
|
}, overlayProps, {
|
9987
10094
|
"modelValue": isActive.value,
|
9988
10095
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -10201,7 +10308,8 @@ const VSelect = genericComponent()({
|
|
10201
10308
|
'v-select--chips': !!props.chips,
|
10202
10309
|
[`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10203
10310
|
'v-select--selected': model.value.length
|
10204
|
-
}],
|
10311
|
+
}, props.class],
|
10312
|
+
"style": props.style,
|
10205
10313
|
"appendInnerIcon": props.menuIcon,
|
10206
10314
|
"readonly": true,
|
10207
10315
|
"placeholder": placeholder,
|
@@ -10644,7 +10752,8 @@ const VAutocomplete = genericComponent()({
|
|
10644
10752
|
'v-autocomplete--selecting-index': selectionIndex.value > -1,
|
10645
10753
|
[`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10646
10754
|
'v-autocomplete--selection-slot': !!slots.selection
|
10647
|
-
}],
|
10755
|
+
}, props.class],
|
10756
|
+
"style": props.style,
|
10648
10757
|
"appendInnerIcon": props.menuIcon,
|
10649
10758
|
"readonly": props.readonly,
|
10650
10759
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -10758,8 +10867,6 @@ const VAutocomplete = genericComponent()({
|
|
10758
10867
|
}
|
10759
10868
|
});
|
10760
10869
|
|
10761
|
-
// Types
|
10762
|
-
|
10763
10870
|
const VBadge = genericComponent()({
|
10764
10871
|
name: 'VBadge',
|
10765
10872
|
inheritAttrs: false,
|
@@ -10783,6 +10890,7 @@ const VBadge = genericComponent()({
|
|
10783
10890
|
offsetX: [Number, String],
|
10784
10891
|
offsetY: [Number, String],
|
10785
10892
|
textColor: String,
|
10893
|
+
...makeComponentProps(),
|
10786
10894
|
...makeLocationProps({
|
10787
10895
|
location: 'top end'
|
10788
10896
|
}),
|
@@ -10827,8 +10935,10 @@ const VBadge = genericComponent()({
|
|
10827
10935
|
'v-badge--dot': props.dot,
|
10828
10936
|
'v-badge--floating': props.floating,
|
10829
10937
|
'v-badge--inline': props.inline
|
10830
|
-
}]
|
10831
|
-
}, attrs
|
10938
|
+
}, props.class]
|
10939
|
+
}, attrs, {
|
10940
|
+
"style": props.style
|
10941
|
+
}), {
|
10832
10942
|
default: () => [createVNode("div", {
|
10833
10943
|
"class": "v-badge__wrapper"
|
10834
10944
|
}, [ctx.slots.default?.(), createVNode(MaybeTransition, {
|
@@ -10855,7 +10965,8 @@ const VBannerActions = genericComponent()({
|
|
10855
10965
|
name: 'VBannerActions',
|
10856
10966
|
props: {
|
10857
10967
|
color: String,
|
10858
|
-
density: String
|
10968
|
+
density: String,
|
10969
|
+
...makeComponentProps()
|
10859
10970
|
},
|
10860
10971
|
setup(props, _ref) {
|
10861
10972
|
let {
|
@@ -10869,7 +10980,8 @@ const VBannerActions = genericComponent()({
|
|
10869
10980
|
}
|
10870
10981
|
});
|
10871
10982
|
useRender(() => createVNode("div", {
|
10872
|
-
"class":
|
10983
|
+
"class": ['v-banner-actions', props.class],
|
10984
|
+
"style": props.style
|
10873
10985
|
}, [slots.default?.()]));
|
10874
10986
|
return {};
|
10875
10987
|
}
|
@@ -10890,6 +11002,7 @@ const VBanner = genericComponent()({
|
|
10890
11002
|
sticky: Boolean,
|
10891
11003
|
text: String,
|
10892
11004
|
...makeBorderProps(),
|
11005
|
+
...makeComponentProps(),
|
10893
11006
|
...makeDensityProps(),
|
10894
11007
|
...makeDimensionProps(),
|
10895
11008
|
...makeElevationProps(),
|
@@ -10947,8 +11060,8 @@ const VBanner = genericComponent()({
|
|
10947
11060
|
'v-banner--stacked': props.stacked || mobile.value,
|
10948
11061
|
'v-banner--sticky': props.sticky,
|
10949
11062
|
[`v-banner--${props.lines}-line`]: !!props.lines
|
10950
|
-
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value],
|
10951
|
-
"style": [dimensionStyles.value, locationStyles.value],
|
11063
|
+
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
11064
|
+
"style": [dimensionStyles.value, locationStyles.value, props.style],
|
10952
11065
|
"role": "banner"
|
10953
11066
|
}, {
|
10954
11067
|
default: () => [hasPrepend && createVNode("div", {
|
@@ -11004,6 +11117,7 @@ const VBottomNavigation = genericComponent()({
|
|
11004
11117
|
default: true
|
11005
11118
|
},
|
11006
11119
|
...makeBorderProps(),
|
11120
|
+
...makeComponentProps(),
|
11007
11121
|
...makeDensityProps(),
|
11008
11122
|
...makeElevationProps(),
|
11009
11123
|
...makeRoundedProps(),
|
@@ -11078,11 +11192,11 @@ const VBottomNavigation = genericComponent()({
|
|
11078
11192
|
'v-bottom-navigation--active': isActive.value,
|
11079
11193
|
'v-bottom-navigation--grow': props.grow,
|
11080
11194
|
'v-bottom-navigation--shift': props.mode === 'shift'
|
11081
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value],
|
11195
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
11082
11196
|
"style": [backgroundColorStyles.value, layoutItemStyles.value, {
|
11083
11197
|
height: convertToUnit(height.value),
|
11084
11198
|
transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`
|
11085
|
-
}, ssrBootStyles.value]
|
11199
|
+
}, ssrBootStyles.value, props.style]
|
11086
11200
|
}, {
|
11087
11201
|
default: () => [slots.default && createVNode("div", {
|
11088
11202
|
"class": "v-bottom-navigation__content"
|
@@ -11096,14 +11210,16 @@ const VBottomNavigation = genericComponent()({
|
|
11096
11210
|
const VBreadcrumbsDivider = genericComponent()({
|
11097
11211
|
name: 'VBreadcrumbsDivider',
|
11098
11212
|
props: {
|
11099
|
-
divider: [Number, String]
|
11213
|
+
divider: [Number, String],
|
11214
|
+
...makeComponentProps()
|
11100
11215
|
},
|
11101
11216
|
setup(props, _ref) {
|
11102
11217
|
let {
|
11103
11218
|
slots
|
11104
11219
|
} = _ref;
|
11105
11220
|
useRender(() => createVNode("li", {
|
11106
|
-
"class":
|
11221
|
+
"class": ['v-breadcrumbs-divider', props.class],
|
11222
|
+
"style": props.style
|
11107
11223
|
}, [slots?.default?.() ?? props.divider]));
|
11108
11224
|
return {};
|
11109
11225
|
}
|
@@ -11118,6 +11234,7 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11118
11234
|
color: String,
|
11119
11235
|
disabled: Boolean,
|
11120
11236
|
title: String,
|
11237
|
+
...makeComponentProps(),
|
11121
11238
|
...makeRouterProps(),
|
11122
11239
|
...makeTagProps({
|
11123
11240
|
tag: 'li'
|
@@ -11143,8 +11260,8 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11143
11260
|
'v-breadcrumbs-item--disabled': props.disabled,
|
11144
11261
|
'v-breadcrumbs-item--link': link.isLink.value,
|
11145
11262
|
[`${props.activeClass}`]: isActive.value && props.activeClass
|
11146
|
-
}, textColorClasses.value],
|
11147
|
-
"style": [textColorStyles.value],
|
11263
|
+
}, textColorClasses.value, props.class],
|
11264
|
+
"style": [textColorStyles.value, props.style],
|
11148
11265
|
"href": link.href.value,
|
11149
11266
|
"aria-current": isActive.value ? 'page' : undefined,
|
11150
11267
|
"onClick": link.navigate
|
@@ -11175,6 +11292,7 @@ const VBreadcrumbs = genericComponent()({
|
|
11175
11292
|
type: Array,
|
11176
11293
|
default: () => []
|
11177
11294
|
},
|
11295
|
+
...makeComponentProps(),
|
11178
11296
|
...makeDensityProps(),
|
11179
11297
|
...makeRoundedProps(),
|
11180
11298
|
...makeTagProps({
|
@@ -11206,11 +11324,22 @@ const VBreadcrumbs = genericComponent()({
|
|
11206
11324
|
disabled: toRef(props, 'disabled')
|
11207
11325
|
}
|
11208
11326
|
});
|
11327
|
+
const items = computed(() => props.items.map(item => {
|
11328
|
+
return typeof item === 'string' ? {
|
11329
|
+
item: {
|
11330
|
+
title: item
|
11331
|
+
},
|
11332
|
+
raw: item
|
11333
|
+
} : {
|
11334
|
+
item,
|
11335
|
+
raw: item
|
11336
|
+
};
|
11337
|
+
}));
|
11209
11338
|
useRender(() => {
|
11210
11339
|
const hasPrepend = !!(slots.prepend || props.icon);
|
11211
11340
|
return createVNode(props.tag, {
|
11212
|
-
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value],
|
11213
|
-
"style": backgroundColorStyles.value
|
11341
|
+
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
|
11342
|
+
"style": [backgroundColorStyles.value, props.style]
|
11214
11343
|
}, {
|
11215
11344
|
default: () => [hasPrepend && createVNode("div", {
|
11216
11345
|
"key": "prepend",
|
@@ -11228,33 +11357,36 @@ const VBreadcrumbs = genericComponent()({
|
|
11228
11357
|
start: true
|
11229
11358
|
}
|
11230
11359
|
}
|
11231
|
-
}, slots.prepend)]),
|
11232
|
-
|
11233
|
-
"disabled": index >= array.length - 1
|
11234
|
-
}, typeof item === 'string' ? {
|
11235
|
-
title: item
|
11236
|
-
} : item), {
|
11237
|
-
default: slots.title ? () => slots.title?.({
|
11238
|
-
item,
|
11239
|
-
index
|
11240
|
-
}) : undefined
|
11241
|
-
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11242
|
-
default: slots.divider ? () => slots.divider?.({
|
11360
|
+
}, slots.prepend)]), items.value.map((_ref2, index, array) => {
|
11361
|
+
let {
|
11243
11362
|
item,
|
11244
|
-
|
11245
|
-
}
|
11246
|
-
|
11363
|
+
raw
|
11364
|
+
} = _ref2;
|
11365
|
+
return createVNode(Fragment, null, [createVNode(VBreadcrumbsItem, mergeProps({
|
11366
|
+
"key": item.title,
|
11367
|
+
"disabled": index >= array.length - 1
|
11368
|
+
}, item), {
|
11369
|
+
default: slots.title ? () => slots.title?.({
|
11370
|
+
item: raw,
|
11371
|
+
index
|
11372
|
+
}) : undefined
|
11373
|
+
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11374
|
+
default: slots.divider ? () => slots.divider?.({
|
11375
|
+
item: raw,
|
11376
|
+
index
|
11377
|
+
}) : undefined
|
11378
|
+
})]);
|
11379
|
+
}), slots.default?.()]
|
11247
11380
|
});
|
11248
11381
|
});
|
11249
11382
|
return {};
|
11250
11383
|
}
|
11251
11384
|
});
|
11252
11385
|
|
11253
|
-
|
11254
|
-
|
11255
|
-
const VCardActions = defineComponent({
|
11386
|
+
const VCardActions = genericComponent()({
|
11256
11387
|
name: 'VCardActions',
|
11257
|
-
|
11388
|
+
props: makeComponentProps(),
|
11389
|
+
setup(props, _ref) {
|
11258
11390
|
let {
|
11259
11391
|
slots
|
11260
11392
|
} = _ref;
|
@@ -11264,7 +11396,8 @@ const VCardActions = defineComponent({
|
|
11264
11396
|
}
|
11265
11397
|
});
|
11266
11398
|
useRender(() => createVNode("div", {
|
11267
|
-
"class":
|
11399
|
+
"class": ['v-card-actions', props.class],
|
11400
|
+
"style": props.style
|
11268
11401
|
}, [slots.default?.()]));
|
11269
11402
|
return {};
|
11270
11403
|
}
|
@@ -11274,8 +11407,6 @@ const VCardSubtitle = createSimpleFunctional('v-card-subtitle');
|
|
11274
11407
|
|
11275
11408
|
const VCardTitle = createSimpleFunctional('v-card-title');
|
11276
11409
|
|
11277
|
-
// Types
|
11278
|
-
|
11279
11410
|
const VCardItem = genericComponent()({
|
11280
11411
|
name: 'VCardItem',
|
11281
11412
|
props: {
|
@@ -11285,6 +11416,7 @@ const VCardItem = genericComponent()({
|
|
11285
11416
|
prependIcon: IconValue,
|
11286
11417
|
subtitle: String,
|
11287
11418
|
title: String,
|
11419
|
+
...makeComponentProps(),
|
11288
11420
|
...makeDensityProps()
|
11289
11421
|
},
|
11290
11422
|
setup(props, _ref) {
|
@@ -11299,7 +11431,8 @@ const VCardItem = genericComponent()({
|
|
11299
11431
|
const hasTitle = !!(props.title || slots.title);
|
11300
11432
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
11301
11433
|
return createVNode("div", {
|
11302
|
-
"class":
|
11434
|
+
"class": ['v-card-item', props.class],
|
11435
|
+
"style": props.style
|
11303
11436
|
}, [hasPrepend && createVNode("div", {
|
11304
11437
|
"key": "prepend",
|
11305
11438
|
"class": "v-card-item__prepend"
|
@@ -11381,8 +11514,8 @@ const VCard = genericComponent()({
|
|
11381
11514
|
subtitle: String,
|
11382
11515
|
text: String,
|
11383
11516
|
title: String,
|
11384
|
-
...makeThemeProps(),
|
11385
11517
|
...makeBorderProps(),
|
11518
|
+
...makeComponentProps(),
|
11386
11519
|
...makeDensityProps(),
|
11387
11520
|
...makeDimensionProps(),
|
11388
11521
|
...makeElevationProps(),
|
@@ -11392,6 +11525,7 @@ const VCard = genericComponent()({
|
|
11392
11525
|
...makeRoundedProps(),
|
11393
11526
|
...makeRouterProps(),
|
11394
11527
|
...makeTagProps(),
|
11528
|
+
...makeThemeProps(),
|
11395
11529
|
...makeVariantProps({
|
11396
11530
|
variant: 'elevated'
|
11397
11531
|
})
|
@@ -11452,8 +11586,8 @@ const VCard = genericComponent()({
|
|
11452
11586
|
'v-card--flat': props.flat,
|
11453
11587
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
11454
11588
|
'v-card--link': isClickable.value
|
11455
|
-
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
11456
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
11589
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
11590
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
11457
11591
|
"href": link.href.value,
|
11458
11592
|
"onClick": isClickable.value && link.navigate,
|
11459
11593
|
"tabindex": props.disabled ? -1 : undefined
|
@@ -11649,6 +11783,7 @@ const makeVWindowProps = propsFactory({
|
|
11649
11783
|
mandatory: {
|
11650
11784
|
default: 'force'
|
11651
11785
|
},
|
11786
|
+
...makeComponentProps(),
|
11652
11787
|
...makeTagProps(),
|
11653
11788
|
...makeThemeProps()
|
11654
11789
|
}, 'v-window');
|
@@ -11764,7 +11899,8 @@ const VWindow = genericComponent()({
|
|
11764
11899
|
"ref": rootRef,
|
11765
11900
|
"class": ['v-window', {
|
11766
11901
|
'v-window--show-arrows-on-hover': props.showArrows === 'hover'
|
11767
|
-
}, themeClasses.value]
|
11902
|
+
}, themeClasses.value, props.class],
|
11903
|
+
"style": props.style
|
11768
11904
|
}, {
|
11769
11905
|
default: () => [createVNode("div", {
|
11770
11906
|
"class": "v-window__container",
|
@@ -11849,10 +11985,10 @@ const VCarousel = genericComponent()({
|
|
11849
11985
|
"class": ['v-carousel', {
|
11850
11986
|
'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,
|
11851
11987
|
'v-carousel--vertical-delimiters': props.verticalDelimiters
|
11852
|
-
}],
|
11853
|
-
"style": {
|
11988
|
+
}, props.class],
|
11989
|
+
"style": [{
|
11854
11990
|
height: convertToUnit(props.height)
|
11855
|
-
},
|
11991
|
+
}, props.style],
|
11856
11992
|
"continuous": true,
|
11857
11993
|
"mandatory": "force",
|
11858
11994
|
"showArrows": props.showArrows
|
@@ -11918,6 +12054,7 @@ const VWindowItem = genericComponent()({
|
|
11918
12054
|
type: [Boolean, String],
|
11919
12055
|
default: undefined
|
11920
12056
|
},
|
12057
|
+
...makeComponentProps(),
|
11921
12058
|
...makeGroupItemProps(),
|
11922
12059
|
...makeLazyProps()
|
11923
12060
|
},
|
@@ -12004,7 +12141,8 @@ const VWindowItem = genericComponent()({
|
|
12004
12141
|
"disabled": !isBooted.value
|
12005
12142
|
}, {
|
12006
12143
|
default: () => [withDirectives(createVNode("div", {
|
12007
|
-
"class": ['v-window-item', groupItem.selectedClass.value]
|
12144
|
+
"class": ['v-window-item', groupItem.selectedClass.value, props.class],
|
12145
|
+
"style": props.style
|
12008
12146
|
}, [hasContent.value && slots.default?.()]), [[vShow, groupItem.isSelected.value]])]
|
12009
12147
|
}));
|
12010
12148
|
return {};
|
@@ -12017,7 +12155,8 @@ const VCarouselItem = genericComponent()({
|
|
12017
12155
|
name: 'VCarouselItem',
|
12018
12156
|
inheritAttrs: false,
|
12019
12157
|
props: {
|
12020
|
-
value: null
|
12158
|
+
value: null,
|
12159
|
+
...makeComponentProps()
|
12021
12160
|
},
|
12022
12161
|
setup(props, _ref) {
|
12023
12162
|
let {
|
@@ -12025,7 +12164,8 @@ const VCarouselItem = genericComponent()({
|
|
12025
12164
|
attrs
|
12026
12165
|
} = _ref;
|
12027
12166
|
useRender(() => createVNode(VWindowItem, {
|
12028
|
-
"class":
|
12167
|
+
"class": ['v-carousel-item', props.class],
|
12168
|
+
"style": props.style,
|
12029
12169
|
"value": props.value
|
12030
12170
|
}, {
|
12031
12171
|
default: () => [createVNode(VImg, attrs, slots)]
|
@@ -12038,6 +12178,7 @@ const VCode = createSimpleFunctional('v-code');
|
|
12038
12178
|
const makeVSheetProps = propsFactory({
|
12039
12179
|
color: String,
|
12040
12180
|
...makeBorderProps(),
|
12181
|
+
...makeComponentProps(),
|
12041
12182
|
...makeDimensionProps(),
|
12042
12183
|
...makeElevationProps(),
|
12043
12184
|
...makeLocationProps(),
|
@@ -12081,8 +12222,8 @@ const VSheet = genericComponent()({
|
|
12081
12222
|
roundedClasses
|
12082
12223
|
} = useRounded(props);
|
12083
12224
|
useRender(() => createVNode(props.tag, {
|
12084
|
-
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
12085
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
12225
|
+
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
|
12226
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
|
12086
12227
|
}, slots));
|
12087
12228
|
return {};
|
12088
12229
|
}
|
@@ -12108,7 +12249,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12108
12249
|
width: {
|
12109
12250
|
type: [Number, String],
|
12110
12251
|
default: 300
|
12111
|
-
}
|
12252
|
+
},
|
12253
|
+
...makeComponentProps()
|
12112
12254
|
},
|
12113
12255
|
emits: {
|
12114
12256
|
'update:color': color => true,
|
@@ -12253,7 +12395,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12253
12395
|
onMounted(() => updateCanvas());
|
12254
12396
|
useRender(() => createVNode("div", {
|
12255
12397
|
"ref": resizeRef,
|
12256
|
-
"class":
|
12398
|
+
"class": ['v-color-picker-canvas', props.class],
|
12399
|
+
"style": props.style,
|
12257
12400
|
"onClick": handleClick,
|
12258
12401
|
"onMousedown": handleMouseDown,
|
12259
12402
|
"onTouchstart": handleMouseDown
|
@@ -12486,7 +12629,8 @@ const VColorPickerEdit = defineComponent({
|
|
12486
12629
|
type: Array,
|
12487
12630
|
default: () => Object.keys(modes),
|
12488
12631
|
validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
|
12489
|
-
}
|
12632
|
+
},
|
12633
|
+
...makeComponentProps()
|
12490
12634
|
},
|
12491
12635
|
emits: {
|
12492
12636
|
'update:color': color => true,
|
@@ -12526,7 +12670,8 @@ const VColorPickerEdit = defineComponent({
|
|
12526
12670
|
});
|
12527
12671
|
});
|
12528
12672
|
useRender(() => createVNode("div", {
|
12529
|
-
"class":
|
12673
|
+
"class": ['v-color-picker-edit', props.class],
|
12674
|
+
"style": props.style
|
12530
12675
|
}, [inputs.value?.map(props => createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && createVNode(VBtn, {
|
12531
12676
|
"icon": "$unfold",
|
12532
12677
|
"size": "x-small",
|
@@ -12845,7 +12990,8 @@ const VSliderThumb = genericComponent()({
|
|
12845
12990
|
ripple: {
|
12846
12991
|
type: Boolean,
|
12847
12992
|
default: true
|
12848
|
-
}
|
12993
|
+
},
|
12994
|
+
...makeComponentProps()
|
12849
12995
|
},
|
12850
12996
|
emits: {
|
12851
12997
|
'update:modelValue': v => true
|
@@ -12923,11 +13069,11 @@ const VSliderThumb = genericComponent()({
|
|
12923
13069
|
"class": ['v-slider-thumb', {
|
12924
13070
|
'v-slider-thumb--focused': props.focused,
|
12925
13071
|
'v-slider-thumb--pressed': props.focused && mousePressed.value
|
12926
|
-
}],
|
12927
|
-
"style": {
|
13072
|
+
}, props.class],
|
13073
|
+
"style": [{
|
12928
13074
|
'--v-slider-thumb-position': positionPercentage,
|
12929
13075
|
'--v-slider-thumb-size': convertToUnit(thumbSize.value)
|
12930
|
-
},
|
13076
|
+
}, props.style],
|
12931
13077
|
"role": "slider",
|
12932
13078
|
"tabindex": disabled.value ? -1 : 0,
|
12933
13079
|
"aria-valuemin": props.min,
|
@@ -12973,7 +13119,8 @@ const VSliderTrack = genericComponent()({
|
|
12973
13119
|
stop: {
|
12974
13120
|
type: Number,
|
12975
13121
|
required: true
|
12976
|
-
}
|
13122
|
+
},
|
13123
|
+
...makeComponentProps()
|
12977
13124
|
},
|
12978
13125
|
emits: {},
|
12979
13126
|
setup(props, _ref) {
|
@@ -13048,12 +13195,12 @@ const VSliderTrack = genericComponent()({
|
|
13048
13195
|
});
|
13049
13196
|
useRender(() => {
|
13050
13197
|
return createVNode("div", {
|
13051
|
-
"class": ['v-slider-track', roundedClasses.value],
|
13052
|
-
"style": {
|
13198
|
+
"class": ['v-slider-track', roundedClasses.value, props.class],
|
13199
|
+
"style": [{
|
13053
13200
|
'--v-slider-track-size': convertToUnit(trackSize.value),
|
13054
13201
|
'--v-slider-tick-size': convertToUnit(tickSize.value),
|
13055
13202
|
direction: !vertical.value ? horizontalDirection.value : undefined
|
13056
|
-
}
|
13203
|
+
}, props.style]
|
13057
13204
|
}, [createVNode("div", {
|
13058
13205
|
"class": ['v-slider-track__background', trackColorClasses.value, {
|
13059
13206
|
'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
|
@@ -13156,7 +13303,8 @@ const VSlider = genericComponent()({
|
|
13156
13303
|
'v-slider--focused': isFocused.value,
|
13157
13304
|
'v-slider--pressed': mousePressed.value,
|
13158
13305
|
'v-slider--disabled': props.disabled
|
13159
|
-
}]
|
13306
|
+
}, props.class],
|
13307
|
+
"style": props.style
|
13160
13308
|
}, inputProps, {
|
13161
13309
|
"focused": isFocused.value
|
13162
13310
|
}), {
|
@@ -13219,7 +13367,8 @@ const VColorPickerPreview = defineComponent({
|
|
13219
13367
|
type: Object
|
13220
13368
|
},
|
13221
13369
|
disabled: Boolean,
|
13222
|
-
hideAlpha: Boolean
|
13370
|
+
hideAlpha: Boolean,
|
13371
|
+
...makeComponentProps()
|
13223
13372
|
},
|
13224
13373
|
emits: {
|
13225
13374
|
'update:color': color => true
|
@@ -13231,7 +13380,8 @@ const VColorPickerPreview = defineComponent({
|
|
13231
13380
|
useRender(() => createVNode("div", {
|
13232
13381
|
"class": ['v-color-picker-preview', {
|
13233
13382
|
'v-color-picker-preview--hide-alpha': props.hideAlpha
|
13234
|
-
}]
|
13383
|
+
}, props.class],
|
13384
|
+
"style": props.style
|
13235
13385
|
}, [createVNode("div", {
|
13236
13386
|
"class": "v-color-picker-preview__dot"
|
13237
13387
|
}, [createVNode("div", {
|
@@ -13612,7 +13762,8 @@ const VColorPickerSwatches = defineComponent({
|
|
13612
13762
|
},
|
13613
13763
|
disabled: Boolean,
|
13614
13764
|
color: Object,
|
13615
|
-
maxHeight: [Number, String]
|
13765
|
+
maxHeight: [Number, String],
|
13766
|
+
...makeComponentProps()
|
13616
13767
|
},
|
13617
13768
|
emits: {
|
13618
13769
|
'update:color': color => true
|
@@ -13622,10 +13773,10 @@ const VColorPickerSwatches = defineComponent({
|
|
13622
13773
|
emit
|
13623
13774
|
} = _ref;
|
13624
13775
|
useRender(() => createVNode("div", {
|
13625
|
-
"class":
|
13626
|
-
"style": {
|
13776
|
+
"class": ['v-color-picker-swatches', props.class],
|
13777
|
+
"style": [{
|
13627
13778
|
maxHeight: convertToUnit(props.maxHeight)
|
13628
|
-
}
|
13779
|
+
}, props.style]
|
13629
13780
|
}, [createVNode("div", null, [props.swatches.map(swatch => createVNode("div", {
|
13630
13781
|
"class": "v-color-picker-swatches__swatch"
|
13631
13782
|
}, [swatch.map(color => {
|
@@ -13729,13 +13880,13 @@ const VColorPicker = defineComponent({
|
|
13729
13880
|
"rounded": props.rounded,
|
13730
13881
|
"elevation": props.elevation,
|
13731
13882
|
"theme": props.theme,
|
13732
|
-
"class": ['v-color-picker'],
|
13733
|
-
"style": {
|
13883
|
+
"class": ['v-color-picker', props.class],
|
13884
|
+
"style": [{
|
13734
13885
|
'--v-color-picker-color-hsv': HSVtoCSS({
|
13735
13886
|
...(currentColor.value ?? nullColor),
|
13736
13887
|
a: 1
|
13737
13888
|
})
|
13738
|
-
}
|
13889
|
+
}, props.style]
|
13739
13890
|
}, sheetProps, {
|
13740
13891
|
"maxWidth": props.width
|
13741
13892
|
}), {
|
@@ -14046,7 +14197,8 @@ const VCombobox = genericComponent()({
|
|
14046
14197
|
'v-combobox--chips': !!props.chips,
|
14047
14198
|
'v-combobox--selecting-index': selectionIndex.value > -1,
|
14048
14199
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
14049
|
-
}],
|
14200
|
+
}, props.class],
|
14201
|
+
"style": props.style,
|
14050
14202
|
"appendInnerIcon": props.items.length ? props.menuIcon : undefined,
|
14051
14203
|
"readonly": props.readonly,
|
14052
14204
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -14203,7 +14355,7 @@ const VDialog = genericComponent()({
|
|
14203
14355
|
![document, overlay.value.contentEl].includes(after) &&
|
14204
14356
|
// It isn't inside the dialog body
|
14205
14357
|
!overlay.value.contentEl.contains(after)) {
|
14206
|
-
const focusable =
|
14358
|
+
const focusable = focusableChildren(overlay.value.contentEl);
|
14207
14359
|
if (!focusable.length) return;
|
14208
14360
|
const firstElement = focusable[0];
|
14209
14361
|
const lastElement = focusable[focusable.length - 1];
|
@@ -14244,7 +14396,8 @@ const VDialog = genericComponent()({
|
|
14244
14396
|
"class": ['v-dialog', {
|
14245
14397
|
'v-dialog--fullscreen': props.fullscreen,
|
14246
14398
|
'v-dialog--scrollable': props.scrollable
|
14247
|
-
}]
|
14399
|
+
}, props.class],
|
14400
|
+
"style": props.style
|
14248
14401
|
}, overlayProps, {
|
14249
14402
|
"modelValue": isActive.value,
|
14250
14403
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -14283,6 +14436,7 @@ const VExpansionPanels = genericComponent()({
|
|
14283
14436
|
validator: v => allowedVariants.includes(v)
|
14284
14437
|
},
|
14285
14438
|
readonly: Boolean,
|
14439
|
+
...makeComponentProps(),
|
14286
14440
|
...makeGroupProps(),
|
14287
14441
|
...makeTagProps(),
|
14288
14442
|
...makeThemeProps()
|
@@ -14308,7 +14462,8 @@ const VExpansionPanels = genericComponent()({
|
|
14308
14462
|
}
|
14309
14463
|
});
|
14310
14464
|
useRender(() => createVNode(props.tag, {
|
14311
|
-
"class": ['v-expansion-panels', themeClasses.value, variantClass.value]
|
14465
|
+
"class": ['v-expansion-panels', themeClasses.value, variantClass.value, props.class],
|
14466
|
+
"style": props.style
|
14312
14467
|
}, slots));
|
14313
14468
|
return {};
|
14314
14469
|
}
|
@@ -14337,6 +14492,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14337
14492
|
Ripple
|
14338
14493
|
},
|
14339
14494
|
props: {
|
14495
|
+
...makeComponentProps(),
|
14340
14496
|
...makeVExpansionPanelTitleProps()
|
14341
14497
|
},
|
14342
14498
|
setup(props, _ref) {
|
@@ -14359,8 +14515,8 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14359
14515
|
useRender(() => withDirectives(createVNode("button", {
|
14360
14516
|
"class": ['v-expansion-panel-title', {
|
14361
14517
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value
|
14362
|
-
}, backgroundColorClasses.value],
|
14363
|
-
"style": backgroundColorStyles.value,
|
14518
|
+
}, backgroundColorClasses.value, props.class],
|
14519
|
+
"style": [backgroundColorStyles.value, props.style],
|
14364
14520
|
"type": "button",
|
14365
14521
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
14366
14522
|
"disabled": expansionPanel.disabled.value,
|
@@ -14380,6 +14536,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14380
14536
|
const VExpansionPanelText = genericComponent()({
|
14381
14537
|
name: 'VExpansionPanelText',
|
14382
14538
|
props: {
|
14539
|
+
...makeComponentProps(),
|
14383
14540
|
...makeLazyProps()
|
14384
14541
|
},
|
14385
14542
|
setup(props, _ref) {
|
@@ -14396,7 +14553,8 @@ const VExpansionPanelText = genericComponent()({
|
|
14396
14553
|
"onAfterLeave": onAfterLeave
|
14397
14554
|
}, {
|
14398
14555
|
default: () => [withDirectives(createVNode("div", {
|
14399
|
-
"class":
|
14556
|
+
"class": ['v-expansion-panel-text', props.class],
|
14557
|
+
"style": props.style
|
14400
14558
|
}, [slots.default && hasContent.value && createVNode("div", {
|
14401
14559
|
"class": "v-expansion-panel-text__wrapper"
|
14402
14560
|
}, [slots.default?.()])]), [[vShow, expansionPanel.isSelected.value]])]
|
@@ -14411,6 +14569,7 @@ const VExpansionPanel = genericComponent()({
|
|
14411
14569
|
title: String,
|
14412
14570
|
text: String,
|
14413
14571
|
bgColor: String,
|
14572
|
+
...makeComponentProps(),
|
14414
14573
|
...makeElevationProps(),
|
14415
14574
|
...makeGroupItemProps(),
|
14416
14575
|
...makeLazyProps(),
|
@@ -14459,8 +14618,8 @@ const VExpansionPanel = genericComponent()({
|
|
14459
14618
|
'v-expansion-panel--before-active': isBeforeSelected.value,
|
14460
14619
|
'v-expansion-panel--after-active': isAfterSelected.value,
|
14461
14620
|
'v-expansion-panel--disabled': isDisabled.value
|
14462
|
-
}, roundedClasses.value, backgroundColorClasses.value],
|
14463
|
-
"style": backgroundColorStyles.value,
|
14621
|
+
}, roundedClasses.value, backgroundColorClasses.value, props.class],
|
14622
|
+
"style": [backgroundColorStyles.value, props.style],
|
14464
14623
|
"aria-expanded": groupItem.isSelected.value
|
14465
14624
|
}, {
|
14466
14625
|
default: () => [createVNode("div", {
|
@@ -14610,7 +14769,8 @@ const VFileInput = genericComponent()({
|
|
14610
14769
|
"ref": vInputRef,
|
14611
14770
|
"modelValue": model.value,
|
14612
14771
|
"onUpdate:modelValue": $event => model.value = $event,
|
14613
|
-
"class":
|
14772
|
+
"class": ['v-file-input', props.class],
|
14773
|
+
"style": props.style,
|
14614
14774
|
"onClick:prepend": onClickPrepend
|
14615
14775
|
}, rootAttrs, inputProps, {
|
14616
14776
|
"focused": isFocused.value
|
@@ -14702,6 +14862,7 @@ const VFooter = genericComponent()({
|
|
14702
14862
|
default: 'auto'
|
14703
14863
|
},
|
14704
14864
|
...makeBorderProps(),
|
14865
|
+
...makeComponentProps(),
|
14705
14866
|
...makeElevationProps(),
|
14706
14867
|
...makeLayoutItemProps(),
|
14707
14868
|
...makeRoundedProps(),
|
@@ -14751,8 +14912,8 @@ const VFooter = genericComponent()({
|
|
14751
14912
|
});
|
14752
14913
|
useRender(() => createVNode(props.tag, {
|
14753
14914
|
"ref": resizeRef,
|
14754
|
-
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
14755
|
-
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined]
|
14915
|
+
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
14916
|
+
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined, props.style]
|
14756
14917
|
}, slots));
|
14757
14918
|
return {};
|
14758
14919
|
}
|
@@ -14763,6 +14924,7 @@ const VFooter = genericComponent()({
|
|
14763
14924
|
const VForm = genericComponent()({
|
14764
14925
|
name: 'VForm',
|
14765
14926
|
props: {
|
14927
|
+
...makeComponentProps(),
|
14766
14928
|
...makeFormProps()
|
14767
14929
|
},
|
14768
14930
|
emits: {
|
@@ -14801,7 +14963,8 @@ const VForm = genericComponent()({
|
|
14801
14963
|
}
|
14802
14964
|
useRender(() => createVNode("form", {
|
14803
14965
|
"ref": formRef,
|
14804
|
-
"class":
|
14966
|
+
"class": ['v-form', props.class],
|
14967
|
+
"style": props.style,
|
14805
14968
|
"novalidate": true,
|
14806
14969
|
"onReset": onReset,
|
14807
14970
|
"onSubmit": onSubmit
|
@@ -14817,6 +14980,7 @@ const VContainer = genericComponent()({
|
|
14817
14980
|
type: Boolean,
|
14818
14981
|
default: false
|
14819
14982
|
},
|
14983
|
+
...makeComponentProps(),
|
14820
14984
|
...makeTagProps()
|
14821
14985
|
},
|
14822
14986
|
setup(props, _ref) {
|
@@ -14826,7 +14990,8 @@ const VContainer = genericComponent()({
|
|
14826
14990
|
useRender(() => createVNode(props.tag, {
|
14827
14991
|
"class": ['v-container', {
|
14828
14992
|
'v-container--fluid': props.fluid
|
14829
|
-
}]
|
14993
|
+
}, props.class],
|
14994
|
+
"style": props.style
|
14830
14995
|
}, slots));
|
14831
14996
|
return {};
|
14832
14997
|
}
|
@@ -14917,6 +15082,7 @@ const VCol = genericComponent()({
|
|
14917
15082
|
default: null,
|
14918
15083
|
validator: str => ALIGN_SELF_VALUES.includes(str)
|
14919
15084
|
},
|
15085
|
+
...makeComponentProps(),
|
14920
15086
|
...makeTagProps()
|
14921
15087
|
},
|
14922
15088
|
setup(props, _ref) {
|
@@ -14947,7 +15113,8 @@ const VCol = genericComponent()({
|
|
14947
15113
|
return classList;
|
14948
15114
|
});
|
14949
15115
|
return () => h(props.tag, {
|
14950
|
-
class: classes.value
|
15116
|
+
class: [classes.value, props.class],
|
15117
|
+
style: props.style
|
14951
15118
|
}, slots.default?.());
|
14952
15119
|
}
|
14953
15120
|
});
|
@@ -15033,6 +15200,7 @@ const VRow = genericComponent()({
|
|
15033
15200
|
validator: alignContentValidator
|
15034
15201
|
},
|
15035
15202
|
...alignContentProps,
|
15203
|
+
...makeComponentProps(),
|
15036
15204
|
...makeTagProps()
|
15037
15205
|
},
|
15038
15206
|
setup(props, _ref) {
|
@@ -15061,7 +15229,8 @@ const VRow = genericComponent()({
|
|
15061
15229
|
return classList;
|
15062
15230
|
});
|
15063
15231
|
return () => h(props.tag, {
|
15064
|
-
class: ['v-row', classes.value]
|
15232
|
+
class: ['v-row', classes.value, props.class],
|
15233
|
+
style: props.style
|
15065
15234
|
}, slots.default?.());
|
15066
15235
|
}
|
15067
15236
|
});
|
@@ -15105,6 +15274,7 @@ const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');
|
|
15105
15274
|
const VItemGroup = genericComponent()({
|
15106
15275
|
name: 'VItemGroup',
|
15107
15276
|
props: {
|
15277
|
+
...makeComponentProps(),
|
15108
15278
|
...makeGroupProps({
|
15109
15279
|
selectedClass: 'v-item--selected'
|
15110
15280
|
}),
|
@@ -15129,7 +15299,8 @@ const VItemGroup = genericComponent()({
|
|
15129
15299
|
selected
|
15130
15300
|
} = useGroup(props, VItemGroupSymbol);
|
15131
15301
|
return () => createVNode(props.tag, {
|
15132
|
-
"class": ['v-item-group', themeClasses.value]
|
15302
|
+
"class": ['v-item-group', themeClasses.value, props.class],
|
15303
|
+
"style": props.style
|
15133
15304
|
}, {
|
15134
15305
|
default: () => [slots.default?.({
|
15135
15306
|
isSelected,
|
@@ -15179,7 +15350,10 @@ const VKbd = createSimpleFunctional('v-kbd');
|
|
15179
15350
|
|
15180
15351
|
const VLayout = genericComponent()({
|
15181
15352
|
name: 'VLayout',
|
15182
|
-
props:
|
15353
|
+
props: {
|
15354
|
+
...makeComponentProps(),
|
15355
|
+
...makeLayoutProps()
|
15356
|
+
},
|
15183
15357
|
setup(props, _ref) {
|
15184
15358
|
let {
|
15185
15359
|
slots
|
@@ -15193,8 +15367,8 @@ const VLayout = genericComponent()({
|
|
15193
15367
|
} = createLayout(props);
|
15194
15368
|
useRender(() => createVNode("div", {
|
15195
15369
|
"ref": layoutRef,
|
15196
|
-
"class": layoutClasses.value,
|
15197
|
-
"style": layoutStyles.value
|
15370
|
+
"class": [layoutClasses.value, props.class],
|
15371
|
+
"style": [layoutStyles.value, props.style]
|
15198
15372
|
}, [slots.default?.()]));
|
15199
15373
|
return {
|
15200
15374
|
getLayoutItem,
|
@@ -15217,6 +15391,7 @@ const VLayoutItem = genericComponent()({
|
|
15217
15391
|
default: 300
|
15218
15392
|
},
|
15219
15393
|
modelValue: Boolean,
|
15394
|
+
...makeComponentProps(),
|
15220
15395
|
...makeLayoutItemProps()
|
15221
15396
|
},
|
15222
15397
|
setup(props, _ref) {
|
@@ -15235,8 +15410,8 @@ const VLayoutItem = genericComponent()({
|
|
15235
15410
|
absolute: toRef(props, 'absolute')
|
15236
15411
|
});
|
15237
15412
|
return () => createVNode("div", {
|
15238
|
-
"class": ['v-layout-item'],
|
15239
|
-
"style": layoutItemStyles.value
|
15413
|
+
"class": ['v-layout-item', props.class],
|
15414
|
+
"style": [layoutItemStyles.value, props.style]
|
15240
15415
|
}, [slots.default?.()]);
|
15241
15416
|
}
|
15242
15417
|
});
|
@@ -15260,6 +15435,7 @@ const VLazy = genericComponent()({
|
|
15260
15435
|
threshold: undefined
|
15261
15436
|
})
|
15262
15437
|
},
|
15438
|
+
...makeComponentProps(),
|
15263
15439
|
...makeDimensionProps(),
|
15264
15440
|
...makeTagProps(),
|
15265
15441
|
...makeTransitionProps({
|
@@ -15282,8 +15458,8 @@ const VLazy = genericComponent()({
|
|
15282
15458
|
isActive.value = isIntersecting;
|
15283
15459
|
}
|
15284
15460
|
useRender(() => withDirectives(createVNode(props.tag, {
|
15285
|
-
"class":
|
15286
|
-
"style": dimensionStyles.value
|
15461
|
+
"class": ['v-lazy', props.class],
|
15462
|
+
"style": [dimensionStyles.value, props.style]
|
15287
15463
|
}, {
|
15288
15464
|
default: () => [isActive.value && createVNode(MaybeTransition, {
|
15289
15465
|
"transition": props.transition,
|
@@ -15308,7 +15484,8 @@ const VLocaleProvider = genericComponent()({
|
|
15308
15484
|
rtl: {
|
15309
15485
|
type: Boolean,
|
15310
15486
|
default: undefined
|
15311
|
-
}
|
15487
|
+
},
|
15488
|
+
...makeComponentProps()
|
15312
15489
|
},
|
15313
15490
|
setup(props, _ref) {
|
15314
15491
|
let {
|
@@ -15318,7 +15495,8 @@ const VLocaleProvider = genericComponent()({
|
|
15318
15495
|
rtlClasses
|
15319
15496
|
} = provideLocale(props);
|
15320
15497
|
useRender(() => createVNode("div", {
|
15321
|
-
"class": ['v-locale-provider', rtlClasses.value]
|
15498
|
+
"class": ['v-locale-provider', rtlClasses.value, props.class],
|
15499
|
+
"style": props.style
|
15322
15500
|
}, [slots.default?.()]));
|
15323
15501
|
return {};
|
15324
15502
|
}
|
@@ -15328,6 +15506,7 @@ const VMain = genericComponent()({
|
|
15328
15506
|
name: 'VMain',
|
15329
15507
|
props: {
|
15330
15508
|
scrollable: Boolean,
|
15509
|
+
...makeComponentProps(),
|
15331
15510
|
...makeTagProps({
|
15332
15511
|
tag: 'main'
|
15333
15512
|
})
|
@@ -15345,8 +15524,8 @@ const VMain = genericComponent()({
|
|
15345
15524
|
useRender(() => createVNode(props.tag, {
|
15346
15525
|
"class": ['v-main', {
|
15347
15526
|
'v-main--scrollable': props.scrollable
|
15348
|
-
}],
|
15349
|
-
"style": [mainStyles.value, ssrBootStyles.value]
|
15527
|
+
}, props.class],
|
15528
|
+
"style": [mainStyles.value, ssrBootStyles.value, props.style]
|
15350
15529
|
}, {
|
15351
15530
|
default: () => [props.scrollable ? createVNode("div", {
|
15352
15531
|
"class": "v-main__scroller"
|
@@ -15356,593 +15535,167 @@ const VMain = genericComponent()({
|
|
15356
15535
|
}
|
15357
15536
|
});
|
15358
15537
|
|
15359
|
-
|
15360
|
-
|
15361
|
-
|
15362
|
-
|
15363
|
-
|
15364
|
-
|
15365
|
-
const
|
15366
|
-
const
|
15367
|
-
const
|
15368
|
-
|
15369
|
-
|
15538
|
+
function useSticky(_ref) {
|
15539
|
+
let {
|
15540
|
+
rootEl,
|
15541
|
+
isSticky,
|
15542
|
+
layoutItemStyles
|
15543
|
+
} = _ref;
|
15544
|
+
const isStuck = ref(false);
|
15545
|
+
const stuckPosition = ref(0);
|
15546
|
+
const stickyStyles = computed(() => {
|
15547
|
+
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15548
|
+
return [isSticky.value ? {
|
15549
|
+
top: 'auto',
|
15550
|
+
bottom: 'auto',
|
15551
|
+
height: undefined
|
15552
|
+
} : undefined, isStuck.value ? {
|
15553
|
+
[side]: convertToUnit(stuckPosition.value)
|
15554
|
+
} : {
|
15555
|
+
top: layoutItemStyles.value.top
|
15556
|
+
}];
|
15557
|
+
});
|
15558
|
+
onMounted(() => {
|
15559
|
+
watch(isSticky, val => {
|
15560
|
+
if (val) {
|
15561
|
+
window.addEventListener('scroll', onScroll, {
|
15562
|
+
passive: true
|
15563
|
+
});
|
15564
|
+
} else {
|
15565
|
+
window.removeEventListener('scroll', onScroll);
|
15566
|
+
}
|
15567
|
+
}, {
|
15568
|
+
immediate: true
|
15569
|
+
});
|
15570
|
+
});
|
15571
|
+
onBeforeUnmount(() => {
|
15572
|
+
document.removeEventListener('scroll', onScroll);
|
15573
|
+
});
|
15574
|
+
let lastScrollTop = 0;
|
15575
|
+
function onScroll() {
|
15576
|
+
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15577
|
+
const rect = rootEl.value.getBoundingClientRect();
|
15578
|
+
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15579
|
+
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15580
|
+
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15581
|
+
if (rect.height < window.innerHeight - layoutTop) {
|
15582
|
+
isStuck.value = 'top';
|
15583
|
+
stuckPosition.value = layoutTop;
|
15584
|
+
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15585
|
+
stuckPosition.value = window.scrollY + rect.top;
|
15586
|
+
isStuck.value = true;
|
15587
|
+
} else if (direction === 'down' && bottom <= 0) {
|
15588
|
+
stuckPosition.value = 0;
|
15589
|
+
isStuck.value = 'bottom';
|
15590
|
+
} else if (direction === 'up' && top <= 0) {
|
15591
|
+
stuckPosition.value = rect.top + top;
|
15592
|
+
isStuck.value = 'top';
|
15593
|
+
}
|
15594
|
+
lastScrollTop = window.scrollY;
|
15370
15595
|
}
|
15371
|
-
|
15372
|
-
|
15596
|
+
return {
|
15597
|
+
isStuck,
|
15598
|
+
stickyStyles
|
15599
|
+
};
|
15600
|
+
}
|
15373
15601
|
|
15374
|
-
|
15375
|
-
|
15602
|
+
const HORIZON = 100; // ms
|
15603
|
+
const HISTORY = 20; // number of samples to keep
|
15376
15604
|
|
15377
|
-
|
15378
|
-
|
15379
|
-
|
15380
|
-
|
15605
|
+
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15606
|
+
function kineticEnergyToVelocity(work) {
|
15607
|
+
const sqrt2 = 1.41421356237;
|
15608
|
+
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15609
|
+
}
|
15610
|
+
|
15611
|
+
/**
|
15612
|
+
* Returns pointer velocity in px/s
|
15613
|
+
*/
|
15614
|
+
function calculateImpulseVelocity(samples) {
|
15615
|
+
// The input should be in reversed time order (most recent sample at index i=0)
|
15616
|
+
if (samples.length < 2) {
|
15617
|
+
// if 0 or 1 points, velocity is zero
|
15618
|
+
return 0;
|
15619
|
+
}
|
15620
|
+
// if (samples[1].t > samples[0].t) {
|
15621
|
+
// // Algorithm will still work, but not perfectly
|
15622
|
+
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15623
|
+
// }
|
15624
|
+
if (samples.length === 2) {
|
15625
|
+
// if 2 points, basic linear calculation
|
15626
|
+
if (samples[1].t === samples[0].t) {
|
15627
|
+
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15628
|
+
return 0;
|
15381
15629
|
}
|
15630
|
+
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15382
15631
|
}
|
15383
|
-
|
15384
|
-
|
15632
|
+
// Guaranteed to have at least 3 points here
|
15633
|
+
// start with the oldest sample and go forward in time
|
15634
|
+
let work = 0;
|
15635
|
+
for (let i = samples.length - 1; i > 0; i--) {
|
15636
|
+
if (samples[i].t === samples[i - 1].t) {
|
15637
|
+
// consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)
|
15638
|
+
continue;
|
15639
|
+
}
|
15640
|
+
const vprev = kineticEnergyToVelocity(work); // v[i-1]
|
15641
|
+
const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]
|
15642
|
+
work += (vcurr - vprev) * Math.abs(vcurr);
|
15643
|
+
if (i === samples.length - 1) {
|
15644
|
+
work *= 0.5;
|
15645
|
+
}
|
15385
15646
|
}
|
15386
|
-
|
15387
|
-
return weeks;
|
15388
|
-
}
|
15389
|
-
function startOfMonth(date) {
|
15390
|
-
return new Date(date.getFullYear(), date.getMonth(), 1);
|
15391
|
-
}
|
15392
|
-
function endOfMonth(date) {
|
15393
|
-
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
15647
|
+
return kineticEnergyToVelocity(work) * 1000;
|
15394
15648
|
}
|
15395
|
-
function
|
15396
|
-
|
15397
|
-
|
15398
|
-
|
15399
|
-
|
15400
|
-
|
15649
|
+
function useVelocity() {
|
15650
|
+
const touches = {};
|
15651
|
+
function addMovement(e) {
|
15652
|
+
Array.from(e.changedTouches).forEach(touch => {
|
15653
|
+
const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
|
15654
|
+
samples.push([e.timeStamp, touch]);
|
15655
|
+
});
|
15401
15656
|
}
|
15402
|
-
|
15403
|
-
|
15404
|
-
|
15405
|
-
|
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
|
-
DK: 1,
|
15445
|
-
DM: 0,
|
15446
|
-
DO: 0,
|
15447
|
-
DZ: 6,
|
15448
|
-
EC: 1,
|
15449
|
-
EE: 1,
|
15450
|
-
EG: 6,
|
15451
|
-
ES: 1,
|
15452
|
-
ET: 0,
|
15453
|
-
FI: 1,
|
15454
|
-
FJ: 1,
|
15455
|
-
FO: 1,
|
15456
|
-
FR: 1,
|
15457
|
-
GB: 1,
|
15458
|
-
'GB-alt-variant': 0,
|
15459
|
-
GE: 1,
|
15460
|
-
GF: 1,
|
15461
|
-
GP: 1,
|
15462
|
-
GR: 1,
|
15463
|
-
GT: 0,
|
15464
|
-
GU: 0,
|
15465
|
-
HK: 0,
|
15466
|
-
HN: 0,
|
15467
|
-
HR: 1,
|
15468
|
-
HU: 1,
|
15469
|
-
ID: 0,
|
15470
|
-
IE: 1,
|
15471
|
-
IL: 0,
|
15472
|
-
IN: 0,
|
15473
|
-
IQ: 6,
|
15474
|
-
IR: 6,
|
15475
|
-
IS: 1,
|
15476
|
-
IT: 1,
|
15477
|
-
JM: 0,
|
15478
|
-
JO: 6,
|
15479
|
-
JP: 0,
|
15480
|
-
KE: 0,
|
15481
|
-
KG: 1,
|
15482
|
-
KH: 0,
|
15483
|
-
KR: 0,
|
15484
|
-
KW: 6,
|
15485
|
-
KZ: 1,
|
15486
|
-
LA: 0,
|
15487
|
-
LB: 1,
|
15488
|
-
LI: 1,
|
15489
|
-
LK: 1,
|
15490
|
-
LT: 1,
|
15491
|
-
LU: 1,
|
15492
|
-
LV: 1,
|
15493
|
-
LY: 6,
|
15494
|
-
MC: 1,
|
15495
|
-
MD: 1,
|
15496
|
-
ME: 1,
|
15497
|
-
MH: 0,
|
15498
|
-
MK: 1,
|
15499
|
-
MM: 0,
|
15500
|
-
MN: 1,
|
15501
|
-
MO: 0,
|
15502
|
-
MQ: 1,
|
15503
|
-
MT: 0,
|
15504
|
-
MV: 5,
|
15505
|
-
MX: 0,
|
15506
|
-
MY: 1,
|
15507
|
-
MZ: 0,
|
15508
|
-
NI: 0,
|
15509
|
-
NL: 1,
|
15510
|
-
NO: 1,
|
15511
|
-
NP: 0,
|
15512
|
-
NZ: 1,
|
15513
|
-
OM: 6,
|
15514
|
-
PA: 0,
|
15515
|
-
PE: 0,
|
15516
|
-
PH: 0,
|
15517
|
-
PK: 0,
|
15518
|
-
PL: 1,
|
15519
|
-
PR: 0,
|
15520
|
-
PT: 0,
|
15521
|
-
PY: 0,
|
15522
|
-
QA: 6,
|
15523
|
-
RE: 1,
|
15524
|
-
RO: 1,
|
15525
|
-
RS: 1,
|
15526
|
-
RU: 1,
|
15527
|
-
SA: 0,
|
15528
|
-
SD: 6,
|
15529
|
-
SE: 1,
|
15530
|
-
SG: 0,
|
15531
|
-
SI: 1,
|
15532
|
-
SK: 1,
|
15533
|
-
SM: 1,
|
15534
|
-
SV: 0,
|
15535
|
-
SY: 6,
|
15536
|
-
TH: 0,
|
15537
|
-
TJ: 1,
|
15538
|
-
TM: 1,
|
15539
|
-
TR: 1,
|
15540
|
-
TT: 0,
|
15541
|
-
TW: 0,
|
15542
|
-
UA: 1,
|
15543
|
-
UM: 0,
|
15544
|
-
US: 0,
|
15545
|
-
UY: 1,
|
15546
|
-
UZ: 1,
|
15547
|
-
VA: 1,
|
15548
|
-
VE: 0,
|
15549
|
-
VI: 0,
|
15550
|
-
VN: 1,
|
15551
|
-
WS: 0,
|
15552
|
-
XK: 1,
|
15553
|
-
YE: 0,
|
15554
|
-
ZA: 0,
|
15555
|
-
ZW: 0
|
15556
|
-
};
|
15557
|
-
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
15558
|
-
function getWeekdays(locale) {
|
15559
|
-
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
15560
|
-
return createRange(7).map(i => {
|
15561
|
-
const weekday = new Date(sundayJanuarySecond2000);
|
15562
|
-
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
15563
|
-
return new Intl.DateTimeFormat(locale, {
|
15564
|
-
weekday: 'long'
|
15565
|
-
}).format(weekday);
|
15566
|
-
});
|
15567
|
-
}
|
15568
|
-
function format(value, formatString, locale) {
|
15569
|
-
const date = new Date(value);
|
15570
|
-
let options = {};
|
15571
|
-
switch (formatString) {
|
15572
|
-
case 'fullDateWithWeekday':
|
15573
|
-
options = {
|
15574
|
-
weekday: 'long',
|
15575
|
-
day: 'numeric',
|
15576
|
-
month: 'long',
|
15577
|
-
year: 'numeric'
|
15578
|
-
};
|
15579
|
-
break;
|
15580
|
-
case 'normalDateWithWeekday':
|
15581
|
-
options = {
|
15582
|
-
weekday: 'short',
|
15583
|
-
day: 'numeric',
|
15584
|
-
month: 'short',
|
15585
|
-
year: 'numeric'
|
15586
|
-
};
|
15587
|
-
break;
|
15588
|
-
case 'keyboardDate':
|
15589
|
-
options = {};
|
15590
|
-
break;
|
15591
|
-
case 'monthAndDate':
|
15592
|
-
options = {
|
15593
|
-
month: 'long',
|
15594
|
-
day: 'numeric'
|
15595
|
-
};
|
15596
|
-
break;
|
15597
|
-
case 'monthAndYear':
|
15598
|
-
options = {
|
15599
|
-
month: 'long',
|
15600
|
-
year: 'numeric'
|
15601
|
-
};
|
15602
|
-
break;
|
15603
|
-
default:
|
15604
|
-
options = {
|
15605
|
-
timeZone: 'UTC',
|
15606
|
-
timeZoneName: 'short'
|
15607
|
-
};
|
15608
|
-
}
|
15609
|
-
return new Intl.DateTimeFormat(locale, options).format(date);
|
15610
|
-
}
|
15611
|
-
function addDays(date, amount) {
|
15612
|
-
const d = new Date(date);
|
15613
|
-
d.setDate(d.getDate() + amount);
|
15614
|
-
return d;
|
15615
|
-
}
|
15616
|
-
function addMonths(date, amount) {
|
15617
|
-
const d = new Date(date);
|
15618
|
-
d.setMonth(d.getMonth() + amount);
|
15619
|
-
return d;
|
15620
|
-
}
|
15621
|
-
function getYear(date) {
|
15622
|
-
return date.getFullYear();
|
15623
|
-
}
|
15624
|
-
function getMonth(date) {
|
15625
|
-
return date.getMonth();
|
15626
|
-
}
|
15627
|
-
function startOfYear(date) {
|
15628
|
-
return new Date(date.getFullYear(), 0, 1);
|
15629
|
-
}
|
15630
|
-
function endOfYear(date) {
|
15631
|
-
return new Date(date.getFullYear(), 11, 31);
|
15632
|
-
}
|
15633
|
-
function getMondayOfFirstWeekOfYear(year) {
|
15634
|
-
return new Date(year, 0, 1);
|
15635
|
-
}
|
15636
|
-
|
15637
|
-
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
15638
|
-
function getWeek(date) {
|
15639
|
-
let year = date.getFullYear();
|
15640
|
-
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
15641
|
-
if (date < d1w1) {
|
15642
|
-
year = year - 1;
|
15643
|
-
d1w1 = getMondayOfFirstWeekOfYear(year);
|
15644
|
-
} else {
|
15645
|
-
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
15646
|
-
if (date >= tv) {
|
15647
|
-
year = year + 1;
|
15648
|
-
d1w1 = tv;
|
15649
|
-
}
|
15650
|
-
}
|
15651
|
-
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
15652
|
-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
15653
|
-
return Math.floor(diffDays / 7) + 1;
|
15654
|
-
}
|
15655
|
-
function isWithinRange(date, range) {
|
15656
|
-
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
15657
|
-
}
|
15658
|
-
function isValid(date) {
|
15659
|
-
const d = new Date(date);
|
15660
|
-
return d instanceof Date && !isNaN(d.getTime());
|
15661
|
-
}
|
15662
|
-
function isAfter(date, comparing) {
|
15663
|
-
return date.getTime() > comparing.getTime();
|
15664
|
-
}
|
15665
|
-
function isBefore(date, comparing) {
|
15666
|
-
return date.getTime() < comparing.getTime();
|
15667
|
-
}
|
15668
|
-
function isEqual(date, comparing) {
|
15669
|
-
return date.getTime() === comparing.getTime();
|
15670
|
-
}
|
15671
|
-
function isSameDay(date, comparing) {
|
15672
|
-
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15673
|
-
}
|
15674
|
-
function isSameMonth(date, comparing) {
|
15675
|
-
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15676
|
-
}
|
15677
|
-
function getDiff(date, comparing, unit) {
|
15678
|
-
const d = new Date(date);
|
15679
|
-
const c = new Date(comparing);
|
15680
|
-
if (unit === 'month') {
|
15681
|
-
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
15682
|
-
}
|
15683
|
-
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
15684
|
-
}
|
15685
|
-
function setYear(date, year) {
|
15686
|
-
const d = new Date(date);
|
15687
|
-
d.setFullYear(year);
|
15688
|
-
return d;
|
15689
|
-
}
|
15690
|
-
class VuetifyDateAdapter {
|
15691
|
-
constructor() {
|
15692
|
-
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
15693
|
-
this.locale = locale;
|
15694
|
-
}
|
15695
|
-
date(value) {
|
15696
|
-
return date(value);
|
15697
|
-
}
|
15698
|
-
addDays(date, amount) {
|
15699
|
-
return addDays(date, amount);
|
15700
|
-
}
|
15701
|
-
addMonths(date, amount) {
|
15702
|
-
return addMonths(date, amount);
|
15703
|
-
}
|
15704
|
-
getWeekArray(date) {
|
15705
|
-
return getWeekArray(date);
|
15706
|
-
}
|
15707
|
-
startOfMonth(date) {
|
15708
|
-
return startOfMonth(date);
|
15709
|
-
}
|
15710
|
-
endOfMonth(date) {
|
15711
|
-
return endOfMonth(date);
|
15712
|
-
}
|
15713
|
-
format(date, formatString) {
|
15714
|
-
return format(date, formatString, this.locale);
|
15715
|
-
}
|
15716
|
-
isEqual(date, comparing) {
|
15717
|
-
return isEqual(date, comparing);
|
15718
|
-
}
|
15719
|
-
isValid(date) {
|
15720
|
-
return isValid(date);
|
15721
|
-
}
|
15722
|
-
isWithinRange(date, range) {
|
15723
|
-
return isWithinRange(date, range);
|
15724
|
-
}
|
15725
|
-
isAfter(date, comparing) {
|
15726
|
-
return isAfter(date, comparing);
|
15727
|
-
}
|
15728
|
-
isSameDay(date, comparing) {
|
15729
|
-
return isSameDay(date, comparing);
|
15730
|
-
}
|
15731
|
-
isSameMonth(date, comparing) {
|
15732
|
-
return isSameMonth(date, comparing);
|
15733
|
-
}
|
15734
|
-
setYear(date, year) {
|
15735
|
-
return setYear(date, year);
|
15736
|
-
}
|
15737
|
-
getDiff(date, comparing, unit) {
|
15738
|
-
return getDiff(date, comparing, unit);
|
15739
|
-
}
|
15740
|
-
getWeek(date) {
|
15741
|
-
return getWeek(date);
|
15742
|
-
}
|
15743
|
-
getWeekdays() {
|
15744
|
-
return getWeekdays(this.locale);
|
15745
|
-
}
|
15746
|
-
getYear(date) {
|
15747
|
-
return getYear(date);
|
15748
|
-
}
|
15749
|
-
getMonth(date) {
|
15750
|
-
return getMonth(date);
|
15751
|
-
}
|
15752
|
-
startOfYear(date) {
|
15753
|
-
return startOfYear(date);
|
15754
|
-
}
|
15755
|
-
endOfYear(date) {
|
15756
|
-
return endOfYear(date);
|
15757
|
-
}
|
15758
|
-
}
|
15759
|
-
|
15760
|
-
// Composables
|
15761
|
-
|
15762
|
-
// Types
|
15763
|
-
|
15764
|
-
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
15765
|
-
function createDate(options) {
|
15766
|
-
return options ?? {
|
15767
|
-
adapter: VuetifyDateAdapter
|
15768
|
-
};
|
15769
|
-
}
|
15770
|
-
function useDate(props) {
|
15771
|
-
const date = inject$1(DateAdapterSymbol);
|
15772
|
-
const locale = useLocale();
|
15773
|
-
if (!date) throw new Error('[Vuetify] Could not find injected date');
|
15774
|
-
|
15775
|
-
// eslint-disable-next-line new-cap
|
15776
|
-
const instance = new date.adapter(locale.current.value);
|
15777
|
-
watch(locale.current, val => {
|
15778
|
-
instance.locale = val;
|
15779
|
-
}, {
|
15780
|
-
immediate: true
|
15781
|
-
});
|
15782
|
-
return instance;
|
15783
|
-
}
|
15784
|
-
|
15785
|
-
function useSticky(_ref) {
|
15786
|
-
let {
|
15787
|
-
rootEl,
|
15788
|
-
isSticky,
|
15789
|
-
layoutItemStyles
|
15790
|
-
} = _ref;
|
15791
|
-
const isStuck = ref(false);
|
15792
|
-
const stuckPosition = ref(0);
|
15793
|
-
const stickyStyles = computed(() => {
|
15794
|
-
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15795
|
-
return [isSticky.value ? {
|
15796
|
-
top: 'auto',
|
15797
|
-
bottom: 'auto',
|
15798
|
-
height: undefined
|
15799
|
-
} : undefined, isStuck.value ? {
|
15800
|
-
[side]: convertToUnit(stuckPosition.value)
|
15801
|
-
} : {
|
15802
|
-
top: layoutItemStyles.value.top
|
15803
|
-
}];
|
15804
|
-
});
|
15805
|
-
onMounted(() => {
|
15806
|
-
watch(isSticky, val => {
|
15807
|
-
if (val) {
|
15808
|
-
window.addEventListener('scroll', onScroll, {
|
15809
|
-
passive: true
|
15810
|
-
});
|
15811
|
-
} else {
|
15812
|
-
window.removeEventListener('scroll', onScroll);
|
15813
|
-
}
|
15814
|
-
}, {
|
15815
|
-
immediate: true
|
15816
|
-
});
|
15817
|
-
});
|
15818
|
-
onBeforeUnmount(() => {
|
15819
|
-
document.removeEventListener('scroll', onScroll);
|
15820
|
-
});
|
15821
|
-
let lastScrollTop = 0;
|
15822
|
-
function onScroll() {
|
15823
|
-
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15824
|
-
const rect = rootEl.value.getBoundingClientRect();
|
15825
|
-
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15826
|
-
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15827
|
-
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15828
|
-
if (rect.height < window.innerHeight - layoutTop) {
|
15829
|
-
isStuck.value = 'top';
|
15830
|
-
stuckPosition.value = layoutTop;
|
15831
|
-
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15832
|
-
stuckPosition.value = window.scrollY + rect.top;
|
15833
|
-
isStuck.value = true;
|
15834
|
-
} else if (direction === 'down' && bottom <= 0) {
|
15835
|
-
stuckPosition.value = 0;
|
15836
|
-
isStuck.value = 'bottom';
|
15837
|
-
} else if (direction === 'up' && top <= 0) {
|
15838
|
-
stuckPosition.value = rect.top + top;
|
15839
|
-
isStuck.value = 'top';
|
15840
|
-
}
|
15841
|
-
lastScrollTop = window.scrollY;
|
15842
|
-
}
|
15843
|
-
return {
|
15844
|
-
isStuck,
|
15845
|
-
stickyStyles
|
15846
|
-
};
|
15847
|
-
}
|
15848
|
-
|
15849
|
-
const HORIZON = 100; // ms
|
15850
|
-
const HISTORY = 20; // number of samples to keep
|
15851
|
-
|
15852
|
-
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15853
|
-
function kineticEnergyToVelocity(work) {
|
15854
|
-
const sqrt2 = 1.41421356237;
|
15855
|
-
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15856
|
-
}
|
15857
|
-
|
15858
|
-
/**
|
15859
|
-
* Returns pointer velocity in px/s
|
15860
|
-
*/
|
15861
|
-
function calculateImpulseVelocity(samples) {
|
15862
|
-
// The input should be in reversed time order (most recent sample at index i=0)
|
15863
|
-
if (samples.length < 2) {
|
15864
|
-
// if 0 or 1 points, velocity is zero
|
15865
|
-
return 0;
|
15866
|
-
}
|
15867
|
-
// if (samples[1].t > samples[0].t) {
|
15868
|
-
// // Algorithm will still work, but not perfectly
|
15869
|
-
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15870
|
-
// }
|
15871
|
-
if (samples.length === 2) {
|
15872
|
-
// if 2 points, basic linear calculation
|
15873
|
-
if (samples[1].t === samples[0].t) {
|
15874
|
-
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15875
|
-
return 0;
|
15876
|
-
}
|
15877
|
-
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15878
|
-
}
|
15879
|
-
// Guaranteed to have at least 3 points here
|
15880
|
-
// start with the oldest sample and go forward in time
|
15881
|
-
let work = 0;
|
15882
|
-
for (let i = samples.length - 1; i > 0; i--) {
|
15883
|
-
if (samples[i].t === samples[i - 1].t) {
|
15884
|
-
// consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)
|
15885
|
-
continue;
|
15886
|
-
}
|
15887
|
-
const vprev = kineticEnergyToVelocity(work); // v[i-1]
|
15888
|
-
const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]
|
15889
|
-
work += (vcurr - vprev) * Math.abs(vcurr);
|
15890
|
-
if (i === samples.length - 1) {
|
15891
|
-
work *= 0.5;
|
15892
|
-
}
|
15893
|
-
}
|
15894
|
-
return kineticEnergyToVelocity(work) * 1000;
|
15895
|
-
}
|
15896
|
-
function useVelocity() {
|
15897
|
-
const touches = {};
|
15898
|
-
function addMovement(e) {
|
15899
|
-
Array.from(e.changedTouches).forEach(touch => {
|
15900
|
-
const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
|
15901
|
-
samples.push([e.timeStamp, touch]);
|
15902
|
-
});
|
15903
|
-
}
|
15904
|
-
function endTouch(e) {
|
15905
|
-
Array.from(e.changedTouches).forEach(touch => {
|
15906
|
-
delete touches[touch.identifier];
|
15907
|
-
});
|
15908
|
-
}
|
15909
|
-
function getVelocity(id) {
|
15910
|
-
const samples = touches[id]?.values().reverse();
|
15911
|
-
if (!samples) {
|
15912
|
-
throw new Error(`No samples for touch id ${id}`);
|
15913
|
-
}
|
15914
|
-
const newest = samples[0];
|
15915
|
-
const x = [];
|
15916
|
-
const y = [];
|
15917
|
-
for (const val of samples) {
|
15918
|
-
if (newest[0] - val[0] > HORIZON) break;
|
15919
|
-
x.push({
|
15920
|
-
t: val[0],
|
15921
|
-
d: val[1].clientX
|
15922
|
-
});
|
15923
|
-
y.push({
|
15924
|
-
t: val[0],
|
15925
|
-
d: val[1].clientY
|
15926
|
-
});
|
15927
|
-
}
|
15928
|
-
return {
|
15929
|
-
x: calculateImpulseVelocity(x),
|
15930
|
-
y: calculateImpulseVelocity(y),
|
15931
|
-
get direction() {
|
15932
|
-
const {
|
15933
|
-
x,
|
15934
|
-
y
|
15935
|
-
} = this;
|
15936
|
-
const [absX, absY] = [Math.abs(x), Math.abs(y)];
|
15937
|
-
return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops$1();
|
15938
|
-
}
|
15939
|
-
};
|
15940
|
-
}
|
15941
|
-
return {
|
15942
|
-
addMovement,
|
15943
|
-
endTouch,
|
15944
|
-
getVelocity
|
15945
|
-
};
|
15657
|
+
function endTouch(e) {
|
15658
|
+
Array.from(e.changedTouches).forEach(touch => {
|
15659
|
+
delete touches[touch.identifier];
|
15660
|
+
});
|
15661
|
+
}
|
15662
|
+
function getVelocity(id) {
|
15663
|
+
const samples = touches[id]?.values().reverse();
|
15664
|
+
if (!samples) {
|
15665
|
+
throw new Error(`No samples for touch id ${id}`);
|
15666
|
+
}
|
15667
|
+
const newest = samples[0];
|
15668
|
+
const x = [];
|
15669
|
+
const y = [];
|
15670
|
+
for (const val of samples) {
|
15671
|
+
if (newest[0] - val[0] > HORIZON) break;
|
15672
|
+
x.push({
|
15673
|
+
t: val[0],
|
15674
|
+
d: val[1].clientX
|
15675
|
+
});
|
15676
|
+
y.push({
|
15677
|
+
t: val[0],
|
15678
|
+
d: val[1].clientY
|
15679
|
+
});
|
15680
|
+
}
|
15681
|
+
return {
|
15682
|
+
x: calculateImpulseVelocity(x),
|
15683
|
+
y: calculateImpulseVelocity(y),
|
15684
|
+
get direction() {
|
15685
|
+
const {
|
15686
|
+
x,
|
15687
|
+
y
|
15688
|
+
} = this;
|
15689
|
+
const [absX, absY] = [Math.abs(x), Math.abs(y)];
|
15690
|
+
return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops$1();
|
15691
|
+
}
|
15692
|
+
};
|
15693
|
+
}
|
15694
|
+
return {
|
15695
|
+
addMovement,
|
15696
|
+
endTouch,
|
15697
|
+
getVelocity
|
15698
|
+
};
|
15946
15699
|
}
|
15947
15700
|
function oops$1() {
|
15948
15701
|
throw new Error();
|
@@ -16118,6 +15871,7 @@ const VNavigationDrawer = genericComponent()({
|
|
16118
15871
|
},
|
16119
15872
|
sticky: Boolean,
|
16120
15873
|
...makeBorderProps(),
|
15874
|
+
...makeComponentProps(),
|
16121
15875
|
...makeElevationProps(),
|
16122
15876
|
...makeLayoutItemProps(),
|
16123
15877
|
...makeRoundedProps(),
|
@@ -16269,8 +16023,8 @@ const VNavigationDrawer = genericComponent()({
|
|
16269
16023
|
'v-navigation-drawer--temporary': isTemporary.value,
|
16270
16024
|
'v-navigation-drawer--active': isActive.value,
|
16271
16025
|
'v-navigation-drawer--sticky': isSticky.value
|
16272
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
16273
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value]
|
16026
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
16027
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
16274
16028
|
}, attrs), {
|
16275
16029
|
default: () => [hasImage && createVNode("div", {
|
16276
16030
|
"key": "image",
|
@@ -16399,6 +16153,7 @@ const VPagination = genericComponent()({
|
|
16399
16153
|
},
|
16400
16154
|
showFirstLastPage: Boolean,
|
16401
16155
|
...makeBorderProps(),
|
16156
|
+
...makeComponentProps(),
|
16402
16157
|
...makeDensityProps(),
|
16403
16158
|
...makeElevationProps(),
|
16404
16159
|
...makeRoundedProps(),
|
@@ -16595,7 +16350,8 @@ const VPagination = genericComponent()({
|
|
16595
16350
|
}
|
16596
16351
|
useRender(() => createVNode(props.tag, {
|
16597
16352
|
"ref": resizeRef,
|
16598
|
-
"class": ['v-pagination', themeClasses.value],
|
16353
|
+
"class": ['v-pagination', themeClasses.value, props.class],
|
16354
|
+
"style": props.style,
|
16599
16355
|
"role": "navigation",
|
16600
16356
|
"aria-label": t(props.ariaLabel),
|
16601
16357
|
"onKeydown": onKeydown,
|
@@ -16654,7 +16410,8 @@ const VParallax = genericComponent()({
|
|
16654
16410
|
scale: {
|
16655
16411
|
type: [Number, String],
|
16656
16412
|
default: 0.5
|
16657
|
-
}
|
16413
|
+
},
|
16414
|
+
...makeComponentProps()
|
16658
16415
|
},
|
16659
16416
|
setup(props, _ref) {
|
16660
16417
|
let {
|
@@ -16716,7 +16473,8 @@ const VParallax = genericComponent()({
|
|
16716
16473
|
useRender(() => createVNode(VImg, {
|
16717
16474
|
"class": ['v-parallax', {
|
16718
16475
|
'v-parallax--active': isIntersecting.value
|
16719
|
-
}],
|
16476
|
+
}, props.class],
|
16477
|
+
"style": props.style,
|
16720
16478
|
"ref": root,
|
16721
16479
|
"cover": true,
|
16722
16480
|
"onLoadstart": onScroll,
|
@@ -16741,7 +16499,8 @@ const VRadio = genericComponent()({
|
|
16741
16499
|
slots
|
16742
16500
|
} = _ref;
|
16743
16501
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
16744
|
-
"class":
|
16502
|
+
"class": ['v-radio', props.class],
|
16503
|
+
"style": props.style,
|
16745
16504
|
"type": "radio"
|
16746
16505
|
}), slots));
|
16747
16506
|
return {};
|
@@ -16795,7 +16554,8 @@ const VRadioGroup = genericComponent()({
|
|
16795
16554
|
}
|
16796
16555
|
}) : props.label;
|
16797
16556
|
return createVNode(VInput, mergeProps({
|
16798
|
-
"class":
|
16557
|
+
"class": ['v-radio-group', props.class],
|
16558
|
+
"style": props.style
|
16799
16559
|
}, inputAttrs, inputProps, {
|
16800
16560
|
"modelValue": model.value,
|
16801
16561
|
"onUpdate:modelValue": $event => model.value = $event,
|
@@ -16933,7 +16693,8 @@ const VRangeSlider = genericComponent()({
|
|
16933
16693
|
'v-slider--focused': isFocused.value,
|
16934
16694
|
'v-slider--pressed': mousePressed.value,
|
16935
16695
|
'v-slider--disabled': props.disabled
|
16936
|
-
}],
|
16696
|
+
}, props.class],
|
16697
|
+
"style": props.style,
|
16937
16698
|
"ref": inputRef
|
16938
16699
|
}, inputProps, {
|
16939
16700
|
"focused": isFocused.value
|
@@ -17076,6 +16837,7 @@ const VRating = genericComponent()({
|
|
17076
16837
|
validator: v => ['top', 'bottom'].includes(v)
|
17077
16838
|
},
|
17078
16839
|
ripple: Boolean,
|
16840
|
+
...makeComponentProps(),
|
17079
16841
|
...makeDensityProps(),
|
17080
16842
|
...makeSizeProps(),
|
17081
16843
|
...makeTagProps(),
|
@@ -17193,7 +16955,8 @@ const VRating = genericComponent()({
|
|
17193
16955
|
"class": ['v-rating', {
|
17194
16956
|
'v-rating--hover': props.hover,
|
17195
16957
|
'v-rating--readonly': props.readonly
|
17196
|
-
}, themeClasses.value]
|
16958
|
+
}, themeClasses.value, props.class],
|
16959
|
+
"style": props.style
|
17197
16960
|
}, {
|
17198
16961
|
default: () => [createVNode(VRatingItem, {
|
17199
16962
|
"value": 0,
|
@@ -17293,6 +17056,7 @@ const makeVSlideGroupProps = propsFactory({
|
|
17293
17056
|
type: [Boolean, String],
|
17294
17057
|
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
17295
17058
|
},
|
17059
|
+
...makeComponentProps(),
|
17296
17060
|
...makeTagProps(),
|
17297
17061
|
...makeGroupProps({
|
17298
17062
|
selectedClass: 'v-slide-group-item--active'
|
@@ -17456,7 +17220,7 @@ const VSlideGroup = genericComponent()({
|
|
17456
17220
|
function focus(location) {
|
17457
17221
|
if (!contentRef.value) return;
|
17458
17222
|
if (!location) {
|
17459
|
-
const focusable =
|
17223
|
+
const focusable = focusableChildren(contentRef.value);
|
17460
17224
|
focusable[0]?.focus();
|
17461
17225
|
} else if (location === 'next') {
|
17462
17226
|
const el = contentRef.value.querySelector(':focus')?.nextElementSibling;
|
@@ -17533,7 +17297,8 @@ const VSlideGroup = genericComponent()({
|
|
17533
17297
|
'v-slide-group--vertical': !isHorizontal.value,
|
17534
17298
|
'v-slide-group--has-affixes': hasAffixes.value,
|
17535
17299
|
'v-slide-group--is-overflowing': isOverflowing.value
|
17536
|
-
}],
|
17300
|
+
}, props.class],
|
17301
|
+
"style": props.style,
|
17537
17302
|
"tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
|
17538
17303
|
"onFocus": onFocus
|
17539
17304
|
}, {
|
@@ -17683,7 +17448,8 @@ const VSnackbar = genericComponent()({
|
|
17683
17448
|
'v-snackbar--active': isActive.value,
|
17684
17449
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
17685
17450
|
'v-snackbar--vertical': props.vertical
|
17686
|
-
}, positionClasses.value]
|
17451
|
+
}, positionClasses.value, props.class],
|
17452
|
+
"style": props.style
|
17687
17453
|
}, overlayProps, {
|
17688
17454
|
"modelValue": isActive.value,
|
17689
17455
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -17783,7 +17549,8 @@ const VSwitch = genericComponent()({
|
|
17783
17549
|
'v-switch--inset': props.inset
|
17784
17550
|
}, {
|
17785
17551
|
'v-switch--indeterminate': indeterminate.value
|
17786
|
-
}, loaderClasses.value]
|
17552
|
+
}, loaderClasses.value, props.class],
|
17553
|
+
"style": props.style
|
17787
17554
|
}, inputAttrs, inputProps, {
|
17788
17555
|
"id": id.value,
|
17789
17556
|
"focused": isFocused.value
|
@@ -17852,6 +17619,7 @@ const VSystemBar = genericComponent()({
|
|
17852
17619
|
color: String,
|
17853
17620
|
height: [Number, String],
|
17854
17621
|
window: Boolean,
|
17622
|
+
...makeComponentProps(),
|
17855
17623
|
...makeElevationProps(),
|
17856
17624
|
...makeLayoutItemProps(),
|
17857
17625
|
...makeRoundedProps(),
|
@@ -17893,8 +17661,8 @@ const VSystemBar = genericComponent()({
|
|
17893
17661
|
useRender(() => createVNode(props.tag, {
|
17894
17662
|
"class": ['v-system-bar', {
|
17895
17663
|
'v-system-bar--window': props.window
|
17896
|
-
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
|
17897
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value]
|
17664
|
+
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
17665
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
|
17898
17666
|
}, slots));
|
17899
17667
|
return {};
|
17900
17668
|
}
|
@@ -17967,10 +17735,10 @@ const VTab = genericComponent()({
|
|
17967
17735
|
useRender(() => {
|
17968
17736
|
const [btnProps] = VBtn.filterProps(props);
|
17969
17737
|
return createVNode(VBtn, mergeProps({
|
17970
|
-
"_as": "VTab",
|
17971
17738
|
"symbol": VTabsSymbol,
|
17972
17739
|
"ref": rootEl,
|
17973
|
-
"class": ['v-tab'],
|
17740
|
+
"class": ['v-tab', props.class],
|
17741
|
+
"style": props.style,
|
17974
17742
|
"tabindex": isSelected.value ? 0 : -1,
|
17975
17743
|
"role": "tab",
|
17976
17744
|
"aria-selected": String(isSelected.value),
|
@@ -18065,10 +17833,10 @@ const VTabs = genericComponent()({
|
|
18065
17833
|
'v-tabs--fixed-tabs': props.fixedTabs,
|
18066
17834
|
'v-tabs--grow': props.grow,
|
18067
17835
|
'v-tabs--stacked': props.stacked
|
18068
|
-
}, densityClasses.value, backgroundColorClasses.value],
|
17836
|
+
}, densityClasses.value, backgroundColorClasses.value, props.class],
|
18069
17837
|
"style": [{
|
18070
17838
|
'--v-tabs-height': convertToUnit(props.height)
|
18071
|
-
}, backgroundColorStyles.value],
|
17839
|
+
}, backgroundColorStyles.value, props.style],
|
18072
17840
|
"role": "tablist",
|
18073
17841
|
"symbol": VTabsSymbol
|
18074
17842
|
}), {
|
@@ -18088,6 +17856,7 @@ const VTable = genericComponent()({
|
|
18088
17856
|
fixedFooter: Boolean,
|
18089
17857
|
height: [Number, String],
|
18090
17858
|
hover: Boolean,
|
17859
|
+
...makeComponentProps(),
|
18091
17860
|
...makeDensityProps(),
|
18092
17861
|
...makeTagProps(),
|
18093
17862
|
...makeThemeProps()
|
@@ -18110,7 +17879,8 @@ const VTable = genericComponent()({
|
|
18110
17879
|
'v-table--has-top': !!slots.top,
|
18111
17880
|
'v-table--has-bottom': !!slots.bottom,
|
18112
17881
|
'v-table--hover': props.hover
|
18113
|
-
}, themeClasses.value, densityClasses.value]
|
17882
|
+
}, themeClasses.value, densityClasses.value, props.class],
|
17883
|
+
"style": props.style
|
18114
17884
|
}, {
|
18115
17885
|
default: () => [slots.top?.(), slots.default ? createVNode("div", {
|
18116
17886
|
"class": "v-table__wrapper",
|
@@ -18275,7 +18045,8 @@ const VTextarea = genericComponent()({
|
|
18275
18045
|
'v-textarea--auto-grow': props.autoGrow,
|
18276
18046
|
'v-textarea--no-resize': props.noResize || props.autoGrow,
|
18277
18047
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
18278
|
-
}]
|
18048
|
+
}, props.class],
|
18049
|
+
"style": props.style
|
18279
18050
|
}, rootAttrs, inputProps, {
|
18280
18051
|
"focused": isFocused.value
|
18281
18052
|
}), {
|
@@ -18359,6 +18130,7 @@ const VThemeProvider = genericComponent()({
|
|
18359
18130
|
name: 'VThemeProvider',
|
18360
18131
|
props: {
|
18361
18132
|
withBackground: Boolean,
|
18133
|
+
...makeComponentProps(),
|
18362
18134
|
...makeThemeProps(),
|
18363
18135
|
...makeTagProps()
|
18364
18136
|
},
|
@@ -18372,7 +18144,8 @@ const VThemeProvider = genericComponent()({
|
|
18372
18144
|
return () => {
|
18373
18145
|
if (!props.withBackground) return slots.default?.();
|
18374
18146
|
return createVNode(props.tag, {
|
18375
|
-
"class": ['v-theme-provider', themeClasses.value]
|
18147
|
+
"class": ['v-theme-provider', themeClasses.value, props.class],
|
18148
|
+
"style": props.style
|
18376
18149
|
}, {
|
18377
18150
|
default: () => [slots.default?.()]
|
18378
18151
|
});
|
@@ -18417,6 +18190,7 @@ const VTimeline = genericComponent()({
|
|
18417
18190
|
type: String,
|
18418
18191
|
validator: v => ['start', 'end', 'both'].includes(v)
|
18419
18192
|
},
|
18193
|
+
...makeComponentProps(),
|
18420
18194
|
...makeDensityProps(),
|
18421
18195
|
...makeTagProps(),
|
18422
18196
|
...makeThemeProps()
|
@@ -18460,10 +18234,10 @@ const VTimeline = genericComponent()({
|
|
18460
18234
|
useRender(() => createVNode(props.tag, {
|
18461
18235
|
"class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
|
18462
18236
|
'v-timeline--inset-line': !!props.lineInset
|
18463
|
-
}, themeClasses.value, densityClasses.value, sideClasses.value],
|
18464
|
-
"style": {
|
18237
|
+
}, themeClasses.value, densityClasses.value, sideClasses.value, props.class],
|
18238
|
+
"style": [{
|
18465
18239
|
'--v-timeline-line-thickness': convertToUnit(props.lineThickness)
|
18466
|
-
}
|
18240
|
+
}, props.style]
|
18467
18241
|
}, slots));
|
18468
18242
|
return {};
|
18469
18243
|
}
|
@@ -18478,6 +18252,7 @@ const VTimelineDivider = genericComponent()({
|
|
18478
18252
|
icon: IconValue,
|
18479
18253
|
iconColor: String,
|
18480
18254
|
lineColor: String,
|
18255
|
+
...makeComponentProps(),
|
18481
18256
|
...makeRoundedProps(),
|
18482
18257
|
...makeSizeProps(),
|
18483
18258
|
...makeElevationProps()
|
@@ -18507,7 +18282,8 @@ const VTimelineDivider = genericComponent()({
|
|
18507
18282
|
useRender(() => createVNode("div", {
|
18508
18283
|
"class": ['v-timeline-divider', {
|
18509
18284
|
'v-timeline-divider--fill-dot': props.fillDot
|
18510
|
-
}]
|
18285
|
+
}, props.class],
|
18286
|
+
"style": props.style
|
18511
18287
|
}, [createVNode("div", {
|
18512
18288
|
"class": ['v-timeline-divider__before', lineColorClasses.value],
|
18513
18289
|
"style": lineColorStyles.value
|
@@ -18557,11 +18333,12 @@ const VTimelineItem = genericComponent()({
|
|
18557
18333
|
icon: IconValue,
|
18558
18334
|
iconColor: String,
|
18559
18335
|
lineInset: [Number, String],
|
18560
|
-
...
|
18336
|
+
...makeComponentProps(),
|
18337
|
+
...makeDimensionProps(),
|
18561
18338
|
...makeElevationProps(),
|
18339
|
+
...makeRoundedProps(),
|
18562
18340
|
...makeSizeProps(),
|
18563
|
-
...makeTagProps()
|
18564
|
-
...makeDimensionProps()
|
18341
|
+
...makeTagProps()
|
18565
18342
|
},
|
18566
18343
|
setup(props, _ref) {
|
18567
18344
|
let {
|
@@ -18581,11 +18358,11 @@ const VTimelineItem = genericComponent()({
|
|
18581
18358
|
useRender(() => createVNode("div", {
|
18582
18359
|
"class": ['v-timeline-item', {
|
18583
18360
|
'v-timeline-item--fill-dot': props.fillDot
|
18584
|
-
}],
|
18585
|
-
"style": {
|
18361
|
+
}, props.class],
|
18362
|
+
"style": [{
|
18586
18363
|
'--v-timeline-dot-size': convertToUnit(dotSize.value),
|
18587
18364
|
'--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
|
18588
|
-
}
|
18365
|
+
}, props.style]
|
18589
18366
|
}, [createVNode("div", {
|
18590
18367
|
"class": "v-timeline-item__body",
|
18591
18368
|
"style": dimensionStyles.value
|
@@ -18661,7 +18438,8 @@ const VTooltip = genericComponent()({
|
|
18661
18438
|
const [overlayProps] = VOverlay.filterProps(props);
|
18662
18439
|
return createVNode(VOverlay, mergeProps({
|
18663
18440
|
"ref": overlay,
|
18664
|
-
"class": ['v-tooltip'],
|
18441
|
+
"class": ['v-tooltip', props.class],
|
18442
|
+
"style": props.style,
|
18665
18443
|
"id": id.value
|
18666
18444
|
}, overlayProps, {
|
18667
18445
|
"modelValue": isActive.value,
|
@@ -18709,7 +18487,8 @@ const VValidation = genericComponent()({
|
|
18709
18487
|
const VVirtualScrollItem = genericComponent()({
|
18710
18488
|
name: 'VVirtualScrollItem',
|
18711
18489
|
props: {
|
18712
|
-
dynamicHeight: Boolean
|
18490
|
+
dynamicHeight: Boolean,
|
18491
|
+
...makeComponentProps()
|
18713
18492
|
},
|
18714
18493
|
emits: {
|
18715
18494
|
'update:height': height => true
|
@@ -18736,7 +18515,8 @@ const VVirtualScrollItem = genericComponent()({
|
|
18736
18515
|
onUpdated(updateHeight);
|
18737
18516
|
useRender(() => createVNode("div", {
|
18738
18517
|
"ref": props.dynamicHeight ? resizeRef : undefined,
|
18739
|
-
"class":
|
18518
|
+
"class": ['v-virtual-scroll__item', props.class],
|
18519
|
+
"style": props.style
|
18740
18520
|
}, [slots.default?.()]));
|
18741
18521
|
}
|
18742
18522
|
});
|
@@ -18753,7 +18533,7 @@ const VVirtualScroll = genericComponent()({
|
|
18753
18533
|
default: () => []
|
18754
18534
|
},
|
18755
18535
|
itemHeight: [Number, String],
|
18756
|
-
|
18536
|
+
...makeComponentProps(),
|
18757
18537
|
...makeDimensionProps()
|
18758
18538
|
},
|
18759
18539
|
setup(props, _ref) {
|
@@ -18780,7 +18560,7 @@ const VVirtualScroll = genericComponent()({
|
|
18780
18560
|
const sizeMap = new Map();
|
18781
18561
|
let sizes = createRange(props.items.length).map(() => itemHeight.value);
|
18782
18562
|
const visibleItems = computed(() => {
|
18783
|
-
return
|
18563
|
+
return Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
|
18784
18564
|
});
|
18785
18565
|
function handleItemResize(index, height) {
|
18786
18566
|
itemHeight.value = Math.max(itemHeight.value, height);
|
@@ -18791,20 +18571,13 @@ const VVirtualScroll = genericComponent()({
|
|
18791
18571
|
return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
|
18792
18572
|
}
|
18793
18573
|
function calculateMidPointIndex(scrollTop) {
|
18794
|
-
|
18795
|
-
let
|
18796
|
-
|
18797
|
-
|
18798
|
-
|
18799
|
-
if (middleOffset === scrollTop) {
|
18800
|
-
return middle;
|
18801
|
-
} else if (middleOffset < scrollTop) {
|
18802
|
-
start = middle + 1;
|
18803
|
-
} else if (middleOffset > scrollTop) {
|
18804
|
-
end = middle - 1;
|
18805
|
-
}
|
18574
|
+
const end = props.items.length;
|
18575
|
+
let middle = 0;
|
18576
|
+
let middleOffset = 0;
|
18577
|
+
while (middleOffset < scrollTop && middle < end) {
|
18578
|
+
middleOffset += sizes[middle++] || itemHeight.value;
|
18806
18579
|
}
|
18807
|
-
return
|
18580
|
+
return middle - 1;
|
18808
18581
|
}
|
18809
18582
|
let lastScrollTop = 0;
|
18810
18583
|
function handleScroll() {
|
@@ -18826,8 +18599,12 @@ const VVirtualScroll = genericComponent()({
|
|
18826
18599
|
const offset = calculateOffset(index);
|
18827
18600
|
rootEl.value.scrollTop = offset;
|
18828
18601
|
}
|
18602
|
+
const items = computed(() => props.items.map((item, index) => ({
|
18603
|
+
raw: item,
|
18604
|
+
index
|
18605
|
+
})));
|
18829
18606
|
const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value));
|
18830
|
-
const computedItems = computed(() =>
|
18607
|
+
const computedItems = computed(() => items.value.slice(first.value, last.value));
|
18831
18608
|
const paddingTop = computed(() => calculateOffset(first.value));
|
18832
18609
|
const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
|
18833
18610
|
const {
|
@@ -18852,23 +18629,23 @@ const VVirtualScroll = genericComponent()({
|
|
18852
18629
|
});
|
18853
18630
|
useRender(() => createVNode("div", {
|
18854
18631
|
"ref": rootEl,
|
18855
|
-
"class":
|
18632
|
+
"class": ['v-virtual-scroll', props.class],
|
18856
18633
|
"onScroll": handleScroll,
|
18857
|
-
"style": dimensionStyles.value
|
18634
|
+
"style": [dimensionStyles.value, props.style]
|
18858
18635
|
}, [createVNode("div", {
|
18859
18636
|
"class": "v-virtual-scroll__container",
|
18860
18637
|
"style": {
|
18861
18638
|
paddingTop: convertToUnit(paddingTop.value),
|
18862
18639
|
paddingBottom: convertToUnit(paddingBottom.value)
|
18863
18640
|
}
|
18864
|
-
}, [computedItems.value.map(
|
18865
|
-
"key": index,
|
18641
|
+
}, [computedItems.value.map(item => createVNode(VVirtualScrollItem, {
|
18642
|
+
"key": item.index,
|
18866
18643
|
"dynamicHeight": !props.itemHeight,
|
18867
|
-
"onUpdate:height": height => handleItemResize(index
|
18644
|
+
"onUpdate:height": height => handleItemResize(item.index, height)
|
18868
18645
|
}, {
|
18869
18646
|
default: () => [slots.default?.({
|
18870
|
-
item,
|
18871
|
-
index: index
|
18647
|
+
item: item.raw,
|
18648
|
+
index: item.index
|
18872
18649
|
})]
|
18873
18650
|
}))])]));
|
18874
18651
|
return {
|
@@ -19016,130 +18793,542 @@ var components = /*#__PURE__*/Object.freeze({
|
|
19016
18793
|
|
19017
18794
|
// Types
|
19018
18795
|
|
19019
|
-
function mounted$2(el, binding) {
|
19020
|
-
const modifiers = binding.modifiers || {};
|
19021
|
-
const value = binding.value;
|
19022
|
-
const {
|
19023
|
-
once,
|
19024
|
-
immediate,
|
19025
|
-
...modifierKeys
|
19026
|
-
} = modifiers;
|
19027
|
-
const defaultValue = !Object.keys(modifierKeys).length;
|
19028
|
-
const {
|
19029
|
-
handler,
|
19030
|
-
options
|
19031
|
-
} = typeof value === 'object' ? value : {
|
19032
|
-
handler: value,
|
19033
|
-
options: {
|
19034
|
-
attributes: modifierKeys?.attr ?? defaultValue,
|
19035
|
-
characterData: modifierKeys?.char ?? defaultValue,
|
19036
|
-
childList: modifierKeys?.child ?? defaultValue,
|
19037
|
-
subtree: modifierKeys?.sub ?? defaultValue
|
18796
|
+
function mounted$2(el, binding) {
|
18797
|
+
const modifiers = binding.modifiers || {};
|
18798
|
+
const value = binding.value;
|
18799
|
+
const {
|
18800
|
+
once,
|
18801
|
+
immediate,
|
18802
|
+
...modifierKeys
|
18803
|
+
} = modifiers;
|
18804
|
+
const defaultValue = !Object.keys(modifierKeys).length;
|
18805
|
+
const {
|
18806
|
+
handler,
|
18807
|
+
options
|
18808
|
+
} = typeof value === 'object' ? value : {
|
18809
|
+
handler: value,
|
18810
|
+
options: {
|
18811
|
+
attributes: modifierKeys?.attr ?? defaultValue,
|
18812
|
+
characterData: modifierKeys?.char ?? defaultValue,
|
18813
|
+
childList: modifierKeys?.child ?? defaultValue,
|
18814
|
+
subtree: modifierKeys?.sub ?? defaultValue
|
18815
|
+
}
|
18816
|
+
};
|
18817
|
+
const observer = new MutationObserver(function () {
|
18818
|
+
let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
18819
|
+
let observer = arguments.length > 1 ? arguments[1] : undefined;
|
18820
|
+
handler?.(mutations, observer);
|
18821
|
+
if (once) unmounted$2(el, binding);
|
18822
|
+
});
|
18823
|
+
if (immediate) handler?.([], observer);
|
18824
|
+
el._mutate = Object(el._mutate);
|
18825
|
+
el._mutate[binding.instance.$.uid] = {
|
18826
|
+
observer
|
18827
|
+
};
|
18828
|
+
observer.observe(el, options);
|
18829
|
+
}
|
18830
|
+
function unmounted$2(el, binding) {
|
18831
|
+
if (!el._mutate?.[binding.instance.$.uid]) return;
|
18832
|
+
el._mutate[binding.instance.$.uid].observer.disconnect();
|
18833
|
+
delete el._mutate[binding.instance.$.uid];
|
18834
|
+
}
|
18835
|
+
const Mutate = {
|
18836
|
+
mounted: mounted$2,
|
18837
|
+
unmounted: unmounted$2
|
18838
|
+
};
|
18839
|
+
|
18840
|
+
function mounted$1(el, binding) {
|
18841
|
+
const handler = binding.value;
|
18842
|
+
const options = {
|
18843
|
+
passive: !binding.modifiers?.active
|
18844
|
+
};
|
18845
|
+
window.addEventListener('resize', handler, options);
|
18846
|
+
el._onResize = Object(el._onResize);
|
18847
|
+
el._onResize[binding.instance.$.uid] = {
|
18848
|
+
handler,
|
18849
|
+
options
|
18850
|
+
};
|
18851
|
+
if (!binding.modifiers?.quiet) {
|
18852
|
+
handler();
|
18853
|
+
}
|
18854
|
+
}
|
18855
|
+
function unmounted$1(el, binding) {
|
18856
|
+
if (!el._onResize?.[binding.instance.$.uid]) return;
|
18857
|
+
const {
|
18858
|
+
handler,
|
18859
|
+
options
|
18860
|
+
} = el._onResize[binding.instance.$.uid];
|
18861
|
+
window.removeEventListener('resize', handler, options);
|
18862
|
+
delete el._onResize[binding.instance.$.uid];
|
18863
|
+
}
|
18864
|
+
const Resize = {
|
18865
|
+
mounted: mounted$1,
|
18866
|
+
unmounted: unmounted$1
|
18867
|
+
};
|
18868
|
+
|
18869
|
+
function mounted(el, binding) {
|
18870
|
+
const {
|
18871
|
+
self = false
|
18872
|
+
} = binding.modifiers ?? {};
|
18873
|
+
const value = binding.value;
|
18874
|
+
const options = typeof value === 'object' && value.options || {
|
18875
|
+
passive: true
|
18876
|
+
};
|
18877
|
+
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
18878
|
+
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
18879
|
+
if (!target) return;
|
18880
|
+
target.addEventListener('scroll', handler, options);
|
18881
|
+
el._onScroll = Object(el._onScroll);
|
18882
|
+
el._onScroll[binding.instance.$.uid] = {
|
18883
|
+
handler,
|
18884
|
+
options,
|
18885
|
+
// Don't reference self
|
18886
|
+
target: self ? undefined : target
|
18887
|
+
};
|
18888
|
+
}
|
18889
|
+
function unmounted(el, binding) {
|
18890
|
+
if (!el._onScroll?.[binding.instance.$.uid]) return;
|
18891
|
+
const {
|
18892
|
+
handler,
|
18893
|
+
options,
|
18894
|
+
target = el
|
18895
|
+
} = el._onScroll[binding.instance.$.uid];
|
18896
|
+
target.removeEventListener('scroll', handler, options);
|
18897
|
+
delete el._onScroll[binding.instance.$.uid];
|
18898
|
+
}
|
18899
|
+
function updated(el, binding) {
|
18900
|
+
if (binding.value === binding.oldValue) return;
|
18901
|
+
unmounted(el, binding);
|
18902
|
+
mounted(el, binding);
|
18903
|
+
}
|
18904
|
+
const Scroll = {
|
18905
|
+
mounted,
|
18906
|
+
unmounted,
|
18907
|
+
updated
|
18908
|
+
};
|
18909
|
+
|
18910
|
+
var directives = /*#__PURE__*/Object.freeze({
|
18911
|
+
__proto__: null,
|
18912
|
+
ClickOutside: ClickOutside,
|
18913
|
+
Intersect: Intersect,
|
18914
|
+
Mutate: Mutate,
|
18915
|
+
Resize: Resize,
|
18916
|
+
Ripple: Ripple,
|
18917
|
+
Scroll: Scroll,
|
18918
|
+
Touch: Touch
|
18919
|
+
});
|
18920
|
+
|
18921
|
+
// Utilities
|
18922
|
+
|
18923
|
+
// Types
|
18924
|
+
|
18925
|
+
function getWeekArray(date) {
|
18926
|
+
let currentWeek = [];
|
18927
|
+
const weeks = [];
|
18928
|
+
const firstDayOfMonth = startOfMonth(date);
|
18929
|
+
const lastDayOfMonth = endOfMonth(date);
|
18930
|
+
for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
|
18931
|
+
currentWeek.push(null);
|
18932
|
+
}
|
18933
|
+
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
18934
|
+
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
18935
|
+
|
18936
|
+
// Add the day to the current week
|
18937
|
+
currentWeek.push(day);
|
18938
|
+
|
18939
|
+
// If the current week has 7 days, add it to the weeks array and start a new week
|
18940
|
+
if (currentWeek.length === 7) {
|
18941
|
+
weeks.push(currentWeek);
|
18942
|
+
currentWeek = [];
|
19038
18943
|
}
|
19039
|
-
}
|
19040
|
-
|
19041
|
-
|
19042
|
-
|
19043
|
-
|
19044
|
-
|
18944
|
+
}
|
18945
|
+
for (let i = currentWeek.length; i < 7; i++) {
|
18946
|
+
currentWeek.push(null);
|
18947
|
+
}
|
18948
|
+
weeks.push(currentWeek);
|
18949
|
+
return weeks;
|
18950
|
+
}
|
18951
|
+
function startOfMonth(date) {
|
18952
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
18953
|
+
}
|
18954
|
+
function endOfMonth(date) {
|
18955
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
18956
|
+
}
|
18957
|
+
function date(value) {
|
18958
|
+
if (value == null) return null;
|
18959
|
+
if (value instanceof Date) return value;
|
18960
|
+
if (typeof value === 'string') {
|
18961
|
+
const parsed = Date.parse(value);
|
18962
|
+
if (!isNaN(parsed)) return new Date(parsed);
|
18963
|
+
}
|
18964
|
+
return null;
|
18965
|
+
}
|
18966
|
+
const firstDay = {
|
18967
|
+
'001': 1,
|
18968
|
+
AD: 1,
|
18969
|
+
AE: 6,
|
18970
|
+
AF: 6,
|
18971
|
+
AG: 0,
|
18972
|
+
AI: 1,
|
18973
|
+
AL: 1,
|
18974
|
+
AM: 1,
|
18975
|
+
AN: 1,
|
18976
|
+
AR: 1,
|
18977
|
+
AS: 0,
|
18978
|
+
AT: 1,
|
18979
|
+
AU: 0,
|
18980
|
+
AX: 1,
|
18981
|
+
AZ: 1,
|
18982
|
+
BA: 1,
|
18983
|
+
BD: 0,
|
18984
|
+
BE: 1,
|
18985
|
+
BG: 1,
|
18986
|
+
BH: 6,
|
18987
|
+
BM: 1,
|
18988
|
+
BN: 1,
|
18989
|
+
BR: 0,
|
18990
|
+
BS: 0,
|
18991
|
+
BT: 0,
|
18992
|
+
BW: 0,
|
18993
|
+
BY: 1,
|
18994
|
+
BZ: 0,
|
18995
|
+
CA: 0,
|
18996
|
+
CH: 1,
|
18997
|
+
CL: 1,
|
18998
|
+
CM: 1,
|
18999
|
+
CN: 0,
|
19000
|
+
CO: 0,
|
19001
|
+
CR: 1,
|
19002
|
+
CY: 1,
|
19003
|
+
CZ: 1,
|
19004
|
+
DE: 1,
|
19005
|
+
DJ: 6,
|
19006
|
+
DK: 1,
|
19007
|
+
DM: 0,
|
19008
|
+
DO: 0,
|
19009
|
+
DZ: 6,
|
19010
|
+
EC: 1,
|
19011
|
+
EE: 1,
|
19012
|
+
EG: 6,
|
19013
|
+
ES: 1,
|
19014
|
+
ET: 0,
|
19015
|
+
FI: 1,
|
19016
|
+
FJ: 1,
|
19017
|
+
FO: 1,
|
19018
|
+
FR: 1,
|
19019
|
+
GB: 1,
|
19020
|
+
'GB-alt-variant': 0,
|
19021
|
+
GE: 1,
|
19022
|
+
GF: 1,
|
19023
|
+
GP: 1,
|
19024
|
+
GR: 1,
|
19025
|
+
GT: 0,
|
19026
|
+
GU: 0,
|
19027
|
+
HK: 0,
|
19028
|
+
HN: 0,
|
19029
|
+
HR: 1,
|
19030
|
+
HU: 1,
|
19031
|
+
ID: 0,
|
19032
|
+
IE: 1,
|
19033
|
+
IL: 0,
|
19034
|
+
IN: 0,
|
19035
|
+
IQ: 6,
|
19036
|
+
IR: 6,
|
19037
|
+
IS: 1,
|
19038
|
+
IT: 1,
|
19039
|
+
JM: 0,
|
19040
|
+
JO: 6,
|
19041
|
+
JP: 0,
|
19042
|
+
KE: 0,
|
19043
|
+
KG: 1,
|
19044
|
+
KH: 0,
|
19045
|
+
KR: 0,
|
19046
|
+
KW: 6,
|
19047
|
+
KZ: 1,
|
19048
|
+
LA: 0,
|
19049
|
+
LB: 1,
|
19050
|
+
LI: 1,
|
19051
|
+
LK: 1,
|
19052
|
+
LT: 1,
|
19053
|
+
LU: 1,
|
19054
|
+
LV: 1,
|
19055
|
+
LY: 6,
|
19056
|
+
MC: 1,
|
19057
|
+
MD: 1,
|
19058
|
+
ME: 1,
|
19059
|
+
MH: 0,
|
19060
|
+
MK: 1,
|
19061
|
+
MM: 0,
|
19062
|
+
MN: 1,
|
19063
|
+
MO: 0,
|
19064
|
+
MQ: 1,
|
19065
|
+
MT: 0,
|
19066
|
+
MV: 5,
|
19067
|
+
MX: 0,
|
19068
|
+
MY: 1,
|
19069
|
+
MZ: 0,
|
19070
|
+
NI: 0,
|
19071
|
+
NL: 1,
|
19072
|
+
NO: 1,
|
19073
|
+
NP: 0,
|
19074
|
+
NZ: 1,
|
19075
|
+
OM: 6,
|
19076
|
+
PA: 0,
|
19077
|
+
PE: 0,
|
19078
|
+
PH: 0,
|
19079
|
+
PK: 0,
|
19080
|
+
PL: 1,
|
19081
|
+
PR: 0,
|
19082
|
+
PT: 0,
|
19083
|
+
PY: 0,
|
19084
|
+
QA: 6,
|
19085
|
+
RE: 1,
|
19086
|
+
RO: 1,
|
19087
|
+
RS: 1,
|
19088
|
+
RU: 1,
|
19089
|
+
SA: 0,
|
19090
|
+
SD: 6,
|
19091
|
+
SE: 1,
|
19092
|
+
SG: 0,
|
19093
|
+
SI: 1,
|
19094
|
+
SK: 1,
|
19095
|
+
SM: 1,
|
19096
|
+
SV: 0,
|
19097
|
+
SY: 6,
|
19098
|
+
TH: 0,
|
19099
|
+
TJ: 1,
|
19100
|
+
TM: 1,
|
19101
|
+
TR: 1,
|
19102
|
+
TT: 0,
|
19103
|
+
TW: 0,
|
19104
|
+
UA: 1,
|
19105
|
+
UM: 0,
|
19106
|
+
US: 0,
|
19107
|
+
UY: 1,
|
19108
|
+
UZ: 1,
|
19109
|
+
VA: 1,
|
19110
|
+
VE: 0,
|
19111
|
+
VI: 0,
|
19112
|
+
VN: 1,
|
19113
|
+
WS: 0,
|
19114
|
+
XK: 1,
|
19115
|
+
YE: 0,
|
19116
|
+
ZA: 0,
|
19117
|
+
ZW: 0
|
19118
|
+
};
|
19119
|
+
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
19120
|
+
function getWeekdays(locale) {
|
19121
|
+
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
19122
|
+
return createRange(7).map(i => {
|
19123
|
+
const weekday = new Date(sundayJanuarySecond2000);
|
19124
|
+
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
19125
|
+
return new Intl.DateTimeFormat(locale, {
|
19126
|
+
weekday: 'long'
|
19127
|
+
}).format(weekday);
|
19045
19128
|
});
|
19046
|
-
if (immediate) handler?.([], observer);
|
19047
|
-
el._mutate = Object(el._mutate);
|
19048
|
-
el._mutate[binding.instance.$.uid] = {
|
19049
|
-
observer
|
19050
|
-
};
|
19051
|
-
observer.observe(el, options);
|
19052
19129
|
}
|
19053
|
-
function
|
19054
|
-
|
19055
|
-
|
19056
|
-
|
19130
|
+
function format(value, formatString, locale) {
|
19131
|
+
const date = new Date(value);
|
19132
|
+
let options = {};
|
19133
|
+
switch (formatString) {
|
19134
|
+
case 'fullDateWithWeekday':
|
19135
|
+
options = {
|
19136
|
+
weekday: 'long',
|
19137
|
+
day: 'numeric',
|
19138
|
+
month: 'long',
|
19139
|
+
year: 'numeric'
|
19140
|
+
};
|
19141
|
+
break;
|
19142
|
+
case 'normalDateWithWeekday':
|
19143
|
+
options = {
|
19144
|
+
weekday: 'short',
|
19145
|
+
day: 'numeric',
|
19146
|
+
month: 'short',
|
19147
|
+
year: 'numeric'
|
19148
|
+
};
|
19149
|
+
break;
|
19150
|
+
case 'keyboardDate':
|
19151
|
+
options = {};
|
19152
|
+
break;
|
19153
|
+
case 'monthAndDate':
|
19154
|
+
options = {
|
19155
|
+
month: 'long',
|
19156
|
+
day: 'numeric'
|
19157
|
+
};
|
19158
|
+
break;
|
19159
|
+
case 'monthAndYear':
|
19160
|
+
options = {
|
19161
|
+
month: 'long',
|
19162
|
+
year: 'numeric'
|
19163
|
+
};
|
19164
|
+
break;
|
19165
|
+
default:
|
19166
|
+
options = {
|
19167
|
+
timeZone: 'UTC',
|
19168
|
+
timeZoneName: 'short'
|
19169
|
+
};
|
19170
|
+
}
|
19171
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
19172
|
+
}
|
19173
|
+
function addDays(date, amount) {
|
19174
|
+
const d = new Date(date);
|
19175
|
+
d.setDate(d.getDate() + amount);
|
19176
|
+
return d;
|
19177
|
+
}
|
19178
|
+
function addMonths(date, amount) {
|
19179
|
+
const d = new Date(date);
|
19180
|
+
d.setMonth(d.getMonth() + amount);
|
19181
|
+
return d;
|
19182
|
+
}
|
19183
|
+
function getYear(date) {
|
19184
|
+
return date.getFullYear();
|
19185
|
+
}
|
19186
|
+
function getMonth(date) {
|
19187
|
+
return date.getMonth();
|
19188
|
+
}
|
19189
|
+
function startOfYear(date) {
|
19190
|
+
return new Date(date.getFullYear(), 0, 1);
|
19191
|
+
}
|
19192
|
+
function endOfYear(date) {
|
19193
|
+
return new Date(date.getFullYear(), 11, 31);
|
19194
|
+
}
|
19195
|
+
function getMondayOfFirstWeekOfYear(year) {
|
19196
|
+
return new Date(year, 0, 1);
|
19057
19197
|
}
|
19058
|
-
const Mutate = {
|
19059
|
-
mounted: mounted$2,
|
19060
|
-
unmounted: unmounted$2
|
19061
|
-
};
|
19062
19198
|
|
19063
|
-
|
19064
|
-
|
19065
|
-
|
19066
|
-
|
19067
|
-
|
19068
|
-
|
19069
|
-
|
19070
|
-
|
19071
|
-
|
19072
|
-
|
19073
|
-
|
19074
|
-
|
19075
|
-
|
19199
|
+
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
19200
|
+
function getWeek(date) {
|
19201
|
+
let year = date.getFullYear();
|
19202
|
+
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
19203
|
+
if (date < d1w1) {
|
19204
|
+
year = year - 1;
|
19205
|
+
d1w1 = getMondayOfFirstWeekOfYear(year);
|
19206
|
+
} else {
|
19207
|
+
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
19208
|
+
if (date >= tv) {
|
19209
|
+
year = year + 1;
|
19210
|
+
d1w1 = tv;
|
19211
|
+
}
|
19076
19212
|
}
|
19213
|
+
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
19214
|
+
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
19215
|
+
return Math.floor(diffDays / 7) + 1;
|
19077
19216
|
}
|
19078
|
-
function
|
19079
|
-
|
19080
|
-
const {
|
19081
|
-
handler,
|
19082
|
-
options
|
19083
|
-
} = el._onResize[binding.instance.$.uid];
|
19084
|
-
window.removeEventListener('resize', handler, options);
|
19085
|
-
delete el._onResize[binding.instance.$.uid];
|
19217
|
+
function isWithinRange(date, range) {
|
19218
|
+
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
19086
19219
|
}
|
19087
|
-
|
19088
|
-
|
19089
|
-
|
19090
|
-
};
|
19091
|
-
|
19092
|
-
function mounted(el, binding) {
|
19093
|
-
const {
|
19094
|
-
self = false
|
19095
|
-
} = binding.modifiers ?? {};
|
19096
|
-
const value = binding.value;
|
19097
|
-
const options = typeof value === 'object' && value.options || {
|
19098
|
-
passive: true
|
19099
|
-
};
|
19100
|
-
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
19101
|
-
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
19102
|
-
if (!target) return;
|
19103
|
-
target.addEventListener('scroll', handler, options);
|
19104
|
-
el._onScroll = Object(el._onScroll);
|
19105
|
-
el._onScroll[binding.instance.$.uid] = {
|
19106
|
-
handler,
|
19107
|
-
options,
|
19108
|
-
// Don't reference self
|
19109
|
-
target: self ? undefined : target
|
19110
|
-
};
|
19220
|
+
function isValid(date) {
|
19221
|
+
const d = new Date(date);
|
19222
|
+
return d instanceof Date && !isNaN(d.getTime());
|
19111
19223
|
}
|
19112
|
-
function
|
19113
|
-
|
19114
|
-
const {
|
19115
|
-
handler,
|
19116
|
-
options,
|
19117
|
-
target = el
|
19118
|
-
} = el._onScroll[binding.instance.$.uid];
|
19119
|
-
target.removeEventListener('scroll', handler, options);
|
19120
|
-
delete el._onScroll[binding.instance.$.uid];
|
19224
|
+
function isAfter(date, comparing) {
|
19225
|
+
return date.getTime() > comparing.getTime();
|
19121
19226
|
}
|
19122
|
-
function
|
19123
|
-
|
19124
|
-
|
19125
|
-
|
19227
|
+
function isBefore(date, comparing) {
|
19228
|
+
return date.getTime() < comparing.getTime();
|
19229
|
+
}
|
19230
|
+
function isEqual(date, comparing) {
|
19231
|
+
return date.getTime() === comparing.getTime();
|
19232
|
+
}
|
19233
|
+
function isSameDay(date, comparing) {
|
19234
|
+
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
19235
|
+
}
|
19236
|
+
function isSameMonth(date, comparing) {
|
19237
|
+
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
19238
|
+
}
|
19239
|
+
function getDiff(date, comparing, unit) {
|
19240
|
+
const d = new Date(date);
|
19241
|
+
const c = new Date(comparing);
|
19242
|
+
if (unit === 'month') {
|
19243
|
+
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
19244
|
+
}
|
19245
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
19246
|
+
}
|
19247
|
+
function setYear(date, year) {
|
19248
|
+
const d = new Date(date);
|
19249
|
+
d.setFullYear(year);
|
19250
|
+
return d;
|
19251
|
+
}
|
19252
|
+
class VuetifyDateAdapter {
|
19253
|
+
constructor() {
|
19254
|
+
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
19255
|
+
this.locale = locale;
|
19256
|
+
}
|
19257
|
+
date(value) {
|
19258
|
+
return date(value);
|
19259
|
+
}
|
19260
|
+
addDays(date, amount) {
|
19261
|
+
return addDays(date, amount);
|
19262
|
+
}
|
19263
|
+
addMonths(date, amount) {
|
19264
|
+
return addMonths(date, amount);
|
19265
|
+
}
|
19266
|
+
getWeekArray(date) {
|
19267
|
+
return getWeekArray(date);
|
19268
|
+
}
|
19269
|
+
startOfMonth(date) {
|
19270
|
+
return startOfMonth(date);
|
19271
|
+
}
|
19272
|
+
endOfMonth(date) {
|
19273
|
+
return endOfMonth(date);
|
19274
|
+
}
|
19275
|
+
format(date, formatString) {
|
19276
|
+
return format(date, formatString, this.locale);
|
19277
|
+
}
|
19278
|
+
isEqual(date, comparing) {
|
19279
|
+
return isEqual(date, comparing);
|
19280
|
+
}
|
19281
|
+
isValid(date) {
|
19282
|
+
return isValid(date);
|
19283
|
+
}
|
19284
|
+
isWithinRange(date, range) {
|
19285
|
+
return isWithinRange(date, range);
|
19286
|
+
}
|
19287
|
+
isAfter(date, comparing) {
|
19288
|
+
return isAfter(date, comparing);
|
19289
|
+
}
|
19290
|
+
isSameDay(date, comparing) {
|
19291
|
+
return isSameDay(date, comparing);
|
19292
|
+
}
|
19293
|
+
isSameMonth(date, comparing) {
|
19294
|
+
return isSameMonth(date, comparing);
|
19295
|
+
}
|
19296
|
+
setYear(date, year) {
|
19297
|
+
return setYear(date, year);
|
19298
|
+
}
|
19299
|
+
getDiff(date, comparing, unit) {
|
19300
|
+
return getDiff(date, comparing, unit);
|
19301
|
+
}
|
19302
|
+
getWeek(date) {
|
19303
|
+
return getWeek(date);
|
19304
|
+
}
|
19305
|
+
getWeekdays() {
|
19306
|
+
return getWeekdays(this.locale);
|
19307
|
+
}
|
19308
|
+
getYear(date) {
|
19309
|
+
return getYear(date);
|
19310
|
+
}
|
19311
|
+
getMonth(date) {
|
19312
|
+
return getMonth(date);
|
19313
|
+
}
|
19314
|
+
startOfYear(date) {
|
19315
|
+
return startOfYear(date);
|
19316
|
+
}
|
19317
|
+
endOfYear(date) {
|
19318
|
+
return endOfYear(date);
|
19319
|
+
}
|
19126
19320
|
}
|
19127
|
-
const Scroll = {
|
19128
|
-
mounted,
|
19129
|
-
unmounted,
|
19130
|
-
updated
|
19131
|
-
};
|
19132
19321
|
|
19133
|
-
|
19134
|
-
|
19135
|
-
|
19136
|
-
|
19137
|
-
|
19138
|
-
|
19139
|
-
|
19140
|
-
|
19141
|
-
|
19142
|
-
}
|
19322
|
+
// Composables
|
19323
|
+
|
19324
|
+
// Types
|
19325
|
+
|
19326
|
+
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
19327
|
+
function createDate(options) {
|
19328
|
+
return options ?? {
|
19329
|
+
adapter: VuetifyDateAdapter
|
19330
|
+
};
|
19331
|
+
}
|
19143
19332
|
|
19144
19333
|
// Composables
|
19145
19334
|
function createVuetify$1() {
|
@@ -19226,7 +19415,7 @@ function createVuetify$1() {
|
|
19226
19415
|
date
|
19227
19416
|
};
|
19228
19417
|
}
|
19229
|
-
const version$1 = "4.0.0-dev-
|
19418
|
+
const version$1 = "4.0.0-dev-20230427.0";
|
19230
19419
|
createVuetify$1.version = version$1;
|
19231
19420
|
|
19232
19421
|
// Vue's inject() can only be used in setup
|
@@ -19246,8 +19435,8 @@ const createVuetify = function () {
|
|
19246
19435
|
...options
|
19247
19436
|
});
|
19248
19437
|
};
|
19249
|
-
const version = "4.0.0-dev-
|
19438
|
+
const version = "4.0.0-dev-20230427.0";
|
19250
19439
|
createVuetify.version = version;
|
19251
19440
|
|
19252
|
-
export { components, createVuetify, directives,
|
19441
|
+
export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|
19253
19442
|
//# sourceMappingURL=vuetify.esm.js.map
|