@vuetify/nightly 4.0.0-dev-20230426.0 → 4.0.0-dev-20230427.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -2
- package/dist/json/attributes.json +218 -194
- package/dist/json/importMap.json +12 -12
- package/dist/json/tags.json +7 -1
- package/dist/json/web-types.json +379 -326
- package/dist/vuetify-labs.css +1361 -1362
- package/dist/vuetify-labs.d.ts +5791 -8230
- package/dist/vuetify-labs.esm.js +1286 -1090
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1285 -1089
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +29 -30
- package/dist/vuetify.d.ts +5991 -7516
- package/dist/vuetify.esm.js +1248 -1063
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1247 -1062
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +743 -738
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +1 -1
- package/lib/blueprints/md1.d.ts +1 -1
- package/lib/blueprints/md2.d.ts +1 -1
- package/lib/blueprints/md3.d.ts +1 -1
- package/lib/components/VAlert/VAlert.mjs +6 -4
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +57 -55
- package/lib/components/VApp/VApp.mjs +4 -2
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.ts +22 -13
- package/lib/components/VAppBar/VAppBar.mjs +3 -3
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +7 -4
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +87 -92
- package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +225 -403
- package/lib/components/VAvatar/VAvatar.mjs +4 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/index.d.ts +23 -14
- package/lib/components/VBadge/VBadge.mjs +6 -5
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/index.d.ts +27 -22
- package/lib/components/VBanner/VBanner.mjs +6 -4
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +5 -2
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/index.d.ts +92 -66
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.ts +22 -13
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -18
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +134 -93
- package/lib/components/VBtn/VBtn.mjs +5 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.ts +33 -36
- package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +22 -13
- package/lib/components/VBtnToggle/VBtnToggle.mjs +4 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +30 -21
- package/lib/components/VCard/VCard.mjs +5 -3
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs +7 -4
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +5 -2
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +250 -141
- package/lib/components/VCarousel/VCarousel.mjs +3 -3
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +6 -3
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +78 -141
- package/lib/components/VCheckbox/VCheckbox.mjs +3 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +69 -103
- package/lib/components/VChip/VChip.mjs +7 -8
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +27 -30
- package/lib/components/VChipGroup/VChipGroup.mjs +4 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.d.ts +22 -13
- package/lib/components/VCode/index.d.ts +30 -17
- package/lib/components/VColorPicker/VColorPicker.mjs +3 -3
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -2
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +7 -5
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.ts +34 -1
- package/lib/components/VCombobox/VCombobox.mjs +2 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +225 -403
- package/lib/components/VCounter/VCounter.mjs +4 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +22 -145
- package/lib/components/VDefaultsProvider/index.d.ts +0 -12
- package/lib/components/VDialog/VDialog.mjs +4 -3
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +104 -282
- package/lib/components/VDivider/VDivider.mjs +4 -2
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/index.d.ts +22 -13
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.ts +109 -81
- package/lib/components/VField/VField.css +0 -1
- package/lib/components/VField/VField.mjs +9 -6
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +0 -1
- package/lib/components/VField/VFieldLabel.mjs +6 -3
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +119 -70
- package/lib/components/VFileInput/VFileInput.mjs +2 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +99 -150
- package/lib/components/VFooter/VFooter.mjs +4 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.ts +22 -13
- package/lib/components/VForm/VForm.mjs +5 -2
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +30 -17
- package/lib/components/VGrid/VCol.mjs +4 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +4 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +4 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/index.d.ts +104 -60
- package/lib/components/VHover/index.d.ts +20 -44
- package/lib/components/VIcon/VIcon.mjs +4 -2
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/index.d.ts +23 -26
- package/lib/components/VImg/VImg.mjs +5 -3
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +26 -29
- package/lib/components/VInput/VInput.mjs +4 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +31 -34
- package/lib/components/VItemGroup/VItemGroup.mjs +4 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.d.ts +30 -33
- package/lib/components/VKbd/index.d.ts +30 -17
- package/lib/components/VLabel/VLabel.mjs +4 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/index.d.ts +22 -13
- package/lib/components/VLayout/VLayout.mjs +8 -4
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +4 -2
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.ts +44 -26
- package/lib/components/VLazy/VLazy.mjs +4 -2
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +22 -13
- package/lib/components/VList/VList.mjs +7 -24
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +5 -2
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +4 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +4 -1
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +4 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +5 -3
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +932 -826
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -2
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/index.d.ts +30 -17
- package/lib/components/VMain/VMain.mjs +4 -2
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.d.ts +30 -17
- package/lib/components/VMenu/VMenu.mjs +2 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +104 -282
- package/lib/components/VMessages/VMessages.mjs +4 -2
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +22 -145
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +4 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.ts +26 -29
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.d.ts +3 -13
- package/lib/components/VOverlay/VOverlay.mjs +5 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +38 -45
- package/lib/components/VPagination/VPagination.mjs +4 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +23 -30
- package/lib/components/VParallax/VParallax.mjs +5 -2
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.d.ts +34 -33
- package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -2
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/index.d.ts +22 -13
- package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -4
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +42 -45
- package/lib/components/VRadio/VRadio.mjs +2 -1
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.ts +27 -38
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +39 -62
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +27 -38
- package/lib/components/VRating/VRating.mjs +4 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +23 -18
- package/lib/components/VResponsive/VResponsive.mjs +4 -2
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/index.d.ts +43 -31
- package/lib/components/VSelect/VSelect.mjs +2 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +194 -552
- package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +76 -46
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.ts +23 -14
- package/lib/components/VSheet/VSheet.mjs +4 -2
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.d.ts +22 -13
- package/lib/components/VSlideGroup/VSlideGroup.mjs +6 -3
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +59 -90
- package/lib/components/VSlider/VSlider.mjs +2 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +6 -4
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +6 -4
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +27 -38
- package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +92 -142
- package/lib/components/VSwitch/VSwitch.mjs +2 -1
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +39 -66
- package/lib/components/VSystemBar/VSystemBar.mjs +4 -2
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/index.d.ts +22 -13
- package/lib/components/VTable/VTable.mjs +4 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/index.d.ts +26 -29
- package/lib/components/VTabs/VTab.mjs +2 -2
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +2 -2
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +45 -27
- package/lib/components/VTextField/VTextField.mjs +2 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +208 -269
- package/lib/components/VTextarea/VTextarea.mjs +2 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +79 -122
- package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/index.d.ts +22 -13
- package/lib/components/VTimeline/VTimeline.mjs +5 -3
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +4 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +8 -6
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.ts +67 -57
- package/lib/components/VToolbar/VToolbar.mjs +4 -2
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +74 -71
- package/lib/components/VTooltip/VTooltip.mjs +2 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +104 -150
- package/lib/components/VValidation/index.d.ts +0 -12
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +21 -23
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.ts +70 -30
- package/lib/components/VWindow/VWindow.mjs +4 -1
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +4 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.ts +61 -79
- package/lib/components/index.d.ts +5229 -6754
- package/lib/components/transitions/index.d.ts +0 -192
- package/lib/composables/component.mjs +11 -0
- package/lib/composables/component.mjs.map +1 -0
- package/lib/composables/defaults.mjs +51 -5
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/icons.mjs +15 -4
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/index.mjs +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +2 -2
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa-svg.d.ts +1 -1
- package/lib/iconsets/fa.d.ts +1 -1
- package/lib/iconsets/fa4.d.ts +1 -1
- package/lib/iconsets/md.d.ts +1 -1
- package/lib/iconsets/mdi-svg.d.ts +1 -1
- package/lib/iconsets/mdi.d.ts +1 -1
- package/lib/index.d.ts +11 -11
- package/lib/labs/VDataTable/VDataTable.mjs +1 -1
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +2 -2
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +61 -933
- package/lib/labs/VInfiniteScroll/index.d.ts +8 -36
- package/lib/labs/VSkeletonLoader/index.d.ts +0 -12
- package/lib/labs/components.d.ts +115 -1027
- package/lib/labs/date/DateAdapter.mjs +2 -0
- package/lib/labs/date/DateAdapter.mjs.map +1 -0
- package/lib/labs/date/adapters/vuetify.d.ts +52 -0
- package/lib/{adapters → labs/date/adapters}/vuetify.mjs +2 -2
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
- package/lib/{composables → labs/date}/date.mjs +3 -3
- package/lib/labs/date/date.mjs.map +1 -0
- package/lib/labs/date/index.d.ts +40 -0
- package/lib/labs/date/index.mjs +2 -0
- package/lib/labs/date/index.mjs.map +1 -0
- package/lib/labs/index.mjs +3 -2
- package/lib/labs/index.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +9 -4
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +11 -43
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +28 -2
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.mjs.map +1 -1
- package/package.json +2 -1
- package/lib/adapters/date-adapter.mjs +0 -2
- package/lib/adapters/date-adapter.mjs.map +0 -1
- package/lib/adapters/vuetify.mjs.map +0 -1
- package/lib/composables/date.mjs.map +0 -1
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v4.0.0-dev-
|
2
|
+
* Vuetify v4.0.0-dev-20230427.0
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
6
6
|
|
7
|
-
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize,
|
7
|
+
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, onScopeDispose, effectScope, shallowRef, inject as inject$1, unref, provide, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onDeactivated, onActivated, onMounted, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, Fragment, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, cloneVNode, warn, toHandlers, Teleport, createTextVNode, onBeforeUpdate, vModelText, onUpdated, withModifiers } from 'vue';
|
8
8
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
@@ -167,11 +167,11 @@ const keyValues = Object.freeze({
|
|
167
167
|
function keys(o) {
|
168
168
|
return Object.keys(o);
|
169
169
|
}
|
170
|
-
function pick(obj, paths) {
|
170
|
+
function pick(obj, paths, exclude) {
|
171
171
|
const found = Object.create(null);
|
172
172
|
const rest = Object.create(null);
|
173
173
|
for (const key in obj) {
|
174
|
-
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key)) {
|
174
|
+
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) && !exclude?.some(path => path === key)) {
|
175
175
|
found[key] = obj[key];
|
176
176
|
} else {
|
177
177
|
rest[key] = obj[key];
|
@@ -356,6 +356,32 @@ function callEvent(handler) {
|
|
356
356
|
handler(...args);
|
357
357
|
}
|
358
358
|
}
|
359
|
+
function focusableChildren(el) {
|
360
|
+
const targets = ['button', '[href]', 'input:not([type="hidden"])', 'select', 'textarea', '[tabindex]'].map(s => `${s}:not([tabindex="-1"]):not([disabled])`).join(', ');
|
361
|
+
return [...el.querySelectorAll(targets)];
|
362
|
+
}
|
363
|
+
function focusChild(el, location) {
|
364
|
+
const focusable = focusableChildren(el);
|
365
|
+
const idx = focusable.indexOf(document.activeElement);
|
366
|
+
if (!location) {
|
367
|
+
if (!el.contains(document.activeElement)) {
|
368
|
+
focusable[0]?.focus();
|
369
|
+
}
|
370
|
+
} else if (location === 'first') {
|
371
|
+
focusable[0]?.focus();
|
372
|
+
} else if (location === 'last') {
|
373
|
+
focusable.at(-1)?.focus();
|
374
|
+
} else {
|
375
|
+
let _el;
|
376
|
+
let idxx = idx;
|
377
|
+
const inc = location === 'next' ? 1 : -1;
|
378
|
+
do {
|
379
|
+
idxx += inc;
|
380
|
+
_el = focusable[idxx];
|
381
|
+
} while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
382
|
+
if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');
|
383
|
+
}
|
384
|
+
}
|
359
385
|
|
360
386
|
const block = ['top', 'bottom'];
|
361
387
|
const inline = ['start', 'end', 'left', 'right'];
|
@@ -856,44 +882,6 @@ function getContrast(first, second) {
|
|
856
882
|
return (light + 0.05) / (dark + 0.05);
|
857
883
|
}
|
858
884
|
|
859
|
-
// Utilities
|
860
|
-
function getCurrentInstance(name, message) {
|
861
|
-
const vm = getCurrentInstance$1();
|
862
|
-
if (!vm) {
|
863
|
-
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
864
|
-
}
|
865
|
-
return vm;
|
866
|
-
}
|
867
|
-
function getCurrentInstanceName() {
|
868
|
-
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
869
|
-
const vm = getCurrentInstance(name).type;
|
870
|
-
return toKebabCase(vm?.aliasName || vm?.name);
|
871
|
-
}
|
872
|
-
let _uid = 0;
|
873
|
-
let _map = new WeakMap();
|
874
|
-
function getUid() {
|
875
|
-
const vm = getCurrentInstance('getUid');
|
876
|
-
if (_map.has(vm)) return _map.get(vm);else {
|
877
|
-
const uid = _uid++;
|
878
|
-
_map.set(vm, uid);
|
879
|
-
return uid;
|
880
|
-
}
|
881
|
-
}
|
882
|
-
getUid.reset = () => {
|
883
|
-
_uid = 0;
|
884
|
-
_map = new WeakMap();
|
885
|
-
};
|
886
|
-
|
887
|
-
function injectSelf(key) {
|
888
|
-
const {
|
889
|
-
provides
|
890
|
-
} = getCurrentInstance('injectSelf');
|
891
|
-
if (provides && key in provides) {
|
892
|
-
// TS doesn't allow symbol as index type
|
893
|
-
return provides[key];
|
894
|
-
}
|
895
|
-
}
|
896
|
-
|
897
885
|
/**
|
898
886
|
* Creates a factory function for props definitions.
|
899
887
|
* This is used to define props in a composable then override
|
@@ -947,17 +935,54 @@ function propsFactory(props, source) {
|
|
947
935
|
|
948
936
|
// Types
|
949
937
|
|
938
|
+
// Composables
|
939
|
+
const makeComponentProps = propsFactory({
|
940
|
+
class: [String, Array],
|
941
|
+
style: {
|
942
|
+
type: [String, Array, Object],
|
943
|
+
default: null
|
944
|
+
}
|
945
|
+
}, 'component');
|
946
|
+
|
947
|
+
function useToggleScope(source, fn) {
|
948
|
+
let scope;
|
949
|
+
function start() {
|
950
|
+
scope = effectScope();
|
951
|
+
scope.run(() => fn.length ? fn(() => {
|
952
|
+
scope?.stop();
|
953
|
+
start();
|
954
|
+
}) : fn());
|
955
|
+
}
|
956
|
+
watch(source, active => {
|
957
|
+
if (active && !scope) {
|
958
|
+
start();
|
959
|
+
} else if (!active) {
|
960
|
+
scope?.stop();
|
961
|
+
scope = undefined;
|
962
|
+
}
|
963
|
+
}, {
|
964
|
+
immediate: true
|
965
|
+
});
|
966
|
+
onScopeDispose(() => {
|
967
|
+
scope?.stop();
|
968
|
+
});
|
969
|
+
}
|
970
|
+
|
971
|
+
// Composables
|
972
|
+
|
973
|
+
// Types
|
974
|
+
|
950
975
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
951
976
|
function createDefaults(options) {
|
952
977
|
return ref(options);
|
953
978
|
}
|
954
|
-
function
|
979
|
+
function injectDefaults() {
|
955
980
|
const defaults = inject$1(DefaultsSymbol);
|
956
981
|
if (!defaults) throw new Error('[Vuetify] Could not find defaults instance');
|
957
982
|
return defaults;
|
958
983
|
}
|
959
984
|
function provideDefaults(defaults, options) {
|
960
|
-
const injectedDefaults =
|
985
|
+
const injectedDefaults = injectDefaults();
|
961
986
|
const providedDefaults = ref(defaults);
|
962
987
|
const newDefaults = computed(() => {
|
963
988
|
const disabled = unref(options?.disabled);
|
@@ -984,41 +1009,56 @@ function provideDefaults(defaults, options) {
|
|
984
1009
|
provide(DefaultsSymbol, newDefaults);
|
985
1010
|
return newDefaults;
|
986
1011
|
}
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
}
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1012
|
+
function propIsDefined(vnode, prop) {
|
1013
|
+
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1014
|
+
}
|
1015
|
+
function useDefaults(props, name) {
|
1016
|
+
let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();
|
1017
|
+
const vm = getCurrentInstance('useDefaults');
|
1018
|
+
name = name ?? vm.type.name ?? vm.type.__name;
|
1019
|
+
if (!name) {
|
1020
|
+
throw new Error('[Vuetify] Could not determine component name');
|
1021
|
+
}
|
1022
|
+
const componentDefaults = computed(() => defaults.value[props._as ?? name]);
|
1023
|
+
const _props = new Proxy(props, {
|
1024
|
+
get(target, prop) {
|
1025
|
+
const propValue = Reflect.get(target, prop);
|
1026
|
+
if (prop === 'class' || prop === 'style') {
|
1027
|
+
return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
|
1028
|
+
} else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1029
|
+
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
1030
|
+
}
|
1031
|
+
return propValue;
|
1003
1032
|
}
|
1004
|
-
}, {
|
1005
|
-
immediate: true
|
1006
1033
|
});
|
1007
|
-
|
1008
|
-
|
1034
|
+
const _subcomponentDefaults = shallowRef();
|
1035
|
+
watchEffect(() => {
|
1036
|
+
if (componentDefaults.value) {
|
1037
|
+
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1038
|
+
let [key] = _ref;
|
1039
|
+
return key.startsWith(key[0].toUpperCase());
|
1040
|
+
});
|
1041
|
+
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1042
|
+
}
|
1009
1043
|
});
|
1044
|
+
function provideSubDefaults() {
|
1045
|
+
// If subcomponent defaults are provided, override any
|
1046
|
+
// subcomponents provided by the component's setup function.
|
1047
|
+
// This uses injectSelf so must be done after the original setup to work.
|
1048
|
+
useToggleScope(_subcomponentDefaults, () => {
|
1049
|
+
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1050
|
+
});
|
1051
|
+
}
|
1052
|
+
return {
|
1053
|
+
props: _props,
|
1054
|
+
provideSubDefaults
|
1055
|
+
};
|
1010
1056
|
}
|
1011
1057
|
|
1012
1058
|
// Utils
|
1013
1059
|
|
1014
1060
|
// Types
|
1015
1061
|
|
1016
|
-
function propIsDefined(vnode, prop) {
|
1017
|
-
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1018
|
-
}
|
1019
|
-
|
1020
|
-
// No props
|
1021
|
-
|
1022
1062
|
// Implementation
|
1023
1063
|
function defineComponent(options) {
|
1024
1064
|
options._setup = options._setup ?? options.setup;
|
@@ -1030,43 +1070,20 @@ function defineComponent(options) {
|
|
1030
1070
|
options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
|
1031
1071
|
const propKeys = Object.keys(options.props);
|
1032
1072
|
options.filterProps = function filterProps(props) {
|
1033
|
-
return pick(props, propKeys);
|
1073
|
+
return pick(props, propKeys, ['class', 'style']);
|
1034
1074
|
};
|
1035
1075
|
options.props._as = String;
|
1036
1076
|
options.setup = function setup(props, ctx) {
|
1037
|
-
const defaults =
|
1077
|
+
const defaults = injectDefaults();
|
1038
1078
|
|
1039
1079
|
// Skip props proxy if defaults are not provided
|
1040
1080
|
if (!defaults.value) return options._setup(props, ctx);
|
1041
|
-
const
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
const propValue = Reflect.get(target, prop);
|
1046
|
-
if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1047
|
-
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
1048
|
-
}
|
1049
|
-
return propValue;
|
1050
|
-
}
|
1051
|
-
});
|
1052
|
-
const _subcomponentDefaults = shallowRef();
|
1053
|
-
watchEffect(() => {
|
1054
|
-
if (componentDefaults.value) {
|
1055
|
-
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1056
|
-
let [key] = _ref;
|
1057
|
-
return key.startsWith(key[0].toUpperCase());
|
1058
|
-
});
|
1059
|
-
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1060
|
-
}
|
1061
|
-
});
|
1081
|
+
const {
|
1082
|
+
props: _props,
|
1083
|
+
provideSubDefaults
|
1084
|
+
} = useDefaults(props, props._as ?? options.name, defaults);
|
1062
1085
|
const setupBindings = options._setup(_props, ctx);
|
1063
|
-
|
1064
|
-
// If subcomponent defaults are provided, override any
|
1065
|
-
// subcomponents provided by the component's setup function.
|
1066
|
-
// This uses injectSelf so must be done after the original setup to work.
|
1067
|
-
useToggleScope(_subcomponentDefaults, () => {
|
1068
|
-
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1069
|
-
});
|
1086
|
+
provideSubDefaults();
|
1070
1087
|
return setupBindings;
|
1071
1088
|
};
|
1072
1089
|
}
|
@@ -1091,15 +1108,19 @@ function createSimpleFunctional(klass) {
|
|
1091
1108
|
tag: {
|
1092
1109
|
type: String,
|
1093
1110
|
default: tag
|
1094
|
-
}
|
1111
|
+
},
|
1112
|
+
...makeComponentProps()
|
1095
1113
|
},
|
1096
1114
|
setup(props, _ref) {
|
1097
1115
|
let {
|
1098
1116
|
slots
|
1099
1117
|
} = _ref;
|
1100
|
-
return () =>
|
1101
|
-
|
1102
|
-
|
1118
|
+
return () => {
|
1119
|
+
return h(props.tag, {
|
1120
|
+
class: [klass, props.class],
|
1121
|
+
style: props.style
|
1122
|
+
}, slots.default?.());
|
1123
|
+
};
|
1103
1124
|
}
|
1104
1125
|
});
|
1105
1126
|
}
|
@@ -1132,6 +1153,34 @@ const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';
|
|
1132
1153
|
const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering
|
1133
1154
|
const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving
|
1134
1155
|
|
1156
|
+
// Utilities
|
1157
|
+
function getCurrentInstance(name, message) {
|
1158
|
+
const vm = getCurrentInstance$1();
|
1159
|
+
if (!vm) {
|
1160
|
+
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
1161
|
+
}
|
1162
|
+
return vm;
|
1163
|
+
}
|
1164
|
+
function getCurrentInstanceName() {
|
1165
|
+
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
1166
|
+
const vm = getCurrentInstance(name).type;
|
1167
|
+
return toKebabCase(vm?.aliasName || vm?.name);
|
1168
|
+
}
|
1169
|
+
let _uid = 0;
|
1170
|
+
let _map = new WeakMap();
|
1171
|
+
function getUid() {
|
1172
|
+
const vm = getCurrentInstance('getUid');
|
1173
|
+
if (_map.has(vm)) return _map.get(vm);else {
|
1174
|
+
const uid = _uid++;
|
1175
|
+
_map.set(vm, uid);
|
1176
|
+
return uid;
|
1177
|
+
}
|
1178
|
+
}
|
1179
|
+
getUid.reset = () => {
|
1180
|
+
_uid = 0;
|
1181
|
+
_map = new WeakMap();
|
1182
|
+
};
|
1183
|
+
|
1135
1184
|
function getScrollParent(el) {
|
1136
1185
|
while (el) {
|
1137
1186
|
if (hasScrollbar(el)) return el;
|
@@ -1155,6 +1204,16 @@ function hasScrollbar(el) {
|
|
1155
1204
|
return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
|
1156
1205
|
}
|
1157
1206
|
|
1207
|
+
function injectSelf(key) {
|
1208
|
+
const {
|
1209
|
+
provides
|
1210
|
+
} = getCurrentInstance('injectSelf');
|
1211
|
+
if (provides && key in provides) {
|
1212
|
+
// TS doesn't allow symbol as index type
|
1213
|
+
return provides[key];
|
1214
|
+
}
|
1215
|
+
}
|
1216
|
+
|
1158
1217
|
function isFixedPosition(el) {
|
1159
1218
|
while (el) {
|
1160
1219
|
if (window.getComputedStyle(el).position === 'fixed') {
|
@@ -2137,6 +2196,7 @@ function useRtl() {
|
|
2137
2196
|
const VApp = genericComponent()({
|
2138
2197
|
name: 'VApp',
|
2139
2198
|
props: {
|
2199
|
+
...makeComponentProps(),
|
2140
2200
|
...makeLayoutProps({
|
2141
2201
|
fullHeight: true
|
2142
2202
|
}),
|
@@ -2159,8 +2219,8 @@ const VApp = genericComponent()({
|
|
2159
2219
|
} = useRtl();
|
2160
2220
|
useRender(() => createVNode("div", {
|
2161
2221
|
"ref": layoutRef,
|
2162
|
-
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value],
|
2163
|
-
"style": layoutStyles.value
|
2222
|
+
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
|
2223
|
+
"style": [layoutStyles.value, props.style]
|
2164
2224
|
}, [createVNode("div", {
|
2165
2225
|
"class": "v-application__wrap"
|
2166
2226
|
}, [slots.default?.()])]));
|
@@ -2585,6 +2645,7 @@ const VResponsive = genericComponent()({
|
|
2585
2645
|
props: {
|
2586
2646
|
aspectRatio: [String, Number],
|
2587
2647
|
contentClass: String,
|
2648
|
+
...makeComponentProps(),
|
2588
2649
|
...makeDimensionProps()
|
2589
2650
|
},
|
2590
2651
|
setup(props, _ref) {
|
@@ -2598,8 +2659,8 @@ const VResponsive = genericComponent()({
|
|
2598
2659
|
dimensionStyles
|
2599
2660
|
} = useDimension(props);
|
2600
2661
|
useRender(() => createVNode("div", {
|
2601
|
-
"class":
|
2602
|
-
"style": dimensionStyles.value
|
2662
|
+
"class": ['v-responsive', props.class],
|
2663
|
+
"style": [dimensionStyles.value, props.style]
|
2603
2664
|
}, [createVNode("div", {
|
2604
2665
|
"class": "v-responsive__sizer",
|
2605
2666
|
"style": aspectStyles.value
|
@@ -2717,6 +2778,7 @@ const VImg = genericComponent()({
|
|
2717
2778
|
},
|
2718
2779
|
srcset: String,
|
2719
2780
|
width: [String, Number],
|
2781
|
+
...makeComponentProps(),
|
2720
2782
|
...makeTransitionProps()
|
2721
2783
|
},
|
2722
2784
|
emits: {
|
@@ -2904,10 +2966,10 @@ const VImg = genericComponent()({
|
|
2904
2966
|
useRender(() => withDirectives(createVNode(VResponsive, {
|
2905
2967
|
"class": ['v-img', {
|
2906
2968
|
'v-img--booting': !isBooted.value
|
2907
|
-
}],
|
2908
|
-
"style": {
|
2969
|
+
}, props.class],
|
2970
|
+
"style": [{
|
2909
2971
|
width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
|
2910
|
-
},
|
2972
|
+
}, props.style],
|
2911
2973
|
"aspectRatio": aspectRatio.value,
|
2912
2974
|
"aria-label": props.alt,
|
2913
2975
|
"role": props.alt ? 'img' : undefined
|
@@ -2942,10 +3004,9 @@ const makeTagProps = propsFactory({
|
|
2942
3004
|
}
|
2943
3005
|
}, 'tag');
|
2944
3006
|
|
2945
|
-
// Types
|
2946
|
-
|
2947
3007
|
const makeVToolbarTitleProps = propsFactory({
|
2948
3008
|
text: String,
|
3009
|
+
...makeComponentProps(),
|
2949
3010
|
...makeTagProps()
|
2950
3011
|
}, 'v-toolbar-title');
|
2951
3012
|
const VToolbarTitle = genericComponent()({
|
@@ -2958,7 +3019,8 @@ const VToolbarTitle = genericComponent()({
|
|
2958
3019
|
useRender(() => {
|
2959
3020
|
const hasText = !!(slots.default || slots.text || props.text);
|
2960
3021
|
return createVNode(props.tag, {
|
2961
|
-
"class":
|
3022
|
+
"class": ['v-toolbar-title', props.class],
|
3023
|
+
"style": props.style
|
2962
3024
|
}, {
|
2963
3025
|
default: () => [hasText && createVNode("div", {
|
2964
3026
|
"class": "v-toolbar-title__placeholder"
|
@@ -3139,6 +3201,7 @@ const makeVToolbarProps = propsFactory({
|
|
3139
3201
|
image: String,
|
3140
3202
|
title: String,
|
3141
3203
|
...makeBorderProps(),
|
3204
|
+
...makeComponentProps(),
|
3142
3205
|
...makeElevationProps(),
|
3143
3206
|
...makeRoundedProps(),
|
3144
3207
|
...makeTagProps({
|
@@ -3189,8 +3252,8 @@ const VToolbar = genericComponent()({
|
|
3189
3252
|
'v-toolbar--flat': props.flat,
|
3190
3253
|
'v-toolbar--floating': props.floating,
|
3191
3254
|
[`v-toolbar--density-${props.density}`]: true
|
3192
|
-
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value],
|
3193
|
-
"style": [backgroundColorStyles.value]
|
3255
|
+
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
3256
|
+
"style": [backgroundColorStyles.value, props.style]
|
3194
3257
|
}, {
|
3195
3258
|
default: () => [hasImage && createVNode("div", {
|
3196
3259
|
"key": "image",
|
@@ -3475,13 +3538,13 @@ const VAppBar = genericComponent()({
|
|
3475
3538
|
"ref": vToolbarRef,
|
3476
3539
|
"class": ['v-app-bar', {
|
3477
3540
|
'v-app-bar--bottom': props.location === 'bottom'
|
3478
|
-
}],
|
3479
|
-
"style": {
|
3541
|
+
}, props.class],
|
3542
|
+
"style": [{
|
3480
3543
|
...layoutItemStyles.value,
|
3481
3544
|
'--v-toolbar-image-opacity': opacity.value,
|
3482
3545
|
height: undefined,
|
3483
3546
|
...ssrBootStyles.value
|
3484
|
-
}
|
3547
|
+
}, props.style]
|
3485
3548
|
}, toolbarProps, {
|
3486
3549
|
"collapse": isCollapsed.value,
|
3487
3550
|
"flat": isFlat.value
|
@@ -3568,6 +3631,7 @@ function useVariant(props) {
|
|
3568
3631
|
const makeVBtnGroupProps = propsFactory({
|
3569
3632
|
divided: Boolean,
|
3570
3633
|
...makeBorderProps(),
|
3634
|
+
...makeComponentProps(),
|
3571
3635
|
...makeDensityProps(),
|
3572
3636
|
...makeElevationProps(),
|
3573
3637
|
...makeRoundedProps(),
|
@@ -3610,7 +3674,8 @@ const VBtnGroup = genericComponent()({
|
|
3610
3674
|
return createVNode(props.tag, {
|
3611
3675
|
"class": ['v-btn-group', {
|
3612
3676
|
'v-btn-group--divided': props.divided
|
3613
|
-
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value]
|
3677
|
+
}, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
3678
|
+
"style": props.style
|
3614
3679
|
}, slots);
|
3615
3680
|
});
|
3616
3681
|
}
|
@@ -3843,8 +3908,10 @@ const VBtnToggle = genericComponent()({
|
|
3843
3908
|
useRender(() => {
|
3844
3909
|
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
3845
3910
|
return createVNode(VBtnGroup, mergeProps({
|
3846
|
-
"class":
|
3847
|
-
}, btnGroupProps
|
3911
|
+
"class": ['v-btn-toggle', props.class]
|
3912
|
+
}, btnGroupProps, {
|
3913
|
+
"style": props.style
|
3914
|
+
}), {
|
3848
3915
|
default: () => [slots.default?.({
|
3849
3916
|
isSelected,
|
3850
3917
|
next,
|
@@ -3915,7 +3982,7 @@ const mdi = {
|
|
3915
3982
|
|
3916
3983
|
// Types
|
3917
3984
|
|
3918
|
-
const IconValue = [String, Function, Object];
|
3985
|
+
const IconValue = [String, Function, Object, Array];
|
3919
3986
|
const IconSymbol = Symbol.for('vuetify:icons');
|
3920
3987
|
const makeIconProps = propsFactory({
|
3921
3988
|
icon: {
|
@@ -3935,8 +4002,9 @@ const VComponentIcon = genericComponent()({
|
|
3935
4002
|
slots
|
3936
4003
|
} = _ref;
|
3937
4004
|
return () => {
|
4005
|
+
const Icon = props.icon;
|
3938
4006
|
return createVNode(props.tag, null, {
|
3939
|
-
default: () => [props.icon ? createVNode(
|
4007
|
+
default: () => [props.icon ? createVNode(Icon, null, null) : slots.default?.()]
|
3940
4008
|
});
|
3941
4009
|
};
|
3942
4010
|
}
|
@@ -3959,7 +4027,12 @@ const VSvgIcon = defineComponent({
|
|
3959
4027
|
"viewBox": "0 0 24 24",
|
3960
4028
|
"role": "img",
|
3961
4029
|
"aria-hidden": "true"
|
3962
|
-
}, [createVNode("path", {
|
4030
|
+
}, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? createVNode("path", {
|
4031
|
+
"d": path[0],
|
4032
|
+
"fill-opacity": path[1]
|
4033
|
+
}, null) : createVNode("path", {
|
4034
|
+
"d": path
|
4035
|
+
}, null)) : createVNode("path", {
|
3963
4036
|
"d": props.icon
|
3964
4037
|
}, null)])]
|
3965
4038
|
});
|
@@ -4024,7 +4097,12 @@ const useIcon = props => {
|
|
4024
4097
|
}
|
4025
4098
|
}
|
4026
4099
|
if (!icon) throw new Error(`Could not find aliased icon "${iconAlias}"`);
|
4027
|
-
if (
|
4100
|
+
if (Array.isArray(icon)) {
|
4101
|
+
return {
|
4102
|
+
component: VSvgIcon,
|
4103
|
+
icon
|
4104
|
+
};
|
4105
|
+
} else if (typeof icon !== 'string') {
|
4028
4106
|
return {
|
4029
4107
|
component: VComponentIcon,
|
4030
4108
|
icon
|
@@ -4081,6 +4159,7 @@ const makeVIconProps = propsFactory({
|
|
4081
4159
|
start: Boolean,
|
4082
4160
|
end: Boolean,
|
4083
4161
|
icon: IconValue,
|
4162
|
+
...makeComponentProps(),
|
4084
4163
|
...makeSizeProps(),
|
4085
4164
|
...makeTagProps({
|
4086
4165
|
tag: 'i'
|
@@ -4123,12 +4202,12 @@ const VIcon = genericComponent()({
|
|
4123
4202
|
'v-icon--clickable': !!attrs.onClick,
|
4124
4203
|
'v-icon--start': props.start,
|
4125
4204
|
'v-icon--end': props.end
|
4126
|
-
}],
|
4205
|
+
}, props.class],
|
4127
4206
|
"style": [!sizeClasses.value ? {
|
4128
4207
|
fontSize: convertToUnit(props.size),
|
4129
4208
|
height: convertToUnit(props.size),
|
4130
4209
|
width: convertToUnit(props.size)
|
4131
|
-
} : undefined, textColorStyles.value],
|
4210
|
+
} : undefined, textColorStyles.value, props.style],
|
4132
4211
|
"role": attrs.onClick ? 'button' : undefined,
|
4133
4212
|
"aria-hidden": !attrs.onClick
|
4134
4213
|
}, {
|
@@ -4186,6 +4265,7 @@ const VProgressCircular = genericComponent()({
|
|
4186
4265
|
type: [Number, String],
|
4187
4266
|
default: 4
|
4188
4267
|
},
|
4268
|
+
...makeComponentProps(),
|
4189
4269
|
...makeSizeProps(),
|
4190
4270
|
...makeTagProps({
|
4191
4271
|
tag: 'div'
|
@@ -4241,8 +4321,8 @@ const VProgressCircular = genericComponent()({
|
|
4241
4321
|
'v-progress-circular--indeterminate': !!props.indeterminate,
|
4242
4322
|
'v-progress-circular--visible': isIntersecting.value,
|
4243
4323
|
'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'
|
4244
|
-
}, themeClasses.value, sizeClasses.value, textColorClasses.value],
|
4245
|
-
"style": [sizeStyles.value, textColorStyles.value],
|
4324
|
+
}, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],
|
4325
|
+
"style": [sizeStyles.value, textColorStyles.value, props.style],
|
4246
4326
|
"role": "progressbar",
|
4247
4327
|
"aria-valuemin": "0",
|
4248
4328
|
"aria-valuemax": "100",
|
@@ -4661,6 +4741,7 @@ const VProgressLinear = genericComponent()({
|
|
4661
4741
|
stream: Boolean,
|
4662
4742
|
striped: Boolean,
|
4663
4743
|
roundedBar: Boolean,
|
4744
|
+
...makeComponentProps(),
|
4664
4745
|
...makeLocationProps({
|
4665
4746
|
location: 'top'
|
4666
4747
|
}),
|
@@ -4732,14 +4813,14 @@ const VProgressLinear = genericComponent()({
|
|
4732
4813
|
'v-progress-linear--rounded': props.rounded,
|
4733
4814
|
'v-progress-linear--rounded-bar': props.roundedBar,
|
4734
4815
|
'v-progress-linear--striped': props.striped
|
4735
|
-
}, roundedClasses.value, themeClasses.value],
|
4736
|
-
"style": {
|
4816
|
+
}, roundedClasses.value, themeClasses.value, props.class],
|
4817
|
+
"style": [{
|
4737
4818
|
bottom: props.location === 'bottom' ? 0 : undefined,
|
4738
4819
|
top: props.location === 'top' ? 0 : undefined,
|
4739
4820
|
height: props.active ? convertToUnit(height.value) : 0,
|
4740
4821
|
'--v-progress-linear-height': convertToUnit(height.value),
|
4741
4822
|
...locationStyles.value
|
4742
|
-
},
|
4823
|
+
}, props.style],
|
4743
4824
|
"role": "progressbar",
|
4744
4825
|
"aria-hidden": props.active ? 'false' : 'true',
|
4745
4826
|
"aria-valuemin": "0",
|
@@ -4950,7 +5031,7 @@ const makeVBtnProps = propsFactory({
|
|
4950
5031
|
},
|
4951
5032
|
text: String,
|
4952
5033
|
...makeBorderProps(),
|
4953
|
-
...
|
5034
|
+
...makeComponentProps(),
|
4954
5035
|
...makeDensityProps(),
|
4955
5036
|
...makeDimensionProps(),
|
4956
5037
|
...makeElevationProps(),
|
@@ -4958,6 +5039,7 @@ const makeVBtnProps = propsFactory({
|
|
4958
5039
|
...makeLoaderProps(),
|
4959
5040
|
...makeLocationProps(),
|
4960
5041
|
...makePositionProps(),
|
5042
|
+
...makeRoundedProps(),
|
4961
5043
|
...makeRouterProps(),
|
4962
5044
|
...makeSizeProps(),
|
4963
5045
|
...makeTagProps({
|
@@ -5055,8 +5137,8 @@ const VBtn = genericComponent()({
|
|
5055
5137
|
'v-btn--icon': !!props.icon,
|
5056
5138
|
'v-btn--loading': props.loading,
|
5057
5139
|
'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],
|
5140
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
5141
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
5060
5142
|
"disabled": isDisabled.value || undefined,
|
5061
5143
|
"href": link.href.value,
|
5062
5144
|
"onClick": e => {
|
@@ -5133,15 +5215,17 @@ const VAppBarNavIcon = genericComponent()({
|
|
5133
5215
|
icon: {
|
5134
5216
|
type: IconValue,
|
5135
5217
|
default: '$menu'
|
5136
|
-
}
|
5218
|
+
},
|
5219
|
+
...makeComponentProps()
|
5137
5220
|
},
|
5138
5221
|
setup(props, _ref) {
|
5139
5222
|
let {
|
5140
5223
|
slots
|
5141
5224
|
} = _ref;
|
5142
5225
|
useRender(() => createVNode(VBtn, {
|
5143
|
-
"class":
|
5144
|
-
"icon": props.icon
|
5226
|
+
"class": ['v-app-bar-nav-icon', props.class],
|
5227
|
+
"icon": props.icon,
|
5228
|
+
"style": props.style
|
5145
5229
|
}, slots));
|
5146
5230
|
return {};
|
5147
5231
|
}
|
@@ -5149,9 +5233,12 @@ const VAppBarNavIcon = genericComponent()({
|
|
5149
5233
|
|
5150
5234
|
const VToolbarItems = genericComponent()({
|
5151
5235
|
name: 'VToolbarItems',
|
5152
|
-
props:
|
5153
|
-
|
5154
|
-
|
5236
|
+
props: {
|
5237
|
+
...makeComponentProps(),
|
5238
|
+
...makeVariantProps({
|
5239
|
+
variant: 'text'
|
5240
|
+
})
|
5241
|
+
},
|
5155
5242
|
setup(props, _ref) {
|
5156
5243
|
let {
|
5157
5244
|
slots
|
@@ -5164,7 +5251,8 @@ const VToolbarItems = genericComponent()({
|
|
5164
5251
|
}
|
5165
5252
|
});
|
5166
5253
|
useRender(() => createVNode("div", {
|
5167
|
-
"class":
|
5254
|
+
"class": ['v-toolbar-items', props.class],
|
5255
|
+
"style": props.style
|
5168
5256
|
}, [slots.default?.()]));
|
5169
5257
|
return {};
|
5170
5258
|
}
|
@@ -5226,6 +5314,7 @@ const VAlert = genericComponent()({
|
|
5226
5314
|
type: String,
|
5227
5315
|
validator: val => allowedTypes.includes(val)
|
5228
5316
|
},
|
5317
|
+
...makeComponentProps(),
|
5229
5318
|
...makeDensityProps(),
|
5230
5319
|
...makeDimensionProps(),
|
5231
5320
|
...makeElevationProps(),
|
@@ -5308,8 +5397,8 @@ const VAlert = genericComponent()({
|
|
5308
5397
|
[`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
|
5309
5398
|
}, {
|
5310
5399
|
'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],
|
5400
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
5401
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
5313
5402
|
"role": "alert"
|
5314
5403
|
}, {
|
5315
5404
|
default: () => [genOverlays(false, 'v-alert'), props.border && createVNode("div", {
|
@@ -5403,6 +5492,7 @@ const VLabel = genericComponent()({
|
|
5403
5492
|
props: {
|
5404
5493
|
text: String,
|
5405
5494
|
clickable: Boolean,
|
5495
|
+
...makeComponentProps(),
|
5406
5496
|
...makeThemeProps()
|
5407
5497
|
},
|
5408
5498
|
setup(props, _ref) {
|
@@ -5412,7 +5502,8 @@ const VLabel = genericComponent()({
|
|
5412
5502
|
useRender(() => createVNode("label", {
|
5413
5503
|
"class": ['v-label', {
|
5414
5504
|
'v-label--clickable': props.clickable
|
5415
|
-
}]
|
5505
|
+
}, props.class],
|
5506
|
+
"style": props.style
|
5416
5507
|
}, [props.text, slots.default?.()]));
|
5417
5508
|
return {};
|
5418
5509
|
}
|
@@ -5421,7 +5512,8 @@ const VLabel = genericComponent()({
|
|
5421
5512
|
const VFieldLabel = genericComponent()({
|
5422
5513
|
name: 'VFieldLabel',
|
5423
5514
|
props: {
|
5424
|
-
floating: Boolean
|
5515
|
+
floating: Boolean,
|
5516
|
+
...makeComponentProps()
|
5425
5517
|
},
|
5426
5518
|
setup(props, _ref) {
|
5427
5519
|
let {
|
@@ -5430,7 +5522,8 @@ const VFieldLabel = genericComponent()({
|
|
5430
5522
|
useRender(() => createVNode(VLabel, {
|
5431
5523
|
"class": ['v-field-label', {
|
5432
5524
|
'v-field-label--floating': props.floating
|
5433
|
-
}],
|
5525
|
+
}, props.class],
|
5526
|
+
"style": props.style,
|
5434
5527
|
"aria-hidden": props.floating || undefined
|
5435
5528
|
}, slots));
|
5436
5529
|
return {};
|
@@ -5481,6 +5574,7 @@ const makeVFieldProps = propsFactory({
|
|
5481
5574
|
},
|
5482
5575
|
active: Boolean,
|
5483
5576
|
color: String,
|
5577
|
+
baseColor: String,
|
5484
5578
|
dirty: Boolean,
|
5485
5579
|
disabled: Boolean,
|
5486
5580
|
error: Boolean,
|
@@ -5498,9 +5592,10 @@ const makeVFieldProps = propsFactory({
|
|
5498
5592
|
'onClick:clear': EventProp(),
|
5499
5593
|
'onClick:appendInner': EventProp(),
|
5500
5594
|
'onClick:prependInner': EventProp(),
|
5501
|
-
...
|
5595
|
+
...makeComponentProps(),
|
5502
5596
|
...makeLoaderProps(),
|
5503
|
-
...makeRoundedProps()
|
5597
|
+
...makeRoundedProps(),
|
5598
|
+
...makeThemeProps()
|
5504
5599
|
}, 'v-field');
|
5505
5600
|
const VField = genericComponent()({
|
5506
5601
|
name: 'VField',
|
@@ -5554,7 +5649,7 @@ const VField = genericComponent()({
|
|
5554
5649
|
textColorClasses,
|
5555
5650
|
textColorStyles
|
5556
5651
|
} = useTextColor(computed(() => {
|
5557
|
-
return
|
5652
|
+
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
5558
5653
|
}));
|
5559
5654
|
watch(isActive, val => {
|
5560
5655
|
if (hasLabel.value) {
|
@@ -5631,8 +5726,8 @@ const VField = genericComponent()({
|
|
5631
5726
|
'v-field--single-line': props.singleLine,
|
5632
5727
|
'v-field--no-label': !label,
|
5633
5728
|
[`v-field--variant-${props.variant}`]: true
|
5634
|
-
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value],
|
5635
|
-
"style": [backgroundColorStyles.value, textColorStyles.value],
|
5729
|
+
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, props.class],
|
5730
|
+
"style": [backgroundColorStyles.value, textColorStyles.value, props.style],
|
5636
5731
|
"onClick": onClick
|
5637
5732
|
}, attrs), [createVNode("div", {
|
5638
5733
|
"class": "v-field__overlay"
|
@@ -5720,7 +5815,7 @@ const VField = genericComponent()({
|
|
5720
5815
|
});
|
5721
5816
|
// TODO: this is kinda slow, might be better to implicitly inherit props instead
|
5722
5817
|
function filterFieldProps(attrs) {
|
5723
|
-
const keys = Object.keys(VField.props).filter(k => !isOn(k));
|
5818
|
+
const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');
|
5724
5819
|
return pick(attrs, keys);
|
5725
5820
|
}
|
5726
5821
|
|
@@ -5735,6 +5830,7 @@ const VMessages = genericComponent()({
|
|
5735
5830
|
type: [Array, String],
|
5736
5831
|
default: () => []
|
5737
5832
|
},
|
5833
|
+
...makeComponentProps(),
|
5738
5834
|
...makeTransitionProps({
|
5739
5835
|
transition: {
|
5740
5836
|
component: VSlideYTransition,
|
@@ -5755,8 +5851,8 @@ const VMessages = genericComponent()({
|
|
5755
5851
|
useRender(() => createVNode(MaybeTransition, {
|
5756
5852
|
"transition": props.transition,
|
5757
5853
|
"tag": "div",
|
5758
|
-
"class": ['v-messages', textColorClasses.value],
|
5759
|
-
"style": textColorStyles.value,
|
5854
|
+
"class": ['v-messages', textColorClasses.value, props.class],
|
5855
|
+
"style": [textColorStyles.value, props.style],
|
5760
5856
|
"role": "alert",
|
5761
5857
|
"aria-live": "polite"
|
5762
5858
|
}, {
|
@@ -6052,6 +6148,7 @@ const makeVInputProps = propsFactory({
|
|
6052
6148
|
},
|
6053
6149
|
'onClick:prepend': EventProp(),
|
6054
6150
|
'onClick:append': EventProp(),
|
6151
|
+
...makeComponentProps(),
|
6055
6152
|
...makeDensityProps(),
|
6056
6153
|
...makeValidationProps()
|
6057
6154
|
}, 'v-input');
|
@@ -6119,7 +6216,8 @@ const VInput = genericComponent()({
|
|
6119
6216
|
const hasMessages = messages.value.length > 0;
|
6120
6217
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
6121
6218
|
return createVNode("div", {
|
6122
|
-
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
|
6219
|
+
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value, props.class],
|
6220
|
+
"style": props.style
|
6123
6221
|
}, [hasPrepend && createVNode("div", {
|
6124
6222
|
"key": "prepend",
|
6125
6223
|
"class": "v-input__prepend"
|
@@ -6162,6 +6260,7 @@ const VCounter = genericComponent()({
|
|
6162
6260
|
type: [Number, String],
|
6163
6261
|
default: 0
|
6164
6262
|
},
|
6263
|
+
...makeComponentProps(),
|
6165
6264
|
...makeTransitionProps({
|
6166
6265
|
transition: {
|
6167
6266
|
component: VSlideYTransition
|
@@ -6179,7 +6278,8 @@ const VCounter = genericComponent()({
|
|
6179
6278
|
"transition": props.transition
|
6180
6279
|
}, {
|
6181
6280
|
default: () => [withDirectives(createVNode("div", {
|
6182
|
-
"class":
|
6281
|
+
"class": ['v-counter', props.class],
|
6282
|
+
"style": props.style
|
6183
6283
|
}, [slots.default ? slots.default({
|
6184
6284
|
counter: counter.value,
|
6185
6285
|
max: props.max,
|
@@ -6382,7 +6482,8 @@ const VTextField = genericComponent()({
|
|
6382
6482
|
'v-text-field--prefixed': props.prefix,
|
6383
6483
|
'v-text-field--suffixed': props.suffix,
|
6384
6484
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
6385
|
-
}]
|
6485
|
+
}, props.class],
|
6486
|
+
"style": props.style
|
6386
6487
|
}, rootAttrs, inputProps, {
|
6387
6488
|
"focused": isFocused.value
|
6388
6489
|
}), {
|
@@ -6498,6 +6599,7 @@ const VSelectionControlGroup = genericComponent()({
|
|
6498
6599
|
type: String,
|
6499
6600
|
default: 'VSelectionControl'
|
6500
6601
|
},
|
6602
|
+
...makeComponentProps(),
|
6501
6603
|
...makeSelectionControlGroupProps()
|
6502
6604
|
},
|
6503
6605
|
emits: {
|
@@ -6545,7 +6647,8 @@ const VSelectionControlGroup = genericComponent()({
|
|
6545
6647
|
useRender(() => createVNode("div", {
|
6546
6648
|
"class": ['v-selection-control-group', {
|
6547
6649
|
'v-selection-control-group--inline': props.inline
|
6548
|
-
}],
|
6650
|
+
}, props.class],
|
6651
|
+
"style": props.style,
|
6549
6652
|
"role": props.type === 'radio' ? 'radiogroup' : undefined
|
6550
6653
|
}, [slots.default?.()]));
|
6551
6654
|
return {};
|
@@ -6559,6 +6662,7 @@ const makeSelectionControlProps = propsFactory({
|
|
6559
6662
|
trueValue: null,
|
6560
6663
|
falseValue: null,
|
6561
6664
|
value: null,
|
6665
|
+
...makeComponentProps(),
|
6562
6666
|
...makeSelectionControlGroupProps()
|
6563
6667
|
}, 'v-selection-control');
|
6564
6668
|
function useSelectionControl(props) {
|
@@ -6673,8 +6777,10 @@ const VSelectionControl = genericComponent()({
|
|
6673
6777
|
'v-selection-control--focused': isFocused.value,
|
6674
6778
|
'v-selection-control--focus-visible': isFocusVisible.value,
|
6675
6779
|
'v-selection-control--inline': props.inline
|
6676
|
-
}, densityClasses.value]
|
6677
|
-
}, rootAttrs
|
6780
|
+
}, densityClasses.value, props.class]
|
6781
|
+
}, rootAttrs, {
|
6782
|
+
"style": props.style
|
6783
|
+
}), [createVNode("div", {
|
6678
6784
|
"class": ['v-selection-control__wrapper', textColorClasses.value],
|
6679
6785
|
"style": textColorStyles.value
|
6680
6786
|
}, [slots.default?.(), withDirectives(createVNode("div", {
|
@@ -6756,7 +6862,8 @@ const VCheckboxBtn = genericComponent()({
|
|
6756
6862
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
6757
6863
|
"modelValue": model.value,
|
6758
6864
|
"onUpdate:modelValue": [$event => model.value = $event, onChange],
|
6759
|
-
"class":
|
6865
|
+
"class": ['v-checkbox-btn', props.class],
|
6866
|
+
"style": props.style,
|
6760
6867
|
"type": "checkbox",
|
6761
6868
|
"inline": true,
|
6762
6869
|
"falseIcon": falseIcon.value,
|
@@ -6796,10 +6903,11 @@ const VCheckbox = genericComponent()({
|
|
6796
6903
|
const [inputProps, _1] = VInput.filterProps(props);
|
6797
6904
|
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
6798
6905
|
return createVNode(VInput, mergeProps({
|
6799
|
-
"class":
|
6906
|
+
"class": ['v-checkbox', props.class]
|
6800
6907
|
}, inputAttrs, inputProps, {
|
6801
6908
|
"id": id.value,
|
6802
|
-
"focused": isFocused.value
|
6909
|
+
"focused": isFocused.value,
|
6910
|
+
"style": props.style
|
6803
6911
|
}), {
|
6804
6912
|
...slots,
|
6805
6913
|
default: _ref2 => {
|
@@ -6830,6 +6938,7 @@ const makeVAvatarProps = propsFactory({
|
|
6830
6938
|
end: Boolean,
|
6831
6939
|
icon: IconValue,
|
6832
6940
|
image: String,
|
6941
|
+
...makeComponentProps(),
|
6833
6942
|
...makeDensityProps(),
|
6834
6943
|
...makeRoundedProps(),
|
6835
6944
|
...makeSizeProps(),
|
@@ -6868,8 +6977,8 @@ const VAvatar = genericComponent()({
|
|
6868
6977
|
"class": ['v-avatar', {
|
6869
6978
|
'v-avatar--start': props.start,
|
6870
6979
|
'v-avatar--end': props.end
|
6871
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value],
|
6872
|
-
"style": [colorStyles.value, sizeStyles.value]
|
6980
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
6981
|
+
"style": [colorStyles.value, sizeStyles.value, props.style]
|
6873
6982
|
}, {
|
6874
6983
|
default: () => [props.image ? createVNode(VImg, {
|
6875
6984
|
"key": "image",
|
@@ -6897,6 +7006,7 @@ const VChipGroup = genericComponent()({
|
|
6897
7006
|
type: Function,
|
6898
7007
|
default: deepEqual
|
6899
7008
|
},
|
7009
|
+
...makeComponentProps(),
|
6900
7010
|
...makeGroupProps({
|
6901
7011
|
selectedClass: 'v-chip--selected'
|
6902
7012
|
}),
|
@@ -6934,7 +7044,8 @@ const VChipGroup = genericComponent()({
|
|
6934
7044
|
useRender(() => createVNode(props.tag, {
|
6935
7045
|
"class": ['v-chip-group', {
|
6936
7046
|
'v-chip-group--column': props.column
|
6937
|
-
}, themeClasses.value]
|
7047
|
+
}, themeClasses.value, props.class],
|
7048
|
+
"style": props.style
|
6938
7049
|
}, {
|
6939
7050
|
default: () => [slots.default?.({
|
6940
7051
|
isSelected,
|
@@ -6948,8 +7059,6 @@ const VChipGroup = genericComponent()({
|
|
6948
7059
|
}
|
6949
7060
|
});
|
6950
7061
|
|
6951
|
-
// Types
|
6952
|
-
|
6953
7062
|
const VChip = genericComponent()({
|
6954
7063
|
name: 'VChip',
|
6955
7064
|
directives: {
|
@@ -6994,6 +7103,7 @@ const VChip = genericComponent()({
|
|
6994
7103
|
onClick: EventProp(),
|
6995
7104
|
onClickOnce: EventProp(),
|
6996
7105
|
...makeBorderProps(),
|
7106
|
+
...makeComponentProps(),
|
6997
7107
|
...makeDensityProps(),
|
6998
7108
|
...makeElevationProps(),
|
6999
7109
|
...makeGroupItemProps(),
|
@@ -7086,8 +7196,8 @@ const VChip = genericComponent()({
|
|
7086
7196
|
'v-chip--link': isClickable.value,
|
7087
7197
|
'v-chip--filter': hasFilter,
|
7088
7198
|
'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],
|
7199
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
|
7200
|
+
"style": [hasColor ? colorStyles.value : undefined, props.style],
|
7091
7201
|
"disabled": props.disabled || undefined,
|
7092
7202
|
"draggable": props.draggable,
|
7093
7203
|
"href": link.href.value,
|
@@ -7196,6 +7306,7 @@ const VDivider = genericComponent()({
|
|
7196
7306
|
length: [Number, String],
|
7197
7307
|
thickness: [Number, String],
|
7198
7308
|
vertical: Boolean,
|
7309
|
+
...makeComponentProps(),
|
7199
7310
|
...makeThemeProps()
|
7200
7311
|
},
|
7201
7312
|
setup(props, _ref) {
|
@@ -7224,8 +7335,8 @@ const VDivider = genericComponent()({
|
|
7224
7335
|
'v-divider': true,
|
7225
7336
|
'v-divider--inset': props.inset,
|
7226
7337
|
'v-divider--vertical': props.vertical
|
7227
|
-
}, themeClasses.value, textColorClasses.value],
|
7228
|
-
"style": [dividerStyles.value, textColorStyles.value],
|
7338
|
+
}, themeClasses.value, textColorClasses.value, props.class],
|
7339
|
+
"style": [dividerStyles.value, textColorStyles.value, props.style],
|
7229
7340
|
"aria-orientation": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,
|
7230
7341
|
"role": `${attrs.role || 'separator'}`
|
7231
7342
|
}, null));
|
@@ -7724,6 +7835,7 @@ const makeVListGroupProps = propsFactory({
|
|
7724
7835
|
fluid: Boolean,
|
7725
7836
|
subgroup: Boolean,
|
7726
7837
|
value: null,
|
7838
|
+
...makeComponentProps(),
|
7727
7839
|
...makeTagProps()
|
7728
7840
|
}, 'v-list-group');
|
7729
7841
|
const VListGroup = genericComponent()({
|
@@ -7772,7 +7884,8 @@ const VListGroup = genericComponent()({
|
|
7772
7884
|
'v-list-group--fluid': props.fluid,
|
7773
7885
|
'v-list-group--subgroup': props.subgroup,
|
7774
7886
|
'v-list-group--open': isOpen.value
|
7775
|
-
}]
|
7887
|
+
}, props.class],
|
7888
|
+
"style": props.style
|
7776
7889
|
}, {
|
7777
7890
|
default: () => [slots.activator && createVNode(VDefaultsProvider, {
|
7778
7891
|
"defaults": activatorDefaults.value
|
@@ -7839,6 +7952,7 @@ const VListItem = genericComponent()({
|
|
7839
7952
|
onClick: EventProp(),
|
7840
7953
|
onClickOnce: EventProp(),
|
7841
7954
|
...makeBorderProps(),
|
7955
|
+
...makeComponentProps(),
|
7842
7956
|
...makeDensityProps(),
|
7843
7957
|
...makeDimensionProps(),
|
7844
7958
|
...makeElevationProps(),
|
@@ -7949,8 +8063,8 @@ const VListItem = genericComponent()({
|
|
7949
8063
|
'v-list-item--nav': props.nav,
|
7950
8064
|
'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,
|
7951
8065
|
[`${props.activeClass}`]: props.activeClass && isActive.value
|
7952
|
-
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value],
|
7953
|
-
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value],
|
8066
|
+
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
8067
|
+
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, props.style],
|
7954
8068
|
"href": link.href.value,
|
7955
8069
|
"tabindex": isClickable.value ? 0 : undefined,
|
7956
8070
|
"onClick": onClick,
|
@@ -8043,6 +8157,7 @@ const VListSubheader = genericComponent()({
|
|
8043
8157
|
inset: Boolean,
|
8044
8158
|
sticky: Boolean,
|
8045
8159
|
title: String,
|
8160
|
+
...makeComponentProps(),
|
8046
8161
|
...makeTagProps()
|
8047
8162
|
},
|
8048
8163
|
setup(props, _ref) {
|
@@ -8059,10 +8174,10 @@ const VListSubheader = genericComponent()({
|
|
8059
8174
|
"class": ['v-list-subheader', {
|
8060
8175
|
'v-list-subheader--inset': props.inset,
|
8061
8176
|
'v-list-subheader--sticky': props.sticky
|
8062
|
-
}, textColorClasses.value],
|
8063
|
-
"style": {
|
8177
|
+
}, textColorClasses.value, props.class],
|
8178
|
+
"style": [{
|
8064
8179
|
textColorStyles
|
8065
|
-
}
|
8180
|
+
}, props.style]
|
8066
8181
|
}, {
|
8067
8182
|
default: () => [hasText && createVNode("div", {
|
8068
8183
|
"class": "v-list-subheader__text"
|
@@ -8282,6 +8397,7 @@ const VList = genericComponent()({
|
|
8282
8397
|
openStrategy: 'list'
|
8283
8398
|
}),
|
8284
8399
|
...makeBorderProps(),
|
8400
|
+
...makeComponentProps(),
|
8285
8401
|
...makeDensityProps(),
|
8286
8402
|
...makeDimensionProps(),
|
8287
8403
|
...makeElevationProps(),
|
@@ -8383,27 +8499,8 @@ const VList = genericComponent()({
|
|
8383
8499
|
e.preventDefault();
|
8384
8500
|
}
|
8385
8501
|
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');
|
8502
|
+
if (contentRef.value) {
|
8503
|
+
return focusChild(contentRef.value, location);
|
8407
8504
|
}
|
8408
8505
|
}
|
8409
8506
|
useRender(() => {
|
@@ -8412,8 +8509,8 @@ const VList = genericComponent()({
|
|
8412
8509
|
"class": ['v-list', {
|
8413
8510
|
'v-list--disabled': props.disabled,
|
8414
8511
|
'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],
|
8512
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
|
8513
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
8417
8514
|
"role": "listbox",
|
8418
8515
|
"aria-activedescendant": undefined,
|
8419
8516
|
"onFocusin": onFocusin,
|
@@ -8441,6 +8538,7 @@ const VListItemAction = genericComponent()({
|
|
8441
8538
|
props: {
|
8442
8539
|
start: Boolean,
|
8443
8540
|
end: Boolean,
|
8541
|
+
...makeComponentProps(),
|
8444
8542
|
...makeTagProps()
|
8445
8543
|
},
|
8446
8544
|
setup(props, _ref) {
|
@@ -8451,7 +8549,8 @@ const VListItemAction = genericComponent()({
|
|
8451
8549
|
"class": ['v-list-item-action', {
|
8452
8550
|
'v-list-item-action--start': props.start,
|
8453
8551
|
'v-list-item-action--end': props.end
|
8454
|
-
}]
|
8552
|
+
}, props.class],
|
8553
|
+
"style": props.style
|
8455
8554
|
}, slots));
|
8456
8555
|
return {};
|
8457
8556
|
}
|
@@ -8462,6 +8561,7 @@ const VListItemMedia = genericComponent()({
|
|
8462
8561
|
props: {
|
8463
8562
|
start: Boolean,
|
8464
8563
|
end: Boolean,
|
8564
|
+
...makeComponentProps(),
|
8465
8565
|
...makeTagProps()
|
8466
8566
|
},
|
8467
8567
|
setup(props, _ref) {
|
@@ -8473,7 +8573,8 @@ const VListItemMedia = genericComponent()({
|
|
8473
8573
|
"class": ['v-list-item-media', {
|
8474
8574
|
'v-list-item-media--start': props.start,
|
8475
8575
|
'v-list-item-media--end': props.end
|
8476
|
-
}]
|
8576
|
+
}, props.class],
|
8577
|
+
"style": props.style
|
8477
8578
|
}, slots);
|
8478
8579
|
});
|
8479
8580
|
return {};
|
@@ -9714,6 +9815,7 @@ const makeVOverlayProps = propsFactory({
|
|
9714
9815
|
default: 2000
|
9715
9816
|
},
|
9716
9817
|
...makeActivatorProps(),
|
9818
|
+
...makeComponentProps(),
|
9717
9819
|
...makeDimensionProps(),
|
9718
9820
|
...makeLazyProps(),
|
9719
9821
|
...makeLocationStrategyProps(),
|
@@ -9881,10 +9983,10 @@ const VOverlay = genericComponent()({
|
|
9881
9983
|
'v-overlay--absolute': props.absolute || props.contained,
|
9882
9984
|
'v-overlay--active': isActive.value,
|
9883
9985
|
'v-overlay--contained': props.contained
|
9884
|
-
}, themeClasses.value, rtlClasses.value],
|
9986
|
+
}, themeClasses.value, rtlClasses.value, props.class],
|
9885
9987
|
"style": [stackStyles.value, {
|
9886
9988
|
top: convertToUnit(top.value)
|
9887
|
-
}],
|
9989
|
+
}, props.style],
|
9888
9990
|
"ref": root
|
9889
9991
|
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
|
9890
9992
|
"color": scrimColor,
|
@@ -9990,7 +10092,8 @@ const VMenu = genericComponent()({
|
|
9990
10092
|
const [overlayProps] = VOverlay.filterProps(props);
|
9991
10093
|
return createVNode(VOverlay, mergeProps({
|
9992
10094
|
"ref": overlay,
|
9993
|
-
"class": ['v-menu']
|
10095
|
+
"class": ['v-menu', props.class],
|
10096
|
+
"style": props.style
|
9994
10097
|
}, overlayProps, {
|
9995
10098
|
"modelValue": isActive.value,
|
9996
10099
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -10209,7 +10312,8 @@ const VSelect = genericComponent()({
|
|
10209
10312
|
'v-select--chips': !!props.chips,
|
10210
10313
|
[`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10211
10314
|
'v-select--selected': model.value.length
|
10212
|
-
}],
|
10315
|
+
}, props.class],
|
10316
|
+
"style": props.style,
|
10213
10317
|
"appendInnerIcon": props.menuIcon,
|
10214
10318
|
"readonly": true,
|
10215
10319
|
"placeholder": placeholder,
|
@@ -10652,7 +10756,8 @@ const VAutocomplete = genericComponent()({
|
|
10652
10756
|
'v-autocomplete--selecting-index': selectionIndex.value > -1,
|
10653
10757
|
[`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
|
10654
10758
|
'v-autocomplete--selection-slot': !!slots.selection
|
10655
|
-
}],
|
10759
|
+
}, props.class],
|
10760
|
+
"style": props.style,
|
10656
10761
|
"appendInnerIcon": props.menuIcon,
|
10657
10762
|
"readonly": props.readonly,
|
10658
10763
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -10766,8 +10871,6 @@ const VAutocomplete = genericComponent()({
|
|
10766
10871
|
}
|
10767
10872
|
});
|
10768
10873
|
|
10769
|
-
// Types
|
10770
|
-
|
10771
10874
|
const VBadge = genericComponent()({
|
10772
10875
|
name: 'VBadge',
|
10773
10876
|
inheritAttrs: false,
|
@@ -10791,6 +10894,7 @@ const VBadge = genericComponent()({
|
|
10791
10894
|
offsetX: [Number, String],
|
10792
10895
|
offsetY: [Number, String],
|
10793
10896
|
textColor: String,
|
10897
|
+
...makeComponentProps(),
|
10794
10898
|
...makeLocationProps({
|
10795
10899
|
location: 'top end'
|
10796
10900
|
}),
|
@@ -10835,8 +10939,10 @@ const VBadge = genericComponent()({
|
|
10835
10939
|
'v-badge--dot': props.dot,
|
10836
10940
|
'v-badge--floating': props.floating,
|
10837
10941
|
'v-badge--inline': props.inline
|
10838
|
-
}]
|
10839
|
-
}, attrs
|
10942
|
+
}, props.class]
|
10943
|
+
}, attrs, {
|
10944
|
+
"style": props.style
|
10945
|
+
}), {
|
10840
10946
|
default: () => [createVNode("div", {
|
10841
10947
|
"class": "v-badge__wrapper"
|
10842
10948
|
}, [ctx.slots.default?.(), createVNode(MaybeTransition, {
|
@@ -10863,7 +10969,8 @@ const VBannerActions = genericComponent()({
|
|
10863
10969
|
name: 'VBannerActions',
|
10864
10970
|
props: {
|
10865
10971
|
color: String,
|
10866
|
-
density: String
|
10972
|
+
density: String,
|
10973
|
+
...makeComponentProps()
|
10867
10974
|
},
|
10868
10975
|
setup(props, _ref) {
|
10869
10976
|
let {
|
@@ -10877,7 +10984,8 @@ const VBannerActions = genericComponent()({
|
|
10877
10984
|
}
|
10878
10985
|
});
|
10879
10986
|
useRender(() => createVNode("div", {
|
10880
|
-
"class":
|
10987
|
+
"class": ['v-banner-actions', props.class],
|
10988
|
+
"style": props.style
|
10881
10989
|
}, [slots.default?.()]));
|
10882
10990
|
return {};
|
10883
10991
|
}
|
@@ -10898,6 +11006,7 @@ const VBanner = genericComponent()({
|
|
10898
11006
|
sticky: Boolean,
|
10899
11007
|
text: String,
|
10900
11008
|
...makeBorderProps(),
|
11009
|
+
...makeComponentProps(),
|
10901
11010
|
...makeDensityProps(),
|
10902
11011
|
...makeDimensionProps(),
|
10903
11012
|
...makeElevationProps(),
|
@@ -10955,8 +11064,8 @@ const VBanner = genericComponent()({
|
|
10955
11064
|
'v-banner--stacked': props.stacked || mobile.value,
|
10956
11065
|
'v-banner--sticky': props.sticky,
|
10957
11066
|
[`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],
|
11067
|
+
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
11068
|
+
"style": [dimensionStyles.value, locationStyles.value, props.style],
|
10960
11069
|
"role": "banner"
|
10961
11070
|
}, {
|
10962
11071
|
default: () => [hasPrepend && createVNode("div", {
|
@@ -11012,6 +11121,7 @@ const VBottomNavigation = genericComponent()({
|
|
11012
11121
|
default: true
|
11013
11122
|
},
|
11014
11123
|
...makeBorderProps(),
|
11124
|
+
...makeComponentProps(),
|
11015
11125
|
...makeDensityProps(),
|
11016
11126
|
...makeElevationProps(),
|
11017
11127
|
...makeRoundedProps(),
|
@@ -11086,11 +11196,11 @@ const VBottomNavigation = genericComponent()({
|
|
11086
11196
|
'v-bottom-navigation--active': isActive.value,
|
11087
11197
|
'v-bottom-navigation--grow': props.grow,
|
11088
11198
|
'v-bottom-navigation--shift': props.mode === 'shift'
|
11089
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value],
|
11199
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
11090
11200
|
"style": [backgroundColorStyles.value, layoutItemStyles.value, {
|
11091
11201
|
height: convertToUnit(height.value),
|
11092
11202
|
transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`
|
11093
|
-
}, ssrBootStyles.value]
|
11203
|
+
}, ssrBootStyles.value, props.style]
|
11094
11204
|
}, {
|
11095
11205
|
default: () => [slots.default && createVNode("div", {
|
11096
11206
|
"class": "v-bottom-navigation__content"
|
@@ -11104,14 +11214,16 @@ const VBottomNavigation = genericComponent()({
|
|
11104
11214
|
const VBreadcrumbsDivider = genericComponent()({
|
11105
11215
|
name: 'VBreadcrumbsDivider',
|
11106
11216
|
props: {
|
11107
|
-
divider: [Number, String]
|
11217
|
+
divider: [Number, String],
|
11218
|
+
...makeComponentProps()
|
11108
11219
|
},
|
11109
11220
|
setup(props, _ref) {
|
11110
11221
|
let {
|
11111
11222
|
slots
|
11112
11223
|
} = _ref;
|
11113
11224
|
useRender(() => createVNode("li", {
|
11114
|
-
"class":
|
11225
|
+
"class": ['v-breadcrumbs-divider', props.class],
|
11226
|
+
"style": props.style
|
11115
11227
|
}, [slots?.default?.() ?? props.divider]));
|
11116
11228
|
return {};
|
11117
11229
|
}
|
@@ -11126,6 +11238,7 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11126
11238
|
color: String,
|
11127
11239
|
disabled: Boolean,
|
11128
11240
|
title: String,
|
11241
|
+
...makeComponentProps(),
|
11129
11242
|
...makeRouterProps(),
|
11130
11243
|
...makeTagProps({
|
11131
11244
|
tag: 'li'
|
@@ -11151,8 +11264,8 @@ const VBreadcrumbsItem = genericComponent()({
|
|
11151
11264
|
'v-breadcrumbs-item--disabled': props.disabled,
|
11152
11265
|
'v-breadcrumbs-item--link': link.isLink.value,
|
11153
11266
|
[`${props.activeClass}`]: isActive.value && props.activeClass
|
11154
|
-
}, textColorClasses.value],
|
11155
|
-
"style": [textColorStyles.value],
|
11267
|
+
}, textColorClasses.value, props.class],
|
11268
|
+
"style": [textColorStyles.value, props.style],
|
11156
11269
|
"href": link.href.value,
|
11157
11270
|
"aria-current": isActive.value ? 'page' : undefined,
|
11158
11271
|
"onClick": link.navigate
|
@@ -11183,6 +11296,7 @@ const VBreadcrumbs = genericComponent()({
|
|
11183
11296
|
type: Array,
|
11184
11297
|
default: () => []
|
11185
11298
|
},
|
11299
|
+
...makeComponentProps(),
|
11186
11300
|
...makeDensityProps(),
|
11187
11301
|
...makeRoundedProps(),
|
11188
11302
|
...makeTagProps({
|
@@ -11214,11 +11328,22 @@ const VBreadcrumbs = genericComponent()({
|
|
11214
11328
|
disabled: toRef(props, 'disabled')
|
11215
11329
|
}
|
11216
11330
|
});
|
11331
|
+
const items = computed(() => props.items.map(item => {
|
11332
|
+
return typeof item === 'string' ? {
|
11333
|
+
item: {
|
11334
|
+
title: item
|
11335
|
+
},
|
11336
|
+
raw: item
|
11337
|
+
} : {
|
11338
|
+
item,
|
11339
|
+
raw: item
|
11340
|
+
};
|
11341
|
+
}));
|
11217
11342
|
useRender(() => {
|
11218
11343
|
const hasPrepend = !!(slots.prepend || props.icon);
|
11219
11344
|
return createVNode(props.tag, {
|
11220
|
-
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value],
|
11221
|
-
"style": backgroundColorStyles.value
|
11345
|
+
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
|
11346
|
+
"style": [backgroundColorStyles.value, props.style]
|
11222
11347
|
}, {
|
11223
11348
|
default: () => [hasPrepend && createVNode("div", {
|
11224
11349
|
"key": "prepend",
|
@@ -11236,33 +11361,36 @@ const VBreadcrumbs = genericComponent()({
|
|
11236
11361
|
start: true
|
11237
11362
|
}
|
11238
11363
|
}
|
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?.({
|
11364
|
+
}, slots.prepend)]), items.value.map((_ref2, index, array) => {
|
11365
|
+
let {
|
11251
11366
|
item,
|
11252
|
-
|
11253
|
-
}
|
11254
|
-
|
11367
|
+
raw
|
11368
|
+
} = _ref2;
|
11369
|
+
return createVNode(Fragment, null, [createVNode(VBreadcrumbsItem, mergeProps({
|
11370
|
+
"key": item.title,
|
11371
|
+
"disabled": index >= array.length - 1
|
11372
|
+
}, item), {
|
11373
|
+
default: slots.title ? () => slots.title?.({
|
11374
|
+
item: raw,
|
11375
|
+
index
|
11376
|
+
}) : undefined
|
11377
|
+
}), index < array.length - 1 && createVNode(VBreadcrumbsDivider, null, {
|
11378
|
+
default: slots.divider ? () => slots.divider?.({
|
11379
|
+
item: raw,
|
11380
|
+
index
|
11381
|
+
}) : undefined
|
11382
|
+
})]);
|
11383
|
+
}), slots.default?.()]
|
11255
11384
|
});
|
11256
11385
|
});
|
11257
11386
|
return {};
|
11258
11387
|
}
|
11259
11388
|
});
|
11260
11389
|
|
11261
|
-
|
11262
|
-
|
11263
|
-
const VCardActions = defineComponent({
|
11390
|
+
const VCardActions = genericComponent()({
|
11264
11391
|
name: 'VCardActions',
|
11265
|
-
|
11392
|
+
props: makeComponentProps(),
|
11393
|
+
setup(props, _ref) {
|
11266
11394
|
let {
|
11267
11395
|
slots
|
11268
11396
|
} = _ref;
|
@@ -11272,7 +11400,8 @@ const VCardActions = defineComponent({
|
|
11272
11400
|
}
|
11273
11401
|
});
|
11274
11402
|
useRender(() => createVNode("div", {
|
11275
|
-
"class":
|
11403
|
+
"class": ['v-card-actions', props.class],
|
11404
|
+
"style": props.style
|
11276
11405
|
}, [slots.default?.()]));
|
11277
11406
|
return {};
|
11278
11407
|
}
|
@@ -11282,8 +11411,6 @@ const VCardSubtitle = createSimpleFunctional('v-card-subtitle');
|
|
11282
11411
|
|
11283
11412
|
const VCardTitle = createSimpleFunctional('v-card-title');
|
11284
11413
|
|
11285
|
-
// Types
|
11286
|
-
|
11287
11414
|
const VCardItem = genericComponent()({
|
11288
11415
|
name: 'VCardItem',
|
11289
11416
|
props: {
|
@@ -11293,6 +11420,7 @@ const VCardItem = genericComponent()({
|
|
11293
11420
|
prependIcon: IconValue,
|
11294
11421
|
subtitle: String,
|
11295
11422
|
title: String,
|
11423
|
+
...makeComponentProps(),
|
11296
11424
|
...makeDensityProps()
|
11297
11425
|
},
|
11298
11426
|
setup(props, _ref) {
|
@@ -11307,7 +11435,8 @@ const VCardItem = genericComponent()({
|
|
11307
11435
|
const hasTitle = !!(props.title || slots.title);
|
11308
11436
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
11309
11437
|
return createVNode("div", {
|
11310
|
-
"class":
|
11438
|
+
"class": ['v-card-item', props.class],
|
11439
|
+
"style": props.style
|
11311
11440
|
}, [hasPrepend && createVNode("div", {
|
11312
11441
|
"key": "prepend",
|
11313
11442
|
"class": "v-card-item__prepend"
|
@@ -11389,8 +11518,8 @@ const VCard = genericComponent()({
|
|
11389
11518
|
subtitle: String,
|
11390
11519
|
text: String,
|
11391
11520
|
title: String,
|
11392
|
-
...makeThemeProps(),
|
11393
11521
|
...makeBorderProps(),
|
11522
|
+
...makeComponentProps(),
|
11394
11523
|
...makeDensityProps(),
|
11395
11524
|
...makeDimensionProps(),
|
11396
11525
|
...makeElevationProps(),
|
@@ -11400,6 +11529,7 @@ const VCard = genericComponent()({
|
|
11400
11529
|
...makeRoundedProps(),
|
11401
11530
|
...makeRouterProps(),
|
11402
11531
|
...makeTagProps(),
|
11532
|
+
...makeThemeProps(),
|
11403
11533
|
...makeVariantProps({
|
11404
11534
|
variant: 'elevated'
|
11405
11535
|
})
|
@@ -11460,8 +11590,8 @@ const VCard = genericComponent()({
|
|
11460
11590
|
'v-card--flat': props.flat,
|
11461
11591
|
'v-card--hover': props.hover && !(props.disabled || props.flat),
|
11462
11592
|
'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],
|
11593
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
11594
|
+
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
11465
11595
|
"href": link.href.value,
|
11466
11596
|
"onClick": isClickable.value && link.navigate,
|
11467
11597
|
"tabindex": props.disabled ? -1 : undefined
|
@@ -11657,6 +11787,7 @@ const makeVWindowProps = propsFactory({
|
|
11657
11787
|
mandatory: {
|
11658
11788
|
default: 'force'
|
11659
11789
|
},
|
11790
|
+
...makeComponentProps(),
|
11660
11791
|
...makeTagProps(),
|
11661
11792
|
...makeThemeProps()
|
11662
11793
|
}, 'v-window');
|
@@ -11772,7 +11903,8 @@ const VWindow = genericComponent()({
|
|
11772
11903
|
"ref": rootRef,
|
11773
11904
|
"class": ['v-window', {
|
11774
11905
|
'v-window--show-arrows-on-hover': props.showArrows === 'hover'
|
11775
|
-
}, themeClasses.value]
|
11906
|
+
}, themeClasses.value, props.class],
|
11907
|
+
"style": props.style
|
11776
11908
|
}, {
|
11777
11909
|
default: () => [createVNode("div", {
|
11778
11910
|
"class": "v-window__container",
|
@@ -11857,10 +11989,10 @@ const VCarousel = genericComponent()({
|
|
11857
11989
|
"class": ['v-carousel', {
|
11858
11990
|
'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,
|
11859
11991
|
'v-carousel--vertical-delimiters': props.verticalDelimiters
|
11860
|
-
}],
|
11861
|
-
"style": {
|
11992
|
+
}, props.class],
|
11993
|
+
"style": [{
|
11862
11994
|
height: convertToUnit(props.height)
|
11863
|
-
},
|
11995
|
+
}, props.style],
|
11864
11996
|
"continuous": true,
|
11865
11997
|
"mandatory": "force",
|
11866
11998
|
"showArrows": props.showArrows
|
@@ -11926,6 +12058,7 @@ const VWindowItem = genericComponent()({
|
|
11926
12058
|
type: [Boolean, String],
|
11927
12059
|
default: undefined
|
11928
12060
|
},
|
12061
|
+
...makeComponentProps(),
|
11929
12062
|
...makeGroupItemProps(),
|
11930
12063
|
...makeLazyProps()
|
11931
12064
|
},
|
@@ -12012,7 +12145,8 @@ const VWindowItem = genericComponent()({
|
|
12012
12145
|
"disabled": !isBooted.value
|
12013
12146
|
}, {
|
12014
12147
|
default: () => [withDirectives(createVNode("div", {
|
12015
|
-
"class": ['v-window-item', groupItem.selectedClass.value]
|
12148
|
+
"class": ['v-window-item', groupItem.selectedClass.value, props.class],
|
12149
|
+
"style": props.style
|
12016
12150
|
}, [hasContent.value && slots.default?.()]), [[vShow, groupItem.isSelected.value]])]
|
12017
12151
|
}));
|
12018
12152
|
return {};
|
@@ -12025,7 +12159,8 @@ const VCarouselItem = genericComponent()({
|
|
12025
12159
|
name: 'VCarouselItem',
|
12026
12160
|
inheritAttrs: false,
|
12027
12161
|
props: {
|
12028
|
-
value: null
|
12162
|
+
value: null,
|
12163
|
+
...makeComponentProps()
|
12029
12164
|
},
|
12030
12165
|
setup(props, _ref) {
|
12031
12166
|
let {
|
@@ -12033,7 +12168,8 @@ const VCarouselItem = genericComponent()({
|
|
12033
12168
|
attrs
|
12034
12169
|
} = _ref;
|
12035
12170
|
useRender(() => createVNode(VWindowItem, {
|
12036
|
-
"class":
|
12171
|
+
"class": ['v-carousel-item', props.class],
|
12172
|
+
"style": props.style,
|
12037
12173
|
"value": props.value
|
12038
12174
|
}, {
|
12039
12175
|
default: () => [createVNode(VImg, attrs, slots)]
|
@@ -12046,6 +12182,7 @@ const VCode = createSimpleFunctional('v-code');
|
|
12046
12182
|
const makeVSheetProps = propsFactory({
|
12047
12183
|
color: String,
|
12048
12184
|
...makeBorderProps(),
|
12185
|
+
...makeComponentProps(),
|
12049
12186
|
...makeDimensionProps(),
|
12050
12187
|
...makeElevationProps(),
|
12051
12188
|
...makeLocationProps(),
|
@@ -12089,8 +12226,8 @@ const VSheet = genericComponent()({
|
|
12089
12226
|
roundedClasses
|
12090
12227
|
} = useRounded(props);
|
12091
12228
|
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]
|
12229
|
+
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
|
12230
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]
|
12094
12231
|
}, slots));
|
12095
12232
|
return {};
|
12096
12233
|
}
|
@@ -12116,7 +12253,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12116
12253
|
width: {
|
12117
12254
|
type: [Number, String],
|
12118
12255
|
default: 300
|
12119
|
-
}
|
12256
|
+
},
|
12257
|
+
...makeComponentProps()
|
12120
12258
|
},
|
12121
12259
|
emits: {
|
12122
12260
|
'update:color': color => true,
|
@@ -12261,7 +12399,8 @@ const VColorPickerCanvas = defineComponent({
|
|
12261
12399
|
onMounted(() => updateCanvas());
|
12262
12400
|
useRender(() => createVNode("div", {
|
12263
12401
|
"ref": resizeRef,
|
12264
|
-
"class":
|
12402
|
+
"class": ['v-color-picker-canvas', props.class],
|
12403
|
+
"style": props.style,
|
12265
12404
|
"onClick": handleClick,
|
12266
12405
|
"onMousedown": handleMouseDown,
|
12267
12406
|
"onTouchstart": handleMouseDown
|
@@ -12494,7 +12633,8 @@ const VColorPickerEdit = defineComponent({
|
|
12494
12633
|
type: Array,
|
12495
12634
|
default: () => Object.keys(modes),
|
12496
12635
|
validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))
|
12497
|
-
}
|
12636
|
+
},
|
12637
|
+
...makeComponentProps()
|
12498
12638
|
},
|
12499
12639
|
emits: {
|
12500
12640
|
'update:color': color => true,
|
@@ -12534,7 +12674,8 @@ const VColorPickerEdit = defineComponent({
|
|
12534
12674
|
});
|
12535
12675
|
});
|
12536
12676
|
useRender(() => createVNode("div", {
|
12537
|
-
"class":
|
12677
|
+
"class": ['v-color-picker-edit', props.class],
|
12678
|
+
"style": props.style
|
12538
12679
|
}, [inputs.value?.map(props => createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && createVNode(VBtn, {
|
12539
12680
|
"icon": "$unfold",
|
12540
12681
|
"size": "x-small",
|
@@ -12853,7 +12994,8 @@ const VSliderThumb = genericComponent()({
|
|
12853
12994
|
ripple: {
|
12854
12995
|
type: Boolean,
|
12855
12996
|
default: true
|
12856
|
-
}
|
12997
|
+
},
|
12998
|
+
...makeComponentProps()
|
12857
12999
|
},
|
12858
13000
|
emits: {
|
12859
13001
|
'update:modelValue': v => true
|
@@ -12931,11 +13073,11 @@ const VSliderThumb = genericComponent()({
|
|
12931
13073
|
"class": ['v-slider-thumb', {
|
12932
13074
|
'v-slider-thumb--focused': props.focused,
|
12933
13075
|
'v-slider-thumb--pressed': props.focused && mousePressed.value
|
12934
|
-
}],
|
12935
|
-
"style": {
|
13076
|
+
}, props.class],
|
13077
|
+
"style": [{
|
12936
13078
|
'--v-slider-thumb-position': positionPercentage,
|
12937
13079
|
'--v-slider-thumb-size': convertToUnit(thumbSize.value)
|
12938
|
-
},
|
13080
|
+
}, props.style],
|
12939
13081
|
"role": "slider",
|
12940
13082
|
"tabindex": disabled.value ? -1 : 0,
|
12941
13083
|
"aria-valuemin": props.min,
|
@@ -12981,7 +13123,8 @@ const VSliderTrack = genericComponent()({
|
|
12981
13123
|
stop: {
|
12982
13124
|
type: Number,
|
12983
13125
|
required: true
|
12984
|
-
}
|
13126
|
+
},
|
13127
|
+
...makeComponentProps()
|
12985
13128
|
},
|
12986
13129
|
emits: {},
|
12987
13130
|
setup(props, _ref) {
|
@@ -13056,12 +13199,12 @@ const VSliderTrack = genericComponent()({
|
|
13056
13199
|
});
|
13057
13200
|
useRender(() => {
|
13058
13201
|
return createVNode("div", {
|
13059
|
-
"class": ['v-slider-track', roundedClasses.value],
|
13060
|
-
"style": {
|
13202
|
+
"class": ['v-slider-track', roundedClasses.value, props.class],
|
13203
|
+
"style": [{
|
13061
13204
|
'--v-slider-track-size': convertToUnit(trackSize.value),
|
13062
13205
|
'--v-slider-tick-size': convertToUnit(tickSize.value),
|
13063
13206
|
direction: !vertical.value ? horizontalDirection.value : undefined
|
13064
|
-
}
|
13207
|
+
}, props.style]
|
13065
13208
|
}, [createVNode("div", {
|
13066
13209
|
"class": ['v-slider-track__background', trackColorClasses.value, {
|
13067
13210
|
'v-slider-track__background--opacity': !!color.value || !trackFillColor.value
|
@@ -13164,7 +13307,8 @@ const VSlider = genericComponent()({
|
|
13164
13307
|
'v-slider--focused': isFocused.value,
|
13165
13308
|
'v-slider--pressed': mousePressed.value,
|
13166
13309
|
'v-slider--disabled': props.disabled
|
13167
|
-
}]
|
13310
|
+
}, props.class],
|
13311
|
+
"style": props.style
|
13168
13312
|
}, inputProps, {
|
13169
13313
|
"focused": isFocused.value
|
13170
13314
|
}), {
|
@@ -13227,7 +13371,8 @@ const VColorPickerPreview = defineComponent({
|
|
13227
13371
|
type: Object
|
13228
13372
|
},
|
13229
13373
|
disabled: Boolean,
|
13230
|
-
hideAlpha: Boolean
|
13374
|
+
hideAlpha: Boolean,
|
13375
|
+
...makeComponentProps()
|
13231
13376
|
},
|
13232
13377
|
emits: {
|
13233
13378
|
'update:color': color => true
|
@@ -13239,7 +13384,8 @@ const VColorPickerPreview = defineComponent({
|
|
13239
13384
|
useRender(() => createVNode("div", {
|
13240
13385
|
"class": ['v-color-picker-preview', {
|
13241
13386
|
'v-color-picker-preview--hide-alpha': props.hideAlpha
|
13242
|
-
}]
|
13387
|
+
}, props.class],
|
13388
|
+
"style": props.style
|
13243
13389
|
}, [createVNode("div", {
|
13244
13390
|
"class": "v-color-picker-preview__dot"
|
13245
13391
|
}, [createVNode("div", {
|
@@ -13620,7 +13766,8 @@ const VColorPickerSwatches = defineComponent({
|
|
13620
13766
|
},
|
13621
13767
|
disabled: Boolean,
|
13622
13768
|
color: Object,
|
13623
|
-
maxHeight: [Number, String]
|
13769
|
+
maxHeight: [Number, String],
|
13770
|
+
...makeComponentProps()
|
13624
13771
|
},
|
13625
13772
|
emits: {
|
13626
13773
|
'update:color': color => true
|
@@ -13630,10 +13777,10 @@ const VColorPickerSwatches = defineComponent({
|
|
13630
13777
|
emit
|
13631
13778
|
} = _ref;
|
13632
13779
|
useRender(() => createVNode("div", {
|
13633
|
-
"class":
|
13634
|
-
"style": {
|
13780
|
+
"class": ['v-color-picker-swatches', props.class],
|
13781
|
+
"style": [{
|
13635
13782
|
maxHeight: convertToUnit(props.maxHeight)
|
13636
|
-
}
|
13783
|
+
}, props.style]
|
13637
13784
|
}, [createVNode("div", null, [props.swatches.map(swatch => createVNode("div", {
|
13638
13785
|
"class": "v-color-picker-swatches__swatch"
|
13639
13786
|
}, [swatch.map(color => {
|
@@ -13737,13 +13884,13 @@ const VColorPicker = defineComponent({
|
|
13737
13884
|
"rounded": props.rounded,
|
13738
13885
|
"elevation": props.elevation,
|
13739
13886
|
"theme": props.theme,
|
13740
|
-
"class": ['v-color-picker'],
|
13741
|
-
"style": {
|
13887
|
+
"class": ['v-color-picker', props.class],
|
13888
|
+
"style": [{
|
13742
13889
|
'--v-color-picker-color-hsv': HSVtoCSS({
|
13743
13890
|
...(currentColor.value ?? nullColor),
|
13744
13891
|
a: 1
|
13745
13892
|
})
|
13746
|
-
}
|
13893
|
+
}, props.style]
|
13747
13894
|
}, sheetProps, {
|
13748
13895
|
"maxWidth": props.width
|
13749
13896
|
}), {
|
@@ -14054,7 +14201,8 @@ const VCombobox = genericComponent()({
|
|
14054
14201
|
'v-combobox--chips': !!props.chips,
|
14055
14202
|
'v-combobox--selecting-index': selectionIndex.value > -1,
|
14056
14203
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
14057
|
-
}],
|
14204
|
+
}, props.class],
|
14205
|
+
"style": props.style,
|
14058
14206
|
"appendInnerIcon": props.items.length ? props.menuIcon : undefined,
|
14059
14207
|
"readonly": props.readonly,
|
14060
14208
|
"placeholder": isDirty ? undefined : props.placeholder,
|
@@ -14211,7 +14359,7 @@ const VDialog = genericComponent()({
|
|
14211
14359
|
![document, overlay.value.contentEl].includes(after) &&
|
14212
14360
|
// It isn't inside the dialog body
|
14213
14361
|
!overlay.value.contentEl.contains(after)) {
|
14214
|
-
const focusable =
|
14362
|
+
const focusable = focusableChildren(overlay.value.contentEl);
|
14215
14363
|
if (!focusable.length) return;
|
14216
14364
|
const firstElement = focusable[0];
|
14217
14365
|
const lastElement = focusable[focusable.length - 1];
|
@@ -14252,7 +14400,8 @@ const VDialog = genericComponent()({
|
|
14252
14400
|
"class": ['v-dialog', {
|
14253
14401
|
'v-dialog--fullscreen': props.fullscreen,
|
14254
14402
|
'v-dialog--scrollable': props.scrollable
|
14255
|
-
}]
|
14403
|
+
}, props.class],
|
14404
|
+
"style": props.style
|
14256
14405
|
}, overlayProps, {
|
14257
14406
|
"modelValue": isActive.value,
|
14258
14407
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -14291,6 +14440,7 @@ const VExpansionPanels = genericComponent()({
|
|
14291
14440
|
validator: v => allowedVariants.includes(v)
|
14292
14441
|
},
|
14293
14442
|
readonly: Boolean,
|
14443
|
+
...makeComponentProps(),
|
14294
14444
|
...makeGroupProps(),
|
14295
14445
|
...makeTagProps(),
|
14296
14446
|
...makeThemeProps()
|
@@ -14316,7 +14466,8 @@ const VExpansionPanels = genericComponent()({
|
|
14316
14466
|
}
|
14317
14467
|
});
|
14318
14468
|
useRender(() => createVNode(props.tag, {
|
14319
|
-
"class": ['v-expansion-panels', themeClasses.value, variantClass.value]
|
14469
|
+
"class": ['v-expansion-panels', themeClasses.value, variantClass.value, props.class],
|
14470
|
+
"style": props.style
|
14320
14471
|
}, slots));
|
14321
14472
|
return {};
|
14322
14473
|
}
|
@@ -14345,6 +14496,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14345
14496
|
Ripple
|
14346
14497
|
},
|
14347
14498
|
props: {
|
14499
|
+
...makeComponentProps(),
|
14348
14500
|
...makeVExpansionPanelTitleProps()
|
14349
14501
|
},
|
14350
14502
|
setup(props, _ref) {
|
@@ -14367,8 +14519,8 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14367
14519
|
useRender(() => withDirectives(createVNode("button", {
|
14368
14520
|
"class": ['v-expansion-panel-title', {
|
14369
14521
|
'v-expansion-panel-title--active': expansionPanel.isSelected.value
|
14370
|
-
}, backgroundColorClasses.value],
|
14371
|
-
"style": backgroundColorStyles.value,
|
14522
|
+
}, backgroundColorClasses.value, props.class],
|
14523
|
+
"style": [backgroundColorStyles.value, props.style],
|
14372
14524
|
"type": "button",
|
14373
14525
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
14374
14526
|
"disabled": expansionPanel.disabled.value,
|
@@ -14388,6 +14540,7 @@ const VExpansionPanelTitle = genericComponent()({
|
|
14388
14540
|
const VExpansionPanelText = genericComponent()({
|
14389
14541
|
name: 'VExpansionPanelText',
|
14390
14542
|
props: {
|
14543
|
+
...makeComponentProps(),
|
14391
14544
|
...makeLazyProps()
|
14392
14545
|
},
|
14393
14546
|
setup(props, _ref) {
|
@@ -14404,7 +14557,8 @@ const VExpansionPanelText = genericComponent()({
|
|
14404
14557
|
"onAfterLeave": onAfterLeave
|
14405
14558
|
}, {
|
14406
14559
|
default: () => [withDirectives(createVNode("div", {
|
14407
|
-
"class":
|
14560
|
+
"class": ['v-expansion-panel-text', props.class],
|
14561
|
+
"style": props.style
|
14408
14562
|
}, [slots.default && hasContent.value && createVNode("div", {
|
14409
14563
|
"class": "v-expansion-panel-text__wrapper"
|
14410
14564
|
}, [slots.default?.()])]), [[vShow, expansionPanel.isSelected.value]])]
|
@@ -14419,6 +14573,7 @@ const VExpansionPanel = genericComponent()({
|
|
14419
14573
|
title: String,
|
14420
14574
|
text: String,
|
14421
14575
|
bgColor: String,
|
14576
|
+
...makeComponentProps(),
|
14422
14577
|
...makeElevationProps(),
|
14423
14578
|
...makeGroupItemProps(),
|
14424
14579
|
...makeLazyProps(),
|
@@ -14467,8 +14622,8 @@ const VExpansionPanel = genericComponent()({
|
|
14467
14622
|
'v-expansion-panel--before-active': isBeforeSelected.value,
|
14468
14623
|
'v-expansion-panel--after-active': isAfterSelected.value,
|
14469
14624
|
'v-expansion-panel--disabled': isDisabled.value
|
14470
|
-
}, roundedClasses.value, backgroundColorClasses.value],
|
14471
|
-
"style": backgroundColorStyles.value,
|
14625
|
+
}, roundedClasses.value, backgroundColorClasses.value, props.class],
|
14626
|
+
"style": [backgroundColorStyles.value, props.style],
|
14472
14627
|
"aria-expanded": groupItem.isSelected.value
|
14473
14628
|
}, {
|
14474
14629
|
default: () => [createVNode("div", {
|
@@ -14618,7 +14773,8 @@ const VFileInput = genericComponent()({
|
|
14618
14773
|
"ref": vInputRef,
|
14619
14774
|
"modelValue": model.value,
|
14620
14775
|
"onUpdate:modelValue": $event => model.value = $event,
|
14621
|
-
"class":
|
14776
|
+
"class": ['v-file-input', props.class],
|
14777
|
+
"style": props.style,
|
14622
14778
|
"onClick:prepend": onClickPrepend
|
14623
14779
|
}, rootAttrs, inputProps, {
|
14624
14780
|
"focused": isFocused.value
|
@@ -14710,6 +14866,7 @@ const VFooter = genericComponent()({
|
|
14710
14866
|
default: 'auto'
|
14711
14867
|
},
|
14712
14868
|
...makeBorderProps(),
|
14869
|
+
...makeComponentProps(),
|
14713
14870
|
...makeElevationProps(),
|
14714
14871
|
...makeLayoutItemProps(),
|
14715
14872
|
...makeRoundedProps(),
|
@@ -14759,8 +14916,8 @@ const VFooter = genericComponent()({
|
|
14759
14916
|
});
|
14760
14917
|
useRender(() => createVNode(props.tag, {
|
14761
14918
|
"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]
|
14919
|
+
"class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
14920
|
+
"style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined, props.style]
|
14764
14921
|
}, slots));
|
14765
14922
|
return {};
|
14766
14923
|
}
|
@@ -14771,6 +14928,7 @@ const VFooter = genericComponent()({
|
|
14771
14928
|
const VForm = genericComponent()({
|
14772
14929
|
name: 'VForm',
|
14773
14930
|
props: {
|
14931
|
+
...makeComponentProps(),
|
14774
14932
|
...makeFormProps()
|
14775
14933
|
},
|
14776
14934
|
emits: {
|
@@ -14809,7 +14967,8 @@ const VForm = genericComponent()({
|
|
14809
14967
|
}
|
14810
14968
|
useRender(() => createVNode("form", {
|
14811
14969
|
"ref": formRef,
|
14812
|
-
"class":
|
14970
|
+
"class": ['v-form', props.class],
|
14971
|
+
"style": props.style,
|
14813
14972
|
"novalidate": true,
|
14814
14973
|
"onReset": onReset,
|
14815
14974
|
"onSubmit": onSubmit
|
@@ -14825,6 +14984,7 @@ const VContainer = genericComponent()({
|
|
14825
14984
|
type: Boolean,
|
14826
14985
|
default: false
|
14827
14986
|
},
|
14987
|
+
...makeComponentProps(),
|
14828
14988
|
...makeTagProps()
|
14829
14989
|
},
|
14830
14990
|
setup(props, _ref) {
|
@@ -14834,7 +14994,8 @@ const VContainer = genericComponent()({
|
|
14834
14994
|
useRender(() => createVNode(props.tag, {
|
14835
14995
|
"class": ['v-container', {
|
14836
14996
|
'v-container--fluid': props.fluid
|
14837
|
-
}]
|
14997
|
+
}, props.class],
|
14998
|
+
"style": props.style
|
14838
14999
|
}, slots));
|
14839
15000
|
return {};
|
14840
15001
|
}
|
@@ -14925,6 +15086,7 @@ const VCol = genericComponent()({
|
|
14925
15086
|
default: null,
|
14926
15087
|
validator: str => ALIGN_SELF_VALUES.includes(str)
|
14927
15088
|
},
|
15089
|
+
...makeComponentProps(),
|
14928
15090
|
...makeTagProps()
|
14929
15091
|
},
|
14930
15092
|
setup(props, _ref) {
|
@@ -14955,7 +15117,8 @@ const VCol = genericComponent()({
|
|
14955
15117
|
return classList;
|
14956
15118
|
});
|
14957
15119
|
return () => h(props.tag, {
|
14958
|
-
class: classes.value
|
15120
|
+
class: [classes.value, props.class],
|
15121
|
+
style: props.style
|
14959
15122
|
}, slots.default?.());
|
14960
15123
|
}
|
14961
15124
|
});
|
@@ -15041,6 +15204,7 @@ const VRow = genericComponent()({
|
|
15041
15204
|
validator: alignContentValidator
|
15042
15205
|
},
|
15043
15206
|
...alignContentProps,
|
15207
|
+
...makeComponentProps(),
|
15044
15208
|
...makeTagProps()
|
15045
15209
|
},
|
15046
15210
|
setup(props, _ref) {
|
@@ -15069,7 +15233,8 @@ const VRow = genericComponent()({
|
|
15069
15233
|
return classList;
|
15070
15234
|
});
|
15071
15235
|
return () => h(props.tag, {
|
15072
|
-
class: ['v-row', classes.value]
|
15236
|
+
class: ['v-row', classes.value, props.class],
|
15237
|
+
style: props.style
|
15073
15238
|
}, slots.default?.());
|
15074
15239
|
}
|
15075
15240
|
});
|
@@ -15113,6 +15278,7 @@ const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');
|
|
15113
15278
|
const VItemGroup = genericComponent()({
|
15114
15279
|
name: 'VItemGroup',
|
15115
15280
|
props: {
|
15281
|
+
...makeComponentProps(),
|
15116
15282
|
...makeGroupProps({
|
15117
15283
|
selectedClass: 'v-item--selected'
|
15118
15284
|
}),
|
@@ -15137,7 +15303,8 @@ const VItemGroup = genericComponent()({
|
|
15137
15303
|
selected
|
15138
15304
|
} = useGroup(props, VItemGroupSymbol);
|
15139
15305
|
return () => createVNode(props.tag, {
|
15140
|
-
"class": ['v-item-group', themeClasses.value]
|
15306
|
+
"class": ['v-item-group', themeClasses.value, props.class],
|
15307
|
+
"style": props.style
|
15141
15308
|
}, {
|
15142
15309
|
default: () => [slots.default?.({
|
15143
15310
|
isSelected,
|
@@ -15187,7 +15354,10 @@ const VKbd = createSimpleFunctional('v-kbd');
|
|
15187
15354
|
|
15188
15355
|
const VLayout = genericComponent()({
|
15189
15356
|
name: 'VLayout',
|
15190
|
-
props:
|
15357
|
+
props: {
|
15358
|
+
...makeComponentProps(),
|
15359
|
+
...makeLayoutProps()
|
15360
|
+
},
|
15191
15361
|
setup(props, _ref) {
|
15192
15362
|
let {
|
15193
15363
|
slots
|
@@ -15201,8 +15371,8 @@ const VLayout = genericComponent()({
|
|
15201
15371
|
} = createLayout(props);
|
15202
15372
|
useRender(() => createVNode("div", {
|
15203
15373
|
"ref": layoutRef,
|
15204
|
-
"class": layoutClasses.value,
|
15205
|
-
"style": layoutStyles.value
|
15374
|
+
"class": [layoutClasses.value, props.class],
|
15375
|
+
"style": [layoutStyles.value, props.style]
|
15206
15376
|
}, [slots.default?.()]));
|
15207
15377
|
return {
|
15208
15378
|
getLayoutItem,
|
@@ -15225,6 +15395,7 @@ const VLayoutItem = genericComponent()({
|
|
15225
15395
|
default: 300
|
15226
15396
|
},
|
15227
15397
|
modelValue: Boolean,
|
15398
|
+
...makeComponentProps(),
|
15228
15399
|
...makeLayoutItemProps()
|
15229
15400
|
},
|
15230
15401
|
setup(props, _ref) {
|
@@ -15243,8 +15414,8 @@ const VLayoutItem = genericComponent()({
|
|
15243
15414
|
absolute: toRef(props, 'absolute')
|
15244
15415
|
});
|
15245
15416
|
return () => createVNode("div", {
|
15246
|
-
"class": ['v-layout-item'],
|
15247
|
-
"style": layoutItemStyles.value
|
15417
|
+
"class": ['v-layout-item', props.class],
|
15418
|
+
"style": [layoutItemStyles.value, props.style]
|
15248
15419
|
}, [slots.default?.()]);
|
15249
15420
|
}
|
15250
15421
|
});
|
@@ -15268,6 +15439,7 @@ const VLazy = genericComponent()({
|
|
15268
15439
|
threshold: undefined
|
15269
15440
|
})
|
15270
15441
|
},
|
15442
|
+
...makeComponentProps(),
|
15271
15443
|
...makeDimensionProps(),
|
15272
15444
|
...makeTagProps(),
|
15273
15445
|
...makeTransitionProps({
|
@@ -15290,8 +15462,8 @@ const VLazy = genericComponent()({
|
|
15290
15462
|
isActive.value = isIntersecting;
|
15291
15463
|
}
|
15292
15464
|
useRender(() => withDirectives(createVNode(props.tag, {
|
15293
|
-
"class":
|
15294
|
-
"style": dimensionStyles.value
|
15465
|
+
"class": ['v-lazy', props.class],
|
15466
|
+
"style": [dimensionStyles.value, props.style]
|
15295
15467
|
}, {
|
15296
15468
|
default: () => [isActive.value && createVNode(MaybeTransition, {
|
15297
15469
|
"transition": props.transition,
|
@@ -15316,7 +15488,8 @@ const VLocaleProvider = genericComponent()({
|
|
15316
15488
|
rtl: {
|
15317
15489
|
type: Boolean,
|
15318
15490
|
default: undefined
|
15319
|
-
}
|
15491
|
+
},
|
15492
|
+
...makeComponentProps()
|
15320
15493
|
},
|
15321
15494
|
setup(props, _ref) {
|
15322
15495
|
let {
|
@@ -15326,7 +15499,8 @@ const VLocaleProvider = genericComponent()({
|
|
15326
15499
|
rtlClasses
|
15327
15500
|
} = provideLocale(props);
|
15328
15501
|
useRender(() => createVNode("div", {
|
15329
|
-
"class": ['v-locale-provider', rtlClasses.value]
|
15502
|
+
"class": ['v-locale-provider', rtlClasses.value, props.class],
|
15503
|
+
"style": props.style
|
15330
15504
|
}, [slots.default?.()]));
|
15331
15505
|
return {};
|
15332
15506
|
}
|
@@ -15336,6 +15510,7 @@ const VMain = genericComponent()({
|
|
15336
15510
|
name: 'VMain',
|
15337
15511
|
props: {
|
15338
15512
|
scrollable: Boolean,
|
15513
|
+
...makeComponentProps(),
|
15339
15514
|
...makeTagProps({
|
15340
15515
|
tag: 'main'
|
15341
15516
|
})
|
@@ -15353,8 +15528,8 @@ const VMain = genericComponent()({
|
|
15353
15528
|
useRender(() => createVNode(props.tag, {
|
15354
15529
|
"class": ['v-main', {
|
15355
15530
|
'v-main--scrollable': props.scrollable
|
15356
|
-
}],
|
15357
|
-
"style": [mainStyles.value, ssrBootStyles.value]
|
15531
|
+
}, props.class],
|
15532
|
+
"style": [mainStyles.value, ssrBootStyles.value, props.style]
|
15358
15533
|
}, {
|
15359
15534
|
default: () => [props.scrollable ? createVNode("div", {
|
15360
15535
|
"class": "v-main__scroller"
|
@@ -15364,593 +15539,167 @@ const VMain = genericComponent()({
|
|
15364
15539
|
}
|
15365
15540
|
});
|
15366
15541
|
|
15367
|
-
|
15368
|
-
|
15369
|
-
|
15370
|
-
|
15371
|
-
|
15372
|
-
|
15373
|
-
const
|
15374
|
-
const
|
15375
|
-
const
|
15376
|
-
|
15377
|
-
|
15542
|
+
function useSticky(_ref) {
|
15543
|
+
let {
|
15544
|
+
rootEl,
|
15545
|
+
isSticky,
|
15546
|
+
layoutItemStyles
|
15547
|
+
} = _ref;
|
15548
|
+
const isStuck = ref(false);
|
15549
|
+
const stuckPosition = ref(0);
|
15550
|
+
const stickyStyles = computed(() => {
|
15551
|
+
const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;
|
15552
|
+
return [isSticky.value ? {
|
15553
|
+
top: 'auto',
|
15554
|
+
bottom: 'auto',
|
15555
|
+
height: undefined
|
15556
|
+
} : undefined, isStuck.value ? {
|
15557
|
+
[side]: convertToUnit(stuckPosition.value)
|
15558
|
+
} : {
|
15559
|
+
top: layoutItemStyles.value.top
|
15560
|
+
}];
|
15561
|
+
});
|
15562
|
+
onMounted(() => {
|
15563
|
+
watch(isSticky, val => {
|
15564
|
+
if (val) {
|
15565
|
+
window.addEventListener('scroll', onScroll, {
|
15566
|
+
passive: true
|
15567
|
+
});
|
15568
|
+
} else {
|
15569
|
+
window.removeEventListener('scroll', onScroll);
|
15570
|
+
}
|
15571
|
+
}, {
|
15572
|
+
immediate: true
|
15573
|
+
});
|
15574
|
+
});
|
15575
|
+
onBeforeUnmount(() => {
|
15576
|
+
document.removeEventListener('scroll', onScroll);
|
15577
|
+
});
|
15578
|
+
let lastScrollTop = 0;
|
15579
|
+
function onScroll() {
|
15580
|
+
const direction = lastScrollTop > window.scrollY ? 'up' : 'down';
|
15581
|
+
const rect = rootEl.value.getBoundingClientRect();
|
15582
|
+
const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);
|
15583
|
+
const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);
|
15584
|
+
const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;
|
15585
|
+
if (rect.height < window.innerHeight - layoutTop) {
|
15586
|
+
isStuck.value = 'top';
|
15587
|
+
stuckPosition.value = layoutTop;
|
15588
|
+
} else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {
|
15589
|
+
stuckPosition.value = window.scrollY + rect.top;
|
15590
|
+
isStuck.value = true;
|
15591
|
+
} else if (direction === 'down' && bottom <= 0) {
|
15592
|
+
stuckPosition.value = 0;
|
15593
|
+
isStuck.value = 'bottom';
|
15594
|
+
} else if (direction === 'up' && top <= 0) {
|
15595
|
+
stuckPosition.value = rect.top + top;
|
15596
|
+
isStuck.value = 'top';
|
15597
|
+
}
|
15598
|
+
lastScrollTop = window.scrollY;
|
15378
15599
|
}
|
15379
|
-
|
15380
|
-
|
15600
|
+
return {
|
15601
|
+
isStuck,
|
15602
|
+
stickyStyles
|
15603
|
+
};
|
15604
|
+
}
|
15381
15605
|
|
15382
|
-
|
15383
|
-
|
15606
|
+
const HORIZON = 100; // ms
|
15607
|
+
const HISTORY = 20; // number of samples to keep
|
15384
15608
|
|
15385
|
-
|
15386
|
-
|
15387
|
-
|
15388
|
-
|
15609
|
+
/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */
|
15610
|
+
function kineticEnergyToVelocity(work) {
|
15611
|
+
const sqrt2 = 1.41421356237;
|
15612
|
+
return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;
|
15613
|
+
}
|
15614
|
+
|
15615
|
+
/**
|
15616
|
+
* Returns pointer velocity in px/s
|
15617
|
+
*/
|
15618
|
+
function calculateImpulseVelocity(samples) {
|
15619
|
+
// The input should be in reversed time order (most recent sample at index i=0)
|
15620
|
+
if (samples.length < 2) {
|
15621
|
+
// if 0 or 1 points, velocity is zero
|
15622
|
+
return 0;
|
15623
|
+
}
|
15624
|
+
// if (samples[1].t > samples[0].t) {
|
15625
|
+
// // Algorithm will still work, but not perfectly
|
15626
|
+
// consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')
|
15627
|
+
// }
|
15628
|
+
if (samples.length === 2) {
|
15629
|
+
// if 2 points, basic linear calculation
|
15630
|
+
if (samples[1].t === samples[0].t) {
|
15631
|
+
// consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)
|
15632
|
+
return 0;
|
15389
15633
|
}
|
15634
|
+
return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);
|
15390
15635
|
}
|
15391
|
-
|
15392
|
-
|
15636
|
+
// Guaranteed to have at least 3 points here
|
15637
|
+
// start with the oldest sample and go forward in time
|
15638
|
+
let work = 0;
|
15639
|
+
for (let i = samples.length - 1; i > 0; i--) {
|
15640
|
+
if (samples[i].t === samples[i - 1].t) {
|
15641
|
+
// consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)
|
15642
|
+
continue;
|
15643
|
+
}
|
15644
|
+
const vprev = kineticEnergyToVelocity(work); // v[i-1]
|
15645
|
+
const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]
|
15646
|
+
work += (vcurr - vprev) * Math.abs(vcurr);
|
15647
|
+
if (i === samples.length - 1) {
|
15648
|
+
work *= 0.5;
|
15649
|
+
}
|
15393
15650
|
}
|
15394
|
-
|
15395
|
-
return weeks;
|
15396
|
-
}
|
15397
|
-
function startOfMonth(date) {
|
15398
|
-
return new Date(date.getFullYear(), date.getMonth(), 1);
|
15399
|
-
}
|
15400
|
-
function endOfMonth(date) {
|
15401
|
-
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
15651
|
+
return kineticEnergyToVelocity(work) * 1000;
|
15402
15652
|
}
|
15403
|
-
function
|
15404
|
-
|
15405
|
-
|
15406
|
-
|
15407
|
-
|
15408
|
-
|
15653
|
+
function useVelocity() {
|
15654
|
+
const touches = {};
|
15655
|
+
function addMovement(e) {
|
15656
|
+
Array.from(e.changedTouches).forEach(touch => {
|
15657
|
+
const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
|
15658
|
+
samples.push([e.timeStamp, touch]);
|
15659
|
+
});
|
15409
15660
|
}
|
15410
|
-
|
15411
|
-
|
15412
|
-
|
15413
|
-
|
15414
|
-
|
15415
|
-
|
15416
|
-
|
15417
|
-
|
15418
|
-
|
15419
|
-
|
15420
|
-
|
15421
|
-
|
15422
|
-
|
15423
|
-
|
15424
|
-
|
15425
|
-
|
15426
|
-
|
15427
|
-
|
15428
|
-
|
15429
|
-
|
15430
|
-
|
15431
|
-
|
15432
|
-
|
15433
|
-
|
15434
|
-
|
15435
|
-
|
15436
|
-
|
15437
|
-
|
15438
|
-
|
15439
|
-
|
15440
|
-
|
15441
|
-
|
15442
|
-
|
15443
|
-
|
15444
|
-
|
15445
|
-
|
15446
|
-
|
15447
|
-
|
15448
|
-
|
15449
|
-
|
15450
|
-
|
15451
|
-
|
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);
|
15886
|
-
}
|
15887
|
-
// Guaranteed to have at least 3 points here
|
15888
|
-
// start with the oldest sample and go forward in time
|
15889
|
-
let work = 0;
|
15890
|
-
for (let i = samples.length - 1; i > 0; i--) {
|
15891
|
-
if (samples[i].t === samples[i - 1].t) {
|
15892
|
-
// consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)
|
15893
|
-
continue;
|
15894
|
-
}
|
15895
|
-
const vprev = kineticEnergyToVelocity(work); // v[i-1]
|
15896
|
-
const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]
|
15897
|
-
work += (vcurr - vprev) * Math.abs(vcurr);
|
15898
|
-
if (i === samples.length - 1) {
|
15899
|
-
work *= 0.5;
|
15900
|
-
}
|
15901
|
-
}
|
15902
|
-
return kineticEnergyToVelocity(work) * 1000;
|
15903
|
-
}
|
15904
|
-
function useVelocity() {
|
15905
|
-
const touches = {};
|
15906
|
-
function addMovement(e) {
|
15907
|
-
Array.from(e.changedTouches).forEach(touch => {
|
15908
|
-
const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));
|
15909
|
-
samples.push([e.timeStamp, touch]);
|
15910
|
-
});
|
15911
|
-
}
|
15912
|
-
function endTouch(e) {
|
15913
|
-
Array.from(e.changedTouches).forEach(touch => {
|
15914
|
-
delete touches[touch.identifier];
|
15915
|
-
});
|
15916
|
-
}
|
15917
|
-
function getVelocity(id) {
|
15918
|
-
const samples = touches[id]?.values().reverse();
|
15919
|
-
if (!samples) {
|
15920
|
-
throw new Error(`No samples for touch id ${id}`);
|
15921
|
-
}
|
15922
|
-
const newest = samples[0];
|
15923
|
-
const x = [];
|
15924
|
-
const y = [];
|
15925
|
-
for (const val of samples) {
|
15926
|
-
if (newest[0] - val[0] > HORIZON) break;
|
15927
|
-
x.push({
|
15928
|
-
t: val[0],
|
15929
|
-
d: val[1].clientX
|
15930
|
-
});
|
15931
|
-
y.push({
|
15932
|
-
t: val[0],
|
15933
|
-
d: val[1].clientY
|
15934
|
-
});
|
15935
|
-
}
|
15936
|
-
return {
|
15937
|
-
x: calculateImpulseVelocity(x),
|
15938
|
-
y: calculateImpulseVelocity(y),
|
15939
|
-
get direction() {
|
15940
|
-
const {
|
15941
|
-
x,
|
15942
|
-
y
|
15943
|
-
} = this;
|
15944
|
-
const [absX, absY] = [Math.abs(x), Math.abs(y)];
|
15945
|
-
return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops$1();
|
15946
|
-
}
|
15947
|
-
};
|
15948
|
-
}
|
15949
|
-
return {
|
15950
|
-
addMovement,
|
15951
|
-
endTouch,
|
15952
|
-
getVelocity
|
15953
|
-
};
|
15661
|
+
function endTouch(e) {
|
15662
|
+
Array.from(e.changedTouches).forEach(touch => {
|
15663
|
+
delete touches[touch.identifier];
|
15664
|
+
});
|
15665
|
+
}
|
15666
|
+
function getVelocity(id) {
|
15667
|
+
const samples = touches[id]?.values().reverse();
|
15668
|
+
if (!samples) {
|
15669
|
+
throw new Error(`No samples for touch id ${id}`);
|
15670
|
+
}
|
15671
|
+
const newest = samples[0];
|
15672
|
+
const x = [];
|
15673
|
+
const y = [];
|
15674
|
+
for (const val of samples) {
|
15675
|
+
if (newest[0] - val[0] > HORIZON) break;
|
15676
|
+
x.push({
|
15677
|
+
t: val[0],
|
15678
|
+
d: val[1].clientX
|
15679
|
+
});
|
15680
|
+
y.push({
|
15681
|
+
t: val[0],
|
15682
|
+
d: val[1].clientY
|
15683
|
+
});
|
15684
|
+
}
|
15685
|
+
return {
|
15686
|
+
x: calculateImpulseVelocity(x),
|
15687
|
+
y: calculateImpulseVelocity(y),
|
15688
|
+
get direction() {
|
15689
|
+
const {
|
15690
|
+
x,
|
15691
|
+
y
|
15692
|
+
} = this;
|
15693
|
+
const [absX, absY] = [Math.abs(x), Math.abs(y)];
|
15694
|
+
return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops$1();
|
15695
|
+
}
|
15696
|
+
};
|
15697
|
+
}
|
15698
|
+
return {
|
15699
|
+
addMovement,
|
15700
|
+
endTouch,
|
15701
|
+
getVelocity
|
15702
|
+
};
|
15954
15703
|
}
|
15955
15704
|
function oops$1() {
|
15956
15705
|
throw new Error();
|
@@ -16126,6 +15875,7 @@ const VNavigationDrawer = genericComponent()({
|
|
16126
15875
|
},
|
16127
15876
|
sticky: Boolean,
|
16128
15877
|
...makeBorderProps(),
|
15878
|
+
...makeComponentProps(),
|
16129
15879
|
...makeElevationProps(),
|
16130
15880
|
...makeLayoutItemProps(),
|
16131
15881
|
...makeRoundedProps(),
|
@@ -16277,8 +16027,8 @@ const VNavigationDrawer = genericComponent()({
|
|
16277
16027
|
'v-navigation-drawer--temporary': isTemporary.value,
|
16278
16028
|
'v-navigation-drawer--active': isActive.value,
|
16279
16029
|
'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]
|
16030
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
16031
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
16282
16032
|
}, attrs), {
|
16283
16033
|
default: () => [hasImage && createVNode("div", {
|
16284
16034
|
"key": "image",
|
@@ -16407,6 +16157,7 @@ const VPagination = genericComponent()({
|
|
16407
16157
|
},
|
16408
16158
|
showFirstLastPage: Boolean,
|
16409
16159
|
...makeBorderProps(),
|
16160
|
+
...makeComponentProps(),
|
16410
16161
|
...makeDensityProps(),
|
16411
16162
|
...makeElevationProps(),
|
16412
16163
|
...makeRoundedProps(),
|
@@ -16603,7 +16354,8 @@ const VPagination = genericComponent()({
|
|
16603
16354
|
}
|
16604
16355
|
useRender(() => createVNode(props.tag, {
|
16605
16356
|
"ref": resizeRef,
|
16606
|
-
"class": ['v-pagination', themeClasses.value],
|
16357
|
+
"class": ['v-pagination', themeClasses.value, props.class],
|
16358
|
+
"style": props.style,
|
16607
16359
|
"role": "navigation",
|
16608
16360
|
"aria-label": t(props.ariaLabel),
|
16609
16361
|
"onKeydown": onKeydown,
|
@@ -16662,7 +16414,8 @@ const VParallax = genericComponent()({
|
|
16662
16414
|
scale: {
|
16663
16415
|
type: [Number, String],
|
16664
16416
|
default: 0.5
|
16665
|
-
}
|
16417
|
+
},
|
16418
|
+
...makeComponentProps()
|
16666
16419
|
},
|
16667
16420
|
setup(props, _ref) {
|
16668
16421
|
let {
|
@@ -16724,7 +16477,8 @@ const VParallax = genericComponent()({
|
|
16724
16477
|
useRender(() => createVNode(VImg, {
|
16725
16478
|
"class": ['v-parallax', {
|
16726
16479
|
'v-parallax--active': isIntersecting.value
|
16727
|
-
}],
|
16480
|
+
}, props.class],
|
16481
|
+
"style": props.style,
|
16728
16482
|
"ref": root,
|
16729
16483
|
"cover": true,
|
16730
16484
|
"onLoadstart": onScroll,
|
@@ -16749,7 +16503,8 @@ const VRadio = genericComponent()({
|
|
16749
16503
|
slots
|
16750
16504
|
} = _ref;
|
16751
16505
|
useRender(() => createVNode(VSelectionControl, mergeProps(props, {
|
16752
|
-
"class":
|
16506
|
+
"class": ['v-radio', props.class],
|
16507
|
+
"style": props.style,
|
16753
16508
|
"type": "radio"
|
16754
16509
|
}), slots));
|
16755
16510
|
return {};
|
@@ -16803,7 +16558,8 @@ const VRadioGroup = genericComponent()({
|
|
16803
16558
|
}
|
16804
16559
|
}) : props.label;
|
16805
16560
|
return createVNode(VInput, mergeProps({
|
16806
|
-
"class":
|
16561
|
+
"class": ['v-radio-group', props.class],
|
16562
|
+
"style": props.style
|
16807
16563
|
}, inputAttrs, inputProps, {
|
16808
16564
|
"modelValue": model.value,
|
16809
16565
|
"onUpdate:modelValue": $event => model.value = $event,
|
@@ -16941,7 +16697,8 @@ const VRangeSlider = genericComponent()({
|
|
16941
16697
|
'v-slider--focused': isFocused.value,
|
16942
16698
|
'v-slider--pressed': mousePressed.value,
|
16943
16699
|
'v-slider--disabled': props.disabled
|
16944
|
-
}],
|
16700
|
+
}, props.class],
|
16701
|
+
"style": props.style,
|
16945
16702
|
"ref": inputRef
|
16946
16703
|
}, inputProps, {
|
16947
16704
|
"focused": isFocused.value
|
@@ -17084,6 +16841,7 @@ const VRating = genericComponent()({
|
|
17084
16841
|
validator: v => ['top', 'bottom'].includes(v)
|
17085
16842
|
},
|
17086
16843
|
ripple: Boolean,
|
16844
|
+
...makeComponentProps(),
|
17087
16845
|
...makeDensityProps(),
|
17088
16846
|
...makeSizeProps(),
|
17089
16847
|
...makeTagProps(),
|
@@ -17201,7 +16959,8 @@ const VRating = genericComponent()({
|
|
17201
16959
|
"class": ['v-rating', {
|
17202
16960
|
'v-rating--hover': props.hover,
|
17203
16961
|
'v-rating--readonly': props.readonly
|
17204
|
-
}, themeClasses.value]
|
16962
|
+
}, themeClasses.value, props.class],
|
16963
|
+
"style": props.style
|
17205
16964
|
}, {
|
17206
16965
|
default: () => [createVNode(VRatingItem, {
|
17207
16966
|
"value": 0,
|
@@ -17301,6 +17060,7 @@ const makeVSlideGroupProps = propsFactory({
|
|
17301
17060
|
type: [Boolean, String],
|
17302
17061
|
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
17303
17062
|
},
|
17063
|
+
...makeComponentProps(),
|
17304
17064
|
...makeTagProps(),
|
17305
17065
|
...makeGroupProps({
|
17306
17066
|
selectedClass: 'v-slide-group-item--active'
|
@@ -17464,7 +17224,7 @@ const VSlideGroup = genericComponent()({
|
|
17464
17224
|
function focus(location) {
|
17465
17225
|
if (!contentRef.value) return;
|
17466
17226
|
if (!location) {
|
17467
|
-
const focusable =
|
17227
|
+
const focusable = focusableChildren(contentRef.value);
|
17468
17228
|
focusable[0]?.focus();
|
17469
17229
|
} else if (location === 'next') {
|
17470
17230
|
const el = contentRef.value.querySelector(':focus')?.nextElementSibling;
|
@@ -17541,7 +17301,8 @@ const VSlideGroup = genericComponent()({
|
|
17541
17301
|
'v-slide-group--vertical': !isHorizontal.value,
|
17542
17302
|
'v-slide-group--has-affixes': hasAffixes.value,
|
17543
17303
|
'v-slide-group--is-overflowing': isOverflowing.value
|
17544
|
-
}],
|
17304
|
+
}, props.class],
|
17305
|
+
"style": props.style,
|
17545
17306
|
"tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
|
17546
17307
|
"onFocus": onFocus
|
17547
17308
|
}, {
|
@@ -17691,7 +17452,8 @@ const VSnackbar = genericComponent()({
|
|
17691
17452
|
'v-snackbar--active': isActive.value,
|
17692
17453
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
17693
17454
|
'v-snackbar--vertical': props.vertical
|
17694
|
-
}, positionClasses.value]
|
17455
|
+
}, positionClasses.value, props.class],
|
17456
|
+
"style": props.style
|
17695
17457
|
}, overlayProps, {
|
17696
17458
|
"modelValue": isActive.value,
|
17697
17459
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
@@ -17791,7 +17553,8 @@ const VSwitch = genericComponent()({
|
|
17791
17553
|
'v-switch--inset': props.inset
|
17792
17554
|
}, {
|
17793
17555
|
'v-switch--indeterminate': indeterminate.value
|
17794
|
-
}, loaderClasses.value]
|
17556
|
+
}, loaderClasses.value, props.class],
|
17557
|
+
"style": props.style
|
17795
17558
|
}, inputAttrs, inputProps, {
|
17796
17559
|
"id": id.value,
|
17797
17560
|
"focused": isFocused.value
|
@@ -17860,6 +17623,7 @@ const VSystemBar = genericComponent()({
|
|
17860
17623
|
color: String,
|
17861
17624
|
height: [Number, String],
|
17862
17625
|
window: Boolean,
|
17626
|
+
...makeComponentProps(),
|
17863
17627
|
...makeElevationProps(),
|
17864
17628
|
...makeLayoutItemProps(),
|
17865
17629
|
...makeRoundedProps(),
|
@@ -17901,8 +17665,8 @@ const VSystemBar = genericComponent()({
|
|
17901
17665
|
useRender(() => createVNode(props.tag, {
|
17902
17666
|
"class": ['v-system-bar', {
|
17903
17667
|
'v-system-bar--window': props.window
|
17904
|
-
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
|
17905
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value]
|
17668
|
+
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
17669
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]
|
17906
17670
|
}, slots));
|
17907
17671
|
return {};
|
17908
17672
|
}
|
@@ -17975,10 +17739,10 @@ const VTab = genericComponent()({
|
|
17975
17739
|
useRender(() => {
|
17976
17740
|
const [btnProps] = VBtn.filterProps(props);
|
17977
17741
|
return createVNode(VBtn, mergeProps({
|
17978
|
-
"_as": "VTab",
|
17979
17742
|
"symbol": VTabsSymbol,
|
17980
17743
|
"ref": rootEl,
|
17981
|
-
"class": ['v-tab'],
|
17744
|
+
"class": ['v-tab', props.class],
|
17745
|
+
"style": props.style,
|
17982
17746
|
"tabindex": isSelected.value ? 0 : -1,
|
17983
17747
|
"role": "tab",
|
17984
17748
|
"aria-selected": String(isSelected.value),
|
@@ -18073,10 +17837,10 @@ const VTabs = genericComponent()({
|
|
18073
17837
|
'v-tabs--fixed-tabs': props.fixedTabs,
|
18074
17838
|
'v-tabs--grow': props.grow,
|
18075
17839
|
'v-tabs--stacked': props.stacked
|
18076
|
-
}, densityClasses.value, backgroundColorClasses.value],
|
17840
|
+
}, densityClasses.value, backgroundColorClasses.value, props.class],
|
18077
17841
|
"style": [{
|
18078
17842
|
'--v-tabs-height': convertToUnit(props.height)
|
18079
|
-
}, backgroundColorStyles.value],
|
17843
|
+
}, backgroundColorStyles.value, props.style],
|
18080
17844
|
"role": "tablist",
|
18081
17845
|
"symbol": VTabsSymbol
|
18082
17846
|
}), {
|
@@ -18096,6 +17860,7 @@ const VTable = genericComponent()({
|
|
18096
17860
|
fixedFooter: Boolean,
|
18097
17861
|
height: [Number, String],
|
18098
17862
|
hover: Boolean,
|
17863
|
+
...makeComponentProps(),
|
18099
17864
|
...makeDensityProps(),
|
18100
17865
|
...makeTagProps(),
|
18101
17866
|
...makeThemeProps()
|
@@ -18118,7 +17883,8 @@ const VTable = genericComponent()({
|
|
18118
17883
|
'v-table--has-top': !!slots.top,
|
18119
17884
|
'v-table--has-bottom': !!slots.bottom,
|
18120
17885
|
'v-table--hover': props.hover
|
18121
|
-
}, themeClasses.value, densityClasses.value]
|
17886
|
+
}, themeClasses.value, densityClasses.value, props.class],
|
17887
|
+
"style": props.style
|
18122
17888
|
}, {
|
18123
17889
|
default: () => [slots.top?.(), slots.default ? createVNode("div", {
|
18124
17890
|
"class": "v-table__wrapper",
|
@@ -18283,7 +18049,8 @@ const VTextarea = genericComponent()({
|
|
18283
18049
|
'v-textarea--auto-grow': props.autoGrow,
|
18284
18050
|
'v-textarea--no-resize': props.noResize || props.autoGrow,
|
18285
18051
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
18286
|
-
}]
|
18052
|
+
}, props.class],
|
18053
|
+
"style": props.style
|
18287
18054
|
}, rootAttrs, inputProps, {
|
18288
18055
|
"focused": isFocused.value
|
18289
18056
|
}), {
|
@@ -18367,6 +18134,7 @@ const VThemeProvider = genericComponent()({
|
|
18367
18134
|
name: 'VThemeProvider',
|
18368
18135
|
props: {
|
18369
18136
|
withBackground: Boolean,
|
18137
|
+
...makeComponentProps(),
|
18370
18138
|
...makeThemeProps(),
|
18371
18139
|
...makeTagProps()
|
18372
18140
|
},
|
@@ -18380,7 +18148,8 @@ const VThemeProvider = genericComponent()({
|
|
18380
18148
|
return () => {
|
18381
18149
|
if (!props.withBackground) return slots.default?.();
|
18382
18150
|
return createVNode(props.tag, {
|
18383
|
-
"class": ['v-theme-provider', themeClasses.value]
|
18151
|
+
"class": ['v-theme-provider', themeClasses.value, props.class],
|
18152
|
+
"style": props.style
|
18384
18153
|
}, {
|
18385
18154
|
default: () => [slots.default?.()]
|
18386
18155
|
});
|
@@ -18425,6 +18194,7 @@ const VTimeline = genericComponent()({
|
|
18425
18194
|
type: String,
|
18426
18195
|
validator: v => ['start', 'end', 'both'].includes(v)
|
18427
18196
|
},
|
18197
|
+
...makeComponentProps(),
|
18428
18198
|
...makeDensityProps(),
|
18429
18199
|
...makeTagProps(),
|
18430
18200
|
...makeThemeProps()
|
@@ -18468,10 +18238,10 @@ const VTimeline = genericComponent()({
|
|
18468
18238
|
useRender(() => createVNode(props.tag, {
|
18469
18239
|
"class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
|
18470
18240
|
'v-timeline--inset-line': !!props.lineInset
|
18471
|
-
}, themeClasses.value, densityClasses.value, sideClasses.value],
|
18472
|
-
"style": {
|
18241
|
+
}, themeClasses.value, densityClasses.value, sideClasses.value, props.class],
|
18242
|
+
"style": [{
|
18473
18243
|
'--v-timeline-line-thickness': convertToUnit(props.lineThickness)
|
18474
|
-
}
|
18244
|
+
}, props.style]
|
18475
18245
|
}, slots));
|
18476
18246
|
return {};
|
18477
18247
|
}
|
@@ -18486,6 +18256,7 @@ const VTimelineDivider = genericComponent()({
|
|
18486
18256
|
icon: IconValue,
|
18487
18257
|
iconColor: String,
|
18488
18258
|
lineColor: String,
|
18259
|
+
...makeComponentProps(),
|
18489
18260
|
...makeRoundedProps(),
|
18490
18261
|
...makeSizeProps(),
|
18491
18262
|
...makeElevationProps()
|
@@ -18515,7 +18286,8 @@ const VTimelineDivider = genericComponent()({
|
|
18515
18286
|
useRender(() => createVNode("div", {
|
18516
18287
|
"class": ['v-timeline-divider', {
|
18517
18288
|
'v-timeline-divider--fill-dot': props.fillDot
|
18518
|
-
}]
|
18289
|
+
}, props.class],
|
18290
|
+
"style": props.style
|
18519
18291
|
}, [createVNode("div", {
|
18520
18292
|
"class": ['v-timeline-divider__before', lineColorClasses.value],
|
18521
18293
|
"style": lineColorStyles.value
|
@@ -18565,11 +18337,12 @@ const VTimelineItem = genericComponent()({
|
|
18565
18337
|
icon: IconValue,
|
18566
18338
|
iconColor: String,
|
18567
18339
|
lineInset: [Number, String],
|
18568
|
-
...
|
18340
|
+
...makeComponentProps(),
|
18341
|
+
...makeDimensionProps(),
|
18569
18342
|
...makeElevationProps(),
|
18343
|
+
...makeRoundedProps(),
|
18570
18344
|
...makeSizeProps(),
|
18571
|
-
...makeTagProps()
|
18572
|
-
...makeDimensionProps()
|
18345
|
+
...makeTagProps()
|
18573
18346
|
},
|
18574
18347
|
setup(props, _ref) {
|
18575
18348
|
let {
|
@@ -18589,11 +18362,11 @@ const VTimelineItem = genericComponent()({
|
|
18589
18362
|
useRender(() => createVNode("div", {
|
18590
18363
|
"class": ['v-timeline-item', {
|
18591
18364
|
'v-timeline-item--fill-dot': props.fillDot
|
18592
|
-
}],
|
18593
|
-
"style": {
|
18365
|
+
}, props.class],
|
18366
|
+
"style": [{
|
18594
18367
|
'--v-timeline-dot-size': convertToUnit(dotSize.value),
|
18595
18368
|
'--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)
|
18596
|
-
}
|
18369
|
+
}, props.style]
|
18597
18370
|
}, [createVNode("div", {
|
18598
18371
|
"class": "v-timeline-item__body",
|
18599
18372
|
"style": dimensionStyles.value
|
@@ -18669,7 +18442,8 @@ const VTooltip = genericComponent()({
|
|
18669
18442
|
const [overlayProps] = VOverlay.filterProps(props);
|
18670
18443
|
return createVNode(VOverlay, mergeProps({
|
18671
18444
|
"ref": overlay,
|
18672
|
-
"class": ['v-tooltip'],
|
18445
|
+
"class": ['v-tooltip', props.class],
|
18446
|
+
"style": props.style,
|
18673
18447
|
"id": id.value
|
18674
18448
|
}, overlayProps, {
|
18675
18449
|
"modelValue": isActive.value,
|
@@ -18717,7 +18491,8 @@ const VValidation = genericComponent()({
|
|
18717
18491
|
const VVirtualScrollItem = genericComponent()({
|
18718
18492
|
name: 'VVirtualScrollItem',
|
18719
18493
|
props: {
|
18720
|
-
dynamicHeight: Boolean
|
18494
|
+
dynamicHeight: Boolean,
|
18495
|
+
...makeComponentProps()
|
18721
18496
|
},
|
18722
18497
|
emits: {
|
18723
18498
|
'update:height': height => true
|
@@ -18744,7 +18519,8 @@ const VVirtualScrollItem = genericComponent()({
|
|
18744
18519
|
onUpdated(updateHeight);
|
18745
18520
|
useRender(() => createVNode("div", {
|
18746
18521
|
"ref": props.dynamicHeight ? resizeRef : undefined,
|
18747
|
-
"class":
|
18522
|
+
"class": ['v-virtual-scroll__item', props.class],
|
18523
|
+
"style": props.style
|
18748
18524
|
}, [slots.default?.()]));
|
18749
18525
|
}
|
18750
18526
|
});
|
@@ -18761,7 +18537,7 @@ const VVirtualScroll = genericComponent()({
|
|
18761
18537
|
default: () => []
|
18762
18538
|
},
|
18763
18539
|
itemHeight: [Number, String],
|
18764
|
-
|
18540
|
+
...makeComponentProps(),
|
18765
18541
|
...makeDimensionProps()
|
18766
18542
|
},
|
18767
18543
|
setup(props, _ref) {
|
@@ -18788,7 +18564,7 @@ const VVirtualScroll = genericComponent()({
|
|
18788
18564
|
const sizeMap = new Map();
|
18789
18565
|
let sizes = createRange(props.items.length).map(() => itemHeight.value);
|
18790
18566
|
const visibleItems = computed(() => {
|
18791
|
-
return
|
18567
|
+
return Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
|
18792
18568
|
});
|
18793
18569
|
function handleItemResize(index, height) {
|
18794
18570
|
itemHeight.value = Math.max(itemHeight.value, height);
|
@@ -18799,20 +18575,13 @@ const VVirtualScroll = genericComponent()({
|
|
18799
18575
|
return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
|
18800
18576
|
}
|
18801
18577
|
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
|
-
}
|
18578
|
+
const end = props.items.length;
|
18579
|
+
let middle = 0;
|
18580
|
+
let middleOffset = 0;
|
18581
|
+
while (middleOffset < scrollTop && middle < end) {
|
18582
|
+
middleOffset += sizes[middle++] || itemHeight.value;
|
18814
18583
|
}
|
18815
|
-
return
|
18584
|
+
return middle - 1;
|
18816
18585
|
}
|
18817
18586
|
let lastScrollTop = 0;
|
18818
18587
|
function handleScroll() {
|
@@ -18834,8 +18603,12 @@ const VVirtualScroll = genericComponent()({
|
|
18834
18603
|
const offset = calculateOffset(index);
|
18835
18604
|
rootEl.value.scrollTop = offset;
|
18836
18605
|
}
|
18606
|
+
const items = computed(() => props.items.map((item, index) => ({
|
18607
|
+
raw: item,
|
18608
|
+
index
|
18609
|
+
})));
|
18837
18610
|
const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value));
|
18838
|
-
const computedItems = computed(() =>
|
18611
|
+
const computedItems = computed(() => items.value.slice(first.value, last.value));
|
18839
18612
|
const paddingTop = computed(() => calculateOffset(first.value));
|
18840
18613
|
const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
|
18841
18614
|
const {
|
@@ -18860,23 +18633,23 @@ const VVirtualScroll = genericComponent()({
|
|
18860
18633
|
});
|
18861
18634
|
useRender(() => createVNode("div", {
|
18862
18635
|
"ref": rootEl,
|
18863
|
-
"class":
|
18636
|
+
"class": ['v-virtual-scroll', props.class],
|
18864
18637
|
"onScroll": handleScroll,
|
18865
|
-
"style": dimensionStyles.value
|
18638
|
+
"style": [dimensionStyles.value, props.style]
|
18866
18639
|
}, [createVNode("div", {
|
18867
18640
|
"class": "v-virtual-scroll__container",
|
18868
18641
|
"style": {
|
18869
18642
|
paddingTop: convertToUnit(paddingTop.value),
|
18870
18643
|
paddingBottom: convertToUnit(paddingBottom.value)
|
18871
18644
|
}
|
18872
|
-
}, [computedItems.value.map(
|
18873
|
-
"key": index,
|
18645
|
+
}, [computedItems.value.map(item => createVNode(VVirtualScrollItem, {
|
18646
|
+
"key": item.index,
|
18874
18647
|
"dynamicHeight": !props.itemHeight,
|
18875
|
-
"onUpdate:height": height => handleItemResize(index
|
18648
|
+
"onUpdate:height": height => handleItemResize(item.index, height)
|
18876
18649
|
}, {
|
18877
18650
|
default: () => [slots.default?.({
|
18878
|
-
item,
|
18879
|
-
index: index
|
18651
|
+
item: item.raw,
|
18652
|
+
index: item.index
|
18880
18653
|
})]
|
18881
18654
|
}))])]));
|
18882
18655
|
return {
|
@@ -19310,6 +19083,17 @@ const VDataTableHeaders = genericComponent()({
|
|
19310
19083
|
backgroundColorClasses,
|
19311
19084
|
backgroundColorStyles
|
19312
19085
|
} = useBackgroundColor(props, 'color');
|
19086
|
+
const slotProps = computed(() => ({
|
19087
|
+
headers: headers.value,
|
19088
|
+
columns: columns.value,
|
19089
|
+
toggleSort,
|
19090
|
+
sortBy: sortBy.value,
|
19091
|
+
someSelected: someSelected.value,
|
19092
|
+
allSelected: allSelected.value,
|
19093
|
+
selectAll,
|
19094
|
+
getSortIcon,
|
19095
|
+
getFixedStyles
|
19096
|
+
}));
|
19313
19097
|
const VDataTableHeaderCell = _ref2 => {
|
19314
19098
|
let {
|
19315
19099
|
column,
|
@@ -19337,14 +19121,14 @@ const VDataTableHeaders = genericComponent()({
|
|
19337
19121
|
"noPadding": noPadding
|
19338
19122
|
}, {
|
19339
19123
|
default: () => {
|
19340
|
-
const
|
19341
|
-
const
|
19124
|
+
const columnSlotName = `column.${column.key}`;
|
19125
|
+
const columnSlotProps = {
|
19342
19126
|
column,
|
19343
19127
|
selectAll
|
19344
19128
|
};
|
19345
|
-
if (slots[
|
19129
|
+
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
19346
19130
|
if (column.key === 'data-table-select') {
|
19347
|
-
return slots['column.data-table-select']?.(
|
19131
|
+
return slots['column.data-table-select']?.(columnSlotProps) ?? createVNode(VCheckboxBtn, {
|
19348
19132
|
"modelValue": allSelected.value,
|
19349
19133
|
"indeterminate": someSelected.value && !allSelected.value,
|
19350
19134
|
"onUpdate:modelValue": selectAll
|
@@ -19364,22 +19148,24 @@ const VDataTableHeaders = genericComponent()({
|
|
19364
19148
|
}
|
19365
19149
|
});
|
19366
19150
|
};
|
19367
|
-
useRender(() =>
|
19368
|
-
"
|
19369
|
-
|
19370
|
-
|
19371
|
-
|
19372
|
-
"
|
19373
|
-
|
19374
|
-
"
|
19375
|
-
|
19376
|
-
|
19377
|
-
|
19378
|
-
|
19379
|
-
|
19380
|
-
|
19381
|
-
|
19382
|
-
|
19151
|
+
useRender(() => {
|
19152
|
+
return createVNode(Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => createVNode("tr", null, [row.map((column, x) => createVNode(VDataTableHeaderCell, {
|
19153
|
+
"column": column,
|
19154
|
+
"x": x,
|
19155
|
+
"y": y
|
19156
|
+
}, null))])), props.loading && createVNode("tr", {
|
19157
|
+
"class": "v-data-table__progress"
|
19158
|
+
}, [createVNode("th", {
|
19159
|
+
"colspan": columns.value.length
|
19160
|
+
}, [createVNode(LoaderSlot, {
|
19161
|
+
"name": "v-data-table-headers",
|
19162
|
+
"active": true,
|
19163
|
+
"color": typeof props.loading === 'boolean' ? undefined : props.loading,
|
19164
|
+
"indeterminate": true
|
19165
|
+
}, {
|
19166
|
+
default: slots.loader
|
19167
|
+
})])])]);
|
19168
|
+
});
|
19383
19169
|
}
|
19384
19170
|
});
|
19385
19171
|
|
@@ -19678,9 +19464,7 @@ const VDataTableRow = defineComponent({
|
|
19678
19464
|
'v-data-table__tr--clickable': !!props.onClick
|
19679
19465
|
}],
|
19680
19466
|
"onClick": props.onClick
|
19681
|
-
}, [
|
19682
|
-
"key": "no-data"
|
19683
|
-
}, slots), props.item && columns.value.map((column, i) => createVNode(VDataTableColumn, {
|
19467
|
+
}, [props.item && columns.value.map((column, i) => createVNode(VDataTableColumn, {
|
19684
19468
|
"align": column.align,
|
19685
19469
|
"fixed": column.fixed,
|
19686
19470
|
"fixedOffset": column.fixedOffset,
|
@@ -19770,13 +19554,13 @@ const VDataTableRows = genericComponent()({
|
|
19770
19554
|
useRender(() => {
|
19771
19555
|
if (props.loading && slots.loading) {
|
19772
19556
|
return createVNode("tr", {
|
19773
|
-
"class": "v-data-table-rows-
|
19557
|
+
"class": "v-data-table-rows-loading",
|
19774
19558
|
"key": "loading"
|
19775
19559
|
}, [createVNode("td", {
|
19776
19560
|
"colspan": columns.value.length
|
19777
19561
|
}, [slots.loading()])]);
|
19778
19562
|
}
|
19779
|
-
if (!props.loading && !props.items.length && !props.hideNoData
|
19563
|
+
if (!props.loading && !props.items.length && !props.hideNoData) {
|
19780
19564
|
return createVNode("tr", {
|
19781
19565
|
"class": "v-data-table-rows-no-data",
|
19782
19566
|
"key": "no-data"
|
@@ -20255,7 +20039,7 @@ const VDataTable = genericComponent()({
|
|
20255
20039
|
top: slots.top,
|
20256
20040
|
default: slots.default ?? (() => createVNode(Fragment, null, [slots.colgroup?.({
|
20257
20041
|
columns
|
20258
|
-
}), createVNode("thead", null, [
|
20042
|
+
}), createVNode("thead", null, [createVNode(VDataTableHeaders, {
|
20259
20043
|
"sticky": props.fixedHeader,
|
20260
20044
|
"multiSort": props.multiSort
|
20261
20045
|
}, slots)]), slots.thead?.(), createVNode("tbody", null, [slots.body ? slots.body() : createVNode(VDataTableRows, {
|
@@ -20621,7 +20405,7 @@ const VDataTableServer = genericComponent()({
|
|
20621
20405
|
}), createVNode("thead", {
|
20622
20406
|
"class": "v-data-table__thead",
|
20623
20407
|
"role": "rowgroup"
|
20624
|
-
}, [
|
20408
|
+
}, [createVNode(VDataTableHeaders, {
|
20625
20409
|
"sticky": props.fixedHeader,
|
20626
20410
|
"loading": props.loading,
|
20627
20411
|
"color": props.color
|
@@ -21123,130 +20907,542 @@ var components = /*#__PURE__*/Object.freeze({
|
|
21123
20907
|
|
21124
20908
|
// Types
|
21125
20909
|
|
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
|
20910
|
+
function mounted$2(el, binding) {
|
20911
|
+
const modifiers = binding.modifiers || {};
|
20912
|
+
const value = binding.value;
|
20913
|
+
const {
|
20914
|
+
once,
|
20915
|
+
immediate,
|
20916
|
+
...modifierKeys
|
20917
|
+
} = modifiers;
|
20918
|
+
const defaultValue = !Object.keys(modifierKeys).length;
|
20919
|
+
const {
|
20920
|
+
handler,
|
20921
|
+
options
|
20922
|
+
} = typeof value === 'object' ? value : {
|
20923
|
+
handler: value,
|
20924
|
+
options: {
|
20925
|
+
attributes: modifierKeys?.attr ?? defaultValue,
|
20926
|
+
characterData: modifierKeys?.char ?? defaultValue,
|
20927
|
+
childList: modifierKeys?.child ?? defaultValue,
|
20928
|
+
subtree: modifierKeys?.sub ?? defaultValue
|
20929
|
+
}
|
20930
|
+
};
|
20931
|
+
const observer = new MutationObserver(function () {
|
20932
|
+
let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
20933
|
+
let observer = arguments.length > 1 ? arguments[1] : undefined;
|
20934
|
+
handler?.(mutations, observer);
|
20935
|
+
if (once) unmounted$2(el, binding);
|
20936
|
+
});
|
20937
|
+
if (immediate) handler?.([], observer);
|
20938
|
+
el._mutate = Object(el._mutate);
|
20939
|
+
el._mutate[binding.instance.$.uid] = {
|
20940
|
+
observer
|
20941
|
+
};
|
20942
|
+
observer.observe(el, options);
|
20943
|
+
}
|
20944
|
+
function unmounted$2(el, binding) {
|
20945
|
+
if (!el._mutate?.[binding.instance.$.uid]) return;
|
20946
|
+
el._mutate[binding.instance.$.uid].observer.disconnect();
|
20947
|
+
delete el._mutate[binding.instance.$.uid];
|
20948
|
+
}
|
20949
|
+
const Mutate = {
|
20950
|
+
mounted: mounted$2,
|
20951
|
+
unmounted: unmounted$2
|
20952
|
+
};
|
20953
|
+
|
20954
|
+
function mounted$1(el, binding) {
|
20955
|
+
const handler = binding.value;
|
20956
|
+
const options = {
|
20957
|
+
passive: !binding.modifiers?.active
|
20958
|
+
};
|
20959
|
+
window.addEventListener('resize', handler, options);
|
20960
|
+
el._onResize = Object(el._onResize);
|
20961
|
+
el._onResize[binding.instance.$.uid] = {
|
20962
|
+
handler,
|
20963
|
+
options
|
20964
|
+
};
|
20965
|
+
if (!binding.modifiers?.quiet) {
|
20966
|
+
handler();
|
20967
|
+
}
|
20968
|
+
}
|
20969
|
+
function unmounted$1(el, binding) {
|
20970
|
+
if (!el._onResize?.[binding.instance.$.uid]) return;
|
20971
|
+
const {
|
20972
|
+
handler,
|
20973
|
+
options
|
20974
|
+
} = el._onResize[binding.instance.$.uid];
|
20975
|
+
window.removeEventListener('resize', handler, options);
|
20976
|
+
delete el._onResize[binding.instance.$.uid];
|
20977
|
+
}
|
20978
|
+
const Resize = {
|
20979
|
+
mounted: mounted$1,
|
20980
|
+
unmounted: unmounted$1
|
20981
|
+
};
|
20982
|
+
|
20983
|
+
function mounted(el, binding) {
|
20984
|
+
const {
|
20985
|
+
self = false
|
20986
|
+
} = binding.modifiers ?? {};
|
20987
|
+
const value = binding.value;
|
20988
|
+
const options = typeof value === 'object' && value.options || {
|
20989
|
+
passive: true
|
20990
|
+
};
|
20991
|
+
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
20992
|
+
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
20993
|
+
if (!target) return;
|
20994
|
+
target.addEventListener('scroll', handler, options);
|
20995
|
+
el._onScroll = Object(el._onScroll);
|
20996
|
+
el._onScroll[binding.instance.$.uid] = {
|
20997
|
+
handler,
|
20998
|
+
options,
|
20999
|
+
// Don't reference self
|
21000
|
+
target: self ? undefined : target
|
21001
|
+
};
|
21002
|
+
}
|
21003
|
+
function unmounted(el, binding) {
|
21004
|
+
if (!el._onScroll?.[binding.instance.$.uid]) return;
|
21005
|
+
const {
|
21006
|
+
handler,
|
21007
|
+
options,
|
21008
|
+
target = el
|
21009
|
+
} = el._onScroll[binding.instance.$.uid];
|
21010
|
+
target.removeEventListener('scroll', handler, options);
|
21011
|
+
delete el._onScroll[binding.instance.$.uid];
|
21012
|
+
}
|
21013
|
+
function updated(el, binding) {
|
21014
|
+
if (binding.value === binding.oldValue) return;
|
21015
|
+
unmounted(el, binding);
|
21016
|
+
mounted(el, binding);
|
21017
|
+
}
|
21018
|
+
const Scroll = {
|
21019
|
+
mounted,
|
21020
|
+
unmounted,
|
21021
|
+
updated
|
21022
|
+
};
|
21023
|
+
|
21024
|
+
var directives = /*#__PURE__*/Object.freeze({
|
21025
|
+
__proto__: null,
|
21026
|
+
ClickOutside: ClickOutside,
|
21027
|
+
Intersect: Intersect,
|
21028
|
+
Mutate: Mutate,
|
21029
|
+
Resize: Resize,
|
21030
|
+
Ripple: Ripple,
|
21031
|
+
Scroll: Scroll,
|
21032
|
+
Touch: Touch
|
21033
|
+
});
|
21034
|
+
|
21035
|
+
// Utilities
|
21036
|
+
|
21037
|
+
// Types
|
21038
|
+
|
21039
|
+
function getWeekArray(date) {
|
21040
|
+
let currentWeek = [];
|
21041
|
+
const weeks = [];
|
21042
|
+
const firstDayOfMonth = startOfMonth(date);
|
21043
|
+
const lastDayOfMonth = endOfMonth(date);
|
21044
|
+
for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
|
21045
|
+
currentWeek.push(null);
|
21046
|
+
}
|
21047
|
+
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
21048
|
+
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
21049
|
+
|
21050
|
+
// Add the day to the current week
|
21051
|
+
currentWeek.push(day);
|
21052
|
+
|
21053
|
+
// If the current week has 7 days, add it to the weeks array and start a new week
|
21054
|
+
if (currentWeek.length === 7) {
|
21055
|
+
weeks.push(currentWeek);
|
21056
|
+
currentWeek = [];
|
21145
21057
|
}
|
21146
|
-
}
|
21147
|
-
|
21148
|
-
|
21149
|
-
|
21150
|
-
|
21151
|
-
|
21058
|
+
}
|
21059
|
+
for (let i = currentWeek.length; i < 7; i++) {
|
21060
|
+
currentWeek.push(null);
|
21061
|
+
}
|
21062
|
+
weeks.push(currentWeek);
|
21063
|
+
return weeks;
|
21064
|
+
}
|
21065
|
+
function startOfMonth(date) {
|
21066
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
21067
|
+
}
|
21068
|
+
function endOfMonth(date) {
|
21069
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
21070
|
+
}
|
21071
|
+
function date(value) {
|
21072
|
+
if (value == null) return null;
|
21073
|
+
if (value instanceof Date) return value;
|
21074
|
+
if (typeof value === 'string') {
|
21075
|
+
const parsed = Date.parse(value);
|
21076
|
+
if (!isNaN(parsed)) return new Date(parsed);
|
21077
|
+
}
|
21078
|
+
return null;
|
21079
|
+
}
|
21080
|
+
const firstDay = {
|
21081
|
+
'001': 1,
|
21082
|
+
AD: 1,
|
21083
|
+
AE: 6,
|
21084
|
+
AF: 6,
|
21085
|
+
AG: 0,
|
21086
|
+
AI: 1,
|
21087
|
+
AL: 1,
|
21088
|
+
AM: 1,
|
21089
|
+
AN: 1,
|
21090
|
+
AR: 1,
|
21091
|
+
AS: 0,
|
21092
|
+
AT: 1,
|
21093
|
+
AU: 0,
|
21094
|
+
AX: 1,
|
21095
|
+
AZ: 1,
|
21096
|
+
BA: 1,
|
21097
|
+
BD: 0,
|
21098
|
+
BE: 1,
|
21099
|
+
BG: 1,
|
21100
|
+
BH: 6,
|
21101
|
+
BM: 1,
|
21102
|
+
BN: 1,
|
21103
|
+
BR: 0,
|
21104
|
+
BS: 0,
|
21105
|
+
BT: 0,
|
21106
|
+
BW: 0,
|
21107
|
+
BY: 1,
|
21108
|
+
BZ: 0,
|
21109
|
+
CA: 0,
|
21110
|
+
CH: 1,
|
21111
|
+
CL: 1,
|
21112
|
+
CM: 1,
|
21113
|
+
CN: 0,
|
21114
|
+
CO: 0,
|
21115
|
+
CR: 1,
|
21116
|
+
CY: 1,
|
21117
|
+
CZ: 1,
|
21118
|
+
DE: 1,
|
21119
|
+
DJ: 6,
|
21120
|
+
DK: 1,
|
21121
|
+
DM: 0,
|
21122
|
+
DO: 0,
|
21123
|
+
DZ: 6,
|
21124
|
+
EC: 1,
|
21125
|
+
EE: 1,
|
21126
|
+
EG: 6,
|
21127
|
+
ES: 1,
|
21128
|
+
ET: 0,
|
21129
|
+
FI: 1,
|
21130
|
+
FJ: 1,
|
21131
|
+
FO: 1,
|
21132
|
+
FR: 1,
|
21133
|
+
GB: 1,
|
21134
|
+
'GB-alt-variant': 0,
|
21135
|
+
GE: 1,
|
21136
|
+
GF: 1,
|
21137
|
+
GP: 1,
|
21138
|
+
GR: 1,
|
21139
|
+
GT: 0,
|
21140
|
+
GU: 0,
|
21141
|
+
HK: 0,
|
21142
|
+
HN: 0,
|
21143
|
+
HR: 1,
|
21144
|
+
HU: 1,
|
21145
|
+
ID: 0,
|
21146
|
+
IE: 1,
|
21147
|
+
IL: 0,
|
21148
|
+
IN: 0,
|
21149
|
+
IQ: 6,
|
21150
|
+
IR: 6,
|
21151
|
+
IS: 1,
|
21152
|
+
IT: 1,
|
21153
|
+
JM: 0,
|
21154
|
+
JO: 6,
|
21155
|
+
JP: 0,
|
21156
|
+
KE: 0,
|
21157
|
+
KG: 1,
|
21158
|
+
KH: 0,
|
21159
|
+
KR: 0,
|
21160
|
+
KW: 6,
|
21161
|
+
KZ: 1,
|
21162
|
+
LA: 0,
|
21163
|
+
LB: 1,
|
21164
|
+
LI: 1,
|
21165
|
+
LK: 1,
|
21166
|
+
LT: 1,
|
21167
|
+
LU: 1,
|
21168
|
+
LV: 1,
|
21169
|
+
LY: 6,
|
21170
|
+
MC: 1,
|
21171
|
+
MD: 1,
|
21172
|
+
ME: 1,
|
21173
|
+
MH: 0,
|
21174
|
+
MK: 1,
|
21175
|
+
MM: 0,
|
21176
|
+
MN: 1,
|
21177
|
+
MO: 0,
|
21178
|
+
MQ: 1,
|
21179
|
+
MT: 0,
|
21180
|
+
MV: 5,
|
21181
|
+
MX: 0,
|
21182
|
+
MY: 1,
|
21183
|
+
MZ: 0,
|
21184
|
+
NI: 0,
|
21185
|
+
NL: 1,
|
21186
|
+
NO: 1,
|
21187
|
+
NP: 0,
|
21188
|
+
NZ: 1,
|
21189
|
+
OM: 6,
|
21190
|
+
PA: 0,
|
21191
|
+
PE: 0,
|
21192
|
+
PH: 0,
|
21193
|
+
PK: 0,
|
21194
|
+
PL: 1,
|
21195
|
+
PR: 0,
|
21196
|
+
PT: 0,
|
21197
|
+
PY: 0,
|
21198
|
+
QA: 6,
|
21199
|
+
RE: 1,
|
21200
|
+
RO: 1,
|
21201
|
+
RS: 1,
|
21202
|
+
RU: 1,
|
21203
|
+
SA: 0,
|
21204
|
+
SD: 6,
|
21205
|
+
SE: 1,
|
21206
|
+
SG: 0,
|
21207
|
+
SI: 1,
|
21208
|
+
SK: 1,
|
21209
|
+
SM: 1,
|
21210
|
+
SV: 0,
|
21211
|
+
SY: 6,
|
21212
|
+
TH: 0,
|
21213
|
+
TJ: 1,
|
21214
|
+
TM: 1,
|
21215
|
+
TR: 1,
|
21216
|
+
TT: 0,
|
21217
|
+
TW: 0,
|
21218
|
+
UA: 1,
|
21219
|
+
UM: 0,
|
21220
|
+
US: 0,
|
21221
|
+
UY: 1,
|
21222
|
+
UZ: 1,
|
21223
|
+
VA: 1,
|
21224
|
+
VE: 0,
|
21225
|
+
VI: 0,
|
21226
|
+
VN: 1,
|
21227
|
+
WS: 0,
|
21228
|
+
XK: 1,
|
21229
|
+
YE: 0,
|
21230
|
+
ZA: 0,
|
21231
|
+
ZW: 0
|
21232
|
+
};
|
21233
|
+
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
21234
|
+
function getWeekdays(locale) {
|
21235
|
+
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
21236
|
+
return createRange(7).map(i => {
|
21237
|
+
const weekday = new Date(sundayJanuarySecond2000);
|
21238
|
+
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
21239
|
+
return new Intl.DateTimeFormat(locale, {
|
21240
|
+
weekday: 'long'
|
21241
|
+
}).format(weekday);
|
21152
21242
|
});
|
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
21243
|
}
|
21160
|
-
function
|
21161
|
-
|
21162
|
-
|
21163
|
-
|
21244
|
+
function format(value, formatString, locale) {
|
21245
|
+
const date = new Date(value);
|
21246
|
+
let options = {};
|
21247
|
+
switch (formatString) {
|
21248
|
+
case 'fullDateWithWeekday':
|
21249
|
+
options = {
|
21250
|
+
weekday: 'long',
|
21251
|
+
day: 'numeric',
|
21252
|
+
month: 'long',
|
21253
|
+
year: 'numeric'
|
21254
|
+
};
|
21255
|
+
break;
|
21256
|
+
case 'normalDateWithWeekday':
|
21257
|
+
options = {
|
21258
|
+
weekday: 'short',
|
21259
|
+
day: 'numeric',
|
21260
|
+
month: 'short',
|
21261
|
+
year: 'numeric'
|
21262
|
+
};
|
21263
|
+
break;
|
21264
|
+
case 'keyboardDate':
|
21265
|
+
options = {};
|
21266
|
+
break;
|
21267
|
+
case 'monthAndDate':
|
21268
|
+
options = {
|
21269
|
+
month: 'long',
|
21270
|
+
day: 'numeric'
|
21271
|
+
};
|
21272
|
+
break;
|
21273
|
+
case 'monthAndYear':
|
21274
|
+
options = {
|
21275
|
+
month: 'long',
|
21276
|
+
year: 'numeric'
|
21277
|
+
};
|
21278
|
+
break;
|
21279
|
+
default:
|
21280
|
+
options = {
|
21281
|
+
timeZone: 'UTC',
|
21282
|
+
timeZoneName: 'short'
|
21283
|
+
};
|
21284
|
+
}
|
21285
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
21286
|
+
}
|
21287
|
+
function addDays(date, amount) {
|
21288
|
+
const d = new Date(date);
|
21289
|
+
d.setDate(d.getDate() + amount);
|
21290
|
+
return d;
|
21291
|
+
}
|
21292
|
+
function addMonths(date, amount) {
|
21293
|
+
const d = new Date(date);
|
21294
|
+
d.setMonth(d.getMonth() + amount);
|
21295
|
+
return d;
|
21296
|
+
}
|
21297
|
+
function getYear(date) {
|
21298
|
+
return date.getFullYear();
|
21299
|
+
}
|
21300
|
+
function getMonth(date) {
|
21301
|
+
return date.getMonth();
|
21302
|
+
}
|
21303
|
+
function startOfYear(date) {
|
21304
|
+
return new Date(date.getFullYear(), 0, 1);
|
21305
|
+
}
|
21306
|
+
function endOfYear(date) {
|
21307
|
+
return new Date(date.getFullYear(), 11, 31);
|
21308
|
+
}
|
21309
|
+
function getMondayOfFirstWeekOfYear(year) {
|
21310
|
+
return new Date(year, 0, 1);
|
21164
21311
|
}
|
21165
|
-
const Mutate = {
|
21166
|
-
mounted: mounted$2,
|
21167
|
-
unmounted: unmounted$2
|
21168
|
-
};
|
21169
21312
|
|
21170
|
-
|
21171
|
-
|
21172
|
-
|
21173
|
-
|
21174
|
-
|
21175
|
-
|
21176
|
-
|
21177
|
-
|
21178
|
-
|
21179
|
-
|
21180
|
-
|
21181
|
-
|
21182
|
-
|
21313
|
+
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
21314
|
+
function getWeek(date) {
|
21315
|
+
let year = date.getFullYear();
|
21316
|
+
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
21317
|
+
if (date < d1w1) {
|
21318
|
+
year = year - 1;
|
21319
|
+
d1w1 = getMondayOfFirstWeekOfYear(year);
|
21320
|
+
} else {
|
21321
|
+
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
21322
|
+
if (date >= tv) {
|
21323
|
+
year = year + 1;
|
21324
|
+
d1w1 = tv;
|
21325
|
+
}
|
21183
21326
|
}
|
21327
|
+
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
21328
|
+
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
21329
|
+
return Math.floor(diffDays / 7) + 1;
|
21184
21330
|
}
|
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];
|
21331
|
+
function isWithinRange(date, range) {
|
21332
|
+
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
21193
21333
|
}
|
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
|
-
};
|
21334
|
+
function isValid(date) {
|
21335
|
+
const d = new Date(date);
|
21336
|
+
return d instanceof Date && !isNaN(d.getTime());
|
21218
21337
|
}
|
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];
|
21338
|
+
function isAfter(date, comparing) {
|
21339
|
+
return date.getTime() > comparing.getTime();
|
21228
21340
|
}
|
21229
|
-
function
|
21230
|
-
|
21231
|
-
|
21232
|
-
|
21341
|
+
function isBefore(date, comparing) {
|
21342
|
+
return date.getTime() < comparing.getTime();
|
21343
|
+
}
|
21344
|
+
function isEqual(date, comparing) {
|
21345
|
+
return date.getTime() === comparing.getTime();
|
21346
|
+
}
|
21347
|
+
function isSameDay(date, comparing) {
|
21348
|
+
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
21349
|
+
}
|
21350
|
+
function isSameMonth(date, comparing) {
|
21351
|
+
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
21352
|
+
}
|
21353
|
+
function getDiff(date, comparing, unit) {
|
21354
|
+
const d = new Date(date);
|
21355
|
+
const c = new Date(comparing);
|
21356
|
+
if (unit === 'month') {
|
21357
|
+
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
21358
|
+
}
|
21359
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
21360
|
+
}
|
21361
|
+
function setYear(date, year) {
|
21362
|
+
const d = new Date(date);
|
21363
|
+
d.setFullYear(year);
|
21364
|
+
return d;
|
21365
|
+
}
|
21366
|
+
class VuetifyDateAdapter {
|
21367
|
+
constructor() {
|
21368
|
+
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
21369
|
+
this.locale = locale;
|
21370
|
+
}
|
21371
|
+
date(value) {
|
21372
|
+
return date(value);
|
21373
|
+
}
|
21374
|
+
addDays(date, amount) {
|
21375
|
+
return addDays(date, amount);
|
21376
|
+
}
|
21377
|
+
addMonths(date, amount) {
|
21378
|
+
return addMonths(date, amount);
|
21379
|
+
}
|
21380
|
+
getWeekArray(date) {
|
21381
|
+
return getWeekArray(date);
|
21382
|
+
}
|
21383
|
+
startOfMonth(date) {
|
21384
|
+
return startOfMonth(date);
|
21385
|
+
}
|
21386
|
+
endOfMonth(date) {
|
21387
|
+
return endOfMonth(date);
|
21388
|
+
}
|
21389
|
+
format(date, formatString) {
|
21390
|
+
return format(date, formatString, this.locale);
|
21391
|
+
}
|
21392
|
+
isEqual(date, comparing) {
|
21393
|
+
return isEqual(date, comparing);
|
21394
|
+
}
|
21395
|
+
isValid(date) {
|
21396
|
+
return isValid(date);
|
21397
|
+
}
|
21398
|
+
isWithinRange(date, range) {
|
21399
|
+
return isWithinRange(date, range);
|
21400
|
+
}
|
21401
|
+
isAfter(date, comparing) {
|
21402
|
+
return isAfter(date, comparing);
|
21403
|
+
}
|
21404
|
+
isSameDay(date, comparing) {
|
21405
|
+
return isSameDay(date, comparing);
|
21406
|
+
}
|
21407
|
+
isSameMonth(date, comparing) {
|
21408
|
+
return isSameMonth(date, comparing);
|
21409
|
+
}
|
21410
|
+
setYear(date, year) {
|
21411
|
+
return setYear(date, year);
|
21412
|
+
}
|
21413
|
+
getDiff(date, comparing, unit) {
|
21414
|
+
return getDiff(date, comparing, unit);
|
21415
|
+
}
|
21416
|
+
getWeek(date) {
|
21417
|
+
return getWeek(date);
|
21418
|
+
}
|
21419
|
+
getWeekdays() {
|
21420
|
+
return getWeekdays(this.locale);
|
21421
|
+
}
|
21422
|
+
getYear(date) {
|
21423
|
+
return getYear(date);
|
21424
|
+
}
|
21425
|
+
getMonth(date) {
|
21426
|
+
return getMonth(date);
|
21427
|
+
}
|
21428
|
+
startOfYear(date) {
|
21429
|
+
return startOfYear(date);
|
21430
|
+
}
|
21431
|
+
endOfYear(date) {
|
21432
|
+
return endOfYear(date);
|
21433
|
+
}
|
21233
21434
|
}
|
21234
|
-
const Scroll = {
|
21235
|
-
mounted,
|
21236
|
-
unmounted,
|
21237
|
-
updated
|
21238
|
-
};
|
21239
21435
|
|
21240
|
-
|
21241
|
-
|
21242
|
-
|
21243
|
-
|
21244
|
-
|
21245
|
-
|
21246
|
-
|
21247
|
-
|
21248
|
-
|
21249
|
-
}
|
21436
|
+
// Composables
|
21437
|
+
|
21438
|
+
// Types
|
21439
|
+
|
21440
|
+
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
21441
|
+
function createDate(options) {
|
21442
|
+
return options ?? {
|
21443
|
+
adapter: VuetifyDateAdapter
|
21444
|
+
};
|
21445
|
+
}
|
21250
21446
|
|
21251
21447
|
// Composables
|
21252
21448
|
function createVuetify$1() {
|
@@ -21333,7 +21529,7 @@ function createVuetify$1() {
|
|
21333
21529
|
date
|
21334
21530
|
};
|
21335
21531
|
}
|
21336
|
-
const version$1 = "4.0.0-dev-
|
21532
|
+
const version$1 = "4.0.0-dev-20230427.0";
|
21337
21533
|
createVuetify$1.version = version$1;
|
21338
21534
|
|
21339
21535
|
// Vue's inject() can only be used in setup
|
@@ -21345,7 +21541,7 @@ function inject(key) {
|
|
21345
21541
|
}
|
21346
21542
|
}
|
21347
21543
|
|
21348
|
-
const version = "4.0.0-dev-
|
21544
|
+
const version = "4.0.0-dev-20230427.0";
|
21349
21545
|
|
21350
21546
|
const createVuetify = function () {
|
21351
21547
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
@@ -21356,5 +21552,5 @@ const createVuetify = function () {
|
|
21356
21552
|
});
|
21357
21553
|
};
|
21358
21554
|
|
21359
|
-
export { components, createVuetify, directives,
|
21555
|
+
export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|
21360
21556
|
//# sourceMappingURL=vuetify-labs.esm.js.map
|