@vuetify/nightly 3.2.0-dev-20230214.0 → 3.2.0-dev-20230322.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -17
- package/dist/json/attributes.json +243 -59
- package/dist/json/tags.json +48 -2
- package/dist/json/web-types.json +1648 -279
- package/dist/vuetify-labs.css +666 -482
- package/dist/vuetify-labs.d.ts +59419 -13475
- package/dist/vuetify-labs.esm.js +797 -531
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +797 -531
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +524 -355
- package/dist/vuetify.d.ts +55670 -14368
- package/dist/vuetify.esm.js +607 -462
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +607 -462
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +793 -793
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +6 -9
- package/lib/blueprints/md1.d.ts +6 -9
- package/lib/blueprints/md2.d.ts +6 -9
- package/lib/blueprints/md3.d.ts +6 -9
- package/lib/blueprints/md3.mjs +6 -0
- package/lib/blueprints/md3.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.css +1 -1
- package/lib/components/VAlert/VAlert.mjs +29 -15
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/_variables.scss +1 -1
- package/lib/components/VAlert/index.d.ts +515 -65
- package/lib/components/VApp/VApp.css +1 -0
- package/lib/components/VApp/VApp.sass +1 -0
- package/lib/components/VApp/index.d.ts +161 -17
- package/lib/components/VAppBar/VAppBar.mjs +9 -4
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +624 -82
- package/lib/components/VAutocomplete/VAutocomplete.mjs +23 -8
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +1744 -113
- package/lib/components/VAvatar/index.d.ts +207 -25
- package/lib/components/VBadge/index.d.ts +286 -36
- package/lib/components/VBanner/VBanner.mjs +19 -12
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/index.d.ts +485 -67
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +6 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.ts +323 -36
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +11 -7
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +346 -42
- package/lib/components/VBtn/VBtn.css +0 -5
- package/lib/components/VBtn/VBtn.mjs +65 -58
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +0 -7
- package/lib/components/VBtn/_variables.scss +0 -2
- package/lib/components/VBtn/index.d.ts +454 -59
- package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -7
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +187 -22
- package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +248 -32
- package/lib/components/VCard/VCard.mjs +10 -6
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +27 -23
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +958 -132
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +585 -87
- package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -4
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +841 -119
- package/lib/components/VChip/VChip.css +110 -90
- package/lib/components/VChip/VChip.mjs +70 -48
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/_mixins.scss +27 -23
- package/lib/components/VChip/index.d.ts +476 -66
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.d.ts +229 -28
- package/lib/components/VCode/index.d.ts +112 -13
- package/lib/components/VColorPicker/VColorPicker.mjs +9 -1
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.css +2 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +36 -18
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.sass +2 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -4
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +2 -2
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.ts +284 -20
- package/lib/components/VColorPicker/util/index.mjs +2 -5
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +23 -8
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +1756 -113
- package/lib/components/VCounter/index.d.ts +1909 -78
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.d.ts +136 -18
- package/lib/components/VDialog/VDialog.css +31 -24
- package/lib/components/VDialog/VDialog.mjs +2 -2
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +19 -12
- package/lib/components/VDialog/index.d.ts +2403 -124
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/index.d.ts +132 -19
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.ts +741 -104
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +179 -23
- package/lib/components/VFileInput/VFileInput.mjs +1 -0
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +1069 -93
- package/lib/components/VFooter/VFooter.css +2 -0
- package/lib/components/VFooter/VFooter.sass +2 -0
- package/lib/components/VFooter/_variables.scss +2 -0
- package/lib/components/VFooter/index.d.ts +206 -25
- package/lib/components/VForm/index.d.ts +207 -20
- package/lib/components/VGrid/VCol.mjs +6 -5
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +4 -4
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/index.d.ts +745 -64
- package/lib/components/VHover/index.d.ts +188 -29
- package/lib/components/VIcon/index.d.ts +500 -44
- package/lib/components/VImg/VImg.mjs +2 -2
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +281 -40
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +321 -47
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.d.ts +313 -45
- package/lib/components/VKbd/VKbd.css +1 -0
- package/lib/components/VKbd/VKbd.sass +1 -0
- package/lib/components/VKbd/_variables.scss +1 -0
- package/lib/components/VKbd/index.d.ts +112 -13
- package/lib/components/VLabel/index.d.ts +115 -16
- package/lib/components/VLayout/index.d.ts +302 -35
- package/lib/components/VLazy/VLazy.mjs +4 -1
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +222 -27
- package/lib/components/VList/VListChildren.mjs +2 -2
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +1 -4
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +23 -19
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +1500 -191
- package/lib/components/VLocaleProvider/index.d.ts +123 -16
- package/lib/components/VMain/index.d.ts +121 -14
- package/lib/components/VMenu/VMenu.css +4 -4
- package/lib/components/VMenu/VMenu.mjs +8 -7
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.sass +1 -1
- package/lib/components/VMenu/index.d.ts +2411 -121
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +1934 -87
- package/lib/components/VNavigationDrawer/index.d.ts +382 -47
- package/lib/components/VNoSsr/index.d.ts +6 -0
- package/lib/components/VOverlay/VOverlay.css +2 -2
- package/lib/components/VOverlay/VOverlay.mjs +1 -4
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VOverlay/index.d.ts +527 -75
- package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +504 -56
- package/lib/components/VParallax/VParallax.mjs +3 -3
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.d.ts +144 -19
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/index.d.ts +189 -22
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +325 -42
- package/lib/components/VRadio/index.d.ts +318 -46
- package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -6
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +468 -66
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +530 -66
- package/lib/components/VRating/VRating.css +0 -4
- package/lib/components/VRating/VRating.mjs +6 -35
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/VRating.sass +0 -5
- package/lib/components/VRating/index.d.ts +309 -38
- package/lib/components/VResponsive/index.d.ts +144 -21
- package/lib/components/VSelect/VSelect.mjs +23 -8
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +3150 -247
- package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -4
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +90 -10
- package/lib/components/VSelectionControlGroup/index.d.ts +245 -35
- package/lib/components/VSheet/VSheet.mjs +16 -12
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.d.ts +196 -27
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +488 -70
- package/lib/components/VSlider/VSliderTrack.mjs +1 -0
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +523 -65
- package/lib/components/VSlider/slider.mjs +5 -6
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +2 -9
- package/lib/components/VSnackbar/VSnackbar.mjs +10 -11
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +3 -10
- package/lib/components/VSnackbar/index.d.ts +1255 -74
- package/lib/components/VSwitch/VSwitch.mjs +2 -2
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +503 -75
- package/lib/components/VSystemBar/VSystemBar.css +5 -1
- package/lib/components/VSystemBar/VSystemBar.mjs +6 -2
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.sass +5 -1
- package/lib/components/VSystemBar/_variables.scss +4 -1
- package/lib/components/VSystemBar/index.d.ts +186 -23
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/index.d.ts +193 -26
- package/lib/components/VTabs/VTab.mjs +7 -23
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +628 -64
- package/lib/components/VTextField/VTextField.mjs +9 -5
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +1447 -101
- package/lib/components/VTextarea/VTextarea.mjs +8 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +1043 -93
- package/lib/components/VThemeProvider/index.d.ts +127 -16
- package/lib/components/VTimeline/VTimelineDivider.mjs +18 -10
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.ts +446 -60
- package/lib/components/VToolbar/VToolbar.mjs +10 -9
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +552 -73
- package/lib/components/VTooltip/VTooltip.css +3 -3
- package/lib/components/VTooltip/VTooltip.mjs +4 -4
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.sass +1 -1
- package/lib/components/VTooltip/index.d.ts +1315 -73
- package/lib/components/VValidation/index.d.ts +204 -27
- package/lib/components/VWindow/index.d.ts +541 -75
- package/lib/components/index.d.ts +55694 -14389
- package/lib/components/transitions/createTransition.mjs +1 -1
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/index.d.ts +2144 -259
- package/lib/composables/defaults.mjs +5 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/display.mjs +15 -10
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +2 -2
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +7 -1
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs +1 -1
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/composables/stack.mjs +2 -2
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/theme.mjs +28 -23
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +6 -9
- package/lib/labs/VDataTable/VDataTable.css +15 -0
- package/lib/labs/VDataTable/VDataTable.mjs +45 -19
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTable.sass +9 -0
- package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -2
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +8 -2
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +6 -7
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +41 -19
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +27 -14
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/expand.mjs +1 -1
- package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/group.mjs +12 -1
- package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs +4 -10
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +25 -4
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs +1 -1
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs +19 -3
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +4934 -317
- package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +18 -5
- package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/labs/VVirtualScroll/index.d.ts +41 -7
- package/lib/labs/components.d.ts +4970 -324
- package/lib/locale/adapters/vue-i18n.d.ts +1 -1
- package/lib/locale/adapters/vue-i18n.mjs +1 -1
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/index.mjs +1 -1
- package/lib/locale/index.mjs.map +1 -1
- package/lib/styles/elements/_global.sass +0 -4
- package/lib/styles/generic/_index.scss +0 -1
- package/lib/styles/generic/_transitions.scss +111 -9
- package/lib/styles/main.css +316 -167
- package/lib/styles/settings/_utilities.scss +7 -0
- package/lib/styles/tools/_sheet.sass +3 -6
- package/lib/styles/utilities/_display.sass +6 -5
- package/lib/styles/utilities/_elevation.scss +13 -0
- package/lib/styles/utilities/_index.sass +3 -2
- package/lib/styles/utilities/_screenreaders.sass +13 -11
- package/lib/util/animation.mjs +8 -1
- package/lib/util/animation.mjs.map +1 -1
- package/lib/util/colorUtils.mjs +4 -5
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +15 -7
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +4 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +15 -7
- package/lib/styles/generic/_elevation.scss +0 -10
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.2.0-dev-
|
|
2
|
+
* Vuetify v3.2.0-dev-20230322.0
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -207,6 +207,10 @@
|
|
|
207
207
|
let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
208
208
|
return Math.max(min, Math.min(max, value));
|
|
209
209
|
}
|
|
210
|
+
function getDecimals(value) {
|
|
211
|
+
const trimmedStr = value.toString().trim();
|
|
212
|
+
return trimmedStr.includes('.') ? trimmedStr.length - trimmedStr.indexOf('.') - 1 : 0;
|
|
213
|
+
}
|
|
210
214
|
function padEnd(str, length) {
|
|
211
215
|
let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
|
|
212
216
|
return str + char.repeat(Math.max(0, length - str.length));
|
|
@@ -489,7 +493,14 @@
|
|
|
489
493
|
if (typeof el.animate === 'undefined') return {
|
|
490
494
|
finished: Promise.resolve()
|
|
491
495
|
};
|
|
492
|
-
|
|
496
|
+
let animation;
|
|
497
|
+
try {
|
|
498
|
+
animation = el.animate(keyframes, options);
|
|
499
|
+
} catch (err) {
|
|
500
|
+
return {
|
|
501
|
+
finished: Promise.resolve()
|
|
502
|
+
};
|
|
503
|
+
}
|
|
493
504
|
if (typeof animation.finished === 'undefined') {
|
|
494
505
|
animation.finished = new Promise(resolve => {
|
|
495
506
|
animation.onfinish = () => {
|
|
@@ -784,11 +795,12 @@
|
|
|
784
795
|
b,
|
|
785
796
|
a
|
|
786
797
|
} = _ref2;
|
|
787
|
-
return `#${[toHex(r), toHex(g), toHex(b), a !== undefined ? toHex(Math.round(a * 255)) : '
|
|
798
|
+
return `#${[toHex(r), toHex(g), toHex(b), a !== undefined ? toHex(Math.round(a * 255)) : ''].join('')}`;
|
|
788
799
|
}
|
|
789
800
|
function HexToRGB(hex) {
|
|
801
|
+
hex = parseHex(hex);
|
|
790
802
|
let [r, g, b, a] = chunk(hex, 2).map(c => parseInt(c, 16));
|
|
791
|
-
a = a === undefined ? a :
|
|
803
|
+
a = a === undefined ? a : a / 255;
|
|
792
804
|
return {
|
|
793
805
|
r,
|
|
794
806
|
g,
|
|
@@ -811,9 +823,7 @@
|
|
|
811
823
|
if (hex.length === 3 || hex.length === 4) {
|
|
812
824
|
hex = hex.split('').map(x => x + x).join('');
|
|
813
825
|
}
|
|
814
|
-
if (hex.length
|
|
815
|
-
hex = padEnd(hex, 8, 'F');
|
|
816
|
-
} else {
|
|
826
|
+
if (hex.length !== 6) {
|
|
817
827
|
hex = padEnd(padEnd(hex, 6), 8, 'F');
|
|
818
828
|
}
|
|
819
829
|
return hex;
|
|
@@ -954,6 +964,8 @@
|
|
|
954
964
|
const injectedDefaults = useDefaults();
|
|
955
965
|
const providedDefaults = vue.ref(defaults);
|
|
956
966
|
const newDefaults = vue.computed(() => {
|
|
967
|
+
const disabled = vue.unref(options?.disabled);
|
|
968
|
+
if (disabled) return injectedDefaults.value;
|
|
957
969
|
const scoped = vue.unref(options?.scoped);
|
|
958
970
|
const reset = vue.unref(options?.reset);
|
|
959
971
|
const root = vue.unref(options?.root);
|
|
@@ -964,7 +976,9 @@
|
|
|
964
976
|
if (reset || root) {
|
|
965
977
|
const len = Number(reset || Infinity);
|
|
966
978
|
for (let i = 0; i <= len; i++) {
|
|
967
|
-
if (!properties
|
|
979
|
+
if (!properties || !('prev' in properties)) {
|
|
980
|
+
break;
|
|
981
|
+
}
|
|
968
982
|
properties = properties.prev;
|
|
969
983
|
}
|
|
970
984
|
return properties;
|
|
@@ -1006,15 +1020,22 @@
|
|
|
1006
1020
|
function propIsDefined(vnode, prop) {
|
|
1007
1021
|
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
|
1008
1022
|
}
|
|
1009
|
-
|
|
1023
|
+
|
|
1024
|
+
// No props
|
|
1025
|
+
|
|
1026
|
+
// Implementation
|
|
1027
|
+
function defineComponent(options) {
|
|
1010
1028
|
options._setup = options._setup ?? options.setup;
|
|
1011
1029
|
if (!options.name) {
|
|
1012
1030
|
consoleWarn('The component is missing an explicit name, unable to generate default prop value');
|
|
1013
1031
|
return options;
|
|
1014
1032
|
}
|
|
1015
1033
|
if (options._setup) {
|
|
1016
|
-
options.props = options.props ?? {};
|
|
1017
|
-
|
|
1034
|
+
options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
|
|
1035
|
+
const propKeys = Object.keys(options.props);
|
|
1036
|
+
options.filterProps = function filterProps(props) {
|
|
1037
|
+
return pick(props, propKeys);
|
|
1038
|
+
};
|
|
1018
1039
|
options.props._as = String;
|
|
1019
1040
|
options.setup = function setup(props, ctx) {
|
|
1020
1041
|
const defaults = useDefaults();
|
|
@@ -1025,10 +1046,11 @@
|
|
|
1025
1046
|
const componentDefaults = vue.computed(() => defaults.value[props._as ?? options.name]);
|
|
1026
1047
|
const _props = new Proxy(props, {
|
|
1027
1048
|
get(target, prop) {
|
|
1049
|
+
const propValue = Reflect.get(target, prop);
|
|
1028
1050
|
if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
|
1029
|
-
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ??
|
|
1051
|
+
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
|
1030
1052
|
}
|
|
1031
|
-
return
|
|
1053
|
+
return propValue;
|
|
1032
1054
|
}
|
|
1033
1055
|
});
|
|
1034
1056
|
const _subcomponentDefaults = vue.shallowRef();
|
|
@@ -1053,7 +1075,7 @@
|
|
|
1053
1075
|
};
|
|
1054
1076
|
}
|
|
1055
1077
|
return options;
|
|
1056
|
-
}
|
|
1078
|
+
}
|
|
1057
1079
|
// Implementation
|
|
1058
1080
|
function genericComponent() {
|
|
1059
1081
|
let exposeDefaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
@@ -1670,17 +1692,9 @@
|
|
|
1670
1692
|
if (current.value.dark) {
|
|
1671
1693
|
createCssClass(lines, ':root', ['color-scheme: dark']);
|
|
1672
1694
|
}
|
|
1695
|
+
createCssClass(lines, ':root', genCssVariables(current.value));
|
|
1673
1696
|
for (const [themeName, theme] of Object.entries(computedThemes.value)) {
|
|
1674
|
-
|
|
1675
|
-
variables,
|
|
1676
|
-
dark
|
|
1677
|
-
} = theme;
|
|
1678
|
-
createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${dark ? 'dark' : 'normal'}`, ...genCssVariables(theme), ...Object.keys(variables).map(key => {
|
|
1679
|
-
const value = variables[key];
|
|
1680
|
-
const color = typeof value === 'string' && value.startsWith('#') ? parseColor$1(value) : undefined;
|
|
1681
|
-
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
|
1682
|
-
return `--v-${key}: ${rgb ?? value}`;
|
|
1683
|
-
})]);
|
|
1697
|
+
createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)]);
|
|
1684
1698
|
}
|
|
1685
1699
|
const bgLines = [];
|
|
1686
1700
|
const fgLines = [];
|
|
@@ -1697,22 +1711,30 @@
|
|
|
1697
1711
|
lines.push(...bgLines, ...fgLines);
|
|
1698
1712
|
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
|
1699
1713
|
});
|
|
1714
|
+
function getHead() {
|
|
1715
|
+
return {
|
|
1716
|
+
style: [{
|
|
1717
|
+
children: styles.value,
|
|
1718
|
+
id: 'vuetify-theme-stylesheet',
|
|
1719
|
+
nonce: parsedOptions.cspNonce || false
|
|
1720
|
+
}]
|
|
1721
|
+
};
|
|
1722
|
+
}
|
|
1700
1723
|
function install(app) {
|
|
1701
1724
|
const head = app._context.provides.usehead;
|
|
1702
1725
|
if (head) {
|
|
1703
|
-
head.
|
|
1704
|
-
const
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
if (
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
}
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
vue.watchEffect(() => head.updateDOM());
|
|
1726
|
+
if (head.push) {
|
|
1727
|
+
const entry = head.push(getHead);
|
|
1728
|
+
vue.watch(styles, () => {
|
|
1729
|
+
entry.patch(getHead);
|
|
1730
|
+
});
|
|
1731
|
+
} else {
|
|
1732
|
+
if (IN_BROWSER) {
|
|
1733
|
+
head.addHeadObjs(vue.computed(getHead));
|
|
1734
|
+
vue.watchEffect(() => head.updateDOM());
|
|
1735
|
+
} else {
|
|
1736
|
+
head.addHeadObjs(getHead());
|
|
1737
|
+
}
|
|
1716
1738
|
}
|
|
1717
1739
|
} else {
|
|
1718
1740
|
let styleEl = IN_BROWSER ? document.getElementById('vuetify-theme-stylesheet') : null;
|
|
@@ -1785,6 +1807,11 @@
|
|
|
1785
1807
|
variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
|
|
1786
1808
|
}
|
|
1787
1809
|
}
|
|
1810
|
+
for (const [key, value] of Object.entries(theme.variables)) {
|
|
1811
|
+
const color = typeof value === 'string' && value.startsWith('#') ? parseColor$1(value) : undefined;
|
|
1812
|
+
const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
|
|
1813
|
+
variables.push(`--v-${key}: ${rgb ?? value}`);
|
|
1814
|
+
}
|
|
1788
1815
|
return variables;
|
|
1789
1816
|
}
|
|
1790
1817
|
|
|
@@ -1814,7 +1841,7 @@
|
|
|
1814
1841
|
});
|
|
1815
1842
|
const model = vue.computed({
|
|
1816
1843
|
get() {
|
|
1817
|
-
return transformIn(
|
|
1844
|
+
return transformIn(isControlled.value ? props[prop] : internal.value);
|
|
1818
1845
|
},
|
|
1819
1846
|
set(internalValue) {
|
|
1820
1847
|
const newValue = transformOut(internalValue);
|
|
@@ -2014,7 +2041,7 @@
|
|
|
2014
2041
|
en: false,
|
|
2015
2042
|
es: false,
|
|
2016
2043
|
et: false,
|
|
2017
|
-
fa:
|
|
2044
|
+
fa: true,
|
|
2018
2045
|
fi: false,
|
|
2019
2046
|
fr: false,
|
|
2020
2047
|
hr: false,
|
|
@@ -2147,6 +2174,7 @@
|
|
|
2147
2174
|
name: 'VDefaultsProvider',
|
|
2148
2175
|
props: {
|
|
2149
2176
|
defaults: Object,
|
|
2177
|
+
disabled: Boolean,
|
|
2150
2178
|
reset: [Number, String],
|
|
2151
2179
|
root: Boolean,
|
|
2152
2180
|
scoped: Boolean
|
|
@@ -2157,6 +2185,7 @@
|
|
|
2157
2185
|
} = _ref;
|
|
2158
2186
|
const {
|
|
2159
2187
|
defaults,
|
|
2188
|
+
disabled,
|
|
2160
2189
|
reset,
|
|
2161
2190
|
root,
|
|
2162
2191
|
scoped
|
|
@@ -2164,7 +2193,8 @@
|
|
|
2164
2193
|
provideDefaults(defaults, {
|
|
2165
2194
|
reset,
|
|
2166
2195
|
root,
|
|
2167
|
-
scoped
|
|
2196
|
+
scoped,
|
|
2197
|
+
disabled
|
|
2168
2198
|
});
|
|
2169
2199
|
return () => slots.default?.();
|
|
2170
2200
|
}
|
|
@@ -2175,7 +2205,7 @@
|
|
|
2175
2205
|
// Types
|
|
2176
2206
|
|
|
2177
2207
|
function createCssTransition(name) {
|
|
2178
|
-
let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '
|
|
2208
|
+
let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'center center';
|
|
2179
2209
|
let mode = arguments.length > 2 ? arguments[2] : undefined;
|
|
2180
2210
|
return genericComponent()({
|
|
2181
2211
|
name,
|
|
@@ -2786,7 +2816,7 @@
|
|
|
2786
2816
|
"class": ['v-img__img', containClasses.value],
|
|
2787
2817
|
"src": normalisedSrc.value.src,
|
|
2788
2818
|
"srcset": normalisedSrc.value.srcset,
|
|
2789
|
-
"alt":
|
|
2819
|
+
"alt": props.alt,
|
|
2790
2820
|
"sizes": props.sizes,
|
|
2791
2821
|
"ref": image,
|
|
2792
2822
|
"onLoad": onLoad,
|
|
@@ -2808,7 +2838,7 @@
|
|
|
2808
2838
|
default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && vue.createVNode("img", {
|
|
2809
2839
|
"class": ['v-img__img', 'v-img__img--preload', containClasses.value],
|
|
2810
2840
|
"src": normalisedSrc.value.lazySrc,
|
|
2811
|
-
"alt":
|
|
2841
|
+
"alt": props.alt
|
|
2812
2842
|
}, null)]
|
|
2813
2843
|
});
|
|
2814
2844
|
const __placeholder = () => {
|
|
@@ -3150,16 +3180,20 @@
|
|
|
3150
3180
|
default: () => [hasImage && vue.createVNode("div", {
|
|
3151
3181
|
"key": "image",
|
|
3152
3182
|
"class": "v-toolbar__image"
|
|
3153
|
-
}, [vue.createVNode(
|
|
3183
|
+
}, [!slots.image ? vue.createVNode(VImg, {
|
|
3184
|
+
"key": "image-img",
|
|
3185
|
+
"cover": true,
|
|
3186
|
+
"src": props.image
|
|
3187
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
3188
|
+
"key": "image-defaults",
|
|
3189
|
+
"disabled": !props.image,
|
|
3154
3190
|
"defaults": {
|
|
3155
3191
|
VImg: {
|
|
3156
3192
|
cover: true,
|
|
3157
3193
|
src: props.image
|
|
3158
3194
|
}
|
|
3159
3195
|
}
|
|
3160
|
-
}, {
|
|
3161
|
-
default: () => [slots.image ? slots.image?.() : vue.createVNode(VImg, null, null)]
|
|
3162
|
-
})]), vue.createVNode(VDefaultsProvider, {
|
|
3196
|
+
}, slots.image)]), vue.createVNode(VDefaultsProvider, {
|
|
3163
3197
|
"defaults": {
|
|
3164
3198
|
VTabs: {
|
|
3165
3199
|
height: convertToUnit(contentHeight.value)
|
|
@@ -3205,8 +3239,24 @@
|
|
|
3205
3239
|
};
|
|
3206
3240
|
}
|
|
3207
3241
|
});
|
|
3208
|
-
|
|
3209
|
-
|
|
3242
|
+
|
|
3243
|
+
// Utilities
|
|
3244
|
+
|
|
3245
|
+
// Composables
|
|
3246
|
+
function useSsrBoot() {
|
|
3247
|
+
const isBooted = vue.ref(false);
|
|
3248
|
+
vue.onMounted(() => {
|
|
3249
|
+
window.requestAnimationFrame(() => {
|
|
3250
|
+
isBooted.value = true;
|
|
3251
|
+
});
|
|
3252
|
+
});
|
|
3253
|
+
const ssrBootStyles = vue.computed(() => !isBooted.value ? {
|
|
3254
|
+
transition: 'none !important'
|
|
3255
|
+
} : undefined);
|
|
3256
|
+
return {
|
|
3257
|
+
ssrBootStyles,
|
|
3258
|
+
isBooted: vue.readonly(isBooted)
|
|
3259
|
+
};
|
|
3210
3260
|
}
|
|
3211
3261
|
|
|
3212
3262
|
// Types
|
|
@@ -3251,6 +3301,9 @@
|
|
|
3251
3301
|
const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0;
|
|
3252
3302
|
return height + extensionHeight;
|
|
3253
3303
|
});
|
|
3304
|
+
const {
|
|
3305
|
+
ssrBootStyles
|
|
3306
|
+
} = useSsrBoot();
|
|
3254
3307
|
const {
|
|
3255
3308
|
layoutItemStyles
|
|
3256
3309
|
} = useLayoutItem({
|
|
@@ -3263,7 +3316,7 @@
|
|
|
3263
3316
|
absolute: vue.toRef(props, 'absolute')
|
|
3264
3317
|
});
|
|
3265
3318
|
useRender(() => {
|
|
3266
|
-
const [toolbarProps] =
|
|
3319
|
+
const [toolbarProps] = VToolbar.filterProps(props);
|
|
3267
3320
|
return vue.createVNode(VToolbar, vue.mergeProps({
|
|
3268
3321
|
"ref": vToolbarRef,
|
|
3269
3322
|
"class": ['v-app-bar', {
|
|
@@ -3271,7 +3324,8 @@
|
|
|
3271
3324
|
}],
|
|
3272
3325
|
"style": {
|
|
3273
3326
|
...layoutItemStyles.value,
|
|
3274
|
-
height: undefined
|
|
3327
|
+
height: undefined,
|
|
3328
|
+
...ssrBootStyles.value
|
|
3275
3329
|
}
|
|
3276
3330
|
}, toolbarProps), slots);
|
|
3277
3331
|
});
|
|
@@ -3353,8 +3407,6 @@
|
|
|
3353
3407
|
};
|
|
3354
3408
|
}
|
|
3355
3409
|
|
|
3356
|
-
// Types
|
|
3357
|
-
|
|
3358
3410
|
const makeVBtnGroupProps = propsFactory({
|
|
3359
3411
|
divided: Boolean,
|
|
3360
3412
|
...makeBorderProps(),
|
|
@@ -3405,9 +3457,6 @@
|
|
|
3405
3457
|
});
|
|
3406
3458
|
}
|
|
3407
3459
|
});
|
|
3408
|
-
function filterVBtnGroupProps(props) {
|
|
3409
|
-
return pick(props, Object.keys(VBtnGroup.props));
|
|
3410
|
-
}
|
|
3411
3460
|
|
|
3412
3461
|
// Composables
|
|
3413
3462
|
|
|
@@ -3634,7 +3683,7 @@
|
|
|
3634
3683
|
selected
|
|
3635
3684
|
} = useGroup(props, VBtnToggleSymbol);
|
|
3636
3685
|
useRender(() => {
|
|
3637
|
-
const [btnGroupProps] =
|
|
3686
|
+
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
|
3638
3687
|
return vue.createVNode(VBtnGroup, vue.mergeProps({
|
|
3639
3688
|
"class": "v-btn-toggle"
|
|
3640
3689
|
}, btnGroupProps), {
|
|
@@ -4722,49 +4771,50 @@
|
|
|
4722
4771
|
|
|
4723
4772
|
// Types
|
|
4724
4773
|
|
|
4774
|
+
const makeVBtnProps = propsFactory({
|
|
4775
|
+
active: {
|
|
4776
|
+
type: Boolean,
|
|
4777
|
+
default: undefined
|
|
4778
|
+
},
|
|
4779
|
+
symbol: {
|
|
4780
|
+
type: null,
|
|
4781
|
+
default: VBtnToggleSymbol
|
|
4782
|
+
},
|
|
4783
|
+
flat: Boolean,
|
|
4784
|
+
icon: [Boolean, String, Function, Object],
|
|
4785
|
+
prependIcon: IconValue,
|
|
4786
|
+
appendIcon: IconValue,
|
|
4787
|
+
block: Boolean,
|
|
4788
|
+
stacked: Boolean,
|
|
4789
|
+
ripple: {
|
|
4790
|
+
type: Boolean,
|
|
4791
|
+
default: true
|
|
4792
|
+
},
|
|
4793
|
+
...makeBorderProps(),
|
|
4794
|
+
...makeRoundedProps(),
|
|
4795
|
+
...makeDensityProps(),
|
|
4796
|
+
...makeDimensionProps(),
|
|
4797
|
+
...makeElevationProps(),
|
|
4798
|
+
...makeGroupItemProps(),
|
|
4799
|
+
...makeLoaderProps(),
|
|
4800
|
+
...makeLocationProps(),
|
|
4801
|
+
...makePositionProps(),
|
|
4802
|
+
...makeRouterProps(),
|
|
4803
|
+
...makeSizeProps(),
|
|
4804
|
+
...makeTagProps({
|
|
4805
|
+
tag: 'button'
|
|
4806
|
+
}),
|
|
4807
|
+
...makeThemeProps(),
|
|
4808
|
+
...makeVariantProps({
|
|
4809
|
+
variant: 'elevated'
|
|
4810
|
+
})
|
|
4811
|
+
}, 'VBtn');
|
|
4725
4812
|
const VBtn = genericComponent()({
|
|
4726
4813
|
name: 'VBtn',
|
|
4727
4814
|
directives: {
|
|
4728
4815
|
Ripple
|
|
4729
4816
|
},
|
|
4730
|
-
props:
|
|
4731
|
-
active: {
|
|
4732
|
-
type: Boolean,
|
|
4733
|
-
default: undefined
|
|
4734
|
-
},
|
|
4735
|
-
symbol: {
|
|
4736
|
-
type: null,
|
|
4737
|
-
default: VBtnToggleSymbol
|
|
4738
|
-
},
|
|
4739
|
-
flat: Boolean,
|
|
4740
|
-
icon: [Boolean, String, Function, Object],
|
|
4741
|
-
prependIcon: IconValue,
|
|
4742
|
-
appendIcon: IconValue,
|
|
4743
|
-
block: Boolean,
|
|
4744
|
-
stacked: Boolean,
|
|
4745
|
-
ripple: {
|
|
4746
|
-
type: Boolean,
|
|
4747
|
-
default: true
|
|
4748
|
-
},
|
|
4749
|
-
...makeBorderProps(),
|
|
4750
|
-
...makeRoundedProps(),
|
|
4751
|
-
...makeDensityProps(),
|
|
4752
|
-
...makeDimensionProps(),
|
|
4753
|
-
...makeElevationProps(),
|
|
4754
|
-
...makeGroupItemProps(),
|
|
4755
|
-
...makeLoaderProps(),
|
|
4756
|
-
...makeLocationProps(),
|
|
4757
|
-
...makePositionProps(),
|
|
4758
|
-
...makeRouterProps(),
|
|
4759
|
-
...makeSizeProps(),
|
|
4760
|
-
...makeTagProps({
|
|
4761
|
-
tag: 'button'
|
|
4762
|
-
}),
|
|
4763
|
-
...makeThemeProps(),
|
|
4764
|
-
...makeVariantProps({
|
|
4765
|
-
variant: 'elevated'
|
|
4766
|
-
})
|
|
4767
|
-
},
|
|
4817
|
+
props: makeVBtnProps(),
|
|
4768
4818
|
emits: {
|
|
4769
4819
|
'group:selected': val => true
|
|
4770
4820
|
},
|
|
@@ -4857,43 +4907,49 @@
|
|
|
4857
4907
|
},
|
|
4858
4908
|
"value": valueAttr.value
|
|
4859
4909
|
}, {
|
|
4860
|
-
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode(
|
|
4910
|
+
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode("span", {
|
|
4861
4911
|
"key": "prepend",
|
|
4912
|
+
"class": "v-btn__prepend"
|
|
4913
|
+
}, [!slots.prepend ? vue.createVNode(VIcon, {
|
|
4914
|
+
"key": "prepend-icon",
|
|
4915
|
+
"icon": props.prependIcon
|
|
4916
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
4917
|
+
"key": "prepend-defaults",
|
|
4918
|
+
"disabled": !props.prependIcon,
|
|
4862
4919
|
"defaults": {
|
|
4863
4920
|
VIcon: {
|
|
4864
4921
|
icon: props.prependIcon
|
|
4865
4922
|
}
|
|
4866
4923
|
}
|
|
4867
|
-
}, {
|
|
4868
|
-
default: () => [vue.createVNode("span", {
|
|
4869
|
-
"class": "v-btn__prepend"
|
|
4870
|
-
}, [slots.prepend?.() ?? vue.createVNode(VIcon, null, null)])]
|
|
4871
|
-
}), vue.createVNode("span", {
|
|
4924
|
+
}, slots.prepend)]), vue.createVNode("span", {
|
|
4872
4925
|
"class": "v-btn__content",
|
|
4873
4926
|
"data-no-activator": ""
|
|
4874
|
-
}, [vue.createVNode(
|
|
4875
|
-
"key": "content",
|
|
4927
|
+
}, [!slots.default && hasIcon ? vue.createVNode(VIcon, {
|
|
4928
|
+
"key": "content-icon",
|
|
4929
|
+
"icon": props.icon
|
|
4930
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
4931
|
+
"key": "content-defaults",
|
|
4932
|
+
"disabled": !hasIcon,
|
|
4876
4933
|
"defaults": {
|
|
4877
4934
|
VIcon: {
|
|
4878
|
-
icon:
|
|
4935
|
+
icon: props.icon
|
|
4879
4936
|
}
|
|
4880
4937
|
}
|
|
4881
|
-
}, {
|
|
4882
|
-
default: () => [slots.default?.() ?? (hasIcon && vue.createVNode(VIcon, {
|
|
4883
|
-
"key": "icon"
|
|
4884
|
-
}, null))]
|
|
4885
|
-
})]), !props.icon && hasAppend && vue.createVNode(VDefaultsProvider, {
|
|
4938
|
+
}, slots.default)]), !props.icon && hasAppend && vue.createVNode("span", {
|
|
4886
4939
|
"key": "append",
|
|
4940
|
+
"class": "v-btn__append"
|
|
4941
|
+
}, [!slots.append ? vue.createVNode(VIcon, {
|
|
4942
|
+
"key": "append-icon",
|
|
4943
|
+
"icon": props.appendIcon
|
|
4944
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
4945
|
+
"key": "append-defaults",
|
|
4946
|
+
"disabled": !props.appendIcon,
|
|
4887
4947
|
"defaults": {
|
|
4888
4948
|
VIcon: {
|
|
4889
4949
|
icon: props.appendIcon
|
|
4890
4950
|
}
|
|
4891
4951
|
}
|
|
4892
|
-
}, {
|
|
4893
|
-
default: () => [vue.createVNode("span", {
|
|
4894
|
-
"class": "v-btn__append"
|
|
4895
|
-
}, [slots.append?.() ?? vue.createVNode(VIcon, null, null)])]
|
|
4896
|
-
}), !!props.loading && vue.createVNode("span", {
|
|
4952
|
+
}, slots.append)]), !!props.loading && vue.createVNode("span", {
|
|
4897
4953
|
"key": "loader",
|
|
4898
4954
|
"class": "v-btn__loader"
|
|
4899
4955
|
}, [slots.loader?.() ?? vue.createVNode(VProgressCircular, {
|
|
@@ -5022,10 +5078,12 @@
|
|
|
5022
5078
|
})
|
|
5023
5079
|
},
|
|
5024
5080
|
emits: {
|
|
5081
|
+
'click:close': e => true,
|
|
5025
5082
|
'update:modelValue': value => true
|
|
5026
5083
|
},
|
|
5027
5084
|
setup(props, _ref) {
|
|
5028
5085
|
let {
|
|
5086
|
+
emit,
|
|
5029
5087
|
slots
|
|
5030
5088
|
} = _ref;
|
|
5031
5089
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
@@ -5075,6 +5133,7 @@
|
|
|
5075
5133
|
'aria-label': t(props.closeLabel),
|
|
5076
5134
|
onClick(e) {
|
|
5077
5135
|
isActive.value = false;
|
|
5136
|
+
emit('click:close', e);
|
|
5078
5137
|
}
|
|
5079
5138
|
}));
|
|
5080
5139
|
return () => {
|
|
@@ -5096,8 +5155,17 @@
|
|
|
5096
5155
|
"key": "border",
|
|
5097
5156
|
"class": ['v-alert__border', textColorClasses.value],
|
|
5098
5157
|
"style": textColorStyles.value
|
|
5099
|
-
}, null), hasPrepend && vue.createVNode(
|
|
5158
|
+
}, null), hasPrepend && vue.createVNode("div", {
|
|
5100
5159
|
"key": "prepend",
|
|
5160
|
+
"class": "v-alert__prepend"
|
|
5161
|
+
}, [!slots.prepend ? vue.createVNode(VIcon, {
|
|
5162
|
+
"key": "prepend-icon",
|
|
5163
|
+
"density": props.density,
|
|
5164
|
+
"icon": icon.value,
|
|
5165
|
+
"size": props.prominent ? 44 : 28
|
|
5166
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
5167
|
+
"key": "prepend-defaults",
|
|
5168
|
+
"disabled": !icon.value,
|
|
5101
5169
|
"defaults": {
|
|
5102
5170
|
VIcon: {
|
|
5103
5171
|
density: props.density,
|
|
@@ -5105,21 +5173,25 @@
|
|
|
5105
5173
|
size: props.prominent ? 44 : 28
|
|
5106
5174
|
}
|
|
5107
5175
|
}
|
|
5108
|
-
}, {
|
|
5109
|
-
default: () => [vue.createVNode("div", {
|
|
5110
|
-
"class": "v-alert__prepend"
|
|
5111
|
-
}, [slots.prepend ? slots.prepend() : icon.value && vue.createVNode(VIcon, null, null)])]
|
|
5112
|
-
}), vue.createVNode("div", {
|
|
5176
|
+
}, slots.prepend)]), vue.createVNode("div", {
|
|
5113
5177
|
"class": "v-alert__content"
|
|
5114
5178
|
}, [hasTitle && vue.createVNode(VAlertTitle, {
|
|
5115
5179
|
"key": "title"
|
|
5116
5180
|
}, {
|
|
5117
|
-
default: () => [slots.title
|
|
5118
|
-
}), hasText && (slots.text
|
|
5181
|
+
default: () => [slots.title?.() ?? props.title]
|
|
5182
|
+
}), hasText && (slots.text?.() ?? props.text), slots.default?.()]), slots.append && vue.createVNode("div", {
|
|
5119
5183
|
"key": "append",
|
|
5120
5184
|
"class": "v-alert__append"
|
|
5121
|
-
}, [slots.append()]), hasClose && vue.createVNode(
|
|
5185
|
+
}, [slots.append()]), hasClose && vue.createVNode("div", {
|
|
5122
5186
|
"key": "close",
|
|
5187
|
+
"class": "v-alert__close"
|
|
5188
|
+
}, [!slots.close ? vue.createVNode(VBtn, vue.mergeProps({
|
|
5189
|
+
"key": "close-btn",
|
|
5190
|
+
"icon": props.closeIcon,
|
|
5191
|
+
"size": "x-small",
|
|
5192
|
+
"variant": "text"
|
|
5193
|
+
}, closeProps.value), null) : vue.createVNode(VDefaultsProvider, {
|
|
5194
|
+
"key": "close-defaults",
|
|
5123
5195
|
"defaults": {
|
|
5124
5196
|
VBtn: {
|
|
5125
5197
|
icon: props.closeIcon,
|
|
@@ -5128,12 +5200,10 @@
|
|
|
5128
5200
|
}
|
|
5129
5201
|
}
|
|
5130
5202
|
}, {
|
|
5131
|
-
default: () => [
|
|
5132
|
-
"class": "v-alert__close"
|
|
5133
|
-
}, [slots.close?.({
|
|
5203
|
+
default: () => [slots.close?.({
|
|
5134
5204
|
props: closeProps.value
|
|
5135
|
-
})
|
|
5136
|
-
})]
|
|
5205
|
+
})]
|
|
5206
|
+
})])]
|
|
5137
5207
|
});
|
|
5138
5208
|
};
|
|
5139
5209
|
}
|
|
@@ -6096,7 +6166,13 @@
|
|
|
6096
6166
|
});
|
|
6097
6167
|
}
|
|
6098
6168
|
function onInput(e) {
|
|
6099
|
-
|
|
6169
|
+
const el = e.target;
|
|
6170
|
+
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
6171
|
+
model.value = el.value;
|
|
6172
|
+
vue.nextTick(() => {
|
|
6173
|
+
el.selectionStart = caretPosition[0];
|
|
6174
|
+
el.selectionEnd = caretPosition[1];
|
|
6175
|
+
});
|
|
6100
6176
|
}
|
|
6101
6177
|
useRender(() => {
|
|
6102
6178
|
const hasCounter = !!(slots.counter || props.counter || props.counterValue);
|
|
@@ -6143,6 +6219,7 @@
|
|
|
6143
6219
|
"id": id.value,
|
|
6144
6220
|
"active": isActive.value || isDirty.value,
|
|
6145
6221
|
"dirty": isDirty.value || props.dirty,
|
|
6222
|
+
"disabled": isDisabled.value,
|
|
6146
6223
|
"focused": isFocused.value,
|
|
6147
6224
|
"error": isValid.value === false
|
|
6148
6225
|
}), {
|
|
@@ -6195,9 +6272,6 @@
|
|
|
6195
6272
|
return forwardRefs({}, vInputRef, vFieldRef, inputRef);
|
|
6196
6273
|
}
|
|
6197
6274
|
});
|
|
6198
|
-
function filterVTextFieldProps(props) {
|
|
6199
|
-
return pick(props, Object.keys(VTextField.props));
|
|
6200
|
-
}
|
|
6201
6275
|
|
|
6202
6276
|
// Types
|
|
6203
6277
|
|
|
@@ -6455,11 +6529,6 @@
|
|
|
6455
6529
|
};
|
|
6456
6530
|
}
|
|
6457
6531
|
});
|
|
6458
|
-
function filterControlProps(props) {
|
|
6459
|
-
return pick(props, Object.keys(VSelectionControl.props));
|
|
6460
|
-
}
|
|
6461
|
-
|
|
6462
|
-
// Types
|
|
6463
6532
|
|
|
6464
6533
|
const makeVCheckboxBtnProps = propsFactory({
|
|
6465
6534
|
indeterminate: Boolean,
|
|
@@ -6509,9 +6578,6 @@
|
|
|
6509
6578
|
return {};
|
|
6510
6579
|
}
|
|
6511
6580
|
});
|
|
6512
|
-
function filterCheckboxBtnProps(props) {
|
|
6513
|
-
return pick(props, Object.keys(VCheckboxBtn.props));
|
|
6514
|
-
}
|
|
6515
6581
|
|
|
6516
6582
|
// Types
|
|
6517
6583
|
|
|
@@ -6540,7 +6606,7 @@
|
|
|
6540
6606
|
useRender(() => {
|
|
6541
6607
|
const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
6542
6608
|
const [inputProps, _1] = filterInputProps(props);
|
|
6543
|
-
const [checkboxProps, _2] =
|
|
6609
|
+
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
|
6544
6610
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
6545
6611
|
"class": "v-checkbox"
|
|
6546
6612
|
}, inputAttrs, inputProps, {
|
|
@@ -6797,10 +6863,13 @@
|
|
|
6797
6863
|
const link = useLink(props, attrs);
|
|
6798
6864
|
const isLink = vue.computed(() => props.link !== false && link.isLink.value);
|
|
6799
6865
|
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
|
6800
|
-
|
|
6801
|
-
|
|
6802
|
-
|
|
6803
|
-
|
|
6866
|
+
const closeProps = vue.computed(() => ({
|
|
6867
|
+
'aria-label': t(props.closeLabel),
|
|
6868
|
+
onClick(e) {
|
|
6869
|
+
isActive.value = false;
|
|
6870
|
+
emit('click:close', e);
|
|
6871
|
+
}
|
|
6872
|
+
}));
|
|
6804
6873
|
function onClick(e) {
|
|
6805
6874
|
emit('click', e);
|
|
6806
6875
|
if (!isClickable.value) return;
|
|
@@ -6815,10 +6884,12 @@
|
|
|
6815
6884
|
}
|
|
6816
6885
|
return () => {
|
|
6817
6886
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
6818
|
-
const
|
|
6887
|
+
const hasAppendMedia = !!(props.appendIcon || props.appendAvatar);
|
|
6888
|
+
const hasAppend = !!(hasAppendMedia || slots.append);
|
|
6819
6889
|
const hasClose = !!(slots.close || props.closable);
|
|
6820
6890
|
const hasFilter = !!(slots.filter || props.filter) && group;
|
|
6821
|
-
const
|
|
6891
|
+
const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
|
|
6892
|
+
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
6822
6893
|
const hasColor = !group || group.isSelected.value;
|
|
6823
6894
|
return isActive.value && vue.withDirectives(vue.createVNode(Tag, {
|
|
6824
6895
|
"class": ['v-chip', {
|
|
@@ -6836,77 +6907,94 @@
|
|
|
6836
6907
|
"onClick": onClick,
|
|
6837
6908
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
6838
6909
|
}, {
|
|
6839
|
-
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && vue.createVNode(
|
|
6840
|
-
"key": "filter"
|
|
6841
|
-
"defaults": {
|
|
6842
|
-
VIcon: {
|
|
6843
|
-
icon: props.filterIcon
|
|
6844
|
-
}
|
|
6845
|
-
}
|
|
6910
|
+
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && vue.createVNode(VExpandXTransition, {
|
|
6911
|
+
"key": "filter"
|
|
6846
6912
|
}, {
|
|
6847
|
-
default: () => [vue.createVNode(
|
|
6848
|
-
|
|
6849
|
-
|
|
6850
|
-
|
|
6851
|
-
|
|
6852
|
-
|
|
6913
|
+
default: () => [vue.withDirectives(vue.createVNode("div", {
|
|
6914
|
+
"class": "v-chip__filter"
|
|
6915
|
+
}, [!slots.filter ? vue.createVNode(VIcon, {
|
|
6916
|
+
"key": "filter-icon",
|
|
6917
|
+
"icon": props.filterIcon
|
|
6918
|
+
}, null) : vue.withDirectives(vue.createVNode(VDefaultsProvider, {
|
|
6919
|
+
"key": "filter-defaults",
|
|
6920
|
+
"disabled": !props.filterIcon,
|
|
6921
|
+
"defaults": {
|
|
6922
|
+
VIcon: {
|
|
6923
|
+
icon: props.filterIcon
|
|
6924
|
+
}
|
|
6925
|
+
}
|
|
6926
|
+
}, null), [[vue.resolveDirective("slot"), slots.filter, "default"]])]), [[vue.vShow, group.isSelected.value]])]
|
|
6927
|
+
}), hasPrepend && vue.createVNode("div", {
|
|
6853
6928
|
"key": "prepend",
|
|
6929
|
+
"class": "v-chip__prepend"
|
|
6930
|
+
}, [!slots.prepend ? vue.createVNode(vue.Fragment, null, [props.prependIcon && vue.createVNode(VIcon, {
|
|
6931
|
+
"key": "prepend-icon",
|
|
6932
|
+
"icon": props.prependIcon,
|
|
6933
|
+
"start": true
|
|
6934
|
+
}, null), props.prependAvatar && vue.createVNode(VAvatar, {
|
|
6935
|
+
"key": "prepend-avatar",
|
|
6936
|
+
"image": props.prependAvatar,
|
|
6937
|
+
"start": true
|
|
6938
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
6939
|
+
"key": "prepend-defaults",
|
|
6940
|
+
"disabled": !hasPrependMedia,
|
|
6854
6941
|
"defaults": {
|
|
6855
6942
|
VAvatar: {
|
|
6856
|
-
image: props.prependAvatar
|
|
6943
|
+
image: props.prependAvatar,
|
|
6944
|
+
start: true
|
|
6857
6945
|
},
|
|
6858
6946
|
VIcon: {
|
|
6859
|
-
icon: props.prependIcon
|
|
6947
|
+
icon: props.prependIcon,
|
|
6948
|
+
start: true
|
|
6860
6949
|
}
|
|
6861
6950
|
}
|
|
6862
|
-
}, {
|
|
6863
|
-
default: () => [slots.prepend ? vue.createVNode("div", {
|
|
6864
|
-
"class": "v-chip__prepend"
|
|
6865
|
-
}, [slots.prepend()]) : props.prependAvatar ? vue.createVNode(VAvatar, {
|
|
6866
|
-
"start": true
|
|
6867
|
-
}, null) : props.prependIcon ? vue.createVNode(VIcon, {
|
|
6868
|
-
"start": true
|
|
6869
|
-
}, null) : undefined]
|
|
6870
|
-
}), slots.default?.({
|
|
6951
|
+
}, slots.prepend)]), slots.default?.({
|
|
6871
6952
|
isSelected: group?.isSelected.value,
|
|
6872
6953
|
selectedClass: group?.selectedClass.value,
|
|
6873
6954
|
select: group?.select,
|
|
6874
6955
|
toggle: group?.toggle,
|
|
6875
6956
|
value: group?.value.value,
|
|
6876
6957
|
disabled: props.disabled
|
|
6877
|
-
}) ?? props.text, hasAppend && vue.createVNode(
|
|
6958
|
+
}) ?? props.text, hasAppend && vue.createVNode("div", {
|
|
6878
6959
|
"key": "append",
|
|
6960
|
+
"class": "v-chip__append"
|
|
6961
|
+
}, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
|
|
6962
|
+
"key": "append-icon",
|
|
6963
|
+
"end": true,
|
|
6964
|
+
"icon": props.appendIcon
|
|
6965
|
+
}, null), props.appendAvatar && vue.createVNode(VAvatar, {
|
|
6966
|
+
"key": "append-avatar",
|
|
6967
|
+
"end": true,
|
|
6968
|
+
"image": props.appendAvatar
|
|
6969
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
6970
|
+
"key": "append-defaults",
|
|
6971
|
+
"disabled": !hasAppendMedia,
|
|
6879
6972
|
"defaults": {
|
|
6880
6973
|
VAvatar: {
|
|
6974
|
+
end: true,
|
|
6881
6975
|
image: props.appendAvatar
|
|
6882
6976
|
},
|
|
6883
6977
|
VIcon: {
|
|
6978
|
+
end: true,
|
|
6884
6979
|
icon: props.appendIcon
|
|
6885
6980
|
}
|
|
6886
6981
|
}
|
|
6887
|
-
}, {
|
|
6888
|
-
default: () => [slots.append ? vue.createVNode("div", {
|
|
6889
|
-
"class": "v-chip__append"
|
|
6890
|
-
}, [slots.append()]) : props.appendAvatar ? vue.createVNode(VAvatar, {
|
|
6891
|
-
"end": true
|
|
6892
|
-
}, null) : props.appendIcon ? vue.createVNode(VIcon, {
|
|
6893
|
-
"end": true
|
|
6894
|
-
}, null) : undefined]
|
|
6895
|
-
}), hasClose && vue.createVNode(VDefaultsProvider, {
|
|
6982
|
+
}, slots.append)]), hasClose && vue.createVNode("div", vue.mergeProps({
|
|
6896
6983
|
"key": "close",
|
|
6984
|
+
"class": "v-chip__close"
|
|
6985
|
+
}, closeProps.value), [!slots.close ? vue.createVNode(VIcon, {
|
|
6986
|
+
"key": "close-icon",
|
|
6987
|
+
"icon": props.closeIcon,
|
|
6988
|
+
"size": "x-small"
|
|
6989
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
6990
|
+
"key": "close-defaults",
|
|
6897
6991
|
"defaults": {
|
|
6898
6992
|
VIcon: {
|
|
6899
6993
|
icon: props.closeIcon,
|
|
6900
6994
|
size: 'x-small'
|
|
6901
6995
|
}
|
|
6902
6996
|
}
|
|
6903
|
-
},
|
|
6904
|
-
default: () => [vue.createVNode("div", {
|
|
6905
|
-
"class": "v-chip__close",
|
|
6906
|
-
"aria-label": t(props.closeLabel),
|
|
6907
|
-
"onClick": onCloseClick
|
|
6908
|
-
}, [slots.close ? slots.close() : vue.createVNode(VIcon, null, null)])]
|
|
6909
|
-
})]
|
|
6997
|
+
}, slots.close)])]
|
|
6910
6998
|
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple, null]]);
|
|
6911
6999
|
};
|
|
6912
7000
|
}
|
|
@@ -7047,7 +7135,6 @@
|
|
|
7047
7135
|
};
|
|
7048
7136
|
|
|
7049
7137
|
/* eslint-disable sonarjs/no-identical-functions */
|
|
7050
|
-
|
|
7051
7138
|
const independentSelectStrategy = mandatory => {
|
|
7052
7139
|
const strategy = {
|
|
7053
7140
|
select: _ref => {
|
|
@@ -7056,6 +7143,8 @@
|
|
|
7056
7143
|
value,
|
|
7057
7144
|
selected
|
|
7058
7145
|
} = _ref;
|
|
7146
|
+
id = vue.toRaw(id);
|
|
7147
|
+
|
|
7059
7148
|
// When mandatory and we're trying to deselect when id
|
|
7060
7149
|
// is the only currently selected item then do nothing
|
|
7061
7150
|
if (mandatory && !value) {
|
|
@@ -7100,6 +7189,7 @@
|
|
|
7100
7189
|
id,
|
|
7101
7190
|
...rest
|
|
7102
7191
|
} = _ref3;
|
|
7192
|
+
id = vue.toRaw(id);
|
|
7103
7193
|
const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)]]) : new Map();
|
|
7104
7194
|
return parentStrategy.select({
|
|
7105
7195
|
...rest,
|
|
@@ -7130,6 +7220,7 @@
|
|
|
7130
7220
|
children,
|
|
7131
7221
|
...rest
|
|
7132
7222
|
} = _ref4;
|
|
7223
|
+
id = vue.toRaw(id);
|
|
7133
7224
|
if (children.has(id)) return selected;
|
|
7134
7225
|
return parentStrategy.select({
|
|
7135
7226
|
id,
|
|
@@ -7153,6 +7244,7 @@
|
|
|
7153
7244
|
children,
|
|
7154
7245
|
...rest
|
|
7155
7246
|
} = _ref5;
|
|
7247
|
+
id = vue.toRaw(id);
|
|
7156
7248
|
if (children.has(id)) return selected;
|
|
7157
7249
|
return parentStrategy.select({
|
|
7158
7250
|
id,
|
|
@@ -7176,6 +7268,7 @@
|
|
|
7176
7268
|
children,
|
|
7177
7269
|
parents
|
|
7178
7270
|
} = _ref6;
|
|
7271
|
+
id = vue.toRaw(id);
|
|
7179
7272
|
const original = new Map(selected);
|
|
7180
7273
|
const items = [id];
|
|
7181
7274
|
while (items.length) {
|
|
@@ -7397,7 +7490,7 @@
|
|
|
7397
7490
|
isOpen: vue.computed(() => parent.root.opened.value.has(computedId.value)),
|
|
7398
7491
|
parent: vue.computed(() => parent.root.parents.value.get(computedId.value)),
|
|
7399
7492
|
select: (selected, e) => parent.root.select(computedId.value, selected, e),
|
|
7400
|
-
isSelected: vue.computed(() => parent.root.selected.value.get(computedId.value) === 'on'),
|
|
7493
|
+
isSelected: vue.computed(() => parent.root.selected.value.get(vue.toRaw(computedId.value)) === 'on'),
|
|
7401
7494
|
isIndeterminate: vue.computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),
|
|
7402
7495
|
isLeaf: vue.computed(() => !parent.root.children.value.get(computedId.value)),
|
|
7403
7496
|
isGroupActivator: parent.isGroupActivator
|
|
@@ -7417,8 +7510,6 @@
|
|
|
7417
7510
|
});
|
|
7418
7511
|
};
|
|
7419
7512
|
|
|
7420
|
-
// Types
|
|
7421
|
-
|
|
7422
7513
|
const VListGroupActivator = defineComponent({
|
|
7423
7514
|
name: 'VListGroupActivator',
|
|
7424
7515
|
setup(_, _ref) {
|
|
@@ -7511,9 +7602,6 @@
|
|
|
7511
7602
|
return {};
|
|
7512
7603
|
}
|
|
7513
7604
|
});
|
|
7514
|
-
function filterListGroupProps(props) {
|
|
7515
|
-
return pick(props, Object.keys(VListGroup.props));
|
|
7516
|
-
}
|
|
7517
7605
|
|
|
7518
7606
|
const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle');
|
|
7519
7607
|
|
|
@@ -7651,8 +7739,10 @@
|
|
|
7651
7739
|
const hasColor = !list || isSelected.value || isActive.value;
|
|
7652
7740
|
const hasTitle = slots.title || props.title;
|
|
7653
7741
|
const hasSubtitle = slots.subtitle || props.subtitle;
|
|
7654
|
-
const
|
|
7655
|
-
const
|
|
7742
|
+
const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);
|
|
7743
|
+
const hasAppend = !!(hasAppendMedia || slots.append);
|
|
7744
|
+
const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
|
|
7745
|
+
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
7656
7746
|
list?.updateHasPrepend(hasPrepend);
|
|
7657
7747
|
return vue.withDirectives(vue.createVNode(Tag, {
|
|
7658
7748
|
"class": ['v-list-item', {
|
|
@@ -7672,7 +7762,7 @@
|
|
|
7672
7762
|
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createVNode("div", {
|
|
7673
7763
|
"key": "prepend",
|
|
7674
7764
|
"class": "v-list-item__prepend"
|
|
7675
|
-
}, [props.prependAvatar && vue.createVNode(VAvatar, {
|
|
7765
|
+
}, [!slots.prepend ? vue.createVNode(vue.Fragment, null, [props.prependAvatar && vue.createVNode(VAvatar, {
|
|
7676
7766
|
"key": "prepend-avatar",
|
|
7677
7767
|
"density": props.density,
|
|
7678
7768
|
"image": props.prependAvatar
|
|
@@ -7680,8 +7770,9 @@
|
|
|
7680
7770
|
"key": "prepend-icon",
|
|
7681
7771
|
"density": props.density,
|
|
7682
7772
|
"icon": props.prependIcon
|
|
7683
|
-
}, null)
|
|
7684
|
-
"key": "prepend",
|
|
7773
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
7774
|
+
"key": "prepend-defaults",
|
|
7775
|
+
"disabled": !hasPrependMedia,
|
|
7685
7776
|
"defaults": {
|
|
7686
7777
|
VAvatar: {
|
|
7687
7778
|
density: props.density,
|
|
@@ -7696,7 +7787,7 @@
|
|
|
7696
7787
|
}
|
|
7697
7788
|
}
|
|
7698
7789
|
}, {
|
|
7699
|
-
default: () => [slots.prepend(slotProps.value)]
|
|
7790
|
+
default: () => [slots.prepend?.(slotProps.value)]
|
|
7700
7791
|
})]), vue.createVNode("div", {
|
|
7701
7792
|
"class": "v-list-item__content",
|
|
7702
7793
|
"data-no-activator": ""
|
|
@@ -7715,8 +7806,17 @@
|
|
|
7715
7806
|
}), slots.default?.(slotProps.value)]), hasAppend && vue.createVNode("div", {
|
|
7716
7807
|
"key": "append",
|
|
7717
7808
|
"class": "v-list-item__append"
|
|
7718
|
-
}, [slots.append && vue.createVNode(
|
|
7719
|
-
"key": "append",
|
|
7809
|
+
}, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
|
|
7810
|
+
"key": "append-icon",
|
|
7811
|
+
"density": props.density,
|
|
7812
|
+
"icon": props.appendIcon
|
|
7813
|
+
}, null), props.appendAvatar && vue.createVNode(VAvatar, {
|
|
7814
|
+
"key": "append-avatar",
|
|
7815
|
+
"density": props.density,
|
|
7816
|
+
"image": props.appendAvatar
|
|
7817
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
7818
|
+
"key": "append-defaults",
|
|
7819
|
+
"disabled": !hasAppendMedia,
|
|
7720
7820
|
"defaults": {
|
|
7721
7821
|
VAvatar: {
|
|
7722
7822
|
density: props.density,
|
|
@@ -7731,16 +7831,8 @@
|
|
|
7731
7831
|
}
|
|
7732
7832
|
}
|
|
7733
7833
|
}, {
|
|
7734
|
-
default: () => [slots.append(slotProps.value)]
|
|
7735
|
-
})
|
|
7736
|
-
"key": "append-icon",
|
|
7737
|
-
"density": props.density,
|
|
7738
|
-
"icon": props.appendIcon
|
|
7739
|
-
}, null), props.appendAvatar && vue.createVNode(VAvatar, {
|
|
7740
|
-
"key": "append-avatar",
|
|
7741
|
-
"density": props.density,
|
|
7742
|
-
"image": props.appendAvatar
|
|
7743
|
-
}, null)])]
|
|
7834
|
+
default: () => [slots.append?.(slotProps.value)]
|
|
7835
|
+
})])]
|
|
7744
7836
|
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
7745
7837
|
});
|
|
7746
7838
|
return {};
|
|
@@ -7837,7 +7929,7 @@
|
|
|
7837
7929
|
item
|
|
7838
7930
|
}) : undefined
|
|
7839
7931
|
};
|
|
7840
|
-
const [listGroupProps, _1] =
|
|
7932
|
+
const [listGroupProps, _1] = VListGroup.filterProps(itemProps);
|
|
7841
7933
|
return children ? vue.createVNode(VListGroup, vue.mergeProps({
|
|
7842
7934
|
"value": itemProps?.value
|
|
7843
7935
|
}, listGroupProps), {
|
|
@@ -8959,7 +9051,7 @@
|
|
|
8959
9051
|
if (!(data.isActive.value && props.scrollStrategy)) return;
|
|
8960
9052
|
scope = vue.effectScope();
|
|
8961
9053
|
await vue.nextTick();
|
|
8962
|
-
scope.run(() => {
|
|
9054
|
+
scope.active && scope.run(() => {
|
|
8963
9055
|
if (typeof props.scrollStrategy === 'function') {
|
|
8964
9056
|
props.scrollStrategy(data, props, scope);
|
|
8965
9057
|
} else {
|
|
@@ -9040,7 +9132,7 @@
|
|
|
9040
9132
|
});
|
|
9041
9133
|
});
|
|
9042
9134
|
vue.onScopeDispose(() => {
|
|
9043
|
-
cancelIdleCallback(ric);
|
|
9135
|
+
typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric);
|
|
9044
9136
|
cancelAnimationFrame(raf);
|
|
9045
9137
|
});
|
|
9046
9138
|
}
|
|
@@ -9064,6 +9156,8 @@
|
|
|
9064
9156
|
|
|
9065
9157
|
// Types
|
|
9066
9158
|
|
|
9159
|
+
const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
|
|
9160
|
+
|
|
9067
9161
|
const DisplaySymbol = Symbol.for('vuetify:display');
|
|
9068
9162
|
const defaultDisplayOptions = {
|
|
9069
9163
|
mobileBreakpoint: 'lg',
|
|
@@ -9086,8 +9180,8 @@
|
|
|
9086
9180
|
function getClientHeight(isHydrate) {
|
|
9087
9181
|
return IN_BROWSER && !isHydrate ? window.innerHeight : 0;
|
|
9088
9182
|
}
|
|
9089
|
-
function getPlatform() {
|
|
9090
|
-
const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr';
|
|
9183
|
+
function getPlatform(isHydrate) {
|
|
9184
|
+
const userAgent = IN_BROWSER && !isHydrate ? window.navigator.userAgent : 'ssr';
|
|
9091
9185
|
function match(regexp) {
|
|
9092
9186
|
return Boolean(userAgent.match(regexp));
|
|
9093
9187
|
}
|
|
@@ -9102,7 +9196,6 @@
|
|
|
9102
9196
|
const win = match(/win/i);
|
|
9103
9197
|
const mac = match(/mac/i);
|
|
9104
9198
|
const linux = match(/linux/i);
|
|
9105
|
-
const ssr = match(/ssr/i);
|
|
9106
9199
|
return {
|
|
9107
9200
|
android,
|
|
9108
9201
|
ios,
|
|
@@ -9116,7 +9209,7 @@
|
|
|
9116
9209
|
mac,
|
|
9117
9210
|
linux,
|
|
9118
9211
|
touch: SUPPORTS_TOUCH,
|
|
9119
|
-
ssr
|
|
9212
|
+
ssr: userAgent === 'ssr'
|
|
9120
9213
|
};
|
|
9121
9214
|
}
|
|
9122
9215
|
function createDisplay(options, ssr) {
|
|
@@ -9125,13 +9218,17 @@
|
|
|
9125
9218
|
mobileBreakpoint
|
|
9126
9219
|
} = parseDisplayOptions(options);
|
|
9127
9220
|
const height = vue.ref(getClientHeight(ssr));
|
|
9128
|
-
const platform = getPlatform();
|
|
9221
|
+
const platform = vue.shallowRef(getPlatform(ssr));
|
|
9129
9222
|
const state = vue.reactive({});
|
|
9130
9223
|
const width = vue.ref(getClientWidth(ssr));
|
|
9131
|
-
function
|
|
9224
|
+
function updateSize() {
|
|
9132
9225
|
height.value = getClientHeight();
|
|
9133
9226
|
width.value = getClientWidth();
|
|
9134
9227
|
}
|
|
9228
|
+
function update() {
|
|
9229
|
+
updateSize();
|
|
9230
|
+
platform.value = getPlatform();
|
|
9231
|
+
}
|
|
9135
9232
|
|
|
9136
9233
|
// eslint-disable-next-line max-statements
|
|
9137
9234
|
vue.watchEffect(() => {
|
|
@@ -9143,7 +9240,7 @@
|
|
|
9143
9240
|
const xxl = width.value >= thresholds.xxl;
|
|
9144
9241
|
const name = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl';
|
|
9145
9242
|
const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint];
|
|
9146
|
-
const mobile =
|
|
9243
|
+
const mobile = width.value < breakpointValue;
|
|
9147
9244
|
state.xs = xs;
|
|
9148
9245
|
state.sm = sm;
|
|
9149
9246
|
state.md = md;
|
|
@@ -9163,11 +9260,11 @@
|
|
|
9163
9260
|
state.width = width.value;
|
|
9164
9261
|
state.mobile = mobile;
|
|
9165
9262
|
state.mobileBreakpoint = mobileBreakpoint;
|
|
9166
|
-
state.platform = platform;
|
|
9263
|
+
state.platform = platform.value;
|
|
9167
9264
|
state.thresholds = thresholds;
|
|
9168
9265
|
});
|
|
9169
9266
|
if (IN_BROWSER) {
|
|
9170
|
-
window.addEventListener('resize',
|
|
9267
|
+
window.addEventListener('resize', updateSize, {
|
|
9171
9268
|
passive: true
|
|
9172
9269
|
});
|
|
9173
9270
|
}
|
|
@@ -9232,7 +9329,7 @@
|
|
|
9232
9329
|
parent?.activeChildren.add(vm.uid);
|
|
9233
9330
|
vue.onScopeDispose(() => {
|
|
9234
9331
|
if (createStackEntry) {
|
|
9235
|
-
const idx = globalStack.findIndex(v => v[0] === vm.uid);
|
|
9332
|
+
const idx = vue.toRaw(globalStack).findIndex(v => v[0] === vm.uid);
|
|
9236
9333
|
globalStack.splice(idx, 1);
|
|
9237
9334
|
}
|
|
9238
9335
|
parent?.activeChildren.delete(vm.uid);
|
|
@@ -9616,9 +9713,6 @@
|
|
|
9616
9713
|
};
|
|
9617
9714
|
}
|
|
9618
9715
|
});
|
|
9619
|
-
function filterVOverlayProps(props) {
|
|
9620
|
-
return pick(props, Object.keys(VOverlay.props));
|
|
9621
|
-
}
|
|
9622
9716
|
|
|
9623
9717
|
// Types
|
|
9624
9718
|
|
|
@@ -9655,17 +9749,17 @@
|
|
|
9655
9749
|
const id = vue.computed(() => props.id || `v-menu-${uid}`);
|
|
9656
9750
|
const overlay = vue.ref();
|
|
9657
9751
|
const parent = vue.inject(VMenuSymbol, null);
|
|
9658
|
-
|
|
9752
|
+
const openChildren = vue.ref(0);
|
|
9659
9753
|
vue.provide(VMenuSymbol, {
|
|
9660
9754
|
register() {
|
|
9661
|
-
++openChildren;
|
|
9755
|
+
++openChildren.value;
|
|
9662
9756
|
},
|
|
9663
9757
|
unregister() {
|
|
9664
|
-
--openChildren;
|
|
9758
|
+
--openChildren.value;
|
|
9665
9759
|
},
|
|
9666
9760
|
closeParents() {
|
|
9667
9761
|
setTimeout(() => {
|
|
9668
|
-
if (!openChildren) {
|
|
9762
|
+
if (!openChildren.value) {
|
|
9669
9763
|
isActive.value = false;
|
|
9670
9764
|
parent?.closeParents();
|
|
9671
9765
|
}
|
|
@@ -9684,7 +9778,7 @@
|
|
|
9684
9778
|
'aria-owns': id.value
|
|
9685
9779
|
}, props.activatorProps));
|
|
9686
9780
|
useRender(() => {
|
|
9687
|
-
const [overlayProps] =
|
|
9781
|
+
const [overlayProps] = VOverlay.filterProps(props);
|
|
9688
9782
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
9689
9783
|
"ref": overlay,
|
|
9690
9784
|
"class": ['v-menu']
|
|
@@ -9709,7 +9803,8 @@
|
|
|
9709
9803
|
});
|
|
9710
9804
|
});
|
|
9711
9805
|
return forwardRefs({
|
|
9712
|
-
id
|
|
9806
|
+
id,
|
|
9807
|
+
ΨopenChildren: openChildren
|
|
9713
9808
|
}, overlay);
|
|
9714
9809
|
}
|
|
9715
9810
|
});
|
|
@@ -9769,7 +9864,15 @@
|
|
|
9769
9864
|
t
|
|
9770
9865
|
} = useLocale();
|
|
9771
9866
|
const vTextFieldRef = vue.ref();
|
|
9772
|
-
const
|
|
9867
|
+
const vMenuRef = vue.ref();
|
|
9868
|
+
const _menu = useProxiedModel(props, 'menu');
|
|
9869
|
+
const menu = vue.computed({
|
|
9870
|
+
get: () => _menu.value,
|
|
9871
|
+
set: v => {
|
|
9872
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
|
9873
|
+
_menu.value = v;
|
|
9874
|
+
}
|
|
9875
|
+
});
|
|
9773
9876
|
const {
|
|
9774
9877
|
items,
|
|
9775
9878
|
transformIn,
|
|
@@ -9851,7 +9954,7 @@
|
|
|
9851
9954
|
useRender(() => {
|
|
9852
9955
|
const hasChips = !!(props.chips || slots.chip);
|
|
9853
9956
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
9854
|
-
const [textFieldProps] =
|
|
9957
|
+
const [textFieldProps] = VTextField.filterProps(props);
|
|
9855
9958
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
9856
9959
|
"ref": vTextFieldRef
|
|
9857
9960
|
}, textFieldProps, {
|
|
@@ -9876,6 +9979,7 @@
|
|
|
9876
9979
|
}), {
|
|
9877
9980
|
...slots,
|
|
9878
9981
|
default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, vue.mergeProps({
|
|
9982
|
+
"ref": vMenuRef,
|
|
9879
9983
|
"modelValue": menu.value,
|
|
9880
9984
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
9881
9985
|
"activator": "parent",
|
|
@@ -9936,7 +10040,13 @@
|
|
|
9936
10040
|
return vue.createVNode("div", {
|
|
9937
10041
|
"key": item.value,
|
|
9938
10042
|
"class": "v-select__selection"
|
|
9939
|
-
}, [hasChips ? vue.createVNode(
|
|
10043
|
+
}, [hasChips ? !slots.chip ? vue.createVNode(VChip, vue.mergeProps({
|
|
10044
|
+
"key": "chip",
|
|
10045
|
+
"closable": props.closableChips,
|
|
10046
|
+
"size": "small",
|
|
10047
|
+
"text": item.title
|
|
10048
|
+
}, slotProps), null) : vue.createVNode(VDefaultsProvider, {
|
|
10049
|
+
"key": "chip-defaults",
|
|
9940
10050
|
"defaults": {
|
|
9941
10051
|
VChip: {
|
|
9942
10052
|
closable: props.closableChips,
|
|
@@ -9945,15 +10055,15 @@
|
|
|
9945
10055
|
}
|
|
9946
10056
|
}
|
|
9947
10057
|
}, {
|
|
9948
|
-
default: () => [slots.chip
|
|
10058
|
+
default: () => [slots.chip?.({
|
|
9949
10059
|
item,
|
|
9950
10060
|
index,
|
|
9951
10061
|
props: slotProps
|
|
9952
|
-
})
|
|
9953
|
-
}) : slots.selection
|
|
10062
|
+
})]
|
|
10063
|
+
}) : slots.selection?.({
|
|
9954
10064
|
item,
|
|
9955
10065
|
index
|
|
9956
|
-
})
|
|
10066
|
+
}) ?? vue.createVNode("span", {
|
|
9957
10067
|
"class": "v-select__selection-text"
|
|
9958
10068
|
}, [item.title, props.multiple && index < selections.value.length - 1 && vue.createVNode("span", {
|
|
9959
10069
|
"class": "v-select__selection-comma"
|
|
@@ -10114,7 +10224,15 @@
|
|
|
10114
10224
|
const vTextFieldRef = vue.ref();
|
|
10115
10225
|
const isFocused = vue.ref(false);
|
|
10116
10226
|
const isPristine = vue.ref(true);
|
|
10117
|
-
const
|
|
10227
|
+
const vMenuRef = vue.ref();
|
|
10228
|
+
const _menu = useProxiedModel(props, 'menu');
|
|
10229
|
+
const menu = vue.computed({
|
|
10230
|
+
get: () => _menu.value,
|
|
10231
|
+
set: v => {
|
|
10232
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
|
10233
|
+
_menu.value = v;
|
|
10234
|
+
}
|
|
10235
|
+
});
|
|
10118
10236
|
const {
|
|
10119
10237
|
items,
|
|
10120
10238
|
transformIn,
|
|
@@ -10229,7 +10347,7 @@
|
|
|
10229
10347
|
useRender(() => {
|
|
10230
10348
|
const hasChips = !!(props.chips || slots.chip);
|
|
10231
10349
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
10232
|
-
const [textFieldProps] =
|
|
10350
|
+
const [textFieldProps] = VTextField.filterProps(props);
|
|
10233
10351
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
10234
10352
|
"ref": vTextFieldRef
|
|
10235
10353
|
}, textFieldProps, {
|
|
@@ -10256,6 +10374,7 @@
|
|
|
10256
10374
|
}), {
|
|
10257
10375
|
...slots,
|
|
10258
10376
|
default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, vue.mergeProps({
|
|
10377
|
+
"ref": vMenuRef,
|
|
10259
10378
|
"modelValue": menu.value,
|
|
10260
10379
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
10261
10380
|
"activator": "parent",
|
|
@@ -10316,7 +10435,13 @@
|
|
|
10316
10435
|
return vue.createVNode("div", {
|
|
10317
10436
|
"key": item.value,
|
|
10318
10437
|
"class": "v-autocomplete__selection"
|
|
10319
|
-
}, [hasChips ? vue.createVNode(
|
|
10438
|
+
}, [hasChips ? !slots.chip ? vue.createVNode(VChip, vue.mergeProps({
|
|
10439
|
+
"key": "chip",
|
|
10440
|
+
"closable": props.closableChips,
|
|
10441
|
+
"size": "small",
|
|
10442
|
+
"text": item.title
|
|
10443
|
+
}, slotProps), null) : vue.createVNode(VDefaultsProvider, {
|
|
10444
|
+
"key": "chip-defaults",
|
|
10320
10445
|
"defaults": {
|
|
10321
10446
|
VChip: {
|
|
10322
10447
|
closable: props.closableChips,
|
|
@@ -10325,15 +10450,15 @@
|
|
|
10325
10450
|
}
|
|
10326
10451
|
}
|
|
10327
10452
|
}, {
|
|
10328
|
-
default: () => [slots.chip
|
|
10453
|
+
default: () => [slots.chip?.({
|
|
10329
10454
|
item,
|
|
10330
10455
|
index,
|
|
10331
10456
|
props: slotProps
|
|
10332
|
-
})
|
|
10333
|
-
}) : slots.selection
|
|
10457
|
+
})]
|
|
10458
|
+
}) : slots.selection?.({
|
|
10334
10459
|
item,
|
|
10335
10460
|
index
|
|
10336
|
-
})
|
|
10461
|
+
}) ?? vue.createVNode("span", {
|
|
10337
10462
|
"class": "v-autocomplete__selection-text"
|
|
10338
10463
|
}, [item.title, props.multiple && index < selections.value.length - 1 && vue.createVNode("span", {
|
|
10339
10464
|
"class": "v-autocomplete__selection-comma"
|
|
@@ -10534,7 +10659,8 @@
|
|
|
10534
10659
|
});
|
|
10535
10660
|
useRender(() => {
|
|
10536
10661
|
const hasText = !!(props.text || slots.text);
|
|
10537
|
-
const
|
|
10662
|
+
const hasPrependMedia = !!(props.avatar || props.icon);
|
|
10663
|
+
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
10538
10664
|
return vue.createVNode(props.tag, {
|
|
10539
10665
|
"class": ['v-banner', {
|
|
10540
10666
|
'v-banner--stacked': props.stacked || mobile.value,
|
|
@@ -10544,8 +10670,18 @@
|
|
|
10544
10670
|
"style": [dimensionStyles.value, locationStyles.value],
|
|
10545
10671
|
"role": "banner"
|
|
10546
10672
|
}, {
|
|
10547
|
-
default: () => [hasPrepend && vue.createVNode(
|
|
10673
|
+
default: () => [hasPrepend && vue.createVNode("div", {
|
|
10548
10674
|
"key": "prepend",
|
|
10675
|
+
"class": "v-banner__prepend"
|
|
10676
|
+
}, [!slots.prepend ? vue.createVNode(VAvatar, {
|
|
10677
|
+
"key": "prepend-avatar",
|
|
10678
|
+
"color": color.value,
|
|
10679
|
+
"density": density.value,
|
|
10680
|
+
"icon": props.icon,
|
|
10681
|
+
"image": props.avatar
|
|
10682
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
10683
|
+
"key": "prepend-defaults",
|
|
10684
|
+
"disabled": !hasPrependMedia,
|
|
10549
10685
|
"defaults": {
|
|
10550
10686
|
VAvatar: {
|
|
10551
10687
|
color: color.value,
|
|
@@ -10554,19 +10690,15 @@
|
|
|
10554
10690
|
image: props.avatar
|
|
10555
10691
|
}
|
|
10556
10692
|
}
|
|
10557
|
-
}, {
|
|
10558
|
-
default: () => [vue.createVNode("div", {
|
|
10559
|
-
"class": "v-banner__prepend"
|
|
10560
|
-
}, [slots.prepend ? slots.prepend() : (props.avatar || props.icon) && vue.createVNode(VAvatar, null, null)])]
|
|
10561
|
-
}), vue.createVNode("div", {
|
|
10693
|
+
}, slots.prepend)]), vue.createVNode("div", {
|
|
10562
10694
|
"class": "v-banner__content"
|
|
10563
10695
|
}, [hasText && vue.createVNode(VBannerText, {
|
|
10564
10696
|
"key": "text"
|
|
10565
10697
|
}, {
|
|
10566
|
-
default: () => [slots.text
|
|
10567
|
-
}), slots.default?.()]), slots.actions && vue.createVNode(VBannerActions,
|
|
10568
|
-
|
|
10569
|
-
})]
|
|
10698
|
+
default: () => [slots.text?.() ?? props.text]
|
|
10699
|
+
}), slots.default?.()]), slots.actions && vue.createVNode(VBannerActions, {
|
|
10700
|
+
"key": "actions"
|
|
10701
|
+
}, slots.actions)]
|
|
10570
10702
|
});
|
|
10571
10703
|
});
|
|
10572
10704
|
}
|
|
@@ -10632,6 +10764,9 @@
|
|
|
10632
10764
|
const {
|
|
10633
10765
|
roundedClasses
|
|
10634
10766
|
} = useRounded(props);
|
|
10767
|
+
const {
|
|
10768
|
+
ssrBootStyles
|
|
10769
|
+
} = useSsrBoot();
|
|
10635
10770
|
const height = vue.computed(() => Number(props.height) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0));
|
|
10636
10771
|
const isActive = vue.toRef(props, 'active');
|
|
10637
10772
|
const {
|
|
@@ -10666,7 +10801,7 @@
|
|
|
10666
10801
|
"style": [backgroundColorStyles.value, layoutItemStyles.value, {
|
|
10667
10802
|
height: convertToUnit(height.value),
|
|
10668
10803
|
transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`
|
|
10669
|
-
}]
|
|
10804
|
+
}, ssrBootStyles.value]
|
|
10670
10805
|
}, {
|
|
10671
10806
|
default: () => [slots.default && vue.createVNode("div", {
|
|
10672
10807
|
"class": "v-bottom-navigation__content"
|
|
@@ -10796,19 +10931,23 @@
|
|
|
10796
10931
|
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value],
|
|
10797
10932
|
"style": backgroundColorStyles.value
|
|
10798
10933
|
}, {
|
|
10799
|
-
default: () => [hasPrepend && vue.createVNode(
|
|
10934
|
+
default: () => [hasPrepend && vue.createVNode("div", {
|
|
10800
10935
|
"key": "prepend",
|
|
10936
|
+
"class": "v-breadcrumbs__prepend"
|
|
10937
|
+
}, [!slots.prepend ? vue.createVNode(VIcon, {
|
|
10938
|
+
"key": "prepend-icon",
|
|
10939
|
+
"start": true,
|
|
10940
|
+
"icon": props.icon
|
|
10941
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
10942
|
+
"key": "prepend-defaults",
|
|
10943
|
+
"disabled": !props.icon,
|
|
10801
10944
|
"defaults": {
|
|
10802
10945
|
VIcon: {
|
|
10803
10946
|
icon: props.icon,
|
|
10804
10947
|
start: true
|
|
10805
10948
|
}
|
|
10806
10949
|
}
|
|
10807
|
-
}, {
|
|
10808
|
-
default: () => [vue.createVNode("div", {
|
|
10809
|
-
"class": "v-breadcrumbs__prepend"
|
|
10810
|
-
}, [slots.prepend ? slots.prepend() : props.icon && vue.createVNode(VIcon, null, null)])]
|
|
10811
|
-
}), props.items.map((item, index, array) => vue.createVNode(vue.Fragment, null, [vue.createVNode(VBreadcrumbsItem, vue.mergeProps({
|
|
10950
|
+
}, slots.prepend)]), props.items.map((item, index, array) => vue.createVNode(vue.Fragment, null, [vue.createVNode(VBreadcrumbsItem, vue.mergeProps({
|
|
10812
10951
|
"key": index,
|
|
10813
10952
|
"disabled": index >= array.length - 1
|
|
10814
10953
|
}, typeof item === 'string' ? {
|
|
@@ -10872,30 +11011,33 @@
|
|
|
10872
11011
|
slots
|
|
10873
11012
|
} = _ref;
|
|
10874
11013
|
useRender(() => {
|
|
10875
|
-
const
|
|
10876
|
-
const
|
|
11014
|
+
const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
|
|
11015
|
+
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
11016
|
+
const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);
|
|
11017
|
+
const hasAppend = !!(hasAppendMedia || slots.append);
|
|
10877
11018
|
const hasTitle = !!(props.title || slots.title);
|
|
10878
11019
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
|
10879
11020
|
return vue.createVNode("div", {
|
|
10880
11021
|
"class": "v-card-item"
|
|
10881
|
-
}, [hasPrepend && vue.createVNode(
|
|
11022
|
+
}, [hasPrepend && vue.createVNode("div", {
|
|
10882
11023
|
"key": "prepend",
|
|
11024
|
+
"class": "v-card-item__prepend"
|
|
11025
|
+
}, [!slots.prepend ? hasPrependMedia && vue.createVNode(VAvatar, {
|
|
11026
|
+
"key": "prepend-avatar",
|
|
11027
|
+
"density": props.density,
|
|
11028
|
+
"icon": props.prependIcon,
|
|
11029
|
+
"image": props.prependAvatar
|
|
11030
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
11031
|
+
"key": "prepend-defaults",
|
|
11032
|
+
"disabled": !hasPrependMedia,
|
|
10883
11033
|
"defaults": {
|
|
10884
11034
|
VAvatar: {
|
|
10885
11035
|
density: props.density,
|
|
10886
11036
|
icon: props.prependIcon,
|
|
10887
11037
|
image: props.prependAvatar
|
|
10888
|
-
},
|
|
10889
|
-
VIcon: {
|
|
10890
|
-
density: props.density,
|
|
10891
|
-
icon: props.prependIcon
|
|
10892
11038
|
}
|
|
10893
11039
|
}
|
|
10894
|
-
}, {
|
|
10895
|
-
default: () => [vue.createVNode("div", {
|
|
10896
|
-
"class": "v-card-item__prepend"
|
|
10897
|
-
}, [slots.prepend?.() ?? vue.createVNode(VAvatar, null, null)])]
|
|
10898
|
-
}), vue.createVNode("div", {
|
|
11040
|
+
}, slots.prepend)]), vue.createVNode("div", {
|
|
10899
11041
|
"class": "v-card-item__content"
|
|
10900
11042
|
}, [hasTitle && vue.createVNode(VCardTitle, {
|
|
10901
11043
|
"key": "title"
|
|
@@ -10905,24 +11047,25 @@
|
|
|
10905
11047
|
"key": "subtitle"
|
|
10906
11048
|
}, {
|
|
10907
11049
|
default: () => [slots.subtitle?.() ?? props.subtitle]
|
|
10908
|
-
}), slots.default?.()]), hasAppend && vue.createVNode(
|
|
11050
|
+
}), slots.default?.()]), hasAppend && vue.createVNode("div", {
|
|
10909
11051
|
"key": "append",
|
|
11052
|
+
"class": "v-card-item__append"
|
|
11053
|
+
}, [!slots.append ? hasAppendMedia && vue.createVNode(VAvatar, {
|
|
11054
|
+
"key": "append-avatar",
|
|
11055
|
+
"density": props.density,
|
|
11056
|
+
"icon": props.appendIcon,
|
|
11057
|
+
"image": props.appendAvatar
|
|
11058
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
11059
|
+
"key": "append-defaults",
|
|
11060
|
+
"disabled": !hasAppendMedia,
|
|
10910
11061
|
"defaults": {
|
|
10911
11062
|
VAvatar: {
|
|
10912
11063
|
density: props.density,
|
|
10913
11064
|
icon: props.appendIcon,
|
|
10914
11065
|
image: props.appendAvatar
|
|
10915
|
-
},
|
|
10916
|
-
VIcon: {
|
|
10917
|
-
density: props.density,
|
|
10918
|
-
icon: props.appendIcon
|
|
10919
11066
|
}
|
|
10920
11067
|
}
|
|
10921
|
-
},
|
|
10922
|
-
default: () => [vue.createVNode("div", {
|
|
10923
|
-
"class": "v-card-item__append"
|
|
10924
|
-
}, [slots.append?.() ?? vue.createVNode(VAvatar, null, null)])]
|
|
10925
|
-
})]);
|
|
11068
|
+
}, slots.append)])]);
|
|
10926
11069
|
});
|
|
10927
11070
|
return {};
|
|
10928
11071
|
}
|
|
@@ -11034,19 +11177,23 @@
|
|
|
11034
11177
|
"onClick": isClickable.value && link.navigate,
|
|
11035
11178
|
"tabindex": props.disabled ? -1 : undefined
|
|
11036
11179
|
}, {
|
|
11037
|
-
default: () => [hasImage && vue.createVNode(
|
|
11180
|
+
default: () => [hasImage && vue.createVNode("div", {
|
|
11038
11181
|
"key": "image",
|
|
11182
|
+
"class": "v-card__image"
|
|
11183
|
+
}, [!slots.image ? vue.createVNode(VImg, {
|
|
11184
|
+
"key": "image-img",
|
|
11185
|
+
"cover": true,
|
|
11186
|
+
"src": props.image
|
|
11187
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
11188
|
+
"key": "image-defaults",
|
|
11189
|
+
"disabled": !props.image,
|
|
11039
11190
|
"defaults": {
|
|
11040
11191
|
VImg: {
|
|
11041
11192
|
cover: true,
|
|
11042
11193
|
src: props.image
|
|
11043
11194
|
}
|
|
11044
11195
|
}
|
|
11045
|
-
}, {
|
|
11046
|
-
default: () => [vue.createVNode("div", {
|
|
11047
|
-
"class": "v-card__image"
|
|
11048
|
-
}, [slots.image?.() ?? vue.createVNode(VImg, null, null)])]
|
|
11049
|
-
}), vue.createVNode(LoaderSlot, {
|
|
11196
|
+
}, slots.image)]), vue.createVNode(LoaderSlot, {
|
|
11050
11197
|
"name": "v-card",
|
|
11051
11198
|
"active": !!props.loading,
|
|
11052
11199
|
"color": typeof props.loading === 'boolean' ? undefined : props.loading
|
|
@@ -11356,25 +11503,6 @@
|
|
|
11356
11503
|
}
|
|
11357
11504
|
});
|
|
11358
11505
|
|
|
11359
|
-
// Utilities
|
|
11360
|
-
|
|
11361
|
-
// Composables
|
|
11362
|
-
function useSsrBoot() {
|
|
11363
|
-
const isBooted = vue.ref(false);
|
|
11364
|
-
vue.onMounted(() => {
|
|
11365
|
-
window.requestAnimationFrame(() => {
|
|
11366
|
-
isBooted.value = true;
|
|
11367
|
-
});
|
|
11368
|
-
});
|
|
11369
|
-
const ssrBootStyles = vue.computed(() => !isBooted.value ? {
|
|
11370
|
-
transition: 'none !important'
|
|
11371
|
-
} : undefined);
|
|
11372
|
-
return {
|
|
11373
|
-
ssrBootStyles,
|
|
11374
|
-
isBooted: vue.readonly(isBooted)
|
|
11375
|
-
};
|
|
11376
|
-
}
|
|
11377
|
-
|
|
11378
11506
|
const VWindowItem = genericComponent()({
|
|
11379
11507
|
name: 'VWindowItem',
|
|
11380
11508
|
directives: {
|
|
@@ -11673,6 +11801,19 @@
|
|
|
11673
11801
|
};
|
|
11674
11802
|
});
|
|
11675
11803
|
const canvasRef = vue.ref();
|
|
11804
|
+
const canvasWidth = vue.ref(parseFloat(props.width));
|
|
11805
|
+
const canvasHeight = vue.ref(parseFloat(props.height));
|
|
11806
|
+
const {
|
|
11807
|
+
resizeRef
|
|
11808
|
+
} = useResizeObserver(entries => {
|
|
11809
|
+
if (!resizeRef.value?.offsetParent) return;
|
|
11810
|
+
const {
|
|
11811
|
+
width,
|
|
11812
|
+
height
|
|
11813
|
+
} = entries[0].contentRect;
|
|
11814
|
+
canvasWidth.value = width;
|
|
11815
|
+
canvasHeight.value = height;
|
|
11816
|
+
});
|
|
11676
11817
|
function updateDotPosition(x, y, rect) {
|
|
11677
11818
|
const {
|
|
11678
11819
|
left,
|
|
@@ -11717,18 +11858,14 @@
|
|
|
11717
11858
|
return;
|
|
11718
11859
|
}
|
|
11719
11860
|
if (!canvasRef.value) return;
|
|
11720
|
-
const {
|
|
11721
|
-
width,
|
|
11722
|
-
height
|
|
11723
|
-
} = canvasRef.value.getBoundingClientRect();
|
|
11724
11861
|
const {
|
|
11725
11862
|
x,
|
|
11726
11863
|
y
|
|
11727
11864
|
} = dotPosition.value;
|
|
11728
11865
|
emit('update:color', {
|
|
11729
11866
|
h: props.color?.h ?? 0,
|
|
11730
|
-
s: clamp(x, 0,
|
|
11731
|
-
v: 1 - clamp(y, 0,
|
|
11867
|
+
s: clamp(x, 0, canvasWidth.value) / canvasWidth.value,
|
|
11868
|
+
v: 1 - clamp(y, 0, canvasHeight.value) / canvasHeight.value,
|
|
11732
11869
|
a: props.color?.a ?? 1
|
|
11733
11870
|
});
|
|
11734
11871
|
});
|
|
@@ -11751,16 +11888,27 @@
|
|
|
11751
11888
|
vue.watch(() => props.color?.h, updateCanvas, {
|
|
11752
11889
|
immediate: true
|
|
11753
11890
|
});
|
|
11891
|
+
vue.watch(() => [canvasWidth.value, canvasHeight.value], (newVal, oldVal) => {
|
|
11892
|
+
updateCanvas();
|
|
11893
|
+
dotPosition.value = {
|
|
11894
|
+
x: dotPosition.value.x * newVal[0] / oldVal[0],
|
|
11895
|
+
y: dotPosition.value.y * newVal[1] / oldVal[1]
|
|
11896
|
+
};
|
|
11897
|
+
}, {
|
|
11898
|
+
flush: 'post'
|
|
11899
|
+
});
|
|
11754
11900
|
vue.watch(() => props.color, () => {
|
|
11755
11901
|
if (isInteracting.value) {
|
|
11756
11902
|
isInteracting.value = false;
|
|
11757
11903
|
return;
|
|
11758
11904
|
}
|
|
11759
|
-
if (!props.color) return;
|
|
11760
11905
|
isOutsideUpdate.value = true;
|
|
11761
|
-
dotPosition.value = {
|
|
11762
|
-
x: props.color.s *
|
|
11763
|
-
y: (1 - props.color.v) *
|
|
11906
|
+
dotPosition.value = props.color ? {
|
|
11907
|
+
x: props.color.s * canvasWidth.value,
|
|
11908
|
+
y: (1 - props.color.v) * canvasHeight.value
|
|
11909
|
+
} : {
|
|
11910
|
+
x: 0,
|
|
11911
|
+
y: 0
|
|
11764
11912
|
};
|
|
11765
11913
|
}, {
|
|
11766
11914
|
deep: true,
|
|
@@ -11768,19 +11916,16 @@
|
|
|
11768
11916
|
});
|
|
11769
11917
|
vue.onMounted(() => updateCanvas());
|
|
11770
11918
|
useRender(() => vue.createVNode("div", {
|
|
11919
|
+
"ref": resizeRef,
|
|
11771
11920
|
"class": "v-color-picker-canvas",
|
|
11772
|
-
"style": {
|
|
11773
|
-
width: convertToUnit(props.width),
|
|
11774
|
-
height: convertToUnit(props.height)
|
|
11775
|
-
},
|
|
11776
11921
|
"onClick": handleClick,
|
|
11777
11922
|
"onMousedown": handleMouseDown,
|
|
11778
11923
|
"onTouchstart": handleMouseDown
|
|
11779
11924
|
}, [vue.createVNode("canvas", {
|
|
11780
11925
|
"ref": canvasRef,
|
|
11781
|
-
"width":
|
|
11782
|
-
"height":
|
|
11783
|
-
}, null), vue.createVNode("div", {
|
|
11926
|
+
"width": canvasWidth.value,
|
|
11927
|
+
"height": canvasHeight.value
|
|
11928
|
+
}, null), props.color && vue.createVNode("div", {
|
|
11784
11929
|
"class": ['v-color-picker-canvas__dot', {
|
|
11785
11930
|
'v-color-picker-canvas__dot--disabled': props.disabled
|
|
11786
11931
|
}],
|
|
@@ -11813,10 +11958,7 @@
|
|
|
11813
11958
|
hsva = color;
|
|
11814
11959
|
}
|
|
11815
11960
|
}
|
|
11816
|
-
return hsva
|
|
11817
|
-
...hsva,
|
|
11818
|
-
a: hsva.a ?? 1
|
|
11819
|
-
} : null;
|
|
11961
|
+
return hsva;
|
|
11820
11962
|
}
|
|
11821
11963
|
function stripAlpha(color, stripAlpha) {
|
|
11822
11964
|
if (stripAlpha) {
|
|
@@ -11836,7 +11978,7 @@
|
|
|
11836
11978
|
if (typeof input === 'object') {
|
|
11837
11979
|
let converted;
|
|
11838
11980
|
if (has(input, ['r', 'g', 'b'])) converted = HSVtoRGB(color);else if (has(input, ['h', 's', 'l'])) converted = HSVtoHSL(color);else if (has(input, ['h', 's', 'v'])) converted = color;
|
|
11839
|
-
return stripAlpha(converted, !has(input, ['a']));
|
|
11981
|
+
return stripAlpha(converted, !has(input, ['a']) && color.a === 1);
|
|
11840
11982
|
}
|
|
11841
11983
|
return color;
|
|
11842
11984
|
}
|
|
@@ -12027,7 +12169,7 @@
|
|
|
12027
12169
|
const inputs = vue.computed(() => {
|
|
12028
12170
|
const mode = enabledModes.value.find(m => m.name === props.mode);
|
|
12029
12171
|
if (!mode) return [];
|
|
12030
|
-
const color = props.color ? mode.to(props.color) :
|
|
12172
|
+
const color = props.color ? mode.to(props.color) : null;
|
|
12031
12173
|
return mode.inputs?.map(_ref3 => {
|
|
12032
12174
|
let {
|
|
12033
12175
|
getValue,
|
|
@@ -12038,11 +12180,11 @@
|
|
|
12038
12180
|
...mode.inputProps,
|
|
12039
12181
|
...inputProps,
|
|
12040
12182
|
disabled: props.disabled,
|
|
12041
|
-
value: getValue(color),
|
|
12183
|
+
value: color && getValue(color),
|
|
12042
12184
|
onChange: e => {
|
|
12043
12185
|
const target = e.target;
|
|
12044
12186
|
if (!target) return;
|
|
12045
|
-
emit('update:color', mode.from(getColor(color, target.value)));
|
|
12187
|
+
emit('update:color', mode.from(getColor(color ?? nullColor, target.value)));
|
|
12046
12188
|
}
|
|
12047
12189
|
};
|
|
12048
12190
|
});
|
|
@@ -12153,10 +12295,7 @@
|
|
|
12153
12295
|
const min = vue.computed(() => parseFloat(props.min));
|
|
12154
12296
|
const max = vue.computed(() => parseFloat(props.max));
|
|
12155
12297
|
const step = vue.computed(() => props.step > 0 ? parseFloat(props.step) : 0);
|
|
12156
|
-
const decimals = vue.computed(() =>
|
|
12157
|
-
const trimmedStep = step.value.toString().trim();
|
|
12158
|
-
return trimmedStep.includes('.') ? trimmedStep.length - trimmedStep.indexOf('.') - 1 : 0;
|
|
12159
|
-
});
|
|
12298
|
+
const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
|
|
12160
12299
|
const thumbSize = vue.computed(() => parseInt(props.thumbSize, 10));
|
|
12161
12300
|
const tickSize = vue.computed(() => parseInt(props.tickSize, 10));
|
|
12162
12301
|
const trackSize = vue.computed(() => parseInt(props.trackSize, 10));
|
|
@@ -12255,7 +12394,9 @@
|
|
|
12255
12394
|
const percentage = (val - min.value) / (max.value - min.value) * 100;
|
|
12256
12395
|
return clamp(isNaN(percentage) ? 0 : percentage, 0, 100);
|
|
12257
12396
|
};
|
|
12397
|
+
const showTicks = vue.toRef(props, 'showTicks');
|
|
12258
12398
|
const parsedTicks = vue.computed(() => {
|
|
12399
|
+
if (!showTicks.value) return [];
|
|
12259
12400
|
if (!props.ticks) {
|
|
12260
12401
|
return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {
|
|
12261
12402
|
const value = min.value + t * step.value;
|
|
@@ -12304,7 +12445,7 @@
|
|
|
12304
12445
|
readonly: vue.toRef(props, 'readonly'),
|
|
12305
12446
|
rounded: vue.toRef(props, 'rounded'),
|
|
12306
12447
|
roundValue,
|
|
12307
|
-
showTicks
|
|
12448
|
+
showTicks,
|
|
12308
12449
|
startOffset,
|
|
12309
12450
|
step,
|
|
12310
12451
|
thumbSize,
|
|
@@ -12526,6 +12667,7 @@
|
|
|
12526
12667
|
};
|
|
12527
12668
|
});
|
|
12528
12669
|
const computedTicks = vue.computed(() => {
|
|
12670
|
+
if (!showTicks.value) return [];
|
|
12529
12671
|
const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value;
|
|
12530
12672
|
return ticks.map((tick, index) => {
|
|
12531
12673
|
const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start';
|
|
@@ -12741,12 +12883,12 @@
|
|
|
12741
12883
|
"hideDetails": true
|
|
12742
12884
|
}, null), !props.hideAlpha && vue.createVNode(VSlider, {
|
|
12743
12885
|
"class": "v-color-picker-preview__track v-color-picker-preview__alpha",
|
|
12744
|
-
"modelValue": props.color?.a,
|
|
12886
|
+
"modelValue": props.color?.a ?? 1,
|
|
12745
12887
|
"onUpdate:modelValue": a => emit('update:color', {
|
|
12746
12888
|
...(props.color ?? nullColor),
|
|
12747
12889
|
a
|
|
12748
12890
|
}),
|
|
12749
|
-
"step":
|
|
12891
|
+
"step": 1 / 256,
|
|
12750
12892
|
"min": 0,
|
|
12751
12893
|
"max": 1,
|
|
12752
12894
|
"disabled": props.disabled,
|
|
@@ -13131,18 +13273,21 @@
|
|
|
13131
13273
|
}
|
|
13132
13274
|
});
|
|
13133
13275
|
|
|
13276
|
+
const makeVSheetProps = propsFactory({
|
|
13277
|
+
color: String,
|
|
13278
|
+
...makeBorderProps(),
|
|
13279
|
+
...makeDimensionProps(),
|
|
13280
|
+
...makeElevationProps(),
|
|
13281
|
+
...makeLocationProps(),
|
|
13282
|
+
...makePositionProps(),
|
|
13283
|
+
...makeRoundedProps(),
|
|
13284
|
+
...makeTagProps(),
|
|
13285
|
+
...makeThemeProps()
|
|
13286
|
+
}, 'v-sheet');
|
|
13134
13287
|
const VSheet = genericComponent()({
|
|
13135
13288
|
name: 'VSheet',
|
|
13136
13289
|
props: {
|
|
13137
|
-
|
|
13138
|
-
...makeBorderProps(),
|
|
13139
|
-
...makeDimensionProps(),
|
|
13140
|
-
...makeElevationProps(),
|
|
13141
|
-
...makeLocationProps(),
|
|
13142
|
-
...makePositionProps(),
|
|
13143
|
-
...makeRoundedProps(),
|
|
13144
|
-
...makeTagProps(),
|
|
13145
|
-
...makeThemeProps()
|
|
13290
|
+
...makeVSheetProps()
|
|
13146
13291
|
},
|
|
13147
13292
|
setup(props, _ref) {
|
|
13148
13293
|
let {
|
|
@@ -13173,10 +13318,11 @@
|
|
|
13173
13318
|
const {
|
|
13174
13319
|
roundedClasses
|
|
13175
13320
|
} = useRounded(props);
|
|
13176
|
-
|
|
13321
|
+
useRender(() => vue.createVNode(props.tag, {
|
|
13177
13322
|
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
|
13178
13323
|
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
|
13179
|
-
}, slots);
|
|
13324
|
+
}, slots));
|
|
13325
|
+
return {};
|
|
13180
13326
|
}
|
|
13181
13327
|
});
|
|
13182
13328
|
|
|
@@ -13253,6 +13399,13 @@
|
|
|
13253
13399
|
vue.onMounted(() => {
|
|
13254
13400
|
if (!props.modes.includes(mode.value)) mode.value = props.modes[0];
|
|
13255
13401
|
});
|
|
13402
|
+
provideDefaults({
|
|
13403
|
+
VSlider: {
|
|
13404
|
+
color: undefined,
|
|
13405
|
+
trackColor: undefined,
|
|
13406
|
+
trackFillColor: undefined
|
|
13407
|
+
}
|
|
13408
|
+
});
|
|
13256
13409
|
useRender(() => vue.createVNode(VSheet, {
|
|
13257
13410
|
"rounded": props.rounded,
|
|
13258
13411
|
"elevation": props.elevation,
|
|
@@ -13353,7 +13506,15 @@
|
|
|
13353
13506
|
const vTextFieldRef = vue.ref();
|
|
13354
13507
|
const isFocused = vue.ref(false);
|
|
13355
13508
|
const isPristine = vue.ref(true);
|
|
13356
|
-
const
|
|
13509
|
+
const vMenuRef = vue.ref();
|
|
13510
|
+
const _menu = useProxiedModel(props, 'menu');
|
|
13511
|
+
const menu = vue.computed({
|
|
13512
|
+
get: () => _menu.value,
|
|
13513
|
+
set: v => {
|
|
13514
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
|
13515
|
+
_menu.value = v;
|
|
13516
|
+
}
|
|
13517
|
+
});
|
|
13357
13518
|
const selectionIndex = vue.ref(-1);
|
|
13358
13519
|
const color = vue.computed(() => vTextFieldRef.value?.color);
|
|
13359
13520
|
const {
|
|
@@ -13536,7 +13697,7 @@
|
|
|
13536
13697
|
useRender(() => {
|
|
13537
13698
|
const hasChips = !!(props.chips || slots.chip);
|
|
13538
13699
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
13539
|
-
const [textFieldProps] =
|
|
13700
|
+
const [textFieldProps] = VTextField.filterProps(props);
|
|
13540
13701
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
13541
13702
|
"ref": vTextFieldRef
|
|
13542
13703
|
}, textFieldProps, {
|
|
@@ -13562,6 +13723,7 @@
|
|
|
13562
13723
|
}), {
|
|
13563
13724
|
...slots,
|
|
13564
13725
|
default: () => vue.createVNode(vue.Fragment, null, [vue.createVNode(VMenu, vue.mergeProps({
|
|
13726
|
+
"ref": vMenuRef,
|
|
13565
13727
|
"modelValue": menu.value,
|
|
13566
13728
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
13567
13729
|
"activator": "parent",
|
|
@@ -13623,7 +13785,13 @@
|
|
|
13623
13785
|
"key": item.value,
|
|
13624
13786
|
"class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
|
|
13625
13787
|
"style": index === selectionIndex.value ? textColorStyles.value : {}
|
|
13626
|
-
}, [hasChips ? vue.createVNode(
|
|
13788
|
+
}, [hasChips ? !slots.chip ? vue.createVNode(VChip, vue.mergeProps({
|
|
13789
|
+
"key": "chip",
|
|
13790
|
+
"closable": props.closableChips,
|
|
13791
|
+
"size": "small",
|
|
13792
|
+
"text": item.title
|
|
13793
|
+
}, slotProps), null) : vue.createVNode(VDefaultsProvider, {
|
|
13794
|
+
"key": "chip-defaults",
|
|
13627
13795
|
"defaults": {
|
|
13628
13796
|
VChip: {
|
|
13629
13797
|
closable: props.closableChips,
|
|
@@ -13632,15 +13800,15 @@
|
|
|
13632
13800
|
}
|
|
13633
13801
|
}
|
|
13634
13802
|
}, {
|
|
13635
|
-
default: () => [slots.chip
|
|
13803
|
+
default: () => [slots.chip?.({
|
|
13636
13804
|
item,
|
|
13637
13805
|
index,
|
|
13638
13806
|
props: slotProps
|
|
13639
|
-
})
|
|
13640
|
-
}) : slots.selection
|
|
13807
|
+
})]
|
|
13808
|
+
}) : slots.selection?.({
|
|
13641
13809
|
item,
|
|
13642
13810
|
index
|
|
13643
|
-
})
|
|
13811
|
+
}) ?? vue.createVNode("span", {
|
|
13644
13812
|
"class": "v-combobox__selection-text"
|
|
13645
13813
|
}, [item.title, props.multiple && index < selections.value.length - 1 && vue.createVNode("span", {
|
|
13646
13814
|
"class": "v-combobox__selection-comma"
|
|
@@ -13737,7 +13905,7 @@
|
|
|
13737
13905
|
'aria-expanded': String(isActive.value)
|
|
13738
13906
|
}, props.activatorProps));
|
|
13739
13907
|
useRender(() => {
|
|
13740
|
-
const [overlayProps] =
|
|
13908
|
+
const [overlayProps] = VOverlay.filterProps(props);
|
|
13741
13909
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
13742
13910
|
"ref": overlay,
|
|
13743
13911
|
"class": ['v-dialog', {
|
|
@@ -14141,6 +14309,7 @@
|
|
|
14141
14309
|
"id": id.value,
|
|
14142
14310
|
"active": isDirty.value || isFocused.value,
|
|
14143
14311
|
"dirty": isDirty.value,
|
|
14312
|
+
"disabled": isDisabled.value,
|
|
14144
14313
|
"focused": isFocused.value,
|
|
14145
14314
|
"error": isValid.value === false
|
|
14146
14315
|
}), {
|
|
@@ -14340,10 +14509,8 @@
|
|
|
14340
14509
|
|
|
14341
14510
|
// Types
|
|
14342
14511
|
|
|
14343
|
-
const breakpoints$1 = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
|
|
14344
|
-
|
|
14345
14512
|
const breakpointProps = (() => {
|
|
14346
|
-
return breakpoints
|
|
14513
|
+
return breakpoints.reduce((props, val) => {
|
|
14347
14514
|
props[val] = {
|
|
14348
14515
|
type: [Boolean, String, Number],
|
|
14349
14516
|
default: false
|
|
@@ -14352,8 +14519,9 @@
|
|
|
14352
14519
|
}, {});
|
|
14353
14520
|
})();
|
|
14354
14521
|
const offsetProps = (() => {
|
|
14355
|
-
return breakpoints
|
|
14356
|
-
|
|
14522
|
+
return breakpoints.reduce((props, val) => {
|
|
14523
|
+
const offsetKey = 'offset' + vue.capitalize(val);
|
|
14524
|
+
props[offsetKey] = {
|
|
14357
14525
|
type: [String, Number],
|
|
14358
14526
|
default: null
|
|
14359
14527
|
};
|
|
@@ -14361,8 +14529,9 @@
|
|
|
14361
14529
|
}, {});
|
|
14362
14530
|
})();
|
|
14363
14531
|
const orderProps = (() => {
|
|
14364
|
-
return breakpoints
|
|
14365
|
-
|
|
14532
|
+
return breakpoints.reduce((props, val) => {
|
|
14533
|
+
const orderKey = 'order' + vue.capitalize(val);
|
|
14534
|
+
props[orderKey] = {
|
|
14366
14535
|
type: [String, Number],
|
|
14367
14536
|
default: null
|
|
14368
14537
|
};
|
|
@@ -14460,13 +14629,12 @@
|
|
|
14460
14629
|
|
|
14461
14630
|
// Types
|
|
14462
14631
|
|
|
14463
|
-
const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
|
|
14464
|
-
|
|
14465
14632
|
const ALIGNMENT = ['start', 'end', 'center'];
|
|
14466
14633
|
const SPACE = ['space-between', 'space-around', 'space-evenly'];
|
|
14467
14634
|
function makeRowProps(prefix, def) {
|
|
14468
14635
|
return breakpoints.reduce((props, val) => {
|
|
14469
|
-
|
|
14636
|
+
const prefixKey = prefix + vue.capitalize(val);
|
|
14637
|
+
props[prefixKey] = def();
|
|
14470
14638
|
return props;
|
|
14471
14639
|
}, {});
|
|
14472
14640
|
}
|
|
@@ -14796,7 +14964,10 @@
|
|
|
14796
14964
|
}, {
|
|
14797
14965
|
default: () => [slots.default?.()]
|
|
14798
14966
|
})]
|
|
14799
|
-
}), [[vue.resolveDirective("intersect"),
|
|
14967
|
+
}), [[vue.resolveDirective("intersect"), {
|
|
14968
|
+
handler: onIntersect,
|
|
14969
|
+
options: props.options
|
|
14970
|
+
}, null]]));
|
|
14800
14971
|
return {};
|
|
14801
14972
|
}
|
|
14802
14973
|
});
|
|
@@ -15773,9 +15944,9 @@
|
|
|
15773
15944
|
frame = requestAnimationFrame(() => {
|
|
15774
15945
|
const el = (root.value?.$el).querySelector('.v-img__img');
|
|
15775
15946
|
if (!el) return;
|
|
15776
|
-
const scrollHeight = scrollParent
|
|
15777
|
-
const scrollPos = scrollParent
|
|
15778
|
-
const top = intersectionRef.value.
|
|
15947
|
+
const scrollHeight = scrollParent instanceof Document ? document.documentElement.clientHeight : scrollParent.clientHeight;
|
|
15948
|
+
const scrollPos = scrollParent instanceof Document ? window.scrollY : scrollParent.scrollTop;
|
|
15949
|
+
const top = intersectionRef.value.getBoundingClientRect().top + scrollPos;
|
|
15779
15950
|
const height = contentRect.value.height;
|
|
15780
15951
|
const center = top + (height - scrollHeight) / 2;
|
|
15781
15952
|
const translate = floor((scrollPos - center) * scale.value);
|
|
@@ -15857,10 +16028,7 @@
|
|
|
15857
16028
|
useRender(() => {
|
|
15858
16029
|
const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
15859
16030
|
const [inputProps, _1] = filterInputProps(props);
|
|
15860
|
-
const [controlProps, _2] =
|
|
15861
|
-
...props,
|
|
15862
|
-
multiple: false
|
|
15863
|
-
});
|
|
16031
|
+
const [controlProps, _2] = VSelectionControl.filterProps(props);
|
|
15864
16032
|
const label = slots.label ? slots.label({
|
|
15865
16033
|
label: props.label,
|
|
15866
16034
|
props: {
|
|
@@ -15895,7 +16063,8 @@
|
|
|
15895
16063
|
"type": props.type,
|
|
15896
16064
|
"disabled": isDisabled.value,
|
|
15897
16065
|
"readonly": isReadonly.value,
|
|
15898
|
-
"aria-labelledby": label ? id.value : undefined
|
|
16066
|
+
"aria-labelledby": label ? id.value : undefined,
|
|
16067
|
+
"multiple": false
|
|
15899
16068
|
}, controlAttrs, {
|
|
15900
16069
|
"modelValue": model.value,
|
|
15901
16070
|
"onUpdate:modelValue": $event => model.value = $event
|
|
@@ -16160,9 +16329,6 @@
|
|
|
16160
16329
|
const range = vue.computed(() => createRange(Number(props.length), 1));
|
|
16161
16330
|
const increments = vue.computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]));
|
|
16162
16331
|
const hoverIndex = vue.ref(-1);
|
|
16163
|
-
const focusIndex = vue.ref(-1);
|
|
16164
|
-
const firstRef = vue.ref();
|
|
16165
|
-
let isClicking = false;
|
|
16166
16332
|
const itemState = vue.computed(() => increments.value.map(value => {
|
|
16167
16333
|
const isHovering = props.hover && hoverIndex.value > -1;
|
|
16168
16334
|
const isFilled = normalizedValue.value >= value;
|
|
@@ -16185,16 +16351,6 @@
|
|
|
16185
16351
|
function onMouseleave() {
|
|
16186
16352
|
hoverIndex.value = -1;
|
|
16187
16353
|
}
|
|
16188
|
-
function onFocus() {
|
|
16189
|
-
if (value === 0 && normalizedValue.value === 0) {
|
|
16190
|
-
firstRef.value?.focus();
|
|
16191
|
-
} else {
|
|
16192
|
-
focusIndex.value = value;
|
|
16193
|
-
}
|
|
16194
|
-
}
|
|
16195
|
-
function onBlur() {
|
|
16196
|
-
if (!isClicking) focusIndex.value = -1;
|
|
16197
|
-
}
|
|
16198
16354
|
function onClick() {
|
|
16199
16355
|
if (props.disabled || props.readonly) return;
|
|
16200
16356
|
rating.value = normalizedValue.value === value && props.clearable ? 0 : value;
|
|
@@ -16202,17 +16358,9 @@
|
|
|
16202
16358
|
return {
|
|
16203
16359
|
onMouseenter: props.hover ? onMouseenter : undefined,
|
|
16204
16360
|
onMouseleave: props.hover ? onMouseleave : undefined,
|
|
16205
|
-
onFocus,
|
|
16206
|
-
onBlur,
|
|
16207
16361
|
onClick
|
|
16208
16362
|
};
|
|
16209
16363
|
}));
|
|
16210
|
-
function onMousedown() {
|
|
16211
|
-
isClicking = true;
|
|
16212
|
-
}
|
|
16213
|
-
function onMouseup() {
|
|
16214
|
-
isClicking = false;
|
|
16215
|
-
}
|
|
16216
16364
|
const name = vue.computed(() => props.name ?? `v-rating-${getUid()}`);
|
|
16217
16365
|
function VRatingItem(_ref2) {
|
|
16218
16366
|
let {
|
|
@@ -16223,8 +16371,6 @@
|
|
|
16223
16371
|
const {
|
|
16224
16372
|
onMouseenter,
|
|
16225
16373
|
onMouseleave,
|
|
16226
|
-
onFocus,
|
|
16227
|
-
onBlur,
|
|
16228
16374
|
onClick
|
|
16229
16375
|
} = eventState.value[index + 1];
|
|
16230
16376
|
const id = `${name.value}-${String(value).replace('.', '-')}`;
|
|
@@ -16235,7 +16381,6 @@
|
|
|
16235
16381
|
icon: itemState.value[index]?.icon,
|
|
16236
16382
|
ripple: props.ripple,
|
|
16237
16383
|
size: props.size,
|
|
16238
|
-
tag: 'span',
|
|
16239
16384
|
variant: 'plain'
|
|
16240
16385
|
};
|
|
16241
16386
|
return vue.createVNode(vue.Fragment, null, [vue.createVNode("label", {
|
|
@@ -16244,17 +16389,17 @@
|
|
|
16244
16389
|
'v-rating__item--half': props.halfIncrements && value % 1 > 0,
|
|
16245
16390
|
'v-rating__item--full': props.halfIncrements && value % 1 === 0
|
|
16246
16391
|
},
|
|
16247
|
-
"onMousedown": onMousedown,
|
|
16248
|
-
"onMouseup": onMouseup,
|
|
16249
16392
|
"onMouseenter": onMouseenter,
|
|
16250
|
-
"onMouseleave": onMouseleave
|
|
16393
|
+
"onMouseleave": onMouseleave,
|
|
16394
|
+
"onClick": onClick
|
|
16251
16395
|
}, [vue.createVNode("span", {
|
|
16252
16396
|
"class": "v-rating__hidden"
|
|
16253
16397
|
}, [t(props.itemAriaLabel, value, props.length)]), !showStar ? undefined : slots.item ? slots.item({
|
|
16254
16398
|
...itemState.value[index],
|
|
16255
16399
|
props: btnProps,
|
|
16256
16400
|
value,
|
|
16257
|
-
index
|
|
16401
|
+
index,
|
|
16402
|
+
rating: normalizedValue.value
|
|
16258
16403
|
}) : vue.createVNode(VBtn, btnProps, null)]), vue.createVNode("input", {
|
|
16259
16404
|
"class": "v-rating__hidden",
|
|
16260
16405
|
"name": name.value,
|
|
@@ -16262,10 +16407,7 @@
|
|
|
16262
16407
|
"type": "radio",
|
|
16263
16408
|
"value": value,
|
|
16264
16409
|
"checked": normalizedValue.value === value,
|
|
16265
|
-
"
|
|
16266
|
-
"onFocus": onFocus,
|
|
16267
|
-
"onBlur": onBlur,
|
|
16268
|
-
"ref": index === 0 ? firstRef : undefined,
|
|
16410
|
+
"tabindex": -1,
|
|
16269
16411
|
"readonly": props.readonly,
|
|
16270
16412
|
"disabled": props.disabled
|
|
16271
16413
|
}, null)]);
|
|
@@ -16294,9 +16436,7 @@
|
|
|
16294
16436
|
index: i,
|
|
16295
16437
|
label: props.itemLabels?.[i]
|
|
16296
16438
|
}) : undefined, vue.createVNode("div", {
|
|
16297
|
-
"class":
|
|
16298
|
-
'v-rating__item--focused': Math.ceil(focusIndex.value) === value
|
|
16299
|
-
}]
|
|
16439
|
+
"class": "v-rating__item"
|
|
16300
16440
|
}, [props.halfIncrements ? vue.createVNode(vue.Fragment, null, [vue.createVNode(VRatingItem, {
|
|
16301
16441
|
"value": value - 0.5,
|
|
16302
16442
|
"index": i * 2
|
|
@@ -16765,7 +16905,7 @@
|
|
|
16765
16905
|
window.clearTimeout(activeTimeout);
|
|
16766
16906
|
}
|
|
16767
16907
|
useRender(() => {
|
|
16768
|
-
const [overlayProps] =
|
|
16908
|
+
const [overlayProps] = VOverlay.filterProps(props);
|
|
16769
16909
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
16770
16910
|
"ref": overlay,
|
|
16771
16911
|
"class": ['v-snackbar', {
|
|
@@ -16777,19 +16917,18 @@
|
|
|
16777
16917
|
"modelValue": isActive.value,
|
|
16778
16918
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
16779
16919
|
"contentProps": vue.mergeProps({
|
|
16780
|
-
|
|
16920
|
+
class: ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],
|
|
16921
|
+
style: [locationStyles.value, colorStyles.value],
|
|
16922
|
+
onPointerenter,
|
|
16923
|
+
onPointerleave: startTimeout
|
|
16781
16924
|
}, overlayProps.contentProps),
|
|
16782
16925
|
"persistent": true,
|
|
16783
16926
|
"noClickAnimation": true,
|
|
16784
16927
|
"scrim": false,
|
|
16785
|
-
"scrollStrategy": "none"
|
|
16928
|
+
"scrollStrategy": "none",
|
|
16929
|
+
"_disableGlobalStack": true
|
|
16786
16930
|
}, scopeId), {
|
|
16787
|
-
default: () => [vue.createVNode("div", {
|
|
16788
|
-
"class": ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],
|
|
16789
|
-
"style": [colorStyles.value],
|
|
16790
|
-
"onPointerenter": onPointerenter,
|
|
16791
|
-
"onPointerleave": startTimeout
|
|
16792
|
-
}, [genOverlays(false, 'v-snackbar'), slots.default && vue.createVNode("div", {
|
|
16931
|
+
default: () => [genOverlays(false, 'v-snackbar'), slots.default && vue.createVNode("div", {
|
|
16793
16932
|
"class": "v-snackbar__content",
|
|
16794
16933
|
"role": "status",
|
|
16795
16934
|
"aria-live": "polite"
|
|
@@ -16804,7 +16943,7 @@
|
|
|
16804
16943
|
default: () => [vue.createVNode("div", {
|
|
16805
16944
|
"class": "v-snackbar__actions"
|
|
16806
16945
|
}, [slots.actions()])]
|
|
16807
|
-
})]
|
|
16946
|
+
})],
|
|
16808
16947
|
activator: slots.activator
|
|
16809
16948
|
});
|
|
16810
16949
|
});
|
|
@@ -16861,7 +17000,7 @@
|
|
|
16861
17000
|
useRender(() => {
|
|
16862
17001
|
const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
16863
17002
|
const [inputProps, _1] = filterInputProps(props);
|
|
16864
|
-
const [controlProps, _2] =
|
|
17003
|
+
const [controlProps, _2] = VSelectionControl.filterProps(props);
|
|
16865
17004
|
const control = vue.ref();
|
|
16866
17005
|
function onClick() {
|
|
16867
17006
|
control.value?.input?.click();
|
|
@@ -16963,6 +17102,9 @@
|
|
|
16963
17102
|
const {
|
|
16964
17103
|
roundedClasses
|
|
16965
17104
|
} = useRounded(props);
|
|
17105
|
+
const {
|
|
17106
|
+
ssrBootStyles
|
|
17107
|
+
} = useSsrBoot();
|
|
16966
17108
|
const height = vue.computed(() => props.height ?? (props.window ? 32 : 24));
|
|
16967
17109
|
const {
|
|
16968
17110
|
layoutItemStyles
|
|
@@ -16979,7 +17121,7 @@
|
|
|
16979
17121
|
"class": ['v-system-bar', {
|
|
16980
17122
|
'v-system-bar--window': props.window
|
|
16981
17123
|
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value],
|
|
16982
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value]
|
|
17124
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value]
|
|
16983
17125
|
}, slots));
|
|
16984
17126
|
return {};
|
|
16985
17127
|
}
|
|
@@ -16991,28 +17133,17 @@
|
|
|
16991
17133
|
name: 'VTab',
|
|
16992
17134
|
props: {
|
|
16993
17135
|
fixed: Boolean,
|
|
16994
|
-
icon: [Boolean, String, Function, Object],
|
|
16995
|
-
prependIcon: IconValue,
|
|
16996
|
-
appendIcon: IconValue,
|
|
16997
|
-
stacked: Boolean,
|
|
16998
17136
|
title: String,
|
|
16999
|
-
ripple: {
|
|
17000
|
-
type: Boolean,
|
|
17001
|
-
default: true
|
|
17002
|
-
},
|
|
17003
|
-
color: String,
|
|
17004
17137
|
sliderColor: String,
|
|
17005
17138
|
hideSlider: Boolean,
|
|
17006
17139
|
direction: {
|
|
17007
17140
|
type: String,
|
|
17008
17141
|
default: 'horizontal'
|
|
17009
17142
|
},
|
|
17010
|
-
...
|
|
17011
|
-
|
|
17012
|
-
|
|
17013
|
-
|
|
17014
|
-
}),
|
|
17015
|
-
...makeThemeProps()
|
|
17143
|
+
...omit(makeVBtnProps({
|
|
17144
|
+
selectedClass: 'v-tab--selected',
|
|
17145
|
+
variant: 'text'
|
|
17146
|
+
}), ['active', 'block', 'flat', 'location', 'position', 'symbol'])
|
|
17016
17147
|
},
|
|
17017
17148
|
setup(props, _ref) {
|
|
17018
17149
|
let {
|
|
@@ -17062,7 +17193,7 @@
|
|
|
17062
17193
|
}
|
|
17063
17194
|
}
|
|
17064
17195
|
useRender(() => {
|
|
17065
|
-
const [btnProps] =
|
|
17196
|
+
const [btnProps] = VBtn.filterProps(props);
|
|
17066
17197
|
return vue.createVNode(VBtn, vue.mergeProps({
|
|
17067
17198
|
"_as": "VTab",
|
|
17068
17199
|
"symbol": VTabsSymbol,
|
|
@@ -17074,7 +17205,6 @@
|
|
|
17074
17205
|
"active": false,
|
|
17075
17206
|
"block": props.fixed,
|
|
17076
17207
|
"maxWidth": props.fixed ? 300 : undefined,
|
|
17077
|
-
"variant": "text",
|
|
17078
17208
|
"rounded": 0
|
|
17079
17209
|
}, btnProps, attrs, {
|
|
17080
17210
|
"onGroup:selected": updateSlider
|
|
@@ -17319,7 +17449,13 @@
|
|
|
17319
17449
|
});
|
|
17320
17450
|
}
|
|
17321
17451
|
function onInput(e) {
|
|
17322
|
-
|
|
17452
|
+
const el = e.target;
|
|
17453
|
+
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
17454
|
+
model.value = el.value;
|
|
17455
|
+
vue.nextTick(() => {
|
|
17456
|
+
el.selectionStart = caretPosition[0];
|
|
17457
|
+
el.selectionEnd = caretPosition[1];
|
|
17458
|
+
});
|
|
17323
17459
|
}
|
|
17324
17460
|
const sizerRef = vue.ref();
|
|
17325
17461
|
function calculateInputHeight() {
|
|
@@ -17403,6 +17539,7 @@
|
|
|
17403
17539
|
}, fieldProps, {
|
|
17404
17540
|
"active": isActive.value || isDirty.value,
|
|
17405
17541
|
"dirty": isDirty.value || props.dirty,
|
|
17542
|
+
"disabled": isDisabled.value,
|
|
17406
17543
|
"focused": isFocused.value,
|
|
17407
17544
|
"error": isValid.value === false
|
|
17408
17545
|
}), {
|
|
@@ -17605,13 +17742,6 @@
|
|
|
17605
17742
|
backgroundColorClasses: lineColorClasses,
|
|
17606
17743
|
backgroundColorStyles: lineColorStyles
|
|
17607
17744
|
} = useBackgroundColor(vue.toRef(props, 'lineColor'));
|
|
17608
|
-
provideDefaults({
|
|
17609
|
-
VIcon: {
|
|
17610
|
-
color: vue.toRef(props, 'iconColor'),
|
|
17611
|
-
icon: vue.toRef(props, 'icon'),
|
|
17612
|
-
size: vue.toRef(props, 'size')
|
|
17613
|
-
}
|
|
17614
|
-
});
|
|
17615
17745
|
useRender(() => vue.createVNode("div", {
|
|
17616
17746
|
"class": ['v-timeline-divider', {
|
|
17617
17747
|
'v-timeline-divider--fill-dot': props.fillDot
|
|
@@ -17626,7 +17756,22 @@
|
|
|
17626
17756
|
}, [vue.createVNode("div", {
|
|
17627
17757
|
"class": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],
|
|
17628
17758
|
"style": backgroundColorStyles.value
|
|
17629
|
-
}, [slots.default
|
|
17759
|
+
}, [!slots.default ? vue.createVNode(VIcon, {
|
|
17760
|
+
"key": "icon",
|
|
17761
|
+
"color": props.iconColor,
|
|
17762
|
+
"icon": props.icon,
|
|
17763
|
+
"size": props.size
|
|
17764
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
17765
|
+
"key": "icon-defaults",
|
|
17766
|
+
"disabled": !props.icon,
|
|
17767
|
+
"defaults": {
|
|
17768
|
+
VIcon: {
|
|
17769
|
+
color: props.iconColor,
|
|
17770
|
+
icon: props.icon,
|
|
17771
|
+
size: props.size
|
|
17772
|
+
}
|
|
17773
|
+
}
|
|
17774
|
+
}, slots.default)])]), vue.createVNode("div", {
|
|
17630
17775
|
"class": ['v-timeline-divider__after', lineColorClasses.value],
|
|
17631
17776
|
"style": lineColorStyles.value
|
|
17632
17777
|
}, null)]));
|
|
@@ -17712,6 +17857,7 @@
|
|
|
17712
17857
|
closeOnBack: false,
|
|
17713
17858
|
location: 'end',
|
|
17714
17859
|
locationStrategy: 'connected',
|
|
17860
|
+
eager: true,
|
|
17715
17861
|
minWidth: 0,
|
|
17716
17862
|
offset: 10,
|
|
17717
17863
|
openOnClick: false,
|
|
@@ -17720,7 +17866,7 @@
|
|
|
17720
17866
|
scrim: false,
|
|
17721
17867
|
scrollStrategy: 'reposition',
|
|
17722
17868
|
transition: false
|
|
17723
|
-
}), ['absolute', 'persistent'
|
|
17869
|
+
}), ['absolute', 'persistent'])
|
|
17724
17870
|
},
|
|
17725
17871
|
emits: {
|
|
17726
17872
|
'update:modelValue': value => true
|
|
@@ -17750,7 +17896,7 @@
|
|
|
17750
17896
|
'aria-describedby': id.value
|
|
17751
17897
|
}, props.activatorProps));
|
|
17752
17898
|
useRender(() => {
|
|
17753
|
-
const [overlayProps] =
|
|
17899
|
+
const [overlayProps] = VOverlay.filterProps(props);
|
|
17754
17900
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
17755
17901
|
"ref": overlay,
|
|
17756
17902
|
"class": ['v-tooltip'],
|
|
@@ -17764,7 +17910,6 @@
|
|
|
17764
17910
|
"origin": origin.value,
|
|
17765
17911
|
"persistent": true,
|
|
17766
17912
|
"role": "tooltip",
|
|
17767
|
-
"eager": true,
|
|
17768
17913
|
"activatorProps": activatorProps.value,
|
|
17769
17914
|
"_disableGlobalStack": true
|
|
17770
17915
|
}, scopeId), {
|
|
@@ -18143,7 +18288,7 @@
|
|
|
18143
18288
|
locale
|
|
18144
18289
|
};
|
|
18145
18290
|
}
|
|
18146
|
-
const version$1 = "3.2.0-dev-
|
|
18291
|
+
const version$1 = "3.2.0-dev-20230322.0";
|
|
18147
18292
|
createVuetify$1.version = version$1;
|
|
18148
18293
|
|
|
18149
18294
|
// Vue's inject() can only be used in setup
|
|
@@ -18163,7 +18308,7 @@
|
|
|
18163
18308
|
...options
|
|
18164
18309
|
});
|
|
18165
18310
|
};
|
|
18166
|
-
const version = "3.2.0-dev-
|
|
18311
|
+
const version = "3.2.0-dev-20230322.0";
|
|
18167
18312
|
createVuetify.version = version;
|
|
18168
18313
|
|
|
18169
18314
|
exports.components = components;
|