@vuetify/nightly 4.0.0-dev-20230426.0 → 4.0.0-dev-20230511.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -15
- package/dist/json/attributes.json +949 -729
- package/dist/json/importMap-labs.json +4 -4
- package/dist/json/importMap.json +12 -12
- package/dist/json/tags.json +57 -2
- package/dist/json/web-types.json +1966 -1440
- package/dist/vuetify-labs.css +1504 -1493
- package/dist/vuetify-labs.d.ts +6175 -8100
- package/dist/vuetify-labs.esm.js +1462 -1230
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1461 -1229
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +51 -40
- package/dist/vuetify.d.ts +6327 -7380
- package/dist/vuetify.esm.js +1401 -1194
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1400 -1193
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +805 -805
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/{index.d.ts → index.d.mts} +6 -2
- package/lib/blueprints/{md1.d.ts → md1.d.mts} +6 -2
- package/lib/blueprints/{md2.d.ts → md2.d.mts} +6 -2
- package/lib/blueprints/{md3.d.ts → md3.d.mts} +6 -2
- package/lib/components/VAlert/VAlert.mjs +6 -4
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/{index.d.ts → index.d.mts} +57 -55
- package/lib/components/VApp/VApp.mjs +4 -2
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VAppBar/VAppBar.mjs +10 -14
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +10 -13
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/{index.d.ts → index.d.mts} +479 -118
- package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +11 -3
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
- package/lib/components/VAutocomplete/{index.d.ts → index.d.mts} +231 -409
- package/lib/components/VAvatar/VAvatar.mjs +4 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/{index.d.ts → index.d.mts} +23 -14
- package/lib/components/VBadge/VBadge.mjs +6 -5
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/{index.d.ts → index.d.mts} +27 -22
- package/lib/components/VBanner/VBanner.mjs +6 -4
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +5 -2
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/{index.d.ts → index.d.mts} +92 -66
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +4 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -18
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +4 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/{index.d.ts → index.d.mts} +134 -93
- package/lib/components/VBtn/VBtn.mjs +12 -9
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/{index.d.ts → index.d.mts} +33 -36
- package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VBtnToggle/VBtnToggle.mjs +4 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/{index.d.ts → index.d.mts} +30 -21
- package/lib/components/VCard/VCard.mjs +5 -3
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs +7 -4
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +5 -2
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/{index.d.ts → index.d.mts} +250 -141
- package/lib/components/VCarousel/VCarousel.mjs +3 -3
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +6 -3
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/{index.d.ts → index.d.mts} +78 -141
- package/lib/components/VCheckbox/VCheckbox.mjs +3 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +2 -2
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/{index.d.ts → index.d.mts} +75 -109
- package/lib/components/VChip/VChip.mjs +7 -8
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/{index.d.ts → index.d.mts} +27 -30
- package/lib/components/VChipGroup/VChipGroup.mjs +4 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VCode/{index.d.ts → index.d.mts} +30 -17
- package/lib/components/VColorPicker/VColorPicker.mjs +12 -7
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -2
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -3
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +12 -9
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/{index.d.ts → index.d.mts} +131 -32
- package/lib/components/VColorPicker/util/index.mjs +2 -22
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +11 -3
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/{index.d.ts → index.d.mts} +231 -409
- package/lib/components/VCounter/VCounter.mjs +4 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/{index.d.ts → index.d.mts} +22 -145
- package/lib/components/VDefaultsProvider/{index.d.ts → index.d.mts} +0 -12
- package/lib/components/VDialog/VDialog.mjs +4 -3
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/{index.d.ts → index.d.mts} +104 -282
- package/lib/components/VDivider/VDivider.mjs +4 -2
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -2
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/{index.d.ts → index.d.mts} +109 -81
- package/lib/components/VField/VField.css +0 -1
- package/lib/components/VField/VField.mjs +9 -6
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +0 -1
- package/lib/components/VField/VFieldLabel.mjs +6 -3
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/{index.d.ts → index.d.mts} +125 -76
- package/lib/components/VFileInput/VFileInput.mjs +4 -2
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/{index.d.ts → index.d.mts} +114 -165
- package/lib/components/VFooter/VFooter.mjs +4 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VForm/VForm.mjs +5 -2
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/{index.d.ts → index.d.mts} +30 -17
- package/lib/components/VGrid/VCol.mjs +4 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +4 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +4 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/{index.d.ts → index.d.mts} +104 -60
- package/lib/components/VHover/{index.d.ts → index.d.mts} +20 -44
- package/lib/components/VIcon/VIcon.mjs +4 -2
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/{index.d.ts → index.d.mts} +23 -26
- package/lib/components/VImg/VImg.css +2 -4
- package/lib/components/VImg/VImg.mjs +27 -24
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +4 -3
- package/lib/components/VImg/{index.d.ts → index.d.mts} +73 -31
- package/lib/components/VInput/VInput.mjs +4 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/{index.d.ts → index.d.mts} +37 -40
- package/lib/components/VItemGroup/VItemGroup.mjs +4 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/{index.d.ts → index.d.mts} +30 -33
- package/lib/components/VKbd/{index.d.ts → index.d.mts} +30 -17
- package/lib/components/VLabel/VLabel.mjs +4 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VLayout/VLayout.mjs +8 -4
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +4 -2
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/{index.d.ts → index.d.mts} +44 -26
- package/lib/components/VLazy/VLazy.mjs +4 -2
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VList/VList.mjs +12 -24
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +8 -2
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +12 -5
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +4 -1
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +4 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +5 -3
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/{index.d.ts → index.d.mts} +950 -826
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -2
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/{index.d.ts → index.d.mts} +30 -17
- package/lib/components/VMain/VMain.mjs +4 -2
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/{index.d.ts → index.d.mts} +30 -17
- package/lib/components/VMenu/VMenu.mjs +2 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/{index.d.ts → index.d.mts} +104 -282
- package/lib/components/VMessages/VMessages.mjs +4 -2
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/{index.d.ts → index.d.mts} +22 -145
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -10
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/{index.d.ts → index.d.mts} +26 -29
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.d.mts +8 -0
- package/lib/components/VOverlay/VOverlay.mjs +5 -3
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/{index.d.ts → index.d.mts} +38 -45
- package/lib/components/VPagination/VPagination.mjs +4 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/{index.d.ts → index.d.mts} +23 -30
- package/lib/components/VParallax/VParallax.mjs +5 -2
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/{index.d.ts → index.d.mts} +34 -33
- package/lib/components/VProgressCircular/VProgressCircular.mjs +4 -2
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -4
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/{index.d.ts → index.d.mts} +42 -45
- package/lib/components/VRadio/VRadio.mjs +2 -1
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/{index.d.ts → index.d.mts} +27 -38
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/{index.d.ts → index.d.mts} +45 -68
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/{index.d.ts → index.d.mts} +33 -44
- package/lib/components/VRating/VRating.mjs +4 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/{index.d.ts → index.d.mts} +23 -18
- package/lib/components/VResponsive/VResponsive.css +13 -5
- package/lib/components/VResponsive/VResponsive.mjs +14 -8
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.sass +12 -4
- package/lib/components/VResponsive/{index.d.ts → index.d.mts} +52 -31
- package/lib/components/VSelect/VSelect.mjs +11 -3
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/{index.d.ts → index.d.mts} +200 -558
- package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -2
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/{index.d.ts → index.d.mts} +76 -46
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/{index.d.ts → index.d.mts} +23 -14
- package/lib/components/VSheet/VSheet.css +6 -0
- package/lib/components/VSheet/VSheet.mjs +4 -2
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/_variables.scss +1 -1
- package/lib/components/VSheet/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VSlideGroup/VSlideGroup.mjs +6 -3
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/{index.d.ts → index.d.mts} +59 -90
- package/lib/components/VSlider/VSlider.mjs +2 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +6 -4
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +6 -4
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/{index.d.ts → index.d.mts} +33 -44
- package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/{index.d.ts → index.d.mts} +92 -142
- package/lib/components/VSwitch/VSwitch.mjs +2 -1
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/{index.d.ts → index.d.mts} +45 -72
- package/lib/components/VSystemBar/VSystemBar.mjs +4 -2
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VTable/VTable.mjs +4 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/{index.d.ts → index.d.mts} +26 -29
- package/lib/components/VTabs/VTab.mjs +2 -2
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +2 -2
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/{index.d.ts → index.d.mts} +45 -27
- package/lib/components/VTextField/VTextField.mjs +3 -2
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/{index.d.ts → index.d.mts} +232 -293
- package/lib/components/VTextarea/VTextarea.mjs +3 -2
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/{index.d.ts → index.d.mts} +94 -137
- package/lib/components/VThemeProvider/VThemeProvider.mjs +6 -3
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/{index.d.ts → index.d.mts} +22 -13
- package/lib/components/VTimeline/VTimeline.mjs +5 -3
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +4 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +8 -6
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/{index.d.ts → index.d.mts} +67 -57
- package/lib/components/VToolbar/VToolbar.mjs +4 -2
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +9 -4
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs +5 -2
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/{index.d.ts → index.d.mts} +74 -71
- package/lib/components/VTooltip/VTooltip.mjs +2 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/{index.d.ts → index.d.mts} +104 -150
- package/lib/components/VValidation/{index.d.ts → index.d.mts} +6 -18
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +21 -23
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +5 -2
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VVirtualScroll/{index.d.ts → index.d.mts} +70 -30
- package/lib/components/VWindow/VWindow.mjs +4 -1
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +4 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/{index.d.ts → index.d.mts} +61 -79
- package/lib/components/{index.d.ts → index.d.mts} +6475 -7529
- package/lib/components/transitions/{index.d.ts → index.d.mts} +0 -192
- package/lib/composables/component.mjs +11 -0
- package/lib/composables/component.mjs.map +1 -0
- package/lib/composables/defaults.mjs +63 -5
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/display.mjs +6 -6
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/icons.mjs +15 -4
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/index.mjs +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/scroll.mjs +18 -19
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +2 -2
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/{fa-svg.d.ts → fa-svg.d.mts} +1 -1
- package/lib/iconsets/{fa.d.ts → fa.d.mts} +1 -1
- package/lib/iconsets/{fa4.d.ts → fa4.d.mts} +1 -1
- package/lib/iconsets/{md.d.ts → md.d.mts} +1 -1
- package/lib/iconsets/{mdi-svg.d.ts → mdi-svg.d.mts} +1 -1
- package/lib/iconsets/{mdi.d.ts → mdi.d.mts} +1 -1
- package/lib/{index.d.ts → index.d.mts} +13 -12
- package/lib/labs/VDataTable/VDataTable.mjs +12 -3
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +2 -2
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +1 -6
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +7 -2
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +6 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/{index.d.ts → index.d.mts} +113 -943
- package/lib/labs/VInfiniteScroll/{index.d.ts → index.d.mts} +8 -36
- package/lib/labs/VSkeletonLoader/{index.d.ts → index.d.mts} +0 -12
- package/lib/labs/{components.d.ts → components.d.mts} +161 -1031
- package/lib/labs/date/DateAdapter.mjs +2 -0
- package/lib/labs/date/DateAdapter.mjs.map +1 -0
- package/lib/labs/date/adapters/vuetify.d.mts +52 -0
- package/lib/{adapters → labs/date/adapters}/vuetify.mjs +2 -2
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -0
- package/lib/{composables → labs/date}/date.mjs +3 -3
- package/lib/labs/date/date.mjs.map +1 -0
- package/lib/labs/date/index.d.mts +40 -0
- package/lib/labs/date/index.mjs +2 -0
- package/lib/labs/date/index.mjs.map +1 -0
- package/lib/labs/index.mjs +3 -2
- package/lib/labs/index.mjs.map +1 -1
- package/lib/util/colorUtils.mjs +68 -3
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs +12 -81
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +9 -4
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +11 -43
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +31 -2
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.mjs.map +1 -1
- package/package.json +11 -6
- package/lib/adapters/date-adapter.mjs +0 -2
- package/lib/adapters/date-adapter.mjs.map +0 -1
- package/lib/adapters/vuetify.mjs.map +0 -1
- package/lib/components/VNoSsr/index.d.ts +0 -18
- package/lib/composables/date.mjs.map +0 -1
- /package/lib/directives/{index.d.ts → index.d.mts} +0 -0
- /package/lib/locale/adapters/{vue-i18n.d.ts → vue-i18n.d.mts} +0 -0
- /package/lib/locale/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
- /package/lib/locale/{index.d.ts → index.d.mts} +0 -0
@@ -13,7 +13,7 @@ type Density = null | 'default' | 'comfortable' | 'compact';
|
|
13
13
|
type ValidationResult = string | boolean;
|
14
14
|
type ValidationRule = ValidationResult | PromiseLike<ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike<ValidationResult>);
|
15
15
|
|
16
|
-
type IconValue = string | JSXComponent;
|
16
|
+
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
17
17
|
declare const IconValue: PropType<IconValue>;
|
18
18
|
|
19
19
|
interface VInputSlot {
|
@@ -40,6 +40,7 @@ declare const VRangeSlider: {
|
|
40
40
|
error: boolean;
|
41
41
|
strict: boolean;
|
42
42
|
direction: "horizontal" | "vertical";
|
43
|
+
style: vue.StyleValue;
|
43
44
|
disabled: boolean;
|
44
45
|
readonly: boolean;
|
45
46
|
step: string | number;
|
@@ -65,6 +66,7 @@ declare const VRangeSlider: {
|
|
65
66
|
error: boolean;
|
66
67
|
strict: boolean;
|
67
68
|
direction: "horizontal" | "vertical";
|
69
|
+
style: vue.StyleValue;
|
68
70
|
disabled: boolean;
|
69
71
|
readonly: boolean;
|
70
72
|
step: string | number;
|
@@ -87,12 +89,13 @@ declare const VRangeSlider: {
|
|
87
89
|
name?: string | undefined;
|
88
90
|
color?: string | undefined;
|
89
91
|
label?: string | undefined;
|
92
|
+
class?: any;
|
90
93
|
rounded?: string | number | boolean | undefined;
|
91
94
|
prependIcon?: IconValue | undefined;
|
92
95
|
appendIcon?: IconValue | undefined;
|
93
96
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
94
97
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
95
|
-
'onUpdate:focused'?: EventProp<[
|
98
|
+
'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
|
96
99
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
97
100
|
validationValue?: any;
|
98
101
|
hint?: string | undefined;
|
@@ -103,7 +106,7 @@ declare const VRangeSlider: {
|
|
103
106
|
thumbLabel?: boolean | "always" | undefined;
|
104
107
|
ticks?: number[] | Record<number, string> | undefined;
|
105
108
|
} & {
|
106
|
-
$children?:
|
109
|
+
$children?: vue.VNodeChild | ((args_0: VInputSlot) => vue.VNodeChild) | {
|
107
110
|
default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
108
111
|
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
109
112
|
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
@@ -111,14 +114,6 @@ declare const VRangeSlider: {
|
|
111
114
|
'tick-label'?: (() => vue.VNodeChild) | undefined;
|
112
115
|
'thumb-label'?: (() => vue.VNodeChild) | undefined;
|
113
116
|
};
|
114
|
-
$slots?: {
|
115
|
-
default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
116
|
-
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
117
|
-
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
118
|
-
details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
119
|
-
'tick-label'?: (() => vue.VNodeChild) | undefined;
|
120
|
-
'thumb-label'?: (() => vue.VNodeChild) | undefined;
|
121
|
-
} | undefined;
|
122
117
|
'v-slots'?: {
|
123
118
|
default?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
124
119
|
prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
@@ -139,7 +134,7 @@ declare const VRangeSlider: {
|
|
139
134
|
"onUpdate:focused"?: ((value: boolean) => any) | undefined;
|
140
135
|
onEnd?: ((value: [number, number]) => any) | undefined;
|
141
136
|
onStart?: ((value: [number, number]) => any) | undefined;
|
142
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "max" | "error" | "strict" | "direction" | "disabled" | "readonly" | "step" | "min" | "elevation" | "messages" | "rounded" | "density" | "modelValue" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "showTicks" | "tickSize" | "trackSize" | "thumbLabel" | "thumbSize">;
|
137
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "max" | "error" | "strict" | "direction" | "style" | "disabled" | "readonly" | "step" | "min" | "elevation" | "messages" | "rounded" | "density" | "modelValue" | "focused" | "errorMessages" | "maxErrors" | "rules" | "persistentHint" | "showTicks" | "tickSize" | "trackSize" | "thumbLabel" | "thumbSize">;
|
143
138
|
$attrs: {
|
144
139
|
[x: string]: unknown;
|
145
140
|
};
|
@@ -159,6 +154,7 @@ declare const VRangeSlider: {
|
|
159
154
|
error: boolean;
|
160
155
|
strict: boolean;
|
161
156
|
direction: "horizontal" | "vertical";
|
157
|
+
style: vue.StyleValue;
|
162
158
|
disabled: boolean;
|
163
159
|
readonly: boolean;
|
164
160
|
step: string | number;
|
@@ -181,12 +177,13 @@ declare const VRangeSlider: {
|
|
181
177
|
name?: string | undefined;
|
182
178
|
color?: string | undefined;
|
183
179
|
label?: string | undefined;
|
180
|
+
class?: any;
|
184
181
|
rounded?: string | number | boolean | undefined;
|
185
182
|
prependIcon?: IconValue | undefined;
|
186
183
|
appendIcon?: IconValue | undefined;
|
187
184
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
188
185
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
189
|
-
'onUpdate:focused'?: EventProp<[
|
186
|
+
'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
|
190
187
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
191
188
|
validationValue?: any;
|
192
189
|
hint?: string | undefined;
|
@@ -197,7 +194,7 @@ declare const VRangeSlider: {
|
|
197
194
|
thumbLabel?: boolean | "always" | undefined;
|
198
195
|
ticks?: number[] | Record<number, string> | undefined;
|
199
196
|
} & {
|
200
|
-
$children?:
|
197
|
+
$children?: vue.VNodeChild | ((args_0: VInputSlot) => vue.VNodeChild) | {
|
201
198
|
default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
202
199
|
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
203
200
|
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
@@ -205,14 +202,6 @@ declare const VRangeSlider: {
|
|
205
202
|
'tick-label'?: (() => vue.VNodeChild) | undefined;
|
206
203
|
'thumb-label'?: (() => vue.VNodeChild) | undefined;
|
207
204
|
};
|
208
|
-
$slots?: {
|
209
|
-
default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
210
|
-
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
211
|
-
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
212
|
-
details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
213
|
-
'tick-label'?: (() => vue.VNodeChild) | undefined;
|
214
|
-
'thumb-label'?: (() => vue.VNodeChild) | undefined;
|
215
|
-
} | undefined;
|
216
205
|
'v-slots'?: {
|
217
206
|
default?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
218
207
|
prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
@@ -244,6 +233,7 @@ declare const VRangeSlider: {
|
|
244
233
|
error: boolean;
|
245
234
|
strict: boolean;
|
246
235
|
direction: "horizontal" | "vertical";
|
236
|
+
style: vue.StyleValue;
|
247
237
|
disabled: boolean;
|
248
238
|
readonly: boolean;
|
249
239
|
step: string | number;
|
@@ -289,6 +279,7 @@ declare const VRangeSlider: {
|
|
289
279
|
error: boolean;
|
290
280
|
strict: boolean;
|
291
281
|
direction: "horizontal" | "vertical";
|
282
|
+
style: vue.StyleValue;
|
292
283
|
disabled: boolean;
|
293
284
|
readonly: boolean;
|
294
285
|
step: string | number;
|
@@ -311,12 +302,13 @@ declare const VRangeSlider: {
|
|
311
302
|
name?: string | undefined;
|
312
303
|
color?: string | undefined;
|
313
304
|
label?: string | undefined;
|
305
|
+
class?: any;
|
314
306
|
rounded?: string | number | boolean | undefined;
|
315
307
|
prependIcon?: IconValue | undefined;
|
316
308
|
appendIcon?: IconValue | undefined;
|
317
309
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
318
310
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
319
|
-
'onUpdate:focused'?: EventProp<[
|
311
|
+
'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
|
320
312
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
321
313
|
validationValue?: any;
|
322
314
|
hint?: string | undefined;
|
@@ -327,7 +319,7 @@ declare const VRangeSlider: {
|
|
327
319
|
thumbLabel?: boolean | "always" | undefined;
|
328
320
|
ticks?: number[] | Record<number, string> | undefined;
|
329
321
|
} & {
|
330
|
-
$children?:
|
322
|
+
$children?: vue.VNodeChild | ((args_0: VInputSlot) => vue.VNodeChild) | {
|
331
323
|
default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
332
324
|
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
333
325
|
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
@@ -335,14 +327,6 @@ declare const VRangeSlider: {
|
|
335
327
|
'tick-label'?: (() => vue.VNodeChild) | undefined;
|
336
328
|
'thumb-label'?: (() => vue.VNodeChild) | undefined;
|
337
329
|
};
|
338
|
-
$slots?: {
|
339
|
-
default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
340
|
-
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
341
|
-
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
342
|
-
details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
343
|
-
'tick-label'?: (() => vue.VNodeChild) | undefined;
|
344
|
-
'thumb-label'?: (() => vue.VNodeChild) | undefined;
|
345
|
-
} | undefined;
|
346
330
|
'v-slots'?: {
|
347
331
|
default?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
348
332
|
prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
@@ -373,6 +357,7 @@ declare const VRangeSlider: {
|
|
373
357
|
error: boolean;
|
374
358
|
strict: boolean;
|
375
359
|
direction: "horizontal" | "vertical";
|
360
|
+
style: vue.StyleValue;
|
376
361
|
disabled: boolean;
|
377
362
|
readonly: boolean;
|
378
363
|
step: string | number;
|
@@ -395,12 +380,13 @@ declare const VRangeSlider: {
|
|
395
380
|
name?: string | undefined;
|
396
381
|
color?: string | undefined;
|
397
382
|
label?: string | undefined;
|
383
|
+
class?: any;
|
398
384
|
rounded?: string | number | boolean | undefined;
|
399
385
|
prependIcon?: IconValue | undefined;
|
400
386
|
appendIcon?: IconValue | undefined;
|
401
387
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
402
388
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
403
|
-
'onUpdate:focused'?: EventProp<[
|
389
|
+
'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
|
404
390
|
validateOn?: "input" | "blur" | "submit" | undefined;
|
405
391
|
validationValue?: any;
|
406
392
|
hint?: string | undefined;
|
@@ -411,7 +397,7 @@ declare const VRangeSlider: {
|
|
411
397
|
thumbLabel?: boolean | "always" | undefined;
|
412
398
|
ticks?: number[] | Record<number, string> | undefined;
|
413
399
|
} & {
|
414
|
-
$children?:
|
400
|
+
$children?: vue.VNodeChild | ((args_0: VInputSlot) => vue.VNodeChild) | {
|
415
401
|
default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
416
402
|
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
417
403
|
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
@@ -419,14 +405,6 @@ declare const VRangeSlider: {
|
|
419
405
|
'tick-label'?: (() => vue.VNodeChild) | undefined;
|
420
406
|
'thumb-label'?: (() => vue.VNodeChild) | undefined;
|
421
407
|
};
|
422
|
-
$slots?: {
|
423
|
-
default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
424
|
-
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
425
|
-
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
426
|
-
details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
427
|
-
'tick-label'?: (() => vue.VNodeChild) | undefined;
|
428
|
-
'thumb-label'?: (() => vue.VNodeChild) | undefined;
|
429
|
-
} | undefined;
|
430
408
|
'v-slots'?: {
|
431
409
|
default?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
432
410
|
prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
|
@@ -458,6 +436,7 @@ declare const VRangeSlider: {
|
|
458
436
|
error: boolean;
|
459
437
|
strict: boolean;
|
460
438
|
direction: "horizontal" | "vertical";
|
439
|
+
style: vue.StyleValue;
|
461
440
|
disabled: boolean;
|
462
441
|
readonly: boolean;
|
463
442
|
step: string | number;
|
@@ -545,7 +524,7 @@ declare const VRangeSlider: {
|
|
545
524
|
};
|
546
525
|
reverse: BooleanConstructor;
|
547
526
|
focused: BooleanConstructor;
|
548
|
-
'onUpdate:focused': PropType<EventProp<[
|
527
|
+
'onUpdate:focused': PropType<EventProp<[boolean], (args_0: boolean) => any>>;
|
549
528
|
errorMessages: {
|
550
529
|
type: PropType<string | string[]>;
|
551
530
|
default: () => never[];
|
@@ -567,6 +546,11 @@ declare const VRangeSlider: {
|
|
567
546
|
default: string;
|
568
547
|
validator: (v: any) => boolean;
|
569
548
|
};
|
549
|
+
class: PropType<any>;
|
550
|
+
style: {
|
551
|
+
type: PropType<vue.StyleValue>;
|
552
|
+
default: null;
|
553
|
+
};
|
570
554
|
id: StringConstructor;
|
571
555
|
appendIcon: PropType<IconValue>;
|
572
556
|
prependIcon: PropType<IconValue>;
|
@@ -647,7 +631,7 @@ declare const VRangeSlider: {
|
|
647
631
|
};
|
648
632
|
reverse: BooleanConstructor;
|
649
633
|
focused: BooleanConstructor;
|
650
|
-
'onUpdate:focused': PropType<EventProp<[
|
634
|
+
'onUpdate:focused': PropType<EventProp<[boolean], (args_0: boolean) => any>>;
|
651
635
|
errorMessages: {
|
652
636
|
type: PropType<string | string[]>;
|
653
637
|
default: () => never[];
|
@@ -669,6 +653,11 @@ declare const VRangeSlider: {
|
|
669
653
|
default: string;
|
670
654
|
validator: (v: any) => boolean;
|
671
655
|
};
|
656
|
+
class: PropType<any>;
|
657
|
+
style: {
|
658
|
+
type: PropType<vue.StyleValue>;
|
659
|
+
default: null;
|
660
|
+
};
|
672
661
|
id: StringConstructor;
|
673
662
|
appendIcon: PropType<IconValue>;
|
674
663
|
prependIcon: PropType<IconValue>;
|
@@ -5,6 +5,7 @@ import "./VRating.css";
|
|
5
5
|
// Components
|
6
6
|
import { VBtn } from "../VBtn/index.mjs"; // Composables
|
7
7
|
import { IconValue } from "../../composables/icons.mjs";
|
8
|
+
import { makeComponentProps } from "../../composables/component.mjs";
|
8
9
|
import { makeDensityProps } from "../../composables/density.mjs";
|
9
10
|
import { makeSizeProps } from "../../composables/size.mjs";
|
10
11
|
import { makeTagProps } from "../../composables/tag.mjs";
|
@@ -51,6 +52,7 @@ export const VRating = genericComponent()({
|
|
51
52
|
validator: v => ['top', 'bottom'].includes(v)
|
52
53
|
},
|
53
54
|
ripple: Boolean,
|
55
|
+
...makeComponentProps(),
|
54
56
|
...makeDensityProps(),
|
55
57
|
...makeSizeProps(),
|
56
58
|
...makeTagProps(),
|
@@ -168,7 +170,8 @@ export const VRating = genericComponent()({
|
|
168
170
|
"class": ['v-rating', {
|
169
171
|
'v-rating--hover': props.hover,
|
170
172
|
'v-rating--readonly': props.readonly
|
171
|
-
}, themeClasses.value]
|
173
|
+
}, themeClasses.value, props.class],
|
174
|
+
"style": props.style
|
172
175
|
}, {
|
173
176
|
default: () => [_createVNode(VRatingItem, {
|
174
177
|
"value": 0,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VRating.mjs","names":["VBtn","IconValue","makeDensityProps","makeSizeProps","makeTagProps","makeThemeProps","provideTheme","useLocale","useProxiedModel","computed","ref","clamp","createRange","genericComponent","getUid","useRender","VRating","name","props","String","itemAriaLabel","type","default","activeColor","color","clearable","Boolean","disabled","emptyIcon","fullIcon","halfIncrements","hover","length","Number","readonly","modelValue","itemLabels","Array","itemLabelPosition","validator","v","includes","ripple","emits","value","setup","_ref","slots","t","themeClasses","rating","normalizedValue","parseFloat","range","increments","flatMap","hoverIndex","itemState","map","isHovering","isFilled","isHovered","isFullIcon","icon","eventState","onMouseenter","onMouseleave","onClick","undefined","VRatingItem","_ref2","index","showStar","id","replace","btnProps","density","size","variant","_createVNode","_Fragment","item","createLabel","labelProps","label","_createTextVNode","hasLabels","tag","i"],"sources":["../../../src/components/VRating/VRating.tsx"],"sourcesContent":["// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { clamp, createRange, genericComponent, getUid, useRender } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { Variant } from '@/composables/variant'\n\ntype VRatingItemSlot = {\n value: number\n index: number\n isFilled: boolean\n isHovered: boolean\n icon: IconValue\n color?: string\n props: Record<string, unknown>\n rating: number\n}\n\ntype VRatingItemLabelSlot = {\n value: number\n index: number\n label?: string\n}\n\ntype VRatingSlots = {\n item: [VRatingItemSlot]\n 'item-label': [VRatingItemLabelSlot]\n}\n\nexport const VRating = genericComponent<VRatingSlots>()({\n name: 'VRating',\n\n props: {\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item',\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: IconValue,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: IconValue,\n default: '$ratingFull',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n itemLabels: Array as Prop<string[]>,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: (v: any) => ['top', 'bottom'].includes(v),\n },\n ripple: Boolean,\n\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number | string) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, +props.length))\n\n const range = computed(() => createRange(Number(props.length), 1))\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]))\n const hoverIndex = ref(-1)\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = normalizedValue.value >= value\n const isHovered = hoverIndex.value >= value\n const isFullIcon = isHovering ? isHovered : isFilled\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon\n const activeColor = props.activeColor ?? props.color\n const color = (isFilled || isHovered) ? activeColor : props.color\n\n return { isFilled, isHovered, icon, color }\n }))\n\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter () {\n hoverIndex.value = value\n }\n\n function onMouseleave () {\n hoverIndex.value = -1\n }\n\n function onClick () {\n if (props.disabled || props.readonly) return\n rating.value = normalizedValue.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onClick,\n }\n }))\n\n const name = computed(() => props.name ?? `v-rating-${getUid()}`)\n\n function VRatingItem ({ value, index, showStar = true }: { value: number, index: number, showStar?: boolean }) {\n const { onMouseenter, onMouseleave, onClick } = eventState.value[index + 1]\n const id = `${name.value}-${String(value).replace('.', '-')}`\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n variant: 'plain' as Variant,\n }\n\n return (\n <>\n <label\n for={ id }\n class={{\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0,\n }}\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n onClick={ onClick }\n >\n <span class=\"v-rating__hidden\">{ t(props.itemAriaLabel, value, props.length) }</span>\n {\n !showStar ? undefined\n : slots.item ? slots.item({\n ...itemState.value[index],\n props: btnProps,\n value,\n index,\n rating: normalizedValue.value,\n })\n : (\n <VBtn { ...btnProps } />\n )\n }\n </label>\n\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ normalizedValue.value === value }\n tabindex={ -1 }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n function createLabel (labelProps: { value: number, index: number, label?: string }) {\n if (slots['item-label']) return slots['item-label'](labelProps)\n\n if (labelProps.label) return <span>{ labelProps.label }</span>\n\n return <span> </span>\n }\n\n useRender(() => {\n const hasLabels = !!props.itemLabels?.length || slots['item-label']\n\n return (\n <props.tag\n class={[\n 'v-rating',\n {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly,\n },\n themeClasses.value,\n ]}\n >\n <VRatingItem value={ 0 } index={ -1 } showStar={ false } />\n\n { range.value.map((value, i) => (\n <div class=\"v-rating__wrapper\">\n {\n hasLabels && props.itemLabelPosition === 'top'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n <div class=\"v-rating__item\">\n { props.halfIncrements ? (\n <>\n <VRatingItem value={ value - 0.5 } index={ i * 2 } />\n <VRatingItem value={ value } index={ (i * 2) + 1 } />\n </>\n ) : (\n <VRatingItem value={ value } index={ i } />\n )}\n </div>\n {\n hasLabels && props.itemLabelPosition === 'bottom'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n </div>\n ))}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"VRating.mjs","names":["VBtn","IconValue","makeComponentProps","makeDensityProps","makeSizeProps","makeTagProps","makeThemeProps","provideTheme","useLocale","useProxiedModel","computed","ref","clamp","createRange","genericComponent","getUid","useRender","VRating","name","props","String","itemAriaLabel","type","default","activeColor","color","clearable","Boolean","disabled","emptyIcon","fullIcon","halfIncrements","hover","length","Number","readonly","modelValue","itemLabels","Array","itemLabelPosition","validator","v","includes","ripple","emits","value","setup","_ref","slots","t","themeClasses","rating","normalizedValue","parseFloat","range","increments","flatMap","hoverIndex","itemState","map","isHovering","isFilled","isHovered","isFullIcon","icon","eventState","onMouseenter","onMouseleave","onClick","undefined","VRatingItem","_ref2","index","showStar","id","replace","btnProps","density","size","variant","_createVNode","_Fragment","item","createLabel","labelProps","label","_createTextVNode","hasLabels","tag","class","style","i"],"sources":["../../../src/components/VRating/VRating.tsx"],"sourcesContent":["// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { clamp, createRange, genericComponent, getUid, useRender } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { Variant } from '@/composables/variant'\n\ntype VRatingItemSlot = {\n value: number\n index: number\n isFilled: boolean\n isHovered: boolean\n icon: IconValue\n color?: string\n props: Record<string, unknown>\n rating: number\n}\n\ntype VRatingItemLabelSlot = {\n value: number\n index: number\n label?: string\n}\n\ntype VRatingSlots = {\n item: [VRatingItemSlot]\n 'item-label': [VRatingItemLabelSlot]\n}\n\nexport const VRating = genericComponent<VRatingSlots>()({\n name: 'VRating',\n\n props: {\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item',\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: IconValue,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: IconValue,\n default: '$ratingFull',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n itemLabels: Array as Prop<string[]>,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: (v: any) => ['top', 'bottom'].includes(v),\n },\n ripple: Boolean,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number | string) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, +props.length))\n\n const range = computed(() => createRange(Number(props.length), 1))\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]))\n const hoverIndex = ref(-1)\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = normalizedValue.value >= value\n const isHovered = hoverIndex.value >= value\n const isFullIcon = isHovering ? isHovered : isFilled\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon\n const activeColor = props.activeColor ?? props.color\n const color = (isFilled || isHovered) ? activeColor : props.color\n\n return { isFilled, isHovered, icon, color }\n }))\n\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter () {\n hoverIndex.value = value\n }\n\n function onMouseleave () {\n hoverIndex.value = -1\n }\n\n function onClick () {\n if (props.disabled || props.readonly) return\n rating.value = normalizedValue.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onClick,\n }\n }))\n\n const name = computed(() => props.name ?? `v-rating-${getUid()}`)\n\n function VRatingItem ({ value, index, showStar = true }: { value: number, index: number, showStar?: boolean }) {\n const { onMouseenter, onMouseleave, onClick } = eventState.value[index + 1]\n const id = `${name.value}-${String(value).replace('.', '-')}`\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n variant: 'plain' as Variant,\n }\n\n return (\n <>\n <label\n for={ id }\n class={{\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0,\n }}\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n onClick={ onClick }\n >\n <span class=\"v-rating__hidden\">{ t(props.itemAriaLabel, value, props.length) }</span>\n {\n !showStar ? undefined\n : slots.item ? slots.item({\n ...itemState.value[index],\n props: btnProps,\n value,\n index,\n rating: normalizedValue.value,\n })\n : (\n <VBtn { ...btnProps } />\n )\n }\n </label>\n\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ normalizedValue.value === value }\n tabindex={ -1 }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n function createLabel (labelProps: { value: number, index: number, label?: string }) {\n if (slots['item-label']) return slots['item-label'](labelProps)\n\n if (labelProps.label) return <span>{ labelProps.label }</span>\n\n return <span> </span>\n }\n\n useRender(() => {\n const hasLabels = !!props.itemLabels?.length || slots['item-label']\n\n return (\n <props.tag\n class={[\n 'v-rating',\n {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly,\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n >\n <VRatingItem value={ 0 } index={ -1 } showStar={ false } />\n\n { range.value.map((value, i) => (\n <div class=\"v-rating__wrapper\">\n {\n hasLabels && props.itemLabelPosition === 'top'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n <div class=\"v-rating__item\">\n { props.halfIncrements ? (\n <>\n <VRatingItem value={ value - 0.5 } index={ i * 2 } />\n <VRatingItem value={ value } index={ (i * 2) + 1 } />\n </>\n ) : (\n <VRatingItem value={ value } index={ i } />\n )}\n </div>\n {\n hasLabels && props.itemLabelPosition === 'bottom'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n </div>\n ))}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n"],"mappings":"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"}
|
@@ -7,7 +7,7 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
|
|
7
7
|
|
8
8
|
type Density = null | 'default' | 'comfortable' | 'compact';
|
9
9
|
|
10
|
-
type IconValue = string | JSXComponent;
|
10
|
+
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
|
11
11
|
declare const IconValue: PropType<IconValue>;
|
12
12
|
|
13
13
|
type VRatingItemSlot = {
|
@@ -31,6 +31,7 @@ declare const VRating: {
|
|
31
31
|
$data: {};
|
32
32
|
$props: Partial<{
|
33
33
|
length: string | number;
|
34
|
+
style: vue.StyleValue;
|
34
35
|
disabled: boolean;
|
35
36
|
size: string | number;
|
36
37
|
readonly: boolean;
|
@@ -47,6 +48,7 @@ declare const VRating: {
|
|
47
48
|
itemLabelPosition: string;
|
48
49
|
}> & Omit<{
|
49
50
|
length: string | number;
|
51
|
+
style: vue.StyleValue;
|
50
52
|
disabled: boolean;
|
51
53
|
size: string | number;
|
52
54
|
readonly: boolean;
|
@@ -64,6 +66,7 @@ declare const VRating: {
|
|
64
66
|
} & {
|
65
67
|
name?: string | undefined;
|
66
68
|
color?: string | undefined;
|
69
|
+
class?: any;
|
67
70
|
theme?: string | undefined;
|
68
71
|
activeColor?: string | undefined;
|
69
72
|
itemLabels?: string[] | undefined;
|
@@ -72,10 +75,6 @@ declare const VRating: {
|
|
72
75
|
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
73
76
|
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
74
77
|
};
|
75
|
-
$slots?: {
|
76
|
-
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
77
|
-
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
78
|
-
} | undefined;
|
79
78
|
'v-slots'?: {
|
80
79
|
item?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
81
80
|
'item-label'?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
@@ -85,7 +84,7 @@ declare const VRating: {
|
|
85
84
|
"v-slot:item-label"?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
86
85
|
} & {
|
87
86
|
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
88
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "length" | "disabled" | "size" | "readonly" | "tag" | "density" | "modelValue" | "ripple" | "clearable" | "hover" | "halfIncrements" | "itemAriaLabel" | "emptyIcon" | "fullIcon" | "itemLabelPosition">;
|
87
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "length" | "style" | "disabled" | "size" | "readonly" | "tag" | "density" | "modelValue" | "ripple" | "clearable" | "hover" | "halfIncrements" | "itemAriaLabel" | "emptyIcon" | "fullIcon" | "itemLabelPosition">;
|
89
88
|
$attrs: {
|
90
89
|
[x: string]: unknown;
|
91
90
|
};
|
@@ -101,6 +100,7 @@ declare const VRating: {
|
|
101
100
|
$el: any;
|
102
101
|
$options: vue.ComponentOptionsBase<{
|
103
102
|
length: string | number;
|
103
|
+
style: vue.StyleValue;
|
104
104
|
disabled: boolean;
|
105
105
|
size: string | number;
|
106
106
|
readonly: boolean;
|
@@ -118,6 +118,7 @@ declare const VRating: {
|
|
118
118
|
} & {
|
119
119
|
name?: string | undefined;
|
120
120
|
color?: string | undefined;
|
121
|
+
class?: any;
|
121
122
|
theme?: string | undefined;
|
122
123
|
activeColor?: string | undefined;
|
123
124
|
itemLabels?: string[] | undefined;
|
@@ -126,10 +127,6 @@ declare const VRating: {
|
|
126
127
|
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
127
128
|
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
128
129
|
};
|
129
|
-
$slots?: {
|
130
|
-
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
131
|
-
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
132
|
-
} | undefined;
|
133
130
|
'v-slots'?: {
|
134
131
|
item?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
135
132
|
'item-label'?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
@@ -143,6 +140,7 @@ declare const VRating: {
|
|
143
140
|
'update:modelValue': (value: number | string) => boolean;
|
144
141
|
}, string, {
|
145
142
|
length: string | number;
|
143
|
+
style: vue.StyleValue;
|
146
144
|
disabled: boolean;
|
147
145
|
size: string | number;
|
148
146
|
readonly: boolean;
|
@@ -179,6 +177,7 @@ declare const VRating: {
|
|
179
177
|
$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;
|
180
178
|
} & {
|
181
179
|
length: string | number;
|
180
|
+
style: vue.StyleValue;
|
182
181
|
disabled: boolean;
|
183
182
|
size: string | number;
|
184
183
|
readonly: boolean;
|
@@ -196,6 +195,7 @@ declare const VRating: {
|
|
196
195
|
} & {
|
197
196
|
name?: string | undefined;
|
198
197
|
color?: string | undefined;
|
198
|
+
class?: any;
|
199
199
|
theme?: string | undefined;
|
200
200
|
activeColor?: string | undefined;
|
201
201
|
itemLabels?: string[] | undefined;
|
@@ -204,10 +204,6 @@ declare const VRating: {
|
|
204
204
|
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
205
205
|
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
206
206
|
};
|
207
|
-
$slots?: {
|
208
|
-
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
209
|
-
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
210
|
-
} | undefined;
|
211
207
|
'v-slots'?: {
|
212
208
|
item?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
213
209
|
'item-label'?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
@@ -223,6 +219,7 @@ declare const VRating: {
|
|
223
219
|
__isSuspense?: undefined;
|
224
220
|
} & vue.ComponentOptionsBase<{
|
225
221
|
length: string | number;
|
222
|
+
style: vue.StyleValue;
|
226
223
|
disabled: boolean;
|
227
224
|
size: string | number;
|
228
225
|
readonly: boolean;
|
@@ -240,6 +237,7 @@ declare const VRating: {
|
|
240
237
|
} & {
|
241
238
|
name?: string | undefined;
|
242
239
|
color?: string | undefined;
|
240
|
+
class?: any;
|
243
241
|
theme?: string | undefined;
|
244
242
|
activeColor?: string | undefined;
|
245
243
|
itemLabels?: string[] | undefined;
|
@@ -248,10 +246,6 @@ declare const VRating: {
|
|
248
246
|
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
249
247
|
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
250
248
|
};
|
251
|
-
$slots?: {
|
252
|
-
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
253
|
-
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
254
|
-
} | undefined;
|
255
249
|
'v-slots'?: {
|
256
250
|
item?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
|
257
251
|
'item-label'?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
|
@@ -265,6 +259,7 @@ declare const VRating: {
|
|
265
259
|
'update:modelValue': (value: number | string) => boolean;
|
266
260
|
}, string, {
|
267
261
|
length: string | number;
|
262
|
+
style: vue.StyleValue;
|
268
263
|
disabled: boolean;
|
269
264
|
size: string | number;
|
270
265
|
readonly: boolean;
|
@@ -294,6 +289,11 @@ declare const VRating: {
|
|
294
289
|
default: string;
|
295
290
|
validator: (v: any) => boolean;
|
296
291
|
};
|
292
|
+
class: vue.PropType<any>;
|
293
|
+
style: {
|
294
|
+
type: vue.PropType<vue.StyleValue>;
|
295
|
+
default: null;
|
296
|
+
};
|
297
297
|
name: StringConstructor;
|
298
298
|
itemAriaLabel: {
|
299
299
|
type: StringConstructor;
|
@@ -344,6 +344,11 @@ declare const VRating: {
|
|
344
344
|
default: string;
|
345
345
|
validator: (v: any) => boolean;
|
346
346
|
};
|
347
|
+
class: vue.PropType<any>;
|
348
|
+
style: {
|
349
|
+
type: vue.PropType<vue.StyleValue>;
|
350
|
+
default: null;
|
351
|
+
};
|
347
352
|
name: StringConstructor;
|
348
353
|
itemAriaLabel: {
|
349
354
|
type: StringConstructor;
|
@@ -1,23 +1,31 @@
|
|
1
1
|
.v-responsive {
|
2
|
-
display:
|
2
|
+
display: grid;
|
3
|
+
grid-template-rows: minmax(100%, 1fr);
|
4
|
+
grid-template-columns: 1fr;
|
3
5
|
flex: 1 0 auto;
|
4
6
|
max-height: 100%;
|
5
7
|
max-width: 100%;
|
6
8
|
overflow: hidden;
|
7
9
|
position: relative;
|
8
10
|
}
|
11
|
+
.v-responsive--inline {
|
12
|
+
display: inline-grid;
|
13
|
+
flex: 0 0 auto;
|
14
|
+
}
|
9
15
|
|
10
16
|
.v-responsive__content {
|
11
17
|
flex: 1 0 0px;
|
12
18
|
max-width: 100%;
|
13
19
|
}
|
14
20
|
|
15
|
-
.v-responsive__sizer ~ .v-responsive__content {
|
16
|
-
margin-inline-start: -100%;
|
17
|
-
}
|
18
|
-
|
19
21
|
.v-responsive__sizer {
|
20
22
|
flex: 1 0 0px;
|
21
23
|
transition: padding-bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
22
24
|
pointer-events: none;
|
25
|
+
}
|
26
|
+
|
27
|
+
.v-responsive__sizer,
|
28
|
+
.v-responsive__content {
|
29
|
+
grid-row-start: 1;
|
30
|
+
grid-column-start: 1;
|
23
31
|
}
|
@@ -3,9 +3,10 @@ import { createVNode as _createVNode } from "vue";
|
|
3
3
|
import "./VResponsive.css";
|
4
4
|
|
5
5
|
// Composables
|
6
|
+
import { makeComponentProps } from "../../composables/component.mjs";
|
6
7
|
import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs"; // Utilities
|
7
8
|
import { computed } from 'vue';
|
8
|
-
import { genericComponent, useRender } from "../../util/index.mjs";
|
9
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
|
9
10
|
export function useAspectStyles(props) {
|
10
11
|
return {
|
11
12
|
aspectStyles: computed(() => {
|
@@ -16,13 +17,16 @@ export function useAspectStyles(props) {
|
|
16
17
|
})
|
17
18
|
};
|
18
19
|
}
|
20
|
+
export const makeVResponsiveProps = propsFactory({
|
21
|
+
aspectRatio: [String, Number],
|
22
|
+
contentClass: String,
|
23
|
+
inline: Boolean,
|
24
|
+
...makeComponentProps(),
|
25
|
+
...makeDimensionProps()
|
26
|
+
}, 'v-responsive');
|
19
27
|
export const VResponsive = genericComponent()({
|
20
28
|
name: 'VResponsive',
|
21
|
-
props:
|
22
|
-
aspectRatio: [String, Number],
|
23
|
-
contentClass: String,
|
24
|
-
...makeDimensionProps()
|
25
|
-
},
|
29
|
+
props: makeVResponsiveProps(),
|
26
30
|
setup(props, _ref) {
|
27
31
|
let {
|
28
32
|
slots
|
@@ -34,8 +38,10 @@ export const VResponsive = genericComponent()({
|
|
34
38
|
dimensionStyles
|
35
39
|
} = useDimension(props);
|
36
40
|
useRender(() => _createVNode("div", {
|
37
|
-
"class":
|
38
|
-
|
41
|
+
"class": ['v-responsive', {
|
42
|
+
'v-responsive--inline': props.inline
|
43
|
+
}, props.class],
|
44
|
+
"style": [dimensionStyles.value, props.style]
|
39
45
|
}, [_createVNode("div", {
|
40
46
|
"class": "v-responsive__sizer",
|
41
47
|
"style": aspectStyles.value
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VResponsive.mjs","names":["makeDimensionProps","useDimension","computed","genericComponent","useRender","useAspectStyles","props","aspectStyles","ratio","Number","aspectRatio","paddingBottom","String","undefined","
|
1
|
+
{"version":3,"file":"VResponsive.mjs","names":["makeComponentProps","makeDimensionProps","useDimension","computed","genericComponent","propsFactory","useRender","useAspectStyles","props","aspectStyles","ratio","Number","aspectRatio","paddingBottom","String","undefined","makeVResponsiveProps","contentClass","inline","Boolean","VResponsive","name","setup","_ref","slots","dimensionStyles","_createVNode","class","value","style","additional","default"],"sources":["../../../src/components/VResponsive/VResponsive.tsx"],"sourcesContent":["// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VResponsiveSlots = {\n default: []\n additional: []\n}\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const makeVResponsiveProps = propsFactory({\n aspectRatio: [String, Number],\n contentClass: String,\n inline: Boolean,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'v-responsive')\n\nexport const VResponsive = genericComponent<VResponsiveSlots>()({\n name: 'VResponsive',\n\n props: makeVResponsiveProps(),\n\n setup (props, { slots }) {\n const { aspectStyles } = useAspectStyles(props)\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => (\n <div\n class={[\n 'v-responsive',\n { 'v-responsive--inline': props.inline },\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n\n { slots.additional?.() }\n\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VResponsive = InstanceType<typeof VResponsive>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY,4CAEzC;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAOlD,OAAO,SAASC,eAAeA,CAAEC,KAAwC,EAAE;EACzE,OAAO;IACLC,YAAY,EAAEN,QAAQ,CAAC,MAAM;MAC3B,MAAMO,KAAK,GAAGC,MAAM,CAACH,KAAK,CAACI,WAAW,CAAC;MAEvC,OAAOF,KAAK,GACR;QAAEG,aAAa,EAAEC,MAAM,CAAC,CAAC,GAAGJ,KAAK,GAAG,GAAG,CAAC,GAAG;MAAI,CAAC,GAChDK,SAAS;IACf,CAAC;EACH,CAAC;AACH;AAEA,OAAO,MAAMC,oBAAoB,GAAGX,YAAY,CAAC;EAC/CO,WAAW,EAAE,CAACE,MAAM,EAAEH,MAAM,CAAC;EAC7BM,YAAY,EAAEH,MAAM;EACpBI,MAAM,EAAEC,OAAO;EAEf,GAAGnB,kBAAkB,EAAE;EACvB,GAAGC,kBAAkB;AACvB,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMmB,WAAW,GAAGhB,gBAAgB,EAAoB,CAAC;EAC9DiB,IAAI,EAAE,aAAa;EAEnBb,KAAK,EAAEQ,oBAAoB,EAAE;EAE7BM,KAAKA,CAAEd,KAAK,EAAAe,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEd;IAAa,CAAC,GAAGF,eAAe,CAACC,KAAK,CAAC;IAC/C,MAAM;MAAEiB;IAAgB,CAAC,GAAGvB,YAAY,CAACM,KAAK,CAAC;IAE/CF,SAAS,CAAC,MAAAoB,YAAA;MAAA,SAEC,CACL,cAAc,EACd;QAAE,sBAAsB,EAAElB,KAAK,CAACU;MAAO,CAAC,EACxCV,KAAK,CAACmB,KAAK,CACZ;MAAA,SACM,CACLF,eAAe,CAACG,KAAK,EACrBpB,KAAK,CAACqB,KAAK;IACZ,IAAAH,YAAA;MAAA,SAEU,qBAAqB;MAAA,SAASjB,YAAY,CAACmB;IAAK,UAEzDJ,KAAK,CAACM,UAAU,IAAI,EAEpBN,KAAK,CAACO,OAAO,IAAAL,YAAA;MAAA,SACD,CAAC,uBAAuB,EAAElB,KAAK,CAACS,YAAY;IAAC,IAAIO,KAAK,CAACO,OAAO,EAAE,EAC7E,EAEJ,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|