@vuetify/nightly 4.0.0-dev-20230426.0 → 4.0.0-dev-20230511.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -15
- package/dist/json/attributes.json +949 -729
- package/dist/json/importMap-labs.json +4 -4
- package/dist/json/importMap.json +12 -12
- package/dist/json/tags.json +57 -2
- package/dist/json/web-types.json +1966 -1440
- package/dist/vuetify-labs.css +1504 -1493
- package/dist/vuetify-labs.d.ts +6175 -8100
- package/dist/vuetify-labs.esm.js +1462 -1230
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1461 -1229
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +51 -40
- package/dist/vuetify.d.ts +6327 -7380
- package/dist/vuetify.esm.js +1401 -1194
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1400 -1193
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +805 -805
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/{index.d.ts → index.d.mts} +6 -2
- package/lib/blueprints/{md1.d.ts → md1.d.mts} +6 -2
- package/lib/blueprints/{md2.d.ts → md2.d.mts} +6 -2
- package/lib/blueprints/{md3.d.ts → md3.d.mts} +6 -2
- package/lib/components/VAlert/VAlert.mjs +6 -4
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/{index.d.ts → index.d.mts} +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 → index.d.mts} +22 -13
- package/lib/components/VAppBar/VAppBar.mjs +10 -14
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +10 -13
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/{index.d.ts → index.d.mts} +479 -118
- package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +11 -3
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
- package/lib/components/VAutocomplete/{index.d.ts → index.d.mts} +231 -409
- package/lib/components/VAvatar/VAvatar.mjs +4 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/{index.d.ts → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +134 -93
- package/lib/components/VBtn/VBtn.mjs +12 -9
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/{index.d.ts → index.d.mts} +33 -36
- package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/{index.d.ts → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 -2
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/{index.d.ts → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +22 -13
- package/lib/components/VCode/{index.d.ts → index.d.mts} +30 -17
- package/lib/components/VColorPicker/VColorPicker.mjs +12 -7
- 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 +12 -9
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/{index.d.ts → index.d.mts} +131 -32
- package/lib/components/VColorPicker/util/index.mjs +2 -22
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +11 -3
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/{index.d.ts → index.d.mts} +231 -409
- package/lib/components/VCounter/VCounter.mjs +4 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/{index.d.ts → index.d.mts} +22 -145
- package/lib/components/VDefaultsProvider/{index.d.ts → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +109 -81
- package/lib/components/VField/VField.css +0 -1
- package/lib/components/VField/VField.mjs +9 -6
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +0 -1
- package/lib/components/VField/VFieldLabel.mjs +6 -3
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/{index.d.ts → index.d.mts} +125 -76
- package/lib/components/VFileInput/VFileInput.mjs +4 -2
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/{index.d.ts → index.d.mts} +114 -165
- package/lib/components/VFooter/VFooter.mjs +4 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/{index.d.ts → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +104 -60
- package/lib/components/VHover/{index.d.ts → index.d.mts} +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 → index.d.mts} +23 -26
- package/lib/components/VImg/VImg.css +2 -4
- package/lib/components/VImg/VImg.mjs +27 -24
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +4 -3
- package/lib/components/VImg/{index.d.ts → index.d.mts} +73 -31
- package/lib/components/VInput/VInput.mjs +4 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/{index.d.ts → index.d.mts} +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 → index.d.mts} +30 -33
- package/lib/components/VKbd/{index.d.ts → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +22 -13
- package/lib/components/VList/VList.mjs +12 -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 +8 -2
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +12 -5
- 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 → index.d.mts} +950 -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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +22 -145
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -10
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/{index.d.ts → index.d.mts} +26 -29
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.d.mts +8 -0
- package/lib/components/VOverlay/VOverlay.mjs +5 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/{index.d.ts → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +45 -68
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/{index.d.ts → index.d.mts} +33 -44
- package/lib/components/VRating/VRating.mjs +4 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/{index.d.ts → index.d.mts} +23 -18
- package/lib/components/VResponsive/VResponsive.css +13 -5
- package/lib/components/VResponsive/VResponsive.mjs +14 -8
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.sass +12 -4
- package/lib/components/VResponsive/{index.d.ts → index.d.mts} +52 -31
- package/lib/components/VSelect/VSelect.mjs +11 -3
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/{index.d.ts → index.d.mts} +200 -558
- package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/{index.d.ts → index.d.mts} +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 → index.d.mts} +23 -14
- package/lib/components/VSheet/VSheet.css +6 -0
- package/lib/components/VSheet/VSheet.mjs +4 -2
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/_variables.scss +1 -1
- package/lib/components/VSheet/{index.d.ts → index.d.mts} +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 → index.d.mts} +59 -90
- package/lib/components/VSlider/VSlider.mjs +2 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +6 -4
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +6 -4
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/{index.d.ts → index.d.mts} +33 -44
- package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/{index.d.ts → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +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 → index.d.mts} +26 -29
- package/lib/components/VTabs/VTab.mjs +2 -2
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +2 -2
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/{index.d.ts → index.d.mts} +45 -27
- package/lib/components/VTextField/VTextField.mjs +3 -2
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/{index.d.ts → index.d.mts} +232 -293
- package/lib/components/VTextarea/VTextarea.mjs +3 -2
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/{index.d.ts → index.d.mts} +94 -137
- package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/{index.d.ts → index.d.mts} +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 → index.d.mts} +67 -57
- package/lib/components/VToolbar/VToolbar.mjs +4 -2
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/{index.d.ts → index.d.mts} +74 -71
- package/lib/components/VTooltip/VTooltip.mjs +2 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/{index.d.ts → index.d.mts} +104 -150
- package/lib/components/VValidation/{index.d.ts → index.d.mts} +6 -18
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +21 -23
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VVirtualScroll/{index.d.ts → index.d.mts} +70 -30
- package/lib/components/VWindow/VWindow.mjs +4 -1
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +4 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/{index.d.ts → index.d.mts} +61 -79
- package/lib/components/{index.d.ts → index.d.mts} +6475 -7529
- package/lib/components/transitions/{index.d.ts → index.d.mts} +0 -192
- package/lib/composables/component.mjs +11 -0
- package/lib/composables/component.mjs.map +1 -0
- package/lib/composables/defaults.mjs +63 -5
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/display.mjs +6 -6
- package/lib/composables/display.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 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/scroll.mjs +18 -19
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +2 -2
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/{fa-svg.d.ts → fa-svg.d.mts} +1 -1
- package/lib/iconsets/{fa.d.ts → fa.d.mts} +1 -1
- package/lib/iconsets/{fa4.d.ts → fa4.d.mts} +1 -1
- package/lib/iconsets/{md.d.ts → md.d.mts} +1 -1
- package/lib/iconsets/{mdi-svg.d.ts → mdi-svg.d.mts} +1 -1
- package/lib/iconsets/{mdi.d.ts → mdi.d.mts} +1 -1
- package/lib/{index.d.ts → index.d.mts} +13 -12
- package/lib/labs/VDataTable/VDataTable.mjs +12 -3
- 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 -6
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +7 -2
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +6 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/{index.d.ts → index.d.mts} +113 -943
- package/lib/labs/VInfiniteScroll/{index.d.ts → index.d.mts} +8 -36
- package/lib/labs/VSkeletonLoader/{index.d.ts → index.d.mts} +0 -12
- package/lib/labs/{components.d.ts → components.d.mts} +161 -1031
- package/lib/labs/date/DateAdapter.mjs +2 -0
- package/lib/labs/date/DateAdapter.mjs.map +1 -0
- package/lib/labs/date/adapters/vuetify.d.mts +52 -0
- package/lib/{adapters → labs/date/adapters}/vuetify.mjs +2 -2
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
- package/lib/{composables → labs/date}/date.mjs +3 -3
- package/lib/labs/date/date.mjs.map +1 -0
- package/lib/labs/date/index.d.mts +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/util/colorUtils.mjs +68 -3
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs +12 -81
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +9 -4
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +11 -43
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +31 -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 +11 -6
- package/lib/adapters/date-adapter.mjs +0 -2
- package/lib/adapters/date-adapter.mjs.map +0 -1
- package/lib/adapters/vuetify.mjs.map +0 -1
- package/lib/components/VNoSsr/index.d.ts +0 -18
- package/lib/composables/date.mjs.map +0 -1
- /package/lib/directives/{index.d.ts → index.d.mts} +0 -0
- /package/lib/locale/adapters/{vue-i18n.d.ts → vue-i18n.d.mts} +0 -0
- /package/lib/locale/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
- /package/lib/locale/{index.d.ts → index.d.mts} +0 -0
package/dist/vuetify.esm.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v4.0.0-dev-
|
2
|
+
* Vuetify v4.0.0-dev-20230511.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, warn, onScopeDispose, effectScope, unref, provide, shallowRef, inject as inject$1, 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, 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,14 @@ const keyValues = Object.freeze({
|
|
167
167
|
function keys(o) {
|
168
168
|
return Object.keys(o);
|
169
169
|
}
|
170
|
-
function
|
170
|
+
function has(obj, key) {
|
171
|
+
return key.every(k => obj.hasOwnProperty(k));
|
172
|
+
}
|
173
|
+
function pick(obj, paths, exclude) {
|
171
174
|
const found = Object.create(null);
|
172
175
|
const rest = Object.create(null);
|
173
176
|
for (const key in obj) {
|
174
|
-
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key)) {
|
177
|
+
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) && !exclude?.some(path => path === key)) {
|
175
178
|
found[key] = obj[key];
|
176
179
|
} else {
|
177
180
|
rest[key] = obj[key];
|
@@ -356,6 +359,32 @@ function callEvent(handler) {
|
|
356
359
|
handler(...args);
|
357
360
|
}
|
358
361
|
}
|
362
|
+
function focusableChildren(el) {
|
363
|
+
const targets = ['button', '[href]', 'input:not([type="hidden"])', 'select', 'textarea', '[tabindex]'].map(s => `${s}:not([tabindex="-1"]):not([disabled])`).join(', ');
|
364
|
+
return [...el.querySelectorAll(targets)];
|
365
|
+
}
|
366
|
+
function focusChild(el, location) {
|
367
|
+
const focusable = focusableChildren(el);
|
368
|
+
const idx = focusable.indexOf(document.activeElement);
|
369
|
+
if (!location) {
|
370
|
+
if (!el.contains(document.activeElement)) {
|
371
|
+
focusable[0]?.focus();
|
372
|
+
}
|
373
|
+
} else if (location === 'first') {
|
374
|
+
focusable[0]?.focus();
|
375
|
+
} else if (location === 'last') {
|
376
|
+
focusable.at(-1)?.focus();
|
377
|
+
} else {
|
378
|
+
let _el;
|
379
|
+
let idxx = idx;
|
380
|
+
const inc = location === 'next' ? 1 : -1;
|
381
|
+
do {
|
382
|
+
idxx += inc;
|
383
|
+
_el = focusable[idxx];
|
384
|
+
} while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
385
|
+
if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');
|
386
|
+
}
|
387
|
+
}
|
359
388
|
|
360
389
|
const block = ['top', 'bottom'];
|
361
390
|
const inline = ['start', 'end', 'left', 'right'];
|
@@ -508,79 +537,15 @@ function animate(el, keyframes, options) {
|
|
508
537
|
}
|
509
538
|
|
510
539
|
/* eslint-disable no-console */
|
511
|
-
|
512
|
-
|
513
|
-
function createMessage(message, vm, parent) {
|
514
|
-
// if (Vuetify.config.silent) return
|
515
|
-
|
516
|
-
if (parent) {
|
517
|
-
vm = {
|
518
|
-
__isVue: true,
|
519
|
-
$parent: parent,
|
520
|
-
$options: vm
|
521
|
-
};
|
522
|
-
}
|
523
|
-
if (vm) {
|
524
|
-
// Only show each message once per instance
|
525
|
-
vm.$_alreadyWarned = vm.$_alreadyWarned || [];
|
526
|
-
if (vm.$_alreadyWarned.includes(message)) return;
|
527
|
-
vm.$_alreadyWarned.push(message);
|
528
|
-
}
|
529
|
-
return `[Vuetify] ${message}` + (vm ? generateComponentTrace(vm) : '');
|
530
|
-
}
|
531
|
-
function consoleWarn(message, vm, parent) {
|
532
|
-
const newMessage = createMessage(message, vm, parent);
|
533
|
-
newMessage != null && console.warn(newMessage);
|
540
|
+
function consoleWarn(message) {
|
541
|
+
warn(`Vuetify: ${message}`);
|
534
542
|
}
|
535
|
-
function consoleError(message
|
536
|
-
|
537
|
-
newMessage != null && console.error(newMessage);
|
543
|
+
function consoleError(message) {
|
544
|
+
warn(`Vuetify error: ${message}`);
|
538
545
|
}
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
*/
|
543
|
-
|
544
|
-
const classifyRE = /(?:^|[-_])(\w)/g;
|
545
|
-
const classify = str => str.replace(classifyRE, c => c.toUpperCase()).replace(/[-_]/g, '');
|
546
|
-
function formatComponentName(vm, includeFile) {
|
547
|
-
if (vm.$root === vm) {
|
548
|
-
return '<Root>';
|
549
|
-
}
|
550
|
-
const options = typeof vm === 'function' && vm.cid != null ? vm.options : vm.__isVue ? vm.$options || vm.constructor.options : vm || {};
|
551
|
-
let name = options.name || options._componentTag;
|
552
|
-
const file = options.__file;
|
553
|
-
if (!name && file) {
|
554
|
-
const match = file.match(/([^/\\]+)\.vue$/);
|
555
|
-
name = match?.[1];
|
556
|
-
}
|
557
|
-
return (name ? `<${classify(name)}>` : `<Anonymous>`) + (file && includeFile !== false ? ` at ${file}` : '');
|
558
|
-
}
|
559
|
-
function generateComponentTrace(vm) {
|
560
|
-
if (vm.__isVue && vm.$parent) {
|
561
|
-
const tree = [];
|
562
|
-
let currentRecursiveSequence = 0;
|
563
|
-
while (vm) {
|
564
|
-
if (tree.length > 0) {
|
565
|
-
const last = tree[tree.length - 1];
|
566
|
-
if (last.constructor === vm.constructor) {
|
567
|
-
currentRecursiveSequence++;
|
568
|
-
vm = vm.$parent;
|
569
|
-
continue;
|
570
|
-
} else if (currentRecursiveSequence > 0) {
|
571
|
-
tree[tree.length - 1] = [last, currentRecursiveSequence];
|
572
|
-
currentRecursiveSequence = 0;
|
573
|
-
}
|
574
|
-
}
|
575
|
-
tree.push(vm);
|
576
|
-
vm = vm.$parent;
|
577
|
-
}
|
578
|
-
return '\n\nfound in\n\n' + tree.map((vm, i) => `${i === 0 ? '---> ' : ' '.repeat(5 + i * 2)}${Array.isArray(vm)
|
579
|
-
// eslint-disable-next-line sonarjs/no-nested-template-literals
|
580
|
-
? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)` : formatComponentName(vm)}`).join('\n');
|
581
|
-
} else {
|
582
|
-
return `\n\n(found in ${formatComponentName(vm)})`;
|
583
|
-
}
|
546
|
+
function deprecate(original, replacement) {
|
547
|
+
replacement = Array.isArray(replacement) ? replacement.slice(0, -1).map(s => `'${s}'`).join(', ') + ` or '${replacement.at(-1)}'` : `'${replacement}'`;
|
548
|
+
warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`);
|
584
549
|
}
|
585
550
|
|
586
551
|
// For converting XYZ to sRGB
|
@@ -654,7 +619,46 @@ function toXYZ(lab) {
|
|
654
619
|
function isCssColor(color) {
|
655
620
|
return !!color && /^(#|var\(--|(rgb|hsl)a?\()/.test(color);
|
656
621
|
}
|
657
|
-
|
622
|
+
const cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/;
|
623
|
+
const mappers = {
|
624
|
+
rgb: (r, g, b, a) => ({
|
625
|
+
r,
|
626
|
+
g,
|
627
|
+
b,
|
628
|
+
a
|
629
|
+
}),
|
630
|
+
rgba: (r, g, b, a) => ({
|
631
|
+
r,
|
632
|
+
g,
|
633
|
+
b,
|
634
|
+
a
|
635
|
+
}),
|
636
|
+
hsl: (h, s, l, a) => HSLtoRGB({
|
637
|
+
h,
|
638
|
+
s,
|
639
|
+
l,
|
640
|
+
a
|
641
|
+
}),
|
642
|
+
hsla: (h, s, l, a) => HSLtoRGB({
|
643
|
+
h,
|
644
|
+
s,
|
645
|
+
l,
|
646
|
+
a
|
647
|
+
}),
|
648
|
+
hsv: (h, s, v, a) => HSVtoRGB({
|
649
|
+
h,
|
650
|
+
s,
|
651
|
+
v,
|
652
|
+
a
|
653
|
+
}),
|
654
|
+
hsva: (h, s, v, a) => HSVtoRGB({
|
655
|
+
h,
|
656
|
+
s,
|
657
|
+
v,
|
658
|
+
a
|
659
|
+
})
|
660
|
+
};
|
661
|
+
function parseColor(color) {
|
658
662
|
if (typeof color === 'number') {
|
659
663
|
if (isNaN(color) || color < 0 || color > 0xFFFFFF) {
|
660
664
|
// int can't have opacity
|
@@ -665,6 +669,22 @@ function parseColor$1(color) {
|
|
665
669
|
g: (color & 0xFF00) >> 8,
|
666
670
|
b: color & 0xFF
|
667
671
|
};
|
672
|
+
} else if (typeof color === 'string' && cssColorRe.test(color)) {
|
673
|
+
const {
|
674
|
+
groups
|
675
|
+
} = color.match(cssColorRe);
|
676
|
+
const {
|
677
|
+
fn,
|
678
|
+
values
|
679
|
+
} = groups;
|
680
|
+
const realValues = values.split(/,\s*/).map(v => {
|
681
|
+
if (v.endsWith('%') && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {
|
682
|
+
return parseFloat(v) / 100;
|
683
|
+
} else {
|
684
|
+
return parseFloat(v);
|
685
|
+
}
|
686
|
+
});
|
687
|
+
return mappers[fn](...realValues);
|
668
688
|
} else if (typeof color === 'string') {
|
669
689
|
let hex = color.startsWith('#') ? color.slice(1) : color;
|
670
690
|
if ([3, 4].includes(hex.length)) {
|
@@ -677,9 +697,16 @@ function parseColor$1(color) {
|
|
677
697
|
consoleWarn(`'${color}' is not a valid hex(a) color`);
|
678
698
|
}
|
679
699
|
return HexToRGB(hex);
|
680
|
-
} else {
|
681
|
-
|
700
|
+
} else if (typeof color === 'object') {
|
701
|
+
if (has(color, ['r', 'g', 'b'])) {
|
702
|
+
return color;
|
703
|
+
} else if (has(color, ['h', 's', 'l'])) {
|
704
|
+
return HSVtoRGB(HSLtoHSV(color));
|
705
|
+
} else if (has(color, ['h', 's', 'v'])) {
|
706
|
+
return HSVtoRGB(color);
|
707
|
+
}
|
682
708
|
}
|
709
|
+
throw new TypeError(`Invalid color: ${color == null ? color : String(color) || color.constructor.name}\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`);
|
683
710
|
}
|
684
711
|
|
685
712
|
/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */
|
@@ -702,6 +729,9 @@ function HSVtoRGB(hsva) {
|
|
702
729
|
a
|
703
730
|
};
|
704
731
|
}
|
732
|
+
function HSLtoRGB(hsla) {
|
733
|
+
return HSVtoRGB(HSLtoHSV(hsla));
|
734
|
+
}
|
705
735
|
|
706
736
|
/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */
|
707
737
|
function RGBtoHSV(rgba) {
|
@@ -840,7 +870,7 @@ function darken(value, amount) {
|
|
840
870
|
* @see https://www.w3.org/TR/WCAG20/#relativeluminancedef
|
841
871
|
*/
|
842
872
|
function getLuma(color) {
|
843
|
-
const rgb = parseColor
|
873
|
+
const rgb = parseColor(color);
|
844
874
|
return toXYZ$1(rgb)[1];
|
845
875
|
}
|
846
876
|
|
@@ -856,44 +886,6 @@ function getContrast(first, second) {
|
|
856
886
|
return (light + 0.05) / (dark + 0.05);
|
857
887
|
}
|
858
888
|
|
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
889
|
/**
|
898
890
|
* Creates a factory function for props definitions.
|
899
891
|
* This is used to define props in a composable then override
|
@@ -947,17 +939,54 @@ function propsFactory(props, source) {
|
|
947
939
|
|
948
940
|
// Types
|
949
941
|
|
942
|
+
// Composables
|
943
|
+
const makeComponentProps = propsFactory({
|
944
|
+
class: [String, Array],
|
945
|
+
style: {
|
946
|
+
type: [String, Array, Object],
|
947
|
+
default: null
|
948
|
+
}
|
949
|
+
}, 'component');
|
950
|
+
|
951
|
+
function useToggleScope(source, fn) {
|
952
|
+
let scope;
|
953
|
+
function start() {
|
954
|
+
scope = effectScope();
|
955
|
+
scope.run(() => fn.length ? fn(() => {
|
956
|
+
scope?.stop();
|
957
|
+
start();
|
958
|
+
}) : fn());
|
959
|
+
}
|
960
|
+
watch(source, active => {
|
961
|
+
if (active && !scope) {
|
962
|
+
start();
|
963
|
+
} else if (!active) {
|
964
|
+
scope?.stop();
|
965
|
+
scope = undefined;
|
966
|
+
}
|
967
|
+
}, {
|
968
|
+
immediate: true
|
969
|
+
});
|
970
|
+
onScopeDispose(() => {
|
971
|
+
scope?.stop();
|
972
|
+
});
|
973
|
+
}
|
974
|
+
|
975
|
+
// Composables
|
976
|
+
|
977
|
+
// Types
|
978
|
+
|
950
979
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
951
980
|
function createDefaults(options) {
|
952
981
|
return ref(options);
|
953
982
|
}
|
954
|
-
function
|
983
|
+
function injectDefaults() {
|
955
984
|
const defaults = inject$1(DefaultsSymbol);
|
956
985
|
if (!defaults) throw new Error('[Vuetify] Could not find defaults instance');
|
957
986
|
return defaults;
|
958
987
|
}
|
959
988
|
function provideDefaults(defaults, options) {
|
960
|
-
const injectedDefaults =
|
989
|
+
const injectedDefaults = injectDefaults();
|
961
990
|
const providedDefaults = ref(defaults);
|
962
991
|
const newDefaults = computed(() => {
|
963
992
|
const disabled = unref(options?.disabled);
|
@@ -984,41 +1013,68 @@ function provideDefaults(defaults, options) {
|
|
984
1013
|
provide(DefaultsSymbol, newDefaults);
|
985
1014
|
return newDefaults;
|
986
1015
|
}
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1016
|
+
function propIsDefined(vnode, prop) {
|
1017
|
+
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1018
|
+
}
|
1019
|
+
function internalUseDefaults() {
|
1020
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
1021
|
+
let name = arguments.length > 1 ? arguments[1] : undefined;
|
1022
|
+
let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();
|
1023
|
+
const vm = getCurrentInstance('useDefaults');
|
1024
|
+
name = name ?? vm.type.name ?? vm.type.__name;
|
1025
|
+
if (!name) {
|
1026
|
+
throw new Error('[Vuetify] Could not determine component name');
|
1027
|
+
}
|
1028
|
+
const componentDefaults = computed(() => defaults.value?.[props._as ?? name]);
|
1029
|
+
const _props = new Proxy(props, {
|
1030
|
+
get(target, prop) {
|
1031
|
+
const propValue = Reflect.get(target, prop);
|
1032
|
+
if (prop === 'class' || prop === 'style') {
|
1033
|
+
return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
|
1034
|
+
} else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1035
|
+
return componentDefaults.value?.[prop] ?? defaults.value?.global?.[prop] ?? propValue;
|
1036
|
+
}
|
1037
|
+
return propValue;
|
1003
1038
|
}
|
1004
|
-
}, {
|
1005
|
-
immediate: true
|
1006
1039
|
});
|
1007
|
-
|
1008
|
-
|
1040
|
+
const _subcomponentDefaults = shallowRef();
|
1041
|
+
watchEffect(() => {
|
1042
|
+
if (componentDefaults.value) {
|
1043
|
+
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1044
|
+
let [key] = _ref;
|
1045
|
+
return key.startsWith(key[0].toUpperCase());
|
1046
|
+
});
|
1047
|
+
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1048
|
+
}
|
1009
1049
|
});
|
1050
|
+
function provideSubDefaults() {
|
1051
|
+
// If subcomponent defaults are provided, override any
|
1052
|
+
// subcomponents provided by the component's setup function.
|
1053
|
+
// This uses injectSelf so must be done after the original setup to work.
|
1054
|
+
useToggleScope(_subcomponentDefaults, () => {
|
1055
|
+
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1056
|
+
});
|
1057
|
+
}
|
1058
|
+
return {
|
1059
|
+
props: _props,
|
1060
|
+
provideSubDefaults
|
1061
|
+
};
|
1062
|
+
}
|
1063
|
+
function useDefaults() {
|
1064
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
1065
|
+
let name = arguments.length > 1 ? arguments[1] : undefined;
|
1066
|
+
const {
|
1067
|
+
props: _props,
|
1068
|
+
provideSubDefaults
|
1069
|
+
} = internalUseDefaults(props, name);
|
1070
|
+
provideSubDefaults();
|
1071
|
+
return _props;
|
1010
1072
|
}
|
1011
1073
|
|
1012
1074
|
// Utils
|
1013
1075
|
|
1014
1076
|
// Types
|
1015
1077
|
|
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
1078
|
// Implementation
|
1023
1079
|
function defineComponent(options) {
|
1024
1080
|
options._setup = options._setup ?? options.setup;
|
@@ -1030,43 +1086,20 @@ function defineComponent(options) {
|
|
1030
1086
|
options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
|
1031
1087
|
const propKeys = Object.keys(options.props);
|
1032
1088
|
options.filterProps = function filterProps(props) {
|
1033
|
-
return pick(props, propKeys);
|
1089
|
+
return pick(props, propKeys, ['class', 'style']);
|
1034
1090
|
};
|
1035
1091
|
options.props._as = String;
|
1036
1092
|
options.setup = function setup(props, ctx) {
|
1037
|
-
const defaults =
|
1093
|
+
const defaults = injectDefaults();
|
1038
1094
|
|
1039
1095
|
// Skip props proxy if defaults are not provided
|
1040
1096
|
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
|
-
});
|
1097
|
+
const {
|
1098
|
+
props: _props,
|
1099
|
+
provideSubDefaults
|
1100
|
+
} = internalUseDefaults(props, props._as ?? options.name, defaults);
|
1062
1101
|
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
|
-
});
|
1102
|
+
provideSubDefaults();
|
1070
1103
|
return setupBindings;
|
1071
1104
|
};
|
1072
1105
|
}
|
@@ -1087,15 +1120,19 @@ function createSimpleFunctional(klass) {
|
|
1087
1120
|
tag: {
|
1088
1121
|
type: String,
|
1089
1122
|
default: tag
|
1090
|
-
}
|
1123
|
+
},
|
1124
|
+
...makeComponentProps()
|
1091
1125
|
},
|
1092
1126
|
setup(props, _ref) {
|
1093
1127
|
let {
|
1094
1128
|
slots
|
1095
1129
|
} = _ref;
|
1096
|
-
return () =>
|
1097
|
-
|
1098
|
-
|
1130
|
+
return () => {
|
1131
|
+
return h(props.tag, {
|
1132
|
+
class: [klass, props.class],
|
1133
|
+
style: props.style
|
1134
|
+
}, slots.default?.());
|
1135
|
+
};
|
1099
1136
|
}
|
1100
1137
|
});
|
1101
1138
|
}
|
@@ -1128,6 +1165,34 @@ const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';
|
|
1128
1165
|
const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering
|
1129
1166
|
const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving
|
1130
1167
|
|
1168
|
+
// Utilities
|
1169
|
+
function getCurrentInstance(name, message) {
|
1170
|
+
const vm = getCurrentInstance$1();
|
1171
|
+
if (!vm) {
|
1172
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
1173
|
+
}
|
1174
|
+
return vm;
|
1175
|
+
}
|
1176
|
+
function getCurrentInstanceName() {
|
1177
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
1178
|
+
const vm = getCurrentInstance(name).type;
|
1179
|
+
return toKebabCase(vm?.aliasName || vm?.name);
|
1180
|
+
}
|
1181
|
+
let _uid = 0;
|
1182
|
+
let _map = new WeakMap();
|
1183
|
+
function getUid() {
|
1184
|
+
const vm = getCurrentInstance('getUid');
|
1185
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
1186
|
+
const uid = _uid++;
|
1187
|
+
_map.set(vm, uid);
|
1188
|
+
return uid;
|
1189
|
+
}
|
1190
|
+
}
|
1191
|
+
getUid.reset = () => {
|
1192
|
+
_uid = 0;
|
1193
|
+
_map = new WeakMap();
|
1194
|
+
};
|
1195
|
+
|
1131
1196
|
function getScrollParent(el) {
|
1132
1197
|
while (el) {
|
1133
1198
|
if (hasScrollbar(el)) return el;
|
@@ -1151,6 +1216,16 @@ function hasScrollbar(el) {
|
|
1151
1216
|
return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
|
1152
1217
|
}
|
1153
1218
|
|
1219
|
+
function injectSelf(key) {
|
1220
|
+
const {
|
1221
|
+
provides
|
1222
|
+
} = getCurrentInstance('injectSelf');
|
1223
|
+
if (provides && key in provides) {
|
1224
|
+
// TS doesn't allow symbol as index type
|
1225
|
+
return provides[key];
|
1226
|
+
}
|
1227
|
+
}
|
1228
|
+
|
1154
1229
|
function isFixedPosition(el) {
|
1155
1230
|
while (el) {
|
1156
1231
|
if (window.getComputedStyle(el).position === 'fixed') {
|
@@ -1655,7 +1730,7 @@ function createTheme(options) {
|
|
1655
1730
|
for (const variation of ['lighten', 'darken']) {
|
1656
1731
|
const fn = variation === 'lighten' ? lighten : darken;
|
1657
1732
|
for (const amount of createRange(parsedOptions.variations[variation], 1)) {
|
1658
|
-
theme.colors[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor
|
1733
|
+
theme.colors[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount));
|
1659
1734
|
}
|
1660
1735
|
}
|
1661
1736
|
}
|
@@ -1663,9 +1738,9 @@ function createTheme(options) {
|
|
1663
1738
|
for (const color of Object.keys(theme.colors)) {
|
1664
1739
|
if (/^on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue;
|
1665
1740
|
const onColor = `on-${color}`;
|
1666
|
-
const colorVal = parseColor
|
1667
|
-
const blackContrast = Math.abs(APCAcontrast(parseColor
|
1668
|
-
const whiteContrast = Math.abs(APCAcontrast(parseColor
|
1741
|
+
const colorVal = parseColor(theme.colors[color]);
|
1742
|
+
const blackContrast = Math.abs(APCAcontrast(parseColor(0), colorVal));
|
1743
|
+
const whiteContrast = Math.abs(APCAcontrast(parseColor(0xffffff), colorVal));
|
1669
1744
|
|
1670
1745
|
// TODO: warn about poor color selections
|
1671
1746
|
// const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))
|
@@ -1797,14 +1872,14 @@ function genCssVariables(theme) {
|
|
1797
1872
|
const darkOverlay = theme.dark ? 1 : 2;
|
1798
1873
|
const variables = [];
|
1799
1874
|
for (const [key, value] of Object.entries(theme.colors)) {
|
1800
|
-
const rgb = parseColor
|
1875
|
+
const rgb = parseColor(value);
|
1801
1876
|
variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
1802
1877
|
if (!key.startsWith('on-')) {
|
1803
1878
|
variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
1804
1879
|
}
|
1805
1880
|
}
|
1806
1881
|
for (const [key, value] of Object.entries(theme.variables)) {
|
1807
|
-
const color = typeof value === 'string' && value.startsWith('#') ? parseColor
|
1882
|
+
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
1808
1883
|
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
1809
1884
|
variables.push(`--v-${key}: ${rgb ?? value}`);
|
1810
1885
|
}
|
@@ -2133,6 +2208,7 @@ function useRtl() {
|
|
2133
2208
|
const VApp = genericComponent()({
|
2134
2209
|
name: 'VApp',
|
2135
2210
|
props: {
|
2211
|
+
...makeComponentProps(),
|
2136
2212
|
...makeLayoutProps({
|
2137
2213
|
fullHeight: true
|
2138
2214
|
}),
|
@@ -2155,8 +2231,8 @@ const VApp = genericComponent()({
|
|
2155
2231
|
} = useRtl();
|
2156
2232
|
useRender(() => createVNode("div", {
|
2157
2233
|
"ref": layoutRef,
|
2158
|
-
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value],
|
2159
|
-
"style": layoutStyles.value
|
2234
|
+
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
|
2235
|
+
"style": [layoutStyles.value, props.style]
|
2160
2236
|
}, [createVNode("div", {
|
2161
2237
|
"class": "v-application__wrap"
|
2162
2238
|
}, [slots.default?.()])]));
|
@@ -2576,13 +2652,16 @@ function useAspectStyles(props) {
|
|
2576
2652
|
})
|
2577
2653
|
};
|
2578
2654
|
}
|
2655
|
+
const makeVResponsiveProps = propsFactory({
|
2656
|
+
aspectRatio: [String, Number],
|
2657
|
+
contentClass: String,
|
2658
|
+
inline: Boolean,
|
2659
|
+
...makeComponentProps(),
|
2660
|
+
...makeDimensionProps()
|
2661
|
+
}, 'v-responsive');
|
2579
2662
|
const VResponsive = genericComponent()({
|
2580
2663
|
name: 'VResponsive',
|
2581
|
-
props:
|
2582
|
-
aspectRatio: [String, Number],
|
2583
|
-
contentClass: String,
|
2584
|
-
...makeDimensionProps()
|
2585
|
-
},
|
2664
|
+
props: makeVResponsiveProps(),
|
2586
2665
|
setup(props, _ref) {
|
2587
2666
|
let {
|
2588
2667
|
slots
|
@@ -2594,8 +2673,10 @@ const VResponsive = genericComponent()({
|
|
2594
2673
|
dimensionStyles
|
2595
2674
|
} = useDimension(props);
|
2596
2675
|
useRender(() => createVNode("div", {
|
2597
|
-
"class":
|
2598
|
-
|
2676
|
+
"class": ['v-responsive', {
|
2677
|
+
'v-responsive--inline': props.inline
|
2678
|
+
}, props.class],
|
2679
|
+
"style": [dimensionStyles.value, props.style]
|
2599
2680
|
}, [createVNode("div", {
|
2600
2681
|
"class": "v-responsive__sizer",
|
2601
2682
|
"style": aspectStyles.value
|
@@ -2690,7 +2771,6 @@ const VImg = genericComponent()({
|
|
2690
2771
|
intersect: Intersect
|
2691
2772
|
},
|
2692
2773
|
props: {
|
2693
|
-
aspectRatio: [String, Number],
|
2694
2774
|
alt: String,
|
2695
2775
|
cover: Boolean,
|
2696
2776
|
eager: Boolean,
|
@@ -2712,7 +2792,8 @@ const VImg = genericComponent()({
|
|
2712
2792
|
default: ''
|
2713
2793
|
},
|
2714
2794
|
srcset: String,
|
2715
|
-
|
2795
|
+
...makeVResponsiveProps(),
|
2796
|
+
...makeComponentProps(),
|
2716
2797
|
...makeTransitionProps()
|
2717
2798
|
},
|
2718
2799
|
emits: {
|
@@ -2897,25 +2978,27 @@ const VImg = genericComponent()({
|
|
2897
2978
|
}
|
2898
2979
|
});
|
2899
2980
|
}
|
2900
|
-
useRender(() =>
|
2901
|
-
|
2902
|
-
|
2903
|
-
|
2904
|
-
|
2905
|
-
|
2906
|
-
|
2907
|
-
|
2908
|
-
|
2909
|
-
|
2910
|
-
|
2911
|
-
|
2912
|
-
|
2913
|
-
|
2914
|
-
|
2915
|
-
|
2916
|
-
|
2917
|
-
|
2918
|
-
|
2981
|
+
useRender(() => {
|
2982
|
+
const [responsiveProps] = VResponsive.filterProps(props);
|
2983
|
+
return withDirectives(createVNode(VResponsive, mergeProps({
|
2984
|
+
"class": ['v-img', {
|
2985
|
+
'v-img--booting': !isBooted.value
|
2986
|
+
}, props.class],
|
2987
|
+
"style": props.style
|
2988
|
+
}, responsiveProps, {
|
2989
|
+
"aspectRatio": aspectRatio.value,
|
2990
|
+
"aria-label": props.alt,
|
2991
|
+
"role": props.alt ? 'img' : undefined
|
2992
|
+
}), {
|
2993
|
+
additional: () => createVNode(Fragment, null, [createVNode(__image, null, null), createVNode(__preloadImage, null, null), createVNode(__gradient, null, null), createVNode(__placeholder, null, null), createVNode(__error, null, null)]),
|
2994
|
+
default: slots.default
|
2995
|
+
}), [[resolveDirective("intersect"), {
|
2996
|
+
handler: init,
|
2997
|
+
options: props.options
|
2998
|
+
}, null, {
|
2999
|
+
once: true
|
3000
|
+
}]]);
|
3001
|
+
});
|
2919
3002
|
return {
|
2920
3003
|
currentSrc,
|
2921
3004
|
image,
|
@@ -2938,10 +3021,9 @@ const makeTagProps = propsFactory({
|
|
2938
3021
|
}
|
2939
3022
|
}, 'tag');
|
2940
3023
|
|
2941
|
-
// Types
|
2942
|
-
|
2943
3024
|
const makeVToolbarTitleProps = propsFactory({
|
2944
3025
|
text: String,
|
3026
|
+
...makeComponentProps(),
|
2945
3027
|
...makeTagProps()
|
2946
3028
|
}, 'v-toolbar-title');
|
2947
3029
|
const VToolbarTitle = genericComponent()({
|
@@ -2954,7 +3036,8 @@ const VToolbarTitle = genericComponent()({
|
|
2954
3036
|
useRender(() => {
|
2955
3037
|
const hasText = !!(slots.default || slots.text || props.text);
|
2956
3038
|
return createVNode(props.tag, {
|
2957
|
-
"class":
|
3039
|
+
"class": ['v-toolbar-title', props.class],
|
3040
|
+
"style": props.style
|
2958
3041
|
}, {
|
2959
3042
|
default: () => [hasText && createVNode("div", {
|
2960
3043
|
"class": "v-toolbar-title__placeholder"
|
@@ -3135,6 +3218,7 @@ const makeVToolbarProps = propsFactory({
|
|
3135
3218
|
image: String,
|
3136
3219
|
title: String,
|
3137
3220
|
...makeBorderProps(),
|
3221
|
+
...makeComponentProps(),
|
3138
3222
|
...makeElevationProps(),
|
3139
3223
|
...makeRoundedProps(),
|
3140
3224
|
...makeTagProps({
|
@@ -3185,8 +3269,8 @@ const VToolbar = genericComponent()({
|
|
3185
3269
|
'v-toolbar--flat': props.flat,
|
3186
3270
|
'v-toolbar--floating': props.floating,
|
3187
3271
|
[`v-toolbar--density-${props.density}`]: true
|
3188
|
-
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value],
|
3189
|
-
"style": [backgroundColorStyles.value]
|
3272
|
+
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
3273
|
+
"style": [backgroundColorStyles.value, props.style]
|
3190
3274
|
}, {
|
3191
3275
|
default: () => [hasImage && createVNode("div", {
|
3192
3276
|
"key": "image",
|
@@ -3261,14 +3345,13 @@ const makeScrollProps = propsFactory({
|
|
3261
3345
|
type: String
|
3262
3346
|
},
|
3263
3347
|
scrollThreshold: {
|
3264
|
-
type: [String, Number]
|
3348
|
+
type: [String, Number],
|
3349
|
+
default: 300
|
3265
3350
|
}
|
3266
3351
|
}, 'scroll');
|
3267
3352
|
function useScroll(props) {
|
3268
3353
|
let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
3269
3354
|
const {
|
3270
|
-
thresholdMetCallback,
|
3271
|
-
scrollThreshold,
|
3272
3355
|
canScroll
|
3273
3356
|
} = args;
|
3274
3357
|
let previousScroll = 0;
|
@@ -3278,8 +3361,16 @@ function useScroll(props) {
|
|
3278
3361
|
const currentThreshold = ref(0);
|
3279
3362
|
const isScrollActive = ref(false);
|
3280
3363
|
const isScrollingUp = ref(false);
|
3281
|
-
const
|
3282
|
-
return Number(props.scrollThreshold
|
3364
|
+
const scrollThreshold = computed(() => {
|
3365
|
+
return Number(props.scrollThreshold);
|
3366
|
+
});
|
3367
|
+
|
3368
|
+
/**
|
3369
|
+
* 1: at top
|
3370
|
+
* 0: at threshold
|
3371
|
+
*/
|
3372
|
+
const scrollRatio = computed(() => {
|
3373
|
+
return clamp((scrollThreshold.value - currentScroll.value) / scrollThreshold.value || 0);
|
3283
3374
|
});
|
3284
3375
|
const onScroll = () => {
|
3285
3376
|
const targetEl = target.value;
|
@@ -3287,7 +3378,7 @@ function useScroll(props) {
|
|
3287
3378
|
previousScroll = currentScroll.value;
|
3288
3379
|
currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
|
3289
3380
|
isScrollingUp.value = currentScroll.value < previousScroll;
|
3290
|
-
currentThreshold.value = Math.abs(currentScroll.value -
|
3381
|
+
currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
|
3291
3382
|
};
|
3292
3383
|
watch(isScrollingUp, () => {
|
3293
3384
|
savedScroll.value = savedScroll.value || currentScroll.value;
|
@@ -3299,7 +3390,7 @@ function useScroll(props) {
|
|
3299
3390
|
watch(() => props.scrollTarget, scrollTarget => {
|
3300
3391
|
const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window;
|
3301
3392
|
if (!newTarget) {
|
3302
|
-
consoleWarn(`Unable to locate element with identifier ${scrollTarget}
|
3393
|
+
consoleWarn(`Unable to locate element with identifier ${scrollTarget}`);
|
3303
3394
|
return;
|
3304
3395
|
}
|
3305
3396
|
if (newTarget === target.value) return;
|
@@ -3315,15 +3406,6 @@ function useScroll(props) {
|
|
3315
3406
|
onBeforeUnmount(() => {
|
3316
3407
|
target.value?.removeEventListener('scroll', onScroll);
|
3317
3408
|
});
|
3318
|
-
thresholdMetCallback && watch(() => Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value, thresholdMet => {
|
3319
|
-
thresholdMet && thresholdMetCallback({
|
3320
|
-
currentThreshold: currentThreshold.value,
|
3321
|
-
isScrollingUp: isScrollingUp.value,
|
3322
|
-
savedScroll
|
3323
|
-
});
|
3324
|
-
}, {
|
3325
|
-
immediate: true
|
3326
|
-
});
|
3327
3409
|
|
3328
3410
|
// Do we need this? If yes - seems that
|
3329
3411
|
// there's no need to expose onScroll
|
@@ -3331,10 +3413,11 @@ function useScroll(props) {
|
|
3331
3413
|
immediate: true
|
3332
3414
|
});
|
3333
3415
|
return {
|
3334
|
-
|
3416
|
+
scrollThreshold,
|
3335
3417
|
currentScroll,
|
3336
3418
|
currentThreshold,
|
3337
3419
|
isScrollActive,
|
3420
|
+
scrollRatio,
|
3338
3421
|
// required only for testing
|
3339
3422
|
// probably can be removed
|
3340
3423
|
// later (2 chars chlng)
|
@@ -3417,15 +3500,14 @@ const VAppBar = genericComponent()({
|
|
3417
3500
|
});
|
3418
3501
|
const {
|
3419
3502
|
currentScroll,
|
3420
|
-
|
3421
|
-
|
3422
|
-
|
3503
|
+
scrollThreshold,
|
3504
|
+
isScrollingUp,
|
3505
|
+
scrollRatio
|
3423
3506
|
} = useScroll(props, {
|
3424
3507
|
canScroll
|
3425
3508
|
});
|
3426
|
-
const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ?
|
3427
|
-
const isFlat = computed(() => props.flat || scrollBehavior.value.elevate &&
|
3428
|
-
const scrollRatio = computed(() => Math.min((currentThreshold.value - currentScroll.value) / currentThreshold.value || 1, 1));
|
3509
|
+
const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
|
3510
|
+
const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
|
3429
3511
|
const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
|
3430
3512
|
const height = computed(() => {
|
3431
3513
|
if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;
|
@@ -3434,15 +3516,12 @@ const VAppBar = genericComponent()({
|
|
3434
3516
|
return height + extensionHeight;
|
3435
3517
|
});
|
3436
3518
|
function setActive() {
|
3437
|
-
const val = currentScroll.value;
|
3438
3519
|
if (scrollBehavior.value.hide) {
|
3439
3520
|
if (scrollBehavior.value.inverted) {
|
3440
|
-
isActive.value =
|
3521
|
+
isActive.value = currentScroll.value > scrollThreshold.value;
|
3441
3522
|
} else {
|
3442
|
-
isActive.value = isScrollingUp.value ||
|
3523
|
+
isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
|
3443
3524
|
}
|
3444
|
-
} else if (scrollBehavior.value.inverted) {
|
3445
|
-
isActive.value = currentScroll.value === 0;
|
3446
3525
|
} else {
|
3447
3526
|
isActive.value = true;
|
3448
3527
|
}
|
@@ -3471,13 +3550,13 @@ const VAppBar = genericComponent()({
|
|
3471
3550
|
"ref": vToolbarRef,
|
3472
3551
|
"class": ['v-app-bar', {
|
3473
3552
|
'v-app-bar--bottom': props.location === 'bottom'
|
3474
|
-
}],
|
3475
|
-
"style": {
|
3553
|
+
}, props.class],
|
3554
|
+
"style": [{
|
3476
3555
|
...layoutItemStyles.value,
|
3477
3556
|
'--v-toolbar-image-opacity': opacity.value,
|
3478
3557
|
height: undefined,
|
3479
3558
|
...ssrBootStyles.value
|
3480
|
-
}
|
3559
|
+
}, props.style]
|
3481
3560
|
}, toolbarProps, {
|
3482
3561
|
"collapse": isCollapsed.value,
|
3483
3562
|
"flat": isFlat.value
|
@@ -3564,6 +3643,7 @@ function useVariant(props) {
|
|
3564
3643
|
const makeVBtnGroupProps = propsFactory({
|
3565
3644
|
divided: Boolean,
|
3566
3645
|
...makeBorderProps(),
|
3646
|
+
...makeComponentProps(),
|
3567
3647
|
...makeDensityProps(),
|
3568
3648
|
...makeElevationProps(),
|
3569
3649
|
...makeRoundedProps(),
|
@@ -3606,7 +3686,8 @@ const VBtnGroup = genericComponent()({
|
|
3606
3686
|
return createVNode(props.tag, {
|
3607
3687
|
"class": ['v-btn-group', {
|
3608
3688
|
'v-btn-group--divided': props.divided
|
3609
|
-
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value]
|
3689
|
+
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
3690
|
+
"style": props.style
|
3610
3691
|
}, slots);
|
3611
3692
|
});
|
3612
3693
|
}
|
@@ -3839,8 +3920,10 @@ const VBtnToggle = genericComponent()({
|
|
3839
3920
|
useRender(() => {
|
3840
3921
|
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
3841
3922
|
return createVNode(VBtnGroup, mergeProps({
|
3842
|
-
"class":
|
3843
|
-
}, btnGroupProps
|
3923
|
+
"class": ['v-btn-toggle', props.class]
|
3924
|
+
}, btnGroupProps, {
|
3925
|
+
"style": props.style
|
3926
|
+
}), {
|
3844
3927
|
default: () => [slots.default?.({
|
3845
3928
|
isSelected,
|
3846
3929
|
next,
|
@@ -3911,7 +3994,7 @@ const mdi = {
|
|
3911
3994
|
|
3912
3995
|
// Types
|
3913
3996
|
|
3914
|
-
const IconValue = [String, Function, Object];
|
3997
|
+
const IconValue = [String, Function, Object, Array];
|
3915
3998
|
const IconSymbol = Symbol.for('vuetify:icons');
|
3916
3999
|
const makeIconProps = propsFactory({
|
3917
4000
|
icon: {
|
@@ -3931,8 +4014,9 @@ const VComponentIcon = genericComponent()({
|
|
3931
4014
|
slots
|
3932
4015
|
} = _ref;
|
3933
4016
|
return () => {
|
4017
|
+
const Icon = props.icon;
|
3934
4018
|
return createVNode(props.tag, null, {
|
3935
|
-
default: () => [props.icon ? createVNode(
|
4019
|
+
default: () => [props.icon ? createVNode(Icon, null, null) : slots.default?.()]
|
3936
4020
|
});
|
3937
4021
|
};
|
3938
4022
|
}
|
@@ -3955,7 +4039,12 @@ const VSvgIcon = defineComponent({
|
|
3955
4039
|
"viewBox": "0 0 24 24",
|
3956
4040
|
"role": "img",
|
3957
4041
|
"aria-hidden": "true"
|
3958
|
-
}, [createVNode("path", {
|
4042
|
+
}, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createVNode("path", {
|
4043
|
+
"d": path[0],
|
4044
|
+
"fill-opacity": path[1]
|
4045
|
+
}, null) : createVNode("path", {
|
4046
|
+
"d": path
|
4047
|
+
}, null)) : createVNode("path", {
|
3959
4048
|
"d": props.icon
|
3960
4049
|
}, null)])]
|
3961
4050
|
});
|
@@ -4020,7 +4109,12 @@ const useIcon = props => {
|
|
4020
4109
|
}
|
4021
4110
|
}
|
4022
4111
|
if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`);
|
4023
|
-
if (
|
4112
|
+
if (Array.isArray(icon)) {
|
4113
|
+
return {
|
4114
|
+
component: VSvgIcon,
|
4115
|
+
icon
|
4116
|
+
};
|
4117
|
+
} else if (typeof icon !== 'string') {
|
4024
4118
|
return {
|
4025
4119
|
component: VComponentIcon,
|
4026
4120
|
icon
|
@@ -4077,6 +4171,7 @@ const makeVIconProps = propsFactory({
|
|
4077
4171
|
start: Boolean,
|
4078
4172
|
end: Boolean,
|
4079
4173
|
icon: IconValue,
|
4174
|
+
...makeComponentProps(),
|
4080
4175
|
...makeSizeProps(),
|
4081
4176
|
...makeTagProps({
|
4082
4177
|
tag: 'i'
|
@@ -4119,12 +4214,12 @@ const VIcon = genericComponent()({
|
|
4119
4214
|
'v-icon--clickable': !!attrs.onClick,
|
4120
4215
|
'v-icon--start': props.start,
|
4121
4216
|
'v-icon--end': props.end
|
4122
|
-
}],
|
4217
|
+
}, props.class],
|
4123
4218
|
"style": [!sizeClasses.value ? {
|
4124
4219
|
fontSize: convertToUnit(props.size),
|
4125
4220
|
height: convertToUnit(props.size),
|
4126
4221
|
width: convertToUnit(props.size)
|
4127
|
-
} : undefined, textColorStyles.value],
|
4222
|
+
} : undefined, textColorStyles.value, props.style],
|
4128
4223
|
"role": attrs.onClick ? 'button' : undefined,
|
4129
4224
|
"aria-hidden": !attrs.onClick
|
4130
4225
|
}, {
|
@@ -4182,6 +4277,7 @@ const VProgressCircular = genericComponent()({
|
|
4182
4277
|
type: [Number, String],
|
4183
4278
|
default: 4
|
4184
4279
|
},
|
4280
|
+
...makeComponentProps(),
|
4185
4281
|
...makeSizeProps(),
|
4186
4282
|
...makeTagProps({
|
4187
4283
|
tag: 'div'
|
@@ -4237,8 +4333,8 @@ const VProgressCircular = genericComponent()({
|
|
4237
4333
|
'v-progress-circular--indeterminate': !!props.indeterminate,
|
4238
4334
|
'v-progress-circular--visible': isIntersecting.value,
|
4239
4335
|
'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
|
4240
|
-
}, themeClasses.value, sizeClasses.value, textColorClasses.value],
|
4241
|
-
"style": [sizeStyles.value, textColorStyles.value],
|
4336
|
+
}, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
|
4337
|
+
"style": [sizeStyles.value, textColorStyles.value, props.style],
|
4242
4338
|
"role": "progressbar",
|
4243
4339
|
"aria-valuemin": "0",
|
4244
4340
|
"aria-valuemax": "100",
|
@@ -4657,6 +4753,7 @@ const VProgressLinear = genericComponent()({
|
|
4657
4753
|
stream: Boolean,
|
4658
4754
|
striped: Boolean,
|
4659
4755
|
roundedBar: Boolean,
|
4756
|
+
...makeComponentProps(),
|
4660
4757
|
...makeLocationProps({
|
4661
4758
|
location: 'top'
|
4662
4759
|
}),
|
@@ -4728,14 +4825,14 @@ const VProgressLinear = genericComponent()({
|
|
4728
4825
|
'v-progress-linear--rounded': props.rounded,
|
4729
4826
|
'v-progress-linear--rounded-bar': props.roundedBar,
|
4730
4827
|
'v-progress-linear--striped': props.striped
|
4731
|
-
}, roundedClasses.value, themeClasses.value],
|
4732
|
-
"style": {
|
4828
|
+
}, roundedClasses.value, themeClasses.value, props.class],
|
4829
|
+
"style": [{
|
4733
4830
|
bottom: props.location === 'bottom' ? 0 : undefined,
|
4734
4831
|
top: props.location === 'top' ? 0 : undefined,
|
4735
4832
|
height: props.active ? convertToUnit(height.value) : 0,
|
4736
4833
|
'--v-progress-linear-height': convertToUnit(height.value),
|
4737
4834
|
...locationStyles.value
|
4738
|
-
},
|
4835
|
+
}, props.style],
|
4739
4836
|
"role": "progressbar",
|
4740
4837
|
"aria-hidden": props.active ? 'false' : 'true',
|
4741
4838
|
"aria-valuemin": "0",
|
@@ -4946,7 +5043,7 @@ const makeVBtnProps = propsFactory({
|
|
4946
5043
|
},
|
4947
5044
|
text: String,
|
4948
5045
|
...makeBorderProps(),
|
4949
|
-
...
|
5046
|
+
...makeComponentProps(),
|
4950
5047
|
...makeDensityProps(),
|
4951
5048
|
...makeDimensionProps(),
|
4952
5049
|
...makeElevationProps(),
|
@@ -4954,6 +5051,7 @@ const makeVBtnProps = propsFactory({
|
|
4954
5051
|
...makeLoaderProps(),
|
4955
5052
|
...makeLocationProps(),
|
4956
5053
|
...makePositionProps(),
|
5054
|
+
...makeRoundedProps(),
|
4957
5055
|
...makeRouterProps(),
|
4958
5056
|
...makeSizeProps(),
|
4959
5057
|
...makeTagProps({
|
@@ -4963,7 +5061,7 @@ const makeVBtnProps = propsFactory({
|
|
4963
5061
|
...makeVariantProps({
|
4964
5062
|
variant: 'elevated'
|
4965
5063
|
})
|
4966
|
-
}, '
|
5064
|
+
}, 'v-btn');
|
4967
5065
|
const VBtn = genericComponent()({
|
4968
5066
|
name: 'VBtn',
|
4969
5067
|
directives: {
|
@@ -5033,6 +5131,11 @@ const VBtn = genericComponent()({
|
|
5033
5131
|
if (props.value === undefined) return undefined;
|
5034
5132
|
return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
|
5035
5133
|
});
|
5134
|
+
function onClick(e) {
|
5135
|
+
if (isDisabled.value) return;
|
5136
|
+
link.navigate?.(e);
|
5137
|
+
group?.toggle();
|
5138
|
+
}
|
5036
5139
|
useSelectLink(link, group?.select);
|
5037
5140
|
useRender(() => {
|
5038
5141
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
@@ -5051,15 +5154,11 @@ const VBtn = genericComponent()({
|
|
5051
5154
|
'v-btn--icon': !!props.icon,
|
5052
5155
|
'v-btn--loading': props.loading,
|
5053
5156
|
'v-btn--stacked': props.stacked
|
5054
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
5055
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value],
|
5157
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
5158
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
5056
5159
|
"disabled": isDisabled.value || undefined,
|
5057
5160
|
"href": link.href.value,
|
5058
|
-
"onClick":
|
5059
|
-
if (isDisabled.value) return;
|
5060
|
-
link.navigate?.(e);
|
5061
|
-
group?.toggle();
|
5062
|
-
},
|
5161
|
+
"onClick": onClick,
|
5063
5162
|
"value": valueAttr.value
|
5064
5163
|
}, {
|
5065
5164
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode("span", {
|
@@ -5125,29 +5224,29 @@ const VBtn = genericComponent()({
|
|
5125
5224
|
|
5126
5225
|
const VAppBarNavIcon = genericComponent()({
|
5127
5226
|
name: 'VAppBarNavIcon',
|
5128
|
-
props: {
|
5129
|
-
icon:
|
5130
|
-
|
5131
|
-
|
5132
|
-
}
|
5133
|
-
},
|
5227
|
+
props: makeVBtnProps({
|
5228
|
+
icon: '$menu',
|
5229
|
+
variant: 'text'
|
5230
|
+
}),
|
5134
5231
|
setup(props, _ref) {
|
5135
5232
|
let {
|
5136
5233
|
slots
|
5137
5234
|
} = _ref;
|
5138
|
-
useRender(() => createVNode(VBtn, {
|
5139
|
-
"class":
|
5140
|
-
|
5141
|
-
}, slots));
|
5235
|
+
useRender(() => createVNode(VBtn, mergeProps(props, {
|
5236
|
+
"class": ['v-app-bar-nav-icon']
|
5237
|
+
}), slots));
|
5142
5238
|
return {};
|
5143
5239
|
}
|
5144
5240
|
});
|
5145
5241
|
|
5146
5242
|
const VToolbarItems = genericComponent()({
|
5147
5243
|
name: 'VToolbarItems',
|
5148
|
-
props:
|
5149
|
-
|
5150
|
-
|
5244
|
+
props: {
|
5245
|
+
...makeComponentProps(),
|
5246
|
+
...makeVariantProps({
|
5247
|
+
variant: 'text'
|
5248
|
+
})
|
5249
|
+
},
|
5151
5250
|
setup(props, _ref) {
|
5152
5251
|
let {
|
5153
5252
|
slots
|
@@ -5160,7 +5259,8 @@ const VToolbarItems = genericComponent()({
|
|
5160
5259
|
}
|
5161
5260
|
});
|
5162
5261
|
useRender(() => createVNode("div", {
|
5163
|
-
"class":
|
5262
|
+
"class": ['v-toolbar-items', props.class],
|
5263
|
+
"style": props.style
|
5164
5264
|
}, [slots.default?.()]));
|
5165
5265
|
return {};
|
5166
5266
|
}
|
@@ -5222,6 +5322,7 @@ const VAlert = genericComponent()({
|
|
5222
5322
|
type: String,
|
5223
5323
|
validator: val => allowedTypes.includes(val)
|
5224
5324
|
},
|
5325
|
+
...makeComponentProps(),
|
5225
5326
|
...makeDensityProps(),
|
5226
5327
|
...makeDimensionProps(),
|
5227
5328
|
...makeElevationProps(),
|
@@ -5304,8 +5405,8 @@ const VAlert = genericComponent()({
|
|
5304
5405
|
[`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
|
5305
5406
|
}, {
|
5306
5407
|
'v-alert--prominent': props.prominent
|
5307
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
5308
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
5408
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
5409
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
5309
5410
|
"role": "alert"
|
5310
5411
|
}, {
|
5311
5412
|
default: () => [genOverlays(false, 'v-alert'), props.border && createVNode("div", {
|
@@ -5399,6 +5500,7 @@ const VLabel = genericComponent()({
|
|
5399
5500
|
props: {
|
5400
5501
|
text: String,
|
5401
5502
|
clickable: Boolean,
|
5503
|
+
...makeComponentProps(),
|
5402
5504
|
...makeThemeProps()
|
5403
5505
|
},
|
5404
5506
|
setup(props, _ref) {
|
@@ -5408,7 +5510,8 @@ const VLabel = genericComponent()({
|
|
5408
5510
|
useRender(() => createVNode("label", {
|
5409
5511
|
"class": ['v-label', {
|
5410
5512
|
'v-label--clickable': props.clickable
|
5411
|
-
}]
|
5513
|
+
}, props.class],
|
5514
|
+
"style": props.style
|
5412
5515
|
}, [props.text, slots.default?.()]));
|
5413
5516
|
return {};
|
5414
5517
|
}
|
@@ -5417,7 +5520,8 @@ const VLabel = genericComponent()({
|
|
5417
5520
|
const VFieldLabel = genericComponent()({
|
5418
5521
|
name: 'VFieldLabel',
|
5419
5522
|
props: {
|
5420
|
-
floating: Boolean
|
5523
|
+
floating: Boolean,
|
5524
|
+
...makeComponentProps()
|
5421
5525
|
},
|
5422
5526
|
setup(props, _ref) {
|
5423
5527
|
let {
|
@@ -5426,7 +5530,8 @@ const VFieldLabel = genericComponent()({
|
|
5426
5530
|
useRender(() => createVNode(VLabel, {
|
5427
5531
|
"class": ['v-field-label', {
|
5428
5532
|
'v-field-label--floating': props.floating
|
5429
|
-
}],
|
5533
|
+
}, props.class],
|
5534
|
+
"style": props.style,
|
5430
5535
|
"aria-hidden": props.floating || undefined
|
5431
5536
|
}, slots));
|
5432
5537
|
return {};
|
@@ -5477,6 +5582,7 @@ const makeVFieldProps = propsFactory({
|
|
5477
5582
|
},
|
5478
5583
|
active: Boolean,
|
5479
5584
|
color: String,
|
5585
|
+
baseColor: String,
|
5480
5586
|
dirty: Boolean,
|
5481
5587
|
disabled: Boolean,
|
5482
5588
|
error: Boolean,
|
@@ -5494,9 +5600,10 @@ const makeVFieldProps = propsFactory({
|
|
5494
5600
|
'onClick:clear': EventProp(),
|
5495
5601
|
'onClick:appendInner': EventProp(),
|
5496
5602
|
'onClick:prependInner': EventProp(),
|
5497
|
-
...
|
5603
|
+
...makeComponentProps(),
|
5498
5604
|
...makeLoaderProps(),
|
5499
|
-
...makeRoundedProps()
|
5605
|
+
...makeRoundedProps(),
|
5606
|
+
...makeThemeProps()
|
5500
5607
|
}, 'v-field');
|
5501
5608
|
const VField = genericComponent()({
|
5502
5609
|
name: 'VField',
|
@@ -5550,7 +5657,7 @@ const VField = genericComponent()({
|
|
5550
5657
|
textColorClasses,
|
5551
5658
|
textColorStyles
|
5552
5659
|
} = useTextColor(computed(() => {
|
5553
|
-
return
|
5660
|
+
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
5554
5661
|
}));
|
5555
5662
|
watch(isActive, val => {
|
5556
5663
|
if (hasLabel.value) {
|
@@ -5627,8 +5734,8 @@ const VField = genericComponent()({
|
|
5627
5734
|
'v-field--single-line': props.singleLine,
|
5628
5735
|
'v-field--no-label': !label,
|
5629
5736
|
[`v-field--variant-${props.variant}`]: true
|
5630
|
-
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value],
|
5631
|
-
"style": [backgroundColorStyles.value, textColorStyles.value],
|
5737
|
+
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, props.class],
|
5738
|
+
"style": [backgroundColorStyles.value, textColorStyles.value, props.style],
|
5632
5739
|
"onClick": onClick
|
5633
5740
|
}, attrs), [createVNode("div", {
|
5634
5741
|
"class": "v-field__overlay"
|
@@ -5716,7 +5823,7 @@ const VField = genericComponent()({
|
|
5716
5823
|
});
|
5717
5824
|
// TODO: this is kinda slow, might be better to implicitly inherit props instead
|
5718
5825
|
function filterFieldProps(attrs) {
|
5719
|
-
const keys = Object.keys(VField.props).filter(k => !isOn(k));
|
5826
|
+
const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');
|
5720
5827
|
return pick(attrs, keys);
|
5721
5828
|
}
|
5722
5829
|
|
@@ -5731,6 +5838,7 @@ const VMessages = genericComponent()({
|
|
5731
5838
|
type: [Array, String],
|
5732
5839
|
default: () => []
|
5733
5840
|
},
|
5841
|
+
...makeComponentProps(),
|
5734
5842
|
...makeTransitionProps({
|
5735
5843
|
transition: {
|
5736
5844
|
component: VSlideYTransition,
|
@@ -5751,8 +5859,8 @@ const VMessages = genericComponent()({
|
|
5751
5859
|
useRender(() => createVNode(MaybeTransition, {
|
5752
5860
|
"transition": props.transition,
|
5753
5861
|
"tag": "div",
|
5754
|
-
"class": ['v-messages', textColorClasses.value],
|
5755
|
-
"style": textColorStyles.value,
|
5862
|
+
"class": ['v-messages', textColorClasses.value, props.class],
|
5863
|
+
"style": [textColorStyles.value, props.style],
|
5756
5864
|
"role": "alert",
|
5757
5865
|
"aria-live": "polite"
|
5758
5866
|
}, {
|
@@ -6048,6 +6156,7 @@ const makeVInputProps = propsFactory({
|
|
6048
6156
|
},
|
6049
6157
|
'onClick:prepend': EventProp(),
|
6050
6158
|
'onClick:append': EventProp(),
|
6159
|
+
...makeComponentProps(),
|
6051
6160
|
...makeDensityProps(),
|
6052
6161
|
...makeValidationProps()
|
6053
6162
|
}, 'v-input');
|
@@ -6115,7 +6224,8 @@ const VInput = genericComponent()({
|
|
6115
6224
|
const hasMessages = messages.value.length > 0;
|
6116
6225
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
6117
6226
|
return createVNode("div", {
|
6118
|
-
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
|
6227
|
+
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value, props.class],
|
6228
|
+
"style": props.style
|
6119
6229
|
}, [hasPrepend && createVNode("div", {
|
6120
6230
|
"key": "prepend",
|
6121
6231
|
"class": "v-input__prepend"
|
@@ -6158,6 +6268,7 @@ const VCounter = genericComponent()({
|
|
6158
6268
|
type: [Number, String],
|
6159
6269
|
default: 0
|
6160
6270
|
},
|
6271
|
+
...makeComponentProps(),
|
6161
6272
|
...makeTransitionProps({
|
6162
6273
|
transition: {
|
6163
6274
|
component: VSlideYTransition
|
@@ -6175,7 +6286,8 @@ const VCounter = genericComponent()({
|
|
6175
6286
|
"transition": props.transition
|
6176
6287
|
}, {
|
6177
6288
|
default: () => [withDirectives(createVNode("div", {
|
6178
|
-
"class":
|
6289
|
+
"class": ['v-counter', props.class],
|
6290
|
+
"style": props.style
|
6179
6291
|
}, [slots.default ? slots.default({
|
6180
6292
|
counter: counter.value,
|
6181
6293
|
max: props.max,
|
@@ -6325,7 +6437,7 @@ const VTextField = genericComponent()({
|
|
6325
6437
|
const vInputRef = ref();
|
6326
6438
|
const vFieldRef = ref();
|
6327
6439
|
const inputRef = ref();
|
6328
|
-
const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value);
|
6440
|
+
const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);
|
6329
6441
|
function onFocus() {
|
6330
6442
|
if (inputRef.value !== document.activeElement) {
|
6331
6443
|
inputRef.value?.focus();
|
@@ -6378,7 +6490,8 @@ const VTextField = genericComponent()({
|
|
6378
6490
|
'v-text-field--prefixed': props.prefix,
|
6379
6491
|
'v-text-field--suffixed': props.suffix,
|
6380
6492
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
6381
|
-
}]
|
6493
|
+
}, props.class],
|
6494
|
+
"style": props.style
|
6382
6495
|
}, rootAttrs, inputProps, {
|
6383
6496
|
"focused": isFocused.value
|
6384
6497
|
}), {
|
@@ -6494,6 +6607,7 @@ const VSelectionControlGroup = genericComponent()({
|
|
6494
6607
|
type: String,
|
6495
6608
|
default: 'VSelectionControl'
|
6496
6609
|
},
|
6610
|
+
...makeComponentProps(),
|
6497
6611
|
...makeSelectionControlGroupProps()
|
6498
6612
|
},
|
6499
6613
|
emits: {
|
@@ -6541,7 +6655,8 @@ const VSelectionControlGroup = genericComponent()({
|
|
6541
6655
|
useRender(() => createVNode("div", {
|
6542
6656
|
"class": ['v-selection-control-group', {
|
6543
6657
|
'v-selection-control-group--inline': props.inline
|
6544
|
-
}],
|
6658
|
+
}, props.class],
|
6659
|
+
"style": props.style,
|
6545
6660
|
"role": props.type === 'radio' ? 'radiogroup' : undefined
|
6546
6661
|
}, [slots.default?.()]));
|
6547
6662
|
return {};
|
@@ -6555,6 +6670,7 @@ const makeSelectionControlProps = propsFactory({
|
|
6555
6670
|
trueValue: null,
|
6556
6671
|
falseValue: null,
|
6557
6672
|
value: null,
|
6673
|
+
...makeComponentProps(),
|
6558
6674
|
...makeSelectionControlGroupProps()
|
6559
6675
|
}, 'v-selection-control');
|
6560
6676
|
function useSelectionControl(props) {
|
@@ -6669,8 +6785,10 @@ const VSelectionControl = genericComponent()({
|
|
6669
6785
|
'v-selection-control--focused': isFocused.value,
|
6670
6786
|
'v-selection-control--focus-visible': isFocusVisible.value,
|
6671
6787
|
'v-selection-control--inline': props.inline
|
6672
|
-
}, densityClasses.value]
|
6673
|
-
}, rootAttrs
|
6788
|
+
}, densityClasses.value, props.class]
|
6789
|
+
}, rootAttrs, {
|
6790
|
+
"style": props.style
|
6791
|
+
}), [createVNode("div", {
|
6674
6792
|
"class": ['v-selection-control__wrapper', textColorClasses.value],
|
6675
6793
|
"style": textColorStyles.value
|
6676
6794
|
}, [slots.default?.(), withDirectives(createVNode("div", {
|
@@ -6752,9 +6870,9 @@ const VCheckboxBtn = genericComponent()({
|
|
6752
6870
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
6753
6871
|
"modelValue": model.value,
|
6754
6872
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
6755
|
-
"class":
|
6873
|
+
"class": ['v-checkbox-btn', props.class],
|
6874
|
+
"style": props.style,
|
6756
6875
|
"type": "checkbox",
|
6757
|
-
"inline": true,
|
6758
6876
|
"falseIcon": falseIcon.value,
|
6759
6877
|
"trueIcon": trueIcon.value,
|
6760
6878
|
"aria-checked": props.indeterminate ? 'mixed' : undefined
|
@@ -6792,10 +6910,11 @@ const VCheckbox = genericComponent()({
|
|
6792
6910
|
const [inputProps, _1] = VInput.filterProps(props);
|
6793
6911
|
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
6794
6912
|
return createVNode(VInput, mergeProps({
|
6795
|
-
"class":
|
6913
|
+
"class": ['v-checkbox', props.class]
|
6796
6914
|
}, inputAttrs, inputProps, {
|
6797
6915
|
"id": id.value,
|
6798
|
-
"focused": isFocused.value
|
6916
|
+
"focused": isFocused.value,
|
6917
|
+
"style": props.style
|
6799
6918
|
}), {
|
6800
6919
|
...slots,
|
6801
6920
|
default: _ref2 => {
|
@@ -6826,6 +6945,7 @@ const makeVAvatarProps = propsFactory({
|
|
6826
6945
|
end: Boolean,
|
6827
6946
|
icon: IconValue,
|
6828
6947
|
image: String,
|
6948
|
+
...makeComponentProps(),
|
6829
6949
|
...makeDensityProps(),
|
6830
6950
|
...makeRoundedProps(),
|
6831
6951
|
...makeSizeProps(),
|
@@ -6864,8 +6984,8 @@ const VAvatar = genericComponent()({
|
|
6864
6984
|
"class": ['v-avatar', {
|
6865
6985
|
'v-avatar--start': props.start,
|
6866
6986
|
'v-avatar--end': props.end
|
6867
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
6868
|
-
"style": [colorStyles.value, sizeStyles.value]
|
6987
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
6988
|
+
"style": [colorStyles.value, sizeStyles.value, props.style]
|
6869
6989
|
}, {
|
6870
6990
|
default: () => [props.image ? createVNode(VImg, {
|
6871
6991
|
"key": "image",
|
@@ -6893,6 +7013,7 @@ const VChipGroup = genericComponent()({
|
|
6893
7013
|
type: Function,
|
6894
7014
|
default: deepEqual
|
6895
7015
|
},
|
7016
|
+
...makeComponentProps(),
|
6896
7017
|
...makeGroupProps({
|
6897
7018
|
selectedClass: 'v-chip--selected'
|
6898
7019
|
}),
|
@@ -6930,7 +7051,8 @@ const VChipGroup = genericComponent()({
|
|
6930
7051
|
useRender(() => createVNode(props.tag, {
|
6931
7052
|
"class": ['v-chip-group', {
|
6932
7053
|
'v-chip-group--column': props.column
|
6933
|
-
}, themeClasses.value]
|
7054
|
+
}, themeClasses.value, props.class],
|
7055
|
+
"style": props.style
|
6934
7056
|
}, {
|
6935
7057
|
default: () => [slots.default?.({
|
6936
7058
|
isSelected,
|
@@ -6944,8 +7066,6 @@ const VChipGroup = genericComponent()({
|
|
6944
7066
|
}
|
6945
7067
|
});
|
6946
7068
|
|
6947
|
-
// Types
|
6948
|
-
|
6949
7069
|
const VChip = genericComponent()({
|
6950
7070
|
name: 'VChip',
|
6951
7071
|
directives: {
|
@@ -6990,6 +7110,7 @@ const VChip = genericComponent()({
|
|
6990
7110
|
onClick: EventProp(),
|
6991
7111
|
onClickOnce: EventProp(),
|
6992
7112
|
...makeBorderProps(),
|
7113
|
+
...makeComponentProps(),
|
6993
7114
|
...makeDensityProps(),
|
6994
7115
|
...makeElevationProps(),
|
6995
7116
|
...makeGroupItemProps(),
|
@@ -7082,8 +7203,8 @@ const VChip = genericComponent()({
|
|
7082
7203
|
'v-chip--link': isClickable.value,
|
7083
7204
|
'v-chip--filter': hasFilter,
|
7084
7205
|
'v-chip--pill': props.pill
|
7085
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value],
|
7086
|
-
"style": [hasColor ? colorStyles.value : undefined],
|
7206
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
|
7207
|
+
"style": [hasColor ? colorStyles.value : undefined, props.style],
|
7087
7208
|
"disabled": props.disabled || undefined,
|
7088
7209
|
"draggable": props.draggable,
|
7089
7210
|
"href": link.href.value,
|
@@ -7192,6 +7313,7 @@ const VDivider = genericComponent()({
|
|
7192
7313
|
length: [Number, String],
|
7193
7314
|
thickness: [Number, String],
|
7194
7315
|
vertical: Boolean,
|
7316
|
+
...makeComponentProps(),
|
7195
7317
|
...makeThemeProps()
|
7196
7318
|
},
|
7197
7319
|
setup(props, _ref) {
|
@@ -7220,8 +7342,8 @@ const VDivider = genericComponent()({
|
|
7220
7342
|
'v-divider': true,
|
7221
7343
|
'v-divider--inset': props.inset,
|
7222
7344
|
'v-divider--vertical': props.vertical
|
7223
|
-
}, themeClasses.value, textColorClasses.value],
|
7224
|
-
"style": [dividerStyles.value, textColorStyles.value],
|
7345
|
+
}, themeClasses.value, textColorClasses.value, props.class],
|
7346
|
+
"style": [dividerStyles.value, textColorStyles.value, props.style],
|
7225
7347
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
7226
7348
|
"role": `${attrs.role || 'separator'}`
|
7227
7349
|
}, null));
|
@@ -7705,7 +7827,9 @@ const VListGroupActivator = defineComponent({
|
|
7705
7827
|
}
|
7706
7828
|
});
|
7707
7829
|
const makeVListGroupProps = propsFactory({
|
7830
|
+
/* @deprecated */
|
7708
7831
|
activeColor: String,
|
7832
|
+
baseColor: String,
|
7709
7833
|
color: String,
|
7710
7834
|
collapseIcon: {
|
7711
7835
|
type: IconValue,
|
@@ -7720,6 +7844,7 @@ const makeVListGroupProps = propsFactory({
|
|
7720
7844
|
fluid: Boolean,
|
7721
7845
|
subgroup: Boolean,
|
7722
7846
|
value: null,
|
7847
|
+
...makeComponentProps(),
|
7723
7848
|
...makeTagProps()
|
7724
7849
|
}, 'v-list-group');
|
7725
7850
|
const VListGroup = genericComponent()({
|
@@ -7755,6 +7880,7 @@ const VListGroup = genericComponent()({
|
|
7755
7880
|
VListItem: {
|
7756
7881
|
active: isOpen.value,
|
7757
7882
|
activeColor: props.activeColor,
|
7883
|
+
baseColor: props.baseColor,
|
7758
7884
|
color: props.color,
|
7759
7885
|
prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
|
7760
7886
|
appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
|
@@ -7768,7 +7894,8 @@ const VListGroup = genericComponent()({
|
|
7768
7894
|
'v-list-group--fluid': props.fluid,
|
7769
7895
|
'v-list-group--subgroup': props.subgroup,
|
7770
7896
|
'v-list-group--open': isOpen.value
|
7771
|
-
}]
|
7897
|
+
}, props.class],
|
7898
|
+
"style": props.style
|
7772
7899
|
}, {
|
7773
7900
|
default: () => [slots.activator && createVNode(VDefaultsProvider, {
|
7774
7901
|
"defaults": activatorDefaults.value
|
@@ -7813,9 +7940,11 @@ const VListItem = genericComponent()({
|
|
7813
7940
|
default: undefined
|
7814
7941
|
},
|
7815
7942
|
activeClass: String,
|
7943
|
+
/* @deprecated */
|
7816
7944
|
activeColor: String,
|
7817
7945
|
appendAvatar: String,
|
7818
7946
|
appendIcon: IconValue,
|
7947
|
+
baseColor: String,
|
7819
7948
|
disabled: Boolean,
|
7820
7949
|
lines: String,
|
7821
7950
|
link: {
|
@@ -7835,6 +7964,7 @@ const VListItem = genericComponent()({
|
|
7835
7964
|
onClick: EventProp(),
|
7836
7965
|
onClickOnce: EventProp(),
|
7837
7966
|
...makeBorderProps(),
|
7967
|
+
...makeComponentProps(),
|
7838
7968
|
...makeDensityProps(),
|
7839
7969
|
...makeDimensionProps(),
|
7840
7970
|
...makeElevationProps(),
|
@@ -7871,8 +8001,9 @@ const VListItem = genericComponent()({
|
|
7871
8001
|
const isLink = computed(() => props.link !== false && link.isLink.value);
|
7872
8002
|
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!list));
|
7873
8003
|
const roundedProps = computed(() => props.rounded || props.nav);
|
8004
|
+
const color = computed(() => props.color ?? props.activeColor);
|
7874
8005
|
const variantProps = computed(() => ({
|
7875
|
-
color: isActive.value ?
|
8006
|
+
color: isActive.value ? color.value ?? props.baseColor : props.baseColor,
|
7876
8007
|
variant: props.variant
|
7877
8008
|
}));
|
7878
8009
|
watch(() => link.isActive?.value, val => {
|
@@ -7929,7 +8060,6 @@ const VListItem = genericComponent()({
|
|
7929
8060
|
}
|
7930
8061
|
useRender(() => {
|
7931
8062
|
const Tag = isLink.value ? 'a' : props.tag;
|
7932
|
-
const hasColor = !list || isSelected.value || isActive.value;
|
7933
8063
|
const hasTitle = slots.title || props.title;
|
7934
8064
|
const hasSubtitle = slots.subtitle || props.subtitle;
|
7935
8065
|
const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);
|
@@ -7937,6 +8067,9 @@ const VListItem = genericComponent()({
|
|
7937
8067
|
const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
|
7938
8068
|
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
7939
8069
|
list?.updateHasPrepend(hasPrepend);
|
8070
|
+
if (props.activeColor) {
|
8071
|
+
deprecate('active-color', ['color', 'base-color']);
|
8072
|
+
}
|
7940
8073
|
return withDirectives(createVNode(Tag, {
|
7941
8074
|
"class": ['v-list-item', {
|
7942
8075
|
'v-list-item--active': isActive.value,
|
@@ -7945,8 +8078,8 @@ const VListItem = genericComponent()({
|
|
7945
8078
|
'v-list-item--nav': props.nav,
|
7946
8079
|
'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,
|
7947
8080
|
[`${props.activeClass}`]: props.activeClass && isActive.value
|
7948
|
-
}, themeClasses.value, borderClasses.value,
|
7949
|
-
"style": [
|
8081
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
8082
|
+
"style": [colorStyles.value, dimensionStyles.value, props.style],
|
7950
8083
|
"href": link.href.value,
|
7951
8084
|
"tabindex": isClickable.value ? 0 : undefined,
|
7952
8085
|
"onClick": onClick,
|
@@ -8039,6 +8172,7 @@ const VListSubheader = genericComponent()({
|
|
8039
8172
|
inset: Boolean,
|
8040
8173
|
sticky: Boolean,
|
8041
8174
|
title: String,
|
8175
|
+
...makeComponentProps(),
|
8042
8176
|
...makeTagProps()
|
8043
8177
|
},
|
8044
8178
|
setup(props, _ref) {
|
@@ -8055,10 +8189,10 @@ const VListSubheader = genericComponent()({
|
|
8055
8189
|
"class": ['v-list-subheader', {
|
8056
8190
|
'v-list-subheader--inset': props.inset,
|
8057
8191
|
'v-list-subheader--sticky': props.sticky
|
8058
|
-
}, textColorClasses.value],
|
8059
|
-
"style": {
|
8192
|
+
}, textColorClasses.value, props.class],
|
8193
|
+
"style": [{
|
8060
8194
|
textColorStyles
|
8061
|
-
}
|
8195
|
+
}, props.style]
|
8062
8196
|
}, {
|
8063
8197
|
default: () => [hasText && createVNode("div", {
|
8064
8198
|
"class": "v-list-subheader__text"
|
@@ -8264,6 +8398,8 @@ function useListItems(props) {
|
|
8264
8398
|
const VList = genericComponent()({
|
8265
8399
|
name: 'VList',
|
8266
8400
|
props: {
|
8401
|
+
baseColor: String,
|
8402
|
+
/* @deprecated */
|
8267
8403
|
activeColor: String,
|
8268
8404
|
activeClass: String,
|
8269
8405
|
bgColor: String,
|
@@ -8278,6 +8414,7 @@ const VList = genericComponent()({
|
|
8278
8414
|
openStrategy: 'list'
|
8279
8415
|
}),
|
8280
8416
|
...makeBorderProps(),
|
8417
|
+
...makeComponentProps(),
|
8281
8418
|
...makeDensityProps(),
|
8282
8419
|
...makeDimensionProps(),
|
8283
8420
|
...makeElevationProps(),
|
@@ -8334,16 +8471,19 @@ const VList = genericComponent()({
|
|
8334
8471
|
} = useNested(props);
|
8335
8472
|
const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined);
|
8336
8473
|
const activeColor = toRef(props, 'activeColor');
|
8474
|
+
const baseColor = toRef(props, 'baseColor');
|
8337
8475
|
const color = toRef(props, 'color');
|
8338
8476
|
createList();
|
8339
8477
|
provideDefaults({
|
8340
8478
|
VListGroup: {
|
8341
8479
|
activeColor,
|
8480
|
+
baseColor,
|
8342
8481
|
color
|
8343
8482
|
},
|
8344
8483
|
VListItem: {
|
8345
8484
|
activeClass: toRef(props, 'activeClass'),
|
8346
8485
|
activeColor,
|
8486
|
+
baseColor,
|
8347
8487
|
color,
|
8348
8488
|
density: toRef(props, 'density'),
|
8349
8489
|
disabled: toRef(props, 'disabled'),
|
@@ -8379,27 +8519,8 @@ const VList = genericComponent()({
|
|
8379
8519
|
e.preventDefault();
|
8380
8520
|
}
|
8381
8521
|
function focus(location) {
|
8382
|
-
if (
|
8383
|
-
|
8384
|
-
const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
|
8385
|
-
const idx = focusable.indexOf(document.activeElement);
|
8386
|
-
if (!location) {
|
8387
|
-
if (!contentRef.value.contains(document.activeElement)) {
|
8388
|
-
focusable[0]?.focus();
|
8389
|
-
}
|
8390
|
-
} else if (location === 'first') {
|
8391
|
-
focusable[0]?.focus();
|
8392
|
-
} else if (location === 'last') {
|
8393
|
-
focusable.at(-1)?.focus();
|
8394
|
-
} else {
|
8395
|
-
let el;
|
8396
|
-
let idxx = idx;
|
8397
|
-
const inc = location === 'next' ? 1 : -1;
|
8398
|
-
do {
|
8399
|
-
idxx += inc;
|
8400
|
-
el = focusable[idxx];
|
8401
|
-
} while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
8402
|
-
if (el) el.focus();else focus(location === 'next' ? 'first' : 'last');
|
8522
|
+
if (contentRef.value) {
|
8523
|
+
return focusChild(contentRef.value, location);
|
8403
8524
|
}
|
8404
8525
|
}
|
8405
8526
|
useRender(() => {
|
@@ -8408,8 +8529,8 @@ const VList = genericComponent()({
|
|
8408
8529
|
"class": ['v-list', {
|
8409
8530
|
'v-list--disabled': props.disabled,
|
8410
8531
|
'v-list--nav': props.nav
|
8411
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value],
|
8412
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value],
|
8532
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
|
8533
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
8413
8534
|
"role": "listbox",
|
8414
8535
|
"aria-activedescendant": undefined,
|
8415
8536
|
"onFocusin": onFocusin,
|
@@ -8437,6 +8558,7 @@ const VListItemAction = genericComponent()({
|
|
8437
8558
|
props: {
|
8438
8559
|
start: Boolean,
|
8439
8560
|
end: Boolean,
|
8561
|
+
...makeComponentProps(),
|
8440
8562
|
...makeTagProps()
|
8441
8563
|
},
|
8442
8564
|
setup(props, _ref) {
|
@@ -8447,7 +8569,8 @@ const VListItemAction = genericComponent()({
|
|
8447
8569
|
"class": ['v-list-item-action', {
|
8448
8570
|
'v-list-item-action--start': props.start,
|
8449
8571
|
'v-list-item-action--end': props.end
|
8450
|
-
}]
|
8572
|
+
}, props.class],
|
8573
|
+
"style": props.style
|
8451
8574
|
}, slots));
|
8452
8575
|
return {};
|
8453
8576
|
}
|
@@ -8458,6 +8581,7 @@ const VListItemMedia = genericComponent()({
|
|
8458
8581
|
props: {
|
8459
8582
|
start: Boolean,
|
8460
8583
|
end: Boolean,
|
8584
|
+
...makeComponentProps(),
|
8461
8585
|
...makeTagProps()
|
8462
8586
|
},
|
8463
8587
|
setup(props, _ref) {
|
@@ -8469,7 +8593,8 @@ const VListItemMedia = genericComponent()({
|
|
8469
8593
|
"class": ['v-list-item-media', {
|
8470
8594
|
'v-list-item-media--start': props.start,
|
8471
8595
|
'v-list-item-media--end': props.end
|
8472
|
-
}]
|
8596
|
+
}, props.class],
|
8597
|
+
"style": props.style
|
8473
8598
|
}, slots);
|
8474
8599
|
});
|
8475
8600
|
return {};
|
@@ -9379,14 +9504,14 @@ const parseDisplayOptions = function () {
|
|
9379
9504
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultDisplayOptions;
|
9380
9505
|
return mergeDeep(defaultDisplayOptions, options);
|
9381
9506
|
};
|
9382
|
-
function getClientWidth(
|
9383
|
-
return IN_BROWSER && !
|
9507
|
+
function getClientWidth(ssr) {
|
9508
|
+
return IN_BROWSER && !ssr ? window.innerWidth : typeof ssr === 'object' && ssr.clientWidth || 0;
|
9384
9509
|
}
|
9385
|
-
function getClientHeight(
|
9386
|
-
return IN_BROWSER && !
|
9510
|
+
function getClientHeight(ssr) {
|
9511
|
+
return IN_BROWSER && !ssr ? window.innerHeight : typeof ssr === 'object' && ssr.clientHeight || 0;
|
9387
9512
|
}
|
9388
|
-
function getPlatform(
|
9389
|
-
const userAgent = IN_BROWSER && !
|
9513
|
+
function getPlatform(ssr) {
|
9514
|
+
const userAgent = IN_BROWSER && !ssr ? window.navigator.userAgent : 'ssr';
|
9390
9515
|
function match(regexp) {
|
9391
9516
|
return Boolean(userAgent.match(regexp));
|
9392
9517
|
}
|
@@ -9710,6 +9835,7 @@ const makeVOverlayProps = propsFactory({
|
|
9710
9835
|
default: 2000
|
9711
9836
|
},
|
9712
9837
|
...makeActivatorProps(),
|
9838
|
+
...makeComponentProps(),
|
9713
9839
|
...makeDimensionProps(),
|
9714
9840
|
...makeLazyProps(),
|
9715
9841
|
...makeLocationStrategyProps(),
|
@@ -9877,10 +10003,10 @@ const VOverlay = genericComponent()({
|
|
9877
10003
|
'v-overlay--absolute': props.absolute || props.contained,
|
9878
10004
|
'v-overlay--active': isActive.value,
|
9879
10005
|
'v-overlay--contained': props.contained
|
9880
|
-
}, themeClasses.value, rtlClasses.value],
|
10006
|
+
}, themeClasses.value, rtlClasses.value, props.class],
|
9881
10007
|
"style": [stackStyles.value, {
|
9882
10008
|
top: convertToUnit(top.value)
|
9883
|
-
}],
|
10009
|
+
}, props.style],
|
9884
10010
|
"ref": root
|
9885
10011
|
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
|
9886
10012
|
"color": scrimColor,
|
@@ -9986,7 +10112,8 @@ const VMenu = genericComponent()({
|
|
9986
10112
|
const [overlayProps] = VOverlay.filterProps(props);
|
9987
10113
|
return createVNode(VOverlay, mergeProps({
|
9988
10114
|
"ref": overlay,
|
9989
|
-
"class": ['v-menu']
|
10115
|
+
"class": ['v-menu', props.class],
|
10116
|
+
"style": props.style
|
9990
10117
|
}, overlayProps, {
|
9991
10118
|
"modelValue": isActive.value,
|
9992
10119
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -10205,7 +10332,8 @@ const VSelect = genericComponent()({
|
|
10205
10332
|
'v-select--chips': !!props.chips,
|
10206
10333
|
[`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10207
10334
|
'v-select--selected': model.value.length
|
10208
|
-
}],
|
10335
|
+
}, props.class],
|
10336
|
+
"style": props.style,
|
10209
10337
|
"appendInnerIcon": props.menuIcon,
|
10210
10338
|
"readonly": true,
|
10211
10339
|
"placeholder": placeholder,
|
@@ -10256,11 +10384,13 @@ const VSelect = genericComponent()({
|
|
10256
10384
|
let {
|
10257
10385
|
isSelected
|
10258
10386
|
} = _ref2;
|
10259
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
10387
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
10260
10388
|
"modelValue": isSelected,
|
10261
10389
|
"ripple": false,
|
10262
10390
|
"tabindex": "-1"
|
10263
|
-
}, null) : undefined
|
10391
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
10392
|
+
"icon": item.props.prependIcon
|
10393
|
+
}, null)]);
|
10264
10394
|
}
|
10265
10395
|
});
|
10266
10396
|
}), slots['append-item']?.()]
|
@@ -10273,6 +10403,10 @@ const VSelect = genericComponent()({
|
|
10273
10403
|
}
|
10274
10404
|
const slotProps = {
|
10275
10405
|
'onClick:close': onChipClose,
|
10406
|
+
onMousedown(e) {
|
10407
|
+
e.preventDefault();
|
10408
|
+
e.stopPropagation();
|
10409
|
+
},
|
10276
10410
|
modelValue: true,
|
10277
10411
|
'onUpdate:modelValue': undefined
|
10278
10412
|
};
|
@@ -10648,7 +10782,8 @@ const VAutocomplete = genericComponent()({
|
|
10648
10782
|
'v-autocomplete--selecting-index': selectionIndex.value > -1,
|
10649
10783
|
[`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10650
10784
|
'v-autocomplete--selection-slot': !!slots.selection
|
10651
|
-
}],
|
10785
|
+
}, props.class],
|
10786
|
+
"style": props.style,
|
10652
10787
|
"appendInnerIcon": props.menuIcon,
|
10653
10788
|
"readonly": props.readonly,
|
10654
10789
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -10694,11 +10829,13 @@ const VAutocomplete = genericComponent()({
|
|
10694
10829
|
let {
|
10695
10830
|
isSelected
|
10696
10831
|
} = _ref2;
|
10697
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
10832
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
10698
10833
|
"modelValue": isSelected,
|
10699
10834
|
"ripple": false,
|
10700
10835
|
"tabindex": "-1"
|
10701
|
-
}, null) : undefined
|
10836
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
10837
|
+
"icon": item.props.prependIcon
|
10838
|
+
}, null)]);
|
10702
10839
|
},
|
10703
10840
|
title: () => {
|
10704
10841
|
return isPristine.value ? item.title : highlightResult$1(item.title, getMatches(item)?.title, search.value?.length ?? 0);
|
@@ -10713,6 +10850,10 @@ const VAutocomplete = genericComponent()({
|
|
10713
10850
|
}
|
10714
10851
|
const slotProps = {
|
10715
10852
|
'onClick:close': onChipClose,
|
10853
|
+
onMousedown(e) {
|
10854
|
+
e.preventDefault();
|
10855
|
+
e.stopPropagation();
|
10856
|
+
},
|
10716
10857
|
modelValue: true,
|
10717
10858
|
'onUpdate:modelValue': undefined
|
10718
10859
|
};
|
@@ -10762,8 +10903,6 @@ const VAutocomplete = genericComponent()({
|
|
10762
10903
|
}
|
10763
10904
|
});
|
10764
10905
|
|
10765
|
-
// Types
|
10766
|
-
|
10767
10906
|
const VBadge = genericComponent()({
|
10768
10907
|
name: 'VBadge',
|
10769
10908
|
inheritAttrs: false,
|
@@ -10787,6 +10926,7 @@ const VBadge = genericComponent()({
|
|
10787
10926
|
offsetX: [Number, String],
|
10788
10927
|
offsetY: [Number, String],
|
10789
10928
|
textColor: String,
|
10929
|
+
...makeComponentProps(),
|
10790
10930
|
...makeLocationProps({
|
10791
10931
|
location: 'top end'
|
10792
10932
|
}),
|
@@ -10831,8 +10971,10 @@ const VBadge = genericComponent()({
|
|
10831
10971
|
'v-badge--dot': props.dot,
|
10832
10972
|
'v-badge--floating': props.floating,
|
10833
10973
|
'v-badge--inline': props.inline
|
10834
|
-
}]
|
10835
|
-
}, attrs
|
10974
|
+
}, props.class]
|
10975
|
+
}, attrs, {
|
10976
|
+
"style": props.style
|
10977
|
+
}), {
|
10836
10978
|
default: () => [createVNode("div", {
|
10837
10979
|
"class": "v-badge__wrapper"
|
10838
10980
|
}, [ctx.slots.default?.(), createVNode(MaybeTransition, {
|
@@ -10859,7 +11001,8 @@ const VBannerActions = genericComponent()({
|
|
10859
11001
|
name: 'VBannerActions',
|
10860
11002
|
props: {
|
10861
11003
|
color: String,
|
10862
|
-
density: String
|
11004
|
+
density: String,
|
11005
|
+
...makeComponentProps()
|
10863
11006
|
},
|
10864
11007
|
setup(props, _ref) {
|
10865
11008
|
let {
|
@@ -10873,7 +11016,8 @@ const VBannerActions = genericComponent()({
|
|
10873
11016
|
}
|
10874
11017
|
});
|
10875
11018
|
useRender(() => createVNode("div", {
|
10876
|
-
"class":
|
11019
|
+
"class": ['v-banner-actions', props.class],
|
11020
|
+
"style": props.style
|
10877
11021
|
}, [slots.default?.()]));
|
10878
11022
|
return {};
|
10879
11023
|
}
|
@@ -10894,6 +11038,7 @@ const VBanner = genericComponent()({
|
|
10894
11038
|
sticky: Boolean,
|
10895
11039
|
text: String,
|
10896
11040
|
...makeBorderProps(),
|
11041
|
+
...makeComponentProps(),
|
10897
11042
|
...makeDensityProps(),
|
10898
11043
|
...makeDimensionProps(),
|
10899
11044
|
...makeElevationProps(),
|
@@ -10951,8 +11096,8 @@ const VBanner = genericComponent()({
|
|
10951
11096
|
'v-banner--stacked': props.stacked || mobile.value,
|
10952
11097
|
'v-banner--sticky': props.sticky,
|
10953
11098
|
[`v-banner--${props.lines}-line`]: !!props.lines
|
10954
|
-
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value],
|
10955
|
-
"style": [dimensionStyles.value, locationStyles.value],
|
11099
|
+
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
11100
|
+
"style": [dimensionStyles.value, locationStyles.value, props.style],
|
10956
11101
|
"role": "banner"
|
10957
11102
|
}, {
|
10958
11103
|
default: () => [hasPrepend && createVNode("div", {
|
@@ -11008,6 +11153,7 @@ const VBottomNavigation = genericComponent()({
|
|
11008
11153
|
default: true
|
11009
11154
|
},
|
11010
11155
|
...makeBorderProps(),
|
11156
|
+
...makeComponentProps(),
|
11011
11157
|
...makeDensityProps(),
|
11012
11158
|
...makeElevationProps(),
|
11013
11159
|
...makeRoundedProps(),
|
@@ -11082,11 +11228,11 @@ const VBottomNavigation = genericComponent()({
|
|
11082
11228
|
'v-bottom-navigation--active': isActive.value,
|
11083
11229
|
'v-bottom-navigation--grow': props.grow,
|
11084
11230
|
'v-bottom-navigation--shift': props.mode === 'shift'
|
11085
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value],
|
11231
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
11086
11232
|
"style": [backgroundColorStyles.value, layoutItemStyles.value, {
|
11087
11233
|
height: convertToUnit(height.value),
|
11088
11234
|
transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`
|
11089
|
-
}, ssrBootStyles.value]
|
11235
|
+
}, ssrBootStyles.value, props.style]
|
11090
11236
|
}, {
|
11091
11237
|
default: () => [slots.default && createVNode("div", {
|
11092
11238
|
"class": "v-bottom-navigation__content"
|
@@ -11100,14 +11246,16 @@ const VBottomNavigation = genericComponent()({
|
|
11100
11246
|
const VBreadcrumbsDivider = genericComponent()({
|
11101
11247
|
name: 'VBreadcrumbsDivider',
|
11102
11248
|
props: {
|
11103
|
-
divider: [Number, String]
|
11249
|
+
divider: [Number, String],
|
11250
|
+
...makeComponentProps()
|
11104
11251
|
},
|
11105
11252
|
setup(props, _ref) {
|
11106
11253
|
let {
|
11107
11254
|
slots
|
11108
11255
|
} = _ref;
|
11109
11256
|
useRender(() => createVNode("li", {
|
11110
|
-
"class":
|
11257
|
+
"class": ['v-breadcrumbs-divider', props.class],
|
11258
|
+
"style": props.style
|
11111
11259
|
}, [slots?.default?.() ?? props.divider]));
|
11112
11260
|
return {};
|
11113
11261
|
}
|
@@ -11122,6 +11270,7 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11122
11270
|
color: String,
|
11123
11271
|
disabled: Boolean,
|
11124
11272
|
title: String,
|
11273
|
+
...makeComponentProps(),
|
11125
11274
|
...makeRouterProps(),
|
11126
11275
|
...makeTagProps({
|
11127
11276
|
tag: 'li'
|
@@ -11147,8 +11296,8 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11147
11296
|
'v-breadcrumbs-item--disabled': props.disabled,
|
11148
11297
|
'v-breadcrumbs-item--link': link.isLink.value,
|
11149
11298
|
[`${props.activeClass}`]: isActive.value && props.activeClass
|
11150
|
-
}, textColorClasses.value],
|
11151
|
-
"style": [textColorStyles.value],
|
11299
|
+
}, textColorClasses.value, props.class],
|
11300
|
+
"style": [textColorStyles.value, props.style],
|
11152
11301
|
"href": link.href.value,
|
11153
11302
|
"aria-current": isActive.value ? 'page' : undefined,
|
11154
11303
|
"onClick": link.navigate
|
@@ -11179,6 +11328,7 @@ const VBreadcrumbs = genericComponent()({
|
|
11179
11328
|
type: Array,
|
11180
11329
|
default: () => []
|
11181
11330
|
},
|
11331
|
+
...makeComponentProps(),
|
11182
11332
|
...makeDensityProps(),
|
11183
11333
|
...makeRoundedProps(),
|
11184
11334
|
...makeTagProps({
|
@@ -11210,11 +11360,22 @@ const VBreadcrumbs = genericComponent()({
|
|
11210
11360
|
disabled: toRef(props, 'disabled')
|
11211
11361
|
}
|
11212
11362
|
});
|
11363
|
+
const items = computed(() => props.items.map(item => {
|
11364
|
+
return typeof item === 'string' ? {
|
11365
|
+
item: {
|
11366
|
+
title: item
|
11367
|
+
},
|
11368
|
+
raw: item
|
11369
|
+
} : {
|
11370
|
+
item,
|
11371
|
+
raw: item
|
11372
|
+
};
|
11373
|
+
}));
|
11213
11374
|
useRender(() => {
|
11214
11375
|
const hasPrepend = !!(slots.prepend || props.icon);
|
11215
11376
|
return createVNode(props.tag, {
|
11216
|
-
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value],
|
11217
|
-
"style": backgroundColorStyles.value
|
11377
|
+
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
|
11378
|
+
"style": [backgroundColorStyles.value, props.style]
|
11218
11379
|
}, {
|
11219
11380
|
default: () => [hasPrepend && createVNode("div", {
|
11220
11381
|
"key": "prepend",
|
@@ -11232,33 +11393,36 @@ const VBreadcrumbs = genericComponent()({
|
|
11232
11393
|
start: true
|
11233
11394
|
}
|
11234
11395
|
}
|
11235
|
-
}, slots.prepend)]),
|
11236
|
-
|
11237
|
-
"disabled": index >= array.length - 1
|
11238
|
-
}, typeof item === 'string' ? {
|
11239
|
-
title: item
|
11240
|
-
} : item), {
|
11241
|
-
default: slots.title ? () => slots.title?.({
|
11242
|
-
item,
|
11243
|
-
index
|
11244
|
-
}) : undefined
|
11245
|
-
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11246
|
-
default: slots.divider ? () => slots.divider?.({
|
11396
|
+
}, slots.prepend)]), items.value.map((_ref2, index, array) => {
|
11397
|
+
let {
|
11247
11398
|
item,
|
11248
|
-
|
11249
|
-
}
|
11250
|
-
|
11399
|
+
raw
|
11400
|
+
} = _ref2;
|
11401
|
+
return createVNode(Fragment, null, [createVNode(VBreadcrumbsItem, mergeProps({
|
11402
|
+
"key": item.title,
|
11403
|
+
"disabled": index >= array.length - 1
|
11404
|
+
}, item), {
|
11405
|
+
default: slots.title ? () => slots.title?.({
|
11406
|
+
item: raw,
|
11407
|
+
index
|
11408
|
+
}) : undefined
|
11409
|
+
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11410
|
+
default: slots.divider ? () => slots.divider?.({
|
11411
|
+
item: raw,
|
11412
|
+
index
|
11413
|
+
}) : undefined
|
11414
|
+
})]);
|
11415
|
+
}), slots.default?.()]
|
11251
11416
|
});
|
11252
11417
|
});
|
11253
11418
|
return {};
|
11254
11419
|
}
|
11255
11420
|
});
|
11256
11421
|
|
11257
|
-
|
11258
|
-
|
11259
|
-
const VCardActions = defineComponent({
|
11422
|
+
const VCardActions = genericComponent()({
|
11260
11423
|
name: 'VCardActions',
|
11261
|
-
|
11424
|
+
props: makeComponentProps(),
|
11425
|
+
setup(props, _ref) {
|
11262
11426
|
let {
|
11263
11427
|
slots
|
11264
11428
|
} = _ref;
|
@@ -11268,7 +11432,8 @@ const VCardActions = defineComponent({
|
|
11268
11432
|
}
|
11269
11433
|
});
|
11270
11434
|
useRender(() => createVNode("div", {
|
11271
|
-
"class":
|
11435
|
+
"class": ['v-card-actions', props.class],
|
11436
|
+
"style": props.style
|
11272
11437
|
}, [slots.default?.()]));
|
11273
11438
|
return {};
|
11274
11439
|
}
|
@@ -11278,8 +11443,6 @@ const VCardSubtitle = createSimpleFunctional('v-card-subtitle');
|
|
11278
11443
|
|
11279
11444
|
const VCardTitle = createSimpleFunctional('v-card-title');
|
11280
11445
|
|
11281
|
-
// Types
|
11282
|
-
|
11283
11446
|
const VCardItem = genericComponent()({
|
11284
11447
|
name: 'VCardItem',
|
11285
11448
|
props: {
|
@@ -11289,6 +11452,7 @@ const VCardItem = genericComponent()({
|
|
11289
11452
|
prependIcon: IconValue,
|
11290
11453
|
subtitle: String,
|
11291
11454
|
title: String,
|
11455
|
+
...makeComponentProps(),
|
11292
11456
|
...makeDensityProps()
|
11293
11457
|
},
|
11294
11458
|
setup(props, _ref) {
|
@@ -11303,7 +11467,8 @@ const VCardItem = genericComponent()({
|
|
11303
11467
|
const hasTitle = !!(props.title || slots.title);
|
11304
11468
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
11305
11469
|
return createVNode("div", {
|
11306
|
-
"class":
|
11470
|
+
"class": ['v-card-item', props.class],
|
11471
|
+
"style": props.style
|
11307
11472
|
}, [hasPrepend && createVNode("div", {
|
11308
11473
|
"key": "prepend",
|
11309
11474
|
"class": "v-card-item__prepend"
|
@@ -11385,8 +11550,8 @@ const VCard = genericComponent()({
|
|
11385
11550
|
subtitle: String,
|
11386
11551
|
text: String,
|
11387
11552
|
title: String,
|
11388
|
-
...makeThemeProps(),
|
11389
11553
|
...makeBorderProps(),
|
11554
|
+
...makeComponentProps(),
|
11390
11555
|
...makeDensityProps(),
|
11391
11556
|
...makeDimensionProps(),
|
11392
11557
|
...makeElevationProps(),
|
@@ -11396,6 +11561,7 @@ const VCard = genericComponent()({
|
|
11396
11561
|
...makeRoundedProps(),
|
11397
11562
|
...makeRouterProps(),
|
11398
11563
|
...makeTagProps(),
|
11564
|
+
...makeThemeProps(),
|
11399
11565
|
...makeVariantProps({
|
11400
11566
|
variant: 'elevated'
|
11401
11567
|
})
|
@@ -11456,8 +11622,8 @@ const VCard = genericComponent()({
|
|
11456
11622
|
'v-card--flat': props.flat,
|
11457
11623
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
11458
11624
|
'v-card--link': isClickable.value
|
11459
|
-
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
11460
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
11625
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
11626
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
11461
11627
|
"href": link.href.value,
|
11462
11628
|
"onClick": isClickable.value && link.navigate,
|
11463
11629
|
"tabindex": props.disabled ? -1 : undefined
|
@@ -11653,6 +11819,7 @@ const makeVWindowProps = propsFactory({
|
|
11653
11819
|
mandatory: {
|
11654
11820
|
default: 'force'
|
11655
11821
|
},
|
11822
|
+
...makeComponentProps(),
|
11656
11823
|
...makeTagProps(),
|
11657
11824
|
...makeThemeProps()
|
11658
11825
|
}, 'v-window');
|
@@ -11768,7 +11935,8 @@ const VWindow = genericComponent()({
|
|
11768
11935
|
"ref": rootRef,
|
11769
11936
|
"class": ['v-window', {
|
11770
11937
|
'v-window--show-arrows-on-hover': props.showArrows === 'hover'
|
11771
|
-
}, themeClasses.value]
|
11938
|
+
}, themeClasses.value, props.class],
|
11939
|
+
"style": props.style
|
11772
11940
|
}, {
|
11773
11941
|
default: () => [createVNode("div", {
|
11774
11942
|
"class": "v-window__container",
|
@@ -11853,10 +12021,10 @@ const VCarousel = genericComponent()({
|
|
11853
12021
|
"class": ['v-carousel', {
|
11854
12022
|
'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,
|
11855
12023
|
'v-carousel--vertical-delimiters': props.verticalDelimiters
|
11856
|
-
}],
|
11857
|
-
"style": {
|
12024
|
+
}, props.class],
|
12025
|
+
"style": [{
|
11858
12026
|
height: convertToUnit(props.height)
|
11859
|
-
},
|
12027
|
+
}, props.style],
|
11860
12028
|
"continuous": true,
|
11861
12029
|
"mandatory": "force",
|
11862
12030
|
"showArrows": props.showArrows
|
@@ -11922,6 +12090,7 @@ const VWindowItem = genericComponent()({
|
|
11922
12090
|
type: [Boolean, String],
|
11923
12091
|
default: undefined
|
11924
12092
|
},
|
12093
|
+
...makeComponentProps(),
|
11925
12094
|
...makeGroupItemProps(),
|
11926
12095
|
...makeLazyProps()
|
11927
12096
|
},
|
@@ -12008,7 +12177,8 @@ const VWindowItem = genericComponent()({
|
|
12008
12177
|
"disabled": !isBooted.value
|
12009
12178
|
}, {
|
12010
12179
|
default: () => [withDirectives(createVNode("div", {
|
12011
|
-
"class": ['v-window-item', groupItem.selectedClass.value]
|
12180
|
+
"class": ['v-window-item', groupItem.selectedClass.value, props.class],
|
12181
|
+
"style": props.style
|
12012
12182
|
}, [hasContent.value && slots.default?.()]), [[vShow, groupItem.isSelected.value]])]
|
12013
12183
|
}));
|
12014
12184
|
return {};
|
@@ -12021,7 +12191,8 @@ const VCarouselItem = genericComponent()({
|
|
12021
12191
|
name: 'VCarouselItem',
|
12022
12192
|
inheritAttrs: false,
|
12023
12193
|
props: {
|
12024
|
-
value: null
|
12194
|
+
value: null,
|
12195
|
+
...makeComponentProps()
|
12025
12196
|
},
|
12026
12197
|
setup(props, _ref) {
|
12027
12198
|
let {
|
@@ -12029,7 +12200,8 @@ const VCarouselItem = genericComponent()({
|
|
12029
12200
|
attrs
|
12030
12201
|
} = _ref;
|
12031
12202
|
useRender(() => createVNode(VWindowItem, {
|
12032
|
-
"class":
|
12203
|
+
"class": ['v-carousel-item', props.class],
|
12204
|
+
"style": props.style,
|
12033
12205
|
"value": props.value
|
12034
12206
|
}, {
|
12035
12207
|
default: () => [createVNode(VImg, attrs, slots)]
|
@@ -12042,6 +12214,7 @@ const VCode = createSimpleFunctional('v-code');
|
|
12042
12214
|
const makeVSheetProps = propsFactory({
|
12043
12215
|
color: String,
|
12044
12216
|
...makeBorderProps(),
|
12217
|
+
...makeComponentProps(),
|
12045
12218
|
...makeDimensionProps(),
|
12046
12219
|
...makeElevationProps(),
|
12047
12220
|
...makeLocationProps(),
|
@@ -12085,8 +12258,8 @@ const VSheet = genericComponent()({
|
|
12085
12258
|
roundedClasses
|
12086
12259
|
} = useRounded(props);
|
12087
12260
|
useRender(() => createVNode(props.tag, {
|
12088
|
-
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
12089
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
12261
|
+
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
|
12262
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
|
12090
12263
|
}, slots));
|
12091
12264
|
return {};
|
12092
12265
|
}
|
@@ -12112,7 +12285,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12112
12285
|
width: {
|
12113
12286
|
type: [Number, String],
|
12114
12287
|
default: 300
|
12115
|
-
}
|
12288
|
+
},
|
12289
|
+
...makeComponentProps()
|
12116
12290
|
},
|
12117
12291
|
emits: {
|
12118
12292
|
'update:color': color => true,
|
@@ -12257,7 +12431,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12257
12431
|
onMounted(() => updateCanvas());
|
12258
12432
|
useRender(() => createVNode("div", {
|
12259
12433
|
"ref": resizeRef,
|
12260
|
-
"class":
|
12434
|
+
"class": ['v-color-picker-canvas', props.class],
|
12435
|
+
"style": props.style,
|
12261
12436
|
"onClick": handleClick,
|
12262
12437
|
"onMousedown": handleMouseDown,
|
12263
12438
|
"onTouchstart": handleMouseDown
|
@@ -12279,27 +12454,6 @@ const VColorPickerCanvas = defineComponent({
|
|
12279
12454
|
|
12280
12455
|
// Types
|
12281
12456
|
|
12282
|
-
function has(obj, key) {
|
12283
|
-
return key.every(k => obj.hasOwnProperty(k));
|
12284
|
-
}
|
12285
|
-
function parseColor(color) {
|
12286
|
-
if (!color) return null;
|
12287
|
-
let hsva = null;
|
12288
|
-
if (typeof color === 'string') {
|
12289
|
-
const hex = parseHex(color);
|
12290
|
-
hsva = HexToHSV(hex);
|
12291
|
-
}
|
12292
|
-
if (typeof color === 'object') {
|
12293
|
-
if (has(color, ['r', 'g', 'b'])) {
|
12294
|
-
hsva = RGBtoHSV(color);
|
12295
|
-
} else if (has(color, ['h', 's', 'l'])) {
|
12296
|
-
hsva = HSLtoHSV(color);
|
12297
|
-
} else if (has(color, ['h', 's', 'v'])) {
|
12298
|
-
hsva = color;
|
12299
|
-
}
|
12300
|
-
}
|
12301
|
-
return hsva;
|
12302
|
-
}
|
12303
12457
|
function stripAlpha(color, stripAlpha) {
|
12304
12458
|
if (stripAlpha) {
|
12305
12459
|
const {
|
@@ -12490,7 +12644,8 @@ const VColorPickerEdit = defineComponent({
|
|
12490
12644
|
type: Array,
|
12491
12645
|
default: () => Object.keys(modes),
|
12492
12646
|
validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
|
12493
|
-
}
|
12647
|
+
},
|
12648
|
+
...makeComponentProps()
|
12494
12649
|
},
|
12495
12650
|
emits: {
|
12496
12651
|
'update:color': color => true,
|
@@ -12530,7 +12685,8 @@ const VColorPickerEdit = defineComponent({
|
|
12530
12685
|
});
|
12531
12686
|
});
|
12532
12687
|
useRender(() => createVNode("div", {
|
12533
|
-
"class":
|
12688
|
+
"class": ['v-color-picker-edit', props.class],
|
12689
|
+
"style": props.style
|
12534
12690
|
}, [inputs.value?.map(props => createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && createVNode(VBtn, {
|
12535
12691
|
"icon": "$unfold",
|
12536
12692
|
"size": "x-small",
|
@@ -12849,7 +13005,8 @@ const VSliderThumb = genericComponent()({
|
|
12849
13005
|
ripple: {
|
12850
13006
|
type: Boolean,
|
12851
13007
|
default: true
|
12852
|
-
}
|
13008
|
+
},
|
13009
|
+
...makeComponentProps()
|
12853
13010
|
},
|
12854
13011
|
emits: {
|
12855
13012
|
'update:modelValue': v => true
|
@@ -12927,11 +13084,11 @@ const VSliderThumb = genericComponent()({
|
|
12927
13084
|
"class": ['v-slider-thumb', {
|
12928
13085
|
'v-slider-thumb--focused': props.focused,
|
12929
13086
|
'v-slider-thumb--pressed': props.focused && mousePressed.value
|
12930
|
-
}],
|
12931
|
-
"style": {
|
13087
|
+
}, props.class],
|
13088
|
+
"style": [{
|
12932
13089
|
'--v-slider-thumb-position': positionPercentage,
|
12933
13090
|
'--v-slider-thumb-size': convertToUnit(thumbSize.value)
|
12934
|
-
},
|
13091
|
+
}, props.style],
|
12935
13092
|
"role": "slider",
|
12936
13093
|
"tabindex": disabled.value ? -1 : 0,
|
12937
13094
|
"aria-valuemin": props.min,
|
@@ -12977,7 +13134,8 @@ const VSliderTrack = genericComponent()({
|
|
12977
13134
|
stop: {
|
12978
13135
|
type: Number,
|
12979
13136
|
required: true
|
12980
|
-
}
|
13137
|
+
},
|
13138
|
+
...makeComponentProps()
|
12981
13139
|
},
|
12982
13140
|
emits: {},
|
12983
13141
|
setup(props, _ref) {
|
@@ -13052,12 +13210,12 @@ const VSliderTrack = genericComponent()({
|
|
13052
13210
|
});
|
13053
13211
|
useRender(() => {
|
13054
13212
|
return createVNode("div", {
|
13055
|
-
"class": ['v-slider-track', roundedClasses.value],
|
13056
|
-
"style": {
|
13213
|
+
"class": ['v-slider-track', roundedClasses.value, props.class],
|
13214
|
+
"style": [{
|
13057
13215
|
'--v-slider-track-size': convertToUnit(trackSize.value),
|
13058
13216
|
'--v-slider-tick-size': convertToUnit(tickSize.value),
|
13059
13217
|
direction: !vertical.value ? horizontalDirection.value : undefined
|
13060
|
-
}
|
13218
|
+
}, props.style]
|
13061
13219
|
}, [createVNode("div", {
|
13062
13220
|
"class": ['v-slider-track__background', trackColorClasses.value, {
|
13063
13221
|
'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
|
@@ -13160,7 +13318,8 @@ const VSlider = genericComponent()({
|
|
13160
13318
|
'v-slider--focused': isFocused.value,
|
13161
13319
|
'v-slider--pressed': mousePressed.value,
|
13162
13320
|
'v-slider--disabled': props.disabled
|
13163
|
-
}]
|
13321
|
+
}, props.class],
|
13322
|
+
"style": props.style
|
13164
13323
|
}, inputProps, {
|
13165
13324
|
"focused": isFocused.value
|
13166
13325
|
}), {
|
@@ -13223,7 +13382,8 @@ const VColorPickerPreview = defineComponent({
|
|
13223
13382
|
type: Object
|
13224
13383
|
},
|
13225
13384
|
disabled: Boolean,
|
13226
|
-
hideAlpha: Boolean
|
13385
|
+
hideAlpha: Boolean,
|
13386
|
+
...makeComponentProps()
|
13227
13387
|
},
|
13228
13388
|
emits: {
|
13229
13389
|
'update:color': color => true
|
@@ -13235,7 +13395,8 @@ const VColorPickerPreview = defineComponent({
|
|
13235
13395
|
useRender(() => createVNode("div", {
|
13236
13396
|
"class": ['v-color-picker-preview', {
|
13237
13397
|
'v-color-picker-preview--hide-alpha': props.hideAlpha
|
13238
|
-
}]
|
13398
|
+
}, props.class],
|
13399
|
+
"style": props.style
|
13239
13400
|
}, [createVNode("div", {
|
13240
13401
|
"class": "v-color-picker-preview__dot"
|
13241
13402
|
}, [createVNode("div", {
|
@@ -13616,7 +13777,8 @@ const VColorPickerSwatches = defineComponent({
|
|
13616
13777
|
},
|
13617
13778
|
disabled: Boolean,
|
13618
13779
|
color: Object,
|
13619
|
-
maxHeight: [Number, String]
|
13780
|
+
maxHeight: [Number, String],
|
13781
|
+
...makeComponentProps()
|
13620
13782
|
},
|
13621
13783
|
emits: {
|
13622
13784
|
'update:color': color => true
|
@@ -13626,20 +13788,22 @@ const VColorPickerSwatches = defineComponent({
|
|
13626
13788
|
emit
|
13627
13789
|
} = _ref;
|
13628
13790
|
useRender(() => createVNode("div", {
|
13629
|
-
"class":
|
13630
|
-
"style": {
|
13791
|
+
"class": ['v-color-picker-swatches', props.class],
|
13792
|
+
"style": [{
|
13631
13793
|
maxHeight: convertToUnit(props.maxHeight)
|
13632
|
-
}
|
13794
|
+
}, props.style]
|
13633
13795
|
}, [createVNode("div", null, [props.swatches.map(swatch => createVNode("div", {
|
13634
13796
|
"class": "v-color-picker-swatches__swatch"
|
13635
13797
|
}, [swatch.map(color => {
|
13636
|
-
const
|
13798
|
+
const rgba = parseColor(color);
|
13799
|
+
const hsva = RGBtoHSV(rgba);
|
13800
|
+
const background = RGBtoCSS(rgba);
|
13637
13801
|
return createVNode("div", {
|
13638
13802
|
"class": "v-color-picker-swatches__color",
|
13639
13803
|
"onClick": () => hsva && emit('update:color', hsva)
|
13640
13804
|
}, [createVNode("div", {
|
13641
13805
|
"style": {
|
13642
|
-
background
|
13806
|
+
background
|
13643
13807
|
}
|
13644
13808
|
}, [props.color && deepEqual(props.color, hsva) ? createVNode(VIcon, {
|
13645
13809
|
"size": "x-small",
|
@@ -13699,8 +13863,13 @@ const VColorPicker = defineComponent({
|
|
13699
13863
|
const mode = useProxiedModel(props, 'mode');
|
13700
13864
|
const lastPickedColor = ref(null);
|
13701
13865
|
const currentColor = useProxiedModel(props, 'modelValue', undefined, v => {
|
13702
|
-
let c
|
13703
|
-
|
13866
|
+
let c;
|
13867
|
+
try {
|
13868
|
+
c = RGBtoHSV(parseColor(v));
|
13869
|
+
} catch (err) {
|
13870
|
+
consoleWarn(err);
|
13871
|
+
return null;
|
13872
|
+
}
|
13704
13873
|
if (lastPickedColor.value) {
|
13705
13874
|
c = {
|
13706
13875
|
...c,
|
@@ -13733,13 +13902,13 @@ const VColorPicker = defineComponent({
|
|
13733
13902
|
"rounded": props.rounded,
|
13734
13903
|
"elevation": props.elevation,
|
13735
13904
|
"theme": props.theme,
|
13736
|
-
"class": ['v-color-picker'],
|
13737
|
-
"style": {
|
13905
|
+
"class": ['v-color-picker', props.class],
|
13906
|
+
"style": [{
|
13738
13907
|
'--v-color-picker-color-hsv': HSVtoCSS({
|
13739
13908
|
...(currentColor.value ?? nullColor),
|
13740
13909
|
a: 1
|
13741
13910
|
})
|
13742
|
-
}
|
13911
|
+
}, props.style]
|
13743
13912
|
}, sheetProps, {
|
13744
13913
|
"maxWidth": props.width
|
13745
13914
|
}), {
|
@@ -14050,7 +14219,8 @@ const VCombobox = genericComponent()({
|
|
14050
14219
|
'v-combobox--chips': !!props.chips,
|
14051
14220
|
'v-combobox--selecting-index': selectionIndex.value > -1,
|
14052
14221
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
14053
|
-
}],
|
14222
|
+
}, props.class],
|
14223
|
+
"style": props.style,
|
14054
14224
|
"appendInnerIcon": props.items.length ? props.menuIcon : undefined,
|
14055
14225
|
"readonly": props.readonly,
|
14056
14226
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -14096,11 +14266,13 @@ const VCombobox = genericComponent()({
|
|
14096
14266
|
let {
|
14097
14267
|
isSelected
|
14098
14268
|
} = _ref2;
|
14099
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
14269
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
14100
14270
|
"modelValue": isSelected,
|
14101
14271
|
"ripple": false,
|
14102
14272
|
"tabindex": "-1"
|
14103
|
-
}, null) : undefined
|
14273
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
14274
|
+
"icon": item.props.prependIcon
|
14275
|
+
}, null)]);
|
14104
14276
|
},
|
14105
14277
|
title: () => {
|
14106
14278
|
return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0);
|
@@ -14115,6 +14287,10 @@ const VCombobox = genericComponent()({
|
|
14115
14287
|
}
|
14116
14288
|
const slotProps = {
|
14117
14289
|
'onClick:close': onChipClose,
|
14290
|
+
onMousedown(e) {
|
14291
|
+
e.preventDefault();
|
14292
|
+
e.stopPropagation();
|
14293
|
+
},
|
14118
14294
|
modelValue: true,
|
14119
14295
|
'onUpdate:modelValue': undefined
|
14120
14296
|
};
|
@@ -14207,7 +14383,7 @@ const VDialog = genericComponent()({
|
|
14207
14383
|
![document, overlay.value.contentEl].includes(after) &&
|
14208
14384
|
// It isn't inside the dialog body
|
14209
14385
|
!overlay.value.contentEl.contains(after)) {
|
14210
|
-
const focusable =
|
14386
|
+
const focusable = focusableChildren(overlay.value.contentEl);
|
14211
14387
|
if (!focusable.length) return;
|
14212
14388
|
const firstElement = focusable[0];
|
14213
14389
|
const lastElement = focusable[focusable.length - 1];
|
@@ -14248,7 +14424,8 @@ const VDialog = genericComponent()({
|
|
14248
14424
|
"class": ['v-dialog', {
|
14249
14425
|
'v-dialog--fullscreen': props.fullscreen,
|
14250
14426
|
'v-dialog--scrollable': props.scrollable
|
14251
|
-
}]
|
14427
|
+
}, props.class],
|
14428
|
+
"style": props.style
|
14252
14429
|
}, overlayProps, {
|
14253
14430
|
"modelValue": isActive.value,
|
14254
14431
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -14287,6 +14464,7 @@ const VExpansionPanels = genericComponent()({
|
|
14287
14464
|
validator: v => allowedVariants.includes(v)
|
14288
14465
|
},
|
14289
14466
|
readonly: Boolean,
|
14467
|
+
...makeComponentProps(),
|
14290
14468
|
...makeGroupProps(),
|
14291
14469
|
...makeTagProps(),
|
14292
14470
|
...makeThemeProps()
|
@@ -14312,7 +14490,8 @@ const VExpansionPanels = genericComponent()({
|
|
14312
14490
|
}
|
14313
14491
|
});
|
14314
14492
|
useRender(() => createVNode(props.tag, {
|
14315
|
-
"class": ['v-expansion-panels', themeClasses.value, variantClass.value]
|
14493
|
+
"class": ['v-expansion-panels', themeClasses.value, variantClass.value, props.class],
|
14494
|
+
"style": props.style
|
14316
14495
|
}, slots));
|
14317
14496
|
return {};
|
14318
14497
|
}
|
@@ -14341,6 +14520,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14341
14520
|
Ripple
|
14342
14521
|
},
|
14343
14522
|
props: {
|
14523
|
+
...makeComponentProps(),
|
14344
14524
|
...makeVExpansionPanelTitleProps()
|
14345
14525
|
},
|
14346
14526
|
setup(props, _ref) {
|
@@ -14363,8 +14543,8 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14363
14543
|
useRender(() => withDirectives(createVNode("button", {
|
14364
14544
|
"class": ['v-expansion-panel-title', {
|
14365
14545
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value
|
14366
|
-
}, backgroundColorClasses.value],
|
14367
|
-
"style": backgroundColorStyles.value,
|
14546
|
+
}, backgroundColorClasses.value, props.class],
|
14547
|
+
"style": [backgroundColorStyles.value, props.style],
|
14368
14548
|
"type": "button",
|
14369
14549
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
14370
14550
|
"disabled": expansionPanel.disabled.value,
|
@@ -14384,6 +14564,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14384
14564
|
const VExpansionPanelText = genericComponent()({
|
14385
14565
|
name: 'VExpansionPanelText',
|
14386
14566
|
props: {
|
14567
|
+
...makeComponentProps(),
|
14387
14568
|
...makeLazyProps()
|
14388
14569
|
},
|
14389
14570
|
setup(props, _ref) {
|
@@ -14400,7 +14581,8 @@ const VExpansionPanelText = genericComponent()({
|
|
14400
14581
|
"onAfterLeave": onAfterLeave
|
14401
14582
|
}, {
|
14402
14583
|
default: () => [withDirectives(createVNode("div", {
|
14403
|
-
"class":
|
14584
|
+
"class": ['v-expansion-panel-text', props.class],
|
14585
|
+
"style": props.style
|
14404
14586
|
}, [slots.default && hasContent.value && createVNode("div", {
|
14405
14587
|
"class": "v-expansion-panel-text__wrapper"
|
14406
14588
|
}, [slots.default?.()])]), [[vShow, expansionPanel.isSelected.value]])]
|
@@ -14415,6 +14597,7 @@ const VExpansionPanel = genericComponent()({
|
|
14415
14597
|
title: String,
|
14416
14598
|
text: String,
|
14417
14599
|
bgColor: String,
|
14600
|
+
...makeComponentProps(),
|
14418
14601
|
...makeElevationProps(),
|
14419
14602
|
...makeGroupItemProps(),
|
14420
14603
|
...makeLazyProps(),
|
@@ -14463,8 +14646,8 @@ const VExpansionPanel = genericComponent()({
|
|
14463
14646
|
'v-expansion-panel--before-active': isBeforeSelected.value,
|
14464
14647
|
'v-expansion-panel--after-active': isAfterSelected.value,
|
14465
14648
|
'v-expansion-panel--disabled': isDisabled.value
|
14466
|
-
}, roundedClasses.value, backgroundColorClasses.value],
|
14467
|
-
"style": backgroundColorStyles.value,
|
14649
|
+
}, roundedClasses.value, backgroundColorClasses.value, props.class],
|
14650
|
+
"style": [backgroundColorStyles.value, props.style],
|
14468
14651
|
"aria-expanded": groupItem.isSelected.value
|
14469
14652
|
}, {
|
14470
14653
|
default: () => [createVNode("div", {
|
@@ -14571,6 +14754,7 @@ const VFileInput = genericComponent()({
|
|
14571
14754
|
const vInputRef = ref();
|
14572
14755
|
const vFieldRef = ref();
|
14573
14756
|
const inputRef = ref();
|
14757
|
+
const isActive = computed(() => isFocused.value || props.active);
|
14574
14758
|
function onFocus() {
|
14575
14759
|
if (inputRef.value !== document.activeElement) {
|
14576
14760
|
inputRef.value?.focus();
|
@@ -14614,7 +14798,8 @@ const VFileInput = genericComponent()({
|
|
14614
14798
|
"ref": vInputRef,
|
14615
14799
|
"modelValue": model.value,
|
14616
14800
|
"onUpdate:modelValue": $event => model.value = $event,
|
14617
|
-
"class":
|
14801
|
+
"class": ['v-file-input', props.class],
|
14802
|
+
"style": props.style,
|
14618
14803
|
"onClick:prepend": onClickPrepend
|
14619
14804
|
}, rootAttrs, inputProps, {
|
14620
14805
|
"focused": isFocused.value
|
@@ -14638,7 +14823,7 @@ const VFileInput = genericComponent()({
|
|
14638
14823
|
"onClick:appendInner": props['onClick:appendInner']
|
14639
14824
|
}, fieldProps, {
|
14640
14825
|
"id": id.value,
|
14641
|
-
"active":
|
14826
|
+
"active": isActive.value || isDirty.value,
|
14642
14827
|
"dirty": isDirty.value,
|
14643
14828
|
"disabled": isDisabled.value,
|
14644
14829
|
"focused": isFocused.value,
|
@@ -14706,6 +14891,7 @@ const VFooter = genericComponent()({
|
|
14706
14891
|
default: 'auto'
|
14707
14892
|
},
|
14708
14893
|
...makeBorderProps(),
|
14894
|
+
...makeComponentProps(),
|
14709
14895
|
...makeElevationProps(),
|
14710
14896
|
...makeLayoutItemProps(),
|
14711
14897
|
...makeRoundedProps(),
|
@@ -14755,8 +14941,8 @@ const VFooter = genericComponent()({
|
|
14755
14941
|
});
|
14756
14942
|
useRender(() => createVNode(props.tag, {
|
14757
14943
|
"ref": resizeRef,
|
14758
|
-
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
14759
|
-
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined]
|
14944
|
+
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
14945
|
+
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined, props.style]
|
14760
14946
|
}, slots));
|
14761
14947
|
return {};
|
14762
14948
|
}
|
@@ -14767,6 +14953,7 @@ const VFooter = genericComponent()({
|
|
14767
14953
|
const VForm = genericComponent()({
|
14768
14954
|
name: 'VForm',
|
14769
14955
|
props: {
|
14956
|
+
...makeComponentProps(),
|
14770
14957
|
...makeFormProps()
|
14771
14958
|
},
|
14772
14959
|
emits: {
|
@@ -14805,7 +14992,8 @@ const VForm = genericComponent()({
|
|
14805
14992
|
}
|
14806
14993
|
useRender(() => createVNode("form", {
|
14807
14994
|
"ref": formRef,
|
14808
|
-
"class":
|
14995
|
+
"class": ['v-form', props.class],
|
14996
|
+
"style": props.style,
|
14809
14997
|
"novalidate": true,
|
14810
14998
|
"onReset": onReset,
|
14811
14999
|
"onSubmit": onSubmit
|
@@ -14821,6 +15009,7 @@ const VContainer = genericComponent()({
|
|
14821
15009
|
type: Boolean,
|
14822
15010
|
default: false
|
14823
15011
|
},
|
15012
|
+
...makeComponentProps(),
|
14824
15013
|
...makeTagProps()
|
14825
15014
|
},
|
14826
15015
|
setup(props, _ref) {
|
@@ -14830,7 +15019,8 @@ const VContainer = genericComponent()({
|
|
14830
15019
|
useRender(() => createVNode(props.tag, {
|
14831
15020
|
"class": ['v-container', {
|
14832
15021
|
'v-container--fluid': props.fluid
|
14833
|
-
}]
|
15022
|
+
}, props.class],
|
15023
|
+
"style": props.style
|
14834
15024
|
}, slots));
|
14835
15025
|
return {};
|
14836
15026
|
}
|
@@ -14921,6 +15111,7 @@ const VCol = genericComponent()({
|
|
14921
15111
|
default: null,
|
14922
15112
|
validator: str => ALIGN_SELF_VALUES.includes(str)
|
14923
15113
|
},
|
15114
|
+
...makeComponentProps(),
|
14924
15115
|
...makeTagProps()
|
14925
15116
|
},
|
14926
15117
|
setup(props, _ref) {
|
@@ -14951,7 +15142,8 @@ const VCol = genericComponent()({
|
|
14951
15142
|
return classList;
|
14952
15143
|
});
|
14953
15144
|
return () => h(props.tag, {
|
14954
|
-
class: classes.value
|
15145
|
+
class: [classes.value, props.class],
|
15146
|
+
style: props.style
|
14955
15147
|
}, slots.default?.());
|
14956
15148
|
}
|
14957
15149
|
});
|
@@ -15037,6 +15229,7 @@ const VRow = genericComponent()({
|
|
15037
15229
|
validator: alignContentValidator
|
15038
15230
|
},
|
15039
15231
|
...alignContentProps,
|
15232
|
+
...makeComponentProps(),
|
15040
15233
|
...makeTagProps()
|
15041
15234
|
},
|
15042
15235
|
setup(props, _ref) {
|
@@ -15065,7 +15258,8 @@ const VRow = genericComponent()({
|
|
15065
15258
|
return classList;
|
15066
15259
|
});
|
15067
15260
|
return () => h(props.tag, {
|
15068
|
-
class: ['v-row', classes.value]
|
15261
|
+
class: ['v-row', classes.value, props.class],
|
15262
|
+
style: props.style
|
15069
15263
|
}, slots.default?.());
|
15070
15264
|
}
|
15071
15265
|
});
|
@@ -15109,6 +15303,7 @@ const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');
|
|
15109
15303
|
const VItemGroup = genericComponent()({
|
15110
15304
|
name: 'VItemGroup',
|
15111
15305
|
props: {
|
15306
|
+
...makeComponentProps(),
|
15112
15307
|
...makeGroupProps({
|
15113
15308
|
selectedClass: 'v-item--selected'
|
15114
15309
|
}),
|
@@ -15133,7 +15328,8 @@ const VItemGroup = genericComponent()({
|
|
15133
15328
|
selected
|
15134
15329
|
} = useGroup(props, VItemGroupSymbol);
|
15135
15330
|
return () => createVNode(props.tag, {
|
15136
|
-
"class": ['v-item-group', themeClasses.value]
|
15331
|
+
"class": ['v-item-group', themeClasses.value, props.class],
|
15332
|
+
"style": props.style
|
15137
15333
|
}, {
|
15138
15334
|
default: () => [slots.default?.({
|
15139
15335
|
isSelected,
|
@@ -15183,7 +15379,10 @@ const VKbd = createSimpleFunctional('v-kbd');
|
|
15183
15379
|
|
15184
15380
|
const VLayout = genericComponent()({
|
15185
15381
|
name: 'VLayout',
|
15186
|
-
props:
|
15382
|
+
props: {
|
15383
|
+
...makeComponentProps(),
|
15384
|
+
...makeLayoutProps()
|
15385
|
+
},
|
15187
15386
|
setup(props, _ref) {
|
15188
15387
|
let {
|
15189
15388
|
slots
|
@@ -15197,8 +15396,8 @@ const VLayout = genericComponent()({
|
|
15197
15396
|
} = createLayout(props);
|
15198
15397
|
useRender(() => createVNode("div", {
|
15199
15398
|
"ref": layoutRef,
|
15200
|
-
"class": layoutClasses.value,
|
15201
|
-
"style": layoutStyles.value
|
15399
|
+
"class": [layoutClasses.value, props.class],
|
15400
|
+
"style": [layoutStyles.value, props.style]
|
15202
15401
|
}, [slots.default?.()]));
|
15203
15402
|
return {
|
15204
15403
|
getLayoutItem,
|
@@ -15221,6 +15420,7 @@ const VLayoutItem = genericComponent()({
|
|
15221
15420
|
default: 300
|
15222
15421
|
},
|
15223
15422
|
modelValue: Boolean,
|
15423
|
+
...makeComponentProps(),
|
15224
15424
|
...makeLayoutItemProps()
|
15225
15425
|
},
|
15226
15426
|
setup(props, _ref) {
|
@@ -15239,8 +15439,8 @@ const VLayoutItem = genericComponent()({
|
|
15239
15439
|
absolute: toRef(props, 'absolute')
|
15240
15440
|
});
|
15241
15441
|
return () => createVNode("div", {
|
15242
|
-
"class": ['v-layout-item'],
|
15243
|
-
"style": layoutItemStyles.value
|
15442
|
+
"class": ['v-layout-item', props.class],
|
15443
|
+
"style": [layoutItemStyles.value, props.style]
|
15244
15444
|
}, [slots.default?.()]);
|
15245
15445
|
}
|
15246
15446
|
});
|
@@ -15264,6 +15464,7 @@ const VLazy = genericComponent()({
|
|
15264
15464
|
threshold: undefined
|
15265
15465
|
})
|
15266
15466
|
},
|
15467
|
+
...makeComponentProps(),
|
15267
15468
|
...makeDimensionProps(),
|
15268
15469
|
...makeTagProps(),
|
15269
15470
|
...makeTransitionProps({
|
@@ -15286,8 +15487,8 @@ const VLazy = genericComponent()({
|
|
15286
15487
|
isActive.value = isIntersecting;
|
15287
15488
|
}
|
15288
15489
|
useRender(() => withDirectives(createVNode(props.tag, {
|
15289
|
-
"class":
|
15290
|
-
"style": dimensionStyles.value
|
15490
|
+
"class": ['v-lazy', props.class],
|
15491
|
+
"style": [dimensionStyles.value, props.style]
|
15291
15492
|
}, {
|
15292
15493
|
default: () => [isActive.value && createVNode(MaybeTransition, {
|
15293
15494
|
"transition": props.transition,
|
@@ -15312,7 +15513,8 @@ const VLocaleProvider = genericComponent()({
|
|
15312
15513
|
rtl: {
|
15313
15514
|
type: Boolean,
|
15314
15515
|
default: undefined
|
15315
|
-
}
|
15516
|
+
},
|
15517
|
+
...makeComponentProps()
|
15316
15518
|
},
|
15317
15519
|
setup(props, _ref) {
|
15318
15520
|
let {
|
@@ -15322,7 +15524,8 @@ const VLocaleProvider = genericComponent()({
|
|
15322
15524
|
rtlClasses
|
15323
15525
|
} = provideLocale(props);
|
15324
15526
|
useRender(() => createVNode("div", {
|
15325
|
-
"class": ['v-locale-provider', rtlClasses.value]
|
15527
|
+
"class": ['v-locale-provider', rtlClasses.value, props.class],
|
15528
|
+
"style": props.style
|
15326
15529
|
}, [slots.default?.()]));
|
15327
15530
|
return {};
|
15328
15531
|
}
|
@@ -15332,6 +15535,7 @@ const VMain = genericComponent()({
|
|
15332
15535
|
name: 'VMain',
|
15333
15536
|
props: {
|
15334
15537
|
scrollable: Boolean,
|
15538
|
+
...makeComponentProps(),
|
15335
15539
|
...makeTagProps({
|
15336
15540
|
tag: 'main'
|
15337
15541
|
})
|
@@ -15349,8 +15553,8 @@ const VMain = genericComponent()({
|
|
15349
15553
|
useRender(() => createVNode(props.tag, {
|
15350
15554
|
"class": ['v-main', {
|
15351
15555
|
'v-main--scrollable': props.scrollable
|
15352
|
-
}],
|
15353
|
-
"style": [mainStyles.value, ssrBootStyles.value]
|
15556
|
+
}, props.class],
|
15557
|
+
"style": [mainStyles.value, ssrBootStyles.value, props.style]
|
15354
15558
|
}, {
|
15355
15559
|
default: () => [props.scrollable ? createVNode("div", {
|
15356
15560
|
"class": "v-main__scroller"
|
@@ -15360,525 +15564,99 @@ const VMain = genericComponent()({
|
|
15360
15564
|
}
|
15361
15565
|
});
|
15362
15566
|
|
15363
|
-
|
15364
|
-
|
15365
|
-
|
15366
|
-
|
15367
|
-
|
15368
|
-
|
15369
|
-
const
|
15370
|
-
const
|
15371
|
-
const
|
15372
|
-
|
15373
|
-
|
15567
|
+
function useSticky(_ref) {
|
15568
|
+
let {
|
15569
|
+
rootEl,
|
15570
|
+
isSticky,
|
15571
|
+
layoutItemStyles
|
15572
|
+
} = _ref;
|
15573
|
+
const isStuck = ref(false);
|
15574
|
+
const stuckPosition = ref(0);
|
15575
|
+
const stickyStyles = computed(() => {
|
15576
|
+
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15577
|
+
return [isSticky.value ? {
|
15578
|
+
top: 'auto',
|
15579
|
+
bottom: 'auto',
|
15580
|
+
height: undefined
|
15581
|
+
} : undefined, isStuck.value ? {
|
15582
|
+
[side]: convertToUnit(stuckPosition.value)
|
15583
|
+
} : {
|
15584
|
+
top: layoutItemStyles.value.top
|
15585
|
+
}];
|
15586
|
+
});
|
15587
|
+
onMounted(() => {
|
15588
|
+
watch(isSticky, val => {
|
15589
|
+
if (val) {
|
15590
|
+
window.addEventListener('scroll', onScroll, {
|
15591
|
+
passive: true
|
15592
|
+
});
|
15593
|
+
} else {
|
15594
|
+
window.removeEventListener('scroll', onScroll);
|
15595
|
+
}
|
15596
|
+
}, {
|
15597
|
+
immediate: true
|
15598
|
+
});
|
15599
|
+
});
|
15600
|
+
onBeforeUnmount(() => {
|
15601
|
+
document.removeEventListener('scroll', onScroll);
|
15602
|
+
});
|
15603
|
+
let lastScrollTop = 0;
|
15604
|
+
function onScroll() {
|
15605
|
+
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15606
|
+
const rect = rootEl.value.getBoundingClientRect();
|
15607
|
+
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15608
|
+
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15609
|
+
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15610
|
+
if (rect.height < window.innerHeight - layoutTop) {
|
15611
|
+
isStuck.value = 'top';
|
15612
|
+
stuckPosition.value = layoutTop;
|
15613
|
+
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15614
|
+
stuckPosition.value = window.scrollY + rect.top;
|
15615
|
+
isStuck.value = true;
|
15616
|
+
} else if (direction === 'down' && bottom <= 0) {
|
15617
|
+
stuckPosition.value = 0;
|
15618
|
+
isStuck.value = 'bottom';
|
15619
|
+
} else if (direction === 'up' && top <= 0) {
|
15620
|
+
stuckPosition.value = rect.top + top;
|
15621
|
+
isStuck.value = 'top';
|
15622
|
+
}
|
15623
|
+
lastScrollTop = window.scrollY;
|
15374
15624
|
}
|
15375
|
-
|
15376
|
-
|
15625
|
+
return {
|
15626
|
+
isStuck,
|
15627
|
+
stickyStyles
|
15628
|
+
};
|
15629
|
+
}
|
15377
15630
|
|
15378
|
-
|
15379
|
-
|
15631
|
+
const HORIZON = 100; // ms
|
15632
|
+
const HISTORY = 20; // number of samples to keep
|
15380
15633
|
|
15381
|
-
|
15382
|
-
|
15383
|
-
|
15384
|
-
|
15385
|
-
|
15634
|
+
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15635
|
+
function kineticEnergyToVelocity(work) {
|
15636
|
+
const sqrt2 = 1.41421356237;
|
15637
|
+
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15638
|
+
}
|
15639
|
+
|
15640
|
+
/**
|
15641
|
+
* Returns pointer velocity in px/s
|
15642
|
+
*/
|
15643
|
+
function calculateImpulseVelocity(samples) {
|
15644
|
+
// The input should be in reversed time order (most recent sample at index i=0)
|
15645
|
+
if (samples.length < 2) {
|
15646
|
+
// if 0 or 1 points, velocity is zero
|
15647
|
+
return 0;
|
15386
15648
|
}
|
15387
|
-
|
15388
|
-
|
15389
|
-
|
15390
|
-
|
15391
|
-
|
15392
|
-
|
15393
|
-
|
15394
|
-
|
15395
|
-
|
15396
|
-
|
15397
|
-
|
15398
|
-
}
|
15399
|
-
function date(value) {
|
15400
|
-
if (value == null) return null;
|
15401
|
-
if (value instanceof Date) return value;
|
15402
|
-
if (typeof value === 'string') {
|
15403
|
-
const parsed = Date.parse(value);
|
15404
|
-
if (!isNaN(parsed)) return new Date(parsed);
|
15405
|
-
}
|
15406
|
-
return null;
|
15407
|
-
}
|
15408
|
-
const firstDay = {
|
15409
|
-
'001': 1,
|
15410
|
-
AD: 1,
|
15411
|
-
AE: 6,
|
15412
|
-
AF: 6,
|
15413
|
-
AG: 0,
|
15414
|
-
AI: 1,
|
15415
|
-
AL: 1,
|
15416
|
-
AM: 1,
|
15417
|
-
AN: 1,
|
15418
|
-
AR: 1,
|
15419
|
-
AS: 0,
|
15420
|
-
AT: 1,
|
15421
|
-
AU: 0,
|
15422
|
-
AX: 1,
|
15423
|
-
AZ: 1,
|
15424
|
-
BA: 1,
|
15425
|
-
BD: 0,
|
15426
|
-
BE: 1,
|
15427
|
-
BG: 1,
|
15428
|
-
BH: 6,
|
15429
|
-
BM: 1,
|
15430
|
-
BN: 1,
|
15431
|
-
BR: 0,
|
15432
|
-
BS: 0,
|
15433
|
-
BT: 0,
|
15434
|
-
BW: 0,
|
15435
|
-
BY: 1,
|
15436
|
-
BZ: 0,
|
15437
|
-
CA: 0,
|
15438
|
-
CH: 1,
|
15439
|
-
CL: 1,
|
15440
|
-
CM: 1,
|
15441
|
-
CN: 0,
|
15442
|
-
CO: 0,
|
15443
|
-
CR: 1,
|
15444
|
-
CY: 1,
|
15445
|
-
CZ: 1,
|
15446
|
-
DE: 1,
|
15447
|
-
DJ: 6,
|
15448
|
-
DK: 1,
|
15449
|
-
DM: 0,
|
15450
|
-
DO: 0,
|
15451
|
-
DZ: 6,
|
15452
|
-
EC: 1,
|
15453
|
-
EE: 1,
|
15454
|
-
EG: 6,
|
15455
|
-
ES: 1,
|
15456
|
-
ET: 0,
|
15457
|
-
FI: 1,
|
15458
|
-
FJ: 1,
|
15459
|
-
FO: 1,
|
15460
|
-
FR: 1,
|
15461
|
-
GB: 1,
|
15462
|
-
'GB-alt-variant': 0,
|
15463
|
-
GE: 1,
|
15464
|
-
GF: 1,
|
15465
|
-
GP: 1,
|
15466
|
-
GR: 1,
|
15467
|
-
GT: 0,
|
15468
|
-
GU: 0,
|
15469
|
-
HK: 0,
|
15470
|
-
HN: 0,
|
15471
|
-
HR: 1,
|
15472
|
-
HU: 1,
|
15473
|
-
ID: 0,
|
15474
|
-
IE: 1,
|
15475
|
-
IL: 0,
|
15476
|
-
IN: 0,
|
15477
|
-
IQ: 6,
|
15478
|
-
IR: 6,
|
15479
|
-
IS: 1,
|
15480
|
-
IT: 1,
|
15481
|
-
JM: 0,
|
15482
|
-
JO: 6,
|
15483
|
-
JP: 0,
|
15484
|
-
KE: 0,
|
15485
|
-
KG: 1,
|
15486
|
-
KH: 0,
|
15487
|
-
KR: 0,
|
15488
|
-
KW: 6,
|
15489
|
-
KZ: 1,
|
15490
|
-
LA: 0,
|
15491
|
-
LB: 1,
|
15492
|
-
LI: 1,
|
15493
|
-
LK: 1,
|
15494
|
-
LT: 1,
|
15495
|
-
LU: 1,
|
15496
|
-
LV: 1,
|
15497
|
-
LY: 6,
|
15498
|
-
MC: 1,
|
15499
|
-
MD: 1,
|
15500
|
-
ME: 1,
|
15501
|
-
MH: 0,
|
15502
|
-
MK: 1,
|
15503
|
-
MM: 0,
|
15504
|
-
MN: 1,
|
15505
|
-
MO: 0,
|
15506
|
-
MQ: 1,
|
15507
|
-
MT: 0,
|
15508
|
-
MV: 5,
|
15509
|
-
MX: 0,
|
15510
|
-
MY: 1,
|
15511
|
-
MZ: 0,
|
15512
|
-
NI: 0,
|
15513
|
-
NL: 1,
|
15514
|
-
NO: 1,
|
15515
|
-
NP: 0,
|
15516
|
-
NZ: 1,
|
15517
|
-
OM: 6,
|
15518
|
-
PA: 0,
|
15519
|
-
PE: 0,
|
15520
|
-
PH: 0,
|
15521
|
-
PK: 0,
|
15522
|
-
PL: 1,
|
15523
|
-
PR: 0,
|
15524
|
-
PT: 0,
|
15525
|
-
PY: 0,
|
15526
|
-
QA: 6,
|
15527
|
-
RE: 1,
|
15528
|
-
RO: 1,
|
15529
|
-
RS: 1,
|
15530
|
-
RU: 1,
|
15531
|
-
SA: 0,
|
15532
|
-
SD: 6,
|
15533
|
-
SE: 1,
|
15534
|
-
SG: 0,
|
15535
|
-
SI: 1,
|
15536
|
-
SK: 1,
|
15537
|
-
SM: 1,
|
15538
|
-
SV: 0,
|
15539
|
-
SY: 6,
|
15540
|
-
TH: 0,
|
15541
|
-
TJ: 1,
|
15542
|
-
TM: 1,
|
15543
|
-
TR: 1,
|
15544
|
-
TT: 0,
|
15545
|
-
TW: 0,
|
15546
|
-
UA: 1,
|
15547
|
-
UM: 0,
|
15548
|
-
US: 0,
|
15549
|
-
UY: 1,
|
15550
|
-
UZ: 1,
|
15551
|
-
VA: 1,
|
15552
|
-
VE: 0,
|
15553
|
-
VI: 0,
|
15554
|
-
VN: 1,
|
15555
|
-
WS: 0,
|
15556
|
-
XK: 1,
|
15557
|
-
YE: 0,
|
15558
|
-
ZA: 0,
|
15559
|
-
ZW: 0
|
15560
|
-
};
|
15561
|
-
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
15562
|
-
function getWeekdays(locale) {
|
15563
|
-
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
15564
|
-
return createRange(7).map(i => {
|
15565
|
-
const weekday = new Date(sundayJanuarySecond2000);
|
15566
|
-
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
15567
|
-
return new Intl.DateTimeFormat(locale, {
|
15568
|
-
weekday: 'long'
|
15569
|
-
}).format(weekday);
|
15570
|
-
});
|
15571
|
-
}
|
15572
|
-
function format(value, formatString, locale) {
|
15573
|
-
const date = new Date(value);
|
15574
|
-
let options = {};
|
15575
|
-
switch (formatString) {
|
15576
|
-
case 'fullDateWithWeekday':
|
15577
|
-
options = {
|
15578
|
-
weekday: 'long',
|
15579
|
-
day: 'numeric',
|
15580
|
-
month: 'long',
|
15581
|
-
year: 'numeric'
|
15582
|
-
};
|
15583
|
-
break;
|
15584
|
-
case 'normalDateWithWeekday':
|
15585
|
-
options = {
|
15586
|
-
weekday: 'short',
|
15587
|
-
day: 'numeric',
|
15588
|
-
month: 'short',
|
15589
|
-
year: 'numeric'
|
15590
|
-
};
|
15591
|
-
break;
|
15592
|
-
case 'keyboardDate':
|
15593
|
-
options = {};
|
15594
|
-
break;
|
15595
|
-
case 'monthAndDate':
|
15596
|
-
options = {
|
15597
|
-
month: 'long',
|
15598
|
-
day: 'numeric'
|
15599
|
-
};
|
15600
|
-
break;
|
15601
|
-
case 'monthAndYear':
|
15602
|
-
options = {
|
15603
|
-
month: 'long',
|
15604
|
-
year: 'numeric'
|
15605
|
-
};
|
15606
|
-
break;
|
15607
|
-
default:
|
15608
|
-
options = {
|
15609
|
-
timeZone: 'UTC',
|
15610
|
-
timeZoneName: 'short'
|
15611
|
-
};
|
15612
|
-
}
|
15613
|
-
return new Intl.DateTimeFormat(locale, options).format(date);
|
15614
|
-
}
|
15615
|
-
function addDays(date, amount) {
|
15616
|
-
const d = new Date(date);
|
15617
|
-
d.setDate(d.getDate() + amount);
|
15618
|
-
return d;
|
15619
|
-
}
|
15620
|
-
function addMonths(date, amount) {
|
15621
|
-
const d = new Date(date);
|
15622
|
-
d.setMonth(d.getMonth() + amount);
|
15623
|
-
return d;
|
15624
|
-
}
|
15625
|
-
function getYear(date) {
|
15626
|
-
return date.getFullYear();
|
15627
|
-
}
|
15628
|
-
function getMonth(date) {
|
15629
|
-
return date.getMonth();
|
15630
|
-
}
|
15631
|
-
function startOfYear(date) {
|
15632
|
-
return new Date(date.getFullYear(), 0, 1);
|
15633
|
-
}
|
15634
|
-
function endOfYear(date) {
|
15635
|
-
return new Date(date.getFullYear(), 11, 31);
|
15636
|
-
}
|
15637
|
-
function getMondayOfFirstWeekOfYear(year) {
|
15638
|
-
return new Date(year, 0, 1);
|
15639
|
-
}
|
15640
|
-
|
15641
|
-
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
15642
|
-
function getWeek(date) {
|
15643
|
-
let year = date.getFullYear();
|
15644
|
-
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
15645
|
-
if (date < d1w1) {
|
15646
|
-
year = year - 1;
|
15647
|
-
d1w1 = getMondayOfFirstWeekOfYear(year);
|
15648
|
-
} else {
|
15649
|
-
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
15650
|
-
if (date >= tv) {
|
15651
|
-
year = year + 1;
|
15652
|
-
d1w1 = tv;
|
15653
|
-
}
|
15654
|
-
}
|
15655
|
-
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
15656
|
-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
15657
|
-
return Math.floor(diffDays / 7) + 1;
|
15658
|
-
}
|
15659
|
-
function isWithinRange(date, range) {
|
15660
|
-
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
15661
|
-
}
|
15662
|
-
function isValid(date) {
|
15663
|
-
const d = new Date(date);
|
15664
|
-
return d instanceof Date && !isNaN(d.getTime());
|
15665
|
-
}
|
15666
|
-
function isAfter(date, comparing) {
|
15667
|
-
return date.getTime() > comparing.getTime();
|
15668
|
-
}
|
15669
|
-
function isBefore(date, comparing) {
|
15670
|
-
return date.getTime() < comparing.getTime();
|
15671
|
-
}
|
15672
|
-
function isEqual(date, comparing) {
|
15673
|
-
return date.getTime() === comparing.getTime();
|
15674
|
-
}
|
15675
|
-
function isSameDay(date, comparing) {
|
15676
|
-
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15677
|
-
}
|
15678
|
-
function isSameMonth(date, comparing) {
|
15679
|
-
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15680
|
-
}
|
15681
|
-
function getDiff(date, comparing, unit) {
|
15682
|
-
const d = new Date(date);
|
15683
|
-
const c = new Date(comparing);
|
15684
|
-
if (unit === 'month') {
|
15685
|
-
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
15686
|
-
}
|
15687
|
-
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
15688
|
-
}
|
15689
|
-
function setYear(date, year) {
|
15690
|
-
const d = new Date(date);
|
15691
|
-
d.setFullYear(year);
|
15692
|
-
return d;
|
15693
|
-
}
|
15694
|
-
class VuetifyDateAdapter {
|
15695
|
-
constructor() {
|
15696
|
-
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
15697
|
-
this.locale = locale;
|
15698
|
-
}
|
15699
|
-
date(value) {
|
15700
|
-
return date(value);
|
15701
|
-
}
|
15702
|
-
addDays(date, amount) {
|
15703
|
-
return addDays(date, amount);
|
15704
|
-
}
|
15705
|
-
addMonths(date, amount) {
|
15706
|
-
return addMonths(date, amount);
|
15707
|
-
}
|
15708
|
-
getWeekArray(date) {
|
15709
|
-
return getWeekArray(date);
|
15710
|
-
}
|
15711
|
-
startOfMonth(date) {
|
15712
|
-
return startOfMonth(date);
|
15713
|
-
}
|
15714
|
-
endOfMonth(date) {
|
15715
|
-
return endOfMonth(date);
|
15716
|
-
}
|
15717
|
-
format(date, formatString) {
|
15718
|
-
return format(date, formatString, this.locale);
|
15719
|
-
}
|
15720
|
-
isEqual(date, comparing) {
|
15721
|
-
return isEqual(date, comparing);
|
15722
|
-
}
|
15723
|
-
isValid(date) {
|
15724
|
-
return isValid(date);
|
15725
|
-
}
|
15726
|
-
isWithinRange(date, range) {
|
15727
|
-
return isWithinRange(date, range);
|
15728
|
-
}
|
15729
|
-
isAfter(date, comparing) {
|
15730
|
-
return isAfter(date, comparing);
|
15731
|
-
}
|
15732
|
-
isSameDay(date, comparing) {
|
15733
|
-
return isSameDay(date, comparing);
|
15734
|
-
}
|
15735
|
-
isSameMonth(date, comparing) {
|
15736
|
-
return isSameMonth(date, comparing);
|
15737
|
-
}
|
15738
|
-
setYear(date, year) {
|
15739
|
-
return setYear(date, year);
|
15740
|
-
}
|
15741
|
-
getDiff(date, comparing, unit) {
|
15742
|
-
return getDiff(date, comparing, unit);
|
15743
|
-
}
|
15744
|
-
getWeek(date) {
|
15745
|
-
return getWeek(date);
|
15746
|
-
}
|
15747
|
-
getWeekdays() {
|
15748
|
-
return getWeekdays(this.locale);
|
15749
|
-
}
|
15750
|
-
getYear(date) {
|
15751
|
-
return getYear(date);
|
15752
|
-
}
|
15753
|
-
getMonth(date) {
|
15754
|
-
return getMonth(date);
|
15755
|
-
}
|
15756
|
-
startOfYear(date) {
|
15757
|
-
return startOfYear(date);
|
15758
|
-
}
|
15759
|
-
endOfYear(date) {
|
15760
|
-
return endOfYear(date);
|
15761
|
-
}
|
15762
|
-
}
|
15763
|
-
|
15764
|
-
// Composables
|
15765
|
-
|
15766
|
-
// Types
|
15767
|
-
|
15768
|
-
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
15769
|
-
function createDate(options) {
|
15770
|
-
return options ?? {
|
15771
|
-
adapter: VuetifyDateAdapter
|
15772
|
-
};
|
15773
|
-
}
|
15774
|
-
function useDate(props) {
|
15775
|
-
const date = inject$1(DateAdapterSymbol);
|
15776
|
-
const locale = useLocale();
|
15777
|
-
if (!date) throw new Error('[Vuetify] Could not find injected date');
|
15778
|
-
|
15779
|
-
// eslint-disable-next-line new-cap
|
15780
|
-
const instance = new date.adapter(locale.current.value);
|
15781
|
-
watch(locale.current, val => {
|
15782
|
-
instance.locale = val;
|
15783
|
-
}, {
|
15784
|
-
immediate: true
|
15785
|
-
});
|
15786
|
-
return instance;
|
15787
|
-
}
|
15788
|
-
|
15789
|
-
function useSticky(_ref) {
|
15790
|
-
let {
|
15791
|
-
rootEl,
|
15792
|
-
isSticky,
|
15793
|
-
layoutItemStyles
|
15794
|
-
} = _ref;
|
15795
|
-
const isStuck = ref(false);
|
15796
|
-
const stuckPosition = ref(0);
|
15797
|
-
const stickyStyles = computed(() => {
|
15798
|
-
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15799
|
-
return [isSticky.value ? {
|
15800
|
-
top: 'auto',
|
15801
|
-
bottom: 'auto',
|
15802
|
-
height: undefined
|
15803
|
-
} : undefined, isStuck.value ? {
|
15804
|
-
[side]: convertToUnit(stuckPosition.value)
|
15805
|
-
} : {
|
15806
|
-
top: layoutItemStyles.value.top
|
15807
|
-
}];
|
15808
|
-
});
|
15809
|
-
onMounted(() => {
|
15810
|
-
watch(isSticky, val => {
|
15811
|
-
if (val) {
|
15812
|
-
window.addEventListener('scroll', onScroll, {
|
15813
|
-
passive: true
|
15814
|
-
});
|
15815
|
-
} else {
|
15816
|
-
window.removeEventListener('scroll', onScroll);
|
15817
|
-
}
|
15818
|
-
}, {
|
15819
|
-
immediate: true
|
15820
|
-
});
|
15821
|
-
});
|
15822
|
-
onBeforeUnmount(() => {
|
15823
|
-
document.removeEventListener('scroll', onScroll);
|
15824
|
-
});
|
15825
|
-
let lastScrollTop = 0;
|
15826
|
-
function onScroll() {
|
15827
|
-
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15828
|
-
const rect = rootEl.value.getBoundingClientRect();
|
15829
|
-
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15830
|
-
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15831
|
-
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15832
|
-
if (rect.height < window.innerHeight - layoutTop) {
|
15833
|
-
isStuck.value = 'top';
|
15834
|
-
stuckPosition.value = layoutTop;
|
15835
|
-
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15836
|
-
stuckPosition.value = window.scrollY + rect.top;
|
15837
|
-
isStuck.value = true;
|
15838
|
-
} else if (direction === 'down' && bottom <= 0) {
|
15839
|
-
stuckPosition.value = 0;
|
15840
|
-
isStuck.value = 'bottom';
|
15841
|
-
} else if (direction === 'up' && top <= 0) {
|
15842
|
-
stuckPosition.value = rect.top + top;
|
15843
|
-
isStuck.value = 'top';
|
15844
|
-
}
|
15845
|
-
lastScrollTop = window.scrollY;
|
15846
|
-
}
|
15847
|
-
return {
|
15848
|
-
isStuck,
|
15849
|
-
stickyStyles
|
15850
|
-
};
|
15851
|
-
}
|
15852
|
-
|
15853
|
-
const HORIZON = 100; // ms
|
15854
|
-
const HISTORY = 20; // number of samples to keep
|
15855
|
-
|
15856
|
-
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15857
|
-
function kineticEnergyToVelocity(work) {
|
15858
|
-
const sqrt2 = 1.41421356237;
|
15859
|
-
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15860
|
-
}
|
15861
|
-
|
15862
|
-
/**
|
15863
|
-
* Returns pointer velocity in px/s
|
15864
|
-
*/
|
15865
|
-
function calculateImpulseVelocity(samples) {
|
15866
|
-
// The input should be in reversed time order (most recent sample at index i=0)
|
15867
|
-
if (samples.length < 2) {
|
15868
|
-
// if 0 or 1 points, velocity is zero
|
15869
|
-
return 0;
|
15870
|
-
}
|
15871
|
-
// if (samples[1].t > samples[0].t) {
|
15872
|
-
// // Algorithm will still work, but not perfectly
|
15873
|
-
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15874
|
-
// }
|
15875
|
-
if (samples.length === 2) {
|
15876
|
-
// if 2 points, basic linear calculation
|
15877
|
-
if (samples[1].t === samples[0].t) {
|
15878
|
-
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15879
|
-
return 0;
|
15880
|
-
}
|
15881
|
-
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15649
|
+
// if (samples[1].t > samples[0].t) {
|
15650
|
+
// // Algorithm will still work, but not perfectly
|
15651
|
+
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15652
|
+
// }
|
15653
|
+
if (samples.length === 2) {
|
15654
|
+
// if 2 points, basic linear calculation
|
15655
|
+
if (samples[1].t === samples[0].t) {
|
15656
|
+
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15657
|
+
return 0;
|
15658
|
+
}
|
15659
|
+
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15882
15660
|
}
|
15883
15661
|
// Guaranteed to have at least 3 points here
|
15884
15662
|
// start with the oldest sample and go forward in time
|
@@ -16122,6 +15900,7 @@ const VNavigationDrawer = genericComponent()({
|
|
16122
15900
|
},
|
16123
15901
|
sticky: Boolean,
|
16124
15902
|
...makeBorderProps(),
|
15903
|
+
...makeComponentProps(),
|
16125
15904
|
...makeElevationProps(),
|
16126
15905
|
...makeLayoutItemProps(),
|
16127
15906
|
...makeRoundedProps(),
|
@@ -16210,7 +15989,6 @@ const VNavigationDrawer = genericComponent()({
|
|
16210
15989
|
});
|
16211
15990
|
const {
|
16212
15991
|
layoutItemStyles,
|
16213
|
-
layoutRect,
|
16214
15992
|
layoutItemScrimStyles
|
16215
15993
|
} = useLayoutItem({
|
16216
15994
|
id: props.name,
|
@@ -16240,12 +16018,6 @@ const VNavigationDrawer = genericComponent()({
|
|
16240
16018
|
opacity: dragProgress.value * 0.2,
|
16241
16019
|
transition: 'none'
|
16242
16020
|
} : undefined),
|
16243
|
-
...(layoutRect.value ? {
|
16244
|
-
left: convertToUnit(layoutRect.value.left),
|
16245
|
-
right: convertToUnit(layoutRect.value.right),
|
16246
|
-
top: convertToUnit(layoutRect.value.top),
|
16247
|
-
bottom: convertToUnit(layoutRect.value.bottom)
|
16248
|
-
} : undefined),
|
16249
16021
|
...layoutItemScrimStyles.value
|
16250
16022
|
}));
|
16251
16023
|
provideDefaults({
|
@@ -16273,8 +16045,8 @@ const VNavigationDrawer = genericComponent()({
|
|
16273
16045
|
'v-navigation-drawer--temporary': isTemporary.value,
|
16274
16046
|
'v-navigation-drawer--active': isActive.value,
|
16275
16047
|
'v-navigation-drawer--sticky': isSticky.value
|
16276
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
16277
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value]
|
16048
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
16049
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
16278
16050
|
}, attrs), {
|
16279
16051
|
default: () => [hasImage && createVNode("div", {
|
16280
16052
|
"key": "image",
|
@@ -16403,6 +16175,7 @@ const VPagination = genericComponent()({
|
|
16403
16175
|
},
|
16404
16176
|
showFirstLastPage: Boolean,
|
16405
16177
|
...makeBorderProps(),
|
16178
|
+
...makeComponentProps(),
|
16406
16179
|
...makeDensityProps(),
|
16407
16180
|
...makeElevationProps(),
|
16408
16181
|
...makeRoundedProps(),
|
@@ -16599,7 +16372,8 @@ const VPagination = genericComponent()({
|
|
16599
16372
|
}
|
16600
16373
|
useRender(() => createVNode(props.tag, {
|
16601
16374
|
"ref": resizeRef,
|
16602
|
-
"class": ['v-pagination', themeClasses.value],
|
16375
|
+
"class": ['v-pagination', themeClasses.value, props.class],
|
16376
|
+
"style": props.style,
|
16603
16377
|
"role": "navigation",
|
16604
16378
|
"aria-label": t(props.ariaLabel),
|
16605
16379
|
"onKeydown": onKeydown,
|
@@ -16658,7 +16432,8 @@ const VParallax = genericComponent()({
|
|
16658
16432
|
scale: {
|
16659
16433
|
type: [Number, String],
|
16660
16434
|
default: 0.5
|
16661
|
-
}
|
16435
|
+
},
|
16436
|
+
...makeComponentProps()
|
16662
16437
|
},
|
16663
16438
|
setup(props, _ref) {
|
16664
16439
|
let {
|
@@ -16720,7 +16495,8 @@ const VParallax = genericComponent()({
|
|
16720
16495
|
useRender(() => createVNode(VImg, {
|
16721
16496
|
"class": ['v-parallax', {
|
16722
16497
|
'v-parallax--active': isIntersecting.value
|
16723
|
-
}],
|
16498
|
+
}, props.class],
|
16499
|
+
"style": props.style,
|
16724
16500
|
"ref": root,
|
16725
16501
|
"cover": true,
|
16726
16502
|
"onLoadstart": onScroll,
|
@@ -16745,7 +16521,8 @@ const VRadio = genericComponent()({
|
|
16745
16521
|
slots
|
16746
16522
|
} = _ref;
|
16747
16523
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
16748
|
-
"class":
|
16524
|
+
"class": ['v-radio', props.class],
|
16525
|
+
"style": props.style,
|
16749
16526
|
"type": "radio"
|
16750
16527
|
}), slots));
|
16751
16528
|
return {};
|
@@ -16799,7 +16576,8 @@ const VRadioGroup = genericComponent()({
|
|
16799
16576
|
}
|
16800
16577
|
}) : props.label;
|
16801
16578
|
return createVNode(VInput, mergeProps({
|
16802
|
-
"class":
|
16579
|
+
"class": ['v-radio-group', props.class],
|
16580
|
+
"style": props.style
|
16803
16581
|
}, inputAttrs, inputProps, {
|
16804
16582
|
"modelValue": model.value,
|
16805
16583
|
"onUpdate:modelValue": $event => model.value = $event,
|
@@ -16937,7 +16715,8 @@ const VRangeSlider = genericComponent()({
|
|
16937
16715
|
'v-slider--focused': isFocused.value,
|
16938
16716
|
'v-slider--pressed': mousePressed.value,
|
16939
16717
|
'v-slider--disabled': props.disabled
|
16940
|
-
}],
|
16718
|
+
}, props.class],
|
16719
|
+
"style": props.style,
|
16941
16720
|
"ref": inputRef
|
16942
16721
|
}, inputProps, {
|
16943
16722
|
"focused": isFocused.value
|
@@ -17080,6 +16859,7 @@ const VRating = genericComponent()({
|
|
17080
16859
|
validator: v => ['top', 'bottom'].includes(v)
|
17081
16860
|
},
|
17082
16861
|
ripple: Boolean,
|
16862
|
+
...makeComponentProps(),
|
17083
16863
|
...makeDensityProps(),
|
17084
16864
|
...makeSizeProps(),
|
17085
16865
|
...makeTagProps(),
|
@@ -17197,7 +16977,8 @@ const VRating = genericComponent()({
|
|
17197
16977
|
"class": ['v-rating', {
|
17198
16978
|
'v-rating--hover': props.hover,
|
17199
16979
|
'v-rating--readonly': props.readonly
|
17200
|
-
}, themeClasses.value]
|
16980
|
+
}, themeClasses.value, props.class],
|
16981
|
+
"style": props.style
|
17201
16982
|
}, {
|
17202
16983
|
default: () => [createVNode(VRatingItem, {
|
17203
16984
|
"value": 0,
|
@@ -17297,6 +17078,7 @@ const makeVSlideGroupProps = propsFactory({
|
|
17297
17078
|
type: [Boolean, String],
|
17298
17079
|
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
17299
17080
|
},
|
17081
|
+
...makeComponentProps(),
|
17300
17082
|
...makeTagProps(),
|
17301
17083
|
...makeGroupProps({
|
17302
17084
|
selectedClass: 'v-slide-group-item--active'
|
@@ -17460,7 +17242,7 @@ const VSlideGroup = genericComponent()({
|
|
17460
17242
|
function focus(location) {
|
17461
17243
|
if (!contentRef.value) return;
|
17462
17244
|
if (!location) {
|
17463
|
-
const focusable =
|
17245
|
+
const focusable = focusableChildren(contentRef.value);
|
17464
17246
|
focusable[0]?.focus();
|
17465
17247
|
} else if (location === 'next') {
|
17466
17248
|
const el = contentRef.value.querySelector(':focus')?.nextElementSibling;
|
@@ -17537,7 +17319,8 @@ const VSlideGroup = genericComponent()({
|
|
17537
17319
|
'v-slide-group--vertical': !isHorizontal.value,
|
17538
17320
|
'v-slide-group--has-affixes': hasAffixes.value,
|
17539
17321
|
'v-slide-group--is-overflowing': isOverflowing.value
|
17540
|
-
}],
|
17322
|
+
}, props.class],
|
17323
|
+
"style": props.style,
|
17541
17324
|
"tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
|
17542
17325
|
"onFocus": onFocus
|
17543
17326
|
}, {
|
@@ -17687,7 +17470,8 @@ const VSnackbar = genericComponent()({
|
|
17687
17470
|
'v-snackbar--active': isActive.value,
|
17688
17471
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
17689
17472
|
'v-snackbar--vertical': props.vertical
|
17690
|
-
}, positionClasses.value]
|
17473
|
+
}, positionClasses.value, props.class],
|
17474
|
+
"style": props.style
|
17691
17475
|
}, overlayProps, {
|
17692
17476
|
"modelValue": isActive.value,
|
17693
17477
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -17787,7 +17571,8 @@ const VSwitch = genericComponent()({
|
|
17787
17571
|
'v-switch--inset': props.inset
|
17788
17572
|
}, {
|
17789
17573
|
'v-switch--indeterminate': indeterminate.value
|
17790
|
-
}, loaderClasses.value]
|
17574
|
+
}, loaderClasses.value, props.class],
|
17575
|
+
"style": props.style
|
17791
17576
|
}, inputAttrs, inputProps, {
|
17792
17577
|
"id": id.value,
|
17793
17578
|
"focused": isFocused.value
|
@@ -17856,6 +17641,7 @@ const VSystemBar = genericComponent()({
|
|
17856
17641
|
color: String,
|
17857
17642
|
height: [Number, String],
|
17858
17643
|
window: Boolean,
|
17644
|
+
...makeComponentProps(),
|
17859
17645
|
...makeElevationProps(),
|
17860
17646
|
...makeLayoutItemProps(),
|
17861
17647
|
...makeRoundedProps(),
|
@@ -17897,8 +17683,8 @@ const VSystemBar = genericComponent()({
|
|
17897
17683
|
useRender(() => createVNode(props.tag, {
|
17898
17684
|
"class": ['v-system-bar', {
|
17899
17685
|
'v-system-bar--window': props.window
|
17900
|
-
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
|
17901
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value]
|
17686
|
+
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
17687
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
|
17902
17688
|
}, slots));
|
17903
17689
|
return {};
|
17904
17690
|
}
|
@@ -17971,10 +17757,10 @@ const VTab = genericComponent()({
|
|
17971
17757
|
useRender(() => {
|
17972
17758
|
const [btnProps] = VBtn.filterProps(props);
|
17973
17759
|
return createVNode(VBtn, mergeProps({
|
17974
|
-
"_as": "VTab",
|
17975
17760
|
"symbol": VTabsSymbol,
|
17976
17761
|
"ref": rootEl,
|
17977
|
-
"class": ['v-tab'],
|
17762
|
+
"class": ['v-tab', props.class],
|
17763
|
+
"style": props.style,
|
17978
17764
|
"tabindex": isSelected.value ? 0 : -1,
|
17979
17765
|
"role": "tab",
|
17980
17766
|
"aria-selected": String(isSelected.value),
|
@@ -18069,10 +17855,10 @@ const VTabs = genericComponent()({
|
|
18069
17855
|
'v-tabs--fixed-tabs': props.fixedTabs,
|
18070
17856
|
'v-tabs--grow': props.grow,
|
18071
17857
|
'v-tabs--stacked': props.stacked
|
18072
|
-
}, densityClasses.value, backgroundColorClasses.value],
|
17858
|
+
}, densityClasses.value, backgroundColorClasses.value, props.class],
|
18073
17859
|
"style": [{
|
18074
17860
|
'--v-tabs-height': convertToUnit(props.height)
|
18075
|
-
}, backgroundColorStyles.value],
|
17861
|
+
}, backgroundColorStyles.value, props.style],
|
18076
17862
|
"role": "tablist",
|
18077
17863
|
"symbol": VTabsSymbol
|
18078
17864
|
}), {
|
@@ -18092,6 +17878,7 @@ const VTable = genericComponent()({
|
|
18092
17878
|
fixedFooter: Boolean,
|
18093
17879
|
height: [Number, String],
|
18094
17880
|
hover: Boolean,
|
17881
|
+
...makeComponentProps(),
|
18095
17882
|
...makeDensityProps(),
|
18096
17883
|
...makeTagProps(),
|
18097
17884
|
...makeThemeProps()
|
@@ -18114,7 +17901,8 @@ const VTable = genericComponent()({
|
|
18114
17901
|
'v-table--has-top': !!slots.top,
|
18115
17902
|
'v-table--has-bottom': !!slots.bottom,
|
18116
17903
|
'v-table--hover': props.hover
|
18117
|
-
}, themeClasses.value, densityClasses.value]
|
17904
|
+
}, themeClasses.value, densityClasses.value, props.class],
|
17905
|
+
"style": props.style
|
18118
17906
|
}, {
|
18119
17907
|
default: () => [slots.top?.(), slots.default ? createVNode("div", {
|
18120
17908
|
"class": "v-table__wrapper",
|
@@ -18193,7 +17981,7 @@ const VTextarea = genericComponent()({
|
|
18193
17981
|
const vFieldRef = ref();
|
18194
17982
|
const controlHeight = ref('');
|
18195
17983
|
const textareaRef = ref();
|
18196
|
-
const isActive = computed(() => isFocused.value || props.
|
17984
|
+
const isActive = computed(() => props.persistentPlaceholder || isFocused.value || props.active);
|
18197
17985
|
function onFocus() {
|
18198
17986
|
if (textareaRef.value !== document.activeElement) {
|
18199
17987
|
textareaRef.value?.focus();
|
@@ -18279,7 +18067,8 @@ const VTextarea = genericComponent()({
|
|
18279
18067
|
'v-textarea--auto-grow': props.autoGrow,
|
18280
18068
|
'v-textarea--no-resize': props.noResize || props.autoGrow,
|
18281
18069
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
18282
|
-
}]
|
18070
|
+
}, props.class],
|
18071
|
+
"style": props.style
|
18283
18072
|
}, rootAttrs, inputProps, {
|
18284
18073
|
"focused": isFocused.value
|
18285
18074
|
}), {
|
@@ -18363,6 +18152,7 @@ const VThemeProvider = genericComponent()({
|
|
18363
18152
|
name: 'VThemeProvider',
|
18364
18153
|
props: {
|
18365
18154
|
withBackground: Boolean,
|
18155
|
+
...makeComponentProps(),
|
18366
18156
|
...makeThemeProps(),
|
18367
18157
|
...makeTagProps()
|
18368
18158
|
},
|
@@ -18376,7 +18166,8 @@ const VThemeProvider = genericComponent()({
|
|
18376
18166
|
return () => {
|
18377
18167
|
if (!props.withBackground) return slots.default?.();
|
18378
18168
|
return createVNode(props.tag, {
|
18379
|
-
"class": ['v-theme-provider', themeClasses.value]
|
18169
|
+
"class": ['v-theme-provider', themeClasses.value, props.class],
|
18170
|
+
"style": props.style
|
18380
18171
|
}, {
|
18381
18172
|
default: () => [slots.default?.()]
|
18382
18173
|
});
|
@@ -18421,6 +18212,7 @@ const VTimeline = genericComponent()({
|
|
18421
18212
|
type: String,
|
18422
18213
|
validator: v => ['start', 'end', 'both'].includes(v)
|
18423
18214
|
},
|
18215
|
+
...makeComponentProps(),
|
18424
18216
|
...makeDensityProps(),
|
18425
18217
|
...makeTagProps(),
|
18426
18218
|
...makeThemeProps()
|
@@ -18464,10 +18256,10 @@ const VTimeline = genericComponent()({
|
|
18464
18256
|
useRender(() => createVNode(props.tag, {
|
18465
18257
|
"class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
|
18466
18258
|
'v-timeline--inset-line': !!props.lineInset
|
18467
|
-
}, themeClasses.value, densityClasses.value, sideClasses.value],
|
18468
|
-
"style": {
|
18259
|
+
}, themeClasses.value, densityClasses.value, sideClasses.value, props.class],
|
18260
|
+
"style": [{
|
18469
18261
|
'--v-timeline-line-thickness': convertToUnit(props.lineThickness)
|
18470
|
-
}
|
18262
|
+
}, props.style]
|
18471
18263
|
}, slots));
|
18472
18264
|
return {};
|
18473
18265
|
}
|
@@ -18482,6 +18274,7 @@ const VTimelineDivider = genericComponent()({
|
|
18482
18274
|
icon: IconValue,
|
18483
18275
|
iconColor: String,
|
18484
18276
|
lineColor: String,
|
18277
|
+
...makeComponentProps(),
|
18485
18278
|
...makeRoundedProps(),
|
18486
18279
|
...makeSizeProps(),
|
18487
18280
|
...makeElevationProps()
|
@@ -18511,7 +18304,8 @@ const VTimelineDivider = genericComponent()({
|
|
18511
18304
|
useRender(() => createVNode("div", {
|
18512
18305
|
"class": ['v-timeline-divider', {
|
18513
18306
|
'v-timeline-divider--fill-dot': props.fillDot
|
18514
|
-
}]
|
18307
|
+
}, props.class],
|
18308
|
+
"style": props.style
|
18515
18309
|
}, [createVNode("div", {
|
18516
18310
|
"class": ['v-timeline-divider__before', lineColorClasses.value],
|
18517
18311
|
"style": lineColorStyles.value
|
@@ -18561,11 +18355,12 @@ const VTimelineItem = genericComponent()({
|
|
18561
18355
|
icon: IconValue,
|
18562
18356
|
iconColor: String,
|
18563
18357
|
lineInset: [Number, String],
|
18564
|
-
...
|
18358
|
+
...makeComponentProps(),
|
18359
|
+
...makeDimensionProps(),
|
18565
18360
|
...makeElevationProps(),
|
18361
|
+
...makeRoundedProps(),
|
18566
18362
|
...makeSizeProps(),
|
18567
|
-
...makeTagProps()
|
18568
|
-
...makeDimensionProps()
|
18363
|
+
...makeTagProps()
|
18569
18364
|
},
|
18570
18365
|
setup(props, _ref) {
|
18571
18366
|
let {
|
@@ -18585,11 +18380,11 @@ const VTimelineItem = genericComponent()({
|
|
18585
18380
|
useRender(() => createVNode("div", {
|
18586
18381
|
"class": ['v-timeline-item', {
|
18587
18382
|
'v-timeline-item--fill-dot': props.fillDot
|
18588
|
-
}],
|
18589
|
-
"style": {
|
18383
|
+
}, props.class],
|
18384
|
+
"style": [{
|
18590
18385
|
'--v-timeline-dot-size': convertToUnit(dotSize.value),
|
18591
18386
|
'--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
|
18592
|
-
}
|
18387
|
+
}, props.style]
|
18593
18388
|
}, [createVNode("div", {
|
18594
18389
|
"class": "v-timeline-item__body",
|
18595
18390
|
"style": dimensionStyles.value
|
@@ -18665,7 +18460,8 @@ const VTooltip = genericComponent()({
|
|
18665
18460
|
const [overlayProps] = VOverlay.filterProps(props);
|
18666
18461
|
return createVNode(VOverlay, mergeProps({
|
18667
18462
|
"ref": overlay,
|
18668
|
-
"class": ['v-tooltip'],
|
18463
|
+
"class": ['v-tooltip', props.class],
|
18464
|
+
"style": props.style,
|
18669
18465
|
"id": id.value
|
18670
18466
|
}, overlayProps, {
|
18671
18467
|
"modelValue": isActive.value,
|
@@ -18713,7 +18509,8 @@ const VValidation = genericComponent()({
|
|
18713
18509
|
const VVirtualScrollItem = genericComponent()({
|
18714
18510
|
name: 'VVirtualScrollItem',
|
18715
18511
|
props: {
|
18716
|
-
dynamicHeight: Boolean
|
18512
|
+
dynamicHeight: Boolean,
|
18513
|
+
...makeComponentProps()
|
18717
18514
|
},
|
18718
18515
|
emits: {
|
18719
18516
|
'update:height': height => true
|
@@ -18740,7 +18537,8 @@ const VVirtualScrollItem = genericComponent()({
|
|
18740
18537
|
onUpdated(updateHeight);
|
18741
18538
|
useRender(() => createVNode("div", {
|
18742
18539
|
"ref": props.dynamicHeight ? resizeRef : undefined,
|
18743
|
-
"class":
|
18540
|
+
"class": ['v-virtual-scroll__item', props.class],
|
18541
|
+
"style": props.style
|
18744
18542
|
}, [slots.default?.()]));
|
18745
18543
|
}
|
18746
18544
|
});
|
@@ -18757,7 +18555,7 @@ const VVirtualScroll = genericComponent()({
|
|
18757
18555
|
default: () => []
|
18758
18556
|
},
|
18759
18557
|
itemHeight: [Number, String],
|
18760
|
-
|
18558
|
+
...makeComponentProps(),
|
18761
18559
|
...makeDimensionProps()
|
18762
18560
|
},
|
18763
18561
|
setup(props, _ref) {
|
@@ -18784,7 +18582,7 @@ const VVirtualScroll = genericComponent()({
|
|
18784
18582
|
const sizeMap = new Map();
|
18785
18583
|
let sizes = createRange(props.items.length).map(() => itemHeight.value);
|
18786
18584
|
const visibleItems = computed(() => {
|
18787
|
-
return
|
18585
|
+
return Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
|
18788
18586
|
});
|
18789
18587
|
function handleItemResize(index, height) {
|
18790
18588
|
itemHeight.value = Math.max(itemHeight.value, height);
|
@@ -18795,20 +18593,13 @@ const VVirtualScroll = genericComponent()({
|
|
18795
18593
|
return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
|
18796
18594
|
}
|
18797
18595
|
function calculateMidPointIndex(scrollTop) {
|
18798
|
-
|
18799
|
-
let
|
18800
|
-
|
18801
|
-
|
18802
|
-
|
18803
|
-
if (middleOffset === scrollTop) {
|
18804
|
-
return middle;
|
18805
|
-
} else if (middleOffset < scrollTop) {
|
18806
|
-
start = middle + 1;
|
18807
|
-
} else if (middleOffset > scrollTop) {
|
18808
|
-
end = middle - 1;
|
18809
|
-
}
|
18596
|
+
const end = props.items.length;
|
18597
|
+
let middle = 0;
|
18598
|
+
let middleOffset = 0;
|
18599
|
+
while (middleOffset < scrollTop && middle < end) {
|
18600
|
+
middleOffset += sizes[middle++] || itemHeight.value;
|
18810
18601
|
}
|
18811
|
-
return
|
18602
|
+
return middle - 1;
|
18812
18603
|
}
|
18813
18604
|
let lastScrollTop = 0;
|
18814
18605
|
function handleScroll() {
|
@@ -18830,8 +18621,12 @@ const VVirtualScroll = genericComponent()({
|
|
18830
18621
|
const offset = calculateOffset(index);
|
18831
18622
|
rootEl.value.scrollTop = offset;
|
18832
18623
|
}
|
18624
|
+
const items = computed(() => props.items.map((item, index) => ({
|
18625
|
+
raw: item,
|
18626
|
+
index
|
18627
|
+
})));
|
18833
18628
|
const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value));
|
18834
|
-
const computedItems = computed(() =>
|
18629
|
+
const computedItems = computed(() => items.value.slice(first.value, last.value));
|
18835
18630
|
const paddingTop = computed(() => calculateOffset(first.value));
|
18836
18631
|
const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
|
18837
18632
|
const {
|
@@ -18856,23 +18651,23 @@ const VVirtualScroll = genericComponent()({
|
|
18856
18651
|
});
|
18857
18652
|
useRender(() => createVNode("div", {
|
18858
18653
|
"ref": rootEl,
|
18859
|
-
"class":
|
18654
|
+
"class": ['v-virtual-scroll', props.class],
|
18860
18655
|
"onScroll": handleScroll,
|
18861
|
-
"style": dimensionStyles.value
|
18656
|
+
"style": [dimensionStyles.value, props.style]
|
18862
18657
|
}, [createVNode("div", {
|
18863
18658
|
"class": "v-virtual-scroll__container",
|
18864
18659
|
"style": {
|
18865
18660
|
paddingTop: convertToUnit(paddingTop.value),
|
18866
18661
|
paddingBottom: convertToUnit(paddingBottom.value)
|
18867
18662
|
}
|
18868
|
-
}, [computedItems.value.map(
|
18869
|
-
"key": index,
|
18663
|
+
}, [computedItems.value.map(item => createVNode(VVirtualScrollItem, {
|
18664
|
+
"key": item.index,
|
18870
18665
|
"dynamicHeight": !props.itemHeight,
|
18871
|
-
"onUpdate:height": height => handleItemResize(index
|
18666
|
+
"onUpdate:height": height => handleItemResize(item.index, height)
|
18872
18667
|
}, {
|
18873
18668
|
default: () => [slots.default?.({
|
18874
|
-
item,
|
18875
|
-
index: index
|
18669
|
+
item: item.raw,
|
18670
|
+
index: item.index
|
18876
18671
|
})]
|
18877
18672
|
}))])]));
|
18878
18673
|
return {
|
@@ -19020,130 +18815,542 @@ var components = /*#__PURE__*/Object.freeze({
|
|
19020
18815
|
|
19021
18816
|
// Types
|
19022
18817
|
|
19023
|
-
function mounted$2(el, binding) {
|
19024
|
-
const modifiers = binding.modifiers || {};
|
19025
|
-
const value = binding.value;
|
19026
|
-
const {
|
19027
|
-
once,
|
19028
|
-
immediate,
|
19029
|
-
...modifierKeys
|
19030
|
-
} = modifiers;
|
19031
|
-
const defaultValue = !Object.keys(modifierKeys).length;
|
19032
|
-
const {
|
19033
|
-
handler,
|
19034
|
-
options
|
19035
|
-
} = typeof value === 'object' ? value : {
|
19036
|
-
handler: value,
|
19037
|
-
options: {
|
19038
|
-
attributes: modifierKeys?.attr ?? defaultValue,
|
19039
|
-
characterData: modifierKeys?.char ?? defaultValue,
|
19040
|
-
childList: modifierKeys?.child ?? defaultValue,
|
19041
|
-
subtree: modifierKeys?.sub ?? defaultValue
|
18818
|
+
function mounted$2(el, binding) {
|
18819
|
+
const modifiers = binding.modifiers || {};
|
18820
|
+
const value = binding.value;
|
18821
|
+
const {
|
18822
|
+
once,
|
18823
|
+
immediate,
|
18824
|
+
...modifierKeys
|
18825
|
+
} = modifiers;
|
18826
|
+
const defaultValue = !Object.keys(modifierKeys).length;
|
18827
|
+
const {
|
18828
|
+
handler,
|
18829
|
+
options
|
18830
|
+
} = typeof value === 'object' ? value : {
|
18831
|
+
handler: value,
|
18832
|
+
options: {
|
18833
|
+
attributes: modifierKeys?.attr ?? defaultValue,
|
18834
|
+
characterData: modifierKeys?.char ?? defaultValue,
|
18835
|
+
childList: modifierKeys?.child ?? defaultValue,
|
18836
|
+
subtree: modifierKeys?.sub ?? defaultValue
|
18837
|
+
}
|
18838
|
+
};
|
18839
|
+
const observer = new MutationObserver(function () {
|
18840
|
+
let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
18841
|
+
let observer = arguments.length > 1 ? arguments[1] : undefined;
|
18842
|
+
handler?.(mutations, observer);
|
18843
|
+
if (once) unmounted$2(el, binding);
|
18844
|
+
});
|
18845
|
+
if (immediate) handler?.([], observer);
|
18846
|
+
el._mutate = Object(el._mutate);
|
18847
|
+
el._mutate[binding.instance.$.uid] = {
|
18848
|
+
observer
|
18849
|
+
};
|
18850
|
+
observer.observe(el, options);
|
18851
|
+
}
|
18852
|
+
function unmounted$2(el, binding) {
|
18853
|
+
if (!el._mutate?.[binding.instance.$.uid]) return;
|
18854
|
+
el._mutate[binding.instance.$.uid].observer.disconnect();
|
18855
|
+
delete el._mutate[binding.instance.$.uid];
|
18856
|
+
}
|
18857
|
+
const Mutate = {
|
18858
|
+
mounted: mounted$2,
|
18859
|
+
unmounted: unmounted$2
|
18860
|
+
};
|
18861
|
+
|
18862
|
+
function mounted$1(el, binding) {
|
18863
|
+
const handler = binding.value;
|
18864
|
+
const options = {
|
18865
|
+
passive: !binding.modifiers?.active
|
18866
|
+
};
|
18867
|
+
window.addEventListener('resize', handler, options);
|
18868
|
+
el._onResize = Object(el._onResize);
|
18869
|
+
el._onResize[binding.instance.$.uid] = {
|
18870
|
+
handler,
|
18871
|
+
options
|
18872
|
+
};
|
18873
|
+
if (!binding.modifiers?.quiet) {
|
18874
|
+
handler();
|
18875
|
+
}
|
18876
|
+
}
|
18877
|
+
function unmounted$1(el, binding) {
|
18878
|
+
if (!el._onResize?.[binding.instance.$.uid]) return;
|
18879
|
+
const {
|
18880
|
+
handler,
|
18881
|
+
options
|
18882
|
+
} = el._onResize[binding.instance.$.uid];
|
18883
|
+
window.removeEventListener('resize', handler, options);
|
18884
|
+
delete el._onResize[binding.instance.$.uid];
|
18885
|
+
}
|
18886
|
+
const Resize = {
|
18887
|
+
mounted: mounted$1,
|
18888
|
+
unmounted: unmounted$1
|
18889
|
+
};
|
18890
|
+
|
18891
|
+
function mounted(el, binding) {
|
18892
|
+
const {
|
18893
|
+
self = false
|
18894
|
+
} = binding.modifiers ?? {};
|
18895
|
+
const value = binding.value;
|
18896
|
+
const options = typeof value === 'object' && value.options || {
|
18897
|
+
passive: true
|
18898
|
+
};
|
18899
|
+
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
18900
|
+
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
18901
|
+
if (!target) return;
|
18902
|
+
target.addEventListener('scroll', handler, options);
|
18903
|
+
el._onScroll = Object(el._onScroll);
|
18904
|
+
el._onScroll[binding.instance.$.uid] = {
|
18905
|
+
handler,
|
18906
|
+
options,
|
18907
|
+
// Don't reference self
|
18908
|
+
target: self ? undefined : target
|
18909
|
+
};
|
18910
|
+
}
|
18911
|
+
function unmounted(el, binding) {
|
18912
|
+
if (!el._onScroll?.[binding.instance.$.uid]) return;
|
18913
|
+
const {
|
18914
|
+
handler,
|
18915
|
+
options,
|
18916
|
+
target = el
|
18917
|
+
} = el._onScroll[binding.instance.$.uid];
|
18918
|
+
target.removeEventListener('scroll', handler, options);
|
18919
|
+
delete el._onScroll[binding.instance.$.uid];
|
18920
|
+
}
|
18921
|
+
function updated(el, binding) {
|
18922
|
+
if (binding.value === binding.oldValue) return;
|
18923
|
+
unmounted(el, binding);
|
18924
|
+
mounted(el, binding);
|
18925
|
+
}
|
18926
|
+
const Scroll = {
|
18927
|
+
mounted,
|
18928
|
+
unmounted,
|
18929
|
+
updated
|
18930
|
+
};
|
18931
|
+
|
18932
|
+
var directives = /*#__PURE__*/Object.freeze({
|
18933
|
+
__proto__: null,
|
18934
|
+
ClickOutside: ClickOutside,
|
18935
|
+
Intersect: Intersect,
|
18936
|
+
Mutate: Mutate,
|
18937
|
+
Resize: Resize,
|
18938
|
+
Ripple: Ripple,
|
18939
|
+
Scroll: Scroll,
|
18940
|
+
Touch: Touch
|
18941
|
+
});
|
18942
|
+
|
18943
|
+
// Utilities
|
18944
|
+
|
18945
|
+
// Types
|
18946
|
+
|
18947
|
+
function getWeekArray(date) {
|
18948
|
+
let currentWeek = [];
|
18949
|
+
const weeks = [];
|
18950
|
+
const firstDayOfMonth = startOfMonth(date);
|
18951
|
+
const lastDayOfMonth = endOfMonth(date);
|
18952
|
+
for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
|
18953
|
+
currentWeek.push(null);
|
18954
|
+
}
|
18955
|
+
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
18956
|
+
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
18957
|
+
|
18958
|
+
// Add the day to the current week
|
18959
|
+
currentWeek.push(day);
|
18960
|
+
|
18961
|
+
// If the current week has 7 days, add it to the weeks array and start a new week
|
18962
|
+
if (currentWeek.length === 7) {
|
18963
|
+
weeks.push(currentWeek);
|
18964
|
+
currentWeek = [];
|
19042
18965
|
}
|
19043
|
-
}
|
19044
|
-
|
19045
|
-
|
19046
|
-
|
19047
|
-
|
19048
|
-
|
18966
|
+
}
|
18967
|
+
for (let i = currentWeek.length; i < 7; i++) {
|
18968
|
+
currentWeek.push(null);
|
18969
|
+
}
|
18970
|
+
weeks.push(currentWeek);
|
18971
|
+
return weeks;
|
18972
|
+
}
|
18973
|
+
function startOfMonth(date) {
|
18974
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
18975
|
+
}
|
18976
|
+
function endOfMonth(date) {
|
18977
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
18978
|
+
}
|
18979
|
+
function date(value) {
|
18980
|
+
if (value == null) return null;
|
18981
|
+
if (value instanceof Date) return value;
|
18982
|
+
if (typeof value === 'string') {
|
18983
|
+
const parsed = Date.parse(value);
|
18984
|
+
if (!isNaN(parsed)) return new Date(parsed);
|
18985
|
+
}
|
18986
|
+
return null;
|
18987
|
+
}
|
18988
|
+
const firstDay = {
|
18989
|
+
'001': 1,
|
18990
|
+
AD: 1,
|
18991
|
+
AE: 6,
|
18992
|
+
AF: 6,
|
18993
|
+
AG: 0,
|
18994
|
+
AI: 1,
|
18995
|
+
AL: 1,
|
18996
|
+
AM: 1,
|
18997
|
+
AN: 1,
|
18998
|
+
AR: 1,
|
18999
|
+
AS: 0,
|
19000
|
+
AT: 1,
|
19001
|
+
AU: 0,
|
19002
|
+
AX: 1,
|
19003
|
+
AZ: 1,
|
19004
|
+
BA: 1,
|
19005
|
+
BD: 0,
|
19006
|
+
BE: 1,
|
19007
|
+
BG: 1,
|
19008
|
+
BH: 6,
|
19009
|
+
BM: 1,
|
19010
|
+
BN: 1,
|
19011
|
+
BR: 0,
|
19012
|
+
BS: 0,
|
19013
|
+
BT: 0,
|
19014
|
+
BW: 0,
|
19015
|
+
BY: 1,
|
19016
|
+
BZ: 0,
|
19017
|
+
CA: 0,
|
19018
|
+
CH: 1,
|
19019
|
+
CL: 1,
|
19020
|
+
CM: 1,
|
19021
|
+
CN: 0,
|
19022
|
+
CO: 0,
|
19023
|
+
CR: 1,
|
19024
|
+
CY: 1,
|
19025
|
+
CZ: 1,
|
19026
|
+
DE: 1,
|
19027
|
+
DJ: 6,
|
19028
|
+
DK: 1,
|
19029
|
+
DM: 0,
|
19030
|
+
DO: 0,
|
19031
|
+
DZ: 6,
|
19032
|
+
EC: 1,
|
19033
|
+
EE: 1,
|
19034
|
+
EG: 6,
|
19035
|
+
ES: 1,
|
19036
|
+
ET: 0,
|
19037
|
+
FI: 1,
|
19038
|
+
FJ: 1,
|
19039
|
+
FO: 1,
|
19040
|
+
FR: 1,
|
19041
|
+
GB: 1,
|
19042
|
+
'GB-alt-variant': 0,
|
19043
|
+
GE: 1,
|
19044
|
+
GF: 1,
|
19045
|
+
GP: 1,
|
19046
|
+
GR: 1,
|
19047
|
+
GT: 0,
|
19048
|
+
GU: 0,
|
19049
|
+
HK: 0,
|
19050
|
+
HN: 0,
|
19051
|
+
HR: 1,
|
19052
|
+
HU: 1,
|
19053
|
+
ID: 0,
|
19054
|
+
IE: 1,
|
19055
|
+
IL: 0,
|
19056
|
+
IN: 0,
|
19057
|
+
IQ: 6,
|
19058
|
+
IR: 6,
|
19059
|
+
IS: 1,
|
19060
|
+
IT: 1,
|
19061
|
+
JM: 0,
|
19062
|
+
JO: 6,
|
19063
|
+
JP: 0,
|
19064
|
+
KE: 0,
|
19065
|
+
KG: 1,
|
19066
|
+
KH: 0,
|
19067
|
+
KR: 0,
|
19068
|
+
KW: 6,
|
19069
|
+
KZ: 1,
|
19070
|
+
LA: 0,
|
19071
|
+
LB: 1,
|
19072
|
+
LI: 1,
|
19073
|
+
LK: 1,
|
19074
|
+
LT: 1,
|
19075
|
+
LU: 1,
|
19076
|
+
LV: 1,
|
19077
|
+
LY: 6,
|
19078
|
+
MC: 1,
|
19079
|
+
MD: 1,
|
19080
|
+
ME: 1,
|
19081
|
+
MH: 0,
|
19082
|
+
MK: 1,
|
19083
|
+
MM: 0,
|
19084
|
+
MN: 1,
|
19085
|
+
MO: 0,
|
19086
|
+
MQ: 1,
|
19087
|
+
MT: 0,
|
19088
|
+
MV: 5,
|
19089
|
+
MX: 0,
|
19090
|
+
MY: 1,
|
19091
|
+
MZ: 0,
|
19092
|
+
NI: 0,
|
19093
|
+
NL: 1,
|
19094
|
+
NO: 1,
|
19095
|
+
NP: 0,
|
19096
|
+
NZ: 1,
|
19097
|
+
OM: 6,
|
19098
|
+
PA: 0,
|
19099
|
+
PE: 0,
|
19100
|
+
PH: 0,
|
19101
|
+
PK: 0,
|
19102
|
+
PL: 1,
|
19103
|
+
PR: 0,
|
19104
|
+
PT: 0,
|
19105
|
+
PY: 0,
|
19106
|
+
QA: 6,
|
19107
|
+
RE: 1,
|
19108
|
+
RO: 1,
|
19109
|
+
RS: 1,
|
19110
|
+
RU: 1,
|
19111
|
+
SA: 0,
|
19112
|
+
SD: 6,
|
19113
|
+
SE: 1,
|
19114
|
+
SG: 0,
|
19115
|
+
SI: 1,
|
19116
|
+
SK: 1,
|
19117
|
+
SM: 1,
|
19118
|
+
SV: 0,
|
19119
|
+
SY: 6,
|
19120
|
+
TH: 0,
|
19121
|
+
TJ: 1,
|
19122
|
+
TM: 1,
|
19123
|
+
TR: 1,
|
19124
|
+
TT: 0,
|
19125
|
+
TW: 0,
|
19126
|
+
UA: 1,
|
19127
|
+
UM: 0,
|
19128
|
+
US: 0,
|
19129
|
+
UY: 1,
|
19130
|
+
UZ: 1,
|
19131
|
+
VA: 1,
|
19132
|
+
VE: 0,
|
19133
|
+
VI: 0,
|
19134
|
+
VN: 1,
|
19135
|
+
WS: 0,
|
19136
|
+
XK: 1,
|
19137
|
+
YE: 0,
|
19138
|
+
ZA: 0,
|
19139
|
+
ZW: 0
|
19140
|
+
};
|
19141
|
+
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
19142
|
+
function getWeekdays(locale) {
|
19143
|
+
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
19144
|
+
return createRange(7).map(i => {
|
19145
|
+
const weekday = new Date(sundayJanuarySecond2000);
|
19146
|
+
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
19147
|
+
return new Intl.DateTimeFormat(locale, {
|
19148
|
+
weekday: 'long'
|
19149
|
+
}).format(weekday);
|
19049
19150
|
});
|
19050
|
-
if (immediate) handler?.([], observer);
|
19051
|
-
el._mutate = Object(el._mutate);
|
19052
|
-
el._mutate[binding.instance.$.uid] = {
|
19053
|
-
observer
|
19054
|
-
};
|
19055
|
-
observer.observe(el, options);
|
19056
19151
|
}
|
19057
|
-
function
|
19058
|
-
|
19059
|
-
|
19060
|
-
|
19152
|
+
function format(value, formatString, locale) {
|
19153
|
+
const date = new Date(value);
|
19154
|
+
let options = {};
|
19155
|
+
switch (formatString) {
|
19156
|
+
case 'fullDateWithWeekday':
|
19157
|
+
options = {
|
19158
|
+
weekday: 'long',
|
19159
|
+
day: 'numeric',
|
19160
|
+
month: 'long',
|
19161
|
+
year: 'numeric'
|
19162
|
+
};
|
19163
|
+
break;
|
19164
|
+
case 'normalDateWithWeekday':
|
19165
|
+
options = {
|
19166
|
+
weekday: 'short',
|
19167
|
+
day: 'numeric',
|
19168
|
+
month: 'short',
|
19169
|
+
year: 'numeric'
|
19170
|
+
};
|
19171
|
+
break;
|
19172
|
+
case 'keyboardDate':
|
19173
|
+
options = {};
|
19174
|
+
break;
|
19175
|
+
case 'monthAndDate':
|
19176
|
+
options = {
|
19177
|
+
month: 'long',
|
19178
|
+
day: 'numeric'
|
19179
|
+
};
|
19180
|
+
break;
|
19181
|
+
case 'monthAndYear':
|
19182
|
+
options = {
|
19183
|
+
month: 'long',
|
19184
|
+
year: 'numeric'
|
19185
|
+
};
|
19186
|
+
break;
|
19187
|
+
default:
|
19188
|
+
options = {
|
19189
|
+
timeZone: 'UTC',
|
19190
|
+
timeZoneName: 'short'
|
19191
|
+
};
|
19192
|
+
}
|
19193
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
19194
|
+
}
|
19195
|
+
function addDays(date, amount) {
|
19196
|
+
const d = new Date(date);
|
19197
|
+
d.setDate(d.getDate() + amount);
|
19198
|
+
return d;
|
19199
|
+
}
|
19200
|
+
function addMonths(date, amount) {
|
19201
|
+
const d = new Date(date);
|
19202
|
+
d.setMonth(d.getMonth() + amount);
|
19203
|
+
return d;
|
19204
|
+
}
|
19205
|
+
function getYear(date) {
|
19206
|
+
return date.getFullYear();
|
19207
|
+
}
|
19208
|
+
function getMonth(date) {
|
19209
|
+
return date.getMonth();
|
19210
|
+
}
|
19211
|
+
function startOfYear(date) {
|
19212
|
+
return new Date(date.getFullYear(), 0, 1);
|
19213
|
+
}
|
19214
|
+
function endOfYear(date) {
|
19215
|
+
return new Date(date.getFullYear(), 11, 31);
|
19216
|
+
}
|
19217
|
+
function getMondayOfFirstWeekOfYear(year) {
|
19218
|
+
return new Date(year, 0, 1);
|
19061
19219
|
}
|
19062
|
-
const Mutate = {
|
19063
|
-
mounted: mounted$2,
|
19064
|
-
unmounted: unmounted$2
|
19065
|
-
};
|
19066
19220
|
|
19067
|
-
|
19068
|
-
|
19069
|
-
|
19070
|
-
|
19071
|
-
|
19072
|
-
|
19073
|
-
|
19074
|
-
|
19075
|
-
|
19076
|
-
|
19077
|
-
|
19078
|
-
|
19079
|
-
|
19221
|
+
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
19222
|
+
function getWeek(date) {
|
19223
|
+
let year = date.getFullYear();
|
19224
|
+
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
19225
|
+
if (date < d1w1) {
|
19226
|
+
year = year - 1;
|
19227
|
+
d1w1 = getMondayOfFirstWeekOfYear(year);
|
19228
|
+
} else {
|
19229
|
+
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
19230
|
+
if (date >= tv) {
|
19231
|
+
year = year + 1;
|
19232
|
+
d1w1 = tv;
|
19233
|
+
}
|
19080
19234
|
}
|
19235
|
+
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
19236
|
+
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
19237
|
+
return Math.floor(diffDays / 7) + 1;
|
19081
19238
|
}
|
19082
|
-
function
|
19083
|
-
|
19084
|
-
const {
|
19085
|
-
handler,
|
19086
|
-
options
|
19087
|
-
} = el._onResize[binding.instance.$.uid];
|
19088
|
-
window.removeEventListener('resize', handler, options);
|
19089
|
-
delete el._onResize[binding.instance.$.uid];
|
19239
|
+
function isWithinRange(date, range) {
|
19240
|
+
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
19090
19241
|
}
|
19091
|
-
|
19092
|
-
|
19093
|
-
|
19094
|
-
};
|
19095
|
-
|
19096
|
-
function mounted(el, binding) {
|
19097
|
-
const {
|
19098
|
-
self = false
|
19099
|
-
} = binding.modifiers ?? {};
|
19100
|
-
const value = binding.value;
|
19101
|
-
const options = typeof value === 'object' && value.options || {
|
19102
|
-
passive: true
|
19103
|
-
};
|
19104
|
-
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
19105
|
-
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
19106
|
-
if (!target) return;
|
19107
|
-
target.addEventListener('scroll', handler, options);
|
19108
|
-
el._onScroll = Object(el._onScroll);
|
19109
|
-
el._onScroll[binding.instance.$.uid] = {
|
19110
|
-
handler,
|
19111
|
-
options,
|
19112
|
-
// Don't reference self
|
19113
|
-
target: self ? undefined : target
|
19114
|
-
};
|
19242
|
+
function isValid(date) {
|
19243
|
+
const d = new Date(date);
|
19244
|
+
return d instanceof Date && !isNaN(d.getTime());
|
19115
19245
|
}
|
19116
|
-
function
|
19117
|
-
|
19118
|
-
const {
|
19119
|
-
handler,
|
19120
|
-
options,
|
19121
|
-
target = el
|
19122
|
-
} = el._onScroll[binding.instance.$.uid];
|
19123
|
-
target.removeEventListener('scroll', handler, options);
|
19124
|
-
delete el._onScroll[binding.instance.$.uid];
|
19246
|
+
function isAfter(date, comparing) {
|
19247
|
+
return date.getTime() > comparing.getTime();
|
19125
19248
|
}
|
19126
|
-
function
|
19127
|
-
|
19128
|
-
|
19129
|
-
|
19249
|
+
function isBefore(date, comparing) {
|
19250
|
+
return date.getTime() < comparing.getTime();
|
19251
|
+
}
|
19252
|
+
function isEqual(date, comparing) {
|
19253
|
+
return date.getTime() === comparing.getTime();
|
19254
|
+
}
|
19255
|
+
function isSameDay(date, comparing) {
|
19256
|
+
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
19257
|
+
}
|
19258
|
+
function isSameMonth(date, comparing) {
|
19259
|
+
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
19260
|
+
}
|
19261
|
+
function getDiff(date, comparing, unit) {
|
19262
|
+
const d = new Date(date);
|
19263
|
+
const c = new Date(comparing);
|
19264
|
+
if (unit === 'month') {
|
19265
|
+
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
19266
|
+
}
|
19267
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
19268
|
+
}
|
19269
|
+
function setYear(date, year) {
|
19270
|
+
const d = new Date(date);
|
19271
|
+
d.setFullYear(year);
|
19272
|
+
return d;
|
19273
|
+
}
|
19274
|
+
class VuetifyDateAdapter {
|
19275
|
+
constructor() {
|
19276
|
+
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
19277
|
+
this.locale = locale;
|
19278
|
+
}
|
19279
|
+
date(value) {
|
19280
|
+
return date(value);
|
19281
|
+
}
|
19282
|
+
addDays(date, amount) {
|
19283
|
+
return addDays(date, amount);
|
19284
|
+
}
|
19285
|
+
addMonths(date, amount) {
|
19286
|
+
return addMonths(date, amount);
|
19287
|
+
}
|
19288
|
+
getWeekArray(date) {
|
19289
|
+
return getWeekArray(date);
|
19290
|
+
}
|
19291
|
+
startOfMonth(date) {
|
19292
|
+
return startOfMonth(date);
|
19293
|
+
}
|
19294
|
+
endOfMonth(date) {
|
19295
|
+
return endOfMonth(date);
|
19296
|
+
}
|
19297
|
+
format(date, formatString) {
|
19298
|
+
return format(date, formatString, this.locale);
|
19299
|
+
}
|
19300
|
+
isEqual(date, comparing) {
|
19301
|
+
return isEqual(date, comparing);
|
19302
|
+
}
|
19303
|
+
isValid(date) {
|
19304
|
+
return isValid(date);
|
19305
|
+
}
|
19306
|
+
isWithinRange(date, range) {
|
19307
|
+
return isWithinRange(date, range);
|
19308
|
+
}
|
19309
|
+
isAfter(date, comparing) {
|
19310
|
+
return isAfter(date, comparing);
|
19311
|
+
}
|
19312
|
+
isSameDay(date, comparing) {
|
19313
|
+
return isSameDay(date, comparing);
|
19314
|
+
}
|
19315
|
+
isSameMonth(date, comparing) {
|
19316
|
+
return isSameMonth(date, comparing);
|
19317
|
+
}
|
19318
|
+
setYear(date, year) {
|
19319
|
+
return setYear(date, year);
|
19320
|
+
}
|
19321
|
+
getDiff(date, comparing, unit) {
|
19322
|
+
return getDiff(date, comparing, unit);
|
19323
|
+
}
|
19324
|
+
getWeek(date) {
|
19325
|
+
return getWeek(date);
|
19326
|
+
}
|
19327
|
+
getWeekdays() {
|
19328
|
+
return getWeekdays(this.locale);
|
19329
|
+
}
|
19330
|
+
getYear(date) {
|
19331
|
+
return getYear(date);
|
19332
|
+
}
|
19333
|
+
getMonth(date) {
|
19334
|
+
return getMonth(date);
|
19335
|
+
}
|
19336
|
+
startOfYear(date) {
|
19337
|
+
return startOfYear(date);
|
19338
|
+
}
|
19339
|
+
endOfYear(date) {
|
19340
|
+
return endOfYear(date);
|
19341
|
+
}
|
19130
19342
|
}
|
19131
|
-
const Scroll = {
|
19132
|
-
mounted,
|
19133
|
-
unmounted,
|
19134
|
-
updated
|
19135
|
-
};
|
19136
19343
|
|
19137
|
-
|
19138
|
-
|
19139
|
-
|
19140
|
-
|
19141
|
-
|
19142
|
-
|
19143
|
-
|
19144
|
-
|
19145
|
-
|
19146
|
-
}
|
19344
|
+
// Composables
|
19345
|
+
|
19346
|
+
// Types
|
19347
|
+
|
19348
|
+
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
19349
|
+
function createDate(options) {
|
19350
|
+
return options ?? {
|
19351
|
+
adapter: VuetifyDateAdapter
|
19352
|
+
};
|
19353
|
+
}
|
19147
19354
|
|
19148
19355
|
// Composables
|
19149
19356
|
function createVuetify$1() {
|
@@ -19230,7 +19437,7 @@ function createVuetify$1() {
|
|
19230
19437
|
date
|
19231
19438
|
};
|
19232
19439
|
}
|
19233
|
-
const version$1 = "4.0.0-dev-
|
19440
|
+
const version$1 = "4.0.0-dev-20230511.0";
|
19234
19441
|
createVuetify$1.version = version$1;
|
19235
19442
|
|
19236
19443
|
// Vue's inject() can only be used in setup
|
@@ -19250,8 +19457,8 @@ const createVuetify = function () {
|
|
19250
19457
|
...options
|
19251
19458
|
});
|
19252
19459
|
};
|
19253
|
-
const version = "4.0.0-dev-
|
19460
|
+
const version = "4.0.0-dev-20230511.0";
|
19254
19461
|
createVuetify.version = version;
|
19255
19462
|
|
19256
|
-
export { components, createVuetify, directives,
|
19463
|
+
export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|
19257
19464
|
//# sourceMappingURL=vuetify.esm.js.map
|