vuetify 3.6.0-alpha.2 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_component-variables-labs.sass +2 -1
- package/dist/json/attributes.json +731 -63
- package/dist/json/importMap-labs.json +32 -20
- package/dist/json/importMap.json +138 -138
- package/dist/json/tags.json +184 -2
- package/dist/json/web-types.json +13002 -10923
- package/dist/vuetify-labs.css +2039 -1927
- package/dist/vuetify-labs.d.ts +3575 -1079
- package/dist/vuetify-labs.esm.js +1047 -390
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1046 -389
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +3026 -2941
- package/dist/vuetify.d.ts +927 -306
- package/dist/vuetify.esm.js +625 -363
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +624 -362
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +728 -714
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.sass +128 -127
- package/lib/components/VApp/VApp.sass +15 -13
- package/lib/components/VAppBar/VAppBar.sass +9 -8
- package/lib/components/VAppBar/index.d.mts +10 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +8 -10
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +94 -93
- package/lib/components/VAutocomplete/index.d.mts +36 -0
- package/lib/components/VAvatar/VAvatar.sass +26 -25
- package/lib/components/VBadge/VBadge.sass +61 -60
- package/lib/components/VBanner/VBanner.css +1 -1
- package/lib/components/VBanner/VBanner.sass +92 -91
- package/lib/components/VBanner/index.d.mts +15 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +50 -49
- package/lib/components/VBottomSheet/VBottomSheet.sass +28 -26
- package/lib/components/VBottomSheet/index.d.mts +14 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +41 -40
- package/lib/components/VBtn/VBtn.css +3 -0
- package/lib/components/VBtn/VBtn.mjs +3 -1
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +204 -200
- package/lib/components/VBtn/index.d.mts +10 -0
- package/lib/components/VBtnGroup/VBtnGroup.sass +47 -46
- package/lib/components/VBtnToggle/VBtnToggle.sass +4 -3
- package/lib/components/VBtnToggle/index.d.mts +1 -0
- package/lib/components/VCard/VCard.css +3 -3
- package/lib/components/VCard/VCard.sass +181 -180
- package/lib/components/VCarousel/VCarousel.sass +50 -49
- package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.mts +1 -0
- package/lib/components/VCheckbox/VCheckbox.sass +6 -5
- package/lib/components/VChip/VChip.css +1 -1
- package/lib/components/VChip/VChip.sass +78 -76
- package/lib/components/VChipGroup/VChipGroup.sass +20 -18
- package/lib/components/VChipGroup/index.d.mts +16 -0
- package/lib/components/VCode/VCode.sass +10 -8
- package/lib/components/VColorPicker/VColorPicker.sass +18 -17
- package/lib/components/VColorPicker/VColorPickerCanvas.sass +21 -20
- package/lib/components/VColorPicker/VColorPickerEdit.sass +24 -23
- package/lib/components/VColorPicker/VColorPickerPreview.sass +54 -53
- package/lib/components/VColorPicker/VColorPickerSwatches.sass +29 -28
- package/lib/components/VCombobox/VCombobox.mjs +8 -10
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +94 -93
- package/lib/components/VCombobox/index.d.mts +36 -0
- package/lib/components/VCounter/VCounter.sass +7 -5
- package/lib/components/VDataIterator/index.d.mts +2 -0
- package/lib/components/VDataTable/VDataTable.css +36 -1
- package/lib/components/VDataTable/VDataTable.sass +137 -103
- package/lib/components/VDataTable/VDataTableFooter.css +5 -9
- package/lib/components/VDataTable/VDataTableFooter.sass +26 -25
- package/lib/components/VDataTable/VDataTableHeaders.mjs +66 -7
- package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.mjs +45 -10
- package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.mjs +8 -2
- package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/components/VDataTable/_variables.scss +9 -3
- package/lib/components/VDataTable/index.d.mts +263 -217
- package/lib/components/VDataTable/types.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +12 -2
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.sass +6 -5
- package/lib/components/VDatePicker/VDatePickerControls.sass +56 -55
- package/lib/components/VDatePicker/VDatePickerHeader.sass +58 -56
- package/lib/components/VDatePicker/VDatePickerMonth.sass +53 -51
- package/lib/components/VDatePicker/VDatePickerMonths.sass +18 -16
- package/lib/components/VDatePicker/VDatePickerYears.sass +14 -12
- package/lib/components/VDialog/VDialog.css +7 -3
- package/lib/components/VDialog/VDialog.mjs +6 -2
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +71 -68
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +39 -0
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs.map +1 -0
- package/lib/components/VDialog/_variables.scss +4 -3
- package/lib/components/VDialog/index.d.mts +60 -10
- package/lib/components/VDivider/VDivider.sass +49 -48
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +172 -171
- package/lib/components/VField/VField.sass +451 -450
- package/lib/components/VFileInput/VFileInput.mjs +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +30 -31
- package/lib/components/VFileInput/index.d.mts +17 -5
- package/lib/components/VFooter/VFooter.sass +17 -16
- package/lib/components/VGrid/VGrid.sass +42 -40
- package/lib/components/VIcon/VIcon.sass +34 -32
- package/lib/components/VImg/VImg.sass +24 -23
- package/lib/components/VInfiniteScroll/VInfiniteScroll.sass +21 -19
- package/lib/components/VInput/VInput.mjs +6 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +103 -102
- package/lib/components/VInput/index.d.mts +6 -0
- package/lib/components/VItemGroup/VItemGroup.sass +7 -5
- package/lib/components/VKbd/VKbd.sass +10 -9
- package/lib/components/VLabel/VLabel.sass +14 -13
- package/lib/components/VLayout/VLayout.mjs +6 -1
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.sass +10 -7
- package/lib/components/VLayout/VLayoutItem.sass +7 -5
- package/lib/components/VLayout/index.d.mts +36 -0
- package/lib/components/VList/VList.mjs +2 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +81 -80
- package/lib/components/VList/VListItem.css +1 -1
- package/lib/components/VList/VListItem.sass +260 -259
- package/lib/components/VLocaleProvider/VLocaleProvider.sass +5 -2
- package/lib/components/VMain/VMain.sass +22 -21
- package/lib/components/VMenu/VMenu.sass +14 -13
- package/lib/components/VMenu/index.d.mts +56 -0
- package/lib/components/VMessages/VMessages.sass +16 -15
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +4 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +14 -5
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +90 -84
- package/lib/components/VNavigationDrawer/index.d.mts +24 -0
- package/lib/components/VNavigationDrawer/touch.mjs +16 -2
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.sass +51 -50
- package/lib/components/VOverlay/VOverlay.mjs +2 -2
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +57 -55
- package/lib/components/VOverlay/index.d.mts +27 -13
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.sass +14 -12
- package/lib/components/VParallax/VParallax.sass +8 -5
- package/lib/components/VProgressCircular/VProgressCircular.sass +85 -83
- package/lib/components/VProgressLinear/VProgressLinear.mjs +11 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +170 -169
- package/lib/components/VProgressLinear/index.d.mts +21 -0
- package/lib/components/VRadioGroup/VRadioGroup.sass +12 -10
- package/lib/components/VRangeSlider/index.d.mts +6 -0
- package/lib/components/VRating/VRating.sass +46 -44
- package/lib/components/VResponsive/VResponsive.sass +21 -19
- package/lib/components/VSelect/VSelect.mjs +5 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.sass +50 -49
- package/lib/components/VSelect/index.d.mts +36 -0
- package/lib/components/VSelectionControl/VSelectionControl.sass +87 -86
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +9 -7
- package/lib/components/VSheet/VSheet.sass +10 -9
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +174 -173
- package/lib/components/VSlideGroup/VSlideGroup.css +14 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +110 -93
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.sass +54 -40
- package/lib/components/VSlideGroup/helpers.mjs +48 -28
- package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +16 -0
- package/lib/components/VSlider/VSlider.sass +49 -48
- package/lib/components/VSlider/VSliderThumb.sass +129 -128
- package/lib/components/VSlider/VSliderTrack.sass +120 -119
- package/lib/components/VSlider/index.d.mts +6 -0
- package/lib/components/VSnackbar/VSnackbar.css +18 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +34 -9
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +103 -83
- package/lib/components/VSnackbar/index.d.mts +42 -0
- package/lib/components/VStepper/VStepper.sass +37 -36
- package/lib/components/VStepper/VStepperItem.sass +69 -67
- package/lib/components/VSwitch/VSwitch.css +14 -2
- package/lib/components/VSwitch/VSwitch.sass +119 -112
- package/lib/components/VSystemBar/VSystemBar.css +1 -1
- package/lib/components/VSystemBar/VSystemBar.sass +24 -23
- package/lib/components/VTable/VTable.sass +140 -139
- package/lib/components/VTabs/VTab.sass +27 -25
- package/lib/components/VTabs/VTabs.sass +38 -37
- package/lib/components/VTabs/index.d.mts +49 -6
- package/lib/components/VTextField/VTextField.sass +58 -56
- package/lib/components/VTextField/index.d.mts +15 -3
- package/lib/components/VTextarea/VTextarea.sass +43 -42
- package/lib/components/VTextarea/index.d.mts +15 -3
- package/lib/components/VThemeProvider/VThemeProvider.sass +6 -3
- package/lib/components/VTimeline/VTimeline.sass +308 -307
- package/lib/components/VToolbar/VToolbar.sass +90 -89
- package/lib/components/VTooltip/VTooltip.sass +23 -21
- package/lib/components/VTooltip/index.d.mts +56 -0
- package/lib/components/VVirtualScroll/VVirtualScroll.sass +10 -7
- package/lib/components/VWindow/VWindow.css +1 -0
- package/lib/components/VWindow/VWindow.sass +74 -70
- package/lib/components/VWindow/index.d.mts +1 -0
- package/lib/components/index.d.mts +870 -253
- package/lib/composables/directiveComponent.mjs +4 -2
- package/lib/composables/directiveComponent.mjs.map +1 -1
- package/lib/composables/display.mjs +5 -0
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/goto.mjs +40 -3
- package/lib/composables/goto.mjs.map +1 -1
- package/lib/composables/group.mjs +10 -1
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/layout.mjs +3 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.sass +35 -33
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.mts +58 -54
- package/lib/labs/VCalendar/VCalendar.sass +160 -158
- package/lib/labs/VCalendar/VCalendarDay.sass +26 -23
- package/lib/labs/VCalendar/VCalendarHeader.sass +12 -10
- package/lib/labs/VCalendar/VCalendarInterval.sass +36 -34
- package/lib/labs/VCalendar/VCalendarIntervalEvent.sass +9 -6
- package/lib/labs/VCalendar/VCalendarMonthDay.sass +59 -57
- package/lib/labs/VDateInput/VDateInput.mjs +129 -0
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -0
- package/lib/labs/VDateInput/index.d.mts +1068 -0
- package/lib/labs/VDateInput/index.mjs +2 -0
- package/lib/labs/VDateInput/index.mjs.map +1 -0
- package/lib/labs/VEmptyState/VEmptyState.css +3 -3
- package/lib/labs/VEmptyState/VEmptyState.sass +59 -57
- package/lib/labs/VFab/VFab.css +1 -0
- package/lib/labs/VFab/VFab.mjs +3 -2
- package/lib/labs/VFab/VFab.mjs.map +1 -1
- package/lib/labs/VFab/VFab.sass +62 -60
- package/lib/labs/VFab/index.d.mts +19 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +79 -24
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/VNumberInput.sass +42 -40
- package/lib/labs/VNumberInput/index.d.mts +56 -29
- package/lib/labs/VPicker/VPicker.sass +49 -48
- package/lib/labs/VPullToRefresh/VPullToRefresh.css +27 -0
- package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +117 -0
- package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -0
- package/lib/labs/VPullToRefresh/VPullToRefresh.sass +23 -0
- package/lib/labs/VPullToRefresh/index.d.mts +189 -0
- package/lib/labs/VPullToRefresh/index.mjs +2 -0
- package/lib/labs/VPullToRefresh/index.mjs.map +1 -0
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +112 -0
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs.map +1 -0
- package/lib/labs/VSnackbarQueue/index.d.mts +2763 -0
- package/lib/labs/VSnackbarQueue/index.mjs +2 -0
- package/lib/labs/VSnackbarQueue/index.mjs.map +1 -0
- package/lib/labs/VSpeedDial/VSpeedDial.mjs +8 -2
- package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/labs/VSpeedDial/VSpeedDial.sass +23 -20
- package/lib/labs/VSpeedDial/index.d.mts +28 -2
- package/lib/labs/VTimePicker/VTimePicker.sass +9 -8
- package/lib/labs/VTimePicker/VTimePickerClock.mjs +1 -3
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.sass +114 -113
- package/lib/labs/VTimePicker/VTimePickerControls.sass +90 -90
- package/lib/labs/VTimePicker/_variables.scss +1 -1
- package/lib/labs/VTimePicker/index.d.mts +6 -13
- package/lib/labs/VTreeview/VTreeviewItem.sass +14 -12
- package/lib/labs/VTreeview/{variables.scss → _variables.scss} +0 -2
- package/lib/labs/components.d.mts +5587 -1641
- package/lib/labs/components.mjs +3 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/af.mjs +1 -0
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +1 -0
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +1 -0
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +1 -0
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +1 -0
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +1 -0
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +1 -0
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +1 -0
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +1 -0
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +1 -0
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +1 -0
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +1 -0
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +1 -0
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +1 -0
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +1 -0
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +1 -0
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +1 -0
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +1 -0
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +1 -0
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +1 -0
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.mts +43 -0
- package/lib/locale/it.mjs +1 -0
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +1 -0
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/km.mjs +1 -0
- package/lib/locale/km.mjs.map +1 -1
- package/lib/locale/ko.mjs +9 -8
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +1 -0
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +1 -0
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +1 -0
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +1 -0
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +1 -0
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +1 -0
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +1 -0
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +1 -0
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +1 -0
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +1 -0
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +1 -0
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +1 -0
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +1 -0
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +1 -0
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +1 -0
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +1 -0
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +1 -0
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +1 -0
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +1 -0
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/styles/elements/_blockquote.sass +6 -4
- package/lib/styles/elements/_global.sass +20 -18
- package/lib/styles/generic/_animations.scss +13 -9
- package/lib/styles/generic/_colors.scss +36 -35
- package/lib/styles/generic/_index.scss +1 -0
- package/lib/styles/generic/_layers.scss +7 -0
- package/lib/styles/generic/_reset.scss +235 -232
- package/lib/styles/generic/_rtl.scss +10 -6
- package/lib/styles/generic/_transitions.scss +244 -241
- package/lib/styles/main.css +78 -78
- package/lib/styles/settings/_variables.scss +22 -14
- package/lib/styles/tools/_index.sass +1 -0
- package/lib/styles/tools/_layer.scss +11 -0
- package/lib/styles/utilities/_display.sass +7 -5
- package/lib/styles/utilities/_elevation.scss +8 -6
- package/lib/styles/utilities/_index.sass +28 -29
- package/lib/styles/utilities/_screenreaders.sass +13 -11
- package/package.json +2 -2
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.6.0
|
|
2
|
+
* Vuetify v3.6.0
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, shallowRef, readonly, unref, warn, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, createVNode, mergeProps, onBeforeUnmount, watch, nextTick, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, Suspense, TransitionGroup, Transition, isRef, toRef, onBeforeMount, withDirectives, resolveDirective, vShow, onMounted, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText, resolveComponent, render } from 'vue';
|
|
7
|
+
import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, shallowRef, readonly, unref, warn, ref, provide, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, createVNode, mergeProps, onBeforeUnmount, watch, nextTick, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, Suspense, TransitionGroup, Transition, isRef, toRef, onBeforeMount, withDirectives, resolveDirective, vShow, onMounted, onUpdated, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, toDisplayString, vModelText, resolveComponent, render } from 'vue';
|
|
8
8
|
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
|
@@ -2219,10 +2219,12 @@ function createLayout(props) {
|
|
|
2219
2219
|
const isHorizontal = position.value === 'left' || position.value === 'right';
|
|
2220
2220
|
const isOppositeHorizontal = position.value === 'right';
|
|
2221
2221
|
const isOppositeVertical = position.value === 'bottom';
|
|
2222
|
+
const size = elementSize.value ?? layoutSize.value;
|
|
2223
|
+
const unit = size === 0 ? '%' : 'px';
|
|
2222
2224
|
const styles = {
|
|
2223
2225
|
[position.value]: 0,
|
|
2224
2226
|
zIndex: zIndex.value,
|
|
2225
|
-
transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -(
|
|
2227
|
+
transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -(size === 0 ? 100 : size)) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}${unit})`,
|
|
2226
2228
|
position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',
|
|
2227
2229
|
...(transitionsEnabled.value ? undefined : {
|
|
2228
2230
|
transition: 'none'
|
|
@@ -2362,6 +2364,7 @@ var en = {
|
|
|
2362
2364
|
badge: 'Badge',
|
|
2363
2365
|
open: 'Open',
|
|
2364
2366
|
close: 'Close',
|
|
2367
|
+
dismiss: 'Dismiss',
|
|
2365
2368
|
confirmEdit: {
|
|
2366
2369
|
ok: 'OK',
|
|
2367
2370
|
cancel: 'Cancel'
|
|
@@ -4592,6 +4595,7 @@ function useGroup(props, injectKey) {
|
|
|
4592
4595
|
const index = children.indexOf(vm);
|
|
4593
4596
|
if (unref(unwrapped.value) == null) {
|
|
4594
4597
|
unwrapped.value = index;
|
|
4598
|
+
unwrapped.useIndexAsValue = true;
|
|
4595
4599
|
}
|
|
4596
4600
|
if (index > -1) {
|
|
4597
4601
|
items.splice(index, 0, unwrapped);
|
|
@@ -4624,6 +4628,14 @@ function useGroup(props, injectKey) {
|
|
|
4624
4628
|
onBeforeUnmount(() => {
|
|
4625
4629
|
isUnmounted = true;
|
|
4626
4630
|
});
|
|
4631
|
+
onUpdated(() => {
|
|
4632
|
+
// #19655 update the items that use the index as the value.
|
|
4633
|
+
for (let i = 0; i < items.length; i++) {
|
|
4634
|
+
if (items[i].useIndexAsValue) {
|
|
4635
|
+
items[i].value = i;
|
|
4636
|
+
}
|
|
4637
|
+
}
|
|
4638
|
+
});
|
|
4627
4639
|
function select(id, value) {
|
|
4628
4640
|
const item = items.find(item => item.id === id);
|
|
4629
4641
|
if (value && item?.disabled) return;
|
|
@@ -5006,6 +5018,65 @@ const VProgressCircular = genericComponent()({
|
|
|
5006
5018
|
}
|
|
5007
5019
|
});
|
|
5008
5020
|
|
|
5021
|
+
// Composables
|
|
5022
|
+
|
|
5023
|
+
// Types
|
|
5024
|
+
|
|
5025
|
+
const oppositeMap = {
|
|
5026
|
+
center: 'center',
|
|
5027
|
+
top: 'bottom',
|
|
5028
|
+
bottom: 'top',
|
|
5029
|
+
left: 'right',
|
|
5030
|
+
right: 'left'
|
|
5031
|
+
};
|
|
5032
|
+
const makeLocationProps = propsFactory({
|
|
5033
|
+
location: String
|
|
5034
|
+
}, 'location');
|
|
5035
|
+
function useLocation(props) {
|
|
5036
|
+
let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
5037
|
+
let offset = arguments.length > 2 ? arguments[2] : undefined;
|
|
5038
|
+
const {
|
|
5039
|
+
isRtl
|
|
5040
|
+
} = useRtl();
|
|
5041
|
+
const locationStyles = computed(() => {
|
|
5042
|
+
if (!props.location) return {};
|
|
5043
|
+
const {
|
|
5044
|
+
side,
|
|
5045
|
+
align
|
|
5046
|
+
} = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
|
|
5047
|
+
function getOffset(side) {
|
|
5048
|
+
return offset ? offset(side) : 0;
|
|
5049
|
+
}
|
|
5050
|
+
const styles = {};
|
|
5051
|
+
if (side !== 'center') {
|
|
5052
|
+
if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
|
|
5053
|
+
}
|
|
5054
|
+
if (align !== 'center') {
|
|
5055
|
+
if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
|
|
5056
|
+
} else {
|
|
5057
|
+
if (side === 'center') styles.top = styles.left = '50%';else {
|
|
5058
|
+
styles[{
|
|
5059
|
+
top: 'left',
|
|
5060
|
+
bottom: 'left',
|
|
5061
|
+
left: 'top',
|
|
5062
|
+
right: 'top'
|
|
5063
|
+
}[side]] = '50%';
|
|
5064
|
+
}
|
|
5065
|
+
styles.transform = {
|
|
5066
|
+
top: 'translateX(-50%)',
|
|
5067
|
+
bottom: 'translateX(-50%)',
|
|
5068
|
+
left: 'translateY(-50%)',
|
|
5069
|
+
right: 'translateY(-50%)',
|
|
5070
|
+
center: 'translate(-50%, -50%)'
|
|
5071
|
+
}[side];
|
|
5072
|
+
}
|
|
5073
|
+
return styles;
|
|
5074
|
+
});
|
|
5075
|
+
return {
|
|
5076
|
+
locationStyles
|
|
5077
|
+
};
|
|
5078
|
+
}
|
|
5079
|
+
|
|
5009
5080
|
const makeVProgressLinearProps = propsFactory({
|
|
5010
5081
|
absolute: Boolean,
|
|
5011
5082
|
active: {
|
|
@@ -5041,6 +5112,9 @@ const makeVProgressLinearProps = propsFactory({
|
|
|
5041
5112
|
striped: Boolean,
|
|
5042
5113
|
roundedBar: Boolean,
|
|
5043
5114
|
...makeComponentProps(),
|
|
5115
|
+
...makeLocationProps({
|
|
5116
|
+
location: 'top'
|
|
5117
|
+
}),
|
|
5044
5118
|
...makeRoundedProps(),
|
|
5045
5119
|
...makeTagProps(),
|
|
5046
5120
|
...makeThemeProps()
|
|
@@ -5063,6 +5137,9 @@ const VProgressLinear = genericComponent()({
|
|
|
5063
5137
|
const {
|
|
5064
5138
|
themeClasses
|
|
5065
5139
|
} = provideTheme(props);
|
|
5140
|
+
const {
|
|
5141
|
+
locationStyles
|
|
5142
|
+
} = useLocation(props);
|
|
5066
5143
|
const {
|
|
5067
5144
|
textColorClasses,
|
|
5068
5145
|
textColorStyles
|
|
@@ -5113,8 +5190,11 @@ const VProgressLinear = genericComponent()({
|
|
|
5113
5190
|
'v-progress-linear--striped': props.striped
|
|
5114
5191
|
}, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
|
|
5115
5192
|
"style": [{
|
|
5193
|
+
bottom: props.location === 'bottom' ? 0 : undefined,
|
|
5194
|
+
top: props.location === 'top' ? 0 : undefined,
|
|
5116
5195
|
height: props.active ? convertToUnit(height.value) : 0,
|
|
5117
|
-
'--v-progress-linear-height': convertToUnit(height.value)
|
|
5196
|
+
'--v-progress-linear-height': convertToUnit(height.value),
|
|
5197
|
+
...(props.absolute ? locationStyles.value : {})
|
|
5118
5198
|
}, props.style],
|
|
5119
5199
|
"role": "progressbar",
|
|
5120
5200
|
"aria-hidden": props.active ? 'false' : 'true',
|
|
@@ -5206,65 +5286,6 @@ function LoaderSlot(props, _ref) {
|
|
|
5206
5286
|
}, null)]);
|
|
5207
5287
|
}
|
|
5208
5288
|
|
|
5209
|
-
// Composables
|
|
5210
|
-
|
|
5211
|
-
// Types
|
|
5212
|
-
|
|
5213
|
-
const oppositeMap = {
|
|
5214
|
-
center: 'center',
|
|
5215
|
-
top: 'bottom',
|
|
5216
|
-
bottom: 'top',
|
|
5217
|
-
left: 'right',
|
|
5218
|
-
right: 'left'
|
|
5219
|
-
};
|
|
5220
|
-
const makeLocationProps = propsFactory({
|
|
5221
|
-
location: String
|
|
5222
|
-
}, 'location');
|
|
5223
|
-
function useLocation(props) {
|
|
5224
|
-
let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
5225
|
-
let offset = arguments.length > 2 ? arguments[2] : undefined;
|
|
5226
|
-
const {
|
|
5227
|
-
isRtl
|
|
5228
|
-
} = useRtl();
|
|
5229
|
-
const locationStyles = computed(() => {
|
|
5230
|
-
if (!props.location) return {};
|
|
5231
|
-
const {
|
|
5232
|
-
side,
|
|
5233
|
-
align
|
|
5234
|
-
} = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
|
|
5235
|
-
function getOffset(side) {
|
|
5236
|
-
return offset ? offset(side) : 0;
|
|
5237
|
-
}
|
|
5238
|
-
const styles = {};
|
|
5239
|
-
if (side !== 'center') {
|
|
5240
|
-
if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
|
|
5241
|
-
}
|
|
5242
|
-
if (align !== 'center') {
|
|
5243
|
-
if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
|
|
5244
|
-
} else {
|
|
5245
|
-
if (side === 'center') styles.top = styles.left = '50%';else {
|
|
5246
|
-
styles[{
|
|
5247
|
-
top: 'left',
|
|
5248
|
-
bottom: 'left',
|
|
5249
|
-
left: 'top',
|
|
5250
|
-
right: 'top'
|
|
5251
|
-
}[side]] = '50%';
|
|
5252
|
-
}
|
|
5253
|
-
styles.transform = {
|
|
5254
|
-
top: 'translateX(-50%)',
|
|
5255
|
-
bottom: 'translateX(-50%)',
|
|
5256
|
-
left: 'translateY(-50%)',
|
|
5257
|
-
right: 'translateY(-50%)',
|
|
5258
|
-
center: 'translate(-50%, -50%)'
|
|
5259
|
-
}[side];
|
|
5260
|
-
}
|
|
5261
|
-
return styles;
|
|
5262
|
-
});
|
|
5263
|
-
return {
|
|
5264
|
-
locationStyles
|
|
5265
|
-
};
|
|
5266
|
-
}
|
|
5267
|
-
|
|
5268
5289
|
// Utilities
|
|
5269
5290
|
|
|
5270
5291
|
// Types
|
|
@@ -5692,6 +5713,7 @@ const makeVBtnProps = propsFactory({
|
|
|
5692
5713
|
prependIcon: IconValue,
|
|
5693
5714
|
appendIcon: IconValue,
|
|
5694
5715
|
block: Boolean,
|
|
5716
|
+
readonly: Boolean,
|
|
5695
5717
|
slim: Boolean,
|
|
5696
5718
|
stacked: Boolean,
|
|
5697
5719
|
ripple: {
|
|
@@ -5813,6 +5835,7 @@ const VBtn = genericComponent()({
|
|
|
5813
5835
|
'v-btn--flat': props.flat,
|
|
5814
5836
|
'v-btn--icon': !!props.icon,
|
|
5815
5837
|
'v-btn--loading': props.loading,
|
|
5838
|
+
'v-btn--readonly': props.readonly,
|
|
5816
5839
|
'v-btn--slim': props.slim,
|
|
5817
5840
|
'v-btn--stacked': props.stacked
|
|
5818
5841
|
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
|
@@ -5820,7 +5843,7 @@ const VBtn = genericComponent()({
|
|
|
5820
5843
|
"aria-busy": props.loading ? true : undefined,
|
|
5821
5844
|
"disabled": isDisabled.value || undefined,
|
|
5822
5845
|
"href": link.href.value,
|
|
5823
|
-
"tabindex": props.loading ? -1 : undefined,
|
|
5846
|
+
"tabindex": props.loading || props.readonly ? -1 : undefined,
|
|
5824
5847
|
"onClick": onClick,
|
|
5825
5848
|
"value": valueAttr.value
|
|
5826
5849
|
}, {
|
|
@@ -6991,6 +7014,7 @@ const makeVInputProps = propsFactory({
|
|
|
6991
7014
|
...makeComponentProps(),
|
|
6992
7015
|
...makeDensityProps(),
|
|
6993
7016
|
...only(makeDimensionProps(), ['maxWidth', 'minWidth', 'width']),
|
|
7017
|
+
...makeThemeProps(),
|
|
6994
7018
|
...makeValidationProps()
|
|
6995
7019
|
}, 'VInput');
|
|
6996
7020
|
const VInput = genericComponent()({
|
|
@@ -7013,6 +7037,9 @@ const VInput = genericComponent()({
|
|
|
7013
7037
|
const {
|
|
7014
7038
|
dimensionStyles
|
|
7015
7039
|
} = useDimension(props);
|
|
7040
|
+
const {
|
|
7041
|
+
themeClasses
|
|
7042
|
+
} = provideTheme(props);
|
|
7016
7043
|
const {
|
|
7017
7044
|
rtlClasses
|
|
7018
7045
|
} = useRtl();
|
|
@@ -7066,7 +7093,7 @@ const VInput = genericComponent()({
|
|
|
7066
7093
|
"class": ['v-input', `v-input--${props.direction}`, {
|
|
7067
7094
|
'v-input--center-affix': props.centerAffix,
|
|
7068
7095
|
'v-input--hide-spin-buttons': props.hideSpinButtons
|
|
7069
|
-
}, densityClasses.value, rtlClasses.value, validationClasses.value, props.class],
|
|
7096
|
+
}, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class],
|
|
7070
7097
|
"style": [dimensionStyles.value, props.style]
|
|
7071
7098
|
}, [hasPrepend && createVNode("div", {
|
|
7072
7099
|
"key": "prepend",
|
|
@@ -7293,6 +7320,10 @@ function createDisplay(options, ssr) {
|
|
|
7293
7320
|
};
|
|
7294
7321
|
}
|
|
7295
7322
|
const makeDisplayProps = propsFactory({
|
|
7323
|
+
mobile: {
|
|
7324
|
+
type: Boolean,
|
|
7325
|
+
default: null
|
|
7326
|
+
},
|
|
7296
7327
|
mobileBreakpoint: [Number, String]
|
|
7297
7328
|
}, 'display');
|
|
7298
7329
|
function useDisplay() {
|
|
@@ -7301,6 +7332,7 @@ function useDisplay() {
|
|
|
7301
7332
|
const display = inject$1(DisplaySymbol);
|
|
7302
7333
|
if (!display) throw new Error('Could not find Vuetify display injection');
|
|
7303
7334
|
const mobile = computed(() => {
|
|
7335
|
+
if (props.mobile != null) return props.mobile;
|
|
7304
7336
|
if (!props.mobileBreakpoint) return display.mobile.value;
|
|
7305
7337
|
const breakpointValue = typeof props.mobileBreakpoint === 'number' ? props.mobileBreakpoint : display.thresholds.value[props.mobileBreakpoint];
|
|
7306
7338
|
return display.width.value < breakpointValue;
|
|
@@ -7318,45 +7350,205 @@ function useDisplay() {
|
|
|
7318
7350
|
};
|
|
7319
7351
|
}
|
|
7320
7352
|
|
|
7321
|
-
|
|
7322
|
-
|
|
7323
|
-
|
|
7324
|
-
|
|
7353
|
+
// Utilities
|
|
7354
|
+
|
|
7355
|
+
// Types
|
|
7356
|
+
|
|
7357
|
+
const GoToSymbol = Symbol.for('vuetify:goto');
|
|
7358
|
+
function genDefaults() {
|
|
7359
|
+
return {
|
|
7360
|
+
container: undefined,
|
|
7361
|
+
duration: 300,
|
|
7362
|
+
layout: false,
|
|
7363
|
+
offset: 0,
|
|
7364
|
+
easing: 'easeInOutCubic',
|
|
7365
|
+
patterns: {
|
|
7366
|
+
linear: t => t,
|
|
7367
|
+
easeInQuad: t => t ** 2,
|
|
7368
|
+
easeOutQuad: t => t * (2 - t),
|
|
7369
|
+
easeInOutQuad: t => t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t,
|
|
7370
|
+
easeInCubic: t => t ** 3,
|
|
7371
|
+
easeOutCubic: t => --t ** 3 + 1,
|
|
7372
|
+
easeInOutCubic: t => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1,
|
|
7373
|
+
easeInQuart: t => t ** 4,
|
|
7374
|
+
easeOutQuart: t => 1 - --t ** 4,
|
|
7375
|
+
easeInOutQuart: t => t < 0.5 ? 8 * t ** 4 : 1 - 8 * --t ** 4,
|
|
7376
|
+
easeInQuint: t => t ** 5,
|
|
7377
|
+
easeOutQuint: t => 1 + --t ** 5,
|
|
7378
|
+
easeInOutQuint: t => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5
|
|
7379
|
+
}
|
|
7380
|
+
};
|
|
7381
|
+
}
|
|
7382
|
+
function getContainer(el) {
|
|
7383
|
+
return getTarget$1(el) ?? (document.scrollingElement || document.body);
|
|
7384
|
+
}
|
|
7385
|
+
function getTarget$1(el) {
|
|
7386
|
+
return typeof el === 'string' ? document.querySelector(el) : refElement(el);
|
|
7387
|
+
}
|
|
7388
|
+
function getOffset$2(target, horizontal, rtl) {
|
|
7389
|
+
if (typeof target === 'number') return horizontal && rtl ? -target : target;
|
|
7390
|
+
let el = getTarget$1(target);
|
|
7391
|
+
let totalOffset = 0;
|
|
7392
|
+
while (el) {
|
|
7393
|
+
totalOffset += horizontal ? el.offsetLeft : el.offsetTop;
|
|
7394
|
+
el = el.offsetParent;
|
|
7395
|
+
}
|
|
7396
|
+
return totalOffset;
|
|
7397
|
+
}
|
|
7398
|
+
function createGoTo(options, locale) {
|
|
7399
|
+
return {
|
|
7400
|
+
rtl: locale.isRtl,
|
|
7401
|
+
options: mergeDeep(genDefaults(), options)
|
|
7402
|
+
};
|
|
7403
|
+
}
|
|
7404
|
+
async function scrollTo(_target, _options, horizontal, goTo) {
|
|
7405
|
+
const property = horizontal ? 'scrollLeft' : 'scrollTop';
|
|
7406
|
+
const options = mergeDeep(goTo?.options ?? genDefaults(), _options);
|
|
7407
|
+
const rtl = goTo?.rtl.value;
|
|
7408
|
+
const target = (typeof _target === 'number' ? _target : getTarget$1(_target)) ?? 0;
|
|
7409
|
+
const container = options.container === 'parent' && target instanceof HTMLElement ? target.parentElement : getContainer(options.container);
|
|
7410
|
+
const ease = typeof options.easing === 'function' ? options.easing : options.patterns[options.easing];
|
|
7411
|
+
if (!ease) throw new TypeError(`Easing function "${options.easing}" not found.`);
|
|
7412
|
+
let targetLocation;
|
|
7413
|
+
if (typeof target === 'number') {
|
|
7414
|
+
targetLocation = getOffset$2(target, horizontal, rtl);
|
|
7415
|
+
} else {
|
|
7416
|
+
targetLocation = getOffset$2(target, horizontal, rtl) - getOffset$2(container, horizontal, rtl);
|
|
7417
|
+
if (options.layout) {
|
|
7418
|
+
const styles = window.getComputedStyle(target);
|
|
7419
|
+
const layoutOffset = styles.getPropertyValue('--v-layout-top');
|
|
7420
|
+
if (layoutOffset) targetLocation -= parseInt(layoutOffset, 10);
|
|
7421
|
+
}
|
|
7422
|
+
}
|
|
7423
|
+
targetLocation += options.offset;
|
|
7424
|
+
targetLocation = clampTarget(container, targetLocation, !!rtl, !!horizontal);
|
|
7425
|
+
const startLocation = container[property] ?? 0;
|
|
7426
|
+
if (targetLocation === startLocation) return Promise.resolve(targetLocation);
|
|
7427
|
+
const startTime = performance.now();
|
|
7428
|
+
return new Promise(resolve => requestAnimationFrame(function step(currentTime) {
|
|
7429
|
+
const timeElapsed = currentTime - startTime;
|
|
7430
|
+
const progress = timeElapsed / options.duration;
|
|
7431
|
+
const location = Math.floor(startLocation + (targetLocation - startLocation) * ease(clamp(progress, 0, 1)));
|
|
7432
|
+
container[property] = location;
|
|
7433
|
+
|
|
7434
|
+
// Allow for some jitter if target time has elapsed
|
|
7435
|
+
if (progress >= 1 && Math.abs(location - container[property]) < 10) {
|
|
7436
|
+
return resolve(targetLocation);
|
|
7437
|
+
} else if (progress > 2) {
|
|
7438
|
+
// The target might not be reachable
|
|
7439
|
+
consoleWarn('Scroll target is not reachable');
|
|
7440
|
+
return resolve(container[property]);
|
|
7441
|
+
}
|
|
7442
|
+
requestAnimationFrame(step);
|
|
7443
|
+
}));
|
|
7444
|
+
}
|
|
7445
|
+
function useGoTo() {
|
|
7446
|
+
let _options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7447
|
+
const goToInstance = inject$1(GoToSymbol);
|
|
7448
|
+
const {
|
|
7449
|
+
isRtl
|
|
7450
|
+
} = useRtl();
|
|
7451
|
+
if (!goToInstance) throw new Error('[Vuetify] Could not find injected goto instance');
|
|
7452
|
+
const goTo = {
|
|
7453
|
+
...goToInstance,
|
|
7454
|
+
// can be set via VLocaleProvider
|
|
7455
|
+
rtl: computed(() => goToInstance.rtl.value || isRtl.value)
|
|
7456
|
+
};
|
|
7457
|
+
async function go(target, options) {
|
|
7458
|
+
return scrollTo(target, mergeDeep(_options, options), false, goTo);
|
|
7459
|
+
}
|
|
7460
|
+
go.horizontal = async (target, options) => {
|
|
7461
|
+
return scrollTo(target, mergeDeep(_options, options), true, goTo);
|
|
7462
|
+
};
|
|
7463
|
+
return go;
|
|
7464
|
+
}
|
|
7465
|
+
|
|
7466
|
+
/**
|
|
7467
|
+
* Clamp target value to achieve a smooth scroll animation
|
|
7468
|
+
* when the value goes outside the scroll container size
|
|
7469
|
+
*/
|
|
7470
|
+
function clampTarget(container, value, rtl, horizontal) {
|
|
7471
|
+
const {
|
|
7472
|
+
scrollWidth,
|
|
7473
|
+
scrollHeight
|
|
7474
|
+
} = container;
|
|
7475
|
+
const [containerWidth, containerHeight] = container === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [container.offsetWidth, container.offsetHeight];
|
|
7476
|
+
let min;
|
|
7477
|
+
let max;
|
|
7478
|
+
if (horizontal) {
|
|
7479
|
+
if (rtl) {
|
|
7480
|
+
min = -(scrollWidth - containerWidth);
|
|
7481
|
+
max = 0;
|
|
7482
|
+
} else {
|
|
7483
|
+
min = 0;
|
|
7484
|
+
max = scrollWidth - containerWidth;
|
|
7485
|
+
}
|
|
7486
|
+
} else {
|
|
7487
|
+
min = 0;
|
|
7488
|
+
max = scrollHeight + -containerHeight;
|
|
7489
|
+
}
|
|
7490
|
+
return Math.max(Math.min(value, max), min);
|
|
7325
7491
|
}
|
|
7326
|
-
|
|
7492
|
+
|
|
7493
|
+
function calculateUpdatedTarget(_ref) {
|
|
7327
7494
|
let {
|
|
7328
7495
|
selectedElement,
|
|
7329
|
-
|
|
7330
|
-
contentSize,
|
|
7496
|
+
containerElement,
|
|
7331
7497
|
isRtl,
|
|
7332
|
-
currentScrollOffset,
|
|
7333
7498
|
isHorizontal
|
|
7334
7499
|
} = _ref;
|
|
7335
|
-
const
|
|
7336
|
-
const
|
|
7337
|
-
const
|
|
7338
|
-
const
|
|
7339
|
-
const
|
|
7340
|
-
|
|
7341
|
-
|
|
7342
|
-
|
|
7343
|
-
|
|
7344
|
-
|
|
7345
|
-
|
|
7346
|
-
|
|
7347
|
-
|
|
7348
|
-
function calculateCenteredOffset(_ref2) {
|
|
7500
|
+
const containerSize = getOffsetSize(isHorizontal, containerElement);
|
|
7501
|
+
const scrollPosition = getScrollPosition(isHorizontal, isRtl, containerElement);
|
|
7502
|
+
const childrenSize = getOffsetSize(isHorizontal, selectedElement);
|
|
7503
|
+
const childrenStartPosition = getOffsetPosition(isHorizontal, selectedElement);
|
|
7504
|
+
const additionalOffset = childrenSize * 0.4;
|
|
7505
|
+
if (scrollPosition > childrenStartPosition) {
|
|
7506
|
+
return childrenStartPosition - additionalOffset;
|
|
7507
|
+
} else if (scrollPosition + containerSize < childrenStartPosition + childrenSize) {
|
|
7508
|
+
return childrenStartPosition - containerSize + childrenSize + additionalOffset;
|
|
7509
|
+
}
|
|
7510
|
+
return scrollPosition;
|
|
7511
|
+
}
|
|
7512
|
+
function calculateCenteredTarget(_ref2) {
|
|
7349
7513
|
let {
|
|
7350
7514
|
selectedElement,
|
|
7351
|
-
|
|
7352
|
-
contentSize,
|
|
7353
|
-
isRtl,
|
|
7515
|
+
containerElement,
|
|
7354
7516
|
isHorizontal
|
|
7355
7517
|
} = _ref2;
|
|
7356
|
-
const
|
|
7357
|
-
const
|
|
7358
|
-
const
|
|
7359
|
-
return
|
|
7518
|
+
const containerOffsetSize = getOffsetSize(isHorizontal, containerElement);
|
|
7519
|
+
const childrenOffsetPosition = getOffsetPosition(isHorizontal, selectedElement);
|
|
7520
|
+
const childrenOffsetSize = getOffsetSize(isHorizontal, selectedElement);
|
|
7521
|
+
return childrenOffsetPosition - containerOffsetSize / 2 + childrenOffsetSize / 2;
|
|
7522
|
+
}
|
|
7523
|
+
function getScrollSize(isHorizontal, element) {
|
|
7524
|
+
const key = isHorizontal ? 'scrollWidth' : 'scrollHeight';
|
|
7525
|
+
return element?.[key] || 0;
|
|
7526
|
+
}
|
|
7527
|
+
function getClientSize(isHorizontal, element) {
|
|
7528
|
+
const key = isHorizontal ? 'clientWidth' : 'clientHeight';
|
|
7529
|
+
return element?.[key] || 0;
|
|
7530
|
+
}
|
|
7531
|
+
function getScrollPosition(isHorizontal, rtl, element) {
|
|
7532
|
+
if (!element) {
|
|
7533
|
+
return 0;
|
|
7534
|
+
}
|
|
7535
|
+
const {
|
|
7536
|
+
scrollLeft,
|
|
7537
|
+
offsetWidth,
|
|
7538
|
+
scrollWidth
|
|
7539
|
+
} = element;
|
|
7540
|
+
if (isHorizontal) {
|
|
7541
|
+
return rtl ? scrollWidth - offsetWidth + scrollLeft : scrollLeft;
|
|
7542
|
+
}
|
|
7543
|
+
return element.scrollTop;
|
|
7544
|
+
}
|
|
7545
|
+
function getOffsetSize(isHorizontal, element) {
|
|
7546
|
+
const key = isHorizontal ? 'offsetWidth' : 'offsetHeight';
|
|
7547
|
+
return element?.[key] || 0;
|
|
7548
|
+
}
|
|
7549
|
+
function getOffsetPosition(isHorizontal, element) {
|
|
7550
|
+
const key = isHorizontal ? 'offsetLeft' : 'offsetTop';
|
|
7551
|
+
return element?.[key] || 0;
|
|
7360
7552
|
}
|
|
7361
7553
|
|
|
7362
7554
|
// Types
|
|
@@ -7422,6 +7614,14 @@ const VSlideGroup = genericComponent()({
|
|
|
7422
7614
|
resizeRef: contentRef,
|
|
7423
7615
|
contentRect
|
|
7424
7616
|
} = useResizeObserver();
|
|
7617
|
+
const goTo = useGoTo();
|
|
7618
|
+
const goToOptions = computed(() => {
|
|
7619
|
+
return {
|
|
7620
|
+
container: containerRef.value,
|
|
7621
|
+
duration: 200,
|
|
7622
|
+
easing: 'easeOutQuart'
|
|
7623
|
+
};
|
|
7624
|
+
});
|
|
7425
7625
|
const firstSelectedIndex = computed(() => {
|
|
7426
7626
|
if (!group.selected.value.length) return -1;
|
|
7427
7627
|
return group.items.value.findIndex(item => item.id === group.selected.value[0]);
|
|
@@ -7444,60 +7644,58 @@ const VSlideGroup = genericComponent()({
|
|
|
7444
7644
|
if (firstSelectedIndex.value >= 0 && contentRef.value) {
|
|
7445
7645
|
// TODO: Is this too naive? Should we store element references in group composable?
|
|
7446
7646
|
const selectedElement = contentRef.value.children[lastSelectedIndex.value];
|
|
7447
|
-
|
|
7448
|
-
scrollOffset.value = 0;
|
|
7449
|
-
} else if (props.centerActive) {
|
|
7450
|
-
scrollOffset.value = calculateCenteredOffset({
|
|
7451
|
-
selectedElement,
|
|
7452
|
-
containerSize: containerSize.value,
|
|
7453
|
-
contentSize: contentSize.value,
|
|
7454
|
-
isRtl: isRtl.value,
|
|
7455
|
-
isHorizontal: isHorizontal.value
|
|
7456
|
-
});
|
|
7457
|
-
} else if (isOverflowing.value) {
|
|
7458
|
-
scrollOffset.value = calculateUpdatedOffset({
|
|
7459
|
-
selectedElement,
|
|
7460
|
-
containerSize: containerSize.value,
|
|
7461
|
-
contentSize: contentSize.value,
|
|
7462
|
-
isRtl: isRtl.value,
|
|
7463
|
-
currentScrollOffset: scrollOffset.value,
|
|
7464
|
-
isHorizontal: isHorizontal.value
|
|
7465
|
-
});
|
|
7466
|
-
}
|
|
7647
|
+
scrollToChildren(selectedElement, props.centerActive);
|
|
7467
7648
|
}
|
|
7468
7649
|
});
|
|
7469
7650
|
});
|
|
7470
7651
|
}
|
|
7471
|
-
const
|
|
7472
|
-
|
|
7473
|
-
|
|
7474
|
-
|
|
7475
|
-
|
|
7476
|
-
|
|
7477
|
-
|
|
7478
|
-
|
|
7479
|
-
|
|
7480
|
-
|
|
7481
|
-
|
|
7482
|
-
|
|
7483
|
-
|
|
7484
|
-
|
|
7485
|
-
|
|
7486
|
-
|
|
7487
|
-
|
|
7488
|
-
|
|
7489
|
-
|
|
7490
|
-
|
|
7491
|
-
|
|
7492
|
-
|
|
7493
|
-
|
|
7494
|
-
|
|
7652
|
+
const isFocused = shallowRef(false);
|
|
7653
|
+
function scrollToChildren(children, center) {
|
|
7654
|
+
let target = 0;
|
|
7655
|
+
if (center) {
|
|
7656
|
+
target = calculateCenteredTarget({
|
|
7657
|
+
containerElement: containerRef.value,
|
|
7658
|
+
isHorizontal: isHorizontal.value,
|
|
7659
|
+
selectedElement: children
|
|
7660
|
+
});
|
|
7661
|
+
} else {
|
|
7662
|
+
target = calculateUpdatedTarget({
|
|
7663
|
+
containerElement: containerRef.value,
|
|
7664
|
+
isHorizontal: isHorizontal.value,
|
|
7665
|
+
isRtl: isRtl.value,
|
|
7666
|
+
selectedElement: children
|
|
7667
|
+
});
|
|
7668
|
+
}
|
|
7669
|
+
scrollToPosition(target);
|
|
7670
|
+
}
|
|
7671
|
+
function scrollToPosition(newPosition) {
|
|
7672
|
+
if (!IN_BROWSER || !containerRef.value) return;
|
|
7673
|
+
const offsetSize = getOffsetSize(isHorizontal.value, containerRef.value);
|
|
7674
|
+
const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.value);
|
|
7675
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.value);
|
|
7676
|
+
if (scrollSize <= offsetSize ||
|
|
7677
|
+
// Prevent scrolling by only a couple of pixels, which doesn't look smooth
|
|
7678
|
+
Math.abs(newPosition - scrollPosition) < 16) return;
|
|
7679
|
+
if (isHorizontal.value && isRtl.value && containerRef.value) {
|
|
7680
|
+
const {
|
|
7681
|
+
scrollWidth,
|
|
7682
|
+
offsetWidth: containerWidth
|
|
7683
|
+
} = containerRef.value;
|
|
7684
|
+
newPosition = scrollWidth - containerWidth - newPosition;
|
|
7685
|
+
}
|
|
7686
|
+
if (isHorizontal.value) {
|
|
7687
|
+
goTo.horizontal(newPosition, goToOptions.value);
|
|
7688
|
+
} else {
|
|
7689
|
+
goTo(newPosition, goToOptions.value);
|
|
7690
|
+
}
|
|
7495
7691
|
}
|
|
7496
|
-
function onScroll() {
|
|
7497
|
-
|
|
7498
|
-
|
|
7692
|
+
function onScroll(e) {
|
|
7693
|
+
const {
|
|
7694
|
+
scrollTop,
|
|
7695
|
+
scrollLeft
|
|
7696
|
+
} = e.target;
|
|
7697
|
+
scrollOffset.value = isHorizontal.value ? scrollLeft : scrollTop;
|
|
7499
7698
|
}
|
|
7500
|
-
const isFocused = shallowRef(false);
|
|
7501
7699
|
function onFocusin(e) {
|
|
7502
7700
|
isFocused.value = true;
|
|
7503
7701
|
if (!isOverflowing.value || !contentRef.value) return;
|
|
@@ -7507,14 +7705,7 @@ const VSlideGroup = genericComponent()({
|
|
|
7507
7705
|
for (const el of e.composedPath()) {
|
|
7508
7706
|
for (const item of contentRef.value.children) {
|
|
7509
7707
|
if (item === el) {
|
|
7510
|
-
|
|
7511
|
-
selectedElement: item,
|
|
7512
|
-
containerSize: containerSize.value,
|
|
7513
|
-
contentSize: contentSize.value,
|
|
7514
|
-
isRtl: isRtl.value,
|
|
7515
|
-
currentScrollOffset: scrollOffset.value,
|
|
7516
|
-
isHorizontal: isHorizontal.value
|
|
7517
|
-
});
|
|
7708
|
+
scrollToChildren(item);
|
|
7518
7709
|
return;
|
|
7519
7710
|
}
|
|
7520
7711
|
}
|
|
@@ -7523,66 +7714,79 @@ const VSlideGroup = genericComponent()({
|
|
|
7523
7714
|
function onFocusout(e) {
|
|
7524
7715
|
isFocused.value = false;
|
|
7525
7716
|
}
|
|
7717
|
+
|
|
7718
|
+
// Affix clicks produce onFocus that we have to ignore to avoid extra scrollToChildren
|
|
7719
|
+
let ignoreFocusEvent = false;
|
|
7526
7720
|
function onFocus(e) {
|
|
7527
|
-
if (!isFocused.value && !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget))) focus();
|
|
7721
|
+
if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget))) focus();
|
|
7722
|
+
ignoreFocusEvent = false;
|
|
7723
|
+
}
|
|
7724
|
+
function onFocusAffixes() {
|
|
7725
|
+
ignoreFocusEvent = true;
|
|
7528
7726
|
}
|
|
7529
7727
|
function onKeydown(e) {
|
|
7530
7728
|
if (!contentRef.value) return;
|
|
7729
|
+
function toFocus(location) {
|
|
7730
|
+
e.preventDefault();
|
|
7731
|
+
focus(location);
|
|
7732
|
+
}
|
|
7531
7733
|
if (isHorizontal.value) {
|
|
7532
7734
|
if (e.key === 'ArrowRight') {
|
|
7533
|
-
|
|
7735
|
+
toFocus(isRtl.value ? 'prev' : 'next');
|
|
7534
7736
|
} else if (e.key === 'ArrowLeft') {
|
|
7535
|
-
|
|
7737
|
+
toFocus(isRtl.value ? 'next' : 'prev');
|
|
7536
7738
|
}
|
|
7537
7739
|
} else {
|
|
7538
7740
|
if (e.key === 'ArrowDown') {
|
|
7539
|
-
|
|
7741
|
+
toFocus('next');
|
|
7540
7742
|
} else if (e.key === 'ArrowUp') {
|
|
7541
|
-
|
|
7743
|
+
toFocus('prev');
|
|
7542
7744
|
}
|
|
7543
7745
|
}
|
|
7544
7746
|
if (e.key === 'Home') {
|
|
7545
|
-
|
|
7747
|
+
toFocus('first');
|
|
7546
7748
|
} else if (e.key === 'End') {
|
|
7547
|
-
|
|
7749
|
+
toFocus('last');
|
|
7548
7750
|
}
|
|
7549
7751
|
}
|
|
7550
7752
|
function focus(location) {
|
|
7551
7753
|
if (!contentRef.value) return;
|
|
7754
|
+
let el;
|
|
7552
7755
|
if (!location) {
|
|
7553
7756
|
const focusable = focusableChildren(contentRef.value);
|
|
7554
|
-
focusable[0]
|
|
7757
|
+
el = focusable[0];
|
|
7555
7758
|
} else if (location === 'next') {
|
|
7556
|
-
|
|
7557
|
-
if (el)
|
|
7759
|
+
el = contentRef.value.querySelector(':focus')?.nextElementSibling;
|
|
7760
|
+
if (!el) return focus('first');
|
|
7558
7761
|
} else if (location === 'prev') {
|
|
7559
|
-
|
|
7560
|
-
if (el)
|
|
7762
|
+
el = contentRef.value.querySelector(':focus')?.previousElementSibling;
|
|
7763
|
+
if (!el) return focus('last');
|
|
7561
7764
|
} else if (location === 'first') {
|
|
7562
|
-
contentRef.value.firstElementChild
|
|
7765
|
+
el = contentRef.value.firstElementChild;
|
|
7563
7766
|
} else if (location === 'last') {
|
|
7564
|
-
contentRef.value.lastElementChild
|
|
7767
|
+
el = contentRef.value.lastElementChild;
|
|
7768
|
+
}
|
|
7769
|
+
if (el) {
|
|
7770
|
+
el.focus({
|
|
7771
|
+
preventScroll: true
|
|
7772
|
+
});
|
|
7565
7773
|
}
|
|
7566
7774
|
}
|
|
7567
7775
|
function scrollTo(location) {
|
|
7568
|
-
const
|
|
7569
|
-
|
|
7570
|
-
|
|
7571
|
-
const contentStyles = computed(() => {
|
|
7572
|
-
// This adds friction when scrolling the 'wrong' way when at max offset
|
|
7573
|
-
let scrollAmount = scrollOffset.value > contentSize.value - containerSize.value ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value) : -scrollOffset.value;
|
|
7776
|
+
const direction = isHorizontal.value && isRtl.value ? -1 : 1;
|
|
7777
|
+
const offsetStep = (location === 'prev' ? -direction : direction) * containerSize.value;
|
|
7778
|
+
let newPosition = scrollOffset.value + offsetStep;
|
|
7574
7779
|
|
|
7575
|
-
//
|
|
7576
|
-
if (
|
|
7577
|
-
|
|
7780
|
+
// TODO: improve it
|
|
7781
|
+
if (isHorizontal.value && isRtl.value && containerRef.value) {
|
|
7782
|
+
const {
|
|
7783
|
+
scrollWidth,
|
|
7784
|
+
offsetWidth: containerWidth
|
|
7785
|
+
} = containerRef.value;
|
|
7786
|
+
newPosition += scrollWidth - containerWidth;
|
|
7578
7787
|
}
|
|
7579
|
-
|
|
7580
|
-
|
|
7581
|
-
transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${sign * scrollAmount}px)`,
|
|
7582
|
-
transition: disableTransition.value ? 'none' : '',
|
|
7583
|
-
willChange: disableTransition.value ? 'transform' : ''
|
|
7584
|
-
};
|
|
7585
|
-
});
|
|
7788
|
+
scrollToPosition(newPosition);
|
|
7789
|
+
}
|
|
7586
7790
|
const slotProps = computed(() => ({
|
|
7587
7791
|
next: group.next,
|
|
7588
7792
|
prev: group.prev,
|
|
@@ -7616,11 +7820,17 @@ const VSlideGroup = genericComponent()({
|
|
|
7616
7820
|
}
|
|
7617
7821
|
});
|
|
7618
7822
|
const hasPrev = computed(() => {
|
|
7619
|
-
|
|
7823
|
+
// 1 pixel in reserve, may be lost after rounding
|
|
7824
|
+
return Math.abs(scrollOffset.value) > 1;
|
|
7620
7825
|
});
|
|
7621
7826
|
const hasNext = computed(() => {
|
|
7622
|
-
|
|
7623
|
-
|
|
7827
|
+
if (!containerRef.value) return false;
|
|
7828
|
+
const scrollSize = getScrollSize(isHorizontal.value, containerRef.value);
|
|
7829
|
+
const clientSize = getClientSize(isHorizontal.value, containerRef.value);
|
|
7830
|
+
const scrollSizeMax = scrollSize - clientSize;
|
|
7831
|
+
|
|
7832
|
+
// 1 pixel in reserve, may be lost after rounding
|
|
7833
|
+
return scrollSizeMax - Math.abs(scrollOffset.value) > 1;
|
|
7624
7834
|
});
|
|
7625
7835
|
useRender(() => createVNode(props.tag, {
|
|
7626
7836
|
"class": ['v-slide-group', {
|
|
@@ -7637,6 +7847,7 @@ const VSlideGroup = genericComponent()({
|
|
|
7637
7847
|
"class": ['v-slide-group__prev', {
|
|
7638
7848
|
'v-slide-group__prev--disabled': !hasPrev.value
|
|
7639
7849
|
}],
|
|
7850
|
+
"onMousedown": onFocusAffixes,
|
|
7640
7851
|
"onClick": () => hasPrev.value && scrollTo('prev')
|
|
7641
7852
|
}, [slots.prev?.(slotProps.value) ?? createVNode(VFadeTransition, null, {
|
|
7642
7853
|
default: () => [createVNode(VIcon, {
|
|
@@ -7650,10 +7861,6 @@ const VSlideGroup = genericComponent()({
|
|
|
7650
7861
|
}, [createVNode("div", {
|
|
7651
7862
|
"ref": contentRef,
|
|
7652
7863
|
"class": "v-slide-group__content",
|
|
7653
|
-
"style": contentStyles.value,
|
|
7654
|
-
"onTouchstartPassive": onTouchstart,
|
|
7655
|
-
"onTouchmovePassive": onTouchmove,
|
|
7656
|
-
"onTouchendPassive": onTouchend,
|
|
7657
7864
|
"onFocusin": onFocusin,
|
|
7658
7865
|
"onFocusout": onFocusout,
|
|
7659
7866
|
"onKeydown": onKeydown
|
|
@@ -7662,6 +7869,7 @@ const VSlideGroup = genericComponent()({
|
|
|
7662
7869
|
"class": ['v-slide-group__next', {
|
|
7663
7870
|
'v-slide-group__next--disabled': !hasNext.value
|
|
7664
7871
|
}],
|
|
7872
|
+
"onMousedown": onFocusAffixes,
|
|
7665
7873
|
"onClick": () => hasNext.value && scrollTo('next')
|
|
7666
7874
|
}, [slots.next?.(slotProps.value) ?? createVNode(VFadeTransition, null, {
|
|
7667
7875
|
default: () => [createVNode(VIcon, {
|
|
@@ -9456,7 +9664,8 @@ const VList = genericComponent()({
|
|
|
9456
9664
|
if (!isFocused.value && !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget))) focus();
|
|
9457
9665
|
}
|
|
9458
9666
|
function onKeydown(e) {
|
|
9459
|
-
|
|
9667
|
+
const target = e.target;
|
|
9668
|
+
if (!contentRef.value || ['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
|
|
9460
9669
|
if (e.key === 'ArrowDown') {
|
|
9461
9670
|
focus('next');
|
|
9462
9671
|
} else if (e.key === 'ArrowUp') {
|
|
@@ -9576,7 +9785,7 @@ function elementToViewport(point, offset) {
|
|
|
9576
9785
|
}
|
|
9577
9786
|
|
|
9578
9787
|
/** Get the difference between two points */
|
|
9579
|
-
function getOffset$
|
|
9788
|
+
function getOffset$1(a, b) {
|
|
9580
9789
|
return {
|
|
9581
9790
|
x: a.x - b.x,
|
|
9582
9791
|
y: a.y - b.y
|
|
@@ -9823,7 +10032,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
|
9823
10032
|
let {
|
|
9824
10033
|
x,
|
|
9825
10034
|
y
|
|
9826
|
-
} = getOffset$
|
|
10035
|
+
} = getOffset$1(targetPoint, contentPoint);
|
|
9827
10036
|
switch (_placement.anchor.side) {
|
|
9828
10037
|
case 'top':
|
|
9829
10038
|
y -= offset.value[0];
|
|
@@ -10361,7 +10570,7 @@ function useActivator(props, _ref) {
|
|
|
10361
10570
|
const target = computed(() => {
|
|
10362
10571
|
if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;
|
|
10363
10572
|
if (targetRef.value) return refElement(targetRef.value);
|
|
10364
|
-
return getTarget
|
|
10573
|
+
return getTarget(props.target, vm) || activatorEl.value;
|
|
10365
10574
|
});
|
|
10366
10575
|
const targetEl = computed(() => {
|
|
10367
10576
|
return Array.isArray(target.value) ? undefined : target.value;
|
|
@@ -10433,14 +10642,14 @@ function _useActivator(props, vm, _ref2) {
|
|
|
10433
10642
|
}
|
|
10434
10643
|
function getActivator() {
|
|
10435
10644
|
let selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.activator;
|
|
10436
|
-
const activator = getTarget
|
|
10645
|
+
const activator = getTarget(selector, vm);
|
|
10437
10646
|
|
|
10438
10647
|
// The activator should only be a valid element (Ignore comments and text nodes)
|
|
10439
10648
|
activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : undefined;
|
|
10440
10649
|
return activatorEl.value;
|
|
10441
10650
|
}
|
|
10442
10651
|
}
|
|
10443
|
-
function getTarget
|
|
10652
|
+
function getTarget(selector, vm) {
|
|
10444
10653
|
if (!selector) return;
|
|
10445
10654
|
let target;
|
|
10446
10655
|
if (selector === 'parent') {
|
|
@@ -10893,9 +11102,9 @@ const VOverlay = genericComponent()({
|
|
|
10893
11102
|
}
|
|
10894
11103
|
useRender(() => createVNode(Fragment, null, [slots.activator?.({
|
|
10895
11104
|
isActive: isActive.value,
|
|
11105
|
+
targetRef,
|
|
10896
11106
|
props: mergeProps({
|
|
10897
|
-
ref: activatorRef
|
|
10898
|
-
targetRef
|
|
11107
|
+
ref: activatorRef
|
|
10899
11108
|
}, activatorEvents.value, props.activatorProps)
|
|
10900
11109
|
}), isMounted.value && hasContent.value && createVNode(Teleport, {
|
|
10901
11110
|
"disabled": !teleportTarget.value,
|
|
@@ -12374,6 +12583,10 @@ const VSelect = genericComponent()({
|
|
|
12374
12583
|
const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
|
|
12375
12584
|
if (item !== undefined) {
|
|
12376
12585
|
model.value = [item];
|
|
12586
|
+
const index = displayItems.value.indexOf(item);
|
|
12587
|
+
IN_BROWSER && window.requestAnimationFrame(() => {
|
|
12588
|
+
index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
|
|
12589
|
+
});
|
|
12377
12590
|
}
|
|
12378
12591
|
}
|
|
12379
12592
|
|
|
@@ -12422,7 +12635,7 @@ const VSelect = genericComponent()({
|
|
|
12422
12635
|
vTextFieldRef.value.value = '';
|
|
12423
12636
|
}
|
|
12424
12637
|
}
|
|
12425
|
-
watch(
|
|
12638
|
+
watch(menu, () => {
|
|
12426
12639
|
if (!props.hideSelected && menu.value && model.value.length) {
|
|
12427
12640
|
const index = displayItems.value.findIndex(item => model.value.some(s => props.valueComparator(s.value, item.value)));
|
|
12428
12641
|
IN_BROWSER && window.requestAnimationFrame(() => {
|
|
@@ -12876,16 +13089,14 @@ const VAutocomplete = genericComponent()({
|
|
|
12876
13089
|
listRef.value?.focus('next');
|
|
12877
13090
|
}
|
|
12878
13091
|
if (['Backspace', 'Delete'].includes(e.key)) {
|
|
12879
|
-
if (!props.multiple && hasSelectionSlot.value && model.value.length > 0) return select(model.value[0], false);
|
|
12880
|
-
if (selectionIndex.value
|
|
12881
|
-
|
|
12882
|
-
|
|
12883
|
-
|
|
12884
|
-
|
|
13092
|
+
if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false);
|
|
13093
|
+
if (~selectionIndex.value) {
|
|
13094
|
+
const originalSelectionIndex = selectionIndex.value;
|
|
13095
|
+
select(model.value[selectionIndex.value], false);
|
|
13096
|
+
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
13097
|
+
} else if (e.key === 'Backspace' && !search.value) {
|
|
13098
|
+
selectionIndex.value = length - 1;
|
|
12885
13099
|
}
|
|
12886
|
-
const originalSelectionIndex = selectionIndex.value;
|
|
12887
|
-
select(model.value[selectionIndex.value], false);
|
|
12888
|
-
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
12889
13100
|
}
|
|
12890
13101
|
if (!props.multiple) return;
|
|
12891
13102
|
if (e.key === 'ArrowLeft') {
|
|
@@ -12933,7 +13144,7 @@ const VAutocomplete = genericComponent()({
|
|
|
12933
13144
|
listHasFocus.value = false;
|
|
12934
13145
|
}
|
|
12935
13146
|
function onUpdateModelValue(v) {
|
|
12936
|
-
if (v == null || v === '' && !props.multiple) model.value = [];
|
|
13147
|
+
if (v == null || v === '' && !props.multiple && !hasSelectionSlot.value) model.value = [];
|
|
12937
13148
|
}
|
|
12938
13149
|
const isSelecting = shallowRef(false);
|
|
12939
13150
|
|
|
@@ -13573,12 +13784,12 @@ const VDialog = genericComponent()({
|
|
|
13573
13784
|
name: 'VDialog',
|
|
13574
13785
|
props: makeVDialogProps(),
|
|
13575
13786
|
emits: {
|
|
13576
|
-
'click:outside': e => true,
|
|
13577
13787
|
'update:modelValue': value => true,
|
|
13578
13788
|
afterLeave: () => true
|
|
13579
13789
|
},
|
|
13580
13790
|
setup(props, _ref) {
|
|
13581
13791
|
let {
|
|
13792
|
+
emit,
|
|
13582
13793
|
slots
|
|
13583
13794
|
} = _ref;
|
|
13584
13795
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
@@ -13621,6 +13832,9 @@ const VDialog = genericComponent()({
|
|
|
13621
13832
|
});
|
|
13622
13833
|
}
|
|
13623
13834
|
}
|
|
13835
|
+
function onAfterLeave() {
|
|
13836
|
+
emit('afterLeave');
|
|
13837
|
+
}
|
|
13624
13838
|
watch(isActive, async val => {
|
|
13625
13839
|
if (!val) {
|
|
13626
13840
|
await nextTick();
|
|
@@ -13652,7 +13866,8 @@ const VDialog = genericComponent()({
|
|
|
13652
13866
|
"activatorProps": activatorProps,
|
|
13653
13867
|
"contentProps": contentProps,
|
|
13654
13868
|
"role": "dialog",
|
|
13655
|
-
"onAfterEnter": onAfterEnter
|
|
13869
|
+
"onAfterEnter": onAfterEnter,
|
|
13870
|
+
"onAfterLeave": onAfterLeave
|
|
13656
13871
|
}, scopeId), {
|
|
13657
13872
|
activator: slots.activator,
|
|
13658
13873
|
default: function () {
|
|
@@ -14740,7 +14955,7 @@ const VCarouselItem = genericComponent()({
|
|
|
14740
14955
|
const imgProps = VImg.filterProps(props);
|
|
14741
14956
|
const windowItemProps = VWindowItem.filterProps(props);
|
|
14742
14957
|
return createVNode(VWindowItem, mergeProps({
|
|
14743
|
-
"class":
|
|
14958
|
+
"class": ['v-carousel-item', props.class]
|
|
14744
14959
|
}, windowItemProps), {
|
|
14745
14960
|
default: () => [createVNode(VImg, mergeProps(attrs, imgProps), slots)]
|
|
14746
14961
|
});
|
|
@@ -15189,7 +15404,7 @@ const VColorPickerEdit = defineComponent({
|
|
|
15189
15404
|
// Types
|
|
15190
15405
|
|
|
15191
15406
|
const VSliderSymbol = Symbol.for('vuetify:v-slider');
|
|
15192
|
-
function getOffset
|
|
15407
|
+
function getOffset(e, el, direction) {
|
|
15193
15408
|
const vertical = direction === 'vertical';
|
|
15194
15409
|
const rect = el.getBoundingClientRect();
|
|
15195
15410
|
const touch = 'touches' in e ? e.touches[0] : e;
|
|
@@ -15348,7 +15563,7 @@ const useSlider = _ref => {
|
|
|
15348
15563
|
activeThumbRef.value.focus();
|
|
15349
15564
|
mousePressed.value = true;
|
|
15350
15565
|
if (activeThumbRef.value.contains(e.target)) {
|
|
15351
|
-
startOffset.value = getOffset
|
|
15566
|
+
startOffset.value = getOffset(e, activeThumbRef.value, props.direction);
|
|
15352
15567
|
} else {
|
|
15353
15568
|
startOffset.value = 0;
|
|
15354
15569
|
onSliderMove({
|
|
@@ -16745,16 +16960,14 @@ const VCombobox = genericComponent()({
|
|
|
16745
16960
|
if (hasSelectionSlot.value) _search.value = '';
|
|
16746
16961
|
}
|
|
16747
16962
|
if (['Backspace', 'Delete'].includes(e.key)) {
|
|
16748
|
-
if (!props.multiple && hasSelectionSlot.value && model.value.length > 0) return select(model.value[0], false);
|
|
16749
|
-
if (selectionIndex.value
|
|
16750
|
-
|
|
16751
|
-
|
|
16752
|
-
|
|
16753
|
-
|
|
16963
|
+
if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false);
|
|
16964
|
+
if (~selectionIndex.value) {
|
|
16965
|
+
const originalSelectionIndex = selectionIndex.value;
|
|
16966
|
+
select(model.value[selectionIndex.value], false);
|
|
16967
|
+
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
16968
|
+
} else if (e.key === 'Backspace' && !search.value) {
|
|
16969
|
+
selectionIndex.value = length - 1;
|
|
16754
16970
|
}
|
|
16755
|
-
const originalSelectionIndex = selectionIndex.value;
|
|
16756
|
-
select(model.value[selectionIndex.value], false);
|
|
16757
|
-
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
16758
16971
|
}
|
|
16759
16972
|
if (!props.multiple) return;
|
|
16760
16973
|
if (e.key === 'ArrowLeft') {
|
|
@@ -16823,7 +17036,7 @@ const VCombobox = genericComponent()({
|
|
|
16823
17036
|
listHasFocus.value = false;
|
|
16824
17037
|
}
|
|
16825
17038
|
function onUpdateModelValue(v) {
|
|
16826
|
-
if (v == null || v === '' && !props.multiple) model.value = [];
|
|
17039
|
+
if (v == null || v === '' && !props.multiple && !hasSelectionSlot.value) model.value = [];
|
|
16827
17040
|
}
|
|
16828
17041
|
watch(isFocused, (val, oldVal) => {
|
|
16829
17042
|
if (val || val === oldVal) return;
|
|
@@ -18395,110 +18608,6 @@ function getWeek(adapter, value) {
|
|
|
18395
18608
|
return Math.floor(diffDays / 7) + 1;
|
|
18396
18609
|
}
|
|
18397
18610
|
|
|
18398
|
-
// Utilities
|
|
18399
|
-
|
|
18400
|
-
// Types
|
|
18401
|
-
|
|
18402
|
-
const GoToSymbol = Symbol.for('vuetify:goto');
|
|
18403
|
-
function genDefaults() {
|
|
18404
|
-
return {
|
|
18405
|
-
container: undefined,
|
|
18406
|
-
duration: 300,
|
|
18407
|
-
layout: false,
|
|
18408
|
-
offset: 0,
|
|
18409
|
-
easing: 'easeInOutCubic',
|
|
18410
|
-
patterns: {
|
|
18411
|
-
linear: t => t,
|
|
18412
|
-
easeInQuad: t => t ** 2,
|
|
18413
|
-
easeOutQuad: t => t * (2 - t),
|
|
18414
|
-
easeInOutQuad: t => t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t,
|
|
18415
|
-
easeInCubic: t => t ** 3,
|
|
18416
|
-
easeOutCubic: t => --t ** 3 + 1,
|
|
18417
|
-
easeInOutCubic: t => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1,
|
|
18418
|
-
easeInQuart: t => t ** 4,
|
|
18419
|
-
easeOutQuart: t => 1 - --t ** 4,
|
|
18420
|
-
easeInOutQuart: t => t < 0.5 ? 8 * t ** 4 : 1 - 8 * --t ** 4,
|
|
18421
|
-
easeInQuint: t => t ** 5,
|
|
18422
|
-
easeOutQuint: t => 1 + --t ** 5,
|
|
18423
|
-
easeInOutQuint: t => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5
|
|
18424
|
-
}
|
|
18425
|
-
};
|
|
18426
|
-
}
|
|
18427
|
-
function getContainer(el) {
|
|
18428
|
-
return getTarget(el) ?? (document.scrollingElement || document.body);
|
|
18429
|
-
}
|
|
18430
|
-
function getTarget(el) {
|
|
18431
|
-
return typeof el === 'string' ? document.querySelector(el) : refElement(el);
|
|
18432
|
-
}
|
|
18433
|
-
function getOffset(target, horizontal, rtl) {
|
|
18434
|
-
if (typeof target === 'number') return horizontal && rtl ? -target : target;
|
|
18435
|
-
let el = getTarget(target);
|
|
18436
|
-
let totalOffset = 0;
|
|
18437
|
-
while (el) {
|
|
18438
|
-
totalOffset += horizontal ? el.offsetLeft : el.offsetTop;
|
|
18439
|
-
el = el.offsetParent;
|
|
18440
|
-
}
|
|
18441
|
-
return totalOffset;
|
|
18442
|
-
}
|
|
18443
|
-
function createGoTo(options, locale) {
|
|
18444
|
-
return {
|
|
18445
|
-
rtl: locale.isRtl,
|
|
18446
|
-
options: mergeDeep(genDefaults(), options)
|
|
18447
|
-
};
|
|
18448
|
-
}
|
|
18449
|
-
async function scrollTo(_target, _options, horizontal, goTo) {
|
|
18450
|
-
const property = horizontal ? 'scrollLeft' : 'scrollTop';
|
|
18451
|
-
const options = mergeDeep(goTo?.options ?? genDefaults(), _options);
|
|
18452
|
-
const rtl = goTo?.rtl.value;
|
|
18453
|
-
const target = (typeof _target === 'number' ? _target : getTarget(_target)) ?? 0;
|
|
18454
|
-
const container = options.container === 'parent' && target instanceof HTMLElement ? target.parentElement : getContainer(options.container);
|
|
18455
|
-
const ease = typeof options.easing === 'function' ? options.easing : options.patterns[options.easing];
|
|
18456
|
-
if (!ease) throw new TypeError(`Easing function "${options.easing}" not found.`);
|
|
18457
|
-
let targetLocation;
|
|
18458
|
-
if (typeof target === 'number') {
|
|
18459
|
-
targetLocation = getOffset(target, horizontal, rtl);
|
|
18460
|
-
} else {
|
|
18461
|
-
targetLocation = getOffset(target, horizontal, rtl) - getOffset(container, horizontal, rtl);
|
|
18462
|
-
if (options.layout) {
|
|
18463
|
-
const styles = window.getComputedStyle(target);
|
|
18464
|
-
const layoutOffset = styles.getPropertyValue('--v-layout-top');
|
|
18465
|
-
if (layoutOffset) targetLocation -= parseInt(layoutOffset, 10);
|
|
18466
|
-
}
|
|
18467
|
-
}
|
|
18468
|
-
targetLocation += options.offset;
|
|
18469
|
-
const startLocation = container[property] ?? 0;
|
|
18470
|
-
if (targetLocation === startLocation) return Promise.resolve(targetLocation);
|
|
18471
|
-
const startTime = performance.now();
|
|
18472
|
-
return new Promise(resolve => requestAnimationFrame(function step(currentTime) {
|
|
18473
|
-
const timeElapsed = currentTime - startTime;
|
|
18474
|
-
const progress = timeElapsed / options.duration;
|
|
18475
|
-
const location = Math.floor(startLocation + (targetLocation - startLocation) * ease(clamp(progress, 0, 1)));
|
|
18476
|
-
container[property] = location;
|
|
18477
|
-
|
|
18478
|
-
// Allow for some jitter if target time has elapsed
|
|
18479
|
-
if (progress >= 1 && Math.abs(location - container[property]) < 10) {
|
|
18480
|
-
return resolve(targetLocation);
|
|
18481
|
-
} else if (progress > 2) {
|
|
18482
|
-
// The target might not be reachable
|
|
18483
|
-
consoleWarn('Scroll target is not reachable');
|
|
18484
|
-
return resolve(container[property]);
|
|
18485
|
-
}
|
|
18486
|
-
requestAnimationFrame(step);
|
|
18487
|
-
}));
|
|
18488
|
-
}
|
|
18489
|
-
function useGoTo() {
|
|
18490
|
-
let _options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
18491
|
-
const goTo = inject$1(GoToSymbol);
|
|
18492
|
-
if (!goTo) throw new Error('[Vuetify] Could not find injected goto instance');
|
|
18493
|
-
async function go(target, options) {
|
|
18494
|
-
return scrollTo(target, mergeDeep(_options, options), false, goTo);
|
|
18495
|
-
}
|
|
18496
|
-
go.horizontal = async (target, options) => {
|
|
18497
|
-
return scrollTo(target, mergeDeep(_options, options), true, goTo);
|
|
18498
|
-
};
|
|
18499
|
-
return go;
|
|
18500
|
-
}
|
|
18501
|
-
|
|
18502
18611
|
// Composables
|
|
18503
18612
|
|
|
18504
18613
|
// Types
|
|
@@ -19649,6 +19758,7 @@ const makeVDataTableHeadersProps = propsFactory({
|
|
|
19649
19758
|
headerProps: {
|
|
19650
19759
|
type: Object
|
|
19651
19760
|
},
|
|
19761
|
+
...makeDisplayProps(),
|
|
19652
19762
|
...makeLoaderProps()
|
|
19653
19763
|
}, 'VDataTableHeaders');
|
|
19654
19764
|
const VDataTableHeaders = genericComponent()({
|
|
@@ -19658,6 +19768,9 @@ const VDataTableHeaders = genericComponent()({
|
|
|
19658
19768
|
let {
|
|
19659
19769
|
slots
|
|
19660
19770
|
} = _ref;
|
|
19771
|
+
const {
|
|
19772
|
+
t
|
|
19773
|
+
} = useLocale();
|
|
19661
19774
|
const {
|
|
19662
19775
|
toggleSort,
|
|
19663
19776
|
sortBy,
|
|
@@ -19693,6 +19806,10 @@ const VDataTableHeaders = genericComponent()({
|
|
|
19693
19806
|
backgroundColorClasses,
|
|
19694
19807
|
backgroundColorStyles
|
|
19695
19808
|
} = useBackgroundColor(props, 'color');
|
|
19809
|
+
const {
|
|
19810
|
+
displayClasses,
|
|
19811
|
+
mobile
|
|
19812
|
+
} = useDisplay(props);
|
|
19696
19813
|
const slotProps = computed(() => ({
|
|
19697
19814
|
headers: headers.value,
|
|
19698
19815
|
columns: columns.value,
|
|
@@ -19704,6 +19821,9 @@ const VDataTableHeaders = genericComponent()({
|
|
|
19704
19821
|
selectAll,
|
|
19705
19822
|
getSortIcon
|
|
19706
19823
|
}));
|
|
19824
|
+
const headerCellClasses = computed(() => ['v-data-table__th', {
|
|
19825
|
+
'v-data-table__th--sticky': props.sticky
|
|
19826
|
+
}, displayClasses.value, loaderClasses.value]);
|
|
19707
19827
|
const VDataTableHeaderCell = _ref2 => {
|
|
19708
19828
|
let {
|
|
19709
19829
|
column,
|
|
@@ -19715,12 +19835,11 @@ const VDataTableHeaders = genericComponent()({
|
|
|
19715
19835
|
return createVNode(VDataTableColumn, mergeProps({
|
|
19716
19836
|
"tag": "th",
|
|
19717
19837
|
"align": column.align,
|
|
19718
|
-
"class": [
|
|
19838
|
+
"class": [{
|
|
19719
19839
|
'v-data-table__th--sortable': column.sortable,
|
|
19720
19840
|
'v-data-table__th--sorted': isSorted(column),
|
|
19721
|
-
'v-data-table__th--fixed': column.fixed
|
|
19722
|
-
|
|
19723
|
-
}, loaderClasses.value],
|
|
19841
|
+
'v-data-table__th--fixed': column.fixed
|
|
19842
|
+
}, ...headerCellClasses.value],
|
|
19724
19843
|
"style": {
|
|
19725
19844
|
width: convertToUnit(column.width),
|
|
19726
19845
|
minWidth: convertToUnit(column.minWidth),
|
|
@@ -19769,8 +19888,53 @@ const VDataTableHeaders = genericComponent()({
|
|
|
19769
19888
|
}
|
|
19770
19889
|
});
|
|
19771
19890
|
};
|
|
19891
|
+
const VDataTableMobileHeaderCell = () => {
|
|
19892
|
+
const headerProps = mergeProps(props.headerProps ?? {} ?? {});
|
|
19893
|
+
const displayItems = computed(() => {
|
|
19894
|
+
return columns.value.filter(column => column?.sortable);
|
|
19895
|
+
});
|
|
19896
|
+
const appendIcon = computed(() => {
|
|
19897
|
+
return allSelected.value ? '$checkboxOn' : someSelected.value ? '$checkboxIndeterminate' : '$checkboxOff';
|
|
19898
|
+
});
|
|
19899
|
+
return createVNode(VDataTableColumn, mergeProps({
|
|
19900
|
+
"tag": "th",
|
|
19901
|
+
"class": [...headerCellClasses.value],
|
|
19902
|
+
"colspan": headers.value.length + 1
|
|
19903
|
+
}, headerProps), {
|
|
19904
|
+
default: () => [createVNode("div", {
|
|
19905
|
+
"class": "v-data-table-header__content"
|
|
19906
|
+
}, [createVNode(VSelect, {
|
|
19907
|
+
"chips": true,
|
|
19908
|
+
"class": "v-data-table__td-sort-select",
|
|
19909
|
+
"clearable": true,
|
|
19910
|
+
"density": "default",
|
|
19911
|
+
"items": displayItems.value,
|
|
19912
|
+
"label": t('$vuetify.dataTable.sortBy'),
|
|
19913
|
+
"multiple": props.multiSort,
|
|
19914
|
+
"variant": "underlined",
|
|
19915
|
+
"onClick:clear": () => sortBy.value = [],
|
|
19916
|
+
"appendIcon": appendIcon.value,
|
|
19917
|
+
"onClick:append": () => selectAll(!allSelected.value)
|
|
19918
|
+
}, {
|
|
19919
|
+
...slots,
|
|
19920
|
+
chip: props => createVNode(VChip, {
|
|
19921
|
+
"onClick": props.item.raw?.sortable ? () => toggleSort(props.item.raw) : undefined,
|
|
19922
|
+
"onMousedown": e => {
|
|
19923
|
+
e.preventDefault();
|
|
19924
|
+
e.stopPropagation();
|
|
19925
|
+
}
|
|
19926
|
+
}, {
|
|
19927
|
+
default: () => [props.item.title, createVNode(VIcon, {
|
|
19928
|
+
"class": ['v-data-table__td-sort-icon', isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active'],
|
|
19929
|
+
"icon": getSortIcon(props.item.raw),
|
|
19930
|
+
"size": "small"
|
|
19931
|
+
}, null)]
|
|
19932
|
+
})
|
|
19933
|
+
})])]
|
|
19934
|
+
});
|
|
19935
|
+
};
|
|
19772
19936
|
useRender(() => {
|
|
19773
|
-
return createVNode(Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => createVNode("tr", null, [row.map((column, x) => createVNode(VDataTableHeaderCell, {
|
|
19937
|
+
return mobile.value ? createVNode("tr", null, [createVNode(VDataTableMobileHeaderCell, null, null)]) : createVNode(Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => createVNode("tr", null, [row.map((column, x) => createVNode(VDataTableHeaderCell, {
|
|
19774
19938
|
"column": column,
|
|
19775
19939
|
"x": x,
|
|
19776
19940
|
"y": y
|
|
@@ -19878,7 +20042,8 @@ const makeVDataTableRowProps = propsFactory({
|
|
|
19878
20042
|
cellProps: [Object, Function],
|
|
19879
20043
|
onClick: EventProp(),
|
|
19880
20044
|
onContextmenu: EventProp(),
|
|
19881
|
-
onDblclick: EventProp()
|
|
20045
|
+
onDblclick: EventProp(),
|
|
20046
|
+
...makeDisplayProps()
|
|
19882
20047
|
}, 'VDataTableRow');
|
|
19883
20048
|
const VDataTableRow = genericComponent()({
|
|
19884
20049
|
name: 'VDataTableRow',
|
|
@@ -19887,27 +20052,40 @@ const VDataTableRow = genericComponent()({
|
|
|
19887
20052
|
let {
|
|
19888
20053
|
slots
|
|
19889
20054
|
} = _ref;
|
|
20055
|
+
const {
|
|
20056
|
+
displayClasses,
|
|
20057
|
+
mobile
|
|
20058
|
+
} = useDisplay(props, 'v-data-table__tr');
|
|
19890
20059
|
const {
|
|
19891
20060
|
isSelected,
|
|
19892
|
-
toggleSelect
|
|
20061
|
+
toggleSelect,
|
|
20062
|
+
someSelected,
|
|
20063
|
+
allSelected,
|
|
20064
|
+
selectAll
|
|
19893
20065
|
} = useSelection();
|
|
19894
20066
|
const {
|
|
19895
20067
|
isExpanded,
|
|
19896
20068
|
toggleExpand
|
|
19897
20069
|
} = useExpanded();
|
|
20070
|
+
const {
|
|
20071
|
+
toggleSort,
|
|
20072
|
+
sortBy,
|
|
20073
|
+
isSorted
|
|
20074
|
+
} = useSort();
|
|
19898
20075
|
const {
|
|
19899
20076
|
columns
|
|
19900
20077
|
} = useHeaders();
|
|
19901
20078
|
useRender(() => createVNode("tr", {
|
|
19902
20079
|
"class": ['v-data-table__tr', {
|
|
19903
20080
|
'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick)
|
|
19904
|
-
}],
|
|
20081
|
+
}, displayClasses.value],
|
|
19905
20082
|
"onClick": props.onClick,
|
|
19906
20083
|
"onContextmenu": props.onContextmenu,
|
|
19907
20084
|
"onDblclick": props.onDblclick
|
|
19908
20085
|
}, [props.item && columns.value.map((column, i) => {
|
|
19909
20086
|
const item = props.item;
|
|
19910
20087
|
const slotName = `item.${column.key}`;
|
|
20088
|
+
const headerSlotName = `header.${column.key}`;
|
|
19911
20089
|
const slotProps = {
|
|
19912
20090
|
index: props.index,
|
|
19913
20091
|
item: item.raw,
|
|
@@ -19919,6 +20097,16 @@ const VDataTableRow = genericComponent()({
|
|
|
19919
20097
|
isExpanded,
|
|
19920
20098
|
toggleExpand
|
|
19921
20099
|
};
|
|
20100
|
+
const columnSlotProps = {
|
|
20101
|
+
column,
|
|
20102
|
+
selectAll,
|
|
20103
|
+
isSorted,
|
|
20104
|
+
toggleSort,
|
|
20105
|
+
sortBy: sortBy.value,
|
|
20106
|
+
someSelected: someSelected.value,
|
|
20107
|
+
allSelected: allSelected.value,
|
|
20108
|
+
getSortIcon: () => ''
|
|
20109
|
+
};
|
|
19922
20110
|
const cellProps = typeof props.cellProps === 'function' ? props.cellProps({
|
|
19923
20111
|
index: slotProps.index,
|
|
19924
20112
|
item: slotProps.item,
|
|
@@ -19934,16 +20122,20 @@ const VDataTableRow = genericComponent()({
|
|
|
19934
20122
|
}) : column.cellProps;
|
|
19935
20123
|
return createVNode(VDataTableColumn, mergeProps({
|
|
19936
20124
|
"align": column.align,
|
|
20125
|
+
"class": {
|
|
20126
|
+
'v-data-table__td--expanded-row': column.key === 'data-table-expand',
|
|
20127
|
+
'v-data-table__td--select-row': column.key === 'data-table-select'
|
|
20128
|
+
},
|
|
19937
20129
|
"fixed": column.fixed,
|
|
19938
20130
|
"fixedOffset": column.fixedOffset,
|
|
19939
20131
|
"lastFixed": column.lastFixed,
|
|
20132
|
+
"maxWidth": !mobile.value ? column.maxWidth : undefined,
|
|
19940
20133
|
"noPadding": column.key === 'data-table-select' || column.key === 'data-table-expand',
|
|
19941
|
-
"
|
|
19942
|
-
"
|
|
19943
|
-
"nowrap": column.nowrap
|
|
20134
|
+
"nowrap": column.nowrap,
|
|
20135
|
+
"width": !mobile.value ? column.width : undefined
|
|
19944
20136
|
}, cellProps, columnCellProps), {
|
|
19945
20137
|
default: () => {
|
|
19946
|
-
if (slots[slotName]) return slots[slotName](slotProps);
|
|
20138
|
+
if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps);
|
|
19947
20139
|
if (column.key === 'data-table-select') {
|
|
19948
20140
|
return slots['item.data-table-select']?.(slotProps) ?? createVNode(VCheckboxBtn, {
|
|
19949
20141
|
"disabled": !item.selectable,
|
|
@@ -19959,7 +20151,12 @@ const VDataTableRow = genericComponent()({
|
|
|
19959
20151
|
"onClick": withModifiers(() => toggleExpand(item), ['stop'])
|
|
19960
20152
|
}, null);
|
|
19961
20153
|
}
|
|
19962
|
-
|
|
20154
|
+
const displayValue = toDisplayString(slotProps.value);
|
|
20155
|
+
return !mobile.value ? displayValue : createVNode(Fragment, null, [createVNode("div", {
|
|
20156
|
+
"class": "v-data-table__td-title"
|
|
20157
|
+
}, [slots[headerSlotName]?.(columnSlotProps) ?? column.title]), createVNode("div", {
|
|
20158
|
+
"class": "v-data-table__td-value"
|
|
20159
|
+
}, [slots[slotName]?.(slotProps) ?? displayValue])]);
|
|
19963
20160
|
}
|
|
19964
20161
|
});
|
|
19965
20162
|
})]));
|
|
@@ -19984,7 +20181,8 @@ const makeVDataTableRowsProps = propsFactory({
|
|
|
19984
20181
|
default: '$vuetify.noDataText'
|
|
19985
20182
|
},
|
|
19986
20183
|
rowProps: [Object, Function],
|
|
19987
|
-
cellProps: [Object, Function]
|
|
20184
|
+
cellProps: [Object, Function],
|
|
20185
|
+
...makeDisplayProps()
|
|
19988
20186
|
}, 'VDataTableRows');
|
|
19989
20187
|
const VDataTableRows = genericComponent()({
|
|
19990
20188
|
name: 'VDataTableRows',
|
|
@@ -20014,6 +20212,9 @@ const VDataTableRows = genericComponent()({
|
|
|
20014
20212
|
const {
|
|
20015
20213
|
t
|
|
20016
20214
|
} = useLocale();
|
|
20215
|
+
const {
|
|
20216
|
+
mobile
|
|
20217
|
+
} = useDisplay(props);
|
|
20017
20218
|
useRender(() => {
|
|
20018
20219
|
if (props.loading && (!props.items.length || slots.loading)) {
|
|
20019
20220
|
return createVNode("tr", {
|
|
@@ -20068,7 +20269,8 @@ const VDataTableRows = genericComponent()({
|
|
|
20068
20269
|
} : undefined,
|
|
20069
20270
|
index,
|
|
20070
20271
|
item,
|
|
20071
|
-
cellProps: props.cellProps
|
|
20272
|
+
cellProps: props.cellProps,
|
|
20273
|
+
mobile: mobile.value
|
|
20072
20274
|
}, getPrefixedEventHandlers(attrs, ':row', () => slotProps), typeof props.rowProps === 'function' ? props.rowProps({
|
|
20073
20275
|
item: slotProps.item,
|
|
20074
20276
|
index: slotProps.index,
|
|
@@ -21895,8 +22097,18 @@ const VDatePicker = genericComponent()({
|
|
|
21895
22097
|
emit('update:year', value);
|
|
21896
22098
|
}
|
|
21897
22099
|
watch(model, (val, oldVal) => {
|
|
21898
|
-
const before = adapter.date(wrapInArray(
|
|
21899
|
-
const after = adapter.date(wrapInArray(
|
|
22100
|
+
const before = adapter.date(wrapInArray(oldVal)[oldVal.length - 1]);
|
|
22101
|
+
const after = adapter.date(wrapInArray(val)[val.length - 1]);
|
|
22102
|
+
const newMonth = adapter.getMonth(after);
|
|
22103
|
+
const newYear = adapter.getYear(after);
|
|
22104
|
+
if (newMonth !== month.value) {
|
|
22105
|
+
month.value = newMonth;
|
|
22106
|
+
onUpdateMonth(month.value);
|
|
22107
|
+
}
|
|
22108
|
+
if (newYear !== year.value) {
|
|
22109
|
+
year.value = newYear;
|
|
22110
|
+
onUpdateYear(year.value);
|
|
22111
|
+
}
|
|
21900
22112
|
isReversing.value = adapter.isBefore(before, after);
|
|
21901
22113
|
});
|
|
21902
22114
|
useRender(() => {
|
|
@@ -22239,7 +22451,7 @@ const makeVFileInputProps = propsFactory({
|
|
|
22239
22451
|
}),
|
|
22240
22452
|
modelValue: {
|
|
22241
22453
|
type: [Array, Object],
|
|
22242
|
-
default:
|
|
22454
|
+
default: props => props.multiple ? [] : null,
|
|
22243
22455
|
validator: val => {
|
|
22244
22456
|
return wrapInArray(val).every(v => v != null && typeof v === 'object');
|
|
22245
22457
|
}
|
|
@@ -22898,6 +23110,7 @@ const VKbd = createSimpleFunctional('v-kbd');
|
|
|
22898
23110
|
|
|
22899
23111
|
const makeVLayoutProps = propsFactory({
|
|
22900
23112
|
...makeComponentProps(),
|
|
23113
|
+
...makeDimensionProps(),
|
|
22901
23114
|
...makeLayoutProps()
|
|
22902
23115
|
}, 'VLayout');
|
|
22903
23116
|
const VLayout = genericComponent()({
|
|
@@ -22914,10 +23127,13 @@ const VLayout = genericComponent()({
|
|
|
22914
23127
|
items,
|
|
22915
23128
|
layoutRef
|
|
22916
23129
|
} = createLayout(props);
|
|
23130
|
+
const {
|
|
23131
|
+
dimensionStyles
|
|
23132
|
+
} = useDimension(props);
|
|
22917
23133
|
useRender(() => createVNode("div", {
|
|
22918
23134
|
"ref": layoutRef,
|
|
22919
23135
|
"class": [layoutClasses.value, props.class],
|
|
22920
|
-
"style": [layoutStyles.value, props.style]
|
|
23136
|
+
"style": [dimensionStyles.value, layoutStyles.value, props.style]
|
|
22921
23137
|
}, [createVNode(Suspense, null, {
|
|
22922
23138
|
default: () => [createVNode(Fragment, null, [slots.default?.()])]
|
|
22923
23139
|
})]));
|
|
@@ -23280,6 +23496,7 @@ function oops$1() {
|
|
|
23280
23496
|
|
|
23281
23497
|
function useTouch(_ref) {
|
|
23282
23498
|
let {
|
|
23499
|
+
el,
|
|
23283
23500
|
isActive,
|
|
23284
23501
|
isTemporary,
|
|
23285
23502
|
width,
|
|
@@ -23329,10 +23546,10 @@ function useTouch(_ref) {
|
|
|
23329
23546
|
const inTouchZone = position.value === 'left' ? touchX < touchZone : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone : position.value === 'top' ? touchY < touchZone : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone : oops();
|
|
23330
23547
|
const inElement = isActive.value && (position.value === 'left' ? touchX < width.value : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value : position.value === 'top' ? touchY < width.value : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value : oops());
|
|
23331
23548
|
if (inTouchZone || inElement || isActive.value && isTemporary.value) {
|
|
23332
|
-
maybeDragging = true;
|
|
23333
23549
|
start = [touchX, touchY];
|
|
23334
23550
|
offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value);
|
|
23335
23551
|
dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY);
|
|
23552
|
+
maybeDragging = offset.value > -20 && offset.value < 80;
|
|
23336
23553
|
endTouch(e);
|
|
23337
23554
|
addMovement(e);
|
|
23338
23555
|
}
|
|
@@ -23392,6 +23609,18 @@ function useTouch(_ref) {
|
|
|
23392
23609
|
transition: 'none'
|
|
23393
23610
|
} : undefined;
|
|
23394
23611
|
});
|
|
23612
|
+
useToggleScope(isDragging, () => {
|
|
23613
|
+
const transform = el.value?.style.transform ?? null;
|
|
23614
|
+
const transition = el.value?.style.transition ?? null;
|
|
23615
|
+
watchEffect(() => {
|
|
23616
|
+
el.value?.style.setProperty('transform', dragStyles.value?.transform || 'none');
|
|
23617
|
+
el.value?.style.setProperty('transition', dragStyles.value?.transition || null);
|
|
23618
|
+
});
|
|
23619
|
+
onScopeDispose(() => {
|
|
23620
|
+
el.value?.style.setProperty('transform', transform);
|
|
23621
|
+
el.value?.style.setProperty('transition', transition);
|
|
23622
|
+
});
|
|
23623
|
+
});
|
|
23395
23624
|
return {
|
|
23396
23625
|
isDragging,
|
|
23397
23626
|
dragProgress,
|
|
@@ -23430,6 +23659,7 @@ const makeVNavigationDrawerProps = propsFactory({
|
|
|
23430
23659
|
},
|
|
23431
23660
|
image: String,
|
|
23432
23661
|
temporary: Boolean,
|
|
23662
|
+
persistent: Boolean,
|
|
23433
23663
|
touchless: Boolean,
|
|
23434
23664
|
width: {
|
|
23435
23665
|
type: [Number, String],
|
|
@@ -23511,6 +23741,7 @@ const VNavigationDrawer = genericComponent()({
|
|
|
23511
23741
|
const location = computed(() => {
|
|
23512
23742
|
return toPhysical(props.location, isRtl.value);
|
|
23513
23743
|
});
|
|
23744
|
+
const isPersistent = computed(() => props.persistent);
|
|
23514
23745
|
const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary));
|
|
23515
23746
|
const isSticky = computed(() => props.sticky && !isTemporary.value && location.value !== 'bottom');
|
|
23516
23747
|
useToggleScope(() => props.expandOnHover && props.rail != null, () => {
|
|
@@ -23530,9 +23761,9 @@ const VNavigationDrawer = genericComponent()({
|
|
|
23530
23761
|
}
|
|
23531
23762
|
const {
|
|
23532
23763
|
isDragging,
|
|
23533
|
-
dragProgress
|
|
23534
|
-
dragStyles
|
|
23764
|
+
dragProgress
|
|
23535
23765
|
} = useTouch({
|
|
23766
|
+
el: rootEl,
|
|
23536
23767
|
isActive,
|
|
23537
23768
|
isTemporary,
|
|
23538
23769
|
width,
|
|
@@ -23543,6 +23774,7 @@ const VNavigationDrawer = genericComponent()({
|
|
|
23543
23774
|
const size = isTemporary.value ? 0 : props.rail && props.expandOnHover ? Number(props.railWidth) : width.value;
|
|
23544
23775
|
return isDragging.value ? size * dragProgress.value : size;
|
|
23545
23776
|
});
|
|
23777
|
+
const elementSize = computed(() => ['top', 'bottom'].includes(props.location) ? 0 : width.value);
|
|
23546
23778
|
const {
|
|
23547
23779
|
layoutItemStyles,
|
|
23548
23780
|
layoutItemScrimStyles,
|
|
@@ -23552,7 +23784,7 @@ const VNavigationDrawer = genericComponent()({
|
|
|
23552
23784
|
order: computed(() => parseInt(props.order, 10)),
|
|
23553
23785
|
position: location,
|
|
23554
23786
|
layoutSize,
|
|
23555
|
-
elementSize
|
|
23787
|
+
elementSize,
|
|
23556
23788
|
active: computed(() => isActive.value || isDragging.value),
|
|
23557
23789
|
disableTransitions: computed(() => isDragging.value),
|
|
23558
23790
|
absolute: computed(() =>
|
|
@@ -23594,10 +23826,13 @@ const VNavigationDrawer = genericComponent()({
|
|
|
23594
23826
|
'v-navigation-drawer--is-hovering': isHovering.value,
|
|
23595
23827
|
'v-navigation-drawer--rail': props.rail,
|
|
23596
23828
|
'v-navigation-drawer--temporary': isTemporary.value,
|
|
23829
|
+
'v-navigation-drawer--persistent': isPersistent.value,
|
|
23597
23830
|
'v-navigation-drawer--active': isActive.value,
|
|
23598
23831
|
'v-navigation-drawer--sticky': isSticky.value
|
|
23599
23832
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
23600
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value,
|
|
23833
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style, ['top', 'bottom'].includes(location.value) ? {
|
|
23834
|
+
height: 'auto'
|
|
23835
|
+
} : {}]
|
|
23601
23836
|
}, scopeId, attrs), {
|
|
23602
23837
|
default: () => [hasImage && createVNode("div", {
|
|
23603
23838
|
"key": "image",
|
|
@@ -23632,7 +23867,10 @@ const VNavigationDrawer = genericComponent()({
|
|
|
23632
23867
|
default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && createVNode("div", mergeProps({
|
|
23633
23868
|
"class": ['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value],
|
|
23634
23869
|
"style": [scrimStyles.value, scrimColor.backgroundColorStyles.value],
|
|
23635
|
-
"onClick": () =>
|
|
23870
|
+
"onClick": () => {
|
|
23871
|
+
if (isPersistent.value) return;
|
|
23872
|
+
isActive.value = false;
|
|
23873
|
+
}
|
|
23636
23874
|
}, scopeId), null)]
|
|
23637
23875
|
})]);
|
|
23638
23876
|
});
|
|
@@ -24113,8 +24351,8 @@ const VRangeSlider = genericComponent()({
|
|
|
24113
24351
|
} = useRtl();
|
|
24114
24352
|
function getActiveThumb(e) {
|
|
24115
24353
|
if (!startThumbRef.value || !stopThumbRef.value) return;
|
|
24116
|
-
const startOffset = getOffset
|
|
24117
|
-
const stopOffset = getOffset
|
|
24354
|
+
const startOffset = getOffset(e, startThumbRef.value.$el, props.direction);
|
|
24355
|
+
const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction);
|
|
24118
24356
|
const a = Math.abs(startOffset);
|
|
24119
24357
|
const b = Math.abs(stopOffset);
|
|
24120
24358
|
return a < b || a === b && startOffset < 0 ? startThumbRef.value.$el : stopThumbRef.value.$el;
|
|
@@ -24709,9 +24947,6 @@ const VSnackbar = genericComponent()({
|
|
|
24709
24947
|
slots
|
|
24710
24948
|
} = _ref;
|
|
24711
24949
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
24712
|
-
const {
|
|
24713
|
-
locationStyles
|
|
24714
|
-
} = useLocation(props);
|
|
24715
24950
|
const {
|
|
24716
24951
|
positionClasses
|
|
24717
24952
|
} = usePosition(props);
|
|
@@ -24733,6 +24968,15 @@ const VSnackbar = genericComponent()({
|
|
|
24733
24968
|
const overlay = ref();
|
|
24734
24969
|
const timerRef = ref();
|
|
24735
24970
|
const isHovering = shallowRef(false);
|
|
24971
|
+
const startY = shallowRef(0);
|
|
24972
|
+
const mainStyles = ref();
|
|
24973
|
+
const hasLayout = inject$1(VuetifyLayoutKey, undefined);
|
|
24974
|
+
useToggleScope(() => !!hasLayout, () => {
|
|
24975
|
+
const layout = useLayout();
|
|
24976
|
+
watchEffect(() => {
|
|
24977
|
+
mainStyles.value = layout.mainStyles.value;
|
|
24978
|
+
});
|
|
24979
|
+
});
|
|
24736
24980
|
watch(isActive, startTimeout);
|
|
24737
24981
|
watch(() => props.timeout, startTimeout);
|
|
24738
24982
|
onMounted(() => {
|
|
@@ -24762,6 +25006,20 @@ const VSnackbar = genericComponent()({
|
|
|
24762
25006
|
isHovering.value = false;
|
|
24763
25007
|
startTimeout();
|
|
24764
25008
|
}
|
|
25009
|
+
function onTouchstart(event) {
|
|
25010
|
+
startY.value = event.touches[0].clientY;
|
|
25011
|
+
}
|
|
25012
|
+
function onTouchend(event) {
|
|
25013
|
+
if (Math.abs(startY.value - event.changedTouches[0].clientY) > 50) {
|
|
25014
|
+
isActive.value = false;
|
|
25015
|
+
}
|
|
25016
|
+
}
|
|
25017
|
+
const locationClasses = computed(() => {
|
|
25018
|
+
return props.location.split(' ').reduce((acc, loc) => {
|
|
25019
|
+
acc[`v-snackbar--${loc}`] = true;
|
|
25020
|
+
return acc;
|
|
25021
|
+
}, {});
|
|
25022
|
+
});
|
|
24765
25023
|
useRender(() => {
|
|
24766
25024
|
const overlayProps = VOverlay.filterProps(props);
|
|
24767
25025
|
const hasContent = !!(slots.default || slots.text || props.text);
|
|
@@ -24772,14 +25030,14 @@ const VSnackbar = genericComponent()({
|
|
|
24772
25030
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
|
24773
25031
|
'v-snackbar--timer': !!props.timer,
|
|
24774
25032
|
'v-snackbar--vertical': props.vertical
|
|
24775
|
-
}, positionClasses.value, props.class],
|
|
24776
|
-
"style": props.style
|
|
25033
|
+
}, locationClasses.value, positionClasses.value, props.class],
|
|
25034
|
+
"style": [mainStyles.value, props.style]
|
|
24777
25035
|
}, overlayProps, {
|
|
24778
25036
|
"modelValue": isActive.value,
|
|
24779
25037
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
24780
25038
|
"contentProps": mergeProps({
|
|
24781
25039
|
class: ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],
|
|
24782
|
-
style: [
|
|
25040
|
+
style: [colorStyles.value],
|
|
24783
25041
|
onPointerenter,
|
|
24784
25042
|
onPointerleave
|
|
24785
25043
|
}, overlayProps.contentProps),
|
|
@@ -24787,7 +25045,9 @@ const VSnackbar = genericComponent()({
|
|
|
24787
25045
|
"noClickAnimation": true,
|
|
24788
25046
|
"scrim": false,
|
|
24789
25047
|
"scrollStrategy": "none",
|
|
24790
|
-
"_disableGlobalStack": true
|
|
25048
|
+
"_disableGlobalStack": true,
|
|
25049
|
+
"onTouchstartPassive": onTouchstart,
|
|
25050
|
+
"onTouchend": onTouchend
|
|
24791
25051
|
}, scopeId), {
|
|
24792
25052
|
default: () => [genOverlays(false, 'v-snackbar'), props.timer && !isHovering.value && createVNode("div", {
|
|
24793
25053
|
"key": "timer",
|
|
@@ -26663,7 +26923,7 @@ function useDirectiveComponent(component, props) {
|
|
|
26663
26923
|
function mountComponent(component, props) {
|
|
26664
26924
|
return function (el, binding, vnode) {
|
|
26665
26925
|
const _props = typeof props === 'function' ? props(binding) : props;
|
|
26666
|
-
const text = binding.value?.text ?? binding.value;
|
|
26926
|
+
const text = binding.value?.text ?? binding.value ?? _props?.text;
|
|
26667
26927
|
const value = isObject(binding.value) ? binding.value : {};
|
|
26668
26928
|
|
|
26669
26929
|
// Get the children from the props or directive value, or the element's children
|
|
@@ -26672,7 +26932,9 @@ function mountComponent(component, props) {
|
|
|
26672
26932
|
// If vnode.ctx is the same as the instance, then we're bound to a plain element
|
|
26673
26933
|
// and need to find the nearest parent component instance to inherit provides from
|
|
26674
26934
|
const provides = (vnode.ctx === binding.instance.$ ? findComponentParent(vnode, binding.instance.$)?.provides : vnode.ctx?.provides) ?? binding.instance.$.provides;
|
|
26675
|
-
const node = h(component, mergeProps(_props, value),
|
|
26935
|
+
const node = h(component, mergeProps(_props, value), {
|
|
26936
|
+
default: () => children
|
|
26937
|
+
});
|
|
26676
26938
|
node.appContext = Object.assign(Object.create(null), binding.instance.$.appContext, {
|
|
26677
26939
|
provides
|
|
26678
26940
|
});
|
|
@@ -26831,7 +27093,7 @@ function createVuetify$1() {
|
|
|
26831
27093
|
goTo
|
|
26832
27094
|
};
|
|
26833
27095
|
}
|
|
26834
|
-
const version$1 = "3.6.0
|
|
27096
|
+
const version$1 = "3.6.0";
|
|
26835
27097
|
createVuetify$1.version = version$1;
|
|
26836
27098
|
|
|
26837
27099
|
// Vue's inject() can only be used in setup
|
|
@@ -26856,7 +27118,7 @@ const createVuetify = function () {
|
|
|
26856
27118
|
...options
|
|
26857
27119
|
});
|
|
26858
27120
|
};
|
|
26859
|
-
const version = "3.6.0
|
|
27121
|
+
const version = "3.6.0";
|
|
26860
27122
|
createVuetify.version = version;
|
|
26861
27123
|
|
|
26862
27124
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|