vuetify 3.1.15 → 3.2.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/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +368 -216
- package/dist/json/importMap-labs.json +4 -4
- package/dist/json/importMap.json +72 -68
- package/dist/json/tags.json +45 -2
- package/dist/json/web-types.json +898 -376
- package/dist/vuetify-labs.css +577 -355
- package/dist/vuetify-labs.d.ts +5910 -7620
- package/dist/vuetify-labs.esm.js +1702 -693
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1701 -691
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +266 -60
- package/dist/vuetify.d.ts +6218 -7204
- package/dist/vuetify.esm.js +1425 -461
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1424 -459
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +819 -746
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +35 -1
- package/lib/blueprints/md1.d.ts +35 -1
- package/lib/blueprints/md2.d.ts +35 -1
- package/lib/blueprints/md3.d.ts +35 -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 +65 -13
- 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 +113 -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 +276 -418
- 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 +9 -4
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/_mixins.scss +1 -1
- package/lib/components/VBtn/index.d.ts +39 -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 +75 -109
- 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 +276 -418
- 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 +59 -12
- package/lib/components/VField/VField.mjs +18 -8
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +57 -6
- package/lib/components/VField/VFieldLabel.mjs +6 -3
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/_variables.scss +4 -0
- package/lib/components/VField/index.d.ts +169 -84
- package/lib/components/VFileInput/VFileInput.mjs +2 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +147 -174
- 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 +37 -40
- 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 +45 -68
- package/lib/components/VRangeSlider/VRangeSlider.mjs +33 -21
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +50 -49
- package/lib/components/VRating/VRating.css +0 -4
- package/lib/components/VRating/VRating.mjs +10 -36
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/VRating.sass +0 -5
- package/lib/components/VRating/index.d.ts +24 -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 +245 -567
- 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 +33 -14
- 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 +50 -49
- package/lib/components/VSlider/slider.mjs +43 -23
- package/lib/components/VSlider/slider.mjs.map +1 -1
- 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 +45 -72
- 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 +3 -4
- 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 +51 -33
- package/lib/components/VTextField/VTextField.mjs +2 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +337 -317
- package/lib/components/VTextarea/VTextarea.mjs +2 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +127 -146
- 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.css +3 -1
- package/lib/components/VToolbar/VToolbar.mjs +4 -2
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +3 -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 +4 -3
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +119 -150
- package/lib/components/VValidation/index.d.ts +6 -18
- package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.mjs +21 -23
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -0
- package/lib/{labs → components}/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -0
- package/lib/{labs → components}/VVirtualScroll/index.d.ts +70 -30
- package/lib/components/VVirtualScroll/index.mjs.map +1 -0
- 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 +5834 -6865
- package/lib/components/index.mjs +2 -1
- package/lib/components/index.mjs.map +1 -1
- 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 +53 -5
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/focus.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 -0
- 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/composables/scroll.mjs +3 -0
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +8 -3
- 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 +65 -22
- 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 +377 -1097
- package/lib/labs/components.mjs +1 -1
- 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/labs/date/adapters/vuetify.mjs +399 -0
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
- package/lib/labs/date/date.mjs +39 -0
- 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/styles/main.css +152 -0
- package/lib/styles/settings/_utilities.scss +11 -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 +32 -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 +4 -3
- package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +0 -1
- package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +0 -1
- package/lib/labs/VVirtualScroll/index.mjs.map +0 -1
- /package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.css +0 -0
- /package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.sass +0 -0
- /package/lib/{labs → components}/VVirtualScroll/index.mjs +0 -0
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.
|
|
2
|
+
* Vuetify v3.2.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,58 @@ 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() {
|
|
1016
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1017
|
+
let name = arguments.length > 1 ? arguments[1] : undefined;
|
|
1018
|
+
let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();
|
|
1019
|
+
const vm = getCurrentInstance('useDefaults');
|
|
1020
|
+
name = name ?? vm.type.name ?? vm.type.__name;
|
|
1021
|
+
if (!name) {
|
|
1022
|
+
throw new Error('[Vuetify] Could not determine component name');
|
|
1023
|
+
}
|
|
1024
|
+
const componentDefaults = computed(() => defaults.value?.[props._as ?? name]);
|
|
1025
|
+
const _props = new Proxy(props, {
|
|
1026
|
+
get(target, prop) {
|
|
1027
|
+
const propValue = Reflect.get(target, prop);
|
|
1028
|
+
if (prop === 'class' || prop === 'style') {
|
|
1029
|
+
return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
|
|
1030
|
+
} else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
|
1031
|
+
return componentDefaults.value?.[prop] ?? defaults.value?.global?.[prop] ?? propValue;
|
|
1032
|
+
}
|
|
1033
|
+
return propValue;
|
|
1003
1034
|
}
|
|
1004
|
-
}, {
|
|
1005
|
-
immediate: true
|
|
1006
1035
|
});
|
|
1007
|
-
|
|
1008
|
-
|
|
1036
|
+
const _subcomponentDefaults = shallowRef();
|
|
1037
|
+
watchEffect(() => {
|
|
1038
|
+
if (componentDefaults.value) {
|
|
1039
|
+
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
|
1040
|
+
let [key] = _ref;
|
|
1041
|
+
return key.startsWith(key[0].toUpperCase());
|
|
1042
|
+
});
|
|
1043
|
+
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
|
1044
|
+
}
|
|
1009
1045
|
});
|
|
1046
|
+
function provideSubDefaults() {
|
|
1047
|
+
// If subcomponent defaults are provided, override any
|
|
1048
|
+
// subcomponents provided by the component's setup function.
|
|
1049
|
+
// This uses injectSelf so must be done after the original setup to work.
|
|
1050
|
+
useToggleScope(_subcomponentDefaults, () => {
|
|
1051
|
+
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
|
1052
|
+
});
|
|
1053
|
+
}
|
|
1054
|
+
return {
|
|
1055
|
+
props: _props,
|
|
1056
|
+
provideSubDefaults
|
|
1057
|
+
};
|
|
1010
1058
|
}
|
|
1011
1059
|
|
|
1012
1060
|
// Utils
|
|
1013
1061
|
|
|
1014
1062
|
// Types
|
|
1015
1063
|
|
|
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
1064
|
// Implementation
|
|
1023
1065
|
function defineComponent(options) {
|
|
1024
1066
|
options._setup = options._setup ?? options.setup;
|
|
@@ -1030,43 +1072,20 @@ function defineComponent(options) {
|
|
|
1030
1072
|
options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
|
|
1031
1073
|
const propKeys = Object.keys(options.props);
|
|
1032
1074
|
options.filterProps = function filterProps(props) {
|
|
1033
|
-
return pick(props, propKeys);
|
|
1075
|
+
return pick(props, propKeys, ['class', 'style']);
|
|
1034
1076
|
};
|
|
1035
1077
|
options.props._as = String;
|
|
1036
1078
|
options.setup = function setup(props, ctx) {
|
|
1037
|
-
const defaults =
|
|
1079
|
+
const defaults = injectDefaults();
|
|
1038
1080
|
|
|
1039
1081
|
// Skip props proxy if defaults are not provided
|
|
1040
1082
|
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
|
-
});
|
|
1083
|
+
const {
|
|
1084
|
+
props: _props,
|
|
1085
|
+
provideSubDefaults
|
|
1086
|
+
} = useDefaults(props, props._as ?? options.name, defaults);
|
|
1062
1087
|
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
|
-
});
|
|
1088
|
+
provideSubDefaults();
|
|
1070
1089
|
return setupBindings;
|
|
1071
1090
|
};
|
|
1072
1091
|
}
|
|
@@ -1087,15 +1106,19 @@ function createSimpleFunctional(klass) {
|
|
|
1087
1106
|
tag: {
|
|
1088
1107
|
type: String,
|
|
1089
1108
|
default: tag
|
|
1090
|
-
}
|
|
1109
|
+
},
|
|
1110
|
+
...makeComponentProps()
|
|
1091
1111
|
},
|
|
1092
1112
|
setup(props, _ref) {
|
|
1093
1113
|
let {
|
|
1094
1114
|
slots
|
|
1095
1115
|
} = _ref;
|
|
1096
|
-
return () =>
|
|
1097
|
-
|
|
1098
|
-
|
|
1116
|
+
return () => {
|
|
1117
|
+
return h(props.tag, {
|
|
1118
|
+
class: [klass, props.class],
|
|
1119
|
+
style: props.style
|
|
1120
|
+
}, slots.default?.());
|
|
1121
|
+
};
|
|
1099
1122
|
}
|
|
1100
1123
|
});
|
|
1101
1124
|
}
|
|
@@ -1128,6 +1151,34 @@ const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';
|
|
|
1128
1151
|
const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering
|
|
1129
1152
|
const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving
|
|
1130
1153
|
|
|
1154
|
+
// Utilities
|
|
1155
|
+
function getCurrentInstance(name, message) {
|
|
1156
|
+
const vm = getCurrentInstance$1();
|
|
1157
|
+
if (!vm) {
|
|
1158
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
|
1159
|
+
}
|
|
1160
|
+
return vm;
|
|
1161
|
+
}
|
|
1162
|
+
function getCurrentInstanceName() {
|
|
1163
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
|
1164
|
+
const vm = getCurrentInstance(name).type;
|
|
1165
|
+
return toKebabCase(vm?.aliasName || vm?.name);
|
|
1166
|
+
}
|
|
1167
|
+
let _uid = 0;
|
|
1168
|
+
let _map = new WeakMap();
|
|
1169
|
+
function getUid() {
|
|
1170
|
+
const vm = getCurrentInstance('getUid');
|
|
1171
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
|
1172
|
+
const uid = _uid++;
|
|
1173
|
+
_map.set(vm, uid);
|
|
1174
|
+
return uid;
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
1177
|
+
getUid.reset = () => {
|
|
1178
|
+
_uid = 0;
|
|
1179
|
+
_map = new WeakMap();
|
|
1180
|
+
};
|
|
1181
|
+
|
|
1131
1182
|
function getScrollParent(el) {
|
|
1132
1183
|
while (el) {
|
|
1133
1184
|
if (hasScrollbar(el)) return el;
|
|
@@ -1151,6 +1202,16 @@ function hasScrollbar(el) {
|
|
|
1151
1202
|
return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
|
|
1152
1203
|
}
|
|
1153
1204
|
|
|
1205
|
+
function injectSelf(key) {
|
|
1206
|
+
const {
|
|
1207
|
+
provides
|
|
1208
|
+
} = getCurrentInstance('injectSelf');
|
|
1209
|
+
if (provides && key in provides) {
|
|
1210
|
+
// TS doesn't allow symbol as index type
|
|
1211
|
+
return provides[key];
|
|
1212
|
+
}
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1154
1215
|
function isFixedPosition(el) {
|
|
1155
1216
|
while (el) {
|
|
1156
1217
|
if (window.getComputedStyle(el).position === 'fixed') {
|
|
@@ -1931,7 +1992,11 @@ var en = {
|
|
|
1931
1992
|
item: 'Rating {0} of {1}'
|
|
1932
1993
|
}
|
|
1933
1994
|
},
|
|
1934
|
-
loading: 'Loading...'
|
|
1995
|
+
loading: 'Loading...',
|
|
1996
|
+
infiniteScroll: {
|
|
1997
|
+
loadMore: 'Load more',
|
|
1998
|
+
empty: 'No more'
|
|
1999
|
+
}
|
|
1935
2000
|
};
|
|
1936
2001
|
|
|
1937
2002
|
const LANG_PREFIX = '$vuetify.';
|
|
@@ -2129,6 +2194,7 @@ function useRtl() {
|
|
|
2129
2194
|
const VApp = genericComponent()({
|
|
2130
2195
|
name: 'VApp',
|
|
2131
2196
|
props: {
|
|
2197
|
+
...makeComponentProps(),
|
|
2132
2198
|
...makeLayoutProps({
|
|
2133
2199
|
fullHeight: true
|
|
2134
2200
|
}),
|
|
@@ -2151,8 +2217,8 @@ const VApp = genericComponent()({
|
|
|
2151
2217
|
} = useRtl();
|
|
2152
2218
|
useRender(() => createVNode("div", {
|
|
2153
2219
|
"ref": layoutRef,
|
|
2154
|
-
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value],
|
|
2155
|
-
"style": layoutStyles.value
|
|
2220
|
+
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
|
|
2221
|
+
"style": [layoutStyles.value, props.style]
|
|
2156
2222
|
}, [createVNode("div", {
|
|
2157
2223
|
"class": "v-application__wrap"
|
|
2158
2224
|
}, [slots.default?.()])]));
|
|
@@ -2577,6 +2643,7 @@ const VResponsive = genericComponent()({
|
|
|
2577
2643
|
props: {
|
|
2578
2644
|
aspectRatio: [String, Number],
|
|
2579
2645
|
contentClass: String,
|
|
2646
|
+
...makeComponentProps(),
|
|
2580
2647
|
...makeDimensionProps()
|
|
2581
2648
|
},
|
|
2582
2649
|
setup(props, _ref) {
|
|
@@ -2590,8 +2657,8 @@ const VResponsive = genericComponent()({
|
|
|
2590
2657
|
dimensionStyles
|
|
2591
2658
|
} = useDimension(props);
|
|
2592
2659
|
useRender(() => createVNode("div", {
|
|
2593
|
-
"class":
|
|
2594
|
-
"style": dimensionStyles.value
|
|
2660
|
+
"class": ['v-responsive', props.class],
|
|
2661
|
+
"style": [dimensionStyles.value, props.style]
|
|
2595
2662
|
}, [createVNode("div", {
|
|
2596
2663
|
"class": "v-responsive__sizer",
|
|
2597
2664
|
"style": aspectStyles.value
|
|
@@ -2709,6 +2776,7 @@ const VImg = genericComponent()({
|
|
|
2709
2776
|
},
|
|
2710
2777
|
srcset: String,
|
|
2711
2778
|
width: [String, Number],
|
|
2779
|
+
...makeComponentProps(),
|
|
2712
2780
|
...makeTransitionProps()
|
|
2713
2781
|
},
|
|
2714
2782
|
emits: {
|
|
@@ -2896,10 +2964,10 @@ const VImg = genericComponent()({
|
|
|
2896
2964
|
useRender(() => withDirectives(createVNode(VResponsive, {
|
|
2897
2965
|
"class": ['v-img', {
|
|
2898
2966
|
'v-img--booting': !isBooted.value
|
|
2899
|
-
}],
|
|
2900
|
-
"style": {
|
|
2967
|
+
}, props.class],
|
|
2968
|
+
"style": [{
|
|
2901
2969
|
width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
|
|
2902
|
-
},
|
|
2970
|
+
}, props.style],
|
|
2903
2971
|
"aspectRatio": aspectRatio.value,
|
|
2904
2972
|
"aria-label": props.alt,
|
|
2905
2973
|
"role": props.alt ? 'img' : undefined
|
|
@@ -2934,10 +3002,9 @@ const makeTagProps = propsFactory({
|
|
|
2934
3002
|
}
|
|
2935
3003
|
}, 'tag');
|
|
2936
3004
|
|
|
2937
|
-
// Types
|
|
2938
|
-
|
|
2939
3005
|
const makeVToolbarTitleProps = propsFactory({
|
|
2940
3006
|
text: String,
|
|
3007
|
+
...makeComponentProps(),
|
|
2941
3008
|
...makeTagProps()
|
|
2942
3009
|
}, 'v-toolbar-title');
|
|
2943
3010
|
const VToolbarTitle = genericComponent()({
|
|
@@ -2950,7 +3017,8 @@ const VToolbarTitle = genericComponent()({
|
|
|
2950
3017
|
useRender(() => {
|
|
2951
3018
|
const hasText = !!(slots.default || slots.text || props.text);
|
|
2952
3019
|
return createVNode(props.tag, {
|
|
2953
|
-
"class":
|
|
3020
|
+
"class": ['v-toolbar-title', props.class],
|
|
3021
|
+
"style": props.style
|
|
2954
3022
|
}, {
|
|
2955
3023
|
default: () => [hasText && createVNode("div", {
|
|
2956
3024
|
"class": "v-toolbar-title__placeholder"
|
|
@@ -3131,6 +3199,7 @@ const makeVToolbarProps = propsFactory({
|
|
|
3131
3199
|
image: String,
|
|
3132
3200
|
title: String,
|
|
3133
3201
|
...makeBorderProps(),
|
|
3202
|
+
...makeComponentProps(),
|
|
3134
3203
|
...makeElevationProps(),
|
|
3135
3204
|
...makeRoundedProps(),
|
|
3136
3205
|
...makeTagProps({
|
|
@@ -3181,8 +3250,8 @@ const VToolbar = genericComponent()({
|
|
|
3181
3250
|
'v-toolbar--flat': props.flat,
|
|
3182
3251
|
'v-toolbar--floating': props.floating,
|
|
3183
3252
|
[`v-toolbar--density-${props.density}`]: true
|
|
3184
|
-
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value],
|
|
3185
|
-
"style": [backgroundColorStyles.value]
|
|
3253
|
+
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
|
3254
|
+
"style": [backgroundColorStyles.value, props.style]
|
|
3186
3255
|
}, {
|
|
3187
3256
|
default: () => [hasImage && createVNode("div", {
|
|
3188
3257
|
"key": "image",
|
|
@@ -3249,6 +3318,98 @@ const VToolbar = genericComponent()({
|
|
|
3249
3318
|
|
|
3250
3319
|
// Utilities
|
|
3251
3320
|
|
|
3321
|
+
// Types
|
|
3322
|
+
|
|
3323
|
+
// Composables
|
|
3324
|
+
const makeScrollProps = propsFactory({
|
|
3325
|
+
scrollTarget: {
|
|
3326
|
+
type: String
|
|
3327
|
+
},
|
|
3328
|
+
scrollThreshold: {
|
|
3329
|
+
type: [String, Number]
|
|
3330
|
+
}
|
|
3331
|
+
}, 'scroll');
|
|
3332
|
+
function useScroll(props) {
|
|
3333
|
+
let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
3334
|
+
const {
|
|
3335
|
+
thresholdMetCallback,
|
|
3336
|
+
scrollThreshold,
|
|
3337
|
+
canScroll
|
|
3338
|
+
} = args;
|
|
3339
|
+
let previousScroll = 0;
|
|
3340
|
+
const target = ref(null);
|
|
3341
|
+
const currentScroll = ref(0);
|
|
3342
|
+
const savedScroll = ref(0);
|
|
3343
|
+
const currentThreshold = ref(0);
|
|
3344
|
+
const isScrollActive = ref(false);
|
|
3345
|
+
const isScrollingUp = ref(false);
|
|
3346
|
+
const computedScrollThreshold = computed(() => {
|
|
3347
|
+
return Number(props.scrollThreshold ?? scrollThreshold ?? 300);
|
|
3348
|
+
});
|
|
3349
|
+
const onScroll = () => {
|
|
3350
|
+
const targetEl = target.value;
|
|
3351
|
+
if (!targetEl || canScroll && !canScroll.value) return;
|
|
3352
|
+
previousScroll = currentScroll.value;
|
|
3353
|
+
currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
|
|
3354
|
+
isScrollingUp.value = currentScroll.value < previousScroll;
|
|
3355
|
+
currentThreshold.value = Math.abs(currentScroll.value - computedScrollThreshold.value);
|
|
3356
|
+
};
|
|
3357
|
+
watch(isScrollingUp, () => {
|
|
3358
|
+
savedScroll.value = savedScroll.value || currentScroll.value;
|
|
3359
|
+
});
|
|
3360
|
+
watch(isScrollActive, () => {
|
|
3361
|
+
savedScroll.value = 0;
|
|
3362
|
+
});
|
|
3363
|
+
onMounted(() => {
|
|
3364
|
+
watch(() => props.scrollTarget, scrollTarget => {
|
|
3365
|
+
const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window;
|
|
3366
|
+
if (!newTarget) {
|
|
3367
|
+
consoleWarn(`Unable to locate element with identifier ${scrollTarget}`, getCurrentInstance$1());
|
|
3368
|
+
return;
|
|
3369
|
+
}
|
|
3370
|
+
if (newTarget === target.value) return;
|
|
3371
|
+
target.value?.removeEventListener('scroll', onScroll);
|
|
3372
|
+
target.value = newTarget;
|
|
3373
|
+
target.value.addEventListener('scroll', onScroll, {
|
|
3374
|
+
passive: true
|
|
3375
|
+
});
|
|
3376
|
+
}, {
|
|
3377
|
+
immediate: true
|
|
3378
|
+
});
|
|
3379
|
+
});
|
|
3380
|
+
onBeforeUnmount(() => {
|
|
3381
|
+
target.value?.removeEventListener('scroll', onScroll);
|
|
3382
|
+
});
|
|
3383
|
+
thresholdMetCallback && watch(() => Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value, thresholdMet => {
|
|
3384
|
+
thresholdMet && thresholdMetCallback({
|
|
3385
|
+
currentThreshold: currentThreshold.value,
|
|
3386
|
+
isScrollingUp: isScrollingUp.value,
|
|
3387
|
+
savedScroll
|
|
3388
|
+
});
|
|
3389
|
+
}, {
|
|
3390
|
+
immediate: true
|
|
3391
|
+
});
|
|
3392
|
+
|
|
3393
|
+
// Do we need this? If yes - seems that
|
|
3394
|
+
// there's no need to expose onScroll
|
|
3395
|
+
canScroll && watch(canScroll, onScroll, {
|
|
3396
|
+
immediate: true
|
|
3397
|
+
});
|
|
3398
|
+
return {
|
|
3399
|
+
computedScrollThreshold,
|
|
3400
|
+
currentScroll,
|
|
3401
|
+
currentThreshold,
|
|
3402
|
+
isScrollActive,
|
|
3403
|
+
// required only for testing
|
|
3404
|
+
// probably can be removed
|
|
3405
|
+
// later (2 chars chlng)
|
|
3406
|
+
isScrollingUp,
|
|
3407
|
+
savedScroll
|
|
3408
|
+
};
|
|
3409
|
+
}
|
|
3410
|
+
|
|
3411
|
+
// Utilities
|
|
3412
|
+
|
|
3252
3413
|
// Composables
|
|
3253
3414
|
function useSsrBoot() {
|
|
3254
3415
|
const isBooted = ref(false);
|
|
@@ -3271,13 +3432,7 @@ function useSsrBoot() {
|
|
|
3271
3432
|
const VAppBar = genericComponent()({
|
|
3272
3433
|
name: 'VAppBar',
|
|
3273
3434
|
props: {
|
|
3274
|
-
|
|
3275
|
-
// hideOnScroll: Boolean
|
|
3276
|
-
// invertedScroll: Boolean
|
|
3277
|
-
// collapseOnScroll: Boolean
|
|
3278
|
-
// elevateOnScroll: Boolean
|
|
3279
|
-
// shrinkOnScroll: Boolean
|
|
3280
|
-
// fadeImageOnScroll: Boolean
|
|
3435
|
+
scrollBehavior: String,
|
|
3281
3436
|
modelValue: {
|
|
3282
3437
|
type: Boolean,
|
|
3283
3438
|
default: true
|
|
@@ -3289,6 +3444,7 @@ const VAppBar = genericComponent()({
|
|
|
3289
3444
|
},
|
|
3290
3445
|
...makeVToolbarProps(),
|
|
3291
3446
|
...makeLayoutItemProps(),
|
|
3447
|
+
...makeScrollProps(),
|
|
3292
3448
|
height: {
|
|
3293
3449
|
type: [Number, String],
|
|
3294
3450
|
default: 64
|
|
@@ -3303,11 +3459,63 @@ const VAppBar = genericComponent()({
|
|
|
3303
3459
|
} = _ref;
|
|
3304
3460
|
const vToolbarRef = ref();
|
|
3305
3461
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
3462
|
+
const scrollBehavior = computed(() => {
|
|
3463
|
+
const behavior = new Set(props.scrollBehavior?.split(' ') ?? []);
|
|
3464
|
+
return {
|
|
3465
|
+
hide: behavior.has('hide'),
|
|
3466
|
+
// fullyHide: behavior.has('fully-hide'),
|
|
3467
|
+
inverted: behavior.has('inverted'),
|
|
3468
|
+
collapse: behavior.has('collapse'),
|
|
3469
|
+
elevate: behavior.has('elevate'),
|
|
3470
|
+
fadeImage: behavior.has('fade-image')
|
|
3471
|
+
// shrink: behavior.has('shrink'),
|
|
3472
|
+
};
|
|
3473
|
+
});
|
|
3474
|
+
|
|
3475
|
+
const canScroll = computed(() => {
|
|
3476
|
+
const behavior = scrollBehavior.value;
|
|
3477
|
+
return behavior.hide ||
|
|
3478
|
+
// behavior.fullyHide ||
|
|
3479
|
+
behavior.inverted || behavior.collapse || behavior.elevate || behavior.fadeImage ||
|
|
3480
|
+
// behavior.shrink ||
|
|
3481
|
+
!isActive.value;
|
|
3482
|
+
});
|
|
3483
|
+
const {
|
|
3484
|
+
currentScroll,
|
|
3485
|
+
currentThreshold,
|
|
3486
|
+
computedScrollThreshold,
|
|
3487
|
+
isScrollingUp
|
|
3488
|
+
} = useScroll(props, {
|
|
3489
|
+
canScroll
|
|
3490
|
+
});
|
|
3491
|
+
const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? currentScroll.value < 1 : currentScroll.value > 0));
|
|
3492
|
+
const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && currentScroll.value === (scrollBehavior.value.inverted ? 1 : 0));
|
|
3493
|
+
const scrollRatio = computed(() => Math.min((currentThreshold.value - currentScroll.value) / currentThreshold.value || 1, 1));
|
|
3494
|
+
const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
|
|
3306
3495
|
const height = computed(() => {
|
|
3496
|
+
if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;
|
|
3307
3497
|
const height = vToolbarRef.value?.contentHeight ?? 0;
|
|
3308
3498
|
const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0;
|
|
3309
3499
|
return height + extensionHeight;
|
|
3310
3500
|
});
|
|
3501
|
+
function setActive() {
|
|
3502
|
+
const val = currentScroll.value;
|
|
3503
|
+
if (scrollBehavior.value.hide) {
|
|
3504
|
+
if (scrollBehavior.value.inverted) {
|
|
3505
|
+
isActive.value = val > computedScrollThreshold.value;
|
|
3506
|
+
} else {
|
|
3507
|
+
isActive.value = isScrollingUp.value || val < computedScrollThreshold.value;
|
|
3508
|
+
}
|
|
3509
|
+
} else if (scrollBehavior.value.inverted) {
|
|
3510
|
+
isActive.value = currentScroll.value === 0;
|
|
3511
|
+
} else {
|
|
3512
|
+
isActive.value = true;
|
|
3513
|
+
}
|
|
3514
|
+
}
|
|
3515
|
+
watch(currentScroll, setActive, {
|
|
3516
|
+
immediate: true
|
|
3517
|
+
});
|
|
3518
|
+
watch(scrollBehavior, setActive);
|
|
3311
3519
|
const {
|
|
3312
3520
|
ssrBootStyles
|
|
3313
3521
|
} = useSsrBoot();
|
|
@@ -3318,7 +3526,7 @@ const VAppBar = genericComponent()({
|
|
|
3318
3526
|
order: computed(() => parseInt(props.order, 10)),
|
|
3319
3527
|
position: toRef(props, 'location'),
|
|
3320
3528
|
layoutSize: height,
|
|
3321
|
-
elementSize:
|
|
3529
|
+
elementSize: ref(undefined),
|
|
3322
3530
|
active: isActive,
|
|
3323
3531
|
absolute: toRef(props, 'absolute')
|
|
3324
3532
|
});
|
|
@@ -3328,13 +3536,17 @@ const VAppBar = genericComponent()({
|
|
|
3328
3536
|
"ref": vToolbarRef,
|
|
3329
3537
|
"class": ['v-app-bar', {
|
|
3330
3538
|
'v-app-bar--bottom': props.location === 'bottom'
|
|
3331
|
-
}],
|
|
3332
|
-
"style": {
|
|
3539
|
+
}, props.class],
|
|
3540
|
+
"style": [{
|
|
3333
3541
|
...layoutItemStyles.value,
|
|
3542
|
+
'--v-toolbar-image-opacity': opacity.value,
|
|
3334
3543
|
height: undefined,
|
|
3335
3544
|
...ssrBootStyles.value
|
|
3336
|
-
}
|
|
3337
|
-
}, toolbarProps
|
|
3545
|
+
}, props.style]
|
|
3546
|
+
}, toolbarProps, {
|
|
3547
|
+
"collapse": isCollapsed.value,
|
|
3548
|
+
"flat": isFlat.value
|
|
3549
|
+
}), slots);
|
|
3338
3550
|
});
|
|
3339
3551
|
return {};
|
|
3340
3552
|
}
|
|
@@ -3417,6 +3629,7 @@ function useVariant(props) {
|
|
|
3417
3629
|
const makeVBtnGroupProps = propsFactory({
|
|
3418
3630
|
divided: Boolean,
|
|
3419
3631
|
...makeBorderProps(),
|
|
3632
|
+
...makeComponentProps(),
|
|
3420
3633
|
...makeDensityProps(),
|
|
3421
3634
|
...makeElevationProps(),
|
|
3422
3635
|
...makeRoundedProps(),
|
|
@@ -3459,7 +3672,8 @@ const VBtnGroup = genericComponent()({
|
|
|
3459
3672
|
return createVNode(props.tag, {
|
|
3460
3673
|
"class": ['v-btn-group', {
|
|
3461
3674
|
'v-btn-group--divided': props.divided
|
|
3462
|
-
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value]
|
|
3675
|
+
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
3676
|
+
"style": props.style
|
|
3463
3677
|
}, slots);
|
|
3464
3678
|
});
|
|
3465
3679
|
}
|
|
@@ -3692,8 +3906,10 @@ const VBtnToggle = genericComponent()({
|
|
|
3692
3906
|
useRender(() => {
|
|
3693
3907
|
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
|
3694
3908
|
return createVNode(VBtnGroup, mergeProps({
|
|
3695
|
-
"class":
|
|
3696
|
-
}, btnGroupProps
|
|
3909
|
+
"class": ['v-btn-toggle', props.class]
|
|
3910
|
+
}, btnGroupProps, {
|
|
3911
|
+
"style": props.style
|
|
3912
|
+
}), {
|
|
3697
3913
|
default: () => [slots.default?.({
|
|
3698
3914
|
isSelected,
|
|
3699
3915
|
next,
|
|
@@ -3764,7 +3980,7 @@ const mdi = {
|
|
|
3764
3980
|
|
|
3765
3981
|
// Types
|
|
3766
3982
|
|
|
3767
|
-
const IconValue = [String, Function, Object];
|
|
3983
|
+
const IconValue = [String, Function, Object, Array];
|
|
3768
3984
|
const IconSymbol = Symbol.for('vuetify:icons');
|
|
3769
3985
|
const makeIconProps = propsFactory({
|
|
3770
3986
|
icon: {
|
|
@@ -3784,8 +4000,9 @@ const VComponentIcon = genericComponent()({
|
|
|
3784
4000
|
slots
|
|
3785
4001
|
} = _ref;
|
|
3786
4002
|
return () => {
|
|
4003
|
+
const Icon = props.icon;
|
|
3787
4004
|
return createVNode(props.tag, null, {
|
|
3788
|
-
default: () => [props.icon ? createVNode(
|
|
4005
|
+
default: () => [props.icon ? createVNode(Icon, null, null) : slots.default?.()]
|
|
3789
4006
|
});
|
|
3790
4007
|
};
|
|
3791
4008
|
}
|
|
@@ -3808,7 +4025,12 @@ const VSvgIcon = defineComponent({
|
|
|
3808
4025
|
"viewBox": "0 0 24 24",
|
|
3809
4026
|
"role": "img",
|
|
3810
4027
|
"aria-hidden": "true"
|
|
3811
|
-
}, [createVNode("path", {
|
|
4028
|
+
}, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createVNode("path", {
|
|
4029
|
+
"d": path[0],
|
|
4030
|
+
"fill-opacity": path[1]
|
|
4031
|
+
}, null) : createVNode("path", {
|
|
4032
|
+
"d": path
|
|
4033
|
+
}, null)) : createVNode("path", {
|
|
3812
4034
|
"d": props.icon
|
|
3813
4035
|
}, null)])]
|
|
3814
4036
|
});
|
|
@@ -3873,7 +4095,12 @@ const useIcon = props => {
|
|
|
3873
4095
|
}
|
|
3874
4096
|
}
|
|
3875
4097
|
if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`);
|
|
3876
|
-
if (
|
|
4098
|
+
if (Array.isArray(icon)) {
|
|
4099
|
+
return {
|
|
4100
|
+
component: VSvgIcon,
|
|
4101
|
+
icon
|
|
4102
|
+
};
|
|
4103
|
+
} else if (typeof icon !== 'string') {
|
|
3877
4104
|
return {
|
|
3878
4105
|
component: VComponentIcon,
|
|
3879
4106
|
icon
|
|
@@ -3930,6 +4157,7 @@ const makeVIconProps = propsFactory({
|
|
|
3930
4157
|
start: Boolean,
|
|
3931
4158
|
end: Boolean,
|
|
3932
4159
|
icon: IconValue,
|
|
4160
|
+
...makeComponentProps(),
|
|
3933
4161
|
...makeSizeProps(),
|
|
3934
4162
|
...makeTagProps({
|
|
3935
4163
|
tag: 'i'
|
|
@@ -3972,12 +4200,12 @@ const VIcon = genericComponent()({
|
|
|
3972
4200
|
'v-icon--clickable': !!attrs.onClick,
|
|
3973
4201
|
'v-icon--start': props.start,
|
|
3974
4202
|
'v-icon--end': props.end
|
|
3975
|
-
}],
|
|
4203
|
+
}, props.class],
|
|
3976
4204
|
"style": [!sizeClasses.value ? {
|
|
3977
4205
|
fontSize: convertToUnit(props.size),
|
|
3978
4206
|
height: convertToUnit(props.size),
|
|
3979
4207
|
width: convertToUnit(props.size)
|
|
3980
|
-
} : undefined, textColorStyles.value],
|
|
4208
|
+
} : undefined, textColorStyles.value, props.style],
|
|
3981
4209
|
"role": attrs.onClick ? 'button' : undefined,
|
|
3982
4210
|
"aria-hidden": !attrs.onClick
|
|
3983
4211
|
}, {
|
|
@@ -3988,14 +4216,14 @@ const VIcon = genericComponent()({
|
|
|
3988
4216
|
});
|
|
3989
4217
|
|
|
3990
4218
|
// Utilities
|
|
3991
|
-
function useIntersectionObserver(callback) {
|
|
4219
|
+
function useIntersectionObserver(callback, options) {
|
|
3992
4220
|
const intersectionRef = ref();
|
|
3993
4221
|
const isIntersecting = ref(false);
|
|
3994
4222
|
if (SUPPORTS_INTERSECTION) {
|
|
3995
4223
|
const observer = new IntersectionObserver(entries => {
|
|
3996
4224
|
callback?.(entries, observer);
|
|
3997
4225
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
|
3998
|
-
});
|
|
4226
|
+
}, options);
|
|
3999
4227
|
onBeforeUnmount(() => {
|
|
4000
4228
|
observer.disconnect();
|
|
4001
4229
|
});
|
|
@@ -4035,6 +4263,7 @@ const VProgressCircular = genericComponent()({
|
|
|
4035
4263
|
type: [Number, String],
|
|
4036
4264
|
default: 4
|
|
4037
4265
|
},
|
|
4266
|
+
...makeComponentProps(),
|
|
4038
4267
|
...makeSizeProps(),
|
|
4039
4268
|
...makeTagProps({
|
|
4040
4269
|
tag: 'div'
|
|
@@ -4090,8 +4319,8 @@ const VProgressCircular = genericComponent()({
|
|
|
4090
4319
|
'v-progress-circular--indeterminate': !!props.indeterminate,
|
|
4091
4320
|
'v-progress-circular--visible': isIntersecting.value,
|
|
4092
4321
|
'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
|
|
4093
|
-
}, themeClasses.value, sizeClasses.value, textColorClasses.value],
|
|
4094
|
-
"style": [sizeStyles.value, textColorStyles.value],
|
|
4322
|
+
}, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
|
|
4323
|
+
"style": [sizeStyles.value, textColorStyles.value, props.style],
|
|
4095
4324
|
"role": "progressbar",
|
|
4096
4325
|
"aria-valuemin": "0",
|
|
4097
4326
|
"aria-valuemax": "100",
|
|
@@ -4510,6 +4739,7 @@ const VProgressLinear = genericComponent()({
|
|
|
4510
4739
|
stream: Boolean,
|
|
4511
4740
|
striped: Boolean,
|
|
4512
4741
|
roundedBar: Boolean,
|
|
4742
|
+
...makeComponentProps(),
|
|
4513
4743
|
...makeLocationProps({
|
|
4514
4744
|
location: 'top'
|
|
4515
4745
|
}),
|
|
@@ -4581,14 +4811,14 @@ const VProgressLinear = genericComponent()({
|
|
|
4581
4811
|
'v-progress-linear--rounded': props.rounded,
|
|
4582
4812
|
'v-progress-linear--rounded-bar': props.roundedBar,
|
|
4583
4813
|
'v-progress-linear--striped': props.striped
|
|
4584
|
-
}, roundedClasses.value, themeClasses.value],
|
|
4585
|
-
"style": {
|
|
4814
|
+
}, roundedClasses.value, themeClasses.value, props.class],
|
|
4815
|
+
"style": [{
|
|
4586
4816
|
bottom: props.location === 'bottom' ? 0 : undefined,
|
|
4587
4817
|
top: props.location === 'top' ? 0 : undefined,
|
|
4588
4818
|
height: props.active ? convertToUnit(height.value) : 0,
|
|
4589
4819
|
'--v-progress-linear-height': convertToUnit(height.value),
|
|
4590
4820
|
...locationStyles.value
|
|
4591
|
-
},
|
|
4821
|
+
}, props.style],
|
|
4592
4822
|
"role": "progressbar",
|
|
4593
4823
|
"aria-hidden": props.active ? 'false' : 'true',
|
|
4594
4824
|
"aria-valuemin": "0",
|
|
@@ -4797,8 +5027,9 @@ const makeVBtnProps = propsFactory({
|
|
|
4797
5027
|
type: Boolean,
|
|
4798
5028
|
default: true
|
|
4799
5029
|
},
|
|
5030
|
+
text: String,
|
|
4800
5031
|
...makeBorderProps(),
|
|
4801
|
-
...
|
|
5032
|
+
...makeComponentProps(),
|
|
4802
5033
|
...makeDensityProps(),
|
|
4803
5034
|
...makeDimensionProps(),
|
|
4804
5035
|
...makeElevationProps(),
|
|
@@ -4806,6 +5037,7 @@ const makeVBtnProps = propsFactory({
|
|
|
4806
5037
|
...makeLoaderProps(),
|
|
4807
5038
|
...makeLocationProps(),
|
|
4808
5039
|
...makePositionProps(),
|
|
5040
|
+
...makeRoundedProps(),
|
|
4809
5041
|
...makeRouterProps(),
|
|
4810
5042
|
...makeSizeProps(),
|
|
4811
5043
|
...makeTagProps({
|
|
@@ -4903,8 +5135,8 @@ const VBtn = genericComponent()({
|
|
|
4903
5135
|
'v-btn--icon': !!props.icon,
|
|
4904
5136
|
'v-btn--loading': props.loading,
|
|
4905
5137
|
'v-btn--stacked': props.stacked
|
|
4906
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
|
4907
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value],
|
|
5138
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
|
5139
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
|
4908
5140
|
"disabled": isDisabled.value || undefined,
|
|
4909
5141
|
"href": link.href.value,
|
|
4910
5142
|
"onClick": e => {
|
|
@@ -4942,7 +5174,9 @@ const VBtn = genericComponent()({
|
|
|
4942
5174
|
icon: props.icon
|
|
4943
5175
|
}
|
|
4944
5176
|
}
|
|
4945
|
-
},
|
|
5177
|
+
}, {
|
|
5178
|
+
default: () => [slots.default?.() ?? props.text]
|
|
5179
|
+
})]), !props.icon && hasAppend && createVNode("span", {
|
|
4946
5180
|
"key": "append",
|
|
4947
5181
|
"class": "v-btn__append"
|
|
4948
5182
|
}, [!slots.append ? createVNode(VIcon, {
|
|
@@ -4979,15 +5213,17 @@ const VAppBarNavIcon = genericComponent()({
|
|
|
4979
5213
|
icon: {
|
|
4980
5214
|
type: IconValue,
|
|
4981
5215
|
default: '$menu'
|
|
4982
|
-
}
|
|
5216
|
+
},
|
|
5217
|
+
...makeComponentProps()
|
|
4983
5218
|
},
|
|
4984
5219
|
setup(props, _ref) {
|
|
4985
5220
|
let {
|
|
4986
5221
|
slots
|
|
4987
5222
|
} = _ref;
|
|
4988
5223
|
useRender(() => createVNode(VBtn, {
|
|
4989
|
-
"class":
|
|
4990
|
-
"icon": props.icon
|
|
5224
|
+
"class": ['v-app-bar-nav-icon', props.class],
|
|
5225
|
+
"icon": props.icon,
|
|
5226
|
+
"style": props.style
|
|
4991
5227
|
}, slots));
|
|
4992
5228
|
return {};
|
|
4993
5229
|
}
|
|
@@ -4995,9 +5231,12 @@ const VAppBarNavIcon = genericComponent()({
|
|
|
4995
5231
|
|
|
4996
5232
|
const VToolbarItems = genericComponent()({
|
|
4997
5233
|
name: 'VToolbarItems',
|
|
4998
|
-
props:
|
|
4999
|
-
|
|
5000
|
-
|
|
5234
|
+
props: {
|
|
5235
|
+
...makeComponentProps(),
|
|
5236
|
+
...makeVariantProps({
|
|
5237
|
+
variant: 'text'
|
|
5238
|
+
})
|
|
5239
|
+
},
|
|
5001
5240
|
setup(props, _ref) {
|
|
5002
5241
|
let {
|
|
5003
5242
|
slots
|
|
@@ -5010,7 +5249,8 @@ const VToolbarItems = genericComponent()({
|
|
|
5010
5249
|
}
|
|
5011
5250
|
});
|
|
5012
5251
|
useRender(() => createVNode("div", {
|
|
5013
|
-
"class":
|
|
5252
|
+
"class": ['v-toolbar-items', props.class],
|
|
5253
|
+
"style": props.style
|
|
5014
5254
|
}, [slots.default?.()]));
|
|
5015
5255
|
return {};
|
|
5016
5256
|
}
|
|
@@ -5072,6 +5312,7 @@ const VAlert = genericComponent()({
|
|
|
5072
5312
|
type: String,
|
|
5073
5313
|
validator: val => allowedTypes.includes(val)
|
|
5074
5314
|
},
|
|
5315
|
+
...makeComponentProps(),
|
|
5075
5316
|
...makeDensityProps(),
|
|
5076
5317
|
...makeDimensionProps(),
|
|
5077
5318
|
...makeElevationProps(),
|
|
@@ -5154,8 +5395,8 @@ const VAlert = genericComponent()({
|
|
|
5154
5395
|
[`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
|
|
5155
5396
|
}, {
|
|
5156
5397
|
'v-alert--prominent': props.prominent
|
|
5157
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
|
5158
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
|
5398
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
|
5399
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
|
5159
5400
|
"role": "alert"
|
|
5160
5401
|
}, {
|
|
5161
5402
|
default: () => [genOverlays(false, 'v-alert'), props.border && createVNode("div", {
|
|
@@ -5249,6 +5490,7 @@ const VLabel = genericComponent()({
|
|
|
5249
5490
|
props: {
|
|
5250
5491
|
text: String,
|
|
5251
5492
|
clickable: Boolean,
|
|
5493
|
+
...makeComponentProps(),
|
|
5252
5494
|
...makeThemeProps()
|
|
5253
5495
|
},
|
|
5254
5496
|
setup(props, _ref) {
|
|
@@ -5258,7 +5500,8 @@ const VLabel = genericComponent()({
|
|
|
5258
5500
|
useRender(() => createVNode("label", {
|
|
5259
5501
|
"class": ['v-label', {
|
|
5260
5502
|
'v-label--clickable': props.clickable
|
|
5261
|
-
}]
|
|
5503
|
+
}, props.class],
|
|
5504
|
+
"style": props.style
|
|
5262
5505
|
}, [props.text, slots.default?.()]));
|
|
5263
5506
|
return {};
|
|
5264
5507
|
}
|
|
@@ -5267,7 +5510,8 @@ const VLabel = genericComponent()({
|
|
|
5267
5510
|
const VFieldLabel = genericComponent()({
|
|
5268
5511
|
name: 'VFieldLabel',
|
|
5269
5512
|
props: {
|
|
5270
|
-
floating: Boolean
|
|
5513
|
+
floating: Boolean,
|
|
5514
|
+
...makeComponentProps()
|
|
5271
5515
|
},
|
|
5272
5516
|
setup(props, _ref) {
|
|
5273
5517
|
let {
|
|
@@ -5276,7 +5520,8 @@ const VFieldLabel = genericComponent()({
|
|
|
5276
5520
|
useRender(() => createVNode(VLabel, {
|
|
5277
5521
|
"class": ['v-field-label', {
|
|
5278
5522
|
'v-field-label--floating': props.floating
|
|
5279
|
-
}],
|
|
5523
|
+
}, props.class],
|
|
5524
|
+
"style": props.style,
|
|
5280
5525
|
"aria-hidden": props.floating || undefined
|
|
5281
5526
|
}, slots));
|
|
5282
5527
|
return {};
|
|
@@ -5316,7 +5561,7 @@ function useFocus(props) {
|
|
|
5316
5561
|
|
|
5317
5562
|
// Types
|
|
5318
5563
|
|
|
5319
|
-
const allowedVariants$1 = ['underlined', 'outlined', 'filled', 'solo', 'plain'];
|
|
5564
|
+
const allowedVariants$1 = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'];
|
|
5320
5565
|
const makeVFieldProps = propsFactory({
|
|
5321
5566
|
appendInnerIcon: IconValue,
|
|
5322
5567
|
bgColor: String,
|
|
@@ -5327,9 +5572,11 @@ const makeVFieldProps = propsFactory({
|
|
|
5327
5572
|
},
|
|
5328
5573
|
active: Boolean,
|
|
5329
5574
|
color: String,
|
|
5575
|
+
baseColor: String,
|
|
5330
5576
|
dirty: Boolean,
|
|
5331
5577
|
disabled: Boolean,
|
|
5332
5578
|
error: Boolean,
|
|
5579
|
+
flat: Boolean,
|
|
5333
5580
|
label: String,
|
|
5334
5581
|
persistentClear: Boolean,
|
|
5335
5582
|
prependInnerIcon: IconValue,
|
|
@@ -5343,8 +5590,10 @@ const makeVFieldProps = propsFactory({
|
|
|
5343
5590
|
'onClick:clear': EventProp(),
|
|
5344
5591
|
'onClick:appendInner': EventProp(),
|
|
5345
5592
|
'onClick:prependInner': EventProp(),
|
|
5346
|
-
...
|
|
5347
|
-
...makeLoaderProps()
|
|
5593
|
+
...makeComponentProps(),
|
|
5594
|
+
...makeLoaderProps(),
|
|
5595
|
+
...makeRoundedProps(),
|
|
5596
|
+
...makeThemeProps()
|
|
5348
5597
|
}, 'v-field');
|
|
5349
5598
|
const VField = genericComponent()({
|
|
5350
5599
|
name: 'VField',
|
|
@@ -5379,6 +5628,9 @@ const VField = genericComponent()({
|
|
|
5379
5628
|
const {
|
|
5380
5629
|
InputIcon
|
|
5381
5630
|
} = useInputIcon(props);
|
|
5631
|
+
const {
|
|
5632
|
+
roundedClasses
|
|
5633
|
+
} = useRounded(props);
|
|
5382
5634
|
const isActive = computed(() => props.dirty || props.active);
|
|
5383
5635
|
const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label));
|
|
5384
5636
|
const uid = getUid();
|
|
@@ -5395,7 +5647,7 @@ const VField = genericComponent()({
|
|
|
5395
5647
|
textColorClasses,
|
|
5396
5648
|
textColorStyles
|
|
5397
5649
|
} = useTextColor(computed(() => {
|
|
5398
|
-
return
|
|
5650
|
+
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
|
5399
5651
|
}));
|
|
5400
5652
|
watch(isActive, val => {
|
|
5401
5653
|
if (hasLabel.value) {
|
|
@@ -5464,6 +5716,7 @@ const VField = genericComponent()({
|
|
|
5464
5716
|
'v-field--disabled': props.disabled,
|
|
5465
5717
|
'v-field--dirty': props.dirty,
|
|
5466
5718
|
'v-field--error': props.error,
|
|
5719
|
+
'v-field--flat': props.flat,
|
|
5467
5720
|
'v-field--has-background': !!props.bgColor,
|
|
5468
5721
|
'v-field--persistent-clear': props.persistentClear,
|
|
5469
5722
|
'v-field--prepended': hasPrepend,
|
|
@@ -5471,8 +5724,8 @@ const VField = genericComponent()({
|
|
|
5471
5724
|
'v-field--single-line': props.singleLine,
|
|
5472
5725
|
'v-field--no-label': !label,
|
|
5473
5726
|
[`v-field--variant-${props.variant}`]: true
|
|
5474
|
-
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value],
|
|
5475
|
-
"style": [backgroundColorStyles.value, textColorStyles.value],
|
|
5727
|
+
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, props.class],
|
|
5728
|
+
"style": [backgroundColorStyles.value, textColorStyles.value, props.style],
|
|
5476
5729
|
"onClick": onClick
|
|
5477
5730
|
}, attrs), [createVNode("div", {
|
|
5478
5731
|
"class": "v-field__overlay"
|
|
@@ -5491,7 +5744,7 @@ const VField = genericComponent()({
|
|
|
5491
5744
|
}, null), slots['prepend-inner']?.(slotProps.value)]), createVNode("div", {
|
|
5492
5745
|
"class": "v-field__field",
|
|
5493
5746
|
"data-no-activator": ""
|
|
5494
|
-
}, [['solo', 'filled'].includes(props.variant) && hasLabel.value && createVNode(VFieldLabel, {
|
|
5747
|
+
}, [['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasLabel.value && createVNode(VFieldLabel, {
|
|
5495
5748
|
"key": "floating-label",
|
|
5496
5749
|
"ref": floatingLabelRef,
|
|
5497
5750
|
"class": [textColorClasses.value],
|
|
@@ -5560,7 +5813,7 @@ const VField = genericComponent()({
|
|
|
5560
5813
|
});
|
|
5561
5814
|
// TODO: this is kinda slow, might be better to implicitly inherit props instead
|
|
5562
5815
|
function filterFieldProps(attrs) {
|
|
5563
|
-
const keys = Object.keys(VField.props).filter(k => !isOn(k));
|
|
5816
|
+
const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');
|
|
5564
5817
|
return pick(attrs, keys);
|
|
5565
5818
|
}
|
|
5566
5819
|
|
|
@@ -5575,6 +5828,7 @@ const VMessages = genericComponent()({
|
|
|
5575
5828
|
type: [Array, String],
|
|
5576
5829
|
default: () => []
|
|
5577
5830
|
},
|
|
5831
|
+
...makeComponentProps(),
|
|
5578
5832
|
...makeTransitionProps({
|
|
5579
5833
|
transition: {
|
|
5580
5834
|
component: VSlideYTransition,
|
|
@@ -5595,8 +5849,8 @@ const VMessages = genericComponent()({
|
|
|
5595
5849
|
useRender(() => createVNode(MaybeTransition, {
|
|
5596
5850
|
"transition": props.transition,
|
|
5597
5851
|
"tag": "div",
|
|
5598
|
-
"class": ['v-messages', textColorClasses.value],
|
|
5599
|
-
"style": textColorStyles.value,
|
|
5852
|
+
"class": ['v-messages', textColorClasses.value, props.class],
|
|
5853
|
+
"style": [textColorStyles.value, props.style],
|
|
5600
5854
|
"role": "alert",
|
|
5601
5855
|
"aria-live": "polite"
|
|
5602
5856
|
}, {
|
|
@@ -5892,6 +6146,7 @@ const makeVInputProps = propsFactory({
|
|
|
5892
6146
|
},
|
|
5893
6147
|
'onClick:prepend': EventProp(),
|
|
5894
6148
|
'onClick:append': EventProp(),
|
|
6149
|
+
...makeComponentProps(),
|
|
5895
6150
|
...makeDensityProps(),
|
|
5896
6151
|
...makeValidationProps()
|
|
5897
6152
|
}, 'v-input');
|
|
@@ -5959,7 +6214,8 @@ const VInput = genericComponent()({
|
|
|
5959
6214
|
const hasMessages = messages.value.length > 0;
|
|
5960
6215
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
|
5961
6216
|
return createVNode("div", {
|
|
5962
|
-
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
|
|
6217
|
+
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value, props.class],
|
|
6218
|
+
"style": props.style
|
|
5963
6219
|
}, [hasPrepend && createVNode("div", {
|
|
5964
6220
|
"key": "prepend",
|
|
5965
6221
|
"class": "v-input__prepend"
|
|
@@ -6002,6 +6258,7 @@ const VCounter = genericComponent()({
|
|
|
6002
6258
|
type: [Number, String],
|
|
6003
6259
|
default: 0
|
|
6004
6260
|
},
|
|
6261
|
+
...makeComponentProps(),
|
|
6005
6262
|
...makeTransitionProps({
|
|
6006
6263
|
transition: {
|
|
6007
6264
|
component: VSlideYTransition
|
|
@@ -6019,7 +6276,8 @@ const VCounter = genericComponent()({
|
|
|
6019
6276
|
"transition": props.transition
|
|
6020
6277
|
}, {
|
|
6021
6278
|
default: () => [withDirectives(createVNode("div", {
|
|
6022
|
-
"class":
|
|
6279
|
+
"class": ['v-counter', props.class],
|
|
6280
|
+
"style": props.style
|
|
6023
6281
|
}, [slots.default ? slots.default({
|
|
6024
6282
|
counter: counter.value,
|
|
6025
6283
|
max: props.max,
|
|
@@ -6222,7 +6480,8 @@ const VTextField = genericComponent()({
|
|
|
6222
6480
|
'v-text-field--prefixed': props.prefix,
|
|
6223
6481
|
'v-text-field--suffixed': props.suffix,
|
|
6224
6482
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
|
6225
|
-
}]
|
|
6483
|
+
}, props.class],
|
|
6484
|
+
"style": props.style
|
|
6226
6485
|
}, rootAttrs, inputProps, {
|
|
6227
6486
|
"focused": isFocused.value
|
|
6228
6487
|
}), {
|
|
@@ -6338,6 +6597,7 @@ const VSelectionControlGroup = genericComponent()({
|
|
|
6338
6597
|
type: String,
|
|
6339
6598
|
default: 'VSelectionControl'
|
|
6340
6599
|
},
|
|
6600
|
+
...makeComponentProps(),
|
|
6341
6601
|
...makeSelectionControlGroupProps()
|
|
6342
6602
|
},
|
|
6343
6603
|
emits: {
|
|
@@ -6385,7 +6645,8 @@ const VSelectionControlGroup = genericComponent()({
|
|
|
6385
6645
|
useRender(() => createVNode("div", {
|
|
6386
6646
|
"class": ['v-selection-control-group', {
|
|
6387
6647
|
'v-selection-control-group--inline': props.inline
|
|
6388
|
-
}],
|
|
6648
|
+
}, props.class],
|
|
6649
|
+
"style": props.style,
|
|
6389
6650
|
"role": props.type === 'radio' ? 'radiogroup' : undefined
|
|
6390
6651
|
}, [slots.default?.()]));
|
|
6391
6652
|
return {};
|
|
@@ -6399,6 +6660,7 @@ const makeSelectionControlProps = propsFactory({
|
|
|
6399
6660
|
trueValue: null,
|
|
6400
6661
|
falseValue: null,
|
|
6401
6662
|
value: null,
|
|
6663
|
+
...makeComponentProps(),
|
|
6402
6664
|
...makeSelectionControlGroupProps()
|
|
6403
6665
|
}, 'v-selection-control');
|
|
6404
6666
|
function useSelectionControl(props) {
|
|
@@ -6513,8 +6775,10 @@ const VSelectionControl = genericComponent()({
|
|
|
6513
6775
|
'v-selection-control--focused': isFocused.value,
|
|
6514
6776
|
'v-selection-control--focus-visible': isFocusVisible.value,
|
|
6515
6777
|
'v-selection-control--inline': props.inline
|
|
6516
|
-
}, densityClasses.value]
|
|
6517
|
-
}, rootAttrs
|
|
6778
|
+
}, densityClasses.value, props.class]
|
|
6779
|
+
}, rootAttrs, {
|
|
6780
|
+
"style": props.style
|
|
6781
|
+
}), [createVNode("div", {
|
|
6518
6782
|
"class": ['v-selection-control__wrapper', textColorClasses.value],
|
|
6519
6783
|
"style": textColorStyles.value
|
|
6520
6784
|
}, [slots.default?.(), withDirectives(createVNode("div", {
|
|
@@ -6596,7 +6860,8 @@ const VCheckboxBtn = genericComponent()({
|
|
|
6596
6860
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
|
6597
6861
|
"modelValue": model.value,
|
|
6598
6862
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
|
6599
|
-
"class":
|
|
6863
|
+
"class": ['v-checkbox-btn', props.class],
|
|
6864
|
+
"style": props.style,
|
|
6600
6865
|
"type": "checkbox",
|
|
6601
6866
|
"inline": true,
|
|
6602
6867
|
"falseIcon": falseIcon.value,
|
|
@@ -6636,10 +6901,11 @@ const VCheckbox = genericComponent()({
|
|
|
6636
6901
|
const [inputProps, _1] = VInput.filterProps(props);
|
|
6637
6902
|
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
|
6638
6903
|
return createVNode(VInput, mergeProps({
|
|
6639
|
-
"class":
|
|
6904
|
+
"class": ['v-checkbox', props.class]
|
|
6640
6905
|
}, inputAttrs, inputProps, {
|
|
6641
6906
|
"id": id.value,
|
|
6642
|
-
"focused": isFocused.value
|
|
6907
|
+
"focused": isFocused.value,
|
|
6908
|
+
"style": props.style
|
|
6643
6909
|
}), {
|
|
6644
6910
|
...slots,
|
|
6645
6911
|
default: _ref2 => {
|
|
@@ -6670,6 +6936,7 @@ const makeVAvatarProps = propsFactory({
|
|
|
6670
6936
|
end: Boolean,
|
|
6671
6937
|
icon: IconValue,
|
|
6672
6938
|
image: String,
|
|
6939
|
+
...makeComponentProps(),
|
|
6673
6940
|
...makeDensityProps(),
|
|
6674
6941
|
...makeRoundedProps(),
|
|
6675
6942
|
...makeSizeProps(),
|
|
@@ -6708,8 +6975,8 @@ const VAvatar = genericComponent()({
|
|
|
6708
6975
|
"class": ['v-avatar', {
|
|
6709
6976
|
'v-avatar--start': props.start,
|
|
6710
6977
|
'v-avatar--end': props.end
|
|
6711
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
|
6712
|
-
"style": [colorStyles.value, sizeStyles.value]
|
|
6978
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
|
6979
|
+
"style": [colorStyles.value, sizeStyles.value, props.style]
|
|
6713
6980
|
}, {
|
|
6714
6981
|
default: () => [props.image ? createVNode(VImg, {
|
|
6715
6982
|
"key": "image",
|
|
@@ -6737,6 +7004,7 @@ const VChipGroup = genericComponent()({
|
|
|
6737
7004
|
type: Function,
|
|
6738
7005
|
default: deepEqual
|
|
6739
7006
|
},
|
|
7007
|
+
...makeComponentProps(),
|
|
6740
7008
|
...makeGroupProps({
|
|
6741
7009
|
selectedClass: 'v-chip--selected'
|
|
6742
7010
|
}),
|
|
@@ -6774,7 +7042,8 @@ const VChipGroup = genericComponent()({
|
|
|
6774
7042
|
useRender(() => createVNode(props.tag, {
|
|
6775
7043
|
"class": ['v-chip-group', {
|
|
6776
7044
|
'v-chip-group--column': props.column
|
|
6777
|
-
}, themeClasses.value]
|
|
7045
|
+
}, themeClasses.value, props.class],
|
|
7046
|
+
"style": props.style
|
|
6778
7047
|
}, {
|
|
6779
7048
|
default: () => [slots.default?.({
|
|
6780
7049
|
isSelected,
|
|
@@ -6788,8 +7057,6 @@ const VChipGroup = genericComponent()({
|
|
|
6788
7057
|
}
|
|
6789
7058
|
});
|
|
6790
7059
|
|
|
6791
|
-
// Types
|
|
6792
|
-
|
|
6793
7060
|
const VChip = genericComponent()({
|
|
6794
7061
|
name: 'VChip',
|
|
6795
7062
|
directives: {
|
|
@@ -6834,6 +7101,7 @@ const VChip = genericComponent()({
|
|
|
6834
7101
|
onClick: EventProp(),
|
|
6835
7102
|
onClickOnce: EventProp(),
|
|
6836
7103
|
...makeBorderProps(),
|
|
7104
|
+
...makeComponentProps(),
|
|
6837
7105
|
...makeDensityProps(),
|
|
6838
7106
|
...makeElevationProps(),
|
|
6839
7107
|
...makeGroupItemProps(),
|
|
@@ -6926,8 +7194,8 @@ const VChip = genericComponent()({
|
|
|
6926
7194
|
'v-chip--link': isClickable.value,
|
|
6927
7195
|
'v-chip--filter': hasFilter,
|
|
6928
7196
|
'v-chip--pill': props.pill
|
|
6929
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value],
|
|
6930
|
-
"style": [hasColor ? colorStyles.value : undefined],
|
|
7197
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
|
|
7198
|
+
"style": [hasColor ? colorStyles.value : undefined, props.style],
|
|
6931
7199
|
"disabled": props.disabled || undefined,
|
|
6932
7200
|
"draggable": props.draggable,
|
|
6933
7201
|
"href": link.href.value,
|
|
@@ -7036,6 +7304,7 @@ const VDivider = genericComponent()({
|
|
|
7036
7304
|
length: [Number, String],
|
|
7037
7305
|
thickness: [Number, String],
|
|
7038
7306
|
vertical: Boolean,
|
|
7307
|
+
...makeComponentProps(),
|
|
7039
7308
|
...makeThemeProps()
|
|
7040
7309
|
},
|
|
7041
7310
|
setup(props, _ref) {
|
|
@@ -7064,8 +7333,8 @@ const VDivider = genericComponent()({
|
|
|
7064
7333
|
'v-divider': true,
|
|
7065
7334
|
'v-divider--inset': props.inset,
|
|
7066
7335
|
'v-divider--vertical': props.vertical
|
|
7067
|
-
}, themeClasses.value, textColorClasses.value],
|
|
7068
|
-
"style": [dividerStyles.value, textColorStyles.value],
|
|
7336
|
+
}, themeClasses.value, textColorClasses.value, props.class],
|
|
7337
|
+
"style": [dividerStyles.value, textColorStyles.value, props.style],
|
|
7069
7338
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
|
7070
7339
|
"role": `${attrs.role || 'separator'}`
|
|
7071
7340
|
}, null));
|
|
@@ -7564,6 +7833,7 @@ const makeVListGroupProps = propsFactory({
|
|
|
7564
7833
|
fluid: Boolean,
|
|
7565
7834
|
subgroup: Boolean,
|
|
7566
7835
|
value: null,
|
|
7836
|
+
...makeComponentProps(),
|
|
7567
7837
|
...makeTagProps()
|
|
7568
7838
|
}, 'v-list-group');
|
|
7569
7839
|
const VListGroup = genericComponent()({
|
|
@@ -7612,7 +7882,8 @@ const VListGroup = genericComponent()({
|
|
|
7612
7882
|
'v-list-group--fluid': props.fluid,
|
|
7613
7883
|
'v-list-group--subgroup': props.subgroup,
|
|
7614
7884
|
'v-list-group--open': isOpen.value
|
|
7615
|
-
}]
|
|
7885
|
+
}, props.class],
|
|
7886
|
+
"style": props.style
|
|
7616
7887
|
}, {
|
|
7617
7888
|
default: () => [slots.activator && createVNode(VDefaultsProvider, {
|
|
7618
7889
|
"defaults": activatorDefaults.value
|
|
@@ -7679,6 +7950,7 @@ const VListItem = genericComponent()({
|
|
|
7679
7950
|
onClick: EventProp(),
|
|
7680
7951
|
onClickOnce: EventProp(),
|
|
7681
7952
|
...makeBorderProps(),
|
|
7953
|
+
...makeComponentProps(),
|
|
7682
7954
|
...makeDensityProps(),
|
|
7683
7955
|
...makeDimensionProps(),
|
|
7684
7956
|
...makeElevationProps(),
|
|
@@ -7789,8 +8061,8 @@ const VListItem = genericComponent()({
|
|
|
7789
8061
|
'v-list-item--nav': props.nav,
|
|
7790
8062
|
'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,
|
|
7791
8063
|
[`${props.activeClass}`]: props.activeClass && isActive.value
|
|
7792
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value],
|
|
7793
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value],
|
|
8064
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
|
8065
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, props.style],
|
|
7794
8066
|
"href": link.href.value,
|
|
7795
8067
|
"tabindex": isClickable.value ? 0 : undefined,
|
|
7796
8068
|
"onClick": onClick,
|
|
@@ -7883,6 +8155,7 @@ const VListSubheader = genericComponent()({
|
|
|
7883
8155
|
inset: Boolean,
|
|
7884
8156
|
sticky: Boolean,
|
|
7885
8157
|
title: String,
|
|
8158
|
+
...makeComponentProps(),
|
|
7886
8159
|
...makeTagProps()
|
|
7887
8160
|
},
|
|
7888
8161
|
setup(props, _ref) {
|
|
@@ -7899,10 +8172,10 @@ const VListSubheader = genericComponent()({
|
|
|
7899
8172
|
"class": ['v-list-subheader', {
|
|
7900
8173
|
'v-list-subheader--inset': props.inset,
|
|
7901
8174
|
'v-list-subheader--sticky': props.sticky
|
|
7902
|
-
}, textColorClasses.value],
|
|
7903
|
-
"style": {
|
|
8175
|
+
}, textColorClasses.value, props.class],
|
|
8176
|
+
"style": [{
|
|
7904
8177
|
textColorStyles
|
|
7905
|
-
}
|
|
8178
|
+
}, props.style]
|
|
7906
8179
|
}, {
|
|
7907
8180
|
default: () => [hasText && createVNode("div", {
|
|
7908
8181
|
"class": "v-list-subheader__text"
|
|
@@ -8122,6 +8395,7 @@ const VList = genericComponent()({
|
|
|
8122
8395
|
openStrategy: 'list'
|
|
8123
8396
|
}),
|
|
8124
8397
|
...makeBorderProps(),
|
|
8398
|
+
...makeComponentProps(),
|
|
8125
8399
|
...makeDensityProps(),
|
|
8126
8400
|
...makeDimensionProps(),
|
|
8127
8401
|
...makeElevationProps(),
|
|
@@ -8223,27 +8497,8 @@ const VList = genericComponent()({
|
|
|
8223
8497
|
e.preventDefault();
|
|
8224
8498
|
}
|
|
8225
8499
|
function focus(location) {
|
|
8226
|
-
if (
|
|
8227
|
-
|
|
8228
|
-
const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
|
|
8229
|
-
const idx = focusable.indexOf(document.activeElement);
|
|
8230
|
-
if (!location) {
|
|
8231
|
-
if (!contentRef.value.contains(document.activeElement)) {
|
|
8232
|
-
focusable[0]?.focus();
|
|
8233
|
-
}
|
|
8234
|
-
} else if (location === 'first') {
|
|
8235
|
-
focusable[0]?.focus();
|
|
8236
|
-
} else if (location === 'last') {
|
|
8237
|
-
focusable.at(-1)?.focus();
|
|
8238
|
-
} else {
|
|
8239
|
-
let el;
|
|
8240
|
-
let idxx = idx;
|
|
8241
|
-
const inc = location === 'next' ? 1 : -1;
|
|
8242
|
-
do {
|
|
8243
|
-
idxx += inc;
|
|
8244
|
-
el = focusable[idxx];
|
|
8245
|
-
} while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
|
8246
|
-
if (el) el.focus();else focus(location === 'next' ? 'first' : 'last');
|
|
8500
|
+
if (contentRef.value) {
|
|
8501
|
+
return focusChild(contentRef.value, location);
|
|
8247
8502
|
}
|
|
8248
8503
|
}
|
|
8249
8504
|
useRender(() => {
|
|
@@ -8252,8 +8507,8 @@ const VList = genericComponent()({
|
|
|
8252
8507
|
"class": ['v-list', {
|
|
8253
8508
|
'v-list--disabled': props.disabled,
|
|
8254
8509
|
'v-list--nav': props.nav
|
|
8255
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value],
|
|
8256
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value],
|
|
8510
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
|
|
8511
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
|
8257
8512
|
"role": "listbox",
|
|
8258
8513
|
"aria-activedescendant": undefined,
|
|
8259
8514
|
"onFocusin": onFocusin,
|
|
@@ -8281,6 +8536,7 @@ const VListItemAction = genericComponent()({
|
|
|
8281
8536
|
props: {
|
|
8282
8537
|
start: Boolean,
|
|
8283
8538
|
end: Boolean,
|
|
8539
|
+
...makeComponentProps(),
|
|
8284
8540
|
...makeTagProps()
|
|
8285
8541
|
},
|
|
8286
8542
|
setup(props, _ref) {
|
|
@@ -8291,7 +8547,8 @@ const VListItemAction = genericComponent()({
|
|
|
8291
8547
|
"class": ['v-list-item-action', {
|
|
8292
8548
|
'v-list-item-action--start': props.start,
|
|
8293
8549
|
'v-list-item-action--end': props.end
|
|
8294
|
-
}]
|
|
8550
|
+
}, props.class],
|
|
8551
|
+
"style": props.style
|
|
8295
8552
|
}, slots));
|
|
8296
8553
|
return {};
|
|
8297
8554
|
}
|
|
@@ -8302,6 +8559,7 @@ const VListItemMedia = genericComponent()({
|
|
|
8302
8559
|
props: {
|
|
8303
8560
|
start: Boolean,
|
|
8304
8561
|
end: Boolean,
|
|
8562
|
+
...makeComponentProps(),
|
|
8305
8563
|
...makeTagProps()
|
|
8306
8564
|
},
|
|
8307
8565
|
setup(props, _ref) {
|
|
@@ -8313,7 +8571,8 @@ const VListItemMedia = genericComponent()({
|
|
|
8313
8571
|
"class": ['v-list-item-media', {
|
|
8314
8572
|
'v-list-item-media--start': props.start,
|
|
8315
8573
|
'v-list-item-media--end': props.end
|
|
8316
|
-
}]
|
|
8574
|
+
}, props.class],
|
|
8575
|
+
"style": props.style
|
|
8317
8576
|
}, slots);
|
|
8318
8577
|
});
|
|
8319
8578
|
return {};
|
|
@@ -9554,6 +9813,7 @@ const makeVOverlayProps = propsFactory({
|
|
|
9554
9813
|
default: 2000
|
|
9555
9814
|
},
|
|
9556
9815
|
...makeActivatorProps(),
|
|
9816
|
+
...makeComponentProps(),
|
|
9557
9817
|
...makeDimensionProps(),
|
|
9558
9818
|
...makeLazyProps(),
|
|
9559
9819
|
...makeLocationStrategyProps(),
|
|
@@ -9721,10 +9981,10 @@ const VOverlay = genericComponent()({
|
|
|
9721
9981
|
'v-overlay--absolute': props.absolute || props.contained,
|
|
9722
9982
|
'v-overlay--active': isActive.value,
|
|
9723
9983
|
'v-overlay--contained': props.contained
|
|
9724
|
-
}, themeClasses.value, rtlClasses.value],
|
|
9984
|
+
}, themeClasses.value, rtlClasses.value, props.class],
|
|
9725
9985
|
"style": [stackStyles.value, {
|
|
9726
9986
|
top: convertToUnit(top.value)
|
|
9727
|
-
}],
|
|
9987
|
+
}, props.style],
|
|
9728
9988
|
"ref": root
|
|
9729
9989
|
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
|
|
9730
9990
|
"color": scrimColor,
|
|
@@ -9830,7 +10090,8 @@ const VMenu = genericComponent()({
|
|
|
9830
10090
|
const [overlayProps] = VOverlay.filterProps(props);
|
|
9831
10091
|
return createVNode(VOverlay, mergeProps({
|
|
9832
10092
|
"ref": overlay,
|
|
9833
|
-
"class": ['v-menu']
|
|
10093
|
+
"class": ['v-menu', props.class],
|
|
10094
|
+
"style": props.style
|
|
9834
10095
|
}, overlayProps, {
|
|
9835
10096
|
"modelValue": isActive.value,
|
|
9836
10097
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
@@ -10049,7 +10310,8 @@ const VSelect = genericComponent()({
|
|
|
10049
10310
|
'v-select--chips': !!props.chips,
|
|
10050
10311
|
[`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,
|
|
10051
10312
|
'v-select--selected': model.value.length
|
|
10052
|
-
}],
|
|
10313
|
+
}, props.class],
|
|
10314
|
+
"style": props.style,
|
|
10053
10315
|
"appendInnerIcon": props.menuIcon,
|
|
10054
10316
|
"readonly": true,
|
|
10055
10317
|
"placeholder": placeholder,
|
|
@@ -10492,7 +10754,8 @@ const VAutocomplete = genericComponent()({
|
|
|
10492
10754
|
'v-autocomplete--selecting-index': selectionIndex.value > -1,
|
|
10493
10755
|
[`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
|
|
10494
10756
|
'v-autocomplete--selection-slot': !!slots.selection
|
|
10495
|
-
}],
|
|
10757
|
+
}, props.class],
|
|
10758
|
+
"style": props.style,
|
|
10496
10759
|
"appendInnerIcon": props.menuIcon,
|
|
10497
10760
|
"readonly": props.readonly,
|
|
10498
10761
|
"placeholder": isDirty ? undefined : props.placeholder,
|
|
@@ -10606,8 +10869,6 @@ const VAutocomplete = genericComponent()({
|
|
|
10606
10869
|
}
|
|
10607
10870
|
});
|
|
10608
10871
|
|
|
10609
|
-
// Types
|
|
10610
|
-
|
|
10611
10872
|
const VBadge = genericComponent()({
|
|
10612
10873
|
name: 'VBadge',
|
|
10613
10874
|
inheritAttrs: false,
|
|
@@ -10631,6 +10892,7 @@ const VBadge = genericComponent()({
|
|
|
10631
10892
|
offsetX: [Number, String],
|
|
10632
10893
|
offsetY: [Number, String],
|
|
10633
10894
|
textColor: String,
|
|
10895
|
+
...makeComponentProps(),
|
|
10634
10896
|
...makeLocationProps({
|
|
10635
10897
|
location: 'top end'
|
|
10636
10898
|
}),
|
|
@@ -10675,8 +10937,10 @@ const VBadge = genericComponent()({
|
|
|
10675
10937
|
'v-badge--dot': props.dot,
|
|
10676
10938
|
'v-badge--floating': props.floating,
|
|
10677
10939
|
'v-badge--inline': props.inline
|
|
10678
|
-
}]
|
|
10679
|
-
}, attrs
|
|
10940
|
+
}, props.class]
|
|
10941
|
+
}, attrs, {
|
|
10942
|
+
"style": props.style
|
|
10943
|
+
}), {
|
|
10680
10944
|
default: () => [createVNode("div", {
|
|
10681
10945
|
"class": "v-badge__wrapper"
|
|
10682
10946
|
}, [ctx.slots.default?.(), createVNode(MaybeTransition, {
|
|
@@ -10703,7 +10967,8 @@ const VBannerActions = genericComponent()({
|
|
|
10703
10967
|
name: 'VBannerActions',
|
|
10704
10968
|
props: {
|
|
10705
10969
|
color: String,
|
|
10706
|
-
density: String
|
|
10970
|
+
density: String,
|
|
10971
|
+
...makeComponentProps()
|
|
10707
10972
|
},
|
|
10708
10973
|
setup(props, _ref) {
|
|
10709
10974
|
let {
|
|
@@ -10717,7 +10982,8 @@ const VBannerActions = genericComponent()({
|
|
|
10717
10982
|
}
|
|
10718
10983
|
});
|
|
10719
10984
|
useRender(() => createVNode("div", {
|
|
10720
|
-
"class":
|
|
10985
|
+
"class": ['v-banner-actions', props.class],
|
|
10986
|
+
"style": props.style
|
|
10721
10987
|
}, [slots.default?.()]));
|
|
10722
10988
|
return {};
|
|
10723
10989
|
}
|
|
@@ -10738,6 +11004,7 @@ const VBanner = genericComponent()({
|
|
|
10738
11004
|
sticky: Boolean,
|
|
10739
11005
|
text: String,
|
|
10740
11006
|
...makeBorderProps(),
|
|
11007
|
+
...makeComponentProps(),
|
|
10741
11008
|
...makeDensityProps(),
|
|
10742
11009
|
...makeDimensionProps(),
|
|
10743
11010
|
...makeElevationProps(),
|
|
@@ -10795,8 +11062,8 @@ const VBanner = genericComponent()({
|
|
|
10795
11062
|
'v-banner--stacked': props.stacked || mobile.value,
|
|
10796
11063
|
'v-banner--sticky': props.sticky,
|
|
10797
11064
|
[`v-banner--${props.lines}-line`]: !!props.lines
|
|
10798
|
-
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value],
|
|
10799
|
-
"style": [dimensionStyles.value, locationStyles.value],
|
|
11065
|
+
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
|
11066
|
+
"style": [dimensionStyles.value, locationStyles.value, props.style],
|
|
10800
11067
|
"role": "banner"
|
|
10801
11068
|
}, {
|
|
10802
11069
|
default: () => [hasPrepend && createVNode("div", {
|
|
@@ -10852,6 +11119,7 @@ const VBottomNavigation = genericComponent()({
|
|
|
10852
11119
|
default: true
|
|
10853
11120
|
},
|
|
10854
11121
|
...makeBorderProps(),
|
|
11122
|
+
...makeComponentProps(),
|
|
10855
11123
|
...makeDensityProps(),
|
|
10856
11124
|
...makeElevationProps(),
|
|
10857
11125
|
...makeRoundedProps(),
|
|
@@ -10926,11 +11194,11 @@ const VBottomNavigation = genericComponent()({
|
|
|
10926
11194
|
'v-bottom-navigation--active': isActive.value,
|
|
10927
11195
|
'v-bottom-navigation--grow': props.grow,
|
|
10928
11196
|
'v-bottom-navigation--shift': props.mode === 'shift'
|
|
10929
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value],
|
|
11197
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
10930
11198
|
"style": [backgroundColorStyles.value, layoutItemStyles.value, {
|
|
10931
11199
|
height: convertToUnit(height.value),
|
|
10932
11200
|
transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`
|
|
10933
|
-
}, ssrBootStyles.value]
|
|
11201
|
+
}, ssrBootStyles.value, props.style]
|
|
10934
11202
|
}, {
|
|
10935
11203
|
default: () => [slots.default && createVNode("div", {
|
|
10936
11204
|
"class": "v-bottom-navigation__content"
|
|
@@ -10944,14 +11212,16 @@ const VBottomNavigation = genericComponent()({
|
|
|
10944
11212
|
const VBreadcrumbsDivider = genericComponent()({
|
|
10945
11213
|
name: 'VBreadcrumbsDivider',
|
|
10946
11214
|
props: {
|
|
10947
|
-
divider: [Number, String]
|
|
11215
|
+
divider: [Number, String],
|
|
11216
|
+
...makeComponentProps()
|
|
10948
11217
|
},
|
|
10949
11218
|
setup(props, _ref) {
|
|
10950
11219
|
let {
|
|
10951
11220
|
slots
|
|
10952
11221
|
} = _ref;
|
|
10953
11222
|
useRender(() => createVNode("li", {
|
|
10954
|
-
"class":
|
|
11223
|
+
"class": ['v-breadcrumbs-divider', props.class],
|
|
11224
|
+
"style": props.style
|
|
10955
11225
|
}, [slots?.default?.() ?? props.divider]));
|
|
10956
11226
|
return {};
|
|
10957
11227
|
}
|
|
@@ -10966,6 +11236,7 @@ const VBreadcrumbsItem = genericComponent()({
|
|
|
10966
11236
|
color: String,
|
|
10967
11237
|
disabled: Boolean,
|
|
10968
11238
|
title: String,
|
|
11239
|
+
...makeComponentProps(),
|
|
10969
11240
|
...makeRouterProps(),
|
|
10970
11241
|
...makeTagProps({
|
|
10971
11242
|
tag: 'li'
|
|
@@ -10991,8 +11262,8 @@ const VBreadcrumbsItem = genericComponent()({
|
|
|
10991
11262
|
'v-breadcrumbs-item--disabled': props.disabled,
|
|
10992
11263
|
'v-breadcrumbs-item--link': link.isLink.value,
|
|
10993
11264
|
[`${props.activeClass}`]: isActive.value && props.activeClass
|
|
10994
|
-
}, textColorClasses.value],
|
|
10995
|
-
"style": [textColorStyles.value],
|
|
11265
|
+
}, textColorClasses.value, props.class],
|
|
11266
|
+
"style": [textColorStyles.value, props.style],
|
|
10996
11267
|
"href": link.href.value,
|
|
10997
11268
|
"aria-current": isActive.value ? 'page' : undefined,
|
|
10998
11269
|
"onClick": link.navigate
|
|
@@ -11023,6 +11294,7 @@ const VBreadcrumbs = genericComponent()({
|
|
|
11023
11294
|
type: Array,
|
|
11024
11295
|
default: () => []
|
|
11025
11296
|
},
|
|
11297
|
+
...makeComponentProps(),
|
|
11026
11298
|
...makeDensityProps(),
|
|
11027
11299
|
...makeRoundedProps(),
|
|
11028
11300
|
...makeTagProps({
|
|
@@ -11054,11 +11326,22 @@ const VBreadcrumbs = genericComponent()({
|
|
|
11054
11326
|
disabled: toRef(props, 'disabled')
|
|
11055
11327
|
}
|
|
11056
11328
|
});
|
|
11329
|
+
const items = computed(() => props.items.map(item => {
|
|
11330
|
+
return typeof item === 'string' ? {
|
|
11331
|
+
item: {
|
|
11332
|
+
title: item
|
|
11333
|
+
},
|
|
11334
|
+
raw: item
|
|
11335
|
+
} : {
|
|
11336
|
+
item,
|
|
11337
|
+
raw: item
|
|
11338
|
+
};
|
|
11339
|
+
}));
|
|
11057
11340
|
useRender(() => {
|
|
11058
11341
|
const hasPrepend = !!(slots.prepend || props.icon);
|
|
11059
11342
|
return createVNode(props.tag, {
|
|
11060
|
-
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value],
|
|
11061
|
-
"style": backgroundColorStyles.value
|
|
11343
|
+
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
|
|
11344
|
+
"style": [backgroundColorStyles.value, props.style]
|
|
11062
11345
|
}, {
|
|
11063
11346
|
default: () => [hasPrepend && createVNode("div", {
|
|
11064
11347
|
"key": "prepend",
|
|
@@ -11076,33 +11359,36 @@ const VBreadcrumbs = genericComponent()({
|
|
|
11076
11359
|
start: true
|
|
11077
11360
|
}
|
|
11078
11361
|
}
|
|
11079
|
-
}, slots.prepend)]),
|
|
11080
|
-
|
|
11081
|
-
"disabled": index >= array.length - 1
|
|
11082
|
-
}, typeof item === 'string' ? {
|
|
11083
|
-
title: item
|
|
11084
|
-
} : item), {
|
|
11085
|
-
default: slots.title ? () => slots.title?.({
|
|
11086
|
-
item,
|
|
11087
|
-
index
|
|
11088
|
-
}) : undefined
|
|
11089
|
-
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
|
11090
|
-
default: slots.divider ? () => slots.divider?.({
|
|
11362
|
+
}, slots.prepend)]), items.value.map((_ref2, index, array) => {
|
|
11363
|
+
let {
|
|
11091
11364
|
item,
|
|
11092
|
-
|
|
11093
|
-
}
|
|
11094
|
-
|
|
11365
|
+
raw
|
|
11366
|
+
} = _ref2;
|
|
11367
|
+
return createVNode(Fragment, null, [createVNode(VBreadcrumbsItem, mergeProps({
|
|
11368
|
+
"key": item.title,
|
|
11369
|
+
"disabled": index >= array.length - 1
|
|
11370
|
+
}, item), {
|
|
11371
|
+
default: slots.title ? () => slots.title?.({
|
|
11372
|
+
item: raw,
|
|
11373
|
+
index
|
|
11374
|
+
}) : undefined
|
|
11375
|
+
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
|
11376
|
+
default: slots.divider ? () => slots.divider?.({
|
|
11377
|
+
item: raw,
|
|
11378
|
+
index
|
|
11379
|
+
}) : undefined
|
|
11380
|
+
})]);
|
|
11381
|
+
}), slots.default?.()]
|
|
11095
11382
|
});
|
|
11096
11383
|
});
|
|
11097
11384
|
return {};
|
|
11098
11385
|
}
|
|
11099
11386
|
});
|
|
11100
11387
|
|
|
11101
|
-
|
|
11102
|
-
|
|
11103
|
-
const VCardActions = defineComponent({
|
|
11388
|
+
const VCardActions = genericComponent()({
|
|
11104
11389
|
name: 'VCardActions',
|
|
11105
|
-
|
|
11390
|
+
props: makeComponentProps(),
|
|
11391
|
+
setup(props, _ref) {
|
|
11106
11392
|
let {
|
|
11107
11393
|
slots
|
|
11108
11394
|
} = _ref;
|
|
@@ -11112,7 +11398,8 @@ const VCardActions = defineComponent({
|
|
|
11112
11398
|
}
|
|
11113
11399
|
});
|
|
11114
11400
|
useRender(() => createVNode("div", {
|
|
11115
|
-
"class":
|
|
11401
|
+
"class": ['v-card-actions', props.class],
|
|
11402
|
+
"style": props.style
|
|
11116
11403
|
}, [slots.default?.()]));
|
|
11117
11404
|
return {};
|
|
11118
11405
|
}
|
|
@@ -11122,8 +11409,6 @@ const VCardSubtitle = createSimpleFunctional('v-card-subtitle');
|
|
|
11122
11409
|
|
|
11123
11410
|
const VCardTitle = createSimpleFunctional('v-card-title');
|
|
11124
11411
|
|
|
11125
|
-
// Types
|
|
11126
|
-
|
|
11127
11412
|
const VCardItem = genericComponent()({
|
|
11128
11413
|
name: 'VCardItem',
|
|
11129
11414
|
props: {
|
|
@@ -11133,6 +11418,7 @@ const VCardItem = genericComponent()({
|
|
|
11133
11418
|
prependIcon: IconValue,
|
|
11134
11419
|
subtitle: String,
|
|
11135
11420
|
title: String,
|
|
11421
|
+
...makeComponentProps(),
|
|
11136
11422
|
...makeDensityProps()
|
|
11137
11423
|
},
|
|
11138
11424
|
setup(props, _ref) {
|
|
@@ -11147,7 +11433,8 @@ const VCardItem = genericComponent()({
|
|
|
11147
11433
|
const hasTitle = !!(props.title || slots.title);
|
|
11148
11434
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
|
11149
11435
|
return createVNode("div", {
|
|
11150
|
-
"class":
|
|
11436
|
+
"class": ['v-card-item', props.class],
|
|
11437
|
+
"style": props.style
|
|
11151
11438
|
}, [hasPrepend && createVNode("div", {
|
|
11152
11439
|
"key": "prepend",
|
|
11153
11440
|
"class": "v-card-item__prepend"
|
|
@@ -11229,8 +11516,8 @@ const VCard = genericComponent()({
|
|
|
11229
11516
|
subtitle: String,
|
|
11230
11517
|
text: String,
|
|
11231
11518
|
title: String,
|
|
11232
|
-
...makeThemeProps(),
|
|
11233
11519
|
...makeBorderProps(),
|
|
11520
|
+
...makeComponentProps(),
|
|
11234
11521
|
...makeDensityProps(),
|
|
11235
11522
|
...makeDimensionProps(),
|
|
11236
11523
|
...makeElevationProps(),
|
|
@@ -11240,6 +11527,7 @@ const VCard = genericComponent()({
|
|
|
11240
11527
|
...makeRoundedProps(),
|
|
11241
11528
|
...makeRouterProps(),
|
|
11242
11529
|
...makeTagProps(),
|
|
11530
|
+
...makeThemeProps(),
|
|
11243
11531
|
...makeVariantProps({
|
|
11244
11532
|
variant: 'elevated'
|
|
11245
11533
|
})
|
|
@@ -11300,8 +11588,8 @@ const VCard = genericComponent()({
|
|
|
11300
11588
|
'v-card--flat': props.flat,
|
|
11301
11589
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
|
11302
11590
|
'v-card--link': isClickable.value
|
|
11303
|
-
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
|
11304
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
|
11591
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
|
11592
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
|
11305
11593
|
"href": link.href.value,
|
|
11306
11594
|
"onClick": isClickable.value && link.navigate,
|
|
11307
11595
|
"tabindex": props.disabled ? -1 : undefined
|
|
@@ -11497,6 +11785,7 @@ const makeVWindowProps = propsFactory({
|
|
|
11497
11785
|
mandatory: {
|
|
11498
11786
|
default: 'force'
|
|
11499
11787
|
},
|
|
11788
|
+
...makeComponentProps(),
|
|
11500
11789
|
...makeTagProps(),
|
|
11501
11790
|
...makeThemeProps()
|
|
11502
11791
|
}, 'v-window');
|
|
@@ -11612,7 +11901,8 @@ const VWindow = genericComponent()({
|
|
|
11612
11901
|
"ref": rootRef,
|
|
11613
11902
|
"class": ['v-window', {
|
|
11614
11903
|
'v-window--show-arrows-on-hover': props.showArrows === 'hover'
|
|
11615
|
-
}, themeClasses.value]
|
|
11904
|
+
}, themeClasses.value, props.class],
|
|
11905
|
+
"style": props.style
|
|
11616
11906
|
}, {
|
|
11617
11907
|
default: () => [createVNode("div", {
|
|
11618
11908
|
"class": "v-window__container",
|
|
@@ -11697,10 +11987,10 @@ const VCarousel = genericComponent()({
|
|
|
11697
11987
|
"class": ['v-carousel', {
|
|
11698
11988
|
'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,
|
|
11699
11989
|
'v-carousel--vertical-delimiters': props.verticalDelimiters
|
|
11700
|
-
}],
|
|
11701
|
-
"style": {
|
|
11990
|
+
}, props.class],
|
|
11991
|
+
"style": [{
|
|
11702
11992
|
height: convertToUnit(props.height)
|
|
11703
|
-
},
|
|
11993
|
+
}, props.style],
|
|
11704
11994
|
"continuous": true,
|
|
11705
11995
|
"mandatory": "force",
|
|
11706
11996
|
"showArrows": props.showArrows
|
|
@@ -11766,6 +12056,7 @@ const VWindowItem = genericComponent()({
|
|
|
11766
12056
|
type: [Boolean, String],
|
|
11767
12057
|
default: undefined
|
|
11768
12058
|
},
|
|
12059
|
+
...makeComponentProps(),
|
|
11769
12060
|
...makeGroupItemProps(),
|
|
11770
12061
|
...makeLazyProps()
|
|
11771
12062
|
},
|
|
@@ -11852,7 +12143,8 @@ const VWindowItem = genericComponent()({
|
|
|
11852
12143
|
"disabled": !isBooted.value
|
|
11853
12144
|
}, {
|
|
11854
12145
|
default: () => [withDirectives(createVNode("div", {
|
|
11855
|
-
"class": ['v-window-item', groupItem.selectedClass.value]
|
|
12146
|
+
"class": ['v-window-item', groupItem.selectedClass.value, props.class],
|
|
12147
|
+
"style": props.style
|
|
11856
12148
|
}, [hasContent.value && slots.default?.()]), [[vShow, groupItem.isSelected.value]])]
|
|
11857
12149
|
}));
|
|
11858
12150
|
return {};
|
|
@@ -11865,7 +12157,8 @@ const VCarouselItem = genericComponent()({
|
|
|
11865
12157
|
name: 'VCarouselItem',
|
|
11866
12158
|
inheritAttrs: false,
|
|
11867
12159
|
props: {
|
|
11868
|
-
value: null
|
|
12160
|
+
value: null,
|
|
12161
|
+
...makeComponentProps()
|
|
11869
12162
|
},
|
|
11870
12163
|
setup(props, _ref) {
|
|
11871
12164
|
let {
|
|
@@ -11873,7 +12166,8 @@ const VCarouselItem = genericComponent()({
|
|
|
11873
12166
|
attrs
|
|
11874
12167
|
} = _ref;
|
|
11875
12168
|
useRender(() => createVNode(VWindowItem, {
|
|
11876
|
-
"class":
|
|
12169
|
+
"class": ['v-carousel-item', props.class],
|
|
12170
|
+
"style": props.style,
|
|
11877
12171
|
"value": props.value
|
|
11878
12172
|
}, {
|
|
11879
12173
|
default: () => [createVNode(VImg, attrs, slots)]
|
|
@@ -11886,6 +12180,7 @@ const VCode = createSimpleFunctional('v-code');
|
|
|
11886
12180
|
const makeVSheetProps = propsFactory({
|
|
11887
12181
|
color: String,
|
|
11888
12182
|
...makeBorderProps(),
|
|
12183
|
+
...makeComponentProps(),
|
|
11889
12184
|
...makeDimensionProps(),
|
|
11890
12185
|
...makeElevationProps(),
|
|
11891
12186
|
...makeLocationProps(),
|
|
@@ -11929,8 +12224,8 @@ const VSheet = genericComponent()({
|
|
|
11929
12224
|
roundedClasses
|
|
11930
12225
|
} = useRounded(props);
|
|
11931
12226
|
useRender(() => createVNode(props.tag, {
|
|
11932
|
-
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
|
11933
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
|
12227
|
+
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
|
|
12228
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
|
|
11934
12229
|
}, slots));
|
|
11935
12230
|
return {};
|
|
11936
12231
|
}
|
|
@@ -11956,7 +12251,8 @@ const VColorPickerCanvas = defineComponent({
|
|
|
11956
12251
|
width: {
|
|
11957
12252
|
type: [Number, String],
|
|
11958
12253
|
default: 300
|
|
11959
|
-
}
|
|
12254
|
+
},
|
|
12255
|
+
...makeComponentProps()
|
|
11960
12256
|
},
|
|
11961
12257
|
emits: {
|
|
11962
12258
|
'update:color': color => true,
|
|
@@ -12101,7 +12397,8 @@ const VColorPickerCanvas = defineComponent({
|
|
|
12101
12397
|
onMounted(() => updateCanvas());
|
|
12102
12398
|
useRender(() => createVNode("div", {
|
|
12103
12399
|
"ref": resizeRef,
|
|
12104
|
-
"class":
|
|
12400
|
+
"class": ['v-color-picker-canvas', props.class],
|
|
12401
|
+
"style": props.style,
|
|
12105
12402
|
"onClick": handleClick,
|
|
12106
12403
|
"onMousedown": handleMouseDown,
|
|
12107
12404
|
"onTouchstart": handleMouseDown
|
|
@@ -12334,7 +12631,8 @@ const VColorPickerEdit = defineComponent({
|
|
|
12334
12631
|
type: Array,
|
|
12335
12632
|
default: () => Object.keys(modes),
|
|
12336
12633
|
validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
|
|
12337
|
-
}
|
|
12634
|
+
},
|
|
12635
|
+
...makeComponentProps()
|
|
12338
12636
|
},
|
|
12339
12637
|
emits: {
|
|
12340
12638
|
'update:color': color => true,
|
|
@@ -12374,7 +12672,8 @@ const VColorPickerEdit = defineComponent({
|
|
|
12374
12672
|
});
|
|
12375
12673
|
});
|
|
12376
12674
|
useRender(() => createVNode("div", {
|
|
12377
|
-
"class":
|
|
12675
|
+
"class": ['v-color-picker-edit', props.class],
|
|
12676
|
+
"style": props.style
|
|
12378
12677
|
}, [inputs.value?.map(props => createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && createVNode(VBtn, {
|
|
12379
12678
|
"icon": "$unfold",
|
|
12380
12679
|
"size": "x-small",
|
|
@@ -12458,11 +12757,33 @@ const makeSliderProps = propsFactory({
|
|
|
12458
12757
|
elevation: 2
|
|
12459
12758
|
})
|
|
12460
12759
|
}, 'slider');
|
|
12760
|
+
const useSteps = props => {
|
|
12761
|
+
const min = computed(() => parseFloat(props.min));
|
|
12762
|
+
const max = computed(() => parseFloat(props.max));
|
|
12763
|
+
const step = computed(() => +props.step > 0 ? parseFloat(props.step) : 0);
|
|
12764
|
+
const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
|
|
12765
|
+
function roundValue(value) {
|
|
12766
|
+
if (step.value <= 0) return value;
|
|
12767
|
+
const clamped = clamp(value, min.value, max.value);
|
|
12768
|
+
const offset = min.value % step.value;
|
|
12769
|
+
const newValue = Math.round((clamped - offset) / step.value) * step.value + offset;
|
|
12770
|
+
return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value));
|
|
12771
|
+
}
|
|
12772
|
+
return {
|
|
12773
|
+
min,
|
|
12774
|
+
max,
|
|
12775
|
+
step,
|
|
12776
|
+
decimals,
|
|
12777
|
+
roundValue
|
|
12778
|
+
};
|
|
12779
|
+
};
|
|
12461
12780
|
const useSlider = _ref => {
|
|
12462
12781
|
let {
|
|
12463
12782
|
props,
|
|
12464
|
-
|
|
12465
|
-
|
|
12783
|
+
steps,
|
|
12784
|
+
onSliderStart,
|
|
12785
|
+
onSliderMove,
|
|
12786
|
+
onSliderEnd,
|
|
12466
12787
|
getActiveThumb
|
|
12467
12788
|
} = _ref;
|
|
12468
12789
|
const {
|
|
@@ -12476,10 +12797,13 @@ const useSlider = _ref => {
|
|
|
12476
12797
|
}
|
|
12477
12798
|
return hd;
|
|
12478
12799
|
});
|
|
12479
|
-
const
|
|
12480
|
-
|
|
12481
|
-
|
|
12482
|
-
|
|
12800
|
+
const {
|
|
12801
|
+
min,
|
|
12802
|
+
max,
|
|
12803
|
+
step,
|
|
12804
|
+
decimals,
|
|
12805
|
+
roundValue
|
|
12806
|
+
} = steps;
|
|
12483
12807
|
const thumbSize = computed(() => parseInt(props.thumbSize, 10));
|
|
12484
12808
|
const tickSize = computed(() => parseInt(props.tickSize, 10));
|
|
12485
12809
|
const trackSize = computed(() => parseInt(props.trackSize, 10));
|
|
@@ -12489,17 +12813,10 @@ const useSlider = _ref => {
|
|
|
12489
12813
|
const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color);
|
|
12490
12814
|
const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color);
|
|
12491
12815
|
const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color);
|
|
12492
|
-
const mousePressed = ref(false);
|
|
12493
|
-
const startOffset = ref(0);
|
|
12494
|
-
const trackContainerRef = ref();
|
|
12495
|
-
const activeThumbRef = ref();
|
|
12496
|
-
function roundValue(value) {
|
|
12497
|
-
if (step.value <= 0) return value;
|
|
12498
|
-
const clamped = clamp(value, min.value, max.value);
|
|
12499
|
-
const offset = min.value % step.value;
|
|
12500
|
-
const newValue = Math.round((clamped - offset) / step.value) * step.value + offset;
|
|
12501
|
-
return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value));
|
|
12502
|
-
}
|
|
12816
|
+
const mousePressed = ref(false);
|
|
12817
|
+
const startOffset = ref(0);
|
|
12818
|
+
const trackContainerRef = ref();
|
|
12819
|
+
const activeThumbRef = ref();
|
|
12503
12820
|
function parseMouseMove(e) {
|
|
12504
12821
|
const vertical = props.direction === 'vertical';
|
|
12505
12822
|
const start = vertical ? 'top' : 'left';
|
|
@@ -12516,14 +12833,11 @@ const useSlider = _ref => {
|
|
|
12516
12833
|
if (vertical || horizontalDirection.value === 'rtl') clickPos = 1 - clickPos;
|
|
12517
12834
|
return roundValue(min.value + clickPos * (max.value - min.value));
|
|
12518
12835
|
}
|
|
12519
|
-
let thumbMoved = false;
|
|
12520
12836
|
const handleStop = e => {
|
|
12521
|
-
|
|
12522
|
-
|
|
12523
|
-
|
|
12524
|
-
}
|
|
12837
|
+
onSliderEnd({
|
|
12838
|
+
value: parseMouseMove(e)
|
|
12839
|
+
});
|
|
12525
12840
|
mousePressed.value = false;
|
|
12526
|
-
thumbMoved = false;
|
|
12527
12841
|
startOffset.value = 0;
|
|
12528
12842
|
};
|
|
12529
12843
|
const handleStart = e => {
|
|
@@ -12532,20 +12846,25 @@ const useSlider = _ref => {
|
|
|
12532
12846
|
activeThumbRef.value.focus();
|
|
12533
12847
|
mousePressed.value = true;
|
|
12534
12848
|
if (activeThumbRef.value.contains(e.target)) {
|
|
12535
|
-
thumbMoved = true;
|
|
12536
12849
|
startOffset.value = getOffset(e, activeThumbRef.value, props.direction);
|
|
12537
12850
|
} else {
|
|
12538
12851
|
startOffset.value = 0;
|
|
12539
|
-
|
|
12852
|
+
onSliderMove({
|
|
12853
|
+
value: parseMouseMove(e)
|
|
12854
|
+
});
|
|
12540
12855
|
}
|
|
12856
|
+
onSliderStart({
|
|
12857
|
+
value: parseMouseMove(e)
|
|
12858
|
+
});
|
|
12541
12859
|
};
|
|
12542
12860
|
const moveListenerOptions = {
|
|
12543
12861
|
passive: true,
|
|
12544
12862
|
capture: true
|
|
12545
12863
|
};
|
|
12546
12864
|
function onMouseMove(e) {
|
|
12547
|
-
|
|
12548
|
-
|
|
12865
|
+
onSliderMove({
|
|
12866
|
+
value: parseMouseMove(e)
|
|
12867
|
+
});
|
|
12549
12868
|
}
|
|
12550
12869
|
function onSliderMouseUp(e) {
|
|
12551
12870
|
e.stopPropagation();
|
|
@@ -12673,7 +12992,8 @@ const VSliderThumb = genericComponent()({
|
|
|
12673
12992
|
ripple: {
|
|
12674
12993
|
type: Boolean,
|
|
12675
12994
|
default: true
|
|
12676
|
-
}
|
|
12995
|
+
},
|
|
12996
|
+
...makeComponentProps()
|
|
12677
12997
|
},
|
|
12678
12998
|
emits: {
|
|
12679
12999
|
'update:modelValue': v => true
|
|
@@ -12751,11 +13071,11 @@ const VSliderThumb = genericComponent()({
|
|
|
12751
13071
|
"class": ['v-slider-thumb', {
|
|
12752
13072
|
'v-slider-thumb--focused': props.focused,
|
|
12753
13073
|
'v-slider-thumb--pressed': props.focused && mousePressed.value
|
|
12754
|
-
}],
|
|
12755
|
-
"style": {
|
|
13074
|
+
}, props.class],
|
|
13075
|
+
"style": [{
|
|
12756
13076
|
'--v-slider-thumb-position': positionPercentage,
|
|
12757
13077
|
'--v-slider-thumb-size': convertToUnit(thumbSize.value)
|
|
12758
|
-
},
|
|
13078
|
+
}, props.style],
|
|
12759
13079
|
"role": "slider",
|
|
12760
13080
|
"tabindex": disabled.value ? -1 : 0,
|
|
12761
13081
|
"aria-valuemin": props.min,
|
|
@@ -12801,7 +13121,8 @@ const VSliderTrack = genericComponent()({
|
|
|
12801
13121
|
stop: {
|
|
12802
13122
|
type: Number,
|
|
12803
13123
|
required: true
|
|
12804
|
-
}
|
|
13124
|
+
},
|
|
13125
|
+
...makeComponentProps()
|
|
12805
13126
|
},
|
|
12806
13127
|
emits: {},
|
|
12807
13128
|
setup(props, _ref) {
|
|
@@ -12876,12 +13197,12 @@ const VSliderTrack = genericComponent()({
|
|
|
12876
13197
|
});
|
|
12877
13198
|
useRender(() => {
|
|
12878
13199
|
return createVNode("div", {
|
|
12879
|
-
"class": ['v-slider-track', roundedClasses.value],
|
|
12880
|
-
"style": {
|
|
13200
|
+
"class": ['v-slider-track', roundedClasses.value, props.class],
|
|
13201
|
+
"style": [{
|
|
12881
13202
|
'--v-slider-track-size': convertToUnit(trackSize.value),
|
|
12882
13203
|
'--v-slider-tick-size': convertToUnit(tickSize.value),
|
|
12883
13204
|
direction: !vertical.value ? horizontalDirection.value : undefined
|
|
12884
|
-
}
|
|
13205
|
+
}, props.style]
|
|
12885
13206
|
}, [createVNode("div", {
|
|
12886
13207
|
"class": ['v-slider-track__background', trackColorClasses.value, {
|
|
12887
13208
|
'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
|
|
@@ -12921,13 +13242,21 @@ const VSlider = genericComponent()({
|
|
|
12921
13242
|
},
|
|
12922
13243
|
emits: {
|
|
12923
13244
|
'update:focused': value => true,
|
|
12924
|
-
'update:modelValue': v => true
|
|
13245
|
+
'update:modelValue': v => true,
|
|
13246
|
+
start: value => true,
|
|
13247
|
+
end: value => true
|
|
12925
13248
|
},
|
|
12926
13249
|
setup(props, _ref) {
|
|
12927
13250
|
let {
|
|
12928
|
-
slots
|
|
13251
|
+
slots,
|
|
13252
|
+
emit
|
|
12929
13253
|
} = _ref;
|
|
12930
13254
|
const thumbContainerRef = ref();
|
|
13255
|
+
const steps = useSteps(props);
|
|
13256
|
+
const model = useProxiedModel(props, 'modelValue', undefined, v => {
|
|
13257
|
+
const value = typeof v === 'string' ? parseFloat(v) : v == null ? steps.min.value : v;
|
|
13258
|
+
return steps.roundValue(value);
|
|
13259
|
+
});
|
|
12931
13260
|
const {
|
|
12932
13261
|
min,
|
|
12933
13262
|
max,
|
|
@@ -12941,16 +13270,26 @@ const VSlider = genericComponent()({
|
|
|
12941
13270
|
readonly
|
|
12942
13271
|
} = useSlider({
|
|
12943
13272
|
props,
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
|
|
13273
|
+
steps,
|
|
13274
|
+
onSliderStart: () => {
|
|
13275
|
+
emit('start', model.value);
|
|
13276
|
+
},
|
|
13277
|
+
onSliderEnd: _ref2 => {
|
|
13278
|
+
let {
|
|
13279
|
+
value
|
|
13280
|
+
} = _ref2;
|
|
13281
|
+
const roundedValue = roundValue(value);
|
|
13282
|
+
model.value = roundedValue;
|
|
13283
|
+
emit('end', roundedValue);
|
|
13284
|
+
},
|
|
13285
|
+
onSliderMove: _ref3 => {
|
|
13286
|
+
let {
|
|
13287
|
+
value
|
|
13288
|
+
} = _ref3;
|
|
13289
|
+
return model.value = roundValue(value);
|
|
13290
|
+
},
|
|
12948
13291
|
getActiveThumb: () => thumbContainerRef.value?.$el
|
|
12949
13292
|
});
|
|
12950
|
-
const model = useProxiedModel(props, 'modelValue', undefined, v => {
|
|
12951
|
-
const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v;
|
|
12952
|
-
return roundValue(value);
|
|
12953
|
-
});
|
|
12954
13293
|
const {
|
|
12955
13294
|
isFocused,
|
|
12956
13295
|
focus,
|
|
@@ -12966,7 +13305,8 @@ const VSlider = genericComponent()({
|
|
|
12966
13305
|
'v-slider--focused': isFocused.value,
|
|
12967
13306
|
'v-slider--pressed': mousePressed.value,
|
|
12968
13307
|
'v-slider--disabled': props.disabled
|
|
12969
|
-
}]
|
|
13308
|
+
}, props.class],
|
|
13309
|
+
"style": props.style
|
|
12970
13310
|
}, inputProps, {
|
|
12971
13311
|
"focused": isFocused.value
|
|
12972
13312
|
}), {
|
|
@@ -12976,11 +13316,11 @@ const VSlider = genericComponent()({
|
|
|
12976
13316
|
"class": "v-slider__label",
|
|
12977
13317
|
"text": props.label
|
|
12978
13318
|
}, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
|
|
12979
|
-
default:
|
|
13319
|
+
default: _ref4 => {
|
|
12980
13320
|
let {
|
|
12981
13321
|
id,
|
|
12982
13322
|
messagesId
|
|
12983
|
-
} =
|
|
13323
|
+
} = _ref4;
|
|
12984
13324
|
return createVNode("div", {
|
|
12985
13325
|
"class": "v-slider__container",
|
|
12986
13326
|
"onMousedown": !readonly.value ? onSliderMousedown : undefined,
|
|
@@ -13029,7 +13369,8 @@ const VColorPickerPreview = defineComponent({
|
|
|
13029
13369
|
type: Object
|
|
13030
13370
|
},
|
|
13031
13371
|
disabled: Boolean,
|
|
13032
|
-
hideAlpha: Boolean
|
|
13372
|
+
hideAlpha: Boolean,
|
|
13373
|
+
...makeComponentProps()
|
|
13033
13374
|
},
|
|
13034
13375
|
emits: {
|
|
13035
13376
|
'update:color': color => true
|
|
@@ -13041,7 +13382,8 @@ const VColorPickerPreview = defineComponent({
|
|
|
13041
13382
|
useRender(() => createVNode("div", {
|
|
13042
13383
|
"class": ['v-color-picker-preview', {
|
|
13043
13384
|
'v-color-picker-preview--hide-alpha': props.hideAlpha
|
|
13044
|
-
}]
|
|
13385
|
+
}, props.class],
|
|
13386
|
+
"style": props.style
|
|
13045
13387
|
}, [createVNode("div", {
|
|
13046
13388
|
"class": "v-color-picker-preview__dot"
|
|
13047
13389
|
}, [createVNode("div", {
|
|
@@ -13422,7 +13764,8 @@ const VColorPickerSwatches = defineComponent({
|
|
|
13422
13764
|
},
|
|
13423
13765
|
disabled: Boolean,
|
|
13424
13766
|
color: Object,
|
|
13425
|
-
maxHeight: [Number, String]
|
|
13767
|
+
maxHeight: [Number, String],
|
|
13768
|
+
...makeComponentProps()
|
|
13426
13769
|
},
|
|
13427
13770
|
emits: {
|
|
13428
13771
|
'update:color': color => true
|
|
@@ -13432,10 +13775,10 @@ const VColorPickerSwatches = defineComponent({
|
|
|
13432
13775
|
emit
|
|
13433
13776
|
} = _ref;
|
|
13434
13777
|
useRender(() => createVNode("div", {
|
|
13435
|
-
"class":
|
|
13436
|
-
"style": {
|
|
13778
|
+
"class": ['v-color-picker-swatches', props.class],
|
|
13779
|
+
"style": [{
|
|
13437
13780
|
maxHeight: convertToUnit(props.maxHeight)
|
|
13438
|
-
}
|
|
13781
|
+
}, props.style]
|
|
13439
13782
|
}, [createVNode("div", null, [props.swatches.map(swatch => createVNode("div", {
|
|
13440
13783
|
"class": "v-color-picker-swatches__swatch"
|
|
13441
13784
|
}, [swatch.map(color => {
|
|
@@ -13539,13 +13882,13 @@ const VColorPicker = defineComponent({
|
|
|
13539
13882
|
"rounded": props.rounded,
|
|
13540
13883
|
"elevation": props.elevation,
|
|
13541
13884
|
"theme": props.theme,
|
|
13542
|
-
"class": ['v-color-picker'],
|
|
13543
|
-
"style": {
|
|
13885
|
+
"class": ['v-color-picker', props.class],
|
|
13886
|
+
"style": [{
|
|
13544
13887
|
'--v-color-picker-color-hsv': HSVtoCSS({
|
|
13545
13888
|
...(currentColor.value ?? nullColor),
|
|
13546
13889
|
a: 1
|
|
13547
13890
|
})
|
|
13548
|
-
}
|
|
13891
|
+
}, props.style]
|
|
13549
13892
|
}, sheetProps, {
|
|
13550
13893
|
"maxWidth": props.width
|
|
13551
13894
|
}), {
|
|
@@ -13856,7 +14199,8 @@ const VCombobox = genericComponent()({
|
|
|
13856
14199
|
'v-combobox--chips': !!props.chips,
|
|
13857
14200
|
'v-combobox--selecting-index': selectionIndex.value > -1,
|
|
13858
14201
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
|
13859
|
-
}],
|
|
14202
|
+
}, props.class],
|
|
14203
|
+
"style": props.style,
|
|
13860
14204
|
"appendInnerIcon": props.items.length ? props.menuIcon : undefined,
|
|
13861
14205
|
"readonly": props.readonly,
|
|
13862
14206
|
"placeholder": isDirty ? undefined : props.placeholder,
|
|
@@ -14013,7 +14357,7 @@ const VDialog = genericComponent()({
|
|
|
14013
14357
|
![document, overlay.value.contentEl].includes(after) &&
|
|
14014
14358
|
// It isn't inside the dialog body
|
|
14015
14359
|
!overlay.value.contentEl.contains(after)) {
|
|
14016
|
-
const focusable =
|
|
14360
|
+
const focusable = focusableChildren(overlay.value.contentEl);
|
|
14017
14361
|
if (!focusable.length) return;
|
|
14018
14362
|
const firstElement = focusable[0];
|
|
14019
14363
|
const lastElement = focusable[focusable.length - 1];
|
|
@@ -14054,7 +14398,8 @@ const VDialog = genericComponent()({
|
|
|
14054
14398
|
"class": ['v-dialog', {
|
|
14055
14399
|
'v-dialog--fullscreen': props.fullscreen,
|
|
14056
14400
|
'v-dialog--scrollable': props.scrollable
|
|
14057
|
-
}]
|
|
14401
|
+
}, props.class],
|
|
14402
|
+
"style": props.style
|
|
14058
14403
|
}, overlayProps, {
|
|
14059
14404
|
"modelValue": isActive.value,
|
|
14060
14405
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
@@ -14093,6 +14438,7 @@ const VExpansionPanels = genericComponent()({
|
|
|
14093
14438
|
validator: v => allowedVariants.includes(v)
|
|
14094
14439
|
},
|
|
14095
14440
|
readonly: Boolean,
|
|
14441
|
+
...makeComponentProps(),
|
|
14096
14442
|
...makeGroupProps(),
|
|
14097
14443
|
...makeTagProps(),
|
|
14098
14444
|
...makeThemeProps()
|
|
@@ -14118,7 +14464,8 @@ const VExpansionPanels = genericComponent()({
|
|
|
14118
14464
|
}
|
|
14119
14465
|
});
|
|
14120
14466
|
useRender(() => createVNode(props.tag, {
|
|
14121
|
-
"class": ['v-expansion-panels', themeClasses.value, variantClass.value]
|
|
14467
|
+
"class": ['v-expansion-panels', themeClasses.value, variantClass.value, props.class],
|
|
14468
|
+
"style": props.style
|
|
14122
14469
|
}, slots));
|
|
14123
14470
|
return {};
|
|
14124
14471
|
}
|
|
@@ -14147,6 +14494,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
|
14147
14494
|
Ripple
|
|
14148
14495
|
},
|
|
14149
14496
|
props: {
|
|
14497
|
+
...makeComponentProps(),
|
|
14150
14498
|
...makeVExpansionPanelTitleProps()
|
|
14151
14499
|
},
|
|
14152
14500
|
setup(props, _ref) {
|
|
@@ -14169,8 +14517,8 @@ const VExpansionPanelTitle = genericComponent()({
|
|
|
14169
14517
|
useRender(() => withDirectives(createVNode("button", {
|
|
14170
14518
|
"class": ['v-expansion-panel-title', {
|
|
14171
14519
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value
|
|
14172
|
-
}, backgroundColorClasses.value],
|
|
14173
|
-
"style": backgroundColorStyles.value,
|
|
14520
|
+
}, backgroundColorClasses.value, props.class],
|
|
14521
|
+
"style": [backgroundColorStyles.value, props.style],
|
|
14174
14522
|
"type": "button",
|
|
14175
14523
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
|
14176
14524
|
"disabled": expansionPanel.disabled.value,
|
|
@@ -14190,6 +14538,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
|
14190
14538
|
const VExpansionPanelText = genericComponent()({
|
|
14191
14539
|
name: 'VExpansionPanelText',
|
|
14192
14540
|
props: {
|
|
14541
|
+
...makeComponentProps(),
|
|
14193
14542
|
...makeLazyProps()
|
|
14194
14543
|
},
|
|
14195
14544
|
setup(props, _ref) {
|
|
@@ -14206,7 +14555,8 @@ const VExpansionPanelText = genericComponent()({
|
|
|
14206
14555
|
"onAfterLeave": onAfterLeave
|
|
14207
14556
|
}, {
|
|
14208
14557
|
default: () => [withDirectives(createVNode("div", {
|
|
14209
|
-
"class":
|
|
14558
|
+
"class": ['v-expansion-panel-text', props.class],
|
|
14559
|
+
"style": props.style
|
|
14210
14560
|
}, [slots.default && hasContent.value && createVNode("div", {
|
|
14211
14561
|
"class": "v-expansion-panel-text__wrapper"
|
|
14212
14562
|
}, [slots.default?.()])]), [[vShow, expansionPanel.isSelected.value]])]
|
|
@@ -14221,6 +14571,7 @@ const VExpansionPanel = genericComponent()({
|
|
|
14221
14571
|
title: String,
|
|
14222
14572
|
text: String,
|
|
14223
14573
|
bgColor: String,
|
|
14574
|
+
...makeComponentProps(),
|
|
14224
14575
|
...makeElevationProps(),
|
|
14225
14576
|
...makeGroupItemProps(),
|
|
14226
14577
|
...makeLazyProps(),
|
|
@@ -14269,8 +14620,8 @@ const VExpansionPanel = genericComponent()({
|
|
|
14269
14620
|
'v-expansion-panel--before-active': isBeforeSelected.value,
|
|
14270
14621
|
'v-expansion-panel--after-active': isAfterSelected.value,
|
|
14271
14622
|
'v-expansion-panel--disabled': isDisabled.value
|
|
14272
|
-
}, roundedClasses.value, backgroundColorClasses.value],
|
|
14273
|
-
"style": backgroundColorStyles.value,
|
|
14623
|
+
}, roundedClasses.value, backgroundColorClasses.value, props.class],
|
|
14624
|
+
"style": [backgroundColorStyles.value, props.style],
|
|
14274
14625
|
"aria-expanded": groupItem.isSelected.value
|
|
14275
14626
|
}, {
|
|
14276
14627
|
default: () => [createVNode("div", {
|
|
@@ -14420,7 +14771,8 @@ const VFileInput = genericComponent()({
|
|
|
14420
14771
|
"ref": vInputRef,
|
|
14421
14772
|
"modelValue": model.value,
|
|
14422
14773
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
14423
|
-
"class":
|
|
14774
|
+
"class": ['v-file-input', props.class],
|
|
14775
|
+
"style": props.style,
|
|
14424
14776
|
"onClick:prepend": onClickPrepend
|
|
14425
14777
|
}, rootAttrs, inputProps, {
|
|
14426
14778
|
"focused": isFocused.value
|
|
@@ -14512,6 +14864,7 @@ const VFooter = genericComponent()({
|
|
|
14512
14864
|
default: 'auto'
|
|
14513
14865
|
},
|
|
14514
14866
|
...makeBorderProps(),
|
|
14867
|
+
...makeComponentProps(),
|
|
14515
14868
|
...makeElevationProps(),
|
|
14516
14869
|
...makeLayoutItemProps(),
|
|
14517
14870
|
...makeRoundedProps(),
|
|
@@ -14561,8 +14914,8 @@ const VFooter = genericComponent()({
|
|
|
14561
14914
|
});
|
|
14562
14915
|
useRender(() => createVNode(props.tag, {
|
|
14563
14916
|
"ref": resizeRef,
|
|
14564
|
-
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
|
14565
|
-
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined]
|
|
14917
|
+
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
14918
|
+
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined, props.style]
|
|
14566
14919
|
}, slots));
|
|
14567
14920
|
return {};
|
|
14568
14921
|
}
|
|
@@ -14573,6 +14926,7 @@ const VFooter = genericComponent()({
|
|
|
14573
14926
|
const VForm = genericComponent()({
|
|
14574
14927
|
name: 'VForm',
|
|
14575
14928
|
props: {
|
|
14929
|
+
...makeComponentProps(),
|
|
14576
14930
|
...makeFormProps()
|
|
14577
14931
|
},
|
|
14578
14932
|
emits: {
|
|
@@ -14611,7 +14965,8 @@ const VForm = genericComponent()({
|
|
|
14611
14965
|
}
|
|
14612
14966
|
useRender(() => createVNode("form", {
|
|
14613
14967
|
"ref": formRef,
|
|
14614
|
-
"class":
|
|
14968
|
+
"class": ['v-form', props.class],
|
|
14969
|
+
"style": props.style,
|
|
14615
14970
|
"novalidate": true,
|
|
14616
14971
|
"onReset": onReset,
|
|
14617
14972
|
"onSubmit": onSubmit
|
|
@@ -14627,6 +14982,7 @@ const VContainer = genericComponent()({
|
|
|
14627
14982
|
type: Boolean,
|
|
14628
14983
|
default: false
|
|
14629
14984
|
},
|
|
14985
|
+
...makeComponentProps(),
|
|
14630
14986
|
...makeTagProps()
|
|
14631
14987
|
},
|
|
14632
14988
|
setup(props, _ref) {
|
|
@@ -14636,7 +14992,8 @@ const VContainer = genericComponent()({
|
|
|
14636
14992
|
useRender(() => createVNode(props.tag, {
|
|
14637
14993
|
"class": ['v-container', {
|
|
14638
14994
|
'v-container--fluid': props.fluid
|
|
14639
|
-
}]
|
|
14995
|
+
}, props.class],
|
|
14996
|
+
"style": props.style
|
|
14640
14997
|
}, slots));
|
|
14641
14998
|
return {};
|
|
14642
14999
|
}
|
|
@@ -14727,6 +15084,7 @@ const VCol = genericComponent()({
|
|
|
14727
15084
|
default: null,
|
|
14728
15085
|
validator: str => ALIGN_SELF_VALUES.includes(str)
|
|
14729
15086
|
},
|
|
15087
|
+
...makeComponentProps(),
|
|
14730
15088
|
...makeTagProps()
|
|
14731
15089
|
},
|
|
14732
15090
|
setup(props, _ref) {
|
|
@@ -14757,7 +15115,8 @@ const VCol = genericComponent()({
|
|
|
14757
15115
|
return classList;
|
|
14758
15116
|
});
|
|
14759
15117
|
return () => h(props.tag, {
|
|
14760
|
-
class: classes.value
|
|
15118
|
+
class: [classes.value, props.class],
|
|
15119
|
+
style: props.style
|
|
14761
15120
|
}, slots.default?.());
|
|
14762
15121
|
}
|
|
14763
15122
|
});
|
|
@@ -14843,6 +15202,7 @@ const VRow = genericComponent()({
|
|
|
14843
15202
|
validator: alignContentValidator
|
|
14844
15203
|
},
|
|
14845
15204
|
...alignContentProps,
|
|
15205
|
+
...makeComponentProps(),
|
|
14846
15206
|
...makeTagProps()
|
|
14847
15207
|
},
|
|
14848
15208
|
setup(props, _ref) {
|
|
@@ -14871,7 +15231,8 @@ const VRow = genericComponent()({
|
|
|
14871
15231
|
return classList;
|
|
14872
15232
|
});
|
|
14873
15233
|
return () => h(props.tag, {
|
|
14874
|
-
class: ['v-row', classes.value]
|
|
15234
|
+
class: ['v-row', classes.value, props.class],
|
|
15235
|
+
style: props.style
|
|
14875
15236
|
}, slots.default?.());
|
|
14876
15237
|
}
|
|
14877
15238
|
});
|
|
@@ -14915,6 +15276,7 @@ const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');
|
|
|
14915
15276
|
const VItemGroup = genericComponent()({
|
|
14916
15277
|
name: 'VItemGroup',
|
|
14917
15278
|
props: {
|
|
15279
|
+
...makeComponentProps(),
|
|
14918
15280
|
...makeGroupProps({
|
|
14919
15281
|
selectedClass: 'v-item--selected'
|
|
14920
15282
|
}),
|
|
@@ -14939,7 +15301,8 @@ const VItemGroup = genericComponent()({
|
|
|
14939
15301
|
selected
|
|
14940
15302
|
} = useGroup(props, VItemGroupSymbol);
|
|
14941
15303
|
return () => createVNode(props.tag, {
|
|
14942
|
-
"class": ['v-item-group', themeClasses.value]
|
|
15304
|
+
"class": ['v-item-group', themeClasses.value, props.class],
|
|
15305
|
+
"style": props.style
|
|
14943
15306
|
}, {
|
|
14944
15307
|
default: () => [slots.default?.({
|
|
14945
15308
|
isSelected,
|
|
@@ -14989,7 +15352,10 @@ const VKbd = createSimpleFunctional('v-kbd');
|
|
|
14989
15352
|
|
|
14990
15353
|
const VLayout = genericComponent()({
|
|
14991
15354
|
name: 'VLayout',
|
|
14992
|
-
props:
|
|
15355
|
+
props: {
|
|
15356
|
+
...makeComponentProps(),
|
|
15357
|
+
...makeLayoutProps()
|
|
15358
|
+
},
|
|
14993
15359
|
setup(props, _ref) {
|
|
14994
15360
|
let {
|
|
14995
15361
|
slots
|
|
@@ -15003,8 +15369,8 @@ const VLayout = genericComponent()({
|
|
|
15003
15369
|
} = createLayout(props);
|
|
15004
15370
|
useRender(() => createVNode("div", {
|
|
15005
15371
|
"ref": layoutRef,
|
|
15006
|
-
"class": layoutClasses.value,
|
|
15007
|
-
"style": layoutStyles.value
|
|
15372
|
+
"class": [layoutClasses.value, props.class],
|
|
15373
|
+
"style": [layoutStyles.value, props.style]
|
|
15008
15374
|
}, [slots.default?.()]));
|
|
15009
15375
|
return {
|
|
15010
15376
|
getLayoutItem,
|
|
@@ -15027,6 +15393,7 @@ const VLayoutItem = genericComponent()({
|
|
|
15027
15393
|
default: 300
|
|
15028
15394
|
},
|
|
15029
15395
|
modelValue: Boolean,
|
|
15396
|
+
...makeComponentProps(),
|
|
15030
15397
|
...makeLayoutItemProps()
|
|
15031
15398
|
},
|
|
15032
15399
|
setup(props, _ref) {
|
|
@@ -15045,8 +15412,8 @@ const VLayoutItem = genericComponent()({
|
|
|
15045
15412
|
absolute: toRef(props, 'absolute')
|
|
15046
15413
|
});
|
|
15047
15414
|
return () => createVNode("div", {
|
|
15048
|
-
"class": ['v-layout-item'],
|
|
15049
|
-
"style": layoutItemStyles.value
|
|
15415
|
+
"class": ['v-layout-item', props.class],
|
|
15416
|
+
"style": [layoutItemStyles.value, props.style]
|
|
15050
15417
|
}, [slots.default?.()]);
|
|
15051
15418
|
}
|
|
15052
15419
|
});
|
|
@@ -15070,6 +15437,7 @@ const VLazy = genericComponent()({
|
|
|
15070
15437
|
threshold: undefined
|
|
15071
15438
|
})
|
|
15072
15439
|
},
|
|
15440
|
+
...makeComponentProps(),
|
|
15073
15441
|
...makeDimensionProps(),
|
|
15074
15442
|
...makeTagProps(),
|
|
15075
15443
|
...makeTransitionProps({
|
|
@@ -15092,8 +15460,8 @@ const VLazy = genericComponent()({
|
|
|
15092
15460
|
isActive.value = isIntersecting;
|
|
15093
15461
|
}
|
|
15094
15462
|
useRender(() => withDirectives(createVNode(props.tag, {
|
|
15095
|
-
"class":
|
|
15096
|
-
"style": dimensionStyles.value
|
|
15463
|
+
"class": ['v-lazy', props.class],
|
|
15464
|
+
"style": [dimensionStyles.value, props.style]
|
|
15097
15465
|
}, {
|
|
15098
15466
|
default: () => [isActive.value && createVNode(MaybeTransition, {
|
|
15099
15467
|
"transition": props.transition,
|
|
@@ -15118,7 +15486,8 @@ const VLocaleProvider = genericComponent()({
|
|
|
15118
15486
|
rtl: {
|
|
15119
15487
|
type: Boolean,
|
|
15120
15488
|
default: undefined
|
|
15121
|
-
}
|
|
15489
|
+
},
|
|
15490
|
+
...makeComponentProps()
|
|
15122
15491
|
},
|
|
15123
15492
|
setup(props, _ref) {
|
|
15124
15493
|
let {
|
|
@@ -15128,7 +15497,8 @@ const VLocaleProvider = genericComponent()({
|
|
|
15128
15497
|
rtlClasses
|
|
15129
15498
|
} = provideLocale(props);
|
|
15130
15499
|
useRender(() => createVNode("div", {
|
|
15131
|
-
"class": ['v-locale-provider', rtlClasses.value]
|
|
15500
|
+
"class": ['v-locale-provider', rtlClasses.value, props.class],
|
|
15501
|
+
"style": props.style
|
|
15132
15502
|
}, [slots.default?.()]));
|
|
15133
15503
|
return {};
|
|
15134
15504
|
}
|
|
@@ -15138,6 +15508,7 @@ const VMain = genericComponent()({
|
|
|
15138
15508
|
name: 'VMain',
|
|
15139
15509
|
props: {
|
|
15140
15510
|
scrollable: Boolean,
|
|
15511
|
+
...makeComponentProps(),
|
|
15141
15512
|
...makeTagProps({
|
|
15142
15513
|
tag: 'main'
|
|
15143
15514
|
})
|
|
@@ -15155,8 +15526,8 @@ const VMain = genericComponent()({
|
|
|
15155
15526
|
useRender(() => createVNode(props.tag, {
|
|
15156
15527
|
"class": ['v-main', {
|
|
15157
15528
|
'v-main--scrollable': props.scrollable
|
|
15158
|
-
}],
|
|
15159
|
-
"style": [mainStyles.value, ssrBootStyles.value]
|
|
15529
|
+
}, props.class],
|
|
15530
|
+
"style": [mainStyles.value, ssrBootStyles.value, props.style]
|
|
15160
15531
|
}, {
|
|
15161
15532
|
default: () => [props.scrollable ? createVNode("div", {
|
|
15162
15533
|
"class": "v-main__scroller"
|
|
@@ -15502,6 +15873,7 @@ const VNavigationDrawer = genericComponent()({
|
|
|
15502
15873
|
},
|
|
15503
15874
|
sticky: Boolean,
|
|
15504
15875
|
...makeBorderProps(),
|
|
15876
|
+
...makeComponentProps(),
|
|
15505
15877
|
...makeElevationProps(),
|
|
15506
15878
|
...makeLayoutItemProps(),
|
|
15507
15879
|
...makeRoundedProps(),
|
|
@@ -15653,8 +16025,8 @@ const VNavigationDrawer = genericComponent()({
|
|
|
15653
16025
|
'v-navigation-drawer--temporary': isTemporary.value,
|
|
15654
16026
|
'v-navigation-drawer--active': isActive.value,
|
|
15655
16027
|
'v-navigation-drawer--sticky': isSticky.value
|
|
15656
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
|
15657
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value]
|
|
16028
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
16029
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
|
15658
16030
|
}, attrs), {
|
|
15659
16031
|
default: () => [hasImage && createVNode("div", {
|
|
15660
16032
|
"key": "image",
|
|
@@ -15783,6 +16155,7 @@ const VPagination = genericComponent()({
|
|
|
15783
16155
|
},
|
|
15784
16156
|
showFirstLastPage: Boolean,
|
|
15785
16157
|
...makeBorderProps(),
|
|
16158
|
+
...makeComponentProps(),
|
|
15786
16159
|
...makeDensityProps(),
|
|
15787
16160
|
...makeElevationProps(),
|
|
15788
16161
|
...makeRoundedProps(),
|
|
@@ -15979,7 +16352,8 @@ const VPagination = genericComponent()({
|
|
|
15979
16352
|
}
|
|
15980
16353
|
useRender(() => createVNode(props.tag, {
|
|
15981
16354
|
"ref": resizeRef,
|
|
15982
|
-
"class": ['v-pagination', themeClasses.value],
|
|
16355
|
+
"class": ['v-pagination', themeClasses.value, props.class],
|
|
16356
|
+
"style": props.style,
|
|
15983
16357
|
"role": "navigation",
|
|
15984
16358
|
"aria-label": t(props.ariaLabel),
|
|
15985
16359
|
"onKeydown": onKeydown,
|
|
@@ -16038,7 +16412,8 @@ const VParallax = genericComponent()({
|
|
|
16038
16412
|
scale: {
|
|
16039
16413
|
type: [Number, String],
|
|
16040
16414
|
default: 0.5
|
|
16041
|
-
}
|
|
16415
|
+
},
|
|
16416
|
+
...makeComponentProps()
|
|
16042
16417
|
},
|
|
16043
16418
|
setup(props, _ref) {
|
|
16044
16419
|
let {
|
|
@@ -16100,7 +16475,8 @@ const VParallax = genericComponent()({
|
|
|
16100
16475
|
useRender(() => createVNode(VImg, {
|
|
16101
16476
|
"class": ['v-parallax', {
|
|
16102
16477
|
'v-parallax--active': isIntersecting.value
|
|
16103
|
-
}],
|
|
16478
|
+
}, props.class],
|
|
16479
|
+
"style": props.style,
|
|
16104
16480
|
"ref": root,
|
|
16105
16481
|
"cover": true,
|
|
16106
16482
|
"onLoadstart": onScroll,
|
|
@@ -16125,7 +16501,8 @@ const VRadio = genericComponent()({
|
|
|
16125
16501
|
slots
|
|
16126
16502
|
} = _ref;
|
|
16127
16503
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
|
16128
|
-
"class":
|
|
16504
|
+
"class": ['v-radio', props.class],
|
|
16505
|
+
"style": props.style,
|
|
16129
16506
|
"type": "radio"
|
|
16130
16507
|
}), slots));
|
|
16131
16508
|
return {};
|
|
@@ -16179,7 +16556,8 @@ const VRadioGroup = genericComponent()({
|
|
|
16179
16556
|
}
|
|
16180
16557
|
}) : props.label;
|
|
16181
16558
|
return createVNode(VInput, mergeProps({
|
|
16182
|
-
"class":
|
|
16559
|
+
"class": ['v-radio-group', props.class],
|
|
16560
|
+
"style": props.style
|
|
16183
16561
|
}, inputAttrs, inputProps, {
|
|
16184
16562
|
"modelValue": model.value,
|
|
16185
16563
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
@@ -16235,11 +16613,14 @@ const VRangeSlider = genericComponent()({
|
|
|
16235
16613
|
},
|
|
16236
16614
|
emits: {
|
|
16237
16615
|
'update:focused': value => true,
|
|
16238
|
-
'update:modelValue': value => true
|
|
16616
|
+
'update:modelValue': value => true,
|
|
16617
|
+
end: value => true,
|
|
16618
|
+
start: value => true
|
|
16239
16619
|
},
|
|
16240
16620
|
setup(props, _ref) {
|
|
16241
16621
|
let {
|
|
16242
|
-
slots
|
|
16622
|
+
slots,
|
|
16623
|
+
emit
|
|
16243
16624
|
} = _ref;
|
|
16244
16625
|
const startThumbRef = ref();
|
|
16245
16626
|
const stopThumbRef = ref();
|
|
@@ -16252,6 +16633,11 @@ const VRangeSlider = genericComponent()({
|
|
|
16252
16633
|
const b = Math.abs(stopOffset);
|
|
16253
16634
|
return a < b || a === b && startOffset < 0 ? startThumbRef.value.$el : stopThumbRef.value.$el;
|
|
16254
16635
|
}
|
|
16636
|
+
const steps = useSteps(props);
|
|
16637
|
+
const model = useProxiedModel(props, 'modelValue', undefined, arr => {
|
|
16638
|
+
if (!arr?.length) return [0, 0];
|
|
16639
|
+
return arr.map(value => steps.roundValue(value));
|
|
16640
|
+
});
|
|
16255
16641
|
const {
|
|
16256
16642
|
activeThumbRef,
|
|
16257
16643
|
hasLabels,
|
|
@@ -16261,34 +16647,37 @@ const VRangeSlider = genericComponent()({
|
|
|
16261
16647
|
onSliderMousedown,
|
|
16262
16648
|
onSliderTouchstart,
|
|
16263
16649
|
position,
|
|
16264
|
-
roundValue,
|
|
16265
16650
|
trackContainerRef
|
|
16266
16651
|
} = useSlider({
|
|
16267
|
-
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
16268
16652
|
props,
|
|
16269
|
-
|
|
16270
|
-
|
|
16653
|
+
steps,
|
|
16654
|
+
onSliderStart: () => {
|
|
16655
|
+
emit('start', model.value);
|
|
16656
|
+
},
|
|
16657
|
+
onSliderEnd: _ref2 => {
|
|
16658
|
+
let {
|
|
16659
|
+
value
|
|
16660
|
+
} = _ref2;
|
|
16661
|
+
const newValue = activeThumbRef.value === startThumbRef.value?.$el ? [value, model.value[1]] : [model.value[0], value];
|
|
16662
|
+
model.value = newValue;
|
|
16663
|
+
emit('end', newValue);
|
|
16271
16664
|
},
|
|
16272
|
-
|
|
16665
|
+
onSliderMove: _ref3 => {
|
|
16666
|
+
let {
|
|
16667
|
+
value
|
|
16668
|
+
} = _ref3;
|
|
16273
16669
|
const [start, stop] = model.value;
|
|
16274
16670
|
if (!props.strict && start === stop && start !== min.value) {
|
|
16275
|
-
activeThumbRef.value =
|
|
16671
|
+
activeThumbRef.value = value > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el;
|
|
16276
16672
|
activeThumbRef.value?.focus();
|
|
16277
16673
|
}
|
|
16278
16674
|
if (activeThumbRef.value === startThumbRef.value?.$el) {
|
|
16279
|
-
model.value = [Math.min(
|
|
16675
|
+
model.value = [Math.min(value, stop), stop];
|
|
16280
16676
|
} else {
|
|
16281
|
-
model.value = [start, Math.max(start,
|
|
16677
|
+
model.value = [start, Math.max(start, value)];
|
|
16282
16678
|
}
|
|
16283
16679
|
},
|
|
16284
16680
|
getActiveThumb
|
|
16285
|
-
/* eslint-enable @typescript-eslint/no-use-before-define */
|
|
16286
|
-
});
|
|
16287
|
-
|
|
16288
|
-
const model = useProxiedModel(props, 'modelValue', undefined, arr => {
|
|
16289
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
16290
|
-
if (!arr || !arr.length) return [0, 0];
|
|
16291
|
-
return arr.map(value => roundValue(value));
|
|
16292
16681
|
});
|
|
16293
16682
|
const {
|
|
16294
16683
|
isFocused,
|
|
@@ -16306,7 +16695,8 @@ const VRangeSlider = genericComponent()({
|
|
|
16306
16695
|
'v-slider--focused': isFocused.value,
|
|
16307
16696
|
'v-slider--pressed': mousePressed.value,
|
|
16308
16697
|
'v-slider--disabled': props.disabled
|
|
16309
|
-
}],
|
|
16698
|
+
}, props.class],
|
|
16699
|
+
"style": props.style,
|
|
16310
16700
|
"ref": inputRef
|
|
16311
16701
|
}, inputProps, {
|
|
16312
16702
|
"focused": isFocused.value
|
|
@@ -16316,11 +16706,11 @@ const VRangeSlider = genericComponent()({
|
|
|
16316
16706
|
"class": "v-slider__label",
|
|
16317
16707
|
"text": props.label
|
|
16318
16708
|
}, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
|
|
16319
|
-
default:
|
|
16709
|
+
default: _ref4 => {
|
|
16320
16710
|
let {
|
|
16321
16711
|
id,
|
|
16322
16712
|
messagesId
|
|
16323
|
-
} =
|
|
16713
|
+
} = _ref4;
|
|
16324
16714
|
return createVNode("div", {
|
|
16325
16715
|
"class": "v-slider__container",
|
|
16326
16716
|
"onMousedown": onSliderMousedown,
|
|
@@ -16449,6 +16839,7 @@ const VRating = genericComponent()({
|
|
|
16449
16839
|
validator: v => ['top', 'bottom'].includes(v)
|
|
16450
16840
|
},
|
|
16451
16841
|
ripple: Boolean,
|
|
16842
|
+
...makeComponentProps(),
|
|
16452
16843
|
...makeDensityProps(),
|
|
16453
16844
|
...makeSizeProps(),
|
|
16454
16845
|
...makeTagProps(),
|
|
@@ -16472,9 +16863,6 @@ const VRating = genericComponent()({
|
|
|
16472
16863
|
const range = computed(() => createRange(Number(props.length), 1));
|
|
16473
16864
|
const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]));
|
|
16474
16865
|
const hoverIndex = ref(-1);
|
|
16475
|
-
const focusIndex = ref(-1);
|
|
16476
|
-
const firstRef = ref();
|
|
16477
|
-
let isClicking = false;
|
|
16478
16866
|
const itemState = computed(() => increments.value.map(value => {
|
|
16479
16867
|
const isHovering = props.hover && hoverIndex.value > -1;
|
|
16480
16868
|
const isFilled = normalizedValue.value >= value;
|
|
@@ -16497,16 +16885,6 @@ const VRating = genericComponent()({
|
|
|
16497
16885
|
function onMouseleave() {
|
|
16498
16886
|
hoverIndex.value = -1;
|
|
16499
16887
|
}
|
|
16500
|
-
function onFocus() {
|
|
16501
|
-
if (value === 0 && normalizedValue.value === 0) {
|
|
16502
|
-
firstRef.value?.focus();
|
|
16503
|
-
} else {
|
|
16504
|
-
focusIndex.value = value;
|
|
16505
|
-
}
|
|
16506
|
-
}
|
|
16507
|
-
function onBlur() {
|
|
16508
|
-
if (!isClicking) focusIndex.value = -1;
|
|
16509
|
-
}
|
|
16510
16888
|
function onClick() {
|
|
16511
16889
|
if (props.disabled || props.readonly) return;
|
|
16512
16890
|
rating.value = normalizedValue.value === value && props.clearable ? 0 : value;
|
|
@@ -16514,17 +16892,9 @@ const VRating = genericComponent()({
|
|
|
16514
16892
|
return {
|
|
16515
16893
|
onMouseenter: props.hover ? onMouseenter : undefined,
|
|
16516
16894
|
onMouseleave: props.hover ? onMouseleave : undefined,
|
|
16517
|
-
onFocus,
|
|
16518
|
-
onBlur,
|
|
16519
16895
|
onClick
|
|
16520
16896
|
};
|
|
16521
16897
|
}));
|
|
16522
|
-
function onMousedown() {
|
|
16523
|
-
isClicking = true;
|
|
16524
|
-
}
|
|
16525
|
-
function onMouseup() {
|
|
16526
|
-
isClicking = false;
|
|
16527
|
-
}
|
|
16528
16898
|
const name = computed(() => props.name ?? `v-rating-${getUid()}`);
|
|
16529
16899
|
function VRatingItem(_ref2) {
|
|
16530
16900
|
let {
|
|
@@ -16535,8 +16905,6 @@ const VRating = genericComponent()({
|
|
|
16535
16905
|
const {
|
|
16536
16906
|
onMouseenter,
|
|
16537
16907
|
onMouseleave,
|
|
16538
|
-
onFocus,
|
|
16539
|
-
onBlur,
|
|
16540
16908
|
onClick
|
|
16541
16909
|
} = eventState.value[index + 1];
|
|
16542
16910
|
const id = `${name.value}-${String(value).replace('.', '-')}`;
|
|
@@ -16547,7 +16915,6 @@ const VRating = genericComponent()({
|
|
|
16547
16915
|
icon: itemState.value[index]?.icon,
|
|
16548
16916
|
ripple: props.ripple,
|
|
16549
16917
|
size: props.size,
|
|
16550
|
-
tag: 'span',
|
|
16551
16918
|
variant: 'plain'
|
|
16552
16919
|
};
|
|
16553
16920
|
return createVNode(Fragment, null, [createVNode("label", {
|
|
@@ -16556,17 +16923,17 @@ const VRating = genericComponent()({
|
|
|
16556
16923
|
'v-rating__item--half': props.halfIncrements && value % 1 > 0,
|
|
16557
16924
|
'v-rating__item--full': props.halfIncrements && value % 1 === 0
|
|
16558
16925
|
},
|
|
16559
|
-
"onMousedown": onMousedown,
|
|
16560
|
-
"onMouseup": onMouseup,
|
|
16561
16926
|
"onMouseenter": onMouseenter,
|
|
16562
|
-
"onMouseleave": onMouseleave
|
|
16927
|
+
"onMouseleave": onMouseleave,
|
|
16928
|
+
"onClick": onClick
|
|
16563
16929
|
}, [createVNode("span", {
|
|
16564
16930
|
"class": "v-rating__hidden"
|
|
16565
16931
|
}, [t(props.itemAriaLabel, value, props.length)]), !showStar ? undefined : slots.item ? slots.item({
|
|
16566
16932
|
...itemState.value[index],
|
|
16567
16933
|
props: btnProps,
|
|
16568
16934
|
value,
|
|
16569
|
-
index
|
|
16935
|
+
index,
|
|
16936
|
+
rating: normalizedValue.value
|
|
16570
16937
|
}) : createVNode(VBtn, btnProps, null)]), createVNode("input", {
|
|
16571
16938
|
"class": "v-rating__hidden",
|
|
16572
16939
|
"name": name.value,
|
|
@@ -16574,10 +16941,7 @@ const VRating = genericComponent()({
|
|
|
16574
16941
|
"type": "radio",
|
|
16575
16942
|
"value": value,
|
|
16576
16943
|
"checked": normalizedValue.value === value,
|
|
16577
|
-
"
|
|
16578
|
-
"onFocus": onFocus,
|
|
16579
|
-
"onBlur": onBlur,
|
|
16580
|
-
"ref": index === 0 ? firstRef : undefined,
|
|
16944
|
+
"tabindex": -1,
|
|
16581
16945
|
"readonly": props.readonly,
|
|
16582
16946
|
"disabled": props.disabled
|
|
16583
16947
|
}, null)]);
|
|
@@ -16593,7 +16957,8 @@ const VRating = genericComponent()({
|
|
|
16593
16957
|
"class": ['v-rating', {
|
|
16594
16958
|
'v-rating--hover': props.hover,
|
|
16595
16959
|
'v-rating--readonly': props.readonly
|
|
16596
|
-
}, themeClasses.value]
|
|
16960
|
+
}, themeClasses.value, props.class],
|
|
16961
|
+
"style": props.style
|
|
16597
16962
|
}, {
|
|
16598
16963
|
default: () => [createVNode(VRatingItem, {
|
|
16599
16964
|
"value": 0,
|
|
@@ -16606,9 +16971,7 @@ const VRating = genericComponent()({
|
|
|
16606
16971
|
index: i,
|
|
16607
16972
|
label: props.itemLabels?.[i]
|
|
16608
16973
|
}) : undefined, createVNode("div", {
|
|
16609
|
-
"class":
|
|
16610
|
-
'v-rating__item--focused': Math.ceil(focusIndex.value) === value
|
|
16611
|
-
}]
|
|
16974
|
+
"class": "v-rating__item"
|
|
16612
16975
|
}, [props.halfIncrements ? createVNode(Fragment, null, [createVNode(VRatingItem, {
|
|
16613
16976
|
"value": value - 0.5,
|
|
16614
16977
|
"index": i * 2
|
|
@@ -16695,6 +17058,7 @@ const makeVSlideGroupProps = propsFactory({
|
|
|
16695
17058
|
type: [Boolean, String],
|
|
16696
17059
|
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
|
16697
17060
|
},
|
|
17061
|
+
...makeComponentProps(),
|
|
16698
17062
|
...makeTagProps(),
|
|
16699
17063
|
...makeGroupProps({
|
|
16700
17064
|
selectedClass: 'v-slide-group-item--active'
|
|
@@ -16858,7 +17222,7 @@ const VSlideGroup = genericComponent()({
|
|
|
16858
17222
|
function focus(location) {
|
|
16859
17223
|
if (!contentRef.value) return;
|
|
16860
17224
|
if (!location) {
|
|
16861
|
-
const focusable =
|
|
17225
|
+
const focusable = focusableChildren(contentRef.value);
|
|
16862
17226
|
focusable[0]?.focus();
|
|
16863
17227
|
} else if (location === 'next') {
|
|
16864
17228
|
const el = contentRef.value.querySelector(':focus')?.nextElementSibling;
|
|
@@ -16935,7 +17299,8 @@ const VSlideGroup = genericComponent()({
|
|
|
16935
17299
|
'v-slide-group--vertical': !isHorizontal.value,
|
|
16936
17300
|
'v-slide-group--has-affixes': hasAffixes.value,
|
|
16937
17301
|
'v-slide-group--is-overflowing': isOverflowing.value
|
|
16938
|
-
}],
|
|
17302
|
+
}, props.class],
|
|
17303
|
+
"style": props.style,
|
|
16939
17304
|
"tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
|
|
16940
17305
|
"onFocus": onFocus
|
|
16941
17306
|
}, {
|
|
@@ -17085,7 +17450,8 @@ const VSnackbar = genericComponent()({
|
|
|
17085
17450
|
'v-snackbar--active': isActive.value,
|
|
17086
17451
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
|
17087
17452
|
'v-snackbar--vertical': props.vertical
|
|
17088
|
-
}, positionClasses.value]
|
|
17453
|
+
}, positionClasses.value, props.class],
|
|
17454
|
+
"style": props.style
|
|
17089
17455
|
}, overlayProps, {
|
|
17090
17456
|
"modelValue": isActive.value,
|
|
17091
17457
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
@@ -17185,7 +17551,8 @@ const VSwitch = genericComponent()({
|
|
|
17185
17551
|
'v-switch--inset': props.inset
|
|
17186
17552
|
}, {
|
|
17187
17553
|
'v-switch--indeterminate': indeterminate.value
|
|
17188
|
-
}, loaderClasses.value]
|
|
17554
|
+
}, loaderClasses.value, props.class],
|
|
17555
|
+
"style": props.style
|
|
17189
17556
|
}, inputAttrs, inputProps, {
|
|
17190
17557
|
"id": id.value,
|
|
17191
17558
|
"focused": isFocused.value
|
|
@@ -17254,6 +17621,7 @@ const VSystemBar = genericComponent()({
|
|
|
17254
17621
|
color: String,
|
|
17255
17622
|
height: [Number, String],
|
|
17256
17623
|
window: Boolean,
|
|
17624
|
+
...makeComponentProps(),
|
|
17257
17625
|
...makeElevationProps(),
|
|
17258
17626
|
...makeLayoutItemProps(),
|
|
17259
17627
|
...makeRoundedProps(),
|
|
@@ -17295,8 +17663,8 @@ const VSystemBar = genericComponent()({
|
|
|
17295
17663
|
useRender(() => createVNode(props.tag, {
|
|
17296
17664
|
"class": ['v-system-bar', {
|
|
17297
17665
|
'v-system-bar--window': props.window
|
|
17298
|
-
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
|
|
17299
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value]
|
|
17666
|
+
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
17667
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
|
|
17300
17668
|
}, slots));
|
|
17301
17669
|
return {};
|
|
17302
17670
|
}
|
|
@@ -17308,7 +17676,6 @@ const VTab = genericComponent()({
|
|
|
17308
17676
|
name: 'VTab',
|
|
17309
17677
|
props: {
|
|
17310
17678
|
fixed: Boolean,
|
|
17311
|
-
title: String,
|
|
17312
17679
|
sliderColor: String,
|
|
17313
17680
|
hideSlider: Boolean,
|
|
17314
17681
|
direction: {
|
|
@@ -17370,10 +17737,10 @@ const VTab = genericComponent()({
|
|
|
17370
17737
|
useRender(() => {
|
|
17371
17738
|
const [btnProps] = VBtn.filterProps(props);
|
|
17372
17739
|
return createVNode(VBtn, mergeProps({
|
|
17373
|
-
"_as": "VTab",
|
|
17374
17740
|
"symbol": VTabsSymbol,
|
|
17375
17741
|
"ref": rootEl,
|
|
17376
|
-
"class": ['v-tab'],
|
|
17742
|
+
"class": ['v-tab', props.class],
|
|
17743
|
+
"style": props.style,
|
|
17377
17744
|
"tabindex": isSelected.value ? 0 : -1,
|
|
17378
17745
|
"role": "tab",
|
|
17379
17746
|
"aria-selected": String(isSelected.value),
|
|
@@ -17384,7 +17751,7 @@ const VTab = genericComponent()({
|
|
|
17384
17751
|
}, btnProps, attrs, {
|
|
17385
17752
|
"onGroup:selected": updateSlider
|
|
17386
17753
|
}), {
|
|
17387
|
-
default: () => [slots.default
|
|
17754
|
+
default: () => [slots.default?.() ?? props.text, !props.hideSlider && createVNode("div", {
|
|
17388
17755
|
"ref": sliderEl,
|
|
17389
17756
|
"class": ['v-tab__slider', sliderColorClasses.value],
|
|
17390
17757
|
"style": sliderColorStyles.value
|
|
@@ -17468,10 +17835,10 @@ const VTabs = genericComponent()({
|
|
|
17468
17835
|
'v-tabs--fixed-tabs': props.fixedTabs,
|
|
17469
17836
|
'v-tabs--grow': props.grow,
|
|
17470
17837
|
'v-tabs--stacked': props.stacked
|
|
17471
|
-
}, densityClasses.value, backgroundColorClasses.value],
|
|
17838
|
+
}, densityClasses.value, backgroundColorClasses.value, props.class],
|
|
17472
17839
|
"style": [{
|
|
17473
17840
|
'--v-tabs-height': convertToUnit(props.height)
|
|
17474
|
-
}, backgroundColorStyles.value],
|
|
17841
|
+
}, backgroundColorStyles.value, props.style],
|
|
17475
17842
|
"role": "tablist",
|
|
17476
17843
|
"symbol": VTabsSymbol
|
|
17477
17844
|
}), {
|
|
@@ -17491,6 +17858,7 @@ const VTable = genericComponent()({
|
|
|
17491
17858
|
fixedFooter: Boolean,
|
|
17492
17859
|
height: [Number, String],
|
|
17493
17860
|
hover: Boolean,
|
|
17861
|
+
...makeComponentProps(),
|
|
17494
17862
|
...makeDensityProps(),
|
|
17495
17863
|
...makeTagProps(),
|
|
17496
17864
|
...makeThemeProps()
|
|
@@ -17513,7 +17881,8 @@ const VTable = genericComponent()({
|
|
|
17513
17881
|
'v-table--has-top': !!slots.top,
|
|
17514
17882
|
'v-table--has-bottom': !!slots.bottom,
|
|
17515
17883
|
'v-table--hover': props.hover
|
|
17516
|
-
}, themeClasses.value, densityClasses.value]
|
|
17884
|
+
}, themeClasses.value, densityClasses.value, props.class],
|
|
17885
|
+
"style": props.style
|
|
17517
17886
|
}, {
|
|
17518
17887
|
default: () => [slots.top?.(), slots.default ? createVNode("div", {
|
|
17519
17888
|
"class": "v-table__wrapper",
|
|
@@ -17678,7 +18047,8 @@ const VTextarea = genericComponent()({
|
|
|
17678
18047
|
'v-textarea--auto-grow': props.autoGrow,
|
|
17679
18048
|
'v-textarea--no-resize': props.noResize || props.autoGrow,
|
|
17680
18049
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
|
17681
|
-
}]
|
|
18050
|
+
}, props.class],
|
|
18051
|
+
"style": props.style
|
|
17682
18052
|
}, rootAttrs, inputProps, {
|
|
17683
18053
|
"focused": isFocused.value
|
|
17684
18054
|
}), {
|
|
@@ -17762,6 +18132,7 @@ const VThemeProvider = genericComponent()({
|
|
|
17762
18132
|
name: 'VThemeProvider',
|
|
17763
18133
|
props: {
|
|
17764
18134
|
withBackground: Boolean,
|
|
18135
|
+
...makeComponentProps(),
|
|
17765
18136
|
...makeThemeProps(),
|
|
17766
18137
|
...makeTagProps()
|
|
17767
18138
|
},
|
|
@@ -17775,7 +18146,8 @@ const VThemeProvider = genericComponent()({
|
|
|
17775
18146
|
return () => {
|
|
17776
18147
|
if (!props.withBackground) return slots.default?.();
|
|
17777
18148
|
return createVNode(props.tag, {
|
|
17778
|
-
"class": ['v-theme-provider', themeClasses.value]
|
|
18149
|
+
"class": ['v-theme-provider', themeClasses.value, props.class],
|
|
18150
|
+
"style": props.style
|
|
17779
18151
|
}, {
|
|
17780
18152
|
default: () => [slots.default?.()]
|
|
17781
18153
|
});
|
|
@@ -17820,6 +18192,7 @@ const VTimeline = genericComponent()({
|
|
|
17820
18192
|
type: String,
|
|
17821
18193
|
validator: v => ['start', 'end', 'both'].includes(v)
|
|
17822
18194
|
},
|
|
18195
|
+
...makeComponentProps(),
|
|
17823
18196
|
...makeDensityProps(),
|
|
17824
18197
|
...makeTagProps(),
|
|
17825
18198
|
...makeThemeProps()
|
|
@@ -17863,10 +18236,10 @@ const VTimeline = genericComponent()({
|
|
|
17863
18236
|
useRender(() => createVNode(props.tag, {
|
|
17864
18237
|
"class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
|
|
17865
18238
|
'v-timeline--inset-line': !!props.lineInset
|
|
17866
|
-
}, themeClasses.value, densityClasses.value, sideClasses.value],
|
|
17867
|
-
"style": {
|
|
18239
|
+
}, themeClasses.value, densityClasses.value, sideClasses.value, props.class],
|
|
18240
|
+
"style": [{
|
|
17868
18241
|
'--v-timeline-line-thickness': convertToUnit(props.lineThickness)
|
|
17869
|
-
}
|
|
18242
|
+
}, props.style]
|
|
17870
18243
|
}, slots));
|
|
17871
18244
|
return {};
|
|
17872
18245
|
}
|
|
@@ -17881,6 +18254,7 @@ const VTimelineDivider = genericComponent()({
|
|
|
17881
18254
|
icon: IconValue,
|
|
17882
18255
|
iconColor: String,
|
|
17883
18256
|
lineColor: String,
|
|
18257
|
+
...makeComponentProps(),
|
|
17884
18258
|
...makeRoundedProps(),
|
|
17885
18259
|
...makeSizeProps(),
|
|
17886
18260
|
...makeElevationProps()
|
|
@@ -17910,7 +18284,8 @@ const VTimelineDivider = genericComponent()({
|
|
|
17910
18284
|
useRender(() => createVNode("div", {
|
|
17911
18285
|
"class": ['v-timeline-divider', {
|
|
17912
18286
|
'v-timeline-divider--fill-dot': props.fillDot
|
|
17913
|
-
}]
|
|
18287
|
+
}, props.class],
|
|
18288
|
+
"style": props.style
|
|
17914
18289
|
}, [createVNode("div", {
|
|
17915
18290
|
"class": ['v-timeline-divider__before', lineColorClasses.value],
|
|
17916
18291
|
"style": lineColorStyles.value
|
|
@@ -17960,11 +18335,12 @@ const VTimelineItem = genericComponent()({
|
|
|
17960
18335
|
icon: IconValue,
|
|
17961
18336
|
iconColor: String,
|
|
17962
18337
|
lineInset: [Number, String],
|
|
17963
|
-
...
|
|
18338
|
+
...makeComponentProps(),
|
|
18339
|
+
...makeDimensionProps(),
|
|
17964
18340
|
...makeElevationProps(),
|
|
18341
|
+
...makeRoundedProps(),
|
|
17965
18342
|
...makeSizeProps(),
|
|
17966
|
-
...makeTagProps()
|
|
17967
|
-
...makeDimensionProps()
|
|
18343
|
+
...makeTagProps()
|
|
17968
18344
|
},
|
|
17969
18345
|
setup(props, _ref) {
|
|
17970
18346
|
let {
|
|
@@ -17984,11 +18360,11 @@ const VTimelineItem = genericComponent()({
|
|
|
17984
18360
|
useRender(() => createVNode("div", {
|
|
17985
18361
|
"class": ['v-timeline-item', {
|
|
17986
18362
|
'v-timeline-item--fill-dot': props.fillDot
|
|
17987
|
-
}],
|
|
17988
|
-
"style": {
|
|
18363
|
+
}, props.class],
|
|
18364
|
+
"style": [{
|
|
17989
18365
|
'--v-timeline-dot-size': convertToUnit(dotSize.value),
|
|
17990
18366
|
'--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
|
|
17991
|
-
}
|
|
18367
|
+
}, props.style]
|
|
17992
18368
|
}, [createVNode("div", {
|
|
17993
18369
|
"class": "v-timeline-item__body",
|
|
17994
18370
|
"style": dimensionStyles.value
|
|
@@ -18022,6 +18398,7 @@ const VTooltip = genericComponent()({
|
|
|
18022
18398
|
closeOnBack: false,
|
|
18023
18399
|
location: 'end',
|
|
18024
18400
|
locationStrategy: 'connected',
|
|
18401
|
+
eager: true,
|
|
18025
18402
|
minWidth: 0,
|
|
18026
18403
|
offset: 10,
|
|
18027
18404
|
openOnClick: false,
|
|
@@ -18030,7 +18407,7 @@ const VTooltip = genericComponent()({
|
|
|
18030
18407
|
scrim: false,
|
|
18031
18408
|
scrollStrategy: 'reposition',
|
|
18032
18409
|
transition: false
|
|
18033
|
-
}), ['absolute', 'persistent'
|
|
18410
|
+
}), ['absolute', 'persistent'])
|
|
18034
18411
|
},
|
|
18035
18412
|
emits: {
|
|
18036
18413
|
'update:modelValue': value => true
|
|
@@ -18063,7 +18440,8 @@ const VTooltip = genericComponent()({
|
|
|
18063
18440
|
const [overlayProps] = VOverlay.filterProps(props);
|
|
18064
18441
|
return createVNode(VOverlay, mergeProps({
|
|
18065
18442
|
"ref": overlay,
|
|
18066
|
-
"class": ['v-tooltip'],
|
|
18443
|
+
"class": ['v-tooltip', props.class],
|
|
18444
|
+
"style": props.style,
|
|
18067
18445
|
"id": id.value
|
|
18068
18446
|
}, overlayProps, {
|
|
18069
18447
|
"modelValue": isActive.value,
|
|
@@ -18074,7 +18452,6 @@ const VTooltip = genericComponent()({
|
|
|
18074
18452
|
"origin": origin.value,
|
|
18075
18453
|
"persistent": true,
|
|
18076
18454
|
"role": "tooltip",
|
|
18077
|
-
"eager": true,
|
|
18078
18455
|
"activatorProps": activatorProps.value,
|
|
18079
18456
|
"_disableGlobalStack": true
|
|
18080
18457
|
}, scopeId), {
|
|
@@ -18109,6 +18486,176 @@ const VValidation = genericComponent()({
|
|
|
18109
18486
|
}
|
|
18110
18487
|
});
|
|
18111
18488
|
|
|
18489
|
+
const VVirtualScrollItem = genericComponent()({
|
|
18490
|
+
name: 'VVirtualScrollItem',
|
|
18491
|
+
props: {
|
|
18492
|
+
dynamicHeight: Boolean,
|
|
18493
|
+
...makeComponentProps()
|
|
18494
|
+
},
|
|
18495
|
+
emits: {
|
|
18496
|
+
'update:height': height => true
|
|
18497
|
+
},
|
|
18498
|
+
setup(props, _ref) {
|
|
18499
|
+
let {
|
|
18500
|
+
emit,
|
|
18501
|
+
slots
|
|
18502
|
+
} = _ref;
|
|
18503
|
+
const {
|
|
18504
|
+
resizeRef,
|
|
18505
|
+
contentRect
|
|
18506
|
+
} = useResizeObserver();
|
|
18507
|
+
useToggleScope(() => props.dynamicHeight, () => {
|
|
18508
|
+
watch(() => contentRect.value?.height, height => {
|
|
18509
|
+
if (height != null) emit('update:height', height);
|
|
18510
|
+
});
|
|
18511
|
+
});
|
|
18512
|
+
function updateHeight() {
|
|
18513
|
+
if (props.dynamicHeight && contentRect.value) {
|
|
18514
|
+
emit('update:height', contentRect.value.height);
|
|
18515
|
+
}
|
|
18516
|
+
}
|
|
18517
|
+
onUpdated(updateHeight);
|
|
18518
|
+
useRender(() => createVNode("div", {
|
|
18519
|
+
"ref": props.dynamicHeight ? resizeRef : undefined,
|
|
18520
|
+
"class": ['v-virtual-scroll__item', props.class],
|
|
18521
|
+
"style": props.style
|
|
18522
|
+
}, [slots.default?.()]));
|
|
18523
|
+
}
|
|
18524
|
+
});
|
|
18525
|
+
|
|
18526
|
+
// Types
|
|
18527
|
+
|
|
18528
|
+
const UP = -1;
|
|
18529
|
+
const DOWN = 1;
|
|
18530
|
+
const VVirtualScroll = genericComponent()({
|
|
18531
|
+
name: 'VVirtualScroll',
|
|
18532
|
+
props: {
|
|
18533
|
+
items: {
|
|
18534
|
+
type: Array,
|
|
18535
|
+
default: () => []
|
|
18536
|
+
},
|
|
18537
|
+
itemHeight: [Number, String],
|
|
18538
|
+
...makeComponentProps(),
|
|
18539
|
+
...makeDimensionProps()
|
|
18540
|
+
},
|
|
18541
|
+
setup(props, _ref) {
|
|
18542
|
+
let {
|
|
18543
|
+
slots
|
|
18544
|
+
} = _ref;
|
|
18545
|
+
const first = ref(0);
|
|
18546
|
+
const baseItemHeight = ref(props.itemHeight);
|
|
18547
|
+
const itemHeight = computed({
|
|
18548
|
+
get: () => parseInt(baseItemHeight.value ?? 0, 10),
|
|
18549
|
+
set(val) {
|
|
18550
|
+
baseItemHeight.value = val;
|
|
18551
|
+
}
|
|
18552
|
+
});
|
|
18553
|
+
const rootEl = ref();
|
|
18554
|
+
const {
|
|
18555
|
+
resizeRef,
|
|
18556
|
+
contentRect
|
|
18557
|
+
} = useResizeObserver();
|
|
18558
|
+
watchEffect(() => {
|
|
18559
|
+
resizeRef.value = rootEl.value;
|
|
18560
|
+
});
|
|
18561
|
+
const display = useDisplay();
|
|
18562
|
+
const sizeMap = new Map();
|
|
18563
|
+
let sizes = createRange(props.items.length).map(() => itemHeight.value);
|
|
18564
|
+
const visibleItems = computed(() => {
|
|
18565
|
+
return Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
|
|
18566
|
+
});
|
|
18567
|
+
function handleItemResize(index, height) {
|
|
18568
|
+
itemHeight.value = Math.max(itemHeight.value, height);
|
|
18569
|
+
sizes[index] = height;
|
|
18570
|
+
sizeMap.set(props.items[index], height);
|
|
18571
|
+
}
|
|
18572
|
+
function calculateOffset(index) {
|
|
18573
|
+
return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
|
|
18574
|
+
}
|
|
18575
|
+
function calculateMidPointIndex(scrollTop) {
|
|
18576
|
+
const end = props.items.length;
|
|
18577
|
+
let middle = 0;
|
|
18578
|
+
let middleOffset = 0;
|
|
18579
|
+
while (middleOffset < scrollTop && middle < end) {
|
|
18580
|
+
middleOffset += sizes[middle++] || itemHeight.value;
|
|
18581
|
+
}
|
|
18582
|
+
return middle - 1;
|
|
18583
|
+
}
|
|
18584
|
+
let lastScrollTop = 0;
|
|
18585
|
+
function handleScroll() {
|
|
18586
|
+
if (!rootEl.value || !contentRect.value) return;
|
|
18587
|
+
const height = contentRect.value.height;
|
|
18588
|
+
const scrollTop = rootEl.value.scrollTop;
|
|
18589
|
+
const direction = scrollTop < lastScrollTop ? UP : DOWN;
|
|
18590
|
+
const midPointIndex = calculateMidPointIndex(scrollTop + height / 2);
|
|
18591
|
+
const buffer = Math.round(visibleItems.value / 3);
|
|
18592
|
+
if (direction === UP && midPointIndex <= first.value + buffer * 2 - 1) {
|
|
18593
|
+
first.value = clamp(midPointIndex - buffer, 0, props.items.length);
|
|
18594
|
+
} else if (direction === DOWN && midPointIndex >= first.value + buffer * 2 - 1) {
|
|
18595
|
+
first.value = clamp(midPointIndex - buffer, 0, props.items.length - visibleItems.value);
|
|
18596
|
+
}
|
|
18597
|
+
lastScrollTop = rootEl.value.scrollTop;
|
|
18598
|
+
}
|
|
18599
|
+
function scrollToIndex(index) {
|
|
18600
|
+
if (!rootEl.value) return;
|
|
18601
|
+
const offset = calculateOffset(index);
|
|
18602
|
+
rootEl.value.scrollTop = offset;
|
|
18603
|
+
}
|
|
18604
|
+
const items = computed(() => props.items.map((item, index) => ({
|
|
18605
|
+
raw: item,
|
|
18606
|
+
index
|
|
18607
|
+
})));
|
|
18608
|
+
const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value));
|
|
18609
|
+
const computedItems = computed(() => items.value.slice(first.value, last.value));
|
|
18610
|
+
const paddingTop = computed(() => calculateOffset(first.value));
|
|
18611
|
+
const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
|
|
18612
|
+
const {
|
|
18613
|
+
dimensionStyles
|
|
18614
|
+
} = useDimension(props);
|
|
18615
|
+
onMounted(() => {
|
|
18616
|
+
if (!itemHeight.value) {
|
|
18617
|
+
// If itemHeight prop is not set, then calculate an estimated height from the average of inital items
|
|
18618
|
+
itemHeight.value = sizes.slice(first.value, last.value).reduce((curr, height) => curr + height, 0) / visibleItems.value;
|
|
18619
|
+
}
|
|
18620
|
+
});
|
|
18621
|
+
watch(() => props.items.length, () => {
|
|
18622
|
+
sizes = createRange(props.items.length).map(() => itemHeight.value);
|
|
18623
|
+
sizeMap.forEach((height, item) => {
|
|
18624
|
+
const index = props.items.indexOf(item);
|
|
18625
|
+
if (index === -1) {
|
|
18626
|
+
sizeMap.delete(item);
|
|
18627
|
+
} else {
|
|
18628
|
+
sizes[index] = height;
|
|
18629
|
+
}
|
|
18630
|
+
});
|
|
18631
|
+
});
|
|
18632
|
+
useRender(() => createVNode("div", {
|
|
18633
|
+
"ref": rootEl,
|
|
18634
|
+
"class": ['v-virtual-scroll', props.class],
|
|
18635
|
+
"onScroll": handleScroll,
|
|
18636
|
+
"style": [dimensionStyles.value, props.style]
|
|
18637
|
+
}, [createVNode("div", {
|
|
18638
|
+
"class": "v-virtual-scroll__container",
|
|
18639
|
+
"style": {
|
|
18640
|
+
paddingTop: convertToUnit(paddingTop.value),
|
|
18641
|
+
paddingBottom: convertToUnit(paddingBottom.value)
|
|
18642
|
+
}
|
|
18643
|
+
}, [computedItems.value.map(item => createVNode(VVirtualScrollItem, {
|
|
18644
|
+
"key": item.index,
|
|
18645
|
+
"dynamicHeight": !props.itemHeight,
|
|
18646
|
+
"onUpdate:height": height => handleItemResize(item.index, height)
|
|
18647
|
+
}, {
|
|
18648
|
+
default: () => [slots.default?.({
|
|
18649
|
+
item: item.raw,
|
|
18650
|
+
index: item.index
|
|
18651
|
+
})]
|
|
18652
|
+
}))])]));
|
|
18653
|
+
return {
|
|
18654
|
+
scrollToIndex
|
|
18655
|
+
};
|
|
18656
|
+
}
|
|
18657
|
+
});
|
|
18658
|
+
|
|
18112
18659
|
var components = /*#__PURE__*/Object.freeze({
|
|
18113
18660
|
__proto__: null,
|
|
18114
18661
|
VAlert: VAlert,
|
|
@@ -18241,6 +18788,7 @@ var components = /*#__PURE__*/Object.freeze({
|
|
|
18241
18788
|
VToolbarTitle: VToolbarTitle,
|
|
18242
18789
|
VTooltip: VTooltip,
|
|
18243
18790
|
VValidation: VValidation,
|
|
18791
|
+
VVirtualScroll: VVirtualScroll,
|
|
18244
18792
|
VWindow: VWindow,
|
|
18245
18793
|
VWindowItem: VWindowItem
|
|
18246
18794
|
});
|
|
@@ -18372,6 +18920,418 @@ var directives = /*#__PURE__*/Object.freeze({
|
|
|
18372
18920
|
Touch: Touch
|
|
18373
18921
|
});
|
|
18374
18922
|
|
|
18923
|
+
// Utilities
|
|
18924
|
+
|
|
18925
|
+
// Types
|
|
18926
|
+
|
|
18927
|
+
function getWeekArray(date) {
|
|
18928
|
+
let currentWeek = [];
|
|
18929
|
+
const weeks = [];
|
|
18930
|
+
const firstDayOfMonth = startOfMonth(date);
|
|
18931
|
+
const lastDayOfMonth = endOfMonth(date);
|
|
18932
|
+
for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
|
|
18933
|
+
currentWeek.push(null);
|
|
18934
|
+
}
|
|
18935
|
+
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
|
18936
|
+
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
|
18937
|
+
|
|
18938
|
+
// Add the day to the current week
|
|
18939
|
+
currentWeek.push(day);
|
|
18940
|
+
|
|
18941
|
+
// If the current week has 7 days, add it to the weeks array and start a new week
|
|
18942
|
+
if (currentWeek.length === 7) {
|
|
18943
|
+
weeks.push(currentWeek);
|
|
18944
|
+
currentWeek = [];
|
|
18945
|
+
}
|
|
18946
|
+
}
|
|
18947
|
+
for (let i = currentWeek.length; i < 7; i++) {
|
|
18948
|
+
currentWeek.push(null);
|
|
18949
|
+
}
|
|
18950
|
+
weeks.push(currentWeek);
|
|
18951
|
+
return weeks;
|
|
18952
|
+
}
|
|
18953
|
+
function startOfMonth(date) {
|
|
18954
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
|
18955
|
+
}
|
|
18956
|
+
function endOfMonth(date) {
|
|
18957
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
|
18958
|
+
}
|
|
18959
|
+
function date(value) {
|
|
18960
|
+
if (value == null) return null;
|
|
18961
|
+
if (value instanceof Date) return value;
|
|
18962
|
+
if (typeof value === 'string') {
|
|
18963
|
+
const parsed = Date.parse(value);
|
|
18964
|
+
if (!isNaN(parsed)) return new Date(parsed);
|
|
18965
|
+
}
|
|
18966
|
+
return null;
|
|
18967
|
+
}
|
|
18968
|
+
const firstDay = {
|
|
18969
|
+
'001': 1,
|
|
18970
|
+
AD: 1,
|
|
18971
|
+
AE: 6,
|
|
18972
|
+
AF: 6,
|
|
18973
|
+
AG: 0,
|
|
18974
|
+
AI: 1,
|
|
18975
|
+
AL: 1,
|
|
18976
|
+
AM: 1,
|
|
18977
|
+
AN: 1,
|
|
18978
|
+
AR: 1,
|
|
18979
|
+
AS: 0,
|
|
18980
|
+
AT: 1,
|
|
18981
|
+
AU: 0,
|
|
18982
|
+
AX: 1,
|
|
18983
|
+
AZ: 1,
|
|
18984
|
+
BA: 1,
|
|
18985
|
+
BD: 0,
|
|
18986
|
+
BE: 1,
|
|
18987
|
+
BG: 1,
|
|
18988
|
+
BH: 6,
|
|
18989
|
+
BM: 1,
|
|
18990
|
+
BN: 1,
|
|
18991
|
+
BR: 0,
|
|
18992
|
+
BS: 0,
|
|
18993
|
+
BT: 0,
|
|
18994
|
+
BW: 0,
|
|
18995
|
+
BY: 1,
|
|
18996
|
+
BZ: 0,
|
|
18997
|
+
CA: 0,
|
|
18998
|
+
CH: 1,
|
|
18999
|
+
CL: 1,
|
|
19000
|
+
CM: 1,
|
|
19001
|
+
CN: 0,
|
|
19002
|
+
CO: 0,
|
|
19003
|
+
CR: 1,
|
|
19004
|
+
CY: 1,
|
|
19005
|
+
CZ: 1,
|
|
19006
|
+
DE: 1,
|
|
19007
|
+
DJ: 6,
|
|
19008
|
+
DK: 1,
|
|
19009
|
+
DM: 0,
|
|
19010
|
+
DO: 0,
|
|
19011
|
+
DZ: 6,
|
|
19012
|
+
EC: 1,
|
|
19013
|
+
EE: 1,
|
|
19014
|
+
EG: 6,
|
|
19015
|
+
ES: 1,
|
|
19016
|
+
ET: 0,
|
|
19017
|
+
FI: 1,
|
|
19018
|
+
FJ: 1,
|
|
19019
|
+
FO: 1,
|
|
19020
|
+
FR: 1,
|
|
19021
|
+
GB: 1,
|
|
19022
|
+
'GB-alt-variant': 0,
|
|
19023
|
+
GE: 1,
|
|
19024
|
+
GF: 1,
|
|
19025
|
+
GP: 1,
|
|
19026
|
+
GR: 1,
|
|
19027
|
+
GT: 0,
|
|
19028
|
+
GU: 0,
|
|
19029
|
+
HK: 0,
|
|
19030
|
+
HN: 0,
|
|
19031
|
+
HR: 1,
|
|
19032
|
+
HU: 1,
|
|
19033
|
+
ID: 0,
|
|
19034
|
+
IE: 1,
|
|
19035
|
+
IL: 0,
|
|
19036
|
+
IN: 0,
|
|
19037
|
+
IQ: 6,
|
|
19038
|
+
IR: 6,
|
|
19039
|
+
IS: 1,
|
|
19040
|
+
IT: 1,
|
|
19041
|
+
JM: 0,
|
|
19042
|
+
JO: 6,
|
|
19043
|
+
JP: 0,
|
|
19044
|
+
KE: 0,
|
|
19045
|
+
KG: 1,
|
|
19046
|
+
KH: 0,
|
|
19047
|
+
KR: 0,
|
|
19048
|
+
KW: 6,
|
|
19049
|
+
KZ: 1,
|
|
19050
|
+
LA: 0,
|
|
19051
|
+
LB: 1,
|
|
19052
|
+
LI: 1,
|
|
19053
|
+
LK: 1,
|
|
19054
|
+
LT: 1,
|
|
19055
|
+
LU: 1,
|
|
19056
|
+
LV: 1,
|
|
19057
|
+
LY: 6,
|
|
19058
|
+
MC: 1,
|
|
19059
|
+
MD: 1,
|
|
19060
|
+
ME: 1,
|
|
19061
|
+
MH: 0,
|
|
19062
|
+
MK: 1,
|
|
19063
|
+
MM: 0,
|
|
19064
|
+
MN: 1,
|
|
19065
|
+
MO: 0,
|
|
19066
|
+
MQ: 1,
|
|
19067
|
+
MT: 0,
|
|
19068
|
+
MV: 5,
|
|
19069
|
+
MX: 0,
|
|
19070
|
+
MY: 1,
|
|
19071
|
+
MZ: 0,
|
|
19072
|
+
NI: 0,
|
|
19073
|
+
NL: 1,
|
|
19074
|
+
NO: 1,
|
|
19075
|
+
NP: 0,
|
|
19076
|
+
NZ: 1,
|
|
19077
|
+
OM: 6,
|
|
19078
|
+
PA: 0,
|
|
19079
|
+
PE: 0,
|
|
19080
|
+
PH: 0,
|
|
19081
|
+
PK: 0,
|
|
19082
|
+
PL: 1,
|
|
19083
|
+
PR: 0,
|
|
19084
|
+
PT: 0,
|
|
19085
|
+
PY: 0,
|
|
19086
|
+
QA: 6,
|
|
19087
|
+
RE: 1,
|
|
19088
|
+
RO: 1,
|
|
19089
|
+
RS: 1,
|
|
19090
|
+
RU: 1,
|
|
19091
|
+
SA: 0,
|
|
19092
|
+
SD: 6,
|
|
19093
|
+
SE: 1,
|
|
19094
|
+
SG: 0,
|
|
19095
|
+
SI: 1,
|
|
19096
|
+
SK: 1,
|
|
19097
|
+
SM: 1,
|
|
19098
|
+
SV: 0,
|
|
19099
|
+
SY: 6,
|
|
19100
|
+
TH: 0,
|
|
19101
|
+
TJ: 1,
|
|
19102
|
+
TM: 1,
|
|
19103
|
+
TR: 1,
|
|
19104
|
+
TT: 0,
|
|
19105
|
+
TW: 0,
|
|
19106
|
+
UA: 1,
|
|
19107
|
+
UM: 0,
|
|
19108
|
+
US: 0,
|
|
19109
|
+
UY: 1,
|
|
19110
|
+
UZ: 1,
|
|
19111
|
+
VA: 1,
|
|
19112
|
+
VE: 0,
|
|
19113
|
+
VI: 0,
|
|
19114
|
+
VN: 1,
|
|
19115
|
+
WS: 0,
|
|
19116
|
+
XK: 1,
|
|
19117
|
+
YE: 0,
|
|
19118
|
+
ZA: 0,
|
|
19119
|
+
ZW: 0
|
|
19120
|
+
};
|
|
19121
|
+
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
|
19122
|
+
function getWeekdays(locale) {
|
|
19123
|
+
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
|
19124
|
+
return createRange(7).map(i => {
|
|
19125
|
+
const weekday = new Date(sundayJanuarySecond2000);
|
|
19126
|
+
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
|
19127
|
+
return new Intl.DateTimeFormat(locale, {
|
|
19128
|
+
weekday: 'long'
|
|
19129
|
+
}).format(weekday);
|
|
19130
|
+
});
|
|
19131
|
+
}
|
|
19132
|
+
function format(value, formatString, locale) {
|
|
19133
|
+
const date = new Date(value);
|
|
19134
|
+
let options = {};
|
|
19135
|
+
switch (formatString) {
|
|
19136
|
+
case 'fullDateWithWeekday':
|
|
19137
|
+
options = {
|
|
19138
|
+
weekday: 'long',
|
|
19139
|
+
day: 'numeric',
|
|
19140
|
+
month: 'long',
|
|
19141
|
+
year: 'numeric'
|
|
19142
|
+
};
|
|
19143
|
+
break;
|
|
19144
|
+
case 'normalDateWithWeekday':
|
|
19145
|
+
options = {
|
|
19146
|
+
weekday: 'short',
|
|
19147
|
+
day: 'numeric',
|
|
19148
|
+
month: 'short',
|
|
19149
|
+
year: 'numeric'
|
|
19150
|
+
};
|
|
19151
|
+
break;
|
|
19152
|
+
case 'keyboardDate':
|
|
19153
|
+
options = {};
|
|
19154
|
+
break;
|
|
19155
|
+
case 'monthAndDate':
|
|
19156
|
+
options = {
|
|
19157
|
+
month: 'long',
|
|
19158
|
+
day: 'numeric'
|
|
19159
|
+
};
|
|
19160
|
+
break;
|
|
19161
|
+
case 'monthAndYear':
|
|
19162
|
+
options = {
|
|
19163
|
+
month: 'long',
|
|
19164
|
+
year: 'numeric'
|
|
19165
|
+
};
|
|
19166
|
+
break;
|
|
19167
|
+
default:
|
|
19168
|
+
options = {
|
|
19169
|
+
timeZone: 'UTC',
|
|
19170
|
+
timeZoneName: 'short'
|
|
19171
|
+
};
|
|
19172
|
+
}
|
|
19173
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
|
19174
|
+
}
|
|
19175
|
+
function addDays(date, amount) {
|
|
19176
|
+
const d = new Date(date);
|
|
19177
|
+
d.setDate(d.getDate() + amount);
|
|
19178
|
+
return d;
|
|
19179
|
+
}
|
|
19180
|
+
function addMonths(date, amount) {
|
|
19181
|
+
const d = new Date(date);
|
|
19182
|
+
d.setMonth(d.getMonth() + amount);
|
|
19183
|
+
return d;
|
|
19184
|
+
}
|
|
19185
|
+
function getYear(date) {
|
|
19186
|
+
return date.getFullYear();
|
|
19187
|
+
}
|
|
19188
|
+
function getMonth(date) {
|
|
19189
|
+
return date.getMonth();
|
|
19190
|
+
}
|
|
19191
|
+
function startOfYear(date) {
|
|
19192
|
+
return new Date(date.getFullYear(), 0, 1);
|
|
19193
|
+
}
|
|
19194
|
+
function endOfYear(date) {
|
|
19195
|
+
return new Date(date.getFullYear(), 11, 31);
|
|
19196
|
+
}
|
|
19197
|
+
function getMondayOfFirstWeekOfYear(year) {
|
|
19198
|
+
return new Date(year, 0, 1);
|
|
19199
|
+
}
|
|
19200
|
+
|
|
19201
|
+
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
|
19202
|
+
function getWeek(date) {
|
|
19203
|
+
let year = date.getFullYear();
|
|
19204
|
+
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
|
19205
|
+
if (date < d1w1) {
|
|
19206
|
+
year = year - 1;
|
|
19207
|
+
d1w1 = getMondayOfFirstWeekOfYear(year);
|
|
19208
|
+
} else {
|
|
19209
|
+
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
|
19210
|
+
if (date >= tv) {
|
|
19211
|
+
year = year + 1;
|
|
19212
|
+
d1w1 = tv;
|
|
19213
|
+
}
|
|
19214
|
+
}
|
|
19215
|
+
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
|
19216
|
+
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
|
19217
|
+
return Math.floor(diffDays / 7) + 1;
|
|
19218
|
+
}
|
|
19219
|
+
function isWithinRange(date, range) {
|
|
19220
|
+
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
|
19221
|
+
}
|
|
19222
|
+
function isValid(date) {
|
|
19223
|
+
const d = new Date(date);
|
|
19224
|
+
return d instanceof Date && !isNaN(d.getTime());
|
|
19225
|
+
}
|
|
19226
|
+
function isAfter(date, comparing) {
|
|
19227
|
+
return date.getTime() > comparing.getTime();
|
|
19228
|
+
}
|
|
19229
|
+
function isBefore(date, comparing) {
|
|
19230
|
+
return date.getTime() < comparing.getTime();
|
|
19231
|
+
}
|
|
19232
|
+
function isEqual(date, comparing) {
|
|
19233
|
+
return date.getTime() === comparing.getTime();
|
|
19234
|
+
}
|
|
19235
|
+
function isSameDay(date, comparing) {
|
|
19236
|
+
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
|
19237
|
+
}
|
|
19238
|
+
function isSameMonth(date, comparing) {
|
|
19239
|
+
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
|
19240
|
+
}
|
|
19241
|
+
function getDiff(date, comparing, unit) {
|
|
19242
|
+
const d = new Date(date);
|
|
19243
|
+
const c = new Date(comparing);
|
|
19244
|
+
if (unit === 'month') {
|
|
19245
|
+
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
|
19246
|
+
}
|
|
19247
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
|
19248
|
+
}
|
|
19249
|
+
function setYear(date, year) {
|
|
19250
|
+
const d = new Date(date);
|
|
19251
|
+
d.setFullYear(year);
|
|
19252
|
+
return d;
|
|
19253
|
+
}
|
|
19254
|
+
class VuetifyDateAdapter {
|
|
19255
|
+
constructor() {
|
|
19256
|
+
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
|
19257
|
+
this.locale = locale;
|
|
19258
|
+
}
|
|
19259
|
+
date(value) {
|
|
19260
|
+
return date(value);
|
|
19261
|
+
}
|
|
19262
|
+
addDays(date, amount) {
|
|
19263
|
+
return addDays(date, amount);
|
|
19264
|
+
}
|
|
19265
|
+
addMonths(date, amount) {
|
|
19266
|
+
return addMonths(date, amount);
|
|
19267
|
+
}
|
|
19268
|
+
getWeekArray(date) {
|
|
19269
|
+
return getWeekArray(date);
|
|
19270
|
+
}
|
|
19271
|
+
startOfMonth(date) {
|
|
19272
|
+
return startOfMonth(date);
|
|
19273
|
+
}
|
|
19274
|
+
endOfMonth(date) {
|
|
19275
|
+
return endOfMonth(date);
|
|
19276
|
+
}
|
|
19277
|
+
format(date, formatString) {
|
|
19278
|
+
return format(date, formatString, this.locale);
|
|
19279
|
+
}
|
|
19280
|
+
isEqual(date, comparing) {
|
|
19281
|
+
return isEqual(date, comparing);
|
|
19282
|
+
}
|
|
19283
|
+
isValid(date) {
|
|
19284
|
+
return isValid(date);
|
|
19285
|
+
}
|
|
19286
|
+
isWithinRange(date, range) {
|
|
19287
|
+
return isWithinRange(date, range);
|
|
19288
|
+
}
|
|
19289
|
+
isAfter(date, comparing) {
|
|
19290
|
+
return isAfter(date, comparing);
|
|
19291
|
+
}
|
|
19292
|
+
isSameDay(date, comparing) {
|
|
19293
|
+
return isSameDay(date, comparing);
|
|
19294
|
+
}
|
|
19295
|
+
isSameMonth(date, comparing) {
|
|
19296
|
+
return isSameMonth(date, comparing);
|
|
19297
|
+
}
|
|
19298
|
+
setYear(date, year) {
|
|
19299
|
+
return setYear(date, year);
|
|
19300
|
+
}
|
|
19301
|
+
getDiff(date, comparing, unit) {
|
|
19302
|
+
return getDiff(date, comparing, unit);
|
|
19303
|
+
}
|
|
19304
|
+
getWeek(date) {
|
|
19305
|
+
return getWeek(date);
|
|
19306
|
+
}
|
|
19307
|
+
getWeekdays() {
|
|
19308
|
+
return getWeekdays(this.locale);
|
|
19309
|
+
}
|
|
19310
|
+
getYear(date) {
|
|
19311
|
+
return getYear(date);
|
|
19312
|
+
}
|
|
19313
|
+
getMonth(date) {
|
|
19314
|
+
return getMonth(date);
|
|
19315
|
+
}
|
|
19316
|
+
startOfYear(date) {
|
|
19317
|
+
return startOfYear(date);
|
|
19318
|
+
}
|
|
19319
|
+
endOfYear(date) {
|
|
19320
|
+
return endOfYear(date);
|
|
19321
|
+
}
|
|
19322
|
+
}
|
|
19323
|
+
|
|
19324
|
+
// Composables
|
|
19325
|
+
|
|
19326
|
+
// Types
|
|
19327
|
+
|
|
19328
|
+
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
|
19329
|
+
function createDate(options) {
|
|
19330
|
+
return options ?? {
|
|
19331
|
+
adapter: VuetifyDateAdapter
|
|
19332
|
+
};
|
|
19333
|
+
}
|
|
19334
|
+
|
|
18375
19335
|
// Composables
|
|
18376
19336
|
function createVuetify$1() {
|
|
18377
19337
|
let vuetify = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -18390,6 +19350,7 @@ function createVuetify$1() {
|
|
|
18390
19350
|
const theme = createTheme(options.theme);
|
|
18391
19351
|
const icons = createIcons(options.icons);
|
|
18392
19352
|
const locale = createLocale(options.locale);
|
|
19353
|
+
const date = createDate(options.date);
|
|
18393
19354
|
const install = app => {
|
|
18394
19355
|
for (const key in directives) {
|
|
18395
19356
|
app.directive(key, directives[key]);
|
|
@@ -18410,6 +19371,7 @@ function createVuetify$1() {
|
|
|
18410
19371
|
app.provide(ThemeSymbol, theme);
|
|
18411
19372
|
app.provide(IconSymbol, icons);
|
|
18412
19373
|
app.provide(LocaleSymbol, locale);
|
|
19374
|
+
app.provide(DateAdapterSymbol, date);
|
|
18413
19375
|
if (IN_BROWSER && options.ssr) {
|
|
18414
19376
|
if (app.$nuxt) {
|
|
18415
19377
|
app.$nuxt.hook('app:suspense:resolve', () => {
|
|
@@ -18437,7 +19399,8 @@ function createVuetify$1() {
|
|
|
18437
19399
|
display: inject.call(this, DisplaySymbol),
|
|
18438
19400
|
theme: inject.call(this, ThemeSymbol),
|
|
18439
19401
|
icons: inject.call(this, IconSymbol),
|
|
18440
|
-
locale: inject.call(this, LocaleSymbol)
|
|
19402
|
+
locale: inject.call(this, LocaleSymbol),
|
|
19403
|
+
date: inject.call(this, DateAdapterSymbol)
|
|
18441
19404
|
});
|
|
18442
19405
|
}
|
|
18443
19406
|
}
|
|
@@ -18450,10 +19413,11 @@ function createVuetify$1() {
|
|
|
18450
19413
|
display,
|
|
18451
19414
|
theme,
|
|
18452
19415
|
icons,
|
|
18453
|
-
locale
|
|
19416
|
+
locale,
|
|
19417
|
+
date
|
|
18454
19418
|
};
|
|
18455
19419
|
}
|
|
18456
|
-
const version$1 = "3.
|
|
19420
|
+
const version$1 = "3.2.0";
|
|
18457
19421
|
createVuetify$1.version = version$1;
|
|
18458
19422
|
|
|
18459
19423
|
// Vue's inject() can only be used in setup
|
|
@@ -18473,8 +19437,8 @@ const createVuetify = function () {
|
|
|
18473
19437
|
...options
|
|
18474
19438
|
});
|
|
18475
19439
|
};
|
|
18476
|
-
const version = "3.
|
|
19440
|
+
const version = "3.2.0";
|
|
18477
19441
|
createVuetify.version = version;
|
|
18478
19442
|
|
|
18479
|
-
export { components, createVuetify, directives, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|
|
19443
|
+
export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|
|
18480
19444
|
//# sourceMappingURL=vuetify.esm.js.map
|