@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-labs.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, withModifiers } from 'vue';
|
8
8
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
@@ -167,11 +167,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
|
}
|
@@ -1091,15 +1124,19 @@ function createSimpleFunctional(klass) {
|
|
1091
1124
|
tag: {
|
1092
1125
|
type: String,
|
1093
1126
|
default: tag
|
1094
|
-
}
|
1127
|
+
},
|
1128
|
+
...makeComponentProps()
|
1095
1129
|
},
|
1096
1130
|
setup(props, _ref) {
|
1097
1131
|
let {
|
1098
1132
|
slots
|
1099
1133
|
} = _ref;
|
1100
|
-
return () =>
|
1101
|
-
|
1102
|
-
|
1134
|
+
return () => {
|
1135
|
+
return h(props.tag, {
|
1136
|
+
class: [klass, props.class],
|
1137
|
+
style: props.style
|
1138
|
+
}, slots.default?.());
|
1139
|
+
};
|
1103
1140
|
}
|
1104
1141
|
});
|
1105
1142
|
}
|
@@ -1132,6 +1169,34 @@ const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';
|
|
1132
1169
|
const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering
|
1133
1170
|
const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving
|
1134
1171
|
|
1172
|
+
// Utilities
|
1173
|
+
function getCurrentInstance(name, message) {
|
1174
|
+
const vm = getCurrentInstance$1();
|
1175
|
+
if (!vm) {
|
1176
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
1177
|
+
}
|
1178
|
+
return vm;
|
1179
|
+
}
|
1180
|
+
function getCurrentInstanceName() {
|
1181
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
1182
|
+
const vm = getCurrentInstance(name).type;
|
1183
|
+
return toKebabCase(vm?.aliasName || vm?.name);
|
1184
|
+
}
|
1185
|
+
let _uid = 0;
|
1186
|
+
let _map = new WeakMap();
|
1187
|
+
function getUid() {
|
1188
|
+
const vm = getCurrentInstance('getUid');
|
1189
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
1190
|
+
const uid = _uid++;
|
1191
|
+
_map.set(vm, uid);
|
1192
|
+
return uid;
|
1193
|
+
}
|
1194
|
+
}
|
1195
|
+
getUid.reset = () => {
|
1196
|
+
_uid = 0;
|
1197
|
+
_map = new WeakMap();
|
1198
|
+
};
|
1199
|
+
|
1135
1200
|
function getScrollParent(el) {
|
1136
1201
|
while (el) {
|
1137
1202
|
if (hasScrollbar(el)) return el;
|
@@ -1155,6 +1220,16 @@ function hasScrollbar(el) {
|
|
1155
1220
|
return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
|
1156
1221
|
}
|
1157
1222
|
|
1223
|
+
function injectSelf(key) {
|
1224
|
+
const {
|
1225
|
+
provides
|
1226
|
+
} = getCurrentInstance('injectSelf');
|
1227
|
+
if (provides && key in provides) {
|
1228
|
+
// TS doesn't allow symbol as index type
|
1229
|
+
return provides[key];
|
1230
|
+
}
|
1231
|
+
}
|
1232
|
+
|
1158
1233
|
function isFixedPosition(el) {
|
1159
1234
|
while (el) {
|
1160
1235
|
if (window.getComputedStyle(el).position === 'fixed') {
|
@@ -1659,7 +1734,7 @@ function createTheme(options) {
|
|
1659
1734
|
for (const variation of ['lighten', 'darken']) {
|
1660
1735
|
const fn = variation === 'lighten' ? lighten : darken;
|
1661
1736
|
for (const amount of createRange(parsedOptions.variations[variation], 1)) {
|
1662
|
-
theme.colors[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor
|
1737
|
+
theme.colors[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount));
|
1663
1738
|
}
|
1664
1739
|
}
|
1665
1740
|
}
|
@@ -1667,9 +1742,9 @@ function createTheme(options) {
|
|
1667
1742
|
for (const color of Object.keys(theme.colors)) {
|
1668
1743
|
if (/^on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue;
|
1669
1744
|
const onColor = `on-${color}`;
|
1670
|
-
const colorVal = parseColor
|
1671
|
-
const blackContrast = Math.abs(APCAcontrast(parseColor
|
1672
|
-
const whiteContrast = Math.abs(APCAcontrast(parseColor
|
1745
|
+
const colorVal = parseColor(theme.colors[color]);
|
1746
|
+
const blackContrast = Math.abs(APCAcontrast(parseColor(0), colorVal));
|
1747
|
+
const whiteContrast = Math.abs(APCAcontrast(parseColor(0xffffff), colorVal));
|
1673
1748
|
|
1674
1749
|
// TODO: warn about poor color selections
|
1675
1750
|
// const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))
|
@@ -1801,14 +1876,14 @@ function genCssVariables(theme) {
|
|
1801
1876
|
const darkOverlay = theme.dark ? 1 : 2;
|
1802
1877
|
const variables = [];
|
1803
1878
|
for (const [key, value] of Object.entries(theme.colors)) {
|
1804
|
-
const rgb = parseColor
|
1879
|
+
const rgb = parseColor(value);
|
1805
1880
|
variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
|
1806
1881
|
if (!key.startsWith('on-')) {
|
1807
1882
|
variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
1808
1883
|
}
|
1809
1884
|
}
|
1810
1885
|
for (const [key, value] of Object.entries(theme.variables)) {
|
1811
|
-
const color = typeof value === 'string' && value.startsWith('#') ? parseColor
|
1886
|
+
const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
|
1812
1887
|
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
1813
1888
|
variables.push(`--v-${key}: ${rgb ?? value}`);
|
1814
1889
|
}
|
@@ -2137,6 +2212,7 @@ function useRtl() {
|
|
2137
2212
|
const VApp = genericComponent()({
|
2138
2213
|
name: 'VApp',
|
2139
2214
|
props: {
|
2215
|
+
...makeComponentProps(),
|
2140
2216
|
...makeLayoutProps({
|
2141
2217
|
fullHeight: true
|
2142
2218
|
}),
|
@@ -2159,8 +2235,8 @@ const VApp = genericComponent()({
|
|
2159
2235
|
} = useRtl();
|
2160
2236
|
useRender(() => createVNode("div", {
|
2161
2237
|
"ref": layoutRef,
|
2162
|
-
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value],
|
2163
|
-
"style": layoutStyles.value
|
2238
|
+
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
|
2239
|
+
"style": [layoutStyles.value, props.style]
|
2164
2240
|
}, [createVNode("div", {
|
2165
2241
|
"class": "v-application__wrap"
|
2166
2242
|
}, [slots.default?.()])]));
|
@@ -2580,13 +2656,16 @@ function useAspectStyles(props) {
|
|
2580
2656
|
})
|
2581
2657
|
};
|
2582
2658
|
}
|
2659
|
+
const makeVResponsiveProps = propsFactory({
|
2660
|
+
aspectRatio: [String, Number],
|
2661
|
+
contentClass: String,
|
2662
|
+
inline: Boolean,
|
2663
|
+
...makeComponentProps(),
|
2664
|
+
...makeDimensionProps()
|
2665
|
+
}, 'v-responsive');
|
2583
2666
|
const VResponsive = genericComponent()({
|
2584
2667
|
name: 'VResponsive',
|
2585
|
-
props:
|
2586
|
-
aspectRatio: [String, Number],
|
2587
|
-
contentClass: String,
|
2588
|
-
...makeDimensionProps()
|
2589
|
-
},
|
2668
|
+
props: makeVResponsiveProps(),
|
2590
2669
|
setup(props, _ref) {
|
2591
2670
|
let {
|
2592
2671
|
slots
|
@@ -2598,8 +2677,10 @@ const VResponsive = genericComponent()({
|
|
2598
2677
|
dimensionStyles
|
2599
2678
|
} = useDimension(props);
|
2600
2679
|
useRender(() => createVNode("div", {
|
2601
|
-
"class":
|
2602
|
-
|
2680
|
+
"class": ['v-responsive', {
|
2681
|
+
'v-responsive--inline': props.inline
|
2682
|
+
}, props.class],
|
2683
|
+
"style": [dimensionStyles.value, props.style]
|
2603
2684
|
}, [createVNode("div", {
|
2604
2685
|
"class": "v-responsive__sizer",
|
2605
2686
|
"style": aspectStyles.value
|
@@ -2694,7 +2775,6 @@ const VImg = genericComponent()({
|
|
2694
2775
|
intersect: Intersect
|
2695
2776
|
},
|
2696
2777
|
props: {
|
2697
|
-
aspectRatio: [String, Number],
|
2698
2778
|
alt: String,
|
2699
2779
|
cover: Boolean,
|
2700
2780
|
eager: Boolean,
|
@@ -2716,7 +2796,8 @@ const VImg = genericComponent()({
|
|
2716
2796
|
default: ''
|
2717
2797
|
},
|
2718
2798
|
srcset: String,
|
2719
|
-
|
2799
|
+
...makeVResponsiveProps(),
|
2800
|
+
...makeComponentProps(),
|
2720
2801
|
...makeTransitionProps()
|
2721
2802
|
},
|
2722
2803
|
emits: {
|
@@ -2901,25 +2982,27 @@ const VImg = genericComponent()({
|
|
2901
2982
|
}
|
2902
2983
|
});
|
2903
2984
|
}
|
2904
|
-
useRender(() =>
|
2905
|
-
|
2906
|
-
|
2907
|
-
|
2908
|
-
|
2909
|
-
|
2910
|
-
|
2911
|
-
|
2912
|
-
|
2913
|
-
|
2914
|
-
|
2915
|
-
|
2916
|
-
|
2917
|
-
|
2918
|
-
|
2919
|
-
|
2920
|
-
|
2921
|
-
|
2922
|
-
|
2985
|
+
useRender(() => {
|
2986
|
+
const [responsiveProps] = VResponsive.filterProps(props);
|
2987
|
+
return withDirectives(createVNode(VResponsive, mergeProps({
|
2988
|
+
"class": ['v-img', {
|
2989
|
+
'v-img--booting': !isBooted.value
|
2990
|
+
}, props.class],
|
2991
|
+
"style": props.style
|
2992
|
+
}, responsiveProps, {
|
2993
|
+
"aspectRatio": aspectRatio.value,
|
2994
|
+
"aria-label": props.alt,
|
2995
|
+
"role": props.alt ? 'img' : undefined
|
2996
|
+
}), {
|
2997
|
+
additional: () => createVNode(Fragment, null, [createVNode(__image, null, null), createVNode(__preloadImage, null, null), createVNode(__gradient, null, null), createVNode(__placeholder, null, null), createVNode(__error, null, null)]),
|
2998
|
+
default: slots.default
|
2999
|
+
}), [[resolveDirective("intersect"), {
|
3000
|
+
handler: init,
|
3001
|
+
options: props.options
|
3002
|
+
}, null, {
|
3003
|
+
once: true
|
3004
|
+
}]]);
|
3005
|
+
});
|
2923
3006
|
return {
|
2924
3007
|
currentSrc,
|
2925
3008
|
image,
|
@@ -2942,10 +3025,9 @@ const makeTagProps = propsFactory({
|
|
2942
3025
|
}
|
2943
3026
|
}, 'tag');
|
2944
3027
|
|
2945
|
-
// Types
|
2946
|
-
|
2947
3028
|
const makeVToolbarTitleProps = propsFactory({
|
2948
3029
|
text: String,
|
3030
|
+
...makeComponentProps(),
|
2949
3031
|
...makeTagProps()
|
2950
3032
|
}, 'v-toolbar-title');
|
2951
3033
|
const VToolbarTitle = genericComponent()({
|
@@ -2958,7 +3040,8 @@ const VToolbarTitle = genericComponent()({
|
|
2958
3040
|
useRender(() => {
|
2959
3041
|
const hasText = !!(slots.default || slots.text || props.text);
|
2960
3042
|
return createVNode(props.tag, {
|
2961
|
-
"class":
|
3043
|
+
"class": ['v-toolbar-title', props.class],
|
3044
|
+
"style": props.style
|
2962
3045
|
}, {
|
2963
3046
|
default: () => [hasText && createVNode("div", {
|
2964
3047
|
"class": "v-toolbar-title__placeholder"
|
@@ -3139,6 +3222,7 @@ const makeVToolbarProps = propsFactory({
|
|
3139
3222
|
image: String,
|
3140
3223
|
title: String,
|
3141
3224
|
...makeBorderProps(),
|
3225
|
+
...makeComponentProps(),
|
3142
3226
|
...makeElevationProps(),
|
3143
3227
|
...makeRoundedProps(),
|
3144
3228
|
...makeTagProps({
|
@@ -3189,8 +3273,8 @@ const VToolbar = genericComponent()({
|
|
3189
3273
|
'v-toolbar--flat': props.flat,
|
3190
3274
|
'v-toolbar--floating': props.floating,
|
3191
3275
|
[`v-toolbar--density-${props.density}`]: true
|
3192
|
-
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value],
|
3193
|
-
"style": [backgroundColorStyles.value]
|
3276
|
+
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
3277
|
+
"style": [backgroundColorStyles.value, props.style]
|
3194
3278
|
}, {
|
3195
3279
|
default: () => [hasImage && createVNode("div", {
|
3196
3280
|
"key": "image",
|
@@ -3265,14 +3349,13 @@ const makeScrollProps = propsFactory({
|
|
3265
3349
|
type: String
|
3266
3350
|
},
|
3267
3351
|
scrollThreshold: {
|
3268
|
-
type: [String, Number]
|
3352
|
+
type: [String, Number],
|
3353
|
+
default: 300
|
3269
3354
|
}
|
3270
3355
|
}, 'scroll');
|
3271
3356
|
function useScroll(props) {
|
3272
3357
|
let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
3273
3358
|
const {
|
3274
|
-
thresholdMetCallback,
|
3275
|
-
scrollThreshold,
|
3276
3359
|
canScroll
|
3277
3360
|
} = args;
|
3278
3361
|
let previousScroll = 0;
|
@@ -3282,8 +3365,16 @@ function useScroll(props) {
|
|
3282
3365
|
const currentThreshold = ref(0);
|
3283
3366
|
const isScrollActive = ref(false);
|
3284
3367
|
const isScrollingUp = ref(false);
|
3285
|
-
const
|
3286
|
-
return Number(props.scrollThreshold
|
3368
|
+
const scrollThreshold = computed(() => {
|
3369
|
+
return Number(props.scrollThreshold);
|
3370
|
+
});
|
3371
|
+
|
3372
|
+
/**
|
3373
|
+
* 1: at top
|
3374
|
+
* 0: at threshold
|
3375
|
+
*/
|
3376
|
+
const scrollRatio = computed(() => {
|
3377
|
+
return clamp((scrollThreshold.value - currentScroll.value) / scrollThreshold.value || 0);
|
3287
3378
|
});
|
3288
3379
|
const onScroll = () => {
|
3289
3380
|
const targetEl = target.value;
|
@@ -3291,7 +3382,7 @@ function useScroll(props) {
|
|
3291
3382
|
previousScroll = currentScroll.value;
|
3292
3383
|
currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
|
3293
3384
|
isScrollingUp.value = currentScroll.value < previousScroll;
|
3294
|
-
currentThreshold.value = Math.abs(currentScroll.value -
|
3385
|
+
currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
|
3295
3386
|
};
|
3296
3387
|
watch(isScrollingUp, () => {
|
3297
3388
|
savedScroll.value = savedScroll.value || currentScroll.value;
|
@@ -3303,7 +3394,7 @@ function useScroll(props) {
|
|
3303
3394
|
watch(() => props.scrollTarget, scrollTarget => {
|
3304
3395
|
const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window;
|
3305
3396
|
if (!newTarget) {
|
3306
|
-
consoleWarn(`Unable to locate element with identifier ${scrollTarget}
|
3397
|
+
consoleWarn(`Unable to locate element with identifier ${scrollTarget}`);
|
3307
3398
|
return;
|
3308
3399
|
}
|
3309
3400
|
if (newTarget === target.value) return;
|
@@ -3319,15 +3410,6 @@ function useScroll(props) {
|
|
3319
3410
|
onBeforeUnmount(() => {
|
3320
3411
|
target.value?.removeEventListener('scroll', onScroll);
|
3321
3412
|
});
|
3322
|
-
thresholdMetCallback && watch(() => Math.abs(currentScroll.value - savedScroll.value) > computedScrollThreshold.value, thresholdMet => {
|
3323
|
-
thresholdMet && thresholdMetCallback({
|
3324
|
-
currentThreshold: currentThreshold.value,
|
3325
|
-
isScrollingUp: isScrollingUp.value,
|
3326
|
-
savedScroll
|
3327
|
-
});
|
3328
|
-
}, {
|
3329
|
-
immediate: true
|
3330
|
-
});
|
3331
3413
|
|
3332
3414
|
// Do we need this? If yes - seems that
|
3333
3415
|
// there's no need to expose onScroll
|
@@ -3335,10 +3417,11 @@ function useScroll(props) {
|
|
3335
3417
|
immediate: true
|
3336
3418
|
});
|
3337
3419
|
return {
|
3338
|
-
|
3420
|
+
scrollThreshold,
|
3339
3421
|
currentScroll,
|
3340
3422
|
currentThreshold,
|
3341
3423
|
isScrollActive,
|
3424
|
+
scrollRatio,
|
3342
3425
|
// required only for testing
|
3343
3426
|
// probably can be removed
|
3344
3427
|
// later (2 chars chlng)
|
@@ -3421,15 +3504,14 @@ const VAppBar = genericComponent()({
|
|
3421
3504
|
});
|
3422
3505
|
const {
|
3423
3506
|
currentScroll,
|
3424
|
-
|
3425
|
-
|
3426
|
-
|
3507
|
+
scrollThreshold,
|
3508
|
+
isScrollingUp,
|
3509
|
+
scrollRatio
|
3427
3510
|
} = useScroll(props, {
|
3428
3511
|
canScroll
|
3429
3512
|
});
|
3430
|
-
const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ?
|
3431
|
-
const isFlat = computed(() => props.flat || scrollBehavior.value.elevate &&
|
3432
|
-
const scrollRatio = computed(() => Math.min((currentThreshold.value - currentScroll.value) / currentThreshold.value || 1, 1));
|
3513
|
+
const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
|
3514
|
+
const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
|
3433
3515
|
const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
|
3434
3516
|
const height = computed(() => {
|
3435
3517
|
if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;
|
@@ -3438,15 +3520,12 @@ const VAppBar = genericComponent()({
|
|
3438
3520
|
return height + extensionHeight;
|
3439
3521
|
});
|
3440
3522
|
function setActive() {
|
3441
|
-
const val = currentScroll.value;
|
3442
3523
|
if (scrollBehavior.value.hide) {
|
3443
3524
|
if (scrollBehavior.value.inverted) {
|
3444
|
-
isActive.value =
|
3525
|
+
isActive.value = currentScroll.value > scrollThreshold.value;
|
3445
3526
|
} else {
|
3446
|
-
isActive.value = isScrollingUp.value ||
|
3527
|
+
isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
|
3447
3528
|
}
|
3448
|
-
} else if (scrollBehavior.value.inverted) {
|
3449
|
-
isActive.value = currentScroll.value === 0;
|
3450
3529
|
} else {
|
3451
3530
|
isActive.value = true;
|
3452
3531
|
}
|
@@ -3475,13 +3554,13 @@ const VAppBar = genericComponent()({
|
|
3475
3554
|
"ref": vToolbarRef,
|
3476
3555
|
"class": ['v-app-bar', {
|
3477
3556
|
'v-app-bar--bottom': props.location === 'bottom'
|
3478
|
-
}],
|
3479
|
-
"style": {
|
3557
|
+
}, props.class],
|
3558
|
+
"style": [{
|
3480
3559
|
...layoutItemStyles.value,
|
3481
3560
|
'--v-toolbar-image-opacity': opacity.value,
|
3482
3561
|
height: undefined,
|
3483
3562
|
...ssrBootStyles.value
|
3484
|
-
}
|
3563
|
+
}, props.style]
|
3485
3564
|
}, toolbarProps, {
|
3486
3565
|
"collapse": isCollapsed.value,
|
3487
3566
|
"flat": isFlat.value
|
@@ -3568,6 +3647,7 @@ function useVariant(props) {
|
|
3568
3647
|
const makeVBtnGroupProps = propsFactory({
|
3569
3648
|
divided: Boolean,
|
3570
3649
|
...makeBorderProps(),
|
3650
|
+
...makeComponentProps(),
|
3571
3651
|
...makeDensityProps(),
|
3572
3652
|
...makeElevationProps(),
|
3573
3653
|
...makeRoundedProps(),
|
@@ -3610,7 +3690,8 @@ const VBtnGroup = genericComponent()({
|
|
3610
3690
|
return createVNode(props.tag, {
|
3611
3691
|
"class": ['v-btn-group', {
|
3612
3692
|
'v-btn-group--divided': props.divided
|
3613
|
-
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value]
|
3693
|
+
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
3694
|
+
"style": props.style
|
3614
3695
|
}, slots);
|
3615
3696
|
});
|
3616
3697
|
}
|
@@ -3843,8 +3924,10 @@ const VBtnToggle = genericComponent()({
|
|
3843
3924
|
useRender(() => {
|
3844
3925
|
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
3845
3926
|
return createVNode(VBtnGroup, mergeProps({
|
3846
|
-
"class":
|
3847
|
-
}, btnGroupProps
|
3927
|
+
"class": ['v-btn-toggle', props.class]
|
3928
|
+
}, btnGroupProps, {
|
3929
|
+
"style": props.style
|
3930
|
+
}), {
|
3848
3931
|
default: () => [slots.default?.({
|
3849
3932
|
isSelected,
|
3850
3933
|
next,
|
@@ -3915,7 +3998,7 @@ const mdi = {
|
|
3915
3998
|
|
3916
3999
|
// Types
|
3917
4000
|
|
3918
|
-
const IconValue = [String, Function, Object];
|
4001
|
+
const IconValue = [String, Function, Object, Array];
|
3919
4002
|
const IconSymbol = Symbol.for('vuetify:icons');
|
3920
4003
|
const makeIconProps = propsFactory({
|
3921
4004
|
icon: {
|
@@ -3935,8 +4018,9 @@ const VComponentIcon = genericComponent()({
|
|
3935
4018
|
slots
|
3936
4019
|
} = _ref;
|
3937
4020
|
return () => {
|
4021
|
+
const Icon = props.icon;
|
3938
4022
|
return createVNode(props.tag, null, {
|
3939
|
-
default: () => [props.icon ? createVNode(
|
4023
|
+
default: () => [props.icon ? createVNode(Icon, null, null) : slots.default?.()]
|
3940
4024
|
});
|
3941
4025
|
};
|
3942
4026
|
}
|
@@ -3959,7 +4043,12 @@ const VSvgIcon = defineComponent({
|
|
3959
4043
|
"viewBox": "0 0 24 24",
|
3960
4044
|
"role": "img",
|
3961
4045
|
"aria-hidden": "true"
|
3962
|
-
}, [createVNode("path", {
|
4046
|
+
}, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createVNode("path", {
|
4047
|
+
"d": path[0],
|
4048
|
+
"fill-opacity": path[1]
|
4049
|
+
}, null) : createVNode("path", {
|
4050
|
+
"d": path
|
4051
|
+
}, null)) : createVNode("path", {
|
3963
4052
|
"d": props.icon
|
3964
4053
|
}, null)])]
|
3965
4054
|
});
|
@@ -4024,7 +4113,12 @@ const useIcon = props => {
|
|
4024
4113
|
}
|
4025
4114
|
}
|
4026
4115
|
if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`);
|
4027
|
-
if (
|
4116
|
+
if (Array.isArray(icon)) {
|
4117
|
+
return {
|
4118
|
+
component: VSvgIcon,
|
4119
|
+
icon
|
4120
|
+
};
|
4121
|
+
} else if (typeof icon !== 'string') {
|
4028
4122
|
return {
|
4029
4123
|
component: VComponentIcon,
|
4030
4124
|
icon
|
@@ -4081,6 +4175,7 @@ const makeVIconProps = propsFactory({
|
|
4081
4175
|
start: Boolean,
|
4082
4176
|
end: Boolean,
|
4083
4177
|
icon: IconValue,
|
4178
|
+
...makeComponentProps(),
|
4084
4179
|
...makeSizeProps(),
|
4085
4180
|
...makeTagProps({
|
4086
4181
|
tag: 'i'
|
@@ -4123,12 +4218,12 @@ const VIcon = genericComponent()({
|
|
4123
4218
|
'v-icon--clickable': !!attrs.onClick,
|
4124
4219
|
'v-icon--start': props.start,
|
4125
4220
|
'v-icon--end': props.end
|
4126
|
-
}],
|
4221
|
+
}, props.class],
|
4127
4222
|
"style": [!sizeClasses.value ? {
|
4128
4223
|
fontSize: convertToUnit(props.size),
|
4129
4224
|
height: convertToUnit(props.size),
|
4130
4225
|
width: convertToUnit(props.size)
|
4131
|
-
} : undefined, textColorStyles.value],
|
4226
|
+
} : undefined, textColorStyles.value, props.style],
|
4132
4227
|
"role": attrs.onClick ? 'button' : undefined,
|
4133
4228
|
"aria-hidden": !attrs.onClick
|
4134
4229
|
}, {
|
@@ -4186,6 +4281,7 @@ const VProgressCircular = genericComponent()({
|
|
4186
4281
|
type: [Number, String],
|
4187
4282
|
default: 4
|
4188
4283
|
},
|
4284
|
+
...makeComponentProps(),
|
4189
4285
|
...makeSizeProps(),
|
4190
4286
|
...makeTagProps({
|
4191
4287
|
tag: 'div'
|
@@ -4241,8 +4337,8 @@ const VProgressCircular = genericComponent()({
|
|
4241
4337
|
'v-progress-circular--indeterminate': !!props.indeterminate,
|
4242
4338
|
'v-progress-circular--visible': isIntersecting.value,
|
4243
4339
|
'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
|
4244
|
-
}, themeClasses.value, sizeClasses.value, textColorClasses.value],
|
4245
|
-
"style": [sizeStyles.value, textColorStyles.value],
|
4340
|
+
}, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
|
4341
|
+
"style": [sizeStyles.value, textColorStyles.value, props.style],
|
4246
4342
|
"role": "progressbar",
|
4247
4343
|
"aria-valuemin": "0",
|
4248
4344
|
"aria-valuemax": "100",
|
@@ -4661,6 +4757,7 @@ const VProgressLinear = genericComponent()({
|
|
4661
4757
|
stream: Boolean,
|
4662
4758
|
striped: Boolean,
|
4663
4759
|
roundedBar: Boolean,
|
4760
|
+
...makeComponentProps(),
|
4664
4761
|
...makeLocationProps({
|
4665
4762
|
location: 'top'
|
4666
4763
|
}),
|
@@ -4732,14 +4829,14 @@ const VProgressLinear = genericComponent()({
|
|
4732
4829
|
'v-progress-linear--rounded': props.rounded,
|
4733
4830
|
'v-progress-linear--rounded-bar': props.roundedBar,
|
4734
4831
|
'v-progress-linear--striped': props.striped
|
4735
|
-
}, roundedClasses.value, themeClasses.value],
|
4736
|
-
"style": {
|
4832
|
+
}, roundedClasses.value, themeClasses.value, props.class],
|
4833
|
+
"style": [{
|
4737
4834
|
bottom: props.location === 'bottom' ? 0 : undefined,
|
4738
4835
|
top: props.location === 'top' ? 0 : undefined,
|
4739
4836
|
height: props.active ? convertToUnit(height.value) : 0,
|
4740
4837
|
'--v-progress-linear-height': convertToUnit(height.value),
|
4741
4838
|
...locationStyles.value
|
4742
|
-
},
|
4839
|
+
}, props.style],
|
4743
4840
|
"role": "progressbar",
|
4744
4841
|
"aria-hidden": props.active ? 'false' : 'true',
|
4745
4842
|
"aria-valuemin": "0",
|
@@ -4950,7 +5047,7 @@ const makeVBtnProps = propsFactory({
|
|
4950
5047
|
},
|
4951
5048
|
text: String,
|
4952
5049
|
...makeBorderProps(),
|
4953
|
-
...
|
5050
|
+
...makeComponentProps(),
|
4954
5051
|
...makeDensityProps(),
|
4955
5052
|
...makeDimensionProps(),
|
4956
5053
|
...makeElevationProps(),
|
@@ -4958,6 +5055,7 @@ const makeVBtnProps = propsFactory({
|
|
4958
5055
|
...makeLoaderProps(),
|
4959
5056
|
...makeLocationProps(),
|
4960
5057
|
...makePositionProps(),
|
5058
|
+
...makeRoundedProps(),
|
4961
5059
|
...makeRouterProps(),
|
4962
5060
|
...makeSizeProps(),
|
4963
5061
|
...makeTagProps({
|
@@ -4967,7 +5065,7 @@ const makeVBtnProps = propsFactory({
|
|
4967
5065
|
...makeVariantProps({
|
4968
5066
|
variant: 'elevated'
|
4969
5067
|
})
|
4970
|
-
}, '
|
5068
|
+
}, 'v-btn');
|
4971
5069
|
const VBtn = genericComponent()({
|
4972
5070
|
name: 'VBtn',
|
4973
5071
|
directives: {
|
@@ -5037,6 +5135,11 @@ const VBtn = genericComponent()({
|
|
5037
5135
|
if (props.value === undefined) return undefined;
|
5038
5136
|
return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;
|
5039
5137
|
});
|
5138
|
+
function onClick(e) {
|
5139
|
+
if (isDisabled.value) return;
|
5140
|
+
link.navigate?.(e);
|
5141
|
+
group?.toggle();
|
5142
|
+
}
|
5040
5143
|
useSelectLink(link, group?.select);
|
5041
5144
|
useRender(() => {
|
5042
5145
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
@@ -5055,15 +5158,11 @@ const VBtn = genericComponent()({
|
|
5055
5158
|
'v-btn--icon': !!props.icon,
|
5056
5159
|
'v-btn--loading': props.loading,
|
5057
5160
|
'v-btn--stacked': props.stacked
|
5058
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
5059
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value],
|
5161
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
5162
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
5060
5163
|
"disabled": isDisabled.value || undefined,
|
5061
5164
|
"href": link.href.value,
|
5062
|
-
"onClick":
|
5063
|
-
if (isDisabled.value) return;
|
5064
|
-
link.navigate?.(e);
|
5065
|
-
group?.toggle();
|
5066
|
-
},
|
5165
|
+
"onClick": onClick,
|
5067
5166
|
"value": valueAttr.value
|
5068
5167
|
}, {
|
5069
5168
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createVNode("span", {
|
@@ -5129,29 +5228,29 @@ const VBtn = genericComponent()({
|
|
5129
5228
|
|
5130
5229
|
const VAppBarNavIcon = genericComponent()({
|
5131
5230
|
name: 'VAppBarNavIcon',
|
5132
|
-
props: {
|
5133
|
-
icon:
|
5134
|
-
|
5135
|
-
|
5136
|
-
}
|
5137
|
-
},
|
5231
|
+
props: makeVBtnProps({
|
5232
|
+
icon: '$menu',
|
5233
|
+
variant: 'text'
|
5234
|
+
}),
|
5138
5235
|
setup(props, _ref) {
|
5139
5236
|
let {
|
5140
5237
|
slots
|
5141
5238
|
} = _ref;
|
5142
|
-
useRender(() => createVNode(VBtn, {
|
5143
|
-
"class":
|
5144
|
-
|
5145
|
-
}, slots));
|
5239
|
+
useRender(() => createVNode(VBtn, mergeProps(props, {
|
5240
|
+
"class": ['v-app-bar-nav-icon']
|
5241
|
+
}), slots));
|
5146
5242
|
return {};
|
5147
5243
|
}
|
5148
5244
|
});
|
5149
5245
|
|
5150
5246
|
const VToolbarItems = genericComponent()({
|
5151
5247
|
name: 'VToolbarItems',
|
5152
|
-
props:
|
5153
|
-
|
5154
|
-
|
5248
|
+
props: {
|
5249
|
+
...makeComponentProps(),
|
5250
|
+
...makeVariantProps({
|
5251
|
+
variant: 'text'
|
5252
|
+
})
|
5253
|
+
},
|
5155
5254
|
setup(props, _ref) {
|
5156
5255
|
let {
|
5157
5256
|
slots
|
@@ -5164,7 +5263,8 @@ const VToolbarItems = genericComponent()({
|
|
5164
5263
|
}
|
5165
5264
|
});
|
5166
5265
|
useRender(() => createVNode("div", {
|
5167
|
-
"class":
|
5266
|
+
"class": ['v-toolbar-items', props.class],
|
5267
|
+
"style": props.style
|
5168
5268
|
}, [slots.default?.()]));
|
5169
5269
|
return {};
|
5170
5270
|
}
|
@@ -5226,6 +5326,7 @@ const VAlert = genericComponent()({
|
|
5226
5326
|
type: String,
|
5227
5327
|
validator: val => allowedTypes.includes(val)
|
5228
5328
|
},
|
5329
|
+
...makeComponentProps(),
|
5229
5330
|
...makeDensityProps(),
|
5230
5331
|
...makeDimensionProps(),
|
5231
5332
|
...makeElevationProps(),
|
@@ -5308,8 +5409,8 @@ const VAlert = genericComponent()({
|
|
5308
5409
|
[`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
|
5309
5410
|
}, {
|
5310
5411
|
'v-alert--prominent': props.prominent
|
5311
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
5312
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
5412
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
5413
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
5313
5414
|
"role": "alert"
|
5314
5415
|
}, {
|
5315
5416
|
default: () => [genOverlays(false, 'v-alert'), props.border && createVNode("div", {
|
@@ -5403,6 +5504,7 @@ const VLabel = genericComponent()({
|
|
5403
5504
|
props: {
|
5404
5505
|
text: String,
|
5405
5506
|
clickable: Boolean,
|
5507
|
+
...makeComponentProps(),
|
5406
5508
|
...makeThemeProps()
|
5407
5509
|
},
|
5408
5510
|
setup(props, _ref) {
|
@@ -5412,7 +5514,8 @@ const VLabel = genericComponent()({
|
|
5412
5514
|
useRender(() => createVNode("label", {
|
5413
5515
|
"class": ['v-label', {
|
5414
5516
|
'v-label--clickable': props.clickable
|
5415
|
-
}]
|
5517
|
+
}, props.class],
|
5518
|
+
"style": props.style
|
5416
5519
|
}, [props.text, slots.default?.()]));
|
5417
5520
|
return {};
|
5418
5521
|
}
|
@@ -5421,7 +5524,8 @@ const VLabel = genericComponent()({
|
|
5421
5524
|
const VFieldLabel = genericComponent()({
|
5422
5525
|
name: 'VFieldLabel',
|
5423
5526
|
props: {
|
5424
|
-
floating: Boolean
|
5527
|
+
floating: Boolean,
|
5528
|
+
...makeComponentProps()
|
5425
5529
|
},
|
5426
5530
|
setup(props, _ref) {
|
5427
5531
|
let {
|
@@ -5430,7 +5534,8 @@ const VFieldLabel = genericComponent()({
|
|
5430
5534
|
useRender(() => createVNode(VLabel, {
|
5431
5535
|
"class": ['v-field-label', {
|
5432
5536
|
'v-field-label--floating': props.floating
|
5433
|
-
}],
|
5537
|
+
}, props.class],
|
5538
|
+
"style": props.style,
|
5434
5539
|
"aria-hidden": props.floating || undefined
|
5435
5540
|
}, slots));
|
5436
5541
|
return {};
|
@@ -5481,6 +5586,7 @@ const makeVFieldProps = propsFactory({
|
|
5481
5586
|
},
|
5482
5587
|
active: Boolean,
|
5483
5588
|
color: String,
|
5589
|
+
baseColor: String,
|
5484
5590
|
dirty: Boolean,
|
5485
5591
|
disabled: Boolean,
|
5486
5592
|
error: Boolean,
|
@@ -5498,9 +5604,10 @@ const makeVFieldProps = propsFactory({
|
|
5498
5604
|
'onClick:clear': EventProp(),
|
5499
5605
|
'onClick:appendInner': EventProp(),
|
5500
5606
|
'onClick:prependInner': EventProp(),
|
5501
|
-
...
|
5607
|
+
...makeComponentProps(),
|
5502
5608
|
...makeLoaderProps(),
|
5503
|
-
...makeRoundedProps()
|
5609
|
+
...makeRoundedProps(),
|
5610
|
+
...makeThemeProps()
|
5504
5611
|
}, 'v-field');
|
5505
5612
|
const VField = genericComponent()({
|
5506
5613
|
name: 'VField',
|
@@ -5554,7 +5661,7 @@ const VField = genericComponent()({
|
|
5554
5661
|
textColorClasses,
|
5555
5662
|
textColorStyles
|
5556
5663
|
} = useTextColor(computed(() => {
|
5557
|
-
return
|
5664
|
+
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
5558
5665
|
}));
|
5559
5666
|
watch(isActive, val => {
|
5560
5667
|
if (hasLabel.value) {
|
@@ -5631,8 +5738,8 @@ const VField = genericComponent()({
|
|
5631
5738
|
'v-field--single-line': props.singleLine,
|
5632
5739
|
'v-field--no-label': !label,
|
5633
5740
|
[`v-field--variant-${props.variant}`]: true
|
5634
|
-
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value],
|
5635
|
-
"style": [backgroundColorStyles.value, textColorStyles.value],
|
5741
|
+
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, props.class],
|
5742
|
+
"style": [backgroundColorStyles.value, textColorStyles.value, props.style],
|
5636
5743
|
"onClick": onClick
|
5637
5744
|
}, attrs), [createVNode("div", {
|
5638
5745
|
"class": "v-field__overlay"
|
@@ -5720,7 +5827,7 @@ const VField = genericComponent()({
|
|
5720
5827
|
});
|
5721
5828
|
// TODO: this is kinda slow, might be better to implicitly inherit props instead
|
5722
5829
|
function filterFieldProps(attrs) {
|
5723
|
-
const keys = Object.keys(VField.props).filter(k => !isOn(k));
|
5830
|
+
const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');
|
5724
5831
|
return pick(attrs, keys);
|
5725
5832
|
}
|
5726
5833
|
|
@@ -5735,6 +5842,7 @@ const VMessages = genericComponent()({
|
|
5735
5842
|
type: [Array, String],
|
5736
5843
|
default: () => []
|
5737
5844
|
},
|
5845
|
+
...makeComponentProps(),
|
5738
5846
|
...makeTransitionProps({
|
5739
5847
|
transition: {
|
5740
5848
|
component: VSlideYTransition,
|
@@ -5755,8 +5863,8 @@ const VMessages = genericComponent()({
|
|
5755
5863
|
useRender(() => createVNode(MaybeTransition, {
|
5756
5864
|
"transition": props.transition,
|
5757
5865
|
"tag": "div",
|
5758
|
-
"class": ['v-messages', textColorClasses.value],
|
5759
|
-
"style": textColorStyles.value,
|
5866
|
+
"class": ['v-messages', textColorClasses.value, props.class],
|
5867
|
+
"style": [textColorStyles.value, props.style],
|
5760
5868
|
"role": "alert",
|
5761
5869
|
"aria-live": "polite"
|
5762
5870
|
}, {
|
@@ -6052,6 +6160,7 @@ const makeVInputProps = propsFactory({
|
|
6052
6160
|
},
|
6053
6161
|
'onClick:prepend': EventProp(),
|
6054
6162
|
'onClick:append': EventProp(),
|
6163
|
+
...makeComponentProps(),
|
6055
6164
|
...makeDensityProps(),
|
6056
6165
|
...makeValidationProps()
|
6057
6166
|
}, 'v-input');
|
@@ -6119,7 +6228,8 @@ const VInput = genericComponent()({
|
|
6119
6228
|
const hasMessages = messages.value.length > 0;
|
6120
6229
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
6121
6230
|
return createVNode("div", {
|
6122
|
-
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
|
6231
|
+
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value, props.class],
|
6232
|
+
"style": props.style
|
6123
6233
|
}, [hasPrepend && createVNode("div", {
|
6124
6234
|
"key": "prepend",
|
6125
6235
|
"class": "v-input__prepend"
|
@@ -6162,6 +6272,7 @@ const VCounter = genericComponent()({
|
|
6162
6272
|
type: [Number, String],
|
6163
6273
|
default: 0
|
6164
6274
|
},
|
6275
|
+
...makeComponentProps(),
|
6165
6276
|
...makeTransitionProps({
|
6166
6277
|
transition: {
|
6167
6278
|
component: VSlideYTransition
|
@@ -6179,7 +6290,8 @@ const VCounter = genericComponent()({
|
|
6179
6290
|
"transition": props.transition
|
6180
6291
|
}, {
|
6181
6292
|
default: () => [withDirectives(createVNode("div", {
|
6182
|
-
"class":
|
6293
|
+
"class": ['v-counter', props.class],
|
6294
|
+
"style": props.style
|
6183
6295
|
}, [slots.default ? slots.default({
|
6184
6296
|
counter: counter.value,
|
6185
6297
|
max: props.max,
|
@@ -6329,7 +6441,7 @@ const VTextField = genericComponent()({
|
|
6329
6441
|
const vInputRef = ref();
|
6330
6442
|
const vFieldRef = ref();
|
6331
6443
|
const inputRef = ref();
|
6332
|
-
const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value);
|
6444
|
+
const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);
|
6333
6445
|
function onFocus() {
|
6334
6446
|
if (inputRef.value !== document.activeElement) {
|
6335
6447
|
inputRef.value?.focus();
|
@@ -6382,7 +6494,8 @@ const VTextField = genericComponent()({
|
|
6382
6494
|
'v-text-field--prefixed': props.prefix,
|
6383
6495
|
'v-text-field--suffixed': props.suffix,
|
6384
6496
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
6385
|
-
}]
|
6497
|
+
}, props.class],
|
6498
|
+
"style": props.style
|
6386
6499
|
}, rootAttrs, inputProps, {
|
6387
6500
|
"focused": isFocused.value
|
6388
6501
|
}), {
|
@@ -6498,6 +6611,7 @@ const VSelectionControlGroup = genericComponent()({
|
|
6498
6611
|
type: String,
|
6499
6612
|
default: 'VSelectionControl'
|
6500
6613
|
},
|
6614
|
+
...makeComponentProps(),
|
6501
6615
|
...makeSelectionControlGroupProps()
|
6502
6616
|
},
|
6503
6617
|
emits: {
|
@@ -6545,7 +6659,8 @@ const VSelectionControlGroup = genericComponent()({
|
|
6545
6659
|
useRender(() => createVNode("div", {
|
6546
6660
|
"class": ['v-selection-control-group', {
|
6547
6661
|
'v-selection-control-group--inline': props.inline
|
6548
|
-
}],
|
6662
|
+
}, props.class],
|
6663
|
+
"style": props.style,
|
6549
6664
|
"role": props.type === 'radio' ? 'radiogroup' : undefined
|
6550
6665
|
}, [slots.default?.()]));
|
6551
6666
|
return {};
|
@@ -6559,6 +6674,7 @@ const makeSelectionControlProps = propsFactory({
|
|
6559
6674
|
trueValue: null,
|
6560
6675
|
falseValue: null,
|
6561
6676
|
value: null,
|
6677
|
+
...makeComponentProps(),
|
6562
6678
|
...makeSelectionControlGroupProps()
|
6563
6679
|
}, 'v-selection-control');
|
6564
6680
|
function useSelectionControl(props) {
|
@@ -6673,8 +6789,10 @@ const VSelectionControl = genericComponent()({
|
|
6673
6789
|
'v-selection-control--focused': isFocused.value,
|
6674
6790
|
'v-selection-control--focus-visible': isFocusVisible.value,
|
6675
6791
|
'v-selection-control--inline': props.inline
|
6676
|
-
}, densityClasses.value]
|
6677
|
-
}, rootAttrs
|
6792
|
+
}, densityClasses.value, props.class]
|
6793
|
+
}, rootAttrs, {
|
6794
|
+
"style": props.style
|
6795
|
+
}), [createVNode("div", {
|
6678
6796
|
"class": ['v-selection-control__wrapper', textColorClasses.value],
|
6679
6797
|
"style": textColorStyles.value
|
6680
6798
|
}, [slots.default?.(), withDirectives(createVNode("div", {
|
@@ -6756,9 +6874,9 @@ const VCheckboxBtn = genericComponent()({
|
|
6756
6874
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
6757
6875
|
"modelValue": model.value,
|
6758
6876
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
6759
|
-
"class":
|
6877
|
+
"class": ['v-checkbox-btn', props.class],
|
6878
|
+
"style": props.style,
|
6760
6879
|
"type": "checkbox",
|
6761
|
-
"inline": true,
|
6762
6880
|
"falseIcon": falseIcon.value,
|
6763
6881
|
"trueIcon": trueIcon.value,
|
6764
6882
|
"aria-checked": props.indeterminate ? 'mixed' : undefined
|
@@ -6796,10 +6914,11 @@ const VCheckbox = genericComponent()({
|
|
6796
6914
|
const [inputProps, _1] = VInput.filterProps(props);
|
6797
6915
|
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
6798
6916
|
return createVNode(VInput, mergeProps({
|
6799
|
-
"class":
|
6917
|
+
"class": ['v-checkbox', props.class]
|
6800
6918
|
}, inputAttrs, inputProps, {
|
6801
6919
|
"id": id.value,
|
6802
|
-
"focused": isFocused.value
|
6920
|
+
"focused": isFocused.value,
|
6921
|
+
"style": props.style
|
6803
6922
|
}), {
|
6804
6923
|
...slots,
|
6805
6924
|
default: _ref2 => {
|
@@ -6830,6 +6949,7 @@ const makeVAvatarProps = propsFactory({
|
|
6830
6949
|
end: Boolean,
|
6831
6950
|
icon: IconValue,
|
6832
6951
|
image: String,
|
6952
|
+
...makeComponentProps(),
|
6833
6953
|
...makeDensityProps(),
|
6834
6954
|
...makeRoundedProps(),
|
6835
6955
|
...makeSizeProps(),
|
@@ -6868,8 +6988,8 @@ const VAvatar = genericComponent()({
|
|
6868
6988
|
"class": ['v-avatar', {
|
6869
6989
|
'v-avatar--start': props.start,
|
6870
6990
|
'v-avatar--end': props.end
|
6871
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
6872
|
-
"style": [colorStyles.value, sizeStyles.value]
|
6991
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
6992
|
+
"style": [colorStyles.value, sizeStyles.value, props.style]
|
6873
6993
|
}, {
|
6874
6994
|
default: () => [props.image ? createVNode(VImg, {
|
6875
6995
|
"key": "image",
|
@@ -6897,6 +7017,7 @@ const VChipGroup = genericComponent()({
|
|
6897
7017
|
type: Function,
|
6898
7018
|
default: deepEqual
|
6899
7019
|
},
|
7020
|
+
...makeComponentProps(),
|
6900
7021
|
...makeGroupProps({
|
6901
7022
|
selectedClass: 'v-chip--selected'
|
6902
7023
|
}),
|
@@ -6934,7 +7055,8 @@ const VChipGroup = genericComponent()({
|
|
6934
7055
|
useRender(() => createVNode(props.tag, {
|
6935
7056
|
"class": ['v-chip-group', {
|
6936
7057
|
'v-chip-group--column': props.column
|
6937
|
-
}, themeClasses.value]
|
7058
|
+
}, themeClasses.value, props.class],
|
7059
|
+
"style": props.style
|
6938
7060
|
}, {
|
6939
7061
|
default: () => [slots.default?.({
|
6940
7062
|
isSelected,
|
@@ -6948,8 +7070,6 @@ const VChipGroup = genericComponent()({
|
|
6948
7070
|
}
|
6949
7071
|
});
|
6950
7072
|
|
6951
|
-
// Types
|
6952
|
-
|
6953
7073
|
const VChip = genericComponent()({
|
6954
7074
|
name: 'VChip',
|
6955
7075
|
directives: {
|
@@ -6994,6 +7114,7 @@ const VChip = genericComponent()({
|
|
6994
7114
|
onClick: EventProp(),
|
6995
7115
|
onClickOnce: EventProp(),
|
6996
7116
|
...makeBorderProps(),
|
7117
|
+
...makeComponentProps(),
|
6997
7118
|
...makeDensityProps(),
|
6998
7119
|
...makeElevationProps(),
|
6999
7120
|
...makeGroupItemProps(),
|
@@ -7086,8 +7207,8 @@ const VChip = genericComponent()({
|
|
7086
7207
|
'v-chip--link': isClickable.value,
|
7087
7208
|
'v-chip--filter': hasFilter,
|
7088
7209
|
'v-chip--pill': props.pill
|
7089
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value],
|
7090
|
-
"style": [hasColor ? colorStyles.value : undefined],
|
7210
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
|
7211
|
+
"style": [hasColor ? colorStyles.value : undefined, props.style],
|
7091
7212
|
"disabled": props.disabled || undefined,
|
7092
7213
|
"draggable": props.draggable,
|
7093
7214
|
"href": link.href.value,
|
@@ -7196,6 +7317,7 @@ const VDivider = genericComponent()({
|
|
7196
7317
|
length: [Number, String],
|
7197
7318
|
thickness: [Number, String],
|
7198
7319
|
vertical: Boolean,
|
7320
|
+
...makeComponentProps(),
|
7199
7321
|
...makeThemeProps()
|
7200
7322
|
},
|
7201
7323
|
setup(props, _ref) {
|
@@ -7224,8 +7346,8 @@ const VDivider = genericComponent()({
|
|
7224
7346
|
'v-divider': true,
|
7225
7347
|
'v-divider--inset': props.inset,
|
7226
7348
|
'v-divider--vertical': props.vertical
|
7227
|
-
}, themeClasses.value, textColorClasses.value],
|
7228
|
-
"style": [dividerStyles.value, textColorStyles.value],
|
7349
|
+
}, themeClasses.value, textColorClasses.value, props.class],
|
7350
|
+
"style": [dividerStyles.value, textColorStyles.value, props.style],
|
7229
7351
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
7230
7352
|
"role": `${attrs.role || 'separator'}`
|
7231
7353
|
}, null));
|
@@ -7709,7 +7831,9 @@ const VListGroupActivator = defineComponent({
|
|
7709
7831
|
}
|
7710
7832
|
});
|
7711
7833
|
const makeVListGroupProps = propsFactory({
|
7834
|
+
/* @deprecated */
|
7712
7835
|
activeColor: String,
|
7836
|
+
baseColor: String,
|
7713
7837
|
color: String,
|
7714
7838
|
collapseIcon: {
|
7715
7839
|
type: IconValue,
|
@@ -7724,6 +7848,7 @@ const makeVListGroupProps = propsFactory({
|
|
7724
7848
|
fluid: Boolean,
|
7725
7849
|
subgroup: Boolean,
|
7726
7850
|
value: null,
|
7851
|
+
...makeComponentProps(),
|
7727
7852
|
...makeTagProps()
|
7728
7853
|
}, 'v-list-group');
|
7729
7854
|
const VListGroup = genericComponent()({
|
@@ -7759,6 +7884,7 @@ const VListGroup = genericComponent()({
|
|
7759
7884
|
VListItem: {
|
7760
7885
|
active: isOpen.value,
|
7761
7886
|
activeColor: props.activeColor,
|
7887
|
+
baseColor: props.baseColor,
|
7762
7888
|
color: props.color,
|
7763
7889
|
prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
|
7764
7890
|
appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
|
@@ -7772,7 +7898,8 @@ const VListGroup = genericComponent()({
|
|
7772
7898
|
'v-list-group--fluid': props.fluid,
|
7773
7899
|
'v-list-group--subgroup': props.subgroup,
|
7774
7900
|
'v-list-group--open': isOpen.value
|
7775
|
-
}]
|
7901
|
+
}, props.class],
|
7902
|
+
"style": props.style
|
7776
7903
|
}, {
|
7777
7904
|
default: () => [slots.activator && createVNode(VDefaultsProvider, {
|
7778
7905
|
"defaults": activatorDefaults.value
|
@@ -7817,9 +7944,11 @@ const VListItem = genericComponent()({
|
|
7817
7944
|
default: undefined
|
7818
7945
|
},
|
7819
7946
|
activeClass: String,
|
7947
|
+
/* @deprecated */
|
7820
7948
|
activeColor: String,
|
7821
7949
|
appendAvatar: String,
|
7822
7950
|
appendIcon: IconValue,
|
7951
|
+
baseColor: String,
|
7823
7952
|
disabled: Boolean,
|
7824
7953
|
lines: String,
|
7825
7954
|
link: {
|
@@ -7839,6 +7968,7 @@ const VListItem = genericComponent()({
|
|
7839
7968
|
onClick: EventProp(),
|
7840
7969
|
onClickOnce: EventProp(),
|
7841
7970
|
...makeBorderProps(),
|
7971
|
+
...makeComponentProps(),
|
7842
7972
|
...makeDensityProps(),
|
7843
7973
|
...makeDimensionProps(),
|
7844
7974
|
...makeElevationProps(),
|
@@ -7875,8 +8005,9 @@ const VListItem = genericComponent()({
|
|
7875
8005
|
const isLink = computed(() => props.link !== false && link.isLink.value);
|
7876
8006
|
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!list));
|
7877
8007
|
const roundedProps = computed(() => props.rounded || props.nav);
|
8008
|
+
const color = computed(() => props.color ?? props.activeColor);
|
7878
8009
|
const variantProps = computed(() => ({
|
7879
|
-
color: isActive.value ?
|
8010
|
+
color: isActive.value ? color.value ?? props.baseColor : props.baseColor,
|
7880
8011
|
variant: props.variant
|
7881
8012
|
}));
|
7882
8013
|
watch(() => link.isActive?.value, val => {
|
@@ -7933,7 +8064,6 @@ const VListItem = genericComponent()({
|
|
7933
8064
|
}
|
7934
8065
|
useRender(() => {
|
7935
8066
|
const Tag = isLink.value ? 'a' : props.tag;
|
7936
|
-
const hasColor = !list || isSelected.value || isActive.value;
|
7937
8067
|
const hasTitle = slots.title || props.title;
|
7938
8068
|
const hasSubtitle = slots.subtitle || props.subtitle;
|
7939
8069
|
const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);
|
@@ -7941,6 +8071,9 @@ const VListItem = genericComponent()({
|
|
7941
8071
|
const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
|
7942
8072
|
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
7943
8073
|
list?.updateHasPrepend(hasPrepend);
|
8074
|
+
if (props.activeColor) {
|
8075
|
+
deprecate('active-color', ['color', 'base-color']);
|
8076
|
+
}
|
7944
8077
|
return withDirectives(createVNode(Tag, {
|
7945
8078
|
"class": ['v-list-item', {
|
7946
8079
|
'v-list-item--active': isActive.value,
|
@@ -7949,8 +8082,8 @@ const VListItem = genericComponent()({
|
|
7949
8082
|
'v-list-item--nav': props.nav,
|
7950
8083
|
'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,
|
7951
8084
|
[`${props.activeClass}`]: props.activeClass && isActive.value
|
7952
|
-
}, themeClasses.value, borderClasses.value,
|
7953
|
-
"style": [
|
8085
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
8086
|
+
"style": [colorStyles.value, dimensionStyles.value, props.style],
|
7954
8087
|
"href": link.href.value,
|
7955
8088
|
"tabindex": isClickable.value ? 0 : undefined,
|
7956
8089
|
"onClick": onClick,
|
@@ -8043,6 +8176,7 @@ const VListSubheader = genericComponent()({
|
|
8043
8176
|
inset: Boolean,
|
8044
8177
|
sticky: Boolean,
|
8045
8178
|
title: String,
|
8179
|
+
...makeComponentProps(),
|
8046
8180
|
...makeTagProps()
|
8047
8181
|
},
|
8048
8182
|
setup(props, _ref) {
|
@@ -8059,10 +8193,10 @@ const VListSubheader = genericComponent()({
|
|
8059
8193
|
"class": ['v-list-subheader', {
|
8060
8194
|
'v-list-subheader--inset': props.inset,
|
8061
8195
|
'v-list-subheader--sticky': props.sticky
|
8062
|
-
}, textColorClasses.value],
|
8063
|
-
"style": {
|
8196
|
+
}, textColorClasses.value, props.class],
|
8197
|
+
"style": [{
|
8064
8198
|
textColorStyles
|
8065
|
-
}
|
8199
|
+
}, props.style]
|
8066
8200
|
}, {
|
8067
8201
|
default: () => [hasText && createVNode("div", {
|
8068
8202
|
"class": "v-list-subheader__text"
|
@@ -8268,6 +8402,8 @@ function useListItems(props) {
|
|
8268
8402
|
const VList = genericComponent()({
|
8269
8403
|
name: 'VList',
|
8270
8404
|
props: {
|
8405
|
+
baseColor: String,
|
8406
|
+
/* @deprecated */
|
8271
8407
|
activeColor: String,
|
8272
8408
|
activeClass: String,
|
8273
8409
|
bgColor: String,
|
@@ -8282,6 +8418,7 @@ const VList = genericComponent()({
|
|
8282
8418
|
openStrategy: 'list'
|
8283
8419
|
}),
|
8284
8420
|
...makeBorderProps(),
|
8421
|
+
...makeComponentProps(),
|
8285
8422
|
...makeDensityProps(),
|
8286
8423
|
...makeDimensionProps(),
|
8287
8424
|
...makeElevationProps(),
|
@@ -8338,16 +8475,19 @@ const VList = genericComponent()({
|
|
8338
8475
|
} = useNested(props);
|
8339
8476
|
const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined);
|
8340
8477
|
const activeColor = toRef(props, 'activeColor');
|
8478
|
+
const baseColor = toRef(props, 'baseColor');
|
8341
8479
|
const color = toRef(props, 'color');
|
8342
8480
|
createList();
|
8343
8481
|
provideDefaults({
|
8344
8482
|
VListGroup: {
|
8345
8483
|
activeColor,
|
8484
|
+
baseColor,
|
8346
8485
|
color
|
8347
8486
|
},
|
8348
8487
|
VListItem: {
|
8349
8488
|
activeClass: toRef(props, 'activeClass'),
|
8350
8489
|
activeColor,
|
8490
|
+
baseColor,
|
8351
8491
|
color,
|
8352
8492
|
density: toRef(props, 'density'),
|
8353
8493
|
disabled: toRef(props, 'disabled'),
|
@@ -8383,27 +8523,8 @@ const VList = genericComponent()({
|
|
8383
8523
|
e.preventDefault();
|
8384
8524
|
}
|
8385
8525
|
function focus(location) {
|
8386
|
-
if (
|
8387
|
-
|
8388
|
-
const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
|
8389
|
-
const idx = focusable.indexOf(document.activeElement);
|
8390
|
-
if (!location) {
|
8391
|
-
if (!contentRef.value.contains(document.activeElement)) {
|
8392
|
-
focusable[0]?.focus();
|
8393
|
-
}
|
8394
|
-
} else if (location === 'first') {
|
8395
|
-
focusable[0]?.focus();
|
8396
|
-
} else if (location === 'last') {
|
8397
|
-
focusable.at(-1)?.focus();
|
8398
|
-
} else {
|
8399
|
-
let el;
|
8400
|
-
let idxx = idx;
|
8401
|
-
const inc = location === 'next' ? 1 : -1;
|
8402
|
-
do {
|
8403
|
-
idxx += inc;
|
8404
|
-
el = focusable[idxx];
|
8405
|
-
} while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
8406
|
-
if (el) el.focus();else focus(location === 'next' ? 'first' : 'last');
|
8526
|
+
if (contentRef.value) {
|
8527
|
+
return focusChild(contentRef.value, location);
|
8407
8528
|
}
|
8408
8529
|
}
|
8409
8530
|
useRender(() => {
|
@@ -8412,8 +8533,8 @@ const VList = genericComponent()({
|
|
8412
8533
|
"class": ['v-list', {
|
8413
8534
|
'v-list--disabled': props.disabled,
|
8414
8535
|
'v-list--nav': props.nav
|
8415
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value],
|
8416
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value],
|
8536
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
|
8537
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
8417
8538
|
"role": "listbox",
|
8418
8539
|
"aria-activedescendant": undefined,
|
8419
8540
|
"onFocusin": onFocusin,
|
@@ -8441,6 +8562,7 @@ const VListItemAction = genericComponent()({
|
|
8441
8562
|
props: {
|
8442
8563
|
start: Boolean,
|
8443
8564
|
end: Boolean,
|
8565
|
+
...makeComponentProps(),
|
8444
8566
|
...makeTagProps()
|
8445
8567
|
},
|
8446
8568
|
setup(props, _ref) {
|
@@ -8451,7 +8573,8 @@ const VListItemAction = genericComponent()({
|
|
8451
8573
|
"class": ['v-list-item-action', {
|
8452
8574
|
'v-list-item-action--start': props.start,
|
8453
8575
|
'v-list-item-action--end': props.end
|
8454
|
-
}]
|
8576
|
+
}, props.class],
|
8577
|
+
"style": props.style
|
8455
8578
|
}, slots));
|
8456
8579
|
return {};
|
8457
8580
|
}
|
@@ -8462,6 +8585,7 @@ const VListItemMedia = genericComponent()({
|
|
8462
8585
|
props: {
|
8463
8586
|
start: Boolean,
|
8464
8587
|
end: Boolean,
|
8588
|
+
...makeComponentProps(),
|
8465
8589
|
...makeTagProps()
|
8466
8590
|
},
|
8467
8591
|
setup(props, _ref) {
|
@@ -8473,7 +8597,8 @@ const VListItemMedia = genericComponent()({
|
|
8473
8597
|
"class": ['v-list-item-media', {
|
8474
8598
|
'v-list-item-media--start': props.start,
|
8475
8599
|
'v-list-item-media--end': props.end
|
8476
|
-
}]
|
8600
|
+
}, props.class],
|
8601
|
+
"style": props.style
|
8477
8602
|
}, slots);
|
8478
8603
|
});
|
8479
8604
|
return {};
|
@@ -9383,14 +9508,14 @@ const parseDisplayOptions = function () {
|
|
9383
9508
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultDisplayOptions;
|
9384
9509
|
return mergeDeep(defaultDisplayOptions, options);
|
9385
9510
|
};
|
9386
|
-
function getClientWidth(
|
9387
|
-
return IN_BROWSER && !
|
9511
|
+
function getClientWidth(ssr) {
|
9512
|
+
return IN_BROWSER && !ssr ? window.innerWidth : typeof ssr === 'object' && ssr.clientWidth || 0;
|
9388
9513
|
}
|
9389
|
-
function getClientHeight(
|
9390
|
-
return IN_BROWSER && !
|
9514
|
+
function getClientHeight(ssr) {
|
9515
|
+
return IN_BROWSER && !ssr ? window.innerHeight : typeof ssr === 'object' && ssr.clientHeight || 0;
|
9391
9516
|
}
|
9392
|
-
function getPlatform(
|
9393
|
-
const userAgent = IN_BROWSER && !
|
9517
|
+
function getPlatform(ssr) {
|
9518
|
+
const userAgent = IN_BROWSER && !ssr ? window.navigator.userAgent : 'ssr';
|
9394
9519
|
function match(regexp) {
|
9395
9520
|
return Boolean(userAgent.match(regexp));
|
9396
9521
|
}
|
@@ -9714,6 +9839,7 @@ const makeVOverlayProps = propsFactory({
|
|
9714
9839
|
default: 2000
|
9715
9840
|
},
|
9716
9841
|
...makeActivatorProps(),
|
9842
|
+
...makeComponentProps(),
|
9717
9843
|
...makeDimensionProps(),
|
9718
9844
|
...makeLazyProps(),
|
9719
9845
|
...makeLocationStrategyProps(),
|
@@ -9881,10 +10007,10 @@ const VOverlay = genericComponent()({
|
|
9881
10007
|
'v-overlay--absolute': props.absolute || props.contained,
|
9882
10008
|
'v-overlay--active': isActive.value,
|
9883
10009
|
'v-overlay--contained': props.contained
|
9884
|
-
}, themeClasses.value, rtlClasses.value],
|
10010
|
+
}, themeClasses.value, rtlClasses.value, props.class],
|
9885
10011
|
"style": [stackStyles.value, {
|
9886
10012
|
top: convertToUnit(top.value)
|
9887
|
-
}],
|
10013
|
+
}, props.style],
|
9888
10014
|
"ref": root
|
9889
10015
|
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
|
9890
10016
|
"color": scrimColor,
|
@@ -9990,7 +10116,8 @@ const VMenu = genericComponent()({
|
|
9990
10116
|
const [overlayProps] = VOverlay.filterProps(props);
|
9991
10117
|
return createVNode(VOverlay, mergeProps({
|
9992
10118
|
"ref": overlay,
|
9993
|
-
"class": ['v-menu']
|
10119
|
+
"class": ['v-menu', props.class],
|
10120
|
+
"style": props.style
|
9994
10121
|
}, overlayProps, {
|
9995
10122
|
"modelValue": isActive.value,
|
9996
10123
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -10209,7 +10336,8 @@ const VSelect = genericComponent()({
|
|
10209
10336
|
'v-select--chips': !!props.chips,
|
10210
10337
|
[`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10211
10338
|
'v-select--selected': model.value.length
|
10212
|
-
}],
|
10339
|
+
}, props.class],
|
10340
|
+
"style": props.style,
|
10213
10341
|
"appendInnerIcon": props.menuIcon,
|
10214
10342
|
"readonly": true,
|
10215
10343
|
"placeholder": placeholder,
|
@@ -10260,11 +10388,13 @@ const VSelect = genericComponent()({
|
|
10260
10388
|
let {
|
10261
10389
|
isSelected
|
10262
10390
|
} = _ref2;
|
10263
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
10391
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
10264
10392
|
"modelValue": isSelected,
|
10265
10393
|
"ripple": false,
|
10266
10394
|
"tabindex": "-1"
|
10267
|
-
}, null) : undefined
|
10395
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
10396
|
+
"icon": item.props.prependIcon
|
10397
|
+
}, null)]);
|
10268
10398
|
}
|
10269
10399
|
});
|
10270
10400
|
}), slots['append-item']?.()]
|
@@ -10277,6 +10407,10 @@ const VSelect = genericComponent()({
|
|
10277
10407
|
}
|
10278
10408
|
const slotProps = {
|
10279
10409
|
'onClick:close': onChipClose,
|
10410
|
+
onMousedown(e) {
|
10411
|
+
e.preventDefault();
|
10412
|
+
e.stopPropagation();
|
10413
|
+
},
|
10280
10414
|
modelValue: true,
|
10281
10415
|
'onUpdate:modelValue': undefined
|
10282
10416
|
};
|
@@ -10652,7 +10786,8 @@ const VAutocomplete = genericComponent()({
|
|
10652
10786
|
'v-autocomplete--selecting-index': selectionIndex.value > -1,
|
10653
10787
|
[`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10654
10788
|
'v-autocomplete--selection-slot': !!slots.selection
|
10655
|
-
}],
|
10789
|
+
}, props.class],
|
10790
|
+
"style": props.style,
|
10656
10791
|
"appendInnerIcon": props.menuIcon,
|
10657
10792
|
"readonly": props.readonly,
|
10658
10793
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -10698,11 +10833,13 @@ const VAutocomplete = genericComponent()({
|
|
10698
10833
|
let {
|
10699
10834
|
isSelected
|
10700
10835
|
} = _ref2;
|
10701
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
10836
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
10702
10837
|
"modelValue": isSelected,
|
10703
10838
|
"ripple": false,
|
10704
10839
|
"tabindex": "-1"
|
10705
|
-
}, null) : undefined
|
10840
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
10841
|
+
"icon": item.props.prependIcon
|
10842
|
+
}, null)]);
|
10706
10843
|
},
|
10707
10844
|
title: () => {
|
10708
10845
|
return isPristine.value ? item.title : highlightResult$1(item.title, getMatches(item)?.title, search.value?.length ?? 0);
|
@@ -10717,6 +10854,10 @@ const VAutocomplete = genericComponent()({
|
|
10717
10854
|
}
|
10718
10855
|
const slotProps = {
|
10719
10856
|
'onClick:close': onChipClose,
|
10857
|
+
onMousedown(e) {
|
10858
|
+
e.preventDefault();
|
10859
|
+
e.stopPropagation();
|
10860
|
+
},
|
10720
10861
|
modelValue: true,
|
10721
10862
|
'onUpdate:modelValue': undefined
|
10722
10863
|
};
|
@@ -10766,8 +10907,6 @@ const VAutocomplete = genericComponent()({
|
|
10766
10907
|
}
|
10767
10908
|
});
|
10768
10909
|
|
10769
|
-
// Types
|
10770
|
-
|
10771
10910
|
const VBadge = genericComponent()({
|
10772
10911
|
name: 'VBadge',
|
10773
10912
|
inheritAttrs: false,
|
@@ -10791,6 +10930,7 @@ const VBadge = genericComponent()({
|
|
10791
10930
|
offsetX: [Number, String],
|
10792
10931
|
offsetY: [Number, String],
|
10793
10932
|
textColor: String,
|
10933
|
+
...makeComponentProps(),
|
10794
10934
|
...makeLocationProps({
|
10795
10935
|
location: 'top end'
|
10796
10936
|
}),
|
@@ -10835,8 +10975,10 @@ const VBadge = genericComponent()({
|
|
10835
10975
|
'v-badge--dot': props.dot,
|
10836
10976
|
'v-badge--floating': props.floating,
|
10837
10977
|
'v-badge--inline': props.inline
|
10838
|
-
}]
|
10839
|
-
}, attrs
|
10978
|
+
}, props.class]
|
10979
|
+
}, attrs, {
|
10980
|
+
"style": props.style
|
10981
|
+
}), {
|
10840
10982
|
default: () => [createVNode("div", {
|
10841
10983
|
"class": "v-badge__wrapper"
|
10842
10984
|
}, [ctx.slots.default?.(), createVNode(MaybeTransition, {
|
@@ -10863,7 +11005,8 @@ const VBannerActions = genericComponent()({
|
|
10863
11005
|
name: 'VBannerActions',
|
10864
11006
|
props: {
|
10865
11007
|
color: String,
|
10866
|
-
density: String
|
11008
|
+
density: String,
|
11009
|
+
...makeComponentProps()
|
10867
11010
|
},
|
10868
11011
|
setup(props, _ref) {
|
10869
11012
|
let {
|
@@ -10877,7 +11020,8 @@ const VBannerActions = genericComponent()({
|
|
10877
11020
|
}
|
10878
11021
|
});
|
10879
11022
|
useRender(() => createVNode("div", {
|
10880
|
-
"class":
|
11023
|
+
"class": ['v-banner-actions', props.class],
|
11024
|
+
"style": props.style
|
10881
11025
|
}, [slots.default?.()]));
|
10882
11026
|
return {};
|
10883
11027
|
}
|
@@ -10898,6 +11042,7 @@ const VBanner = genericComponent()({
|
|
10898
11042
|
sticky: Boolean,
|
10899
11043
|
text: String,
|
10900
11044
|
...makeBorderProps(),
|
11045
|
+
...makeComponentProps(),
|
10901
11046
|
...makeDensityProps(),
|
10902
11047
|
...makeDimensionProps(),
|
10903
11048
|
...makeElevationProps(),
|
@@ -10955,8 +11100,8 @@ const VBanner = genericComponent()({
|
|
10955
11100
|
'v-banner--stacked': props.stacked || mobile.value,
|
10956
11101
|
'v-banner--sticky': props.sticky,
|
10957
11102
|
[`v-banner--${props.lines}-line`]: !!props.lines
|
10958
|
-
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value],
|
10959
|
-
"style": [dimensionStyles.value, locationStyles.value],
|
11103
|
+
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
11104
|
+
"style": [dimensionStyles.value, locationStyles.value, props.style],
|
10960
11105
|
"role": "banner"
|
10961
11106
|
}, {
|
10962
11107
|
default: () => [hasPrepend && createVNode("div", {
|
@@ -11012,6 +11157,7 @@ const VBottomNavigation = genericComponent()({
|
|
11012
11157
|
default: true
|
11013
11158
|
},
|
11014
11159
|
...makeBorderProps(),
|
11160
|
+
...makeComponentProps(),
|
11015
11161
|
...makeDensityProps(),
|
11016
11162
|
...makeElevationProps(),
|
11017
11163
|
...makeRoundedProps(),
|
@@ -11086,11 +11232,11 @@ const VBottomNavigation = genericComponent()({
|
|
11086
11232
|
'v-bottom-navigation--active': isActive.value,
|
11087
11233
|
'v-bottom-navigation--grow': props.grow,
|
11088
11234
|
'v-bottom-navigation--shift': props.mode === 'shift'
|
11089
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value],
|
11235
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
11090
11236
|
"style": [backgroundColorStyles.value, layoutItemStyles.value, {
|
11091
11237
|
height: convertToUnit(height.value),
|
11092
11238
|
transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`
|
11093
|
-
}, ssrBootStyles.value]
|
11239
|
+
}, ssrBootStyles.value, props.style]
|
11094
11240
|
}, {
|
11095
11241
|
default: () => [slots.default && createVNode("div", {
|
11096
11242
|
"class": "v-bottom-navigation__content"
|
@@ -11104,14 +11250,16 @@ const VBottomNavigation = genericComponent()({
|
|
11104
11250
|
const VBreadcrumbsDivider = genericComponent()({
|
11105
11251
|
name: 'VBreadcrumbsDivider',
|
11106
11252
|
props: {
|
11107
|
-
divider: [Number, String]
|
11253
|
+
divider: [Number, String],
|
11254
|
+
...makeComponentProps()
|
11108
11255
|
},
|
11109
11256
|
setup(props, _ref) {
|
11110
11257
|
let {
|
11111
11258
|
slots
|
11112
11259
|
} = _ref;
|
11113
11260
|
useRender(() => createVNode("li", {
|
11114
|
-
"class":
|
11261
|
+
"class": ['v-breadcrumbs-divider', props.class],
|
11262
|
+
"style": props.style
|
11115
11263
|
}, [slots?.default?.() ?? props.divider]));
|
11116
11264
|
return {};
|
11117
11265
|
}
|
@@ -11126,6 +11274,7 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11126
11274
|
color: String,
|
11127
11275
|
disabled: Boolean,
|
11128
11276
|
title: String,
|
11277
|
+
...makeComponentProps(),
|
11129
11278
|
...makeRouterProps(),
|
11130
11279
|
...makeTagProps({
|
11131
11280
|
tag: 'li'
|
@@ -11151,8 +11300,8 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11151
11300
|
'v-breadcrumbs-item--disabled': props.disabled,
|
11152
11301
|
'v-breadcrumbs-item--link': link.isLink.value,
|
11153
11302
|
[`${props.activeClass}`]: isActive.value && props.activeClass
|
11154
|
-
}, textColorClasses.value],
|
11155
|
-
"style": [textColorStyles.value],
|
11303
|
+
}, textColorClasses.value, props.class],
|
11304
|
+
"style": [textColorStyles.value, props.style],
|
11156
11305
|
"href": link.href.value,
|
11157
11306
|
"aria-current": isActive.value ? 'page' : undefined,
|
11158
11307
|
"onClick": link.navigate
|
@@ -11183,6 +11332,7 @@ const VBreadcrumbs = genericComponent()({
|
|
11183
11332
|
type: Array,
|
11184
11333
|
default: () => []
|
11185
11334
|
},
|
11335
|
+
...makeComponentProps(),
|
11186
11336
|
...makeDensityProps(),
|
11187
11337
|
...makeRoundedProps(),
|
11188
11338
|
...makeTagProps({
|
@@ -11214,11 +11364,22 @@ const VBreadcrumbs = genericComponent()({
|
|
11214
11364
|
disabled: toRef(props, 'disabled')
|
11215
11365
|
}
|
11216
11366
|
});
|
11367
|
+
const items = computed(() => props.items.map(item => {
|
11368
|
+
return typeof item === 'string' ? {
|
11369
|
+
item: {
|
11370
|
+
title: item
|
11371
|
+
},
|
11372
|
+
raw: item
|
11373
|
+
} : {
|
11374
|
+
item,
|
11375
|
+
raw: item
|
11376
|
+
};
|
11377
|
+
}));
|
11217
11378
|
useRender(() => {
|
11218
11379
|
const hasPrepend = !!(slots.prepend || props.icon);
|
11219
11380
|
return createVNode(props.tag, {
|
11220
|
-
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value],
|
11221
|
-
"style": backgroundColorStyles.value
|
11381
|
+
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
|
11382
|
+
"style": [backgroundColorStyles.value, props.style]
|
11222
11383
|
}, {
|
11223
11384
|
default: () => [hasPrepend && createVNode("div", {
|
11224
11385
|
"key": "prepend",
|
@@ -11236,33 +11397,36 @@ const VBreadcrumbs = genericComponent()({
|
|
11236
11397
|
start: true
|
11237
11398
|
}
|
11238
11399
|
}
|
11239
|
-
}, slots.prepend)]),
|
11240
|
-
|
11241
|
-
"disabled": index >= array.length - 1
|
11242
|
-
}, typeof item === 'string' ? {
|
11243
|
-
title: item
|
11244
|
-
} : item), {
|
11245
|
-
default: slots.title ? () => slots.title?.({
|
11246
|
-
item,
|
11247
|
-
index
|
11248
|
-
}) : undefined
|
11249
|
-
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11250
|
-
default: slots.divider ? () => slots.divider?.({
|
11400
|
+
}, slots.prepend)]), items.value.map((_ref2, index, array) => {
|
11401
|
+
let {
|
11251
11402
|
item,
|
11252
|
-
|
11253
|
-
}
|
11254
|
-
|
11403
|
+
raw
|
11404
|
+
} = _ref2;
|
11405
|
+
return createVNode(Fragment, null, [createVNode(VBreadcrumbsItem, mergeProps({
|
11406
|
+
"key": item.title,
|
11407
|
+
"disabled": index >= array.length - 1
|
11408
|
+
}, item), {
|
11409
|
+
default: slots.title ? () => slots.title?.({
|
11410
|
+
item: raw,
|
11411
|
+
index
|
11412
|
+
}) : undefined
|
11413
|
+
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11414
|
+
default: slots.divider ? () => slots.divider?.({
|
11415
|
+
item: raw,
|
11416
|
+
index
|
11417
|
+
}) : undefined
|
11418
|
+
})]);
|
11419
|
+
}), slots.default?.()]
|
11255
11420
|
});
|
11256
11421
|
});
|
11257
11422
|
return {};
|
11258
11423
|
}
|
11259
11424
|
});
|
11260
11425
|
|
11261
|
-
|
11262
|
-
|
11263
|
-
const VCardActions = defineComponent({
|
11426
|
+
const VCardActions = genericComponent()({
|
11264
11427
|
name: 'VCardActions',
|
11265
|
-
|
11428
|
+
props: makeComponentProps(),
|
11429
|
+
setup(props, _ref) {
|
11266
11430
|
let {
|
11267
11431
|
slots
|
11268
11432
|
} = _ref;
|
@@ -11272,7 +11436,8 @@ const VCardActions = defineComponent({
|
|
11272
11436
|
}
|
11273
11437
|
});
|
11274
11438
|
useRender(() => createVNode("div", {
|
11275
|
-
"class":
|
11439
|
+
"class": ['v-card-actions', props.class],
|
11440
|
+
"style": props.style
|
11276
11441
|
}, [slots.default?.()]));
|
11277
11442
|
return {};
|
11278
11443
|
}
|
@@ -11282,8 +11447,6 @@ const VCardSubtitle = createSimpleFunctional('v-card-subtitle');
|
|
11282
11447
|
|
11283
11448
|
const VCardTitle = createSimpleFunctional('v-card-title');
|
11284
11449
|
|
11285
|
-
// Types
|
11286
|
-
|
11287
11450
|
const VCardItem = genericComponent()({
|
11288
11451
|
name: 'VCardItem',
|
11289
11452
|
props: {
|
@@ -11293,6 +11456,7 @@ const VCardItem = genericComponent()({
|
|
11293
11456
|
prependIcon: IconValue,
|
11294
11457
|
subtitle: String,
|
11295
11458
|
title: String,
|
11459
|
+
...makeComponentProps(),
|
11296
11460
|
...makeDensityProps()
|
11297
11461
|
},
|
11298
11462
|
setup(props, _ref) {
|
@@ -11307,7 +11471,8 @@ const VCardItem = genericComponent()({
|
|
11307
11471
|
const hasTitle = !!(props.title || slots.title);
|
11308
11472
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
11309
11473
|
return createVNode("div", {
|
11310
|
-
"class":
|
11474
|
+
"class": ['v-card-item', props.class],
|
11475
|
+
"style": props.style
|
11311
11476
|
}, [hasPrepend && createVNode("div", {
|
11312
11477
|
"key": "prepend",
|
11313
11478
|
"class": "v-card-item__prepend"
|
@@ -11389,8 +11554,8 @@ const VCard = genericComponent()({
|
|
11389
11554
|
subtitle: String,
|
11390
11555
|
text: String,
|
11391
11556
|
title: String,
|
11392
|
-
...makeThemeProps(),
|
11393
11557
|
...makeBorderProps(),
|
11558
|
+
...makeComponentProps(),
|
11394
11559
|
...makeDensityProps(),
|
11395
11560
|
...makeDimensionProps(),
|
11396
11561
|
...makeElevationProps(),
|
@@ -11400,6 +11565,7 @@ const VCard = genericComponent()({
|
|
11400
11565
|
...makeRoundedProps(),
|
11401
11566
|
...makeRouterProps(),
|
11402
11567
|
...makeTagProps(),
|
11568
|
+
...makeThemeProps(),
|
11403
11569
|
...makeVariantProps({
|
11404
11570
|
variant: 'elevated'
|
11405
11571
|
})
|
@@ -11460,8 +11626,8 @@ const VCard = genericComponent()({
|
|
11460
11626
|
'v-card--flat': props.flat,
|
11461
11627
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
11462
11628
|
'v-card--link': isClickable.value
|
11463
|
-
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value],
|
11464
|
-
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value],
|
11629
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
11630
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
11465
11631
|
"href": link.href.value,
|
11466
11632
|
"onClick": isClickable.value && link.navigate,
|
11467
11633
|
"tabindex": props.disabled ? -1 : undefined
|
@@ -11657,6 +11823,7 @@ const makeVWindowProps = propsFactory({
|
|
11657
11823
|
mandatory: {
|
11658
11824
|
default: 'force'
|
11659
11825
|
},
|
11826
|
+
...makeComponentProps(),
|
11660
11827
|
...makeTagProps(),
|
11661
11828
|
...makeThemeProps()
|
11662
11829
|
}, 'v-window');
|
@@ -11772,7 +11939,8 @@ const VWindow = genericComponent()({
|
|
11772
11939
|
"ref": rootRef,
|
11773
11940
|
"class": ['v-window', {
|
11774
11941
|
'v-window--show-arrows-on-hover': props.showArrows === 'hover'
|
11775
|
-
}, themeClasses.value]
|
11942
|
+
}, themeClasses.value, props.class],
|
11943
|
+
"style": props.style
|
11776
11944
|
}, {
|
11777
11945
|
default: () => [createVNode("div", {
|
11778
11946
|
"class": "v-window__container",
|
@@ -11857,10 +12025,10 @@ const VCarousel = genericComponent()({
|
|
11857
12025
|
"class": ['v-carousel', {
|
11858
12026
|
'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,
|
11859
12027
|
'v-carousel--vertical-delimiters': props.verticalDelimiters
|
11860
|
-
}],
|
11861
|
-
"style": {
|
12028
|
+
}, props.class],
|
12029
|
+
"style": [{
|
11862
12030
|
height: convertToUnit(props.height)
|
11863
|
-
},
|
12031
|
+
}, props.style],
|
11864
12032
|
"continuous": true,
|
11865
12033
|
"mandatory": "force",
|
11866
12034
|
"showArrows": props.showArrows
|
@@ -11926,6 +12094,7 @@ const VWindowItem = genericComponent()({
|
|
11926
12094
|
type: [Boolean, String],
|
11927
12095
|
default: undefined
|
11928
12096
|
},
|
12097
|
+
...makeComponentProps(),
|
11929
12098
|
...makeGroupItemProps(),
|
11930
12099
|
...makeLazyProps()
|
11931
12100
|
},
|
@@ -12012,7 +12181,8 @@ const VWindowItem = genericComponent()({
|
|
12012
12181
|
"disabled": !isBooted.value
|
12013
12182
|
}, {
|
12014
12183
|
default: () => [withDirectives(createVNode("div", {
|
12015
|
-
"class": ['v-window-item', groupItem.selectedClass.value]
|
12184
|
+
"class": ['v-window-item', groupItem.selectedClass.value, props.class],
|
12185
|
+
"style": props.style
|
12016
12186
|
}, [hasContent.value && slots.default?.()]), [[vShow, groupItem.isSelected.value]])]
|
12017
12187
|
}));
|
12018
12188
|
return {};
|
@@ -12025,7 +12195,8 @@ const VCarouselItem = genericComponent()({
|
|
12025
12195
|
name: 'VCarouselItem',
|
12026
12196
|
inheritAttrs: false,
|
12027
12197
|
props: {
|
12028
|
-
value: null
|
12198
|
+
value: null,
|
12199
|
+
...makeComponentProps()
|
12029
12200
|
},
|
12030
12201
|
setup(props, _ref) {
|
12031
12202
|
let {
|
@@ -12033,7 +12204,8 @@ const VCarouselItem = genericComponent()({
|
|
12033
12204
|
attrs
|
12034
12205
|
} = _ref;
|
12035
12206
|
useRender(() => createVNode(VWindowItem, {
|
12036
|
-
"class":
|
12207
|
+
"class": ['v-carousel-item', props.class],
|
12208
|
+
"style": props.style,
|
12037
12209
|
"value": props.value
|
12038
12210
|
}, {
|
12039
12211
|
default: () => [createVNode(VImg, attrs, slots)]
|
@@ -12046,6 +12218,7 @@ const VCode = createSimpleFunctional('v-code');
|
|
12046
12218
|
const makeVSheetProps = propsFactory({
|
12047
12219
|
color: String,
|
12048
12220
|
...makeBorderProps(),
|
12221
|
+
...makeComponentProps(),
|
12049
12222
|
...makeDimensionProps(),
|
12050
12223
|
...makeElevationProps(),
|
12051
12224
|
...makeLocationProps(),
|
@@ -12089,8 +12262,8 @@ const VSheet = genericComponent()({
|
|
12089
12262
|
roundedClasses
|
12090
12263
|
} = useRounded(props);
|
12091
12264
|
useRender(() => createVNode(props.tag, {
|
12092
|
-
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
12093
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
12265
|
+
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
|
12266
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
|
12094
12267
|
}, slots));
|
12095
12268
|
return {};
|
12096
12269
|
}
|
@@ -12116,7 +12289,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12116
12289
|
width: {
|
12117
12290
|
type: [Number, String],
|
12118
12291
|
default: 300
|
12119
|
-
}
|
12292
|
+
},
|
12293
|
+
...makeComponentProps()
|
12120
12294
|
},
|
12121
12295
|
emits: {
|
12122
12296
|
'update:color': color => true,
|
@@ -12261,7 +12435,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12261
12435
|
onMounted(() => updateCanvas());
|
12262
12436
|
useRender(() => createVNode("div", {
|
12263
12437
|
"ref": resizeRef,
|
12264
|
-
"class":
|
12438
|
+
"class": ['v-color-picker-canvas', props.class],
|
12439
|
+
"style": props.style,
|
12265
12440
|
"onClick": handleClick,
|
12266
12441
|
"onMousedown": handleMouseDown,
|
12267
12442
|
"onTouchstart": handleMouseDown
|
@@ -12283,27 +12458,6 @@ const VColorPickerCanvas = defineComponent({
|
|
12283
12458
|
|
12284
12459
|
// Types
|
12285
12460
|
|
12286
|
-
function has(obj, key) {
|
12287
|
-
return key.every(k => obj.hasOwnProperty(k));
|
12288
|
-
}
|
12289
|
-
function parseColor(color) {
|
12290
|
-
if (!color) return null;
|
12291
|
-
let hsva = null;
|
12292
|
-
if (typeof color === 'string') {
|
12293
|
-
const hex = parseHex(color);
|
12294
|
-
hsva = HexToHSV(hex);
|
12295
|
-
}
|
12296
|
-
if (typeof color === 'object') {
|
12297
|
-
if (has(color, ['r', 'g', 'b'])) {
|
12298
|
-
hsva = RGBtoHSV(color);
|
12299
|
-
} else if (has(color, ['h', 's', 'l'])) {
|
12300
|
-
hsva = HSLtoHSV(color);
|
12301
|
-
} else if (has(color, ['h', 's', 'v'])) {
|
12302
|
-
hsva = color;
|
12303
|
-
}
|
12304
|
-
}
|
12305
|
-
return hsva;
|
12306
|
-
}
|
12307
12461
|
function stripAlpha(color, stripAlpha) {
|
12308
12462
|
if (stripAlpha) {
|
12309
12463
|
const {
|
@@ -12494,7 +12648,8 @@ const VColorPickerEdit = defineComponent({
|
|
12494
12648
|
type: Array,
|
12495
12649
|
default: () => Object.keys(modes),
|
12496
12650
|
validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
|
12497
|
-
}
|
12651
|
+
},
|
12652
|
+
...makeComponentProps()
|
12498
12653
|
},
|
12499
12654
|
emits: {
|
12500
12655
|
'update:color': color => true,
|
@@ -12534,7 +12689,8 @@ const VColorPickerEdit = defineComponent({
|
|
12534
12689
|
});
|
12535
12690
|
});
|
12536
12691
|
useRender(() => createVNode("div", {
|
12537
|
-
"class":
|
12692
|
+
"class": ['v-color-picker-edit', props.class],
|
12693
|
+
"style": props.style
|
12538
12694
|
}, [inputs.value?.map(props => createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && createVNode(VBtn, {
|
12539
12695
|
"icon": "$unfold",
|
12540
12696
|
"size": "x-small",
|
@@ -12853,7 +13009,8 @@ const VSliderThumb = genericComponent()({
|
|
12853
13009
|
ripple: {
|
12854
13010
|
type: Boolean,
|
12855
13011
|
default: true
|
12856
|
-
}
|
13012
|
+
},
|
13013
|
+
...makeComponentProps()
|
12857
13014
|
},
|
12858
13015
|
emits: {
|
12859
13016
|
'update:modelValue': v => true
|
@@ -12931,11 +13088,11 @@ const VSliderThumb = genericComponent()({
|
|
12931
13088
|
"class": ['v-slider-thumb', {
|
12932
13089
|
'v-slider-thumb--focused': props.focused,
|
12933
13090
|
'v-slider-thumb--pressed': props.focused && mousePressed.value
|
12934
|
-
}],
|
12935
|
-
"style": {
|
13091
|
+
}, props.class],
|
13092
|
+
"style": [{
|
12936
13093
|
'--v-slider-thumb-position': positionPercentage,
|
12937
13094
|
'--v-slider-thumb-size': convertToUnit(thumbSize.value)
|
12938
|
-
},
|
13095
|
+
}, props.style],
|
12939
13096
|
"role": "slider",
|
12940
13097
|
"tabindex": disabled.value ? -1 : 0,
|
12941
13098
|
"aria-valuemin": props.min,
|
@@ -12981,7 +13138,8 @@ const VSliderTrack = genericComponent()({
|
|
12981
13138
|
stop: {
|
12982
13139
|
type: Number,
|
12983
13140
|
required: true
|
12984
|
-
}
|
13141
|
+
},
|
13142
|
+
...makeComponentProps()
|
12985
13143
|
},
|
12986
13144
|
emits: {},
|
12987
13145
|
setup(props, _ref) {
|
@@ -13056,12 +13214,12 @@ const VSliderTrack = genericComponent()({
|
|
13056
13214
|
});
|
13057
13215
|
useRender(() => {
|
13058
13216
|
return createVNode("div", {
|
13059
|
-
"class": ['v-slider-track', roundedClasses.value],
|
13060
|
-
"style": {
|
13217
|
+
"class": ['v-slider-track', roundedClasses.value, props.class],
|
13218
|
+
"style": [{
|
13061
13219
|
'--v-slider-track-size': convertToUnit(trackSize.value),
|
13062
13220
|
'--v-slider-tick-size': convertToUnit(tickSize.value),
|
13063
13221
|
direction: !vertical.value ? horizontalDirection.value : undefined
|
13064
|
-
}
|
13222
|
+
}, props.style]
|
13065
13223
|
}, [createVNode("div", {
|
13066
13224
|
"class": ['v-slider-track__background', trackColorClasses.value, {
|
13067
13225
|
'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
|
@@ -13164,7 +13322,8 @@ const VSlider = genericComponent()({
|
|
13164
13322
|
'v-slider--focused': isFocused.value,
|
13165
13323
|
'v-slider--pressed': mousePressed.value,
|
13166
13324
|
'v-slider--disabled': props.disabled
|
13167
|
-
}]
|
13325
|
+
}, props.class],
|
13326
|
+
"style": props.style
|
13168
13327
|
}, inputProps, {
|
13169
13328
|
"focused": isFocused.value
|
13170
13329
|
}), {
|
@@ -13227,7 +13386,8 @@ const VColorPickerPreview = defineComponent({
|
|
13227
13386
|
type: Object
|
13228
13387
|
},
|
13229
13388
|
disabled: Boolean,
|
13230
|
-
hideAlpha: Boolean
|
13389
|
+
hideAlpha: Boolean,
|
13390
|
+
...makeComponentProps()
|
13231
13391
|
},
|
13232
13392
|
emits: {
|
13233
13393
|
'update:color': color => true
|
@@ -13239,7 +13399,8 @@ const VColorPickerPreview = defineComponent({
|
|
13239
13399
|
useRender(() => createVNode("div", {
|
13240
13400
|
"class": ['v-color-picker-preview', {
|
13241
13401
|
'v-color-picker-preview--hide-alpha': props.hideAlpha
|
13242
|
-
}]
|
13402
|
+
}, props.class],
|
13403
|
+
"style": props.style
|
13243
13404
|
}, [createVNode("div", {
|
13244
13405
|
"class": "v-color-picker-preview__dot"
|
13245
13406
|
}, [createVNode("div", {
|
@@ -13620,7 +13781,8 @@ const VColorPickerSwatches = defineComponent({
|
|
13620
13781
|
},
|
13621
13782
|
disabled: Boolean,
|
13622
13783
|
color: Object,
|
13623
|
-
maxHeight: [Number, String]
|
13784
|
+
maxHeight: [Number, String],
|
13785
|
+
...makeComponentProps()
|
13624
13786
|
},
|
13625
13787
|
emits: {
|
13626
13788
|
'update:color': color => true
|
@@ -13630,20 +13792,22 @@ const VColorPickerSwatches = defineComponent({
|
|
13630
13792
|
emit
|
13631
13793
|
} = _ref;
|
13632
13794
|
useRender(() => createVNode("div", {
|
13633
|
-
"class":
|
13634
|
-
"style": {
|
13795
|
+
"class": ['v-color-picker-swatches', props.class],
|
13796
|
+
"style": [{
|
13635
13797
|
maxHeight: convertToUnit(props.maxHeight)
|
13636
|
-
}
|
13798
|
+
}, props.style]
|
13637
13799
|
}, [createVNode("div", null, [props.swatches.map(swatch => createVNode("div", {
|
13638
13800
|
"class": "v-color-picker-swatches__swatch"
|
13639
13801
|
}, [swatch.map(color => {
|
13640
|
-
const
|
13802
|
+
const rgba = parseColor(color);
|
13803
|
+
const hsva = RGBtoHSV(rgba);
|
13804
|
+
const background = RGBtoCSS(rgba);
|
13641
13805
|
return createVNode("div", {
|
13642
13806
|
"class": "v-color-picker-swatches__color",
|
13643
13807
|
"onClick": () => hsva && emit('update:color', hsva)
|
13644
13808
|
}, [createVNode("div", {
|
13645
13809
|
"style": {
|
13646
|
-
background
|
13810
|
+
background
|
13647
13811
|
}
|
13648
13812
|
}, [props.color && deepEqual(props.color, hsva) ? createVNode(VIcon, {
|
13649
13813
|
"size": "x-small",
|
@@ -13703,8 +13867,13 @@ const VColorPicker = defineComponent({
|
|
13703
13867
|
const mode = useProxiedModel(props, 'mode');
|
13704
13868
|
const lastPickedColor = ref(null);
|
13705
13869
|
const currentColor = useProxiedModel(props, 'modelValue', undefined, v => {
|
13706
|
-
let c
|
13707
|
-
|
13870
|
+
let c;
|
13871
|
+
try {
|
13872
|
+
c = RGBtoHSV(parseColor(v));
|
13873
|
+
} catch (err) {
|
13874
|
+
consoleWarn(err);
|
13875
|
+
return null;
|
13876
|
+
}
|
13708
13877
|
if (lastPickedColor.value) {
|
13709
13878
|
c = {
|
13710
13879
|
...c,
|
@@ -13737,13 +13906,13 @@ const VColorPicker = defineComponent({
|
|
13737
13906
|
"rounded": props.rounded,
|
13738
13907
|
"elevation": props.elevation,
|
13739
13908
|
"theme": props.theme,
|
13740
|
-
"class": ['v-color-picker'],
|
13741
|
-
"style": {
|
13909
|
+
"class": ['v-color-picker', props.class],
|
13910
|
+
"style": [{
|
13742
13911
|
'--v-color-picker-color-hsv': HSVtoCSS({
|
13743
13912
|
...(currentColor.value ?? nullColor),
|
13744
13913
|
a: 1
|
13745
13914
|
})
|
13746
|
-
}
|
13915
|
+
}, props.style]
|
13747
13916
|
}, sheetProps, {
|
13748
13917
|
"maxWidth": props.width
|
13749
13918
|
}), {
|
@@ -14054,7 +14223,8 @@ const VCombobox = genericComponent()({
|
|
14054
14223
|
'v-combobox--chips': !!props.chips,
|
14055
14224
|
'v-combobox--selecting-index': selectionIndex.value > -1,
|
14056
14225
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
14057
|
-
}],
|
14226
|
+
}, props.class],
|
14227
|
+
"style": props.style,
|
14058
14228
|
"appendInnerIcon": props.items.length ? props.menuIcon : undefined,
|
14059
14229
|
"readonly": props.readonly,
|
14060
14230
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -14100,11 +14270,13 @@ const VCombobox = genericComponent()({
|
|
14100
14270
|
let {
|
14101
14271
|
isSelected
|
14102
14272
|
} = _ref2;
|
14103
|
-
return props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
14273
|
+
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
14104
14274
|
"modelValue": isSelected,
|
14105
14275
|
"ripple": false,
|
14106
14276
|
"tabindex": "-1"
|
14107
|
-
}, null) : undefined
|
14277
|
+
}, null) : undefined, item.props.prependIcon && createVNode(VIcon, {
|
14278
|
+
"icon": item.props.prependIcon
|
14279
|
+
}, null)]);
|
14108
14280
|
},
|
14109
14281
|
title: () => {
|
14110
14282
|
return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0);
|
@@ -14119,6 +14291,10 @@ const VCombobox = genericComponent()({
|
|
14119
14291
|
}
|
14120
14292
|
const slotProps = {
|
14121
14293
|
'onClick:close': onChipClose,
|
14294
|
+
onMousedown(e) {
|
14295
|
+
e.preventDefault();
|
14296
|
+
e.stopPropagation();
|
14297
|
+
},
|
14122
14298
|
modelValue: true,
|
14123
14299
|
'onUpdate:modelValue': undefined
|
14124
14300
|
};
|
@@ -14211,7 +14387,7 @@ const VDialog = genericComponent()({
|
|
14211
14387
|
![document, overlay.value.contentEl].includes(after) &&
|
14212
14388
|
// It isn't inside the dialog body
|
14213
14389
|
!overlay.value.contentEl.contains(after)) {
|
14214
|
-
const focusable =
|
14390
|
+
const focusable = focusableChildren(overlay.value.contentEl);
|
14215
14391
|
if (!focusable.length) return;
|
14216
14392
|
const firstElement = focusable[0];
|
14217
14393
|
const lastElement = focusable[focusable.length - 1];
|
@@ -14252,7 +14428,8 @@ const VDialog = genericComponent()({
|
|
14252
14428
|
"class": ['v-dialog', {
|
14253
14429
|
'v-dialog--fullscreen': props.fullscreen,
|
14254
14430
|
'v-dialog--scrollable': props.scrollable
|
14255
|
-
}]
|
14431
|
+
}, props.class],
|
14432
|
+
"style": props.style
|
14256
14433
|
}, overlayProps, {
|
14257
14434
|
"modelValue": isActive.value,
|
14258
14435
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -14291,6 +14468,7 @@ const VExpansionPanels = genericComponent()({
|
|
14291
14468
|
validator: v => allowedVariants.includes(v)
|
14292
14469
|
},
|
14293
14470
|
readonly: Boolean,
|
14471
|
+
...makeComponentProps(),
|
14294
14472
|
...makeGroupProps(),
|
14295
14473
|
...makeTagProps(),
|
14296
14474
|
...makeThemeProps()
|
@@ -14316,7 +14494,8 @@ const VExpansionPanels = genericComponent()({
|
|
14316
14494
|
}
|
14317
14495
|
});
|
14318
14496
|
useRender(() => createVNode(props.tag, {
|
14319
|
-
"class": ['v-expansion-panels', themeClasses.value, variantClass.value]
|
14497
|
+
"class": ['v-expansion-panels', themeClasses.value, variantClass.value, props.class],
|
14498
|
+
"style": props.style
|
14320
14499
|
}, slots));
|
14321
14500
|
return {};
|
14322
14501
|
}
|
@@ -14345,6 +14524,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14345
14524
|
Ripple
|
14346
14525
|
},
|
14347
14526
|
props: {
|
14527
|
+
...makeComponentProps(),
|
14348
14528
|
...makeVExpansionPanelTitleProps()
|
14349
14529
|
},
|
14350
14530
|
setup(props, _ref) {
|
@@ -14367,8 +14547,8 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14367
14547
|
useRender(() => withDirectives(createVNode("button", {
|
14368
14548
|
"class": ['v-expansion-panel-title', {
|
14369
14549
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value
|
14370
|
-
}, backgroundColorClasses.value],
|
14371
|
-
"style": backgroundColorStyles.value,
|
14550
|
+
}, backgroundColorClasses.value, props.class],
|
14551
|
+
"style": [backgroundColorStyles.value, props.style],
|
14372
14552
|
"type": "button",
|
14373
14553
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
14374
14554
|
"disabled": expansionPanel.disabled.value,
|
@@ -14388,6 +14568,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14388
14568
|
const VExpansionPanelText = genericComponent()({
|
14389
14569
|
name: 'VExpansionPanelText',
|
14390
14570
|
props: {
|
14571
|
+
...makeComponentProps(),
|
14391
14572
|
...makeLazyProps()
|
14392
14573
|
},
|
14393
14574
|
setup(props, _ref) {
|
@@ -14404,7 +14585,8 @@ const VExpansionPanelText = genericComponent()({
|
|
14404
14585
|
"onAfterLeave": onAfterLeave
|
14405
14586
|
}, {
|
14406
14587
|
default: () => [withDirectives(createVNode("div", {
|
14407
|
-
"class":
|
14588
|
+
"class": ['v-expansion-panel-text', props.class],
|
14589
|
+
"style": props.style
|
14408
14590
|
}, [slots.default && hasContent.value && createVNode("div", {
|
14409
14591
|
"class": "v-expansion-panel-text__wrapper"
|
14410
14592
|
}, [slots.default?.()])]), [[vShow, expansionPanel.isSelected.value]])]
|
@@ -14419,6 +14601,7 @@ const VExpansionPanel = genericComponent()({
|
|
14419
14601
|
title: String,
|
14420
14602
|
text: String,
|
14421
14603
|
bgColor: String,
|
14604
|
+
...makeComponentProps(),
|
14422
14605
|
...makeElevationProps(),
|
14423
14606
|
...makeGroupItemProps(),
|
14424
14607
|
...makeLazyProps(),
|
@@ -14467,8 +14650,8 @@ const VExpansionPanel = genericComponent()({
|
|
14467
14650
|
'v-expansion-panel--before-active': isBeforeSelected.value,
|
14468
14651
|
'v-expansion-panel--after-active': isAfterSelected.value,
|
14469
14652
|
'v-expansion-panel--disabled': isDisabled.value
|
14470
|
-
}, roundedClasses.value, backgroundColorClasses.value],
|
14471
|
-
"style": backgroundColorStyles.value,
|
14653
|
+
}, roundedClasses.value, backgroundColorClasses.value, props.class],
|
14654
|
+
"style": [backgroundColorStyles.value, props.style],
|
14472
14655
|
"aria-expanded": groupItem.isSelected.value
|
14473
14656
|
}, {
|
14474
14657
|
default: () => [createVNode("div", {
|
@@ -14575,6 +14758,7 @@ const VFileInput = genericComponent()({
|
|
14575
14758
|
const vInputRef = ref();
|
14576
14759
|
const vFieldRef = ref();
|
14577
14760
|
const inputRef = ref();
|
14761
|
+
const isActive = computed(() => isFocused.value || props.active);
|
14578
14762
|
function onFocus() {
|
14579
14763
|
if (inputRef.value !== document.activeElement) {
|
14580
14764
|
inputRef.value?.focus();
|
@@ -14618,7 +14802,8 @@ const VFileInput = genericComponent()({
|
|
14618
14802
|
"ref": vInputRef,
|
14619
14803
|
"modelValue": model.value,
|
14620
14804
|
"onUpdate:modelValue": $event => model.value = $event,
|
14621
|
-
"class":
|
14805
|
+
"class": ['v-file-input', props.class],
|
14806
|
+
"style": props.style,
|
14622
14807
|
"onClick:prepend": onClickPrepend
|
14623
14808
|
}, rootAttrs, inputProps, {
|
14624
14809
|
"focused": isFocused.value
|
@@ -14642,7 +14827,7 @@ const VFileInput = genericComponent()({
|
|
14642
14827
|
"onClick:appendInner": props['onClick:appendInner']
|
14643
14828
|
}, fieldProps, {
|
14644
14829
|
"id": id.value,
|
14645
|
-
"active":
|
14830
|
+
"active": isActive.value || isDirty.value,
|
14646
14831
|
"dirty": isDirty.value,
|
14647
14832
|
"disabled": isDisabled.value,
|
14648
14833
|
"focused": isFocused.value,
|
@@ -14710,6 +14895,7 @@ const VFooter = genericComponent()({
|
|
14710
14895
|
default: 'auto'
|
14711
14896
|
},
|
14712
14897
|
...makeBorderProps(),
|
14898
|
+
...makeComponentProps(),
|
14713
14899
|
...makeElevationProps(),
|
14714
14900
|
...makeLayoutItemProps(),
|
14715
14901
|
...makeRoundedProps(),
|
@@ -14759,8 +14945,8 @@ const VFooter = genericComponent()({
|
|
14759
14945
|
});
|
14760
14946
|
useRender(() => createVNode(props.tag, {
|
14761
14947
|
"ref": resizeRef,
|
14762
|
-
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
14763
|
-
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined]
|
14948
|
+
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
14949
|
+
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined, props.style]
|
14764
14950
|
}, slots));
|
14765
14951
|
return {};
|
14766
14952
|
}
|
@@ -14771,6 +14957,7 @@ const VFooter = genericComponent()({
|
|
14771
14957
|
const VForm = genericComponent()({
|
14772
14958
|
name: 'VForm',
|
14773
14959
|
props: {
|
14960
|
+
...makeComponentProps(),
|
14774
14961
|
...makeFormProps()
|
14775
14962
|
},
|
14776
14963
|
emits: {
|
@@ -14809,7 +14996,8 @@ const VForm = genericComponent()({
|
|
14809
14996
|
}
|
14810
14997
|
useRender(() => createVNode("form", {
|
14811
14998
|
"ref": formRef,
|
14812
|
-
"class":
|
14999
|
+
"class": ['v-form', props.class],
|
15000
|
+
"style": props.style,
|
14813
15001
|
"novalidate": true,
|
14814
15002
|
"onReset": onReset,
|
14815
15003
|
"onSubmit": onSubmit
|
@@ -14825,6 +15013,7 @@ const VContainer = genericComponent()({
|
|
14825
15013
|
type: Boolean,
|
14826
15014
|
default: false
|
14827
15015
|
},
|
15016
|
+
...makeComponentProps(),
|
14828
15017
|
...makeTagProps()
|
14829
15018
|
},
|
14830
15019
|
setup(props, _ref) {
|
@@ -14834,7 +15023,8 @@ const VContainer = genericComponent()({
|
|
14834
15023
|
useRender(() => createVNode(props.tag, {
|
14835
15024
|
"class": ['v-container', {
|
14836
15025
|
'v-container--fluid': props.fluid
|
14837
|
-
}]
|
15026
|
+
}, props.class],
|
15027
|
+
"style": props.style
|
14838
15028
|
}, slots));
|
14839
15029
|
return {};
|
14840
15030
|
}
|
@@ -14925,6 +15115,7 @@ const VCol = genericComponent()({
|
|
14925
15115
|
default: null,
|
14926
15116
|
validator: str => ALIGN_SELF_VALUES.includes(str)
|
14927
15117
|
},
|
15118
|
+
...makeComponentProps(),
|
14928
15119
|
...makeTagProps()
|
14929
15120
|
},
|
14930
15121
|
setup(props, _ref) {
|
@@ -14955,7 +15146,8 @@ const VCol = genericComponent()({
|
|
14955
15146
|
return classList;
|
14956
15147
|
});
|
14957
15148
|
return () => h(props.tag, {
|
14958
|
-
class: classes.value
|
15149
|
+
class: [classes.value, props.class],
|
15150
|
+
style: props.style
|
14959
15151
|
}, slots.default?.());
|
14960
15152
|
}
|
14961
15153
|
});
|
@@ -15041,6 +15233,7 @@ const VRow = genericComponent()({
|
|
15041
15233
|
validator: alignContentValidator
|
15042
15234
|
},
|
15043
15235
|
...alignContentProps,
|
15236
|
+
...makeComponentProps(),
|
15044
15237
|
...makeTagProps()
|
15045
15238
|
},
|
15046
15239
|
setup(props, _ref) {
|
@@ -15069,7 +15262,8 @@ const VRow = genericComponent()({
|
|
15069
15262
|
return classList;
|
15070
15263
|
});
|
15071
15264
|
return () => h(props.tag, {
|
15072
|
-
class: ['v-row', classes.value]
|
15265
|
+
class: ['v-row', classes.value, props.class],
|
15266
|
+
style: props.style
|
15073
15267
|
}, slots.default?.());
|
15074
15268
|
}
|
15075
15269
|
});
|
@@ -15113,6 +15307,7 @@ const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');
|
|
15113
15307
|
const VItemGroup = genericComponent()({
|
15114
15308
|
name: 'VItemGroup',
|
15115
15309
|
props: {
|
15310
|
+
...makeComponentProps(),
|
15116
15311
|
...makeGroupProps({
|
15117
15312
|
selectedClass: 'v-item--selected'
|
15118
15313
|
}),
|
@@ -15137,7 +15332,8 @@ const VItemGroup = genericComponent()({
|
|
15137
15332
|
selected
|
15138
15333
|
} = useGroup(props, VItemGroupSymbol);
|
15139
15334
|
return () => createVNode(props.tag, {
|
15140
|
-
"class": ['v-item-group', themeClasses.value]
|
15335
|
+
"class": ['v-item-group', themeClasses.value, props.class],
|
15336
|
+
"style": props.style
|
15141
15337
|
}, {
|
15142
15338
|
default: () => [slots.default?.({
|
15143
15339
|
isSelected,
|
@@ -15187,7 +15383,10 @@ const VKbd = createSimpleFunctional('v-kbd');
|
|
15187
15383
|
|
15188
15384
|
const VLayout = genericComponent()({
|
15189
15385
|
name: 'VLayout',
|
15190
|
-
props:
|
15386
|
+
props: {
|
15387
|
+
...makeComponentProps(),
|
15388
|
+
...makeLayoutProps()
|
15389
|
+
},
|
15191
15390
|
setup(props, _ref) {
|
15192
15391
|
let {
|
15193
15392
|
slots
|
@@ -15201,8 +15400,8 @@ const VLayout = genericComponent()({
|
|
15201
15400
|
} = createLayout(props);
|
15202
15401
|
useRender(() => createVNode("div", {
|
15203
15402
|
"ref": layoutRef,
|
15204
|
-
"class": layoutClasses.value,
|
15205
|
-
"style": layoutStyles.value
|
15403
|
+
"class": [layoutClasses.value, props.class],
|
15404
|
+
"style": [layoutStyles.value, props.style]
|
15206
15405
|
}, [slots.default?.()]));
|
15207
15406
|
return {
|
15208
15407
|
getLayoutItem,
|
@@ -15225,6 +15424,7 @@ const VLayoutItem = genericComponent()({
|
|
15225
15424
|
default: 300
|
15226
15425
|
},
|
15227
15426
|
modelValue: Boolean,
|
15427
|
+
...makeComponentProps(),
|
15228
15428
|
...makeLayoutItemProps()
|
15229
15429
|
},
|
15230
15430
|
setup(props, _ref) {
|
@@ -15243,8 +15443,8 @@ const VLayoutItem = genericComponent()({
|
|
15243
15443
|
absolute: toRef(props, 'absolute')
|
15244
15444
|
});
|
15245
15445
|
return () => createVNode("div", {
|
15246
|
-
"class": ['v-layout-item'],
|
15247
|
-
"style": layoutItemStyles.value
|
15446
|
+
"class": ['v-layout-item', props.class],
|
15447
|
+
"style": [layoutItemStyles.value, props.style]
|
15248
15448
|
}, [slots.default?.()]);
|
15249
15449
|
}
|
15250
15450
|
});
|
@@ -15268,6 +15468,7 @@ const VLazy = genericComponent()({
|
|
15268
15468
|
threshold: undefined
|
15269
15469
|
})
|
15270
15470
|
},
|
15471
|
+
...makeComponentProps(),
|
15271
15472
|
...makeDimensionProps(),
|
15272
15473
|
...makeTagProps(),
|
15273
15474
|
...makeTransitionProps({
|
@@ -15290,8 +15491,8 @@ const VLazy = genericComponent()({
|
|
15290
15491
|
isActive.value = isIntersecting;
|
15291
15492
|
}
|
15292
15493
|
useRender(() => withDirectives(createVNode(props.tag, {
|
15293
|
-
"class":
|
15294
|
-
"style": dimensionStyles.value
|
15494
|
+
"class": ['v-lazy', props.class],
|
15495
|
+
"style": [dimensionStyles.value, props.style]
|
15295
15496
|
}, {
|
15296
15497
|
default: () => [isActive.value && createVNode(MaybeTransition, {
|
15297
15498
|
"transition": props.transition,
|
@@ -15316,7 +15517,8 @@ const VLocaleProvider = genericComponent()({
|
|
15316
15517
|
rtl: {
|
15317
15518
|
type: Boolean,
|
15318
15519
|
default: undefined
|
15319
|
-
}
|
15520
|
+
},
|
15521
|
+
...makeComponentProps()
|
15320
15522
|
},
|
15321
15523
|
setup(props, _ref) {
|
15322
15524
|
let {
|
@@ -15326,7 +15528,8 @@ const VLocaleProvider = genericComponent()({
|
|
15326
15528
|
rtlClasses
|
15327
15529
|
} = provideLocale(props);
|
15328
15530
|
useRender(() => createVNode("div", {
|
15329
|
-
"class": ['v-locale-provider', rtlClasses.value]
|
15531
|
+
"class": ['v-locale-provider', rtlClasses.value, props.class],
|
15532
|
+
"style": props.style
|
15330
15533
|
}, [slots.default?.()]));
|
15331
15534
|
return {};
|
15332
15535
|
}
|
@@ -15336,6 +15539,7 @@ const VMain = genericComponent()({
|
|
15336
15539
|
name: 'VMain',
|
15337
15540
|
props: {
|
15338
15541
|
scrollable: Boolean,
|
15542
|
+
...makeComponentProps(),
|
15339
15543
|
...makeTagProps({
|
15340
15544
|
tag: 'main'
|
15341
15545
|
})
|
@@ -15353,8 +15557,8 @@ const VMain = genericComponent()({
|
|
15353
15557
|
useRender(() => createVNode(props.tag, {
|
15354
15558
|
"class": ['v-main', {
|
15355
15559
|
'v-main--scrollable': props.scrollable
|
15356
|
-
}],
|
15357
|
-
"style": [mainStyles.value, ssrBootStyles.value]
|
15560
|
+
}, props.class],
|
15561
|
+
"style": [mainStyles.value, ssrBootStyles.value, props.style]
|
15358
15562
|
}, {
|
15359
15563
|
default: () => [props.scrollable ? createVNode("div", {
|
15360
15564
|
"class": "v-main__scroller"
|
@@ -15364,525 +15568,99 @@ const VMain = genericComponent()({
|
|
15364
15568
|
}
|
15365
15569
|
});
|
15366
15570
|
|
15367
|
-
|
15368
|
-
|
15369
|
-
|
15370
|
-
|
15371
|
-
|
15372
|
-
|
15373
|
-
const
|
15374
|
-
const
|
15375
|
-
const
|
15376
|
-
|
15377
|
-
|
15571
|
+
function useSticky(_ref) {
|
15572
|
+
let {
|
15573
|
+
rootEl,
|
15574
|
+
isSticky,
|
15575
|
+
layoutItemStyles
|
15576
|
+
} = _ref;
|
15577
|
+
const isStuck = ref(false);
|
15578
|
+
const stuckPosition = ref(0);
|
15579
|
+
const stickyStyles = computed(() => {
|
15580
|
+
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15581
|
+
return [isSticky.value ? {
|
15582
|
+
top: 'auto',
|
15583
|
+
bottom: 'auto',
|
15584
|
+
height: undefined
|
15585
|
+
} : undefined, isStuck.value ? {
|
15586
|
+
[side]: convertToUnit(stuckPosition.value)
|
15587
|
+
} : {
|
15588
|
+
top: layoutItemStyles.value.top
|
15589
|
+
}];
|
15590
|
+
});
|
15591
|
+
onMounted(() => {
|
15592
|
+
watch(isSticky, val => {
|
15593
|
+
if (val) {
|
15594
|
+
window.addEventListener('scroll', onScroll, {
|
15595
|
+
passive: true
|
15596
|
+
});
|
15597
|
+
} else {
|
15598
|
+
window.removeEventListener('scroll', onScroll);
|
15599
|
+
}
|
15600
|
+
}, {
|
15601
|
+
immediate: true
|
15602
|
+
});
|
15603
|
+
});
|
15604
|
+
onBeforeUnmount(() => {
|
15605
|
+
document.removeEventListener('scroll', onScroll);
|
15606
|
+
});
|
15607
|
+
let lastScrollTop = 0;
|
15608
|
+
function onScroll() {
|
15609
|
+
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15610
|
+
const rect = rootEl.value.getBoundingClientRect();
|
15611
|
+
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15612
|
+
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15613
|
+
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15614
|
+
if (rect.height < window.innerHeight - layoutTop) {
|
15615
|
+
isStuck.value = 'top';
|
15616
|
+
stuckPosition.value = layoutTop;
|
15617
|
+
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15618
|
+
stuckPosition.value = window.scrollY + rect.top;
|
15619
|
+
isStuck.value = true;
|
15620
|
+
} else if (direction === 'down' && bottom <= 0) {
|
15621
|
+
stuckPosition.value = 0;
|
15622
|
+
isStuck.value = 'bottom';
|
15623
|
+
} else if (direction === 'up' && top <= 0) {
|
15624
|
+
stuckPosition.value = rect.top + top;
|
15625
|
+
isStuck.value = 'top';
|
15626
|
+
}
|
15627
|
+
lastScrollTop = window.scrollY;
|
15378
15628
|
}
|
15379
|
-
|
15380
|
-
|
15629
|
+
return {
|
15630
|
+
isStuck,
|
15631
|
+
stickyStyles
|
15632
|
+
};
|
15633
|
+
}
|
15381
15634
|
|
15382
|
-
|
15383
|
-
|
15635
|
+
const HORIZON = 100; // ms
|
15636
|
+
const HISTORY = 20; // number of samples to keep
|
15384
15637
|
|
15385
|
-
|
15386
|
-
|
15387
|
-
|
15388
|
-
|
15389
|
-
|
15638
|
+
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15639
|
+
function kineticEnergyToVelocity(work) {
|
15640
|
+
const sqrt2 = 1.41421356237;
|
15641
|
+
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15642
|
+
}
|
15643
|
+
|
15644
|
+
/**
|
15645
|
+
* Returns pointer velocity in px/s
|
15646
|
+
*/
|
15647
|
+
function calculateImpulseVelocity(samples) {
|
15648
|
+
// The input should be in reversed time order (most recent sample at index i=0)
|
15649
|
+
if (samples.length < 2) {
|
15650
|
+
// if 0 or 1 points, velocity is zero
|
15651
|
+
return 0;
|
15390
15652
|
}
|
15391
|
-
|
15392
|
-
|
15393
|
-
|
15394
|
-
|
15395
|
-
|
15396
|
-
|
15397
|
-
|
15398
|
-
|
15399
|
-
|
15400
|
-
|
15401
|
-
|
15402
|
-
}
|
15403
|
-
function date(value) {
|
15404
|
-
if (value == null) return null;
|
15405
|
-
if (value instanceof Date) return value;
|
15406
|
-
if (typeof value === 'string') {
|
15407
|
-
const parsed = Date.parse(value);
|
15408
|
-
if (!isNaN(parsed)) return new Date(parsed);
|
15409
|
-
}
|
15410
|
-
return null;
|
15411
|
-
}
|
15412
|
-
const firstDay = {
|
15413
|
-
'001': 1,
|
15414
|
-
AD: 1,
|
15415
|
-
AE: 6,
|
15416
|
-
AF: 6,
|
15417
|
-
AG: 0,
|
15418
|
-
AI: 1,
|
15419
|
-
AL: 1,
|
15420
|
-
AM: 1,
|
15421
|
-
AN: 1,
|
15422
|
-
AR: 1,
|
15423
|
-
AS: 0,
|
15424
|
-
AT: 1,
|
15425
|
-
AU: 0,
|
15426
|
-
AX: 1,
|
15427
|
-
AZ: 1,
|
15428
|
-
BA: 1,
|
15429
|
-
BD: 0,
|
15430
|
-
BE: 1,
|
15431
|
-
BG: 1,
|
15432
|
-
BH: 6,
|
15433
|
-
BM: 1,
|
15434
|
-
BN: 1,
|
15435
|
-
BR: 0,
|
15436
|
-
BS: 0,
|
15437
|
-
BT: 0,
|
15438
|
-
BW: 0,
|
15439
|
-
BY: 1,
|
15440
|
-
BZ: 0,
|
15441
|
-
CA: 0,
|
15442
|
-
CH: 1,
|
15443
|
-
CL: 1,
|
15444
|
-
CM: 1,
|
15445
|
-
CN: 0,
|
15446
|
-
CO: 0,
|
15447
|
-
CR: 1,
|
15448
|
-
CY: 1,
|
15449
|
-
CZ: 1,
|
15450
|
-
DE: 1,
|
15451
|
-
DJ: 6,
|
15452
|
-
DK: 1,
|
15453
|
-
DM: 0,
|
15454
|
-
DO: 0,
|
15455
|
-
DZ: 6,
|
15456
|
-
EC: 1,
|
15457
|
-
EE: 1,
|
15458
|
-
EG: 6,
|
15459
|
-
ES: 1,
|
15460
|
-
ET: 0,
|
15461
|
-
FI: 1,
|
15462
|
-
FJ: 1,
|
15463
|
-
FO: 1,
|
15464
|
-
FR: 1,
|
15465
|
-
GB: 1,
|
15466
|
-
'GB-alt-variant': 0,
|
15467
|
-
GE: 1,
|
15468
|
-
GF: 1,
|
15469
|
-
GP: 1,
|
15470
|
-
GR: 1,
|
15471
|
-
GT: 0,
|
15472
|
-
GU: 0,
|
15473
|
-
HK: 0,
|
15474
|
-
HN: 0,
|
15475
|
-
HR: 1,
|
15476
|
-
HU: 1,
|
15477
|
-
ID: 0,
|
15478
|
-
IE: 1,
|
15479
|
-
IL: 0,
|
15480
|
-
IN: 0,
|
15481
|
-
IQ: 6,
|
15482
|
-
IR: 6,
|
15483
|
-
IS: 1,
|
15484
|
-
IT: 1,
|
15485
|
-
JM: 0,
|
15486
|
-
JO: 6,
|
15487
|
-
JP: 0,
|
15488
|
-
KE: 0,
|
15489
|
-
KG: 1,
|
15490
|
-
KH: 0,
|
15491
|
-
KR: 0,
|
15492
|
-
KW: 6,
|
15493
|
-
KZ: 1,
|
15494
|
-
LA: 0,
|
15495
|
-
LB: 1,
|
15496
|
-
LI: 1,
|
15497
|
-
LK: 1,
|
15498
|
-
LT: 1,
|
15499
|
-
LU: 1,
|
15500
|
-
LV: 1,
|
15501
|
-
LY: 6,
|
15502
|
-
MC: 1,
|
15503
|
-
MD: 1,
|
15504
|
-
ME: 1,
|
15505
|
-
MH: 0,
|
15506
|
-
MK: 1,
|
15507
|
-
MM: 0,
|
15508
|
-
MN: 1,
|
15509
|
-
MO: 0,
|
15510
|
-
MQ: 1,
|
15511
|
-
MT: 0,
|
15512
|
-
MV: 5,
|
15513
|
-
MX: 0,
|
15514
|
-
MY: 1,
|
15515
|
-
MZ: 0,
|
15516
|
-
NI: 0,
|
15517
|
-
NL: 1,
|
15518
|
-
NO: 1,
|
15519
|
-
NP: 0,
|
15520
|
-
NZ: 1,
|
15521
|
-
OM: 6,
|
15522
|
-
PA: 0,
|
15523
|
-
PE: 0,
|
15524
|
-
PH: 0,
|
15525
|
-
PK: 0,
|
15526
|
-
PL: 1,
|
15527
|
-
PR: 0,
|
15528
|
-
PT: 0,
|
15529
|
-
PY: 0,
|
15530
|
-
QA: 6,
|
15531
|
-
RE: 1,
|
15532
|
-
RO: 1,
|
15533
|
-
RS: 1,
|
15534
|
-
RU: 1,
|
15535
|
-
SA: 0,
|
15536
|
-
SD: 6,
|
15537
|
-
SE: 1,
|
15538
|
-
SG: 0,
|
15539
|
-
SI: 1,
|
15540
|
-
SK: 1,
|
15541
|
-
SM: 1,
|
15542
|
-
SV: 0,
|
15543
|
-
SY: 6,
|
15544
|
-
TH: 0,
|
15545
|
-
TJ: 1,
|
15546
|
-
TM: 1,
|
15547
|
-
TR: 1,
|
15548
|
-
TT: 0,
|
15549
|
-
TW: 0,
|
15550
|
-
UA: 1,
|
15551
|
-
UM: 0,
|
15552
|
-
US: 0,
|
15553
|
-
UY: 1,
|
15554
|
-
UZ: 1,
|
15555
|
-
VA: 1,
|
15556
|
-
VE: 0,
|
15557
|
-
VI: 0,
|
15558
|
-
VN: 1,
|
15559
|
-
WS: 0,
|
15560
|
-
XK: 1,
|
15561
|
-
YE: 0,
|
15562
|
-
ZA: 0,
|
15563
|
-
ZW: 0
|
15564
|
-
};
|
15565
|
-
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
15566
|
-
function getWeekdays(locale) {
|
15567
|
-
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
15568
|
-
return createRange(7).map(i => {
|
15569
|
-
const weekday = new Date(sundayJanuarySecond2000);
|
15570
|
-
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
15571
|
-
return new Intl.DateTimeFormat(locale, {
|
15572
|
-
weekday: 'long'
|
15573
|
-
}).format(weekday);
|
15574
|
-
});
|
15575
|
-
}
|
15576
|
-
function format(value, formatString, locale) {
|
15577
|
-
const date = new Date(value);
|
15578
|
-
let options = {};
|
15579
|
-
switch (formatString) {
|
15580
|
-
case 'fullDateWithWeekday':
|
15581
|
-
options = {
|
15582
|
-
weekday: 'long',
|
15583
|
-
day: 'numeric',
|
15584
|
-
month: 'long',
|
15585
|
-
year: 'numeric'
|
15586
|
-
};
|
15587
|
-
break;
|
15588
|
-
case 'normalDateWithWeekday':
|
15589
|
-
options = {
|
15590
|
-
weekday: 'short',
|
15591
|
-
day: 'numeric',
|
15592
|
-
month: 'short',
|
15593
|
-
year: 'numeric'
|
15594
|
-
};
|
15595
|
-
break;
|
15596
|
-
case 'keyboardDate':
|
15597
|
-
options = {};
|
15598
|
-
break;
|
15599
|
-
case 'monthAndDate':
|
15600
|
-
options = {
|
15601
|
-
month: 'long',
|
15602
|
-
day: 'numeric'
|
15603
|
-
};
|
15604
|
-
break;
|
15605
|
-
case 'monthAndYear':
|
15606
|
-
options = {
|
15607
|
-
month: 'long',
|
15608
|
-
year: 'numeric'
|
15609
|
-
};
|
15610
|
-
break;
|
15611
|
-
default:
|
15612
|
-
options = {
|
15613
|
-
timeZone: 'UTC',
|
15614
|
-
timeZoneName: 'short'
|
15615
|
-
};
|
15616
|
-
}
|
15617
|
-
return new Intl.DateTimeFormat(locale, options).format(date);
|
15618
|
-
}
|
15619
|
-
function addDays(date, amount) {
|
15620
|
-
const d = new Date(date);
|
15621
|
-
d.setDate(d.getDate() + amount);
|
15622
|
-
return d;
|
15623
|
-
}
|
15624
|
-
function addMonths(date, amount) {
|
15625
|
-
const d = new Date(date);
|
15626
|
-
d.setMonth(d.getMonth() + amount);
|
15627
|
-
return d;
|
15628
|
-
}
|
15629
|
-
function getYear(date) {
|
15630
|
-
return date.getFullYear();
|
15631
|
-
}
|
15632
|
-
function getMonth(date) {
|
15633
|
-
return date.getMonth();
|
15634
|
-
}
|
15635
|
-
function startOfYear(date) {
|
15636
|
-
return new Date(date.getFullYear(), 0, 1);
|
15637
|
-
}
|
15638
|
-
function endOfYear(date) {
|
15639
|
-
return new Date(date.getFullYear(), 11, 31);
|
15640
|
-
}
|
15641
|
-
function getMondayOfFirstWeekOfYear(year) {
|
15642
|
-
return new Date(year, 0, 1);
|
15643
|
-
}
|
15644
|
-
|
15645
|
-
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
15646
|
-
function getWeek(date) {
|
15647
|
-
let year = date.getFullYear();
|
15648
|
-
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
15649
|
-
if (date < d1w1) {
|
15650
|
-
year = year - 1;
|
15651
|
-
d1w1 = getMondayOfFirstWeekOfYear(year);
|
15652
|
-
} else {
|
15653
|
-
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
15654
|
-
if (date >= tv) {
|
15655
|
-
year = year + 1;
|
15656
|
-
d1w1 = tv;
|
15657
|
-
}
|
15658
|
-
}
|
15659
|
-
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
15660
|
-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
15661
|
-
return Math.floor(diffDays / 7) + 1;
|
15662
|
-
}
|
15663
|
-
function isWithinRange(date, range) {
|
15664
|
-
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
15665
|
-
}
|
15666
|
-
function isValid(date) {
|
15667
|
-
const d = new Date(date);
|
15668
|
-
return d instanceof Date && !isNaN(d.getTime());
|
15669
|
-
}
|
15670
|
-
function isAfter(date, comparing) {
|
15671
|
-
return date.getTime() > comparing.getTime();
|
15672
|
-
}
|
15673
|
-
function isBefore(date, comparing) {
|
15674
|
-
return date.getTime() < comparing.getTime();
|
15675
|
-
}
|
15676
|
-
function isEqual(date, comparing) {
|
15677
|
-
return date.getTime() === comparing.getTime();
|
15678
|
-
}
|
15679
|
-
function isSameDay(date, comparing) {
|
15680
|
-
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15681
|
-
}
|
15682
|
-
function isSameMonth(date, comparing) {
|
15683
|
-
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
15684
|
-
}
|
15685
|
-
function getDiff(date, comparing, unit) {
|
15686
|
-
const d = new Date(date);
|
15687
|
-
const c = new Date(comparing);
|
15688
|
-
if (unit === 'month') {
|
15689
|
-
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
15690
|
-
}
|
15691
|
-
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
15692
|
-
}
|
15693
|
-
function setYear(date, year) {
|
15694
|
-
const d = new Date(date);
|
15695
|
-
d.setFullYear(year);
|
15696
|
-
return d;
|
15697
|
-
}
|
15698
|
-
class VuetifyDateAdapter {
|
15699
|
-
constructor() {
|
15700
|
-
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
15701
|
-
this.locale = locale;
|
15702
|
-
}
|
15703
|
-
date(value) {
|
15704
|
-
return date(value);
|
15705
|
-
}
|
15706
|
-
addDays(date, amount) {
|
15707
|
-
return addDays(date, amount);
|
15708
|
-
}
|
15709
|
-
addMonths(date, amount) {
|
15710
|
-
return addMonths(date, amount);
|
15711
|
-
}
|
15712
|
-
getWeekArray(date) {
|
15713
|
-
return getWeekArray(date);
|
15714
|
-
}
|
15715
|
-
startOfMonth(date) {
|
15716
|
-
return startOfMonth(date);
|
15717
|
-
}
|
15718
|
-
endOfMonth(date) {
|
15719
|
-
return endOfMonth(date);
|
15720
|
-
}
|
15721
|
-
format(date, formatString) {
|
15722
|
-
return format(date, formatString, this.locale);
|
15723
|
-
}
|
15724
|
-
isEqual(date, comparing) {
|
15725
|
-
return isEqual(date, comparing);
|
15726
|
-
}
|
15727
|
-
isValid(date) {
|
15728
|
-
return isValid(date);
|
15729
|
-
}
|
15730
|
-
isWithinRange(date, range) {
|
15731
|
-
return isWithinRange(date, range);
|
15732
|
-
}
|
15733
|
-
isAfter(date, comparing) {
|
15734
|
-
return isAfter(date, comparing);
|
15735
|
-
}
|
15736
|
-
isSameDay(date, comparing) {
|
15737
|
-
return isSameDay(date, comparing);
|
15738
|
-
}
|
15739
|
-
isSameMonth(date, comparing) {
|
15740
|
-
return isSameMonth(date, comparing);
|
15741
|
-
}
|
15742
|
-
setYear(date, year) {
|
15743
|
-
return setYear(date, year);
|
15744
|
-
}
|
15745
|
-
getDiff(date, comparing, unit) {
|
15746
|
-
return getDiff(date, comparing, unit);
|
15747
|
-
}
|
15748
|
-
getWeek(date) {
|
15749
|
-
return getWeek(date);
|
15750
|
-
}
|
15751
|
-
getWeekdays() {
|
15752
|
-
return getWeekdays(this.locale);
|
15753
|
-
}
|
15754
|
-
getYear(date) {
|
15755
|
-
return getYear(date);
|
15756
|
-
}
|
15757
|
-
getMonth(date) {
|
15758
|
-
return getMonth(date);
|
15759
|
-
}
|
15760
|
-
startOfYear(date) {
|
15761
|
-
return startOfYear(date);
|
15762
|
-
}
|
15763
|
-
endOfYear(date) {
|
15764
|
-
return endOfYear(date);
|
15765
|
-
}
|
15766
|
-
}
|
15767
|
-
|
15768
|
-
// Composables
|
15769
|
-
|
15770
|
-
// Types
|
15771
|
-
|
15772
|
-
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
15773
|
-
function createDate(options) {
|
15774
|
-
return options ?? {
|
15775
|
-
adapter: VuetifyDateAdapter
|
15776
|
-
};
|
15777
|
-
}
|
15778
|
-
function useDate(props) {
|
15779
|
-
const date = inject$1(DateAdapterSymbol);
|
15780
|
-
const locale = useLocale();
|
15781
|
-
if (!date) throw new Error('[Vuetify] Could not find injected date');
|
15782
|
-
|
15783
|
-
// eslint-disable-next-line new-cap
|
15784
|
-
const instance = new date.adapter(locale.current.value);
|
15785
|
-
watch(locale.current, val => {
|
15786
|
-
instance.locale = val;
|
15787
|
-
}, {
|
15788
|
-
immediate: true
|
15789
|
-
});
|
15790
|
-
return instance;
|
15791
|
-
}
|
15792
|
-
|
15793
|
-
function useSticky(_ref) {
|
15794
|
-
let {
|
15795
|
-
rootEl,
|
15796
|
-
isSticky,
|
15797
|
-
layoutItemStyles
|
15798
|
-
} = _ref;
|
15799
|
-
const isStuck = ref(false);
|
15800
|
-
const stuckPosition = ref(0);
|
15801
|
-
const stickyStyles = computed(() => {
|
15802
|
-
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15803
|
-
return [isSticky.value ? {
|
15804
|
-
top: 'auto',
|
15805
|
-
bottom: 'auto',
|
15806
|
-
height: undefined
|
15807
|
-
} : undefined, isStuck.value ? {
|
15808
|
-
[side]: convertToUnit(stuckPosition.value)
|
15809
|
-
} : {
|
15810
|
-
top: layoutItemStyles.value.top
|
15811
|
-
}];
|
15812
|
-
});
|
15813
|
-
onMounted(() => {
|
15814
|
-
watch(isSticky, val => {
|
15815
|
-
if (val) {
|
15816
|
-
window.addEventListener('scroll', onScroll, {
|
15817
|
-
passive: true
|
15818
|
-
});
|
15819
|
-
} else {
|
15820
|
-
window.removeEventListener('scroll', onScroll);
|
15821
|
-
}
|
15822
|
-
}, {
|
15823
|
-
immediate: true
|
15824
|
-
});
|
15825
|
-
});
|
15826
|
-
onBeforeUnmount(() => {
|
15827
|
-
document.removeEventListener('scroll', onScroll);
|
15828
|
-
});
|
15829
|
-
let lastScrollTop = 0;
|
15830
|
-
function onScroll() {
|
15831
|
-
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15832
|
-
const rect = rootEl.value.getBoundingClientRect();
|
15833
|
-
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15834
|
-
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15835
|
-
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15836
|
-
if (rect.height < window.innerHeight - layoutTop) {
|
15837
|
-
isStuck.value = 'top';
|
15838
|
-
stuckPosition.value = layoutTop;
|
15839
|
-
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15840
|
-
stuckPosition.value = window.scrollY + rect.top;
|
15841
|
-
isStuck.value = true;
|
15842
|
-
} else if (direction === 'down' && bottom <= 0) {
|
15843
|
-
stuckPosition.value = 0;
|
15844
|
-
isStuck.value = 'bottom';
|
15845
|
-
} else if (direction === 'up' && top <= 0) {
|
15846
|
-
stuckPosition.value = rect.top + top;
|
15847
|
-
isStuck.value = 'top';
|
15848
|
-
}
|
15849
|
-
lastScrollTop = window.scrollY;
|
15850
|
-
}
|
15851
|
-
return {
|
15852
|
-
isStuck,
|
15853
|
-
stickyStyles
|
15854
|
-
};
|
15855
|
-
}
|
15856
|
-
|
15857
|
-
const HORIZON = 100; // ms
|
15858
|
-
const HISTORY = 20; // number of samples to keep
|
15859
|
-
|
15860
|
-
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15861
|
-
function kineticEnergyToVelocity(work) {
|
15862
|
-
const sqrt2 = 1.41421356237;
|
15863
|
-
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15864
|
-
}
|
15865
|
-
|
15866
|
-
/**
|
15867
|
-
* Returns pointer velocity in px/s
|
15868
|
-
*/
|
15869
|
-
function calculateImpulseVelocity(samples) {
|
15870
|
-
// The input should be in reversed time order (most recent sample at index i=0)
|
15871
|
-
if (samples.length < 2) {
|
15872
|
-
// if 0 or 1 points, velocity is zero
|
15873
|
-
return 0;
|
15874
|
-
}
|
15875
|
-
// if (samples[1].t > samples[0].t) {
|
15876
|
-
// // Algorithm will still work, but not perfectly
|
15877
|
-
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15878
|
-
// }
|
15879
|
-
if (samples.length === 2) {
|
15880
|
-
// if 2 points, basic linear calculation
|
15881
|
-
if (samples[1].t === samples[0].t) {
|
15882
|
-
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15883
|
-
return 0;
|
15884
|
-
}
|
15885
|
-
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15653
|
+
// if (samples[1].t > samples[0].t) {
|
15654
|
+
// // Algorithm will still work, but not perfectly
|
15655
|
+
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15656
|
+
// }
|
15657
|
+
if (samples.length === 2) {
|
15658
|
+
// if 2 points, basic linear calculation
|
15659
|
+
if (samples[1].t === samples[0].t) {
|
15660
|
+
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15661
|
+
return 0;
|
15662
|
+
}
|
15663
|
+
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15886
15664
|
}
|
15887
15665
|
// Guaranteed to have at least 3 points here
|
15888
15666
|
// start with the oldest sample and go forward in time
|
@@ -16126,6 +15904,7 @@ const VNavigationDrawer = genericComponent()({
|
|
16126
15904
|
},
|
16127
15905
|
sticky: Boolean,
|
16128
15906
|
...makeBorderProps(),
|
15907
|
+
...makeComponentProps(),
|
16129
15908
|
...makeElevationProps(),
|
16130
15909
|
...makeLayoutItemProps(),
|
16131
15910
|
...makeRoundedProps(),
|
@@ -16214,7 +15993,6 @@ const VNavigationDrawer = genericComponent()({
|
|
16214
15993
|
});
|
16215
15994
|
const {
|
16216
15995
|
layoutItemStyles,
|
16217
|
-
layoutRect,
|
16218
15996
|
layoutItemScrimStyles
|
16219
15997
|
} = useLayoutItem({
|
16220
15998
|
id: props.name,
|
@@ -16244,12 +16022,6 @@ const VNavigationDrawer = genericComponent()({
|
|
16244
16022
|
opacity: dragProgress.value * 0.2,
|
16245
16023
|
transition: 'none'
|
16246
16024
|
} : undefined),
|
16247
|
-
...(layoutRect.value ? {
|
16248
|
-
left: convertToUnit(layoutRect.value.left),
|
16249
|
-
right: convertToUnit(layoutRect.value.right),
|
16250
|
-
top: convertToUnit(layoutRect.value.top),
|
16251
|
-
bottom: convertToUnit(layoutRect.value.bottom)
|
16252
|
-
} : undefined),
|
16253
16025
|
...layoutItemScrimStyles.value
|
16254
16026
|
}));
|
16255
16027
|
provideDefaults({
|
@@ -16277,8 +16049,8 @@ const VNavigationDrawer = genericComponent()({
|
|
16277
16049
|
'v-navigation-drawer--temporary': isTemporary.value,
|
16278
16050
|
'v-navigation-drawer--active': isActive.value,
|
16279
16051
|
'v-navigation-drawer--sticky': isSticky.value
|
16280
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value],
|
16281
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value]
|
16052
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
16053
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
16282
16054
|
}, attrs), {
|
16283
16055
|
default: () => [hasImage && createVNode("div", {
|
16284
16056
|
"key": "image",
|
@@ -16407,6 +16179,7 @@ const VPagination = genericComponent()({
|
|
16407
16179
|
},
|
16408
16180
|
showFirstLastPage: Boolean,
|
16409
16181
|
...makeBorderProps(),
|
16182
|
+
...makeComponentProps(),
|
16410
16183
|
...makeDensityProps(),
|
16411
16184
|
...makeElevationProps(),
|
16412
16185
|
...makeRoundedProps(),
|
@@ -16603,7 +16376,8 @@ const VPagination = genericComponent()({
|
|
16603
16376
|
}
|
16604
16377
|
useRender(() => createVNode(props.tag, {
|
16605
16378
|
"ref": resizeRef,
|
16606
|
-
"class": ['v-pagination', themeClasses.value],
|
16379
|
+
"class": ['v-pagination', themeClasses.value, props.class],
|
16380
|
+
"style": props.style,
|
16607
16381
|
"role": "navigation",
|
16608
16382
|
"aria-label": t(props.ariaLabel),
|
16609
16383
|
"onKeydown": onKeydown,
|
@@ -16662,7 +16436,8 @@ const VParallax = genericComponent()({
|
|
16662
16436
|
scale: {
|
16663
16437
|
type: [Number, String],
|
16664
16438
|
default: 0.5
|
16665
|
-
}
|
16439
|
+
},
|
16440
|
+
...makeComponentProps()
|
16666
16441
|
},
|
16667
16442
|
setup(props, _ref) {
|
16668
16443
|
let {
|
@@ -16724,7 +16499,8 @@ const VParallax = genericComponent()({
|
|
16724
16499
|
useRender(() => createVNode(VImg, {
|
16725
16500
|
"class": ['v-parallax', {
|
16726
16501
|
'v-parallax--active': isIntersecting.value
|
16727
|
-
}],
|
16502
|
+
}, props.class],
|
16503
|
+
"style": props.style,
|
16728
16504
|
"ref": root,
|
16729
16505
|
"cover": true,
|
16730
16506
|
"onLoadstart": onScroll,
|
@@ -16749,7 +16525,8 @@ const VRadio = genericComponent()({
|
|
16749
16525
|
slots
|
16750
16526
|
} = _ref;
|
16751
16527
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
16752
|
-
"class":
|
16528
|
+
"class": ['v-radio', props.class],
|
16529
|
+
"style": props.style,
|
16753
16530
|
"type": "radio"
|
16754
16531
|
}), slots));
|
16755
16532
|
return {};
|
@@ -16803,7 +16580,8 @@ const VRadioGroup = genericComponent()({
|
|
16803
16580
|
}
|
16804
16581
|
}) : props.label;
|
16805
16582
|
return createVNode(VInput, mergeProps({
|
16806
|
-
"class":
|
16583
|
+
"class": ['v-radio-group', props.class],
|
16584
|
+
"style": props.style
|
16807
16585
|
}, inputAttrs, inputProps, {
|
16808
16586
|
"modelValue": model.value,
|
16809
16587
|
"onUpdate:modelValue": $event => model.value = $event,
|
@@ -16941,7 +16719,8 @@ const VRangeSlider = genericComponent()({
|
|
16941
16719
|
'v-slider--focused': isFocused.value,
|
16942
16720
|
'v-slider--pressed': mousePressed.value,
|
16943
16721
|
'v-slider--disabled': props.disabled
|
16944
|
-
}],
|
16722
|
+
}, props.class],
|
16723
|
+
"style": props.style,
|
16945
16724
|
"ref": inputRef
|
16946
16725
|
}, inputProps, {
|
16947
16726
|
"focused": isFocused.value
|
@@ -17084,6 +16863,7 @@ const VRating = genericComponent()({
|
|
17084
16863
|
validator: v => ['top', 'bottom'].includes(v)
|
17085
16864
|
},
|
17086
16865
|
ripple: Boolean,
|
16866
|
+
...makeComponentProps(),
|
17087
16867
|
...makeDensityProps(),
|
17088
16868
|
...makeSizeProps(),
|
17089
16869
|
...makeTagProps(),
|
@@ -17201,7 +16981,8 @@ const VRating = genericComponent()({
|
|
17201
16981
|
"class": ['v-rating', {
|
17202
16982
|
'v-rating--hover': props.hover,
|
17203
16983
|
'v-rating--readonly': props.readonly
|
17204
|
-
}, themeClasses.value]
|
16984
|
+
}, themeClasses.value, props.class],
|
16985
|
+
"style": props.style
|
17205
16986
|
}, {
|
17206
16987
|
default: () => [createVNode(VRatingItem, {
|
17207
16988
|
"value": 0,
|
@@ -17301,6 +17082,7 @@ const makeVSlideGroupProps = propsFactory({
|
|
17301
17082
|
type: [Boolean, String],
|
17302
17083
|
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
17303
17084
|
},
|
17085
|
+
...makeComponentProps(),
|
17304
17086
|
...makeTagProps(),
|
17305
17087
|
...makeGroupProps({
|
17306
17088
|
selectedClass: 'v-slide-group-item--active'
|
@@ -17464,7 +17246,7 @@ const VSlideGroup = genericComponent()({
|
|
17464
17246
|
function focus(location) {
|
17465
17247
|
if (!contentRef.value) return;
|
17466
17248
|
if (!location) {
|
17467
|
-
const focusable =
|
17249
|
+
const focusable = focusableChildren(contentRef.value);
|
17468
17250
|
focusable[0]?.focus();
|
17469
17251
|
} else if (location === 'next') {
|
17470
17252
|
const el = contentRef.value.querySelector(':focus')?.nextElementSibling;
|
@@ -17541,7 +17323,8 @@ const VSlideGroup = genericComponent()({
|
|
17541
17323
|
'v-slide-group--vertical': !isHorizontal.value,
|
17542
17324
|
'v-slide-group--has-affixes': hasAffixes.value,
|
17543
17325
|
'v-slide-group--is-overflowing': isOverflowing.value
|
17544
|
-
}],
|
17326
|
+
}, props.class],
|
17327
|
+
"style": props.style,
|
17545
17328
|
"tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
|
17546
17329
|
"onFocus": onFocus
|
17547
17330
|
}, {
|
@@ -17691,7 +17474,8 @@ const VSnackbar = genericComponent()({
|
|
17691
17474
|
'v-snackbar--active': isActive.value,
|
17692
17475
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
17693
17476
|
'v-snackbar--vertical': props.vertical
|
17694
|
-
}, positionClasses.value]
|
17477
|
+
}, positionClasses.value, props.class],
|
17478
|
+
"style": props.style
|
17695
17479
|
}, overlayProps, {
|
17696
17480
|
"modelValue": isActive.value,
|
17697
17481
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -17791,7 +17575,8 @@ const VSwitch = genericComponent()({
|
|
17791
17575
|
'v-switch--inset': props.inset
|
17792
17576
|
}, {
|
17793
17577
|
'v-switch--indeterminate': indeterminate.value
|
17794
|
-
}, loaderClasses.value]
|
17578
|
+
}, loaderClasses.value, props.class],
|
17579
|
+
"style": props.style
|
17795
17580
|
}, inputAttrs, inputProps, {
|
17796
17581
|
"id": id.value,
|
17797
17582
|
"focused": isFocused.value
|
@@ -17860,6 +17645,7 @@ const VSystemBar = genericComponent()({
|
|
17860
17645
|
color: String,
|
17861
17646
|
height: [Number, String],
|
17862
17647
|
window: Boolean,
|
17648
|
+
...makeComponentProps(),
|
17863
17649
|
...makeElevationProps(),
|
17864
17650
|
...makeLayoutItemProps(),
|
17865
17651
|
...makeRoundedProps(),
|
@@ -17901,8 +17687,8 @@ const VSystemBar = genericComponent()({
|
|
17901
17687
|
useRender(() => createVNode(props.tag, {
|
17902
17688
|
"class": ['v-system-bar', {
|
17903
17689
|
'v-system-bar--window': props.window
|
17904
|
-
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
|
17905
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value]
|
17690
|
+
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
17691
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
|
17906
17692
|
}, slots));
|
17907
17693
|
return {};
|
17908
17694
|
}
|
@@ -17975,10 +17761,10 @@ const VTab = genericComponent()({
|
|
17975
17761
|
useRender(() => {
|
17976
17762
|
const [btnProps] = VBtn.filterProps(props);
|
17977
17763
|
return createVNode(VBtn, mergeProps({
|
17978
|
-
"_as": "VTab",
|
17979
17764
|
"symbol": VTabsSymbol,
|
17980
17765
|
"ref": rootEl,
|
17981
|
-
"class": ['v-tab'],
|
17766
|
+
"class": ['v-tab', props.class],
|
17767
|
+
"style": props.style,
|
17982
17768
|
"tabindex": isSelected.value ? 0 : -1,
|
17983
17769
|
"role": "tab",
|
17984
17770
|
"aria-selected": String(isSelected.value),
|
@@ -18073,10 +17859,10 @@ const VTabs = genericComponent()({
|
|
18073
17859
|
'v-tabs--fixed-tabs': props.fixedTabs,
|
18074
17860
|
'v-tabs--grow': props.grow,
|
18075
17861
|
'v-tabs--stacked': props.stacked
|
18076
|
-
}, densityClasses.value, backgroundColorClasses.value],
|
17862
|
+
}, densityClasses.value, backgroundColorClasses.value, props.class],
|
18077
17863
|
"style": [{
|
18078
17864
|
'--v-tabs-height': convertToUnit(props.height)
|
18079
|
-
}, backgroundColorStyles.value],
|
17865
|
+
}, backgroundColorStyles.value, props.style],
|
18080
17866
|
"role": "tablist",
|
18081
17867
|
"symbol": VTabsSymbol
|
18082
17868
|
}), {
|
@@ -18096,6 +17882,7 @@ const VTable = genericComponent()({
|
|
18096
17882
|
fixedFooter: Boolean,
|
18097
17883
|
height: [Number, String],
|
18098
17884
|
hover: Boolean,
|
17885
|
+
...makeComponentProps(),
|
18099
17886
|
...makeDensityProps(),
|
18100
17887
|
...makeTagProps(),
|
18101
17888
|
...makeThemeProps()
|
@@ -18118,7 +17905,8 @@ const VTable = genericComponent()({
|
|
18118
17905
|
'v-table--has-top': !!slots.top,
|
18119
17906
|
'v-table--has-bottom': !!slots.bottom,
|
18120
17907
|
'v-table--hover': props.hover
|
18121
|
-
}, themeClasses.value, densityClasses.value]
|
17908
|
+
}, themeClasses.value, densityClasses.value, props.class],
|
17909
|
+
"style": props.style
|
18122
17910
|
}, {
|
18123
17911
|
default: () => [slots.top?.(), slots.default ? createVNode("div", {
|
18124
17912
|
"class": "v-table__wrapper",
|
@@ -18197,7 +17985,7 @@ const VTextarea = genericComponent()({
|
|
18197
17985
|
const vFieldRef = ref();
|
18198
17986
|
const controlHeight = ref('');
|
18199
17987
|
const textareaRef = ref();
|
18200
|
-
const isActive = computed(() => isFocused.value || props.
|
17988
|
+
const isActive = computed(() => props.persistentPlaceholder || isFocused.value || props.active);
|
18201
17989
|
function onFocus() {
|
18202
17990
|
if (textareaRef.value !== document.activeElement) {
|
18203
17991
|
textareaRef.value?.focus();
|
@@ -18283,7 +18071,8 @@ const VTextarea = genericComponent()({
|
|
18283
18071
|
'v-textarea--auto-grow': props.autoGrow,
|
18284
18072
|
'v-textarea--no-resize': props.noResize || props.autoGrow,
|
18285
18073
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
18286
|
-
}]
|
18074
|
+
}, props.class],
|
18075
|
+
"style": props.style
|
18287
18076
|
}, rootAttrs, inputProps, {
|
18288
18077
|
"focused": isFocused.value
|
18289
18078
|
}), {
|
@@ -18367,6 +18156,7 @@ const VThemeProvider = genericComponent()({
|
|
18367
18156
|
name: 'VThemeProvider',
|
18368
18157
|
props: {
|
18369
18158
|
withBackground: Boolean,
|
18159
|
+
...makeComponentProps(),
|
18370
18160
|
...makeThemeProps(),
|
18371
18161
|
...makeTagProps()
|
18372
18162
|
},
|
@@ -18380,7 +18170,8 @@ const VThemeProvider = genericComponent()({
|
|
18380
18170
|
return () => {
|
18381
18171
|
if (!props.withBackground) return slots.default?.();
|
18382
18172
|
return createVNode(props.tag, {
|
18383
|
-
"class": ['v-theme-provider', themeClasses.value]
|
18173
|
+
"class": ['v-theme-provider', themeClasses.value, props.class],
|
18174
|
+
"style": props.style
|
18384
18175
|
}, {
|
18385
18176
|
default: () => [slots.default?.()]
|
18386
18177
|
});
|
@@ -18425,6 +18216,7 @@ const VTimeline = genericComponent()({
|
|
18425
18216
|
type: String,
|
18426
18217
|
validator: v => ['start', 'end', 'both'].includes(v)
|
18427
18218
|
},
|
18219
|
+
...makeComponentProps(),
|
18428
18220
|
...makeDensityProps(),
|
18429
18221
|
...makeTagProps(),
|
18430
18222
|
...makeThemeProps()
|
@@ -18468,10 +18260,10 @@ const VTimeline = genericComponent()({
|
|
18468
18260
|
useRender(() => createVNode(props.tag, {
|
18469
18261
|
"class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
|
18470
18262
|
'v-timeline--inset-line': !!props.lineInset
|
18471
|
-
}, themeClasses.value, densityClasses.value, sideClasses.value],
|
18472
|
-
"style": {
|
18263
|
+
}, themeClasses.value, densityClasses.value, sideClasses.value, props.class],
|
18264
|
+
"style": [{
|
18473
18265
|
'--v-timeline-line-thickness': convertToUnit(props.lineThickness)
|
18474
|
-
}
|
18266
|
+
}, props.style]
|
18475
18267
|
}, slots));
|
18476
18268
|
return {};
|
18477
18269
|
}
|
@@ -18486,6 +18278,7 @@ const VTimelineDivider = genericComponent()({
|
|
18486
18278
|
icon: IconValue,
|
18487
18279
|
iconColor: String,
|
18488
18280
|
lineColor: String,
|
18281
|
+
...makeComponentProps(),
|
18489
18282
|
...makeRoundedProps(),
|
18490
18283
|
...makeSizeProps(),
|
18491
18284
|
...makeElevationProps()
|
@@ -18515,7 +18308,8 @@ const VTimelineDivider = genericComponent()({
|
|
18515
18308
|
useRender(() => createVNode("div", {
|
18516
18309
|
"class": ['v-timeline-divider', {
|
18517
18310
|
'v-timeline-divider--fill-dot': props.fillDot
|
18518
|
-
}]
|
18311
|
+
}, props.class],
|
18312
|
+
"style": props.style
|
18519
18313
|
}, [createVNode("div", {
|
18520
18314
|
"class": ['v-timeline-divider__before', lineColorClasses.value],
|
18521
18315
|
"style": lineColorStyles.value
|
@@ -18565,11 +18359,12 @@ const VTimelineItem = genericComponent()({
|
|
18565
18359
|
icon: IconValue,
|
18566
18360
|
iconColor: String,
|
18567
18361
|
lineInset: [Number, String],
|
18568
|
-
...
|
18362
|
+
...makeComponentProps(),
|
18363
|
+
...makeDimensionProps(),
|
18569
18364
|
...makeElevationProps(),
|
18365
|
+
...makeRoundedProps(),
|
18570
18366
|
...makeSizeProps(),
|
18571
|
-
...makeTagProps()
|
18572
|
-
...makeDimensionProps()
|
18367
|
+
...makeTagProps()
|
18573
18368
|
},
|
18574
18369
|
setup(props, _ref) {
|
18575
18370
|
let {
|
@@ -18589,11 +18384,11 @@ const VTimelineItem = genericComponent()({
|
|
18589
18384
|
useRender(() => createVNode("div", {
|
18590
18385
|
"class": ['v-timeline-item', {
|
18591
18386
|
'v-timeline-item--fill-dot': props.fillDot
|
18592
|
-
}],
|
18593
|
-
"style": {
|
18387
|
+
}, props.class],
|
18388
|
+
"style": [{
|
18594
18389
|
'--v-timeline-dot-size': convertToUnit(dotSize.value),
|
18595
18390
|
'--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
|
18596
|
-
}
|
18391
|
+
}, props.style]
|
18597
18392
|
}, [createVNode("div", {
|
18598
18393
|
"class": "v-timeline-item__body",
|
18599
18394
|
"style": dimensionStyles.value
|
@@ -18669,7 +18464,8 @@ const VTooltip = genericComponent()({
|
|
18669
18464
|
const [overlayProps] = VOverlay.filterProps(props);
|
18670
18465
|
return createVNode(VOverlay, mergeProps({
|
18671
18466
|
"ref": overlay,
|
18672
|
-
"class": ['v-tooltip'],
|
18467
|
+
"class": ['v-tooltip', props.class],
|
18468
|
+
"style": props.style,
|
18673
18469
|
"id": id.value
|
18674
18470
|
}, overlayProps, {
|
18675
18471
|
"modelValue": isActive.value,
|
@@ -18717,7 +18513,8 @@ const VValidation = genericComponent()({
|
|
18717
18513
|
const VVirtualScrollItem = genericComponent()({
|
18718
18514
|
name: 'VVirtualScrollItem',
|
18719
18515
|
props: {
|
18720
|
-
dynamicHeight: Boolean
|
18516
|
+
dynamicHeight: Boolean,
|
18517
|
+
...makeComponentProps()
|
18721
18518
|
},
|
18722
18519
|
emits: {
|
18723
18520
|
'update:height': height => true
|
@@ -18744,7 +18541,8 @@ const VVirtualScrollItem = genericComponent()({
|
|
18744
18541
|
onUpdated(updateHeight);
|
18745
18542
|
useRender(() => createVNode("div", {
|
18746
18543
|
"ref": props.dynamicHeight ? resizeRef : undefined,
|
18747
|
-
"class":
|
18544
|
+
"class": ['v-virtual-scroll__item', props.class],
|
18545
|
+
"style": props.style
|
18748
18546
|
}, [slots.default?.()]));
|
18749
18547
|
}
|
18750
18548
|
});
|
@@ -18761,7 +18559,7 @@ const VVirtualScroll = genericComponent()({
|
|
18761
18559
|
default: () => []
|
18762
18560
|
},
|
18763
18561
|
itemHeight: [Number, String],
|
18764
|
-
|
18562
|
+
...makeComponentProps(),
|
18765
18563
|
...makeDimensionProps()
|
18766
18564
|
},
|
18767
18565
|
setup(props, _ref) {
|
@@ -18788,7 +18586,7 @@ const VVirtualScroll = genericComponent()({
|
|
18788
18586
|
const sizeMap = new Map();
|
18789
18587
|
let sizes = createRange(props.items.length).map(() => itemHeight.value);
|
18790
18588
|
const visibleItems = computed(() => {
|
18791
|
-
return
|
18589
|
+
return Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
|
18792
18590
|
});
|
18793
18591
|
function handleItemResize(index, height) {
|
18794
18592
|
itemHeight.value = Math.max(itemHeight.value, height);
|
@@ -18799,20 +18597,13 @@ const VVirtualScroll = genericComponent()({
|
|
18799
18597
|
return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
|
18800
18598
|
}
|
18801
18599
|
function calculateMidPointIndex(scrollTop) {
|
18802
|
-
|
18803
|
-
let
|
18804
|
-
|
18805
|
-
|
18806
|
-
|
18807
|
-
if (middleOffset === scrollTop) {
|
18808
|
-
return middle;
|
18809
|
-
} else if (middleOffset < scrollTop) {
|
18810
|
-
start = middle + 1;
|
18811
|
-
} else if (middleOffset > scrollTop) {
|
18812
|
-
end = middle - 1;
|
18813
|
-
}
|
18600
|
+
const end = props.items.length;
|
18601
|
+
let middle = 0;
|
18602
|
+
let middleOffset = 0;
|
18603
|
+
while (middleOffset < scrollTop && middle < end) {
|
18604
|
+
middleOffset += sizes[middle++] || itemHeight.value;
|
18814
18605
|
}
|
18815
|
-
return
|
18606
|
+
return middle - 1;
|
18816
18607
|
}
|
18817
18608
|
let lastScrollTop = 0;
|
18818
18609
|
function handleScroll() {
|
@@ -18834,8 +18625,12 @@ const VVirtualScroll = genericComponent()({
|
|
18834
18625
|
const offset = calculateOffset(index);
|
18835
18626
|
rootEl.value.scrollTop = offset;
|
18836
18627
|
}
|
18628
|
+
const items = computed(() => props.items.map((item, index) => ({
|
18629
|
+
raw: item,
|
18630
|
+
index
|
18631
|
+
})));
|
18837
18632
|
const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value));
|
18838
|
-
const computedItems = computed(() =>
|
18633
|
+
const computedItems = computed(() => items.value.slice(first.value, last.value));
|
18839
18634
|
const paddingTop = computed(() => calculateOffset(first.value));
|
18840
18635
|
const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
|
18841
18636
|
const {
|
@@ -18860,23 +18655,23 @@ const VVirtualScroll = genericComponent()({
|
|
18860
18655
|
});
|
18861
18656
|
useRender(() => createVNode("div", {
|
18862
18657
|
"ref": rootEl,
|
18863
|
-
"class":
|
18658
|
+
"class": ['v-virtual-scroll', props.class],
|
18864
18659
|
"onScroll": handleScroll,
|
18865
|
-
"style": dimensionStyles.value
|
18660
|
+
"style": [dimensionStyles.value, props.style]
|
18866
18661
|
}, [createVNode("div", {
|
18867
18662
|
"class": "v-virtual-scroll__container",
|
18868
18663
|
"style": {
|
18869
18664
|
paddingTop: convertToUnit(paddingTop.value),
|
18870
18665
|
paddingBottom: convertToUnit(paddingBottom.value)
|
18871
18666
|
}
|
18872
|
-
}, [computedItems.value.map(
|
18873
|
-
"key": index,
|
18667
|
+
}, [computedItems.value.map(item => createVNode(VVirtualScrollItem, {
|
18668
|
+
"key": item.index,
|
18874
18669
|
"dynamicHeight": !props.itemHeight,
|
18875
|
-
"onUpdate:height": height => handleItemResize(index
|
18670
|
+
"onUpdate:height": height => handleItemResize(item.index, height)
|
18876
18671
|
}, {
|
18877
18672
|
default: () => [slots.default?.({
|
18878
|
-
item,
|
18879
|
-
index: index
|
18673
|
+
item: item.raw,
|
18674
|
+
index: item.index
|
18880
18675
|
})]
|
18881
18676
|
}))])]));
|
18882
18677
|
return {
|
@@ -19310,6 +19105,17 @@ const VDataTableHeaders = genericComponent()({
|
|
19310
19105
|
backgroundColorClasses,
|
19311
19106
|
backgroundColorStyles
|
19312
19107
|
} = useBackgroundColor(props, 'color');
|
19108
|
+
const slotProps = computed(() => ({
|
19109
|
+
headers: headers.value,
|
19110
|
+
columns: columns.value,
|
19111
|
+
toggleSort,
|
19112
|
+
sortBy: sortBy.value,
|
19113
|
+
someSelected: someSelected.value,
|
19114
|
+
allSelected: allSelected.value,
|
19115
|
+
selectAll,
|
19116
|
+
getSortIcon,
|
19117
|
+
getFixedStyles
|
19118
|
+
}));
|
19313
19119
|
const VDataTableHeaderCell = _ref2 => {
|
19314
19120
|
let {
|
19315
19121
|
column,
|
@@ -19337,14 +19143,14 @@ const VDataTableHeaders = genericComponent()({
|
|
19337
19143
|
"noPadding": noPadding
|
19338
19144
|
}, {
|
19339
19145
|
default: () => {
|
19340
|
-
const
|
19341
|
-
const
|
19146
|
+
const columnSlotName = `column.${column.key}`;
|
19147
|
+
const columnSlotProps = {
|
19342
19148
|
column,
|
19343
19149
|
selectAll
|
19344
19150
|
};
|
19345
|
-
if (slots[
|
19151
|
+
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
19346
19152
|
if (column.key === 'data-table-select') {
|
19347
|
-
return slots['column.data-table-select']?.(
|
19153
|
+
return slots['column.data-table-select']?.(columnSlotProps) ?? createVNode(VCheckboxBtn, {
|
19348
19154
|
"modelValue": allSelected.value,
|
19349
19155
|
"indeterminate": someSelected.value && !allSelected.value,
|
19350
19156
|
"onUpdate:modelValue": selectAll
|
@@ -19364,22 +19170,24 @@ const VDataTableHeaders = genericComponent()({
|
|
19364
19170
|
}
|
19365
19171
|
});
|
19366
19172
|
};
|
19367
|
-
useRender(() =>
|
19368
|
-
"
|
19369
|
-
|
19370
|
-
|
19371
|
-
|
19372
|
-
"
|
19373
|
-
|
19374
|
-
"
|
19375
|
-
|
19376
|
-
|
19377
|
-
|
19378
|
-
|
19379
|
-
|
19380
|
-
|
19381
|
-
|
19382
|
-
|
19173
|
+
useRender(() => {
|
19174
|
+
return createVNode(Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => createVNode("tr", null, [row.map((column, x) => createVNode(VDataTableHeaderCell, {
|
19175
|
+
"column": column,
|
19176
|
+
"x": x,
|
19177
|
+
"y": y
|
19178
|
+
}, null))])), props.loading && createVNode("tr", {
|
19179
|
+
"class": "v-data-table__progress"
|
19180
|
+
}, [createVNode("th", {
|
19181
|
+
"colspan": columns.value.length
|
19182
|
+
}, [createVNode(LoaderSlot, {
|
19183
|
+
"name": "v-data-table-headers",
|
19184
|
+
"active": true,
|
19185
|
+
"color": typeof props.loading === 'boolean' ? undefined : props.loading,
|
19186
|
+
"indeterminate": true
|
19187
|
+
}, {
|
19188
|
+
default: slots.loader
|
19189
|
+
})])])]);
|
19190
|
+
});
|
19383
19191
|
}
|
19384
19192
|
});
|
19385
19193
|
|
@@ -19678,9 +19486,7 @@ const VDataTableRow = defineComponent({
|
|
19678
19486
|
'v-data-table__tr--clickable': !!props.onClick
|
19679
19487
|
}],
|
19680
19488
|
"onClick": props.onClick
|
19681
|
-
}, [
|
19682
|
-
"key": "no-data"
|
19683
|
-
}, slots), props.item && columns.value.map((column, i) => createVNode(VDataTableColumn, {
|
19489
|
+
}, [props.item && columns.value.map((column, i) => createVNode(VDataTableColumn, {
|
19684
19490
|
"align": column.align,
|
19685
19491
|
"fixed": column.fixed,
|
19686
19492
|
"fixedOffset": column.fixedOffset,
|
@@ -19770,13 +19576,13 @@ const VDataTableRows = genericComponent()({
|
|
19770
19576
|
useRender(() => {
|
19771
19577
|
if (props.loading && slots.loading) {
|
19772
19578
|
return createVNode("tr", {
|
19773
|
-
"class": "v-data-table-rows-
|
19579
|
+
"class": "v-data-table-rows-loading",
|
19774
19580
|
"key": "loading"
|
19775
19581
|
}, [createVNode("td", {
|
19776
19582
|
"colspan": columns.value.length
|
19777
19583
|
}, [slots.loading()])]);
|
19778
19584
|
}
|
19779
|
-
if (!props.loading && !props.items.length && !props.hideNoData
|
19585
|
+
if (!props.loading && !props.items.length && !props.hideNoData) {
|
19780
19586
|
return createVNode("tr", {
|
19781
19587
|
"class": "v-data-table-rows-no-data",
|
19782
19588
|
"key": "no-data"
|
@@ -19870,6 +19676,11 @@ function providePagination(options) {
|
|
19870
19676
|
if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1;
|
19871
19677
|
return Math.ceil(itemsLength.value / itemsPerPage.value);
|
19872
19678
|
});
|
19679
|
+
watchEffect(() => {
|
19680
|
+
if (page.value > pageCount.value) {
|
19681
|
+
page.value = pageCount.value;
|
19682
|
+
}
|
19683
|
+
});
|
19873
19684
|
function setItemsPerPage(value) {
|
19874
19685
|
itemsPerPage.value = value;
|
19875
19686
|
page.value = 1;
|
@@ -20133,6 +19944,11 @@ const makeVDataTableProps = propsFactory({
|
|
20133
19944
|
width: [String, Number],
|
20134
19945
|
fixedHeader: Boolean,
|
20135
19946
|
fixedFooter: Boolean,
|
19947
|
+
loading: [Boolean, String],
|
19948
|
+
loadingText: {
|
19949
|
+
type: String,
|
19950
|
+
default: '$vuetify.dataIterator.loadingText'
|
19951
|
+
},
|
20136
19952
|
'onClick:row': Function,
|
20137
19953
|
search: String
|
20138
19954
|
}, 'v-data-table');
|
@@ -20240,12 +20056,15 @@ const VDataTable = genericComponent()({
|
|
20240
20056
|
provideDefaults({
|
20241
20057
|
VDataTableRows: {
|
20242
20058
|
hideNoData: toRef(props, 'hideNoData'),
|
20243
|
-
noDataText: toRef(props, 'noDataText')
|
20059
|
+
noDataText: toRef(props, 'noDataText'),
|
20060
|
+
loading: toRef(props, 'loading'),
|
20061
|
+
loadingText: toRef(props, 'loadingText')
|
20244
20062
|
}
|
20245
20063
|
});
|
20246
20064
|
useRender(() => createVNode(VTable, {
|
20247
20065
|
"class": ['v-data-table', {
|
20248
|
-
'v-data-table--show-select': props.showSelect
|
20066
|
+
'v-data-table--show-select': props.showSelect,
|
20067
|
+
'v-data-table--loading': props.loading
|
20249
20068
|
}],
|
20250
20069
|
"fixedHeader": props.fixedHeader,
|
20251
20070
|
"fixedFooter": props.fixedFooter,
|
@@ -20255,8 +20074,9 @@ const VDataTable = genericComponent()({
|
|
20255
20074
|
top: slots.top,
|
20256
20075
|
default: slots.default ?? (() => createVNode(Fragment, null, [slots.colgroup?.({
|
20257
20076
|
columns
|
20258
|
-
}), createVNode("thead", null, [
|
20077
|
+
}), createVNode("thead", null, [createVNode(VDataTableHeaders, {
|
20259
20078
|
"sticky": props.fixedHeader,
|
20079
|
+
"loading": props.loading,
|
20260
20080
|
"multiSort": props.multiSort
|
20261
20081
|
}, slots)]), slots.thead?.(), createVNode("tbody", null, [slots.body ? slots.body() : createVNode(VDataTableRows, {
|
20262
20082
|
"items": paginatedItems.value,
|
@@ -20446,11 +20266,15 @@ const VDataTableVirtual = genericComponent()({
|
|
20446
20266
|
provideDefaults({
|
20447
20267
|
VDataTableRows: {
|
20448
20268
|
hideNoData: toRef(props, 'hideNoData'),
|
20449
|
-
noDataText: toRef(props, 'noDataText')
|
20269
|
+
noDataText: toRef(props, 'noDataText'),
|
20270
|
+
loading: toRef(props, 'loading'),
|
20271
|
+
loadingText: toRef(props, 'loadingText')
|
20450
20272
|
}
|
20451
20273
|
});
|
20452
20274
|
useRender(() => createVNode(VTable, {
|
20453
|
-
"class":
|
20275
|
+
"class": ['v-data-table', {
|
20276
|
+
'v-data-table--loading': props.loading
|
20277
|
+
}],
|
20454
20278
|
"style": {
|
20455
20279
|
'--v-table-row-height': convertToUnit(itemHeight.value)
|
20456
20280
|
},
|
@@ -20469,6 +20293,7 @@ const VDataTableVirtual = genericComponent()({
|
|
20469
20293
|
}
|
20470
20294
|
}, [createVNode("table", null, [createVNode("thead", null, [createVNode(VDataTableHeaders, {
|
20471
20295
|
"sticky": props.fixedHeader,
|
20296
|
+
"loading": props.loading,
|
20472
20297
|
"multiSort": props.multiSort
|
20473
20298
|
}, slots)]), createVNode("tbody", null, [createVNode("tr", {
|
20474
20299
|
"style": {
|
@@ -20507,11 +20332,6 @@ const VDataTableServer = genericComponent()({
|
|
20507
20332
|
name: 'VDataTableServer',
|
20508
20333
|
props: {
|
20509
20334
|
color: String,
|
20510
|
-
loading: [Boolean, String],
|
20511
|
-
loadingText: {
|
20512
|
-
type: String,
|
20513
|
-
default: '$vuetify.dataIterator.loadingText'
|
20514
|
-
},
|
20515
20335
|
itemsLength: {
|
20516
20336
|
type: [Number, String],
|
20517
20337
|
required: true
|
@@ -20621,7 +20441,7 @@ const VDataTableServer = genericComponent()({
|
|
20621
20441
|
}), createVNode("thead", {
|
20622
20442
|
"class": "v-data-table__thead",
|
20623
20443
|
"role": "rowgroup"
|
20624
|
-
}, [
|
20444
|
+
}, [createVNode(VDataTableHeaders, {
|
20625
20445
|
"sticky": props.fixedHeader,
|
20626
20446
|
"loading": props.loading,
|
20627
20447
|
"color": props.color
|
@@ -21123,130 +20943,542 @@ var components = /*#__PURE__*/Object.freeze({
|
|
21123
20943
|
|
21124
20944
|
// Types
|
21125
20945
|
|
21126
|
-
function mounted$2(el, binding) {
|
21127
|
-
const modifiers = binding.modifiers || {};
|
21128
|
-
const value = binding.value;
|
21129
|
-
const {
|
21130
|
-
once,
|
21131
|
-
immediate,
|
21132
|
-
...modifierKeys
|
21133
|
-
} = modifiers;
|
21134
|
-
const defaultValue = !Object.keys(modifierKeys).length;
|
21135
|
-
const {
|
21136
|
-
handler,
|
21137
|
-
options
|
21138
|
-
} = typeof value === 'object' ? value : {
|
21139
|
-
handler: value,
|
21140
|
-
options: {
|
21141
|
-
attributes: modifierKeys?.attr ?? defaultValue,
|
21142
|
-
characterData: modifierKeys?.char ?? defaultValue,
|
21143
|
-
childList: modifierKeys?.child ?? defaultValue,
|
21144
|
-
subtree: modifierKeys?.sub ?? defaultValue
|
20946
|
+
function mounted$2(el, binding) {
|
20947
|
+
const modifiers = binding.modifiers || {};
|
20948
|
+
const value = binding.value;
|
20949
|
+
const {
|
20950
|
+
once,
|
20951
|
+
immediate,
|
20952
|
+
...modifierKeys
|
20953
|
+
} = modifiers;
|
20954
|
+
const defaultValue = !Object.keys(modifierKeys).length;
|
20955
|
+
const {
|
20956
|
+
handler,
|
20957
|
+
options
|
20958
|
+
} = typeof value === 'object' ? value : {
|
20959
|
+
handler: value,
|
20960
|
+
options: {
|
20961
|
+
attributes: modifierKeys?.attr ?? defaultValue,
|
20962
|
+
characterData: modifierKeys?.char ?? defaultValue,
|
20963
|
+
childList: modifierKeys?.child ?? defaultValue,
|
20964
|
+
subtree: modifierKeys?.sub ?? defaultValue
|
20965
|
+
}
|
20966
|
+
};
|
20967
|
+
const observer = new MutationObserver(function () {
|
20968
|
+
let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
20969
|
+
let observer = arguments.length > 1 ? arguments[1] : undefined;
|
20970
|
+
handler?.(mutations, observer);
|
20971
|
+
if (once) unmounted$2(el, binding);
|
20972
|
+
});
|
20973
|
+
if (immediate) handler?.([], observer);
|
20974
|
+
el._mutate = Object(el._mutate);
|
20975
|
+
el._mutate[binding.instance.$.uid] = {
|
20976
|
+
observer
|
20977
|
+
};
|
20978
|
+
observer.observe(el, options);
|
20979
|
+
}
|
20980
|
+
function unmounted$2(el, binding) {
|
20981
|
+
if (!el._mutate?.[binding.instance.$.uid]) return;
|
20982
|
+
el._mutate[binding.instance.$.uid].observer.disconnect();
|
20983
|
+
delete el._mutate[binding.instance.$.uid];
|
20984
|
+
}
|
20985
|
+
const Mutate = {
|
20986
|
+
mounted: mounted$2,
|
20987
|
+
unmounted: unmounted$2
|
20988
|
+
};
|
20989
|
+
|
20990
|
+
function mounted$1(el, binding) {
|
20991
|
+
const handler = binding.value;
|
20992
|
+
const options = {
|
20993
|
+
passive: !binding.modifiers?.active
|
20994
|
+
};
|
20995
|
+
window.addEventListener('resize', handler, options);
|
20996
|
+
el._onResize = Object(el._onResize);
|
20997
|
+
el._onResize[binding.instance.$.uid] = {
|
20998
|
+
handler,
|
20999
|
+
options
|
21000
|
+
};
|
21001
|
+
if (!binding.modifiers?.quiet) {
|
21002
|
+
handler();
|
21003
|
+
}
|
21004
|
+
}
|
21005
|
+
function unmounted$1(el, binding) {
|
21006
|
+
if (!el._onResize?.[binding.instance.$.uid]) return;
|
21007
|
+
const {
|
21008
|
+
handler,
|
21009
|
+
options
|
21010
|
+
} = el._onResize[binding.instance.$.uid];
|
21011
|
+
window.removeEventListener('resize', handler, options);
|
21012
|
+
delete el._onResize[binding.instance.$.uid];
|
21013
|
+
}
|
21014
|
+
const Resize = {
|
21015
|
+
mounted: mounted$1,
|
21016
|
+
unmounted: unmounted$1
|
21017
|
+
};
|
21018
|
+
|
21019
|
+
function mounted(el, binding) {
|
21020
|
+
const {
|
21021
|
+
self = false
|
21022
|
+
} = binding.modifiers ?? {};
|
21023
|
+
const value = binding.value;
|
21024
|
+
const options = typeof value === 'object' && value.options || {
|
21025
|
+
passive: true
|
21026
|
+
};
|
21027
|
+
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
21028
|
+
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
21029
|
+
if (!target) return;
|
21030
|
+
target.addEventListener('scroll', handler, options);
|
21031
|
+
el._onScroll = Object(el._onScroll);
|
21032
|
+
el._onScroll[binding.instance.$.uid] = {
|
21033
|
+
handler,
|
21034
|
+
options,
|
21035
|
+
// Don't reference self
|
21036
|
+
target: self ? undefined : target
|
21037
|
+
};
|
21038
|
+
}
|
21039
|
+
function unmounted(el, binding) {
|
21040
|
+
if (!el._onScroll?.[binding.instance.$.uid]) return;
|
21041
|
+
const {
|
21042
|
+
handler,
|
21043
|
+
options,
|
21044
|
+
target = el
|
21045
|
+
} = el._onScroll[binding.instance.$.uid];
|
21046
|
+
target.removeEventListener('scroll', handler, options);
|
21047
|
+
delete el._onScroll[binding.instance.$.uid];
|
21048
|
+
}
|
21049
|
+
function updated(el, binding) {
|
21050
|
+
if (binding.value === binding.oldValue) return;
|
21051
|
+
unmounted(el, binding);
|
21052
|
+
mounted(el, binding);
|
21053
|
+
}
|
21054
|
+
const Scroll = {
|
21055
|
+
mounted,
|
21056
|
+
unmounted,
|
21057
|
+
updated
|
21058
|
+
};
|
21059
|
+
|
21060
|
+
var directives = /*#__PURE__*/Object.freeze({
|
21061
|
+
__proto__: null,
|
21062
|
+
ClickOutside: ClickOutside,
|
21063
|
+
Intersect: Intersect,
|
21064
|
+
Mutate: Mutate,
|
21065
|
+
Resize: Resize,
|
21066
|
+
Ripple: Ripple,
|
21067
|
+
Scroll: Scroll,
|
21068
|
+
Touch: Touch
|
21069
|
+
});
|
21070
|
+
|
21071
|
+
// Utilities
|
21072
|
+
|
21073
|
+
// Types
|
21074
|
+
|
21075
|
+
function getWeekArray(date) {
|
21076
|
+
let currentWeek = [];
|
21077
|
+
const weeks = [];
|
21078
|
+
const firstDayOfMonth = startOfMonth(date);
|
21079
|
+
const lastDayOfMonth = endOfMonth(date);
|
21080
|
+
for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
|
21081
|
+
currentWeek.push(null);
|
21082
|
+
}
|
21083
|
+
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
21084
|
+
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
21085
|
+
|
21086
|
+
// Add the day to the current week
|
21087
|
+
currentWeek.push(day);
|
21088
|
+
|
21089
|
+
// If the current week has 7 days, add it to the weeks array and start a new week
|
21090
|
+
if (currentWeek.length === 7) {
|
21091
|
+
weeks.push(currentWeek);
|
21092
|
+
currentWeek = [];
|
21145
21093
|
}
|
21146
|
-
}
|
21147
|
-
|
21148
|
-
|
21149
|
-
|
21150
|
-
|
21151
|
-
|
21094
|
+
}
|
21095
|
+
for (let i = currentWeek.length; i < 7; i++) {
|
21096
|
+
currentWeek.push(null);
|
21097
|
+
}
|
21098
|
+
weeks.push(currentWeek);
|
21099
|
+
return weeks;
|
21100
|
+
}
|
21101
|
+
function startOfMonth(date) {
|
21102
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
21103
|
+
}
|
21104
|
+
function endOfMonth(date) {
|
21105
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
21106
|
+
}
|
21107
|
+
function date(value) {
|
21108
|
+
if (value == null) return null;
|
21109
|
+
if (value instanceof Date) return value;
|
21110
|
+
if (typeof value === 'string') {
|
21111
|
+
const parsed = Date.parse(value);
|
21112
|
+
if (!isNaN(parsed)) return new Date(parsed);
|
21113
|
+
}
|
21114
|
+
return null;
|
21115
|
+
}
|
21116
|
+
const firstDay = {
|
21117
|
+
'001': 1,
|
21118
|
+
AD: 1,
|
21119
|
+
AE: 6,
|
21120
|
+
AF: 6,
|
21121
|
+
AG: 0,
|
21122
|
+
AI: 1,
|
21123
|
+
AL: 1,
|
21124
|
+
AM: 1,
|
21125
|
+
AN: 1,
|
21126
|
+
AR: 1,
|
21127
|
+
AS: 0,
|
21128
|
+
AT: 1,
|
21129
|
+
AU: 0,
|
21130
|
+
AX: 1,
|
21131
|
+
AZ: 1,
|
21132
|
+
BA: 1,
|
21133
|
+
BD: 0,
|
21134
|
+
BE: 1,
|
21135
|
+
BG: 1,
|
21136
|
+
BH: 6,
|
21137
|
+
BM: 1,
|
21138
|
+
BN: 1,
|
21139
|
+
BR: 0,
|
21140
|
+
BS: 0,
|
21141
|
+
BT: 0,
|
21142
|
+
BW: 0,
|
21143
|
+
BY: 1,
|
21144
|
+
BZ: 0,
|
21145
|
+
CA: 0,
|
21146
|
+
CH: 1,
|
21147
|
+
CL: 1,
|
21148
|
+
CM: 1,
|
21149
|
+
CN: 0,
|
21150
|
+
CO: 0,
|
21151
|
+
CR: 1,
|
21152
|
+
CY: 1,
|
21153
|
+
CZ: 1,
|
21154
|
+
DE: 1,
|
21155
|
+
DJ: 6,
|
21156
|
+
DK: 1,
|
21157
|
+
DM: 0,
|
21158
|
+
DO: 0,
|
21159
|
+
DZ: 6,
|
21160
|
+
EC: 1,
|
21161
|
+
EE: 1,
|
21162
|
+
EG: 6,
|
21163
|
+
ES: 1,
|
21164
|
+
ET: 0,
|
21165
|
+
FI: 1,
|
21166
|
+
FJ: 1,
|
21167
|
+
FO: 1,
|
21168
|
+
FR: 1,
|
21169
|
+
GB: 1,
|
21170
|
+
'GB-alt-variant': 0,
|
21171
|
+
GE: 1,
|
21172
|
+
GF: 1,
|
21173
|
+
GP: 1,
|
21174
|
+
GR: 1,
|
21175
|
+
GT: 0,
|
21176
|
+
GU: 0,
|
21177
|
+
HK: 0,
|
21178
|
+
HN: 0,
|
21179
|
+
HR: 1,
|
21180
|
+
HU: 1,
|
21181
|
+
ID: 0,
|
21182
|
+
IE: 1,
|
21183
|
+
IL: 0,
|
21184
|
+
IN: 0,
|
21185
|
+
IQ: 6,
|
21186
|
+
IR: 6,
|
21187
|
+
IS: 1,
|
21188
|
+
IT: 1,
|
21189
|
+
JM: 0,
|
21190
|
+
JO: 6,
|
21191
|
+
JP: 0,
|
21192
|
+
KE: 0,
|
21193
|
+
KG: 1,
|
21194
|
+
KH: 0,
|
21195
|
+
KR: 0,
|
21196
|
+
KW: 6,
|
21197
|
+
KZ: 1,
|
21198
|
+
LA: 0,
|
21199
|
+
LB: 1,
|
21200
|
+
LI: 1,
|
21201
|
+
LK: 1,
|
21202
|
+
LT: 1,
|
21203
|
+
LU: 1,
|
21204
|
+
LV: 1,
|
21205
|
+
LY: 6,
|
21206
|
+
MC: 1,
|
21207
|
+
MD: 1,
|
21208
|
+
ME: 1,
|
21209
|
+
MH: 0,
|
21210
|
+
MK: 1,
|
21211
|
+
MM: 0,
|
21212
|
+
MN: 1,
|
21213
|
+
MO: 0,
|
21214
|
+
MQ: 1,
|
21215
|
+
MT: 0,
|
21216
|
+
MV: 5,
|
21217
|
+
MX: 0,
|
21218
|
+
MY: 1,
|
21219
|
+
MZ: 0,
|
21220
|
+
NI: 0,
|
21221
|
+
NL: 1,
|
21222
|
+
NO: 1,
|
21223
|
+
NP: 0,
|
21224
|
+
NZ: 1,
|
21225
|
+
OM: 6,
|
21226
|
+
PA: 0,
|
21227
|
+
PE: 0,
|
21228
|
+
PH: 0,
|
21229
|
+
PK: 0,
|
21230
|
+
PL: 1,
|
21231
|
+
PR: 0,
|
21232
|
+
PT: 0,
|
21233
|
+
PY: 0,
|
21234
|
+
QA: 6,
|
21235
|
+
RE: 1,
|
21236
|
+
RO: 1,
|
21237
|
+
RS: 1,
|
21238
|
+
RU: 1,
|
21239
|
+
SA: 0,
|
21240
|
+
SD: 6,
|
21241
|
+
SE: 1,
|
21242
|
+
SG: 0,
|
21243
|
+
SI: 1,
|
21244
|
+
SK: 1,
|
21245
|
+
SM: 1,
|
21246
|
+
SV: 0,
|
21247
|
+
SY: 6,
|
21248
|
+
TH: 0,
|
21249
|
+
TJ: 1,
|
21250
|
+
TM: 1,
|
21251
|
+
TR: 1,
|
21252
|
+
TT: 0,
|
21253
|
+
TW: 0,
|
21254
|
+
UA: 1,
|
21255
|
+
UM: 0,
|
21256
|
+
US: 0,
|
21257
|
+
UY: 1,
|
21258
|
+
UZ: 1,
|
21259
|
+
VA: 1,
|
21260
|
+
VE: 0,
|
21261
|
+
VI: 0,
|
21262
|
+
VN: 1,
|
21263
|
+
WS: 0,
|
21264
|
+
XK: 1,
|
21265
|
+
YE: 0,
|
21266
|
+
ZA: 0,
|
21267
|
+
ZW: 0
|
21268
|
+
};
|
21269
|
+
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
21270
|
+
function getWeekdays(locale) {
|
21271
|
+
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
21272
|
+
return createRange(7).map(i => {
|
21273
|
+
const weekday = new Date(sundayJanuarySecond2000);
|
21274
|
+
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
21275
|
+
return new Intl.DateTimeFormat(locale, {
|
21276
|
+
weekday: 'long'
|
21277
|
+
}).format(weekday);
|
21152
21278
|
});
|
21153
|
-
if (immediate) handler?.([], observer);
|
21154
|
-
el._mutate = Object(el._mutate);
|
21155
|
-
el._mutate[binding.instance.$.uid] = {
|
21156
|
-
observer
|
21157
|
-
};
|
21158
|
-
observer.observe(el, options);
|
21159
21279
|
}
|
21160
|
-
function
|
21161
|
-
|
21162
|
-
|
21163
|
-
|
21280
|
+
function format(value, formatString, locale) {
|
21281
|
+
const date = new Date(value);
|
21282
|
+
let options = {};
|
21283
|
+
switch (formatString) {
|
21284
|
+
case 'fullDateWithWeekday':
|
21285
|
+
options = {
|
21286
|
+
weekday: 'long',
|
21287
|
+
day: 'numeric',
|
21288
|
+
month: 'long',
|
21289
|
+
year: 'numeric'
|
21290
|
+
};
|
21291
|
+
break;
|
21292
|
+
case 'normalDateWithWeekday':
|
21293
|
+
options = {
|
21294
|
+
weekday: 'short',
|
21295
|
+
day: 'numeric',
|
21296
|
+
month: 'short',
|
21297
|
+
year: 'numeric'
|
21298
|
+
};
|
21299
|
+
break;
|
21300
|
+
case 'keyboardDate':
|
21301
|
+
options = {};
|
21302
|
+
break;
|
21303
|
+
case 'monthAndDate':
|
21304
|
+
options = {
|
21305
|
+
month: 'long',
|
21306
|
+
day: 'numeric'
|
21307
|
+
};
|
21308
|
+
break;
|
21309
|
+
case 'monthAndYear':
|
21310
|
+
options = {
|
21311
|
+
month: 'long',
|
21312
|
+
year: 'numeric'
|
21313
|
+
};
|
21314
|
+
break;
|
21315
|
+
default:
|
21316
|
+
options = {
|
21317
|
+
timeZone: 'UTC',
|
21318
|
+
timeZoneName: 'short'
|
21319
|
+
};
|
21320
|
+
}
|
21321
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
21322
|
+
}
|
21323
|
+
function addDays(date, amount) {
|
21324
|
+
const d = new Date(date);
|
21325
|
+
d.setDate(d.getDate() + amount);
|
21326
|
+
return d;
|
21327
|
+
}
|
21328
|
+
function addMonths(date, amount) {
|
21329
|
+
const d = new Date(date);
|
21330
|
+
d.setMonth(d.getMonth() + amount);
|
21331
|
+
return d;
|
21332
|
+
}
|
21333
|
+
function getYear(date) {
|
21334
|
+
return date.getFullYear();
|
21335
|
+
}
|
21336
|
+
function getMonth(date) {
|
21337
|
+
return date.getMonth();
|
21338
|
+
}
|
21339
|
+
function startOfYear(date) {
|
21340
|
+
return new Date(date.getFullYear(), 0, 1);
|
21341
|
+
}
|
21342
|
+
function endOfYear(date) {
|
21343
|
+
return new Date(date.getFullYear(), 11, 31);
|
21344
|
+
}
|
21345
|
+
function getMondayOfFirstWeekOfYear(year) {
|
21346
|
+
return new Date(year, 0, 1);
|
21164
21347
|
}
|
21165
|
-
const Mutate = {
|
21166
|
-
mounted: mounted$2,
|
21167
|
-
unmounted: unmounted$2
|
21168
|
-
};
|
21169
21348
|
|
21170
|
-
|
21171
|
-
|
21172
|
-
|
21173
|
-
|
21174
|
-
|
21175
|
-
|
21176
|
-
|
21177
|
-
|
21178
|
-
|
21179
|
-
|
21180
|
-
|
21181
|
-
|
21182
|
-
|
21349
|
+
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
21350
|
+
function getWeek(date) {
|
21351
|
+
let year = date.getFullYear();
|
21352
|
+
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
21353
|
+
if (date < d1w1) {
|
21354
|
+
year = year - 1;
|
21355
|
+
d1w1 = getMondayOfFirstWeekOfYear(year);
|
21356
|
+
} else {
|
21357
|
+
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
21358
|
+
if (date >= tv) {
|
21359
|
+
year = year + 1;
|
21360
|
+
d1w1 = tv;
|
21361
|
+
}
|
21183
21362
|
}
|
21363
|
+
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
21364
|
+
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
21365
|
+
return Math.floor(diffDays / 7) + 1;
|
21184
21366
|
}
|
21185
|
-
function
|
21186
|
-
|
21187
|
-
const {
|
21188
|
-
handler,
|
21189
|
-
options
|
21190
|
-
} = el._onResize[binding.instance.$.uid];
|
21191
|
-
window.removeEventListener('resize', handler, options);
|
21192
|
-
delete el._onResize[binding.instance.$.uid];
|
21367
|
+
function isWithinRange(date, range) {
|
21368
|
+
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
21193
21369
|
}
|
21194
|
-
|
21195
|
-
|
21196
|
-
|
21197
|
-
};
|
21198
|
-
|
21199
|
-
function mounted(el, binding) {
|
21200
|
-
const {
|
21201
|
-
self = false
|
21202
|
-
} = binding.modifiers ?? {};
|
21203
|
-
const value = binding.value;
|
21204
|
-
const options = typeof value === 'object' && value.options || {
|
21205
|
-
passive: true
|
21206
|
-
};
|
21207
|
-
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
21208
|
-
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
21209
|
-
if (!target) return;
|
21210
|
-
target.addEventListener('scroll', handler, options);
|
21211
|
-
el._onScroll = Object(el._onScroll);
|
21212
|
-
el._onScroll[binding.instance.$.uid] = {
|
21213
|
-
handler,
|
21214
|
-
options,
|
21215
|
-
// Don't reference self
|
21216
|
-
target: self ? undefined : target
|
21217
|
-
};
|
21370
|
+
function isValid(date) {
|
21371
|
+
const d = new Date(date);
|
21372
|
+
return d instanceof Date && !isNaN(d.getTime());
|
21218
21373
|
}
|
21219
|
-
function
|
21220
|
-
|
21221
|
-
const {
|
21222
|
-
handler,
|
21223
|
-
options,
|
21224
|
-
target = el
|
21225
|
-
} = el._onScroll[binding.instance.$.uid];
|
21226
|
-
target.removeEventListener('scroll', handler, options);
|
21227
|
-
delete el._onScroll[binding.instance.$.uid];
|
21374
|
+
function isAfter(date, comparing) {
|
21375
|
+
return date.getTime() > comparing.getTime();
|
21228
21376
|
}
|
21229
|
-
function
|
21230
|
-
|
21231
|
-
|
21232
|
-
|
21377
|
+
function isBefore(date, comparing) {
|
21378
|
+
return date.getTime() < comparing.getTime();
|
21379
|
+
}
|
21380
|
+
function isEqual(date, comparing) {
|
21381
|
+
return date.getTime() === comparing.getTime();
|
21382
|
+
}
|
21383
|
+
function isSameDay(date, comparing) {
|
21384
|
+
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
21385
|
+
}
|
21386
|
+
function isSameMonth(date, comparing) {
|
21387
|
+
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
21388
|
+
}
|
21389
|
+
function getDiff(date, comparing, unit) {
|
21390
|
+
const d = new Date(date);
|
21391
|
+
const c = new Date(comparing);
|
21392
|
+
if (unit === 'month') {
|
21393
|
+
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
21394
|
+
}
|
21395
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
21396
|
+
}
|
21397
|
+
function setYear(date, year) {
|
21398
|
+
const d = new Date(date);
|
21399
|
+
d.setFullYear(year);
|
21400
|
+
return d;
|
21401
|
+
}
|
21402
|
+
class VuetifyDateAdapter {
|
21403
|
+
constructor() {
|
21404
|
+
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
21405
|
+
this.locale = locale;
|
21406
|
+
}
|
21407
|
+
date(value) {
|
21408
|
+
return date(value);
|
21409
|
+
}
|
21410
|
+
addDays(date, amount) {
|
21411
|
+
return addDays(date, amount);
|
21412
|
+
}
|
21413
|
+
addMonths(date, amount) {
|
21414
|
+
return addMonths(date, amount);
|
21415
|
+
}
|
21416
|
+
getWeekArray(date) {
|
21417
|
+
return getWeekArray(date);
|
21418
|
+
}
|
21419
|
+
startOfMonth(date) {
|
21420
|
+
return startOfMonth(date);
|
21421
|
+
}
|
21422
|
+
endOfMonth(date) {
|
21423
|
+
return endOfMonth(date);
|
21424
|
+
}
|
21425
|
+
format(date, formatString) {
|
21426
|
+
return format(date, formatString, this.locale);
|
21427
|
+
}
|
21428
|
+
isEqual(date, comparing) {
|
21429
|
+
return isEqual(date, comparing);
|
21430
|
+
}
|
21431
|
+
isValid(date) {
|
21432
|
+
return isValid(date);
|
21433
|
+
}
|
21434
|
+
isWithinRange(date, range) {
|
21435
|
+
return isWithinRange(date, range);
|
21436
|
+
}
|
21437
|
+
isAfter(date, comparing) {
|
21438
|
+
return isAfter(date, comparing);
|
21439
|
+
}
|
21440
|
+
isSameDay(date, comparing) {
|
21441
|
+
return isSameDay(date, comparing);
|
21442
|
+
}
|
21443
|
+
isSameMonth(date, comparing) {
|
21444
|
+
return isSameMonth(date, comparing);
|
21445
|
+
}
|
21446
|
+
setYear(date, year) {
|
21447
|
+
return setYear(date, year);
|
21448
|
+
}
|
21449
|
+
getDiff(date, comparing, unit) {
|
21450
|
+
return getDiff(date, comparing, unit);
|
21451
|
+
}
|
21452
|
+
getWeek(date) {
|
21453
|
+
return getWeek(date);
|
21454
|
+
}
|
21455
|
+
getWeekdays() {
|
21456
|
+
return getWeekdays(this.locale);
|
21457
|
+
}
|
21458
|
+
getYear(date) {
|
21459
|
+
return getYear(date);
|
21460
|
+
}
|
21461
|
+
getMonth(date) {
|
21462
|
+
return getMonth(date);
|
21463
|
+
}
|
21464
|
+
startOfYear(date) {
|
21465
|
+
return startOfYear(date);
|
21466
|
+
}
|
21467
|
+
endOfYear(date) {
|
21468
|
+
return endOfYear(date);
|
21469
|
+
}
|
21233
21470
|
}
|
21234
|
-
const Scroll = {
|
21235
|
-
mounted,
|
21236
|
-
unmounted,
|
21237
|
-
updated
|
21238
|
-
};
|
21239
21471
|
|
21240
|
-
|
21241
|
-
|
21242
|
-
|
21243
|
-
|
21244
|
-
|
21245
|
-
|
21246
|
-
|
21247
|
-
|
21248
|
-
|
21249
|
-
}
|
21472
|
+
// Composables
|
21473
|
+
|
21474
|
+
// Types
|
21475
|
+
|
21476
|
+
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
21477
|
+
function createDate(options) {
|
21478
|
+
return options ?? {
|
21479
|
+
adapter: VuetifyDateAdapter
|
21480
|
+
};
|
21481
|
+
}
|
21250
21482
|
|
21251
21483
|
// Composables
|
21252
21484
|
function createVuetify$1() {
|
@@ -21333,7 +21565,7 @@ function createVuetify$1() {
|
|
21333
21565
|
date
|
21334
21566
|
};
|
21335
21567
|
}
|
21336
|
-
const version$1 = "4.0.0-dev-
|
21568
|
+
const version$1 = "4.0.0-dev-20230511.0";
|
21337
21569
|
createVuetify$1.version = version$1;
|
21338
21570
|
|
21339
21571
|
// Vue's inject() can only be used in setup
|
@@ -21345,7 +21577,7 @@ function inject(key) {
|
|
21345
21577
|
}
|
21346
21578
|
}
|
21347
21579
|
|
21348
|
-
const version = "4.0.0-dev-
|
21580
|
+
const version = "4.0.0-dev-20230511.0";
|
21349
21581
|
|
21350
21582
|
const createVuetify = function () {
|
21351
21583
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
@@ -21356,5 +21588,5 @@ const createVuetify = function () {
|
|
21356
21588
|
});
|
21357
21589
|
};
|
21358
21590
|
|
21359
|
-
export { components, createVuetify, directives,
|
21591
|
+
export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|
21360
21592
|
//# sourceMappingURL=vuetify-labs.esm.js.map
|