vuetify 3.1.12 → 3.1.13
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 +4130 -3910
- package/dist/json/importMap-labs.json +8 -4
- package/dist/json/importMap.json +150 -150
- package/dist/json/tags.json +603 -543
- package/dist/json/web-types.json +14479 -13894
- package/dist/vuetify-labs.css +450 -226
- package/dist/vuetify-labs.d.ts +1808 -927
- package/dist/vuetify-labs.esm.js +653 -484
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +653 -486
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +164 -160
- package/dist/vuetify.d.ts +1345 -707
- package/dist/vuetify.esm.js +511 -476
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +511 -478
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +164 -158
- 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 +2 -3
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +39 -39
- 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/VChip/VChip.mjs.map +1 -1
- 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 +2 -3
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +39 -39
- 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.map +1 -1
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +9 -9
- 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.map +1 -1
- package/lib/components/VImg/index.d.ts +9 -9
- package/lib/components/VInput/InputIcon.mjs.map +1 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- 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.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.mjs.map +1 -1
- 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/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.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.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- 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.map +1 -1
- package/lib/components/VSelect/index.d.ts +39 -39
- 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/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/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 +1 -4
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.mjs +1 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- 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.mjs.map +1 -1
- 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 +1229 -591
- 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.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.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 +38 -38
- package/lib/labs/VDataTable/VDataTable.mjs +3 -1
- 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.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- 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 +271 -244
- 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 +486 -245
- 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.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
|
@@ -3,7 +3,7 @@ import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
|
|
3
3
|
import "./VTabs.css";
|
|
4
4
|
|
|
5
5
|
// Components
|
|
6
|
-
import { VSlideGroup } from "../VSlideGroup/
|
|
6
|
+
import { makeVSlideGroupProps, VSlideGroup } from "../VSlideGroup/VSlideGroup.mjs";
|
|
7
7
|
import { VTab } from "./VTab.mjs"; // Composables
|
|
8
8
|
import { makeDensityProps, useDensity } from "../../composables/density.mjs";
|
|
9
9
|
import { makeTagProps } from "../../composables/tag.mjs";
|
|
@@ -31,10 +31,6 @@ export const VTabs = genericComponent()({
|
|
|
31
31
|
default: 'start'
|
|
32
32
|
},
|
|
33
33
|
color: String,
|
|
34
|
-
direction: {
|
|
35
|
-
type: String,
|
|
36
|
-
default: 'horizontal'
|
|
37
|
-
},
|
|
38
34
|
fixedTabs: Boolean,
|
|
39
35
|
items: {
|
|
40
36
|
type: Array,
|
|
@@ -49,11 +45,9 @@ export const VTabs = genericComponent()({
|
|
|
49
45
|
},
|
|
50
46
|
hideSlider: Boolean,
|
|
51
47
|
sliderColor: String,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
default: 'force'
|
|
56
|
-
},
|
|
48
|
+
...makeVSlideGroupProps({
|
|
49
|
+
mandatory: 'force'
|
|
50
|
+
}),
|
|
57
51
|
...makeDensityProps(),
|
|
58
52
|
...makeTagProps()
|
|
59
53
|
},
|
|
@@ -83,26 +77,27 @@ export const VTabs = genericComponent()({
|
|
|
83
77
|
hideSlider: toRef(props, 'hideSlider')
|
|
84
78
|
}
|
|
85
79
|
});
|
|
86
|
-
useRender(() =>
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
'v-tabs
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
80
|
+
useRender(() => {
|
|
81
|
+
const [slideGroupProps] = VSlideGroup.filterProps(props);
|
|
82
|
+
return _createVNode(VSlideGroup, _mergeProps(slideGroupProps, {
|
|
83
|
+
"modelValue": model.value,
|
|
84
|
+
"onUpdate:modelValue": $event => model.value = $event,
|
|
85
|
+
"class": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {
|
|
86
|
+
'v-tabs--fixed-tabs': props.fixedTabs,
|
|
87
|
+
'v-tabs--grow': props.grow,
|
|
88
|
+
'v-tabs--stacked': props.stacked
|
|
89
|
+
}, densityClasses.value, backgroundColorClasses.value],
|
|
90
|
+
"style": [{
|
|
91
|
+
'--v-tabs-height': convertToUnit(props.height)
|
|
92
|
+
}, backgroundColorStyles.value],
|
|
93
|
+
"role": "tablist",
|
|
94
|
+
"symbol": VTabsSymbol
|
|
95
|
+
}), {
|
|
96
|
+
default: () => [slots.default ? slots.default() : parsedItems.value.map(item => _createVNode(VTab, _mergeProps(item, {
|
|
97
|
+
"key": item.title
|
|
98
|
+
}), null))]
|
|
99
|
+
});
|
|
100
|
+
});
|
|
106
101
|
return {};
|
|
107
102
|
}
|
|
108
103
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VTabs.mjs","names":["VSlideGroup","VTab","makeDensityProps","useDensity","makeTagProps","provideDefaults","useBackgroundColor","useProxiedModel","computed","toRef","convertToUnit","genericComponent","useRender","VTabsSymbol","parseItems","items","map","item","title","value","VTabs","name","props","alignTabs","type","String","default","color","
|
|
1
|
+
{"version":3,"file":"VTabs.mjs","names":["makeVSlideGroupProps","VSlideGroup","VTab","makeDensityProps","useDensity","makeTagProps","provideDefaults","useBackgroundColor","useProxiedModel","computed","toRef","convertToUnit","genericComponent","useRender","VTabsSymbol","parseItems","items","map","item","title","value","VTabs","name","props","alignTabs","type","String","default","color","fixedTabs","Boolean","Array","stacked","bgColor","grow","height","Number","undefined","hideSlider","sliderColor","mandatory","emits","v","setup","_ref","slots","model","parsedItems","densityClasses","backgroundColorClasses","backgroundColorStyles","direction","fixed","slideGroupProps","filterProps","_createVNode","_mergeProps","$event"],"sources":["../../../src/components/VTabs/VTabs.tsx"],"sourcesContent":["// Styles\nimport './VTabs.sass'\n\n// Components\nimport { makeVSlideGroupProps, VSlideGroup } from '@/components/VSlideGroup/VSlideGroup'\nimport { VTab } from './VTab'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { VTabsSymbol } from './shared'\n\nexport type TabItem = string | Record<string, any>\n\nfunction parseItems (items: TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (typeof item === 'string') return { title: item, value: item }\n\n return item\n })\n}\n\nexport const VTabs = genericComponent()({\n name: 'VTabs',\n\n props: {\n alignTabs: {\n type: String as PropType<'start' | 'title' | 'center' | 'end'>,\n default: 'start',\n },\n color: String,\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n bgColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n sliderColor: String,\n\n ...makeVSlideGroupProps({ mandatory: 'force' as const }),\n ...makeDensityProps(),\n ...makeTagProps(),\n },\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const parsedItems = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n sliderColor: toRef(props, 'sliderColor'),\n hideSlider: toRef(props, 'hideSlider'),\n },\n })\n\n useRender(() => {\n const [slideGroupProps] = VSlideGroup.filterProps(props)\n\n return (\n <VSlideGroup\n { ...slideGroupProps }\n v-model={ model.value }\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n `v-tabs--align-tabs-${props.alignTabs}`,\n {\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n ]}\n style={[\n { '--v-tabs-height': convertToUnit(props.height) },\n backgroundColorStyles.value,\n ]}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n >\n { slots.default ? slots.default() : parsedItems.value.map(item => (\n <VTab { ...item } key={ item.title } />\n ))}\n </VSlideGroup>\n )\n })\n\n return {}\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
|
-
import { ComponentPropsOptions, ExtractPropTypes,
|
|
2
|
+
import { ComponentPropsOptions, ExtractPropTypes, ComponentInternalInstance, Ref, ComputedRef, JSXComponent, PropType } from 'vue';
|
|
3
3
|
// @ts-ignore
|
|
4
4
|
import * as vue_router from 'vue-router';
|
|
5
5
|
|
|
@@ -7,6 +7,32 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
|
7
7
|
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
interface GroupItem {
|
|
11
|
+
id: number;
|
|
12
|
+
value: Ref<unknown>;
|
|
13
|
+
disabled: Ref<boolean | undefined>;
|
|
14
|
+
}
|
|
15
|
+
interface GroupProvide {
|
|
16
|
+
register: (item: GroupItem, cmp: ComponentInternalInstance) => void;
|
|
17
|
+
unregister: (id: number) => void;
|
|
18
|
+
select: (id: number, value: boolean) => void;
|
|
19
|
+
selected: Ref<Readonly<number[]>>;
|
|
20
|
+
isSelected: (id: number) => boolean;
|
|
21
|
+
prev: () => void;
|
|
22
|
+
next: () => void;
|
|
23
|
+
selectedClass: Ref<string | undefined>;
|
|
24
|
+
items: ComputedRef<{
|
|
25
|
+
id: number;
|
|
26
|
+
value: unknown;
|
|
27
|
+
disabled: boolean | undefined;
|
|
28
|
+
}[]>;
|
|
29
|
+
disabled: Ref<boolean | undefined>;
|
|
30
|
+
getItemIndex: (value: unknown) => number;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
type IconValue = string | JSXComponent;
|
|
34
|
+
declare const IconValue: PropType<IconValue>;
|
|
35
|
+
|
|
10
36
|
type Density = null | 'default' | 'comfortable' | 'compact';
|
|
11
37
|
|
|
12
38
|
type TabItem = string | Record<string, any>;
|
|
@@ -15,33 +41,50 @@ declare const VTabs: {
|
|
|
15
41
|
$: vue.ComponentInternalInstance;
|
|
16
42
|
$data: {};
|
|
17
43
|
$props: Partial<{
|
|
44
|
+
symbol: any;
|
|
18
45
|
height: string | number;
|
|
19
46
|
direction: "horizontal" | "vertical";
|
|
47
|
+
disabled: boolean;
|
|
48
|
+
multiple: boolean;
|
|
20
49
|
tag: string;
|
|
21
|
-
mandatory: boolean | "force"
|
|
50
|
+
mandatory: NonNullable<boolean | "force">;
|
|
22
51
|
items: TabItem[];
|
|
23
52
|
density: Density;
|
|
53
|
+
modelValue: any;
|
|
54
|
+
selectedClass: string;
|
|
24
55
|
stacked: boolean;
|
|
25
56
|
grow: boolean;
|
|
57
|
+
nextIcon: IconValue;
|
|
58
|
+
prevIcon: IconValue;
|
|
59
|
+
centerActive: boolean;
|
|
26
60
|
hideSlider: boolean;
|
|
27
61
|
fixedTabs: boolean;
|
|
28
62
|
alignTabs: "center" | "end" | "start" | "title";
|
|
29
63
|
}> & Omit<{
|
|
64
|
+
symbol: any;
|
|
30
65
|
direction: "horizontal" | "vertical";
|
|
66
|
+
disabled: boolean;
|
|
67
|
+
multiple: boolean;
|
|
31
68
|
tag: string;
|
|
32
|
-
mandatory: boolean | "force"
|
|
69
|
+
mandatory: NonNullable<boolean | "force">;
|
|
33
70
|
items: TabItem[];
|
|
34
71
|
density: Density;
|
|
72
|
+
selectedClass: string;
|
|
35
73
|
stacked: boolean;
|
|
36
74
|
grow: boolean;
|
|
75
|
+
nextIcon: IconValue;
|
|
76
|
+
prevIcon: IconValue;
|
|
77
|
+
centerActive: boolean;
|
|
37
78
|
hideSlider: boolean;
|
|
38
79
|
fixedTabs: boolean;
|
|
39
80
|
alignTabs: "center" | "end" | "start" | "title";
|
|
40
81
|
} & {
|
|
82
|
+
max?: number | undefined;
|
|
41
83
|
height?: string | number | undefined;
|
|
42
84
|
color?: string | undefined;
|
|
43
85
|
modelValue?: any;
|
|
44
86
|
bgColor?: string | undefined;
|
|
87
|
+
showArrows?: string | boolean | undefined;
|
|
45
88
|
sliderColor?: string | undefined;
|
|
46
89
|
} & {
|
|
47
90
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
@@ -57,7 +100,7 @@ declare const VTabs: {
|
|
|
57
100
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
58
101
|
} & {
|
|
59
102
|
"onUpdate:modelValue"?: ((v: unknown) => any) | undefined;
|
|
60
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "height" | "direction" | "tag" | "mandatory" | "items" | "density" | "stacked" | "grow" | "hideSlider" | "fixedTabs" | "alignTabs">;
|
|
103
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "symbol" | "height" | "direction" | "disabled" | "multiple" | "tag" | "mandatory" | "items" | "density" | "modelValue" | "selectedClass" | "stacked" | "grow" | "nextIcon" | "prevIcon" | "centerActive" | "hideSlider" | "fixedTabs" | "alignTabs">;
|
|
61
104
|
$attrs: {
|
|
62
105
|
[x: string]: unknown;
|
|
63
106
|
};
|
|
@@ -72,21 +115,30 @@ declare const VTabs: {
|
|
|
72
115
|
$emit: (event: "update:modelValue", v: unknown) => void;
|
|
73
116
|
$el: any;
|
|
74
117
|
$options: vue.ComponentOptionsBase<{
|
|
118
|
+
symbol: any;
|
|
75
119
|
direction: "horizontal" | "vertical";
|
|
120
|
+
disabled: boolean;
|
|
121
|
+
multiple: boolean;
|
|
76
122
|
tag: string;
|
|
77
|
-
mandatory: boolean | "force"
|
|
123
|
+
mandatory: NonNullable<boolean | "force">;
|
|
78
124
|
items: TabItem[];
|
|
79
125
|
density: Density;
|
|
126
|
+
selectedClass: string;
|
|
80
127
|
stacked: boolean;
|
|
81
128
|
grow: boolean;
|
|
129
|
+
nextIcon: IconValue;
|
|
130
|
+
prevIcon: IconValue;
|
|
131
|
+
centerActive: boolean;
|
|
82
132
|
hideSlider: boolean;
|
|
83
133
|
fixedTabs: boolean;
|
|
84
134
|
alignTabs: "center" | "end" | "start" | "title";
|
|
85
135
|
} & {
|
|
136
|
+
max?: number | undefined;
|
|
86
137
|
height?: string | number | undefined;
|
|
87
138
|
color?: string | undefined;
|
|
88
139
|
modelValue?: any;
|
|
89
140
|
bgColor?: string | undefined;
|
|
141
|
+
showArrows?: string | boolean | undefined;
|
|
90
142
|
sliderColor?: string | undefined;
|
|
91
143
|
} & {
|
|
92
144
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
@@ -105,14 +157,22 @@ declare const VTabs: {
|
|
|
105
157
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
106
158
|
'update:modelValue': (v: unknown) => boolean;
|
|
107
159
|
}, string, {
|
|
160
|
+
symbol: any;
|
|
108
161
|
height: string | number;
|
|
109
162
|
direction: "horizontal" | "vertical";
|
|
163
|
+
disabled: boolean;
|
|
164
|
+
multiple: boolean;
|
|
110
165
|
tag: string;
|
|
111
|
-
mandatory: boolean | "force"
|
|
166
|
+
mandatory: NonNullable<boolean | "force">;
|
|
112
167
|
items: TabItem[];
|
|
113
168
|
density: Density;
|
|
169
|
+
modelValue: any;
|
|
170
|
+
selectedClass: string;
|
|
114
171
|
stacked: boolean;
|
|
115
172
|
grow: boolean;
|
|
173
|
+
nextIcon: IconValue;
|
|
174
|
+
prevIcon: IconValue;
|
|
175
|
+
centerActive: boolean;
|
|
116
176
|
hideSlider: boolean;
|
|
117
177
|
fixedTabs: boolean;
|
|
118
178
|
alignTabs: "center" | "end" | "start" | "title";
|
|
@@ -137,21 +197,30 @@ declare const VTabs: {
|
|
|
137
197
|
$nextTick: typeof vue.nextTick;
|
|
138
198
|
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
|
|
139
199
|
} & {
|
|
200
|
+
symbol: any;
|
|
140
201
|
direction: "horizontal" | "vertical";
|
|
202
|
+
disabled: boolean;
|
|
203
|
+
multiple: boolean;
|
|
141
204
|
tag: string;
|
|
142
|
-
mandatory: boolean | "force"
|
|
205
|
+
mandatory: NonNullable<boolean | "force">;
|
|
143
206
|
items: TabItem[];
|
|
144
207
|
density: Density;
|
|
208
|
+
selectedClass: string;
|
|
145
209
|
stacked: boolean;
|
|
146
210
|
grow: boolean;
|
|
211
|
+
nextIcon: IconValue;
|
|
212
|
+
prevIcon: IconValue;
|
|
213
|
+
centerActive: boolean;
|
|
147
214
|
hideSlider: boolean;
|
|
148
215
|
fixedTabs: boolean;
|
|
149
216
|
alignTabs: "center" | "end" | "start" | "title";
|
|
150
217
|
} & {
|
|
218
|
+
max?: number | undefined;
|
|
151
219
|
height?: string | number | undefined;
|
|
152
220
|
color?: string | undefined;
|
|
153
221
|
modelValue?: any;
|
|
154
222
|
bgColor?: string | undefined;
|
|
223
|
+
showArrows?: string | boolean | undefined;
|
|
155
224
|
sliderColor?: string | undefined;
|
|
156
225
|
} & {
|
|
157
226
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
@@ -172,21 +241,30 @@ declare const VTabs: {
|
|
|
172
241
|
__isTeleport?: undefined;
|
|
173
242
|
__isSuspense?: undefined;
|
|
174
243
|
} & vue.ComponentOptionsBase<{
|
|
244
|
+
symbol: any;
|
|
175
245
|
direction: "horizontal" | "vertical";
|
|
246
|
+
disabled: boolean;
|
|
247
|
+
multiple: boolean;
|
|
176
248
|
tag: string;
|
|
177
|
-
mandatory: boolean | "force"
|
|
249
|
+
mandatory: NonNullable<boolean | "force">;
|
|
178
250
|
items: TabItem[];
|
|
179
251
|
density: Density;
|
|
252
|
+
selectedClass: string;
|
|
180
253
|
stacked: boolean;
|
|
181
254
|
grow: boolean;
|
|
255
|
+
nextIcon: IconValue;
|
|
256
|
+
prevIcon: IconValue;
|
|
257
|
+
centerActive: boolean;
|
|
182
258
|
hideSlider: boolean;
|
|
183
259
|
fixedTabs: boolean;
|
|
184
260
|
alignTabs: "center" | "end" | "start" | "title";
|
|
185
261
|
} & {
|
|
262
|
+
max?: number | undefined;
|
|
186
263
|
height?: string | number | undefined;
|
|
187
264
|
color?: string | undefined;
|
|
188
265
|
modelValue?: any;
|
|
189
266
|
bgColor?: string | undefined;
|
|
267
|
+
showArrows?: string | boolean | undefined;
|
|
190
268
|
sliderColor?: string | undefined;
|
|
191
269
|
} & {
|
|
192
270
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
@@ -205,14 +283,22 @@ declare const VTabs: {
|
|
|
205
283
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
206
284
|
'update:modelValue': (v: unknown) => boolean;
|
|
207
285
|
}, string, {
|
|
286
|
+
symbol: any;
|
|
208
287
|
height: string | number;
|
|
209
288
|
direction: "horizontal" | "vertical";
|
|
289
|
+
disabled: boolean;
|
|
290
|
+
multiple: boolean;
|
|
210
291
|
tag: string;
|
|
211
|
-
mandatory: boolean | "force"
|
|
292
|
+
mandatory: NonNullable<boolean | "force">;
|
|
212
293
|
items: TabItem[];
|
|
213
294
|
density: Density;
|
|
295
|
+
modelValue: any;
|
|
296
|
+
selectedClass: string;
|
|
214
297
|
stacked: boolean;
|
|
215
298
|
grow: boolean;
|
|
299
|
+
nextIcon: IconValue;
|
|
300
|
+
prevIcon: IconValue;
|
|
301
|
+
centerActive: boolean;
|
|
216
302
|
hideSlider: boolean;
|
|
217
303
|
fixedTabs: boolean;
|
|
218
304
|
alignTabs: "center" | "end" | "start" | "title";
|
|
@@ -226,15 +312,47 @@ declare const VTabs: {
|
|
|
226
312
|
default: string;
|
|
227
313
|
validator: (v: any) => boolean;
|
|
228
314
|
};
|
|
229
|
-
|
|
230
|
-
type:
|
|
315
|
+
modelValue: {
|
|
316
|
+
type: null;
|
|
317
|
+
default: undefined;
|
|
318
|
+
};
|
|
319
|
+
multiple: BooleanConstructor;
|
|
320
|
+
mandatory: {
|
|
321
|
+
type: PropType<NonNullable<boolean | "force">>;
|
|
322
|
+
default: NonNullable<boolean | "force">;
|
|
323
|
+
};
|
|
324
|
+
max: NumberConstructor;
|
|
325
|
+
selectedClass: {
|
|
326
|
+
type: PropType<string>;
|
|
231
327
|
default: string;
|
|
232
328
|
};
|
|
233
|
-
|
|
329
|
+
disabled: BooleanConstructor;
|
|
330
|
+
centerActive: BooleanConstructor;
|
|
234
331
|
direction: {
|
|
235
332
|
type: PropType<"horizontal" | "vertical">;
|
|
236
333
|
default: string;
|
|
237
334
|
};
|
|
335
|
+
symbol: {
|
|
336
|
+
type: null;
|
|
337
|
+
default: vue.InjectionKey<GroupProvide>;
|
|
338
|
+
};
|
|
339
|
+
nextIcon: {
|
|
340
|
+
type: PropType<IconValue>;
|
|
341
|
+
default: string;
|
|
342
|
+
};
|
|
343
|
+
prevIcon: {
|
|
344
|
+
type: PropType<IconValue>;
|
|
345
|
+
default: string;
|
|
346
|
+
};
|
|
347
|
+
showArrows: {
|
|
348
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
349
|
+
validator: (v: any) => boolean;
|
|
350
|
+
};
|
|
351
|
+
alignTabs: {
|
|
352
|
+
type: PropType<"center" | "end" | "start" | "title">;
|
|
353
|
+
default: string;
|
|
354
|
+
};
|
|
355
|
+
color: StringConstructor;
|
|
238
356
|
fixedTabs: BooleanConstructor;
|
|
239
357
|
items: {
|
|
240
358
|
type: PropType<TabItem[]>;
|
|
@@ -249,11 +367,6 @@ declare const VTabs: {
|
|
|
249
367
|
};
|
|
250
368
|
hideSlider: BooleanConstructor;
|
|
251
369
|
sliderColor: StringConstructor;
|
|
252
|
-
modelValue: null;
|
|
253
|
-
mandatory: {
|
|
254
|
-
type: PropType<boolean | "force">;
|
|
255
|
-
default: string;
|
|
256
|
-
};
|
|
257
370
|
}, vue.ExtractPropTypes<{
|
|
258
371
|
tag: {
|
|
259
372
|
type: StringConstructor;
|
|
@@ -264,15 +377,47 @@ declare const VTabs: {
|
|
|
264
377
|
default: string;
|
|
265
378
|
validator: (v: any) => boolean;
|
|
266
379
|
};
|
|
267
|
-
|
|
268
|
-
type:
|
|
380
|
+
modelValue: {
|
|
381
|
+
type: null;
|
|
382
|
+
default: undefined;
|
|
383
|
+
};
|
|
384
|
+
multiple: BooleanConstructor;
|
|
385
|
+
mandatory: {
|
|
386
|
+
type: PropType<NonNullable<boolean | "force">>;
|
|
387
|
+
default: NonNullable<boolean | "force">;
|
|
388
|
+
};
|
|
389
|
+
max: NumberConstructor;
|
|
390
|
+
selectedClass: {
|
|
391
|
+
type: PropType<string>;
|
|
269
392
|
default: string;
|
|
270
393
|
};
|
|
271
|
-
|
|
394
|
+
disabled: BooleanConstructor;
|
|
395
|
+
centerActive: BooleanConstructor;
|
|
272
396
|
direction: {
|
|
273
397
|
type: PropType<"horizontal" | "vertical">;
|
|
274
398
|
default: string;
|
|
275
399
|
};
|
|
400
|
+
symbol: {
|
|
401
|
+
type: null;
|
|
402
|
+
default: vue.InjectionKey<GroupProvide>;
|
|
403
|
+
};
|
|
404
|
+
nextIcon: {
|
|
405
|
+
type: PropType<IconValue>;
|
|
406
|
+
default: string;
|
|
407
|
+
};
|
|
408
|
+
prevIcon: {
|
|
409
|
+
type: PropType<IconValue>;
|
|
410
|
+
default: string;
|
|
411
|
+
};
|
|
412
|
+
showArrows: {
|
|
413
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
414
|
+
validator: (v: any) => boolean;
|
|
415
|
+
};
|
|
416
|
+
alignTabs: {
|
|
417
|
+
type: PropType<"center" | "end" | "start" | "title">;
|
|
418
|
+
default: string;
|
|
419
|
+
};
|
|
420
|
+
color: StringConstructor;
|
|
276
421
|
fixedTabs: BooleanConstructor;
|
|
277
422
|
items: {
|
|
278
423
|
type: PropType<TabItem[]>;
|
|
@@ -287,17 +432,9 @@ declare const VTabs: {
|
|
|
287
432
|
};
|
|
288
433
|
hideSlider: BooleanConstructor;
|
|
289
434
|
sliderColor: StringConstructor;
|
|
290
|
-
modelValue: null;
|
|
291
|
-
mandatory: {
|
|
292
|
-
type: PropType<boolean | "force">;
|
|
293
|
-
default: string;
|
|
294
|
-
};
|
|
295
435
|
}>>;
|
|
296
436
|
type VTabs = InstanceType<typeof VTabs>;
|
|
297
437
|
|
|
298
|
-
type IconValue = string | JSXComponent;
|
|
299
|
-
declare const IconValue: PropType<IconValue>;
|
|
300
|
-
|
|
301
438
|
declare const VTab: {
|
|
302
439
|
new (...args: any[]): {
|
|
303
440
|
$: vue.ComponentInternalInstance;
|
|
@@ -168,9 +168,6 @@ export const VTextField = genericComponent()({
|
|
|
168
168
|
...slotProps
|
|
169
169
|
}
|
|
170
170
|
} = _ref3;
|
|
171
|
-
const placeholder = computed(() => {
|
|
172
|
-
return (props.persistentPlaceholder || isFocused.value) && !isDirty.value ? props.placeholder : '';
|
|
173
|
-
});
|
|
174
171
|
const inputNode = _withDirectives(_createVNode("input", _mergeProps({
|
|
175
172
|
"ref": inputRef,
|
|
176
173
|
"value": model.value,
|
|
@@ -179,7 +176,7 @@ export const VTextField = genericComponent()({
|
|
|
179
176
|
"readonly": isReadonly.value,
|
|
180
177
|
"disabled": isDisabled.value,
|
|
181
178
|
"name": props.name,
|
|
182
|
-
"placeholder": placeholder
|
|
179
|
+
"placeholder": props.placeholder,
|
|
183
180
|
"size": 1,
|
|
184
181
|
"type": props.type,
|
|
185
182
|
"onFocus": onFocus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VTextField.mjs","names":["filterFieldProps","makeVFieldProps","VField","filterInputProps","makeVInputProps","VInput","VCounter","Intersect","forwardRefs","useFocus","useProxiedModel","cloneVNode","computed","nextTick","ref","callEvent","filterInputAttrs","genericComponent","propsFactory","useRender","activeTypes","EventProp","Function","Array","makeVTextFieldProps","autofocus","Boolean","counter","Number","String","counterValue","hint","persistentHint","prefix","placeholder","persistentPlaceholder","persistentCounter","suffix","type","default","VTextField","name","directives","inheritAttrs","props","emits","e","focused","val","setup","attrs","emit","slots","model","isFocused","focus","blur","value","toString","length","max","maxlength","undefined","onIntersect","isIntersecting","entries","target","vInputRef","vFieldRef","inputRef","isActive","includes","messages","onFocus","document","activeElement","onControlMousedown","preventDefault","onControlClick","onClear","stopPropagation","onInput","el","caretPosition","selectionStart","selectionEnd","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","fieldProps","variant","id","isDisabled","isDirty","isReadonly","isValid","dirty","class","fieldClass","slotProps","inputNode","handler"],"sources":["../../../src/components/VTextField/VTextField.tsx"],"sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VCounter } from '@/components/VCounter'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { cloneVNode, computed, nextTick, ref } from 'vue'\nimport { callEvent, filterInputAttrs, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\ntype EventProp<T = (...args: any[]) => any> = T | T[]\nconst EventProp = [Function, Array] as PropType<EventProp>\n\nexport const makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'v-text-field')\n\nexport const VTextField = genericComponent<Omit<VInputSlots & VFieldSlots, 'default'> & MakeSlots<{\n default: []\n}>>()({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: makeVTextFieldProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as unknown as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VField>()\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value\n ))\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isFocused.value || props.persistentHint) ? props.hint : ''\n })\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n\n if (e.target === inputRef.value) return\n\n onFocus()\n e.preventDefault()\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = null\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLInputElement\n model.value = el.value\n if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant),\n },\n ]}\n onClick:prepend={ props['onClick:prepend'] }\n onClick:append={ props['onClick:append'] }\n { ...rootAttrs }\n { ...inputProps }\n focused={ isFocused.value }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n role=\"textbox\"\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n const placeholder = computed(() => {\n return ((props.persistentPlaceholder || isFocused.value) && !isDirty.value) ? props.placeholder : ''\n })\n\n const inputNode = (\n <input\n ref={ inputRef }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ props.name }\n placeholder={ placeholder.value }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n )}\n\n { slots.default ? (\n <div\n class={ fieldClass }\n data-no-activator=\"\"\n >\n { slots.default() }\n { inputNode }\n </div>\n ) : cloneVNode(inputNode, { class: fieldClass })}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n )}\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VTextField.mjs","names":["filterFieldProps","makeVFieldProps","VField","filterInputProps","makeVInputProps","VInput","VCounter","Intersect","forwardRefs","useFocus","useProxiedModel","cloneVNode","computed","nextTick","ref","callEvent","filterInputAttrs","genericComponent","propsFactory","useRender","activeTypes","EventProp","Function","Array","makeVTextFieldProps","autofocus","Boolean","counter","Number","String","counterValue","hint","persistentHint","prefix","placeholder","persistentPlaceholder","persistentCounter","suffix","type","default","VTextField","name","directives","inheritAttrs","props","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","value","toString","length","max","maxlength","undefined","onIntersect","isIntersecting","entries","target","vInputRef","vFieldRef","inputRef","isActive","includes","messages","onFocus","document","activeElement","onControlMousedown","preventDefault","onControlClick","onClear","stopPropagation","onInput","el","caretPosition","selectionStart","selectionEnd","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","fieldProps","_createVNode","_mergeProps","$event","variant","_ref2","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","class","fieldClass","slotProps","inputNode","_withDirectives","_resolveDirective","handler","once","_Fragment"],"sources":["../../../src/components/VTextField/VTextField.tsx"],"sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VCounter } from '@/components/VCounter'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { cloneVNode, computed, nextTick, ref } from 'vue'\nimport { callEvent, filterInputAttrs, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\ntype EventProp<T = (...args: any[]) => any> = T | T[]\nconst EventProp = [Function, Array] as PropType<EventProp>\n\nexport const makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'v-text-field')\n\nexport const VTextField = genericComponent<Omit<VInputSlots & VFieldSlots, 'default'> & MakeSlots<{\n default: []\n}>>()({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: makeVTextFieldProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as unknown as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VField>()\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value\n ))\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isFocused.value || props.persistentHint) ? props.hint : ''\n })\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n\n if (e.target === inputRef.value) return\n\n onFocus()\n e.preventDefault()\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = null\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLInputElement\n model.value = el.value\n if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant),\n },\n ]}\n onClick:prepend={ props['onClick:prepend'] }\n onClick:append={ props['onClick:append'] }\n { ...rootAttrs }\n { ...inputProps }\n focused={ isFocused.value }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n role=\"textbox\"\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n const inputNode = (\n <input\n ref={ inputRef }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ props.name }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n )}\n\n { slots.default ? (\n <div\n class={ fieldClass }\n data-no-activator=\"\"\n >\n { slots.default() }\n { inputNode }\n </div>\n ) : cloneVNode(inputNode, { class: fieldClass })}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n )}\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n"],"mappings":"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"}
|
|
@@ -81,7 +81,7 @@ export const VTextarea = genericComponent()({
|
|
|
81
81
|
const textareaRef = ref();
|
|
82
82
|
const isActive = computed(() => isFocused.value || props.persistentPlaceholder);
|
|
83
83
|
const messages = computed(() => {
|
|
84
|
-
return props.messages.length ? props.messages :
|
|
84
|
+
return props.messages.length ? props.messages : isFocused.value || props.persistentHint ? props.hint : '';
|
|
85
85
|
});
|
|
86
86
|
function onFocus() {
|
|
87
87
|
if (textareaRef.value !== document.activeElement) {
|