@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.js
CHANGED
@@ -1,5 +1,5 @@
|
|
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
|
*/
|
@@ -171,11 +171,11 @@
|
|
171
171
|
function keys(o) {
|
172
172
|
return Object.keys(o);
|
173
173
|
}
|
174
|
-
function pick(obj, paths) {
|
174
|
+
function pick(obj, paths, exclude) {
|
175
175
|
const found = Object.create(null);
|
176
176
|
const rest = Object.create(null);
|
177
177
|
for (const key in obj) {
|
178
|
-
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key)) {
|
178
|
+
if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) && !exclude?.some(path => path === key)) {
|
179
179
|
found[key] = obj[key];
|
180
180
|
} else {
|
181
181
|
rest[key] = obj[key];
|
@@ -360,6 +360,32 @@
|
|
360
360
|
handler(...args);
|
361
361
|
}
|
362
362
|
}
|
363
|
+
function focusableChildren(el) {
|
364
|
+
const targets = ['button', '[href]', 'input:not([type="hidden"])', 'select', 'textarea', '[tabindex]'].map(s => `${s}:not([tabindex="-1"]):not([disabled])`).join(', ');
|
365
|
+
return [...el.querySelectorAll(targets)];
|
366
|
+
}
|
367
|
+
function focusChild(el, location) {
|
368
|
+
const focusable = focusableChildren(el);
|
369
|
+
const idx = focusable.indexOf(document.activeElement);
|
370
|
+
if (!location) {
|
371
|
+
if (!el.contains(document.activeElement)) {
|
372
|
+
focusable[0]?.focus();
|
373
|
+
}
|
374
|
+
} else if (location === 'first') {
|
375
|
+
focusable[0]?.focus();
|
376
|
+
} else if (location === 'last') {
|
377
|
+
focusable.at(-1)?.focus();
|
378
|
+
} else {
|
379
|
+
let _el;
|
380
|
+
let idxx = idx;
|
381
|
+
const inc = location === 'next' ? 1 : -1;
|
382
|
+
do {
|
383
|
+
idxx += inc;
|
384
|
+
_el = focusable[idxx];
|
385
|
+
} while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
386
|
+
if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');
|
387
|
+
}
|
388
|
+
}
|
363
389
|
|
364
390
|
const block = ['top', 'bottom'];
|
365
391
|
const inline = ['start', 'end', 'left', 'right'];
|
@@ -860,44 +886,6 @@
|
|
860
886
|
return (light + 0.05) / (dark + 0.05);
|
861
887
|
}
|
862
888
|
|
863
|
-
// Utilities
|
864
|
-
function getCurrentInstance(name, message) {
|
865
|
-
const vm = vue.getCurrentInstance();
|
866
|
-
if (!vm) {
|
867
|
-
throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);
|
868
|
-
}
|
869
|
-
return vm;
|
870
|
-
}
|
871
|
-
function getCurrentInstanceName() {
|
872
|
-
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';
|
873
|
-
const vm = getCurrentInstance(name).type;
|
874
|
-
return toKebabCase(vm?.aliasName || vm?.name);
|
875
|
-
}
|
876
|
-
let _uid = 0;
|
877
|
-
let _map = new WeakMap();
|
878
|
-
function getUid() {
|
879
|
-
const vm = getCurrentInstance('getUid');
|
880
|
-
if (_map.has(vm)) return _map.get(vm);else {
|
881
|
-
const uid = _uid++;
|
882
|
-
_map.set(vm, uid);
|
883
|
-
return uid;
|
884
|
-
}
|
885
|
-
}
|
886
|
-
getUid.reset = () => {
|
887
|
-
_uid = 0;
|
888
|
-
_map = new WeakMap();
|
889
|
-
};
|
890
|
-
|
891
|
-
function injectSelf(key) {
|
892
|
-
const {
|
893
|
-
provides
|
894
|
-
} = getCurrentInstance('injectSelf');
|
895
|
-
if (provides && key in provides) {
|
896
|
-
// TS doesn't allow symbol as index type
|
897
|
-
return provides[key];
|
898
|
-
}
|
899
|
-
}
|
900
|
-
|
901
889
|
/**
|
902
890
|
* Creates a factory function for props definitions.
|
903
891
|
* This is used to define props in a composable then override
|
@@ -951,17 +939,54 @@
|
|
951
939
|
|
952
940
|
// Types
|
953
941
|
|
942
|
+
// Composables
|
943
|
+
const makeComponentProps = propsFactory({
|
944
|
+
class: [String, Array],
|
945
|
+
style: {
|
946
|
+
type: [String, Array, Object],
|
947
|
+
default: null
|
948
|
+
}
|
949
|
+
}, 'component');
|
950
|
+
|
951
|
+
function useToggleScope(source, fn) {
|
952
|
+
let scope;
|
953
|
+
function start() {
|
954
|
+
scope = vue.effectScope();
|
955
|
+
scope.run(() => fn.length ? fn(() => {
|
956
|
+
scope?.stop();
|
957
|
+
start();
|
958
|
+
}) : fn());
|
959
|
+
}
|
960
|
+
vue.watch(source, active => {
|
961
|
+
if (active && !scope) {
|
962
|
+
start();
|
963
|
+
} else if (!active) {
|
964
|
+
scope?.stop();
|
965
|
+
scope = undefined;
|
966
|
+
}
|
967
|
+
}, {
|
968
|
+
immediate: true
|
969
|
+
});
|
970
|
+
vue.onScopeDispose(() => {
|
971
|
+
scope?.stop();
|
972
|
+
});
|
973
|
+
}
|
974
|
+
|
975
|
+
// Composables
|
976
|
+
|
977
|
+
// Types
|
978
|
+
|
954
979
|
const DefaultsSymbol = Symbol.for('vuetify:defaults');
|
955
980
|
function createDefaults(options) {
|
956
981
|
return vue.ref(options);
|
957
982
|
}
|
958
|
-
function
|
983
|
+
function injectDefaults() {
|
959
984
|
const defaults = vue.inject(DefaultsSymbol);
|
960
985
|
if (!defaults) throw new Error('[Vuetify] Could not find defaults instance');
|
961
986
|
return defaults;
|
962
987
|
}
|
963
988
|
function provideDefaults(defaults, options) {
|
964
|
-
const injectedDefaults =
|
989
|
+
const injectedDefaults = injectDefaults();
|
965
990
|
const providedDefaults = vue.ref(defaults);
|
966
991
|
const newDefaults = vue.computed(() => {
|
967
992
|
const disabled = vue.unref(options?.disabled);
|
@@ -988,41 +1013,56 @@
|
|
988
1013
|
vue.provide(DefaultsSymbol, newDefaults);
|
989
1014
|
return newDefaults;
|
990
1015
|
}
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
}
|
1001
|
-
vue.
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1006
|
-
|
1016
|
+
function propIsDefined(vnode, prop) {
|
1017
|
+
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1018
|
+
}
|
1019
|
+
function useDefaults(props, name) {
|
1020
|
+
let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();
|
1021
|
+
const vm = getCurrentInstance('useDefaults');
|
1022
|
+
name = name ?? vm.type.name ?? vm.type.__name;
|
1023
|
+
if (!name) {
|
1024
|
+
throw new Error('[Vuetify] Could not determine component name');
|
1025
|
+
}
|
1026
|
+
const componentDefaults = vue.computed(() => defaults.value[props._as ?? name]);
|
1027
|
+
const _props = new Proxy(props, {
|
1028
|
+
get(target, prop) {
|
1029
|
+
const propValue = Reflect.get(target, prop);
|
1030
|
+
if (prop === 'class' || prop === 'style') {
|
1031
|
+
return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
|
1032
|
+
} else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1033
|
+
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
1034
|
+
}
|
1035
|
+
return propValue;
|
1007
1036
|
}
|
1008
|
-
}, {
|
1009
|
-
immediate: true
|
1010
1037
|
});
|
1011
|
-
vue.
|
1012
|
-
|
1038
|
+
const _subcomponentDefaults = vue.shallowRef();
|
1039
|
+
vue.watchEffect(() => {
|
1040
|
+
if (componentDefaults.value) {
|
1041
|
+
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1042
|
+
let [key] = _ref;
|
1043
|
+
return key.startsWith(key[0].toUpperCase());
|
1044
|
+
});
|
1045
|
+
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1046
|
+
}
|
1013
1047
|
});
|
1048
|
+
function provideSubDefaults() {
|
1049
|
+
// If subcomponent defaults are provided, override any
|
1050
|
+
// subcomponents provided by the component's setup function.
|
1051
|
+
// This uses injectSelf so must be done after the original setup to work.
|
1052
|
+
useToggleScope(_subcomponentDefaults, () => {
|
1053
|
+
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1054
|
+
});
|
1055
|
+
}
|
1056
|
+
return {
|
1057
|
+
props: _props,
|
1058
|
+
provideSubDefaults
|
1059
|
+
};
|
1014
1060
|
}
|
1015
1061
|
|
1016
1062
|
// Utils
|
1017
1063
|
|
1018
1064
|
// Types
|
1019
1065
|
|
1020
|
-
function propIsDefined(vnode, prop) {
|
1021
|
-
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
1022
|
-
}
|
1023
|
-
|
1024
|
-
// No props
|
1025
|
-
|
1026
1066
|
// Implementation
|
1027
1067
|
function defineComponent(options) {
|
1028
1068
|
options._setup = options._setup ?? options.setup;
|
@@ -1034,43 +1074,20 @@
|
|
1034
1074
|
options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
|
1035
1075
|
const propKeys = Object.keys(options.props);
|
1036
1076
|
options.filterProps = function filterProps(props) {
|
1037
|
-
return pick(props, propKeys);
|
1077
|
+
return pick(props, propKeys, ['class', 'style']);
|
1038
1078
|
};
|
1039
1079
|
options.props._as = String;
|
1040
1080
|
options.setup = function setup(props, ctx) {
|
1041
|
-
const defaults =
|
1081
|
+
const defaults = injectDefaults();
|
1042
1082
|
|
1043
1083
|
// Skip props proxy if defaults are not provided
|
1044
1084
|
if (!defaults.value) return options._setup(props, ctx);
|
1045
|
-
const
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
const propValue = Reflect.get(target, prop);
|
1050
|
-
if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
1051
|
-
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
1052
|
-
}
|
1053
|
-
return propValue;
|
1054
|
-
}
|
1055
|
-
});
|
1056
|
-
const _subcomponentDefaults = vue.shallowRef();
|
1057
|
-
vue.watchEffect(() => {
|
1058
|
-
if (componentDefaults.value) {
|
1059
|
-
const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
|
1060
|
-
let [key] = _ref;
|
1061
|
-
return key.startsWith(key[0].toUpperCase());
|
1062
|
-
});
|
1063
|
-
if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
|
1064
|
-
}
|
1065
|
-
});
|
1085
|
+
const {
|
1086
|
+
props: _props,
|
1087
|
+
provideSubDefaults
|
1088
|
+
} = useDefaults(props, props._as ?? options.name, defaults);
|
1066
1089
|
const setupBindings = options._setup(_props, ctx);
|
1067
|
-
|
1068
|
-
// If subcomponent defaults are provided, override any
|
1069
|
-
// subcomponents provided by the component's setup function.
|
1070
|
-
// This uses injectSelf so must be done after the original setup to work.
|
1071
|
-
useToggleScope(_subcomponentDefaults, () => {
|
1072
|
-
provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value));
|
1073
|
-
});
|
1090
|
+
provideSubDefaults();
|
1074
1091
|
return setupBindings;
|
1075
1092
|
};
|
1076
1093
|
}
|
@@ -1091,15 +1108,19 @@
|
|
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 vue.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 @@
|
|
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 = vue.getCurrentInstance();
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
2159
2219
|
} = useRtl();
|
2160
2220
|
useRender(() => vue.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
|
}, [vue.createVNode("div", {
|
2165
2225
|
"class": "v-application__wrap"
|
2166
2226
|
}, [slots.default?.()])]));
|
@@ -2585,6 +2645,7 @@
|
|
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 @@
|
|
2598
2659
|
dimensionStyles
|
2599
2660
|
} = useDimension(props);
|
2600
2661
|
useRender(() => vue.createVNode("div", {
|
2601
|
-
"class":
|
2602
|
-
"style": dimensionStyles.value
|
2662
|
+
"class": ['v-responsive', props.class],
|
2663
|
+
"style": [dimensionStyles.value, props.style]
|
2603
2664
|
}, [vue.createVNode("div", {
|
2604
2665
|
"class": "v-responsive__sizer",
|
2605
2666
|
"style": aspectStyles.value
|
@@ -2717,6 +2778,7 @@
|
|
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 @@
|
|
2904
2966
|
useRender(() => vue.withDirectives(vue.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 @@
|
|
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 @@
|
|
2958
3019
|
useRender(() => {
|
2959
3020
|
const hasText = !!(slots.default || slots.text || props.text);
|
2960
3021
|
return vue.createVNode(props.tag, {
|
2961
|
-
"class":
|
3022
|
+
"class": ['v-toolbar-title', props.class],
|
3023
|
+
"style": props.style
|
2962
3024
|
}, {
|
2963
3025
|
default: () => [hasText && vue.createVNode("div", {
|
2964
3026
|
"class": "v-toolbar-title__placeholder"
|
@@ -3139,6 +3201,7 @@
|
|
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 @@
|
|
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 && vue.createVNode("div", {
|
3196
3259
|
"key": "image",
|
@@ -3475,13 +3538,13 @@
|
|
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 @@
|
|
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 @@
|
|
3610
3674
|
return vue.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 @@
|
|
3843
3908
|
useRender(() => {
|
3844
3909
|
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
3845
3910
|
return vue.createVNode(VBtnGroup, vue.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 @@
|
|
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 @@
|
|
3935
4002
|
slots
|
3936
4003
|
} = _ref;
|
3937
4004
|
return () => {
|
4005
|
+
const Icon = props.icon;
|
3938
4006
|
return vue.createVNode(props.tag, null, {
|
3939
|
-
default: () => [props.icon ? vue.createVNode(
|
4007
|
+
default: () => [props.icon ? vue.createVNode(Icon, null, null) : slots.default?.()]
|
3940
4008
|
});
|
3941
4009
|
};
|
3942
4010
|
}
|
@@ -3959,7 +4027,12 @@
|
|
3959
4027
|
"viewBox": "0 0 24 24",
|
3960
4028
|
"role": "img",
|
3961
4029
|
"aria-hidden": "true"
|
3962
|
-
}, [vue.createVNode("path", {
|
4030
|
+
}, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? vue.createVNode("path", {
|
4031
|
+
"d": path[0],
|
4032
|
+
"fill-opacity": path[1]
|
4033
|
+
}, null) : vue.createVNode("path", {
|
4034
|
+
"d": path
|
4035
|
+
}, null)) : vue.createVNode("path", {
|
3963
4036
|
"d": props.icon
|
3964
4037
|
}, null)])]
|
3965
4038
|
});
|
@@ -4024,7 +4097,12 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
4958
5039
|
...makeLoaderProps(),
|
4959
5040
|
...makeLocationProps(),
|
4960
5041
|
...makePositionProps(),
|
5042
|
+
...makeRoundedProps(),
|
4961
5043
|
...makeRouterProps(),
|
4962
5044
|
...makeSizeProps(),
|
4963
5045
|
...makeTagProps({
|
@@ -5055,8 +5137,8 @@
|
|
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 @@
|
|
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(() => vue.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 @@
|
|
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 @@
|
|
5164
5251
|
}
|
5165
5252
|
});
|
5166
5253
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
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 && vue.createVNode("div", {
|
@@ -5403,6 +5492,7 @@
|
|
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 @@
|
|
5412
5502
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
5430
5522
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
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 @@
|
|
5554
5649
|
textColorClasses,
|
5555
5650
|
textColorStyles
|
5556
5651
|
} = useTextColor(vue.computed(() => {
|
5557
|
-
return
|
5652
|
+
return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;
|
5558
5653
|
}));
|
5559
5654
|
vue.watch(isActive, val => {
|
5560
5655
|
if (hasLabel.value) {
|
@@ -5631,8 +5726,8 @@
|
|
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), [vue.createVNode("div", {
|
5638
5733
|
"class": "v-field__overlay"
|
@@ -5720,7 +5815,7 @@
|
|
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 @@
|
|
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 @@
|
|
5755
5851
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
6119
6216
|
const hasMessages = messages.value.length > 0;
|
6120
6217
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
6121
6218
|
return vue.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 && vue.createVNode("div", {
|
6124
6222
|
"key": "prepend",
|
6125
6223
|
"class": "v-input__prepend"
|
@@ -6162,6 +6260,7 @@
|
|
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 @@
|
|
6179
6278
|
"transition": props.transition
|
6180
6279
|
}, {
|
6181
6280
|
default: () => [vue.withDirectives(vue.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 @@
|
|
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 @@
|
|
6498
6599
|
type: String,
|
6499
6600
|
default: 'VSelectionControl'
|
6500
6601
|
},
|
6602
|
+
...makeComponentProps(),
|
6501
6603
|
...makeSelectionControlGroupProps()
|
6502
6604
|
},
|
6503
6605
|
emits: {
|
@@ -6545,7 +6647,8 @@
|
|
6545
6647
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
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
|
+
}), [vue.createVNode("div", {
|
6678
6784
|
"class": ['v-selection-control__wrapper', textColorClasses.value],
|
6679
6785
|
"style": textColorStyles.value
|
6680
6786
|
}, [slots.default?.(), vue.withDirectives(vue.createVNode("div", {
|
@@ -6756,7 +6862,8 @@
|
|
6756
6862
|
useRender(() => vue.createVNode(VSelectionControl, vue.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 @@
|
|
6796
6903
|
const [inputProps, _1] = VInput.filterProps(props);
|
6797
6904
|
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
6798
6905
|
return vue.createVNode(VInput, vue.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 @@
|
|
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 @@
|
|
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 ? vue.createVNode(VImg, {
|
6875
6984
|
"key": "image",
|
@@ -6897,6 +7006,7 @@
|
|
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 @@
|
|
6934
7044
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 && vue.createVNode(VDefaultsProvider, {
|
7778
7891
|
"defaults": activatorDefaults.value
|
@@ -7839,6 +7952,7 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 && vue.createVNode("div", {
|
8068
8183
|
"class": "v-list-subheader__text"
|
@@ -8282,6 +8397,7 @@
|
|
8282
8397
|
openStrategy: 'list'
|
8283
8398
|
}),
|
8284
8399
|
...makeBorderProps(),
|
8400
|
+
...makeComponentProps(),
|
8285
8401
|
...makeDensityProps(),
|
8286
8402
|
...makeDimensionProps(),
|
8287
8403
|
...makeElevationProps(),
|
@@ -8383,27 +8499,8 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
9714
9815
|
default: 2000
|
9715
9816
|
},
|
9716
9817
|
...makeActivatorProps(),
|
9818
|
+
...makeComponentProps(),
|
9717
9819
|
...makeDimensionProps(),
|
9718
9820
|
...makeLazyProps(),
|
9719
9821
|
...makeLocationStrategyProps(),
|
@@ -9881,10 +9983,10 @@
|
|
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), [vue.createVNode(Scrim, vue.mergeProps({
|
9890
9992
|
"color": scrimColor,
|
@@ -9990,7 +10092,8 @@
|
|
9990
10092
|
const [overlayProps] = VOverlay.filterProps(props);
|
9991
10093
|
return vue.createVNode(VOverlay, vue.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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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: () => [vue.createVNode("div", {
|
10841
10947
|
"class": "v-badge__wrapper"
|
10842
10948
|
}, [ctx.slots.default?.(), vue.createVNode(MaybeTransition, {
|
@@ -10863,7 +10969,8 @@
|
|
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 @@
|
|
10877
10984
|
}
|
10878
10985
|
});
|
10879
10986
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
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 && vue.createVNode("div", {
|
@@ -11012,6 +11121,7 @@
|
|
11012
11121
|
default: true
|
11013
11122
|
},
|
11014
11123
|
...makeBorderProps(),
|
11124
|
+
...makeComponentProps(),
|
11015
11125
|
...makeDensityProps(),
|
11016
11126
|
...makeElevationProps(),
|
11017
11127
|
...makeRoundedProps(),
|
@@ -11086,11 +11196,11 @@
|
|
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 && vue.createVNode("div", {
|
11096
11206
|
"class": "v-bottom-navigation__content"
|
@@ -11104,14 +11214,16 @@
|
|
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(() => vue.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 @@
|
|
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 @@
|
|
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 @@
|
|
11183
11296
|
type: Array,
|
11184
11297
|
default: () => []
|
11185
11298
|
},
|
11299
|
+
...makeComponentProps(),
|
11186
11300
|
...makeDensityProps(),
|
11187
11301
|
...makeRoundedProps(),
|
11188
11302
|
...makeTagProps({
|
@@ -11214,11 +11328,22 @@
|
|
11214
11328
|
disabled: vue.toRef(props, 'disabled')
|
11215
11329
|
}
|
11216
11330
|
});
|
11331
|
+
const items = vue.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 vue.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 && vue.createVNode("div", {
|
11224
11349
|
"key": "prepend",
|
@@ -11236,33 +11361,36 @@
|
|
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 && vue.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 vue.createVNode(vue.Fragment, null, [vue.createVNode(VBreadcrumbsItem, vue.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 && vue.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 @@
|
|
11272
11400
|
}
|
11273
11401
|
});
|
11274
11402
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
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 @@
|
|
11307
11435
|
const hasTitle = !!(props.title || slots.title);
|
11308
11436
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
11309
11437
|
return vue.createVNode("div", {
|
11310
|
-
"class":
|
11438
|
+
"class": ['v-card-item', props.class],
|
11439
|
+
"style": props.style
|
11311
11440
|
}, [hasPrepend && vue.createVNode("div", {
|
11312
11441
|
"key": "prepend",
|
11313
11442
|
"class": "v-card-item__prepend"
|
@@ -11389,8 +11518,8 @@
|
|
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 @@
|
|
11400
11529
|
...makeRoundedProps(),
|
11401
11530
|
...makeRouterProps(),
|
11402
11531
|
...makeTagProps(),
|
11532
|
+
...makeThemeProps(),
|
11403
11533
|
...makeVariantProps({
|
11404
11534
|
variant: 'elevated'
|
11405
11535
|
})
|
@@ -11460,8 +11590,8 @@
|
|
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 @@
|
|
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 @@
|
|
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: () => [vue.createVNode("div", {
|
11778
11910
|
"class": "v-window__container",
|
@@ -11857,10 +11989,10 @@
|
|
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 @@
|
|
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 @@
|
|
12012
12145
|
"disabled": !isBooted.value
|
12013
12146
|
}, {
|
12014
12147
|
default: () => [vue.withDirectives(vue.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?.()]), [[vue.vShow, groupItem.isSelected.value]])]
|
12017
12151
|
}));
|
12018
12152
|
return {};
|
@@ -12025,7 +12159,8 @@
|
|
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 @@
|
|
12033
12168
|
attrs
|
12034
12169
|
} = _ref;
|
12035
12170
|
useRender(() => vue.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: () => [vue.createVNode(VImg, attrs, slots)]
|
@@ -12046,6 +12182,7 @@
|
|
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 @@
|
|
12089
12226
|
roundedClasses
|
12090
12227
|
} = useRounded(props);
|
12091
12228
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
12261
12399
|
vue.onMounted(() => updateCanvas());
|
12262
12400
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
12534
12674
|
});
|
12535
12675
|
});
|
12536
12676
|
useRender(() => vue.createVNode("div", {
|
12537
|
-
"class":
|
12677
|
+
"class": ['v-color-picker-edit', props.class],
|
12678
|
+
"style": props.style
|
12538
12679
|
}, [inputs.value?.map(props => vue.createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && vue.createVNode(VBtn, {
|
12539
12680
|
"icon": "$unfold",
|
12540
12681
|
"size": "x-small",
|
@@ -12853,7 +12994,8 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
13056
13199
|
});
|
13057
13200
|
useRender(() => {
|
13058
13201
|
return vue.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
|
}, [vue.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 @@
|
|
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 @@
|
|
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 @@
|
|
13239
13384
|
useRender(() => vue.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
|
}, [vue.createVNode("div", {
|
13244
13390
|
"class": "v-color-picker-preview__dot"
|
13245
13391
|
}, [vue.createVNode("div", {
|
@@ -13620,7 +13766,8 @@
|
|
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 @@
|
|
13630
13777
|
emit
|
13631
13778
|
} = _ref;
|
13632
13779
|
useRender(() => vue.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
|
}, [vue.createVNode("div", null, [props.swatches.map(swatch => vue.createVNode("div", {
|
13638
13785
|
"class": "v-color-picker-swatches__swatch"
|
13639
13786
|
}, [swatch.map(color => {
|
@@ -13737,13 +13884,13 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
14316
14466
|
}
|
14317
14467
|
});
|
14318
14468
|
useRender(() => vue.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 @@
|
|
14345
14496
|
Ripple
|
14346
14497
|
},
|
14347
14498
|
props: {
|
14499
|
+
...makeComponentProps(),
|
14348
14500
|
...makeVExpansionPanelTitleProps()
|
14349
14501
|
},
|
14350
14502
|
setup(props, _ref) {
|
@@ -14367,8 +14519,8 @@
|
|
14367
14519
|
useRender(() => vue.withDirectives(vue.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 @@
|
|
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 @@
|
|
14404
14557
|
"onAfterLeave": onAfterLeave
|
14405
14558
|
}, {
|
14406
14559
|
default: () => [vue.withDirectives(vue.createVNode("div", {
|
14407
|
-
"class":
|
14560
|
+
"class": ['v-expansion-panel-text', props.class],
|
14561
|
+
"style": props.style
|
14408
14562
|
}, [slots.default && hasContent.value && vue.createVNode("div", {
|
14409
14563
|
"class": "v-expansion-panel-text__wrapper"
|
14410
14564
|
}, [slots.default?.()])]), [[vue.vShow, expansionPanel.isSelected.value]])]
|
@@ -14419,6 +14573,7 @@
|
|
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 @@
|
|
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: () => [vue.createVNode("div", {
|
@@ -14618,7 +14773,8 @@
|
|
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 @@
|
|
14710
14866
|
default: 'auto'
|
14711
14867
|
},
|
14712
14868
|
...makeBorderProps(),
|
14869
|
+
...makeComponentProps(),
|
14713
14870
|
...makeElevationProps(),
|
14714
14871
|
...makeLayoutItemProps(),
|
14715
14872
|
...makeRoundedProps(),
|
@@ -14759,8 +14916,8 @@
|
|
14759
14916
|
});
|
14760
14917
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
14809
14967
|
}
|
14810
14968
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
14834
14994
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
14955
15117
|
return classList;
|
14956
15118
|
});
|
14957
15119
|
return () => vue.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 @@
|
|
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 @@
|
|
15069
15233
|
return classList;
|
15070
15234
|
});
|
15071
15235
|
return () => vue.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 @@
|
|
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 @@
|
|
15137
15303
|
selected
|
15138
15304
|
} = useGroup(props, VItemGroupSymbol);
|
15139
15305
|
return () => vue.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 @@
|
|
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 @@
|
|
15201
15371
|
} = createLayout(props);
|
15202
15372
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
15243
15414
|
absolute: vue.toRef(props, 'absolute')
|
15244
15415
|
});
|
15245
15416
|
return () => vue.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 @@
|
|
15268
15439
|
threshold: undefined
|
15269
15440
|
})
|
15270
15441
|
},
|
15442
|
+
...makeComponentProps(),
|
15271
15443
|
...makeDimensionProps(),
|
15272
15444
|
...makeTagProps(),
|
15273
15445
|
...makeTransitionProps({
|
@@ -15290,8 +15462,8 @@
|
|
15290
15462
|
isActive.value = isIntersecting;
|
15291
15463
|
}
|
15292
15464
|
useRender(() => vue.withDirectives(vue.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 && vue.createVNode(MaybeTransition, {
|
15297
15469
|
"transition": props.transition,
|
@@ -15316,7 +15488,8 @@
|
|
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 @@
|
|
15326
15499
|
rtlClasses
|
15327
15500
|
} = provideLocale(props);
|
15328
15501
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
15353
15528
|
useRender(() => vue.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 ? vue.createVNode("div", {
|
15360
15535
|
"class": "v-main__scroller"
|
@@ -15364,593 +15539,167 @@
|
|
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 = vue.ref(false);
|
15549
|
+
const stuckPosition = vue.ref(0);
|
15550
|
+
const stickyStyles = vue.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
|
+
vue.onMounted(() => {
|
15563
|
+
vue.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
|
+
vue.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 = vue.inject(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
|
-
vue.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 = vue.ref(false);
|
15800
|
-
const stuckPosition = vue.ref(0);
|
15801
|
-
const stickyStyles = vue.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
|
-
vue.onMounted(() => {
|
15814
|
-
vue.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
|
-
vue.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 @@
|
|
16126
15875
|
},
|
16127
15876
|
sticky: Boolean,
|
16128
15877
|
...makeBorderProps(),
|
15878
|
+
...makeComponentProps(),
|
16129
15879
|
...makeElevationProps(),
|
16130
15880
|
...makeLayoutItemProps(),
|
16131
15881
|
...makeRoundedProps(),
|
@@ -16277,8 +16027,8 @@
|
|
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 && vue.createVNode("div", {
|
16284
16034
|
"key": "image",
|
@@ -16407,6 +16157,7 @@
|
|
16407
16157
|
},
|
16408
16158
|
showFirstLastPage: Boolean,
|
16409
16159
|
...makeBorderProps(),
|
16160
|
+
...makeComponentProps(),
|
16410
16161
|
...makeDensityProps(),
|
16411
16162
|
...makeElevationProps(),
|
16412
16163
|
...makeRoundedProps(),
|
@@ -16603,7 +16354,8 @@
|
|
16603
16354
|
}
|
16604
16355
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
16724
16477
|
useRender(() => vue.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 @@
|
|
16749
16503
|
slots
|
16750
16504
|
} = _ref;
|
16751
16505
|
useRender(() => vue.createVNode(VSelectionControl, vue.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 @@
|
|
16803
16558
|
}
|
16804
16559
|
}) : props.label;
|
16805
16560
|
return vue.createVNode(VInput, vue.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 @@
|
|
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 @@
|
|
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 @@
|
|
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: () => [vue.createVNode(VRatingItem, {
|
17207
16966
|
"value": 0,
|
@@ -17301,6 +17060,7 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
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 @@
|
|
17901
17665
|
useRender(() => vue.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 @@
|
|
17975
17739
|
useRender(() => {
|
17976
17740
|
const [btnProps] = VBtn.filterProps(props);
|
17977
17741
|
return vue.createVNode(VBtn, vue.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 @@
|
|
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 @@
|
|
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 @@
|
|
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 ? vue.createVNode("div", {
|
18124
17890
|
"class": "v-table__wrapper",
|
@@ -18283,7 +18049,8 @@
|
|
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 @@
|
|
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 @@
|
|
18380
18148
|
return () => {
|
18381
18149
|
if (!props.withBackground) return slots.default?.();
|
18382
18150
|
return vue.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 @@
|
|
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 @@
|
|
18468
18238
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
18515
18286
|
useRender(() => vue.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
|
}, [vue.createVNode("div", {
|
18520
18292
|
"class": ['v-timeline-divider__before', lineColorClasses.value],
|
18521
18293
|
"style": lineColorStyles.value
|
@@ -18565,11 +18337,12 @@
|
|
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 @@
|
|
18589
18362
|
useRender(() => vue.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
|
}, [vue.createVNode("div", {
|
18598
18371
|
"class": "v-timeline-item__body",
|
18599
18372
|
"style": dimensionStyles.value
|
@@ -18669,7 +18442,8 @@
|
|
18669
18442
|
const [overlayProps] = VOverlay.filterProps(props);
|
18670
18443
|
return vue.createVNode(VOverlay, vue.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 @@
|
|
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 @@
|
|
18744
18519
|
vue.onUpdated(updateHeight);
|
18745
18520
|
useRender(() => vue.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 @@
|
|
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 @@
|
|
18788
18564
|
const sizeMap = new Map();
|
18789
18565
|
let sizes = createRange(props.items.length).map(() => itemHeight.value);
|
18790
18566
|
const visibleItems = vue.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 @@
|
|
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 @@
|
|
18834
18603
|
const offset = calculateOffset(index);
|
18835
18604
|
rootEl.value.scrollTop = offset;
|
18836
18605
|
}
|
18606
|
+
const items = vue.computed(() => props.items.map((item, index) => ({
|
18607
|
+
raw: item,
|
18608
|
+
index
|
18609
|
+
})));
|
18837
18610
|
const last = vue.computed(() => Math.min(props.items.length, first.value + visibleItems.value));
|
18838
|
-
const computedItems = vue.computed(() =>
|
18611
|
+
const computedItems = vue.computed(() => items.value.slice(first.value, last.value));
|
18839
18612
|
const paddingTop = vue.computed(() => calculateOffset(first.value));
|
18840
18613
|
const paddingBottom = vue.computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
|
18841
18614
|
const {
|
@@ -18860,23 +18633,23 @@
|
|
18860
18633
|
});
|
18861
18634
|
useRender(() => vue.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
|
}, [vue.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 => vue.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 {
|
@@ -19024,130 +18797,542 @@
|
|
19024
18797
|
|
19025
18798
|
// Types
|
19026
18799
|
|
19027
|
-
function mounted$2(el, binding) {
|
19028
|
-
const modifiers = binding.modifiers || {};
|
19029
|
-
const value = binding.value;
|
19030
|
-
const {
|
19031
|
-
once,
|
19032
|
-
immediate,
|
19033
|
-
...modifierKeys
|
19034
|
-
} = modifiers;
|
19035
|
-
const defaultValue = !Object.keys(modifierKeys).length;
|
19036
|
-
const {
|
19037
|
-
handler,
|
19038
|
-
options
|
19039
|
-
} = typeof value === 'object' ? value : {
|
19040
|
-
handler: value,
|
19041
|
-
options: {
|
19042
|
-
attributes: modifierKeys?.attr ?? defaultValue,
|
19043
|
-
characterData: modifierKeys?.char ?? defaultValue,
|
19044
|
-
childList: modifierKeys?.child ?? defaultValue,
|
19045
|
-
subtree: modifierKeys?.sub ?? defaultValue
|
18800
|
+
function mounted$2(el, binding) {
|
18801
|
+
const modifiers = binding.modifiers || {};
|
18802
|
+
const value = binding.value;
|
18803
|
+
const {
|
18804
|
+
once,
|
18805
|
+
immediate,
|
18806
|
+
...modifierKeys
|
18807
|
+
} = modifiers;
|
18808
|
+
const defaultValue = !Object.keys(modifierKeys).length;
|
18809
|
+
const {
|
18810
|
+
handler,
|
18811
|
+
options
|
18812
|
+
} = typeof value === 'object' ? value : {
|
18813
|
+
handler: value,
|
18814
|
+
options: {
|
18815
|
+
attributes: modifierKeys?.attr ?? defaultValue,
|
18816
|
+
characterData: modifierKeys?.char ?? defaultValue,
|
18817
|
+
childList: modifierKeys?.child ?? defaultValue,
|
18818
|
+
subtree: modifierKeys?.sub ?? defaultValue
|
18819
|
+
}
|
18820
|
+
};
|
18821
|
+
const observer = new MutationObserver(function () {
|
18822
|
+
let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
18823
|
+
let observer = arguments.length > 1 ? arguments[1] : undefined;
|
18824
|
+
handler?.(mutations, observer);
|
18825
|
+
if (once) unmounted$2(el, binding);
|
18826
|
+
});
|
18827
|
+
if (immediate) handler?.([], observer);
|
18828
|
+
el._mutate = Object(el._mutate);
|
18829
|
+
el._mutate[binding.instance.$.uid] = {
|
18830
|
+
observer
|
18831
|
+
};
|
18832
|
+
observer.observe(el, options);
|
18833
|
+
}
|
18834
|
+
function unmounted$2(el, binding) {
|
18835
|
+
if (!el._mutate?.[binding.instance.$.uid]) return;
|
18836
|
+
el._mutate[binding.instance.$.uid].observer.disconnect();
|
18837
|
+
delete el._mutate[binding.instance.$.uid];
|
18838
|
+
}
|
18839
|
+
const Mutate = {
|
18840
|
+
mounted: mounted$2,
|
18841
|
+
unmounted: unmounted$2
|
18842
|
+
};
|
18843
|
+
|
18844
|
+
function mounted$1(el, binding) {
|
18845
|
+
const handler = binding.value;
|
18846
|
+
const options = {
|
18847
|
+
passive: !binding.modifiers?.active
|
18848
|
+
};
|
18849
|
+
window.addEventListener('resize', handler, options);
|
18850
|
+
el._onResize = Object(el._onResize);
|
18851
|
+
el._onResize[binding.instance.$.uid] = {
|
18852
|
+
handler,
|
18853
|
+
options
|
18854
|
+
};
|
18855
|
+
if (!binding.modifiers?.quiet) {
|
18856
|
+
handler();
|
18857
|
+
}
|
18858
|
+
}
|
18859
|
+
function unmounted$1(el, binding) {
|
18860
|
+
if (!el._onResize?.[binding.instance.$.uid]) return;
|
18861
|
+
const {
|
18862
|
+
handler,
|
18863
|
+
options
|
18864
|
+
} = el._onResize[binding.instance.$.uid];
|
18865
|
+
window.removeEventListener('resize', handler, options);
|
18866
|
+
delete el._onResize[binding.instance.$.uid];
|
18867
|
+
}
|
18868
|
+
const Resize = {
|
18869
|
+
mounted: mounted$1,
|
18870
|
+
unmounted: unmounted$1
|
18871
|
+
};
|
18872
|
+
|
18873
|
+
function mounted(el, binding) {
|
18874
|
+
const {
|
18875
|
+
self = false
|
18876
|
+
} = binding.modifiers ?? {};
|
18877
|
+
const value = binding.value;
|
18878
|
+
const options = typeof value === 'object' && value.options || {
|
18879
|
+
passive: true
|
18880
|
+
};
|
18881
|
+
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
18882
|
+
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
18883
|
+
if (!target) return;
|
18884
|
+
target.addEventListener('scroll', handler, options);
|
18885
|
+
el._onScroll = Object(el._onScroll);
|
18886
|
+
el._onScroll[binding.instance.$.uid] = {
|
18887
|
+
handler,
|
18888
|
+
options,
|
18889
|
+
// Don't reference self
|
18890
|
+
target: self ? undefined : target
|
18891
|
+
};
|
18892
|
+
}
|
18893
|
+
function unmounted(el, binding) {
|
18894
|
+
if (!el._onScroll?.[binding.instance.$.uid]) return;
|
18895
|
+
const {
|
18896
|
+
handler,
|
18897
|
+
options,
|
18898
|
+
target = el
|
18899
|
+
} = el._onScroll[binding.instance.$.uid];
|
18900
|
+
target.removeEventListener('scroll', handler, options);
|
18901
|
+
delete el._onScroll[binding.instance.$.uid];
|
18902
|
+
}
|
18903
|
+
function updated(el, binding) {
|
18904
|
+
if (binding.value === binding.oldValue) return;
|
18905
|
+
unmounted(el, binding);
|
18906
|
+
mounted(el, binding);
|
18907
|
+
}
|
18908
|
+
const Scroll = {
|
18909
|
+
mounted,
|
18910
|
+
unmounted,
|
18911
|
+
updated
|
18912
|
+
};
|
18913
|
+
|
18914
|
+
var directives = /*#__PURE__*/Object.freeze({
|
18915
|
+
__proto__: null,
|
18916
|
+
ClickOutside: ClickOutside,
|
18917
|
+
Intersect: Intersect,
|
18918
|
+
Mutate: Mutate,
|
18919
|
+
Resize: Resize,
|
18920
|
+
Ripple: Ripple,
|
18921
|
+
Scroll: Scroll,
|
18922
|
+
Touch: Touch
|
18923
|
+
});
|
18924
|
+
|
18925
|
+
// Utilities
|
18926
|
+
|
18927
|
+
// Types
|
18928
|
+
|
18929
|
+
function getWeekArray(date) {
|
18930
|
+
let currentWeek = [];
|
18931
|
+
const weeks = [];
|
18932
|
+
const firstDayOfMonth = startOfMonth(date);
|
18933
|
+
const lastDayOfMonth = endOfMonth(date);
|
18934
|
+
for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
|
18935
|
+
currentWeek.push(null);
|
18936
|
+
}
|
18937
|
+
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
18938
|
+
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
18939
|
+
|
18940
|
+
// Add the day to the current week
|
18941
|
+
currentWeek.push(day);
|
18942
|
+
|
18943
|
+
// If the current week has 7 days, add it to the weeks array and start a new week
|
18944
|
+
if (currentWeek.length === 7) {
|
18945
|
+
weeks.push(currentWeek);
|
18946
|
+
currentWeek = [];
|
19046
18947
|
}
|
19047
|
-
}
|
19048
|
-
|
19049
|
-
|
19050
|
-
|
19051
|
-
|
19052
|
-
|
18948
|
+
}
|
18949
|
+
for (let i = currentWeek.length; i < 7; i++) {
|
18950
|
+
currentWeek.push(null);
|
18951
|
+
}
|
18952
|
+
weeks.push(currentWeek);
|
18953
|
+
return weeks;
|
18954
|
+
}
|
18955
|
+
function startOfMonth(date) {
|
18956
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
18957
|
+
}
|
18958
|
+
function endOfMonth(date) {
|
18959
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
18960
|
+
}
|
18961
|
+
function date(value) {
|
18962
|
+
if (value == null) return null;
|
18963
|
+
if (value instanceof Date) return value;
|
18964
|
+
if (typeof value === 'string') {
|
18965
|
+
const parsed = Date.parse(value);
|
18966
|
+
if (!isNaN(parsed)) return new Date(parsed);
|
18967
|
+
}
|
18968
|
+
return null;
|
18969
|
+
}
|
18970
|
+
const firstDay = {
|
18971
|
+
'001': 1,
|
18972
|
+
AD: 1,
|
18973
|
+
AE: 6,
|
18974
|
+
AF: 6,
|
18975
|
+
AG: 0,
|
18976
|
+
AI: 1,
|
18977
|
+
AL: 1,
|
18978
|
+
AM: 1,
|
18979
|
+
AN: 1,
|
18980
|
+
AR: 1,
|
18981
|
+
AS: 0,
|
18982
|
+
AT: 1,
|
18983
|
+
AU: 0,
|
18984
|
+
AX: 1,
|
18985
|
+
AZ: 1,
|
18986
|
+
BA: 1,
|
18987
|
+
BD: 0,
|
18988
|
+
BE: 1,
|
18989
|
+
BG: 1,
|
18990
|
+
BH: 6,
|
18991
|
+
BM: 1,
|
18992
|
+
BN: 1,
|
18993
|
+
BR: 0,
|
18994
|
+
BS: 0,
|
18995
|
+
BT: 0,
|
18996
|
+
BW: 0,
|
18997
|
+
BY: 1,
|
18998
|
+
BZ: 0,
|
18999
|
+
CA: 0,
|
19000
|
+
CH: 1,
|
19001
|
+
CL: 1,
|
19002
|
+
CM: 1,
|
19003
|
+
CN: 0,
|
19004
|
+
CO: 0,
|
19005
|
+
CR: 1,
|
19006
|
+
CY: 1,
|
19007
|
+
CZ: 1,
|
19008
|
+
DE: 1,
|
19009
|
+
DJ: 6,
|
19010
|
+
DK: 1,
|
19011
|
+
DM: 0,
|
19012
|
+
DO: 0,
|
19013
|
+
DZ: 6,
|
19014
|
+
EC: 1,
|
19015
|
+
EE: 1,
|
19016
|
+
EG: 6,
|
19017
|
+
ES: 1,
|
19018
|
+
ET: 0,
|
19019
|
+
FI: 1,
|
19020
|
+
FJ: 1,
|
19021
|
+
FO: 1,
|
19022
|
+
FR: 1,
|
19023
|
+
GB: 1,
|
19024
|
+
'GB-alt-variant': 0,
|
19025
|
+
GE: 1,
|
19026
|
+
GF: 1,
|
19027
|
+
GP: 1,
|
19028
|
+
GR: 1,
|
19029
|
+
GT: 0,
|
19030
|
+
GU: 0,
|
19031
|
+
HK: 0,
|
19032
|
+
HN: 0,
|
19033
|
+
HR: 1,
|
19034
|
+
HU: 1,
|
19035
|
+
ID: 0,
|
19036
|
+
IE: 1,
|
19037
|
+
IL: 0,
|
19038
|
+
IN: 0,
|
19039
|
+
IQ: 6,
|
19040
|
+
IR: 6,
|
19041
|
+
IS: 1,
|
19042
|
+
IT: 1,
|
19043
|
+
JM: 0,
|
19044
|
+
JO: 6,
|
19045
|
+
JP: 0,
|
19046
|
+
KE: 0,
|
19047
|
+
KG: 1,
|
19048
|
+
KH: 0,
|
19049
|
+
KR: 0,
|
19050
|
+
KW: 6,
|
19051
|
+
KZ: 1,
|
19052
|
+
LA: 0,
|
19053
|
+
LB: 1,
|
19054
|
+
LI: 1,
|
19055
|
+
LK: 1,
|
19056
|
+
LT: 1,
|
19057
|
+
LU: 1,
|
19058
|
+
LV: 1,
|
19059
|
+
LY: 6,
|
19060
|
+
MC: 1,
|
19061
|
+
MD: 1,
|
19062
|
+
ME: 1,
|
19063
|
+
MH: 0,
|
19064
|
+
MK: 1,
|
19065
|
+
MM: 0,
|
19066
|
+
MN: 1,
|
19067
|
+
MO: 0,
|
19068
|
+
MQ: 1,
|
19069
|
+
MT: 0,
|
19070
|
+
MV: 5,
|
19071
|
+
MX: 0,
|
19072
|
+
MY: 1,
|
19073
|
+
MZ: 0,
|
19074
|
+
NI: 0,
|
19075
|
+
NL: 1,
|
19076
|
+
NO: 1,
|
19077
|
+
NP: 0,
|
19078
|
+
NZ: 1,
|
19079
|
+
OM: 6,
|
19080
|
+
PA: 0,
|
19081
|
+
PE: 0,
|
19082
|
+
PH: 0,
|
19083
|
+
PK: 0,
|
19084
|
+
PL: 1,
|
19085
|
+
PR: 0,
|
19086
|
+
PT: 0,
|
19087
|
+
PY: 0,
|
19088
|
+
QA: 6,
|
19089
|
+
RE: 1,
|
19090
|
+
RO: 1,
|
19091
|
+
RS: 1,
|
19092
|
+
RU: 1,
|
19093
|
+
SA: 0,
|
19094
|
+
SD: 6,
|
19095
|
+
SE: 1,
|
19096
|
+
SG: 0,
|
19097
|
+
SI: 1,
|
19098
|
+
SK: 1,
|
19099
|
+
SM: 1,
|
19100
|
+
SV: 0,
|
19101
|
+
SY: 6,
|
19102
|
+
TH: 0,
|
19103
|
+
TJ: 1,
|
19104
|
+
TM: 1,
|
19105
|
+
TR: 1,
|
19106
|
+
TT: 0,
|
19107
|
+
TW: 0,
|
19108
|
+
UA: 1,
|
19109
|
+
UM: 0,
|
19110
|
+
US: 0,
|
19111
|
+
UY: 1,
|
19112
|
+
UZ: 1,
|
19113
|
+
VA: 1,
|
19114
|
+
VE: 0,
|
19115
|
+
VI: 0,
|
19116
|
+
VN: 1,
|
19117
|
+
WS: 0,
|
19118
|
+
XK: 1,
|
19119
|
+
YE: 0,
|
19120
|
+
ZA: 0,
|
19121
|
+
ZW: 0
|
19122
|
+
};
|
19123
|
+
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
19124
|
+
function getWeekdays(locale) {
|
19125
|
+
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
19126
|
+
return createRange(7).map(i => {
|
19127
|
+
const weekday = new Date(sundayJanuarySecond2000);
|
19128
|
+
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
19129
|
+
return new Intl.DateTimeFormat(locale, {
|
19130
|
+
weekday: 'long'
|
19131
|
+
}).format(weekday);
|
19053
19132
|
});
|
19054
|
-
if (immediate) handler?.([], observer);
|
19055
|
-
el._mutate = Object(el._mutate);
|
19056
|
-
el._mutate[binding.instance.$.uid] = {
|
19057
|
-
observer
|
19058
|
-
};
|
19059
|
-
observer.observe(el, options);
|
19060
19133
|
}
|
19061
|
-
function
|
19062
|
-
|
19063
|
-
|
19064
|
-
|
19134
|
+
function format(value, formatString, locale) {
|
19135
|
+
const date = new Date(value);
|
19136
|
+
let options = {};
|
19137
|
+
switch (formatString) {
|
19138
|
+
case 'fullDateWithWeekday':
|
19139
|
+
options = {
|
19140
|
+
weekday: 'long',
|
19141
|
+
day: 'numeric',
|
19142
|
+
month: 'long',
|
19143
|
+
year: 'numeric'
|
19144
|
+
};
|
19145
|
+
break;
|
19146
|
+
case 'normalDateWithWeekday':
|
19147
|
+
options = {
|
19148
|
+
weekday: 'short',
|
19149
|
+
day: 'numeric',
|
19150
|
+
month: 'short',
|
19151
|
+
year: 'numeric'
|
19152
|
+
};
|
19153
|
+
break;
|
19154
|
+
case 'keyboardDate':
|
19155
|
+
options = {};
|
19156
|
+
break;
|
19157
|
+
case 'monthAndDate':
|
19158
|
+
options = {
|
19159
|
+
month: 'long',
|
19160
|
+
day: 'numeric'
|
19161
|
+
};
|
19162
|
+
break;
|
19163
|
+
case 'monthAndYear':
|
19164
|
+
options = {
|
19165
|
+
month: 'long',
|
19166
|
+
year: 'numeric'
|
19167
|
+
};
|
19168
|
+
break;
|
19169
|
+
default:
|
19170
|
+
options = {
|
19171
|
+
timeZone: 'UTC',
|
19172
|
+
timeZoneName: 'short'
|
19173
|
+
};
|
19174
|
+
}
|
19175
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
19176
|
+
}
|
19177
|
+
function addDays(date, amount) {
|
19178
|
+
const d = new Date(date);
|
19179
|
+
d.setDate(d.getDate() + amount);
|
19180
|
+
return d;
|
19181
|
+
}
|
19182
|
+
function addMonths(date, amount) {
|
19183
|
+
const d = new Date(date);
|
19184
|
+
d.setMonth(d.getMonth() + amount);
|
19185
|
+
return d;
|
19186
|
+
}
|
19187
|
+
function getYear(date) {
|
19188
|
+
return date.getFullYear();
|
19189
|
+
}
|
19190
|
+
function getMonth(date) {
|
19191
|
+
return date.getMonth();
|
19192
|
+
}
|
19193
|
+
function startOfYear(date) {
|
19194
|
+
return new Date(date.getFullYear(), 0, 1);
|
19195
|
+
}
|
19196
|
+
function endOfYear(date) {
|
19197
|
+
return new Date(date.getFullYear(), 11, 31);
|
19198
|
+
}
|
19199
|
+
function getMondayOfFirstWeekOfYear(year) {
|
19200
|
+
return new Date(year, 0, 1);
|
19065
19201
|
}
|
19066
|
-
const Mutate = {
|
19067
|
-
mounted: mounted$2,
|
19068
|
-
unmounted: unmounted$2
|
19069
|
-
};
|
19070
19202
|
|
19071
|
-
|
19072
|
-
|
19073
|
-
|
19074
|
-
|
19075
|
-
|
19076
|
-
|
19077
|
-
|
19078
|
-
|
19079
|
-
|
19080
|
-
|
19081
|
-
|
19082
|
-
|
19083
|
-
|
19203
|
+
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
19204
|
+
function getWeek(date) {
|
19205
|
+
let year = date.getFullYear();
|
19206
|
+
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
19207
|
+
if (date < d1w1) {
|
19208
|
+
year = year - 1;
|
19209
|
+
d1w1 = getMondayOfFirstWeekOfYear(year);
|
19210
|
+
} else {
|
19211
|
+
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
19212
|
+
if (date >= tv) {
|
19213
|
+
year = year + 1;
|
19214
|
+
d1w1 = tv;
|
19215
|
+
}
|
19084
19216
|
}
|
19217
|
+
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
19218
|
+
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
19219
|
+
return Math.floor(diffDays / 7) + 1;
|
19085
19220
|
}
|
19086
|
-
function
|
19087
|
-
|
19088
|
-
const {
|
19089
|
-
handler,
|
19090
|
-
options
|
19091
|
-
} = el._onResize[binding.instance.$.uid];
|
19092
|
-
window.removeEventListener('resize', handler, options);
|
19093
|
-
delete el._onResize[binding.instance.$.uid];
|
19221
|
+
function isWithinRange(date, range) {
|
19222
|
+
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
19094
19223
|
}
|
19095
|
-
|
19096
|
-
|
19097
|
-
|
19098
|
-
};
|
19099
|
-
|
19100
|
-
function mounted(el, binding) {
|
19101
|
-
const {
|
19102
|
-
self = false
|
19103
|
-
} = binding.modifiers ?? {};
|
19104
|
-
const value = binding.value;
|
19105
|
-
const options = typeof value === 'object' && value.options || {
|
19106
|
-
passive: true
|
19107
|
-
};
|
19108
|
-
const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;
|
19109
|
-
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
19110
|
-
if (!target) return;
|
19111
|
-
target.addEventListener('scroll', handler, options);
|
19112
|
-
el._onScroll = Object(el._onScroll);
|
19113
|
-
el._onScroll[binding.instance.$.uid] = {
|
19114
|
-
handler,
|
19115
|
-
options,
|
19116
|
-
// Don't reference self
|
19117
|
-
target: self ? undefined : target
|
19118
|
-
};
|
19224
|
+
function isValid(date) {
|
19225
|
+
const d = new Date(date);
|
19226
|
+
return d instanceof Date && !isNaN(d.getTime());
|
19119
19227
|
}
|
19120
|
-
function
|
19121
|
-
|
19122
|
-
const {
|
19123
|
-
handler,
|
19124
|
-
options,
|
19125
|
-
target = el
|
19126
|
-
} = el._onScroll[binding.instance.$.uid];
|
19127
|
-
target.removeEventListener('scroll', handler, options);
|
19128
|
-
delete el._onScroll[binding.instance.$.uid];
|
19228
|
+
function isAfter(date, comparing) {
|
19229
|
+
return date.getTime() > comparing.getTime();
|
19129
19230
|
}
|
19130
|
-
function
|
19131
|
-
|
19132
|
-
|
19133
|
-
|
19231
|
+
function isBefore(date, comparing) {
|
19232
|
+
return date.getTime() < comparing.getTime();
|
19233
|
+
}
|
19234
|
+
function isEqual(date, comparing) {
|
19235
|
+
return date.getTime() === comparing.getTime();
|
19236
|
+
}
|
19237
|
+
function isSameDay(date, comparing) {
|
19238
|
+
return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
19239
|
+
}
|
19240
|
+
function isSameMonth(date, comparing) {
|
19241
|
+
return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();
|
19242
|
+
}
|
19243
|
+
function getDiff(date, comparing, unit) {
|
19244
|
+
const d = new Date(date);
|
19245
|
+
const c = new Date(comparing);
|
19246
|
+
if (unit === 'month') {
|
19247
|
+
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
19248
|
+
}
|
19249
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
19250
|
+
}
|
19251
|
+
function setYear(date, year) {
|
19252
|
+
const d = new Date(date);
|
19253
|
+
d.setFullYear(year);
|
19254
|
+
return d;
|
19255
|
+
}
|
19256
|
+
class VuetifyDateAdapter {
|
19257
|
+
constructor() {
|
19258
|
+
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
19259
|
+
this.locale = locale;
|
19260
|
+
}
|
19261
|
+
date(value) {
|
19262
|
+
return date(value);
|
19263
|
+
}
|
19264
|
+
addDays(date, amount) {
|
19265
|
+
return addDays(date, amount);
|
19266
|
+
}
|
19267
|
+
addMonths(date, amount) {
|
19268
|
+
return addMonths(date, amount);
|
19269
|
+
}
|
19270
|
+
getWeekArray(date) {
|
19271
|
+
return getWeekArray(date);
|
19272
|
+
}
|
19273
|
+
startOfMonth(date) {
|
19274
|
+
return startOfMonth(date);
|
19275
|
+
}
|
19276
|
+
endOfMonth(date) {
|
19277
|
+
return endOfMonth(date);
|
19278
|
+
}
|
19279
|
+
format(date, formatString) {
|
19280
|
+
return format(date, formatString, this.locale);
|
19281
|
+
}
|
19282
|
+
isEqual(date, comparing) {
|
19283
|
+
return isEqual(date, comparing);
|
19284
|
+
}
|
19285
|
+
isValid(date) {
|
19286
|
+
return isValid(date);
|
19287
|
+
}
|
19288
|
+
isWithinRange(date, range) {
|
19289
|
+
return isWithinRange(date, range);
|
19290
|
+
}
|
19291
|
+
isAfter(date, comparing) {
|
19292
|
+
return isAfter(date, comparing);
|
19293
|
+
}
|
19294
|
+
isSameDay(date, comparing) {
|
19295
|
+
return isSameDay(date, comparing);
|
19296
|
+
}
|
19297
|
+
isSameMonth(date, comparing) {
|
19298
|
+
return isSameMonth(date, comparing);
|
19299
|
+
}
|
19300
|
+
setYear(date, year) {
|
19301
|
+
return setYear(date, year);
|
19302
|
+
}
|
19303
|
+
getDiff(date, comparing, unit) {
|
19304
|
+
return getDiff(date, comparing, unit);
|
19305
|
+
}
|
19306
|
+
getWeek(date) {
|
19307
|
+
return getWeek(date);
|
19308
|
+
}
|
19309
|
+
getWeekdays() {
|
19310
|
+
return getWeekdays(this.locale);
|
19311
|
+
}
|
19312
|
+
getYear(date) {
|
19313
|
+
return getYear(date);
|
19314
|
+
}
|
19315
|
+
getMonth(date) {
|
19316
|
+
return getMonth(date);
|
19317
|
+
}
|
19318
|
+
startOfYear(date) {
|
19319
|
+
return startOfYear(date);
|
19320
|
+
}
|
19321
|
+
endOfYear(date) {
|
19322
|
+
return endOfYear(date);
|
19323
|
+
}
|
19134
19324
|
}
|
19135
|
-
const Scroll = {
|
19136
|
-
mounted,
|
19137
|
-
unmounted,
|
19138
|
-
updated
|
19139
|
-
};
|
19140
19325
|
|
19141
|
-
|
19142
|
-
|
19143
|
-
|
19144
|
-
|
19145
|
-
|
19146
|
-
|
19147
|
-
|
19148
|
-
|
19149
|
-
|
19150
|
-
}
|
19326
|
+
// Composables
|
19327
|
+
|
19328
|
+
// Types
|
19329
|
+
|
19330
|
+
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
19331
|
+
function createDate(options) {
|
19332
|
+
return options ?? {
|
19333
|
+
adapter: VuetifyDateAdapter
|
19334
|
+
};
|
19335
|
+
}
|
19151
19336
|
|
19152
19337
|
// Composables
|
19153
19338
|
function createVuetify$1() {
|
@@ -19234,7 +19419,7 @@
|
|
19234
19419
|
date
|
19235
19420
|
};
|
19236
19421
|
}
|
19237
|
-
const version$1 = "4.0.0-dev-
|
19422
|
+
const version$1 = "4.0.0-dev-20230427.0";
|
19238
19423
|
createVuetify$1.version = version$1;
|
19239
19424
|
|
19240
19425
|
// Vue's inject() can only be used in setup
|
@@ -19254,13 +19439,13 @@
|
|
19254
19439
|
...options
|
19255
19440
|
});
|
19256
19441
|
};
|
19257
|
-
const version = "4.0.0-dev-
|
19442
|
+
const version = "4.0.0-dev-20230427.0";
|
19258
19443
|
createVuetify.version = version;
|
19259
19444
|
|
19260
19445
|
exports.components = components;
|
19261
19446
|
exports.createVuetify = createVuetify;
|
19262
19447
|
exports.directives = directives;
|
19263
|
-
exports.
|
19448
|
+
exports.useDefaults = useDefaults;
|
19264
19449
|
exports.useDisplay = useDisplay;
|
19265
19450
|
exports.useLayout = useLayout;
|
19266
19451
|
exports.useLocale = useLocale;
|