vuetify 3.1.12 → 3.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_component-variables-labs.sass +2 -1
- package/dist/json/attributes.json +4138 -3902
- package/dist/json/importMap-labs.json +8 -4
- package/dist/json/importMap.json +154 -154
- package/dist/json/tags.json +608 -544
- package/dist/json/web-types.json +14730 -14109
- package/dist/vuetify-labs.css +479 -236
- package/dist/vuetify-labs.d.ts +2356 -1425
- package/dist/vuetify-labs.esm.js +716 -505
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +716 -507
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +156 -133
- package/dist/vuetify.d.ts +1772 -1110
- package/dist/vuetify.esm.js +556 -480
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +556 -482
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +202 -186
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.ts +2 -2
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +7 -5
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +77 -71
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.mjs +1 -1
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/index.d.ts +13 -13
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.ts +4 -4
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
- package/lib/components/VCalendar/modes/column.mjs.map +1 -1
- package/lib/components/VCalendar/modes/common.mjs.map +1 -1
- package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
- package/lib/components/VCalendar/util/events.mjs.map +1 -1
- package/lib/components/VCalendar/util/parser.mjs.map +1 -1
- package/lib/components/VCalendar/util/props.mjs.map +1 -1
- package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +1 -13
- package/lib/components/VCarousel/VCarousel.mjs +10 -10
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +197 -19
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +14 -14
- package/lib/components/VChip/VChip.mjs +2 -2
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +14 -14
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs +58 -61
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- 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 +113 -50
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +8 -6
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +77 -71
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +123 -24
- package/lib/components/VData/VData.mjs.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
- package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
- package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
- package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +43 -43
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- 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/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VField/VField.mjs +3 -3
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +20 -20
- package/lib/components/VFileInput/VFileInput.mjs +0 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +59 -65
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs +3 -3
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +28 -28
- package/lib/components/VInput/InputIcon.mjs.map +1 -1
- package/lib/components/VInput/VInput.mjs +2 -2
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +14 -14
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.ts +2 -2
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +13 -13
- package/lib/components/VList/VList.mjs +2 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +24 -13
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +12 -0
- package/lib/components/VList/VListItem.mjs +2 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +5 -0
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +14 -14
- package/lib/components/VList/list.mjs.map +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +43 -43
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +123 -24
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +8 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.d.ts +1 -13
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +15 -15
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +1 -0
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VOverlay/util/point.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +2 -2
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VPicker/VPicker.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.css +3 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.sass +3 -1
- package/lib/components/VProgressCircular/_variables.scss +1 -0
- package/lib/components/VProgressLinear/VProgressLinear.css +6 -3
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +3 -0
- package/lib/components/VProgressLinear/_variables.scss +1 -1
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +14 -14
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +14 -14
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +2 -2
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +31 -2
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +77 -71
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +29 -28
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
- package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +17 -17
- package/lib/components/VSlider/VSlider.mjs +1 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +14 -14
- package/lib/components/VSlider/slider.mjs +1 -1
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +43 -43
- package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
- package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.css +4 -0
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.sass +4 -0
- package/lib/components/VSwitch/index.d.ts +14 -14
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VTable/VTable.css +1 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/VTable.sass +1 -1
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +25 -30
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +165 -28
- package/lib/components/VTextField/VTextField.mjs +3 -6
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +83 -77
- package/lib/components/VTextarea/VTextarea.mjs +9 -6
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +56 -50
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VTimePicker/SelectingTimes.mjs +3 -3
- package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- 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 +8 -8
- package/lib/components/VToolbar/VToolbar.css +2 -0
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +2 -0
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +43 -43
- package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
- package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
- package/lib/components/VValidation/VValidation.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.mjs +38 -37
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +2 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/index.d.ts +1655 -993
- package/lib/components/transitions/createTransition.mjs +59 -50
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/expand-transition.mjs.map +1 -1
- package/lib/components/transitions/index.d.ts +150 -15
- package/lib/composables/border.mjs.map +1 -1
- package/lib/composables/color.mjs.map +1 -1
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/delay.mjs.map +1 -1
- package/lib/composables/density.mjs.map +1 -1
- package/lib/composables/dimensions.mjs.map +1 -1
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/elevation.mjs.map +1 -1
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/forwardRefs.mjs +17 -0
- package/lib/composables/forwardRefs.mjs.map +1 -1
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/hydration.mjs.map +1 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/items.mjs.map +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/lazy.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/locale.mjs.map +1 -1
- package/lib/composables/location.mjs.map +1 -1
- package/lib/composables/mutationObserver.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/openStrategies.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/position.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs +2 -1
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/refs.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/composables/rounded.mjs.map +1 -1
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/scopeId.mjs.map +1 -1
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/selectLink.mjs.map +1 -1
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/ssrBoot.mjs.map +1 -1
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/teleport.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/composables/touch.mjs.map +1 -1
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +1 -1
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/directives/click-outside/index.mjs.map +1 -1
- package/lib/directives/color/index.mjs.map +1 -1
- package/lib/directives/intersect/index.mjs.map +1 -1
- package/lib/directives/mutate/index.mjs.map +1 -1
- package/lib/directives/resize/index.mjs.map +1 -1
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/directives/scroll/index.mjs.map +1 -1
- package/lib/directives/touch/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +39 -39
- package/lib/labs/VDataTable/VDataTable.mjs +7 -5
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +5 -7
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +4 -3
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -3
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +393 -340
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.css +221 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +141 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.sass +225 -0
- package/lib/labs/VSkeletonLoader/_variables.scss +44 -0
- package/lib/labs/VSkeletonLoader/index.d.ts +222 -0
- package/lib/labs/VSkeletonLoader/index.mjs +2 -0
- package/lib/labs/VSkeletonLoader/index.mjs.map +1 -0
- package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/labs/components.d.ts +608 -341
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/labs/entry-bundler.mjs.map +1 -1
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/lib/locale/af.mjs +2 -1
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +2 -1
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +2 -1
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +2 -1
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +2 -1
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +2 -1
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +2 -1
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +2 -1
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +2 -1
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +2 -1
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +2 -1
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +2 -1
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +2 -1
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +2 -1
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +2 -1
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +2 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +2 -1
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +2 -1
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +2 -1
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +2 -1
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.ts +42 -0
- package/lib/locale/it.mjs +2 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +2 -1
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/ko.mjs +2 -1
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +2 -1
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +2 -1
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +2 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +2 -1
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +2 -1
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +2 -1
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +2 -1
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +2 -1
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +2 -1
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +2 -1
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +2 -1
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +2 -1
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +2 -1
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +2 -1
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +2 -1
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +2 -1
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +2 -1
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +2 -1
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +2 -1
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/services/goto/index.mjs.map +1 -1
- package/lib/services/goto/util.mjs.map +1 -1
- package/lib/util/anchor.mjs.map +1 -1
- package/lib/util/animation.mjs.map +1 -1
- package/lib/util/box.mjs.map +1 -1
- package/lib/util/color/APCA.mjs.map +1 -1
- package/lib/util/color/transformCIELAB.mjs.map +1 -1
- package/lib/util/color/transformSRGB.mjs.map +1 -1
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/dateTimeUtils.mjs.map +1 -1
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/dom.mjs.map +1 -1
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/getScrollParent.mjs.map +1 -1
- package/lib/util/helpers.mjs +1 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/injectSelf.mjs.map +1 -1
- package/lib/util/isFixedPosition.mjs.map +1 -1
- package/lib/util/propsFactory.mjs.map +1 -1
- package/lib/util/useRender.mjs.map +1 -1
- package/package.json +25 -25
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +0 -179
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +0 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +0 -377
- package/lib/components/VSkeletonLoader/_variables.scss +0 -54
- package/lib/components/VSkeletonLoader/index.mjs +0 -4
- package/lib/components/VSkeletonLoader/index.mjs.map +0 -1
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.
|
|
2
|
+
* Vuetify v3.1.14
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -343,7 +343,7 @@
|
|
|
343
343
|
}
|
|
344
344
|
const onRE = /^on[^a-z]/;
|
|
345
345
|
const isOn = key => onRE.test(key);
|
|
346
|
-
const EventProp = [Function, Array];
|
|
346
|
+
const EventProp = () => [Function, Array];
|
|
347
347
|
function hasEvent(props, name) {
|
|
348
348
|
name = 'on' + vue.capitalize(name);
|
|
349
349
|
return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`]);
|
|
@@ -983,7 +983,7 @@
|
|
|
983
983
|
}
|
|
984
984
|
return properties;
|
|
985
985
|
}
|
|
986
|
-
return mergeDeep(properties.prev, properties);
|
|
986
|
+
return properties.prev ? mergeDeep(properties.prev, properties) : properties;
|
|
987
987
|
});
|
|
988
988
|
vue.provide(DefaultsSymbol, newDefaults);
|
|
989
989
|
return newDefaults;
|
|
@@ -1707,7 +1707,7 @@
|
|
|
1707
1707
|
if (/^on-[a-z]/.test(key)) {
|
|
1708
1708
|
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
|
|
1709
1709
|
} else {
|
|
1710
|
-
createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
|
|
1710
|
+
createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
|
|
1711
1711
|
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
|
|
1712
1712
|
createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
|
|
1713
1713
|
}
|
|
@@ -1845,7 +1845,8 @@
|
|
|
1845
1845
|
});
|
|
1846
1846
|
const model = vue.computed({
|
|
1847
1847
|
get() {
|
|
1848
|
-
|
|
1848
|
+
const externalValue = props[prop];
|
|
1849
|
+
return transformIn(isControlled.value ? externalValue : internal.value);
|
|
1849
1850
|
},
|
|
1850
1851
|
set(internalValue) {
|
|
1851
1852
|
const newValue = transformOut(internalValue);
|
|
@@ -1937,7 +1938,8 @@
|
|
|
1937
1938
|
ariaLabel: {
|
|
1938
1939
|
item: 'Rating {0} of {1}'
|
|
1939
1940
|
}
|
|
1940
|
-
}
|
|
1941
|
+
},
|
|
1942
|
+
loading: 'Loading...'
|
|
1941
1943
|
};
|
|
1942
1944
|
|
|
1943
1945
|
const LANG_PREFIX = '$vuetify.';
|
|
@@ -2214,6 +2216,7 @@
|
|
|
2214
2216
|
return genericComponent()({
|
|
2215
2217
|
name,
|
|
2216
2218
|
props: {
|
|
2219
|
+
disabled: Boolean,
|
|
2217
2220
|
group: Boolean,
|
|
2218
2221
|
hideOnLeave: Boolean,
|
|
2219
2222
|
leaveAbsolute: Boolean,
|
|
@@ -2230,56 +2233,62 @@
|
|
|
2230
2233
|
let {
|
|
2231
2234
|
slots
|
|
2232
2235
|
} = _ref;
|
|
2236
|
+
const functions = {
|
|
2237
|
+
onBeforeEnter(el) {
|
|
2238
|
+
el.style.transformOrigin = props.origin;
|
|
2239
|
+
},
|
|
2240
|
+
onLeave(el) {
|
|
2241
|
+
if (props.leaveAbsolute) {
|
|
2242
|
+
const {
|
|
2243
|
+
offsetTop,
|
|
2244
|
+
offsetLeft,
|
|
2245
|
+
offsetWidth,
|
|
2246
|
+
offsetHeight
|
|
2247
|
+
} = el;
|
|
2248
|
+
el._transitionInitialStyles = {
|
|
2249
|
+
position: el.style.position,
|
|
2250
|
+
top: el.style.top,
|
|
2251
|
+
left: el.style.left,
|
|
2252
|
+
width: el.style.width,
|
|
2253
|
+
height: el.style.height
|
|
2254
|
+
};
|
|
2255
|
+
el.style.position = 'absolute';
|
|
2256
|
+
el.style.top = `${offsetTop}px`;
|
|
2257
|
+
el.style.left = `${offsetLeft}px`;
|
|
2258
|
+
el.style.width = `${offsetWidth}px`;
|
|
2259
|
+
el.style.height = `${offsetHeight}px`;
|
|
2260
|
+
}
|
|
2261
|
+
if (props.hideOnLeave) {
|
|
2262
|
+
el.style.setProperty('display', 'none', 'important');
|
|
2263
|
+
}
|
|
2264
|
+
},
|
|
2265
|
+
onAfterLeave(el) {
|
|
2266
|
+
if (props.leaveAbsolute && el?._transitionInitialStyles) {
|
|
2267
|
+
const {
|
|
2268
|
+
position,
|
|
2269
|
+
top,
|
|
2270
|
+
left,
|
|
2271
|
+
width,
|
|
2272
|
+
height
|
|
2273
|
+
} = el._transitionInitialStyles;
|
|
2274
|
+
delete el._transitionInitialStyles;
|
|
2275
|
+
el.style.position = position || '';
|
|
2276
|
+
el.style.top = top || '';
|
|
2277
|
+
el.style.left = left || '';
|
|
2278
|
+
el.style.width = width || '';
|
|
2279
|
+
el.style.height = height || '';
|
|
2280
|
+
}
|
|
2281
|
+
}
|
|
2282
|
+
};
|
|
2233
2283
|
return () => {
|
|
2234
2284
|
const tag = props.group ? vue.TransitionGroup : vue.Transition;
|
|
2235
2285
|
return vue.h(tag, {
|
|
2236
|
-
name,
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
},
|
|
2241
|
-
|
|
2242
|
-
if (props.leaveAbsolute) {
|
|
2243
|
-
const {
|
|
2244
|
-
offsetTop,
|
|
2245
|
-
offsetLeft,
|
|
2246
|
-
offsetWidth,
|
|
2247
|
-
offsetHeight
|
|
2248
|
-
} = el;
|
|
2249
|
-
el._transitionInitialStyles = {
|
|
2250
|
-
position: el.style.position,
|
|
2251
|
-
top: el.style.top,
|
|
2252
|
-
left: el.style.left,
|
|
2253
|
-
width: el.style.width,
|
|
2254
|
-
height: el.style.height
|
|
2255
|
-
};
|
|
2256
|
-
el.style.position = 'absolute';
|
|
2257
|
-
el.style.top = `${offsetTop}px`;
|
|
2258
|
-
el.style.left = `${offsetLeft}px`;
|
|
2259
|
-
el.style.width = `${offsetWidth}px`;
|
|
2260
|
-
el.style.height = `${offsetHeight}px`;
|
|
2261
|
-
}
|
|
2262
|
-
if (props.hideOnLeave) {
|
|
2263
|
-
el.style.setProperty('display', 'none', 'important');
|
|
2264
|
-
}
|
|
2265
|
-
},
|
|
2266
|
-
onAfterLeave(el) {
|
|
2267
|
-
if (props.leaveAbsolute && el?._transitionInitialStyles) {
|
|
2268
|
-
const {
|
|
2269
|
-
position,
|
|
2270
|
-
top,
|
|
2271
|
-
left,
|
|
2272
|
-
width,
|
|
2273
|
-
height
|
|
2274
|
-
} = el._transitionInitialStyles;
|
|
2275
|
-
delete el._transitionInitialStyles;
|
|
2276
|
-
el.style.position = position || '';
|
|
2277
|
-
el.style.top = top || '';
|
|
2278
|
-
el.style.left = left || '';
|
|
2279
|
-
el.style.width = width || '';
|
|
2280
|
-
el.style.height = height || '';
|
|
2281
|
-
}
|
|
2282
|
-
}
|
|
2286
|
+
name: props.disabled ? '' : name,
|
|
2287
|
+
css: !props.disabled,
|
|
2288
|
+
...(props.group ? undefined : {
|
|
2289
|
+
mode: props.mode
|
|
2290
|
+
}),
|
|
2291
|
+
...(props.disabled ? {} : functions)
|
|
2283
2292
|
}, slots.default);
|
|
2284
2293
|
};
|
|
2285
2294
|
}
|
|
@@ -2293,7 +2302,8 @@
|
|
|
2293
2302
|
mode: {
|
|
2294
2303
|
type: String,
|
|
2295
2304
|
default: mode
|
|
2296
|
-
}
|
|
2305
|
+
},
|
|
2306
|
+
disabled: Boolean
|
|
2297
2307
|
},
|
|
2298
2308
|
setup(props, _ref2) {
|
|
2299
2309
|
let {
|
|
@@ -2301,9 +2311,10 @@
|
|
|
2301
2311
|
} = _ref2;
|
|
2302
2312
|
return () => {
|
|
2303
2313
|
return vue.h(vue.Transition, {
|
|
2304
|
-
name,
|
|
2314
|
+
name: props.disabled ? '' : name,
|
|
2315
|
+
css: !props.disabled,
|
|
2305
2316
|
// mode: props.mode, // TODO: vuejs/vue-next#3104
|
|
2306
|
-
...functions
|
|
2317
|
+
...(props.disabled ? {} : functions)
|
|
2307
2318
|
}, slots.default);
|
|
2308
2319
|
};
|
|
2309
2320
|
}
|
|
@@ -2709,9 +2720,9 @@
|
|
|
2709
2720
|
...makeTransitionProps()
|
|
2710
2721
|
},
|
|
2711
2722
|
emits: {
|
|
2712
|
-
loadstart:
|
|
2713
|
-
load:
|
|
2714
|
-
error:
|
|
2723
|
+
loadstart: value => true,
|
|
2724
|
+
load: value => true,
|
|
2725
|
+
error: value => true
|
|
2715
2726
|
},
|
|
2716
2727
|
setup(props, _ref) {
|
|
2717
2728
|
let {
|
|
@@ -5336,9 +5347,9 @@
|
|
|
5336
5347
|
default: 'filled',
|
|
5337
5348
|
validator: v => allowedVariants$1.includes(v)
|
|
5338
5349
|
},
|
|
5339
|
-
'onClick:clear': EventProp,
|
|
5340
|
-
'onClick:appendInner': EventProp,
|
|
5341
|
-
'onClick:prependInner': EventProp,
|
|
5350
|
+
'onClick:clear': EventProp(),
|
|
5351
|
+
'onClick:appendInner': EventProp(),
|
|
5352
|
+
'onClick:prependInner': EventProp(),
|
|
5342
5353
|
...makeThemeProps(),
|
|
5343
5354
|
...makeLoaderProps()
|
|
5344
5355
|
}, 'v-field');
|
|
@@ -5837,7 +5848,7 @@
|
|
|
5837
5848
|
const results = [];
|
|
5838
5849
|
isValidating.value = true;
|
|
5839
5850
|
for (const rule of props.rules) {
|
|
5840
|
-
if (results.length >= (props.maxErrors ?? 1)) {
|
|
5851
|
+
if (results.length >= +(props.maxErrors ?? 1)) {
|
|
5841
5852
|
break;
|
|
5842
5853
|
}
|
|
5843
5854
|
const handler = typeof rule === 'function' ? rule : () => rule;
|
|
@@ -5884,8 +5895,8 @@
|
|
|
5884
5895
|
default: 'horizontal',
|
|
5885
5896
|
validator: v => ['horizontal', 'vertical'].includes(v)
|
|
5886
5897
|
},
|
|
5887
|
-
'onClick:prepend': EventProp,
|
|
5888
|
-
'onClick:append': EventProp,
|
|
5898
|
+
'onClick:prepend': EventProp(),
|
|
5899
|
+
'onClick:append': EventProp(),
|
|
5889
5900
|
...makeDensityProps(),
|
|
5890
5901
|
...makeValidationProps()
|
|
5891
5902
|
}, 'v-input');
|
|
@@ -6042,6 +6053,9 @@
|
|
|
6042
6053
|
if (Reflect.has(target, key)) {
|
|
6043
6054
|
return Reflect.get(target, key);
|
|
6044
6055
|
}
|
|
6056
|
+
|
|
6057
|
+
// Skip internal properties
|
|
6058
|
+
if (typeof key === 'symbol' || key.startsWith('__')) return;
|
|
6045
6059
|
for (const ref of refs) {
|
|
6046
6060
|
if (ref.value && Reflect.has(ref.value, key)) {
|
|
6047
6061
|
const val = Reflect.get(ref.value, key);
|
|
@@ -6049,6 +6063,20 @@
|
|
|
6049
6063
|
}
|
|
6050
6064
|
}
|
|
6051
6065
|
},
|
|
6066
|
+
has(target, key) {
|
|
6067
|
+
if (Reflect.has(target, key)) {
|
|
6068
|
+
return true;
|
|
6069
|
+
}
|
|
6070
|
+
|
|
6071
|
+
// Skip internal properties
|
|
6072
|
+
if (typeof key === 'symbol' || key.startsWith('__')) return false;
|
|
6073
|
+
for (const ref of refs) {
|
|
6074
|
+
if (ref.value && Reflect.has(ref.value, key)) {
|
|
6075
|
+
return true;
|
|
6076
|
+
}
|
|
6077
|
+
}
|
|
6078
|
+
return false;
|
|
6079
|
+
},
|
|
6052
6080
|
getOwnPropertyDescriptor(target, key) {
|
|
6053
6081
|
const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
|
|
6054
6082
|
if (descriptor) return descriptor;
|
|
@@ -6099,6 +6127,7 @@
|
|
|
6099
6127
|
type: String,
|
|
6100
6128
|
default: 'text'
|
|
6101
6129
|
},
|
|
6130
|
+
modelModifiers: Object,
|
|
6102
6131
|
...makeVInputProps(),
|
|
6103
6132
|
...makeVFieldProps()
|
|
6104
6133
|
}, 'v-text-field');
|
|
@@ -6173,7 +6202,7 @@
|
|
|
6173
6202
|
function onInput(e) {
|
|
6174
6203
|
const el = e.target;
|
|
6175
6204
|
model.value = el.value;
|
|
6176
|
-
if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
|
|
6205
|
+
if (props.modelModifiers?.trim && ['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
|
|
6177
6206
|
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
6178
6207
|
vue.nextTick(() => {
|
|
6179
6208
|
el.selectionStart = caretPosition[0];
|
|
@@ -6238,9 +6267,6 @@
|
|
|
6238
6267
|
...slotProps
|
|
6239
6268
|
}
|
|
6240
6269
|
} = _ref3;
|
|
6241
|
-
const placeholder = vue.computed(() => {
|
|
6242
|
-
return (props.persistentPlaceholder || isFocused.value) && !isDirty.value ? props.placeholder : '';
|
|
6243
|
-
});
|
|
6244
6270
|
const inputNode = vue.withDirectives(vue.createVNode("input", vue.mergeProps({
|
|
6245
6271
|
"ref": inputRef,
|
|
6246
6272
|
"value": model.value,
|
|
@@ -6249,7 +6275,7 @@
|
|
|
6249
6275
|
"readonly": isReadonly.value,
|
|
6250
6276
|
"disabled": isDisabled.value,
|
|
6251
6277
|
"name": props.name,
|
|
6252
|
-
"placeholder": placeholder
|
|
6278
|
+
"placeholder": props.placeholder,
|
|
6253
6279
|
"size": 1,
|
|
6254
6280
|
"type": props.type,
|
|
6255
6281
|
"onFocus": onFocus,
|
|
@@ -6813,8 +6839,8 @@
|
|
|
6813
6839
|
type: Boolean,
|
|
6814
6840
|
default: true
|
|
6815
6841
|
},
|
|
6816
|
-
onClick: EventProp,
|
|
6817
|
-
onClickOnce: EventProp,
|
|
6842
|
+
onClick: EventProp(),
|
|
6843
|
+
onClickOnce: EventProp(),
|
|
6818
6844
|
...makeBorderProps(),
|
|
6819
6845
|
...makeDensityProps(),
|
|
6820
6846
|
...makeElevationProps(),
|
|
@@ -7565,6 +7591,9 @@
|
|
|
7565
7591
|
} = useNestedItem(vue.toRef(props, 'value'), true);
|
|
7566
7592
|
const id = vue.computed(() => `v-list-group--id-${String(_id.value)}`);
|
|
7567
7593
|
const list = useList();
|
|
7594
|
+
const {
|
|
7595
|
+
isBooted
|
|
7596
|
+
} = useSsrBoot();
|
|
7568
7597
|
function onClick(e) {
|
|
7569
7598
|
open(!isOpen.value, e);
|
|
7570
7599
|
}
|
|
@@ -7574,6 +7603,17 @@
|
|
|
7574
7603
|
id: id.value
|
|
7575
7604
|
}));
|
|
7576
7605
|
const toggleIcon = vue.computed(() => isOpen.value ? props.collapseIcon : props.expandIcon);
|
|
7606
|
+
const activatorDefaults = vue.computed(() => ({
|
|
7607
|
+
VListItem: {
|
|
7608
|
+
active: isOpen.value,
|
|
7609
|
+
activeColor: props.activeColor,
|
|
7610
|
+
color: props.color,
|
|
7611
|
+
prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
|
|
7612
|
+
appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
|
|
7613
|
+
title: props.title,
|
|
7614
|
+
value: props.value
|
|
7615
|
+
}
|
|
7616
|
+
}));
|
|
7577
7617
|
useRender(() => vue.createVNode(props.tag, {
|
|
7578
7618
|
"class": ['v-list-group', {
|
|
7579
7619
|
'v-list-group--prepend': list?.hasPrepend.value,
|
|
@@ -7583,17 +7623,7 @@
|
|
|
7583
7623
|
}]
|
|
7584
7624
|
}, {
|
|
7585
7625
|
default: () => [slots.activator && vue.createVNode(VDefaultsProvider, {
|
|
7586
|
-
"defaults":
|
|
7587
|
-
VListItem: {
|
|
7588
|
-
active: isOpen.value,
|
|
7589
|
-
activeColor: props.activeColor,
|
|
7590
|
-
color: props.color,
|
|
7591
|
-
prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
|
|
7592
|
-
appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
|
|
7593
|
-
title: props.title,
|
|
7594
|
-
value: props.value
|
|
7595
|
-
}
|
|
7596
|
-
}
|
|
7626
|
+
"defaults": activatorDefaults.value
|
|
7597
7627
|
}, {
|
|
7598
7628
|
default: () => [vue.createVNode(VListGroupActivator, null, {
|
|
7599
7629
|
default: () => [slots.activator({
|
|
@@ -7601,7 +7631,12 @@
|
|
|
7601
7631
|
isOpen: isOpen.value
|
|
7602
7632
|
})]
|
|
7603
7633
|
})]
|
|
7604
|
-
}), vue.createVNode(
|
|
7634
|
+
}), vue.createVNode(MaybeTransition, {
|
|
7635
|
+
"transition": {
|
|
7636
|
+
component: VExpandTransition
|
|
7637
|
+
},
|
|
7638
|
+
"disabled": !isBooted.value
|
|
7639
|
+
}, {
|
|
7605
7640
|
default: () => [vue.withDirectives(vue.createVNode("div", {
|
|
7606
7641
|
"class": "v-list-group__items",
|
|
7607
7642
|
"role": "group",
|
|
@@ -7649,8 +7684,8 @@
|
|
|
7649
7684
|
subtitle: [String, Number, Boolean],
|
|
7650
7685
|
title: [String, Number, Boolean],
|
|
7651
7686
|
value: null,
|
|
7652
|
-
onClick: EventProp,
|
|
7653
|
-
onClickOnce: EventProp,
|
|
7687
|
+
onClick: EventProp(),
|
|
7688
|
+
onClickOnce: EventProp(),
|
|
7654
7689
|
...makeBorderProps(),
|
|
7655
7690
|
...makeDensityProps(),
|
|
7656
7691
|
...makeDimensionProps(),
|
|
@@ -8192,7 +8227,8 @@
|
|
|
8192
8227
|
}
|
|
8193
8228
|
function focus(location) {
|
|
8194
8229
|
if (!contentRef.value) return;
|
|
8195
|
-
const
|
|
8230
|
+
const targets = ['button', '[href]', 'input', 'select', 'textarea', '[tabindex]'].map(s => `${s}:not([tabindex="-1"])`).join(', ');
|
|
8231
|
+
const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
|
|
8196
8232
|
const idx = focusable.indexOf(document.activeElement);
|
|
8197
8233
|
if (!location) {
|
|
8198
8234
|
if (!contentRef.value.contains(document.activeElement)) {
|
|
@@ -8373,6 +8409,7 @@
|
|
|
8373
8409
|
isActive.value = !isActive.value;
|
|
8374
8410
|
},
|
|
8375
8411
|
mouseenter: e => {
|
|
8412
|
+
if (e.sourceCapabilities?.firesTouchEvents) return;
|
|
8376
8413
|
isHovered = true;
|
|
8377
8414
|
activatorEl.value = e.currentTarget || e.target;
|
|
8378
8415
|
runOpenDelay();
|
|
@@ -9899,6 +9936,9 @@
|
|
|
9899
9936
|
});
|
|
9900
9937
|
});
|
|
9901
9938
|
const selected = vue.computed(() => selections.value.map(selection => selection.props.value));
|
|
9939
|
+
const isFocused = vue.ref(false);
|
|
9940
|
+
let keyboardLookupPrefix = '';
|
|
9941
|
+
let keyboardLookupLastTime;
|
|
9902
9942
|
const displayItems = vue.computed(() => {
|
|
9903
9943
|
if (props.hideSelected) {
|
|
9904
9944
|
return items.value.filter(item => !selections.value.some(s => s === item));
|
|
@@ -9935,6 +9975,26 @@
|
|
|
9935
9975
|
} else if (e.key === 'End') {
|
|
9936
9976
|
listRef.value?.focus('last');
|
|
9937
9977
|
}
|
|
9978
|
+
|
|
9979
|
+
// html select hotkeys
|
|
9980
|
+
const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
|
|
9981
|
+
|
|
9982
|
+
function checkPrintable(e) {
|
|
9983
|
+
const isPrintableChar = e.key.length === 1;
|
|
9984
|
+
const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
|
|
9985
|
+
return isPrintableChar && noModifier;
|
|
9986
|
+
}
|
|
9987
|
+
if (props.multiple || !checkPrintable(e)) return;
|
|
9988
|
+
const now = performance.now();
|
|
9989
|
+
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
|
9990
|
+
keyboardLookupPrefix = '';
|
|
9991
|
+
}
|
|
9992
|
+
keyboardLookupPrefix += e.key.toLowerCase();
|
|
9993
|
+
keyboardLookupLastTime = now;
|
|
9994
|
+
const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
|
|
9995
|
+
if (item !== undefined) {
|
|
9996
|
+
model.value = [item];
|
|
9997
|
+
}
|
|
9938
9998
|
}
|
|
9939
9999
|
function select(item) {
|
|
9940
10000
|
if (props.multiple) {
|
|
@@ -9964,7 +10024,9 @@
|
|
|
9964
10024
|
useRender(() => {
|
|
9965
10025
|
const hasChips = !!(props.chips || slots.chip);
|
|
9966
10026
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
10027
|
+
const isDirty = model.value.length > 0;
|
|
9967
10028
|
const [textFieldProps] = VTextField.filterProps(props);
|
|
10029
|
+
const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? undefined : props.placeholder;
|
|
9968
10030
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
9969
10031
|
"ref": vTextFieldRef
|
|
9970
10032
|
}, textFieldProps, {
|
|
@@ -9972,8 +10034,10 @@
|
|
|
9972
10034
|
"onUpdate:modelValue": v => {
|
|
9973
10035
|
if (v == null) model.value = [];
|
|
9974
10036
|
},
|
|
10037
|
+
"focused": isFocused.value,
|
|
10038
|
+
"onUpdate:focused": $event => isFocused.value = $event,
|
|
9975
10039
|
"validationValue": model.externalValue,
|
|
9976
|
-
"dirty":
|
|
10040
|
+
"dirty": isDirty,
|
|
9977
10041
|
"class": ['v-select', {
|
|
9978
10042
|
'v-select--active-menu': menu.value,
|
|
9979
10043
|
'v-select--chips': !!props.chips,
|
|
@@ -9982,6 +10046,7 @@
|
|
|
9982
10046
|
}],
|
|
9983
10047
|
"appendInnerIcon": props.menuIcon,
|
|
9984
10048
|
"readonly": true,
|
|
10049
|
+
"placeholder": placeholder,
|
|
9985
10050
|
"onClick:clear": onClear,
|
|
9986
10051
|
"onMousedown:control": onMousedownControl,
|
|
9987
10052
|
"onBlur": onBlur,
|
|
@@ -10030,7 +10095,8 @@
|
|
|
10030
10095
|
} = _ref2;
|
|
10031
10096
|
return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
|
|
10032
10097
|
"modelValue": isSelected,
|
|
10033
|
-
"ripple": false
|
|
10098
|
+
"ripple": false,
|
|
10099
|
+
"tabindex": "-1"
|
|
10034
10100
|
}, null) : undefined;
|
|
10035
10101
|
}
|
|
10036
10102
|
});
|
|
@@ -10357,6 +10423,7 @@
|
|
|
10357
10423
|
useRender(() => {
|
|
10358
10424
|
const hasChips = !!(props.chips || slots.chip);
|
|
10359
10425
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
10426
|
+
const isDirty = model.value.length > 0;
|
|
10360
10427
|
const [textFieldProps] = VTextField.filterProps(props);
|
|
10361
10428
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
10362
10429
|
"ref": vTextFieldRef
|
|
@@ -10366,7 +10433,7 @@
|
|
|
10366
10433
|
if (v == null) model.value = [];
|
|
10367
10434
|
},
|
|
10368
10435
|
"validationValue": model.externalValue,
|
|
10369
|
-
"dirty":
|
|
10436
|
+
"dirty": isDirty,
|
|
10370
10437
|
"onInput": onInput,
|
|
10371
10438
|
"class": ['v-autocomplete', {
|
|
10372
10439
|
'v-autocomplete--active-menu': menu.value,
|
|
@@ -10376,6 +10443,7 @@
|
|
|
10376
10443
|
}],
|
|
10377
10444
|
"appendInnerIcon": props.menuIcon,
|
|
10378
10445
|
"readonly": props.readonly,
|
|
10446
|
+
"placeholder": isDirty ? undefined : props.placeholder,
|
|
10379
10447
|
"onClick:clear": onClear,
|
|
10380
10448
|
"onMousedown:control": onMousedownControl,
|
|
10381
10449
|
"onFocus": () => isFocused.value = true,
|
|
@@ -10406,14 +10474,13 @@
|
|
|
10406
10474
|
}, {
|
|
10407
10475
|
default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
|
10408
10476
|
"title": t(props.noDataText)
|
|
10409
|
-
}, null)), slots['prepend-item']?.(), displayItems.value.map(
|
|
10477
|
+
}, null)), slots['prepend-item']?.(), displayItems.value.map(item => slots.item?.({
|
|
10410
10478
|
item,
|
|
10411
|
-
index,
|
|
10412
10479
|
props: vue.mergeProps(item.props, {
|
|
10413
10480
|
onClick: () => select(item)
|
|
10414
10481
|
})
|
|
10415
10482
|
}) ?? vue.createVNode(VListItem, vue.mergeProps({
|
|
10416
|
-
"key":
|
|
10483
|
+
"key": item.value
|
|
10417
10484
|
}, item.props, {
|
|
10418
10485
|
"onClick": () => select(item)
|
|
10419
10486
|
}), {
|
|
@@ -10423,7 +10490,8 @@
|
|
|
10423
10490
|
} = _ref2;
|
|
10424
10491
|
return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
|
|
10425
10492
|
"modelValue": isSelected,
|
|
10426
|
-
"ripple": false
|
|
10493
|
+
"ripple": false,
|
|
10494
|
+
"tabindex": "-1"
|
|
10427
10495
|
}, null) : undefined;
|
|
10428
10496
|
},
|
|
10429
10497
|
title: () => {
|
|
@@ -10548,7 +10616,7 @@
|
|
|
10548
10616
|
});
|
|
10549
10617
|
useRender(() => {
|
|
10550
10618
|
const value = Number(props.content);
|
|
10551
|
-
const content = !props.max || isNaN(value) ? props.content : value <= props.max ? value : `${props.max}+`;
|
|
10619
|
+
const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;
|
|
10552
10620
|
const [badgeAttrs, attrs] = pick(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
|
|
10553
10621
|
return vue.createVNode(props.tag, vue.mergeProps({
|
|
10554
10622
|
"class": ['v-badge', {
|
|
@@ -11345,47 +11413,48 @@
|
|
|
11345
11413
|
|
|
11346
11414
|
const VWindowSymbol = Symbol.for('vuetify:v-window');
|
|
11347
11415
|
const VWindowGroupSymbol = Symbol.for('vuetify:v-window-group');
|
|
11416
|
+
const makeVWindowProps = propsFactory({
|
|
11417
|
+
continuous: Boolean,
|
|
11418
|
+
nextIcon: {
|
|
11419
|
+
type: [Boolean, String, Function, Object],
|
|
11420
|
+
default: '$next'
|
|
11421
|
+
},
|
|
11422
|
+
prevIcon: {
|
|
11423
|
+
type: [Boolean, String, Function, Object],
|
|
11424
|
+
default: '$prev'
|
|
11425
|
+
},
|
|
11426
|
+
reverse: Boolean,
|
|
11427
|
+
showArrows: {
|
|
11428
|
+
type: [Boolean, String],
|
|
11429
|
+
validator: v => typeof v === 'boolean' || v === 'hover'
|
|
11430
|
+
},
|
|
11431
|
+
touch: {
|
|
11432
|
+
type: [Object, Boolean],
|
|
11433
|
+
default: undefined
|
|
11434
|
+
},
|
|
11435
|
+
direction: {
|
|
11436
|
+
type: String,
|
|
11437
|
+
default: 'horizontal'
|
|
11438
|
+
},
|
|
11439
|
+
modelValue: null,
|
|
11440
|
+
disabled: Boolean,
|
|
11441
|
+
selectedClass: {
|
|
11442
|
+
type: String,
|
|
11443
|
+
default: 'v-window-item--active'
|
|
11444
|
+
},
|
|
11445
|
+
// TODO: mandatory should probably not be exposed but do this for now
|
|
11446
|
+
mandatory: {
|
|
11447
|
+
default: 'force'
|
|
11448
|
+
},
|
|
11449
|
+
...makeTagProps(),
|
|
11450
|
+
...makeThemeProps()
|
|
11451
|
+
}, 'v-window');
|
|
11348
11452
|
const VWindow = genericComponent()({
|
|
11349
11453
|
name: 'VWindow',
|
|
11350
11454
|
directives: {
|
|
11351
11455
|
Touch
|
|
11352
11456
|
},
|
|
11353
|
-
props:
|
|
11354
|
-
continuous: Boolean,
|
|
11355
|
-
nextIcon: {
|
|
11356
|
-
type: [Boolean, String, Function, Object],
|
|
11357
|
-
default: '$next'
|
|
11358
|
-
},
|
|
11359
|
-
prevIcon: {
|
|
11360
|
-
type: [Boolean, String, Function, Object],
|
|
11361
|
-
default: '$prev'
|
|
11362
|
-
},
|
|
11363
|
-
reverse: Boolean,
|
|
11364
|
-
showArrows: {
|
|
11365
|
-
type: [Boolean, String],
|
|
11366
|
-
validator: v => typeof v === 'boolean' || v === 'hover'
|
|
11367
|
-
},
|
|
11368
|
-
touch: {
|
|
11369
|
-
type: [Object, Boolean],
|
|
11370
|
-
default: undefined
|
|
11371
|
-
},
|
|
11372
|
-
direction: {
|
|
11373
|
-
type: String,
|
|
11374
|
-
default: 'horizontal'
|
|
11375
|
-
},
|
|
11376
|
-
modelValue: null,
|
|
11377
|
-
disabled: Boolean,
|
|
11378
|
-
selectedClass: {
|
|
11379
|
-
type: String,
|
|
11380
|
-
default: 'v-window-item--active'
|
|
11381
|
-
},
|
|
11382
|
-
// TODO: mandatory should probably not be exposed but do this for now
|
|
11383
|
-
mandatory: {
|
|
11384
|
-
default: 'force'
|
|
11385
|
-
},
|
|
11386
|
-
...makeTagProps(),
|
|
11387
|
-
...makeThemeProps()
|
|
11388
|
-
},
|
|
11457
|
+
props: makeVWindowProps(),
|
|
11389
11458
|
emits: {
|
|
11390
11459
|
'update:modelValue': v => true
|
|
11391
11460
|
},
|
|
@@ -11513,112 +11582,6 @@
|
|
|
11513
11582
|
}
|
|
11514
11583
|
});
|
|
11515
11584
|
|
|
11516
|
-
const VWindowItem = genericComponent()({
|
|
11517
|
-
name: 'VWindowItem',
|
|
11518
|
-
directives: {
|
|
11519
|
-
Touch
|
|
11520
|
-
},
|
|
11521
|
-
props: {
|
|
11522
|
-
reverseTransition: {
|
|
11523
|
-
type: [Boolean, String],
|
|
11524
|
-
default: undefined
|
|
11525
|
-
},
|
|
11526
|
-
transition: {
|
|
11527
|
-
type: [Boolean, String],
|
|
11528
|
-
default: undefined
|
|
11529
|
-
},
|
|
11530
|
-
...makeGroupItemProps(),
|
|
11531
|
-
...makeLazyProps()
|
|
11532
|
-
},
|
|
11533
|
-
emits: {
|
|
11534
|
-
'group:selected': val => true
|
|
11535
|
-
},
|
|
11536
|
-
setup(props, _ref) {
|
|
11537
|
-
let {
|
|
11538
|
-
slots
|
|
11539
|
-
} = _ref;
|
|
11540
|
-
const window = vue.inject(VWindowSymbol);
|
|
11541
|
-
const groupItem = useGroupItem(props, VWindowGroupSymbol);
|
|
11542
|
-
const {
|
|
11543
|
-
isBooted
|
|
11544
|
-
} = useSsrBoot();
|
|
11545
|
-
if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
|
|
11546
|
-
const isTransitioning = vue.ref(false);
|
|
11547
|
-
const hasTransition = vue.computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
|
|
11548
|
-
function onAfterTransition() {
|
|
11549
|
-
if (!isTransitioning.value || !window) {
|
|
11550
|
-
return;
|
|
11551
|
-
}
|
|
11552
|
-
|
|
11553
|
-
// Finalize transition state.
|
|
11554
|
-
isTransitioning.value = false;
|
|
11555
|
-
if (window.transitionCount.value > 0) {
|
|
11556
|
-
window.transitionCount.value -= 1;
|
|
11557
|
-
|
|
11558
|
-
// Remove container height if we are out of transition.
|
|
11559
|
-
if (window.transitionCount.value === 0) {
|
|
11560
|
-
window.transitionHeight.value = undefined;
|
|
11561
|
-
}
|
|
11562
|
-
}
|
|
11563
|
-
}
|
|
11564
|
-
function onBeforeTransition() {
|
|
11565
|
-
if (isTransitioning.value || !window) {
|
|
11566
|
-
return;
|
|
11567
|
-
}
|
|
11568
|
-
|
|
11569
|
-
// Initialize transition state here.
|
|
11570
|
-
isTransitioning.value = true;
|
|
11571
|
-
if (window.transitionCount.value === 0) {
|
|
11572
|
-
// Set initial height for height transition.
|
|
11573
|
-
window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight);
|
|
11574
|
-
}
|
|
11575
|
-
window.transitionCount.value += 1;
|
|
11576
|
-
}
|
|
11577
|
-
function onTransitionCancelled() {
|
|
11578
|
-
onAfterTransition(); // This should have the same path as normal transition end.
|
|
11579
|
-
}
|
|
11580
|
-
|
|
11581
|
-
function onEnterTransition(el) {
|
|
11582
|
-
if (!isTransitioning.value) {
|
|
11583
|
-
return;
|
|
11584
|
-
}
|
|
11585
|
-
vue.nextTick(() => {
|
|
11586
|
-
// Do not set height if no transition or cancelled.
|
|
11587
|
-
if (!hasTransition.value || !isTransitioning.value || !window) {
|
|
11588
|
-
return;
|
|
11589
|
-
}
|
|
11590
|
-
|
|
11591
|
-
// Set transition target height.
|
|
11592
|
-
window.transitionHeight.value = convertToUnit(el.clientHeight);
|
|
11593
|
-
});
|
|
11594
|
-
}
|
|
11595
|
-
const transition = vue.computed(() => {
|
|
11596
|
-
const name = window.isReversed.value ? props.reverseTransition : props.transition;
|
|
11597
|
-
return !hasTransition.value ? false : {
|
|
11598
|
-
name: typeof name !== 'string' ? window.transition.value : name,
|
|
11599
|
-
onBeforeEnter: onBeforeTransition,
|
|
11600
|
-
onAfterEnter: onAfterTransition,
|
|
11601
|
-
onEnterCancelled: onTransitionCancelled,
|
|
11602
|
-
onBeforeLeave: onBeforeTransition,
|
|
11603
|
-
onAfterLeave: onAfterTransition,
|
|
11604
|
-
onLeaveCancelled: onTransitionCancelled,
|
|
11605
|
-
onEnter: onEnterTransition
|
|
11606
|
-
};
|
|
11607
|
-
});
|
|
11608
|
-
const {
|
|
11609
|
-
hasContent
|
|
11610
|
-
} = useLazy(props, groupItem.isSelected);
|
|
11611
|
-
useRender(() => vue.createVNode(MaybeTransition, {
|
|
11612
|
-
"transition": isBooted.value && transition.value
|
|
11613
|
-
}, {
|
|
11614
|
-
default: () => [vue.withDirectives(vue.createVNode("div", {
|
|
11615
|
-
"class": ['v-window-item', groupItem.selectedClass.value]
|
|
11616
|
-
}, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
|
|
11617
|
-
}));
|
|
11618
|
-
return {};
|
|
11619
|
-
}
|
|
11620
|
-
});
|
|
11621
|
-
|
|
11622
11585
|
// Types
|
|
11623
11586
|
|
|
11624
11587
|
const VCarousel = genericComponent()({
|
|
@@ -11639,16 +11602,15 @@
|
|
|
11639
11602
|
interval: {
|
|
11640
11603
|
type: [Number, String],
|
|
11641
11604
|
default: 6000,
|
|
11642
|
-
validator: value => value > 0
|
|
11605
|
+
validator: value => Number(value) > 0
|
|
11643
11606
|
},
|
|
11644
|
-
modelValue: null,
|
|
11645
11607
|
progress: [Boolean, String],
|
|
11646
|
-
|
|
11647
|
-
|
|
11648
|
-
|
|
11649
|
-
|
|
11650
|
-
|
|
11651
|
-
|
|
11608
|
+
verticalDelimiters: [Boolean, String],
|
|
11609
|
+
...makeVWindowProps({
|
|
11610
|
+
continuous: true,
|
|
11611
|
+
mandatory: 'force',
|
|
11612
|
+
showArrows: true
|
|
11613
|
+
})
|
|
11652
11614
|
},
|
|
11653
11615
|
emits: {
|
|
11654
11616
|
'update:modelValue': val => true
|
|
@@ -11716,6 +11678,7 @@
|
|
|
11716
11678
|
}, {
|
|
11717
11679
|
default: () => [group.items.value.map((item, index) => {
|
|
11718
11680
|
const props = {
|
|
11681
|
+
id: `carousel-item-${item.id}`,
|
|
11719
11682
|
'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),
|
|
11720
11683
|
class: [group.isSelected(item.id) && 'v-btn--active'],
|
|
11721
11684
|
onClick: () => group.select(item.id, true)
|
|
@@ -11738,29 +11701,189 @@
|
|
|
11738
11701
|
}
|
|
11739
11702
|
});
|
|
11740
11703
|
|
|
11741
|
-
|
|
11742
|
-
|
|
11743
|
-
|
|
11744
|
-
|
|
11745
|
-
|
|
11704
|
+
const VWindowItem = genericComponent()({
|
|
11705
|
+
name: 'VWindowItem',
|
|
11706
|
+
directives: {
|
|
11707
|
+
Touch
|
|
11708
|
+
},
|
|
11746
11709
|
props: {
|
|
11747
|
-
|
|
11710
|
+
reverseTransition: {
|
|
11711
|
+
type: [Boolean, String],
|
|
11712
|
+
default: undefined
|
|
11713
|
+
},
|
|
11714
|
+
transition: {
|
|
11715
|
+
type: [Boolean, String],
|
|
11716
|
+
default: undefined
|
|
11717
|
+
},
|
|
11718
|
+
...makeGroupItemProps(),
|
|
11719
|
+
...makeLazyProps()
|
|
11720
|
+
},
|
|
11721
|
+
emits: {
|
|
11722
|
+
'group:selected': val => true
|
|
11748
11723
|
},
|
|
11749
11724
|
setup(props, _ref) {
|
|
11750
11725
|
let {
|
|
11751
|
-
slots
|
|
11752
|
-
attrs
|
|
11726
|
+
slots
|
|
11753
11727
|
} = _ref;
|
|
11754
|
-
|
|
11755
|
-
|
|
11756
|
-
|
|
11757
|
-
|
|
11758
|
-
|
|
11759
|
-
|
|
11760
|
-
|
|
11761
|
-
|
|
11762
|
-
|
|
11763
|
-
|
|
11728
|
+
const window = vue.inject(VWindowSymbol);
|
|
11729
|
+
const groupItem = useGroupItem(props, VWindowGroupSymbol);
|
|
11730
|
+
const {
|
|
11731
|
+
isBooted
|
|
11732
|
+
} = useSsrBoot();
|
|
11733
|
+
if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
|
|
11734
|
+
const isTransitioning = vue.ref(false);
|
|
11735
|
+
const hasTransition = vue.computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
|
|
11736
|
+
function onAfterTransition() {
|
|
11737
|
+
if (!isTransitioning.value || !window) {
|
|
11738
|
+
return;
|
|
11739
|
+
}
|
|
11740
|
+
|
|
11741
|
+
// Finalize transition state.
|
|
11742
|
+
isTransitioning.value = false;
|
|
11743
|
+
if (window.transitionCount.value > 0) {
|
|
11744
|
+
window.transitionCount.value -= 1;
|
|
11745
|
+
|
|
11746
|
+
// Remove container height if we are out of transition.
|
|
11747
|
+
if (window.transitionCount.value === 0) {
|
|
11748
|
+
window.transitionHeight.value = undefined;
|
|
11749
|
+
}
|
|
11750
|
+
}
|
|
11751
|
+
}
|
|
11752
|
+
function onBeforeTransition() {
|
|
11753
|
+
if (isTransitioning.value || !window) {
|
|
11754
|
+
return;
|
|
11755
|
+
}
|
|
11756
|
+
|
|
11757
|
+
// Initialize transition state here.
|
|
11758
|
+
isTransitioning.value = true;
|
|
11759
|
+
if (window.transitionCount.value === 0) {
|
|
11760
|
+
// Set initial height for height transition.
|
|
11761
|
+
window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight);
|
|
11762
|
+
}
|
|
11763
|
+
window.transitionCount.value += 1;
|
|
11764
|
+
}
|
|
11765
|
+
function onTransitionCancelled() {
|
|
11766
|
+
onAfterTransition(); // This should have the same path as normal transition end.
|
|
11767
|
+
}
|
|
11768
|
+
|
|
11769
|
+
function onEnterTransition(el) {
|
|
11770
|
+
if (!isTransitioning.value) {
|
|
11771
|
+
return;
|
|
11772
|
+
}
|
|
11773
|
+
vue.nextTick(() => {
|
|
11774
|
+
// Do not set height if no transition or cancelled.
|
|
11775
|
+
if (!hasTransition.value || !isTransitioning.value || !window) {
|
|
11776
|
+
return;
|
|
11777
|
+
}
|
|
11778
|
+
|
|
11779
|
+
// Set transition target height.
|
|
11780
|
+
window.transitionHeight.value = convertToUnit(el.clientHeight);
|
|
11781
|
+
});
|
|
11782
|
+
}
|
|
11783
|
+
const transition = vue.computed(() => {
|
|
11784
|
+
const name = window.isReversed.value ? props.reverseTransition : props.transition;
|
|
11785
|
+
return !hasTransition.value ? false : {
|
|
11786
|
+
name: typeof name !== 'string' ? window.transition.value : name,
|
|
11787
|
+
onBeforeEnter: onBeforeTransition,
|
|
11788
|
+
onAfterEnter: onAfterTransition,
|
|
11789
|
+
onEnterCancelled: onTransitionCancelled,
|
|
11790
|
+
onBeforeLeave: onBeforeTransition,
|
|
11791
|
+
onAfterLeave: onAfterTransition,
|
|
11792
|
+
onLeaveCancelled: onTransitionCancelled,
|
|
11793
|
+
onEnter: onEnterTransition
|
|
11794
|
+
};
|
|
11795
|
+
});
|
|
11796
|
+
const {
|
|
11797
|
+
hasContent
|
|
11798
|
+
} = useLazy(props, groupItem.isSelected);
|
|
11799
|
+
useRender(() => vue.createVNode(MaybeTransition, {
|
|
11800
|
+
"transition": transition.value,
|
|
11801
|
+
"disabled": !isBooted.value
|
|
11802
|
+
}, {
|
|
11803
|
+
default: () => [vue.withDirectives(vue.createVNode("div", {
|
|
11804
|
+
"class": ['v-window-item', groupItem.selectedClass.value]
|
|
11805
|
+
}, [hasContent.value && slots.default?.()]), [[vue.vShow, groupItem.isSelected.value]])]
|
|
11806
|
+
}));
|
|
11807
|
+
return {};
|
|
11808
|
+
}
|
|
11809
|
+
});
|
|
11810
|
+
|
|
11811
|
+
// Types
|
|
11812
|
+
|
|
11813
|
+
const VCarouselItem = genericComponent()({
|
|
11814
|
+
name: 'VCarouselItem',
|
|
11815
|
+
inheritAttrs: false,
|
|
11816
|
+
props: {
|
|
11817
|
+
value: null
|
|
11818
|
+
},
|
|
11819
|
+
setup(props, _ref) {
|
|
11820
|
+
let {
|
|
11821
|
+
slots,
|
|
11822
|
+
attrs
|
|
11823
|
+
} = _ref;
|
|
11824
|
+
useRender(() => vue.createVNode(VWindowItem, {
|
|
11825
|
+
"class": "v-carousel-item",
|
|
11826
|
+
"value": props.value
|
|
11827
|
+
}, {
|
|
11828
|
+
default: () => [vue.createVNode(VImg, attrs, slots)]
|
|
11829
|
+
}));
|
|
11830
|
+
}
|
|
11831
|
+
});
|
|
11832
|
+
|
|
11833
|
+
const VCode = createSimpleFunctional('v-code');
|
|
11834
|
+
|
|
11835
|
+
const makeVSheetProps = propsFactory({
|
|
11836
|
+
color: String,
|
|
11837
|
+
...makeBorderProps(),
|
|
11838
|
+
...makeDimensionProps(),
|
|
11839
|
+
...makeElevationProps(),
|
|
11840
|
+
...makeLocationProps(),
|
|
11841
|
+
...makePositionProps(),
|
|
11842
|
+
...makeRoundedProps(),
|
|
11843
|
+
...makeTagProps(),
|
|
11844
|
+
...makeThemeProps()
|
|
11845
|
+
}, 'v-sheet');
|
|
11846
|
+
const VSheet = genericComponent()({
|
|
11847
|
+
name: 'VSheet',
|
|
11848
|
+
props: {
|
|
11849
|
+
...makeVSheetProps()
|
|
11850
|
+
},
|
|
11851
|
+
setup(props, _ref) {
|
|
11852
|
+
let {
|
|
11853
|
+
slots
|
|
11854
|
+
} = _ref;
|
|
11855
|
+
const {
|
|
11856
|
+
themeClasses
|
|
11857
|
+
} = provideTheme(props);
|
|
11858
|
+
const {
|
|
11859
|
+
backgroundColorClasses,
|
|
11860
|
+
backgroundColorStyles
|
|
11861
|
+
} = useBackgroundColor(vue.toRef(props, 'color'));
|
|
11862
|
+
const {
|
|
11863
|
+
borderClasses
|
|
11864
|
+
} = useBorder(props);
|
|
11865
|
+
const {
|
|
11866
|
+
dimensionStyles
|
|
11867
|
+
} = useDimension(props);
|
|
11868
|
+
const {
|
|
11869
|
+
elevationClasses
|
|
11870
|
+
} = useElevation(props);
|
|
11871
|
+
const {
|
|
11872
|
+
locationStyles
|
|
11873
|
+
} = useLocation(props);
|
|
11874
|
+
const {
|
|
11875
|
+
positionClasses
|
|
11876
|
+
} = usePosition(props);
|
|
11877
|
+
const {
|
|
11878
|
+
roundedClasses
|
|
11879
|
+
} = useRounded(props);
|
|
11880
|
+
useRender(() => vue.createVNode(props.tag, {
|
|
11881
|
+
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
|
11882
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
|
11883
|
+
}, slots));
|
|
11884
|
+
return {};
|
|
11885
|
+
}
|
|
11886
|
+
});
|
|
11764
11887
|
|
|
11765
11888
|
// Types
|
|
11766
11889
|
|
|
@@ -12304,7 +12427,7 @@
|
|
|
12304
12427
|
});
|
|
12305
12428
|
const min = vue.computed(() => parseFloat(props.min));
|
|
12306
12429
|
const max = vue.computed(() => parseFloat(props.max));
|
|
12307
|
-
const step = vue.computed(() => props.step > 0 ? parseFloat(props.step) : 0);
|
|
12430
|
+
const step = vue.computed(() => +props.step > 0 ? parseFloat(props.step) : 0);
|
|
12308
12431
|
const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
|
|
12309
12432
|
const thumbSize = vue.computed(() => parseInt(props.thumbSize, 10));
|
|
12310
12433
|
const tickSize = vue.computed(() => parseInt(props.tickSize, 10));
|
|
@@ -12798,7 +12921,7 @@
|
|
|
12798
12921
|
}), {
|
|
12799
12922
|
...slots,
|
|
12800
12923
|
prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? props.label ? vue.createVNode(VLabel, {
|
|
12801
|
-
"id": slotProps.id,
|
|
12924
|
+
"id": slotProps.id.value,
|
|
12802
12925
|
"class": "v-slider__label",
|
|
12803
12926
|
"text": props.label
|
|
12804
12927
|
}, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
|
|
@@ -13283,59 +13406,6 @@
|
|
|
13283
13406
|
}
|
|
13284
13407
|
});
|
|
13285
13408
|
|
|
13286
|
-
const makeVSheetProps = propsFactory({
|
|
13287
|
-
color: String,
|
|
13288
|
-
...makeBorderProps(),
|
|
13289
|
-
...makeDimensionProps(),
|
|
13290
|
-
...makeElevationProps(),
|
|
13291
|
-
...makeLocationProps(),
|
|
13292
|
-
...makePositionProps(),
|
|
13293
|
-
...makeRoundedProps(),
|
|
13294
|
-
...makeTagProps(),
|
|
13295
|
-
...makeThemeProps()
|
|
13296
|
-
}, 'v-sheet');
|
|
13297
|
-
const VSheet = genericComponent()({
|
|
13298
|
-
name: 'VSheet',
|
|
13299
|
-
props: {
|
|
13300
|
-
...makeVSheetProps()
|
|
13301
|
-
},
|
|
13302
|
-
setup(props, _ref) {
|
|
13303
|
-
let {
|
|
13304
|
-
slots
|
|
13305
|
-
} = _ref;
|
|
13306
|
-
const {
|
|
13307
|
-
themeClasses
|
|
13308
|
-
} = provideTheme(props);
|
|
13309
|
-
const {
|
|
13310
|
-
backgroundColorClasses,
|
|
13311
|
-
backgroundColorStyles
|
|
13312
|
-
} = useBackgroundColor(vue.toRef(props, 'color'));
|
|
13313
|
-
const {
|
|
13314
|
-
borderClasses
|
|
13315
|
-
} = useBorder(props);
|
|
13316
|
-
const {
|
|
13317
|
-
dimensionStyles
|
|
13318
|
-
} = useDimension(props);
|
|
13319
|
-
const {
|
|
13320
|
-
elevationClasses
|
|
13321
|
-
} = useElevation(props);
|
|
13322
|
-
const {
|
|
13323
|
-
locationStyles
|
|
13324
|
-
} = useLocation(props);
|
|
13325
|
-
const {
|
|
13326
|
-
positionClasses
|
|
13327
|
-
} = usePosition(props);
|
|
13328
|
-
const {
|
|
13329
|
-
roundedClasses
|
|
13330
|
-
} = useRounded(props);
|
|
13331
|
-
useRender(() => vue.createVNode(props.tag, {
|
|
13332
|
-
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
|
13333
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
|
13334
|
-
}, slots));
|
|
13335
|
-
return {};
|
|
13336
|
-
}
|
|
13337
|
-
});
|
|
13338
|
-
|
|
13339
13409
|
// Types
|
|
13340
13410
|
|
|
13341
13411
|
const VColorPicker = defineComponent({
|
|
@@ -13372,13 +13442,9 @@
|
|
|
13372
13442
|
modelValue: {
|
|
13373
13443
|
type: [Object, String]
|
|
13374
13444
|
},
|
|
13375
|
-
|
|
13376
|
-
|
|
13377
|
-
|
|
13378
|
-
},
|
|
13379
|
-
...makeElevationProps(),
|
|
13380
|
-
...makeRoundedProps(),
|
|
13381
|
-
...makeThemeProps()
|
|
13445
|
+
...omit(makeVSheetProps({
|
|
13446
|
+
width: 300
|
|
13447
|
+
}), ['height', 'location', 'minHeight', 'maxHeight', 'minWidth', 'maxWidth'])
|
|
13382
13448
|
},
|
|
13383
13449
|
emits: {
|
|
13384
13450
|
'update:modelValue': color => true,
|
|
@@ -13416,53 +13482,57 @@
|
|
|
13416
13482
|
trackFillColor: undefined
|
|
13417
13483
|
}
|
|
13418
13484
|
});
|
|
13419
|
-
useRender(() =>
|
|
13420
|
-
|
|
13421
|
-
|
|
13422
|
-
|
|
13423
|
-
|
|
13424
|
-
|
|
13425
|
-
'
|
|
13426
|
-
|
|
13427
|
-
|
|
13428
|
-
|
|
13429
|
-
|
|
13430
|
-
|
|
13431
|
-
|
|
13432
|
-
|
|
13433
|
-
"
|
|
13434
|
-
|
|
13435
|
-
|
|
13436
|
-
|
|
13437
|
-
|
|
13438
|
-
|
|
13439
|
-
|
|
13440
|
-
|
|
13441
|
-
|
|
13442
|
-
|
|
13443
|
-
|
|
13444
|
-
|
|
13445
|
-
|
|
13446
|
-
|
|
13447
|
-
|
|
13448
|
-
|
|
13449
|
-
|
|
13450
|
-
|
|
13451
|
-
|
|
13452
|
-
|
|
13453
|
-
|
|
13454
|
-
|
|
13455
|
-
|
|
13456
|
-
|
|
13457
|
-
|
|
13458
|
-
|
|
13459
|
-
|
|
13460
|
-
|
|
13461
|
-
|
|
13462
|
-
|
|
13463
|
-
|
|
13464
|
-
|
|
13465
|
-
|
|
13485
|
+
useRender(() => {
|
|
13486
|
+
const [sheetProps] = VSheet.filterProps(props);
|
|
13487
|
+
return vue.createVNode(VSheet, vue.mergeProps({
|
|
13488
|
+
"rounded": props.rounded,
|
|
13489
|
+
"elevation": props.elevation,
|
|
13490
|
+
"theme": props.theme,
|
|
13491
|
+
"class": ['v-color-picker'],
|
|
13492
|
+
"style": {
|
|
13493
|
+
'--v-color-picker-color-hsv': HSVtoCSS({
|
|
13494
|
+
...(currentColor.value ?? nullColor),
|
|
13495
|
+
a: 1
|
|
13496
|
+
})
|
|
13497
|
+
}
|
|
13498
|
+
}, sheetProps, {
|
|
13499
|
+
"maxWidth": props.width
|
|
13500
|
+
}), {
|
|
13501
|
+
default: () => [!props.hideCanvas && vue.createVNode(VColorPickerCanvas, {
|
|
13502
|
+
"key": "canvas",
|
|
13503
|
+
"color": currentColor.value,
|
|
13504
|
+
"onUpdate:color": updateColor,
|
|
13505
|
+
"disabled": props.disabled,
|
|
13506
|
+
"dotSize": props.dotSize,
|
|
13507
|
+
"width": props.width,
|
|
13508
|
+
"height": props.canvasHeight
|
|
13509
|
+
}, null), (!props.hideSliders || !props.hideInputs) && vue.createVNode("div", {
|
|
13510
|
+
"key": "controls",
|
|
13511
|
+
"class": "v-color-picker__controls"
|
|
13512
|
+
}, [!props.hideSliders && vue.createVNode(VColorPickerPreview, {
|
|
13513
|
+
"key": "preview",
|
|
13514
|
+
"color": currentColor.value,
|
|
13515
|
+
"onUpdate:color": updateColor,
|
|
13516
|
+
"hideAlpha": !mode.value.endsWith('a'),
|
|
13517
|
+
"disabled": props.disabled
|
|
13518
|
+
}, null), !props.hideInputs && vue.createVNode(VColorPickerEdit, {
|
|
13519
|
+
"key": "edit",
|
|
13520
|
+
"modes": props.modes,
|
|
13521
|
+
"mode": mode.value,
|
|
13522
|
+
"onUpdate:mode": m => mode.value = m,
|
|
13523
|
+
"color": currentColor.value,
|
|
13524
|
+
"onUpdate:color": updateColor,
|
|
13525
|
+
"disabled": props.disabled
|
|
13526
|
+
}, null)]), props.showSwatches && vue.createVNode(VColorPickerSwatches, {
|
|
13527
|
+
"key": "swatches",
|
|
13528
|
+
"color": currentColor.value,
|
|
13529
|
+
"onUpdate:color": updateColor,
|
|
13530
|
+
"maxHeight": props.swatchesMaxHeight,
|
|
13531
|
+
"swatches": props.swatches,
|
|
13532
|
+
"disabled": props.disabled
|
|
13533
|
+
}, null)]
|
|
13534
|
+
});
|
|
13535
|
+
});
|
|
13466
13536
|
return {};
|
|
13467
13537
|
}
|
|
13468
13538
|
});
|
|
@@ -13537,7 +13607,7 @@
|
|
|
13537
13607
|
textColorClasses,
|
|
13538
13608
|
textColorStyles
|
|
13539
13609
|
} = useTextColor(color);
|
|
13540
|
-
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v
|
|
13610
|
+
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
|
|
13541
13611
|
const transformed = transformOut(v);
|
|
13542
13612
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
13543
13613
|
});
|
|
@@ -13715,6 +13785,7 @@
|
|
|
13715
13785
|
useRender(() => {
|
|
13716
13786
|
const hasChips = !!(props.chips || slots.chip);
|
|
13717
13787
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
13788
|
+
const isDirty = model.value.length > 0;
|
|
13718
13789
|
const [textFieldProps] = VTextField.filterProps(props);
|
|
13719
13790
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
13720
13791
|
"ref": vTextFieldRef
|
|
@@ -13724,7 +13795,7 @@
|
|
|
13724
13795
|
if (v == null) model.value = [];
|
|
13725
13796
|
}],
|
|
13726
13797
|
"validationValue": model.externalValue,
|
|
13727
|
-
"dirty":
|
|
13798
|
+
"dirty": isDirty,
|
|
13728
13799
|
"class": ['v-combobox', {
|
|
13729
13800
|
'v-combobox--active-menu': menu.value,
|
|
13730
13801
|
'v-combobox--chips': !!props.chips,
|
|
@@ -13733,6 +13804,7 @@
|
|
|
13733
13804
|
}],
|
|
13734
13805
|
"appendInnerIcon": props.items.length ? props.menuIcon : undefined,
|
|
13735
13806
|
"readonly": props.readonly,
|
|
13807
|
+
"placeholder": isDirty ? undefined : props.placeholder,
|
|
13736
13808
|
"onClick:clear": onClear,
|
|
13737
13809
|
"onMousedown:control": onMousedownControl,
|
|
13738
13810
|
"onFocus": () => isFocused.value = true,
|
|
@@ -13763,14 +13835,13 @@
|
|
|
13763
13835
|
}, {
|
|
13764
13836
|
default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
|
13765
13837
|
"title": t(props.noDataText)
|
|
13766
|
-
}, null)), slots['prepend-item']?.(), displayItems.value.map(
|
|
13838
|
+
}, null)), slots['prepend-item']?.(), displayItems.value.map(item => slots.item?.({
|
|
13767
13839
|
item,
|
|
13768
|
-
index,
|
|
13769
13840
|
props: vue.mergeProps(item.props, {
|
|
13770
13841
|
onClick: () => select(item)
|
|
13771
13842
|
})
|
|
13772
13843
|
}) ?? vue.createVNode(VListItem, vue.mergeProps({
|
|
13773
|
-
"key":
|
|
13844
|
+
"key": item.value
|
|
13774
13845
|
}, item.props, {
|
|
13775
13846
|
"onClick": () => select(item)
|
|
13776
13847
|
}), {
|
|
@@ -13780,7 +13851,8 @@
|
|
|
13780
13851
|
} = _ref2;
|
|
13781
13852
|
return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
|
|
13782
13853
|
"modelValue": isSelected,
|
|
13783
|
-
"ripple": false
|
|
13854
|
+
"ripple": false,
|
|
13855
|
+
"tabindex": "-1"
|
|
13784
13856
|
}, null) : undefined;
|
|
13785
13857
|
},
|
|
13786
13858
|
title: () => {
|
|
@@ -14190,7 +14262,6 @@
|
|
|
14190
14262
|
multiple: Boolean,
|
|
14191
14263
|
hint: String,
|
|
14192
14264
|
persistentHint: Boolean,
|
|
14193
|
-
placeholder: String,
|
|
14194
14265
|
showSize: {
|
|
14195
14266
|
type: [Boolean, Number],
|
|
14196
14267
|
default: false,
|
|
@@ -15514,12 +15585,18 @@
|
|
|
15514
15585
|
bgColor: 'transparent'
|
|
15515
15586
|
}
|
|
15516
15587
|
});
|
|
15588
|
+
function onMouseenter() {
|
|
15589
|
+
isHovering.value = true;
|
|
15590
|
+
}
|
|
15591
|
+
function onMouseleave() {
|
|
15592
|
+
isHovering.value = false;
|
|
15593
|
+
}
|
|
15517
15594
|
useRender(() => {
|
|
15518
15595
|
const hasImage = slots.image || props.image;
|
|
15519
15596
|
return vue.createVNode(vue.Fragment, null, [vue.createVNode(props.tag, vue.mergeProps({
|
|
15520
15597
|
"ref": rootEl,
|
|
15521
|
-
"onMouseenter":
|
|
15522
|
-
"onMouseleave":
|
|
15598
|
+
"onMouseenter": onMouseenter,
|
|
15599
|
+
"onMouseleave": onMouseleave,
|
|
15523
15600
|
"class": ['v-navigation-drawer', `v-navigation-drawer--${location.value}`, {
|
|
15524
15601
|
'v-navigation-drawer--expand-on-hover': props.expandOnHover,
|
|
15525
15602
|
'v-navigation-drawer--floating': props.floating,
|
|
@@ -15795,7 +15872,7 @@
|
|
|
15795
15872
|
ref,
|
|
15796
15873
|
ellipsis: false,
|
|
15797
15874
|
icon: true,
|
|
15798
|
-
disabled: !!props.disabled || props.length < 2,
|
|
15875
|
+
disabled: !!props.disabled || +props.length < 2,
|
|
15799
15876
|
color: isActive ? props.activeColor : props.color,
|
|
15800
15877
|
ariaCurrent: isActive,
|
|
15801
15878
|
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
|
|
@@ -15844,7 +15921,7 @@
|
|
|
15844
15921
|
refs.value[currentIndex]?.$el.focus();
|
|
15845
15922
|
}
|
|
15846
15923
|
function onKeydown(e) {
|
|
15847
|
-
if (e.key === keyValues.left && !props.disabled && page.value > props.start) {
|
|
15924
|
+
if (e.key === keyValues.left && !props.disabled && page.value > +props.start) {
|
|
15848
15925
|
page.value = page.value - 1;
|
|
15849
15926
|
vue.nextTick(updateFocus);
|
|
15850
15927
|
} else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
|
|
@@ -16548,35 +16625,36 @@
|
|
|
16548
16625
|
// Types
|
|
16549
16626
|
|
|
16550
16627
|
const VSlideGroupSymbol = Symbol.for('vuetify:v-slide-group');
|
|
16628
|
+
const makeVSlideGroupProps = propsFactory({
|
|
16629
|
+
centerActive: Boolean,
|
|
16630
|
+
direction: {
|
|
16631
|
+
type: String,
|
|
16632
|
+
default: 'horizontal'
|
|
16633
|
+
},
|
|
16634
|
+
symbol: {
|
|
16635
|
+
type: null,
|
|
16636
|
+
default: VSlideGroupSymbol
|
|
16637
|
+
},
|
|
16638
|
+
nextIcon: {
|
|
16639
|
+
type: IconValue,
|
|
16640
|
+
default: '$next'
|
|
16641
|
+
},
|
|
16642
|
+
prevIcon: {
|
|
16643
|
+
type: IconValue,
|
|
16644
|
+
default: '$prev'
|
|
16645
|
+
},
|
|
16646
|
+
showArrows: {
|
|
16647
|
+
type: [Boolean, String],
|
|
16648
|
+
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
|
16649
|
+
},
|
|
16650
|
+
...makeTagProps(),
|
|
16651
|
+
...makeGroupProps({
|
|
16652
|
+
selectedClass: 'v-slide-group-item--active'
|
|
16653
|
+
})
|
|
16654
|
+
}, 'v-slide-group');
|
|
16551
16655
|
const VSlideGroup = genericComponent()({
|
|
16552
16656
|
name: 'VSlideGroup',
|
|
16553
|
-
props:
|
|
16554
|
-
centerActive: Boolean,
|
|
16555
|
-
direction: {
|
|
16556
|
-
type: String,
|
|
16557
|
-
default: 'horizontal'
|
|
16558
|
-
},
|
|
16559
|
-
symbol: {
|
|
16560
|
-
type: null,
|
|
16561
|
-
default: VSlideGroupSymbol
|
|
16562
|
-
},
|
|
16563
|
-
nextIcon: {
|
|
16564
|
-
type: IconValue,
|
|
16565
|
-
default: '$next'
|
|
16566
|
-
},
|
|
16567
|
-
prevIcon: {
|
|
16568
|
-
type: IconValue,
|
|
16569
|
-
default: '$prev'
|
|
16570
|
-
},
|
|
16571
|
-
showArrows: {
|
|
16572
|
-
type: [Boolean, String],
|
|
16573
|
-
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
|
16574
|
-
},
|
|
16575
|
-
...makeTagProps(),
|
|
16576
|
-
...makeGroupProps({
|
|
16577
|
-
selectedClass: 'v-slide-group-item--active'
|
|
16578
|
-
})
|
|
16579
|
-
},
|
|
16657
|
+
props: makeVSlideGroupProps(),
|
|
16580
16658
|
emits: {
|
|
16581
16659
|
'update:modelValue': value => true
|
|
16582
16660
|
},
|
|
@@ -17285,10 +17363,6 @@
|
|
|
17285
17363
|
default: 'start'
|
|
17286
17364
|
},
|
|
17287
17365
|
color: String,
|
|
17288
|
-
direction: {
|
|
17289
|
-
type: String,
|
|
17290
|
-
default: 'horizontal'
|
|
17291
|
-
},
|
|
17292
17366
|
fixedTabs: Boolean,
|
|
17293
17367
|
items: {
|
|
17294
17368
|
type: Array,
|
|
@@ -17303,11 +17377,9 @@
|
|
|
17303
17377
|
},
|
|
17304
17378
|
hideSlider: Boolean,
|
|
17305
17379
|
sliderColor: String,
|
|
17306
|
-
|
|
17307
|
-
|
|
17308
|
-
|
|
17309
|
-
default: 'force'
|
|
17310
|
-
},
|
|
17380
|
+
...makeVSlideGroupProps({
|
|
17381
|
+
mandatory: 'force'
|
|
17382
|
+
}),
|
|
17311
17383
|
...makeDensityProps(),
|
|
17312
17384
|
...makeTagProps()
|
|
17313
17385
|
},
|
|
@@ -17337,26 +17409,27 @@
|
|
|
17337
17409
|
hideSlider: vue.toRef(props, 'hideSlider')
|
|
17338
17410
|
}
|
|
17339
17411
|
});
|
|
17340
|
-
useRender(() =>
|
|
17341
|
-
|
|
17342
|
-
|
|
17343
|
-
|
|
17344
|
-
|
|
17345
|
-
'v-tabs
|
|
17346
|
-
|
|
17347
|
-
|
|
17348
|
-
|
|
17349
|
-
|
|
17350
|
-
|
|
17351
|
-
|
|
17352
|
-
|
|
17353
|
-
|
|
17354
|
-
|
|
17355
|
-
|
|
17356
|
-
|
|
17357
|
-
|
|
17358
|
-
|
|
17359
|
-
|
|
17412
|
+
useRender(() => {
|
|
17413
|
+
const [slideGroupProps] = VSlideGroup.filterProps(props);
|
|
17414
|
+
return vue.createVNode(VSlideGroup, vue.mergeProps(slideGroupProps, {
|
|
17415
|
+
"modelValue": model.value,
|
|
17416
|
+
"onUpdate:modelValue": $event => model.value = $event,
|
|
17417
|
+
"class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
|
|
17418
|
+
'v-tabs--fixed-tabs': props.fixedTabs,
|
|
17419
|
+
'v-tabs--grow': props.grow,
|
|
17420
|
+
'v-tabs--stacked': props.stacked
|
|
17421
|
+
}, densityClasses.value, backgroundColorClasses.value],
|
|
17422
|
+
"style": [{
|
|
17423
|
+
'--v-tabs-height': convertToUnit(props.height)
|
|
17424
|
+
}, backgroundColorStyles.value],
|
|
17425
|
+
"role": "tablist",
|
|
17426
|
+
"symbol": VTabsSymbol
|
|
17427
|
+
}), {
|
|
17428
|
+
default: () => [slots.default ? slots.default() : parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps(item, {
|
|
17429
|
+
"key": item.title
|
|
17430
|
+
}), null))]
|
|
17431
|
+
});
|
|
17432
|
+
});
|
|
17360
17433
|
return {};
|
|
17361
17434
|
}
|
|
17362
17435
|
});
|
|
@@ -17433,6 +17506,7 @@
|
|
|
17433
17506
|
validator: v => !isNaN(parseFloat(v))
|
|
17434
17507
|
},
|
|
17435
17508
|
suffix: String,
|
|
17509
|
+
modelModifiers: Object,
|
|
17436
17510
|
...makeVInputProps(),
|
|
17437
17511
|
...makeVFieldProps()
|
|
17438
17512
|
},
|
|
@@ -17472,7 +17546,7 @@
|
|
|
17472
17546
|
const textareaRef = vue.ref();
|
|
17473
17547
|
const isActive = vue.computed(() => isFocused.value || props.persistentPlaceholder);
|
|
17474
17548
|
const messages = vue.computed(() => {
|
|
17475
|
-
return props.messages.length ? props.messages :
|
|
17549
|
+
return props.messages.length ? props.messages : isFocused.value || props.persistentHint ? props.hint : '';
|
|
17476
17550
|
});
|
|
17477
17551
|
function onFocus() {
|
|
17478
17552
|
if (textareaRef.value !== document.activeElement) {
|
|
@@ -17497,12 +17571,14 @@
|
|
|
17497
17571
|
}
|
|
17498
17572
|
function onInput(e) {
|
|
17499
17573
|
const el = e.target;
|
|
17500
|
-
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
17501
17574
|
model.value = el.value;
|
|
17502
|
-
|
|
17503
|
-
el.selectionStart
|
|
17504
|
-
|
|
17505
|
-
|
|
17575
|
+
if (props.modelModifiers?.trim) {
|
|
17576
|
+
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
17577
|
+
vue.nextTick(() => {
|
|
17578
|
+
el.selectionStart = caretPosition[0];
|
|
17579
|
+
el.selectionEnd = caretPosition[1];
|
|
17580
|
+
});
|
|
17581
|
+
}
|
|
17506
17582
|
}
|
|
17507
17583
|
const sizerRef = vue.ref();
|
|
17508
17584
|
function calculateInputHeight() {
|
|
@@ -18846,10 +18922,8 @@
|
|
|
18846
18922
|
type: String,
|
|
18847
18923
|
default: '$vuetify.noDataText'
|
|
18848
18924
|
},
|
|
18849
|
-
rowHeight: Number
|
|
18850
|
-
|
|
18851
|
-
emits: {
|
|
18852
|
-
'click:row': (event, value) => true
|
|
18925
|
+
rowHeight: Number,
|
|
18926
|
+
'onClick:row': Function
|
|
18853
18927
|
},
|
|
18854
18928
|
setup(props, _ref) {
|
|
18855
18929
|
let {
|
|
@@ -18913,14 +18987,14 @@
|
|
|
18913
18987
|
};
|
|
18914
18988
|
return vue.createVNode(vue.Fragment, null, [slots.item ? slots.item(slotProps) : vue.createVNode(VDataTableRow, {
|
|
18915
18989
|
"key": `item_${item.value}`,
|
|
18916
|
-
"onClick": event => {
|
|
18990
|
+
"onClick": expandOnClick.value || props['onClick:row'] ? event => {
|
|
18917
18991
|
if (expandOnClick.value) {
|
|
18918
18992
|
toggleExpand(item);
|
|
18919
18993
|
}
|
|
18920
|
-
|
|
18994
|
+
props['onClick:row']?.(event, {
|
|
18921
18995
|
item
|
|
18922
18996
|
});
|
|
18923
|
-
},
|
|
18997
|
+
} : undefined,
|
|
18924
18998
|
"index": index,
|
|
18925
18999
|
"item": item
|
|
18926
19000
|
}, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
|
|
@@ -19223,6 +19297,7 @@
|
|
|
19223
19297
|
...makeDataTableItemProps(),
|
|
19224
19298
|
...makeDataTableHeaderProps(),
|
|
19225
19299
|
hideNoData: Boolean,
|
|
19300
|
+
hover: Boolean,
|
|
19226
19301
|
noDataText: {
|
|
19227
19302
|
type: String,
|
|
19228
19303
|
default: '$vuetify.noDataText'
|
|
@@ -19230,7 +19305,8 @@
|
|
|
19230
19305
|
height: [String, Number],
|
|
19231
19306
|
width: [String, Number],
|
|
19232
19307
|
fixedHeader: Boolean,
|
|
19233
|
-
fixedFooter: Boolean
|
|
19308
|
+
fixedFooter: Boolean,
|
|
19309
|
+
'onClick:row': Function
|
|
19234
19310
|
}, 'v-data-table');
|
|
19235
19311
|
const VDataTable = genericComponent()({
|
|
19236
19312
|
name: 'VDataTable',
|
|
@@ -19251,8 +19327,7 @@
|
|
|
19251
19327
|
'update:sortBy': value => true,
|
|
19252
19328
|
'update:options': value => true,
|
|
19253
19329
|
'update:groupBy': value => true,
|
|
19254
|
-
'update:expanded': value => true
|
|
19255
|
-
'click:row': (event, value) => true
|
|
19330
|
+
'update:expanded': value => true
|
|
19256
19331
|
},
|
|
19257
19332
|
setup(props, _ref) {
|
|
19258
19333
|
let {
|
|
@@ -19347,7 +19422,8 @@
|
|
|
19347
19422
|
}],
|
|
19348
19423
|
"fixedHeader": props.fixedHeader,
|
|
19349
19424
|
"fixedFooter": props.fixedFooter,
|
|
19350
|
-
"height": props.height
|
|
19425
|
+
"height": props.height,
|
|
19426
|
+
"hover": props.hover
|
|
19351
19427
|
}, {
|
|
19352
19428
|
top: slots.top,
|
|
19353
19429
|
default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [slots.colgroup?.({
|
|
@@ -19357,7 +19433,7 @@
|
|
|
19357
19433
|
"multiSort": props.multiSort
|
|
19358
19434
|
}, slots)]), slots.thead?.(), vue.createVNode("tbody", null, [slots.body ? slots.body() : vue.createVNode(VDataTableRows, {
|
|
19359
19435
|
"items": paginatedItems.value,
|
|
19360
|
-
"onClick:row":
|
|
19436
|
+
"onClick:row": props['onClick:row']
|
|
19361
19437
|
}, slots)]), slots.tbody?.(), slots.tfoot?.()])),
|
|
19362
19438
|
bottom: slots.bottom ?? (() => vue.createVNode(VDataTableFooter, null, {
|
|
19363
19439
|
prepend: slots['footer.prepend']
|
|
@@ -19468,7 +19544,7 @@
|
|
|
19468
19544
|
'update:options': value => true,
|
|
19469
19545
|
'update:groupBy': value => true,
|
|
19470
19546
|
'update:expanded': value => true,
|
|
19471
|
-
'click:row': (
|
|
19547
|
+
'click:row': (e, value) => true
|
|
19472
19548
|
},
|
|
19473
19549
|
setup(props, _ref) {
|
|
19474
19550
|
let {
|
|
@@ -19552,8 +19628,10 @@
|
|
|
19552
19628
|
"style": {
|
|
19553
19629
|
'--v-table-row-height': convertToUnit(itemHeight.value)
|
|
19554
19630
|
},
|
|
19631
|
+
"fixedHeader": props.fixedHeader,
|
|
19632
|
+
"fixedFooter": props.fixedFooter,
|
|
19555
19633
|
"height": props.height,
|
|
19556
|
-
"
|
|
19634
|
+
"hover": props.hover
|
|
19557
19635
|
}, {
|
|
19558
19636
|
top: slots.top,
|
|
19559
19637
|
wrapper: () => vue.createVNode("div", {
|
|
@@ -19579,7 +19657,7 @@
|
|
|
19579
19657
|
}
|
|
19580
19658
|
}, null)]), vue.createVNode(VDataTableRows, {
|
|
19581
19659
|
"items": visibleItems.value,
|
|
19582
|
-
"onClick:row":
|
|
19660
|
+
"onClick:row": props['onClick:row']
|
|
19583
19661
|
}, slots), vue.createVNode("tr", {
|
|
19584
19662
|
"style": {
|
|
19585
19663
|
height: convertToUnit(paddingBottom.value),
|
|
@@ -19629,7 +19707,7 @@
|
|
|
19629
19707
|
'update:options': options => true,
|
|
19630
19708
|
'update:expanded': options => true,
|
|
19631
19709
|
'update:groupBy': value => true,
|
|
19632
|
-
'click:row': (
|
|
19710
|
+
'click:row': (e, value) => true
|
|
19633
19711
|
},
|
|
19634
19712
|
setup(props, _ref) {
|
|
19635
19713
|
let {
|
|
@@ -19707,7 +19785,8 @@
|
|
|
19707
19785
|
}],
|
|
19708
19786
|
"fixedHeader": props.fixedHeader,
|
|
19709
19787
|
"fixedFooter": props.fixedFooter,
|
|
19710
|
-
"height": props.height
|
|
19788
|
+
"height": props.height,
|
|
19789
|
+
"hover": props.hover
|
|
19711
19790
|
}, {
|
|
19712
19791
|
top: slots.top,
|
|
19713
19792
|
default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [slots.colgroup?.({
|
|
@@ -19724,7 +19803,7 @@
|
|
|
19724
19803
|
"role": "rowgroup"
|
|
19725
19804
|
}, [slots.body ? slots.body() : vue.createVNode(VDataTableRows, {
|
|
19726
19805
|
"items": flatItems.value,
|
|
19727
|
-
"onClick:row":
|
|
19806
|
+
"onClick:row": props['onClick:row']
|
|
19728
19807
|
}, slots)]), slots.tbody?.(), slots.tfoot?.()])),
|
|
19729
19808
|
bottom: slots.bottom ?? (() => vue.createVNode(VDataTableFooter, null, {
|
|
19730
19809
|
prepend: slots['footer.prepend']
|
|
@@ -19733,6 +19812,137 @@
|
|
|
19733
19812
|
}
|
|
19734
19813
|
});
|
|
19735
19814
|
|
|
19815
|
+
// Types
|
|
19816
|
+
|
|
19817
|
+
const rootTypes = {
|
|
19818
|
+
actions: 'button@2',
|
|
19819
|
+
article: 'heading, paragraph',
|
|
19820
|
+
avatar: 'avatar',
|
|
19821
|
+
button: 'button',
|
|
19822
|
+
card: 'image, heading',
|
|
19823
|
+
'card-avatar': 'image, list-item-avatar',
|
|
19824
|
+
chip: 'chip',
|
|
19825
|
+
'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',
|
|
19826
|
+
'date-picker-options': 'text, avatar@2',
|
|
19827
|
+
'date-picker-days': 'avatar@28',
|
|
19828
|
+
heading: 'heading',
|
|
19829
|
+
image: 'image',
|
|
19830
|
+
'list-item': 'text',
|
|
19831
|
+
'list-item-avatar': 'avatar, text',
|
|
19832
|
+
'list-item-two-line': 'sentences',
|
|
19833
|
+
'list-item-avatar-two-line': 'avatar, sentences',
|
|
19834
|
+
'list-item-three-line': 'paragraph',
|
|
19835
|
+
'list-item-avatar-three-line': 'avatar, paragraph',
|
|
19836
|
+
paragraph: 'text@3',
|
|
19837
|
+
sentences: 'text@2',
|
|
19838
|
+
subtitle: 'text',
|
|
19839
|
+
table: 'table-heading, table-thead, table-tbody, table-tfoot',
|
|
19840
|
+
'table-heading': 'chip, text',
|
|
19841
|
+
'table-thead': 'heading@6',
|
|
19842
|
+
'table-tbody': 'table-row-divider@6',
|
|
19843
|
+
'table-row-divider': 'table-row, divider',
|
|
19844
|
+
'table-row': 'text@6',
|
|
19845
|
+
'table-tfoot': 'text@2, avatar@2',
|
|
19846
|
+
text: 'text'
|
|
19847
|
+
};
|
|
19848
|
+
function genBone(type) {
|
|
19849
|
+
let children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
19850
|
+
return vue.createVNode("div", {
|
|
19851
|
+
"class": ['v-skeleton-loader__bone', `v-skeleton-loader__${type}`]
|
|
19852
|
+
}, [children]);
|
|
19853
|
+
}
|
|
19854
|
+
function genBones(bone) {
|
|
19855
|
+
// e.g. 'text@3'
|
|
19856
|
+
const [type, length] = bone.split('@');
|
|
19857
|
+
|
|
19858
|
+
// Generate a length array based upon
|
|
19859
|
+
// value after @ in the bone string
|
|
19860
|
+
return Array.from({
|
|
19861
|
+
length
|
|
19862
|
+
}).map(() => genStructure(type));
|
|
19863
|
+
}
|
|
19864
|
+
function genStructure(type) {
|
|
19865
|
+
let children = [];
|
|
19866
|
+
if (!type) return children;
|
|
19867
|
+
|
|
19868
|
+
// TODO: figure out a better way to type this
|
|
19869
|
+
const bone = rootTypes[type];
|
|
19870
|
+
|
|
19871
|
+
// End of recursion, do nothing
|
|
19872
|
+
/* eslint-disable-next-line no-empty, brace-style */
|
|
19873
|
+
if (type === bone) ;
|
|
19874
|
+
// Array of values - e.g. 'heading, paragraph, text@2'
|
|
19875
|
+
else if (type.includes(',')) return mapBones(type);
|
|
19876
|
+
// Array of values - e.g. 'paragraph@4'
|
|
19877
|
+
else if (type.includes('@')) return genBones(type);
|
|
19878
|
+
// Array of values - e.g. 'card@2'
|
|
19879
|
+
else if (bone.includes(',')) children = mapBones(bone);
|
|
19880
|
+
// Array of values - e.g. 'list-item@2'
|
|
19881
|
+
else if (bone.includes('@')) children = genBones(bone);
|
|
19882
|
+
// Single value - e.g. 'card-heading'
|
|
19883
|
+
else if (bone) children.push(genStructure(bone));
|
|
19884
|
+
return [genBone(type, children)];
|
|
19885
|
+
}
|
|
19886
|
+
function mapBones(bones) {
|
|
19887
|
+
// Remove spaces and return array of structures
|
|
19888
|
+
return bones.replace(/\s/g, '').split(',').map(genStructure);
|
|
19889
|
+
}
|
|
19890
|
+
const VSkeletonLoader = genericComponent()({
|
|
19891
|
+
name: 'VSkeletonLoader',
|
|
19892
|
+
props: {
|
|
19893
|
+
boilerplate: Boolean,
|
|
19894
|
+
color: String,
|
|
19895
|
+
loading: Boolean,
|
|
19896
|
+
loadingText: {
|
|
19897
|
+
type: String,
|
|
19898
|
+
default: '$vuetify.loading'
|
|
19899
|
+
},
|
|
19900
|
+
type: {
|
|
19901
|
+
type: [String, Array],
|
|
19902
|
+
default: 'image'
|
|
19903
|
+
},
|
|
19904
|
+
...makeDimensionProps(),
|
|
19905
|
+
...makeElevationProps(),
|
|
19906
|
+
...makeThemeProps()
|
|
19907
|
+
},
|
|
19908
|
+
setup(props, _ref) {
|
|
19909
|
+
let {
|
|
19910
|
+
slots
|
|
19911
|
+
} = _ref;
|
|
19912
|
+
const {
|
|
19913
|
+
backgroundColorClasses,
|
|
19914
|
+
backgroundColorStyles
|
|
19915
|
+
} = useBackgroundColor(vue.toRef(props, 'color'));
|
|
19916
|
+
const {
|
|
19917
|
+
dimensionStyles
|
|
19918
|
+
} = useDimension(props);
|
|
19919
|
+
const {
|
|
19920
|
+
elevationClasses
|
|
19921
|
+
} = useElevation(props);
|
|
19922
|
+
const {
|
|
19923
|
+
themeClasses
|
|
19924
|
+
} = provideTheme(props);
|
|
19925
|
+
const {
|
|
19926
|
+
t
|
|
19927
|
+
} = useLocale();
|
|
19928
|
+
const items = vue.computed(() => genStructure(wrapInArray(props.type).join(',')));
|
|
19929
|
+
useRender(() => {
|
|
19930
|
+
const isLoading = !slots.default || props.loading;
|
|
19931
|
+
return vue.createVNode("div", {
|
|
19932
|
+
"class": ['v-skeleton-loader', {
|
|
19933
|
+
'v-skeleton-loader--boilerplate': props.boilerplate
|
|
19934
|
+
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
|
|
19935
|
+
"style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}],
|
|
19936
|
+
"aria-busy": !props.boilerplate ? isLoading : undefined,
|
|
19937
|
+
"aria-live": !props.boilerplate ? 'polite' : undefined,
|
|
19938
|
+
"aria-label": !props.boilerplate ? t(props.loadingText) : undefined,
|
|
19939
|
+
"role": !props.boilerplate ? 'alert' : undefined
|
|
19940
|
+
}, [isLoading ? items.value : slots.default?.()]);
|
|
19941
|
+
});
|
|
19942
|
+
return {};
|
|
19943
|
+
}
|
|
19944
|
+
});
|
|
19945
|
+
|
|
19736
19946
|
const VVirtualScrollItem = genericComponent()({
|
|
19737
19947
|
name: 'VVirtualScrollItem',
|
|
19738
19948
|
props: {
|
|
@@ -19906,12 +20116,12 @@
|
|
|
19906
20116
|
|
|
19907
20117
|
var components = /*#__PURE__*/Object.freeze({
|
|
19908
20118
|
__proto__: null,
|
|
20119
|
+
VAlert: VAlert,
|
|
20120
|
+
VAlertTitle: VAlertTitle,
|
|
19909
20121
|
VApp: VApp,
|
|
19910
20122
|
VAppBar: VAppBar,
|
|
19911
20123
|
VAppBarNavIcon: VAppBarNavIcon,
|
|
19912
20124
|
VAppBarTitle: VAppBarTitle,
|
|
19913
|
-
VAlert: VAlert,
|
|
19914
|
-
VAlertTitle: VAlertTitle,
|
|
19915
20125
|
VAutocomplete: VAutocomplete,
|
|
19916
20126
|
VAvatar: VAvatar,
|
|
19917
20127
|
VBadge: VBadge,
|
|
@@ -19920,8 +20130,8 @@
|
|
|
19920
20130
|
VBannerText: VBannerText,
|
|
19921
20131
|
VBottomNavigation: VBottomNavigation,
|
|
19922
20132
|
VBreadcrumbs: VBreadcrumbs,
|
|
19923
|
-
VBreadcrumbsItem: VBreadcrumbsItem,
|
|
19924
20133
|
VBreadcrumbsDivider: VBreadcrumbsDivider,
|
|
20134
|
+
VBreadcrumbsItem: VBreadcrumbsItem,
|
|
19925
20135
|
VBtn: VBtn,
|
|
19926
20136
|
VBtnGroup: VBtnGroup,
|
|
19927
20137
|
VBtnToggle: VBtnToggle,
|
|
@@ -19937,41 +20147,51 @@
|
|
|
19937
20147
|
VCheckboxBtn: VCheckboxBtn,
|
|
19938
20148
|
VChip: VChip,
|
|
19939
20149
|
VChipGroup: VChipGroup,
|
|
20150
|
+
VClassIcon: VClassIcon,
|
|
19940
20151
|
VCode: VCode,
|
|
20152
|
+
VCol: VCol,
|
|
19941
20153
|
VColorPicker: VColorPicker,
|
|
19942
20154
|
VCombobox: VCombobox,
|
|
20155
|
+
VComponentIcon: VComponentIcon,
|
|
20156
|
+
VContainer: VContainer,
|
|
19943
20157
|
VCounter: VCounter,
|
|
20158
|
+
VDataTable: VDataTable,
|
|
20159
|
+
VDataTableFooter: VDataTableFooter,
|
|
20160
|
+
VDataTableRow: VDataTableRow,
|
|
20161
|
+
VDataTableRows: VDataTableRows,
|
|
20162
|
+
VDataTableServer: VDataTableServer,
|
|
20163
|
+
VDataTableVirtual: VDataTableVirtual,
|
|
19944
20164
|
VDefaultsProvider: VDefaultsProvider,
|
|
19945
20165
|
VDialog: VDialog,
|
|
20166
|
+
VDialogBottomTransition: VDialogBottomTransition,
|
|
20167
|
+
VDialogTopTransition: VDialogTopTransition,
|
|
20168
|
+
VDialogTransition: VDialogTransition,
|
|
19946
20169
|
VDivider: VDivider,
|
|
19947
|
-
|
|
20170
|
+
VExpandTransition: VExpandTransition,
|
|
20171
|
+
VExpandXTransition: VExpandXTransition,
|
|
19948
20172
|
VExpansionPanel: VExpansionPanel,
|
|
19949
20173
|
VExpansionPanelText: VExpansionPanelText,
|
|
19950
20174
|
VExpansionPanelTitle: VExpansionPanelTitle,
|
|
20175
|
+
VExpansionPanels: VExpansionPanels,
|
|
20176
|
+
VFabTransition: VFabTransition,
|
|
20177
|
+
VFadeTransition: VFadeTransition,
|
|
19951
20178
|
VField: VField,
|
|
19952
20179
|
VFieldLabel: VFieldLabel,
|
|
19953
20180
|
VFileInput: VFileInput,
|
|
19954
20181
|
VFooter: VFooter,
|
|
19955
20182
|
VForm: VForm,
|
|
19956
|
-
VContainer: VContainer,
|
|
19957
|
-
VCol: VCol,
|
|
19958
|
-
VRow: VRow,
|
|
19959
|
-
VSpacer: VSpacer,
|
|
19960
20183
|
VHover: VHover,
|
|
19961
20184
|
VIcon: VIcon,
|
|
19962
|
-
VComponentIcon: VComponentIcon,
|
|
19963
|
-
VSvgIcon: VSvgIcon,
|
|
19964
|
-
VLigatureIcon: VLigatureIcon,
|
|
19965
|
-
VClassIcon: VClassIcon,
|
|
19966
20185
|
VImg: VImg,
|
|
19967
20186
|
VInput: VInput,
|
|
19968
|
-
VItemGroup: VItemGroup,
|
|
19969
20187
|
VItem: VItem,
|
|
20188
|
+
VItemGroup: VItemGroup,
|
|
19970
20189
|
VKbd: VKbd,
|
|
19971
20190
|
VLabel: VLabel,
|
|
19972
20191
|
VLayout: VLayout,
|
|
19973
20192
|
VLayoutItem: VLayoutItem,
|
|
19974
20193
|
VLazy: VLazy,
|
|
20194
|
+
VLigatureIcon: VLigatureIcon,
|
|
19975
20195
|
VList: VList,
|
|
19976
20196
|
VListGroup: VListGroup,
|
|
19977
20197
|
VListImg: VListImg,
|
|
@@ -19997,54 +20217,45 @@
|
|
|
19997
20217
|
VRangeSlider: VRangeSlider,
|
|
19998
20218
|
VRating: VRating,
|
|
19999
20219
|
VResponsive: VResponsive,
|
|
20220
|
+
VRow: VRow,
|
|
20221
|
+
VScaleTransition: VScaleTransition,
|
|
20222
|
+
VScrollXReverseTransition: VScrollXReverseTransition,
|
|
20223
|
+
VScrollXTransition: VScrollXTransition,
|
|
20224
|
+
VScrollYReverseTransition: VScrollYReverseTransition,
|
|
20225
|
+
VScrollYTransition: VScrollYTransition,
|
|
20000
20226
|
VSelect: VSelect,
|
|
20001
20227
|
VSelectionControl: VSelectionControl,
|
|
20002
20228
|
VSelectionControlGroup: VSelectionControlGroup,
|
|
20003
20229
|
VSheet: VSheet,
|
|
20230
|
+
VSkeletonLoader: VSkeletonLoader,
|
|
20004
20231
|
VSlideGroup: VSlideGroup,
|
|
20005
20232
|
VSlideGroupItem: VSlideGroupItem,
|
|
20233
|
+
VSlideXReverseTransition: VSlideXReverseTransition,
|
|
20234
|
+
VSlideXTransition: VSlideXTransition,
|
|
20235
|
+
VSlideYReverseTransition: VSlideYReverseTransition,
|
|
20236
|
+
VSlideYTransition: VSlideYTransition,
|
|
20006
20237
|
VSlider: VSlider,
|
|
20007
20238
|
VSnackbar: VSnackbar,
|
|
20239
|
+
VSpacer: VSpacer,
|
|
20240
|
+
VSvgIcon: VSvgIcon,
|
|
20008
20241
|
VSwitch: VSwitch,
|
|
20009
20242
|
VSystemBar: VSystemBar,
|
|
20010
|
-
VTabs: VTabs,
|
|
20011
20243
|
VTab: VTab,
|
|
20012
20244
|
VTable: VTable,
|
|
20013
|
-
|
|
20245
|
+
VTabs: VTabs,
|
|
20014
20246
|
VTextField: VTextField,
|
|
20247
|
+
VTextarea: VTextarea,
|
|
20015
20248
|
VThemeProvider: VThemeProvider,
|
|
20016
20249
|
VTimeline: VTimeline,
|
|
20017
20250
|
VTimelineItem: VTimelineItem,
|
|
20018
20251
|
VToolbar: VToolbar,
|
|
20019
|
-
VToolbarTitle: VToolbarTitle,
|
|
20020
20252
|
VToolbarItems: VToolbarItems,
|
|
20253
|
+
VToolbarTitle: VToolbarTitle,
|
|
20021
20254
|
VTooltip: VTooltip,
|
|
20022
20255
|
VValidation: VValidation,
|
|
20256
|
+
VVirtualScroll: VVirtualScroll,
|
|
20023
20257
|
VWindow: VWindow,
|
|
20024
|
-
VWindowItem: VWindowItem
|
|
20025
|
-
VDialogTransition: VDialogTransition,
|
|
20026
|
-
VFabTransition: VFabTransition,
|
|
20027
|
-
VDialogBottomTransition: VDialogBottomTransition,
|
|
20028
|
-
VDialogTopTransition: VDialogTopTransition,
|
|
20029
|
-
VFadeTransition: VFadeTransition,
|
|
20030
|
-
VScaleTransition: VScaleTransition,
|
|
20031
|
-
VScrollXTransition: VScrollXTransition,
|
|
20032
|
-
VScrollXReverseTransition: VScrollXReverseTransition,
|
|
20033
|
-
VScrollYTransition: VScrollYTransition,
|
|
20034
|
-
VScrollYReverseTransition: VScrollYReverseTransition,
|
|
20035
|
-
VSlideXTransition: VSlideXTransition,
|
|
20036
|
-
VSlideXReverseTransition: VSlideXReverseTransition,
|
|
20037
|
-
VSlideYTransition: VSlideYTransition,
|
|
20038
|
-
VSlideYReverseTransition: VSlideYReverseTransition,
|
|
20039
|
-
VExpandTransition: VExpandTransition,
|
|
20040
|
-
VExpandXTransition: VExpandXTransition,
|
|
20041
|
-
VDataTable: VDataTable,
|
|
20042
|
-
VDataTableRows: VDataTableRows,
|
|
20043
|
-
VDataTableRow: VDataTableRow,
|
|
20044
|
-
VDataTableVirtual: VDataTableVirtual,
|
|
20045
|
-
VDataTableServer: VDataTableServer,
|
|
20046
|
-
VDataTableFooter: VDataTableFooter,
|
|
20047
|
-
VVirtualScroll: VVirtualScroll
|
|
20258
|
+
VWindowItem: VWindowItem
|
|
20048
20259
|
});
|
|
20049
20260
|
|
|
20050
20261
|
// Types
|
|
@@ -20255,7 +20466,7 @@
|
|
|
20255
20466
|
locale
|
|
20256
20467
|
};
|
|
20257
20468
|
}
|
|
20258
|
-
const version$1 = "3.1.
|
|
20469
|
+
const version$1 = "3.1.14";
|
|
20259
20470
|
createVuetify$1.version = version$1;
|
|
20260
20471
|
|
|
20261
20472
|
// Vue's inject() can only be used in setup
|
|
@@ -20267,7 +20478,7 @@
|
|
|
20267
20478
|
}
|
|
20268
20479
|
}
|
|
20269
20480
|
|
|
20270
|
-
const version = "3.1.
|
|
20481
|
+
const version = "3.1.14";
|
|
20271
20482
|
|
|
20272
20483
|
const createVuetify = function () {
|
|
20273
20484
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -20288,6 +20499,4 @@
|
|
|
20288
20499
|
exports.useTheme = useTheme;
|
|
20289
20500
|
exports.version = version;
|
|
20290
20501
|
|
|
20291
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
20292
|
-
|
|
20293
20502
|
}));
|