vuetify 3.3.1 → 3.3.3
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/json/attributes.json +48 -52
- package/dist/json/tags.json +0 -1
- package/dist/json/web-types.json +630 -762
- package/dist/vuetify-labs.css +49 -36
- package/dist/vuetify-labs.d.ts +1844 -1613
- package/dist/vuetify-labs.esm.js +5486 -5305
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +5485 -5304
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +30 -8
- package/dist/vuetify.d.ts +1767 -1633
- package/dist/vuetify.esm.js +5134 -4883
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +5133 -4882
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1001 -988
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +33 -33
- package/lib/blueprints/md1.d.mts +33 -33
- package/lib/blueprints/md2.d.mts +33 -33
- package/lib/blueprints/md3.d.mts +33 -33
- package/lib/components/VAlert/VAlert.mjs +6 -6
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.mts +1 -1
- package/lib/components/VApp/VApp.mjs +4 -4
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +9 -6
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.mts +25 -9
- package/lib/components/VAutocomplete/VAutocomplete.mjs +27 -22
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +88 -88
- package/lib/components/VAvatar/VAvatar.mjs +4 -4
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.mjs +6 -6
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.mjs +7 -10
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +2 -2
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/VBannerText.mjs +1 -0
- package/lib/components/VBanner/VBannerText.mjs.map +1 -1
- package/lib/components/VBanner/index.d.mts +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +8 -8
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +6 -9
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +2 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.mjs +7 -7
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.mts +24 -8
- package/lib/components/VBtnGroup/VBtnGroup.mjs +4 -4
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs +8 -8
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +4 -4
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/VCardSubtitle.mjs +1 -0
- package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
- package/lib/components/VCard/VCardText.mjs +1 -0
- package/lib/components/VCard/VCardText.mjs.map +1 -1
- package/lib/components/VCard/VCardTitle.mjs +1 -0
- package/lib/components/VCard/VCardTitle.mjs.map +1 -1
- package/lib/components/VCard/index.d.mts +45 -29
- package/lib/components/VCarousel/VCarousel.mjs +4 -7
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.mjs +11 -4
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +4 -4
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.mts +57 -51
- package/lib/components/VChip/VChip.mjs +8 -8
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.mts +48 -32
- package/lib/components/VChipGroup/VChipGroup.mjs +4 -7
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VCode/index.mjs +3 -0
- package/lib/components/VCode/index.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs +10 -12
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +2 -5
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +3 -3
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +3 -3
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +29 -20
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +88 -88
- package/lib/components/VCounter/VCounter.mjs +2 -2
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -4
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.d.mts +7 -9
- package/lib/components/VDialog/VDialog.mjs +7 -7
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.mts +66 -66
- package/lib/components/VDivider/VDivider.mjs +3 -3
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +5 -5
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +6 -6
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +57 -25
- package/lib/components/VField/VField.css +1 -0
- package/lib/components/VField/VField.mjs +8 -8
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +1 -0
- package/lib/components/VField/VFieldLabel.mjs +1 -1
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.d.mts +5 -5
- package/lib/components/VFileInput/VFileInput.mjs +5 -5
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.mts +60 -60
- package/lib/components/VFooter/VFooter.mjs +4 -4
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs +3 -3
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VGrid/VCol.mjs +2 -2
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +3 -3
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +2 -2
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/VSpacer.mjs +1 -0
- package/lib/components/VGrid/VSpacer.mjs.map +1 -1
- package/lib/components/VHover/VHover.mjs +1 -1
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.mjs +6 -6
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs +5 -4
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VInput/InputIcon.mjs +3 -2
- package/lib/components/VInput/InputIcon.mjs.map +1 -1
- package/lib/components/VInput/VInput.mjs +8 -4
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.mts +10 -10
- package/lib/components/VItemGroup/VItem.mjs +2 -2
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.mjs +1 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VKbd/index.mjs +3 -0
- package/lib/components/VKbd/index.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.mjs +1 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.mjs +3 -3
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLazy/VLazy.mjs +3 -3
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VList/VList.css +1 -0
- package/lib/components/VList/VList.mjs +5 -4
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +1 -0
- package/lib/components/VList/VListChildren.mjs +3 -3
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +8 -8
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListImg.mjs +1 -0
- package/lib/components/VList/VListImg.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +18 -0
- package/lib/components/VList/VListItem.mjs +10 -10
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +12 -0
- package/lib/components/VList/VListItemAction.mjs +1 -1
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +1 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListItemSubtitle.mjs +1 -0
- package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
- package/lib/components/VList/VListItemTitle.mjs +1 -0
- package/lib/components/VList/VListItemTitle.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +3 -3
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +48 -32
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VMain/VMain.mjs +3 -3
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +35 -9
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +113 -113
- package/lib/components/VMenu/shared.mjs +2 -0
- package/lib/components/VMenu/shared.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.mjs +3 -3
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +17 -13
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +18 -18
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +21 -21
- package/lib/components/VOverlay/locationStrategies.mjs +5 -5
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +34 -44
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VOverlay/util/point.mjs +2 -0
- package/lib/components/VOverlay/util/point.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +9 -9
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.mjs +3 -6
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs +5 -5
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +6 -6
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VRadio/VRadio.mjs +3 -3
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.mts +4 -4
- package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -4
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.mts +32 -32
- package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -4
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.mts +8 -8
- package/lib/components/VRating/VRating.mjs +6 -9
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.css +1 -0
- package/lib/components/VResponsive/VResponsive.mjs +1 -1
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.sass +1 -0
- package/lib/components/VSelect/VSelect.mjs +24 -19
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +88 -88
- package/lib/components/VSelectionControl/VSelectionControl.mjs +7 -7
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.mts +2 -2
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +6 -6
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSheet/VSheet.mjs +4 -4
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +7 -7
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs +2 -2
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.mjs +6 -6
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +8 -8
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +3 -3
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.mts +8 -8
- package/lib/components/VSlider/slider.mjs +4 -7
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +7 -7
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.mts +77 -77
- package/lib/components/VStepper/index.mjs +3 -2
- package/lib/components/VStepper/index.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.mjs +6 -6
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.mts +41 -41
- package/lib/components/VSystemBar/VSystemBar.mjs +4 -4
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VTable/VTable.mjs +1 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTabs/VTab.mjs +3 -3
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.css +1 -0
- package/lib/components/VTabs/VTabs.mjs +7 -7
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.sass +1 -0
- package/lib/components/VTabs/index.d.mts +24 -8
- package/lib/components/VTabs/shared.mjs +2 -0
- package/lib/components/VTabs/shared.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.mjs +6 -6
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.mts +72 -72
- package/lib/components/VTextarea/VTextarea.css +7 -7
- package/lib/components/VTextarea/VTextarea.mjs +8 -11
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.sass +9 -9
- package/lib/components/VTextarea/index.d.mts +60 -60
- package/lib/components/VThemeProvider/VThemeProvider.mjs +1 -1
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.mjs +4 -4
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +5 -5
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +4 -7
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.mjs +8 -8
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +4 -4
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.mts +1 -1
- package/lib/components/VTooltip/VTooltip.mjs +6 -6
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.mts +113 -113
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +15 -93
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +9 -4
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +9 -9
- package/lib/components/VWindow/VWindow.mjs +6 -6
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +5 -5
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/index.d.mts +1970 -1838
- package/lib/components/transitions/createTransition.mjs +5 -8
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs +1 -3
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/index.d.mts +117 -117
- package/lib/composables/defaults.mjs +5 -0
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/display.mjs +1 -1
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/filter.mjs +2 -4
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/focus.mjs +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/forwardRefs.mjs +2 -0
- package/lib/composables/forwardRefs.mjs.map +1 -1
- package/lib/composables/hydration.mjs +1 -1
- package/lib/composables/hydration.mjs.map +1 -1
- package/lib/composables/icons.mjs +7 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/lazy.mjs +1 -3
- package/lib/composables/lazy.mjs.map +1 -1
- package/lib/composables/locale.mjs +2 -1
- package/lib/composables/locale.mjs.map +1 -1
- package/lib/composables/mutationObserver.mjs +2 -5
- package/lib/composables/mutationObserver.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +2 -2
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +1 -0
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs +3 -3
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/refs.mjs +4 -1
- package/lib/composables/refs.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs +4 -4
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/composables/router.mjs +1 -4
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/scopeId.mjs +1 -0
- package/lib/composables/scopeId.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +4 -0
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/composables/touch.mjs +1 -0
- package/lib/composables/touch.mjs.map +1 -1
- package/lib/composables/validation.mjs +2 -2
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/virtual.mjs +108 -0
- package/lib/composables/virtual.mjs.map +1 -0
- package/lib/directives/click-outside/index.mjs +2 -1
- package/lib/directives/click-outside/index.mjs.map +1 -1
- package/lib/directives/intersect/index.mjs +1 -1
- package/lib/directives/intersect/index.mjs.map +1 -1
- package/lib/directives/resize/index.mjs +2 -0
- package/lib/directives/resize/index.mjs.map +1 -1
- package/lib/directives/scroll/index.mjs +2 -0
- package/lib/directives/scroll/index.mjs.map +1 -1
- package/lib/directives/touch/index.mjs +1 -2
- package/lib/directives/touch/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +7 -2
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +4 -6
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa.mjs +1 -1
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.mjs +4 -3
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/iconsets/md.mjs +4 -3
- package/lib/iconsets/md.mjs.map +1 -1
- package/lib/iconsets/mdi-svg.mjs +36 -36
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/iconsets/mdi.mjs +4 -3
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.mts +35 -33
- package/lib/labs/VBottomSheet/VBottomSheet.mjs +1 -1
- package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/labs/VBottomSheet/index.d.mts +21 -21
- package/lib/labs/VDataIterator/VDataIterator.mjs +7 -7
- package/lib/labs/VDataIterator/VDataIterator.mjs.map +1 -1
- package/lib/labs/VDataIterator/composables/items.mjs +2 -2
- package/lib/labs/VDataIterator/composables/items.mjs.map +1 -1
- package/lib/labs/VDataIterator/index.d.mts +28 -27
- package/lib/labs/VDataTable/VDataTable.css +5 -14
- package/lib/labs/VDataTable/VDataTable.mjs +8 -8
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTable.sass +7 -15
- package/lib/labs/VDataTable/VDataTableColumn.mjs +2 -1
- package/lib/labs/VDataTable/VDataTableColumn.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -3
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +5 -5
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +8 -8
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +20 -16
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +7 -7
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +34 -22
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/expand.mjs +4 -4
- package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/group.mjs +1 -1
- package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/headers.mjs +2 -2
- package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/items.mjs +5 -8
- package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs +4 -3
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs +4 -9
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.mts +182 -83
- package/lib/labs/VDataTable/types.mjs.map +1 -1
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +4 -4
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/labs/components.d.mts +213 -114
- package/lib/labs/date/date.mjs.map +1 -1
- package/lib/labs/entry-bundler.mjs +3 -1
- package/lib/labs/entry-bundler.mjs.map +1 -1
- package/lib/locale/adapters/vue-i18n.d.mts +1 -1
- package/lib/locale/adapters/vue-i18n.mjs +5 -1
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/adapters/vuetify.mjs +1 -3
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/lib/util/anchor.mjs +1 -0
- package/lib/util/anchor.mjs.map +1 -1
- package/lib/util/animation.mjs +1 -0
- package/lib/util/animation.mjs.map +1 -1
- package/lib/util/bindProps.mjs +49 -0
- package/lib/util/bindProps.mjs.map +1 -0
- package/lib/util/color/APCA.mjs +1 -0
- package/lib/util/color/APCA.mjs.map +1 -1
- package/lib/util/color/transformCIELAB.mjs +2 -0
- package/lib/util/color/transformCIELAB.mjs.map +1 -1
- package/lib/util/color/transformSRGB.mjs +3 -1
- package/lib/util/color/transformSRGB.mjs.map +1 -1
- package/lib/util/colorUtils.mjs +2 -2
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs +1 -0
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +2 -1
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +5 -5
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/getCurrentInstance.mjs +1 -2
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/helpers.mjs +6 -3
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.mjs.map +1 -1
- package/lib/util/injectSelf.mjs +2 -1
- package/lib/util/injectSelf.mjs.map +1 -1
- package/lib/util/propsFactory.mjs +1 -0
- package/lib/util/propsFactory.mjs.map +1 -1
- package/package.json +4 -4
- package/lib/labs/VDataTable/composables/virtual.mjs +0 -77
- package/lib/labs/VDataTable/composables/virtual.mjs.map +0 -1
|
@@ -3,13 +3,13 @@ import { createVNode as _createVNode } from "vue";
|
|
|
3
3
|
import "./VProgressCircular.css";
|
|
4
4
|
|
|
5
5
|
// Composables
|
|
6
|
+
import { useTextColor } from "../../composables/color.mjs";
|
|
6
7
|
import { makeComponentProps } from "../../composables/component.mjs";
|
|
7
|
-
import { makeSizeProps, useSize } from "../../composables/size.mjs";
|
|
8
|
-
import { makeTagProps } from "../../composables/tag.mjs";
|
|
9
|
-
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
|
10
8
|
import { useIntersectionObserver } from "../../composables/intersectionObserver.mjs";
|
|
11
9
|
import { useResizeObserver } from "../../composables/resizeObserver.mjs";
|
|
12
|
-
import {
|
|
10
|
+
import { makeSizeProps, useSize } from "../../composables/size.mjs";
|
|
11
|
+
import { makeTagProps } from "../../composables/tag.mjs";
|
|
12
|
+
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
|
|
13
13
|
import { computed, ref, toRef, watchEffect } from 'vue';
|
|
14
14
|
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
15
15
|
export const makeVProgressCircularProps = propsFactory({
|
|
@@ -34,7 +34,7 @@ export const makeVProgressCircularProps = propsFactory({
|
|
|
34
34
|
tag: 'div'
|
|
35
35
|
}),
|
|
36
36
|
...makeThemeProps()
|
|
37
|
-
}, '
|
|
37
|
+
}, 'VProgressCircular');
|
|
38
38
|
export const VProgressCircular = genericComponent()({
|
|
39
39
|
name: 'VProgressCircular',
|
|
40
40
|
props: makeVProgressCircularProps(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VProgressCircular.mjs","names":["makeComponentProps","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useIntersectionObserver","useResizeObserver","useTextColor","computed","ref","toRef","watchEffect","convertToUnit","genericComponent","propsFactory","useRender","makeVProgressCircularProps","bgColor","String","color","indeterminate","Boolean","modelValue","type","Number","default","rotate","width","tag","VProgressCircular","name","props","setup","_ref","slots","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","Math","PI","root","themeClasses","sizeClasses","sizeStyles","textColorClasses","textColorStyles","underlayColorClasses","underlayColorStyles","intersectionRef","isIntersecting","resizeRef","contentRect","normalizedValue","max","min","parseFloat","size","value","diameter","strokeWidth","strokeDashOffset","_createVNode","class","style","undefined","transform"],"sources":["../../../src/components/VProgressCircular/VProgressCircular.tsx"],"sourcesContent":["// Styles\nimport './VProgressCircular.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watchEffect } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVProgressCircularProps = propsFactory({\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String] as PropType<boolean | 'disable-shrink'>,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n rotate: {\n type: [Number, String],\n default: 0,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'div' }),\n ...makeThemeProps(),\n}, 'v-progress-circular')\n\ntype VProgressCircularSlots = {\n default: { value: number }\n}\n\nexport const VProgressCircular = genericComponent<VProgressCircularSlots>()({\n name: 'VProgressCircular',\n\n props: makeVProgressCircularProps(),\n\n setup (props, { slots }) {\n const MAGIC_RADIUS_CONSTANT = 20\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT\n\n const root = ref<HTMLElement>()\n\n const { themeClasses } = provideTheme(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { textColorClasses: underlayColorClasses, textColorStyles: underlayColorStyles } = useTextColor(toRef(props, 'bgColor'))\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n const { resizeRef, contentRect } = useResizeObserver()\n\n const normalizedValue = computed(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))))\n const width = computed(() => Number(props.width))\n const size = computed(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value\n ? Number(props.size)\n : contentRect.value\n ? contentRect.value.width\n : Math.max(width.value, 32)\n })\n const diameter = computed(() => (MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value)) * 2)\n const strokeWidth = computed(() => width.value / size.value * diameter.value)\n const strokeDashOffset = computed(() => convertToUnit(((100 - normalizedValue.value) / 100) * CIRCUMFERENCE))\n\n watchEffect(() => {\n intersectionRef.value = root.value\n resizeRef.value = root.value\n })\n\n useRender(() => (\n <props.tag\n ref={ root }\n class={[\n 'v-progress-circular',\n {\n 'v-progress-circular--indeterminate': !!props.indeterminate,\n 'v-progress-circular--visible': isIntersecting.value,\n 'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink',\n },\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n props.class,\n ]}\n style={[\n sizeStyles.value,\n textColorStyles.value,\n props.style,\n ]}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n >\n <svg\n style={{\n transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`,\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={ `0 0 ${diameter.value} ${diameter.value}` }\n >\n <circle\n class={[\n 'v-progress-circular__underlay',\n underlayColorClasses.value,\n ]}\n style={ underlayColorStyles.value }\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ 0 }\n />\n\n <circle\n class=\"v-progress-circular__overlay\"\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ strokeDashOffset.value }\n />\n </svg>\n\n { slots.default && (\n <div class=\"v-progress-circular__content\">\n { slots.default({ value: normalizedValue.value }) }\n </div>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VProgressCircular = InstanceType<typeof VProgressCircular>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VProgressCircular.mjs","names":["useTextColor","makeComponentProps","useIntersectionObserver","useResizeObserver","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","computed","ref","toRef","watchEffect","convertToUnit","genericComponent","propsFactory","useRender","makeVProgressCircularProps","bgColor","String","color","indeterminate","Boolean","modelValue","type","Number","default","rotate","width","tag","VProgressCircular","name","props","setup","_ref","slots","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","Math","PI","root","themeClasses","sizeClasses","sizeStyles","textColorClasses","textColorStyles","underlayColorClasses","underlayColorStyles","intersectionRef","isIntersecting","resizeRef","contentRect","normalizedValue","max","min","parseFloat","size","value","diameter","strokeWidth","strokeDashOffset","_createVNode","class","style","undefined","transform"],"sources":["../../../src/components/VProgressCircular/VProgressCircular.tsx"],"sourcesContent":["// Styles\nimport './VProgressCircular.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, watchEffect } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVProgressCircularProps = propsFactory({\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String] as PropType<boolean | 'disable-shrink'>,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n rotate: {\n type: [Number, String],\n default: 0,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'div' }),\n ...makeThemeProps(),\n}, 'VProgressCircular')\n\ntype VProgressCircularSlots = {\n default: { value: number }\n}\n\nexport const VProgressCircular = genericComponent<VProgressCircularSlots>()({\n name: 'VProgressCircular',\n\n props: makeVProgressCircularProps(),\n\n setup (props, { slots }) {\n const MAGIC_RADIUS_CONSTANT = 20\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT\n\n const root = ref<HTMLElement>()\n\n const { themeClasses } = provideTheme(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { textColorClasses: underlayColorClasses, textColorStyles: underlayColorStyles } = useTextColor(toRef(props, 'bgColor'))\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n const { resizeRef, contentRect } = useResizeObserver()\n\n const normalizedValue = computed(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))))\n const width = computed(() => Number(props.width))\n const size = computed(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value\n ? Number(props.size)\n : contentRect.value\n ? contentRect.value.width\n : Math.max(width.value, 32)\n })\n const diameter = computed(() => (MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value)) * 2)\n const strokeWidth = computed(() => width.value / size.value * diameter.value)\n const strokeDashOffset = computed(() => convertToUnit(((100 - normalizedValue.value) / 100) * CIRCUMFERENCE))\n\n watchEffect(() => {\n intersectionRef.value = root.value\n resizeRef.value = root.value\n })\n\n useRender(() => (\n <props.tag\n ref={ root }\n class={[\n 'v-progress-circular',\n {\n 'v-progress-circular--indeterminate': !!props.indeterminate,\n 'v-progress-circular--visible': isIntersecting.value,\n 'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink',\n },\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n props.class,\n ]}\n style={[\n sizeStyles.value,\n textColorStyles.value,\n props.style,\n ]}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n >\n <svg\n style={{\n transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`,\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={ `0 0 ${diameter.value} ${diameter.value}` }\n >\n <circle\n class={[\n 'v-progress-circular__underlay',\n underlayColorClasses.value,\n ]}\n style={ underlayColorStyles.value }\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ 0 }\n />\n\n <circle\n class=\"v-progress-circular__overlay\"\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ strokeDashOffset.value }\n />\n </svg>\n\n { slots.default && (\n <div class=\"v-progress-circular__content\">\n { slots.default({ value: normalizedValue.value }) }\n </div>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VProgressCircular = InstanceType<typeof VProgressCircular>\n"],"mappings":"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"}
|
|
@@ -3,15 +3,15 @@ import { createVNode as _createVNode } from "vue";
|
|
|
3
3
|
import "./VProgressLinear.css";
|
|
4
4
|
|
|
5
5
|
// Composables
|
|
6
|
+
import { useBackgroundColor, useTextColor } from "../../composables/color.mjs";
|
|
6
7
|
import { makeComponentProps } from "../../composables/component.mjs";
|
|
8
|
+
import { useIntersectionObserver } from "../../composables/intersectionObserver.mjs";
|
|
9
|
+
import { useRtl } from "../../composables/locale.mjs";
|
|
7
10
|
import { makeLocationProps, useLocation } from "../../composables/location.mjs";
|
|
11
|
+
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
8
12
|
import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
|
|
9
13
|
import { makeTagProps } from "../../composables/tag.mjs";
|
|
10
|
-
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
|
11
|
-
import { useBackgroundColor, useTextColor } from "../../composables/color.mjs";
|
|
12
|
-
import { useIntersectionObserver } from "../../composables/intersectionObserver.mjs";
|
|
13
|
-
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
14
|
-
import { useRtl } from "../../composables/locale.mjs"; // Utilities
|
|
14
|
+
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
|
|
15
15
|
import { computed, Transition } from 'vue';
|
|
16
16
|
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs";
|
|
17
17
|
export const makeVProgressLinearProps = propsFactory({
|
|
@@ -52,7 +52,7 @@ export const makeVProgressLinearProps = propsFactory({
|
|
|
52
52
|
...makeRoundedProps(),
|
|
53
53
|
...makeTagProps(),
|
|
54
54
|
...makeThemeProps()
|
|
55
|
-
}, '
|
|
55
|
+
}, 'VProgressLinear');
|
|
56
56
|
export const VProgressLinear = genericComponent()({
|
|
57
57
|
name: 'VProgressLinear',
|
|
58
58
|
props: makeVProgressLinearProps(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VProgressLinear.mjs","names":["makeComponentProps","makeLocationProps","useLocation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useBackgroundColor","useTextColor","useIntersectionObserver","useProxiedModel","useRtl","computed","Transition","convertToUnit","genericComponent","propsFactory","useRender","makeVProgressLinearProps","absolute","Boolean","active","type","default","bgColor","String","bgOpacity","Number","bufferValue","clickable","color","height","indeterminate","max","modelValue","reverse","stream","striped","roundedBar","location","VProgressLinear","name","props","emits","value","setup","_ref","slots","progress","isRtl","rtlClasses","themeClasses","locationStyles","textColorClasses","textColorStyles","backgroundColorClasses","backgroundColorStyles","barColorClasses","barColorStyles","roundedClasses","intersectionRef","isIntersecting","parseInt","normalizedBuffer","parseFloat","normalizedValue","isReversed","transition","opacity","handleClick","e","left","right","width","getBoundingClientRect","clientX","Math","round","_createVNode","tag","rounded","class","bottom","undefined","top","style","borderTop","map","bar","buffer"],"sources":["../../../src/components/VProgressLinear/VProgressLinear.tsx"],"sourcesContent":["// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed, Transition } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype VProgressLinearSlots = {\n default: { value: number, buffer: number }\n}\n\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeComponentProps(),\n ...makeLocationProps({ location: 'top' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'v-progress-linear')\n\nexport const VProgressLinear = genericComponent<VProgressLinearSlots>()({\n name: 'VProgressLinear',\n\n props: makeVProgressLinearProps(),\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl, rtlClasses } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { locationStyles } = useLocation(props)\n const { textColorClasses, textColorStyles } = useTextColor(props, 'color')\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor || props.color))\n const { backgroundColorClasses: barColorClasses, backgroundColorStyles: barColorStyles } = useBackgroundColor(props, 'color')\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseInt(props.max, 10))\n const height = computed(() => parseInt(props.height, 10))\n const normalizedBuffer = computed(() => parseFloat(props.bufferValue) / max.value * 100)\n const normalizedValue = computed(() => parseFloat(progress.value) / max.value * 100)\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const opacity = computed(() => {\n return props.bgOpacity == null\n ? props.bgOpacity\n : parseFloat(props.bgOpacity)\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n useRender(() => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--absolute': props.absolute,\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n bottom: props.location === 'bottom' ? 0 : undefined,\n top: props.location === 'top' ? 0 : undefined,\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n ...locationStyles.value,\n },\n props.style,\n ]}\n role=\"progressbar\"\n aria-hidden={ props.active ? 'false' : 'true' }\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n key=\"stream\"\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: opacity.value,\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n )}\n\n <div\n class={[\n 'v-progress-linear__background',\n backgroundColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: opacity.value,\n width: convertToUnit((!props.stream ? 100 : normalizedBuffer.value), '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n barColorClasses.value,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(normalizedValue.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n {['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n barColorClasses.value,\n ]}\n style={ barColorStyles.value }\n />\n ))}\n </div>\n )}\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VProgressLinear = InstanceType<typeof VProgressLinear>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VProgressLinear.mjs","names":["useBackgroundColor","useTextColor","makeComponentProps","useIntersectionObserver","useRtl","makeLocationProps","useLocation","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","Transition","convertToUnit","genericComponent","propsFactory","useRender","makeVProgressLinearProps","absolute","Boolean","active","type","default","bgColor","String","bgOpacity","Number","bufferValue","clickable","color","height","indeterminate","max","modelValue","reverse","stream","striped","roundedBar","location","VProgressLinear","name","props","emits","value","setup","_ref","slots","progress","isRtl","rtlClasses","themeClasses","locationStyles","textColorClasses","textColorStyles","backgroundColorClasses","backgroundColorStyles","barColorClasses","barColorStyles","roundedClasses","intersectionRef","isIntersecting","parseInt","normalizedBuffer","parseFloat","normalizedValue","isReversed","transition","opacity","handleClick","e","left","right","width","getBoundingClientRect","clientX","Math","round","_createVNode","tag","rounded","class","bottom","undefined","top","style","borderTop","map","bar","buffer"],"sources":["../../../src/components/VProgressLinear/VProgressLinear.tsx"],"sourcesContent":["// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useRtl } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, Transition } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype VProgressLinearSlots = {\n default: { value: number, buffer: number }\n}\n\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeComponentProps(),\n ...makeLocationProps({ location: 'top' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VProgressLinear')\n\nexport const VProgressLinear = genericComponent<VProgressLinearSlots>()({\n name: 'VProgressLinear',\n\n props: makeVProgressLinearProps(),\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl, rtlClasses } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { locationStyles } = useLocation(props)\n const { textColorClasses, textColorStyles } = useTextColor(props, 'color')\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor || props.color))\n const { backgroundColorClasses: barColorClasses, backgroundColorStyles: barColorStyles } = useBackgroundColor(props, 'color')\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseInt(props.max, 10))\n const height = computed(() => parseInt(props.height, 10))\n const normalizedBuffer = computed(() => parseFloat(props.bufferValue) / max.value * 100)\n const normalizedValue = computed(() => parseFloat(progress.value) / max.value * 100)\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const opacity = computed(() => {\n return props.bgOpacity == null\n ? props.bgOpacity\n : parseFloat(props.bgOpacity)\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n useRender(() => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--absolute': props.absolute,\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n bottom: props.location === 'bottom' ? 0 : undefined,\n top: props.location === 'top' ? 0 : undefined,\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n ...locationStyles.value,\n },\n props.style,\n ]}\n role=\"progressbar\"\n aria-hidden={ props.active ? 'false' : 'true' }\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n key=\"stream\"\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: opacity.value,\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n )}\n\n <div\n class={[\n 'v-progress-linear__background',\n backgroundColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: opacity.value,\n width: convertToUnit((!props.stream ? 100 : normalizedBuffer.value), '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n barColorClasses.value,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(normalizedValue.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n {['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n barColorClasses.value,\n ]}\n style={ barColorStyles.value }\n />\n ))}\n </div>\n )}\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VProgressLinear = InstanceType<typeof VProgressLinear>\n"],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
|
|
2
2
|
// Components
|
|
3
|
-
import {
|
|
3
|
+
import { makeVSelectionControlProps, VSelectionControl } from "../VSelectionControl/VSelectionControl.mjs"; // Utilities
|
|
4
4
|
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
5
5
|
export const makeVRadioProps = propsFactory({
|
|
6
|
-
...
|
|
6
|
+
...makeVSelectionControlProps({
|
|
7
7
|
falseIcon: '$radioOff',
|
|
8
8
|
trueIcon: '$radioOn'
|
|
9
9
|
})
|
|
10
|
-
}, '
|
|
10
|
+
}, 'VRadio');
|
|
11
11
|
export const VRadio = genericComponent()({
|
|
12
12
|
name: 'VRadio',
|
|
13
13
|
props: makeVRadioProps(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VRadio.mjs","names":["
|
|
1
|
+
{"version":3,"file":"VRadio.mjs","names":["makeVSelectionControlProps","VSelectionControl","genericComponent","propsFactory","useRender","makeVRadioProps","falseIcon","trueIcon","VRadio","name","props","setup","_ref","slots","_createVNode","_mergeProps","class","style"],"sources":["../../../src/components/VRadio/VRadio.tsx"],"sourcesContent":["// Components\nimport { makeVSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\n\nexport const makeVRadioProps = propsFactory({\n ...makeVSelectionControlProps({\n falseIcon: '$radioOff',\n trueIcon: '$radioOn',\n }),\n}, 'VRadio')\n\nexport const VRadio = genericComponent<VSelectionControlSlots>()({\n name: 'VRadio',\n\n props: makeVRadioProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <VSelectionControl\n { ...props }\n class={[\n 'v-radio',\n props.class,\n ]}\n style={ props.style }\n type=\"radio\"\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VRadio = InstanceType<typeof VRadio>\n"],"mappings":";AAAA;AAAA,SACSA,0BAA0B,EAAEC,iBAAiB,sDAEtD;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAGA,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1C,GAAGH,0BAA0B,CAAC;IAC5BM,SAAS,EAAE,WAAW;IACtBC,QAAQ,EAAE;EACZ,CAAC;AACH,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMC,MAAM,GAAGN,gBAAgB,EAA0B,CAAC;EAC/DO,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEL,eAAe,EAAE;EAExBM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBR,SAAS,CAAC,MAAAU,YAAA,CAAAb,iBAAA,EAAAc,WAAA,CAEDL,KAAK;MAAA,SACH,CACL,SAAS,EACTA,KAAK,CAACM,KAAK,CACZ;MAAA,SACON,KAAK,CAACO,KAAK;MAAA,QACd;IAAO,IACFJ,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -107,14 +107,14 @@ declare const VRadio: {
|
|
|
107
107
|
[key: string]: any;
|
|
108
108
|
}>) => void)[] | undefined;
|
|
109
109
|
modelValue?: any;
|
|
110
|
-
"v-slot:label"?: false | ((arg: {
|
|
111
|
-
label: string | undefined;
|
|
112
|
-
props: Record<string, unknown>;
|
|
113
|
-
}) => vue.VNodeChild) | undefined;
|
|
114
110
|
defaultsTarget?: string | undefined;
|
|
115
111
|
trueValue?: any;
|
|
116
112
|
falseValue?: any;
|
|
117
113
|
"v-slot:input"?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
|
|
114
|
+
"v-slot:label"?: false | ((arg: {
|
|
115
|
+
label: string | undefined;
|
|
116
|
+
props: Record<string, unknown>;
|
|
117
|
+
}) => vue.VNodeChild) | undefined;
|
|
118
118
|
};
|
|
119
119
|
$attrs: {
|
|
120
120
|
[x: string]: unknown;
|
|
@@ -3,10 +3,10 @@ import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, creat
|
|
|
3
3
|
import "./VRadioGroup.css";
|
|
4
4
|
|
|
5
5
|
// Components
|
|
6
|
-
import { VSelectionControl } from "../VSelectionControl/index.mjs";
|
|
7
6
|
import { makeVInputProps, VInput } from "../VInput/VInput.mjs";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
7
|
+
import { VLabel } from "../VLabel/index.mjs";
|
|
8
|
+
import { VSelectionControl } from "../VSelectionControl/index.mjs";
|
|
9
|
+
import { makeSelectionControlGroupProps, VSelectionControlGroup } from "../VSelectionControlGroup/VSelectionControlGroup.mjs"; // Composables
|
|
10
10
|
import { IconValue } from "../../composables/icons.mjs";
|
|
11
11
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
|
|
12
12
|
import { computed } from 'vue';
|
|
@@ -30,7 +30,7 @@ export const makeVRadioGroupProps = propsFactory({
|
|
|
30
30
|
type: String,
|
|
31
31
|
default: 'radio'
|
|
32
32
|
}
|
|
33
|
-
}, '
|
|
33
|
+
}, 'VRadioGroup');
|
|
34
34
|
export const VRadioGroup = genericComponent()({
|
|
35
35
|
name: 'VRadioGroup',
|
|
36
36
|
inheritAttrs: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VRadioGroup.mjs","names":["
|
|
1
|
+
{"version":3,"file":"VRadioGroup.mjs","names":["makeVInputProps","VInput","VLabel","VSelectionControl","makeSelectionControlGroupProps","VSelectionControlGroup","IconValue","useProxiedModel","computed","filterInputAttrs","genericComponent","getUid","omit","propsFactory","useRender","makeVRadioGroupProps","height","type","Number","String","default","trueIcon","falseIcon","VRadioGroup","name","inheritAttrs","props","emits","val","setup","_ref","attrs","slots","uid","id","model","inputAttrs","controlAttrs","inputProps","_1","filterProps","controlProps","_2","label","for","value","_createVNode","_mergeProps","class","style","$event","_ref2","messagesId","isDisabled","isReadonly","_Fragment","undefined"],"sources":["../../../src/components/VRadioGroup/VRadioGroup.tsx"],"sourcesContent":["// Styles\nimport './VRadioGroup.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControl } from '@/components/VSelectionControl'\nimport { makeSelectionControlGroupProps, VSelectionControlGroup } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\n\nexport type VRadioGroupSlots = VInputSlots & VSelectionControlSlots\n\nexport const makeVRadioGroupProps = propsFactory({\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeVInputProps(),\n ...omit(makeSelectionControlGroupProps(), ['multiple']),\n\n trueIcon: {\n type: IconValue,\n default: '$radioOn',\n },\n falseIcon: {\n type: IconValue,\n default: '$radioOff',\n },\n type: {\n type: String,\n default: 'radio',\n },\n}, 'VRadioGroup')\n\nexport const VRadioGroup = genericComponent<VRadioGroupSlots>()({\n name: 'VRadioGroup',\n\n inheritAttrs: false,\n\n props: makeVRadioGroupProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `radio-group-${uid}`)\n const model = useProxiedModel(props, 'modelValue')\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = VInput.filterProps(props)\n const [controlProps, _2] = VSelectionControl.filterProps(props)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <VInput\n class={[\n 'v-radio-group',\n props.class,\n ]}\n style={ props.style }\n { ...inputAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n }) => (\n <>\n { label && (\n <VLabel id={ id.value }>\n { label }\n </VLabel>\n )}\n\n <VSelectionControlGroup\n { ...controlProps }\n id={ id.value }\n aria-describedby={ messagesId.value }\n defaultsTarget=\"VRadio\"\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type={ props.type }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n aria-labelledby={ label ? id.value : undefined }\n multiple={ false }\n { ...controlAttrs }\n v-model={ model.value }\n v-slots={ slots }\n />\n </>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VRadioGroup = InstanceType<typeof VRadioGroup>\n"],"mappings":"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"}
|
|
@@ -62,15 +62,15 @@ declare const VRadioGroup: {
|
|
|
62
62
|
messages?: string | readonly string[] | undefined;
|
|
63
63
|
density?: Density | undefined;
|
|
64
64
|
ripple?: boolean | undefined;
|
|
65
|
+
falseIcon?: IconValue | undefined;
|
|
66
|
+
trueIcon?: IconValue | undefined;
|
|
67
|
+
valueComparator?: typeof deepEqual | undefined;
|
|
65
68
|
focused?: boolean | undefined;
|
|
66
|
-
centerAffix?: boolean | undefined;
|
|
67
69
|
errorMessages?: string | readonly string[] | undefined;
|
|
68
70
|
maxErrors?: string | number | undefined;
|
|
69
71
|
rules?: readonly ValidationRule[] | undefined;
|
|
72
|
+
centerAffix?: boolean | undefined;
|
|
70
73
|
persistentHint?: boolean | undefined;
|
|
71
|
-
falseIcon?: IconValue | undefined;
|
|
72
|
-
trueIcon?: IconValue | undefined;
|
|
73
|
-
valueComparator?: typeof deepEqual | undefined;
|
|
74
74
|
key?: string | number | symbol | undefined;
|
|
75
75
|
id?: string | undefined;
|
|
76
76
|
name?: string | undefined;
|
|
@@ -150,21 +150,21 @@ declare const VRadioGroup: {
|
|
|
150
150
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
|
151
151
|
prependIcon?: IconValue | undefined;
|
|
152
152
|
appendIcon?: IconValue | undefined;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
|
|
153
|
+
defaultsTarget?: string | undefined;
|
|
154
|
+
"v-slot:input"?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
|
|
156
155
|
"v-slot:label"?: false | ((arg: {
|
|
157
156
|
label: string | undefined;
|
|
158
157
|
props: Record<string, unknown>;
|
|
159
158
|
}) => vue.VNodeChild) | undefined;
|
|
159
|
+
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
160
|
+
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
160
161
|
"v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
|
|
162
|
+
'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
|
|
161
163
|
validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
|
|
162
164
|
validationValue?: any;
|
|
163
165
|
hint?: string | undefined;
|
|
164
166
|
hideDetails?: boolean | "auto" | undefined;
|
|
165
167
|
"v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
|
|
166
|
-
defaultsTarget?: string | undefined;
|
|
167
|
-
"v-slot:input"?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
|
|
168
168
|
};
|
|
169
169
|
$attrs: {
|
|
170
170
|
[x: string]: unknown;
|
|
@@ -214,15 +214,15 @@ declare const VRadioGroup: {
|
|
|
214
214
|
messages: string | readonly string[];
|
|
215
215
|
density: Density;
|
|
216
216
|
ripple: boolean;
|
|
217
|
+
falseIcon: IconValue;
|
|
218
|
+
trueIcon: IconValue;
|
|
219
|
+
valueComparator: typeof deepEqual;
|
|
217
220
|
focused: boolean;
|
|
218
|
-
centerAffix: boolean;
|
|
219
221
|
errorMessages: string | readonly string[];
|
|
220
222
|
maxErrors: string | number;
|
|
221
223
|
rules: readonly ValidationRule[];
|
|
224
|
+
centerAffix: boolean;
|
|
222
225
|
persistentHint: boolean;
|
|
223
|
-
falseIcon: IconValue;
|
|
224
|
-
trueIcon: IconValue;
|
|
225
|
-
valueComparator: typeof deepEqual;
|
|
226
226
|
} & {
|
|
227
227
|
id?: string | undefined;
|
|
228
228
|
name?: string | undefined;
|
|
@@ -233,6 +233,7 @@ declare const VRadioGroup: {
|
|
|
233
233
|
modelValue?: any;
|
|
234
234
|
prependIcon?: IconValue | undefined;
|
|
235
235
|
appendIcon?: IconValue | undefined;
|
|
236
|
+
defaultsTarget?: string | undefined;
|
|
236
237
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
237
238
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
238
239
|
'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
|
|
@@ -240,7 +241,6 @@ declare const VRadioGroup: {
|
|
|
240
241
|
validationValue?: any;
|
|
241
242
|
hint?: string | undefined;
|
|
242
243
|
hideDetails?: boolean | "auto" | undefined;
|
|
243
|
-
defaultsTarget?: string | undefined;
|
|
244
244
|
} & {
|
|
245
245
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
246
246
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -293,15 +293,15 @@ declare const VRadioGroup: {
|
|
|
293
293
|
messages: string | readonly string[];
|
|
294
294
|
density: Density;
|
|
295
295
|
ripple: boolean;
|
|
296
|
+
falseIcon: IconValue;
|
|
297
|
+
trueIcon: IconValue;
|
|
298
|
+
valueComparator: typeof deepEqual;
|
|
296
299
|
focused: boolean;
|
|
297
|
-
centerAffix: boolean;
|
|
298
300
|
errorMessages: string | readonly string[];
|
|
299
301
|
maxErrors: string | number;
|
|
300
302
|
rules: readonly ValidationRule[];
|
|
303
|
+
centerAffix: boolean;
|
|
301
304
|
persistentHint: boolean;
|
|
302
|
-
falseIcon: IconValue;
|
|
303
|
-
trueIcon: IconValue;
|
|
304
|
-
valueComparator: typeof deepEqual;
|
|
305
305
|
}, {}, string, vue.SlotsType<Partial<{
|
|
306
306
|
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
307
307
|
[key: string]: any;
|
|
@@ -359,15 +359,15 @@ declare const VRadioGroup: {
|
|
|
359
359
|
messages: string | readonly string[];
|
|
360
360
|
density: Density;
|
|
361
361
|
ripple: boolean;
|
|
362
|
+
falseIcon: IconValue;
|
|
363
|
+
trueIcon: IconValue;
|
|
364
|
+
valueComparator: typeof deepEqual;
|
|
362
365
|
focused: boolean;
|
|
363
|
-
centerAffix: boolean;
|
|
364
366
|
errorMessages: string | readonly string[];
|
|
365
367
|
maxErrors: string | number;
|
|
366
368
|
rules: readonly ValidationRule[];
|
|
369
|
+
centerAffix: boolean;
|
|
367
370
|
persistentHint: boolean;
|
|
368
|
-
falseIcon: IconValue;
|
|
369
|
-
trueIcon: IconValue;
|
|
370
|
-
valueComparator: typeof deepEqual;
|
|
371
371
|
} & {
|
|
372
372
|
id?: string | undefined;
|
|
373
373
|
name?: string | undefined;
|
|
@@ -378,6 +378,7 @@ declare const VRadioGroup: {
|
|
|
378
378
|
modelValue?: any;
|
|
379
379
|
prependIcon?: IconValue | undefined;
|
|
380
380
|
appendIcon?: IconValue | undefined;
|
|
381
|
+
defaultsTarget?: string | undefined;
|
|
381
382
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
382
383
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
383
384
|
'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
|
|
@@ -385,7 +386,6 @@ declare const VRadioGroup: {
|
|
|
385
386
|
validationValue?: any;
|
|
386
387
|
hint?: string | undefined;
|
|
387
388
|
hideDetails?: boolean | "auto" | undefined;
|
|
388
|
-
defaultsTarget?: string | undefined;
|
|
389
389
|
} & {
|
|
390
390
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
391
391
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -440,15 +440,15 @@ declare const VRadioGroup: {
|
|
|
440
440
|
messages: string | readonly string[];
|
|
441
441
|
density: Density;
|
|
442
442
|
ripple: boolean;
|
|
443
|
+
falseIcon: IconValue;
|
|
444
|
+
trueIcon: IconValue;
|
|
445
|
+
valueComparator: typeof deepEqual;
|
|
443
446
|
focused: boolean;
|
|
444
|
-
centerAffix: boolean;
|
|
445
447
|
errorMessages: string | readonly string[];
|
|
446
448
|
maxErrors: string | number;
|
|
447
449
|
rules: readonly ValidationRule[];
|
|
450
|
+
centerAffix: boolean;
|
|
448
451
|
persistentHint: boolean;
|
|
449
|
-
falseIcon: IconValue;
|
|
450
|
-
trueIcon: IconValue;
|
|
451
|
-
valueComparator: typeof deepEqual;
|
|
452
452
|
} & {
|
|
453
453
|
id?: string | undefined;
|
|
454
454
|
name?: string | undefined;
|
|
@@ -459,6 +459,7 @@ declare const VRadioGroup: {
|
|
|
459
459
|
modelValue?: any;
|
|
460
460
|
prependIcon?: IconValue | undefined;
|
|
461
461
|
appendIcon?: IconValue | undefined;
|
|
462
|
+
defaultsTarget?: string | undefined;
|
|
462
463
|
'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
463
464
|
'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
|
|
464
465
|
'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
|
|
@@ -466,7 +467,6 @@ declare const VRadioGroup: {
|
|
|
466
467
|
validationValue?: any;
|
|
467
468
|
hint?: string | undefined;
|
|
468
469
|
hideDetails?: boolean | "auto" | undefined;
|
|
469
|
-
defaultsTarget?: string | undefined;
|
|
470
470
|
} & {
|
|
471
471
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
472
472
|
default?: (() => vue.VNodeChild) | undefined;
|
|
@@ -519,15 +519,15 @@ declare const VRadioGroup: {
|
|
|
519
519
|
messages: string | readonly string[];
|
|
520
520
|
density: Density;
|
|
521
521
|
ripple: boolean;
|
|
522
|
+
falseIcon: IconValue;
|
|
523
|
+
trueIcon: IconValue;
|
|
524
|
+
valueComparator: typeof deepEqual;
|
|
522
525
|
focused: boolean;
|
|
523
|
-
centerAffix: boolean;
|
|
524
526
|
errorMessages: string | readonly string[];
|
|
525
527
|
maxErrors: string | number;
|
|
526
528
|
rules: readonly ValidationRule[];
|
|
529
|
+
centerAffix: boolean;
|
|
527
530
|
persistentHint: boolean;
|
|
528
|
-
falseIcon: IconValue;
|
|
529
|
-
trueIcon: IconValue;
|
|
530
|
-
valueComparator: typeof deepEqual;
|
|
531
531
|
}, {}, string, vue.SlotsType<Partial<{
|
|
532
532
|
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
533
533
|
[key: string]: any;
|
|
@@ -4,13 +4,13 @@ import "../VSlider/VSlider.css";
|
|
|
4
4
|
|
|
5
5
|
// Components
|
|
6
6
|
import { makeVInputProps, VInput } from "../VInput/VInput.mjs";
|
|
7
|
-
import { getOffset, makeSliderProps, useSlider, useSteps } from "../VSlider/slider.mjs";
|
|
8
7
|
import { VLabel } from "../VLabel/index.mjs";
|
|
8
|
+
import { getOffset, makeSliderProps, useSlider, useSteps } from "../VSlider/slider.mjs";
|
|
9
9
|
import { VSliderThumb } from "../VSlider/VSliderThumb.mjs";
|
|
10
10
|
import { VSliderTrack } from "../VSlider/VSliderTrack.mjs"; // Composables
|
|
11
11
|
import { makeFocusProps, useFocus } from "../../composables/focus.mjs";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
12
|
+
import { useRtl } from "../../composables/locale.mjs";
|
|
13
|
+
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
|
|
14
14
|
import { computed, ref } from 'vue';
|
|
15
15
|
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
16
16
|
export const makeVRangeSliderProps = propsFactory({
|
|
@@ -22,7 +22,7 @@ export const makeVRangeSliderProps = propsFactory({
|
|
|
22
22
|
type: Array,
|
|
23
23
|
default: () => [0, 0]
|
|
24
24
|
}
|
|
25
|
-
}, '
|
|
25
|
+
}, 'VRangeSlider');
|
|
26
26
|
export const VRangeSlider = genericComponent()({
|
|
27
27
|
name: 'VRangeSlider',
|
|
28
28
|
props: makeVRangeSliderProps(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VRangeSlider.mjs","names":["makeVInputProps","VInput","getOffset","makeSliderProps","useSlider","useSteps","VLabel","VSliderThumb","VSliderTrack","makeFocusProps","useFocus","useProxiedModel","useRtl","computed","ref","genericComponent","propsFactory","useRender","makeVRangeSliderProps","strict","Boolean","modelValue","type","Array","default","VRangeSlider","name","props","emits","value","end","start","setup","_ref","slots","emit","startThumbRef","stopThumbRef","inputRef","rtlClasses","getActiveThumb","e","startOffset","$el","direction","stopOffset","a","Math","abs","b","steps","model","undefined","arr","length","map","roundValue","activeThumbRef","hasLabels","max","min","mousePressed","onSliderMousedown","onSliderTouchstart","position","trackContainerRef","onSliderStart","onSliderEnd","_ref2","newValue","onSliderMove","_ref3","stop","focus","isFocused","blur","trackStart","trackStop","inputProps","_","filterProps","hasPrepend","label","prepend","_createVNode","_mergeProps","disabled","class","style","slotProps","_Fragment","_ref4","id","messagesId","readonly","v","relatedTarget","onBlur"],"sources":["../../../src/components/VRangeSlider/VRangeSlider.tsx"],"sourcesContent":["// Styles\nimport '../VSlider/VSlider.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { getOffset, makeSliderProps, useSlider, useSteps } from '@/components/VSlider/slider'\nimport { VLabel } from '@/components/VLabel'\nimport { VSliderThumb } from '@/components/VSlider/VSliderThumb'\nimport { VSliderTrack } from '@/components/VSlider/VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport type { VSliderSlots } from '../VSlider/VSlider'\n\nexport const makeVRangeSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n strict: Boolean,\n modelValue: {\n type: Array as PropType<readonly number[]>,\n default: () => ([0, 0]),\n },\n}, 'v-range-slider')\n\nexport const VRangeSlider = genericComponent<VSliderSlots>()({\n name: 'VRangeSlider',\n\n props: makeVRangeSliderProps(),\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (value: [number, number]) => true,\n end: (value: [number, number]) => true,\n start: (value: [number, number]) => true,\n },\n\n setup (props, { slots, emit }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const inputRef = ref<VInput>()\n const { rtlClasses } = useRtl()\n\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value.$el : stopThumbRef.value.$el\n }\n\n const steps = useSteps(props)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n if (!arr?.length) return [0, 0]\n\n return arr.map(value => steps.roundValue(value))\n },\n ) as WritableComputedRef<[number, number]> & { readonly externalValue: number[] }\n\n const {\n activeThumbRef,\n hasLabels,\n max,\n min,\n mousePressed,\n onSliderMousedown,\n onSliderTouchstart,\n position,\n trackContainerRef,\n } = useSlider({\n props,\n steps,\n onSliderStart: () => {\n emit('start', model.value)\n },\n onSliderEnd: ({ value }) => {\n const newValue: [number, number] = activeThumbRef.value === startThumbRef.value?.$el\n ? [value, model.value[1]]\n : [model.value[0], value]\n\n model.value = newValue\n emit('end', newValue)\n },\n onSliderMove: ({ value }) => {\n const [start, stop] = model.value\n\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = value > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el\n activeThumbRef.value?.focus()\n }\n\n if (activeThumbRef.value === startThumbRef.value?.$el) {\n model.value = [Math.min(value, stop), stop]\n } else {\n model.value = [start, Math.max(start, value)]\n }\n },\n getActiveThumb,\n })\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n useRender(() => {\n const [inputProps, _] = VInput.filterProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? props.label\n ? (\n <VLabel\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n }\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ !!props.disabled }\n readonly={ !!props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ !!props.disabled }\n readonly={ !!props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === startThumbRef.value?.$el }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = startThumbRef.value?.$el\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.blur()\n stopThumbRef.value?.$el.focus()\n }\n }}\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n }}\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === stopThumbRef.value?.$el }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = stopThumbRef.value?.$el\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n stopThumbRef.value?.$el.blur()\n startThumbRef.value?.$el.focus()\n }\n }}\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n }}\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VRangeSlider.mjs","names":["makeVInputProps","VInput","VLabel","getOffset","makeSliderProps","useSlider","useSteps","VSliderThumb","VSliderTrack","makeFocusProps","useFocus","useRtl","useProxiedModel","computed","ref","genericComponent","propsFactory","useRender","makeVRangeSliderProps","strict","Boolean","modelValue","type","Array","default","VRangeSlider","name","props","emits","value","end","start","setup","_ref","slots","emit","startThumbRef","stopThumbRef","inputRef","rtlClasses","getActiveThumb","e","startOffset","$el","direction","stopOffset","a","Math","abs","b","steps","model","undefined","arr","length","map","roundValue","activeThumbRef","hasLabels","max","min","mousePressed","onSliderMousedown","onSliderTouchstart","position","trackContainerRef","onSliderStart","onSliderEnd","_ref2","newValue","onSliderMove","_ref3","stop","focus","isFocused","blur","trackStart","trackStop","inputProps","_","filterProps","hasPrepend","label","prepend","_createVNode","_mergeProps","disabled","class","style","slotProps","_Fragment","_ref4","id","messagesId","readonly","v","relatedTarget","onBlur"],"sources":["../../../src/components/VRangeSlider/VRangeSlider.tsx"],"sourcesContent":["// Styles\nimport '../VSlider/VSlider.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { getOffset, makeSliderProps, useSlider, useSteps } from '@/components/VSlider/slider'\nimport { VSliderThumb } from '@/components/VSlider/VSliderThumb'\nimport { VSliderTrack } from '@/components/VSlider/VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport type { VSliderSlots } from '../VSlider/VSlider'\n\nexport const makeVRangeSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n strict: Boolean,\n modelValue: {\n type: Array as PropType<readonly number[]>,\n default: () => ([0, 0]),\n },\n}, 'VRangeSlider')\n\nexport const VRangeSlider = genericComponent<VSliderSlots>()({\n name: 'VRangeSlider',\n\n props: makeVRangeSliderProps(),\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (value: [number, number]) => true,\n end: (value: [number, number]) => true,\n start: (value: [number, number]) => true,\n },\n\n setup (props, { slots, emit }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const inputRef = ref<VInput>()\n const { rtlClasses } = useRtl()\n\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value.$el : stopThumbRef.value.$el\n }\n\n const steps = useSteps(props)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n if (!arr?.length) return [0, 0]\n\n return arr.map(value => steps.roundValue(value))\n },\n ) as WritableComputedRef<[number, number]> & { readonly externalValue: number[] }\n\n const {\n activeThumbRef,\n hasLabels,\n max,\n min,\n mousePressed,\n onSliderMousedown,\n onSliderTouchstart,\n position,\n trackContainerRef,\n } = useSlider({\n props,\n steps,\n onSliderStart: () => {\n emit('start', model.value)\n },\n onSliderEnd: ({ value }) => {\n const newValue: [number, number] = activeThumbRef.value === startThumbRef.value?.$el\n ? [value, model.value[1]]\n : [model.value[0], value]\n\n model.value = newValue\n emit('end', newValue)\n },\n onSliderMove: ({ value }) => {\n const [start, stop] = model.value\n\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = value > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el\n activeThumbRef.value?.focus()\n }\n\n if (activeThumbRef.value === startThumbRef.value?.$el) {\n model.value = [Math.min(value, stop), stop]\n } else {\n model.value = [start, Math.max(start, value)]\n }\n },\n getActiveThumb,\n })\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n useRender(() => {\n const [inputProps, _] = VInput.filterProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? props.label\n ? (\n <VLabel\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n }\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ !!props.disabled }\n readonly={ !!props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ !!props.disabled }\n readonly={ !!props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === startThumbRef.value?.$el }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = startThumbRef.value?.$el\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.blur()\n stopThumbRef.value?.$el.focus()\n }\n }}\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n }}\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === stopThumbRef.value?.$el }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = stopThumbRef.value?.$el\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n stopThumbRef.value?.$el.blur()\n startThumbRef.value?.$el.focus()\n }\n }}\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n }}\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n"],"mappings":"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"}
|