vuetify 3.2.2 → 3.2.4
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 +549 -253
- package/dist/json/importMap.json +20 -20
- package/dist/json/tags.json +77 -2
- package/dist/json/web-types.json +1292 -566
- package/dist/vuetify-labs.css +113 -110
- package/dist/vuetify-labs.d.ts +2593 -11751
- package/dist/vuetify-labs.esm.js +2352 -2248
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +2352 -2248
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +38 -35
- package/dist/vuetify.d.ts +1264 -11210
- package/dist/vuetify.esm.js +1818 -1702
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +1818 -1702
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +652 -652
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +1 -3
- package/lib/blueprints/md1.d.ts +1 -3
- package/lib/blueprints/md2.d.ts +1 -3
- package/lib/blueprints/md3.d.ts +1 -3
- package/lib/components/VAlert/VAlert.mjs +48 -48
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +2 -2
- package/lib/components/VApp/VApp.mjs +9 -8
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +23 -22
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +9 -7
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +1 -2
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +4 -4
- package/lib/components/VAutocomplete/VAutocomplete.css +0 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs +33 -38
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +0 -5
- package/lib/components/VAutocomplete/index.d.ts +76 -1183
- package/lib/components/VBadge/VBadge.mjs +33 -32
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.mjs +21 -20
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs +7 -6
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/index.d.ts +2 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +35 -34
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +24 -23
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +6 -5
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +15 -14
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +1 -0
- package/lib/components/VBtnToggle/VBtnToggle.mjs +6 -5
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs +38 -37
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +12 -11
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +4 -4
- package/lib/components/VCarousel/VCarousel.mjs +28 -27
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +18 -16
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.ts +170 -20
- package/lib/components/VCheckbox/VCheckbox.mjs +6 -5
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +24 -12
- package/lib/components/VChip/VChip.css +7 -0
- package/lib/components/VChip/VChip.mjs +60 -57
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/VChip.sass +9 -0
- package/lib/components/VChip/index.d.ts +8 -8
- package/lib/components/VChipGroup/VChipGroup.mjs +19 -18
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs +44 -39
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +26 -25
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +17 -16
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +10 -9
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +12 -11
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.d.ts +4 -4
- package/lib/components/VColorPicker/util/index.mjs +2 -2
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +37 -41
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +76 -1180
- package/lib/components/VCounter/VCounter.mjs +16 -15
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.d.ts +25 -1774
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +9 -8
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.mjs +18 -17
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +130 -1120
- package/lib/components/VDivider/VDivider.mjs +11 -10
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +15 -15
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +6 -5
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +3 -5
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +15 -14
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.ts +15 -15
- package/lib/components/VField/VField.mjs +6 -2
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VFieldLabel.mjs +6 -5
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.mjs +35 -34
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +3 -3
- package/lib/components/VFooter/VFooter.mjs +21 -20
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs +6 -5
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +6 -6
- package/lib/components/VGrid/VCol.mjs +26 -25
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +16 -11
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +26 -25
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VHover/VHover.mjs +10 -9
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs +35 -34
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +12 -12
- package/lib/components/VItemGroup/VItemGroup.mjs +10 -9
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.mjs +8 -7
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.mjs +6 -5
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +15 -14
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLazy/VLazy.mjs +21 -20
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VList/VList.mjs +35 -34
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs +5 -4
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +2 -4
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +42 -41
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs +8 -7
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +8 -7
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +10 -9
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +38 -38
- package/lib/components/VList/list.mjs +4 -4
- package/lib/components/VList/list.mjs.map +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +12 -11
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VMain/VMain.mjs +9 -8
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +21 -20
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +43 -1033
- package/lib/components/VMessages/VMessages.mjs +18 -17
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.d.ts +25 -1774
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +50 -49
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.ts +3 -3
- package/lib/components/VNavigationDrawer/sticky.mjs +14 -7
- package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs +4 -4
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs +5 -3
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +84 -83
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +8 -8
- package/lib/components/VParallax/VParallax.mjs +9 -8
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs +25 -24
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +44 -42
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.ts +8 -8
- package/lib/components/VRadio/VRadio.mjs +8 -7
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.d.ts +18 -12
- package/lib/components/VRadioGroup/VRadioGroup.mjs +22 -21
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +16 -10
- package/lib/components/VRangeSlider/VRangeSlider.mjs +18 -13
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRating/VRating.mjs +49 -45
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +8 -8
- package/lib/components/VResponsive/VResponsive.mjs +8 -7
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +22 -21
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +73 -2515
- package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -3
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +45 -39
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +10 -10
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.ts +28 -28
- package/lib/components/VSheet/VSheet.mjs +1 -3
- 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 +1 -3
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +3 -3
- package/lib/components/VSlider/VSlider.mjs +18 -13
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +26 -25
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +13 -12
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs +3 -3
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs +20 -19
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.mjs +13 -12
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +18 -12
- package/lib/components/VSystemBar/VSystemBar.mjs +15 -14
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VTable/VTable.mjs +12 -11
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTabs/VTab.mjs +19 -19
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs +28 -27
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +12 -12
- package/lib/components/VTextField/index.d.ts +3 -3
- package/lib/components/VTextarea/VTextarea.mjs +31 -27
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +3 -3
- package/lib/components/VThemeProvider/VThemeProvider.mjs +8 -7
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.mjs +46 -41
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +14 -13
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +23 -22
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.mjs +8 -4
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs +8 -7
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +11 -11
- package/lib/components/VTooltip/VTooltip.mjs +20 -19
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VValidation/VValidation.mjs +1 -3
- package/lib/components/VValidation/VValidation.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +14 -13
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +6 -5
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.mjs +3 -3
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +18 -17
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.ts +9 -9
- package/lib/components/index.d.ts +1328 -11279
- package/lib/components/transitions/createTransition.mjs +16 -15
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs +5 -4
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/index.d.ts +143 -143
- package/lib/composables/display.mjs +3 -3
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/form.mjs +4 -4
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/forwardRefs.mjs.map +1 -1
- package/lib/composables/hydration.mjs +6 -6
- package/lib/composables/hydration.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs +2 -2
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/layout.mjs +3 -3
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/lazy.mjs +2 -2
- package/lib/composables/lazy.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +5 -4
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/scroll.mjs +6 -6
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/ssrBoot.mjs +2 -2
- package/lib/composables/ssrBoot.mjs.map +1 -1
- package/lib/composables/stack.mjs +5 -4
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/theme.mjs +3 -3
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/transition.mjs +5 -2
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +3 -3
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/directives/click-outside/index.mjs +1 -1
- package/lib/directives/click-outside/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +15 -10
- package/lib/labs/VDataTable/VDataTable.mjs +54 -59
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs +64 -63
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs +8 -7
- package/lib/labs/VDataTable/VDataTableGroupHeaderRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +16 -15
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +7 -6
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +20 -19
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +54 -64
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +70 -77
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/virtual.mjs +3 -3
- package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +991 -206
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +54 -48
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/labs/VInfiniteScroll/index.d.ts +16 -1
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +18 -17
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/labs/VSkeletonLoader/index.d.ts +9 -9
- package/lib/labs/components.d.ts +1011 -211
- package/lib/labs/date/date.mjs +7 -7
- package/lib/labs/date/date.mjs.map +1 -1
- package/lib/labs/date/index.d.ts +1 -3
- package/lib/locale/adapters/vuetify.mjs +8 -5
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -11,7 +11,7 @@ import { Ripple } from "../../directives/ripple/index.mjs"; // Composables
|
|
|
11
11
|
import { useDensity } from "../../composables/density.mjs";
|
|
12
12
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
13
13
|
import { useTextColor } from "../../composables/color.mjs"; // Utilities
|
|
14
|
-
import { computed, inject, nextTick, ref } from 'vue';
|
|
14
|
+
import { computed, inject, nextTick, ref, shallowRef } from 'vue';
|
|
15
15
|
import { filterInputAttrs, genericComponent, getUid, propsFactory, SUPPORTS_FOCUS_VISIBLE, useRender, wrapInArray } from "../../util/index.mjs"; // Types
|
|
16
16
|
export const makeSelectionControlProps = propsFactory({
|
|
17
17
|
label: String,
|
|
@@ -93,8 +93,8 @@ export const VSelectionControl = genericComponent()({
|
|
|
93
93
|
} = useSelectionControl(props);
|
|
94
94
|
const uid = getUid();
|
|
95
95
|
const id = computed(() => props.id || `input-${uid}`);
|
|
96
|
-
const isFocused =
|
|
97
|
-
const isFocusVisible =
|
|
96
|
+
const isFocused = shallowRef(false);
|
|
97
|
+
const isFocusVisible = shallowRef(false);
|
|
98
98
|
const input = ref();
|
|
99
99
|
group?.onForceUpdate(() => {
|
|
100
100
|
if (input.value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSelectionControl.mjs","names":["VIcon","VLabel","makeComponentProps","makeSelectionControlGroupProps","VSelectionControlGroupSymbol","Ripple","useDensity","useProxiedModel","useTextColor","computed","inject","nextTick","ref","filterInputAttrs","genericComponent","getUid","propsFactory","SUPPORTS_FOCUS_VISIBLE","useRender","wrapInArray","makeSelectionControlProps","label","String","trueValue","falseValue","value","useSelectionControl","props","group","undefined","densityClasses","modelValue","isMultiple","multiple","Array","isArray","model","get","val","some","v","valueComparator","set","readonly","currentValue","newVal","filter","item","textColorClasses","textColorStyles","error","disabled","color","icon","trueIcon","falseIcon","VSelectionControl","name","directives","inheritAttrs","emits","setup","_ref","attrs","slots","uid","id","isFocused","isFocusVisible","input","onForceUpdate","checked","onFocus","e","target","matches","onBlur","onInput","forceUpdate","for","rootAttrs","inputAttrs","_createVNode","_mergeProps","inline","class","style","default","_withDirectives","type","_resolveDirective","ripple"],"sources":["../../../src/components/VSelectionControl/VSelectionControl.tsx"],"sourcesContent":["// Styles\nimport './VSelectionControl.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VLabel } from '@/components/VLabel'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeSelectionControlGroupProps, VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { useDensity } from '@/composables/density'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject, nextTick, ref } from 'vue'\nimport {\n filterInputAttrs,\n genericComponent,\n getUid,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { CSSProperties, ExtractPropTypes, Ref, WritableComputedRef } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n textColorClasses: Ref<string[]>\n textColorStyles: Ref<CSSProperties>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport type VSelectionControlSlots = {\n default: []\n label: [{ label: string | undefined, props: Record<string, unknown> }]\n input: [SelectionControlSlot]\n}\n\nexport const makeSelectionControlProps = propsFactory({\n label: String,\n trueValue: null,\n falseValue: null,\n value: null,\n\n ...makeComponentProps(),\n ...makeSelectionControlGroupProps(),\n}, 'v-selection-control')\n\nexport function useSelectionControl (\n props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>> & {\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n }\n) {\n const group = inject(VSelectionControlGroupSymbol, undefined)\n const { densityClasses } = useDensity(props)\n const modelValue = useProxiedModel(props, 'modelValue')\n const trueValue = computed(() => (\n props.trueValue !== undefined ? props.trueValue\n : props.value !== undefined ? props.value\n : true\n ))\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false)\n const isMultiple = computed(() => (\n !!props.multiple ||\n (props.multiple == null && Array.isArray(modelValue.value))\n ))\n const model = computed({\n get () {\n const val = group ? group.modelValue.value : modelValue.value\n\n return isMultiple.value\n ? val.some((v: any) => props.valueComparator(v, trueValue.value))\n : props.valueComparator(val, trueValue.value)\n },\n set (val: boolean) {\n if (props.readonly) return\n\n const currentValue = val ? trueValue.value : falseValue.value\n\n let newVal = currentValue\n\n if (isMultiple.value) {\n newVal = val\n ? [...wrapInArray(modelValue.value), currentValue]\n : wrapInArray(modelValue.value).filter((item: any) => !props.valueComparator(item, trueValue.value))\n }\n\n if (group) {\n group.modelValue.value = newVal\n } else {\n modelValue.value = newVal\n }\n },\n })\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n model.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n const icon = computed(() => model.value ? props.trueIcon : props.falseIcon)\n\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n icon,\n }\n}\n\nexport const VSelectionControl = genericComponent<new <T>(props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n}) => GenericProps<typeof props, VSelectionControlSlots>>()({\n name: 'VSelectionControl',\n\n directives: { Ripple },\n\n inheritAttrs: false,\n\n props: makeSelectionControlProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const {\n group,\n densityClasses,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n trueValue,\n } = useSelectionControl(props)\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = ref(false)\n const isFocusVisible = ref(false)\n const input = ref<HTMLInputElement>()\n\n group?.onForceUpdate(() => {\n if (input.value) {\n input.value.checked = model.value\n }\n })\n\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n if (\n !SUPPORTS_FOCUS_VISIBLE ||\n (SUPPORTS_FOCUS_VISIBLE && (e.target as HTMLElement).matches(':focus-visible'))\n ) {\n isFocusVisible.value = true\n }\n }\n\n function onBlur () {\n isFocused.value = false\n isFocusVisible.value = false\n }\n\n function onInput (e: Event) {\n if (props.readonly && group) {\n nextTick(() => group.forceUpdate())\n }\n model.value = (e.target as HTMLInputElement).checked\n }\n\n useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n\n return (\n <div\n class={[\n 'v-selection-control',\n {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': props.inline,\n },\n densityClasses.value,\n props.class,\n ]}\n { ...rootAttrs }\n style={ props.style }\n >\n <div\n class={[\n 'v-selection-control__wrapper',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon key=\"icon\" icon={ icon.value } /> }\n\n <input\n ref={ input }\n checked={ model.value }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n onInput={ onInput }\n aria-disabled={ props.readonly }\n type={ props.type }\n value={ trueValue.value }\n name={ props.name }\n aria-checked={ props.type === 'checkbox' ? model.value : undefined }\n { ...inputAttrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n textColorStyles,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n } as SelectionControlSlot)}\n </div>\n </div>\n\n { label && (\n <VLabel for={ id.value } clickable>\n { label }\n </VLabel>\n )}\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,KAAK;AAAA,SACLC,MAAM;AAAA,SACNC,kBAAkB;AAAA,SAClBC,8BAA8B,EAAEC,4BAA4B,gEAErE;AAAA,SACSC,MAAM,6CAEf;AAAA,SACSC,UAAU;AAAA,SACVC,eAAe;AAAA,SACfC,YAAY,uCAErB;AACA,SAASC,QAAQ,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,GAAG,QAAQ,KAAK;AAAA,SAEnDC,gBAAgB,EAChBC,gBAAgB,EAChBC,MAAM,EACNC,YAAY,EACZC,sBAAsB,EACtBC,SAAS,EACTC,WAAW,gCAGb;AAqBA,OAAO,MAAMC,yBAAyB,GAAGJ,YAAY,CAAC;EACpDK,KAAK,EAAEC,MAAM;EACbC,SAAS,EAAE,IAAI;EACfC,UAAU,EAAE,IAAI;EAChBC,KAAK,EAAE,IAAI;EAEX,GAAGvB,kBAAkB,EAAE;EACvB,GAAGC,8BAA8B;AACnC,CAAC,EAAE,qBAAqB,CAAC;AAEzB,OAAO,SAASuB,mBAAmBA,CACjCC,KAEC,EACD;EACA,MAAMC,KAAK,GAAGlB,MAAM,CAACN,4BAA4B,EAAEyB,SAAS,CAAC;EAC7D,MAAM;IAAEC;EAAe,CAAC,GAAGxB,UAAU,CAACqB,KAAK,CAAC;EAC5C,MAAMI,UAAU,GAAGxB,eAAe,CAACoB,KAAK,EAAE,YAAY,CAAC;EACvD,MAAMJ,SAAS,GAAGd,QAAQ,CAAC,MACzBkB,KAAK,CAACJ,SAAS,KAAKM,SAAS,GAAGF,KAAK,CAACJ,SAAS,GAC7CI,KAAK,CAACF,KAAK,KAAKI,SAAS,GAAGF,KAAK,CAACF,KAAK,GACvC,IACH,CAAC;EACF,MAAMD,UAAU,GAAGf,QAAQ,CAAC,MAAMkB,KAAK,CAACH,UAAU,KAAKK,SAAS,GAAGF,KAAK,CAACH,UAAU,GAAG,KAAK,CAAC;EAC5F,MAAMQ,UAAU,GAAGvB,QAAQ,CAAC,MAC1B,CAAC,CAACkB,KAAK,CAACM,QAAQ,IACfN,KAAK,CAACM,QAAQ,IAAI,IAAI,IAAIC,KAAK,CAACC,OAAO,CAACJ,UAAU,CAACN,KAAK,CAC1D,CAAC;EACF,MAAMW,KAAK,GAAG3B,QAAQ,CAAC;IACrB4B,GAAGA,CAAA,EAAI;MACL,MAAMC,GAAG,GAAGV,KAAK,GAAGA,KAAK,CAACG,UAAU,CAACN,KAAK,GAAGM,UAAU,CAACN,KAAK;MAE7D,OAAOO,UAAU,CAACP,KAAK,GACnBa,GAAG,CAACC,IAAI,CAAEC,CAAM,IAAKb,KAAK,CAACc,eAAe,CAACD,CAAC,EAAEjB,SAAS,CAACE,KAAK,CAAC,CAAC,GAC/DE,KAAK,CAACc,eAAe,CAACH,GAAG,EAAEf,SAAS,CAACE,KAAK,CAAC;IACjD,CAAC;IACDiB,GAAGA,CAAEJ,GAAY,EAAE;MACjB,IAAIX,KAAK,CAACgB,QAAQ,EAAE;MAEpB,MAAMC,YAAY,GAAGN,GAAG,GAAGf,SAAS,CAACE,KAAK,GAAGD,UAAU,CAACC,KAAK;MAE7D,IAAIoB,MAAM,GAAGD,YAAY;MAEzB,IAAIZ,UAAU,CAACP,KAAK,EAAE;QACpBoB,MAAM,GAAGP,GAAG,GACR,CAAC,GAAGnB,WAAW,CAACY,UAAU,CAACN,KAAK,CAAC,EAAEmB,YAAY,CAAC,GAChDzB,WAAW,CAACY,UAAU,CAACN,KAAK,CAAC,CAACqB,MAAM,CAAEC,IAAS,IAAK,CAACpB,KAAK,CAACc,eAAe,CAACM,IAAI,EAAExB,SAAS,CAACE,KAAK,CAAC,CAAC;MACxG;MAEA,IAAIG,KAAK,EAAE;QACTA,KAAK,CAACG,UAAU,CAACN,KAAK,GAAGoB,MAAM;MACjC,CAAC,MAAM;QACLd,UAAU,CAACN,KAAK,GAAGoB,MAAM;MAC3B;IACF;EACF,CAAC,CAAC;EACF,MAAM;IAAEG,gBAAgB;IAAEC;EAAgB,CAAC,GAAGzC,YAAY,CAACC,QAAQ,CAAC,MAAM;IACxE,OACE2B,KAAK,CAACX,KAAK,IACX,CAACE,KAAK,CAACuB,KAAK,IACZ,CAACvB,KAAK,CAACwB,QAAQ,GACbxB,KAAK,CAACyB,KAAK,GAAGvB,SAAS;EAC7B,CAAC,CAAC,CAAC;EACH,MAAMwB,IAAI,GAAG5C,QAAQ,CAAC,MAAM2B,KAAK,CAACX,KAAK,GAAGE,KAAK,CAAC2B,QAAQ,GAAG3B,KAAK,CAAC4B,SAAS,CAAC;EAE3E,OAAO;IACL3B,KAAK;IACLE,cAAc;IACdP,SAAS;IACTC,UAAU;IACVY,KAAK;IACLY,gBAAgB;IAChBC,eAAe;IACfI;EACF,CAAC;AACH;AAEA,OAAO,MAAMG,iBAAiB,GAAG1C,gBAAgB,EAGU,CAAC;EAC1D2C,IAAI,EAAE,mBAAmB;EAEzBC,UAAU,EAAE;IAAErD;EAAO,CAAC;EAEtBsD,YAAY,EAAE,KAAK;EAEnBhC,KAAK,EAAEP,yBAAyB,EAAE;EAElCwC,KAAK,EAAE;IACL,mBAAmB,EAAGtB,GAAQ,IAAK;EACrC,CAAC;EAEDuB,KAAKA,CAAElC,KAAK,EAAAmC,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAM;MACJlC,KAAK;MACLE,cAAc;MACduB,IAAI;MACJjB,KAAK;MACLY,gBAAgB;MAChBC,eAAe;MACf1B;IACF,CAAC,GAAGG,mBAAmB,CAACC,KAAK,CAAC;IAC9B,MAAMsC,GAAG,GAAGlD,MAAM,EAAE;IACpB,MAAMmD,EAAE,GAAGzD,QAAQ,CAAC,MAAMkB,KAAK,CAACuC,EAAE,IAAK,SAAQD,GAAI,EAAC,CAAC;IACrD,MAAME,SAAS,GAAGvD,GAAG,CAAC,KAAK,CAAC;IAC5B,MAAMwD,cAAc,GAAGxD,GAAG,CAAC,KAAK,CAAC;IACjC,MAAMyD,KAAK,GAAGzD,GAAG,EAAoB;IAErCgB,KAAK,EAAE0C,aAAa,CAAC,MAAM;MACzB,IAAID,KAAK,CAAC5C,KAAK,EAAE;QACf4C,KAAK,CAAC5C,KAAK,CAAC8C,OAAO,GAAGnC,KAAK,CAACX,KAAK;MACnC;IACF,CAAC,CAAC;IAEF,SAAS+C,OAAOA,CAAEC,CAAa,EAAE;MAC/BN,SAAS,CAAC1C,KAAK,GAAG,IAAI;MACtB,IACE,CAACR,sBAAsB,IACtBA,sBAAsB,IAAKwD,CAAC,CAACC,MAAM,CAAiBC,OAAO,CAAC,gBAAgB,CAAE,EAC/E;QACAP,cAAc,CAAC3C,KAAK,GAAG,IAAI;MAC7B;IACF;IAEA,SAASmD,MAAMA,CAAA,EAAI;MACjBT,SAAS,CAAC1C,KAAK,GAAG,KAAK;MACvB2C,cAAc,CAAC3C,KAAK,GAAG,KAAK;IAC9B;IAEA,SAASoD,OAAOA,CAAEJ,CAAQ,EAAE;MAC1B,IAAI9C,KAAK,CAACgB,QAAQ,IAAIf,KAAK,EAAE;QAC3BjB,QAAQ,CAAC,MAAMiB,KAAK,CAACkD,WAAW,EAAE,CAAC;MACrC;MACA1C,KAAK,CAACX,KAAK,GAAIgD,CAAC,CAACC,MAAM,CAAsBH,OAAO;IACtD;IAEArD,SAAS,CAAC,MAAM;MACd,MAAMG,KAAK,GAAG2C,KAAK,CAAC3C,KAAK,GACrB2C,KAAK,CAAC3C,KAAK,CAAC;QACZA,KAAK,EAAEM,KAAK,CAACN,KAAK;QAClBM,KAAK,EAAE;UAAEoD,GAAG,EAAEb,EAAE,CAACzC;QAAM;MACzB,CAAC,CAAC,GACAE,KAAK,CAACN,KAAK;MACf,MAAM,CAAC2D,SAAS,EAAEC,UAAU,CAAC,GAAGpE,gBAAgB,CAACkD,KAAK,CAAC;MAEvD,OAAAmB,YAAA,QAAAC,WAAA;QAAA,SAEW,CACL,qBAAqB,EACrB;UACE,4BAA4B,EAAE/C,KAAK,CAACX,KAAK;UACzC,+BAA+B,EAAEE,KAAK,CAACwB,QAAQ;UAC/C,4BAA4B,EAAExB,KAAK,CAACuB,KAAK;UACzC,8BAA8B,EAAEiB,SAAS,CAAC1C,KAAK;UAC/C,oCAAoC,EAAE2C,cAAc,CAAC3C,KAAK;UAC1D,6BAA6B,EAAEE,KAAK,CAACyD;QACvC,CAAC,EACDtD,cAAc,CAACL,KAAK,EACpBE,KAAK,CAAC0D,KAAK;MACZ,GACIL,SAAS;QAAA,SACNrD,KAAK,CAAC2D;MAAK,KAAAJ,YAAA;QAAA,SAGV,CACL,8BAA8B,EAC9BlC,gBAAgB,CAACvB,KAAK,CACvB;QAAA,SACOwB,eAAe,CAACxB;MAAK,IAE3BuC,KAAK,CAACuB,OAAO,IAAI,EAAAC,eAAA,CAAAN,YAAA;QAAA,SAGV,CACL,4BAA4B;MAC7B,IAOC7B,IAAI,CAAC5B,KAAK,IAAAyD,YAAA,CAAAlF,KAAA;QAAA,OAAe,MAAM;QAAA,QAAQqD,IAAI,CAAC5B;MAAK,QAAK,EAAAyD,YAAA,UAAAC,WAAA;QAAA,OAGhDd,KAAK;QAAA,WACDjC,KAAK,CAACX,KAAK;QAAA,YACVE,KAAK,CAACwB,QAAQ;QAAA,MACpBe,EAAE,CAACzC,KAAK;QAAA,UACJmD,MAAM;QAAA,WACLJ,OAAO;QAAA,WACPK,OAAO;QAAA,iBACDlD,KAAK,CAACgB,QAAQ;QAAA,QACvBhB,KAAK,CAAC8D,IAAI;QAAA,SACTlE,SAAS,CAACE,KAAK;QAAA,QAChBE,KAAK,CAAC8B,IAAI;QAAA,gBACF9B,KAAK,CAAC8D,IAAI,KAAK,UAAU,GAAGrD,KAAK,CAACX,KAAK,GAAGI;MAAS,GAC7DoD,UAAU,UAGfjB,KAAK,CAACK,KAAK,GAAG;QACdjC,KAAK;QACLY,gBAAgB;QAChBC,eAAe;QACftB,KAAK,EAAE;UACL6C,OAAO;UACPI,MAAM;UACNV,EAAE,EAAEA,EAAE,CAACzC;QACT;MACF,CAAC,CAAyB,MAAAiE,iBAAA,YAjCf/D,KAAK,CAACgE,MAAM,IAAI,CACzB,CAAChE,KAAK,CAACwB,QAAQ,IAAI,CAACxB,KAAK,CAACgB,QAAQ,EAClC,IAAI,EACJ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,OAiCHtB,KAAK,IAAA6D,YAAA,CAAAjF,MAAA;QAAA,OACSiE,EAAE,CAACzC,KAAK;QAAA;MAAA;QAAA8D,OAAA,EAAAA,CAAA,MAClBlE,KAAK;MAAA,EAEV;IAGP,CAAC,CAAC;IAEF,OAAO;MACL8C,SAAS;MACTE;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"VSelectionControl.mjs","names":["VIcon","VLabel","makeComponentProps","makeSelectionControlGroupProps","VSelectionControlGroupSymbol","Ripple","useDensity","useProxiedModel","useTextColor","computed","inject","nextTick","ref","shallowRef","filterInputAttrs","genericComponent","getUid","propsFactory","SUPPORTS_FOCUS_VISIBLE","useRender","wrapInArray","makeSelectionControlProps","label","String","trueValue","falseValue","value","useSelectionControl","props","group","undefined","densityClasses","modelValue","isMultiple","multiple","Array","isArray","model","get","val","some","v","valueComparator","set","readonly","currentValue","newVal","filter","item","textColorClasses","textColorStyles","error","disabled","color","icon","trueIcon","falseIcon","VSelectionControl","name","directives","inheritAttrs","emits","setup","_ref","attrs","slots","uid","id","isFocused","isFocusVisible","input","onForceUpdate","checked","onFocus","e","target","matches","onBlur","onInput","forceUpdate","for","rootAttrs","inputAttrs","_createVNode","_mergeProps","inline","class","style","default","_withDirectives","type","_resolveDirective","ripple"],"sources":["../../../src/components/VSelectionControl/VSelectionControl.tsx"],"sourcesContent":["// Styles\nimport './VSelectionControl.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VLabel } from '@/components/VLabel'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeSelectionControlGroupProps, VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { useDensity } from '@/composables/density'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject, nextTick, ref, shallowRef } from 'vue'\nimport {\n filterInputAttrs,\n genericComponent,\n getUid,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { CSSProperties, ExtractPropTypes, Ref, WritableComputedRef } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n textColorClasses: Ref<string[]>\n textColorStyles: Ref<CSSProperties>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport type VSelectionControlSlots = {\n default: []\n label: [{ label: string | undefined, props: Record<string, unknown> }]\n input: [SelectionControlSlot]\n}\n\nexport const makeSelectionControlProps = propsFactory({\n label: String,\n trueValue: null,\n falseValue: null,\n value: null,\n\n ...makeComponentProps(),\n ...makeSelectionControlGroupProps(),\n}, 'v-selection-control')\n\nexport function useSelectionControl (\n props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>> & {\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n }\n) {\n const group = inject(VSelectionControlGroupSymbol, undefined)\n const { densityClasses } = useDensity(props)\n const modelValue = useProxiedModel(props, 'modelValue')\n const trueValue = computed(() => (\n props.trueValue !== undefined ? props.trueValue\n : props.value !== undefined ? props.value\n : true\n ))\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false)\n const isMultiple = computed(() => (\n !!props.multiple ||\n (props.multiple == null && Array.isArray(modelValue.value))\n ))\n const model = computed({\n get () {\n const val = group ? group.modelValue.value : modelValue.value\n\n return isMultiple.value\n ? val.some((v: any) => props.valueComparator(v, trueValue.value))\n : props.valueComparator(val, trueValue.value)\n },\n set (val: boolean) {\n if (props.readonly) return\n\n const currentValue = val ? trueValue.value : falseValue.value\n\n let newVal = currentValue\n\n if (isMultiple.value) {\n newVal = val\n ? [...wrapInArray(modelValue.value), currentValue]\n : wrapInArray(modelValue.value).filter((item: any) => !props.valueComparator(item, trueValue.value))\n }\n\n if (group) {\n group.modelValue.value = newVal\n } else {\n modelValue.value = newVal\n }\n },\n })\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n model.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n const icon = computed(() => model.value ? props.trueIcon : props.falseIcon)\n\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n icon,\n }\n}\n\nexport const VSelectionControl = genericComponent<new <T>(props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n}) => GenericProps<typeof props, VSelectionControlSlots>>()({\n name: 'VSelectionControl',\n\n directives: { Ripple },\n\n inheritAttrs: false,\n\n props: makeSelectionControlProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const {\n group,\n densityClasses,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n trueValue,\n } = useSelectionControl(props)\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = shallowRef(false)\n const isFocusVisible = shallowRef(false)\n const input = ref<HTMLInputElement>()\n\n group?.onForceUpdate(() => {\n if (input.value) {\n input.value.checked = model.value\n }\n })\n\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n if (\n !SUPPORTS_FOCUS_VISIBLE ||\n (SUPPORTS_FOCUS_VISIBLE && (e.target as HTMLElement).matches(':focus-visible'))\n ) {\n isFocusVisible.value = true\n }\n }\n\n function onBlur () {\n isFocused.value = false\n isFocusVisible.value = false\n }\n\n function onInput (e: Event) {\n if (props.readonly && group) {\n nextTick(() => group.forceUpdate())\n }\n model.value = (e.target as HTMLInputElement).checked\n }\n\n useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n\n return (\n <div\n class={[\n 'v-selection-control',\n {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': props.inline,\n },\n densityClasses.value,\n props.class,\n ]}\n { ...rootAttrs }\n style={ props.style }\n >\n <div\n class={[\n 'v-selection-control__wrapper',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon key=\"icon\" icon={ icon.value } /> }\n\n <input\n ref={ input }\n checked={ model.value }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n onInput={ onInput }\n aria-disabled={ props.readonly }\n type={ props.type }\n value={ trueValue.value }\n name={ props.name }\n aria-checked={ props.type === 'checkbox' ? model.value : undefined }\n { ...inputAttrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n textColorStyles,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n } as SelectionControlSlot)}\n </div>\n </div>\n\n { label && (\n <VLabel for={ id.value } clickable>\n { label }\n </VLabel>\n )}\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n"],"mappings":"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"}
|
|
@@ -65,14 +65,20 @@ declare const VSelectionControl: {
|
|
|
65
65
|
ripple: boolean;
|
|
66
66
|
valueComparator: typeof deepEqual;
|
|
67
67
|
}> & Omit<Readonly<ExtractPropTypes<Omit<{
|
|
68
|
+
theme: StringConstructor;
|
|
68
69
|
density: {
|
|
69
70
|
type: vue.PropType<Density>;
|
|
70
71
|
default: string;
|
|
71
72
|
validator: (v: any) => boolean;
|
|
72
73
|
};
|
|
73
|
-
|
|
74
|
+
class: vue.PropType<any>;
|
|
75
|
+
style: {
|
|
76
|
+
type: vue.PropType<vue.StyleValue>;
|
|
77
|
+
default: null;
|
|
78
|
+
};
|
|
74
79
|
color: StringConstructor;
|
|
75
80
|
disabled: BooleanConstructor;
|
|
81
|
+
defaultsTarget: StringConstructor;
|
|
76
82
|
error: BooleanConstructor;
|
|
77
83
|
id: StringConstructor;
|
|
78
84
|
inline: BooleanConstructor;
|
|
@@ -94,11 +100,6 @@ declare const VSelectionControl: {
|
|
|
94
100
|
type: vue.PropType<typeof deepEqual>;
|
|
95
101
|
default: typeof deepEqual;
|
|
96
102
|
};
|
|
97
|
-
class: vue.PropType<any>;
|
|
98
|
-
style: {
|
|
99
|
-
type: vue.PropType<vue.StyleValue>;
|
|
100
|
-
default: null;
|
|
101
|
-
};
|
|
102
103
|
label: StringConstructor;
|
|
103
104
|
trueValue: null;
|
|
104
105
|
falseValue: null;
|
|
@@ -118,14 +119,20 @@ declare const VSelectionControl: {
|
|
|
118
119
|
$emit: (event: string, ...args: any[]) => void;
|
|
119
120
|
$el: any;
|
|
120
121
|
$options: vue.ComponentOptionsBase<Readonly<ExtractPropTypes<Omit<{
|
|
122
|
+
theme: StringConstructor;
|
|
121
123
|
density: {
|
|
122
124
|
type: vue.PropType<Density>;
|
|
123
125
|
default: string;
|
|
124
126
|
validator: (v: any) => boolean;
|
|
125
127
|
};
|
|
126
|
-
|
|
128
|
+
class: vue.PropType<any>;
|
|
129
|
+
style: {
|
|
130
|
+
type: vue.PropType<vue.StyleValue>;
|
|
131
|
+
default: null;
|
|
132
|
+
};
|
|
127
133
|
color: StringConstructor;
|
|
128
134
|
disabled: BooleanConstructor;
|
|
135
|
+
defaultsTarget: StringConstructor;
|
|
129
136
|
error: BooleanConstructor;
|
|
130
137
|
id: StringConstructor;
|
|
131
138
|
inline: BooleanConstructor;
|
|
@@ -147,17 +154,12 @@ declare const VSelectionControl: {
|
|
|
147
154
|
type: vue.PropType<typeof deepEqual>;
|
|
148
155
|
default: typeof deepEqual;
|
|
149
156
|
};
|
|
150
|
-
class: vue.PropType<any>;
|
|
151
|
-
style: {
|
|
152
|
-
type: vue.PropType<vue.StyleValue>;
|
|
153
|
-
default: null;
|
|
154
|
-
};
|
|
155
157
|
label: StringConstructor;
|
|
156
158
|
trueValue: null;
|
|
157
159
|
falseValue: null;
|
|
158
160
|
value: null;
|
|
159
161
|
}, "$children" | "v-slot:default" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:label" | "v-slot:input">>>, {
|
|
160
|
-
isFocused:
|
|
162
|
+
isFocused: vue.ShallowRef<boolean>;
|
|
161
163
|
input: Ref<HTMLInputElement | undefined>;
|
|
162
164
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
|
163
165
|
'update:modelValue': (val: any) => boolean;
|
|
@@ -192,14 +194,20 @@ declare const VSelectionControl: {
|
|
|
192
194
|
$nextTick: typeof nextTick;
|
|
193
195
|
$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;
|
|
194
196
|
} & Readonly<ExtractPropTypes<Omit<{
|
|
197
|
+
theme: StringConstructor;
|
|
195
198
|
density: {
|
|
196
199
|
type: vue.PropType<Density>;
|
|
197
200
|
default: string;
|
|
198
201
|
validator: (v: any) => boolean;
|
|
199
202
|
};
|
|
200
|
-
|
|
203
|
+
class: vue.PropType<any>;
|
|
204
|
+
style: {
|
|
205
|
+
type: vue.PropType<vue.StyleValue>;
|
|
206
|
+
default: null;
|
|
207
|
+
};
|
|
201
208
|
color: StringConstructor;
|
|
202
209
|
disabled: BooleanConstructor;
|
|
210
|
+
defaultsTarget: StringConstructor;
|
|
203
211
|
error: BooleanConstructor;
|
|
204
212
|
id: StringConstructor;
|
|
205
213
|
inline: BooleanConstructor;
|
|
@@ -221,31 +229,32 @@ declare const VSelectionControl: {
|
|
|
221
229
|
type: vue.PropType<typeof deepEqual>;
|
|
222
230
|
default: typeof deepEqual;
|
|
223
231
|
};
|
|
224
|
-
class: vue.PropType<any>;
|
|
225
|
-
style: {
|
|
226
|
-
type: vue.PropType<vue.StyleValue>;
|
|
227
|
-
default: null;
|
|
228
|
-
};
|
|
229
232
|
label: StringConstructor;
|
|
230
233
|
trueValue: null;
|
|
231
234
|
falseValue: null;
|
|
232
235
|
value: null;
|
|
233
236
|
}, "$children" | "v-slot:default" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:label" | "v-slot:input">>> & vue.ShallowUnwrapRef<{
|
|
234
|
-
isFocused:
|
|
237
|
+
isFocused: vue.ShallowRef<boolean>;
|
|
235
238
|
input: Ref<HTMLInputElement | undefined>;
|
|
236
239
|
}> & {} & vue.ComponentCustomProperties & {};
|
|
237
240
|
__isFragment?: undefined;
|
|
238
241
|
__isTeleport?: undefined;
|
|
239
242
|
__isSuspense?: undefined;
|
|
240
243
|
} & vue.ComponentOptionsBase<Readonly<ExtractPropTypes<Omit<{
|
|
244
|
+
theme: StringConstructor;
|
|
241
245
|
density: {
|
|
242
246
|
type: vue.PropType<Density>;
|
|
243
247
|
default: string;
|
|
244
248
|
validator: (v: any) => boolean;
|
|
245
249
|
};
|
|
246
|
-
|
|
250
|
+
class: vue.PropType<any>;
|
|
251
|
+
style: {
|
|
252
|
+
type: vue.PropType<vue.StyleValue>;
|
|
253
|
+
default: null;
|
|
254
|
+
};
|
|
247
255
|
color: StringConstructor;
|
|
248
256
|
disabled: BooleanConstructor;
|
|
257
|
+
defaultsTarget: StringConstructor;
|
|
249
258
|
error: BooleanConstructor;
|
|
250
259
|
id: StringConstructor;
|
|
251
260
|
inline: BooleanConstructor;
|
|
@@ -267,17 +276,12 @@ declare const VSelectionControl: {
|
|
|
267
276
|
type: vue.PropType<typeof deepEqual>;
|
|
268
277
|
default: typeof deepEqual;
|
|
269
278
|
};
|
|
270
|
-
class: vue.PropType<any>;
|
|
271
|
-
style: {
|
|
272
|
-
type: vue.PropType<vue.StyleValue>;
|
|
273
|
-
default: null;
|
|
274
|
-
};
|
|
275
279
|
label: StringConstructor;
|
|
276
280
|
trueValue: null;
|
|
277
281
|
falseValue: null;
|
|
278
282
|
value: null;
|
|
279
283
|
}, "$children" | "v-slot:default" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:label" | "v-slot:input">>>, {
|
|
280
|
-
isFocused:
|
|
284
|
+
isFocused: vue.ShallowRef<boolean>;
|
|
281
285
|
input: Ref<HTMLInputElement | undefined>;
|
|
282
286
|
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
|
|
283
287
|
'update:modelValue': (val: any) => boolean;
|
|
@@ -298,14 +302,20 @@ declare const VSelectionControl: {
|
|
|
298
302
|
modelValue?: T_1 | undefined;
|
|
299
303
|
'onUpdate:modelValue'?: ((val: T_1) => any) | undefined;
|
|
300
304
|
}, VSelectionControlSlots>) & FilterPropsOptions<{
|
|
305
|
+
theme: StringConstructor;
|
|
301
306
|
density: {
|
|
302
307
|
type: vue.PropType<Density>;
|
|
303
308
|
default: string;
|
|
304
309
|
validator: (v: any) => boolean;
|
|
305
310
|
};
|
|
306
|
-
|
|
311
|
+
class: vue.PropType<any>;
|
|
312
|
+
style: {
|
|
313
|
+
type: vue.PropType<vue.StyleValue>;
|
|
314
|
+
default: null;
|
|
315
|
+
};
|
|
307
316
|
color: StringConstructor;
|
|
308
317
|
disabled: BooleanConstructor;
|
|
318
|
+
defaultsTarget: StringConstructor;
|
|
309
319
|
error: BooleanConstructor;
|
|
310
320
|
id: StringConstructor;
|
|
311
321
|
inline: BooleanConstructor;
|
|
@@ -327,24 +337,25 @@ declare const VSelectionControl: {
|
|
|
327
337
|
type: vue.PropType<typeof deepEqual>;
|
|
328
338
|
default: typeof deepEqual;
|
|
329
339
|
};
|
|
330
|
-
class: vue.PropType<any>;
|
|
331
|
-
style: {
|
|
332
|
-
type: vue.PropType<vue.StyleValue>;
|
|
333
|
-
default: null;
|
|
334
|
-
};
|
|
335
340
|
label: StringConstructor;
|
|
336
341
|
trueValue: null;
|
|
337
342
|
falseValue: null;
|
|
338
343
|
value: null;
|
|
339
344
|
}, ExtractPropTypes<{
|
|
345
|
+
theme: StringConstructor;
|
|
340
346
|
density: {
|
|
341
347
|
type: vue.PropType<Density>;
|
|
342
348
|
default: string;
|
|
343
349
|
validator: (v: any) => boolean;
|
|
344
350
|
};
|
|
345
|
-
|
|
351
|
+
class: vue.PropType<any>;
|
|
352
|
+
style: {
|
|
353
|
+
type: vue.PropType<vue.StyleValue>;
|
|
354
|
+
default: null;
|
|
355
|
+
};
|
|
346
356
|
color: StringConstructor;
|
|
347
357
|
disabled: BooleanConstructor;
|
|
358
|
+
defaultsTarget: StringConstructor;
|
|
348
359
|
error: BooleanConstructor;
|
|
349
360
|
id: StringConstructor;
|
|
350
361
|
inline: BooleanConstructor;
|
|
@@ -366,11 +377,6 @@ declare const VSelectionControl: {
|
|
|
366
377
|
type: vue.PropType<typeof deepEqual>;
|
|
367
378
|
default: typeof deepEqual;
|
|
368
379
|
};
|
|
369
|
-
class: vue.PropType<any>;
|
|
370
|
-
style: {
|
|
371
|
-
type: vue.PropType<vue.StyleValue>;
|
|
372
|
-
default: null;
|
|
373
|
-
};
|
|
374
380
|
label: StringConstructor;
|
|
375
381
|
trueValue: null;
|
|
376
382
|
falseValue: null;
|
|
@@ -15,6 +15,7 @@ export const VSelectionControlGroupSymbol = Symbol.for('vuetify:selection-contro
|
|
|
15
15
|
export const makeSelectionControlGroupProps = propsFactory({
|
|
16
16
|
color: String,
|
|
17
17
|
disabled: Boolean,
|
|
18
|
+
defaultsTarget: String,
|
|
18
19
|
error: Boolean,
|
|
19
20
|
id: String,
|
|
20
21
|
inline: Boolean,
|
|
@@ -36,19 +37,18 @@ export const makeSelectionControlGroupProps = propsFactory({
|
|
|
36
37
|
type: Function,
|
|
37
38
|
default: deepEqual
|
|
38
39
|
},
|
|
39
|
-
...
|
|
40
|
-
...makeDensityProps()
|
|
40
|
+
...makeComponentProps(),
|
|
41
|
+
...makeDensityProps(),
|
|
42
|
+
...makeThemeProps()
|
|
43
|
+
}, 'selection-control-group');
|
|
44
|
+
export const makeVSelectionControlGroupProps = propsFactory({
|
|
45
|
+
...makeSelectionControlGroupProps({
|
|
46
|
+
defaultsTarget: 'VSelectionControl'
|
|
47
|
+
})
|
|
41
48
|
}, 'v-selection-control-group');
|
|
42
49
|
export const VSelectionControlGroup = genericComponent()({
|
|
43
50
|
name: 'VSelectionControlGroup',
|
|
44
|
-
props:
|
|
45
|
-
defaultsTarget: {
|
|
46
|
-
type: String,
|
|
47
|
-
default: 'VSelectionControl'
|
|
48
|
-
},
|
|
49
|
-
...makeComponentProps(),
|
|
50
|
-
...makeSelectionControlGroupProps()
|
|
51
|
-
},
|
|
51
|
+
props: makeVSelectionControlGroupProps(),
|
|
52
52
|
emits: {
|
|
53
53
|
'update:modelValue': val => true
|
|
54
54
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSelectionControlGroup.mjs","names":["IconValue","makeComponentProps","makeDensityProps","makeThemeProps","provideDefaults","useProxiedModel","computed","onScopeDispose","provide","toRef","deepEqual","genericComponent","getUid","propsFactory","useRender","VSelectionControlGroupSymbol","Symbol","for","makeSelectionControlGroupProps","color","String","disabled","Boolean","error","id","inline","falseIcon","trueIcon","ripple","type","default","multiple","name","readonly","modelValue","valueComparator","Function","
|
|
1
|
+
{"version":3,"file":"VSelectionControlGroup.mjs","names":["IconValue","makeComponentProps","makeDensityProps","makeThemeProps","provideDefaults","useProxiedModel","computed","onScopeDispose","provide","toRef","deepEqual","genericComponent","getUid","propsFactory","useRender","VSelectionControlGroupSymbol","Symbol","for","makeSelectionControlGroupProps","color","String","disabled","Boolean","defaultsTarget","error","id","inline","falseIcon","trueIcon","ripple","type","default","multiple","name","readonly","modelValue","valueComparator","Function","makeVSelectionControlGroupProps","VSelectionControlGroup","props","emits","val","setup","_ref","slots","uid","value","updateHandlers","Set","forceUpdate","forEach","fn","onForceUpdate","cb","add","delete","density","Array","isArray","_createVNode","class","style","undefined"],"sources":["../../../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx"],"sourcesContent":["// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, onScopeDispose, provide, toRef } from 'vue'\nimport { deepEqual, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n modelValue: Ref<any>\n forceUpdate: () => void\n onForceUpdate: (fn: () => void) => void\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const makeSelectionControlGroupProps = propsFactory({\n color: String,\n disabled: Boolean,\n defaultsTarget: String,\n error: Boolean,\n id: String,\n inline: Boolean,\n falseIcon: IconValue,\n trueIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n name: String,\n readonly: Boolean,\n modelValue: null,\n type: String,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeThemeProps(),\n}, 'selection-control-group')\n\nexport const makeVSelectionControlGroupProps = propsFactory({\n ...makeSelectionControlGroupProps({\n defaultsTarget: 'VSelectionControl',\n }),\n}, 'v-selection-control-group')\n\nexport const VSelectionControlGroup = genericComponent()({\n name: 'VSelectionControlGroup',\n\n props: makeVSelectionControlGroupProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const modelValue = useProxiedModel(props, 'modelValue')\n const uid = getUid()\n const id = computed(() => props.id || `v-selection-control-group-${uid}`)\n const name = computed(() => props.name || id.value)\n\n const updateHandlers = new Set<() => void>()\n provide(VSelectionControlGroupSymbol, {\n modelValue,\n forceUpdate: () => {\n updateHandlers.forEach(fn => fn())\n },\n onForceUpdate: cb => {\n updateHandlers.add(cb)\n onScopeDispose(() => {\n updateHandlers.delete(cb)\n })\n },\n })\n\n provideDefaults({\n [props.defaultsTarget]: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n density: toRef(props, 'density'),\n error: toRef(props, 'error'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || (props.multiple == null && Array.isArray(modelValue.value))),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n type: toRef(props, 'type'),\n valueComparator: toRef(props, 'valueComparator'),\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-selection-control-group',\n { 'v-selection-control-group--inline': props.inline },\n props.class,\n ]}\n style={ props.style }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n"],"mappings":"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"}
|
|
@@ -25,8 +25,8 @@ declare const VSelectionControlGroup: {
|
|
|
25
25
|
readonly: boolean;
|
|
26
26
|
density: Density;
|
|
27
27
|
ripple: boolean;
|
|
28
|
-
valueComparator: typeof deepEqual;
|
|
29
28
|
defaultsTarget: string;
|
|
29
|
+
valueComparator: typeof deepEqual;
|
|
30
30
|
}> & Omit<{
|
|
31
31
|
inline: boolean;
|
|
32
32
|
error: boolean;
|
|
@@ -36,8 +36,8 @@ declare const VSelectionControlGroup: {
|
|
|
36
36
|
readonly: boolean;
|
|
37
37
|
density: Density;
|
|
38
38
|
ripple: boolean;
|
|
39
|
-
valueComparator: typeof deepEqual;
|
|
40
39
|
defaultsTarget: string;
|
|
40
|
+
valueComparator: typeof deepEqual;
|
|
41
41
|
} & {
|
|
42
42
|
type?: string | undefined;
|
|
43
43
|
id?: string | undefined;
|
|
@@ -59,7 +59,7 @@ declare const VSelectionControlGroup: {
|
|
|
59
59
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
60
60
|
} & {
|
|
61
61
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
|
62
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "inline" | "error" | "style" | "disabled" | "multiple" | "readonly" | "density" | "ripple" | "
|
|
62
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "inline" | "error" | "style" | "disabled" | "multiple" | "readonly" | "density" | "ripple" | "defaultsTarget" | "valueComparator">;
|
|
63
63
|
$attrs: {
|
|
64
64
|
[x: string]: unknown;
|
|
65
65
|
};
|
|
@@ -82,8 +82,8 @@ declare const VSelectionControlGroup: {
|
|
|
82
82
|
readonly: boolean;
|
|
83
83
|
density: Density;
|
|
84
84
|
ripple: boolean;
|
|
85
|
-
valueComparator: typeof deepEqual;
|
|
86
85
|
defaultsTarget: string;
|
|
86
|
+
valueComparator: typeof deepEqual;
|
|
87
87
|
} & {
|
|
88
88
|
type?: string | undefined;
|
|
89
89
|
id?: string | undefined;
|
|
@@ -116,8 +116,8 @@ declare const VSelectionControlGroup: {
|
|
|
116
116
|
readonly: boolean;
|
|
117
117
|
density: Density;
|
|
118
118
|
ripple: boolean;
|
|
119
|
-
valueComparator: typeof deepEqual;
|
|
120
119
|
defaultsTarget: string;
|
|
120
|
+
valueComparator: typeof deepEqual;
|
|
121
121
|
}, {}, string> & {
|
|
122
122
|
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
123
123
|
created?: ((() => void) | (() => void)[]) | undefined;
|
|
@@ -147,8 +147,8 @@ declare const VSelectionControlGroup: {
|
|
|
147
147
|
readonly: boolean;
|
|
148
148
|
density: Density;
|
|
149
149
|
ripple: boolean;
|
|
150
|
-
valueComparator: typeof deepEqual;
|
|
151
150
|
defaultsTarget: string;
|
|
151
|
+
valueComparator: typeof deepEqual;
|
|
152
152
|
} & {
|
|
153
153
|
type?: string | undefined;
|
|
154
154
|
id?: string | undefined;
|
|
@@ -183,8 +183,8 @@ declare const VSelectionControlGroup: {
|
|
|
183
183
|
readonly: boolean;
|
|
184
184
|
density: Density;
|
|
185
185
|
ripple: boolean;
|
|
186
|
-
valueComparator: typeof deepEqual;
|
|
187
186
|
defaultsTarget: string;
|
|
187
|
+
valueComparator: typeof deepEqual;
|
|
188
188
|
} & {
|
|
189
189
|
type?: string | undefined;
|
|
190
190
|
id?: string | undefined;
|
|
@@ -217,17 +217,26 @@ declare const VSelectionControlGroup: {
|
|
|
217
217
|
readonly: boolean;
|
|
218
218
|
density: Density;
|
|
219
219
|
ripple: boolean;
|
|
220
|
-
valueComparator: typeof deepEqual;
|
|
221
220
|
defaultsTarget: string;
|
|
221
|
+
valueComparator: typeof deepEqual;
|
|
222
222
|
}, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
|
223
|
+
theme: StringConstructor;
|
|
223
224
|
density: {
|
|
224
225
|
type: PropType<Density>;
|
|
225
226
|
default: string;
|
|
226
227
|
validator: (v: any) => boolean;
|
|
227
228
|
};
|
|
228
|
-
|
|
229
|
+
class: PropType<any>;
|
|
230
|
+
style: {
|
|
231
|
+
type: PropType<vue.StyleValue>;
|
|
232
|
+
default: null;
|
|
233
|
+
};
|
|
229
234
|
color: StringConstructor;
|
|
230
235
|
disabled: BooleanConstructor;
|
|
236
|
+
defaultsTarget: {
|
|
237
|
+
type: PropType<string>;
|
|
238
|
+
default: string;
|
|
239
|
+
};
|
|
231
240
|
error: BooleanConstructor;
|
|
232
241
|
id: StringConstructor;
|
|
233
242
|
inline: BooleanConstructor;
|
|
@@ -249,24 +258,24 @@ declare const VSelectionControlGroup: {
|
|
|
249
258
|
type: PropType<typeof deepEqual>;
|
|
250
259
|
default: typeof deepEqual;
|
|
251
260
|
};
|
|
252
|
-
class: PropType<any>;
|
|
253
|
-
style: {
|
|
254
|
-
type: PropType<vue.StyleValue>;
|
|
255
|
-
default: null;
|
|
256
|
-
};
|
|
257
|
-
defaultsTarget: {
|
|
258
|
-
type: StringConstructor;
|
|
259
|
-
default: string;
|
|
260
|
-
};
|
|
261
261
|
}, vue.ExtractPropTypes<{
|
|
262
|
+
theme: StringConstructor;
|
|
262
263
|
density: {
|
|
263
264
|
type: PropType<Density>;
|
|
264
265
|
default: string;
|
|
265
266
|
validator: (v: any) => boolean;
|
|
266
267
|
};
|
|
267
|
-
|
|
268
|
+
class: PropType<any>;
|
|
269
|
+
style: {
|
|
270
|
+
type: PropType<vue.StyleValue>;
|
|
271
|
+
default: null;
|
|
272
|
+
};
|
|
268
273
|
color: StringConstructor;
|
|
269
274
|
disabled: BooleanConstructor;
|
|
275
|
+
defaultsTarget: {
|
|
276
|
+
type: PropType<string>;
|
|
277
|
+
default: string;
|
|
278
|
+
};
|
|
270
279
|
error: BooleanConstructor;
|
|
271
280
|
id: StringConstructor;
|
|
272
281
|
inline: BooleanConstructor;
|
|
@@ -288,15 +297,6 @@ declare const VSelectionControlGroup: {
|
|
|
288
297
|
type: PropType<typeof deepEqual>;
|
|
289
298
|
default: typeof deepEqual;
|
|
290
299
|
};
|
|
291
|
-
class: PropType<any>;
|
|
292
|
-
style: {
|
|
293
|
-
type: PropType<vue.StyleValue>;
|
|
294
|
-
default: null;
|
|
295
|
-
};
|
|
296
|
-
defaultsTarget: {
|
|
297
|
-
type: StringConstructor;
|
|
298
|
-
default: string;
|
|
299
|
-
};
|
|
300
300
|
}>>;
|
|
301
301
|
type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>;
|
|
302
302
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSheet.mjs","names":["makeBorderProps","useBorder","makeComponentProps","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useBackgroundColor","genericComponent","propsFactory","useRender","toRef","makeVSheetProps","color","String","VSheet","name","props","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VSheet/VSheet.tsx"],"sourcesContent":["// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const makeVSheetProps = propsFactory({\n color: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'v-sheet')\n\nexport const VSheet = genericComponent()({\n name: 'VSheet',\n\n props:
|
|
1
|
+
{"version":3,"file":"VSheet.mjs","names":["makeBorderProps","useBorder","makeComponentProps","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useBackgroundColor","genericComponent","propsFactory","useRender","toRef","makeVSheetProps","color","String","VSheet","name","props","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VSheet/VSheet.tsx"],"sourcesContent":["// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const makeVSheetProps = propsFactory({\n color: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'v-sheet')\n\nexport const VSheet = genericComponent()({\n name: 'VSheet',\n\n props: makeVSheetProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-sheet',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VSheet = InstanceType<typeof VSheet>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,kBAAkB,uCAE3B;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAClD,SAASC,KAAK,QAAQ,KAAK;AAE3B,OAAO,MAAMC,eAAe,GAAGH,YAAY,CAAC;EAC1CI,KAAK,EAAEC,MAAM;EAEb,GAAGvB,eAAe,EAAE;EACpB,GAAGE,kBAAkB,EAAE;EACvB,GAAGC,kBAAkB,EAAE;EACvB,GAAGE,kBAAkB,EAAE;EACvB,GAAGE,iBAAiB,EAAE;EACtB,GAAGE,iBAAiB,EAAE;EACtB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,YAAY,EAAE;EACjB,GAAGC,cAAc;AACnB,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMU,MAAM,GAAGP,gBAAgB,EAAE,CAAC;EACvCQ,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEL,eAAe,EAAE;EAExBM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGf,YAAY,CAACW,KAAK,CAAC;IAC5C,MAAM;MAAEK,sBAAsB;MAAEC;IAAsB,CAAC,GAAGhB,kBAAkB,CAACI,KAAK,CAACM,KAAK,EAAE,OAAO,CAAC,CAAC;IACnG,MAAM;MAAEO;IAAc,CAAC,GAAGhC,SAAS,CAACyB,KAAK,CAAC;IAC1C,MAAM;MAAEQ;IAAgB,CAAC,GAAG9B,YAAY,CAACsB,KAAK,CAAC;IAC/C,MAAM;MAAES;IAAiB,CAAC,GAAG7B,YAAY,CAACoB,KAAK,CAAC;IAChD,MAAM;MAAEU;IAAe,CAAC,GAAG5B,WAAW,CAACkB,KAAK,CAAC;IAC7C,MAAM;MAAEW;IAAgB,CAAC,GAAG3B,WAAW,CAACgB,KAAK,CAAC;IAC9C,MAAM;MAAEY;IAAe,CAAC,GAAG1B,UAAU,CAACc,KAAK,CAAC;IAE5CP,SAAS,CAAC,MAAAoB,YAAA,CAAAb,KAAA,CAAAc,GAAA;MAAA,SAEC,CACL,SAAS,EACTV,YAAY,CAACW,KAAK,EAClBV,sBAAsB,CAACU,KAAK,EAC5BR,aAAa,CAACQ,KAAK,EACnBN,gBAAgB,CAACM,KAAK,EACtBJ,eAAe,CAACI,KAAK,EACrBH,cAAc,CAACG,KAAK,EACpBf,KAAK,CAACgB,KAAK,CACZ;MAAA,SACM,CACLV,qBAAqB,CAACS,KAAK,EAC3BP,eAAe,CAACO,KAAK,EACrBL,cAAc,CAACK,KAAK,EACpBf,KAAK,CAACiB,KAAK;IACZ,GACSd,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -12,7 +12,7 @@ import { makeTagProps } from "../../composables/tag.mjs";
|
|
|
12
12
|
import { useDisplay } from "../../composables/index.mjs";
|
|
13
13
|
import { useResizeObserver } from "../../composables/resizeObserver.mjs";
|
|
14
14
|
import { useRtl } from "../../composables/locale.mjs"; // Utilities
|
|
15
|
-
import { computed,
|
|
15
|
+
import { computed, shallowRef, watch } from 'vue';
|
|
16
16
|
import { clamp, focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from "../../util/index.mjs";
|
|
17
17
|
import { bias, calculateCenteredOffset, calculateUpdatedOffset } from "./helpers.mjs"; // Types
|
|
18
18
|
export const VSlideGroupSymbol = Symbol.for('vuetify:v-slide-group');
|
|
@@ -61,10 +61,10 @@ export const VSlideGroup = genericComponent()({
|
|
|
61
61
|
mobile
|
|
62
62
|
} = useDisplay();
|
|
63
63
|
const group = useGroup(props, props.symbol);
|
|
64
|
-
const isOverflowing =
|
|
65
|
-
const scrollOffset =
|
|
66
|
-
const containerSize =
|
|
67
|
-
const contentSize =
|
|
64
|
+
const isOverflowing = shallowRef(false);
|
|
65
|
+
const scrollOffset = shallowRef(0);
|
|
66
|
+
const containerSize = shallowRef(0);
|
|
67
|
+
const contentSize = shallowRef(0);
|
|
68
68
|
const isHorizontal = computed(() => props.direction === 'horizontal');
|
|
69
69
|
const {
|
|
70
70
|
resizeRef: containerRef,
|
|
@@ -120,7 +120,7 @@ export const VSlideGroup = genericComponent()({
|
|
|
120
120
|
});
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
|
-
const disableTransition =
|
|
123
|
+
const disableTransition = shallowRef(false);
|
|
124
124
|
let startTouch = 0;
|
|
125
125
|
let startOffset = 0;
|
|
126
126
|
function onTouchstart(e) {
|
|
@@ -149,7 +149,7 @@ export const VSlideGroup = genericComponent()({
|
|
|
149
149
|
if (!containerRef.value) return;
|
|
150
150
|
containerRef.value[isHorizontal.value ? 'scrollLeft' : 'scrollTop'] = 0;
|
|
151
151
|
}
|
|
152
|
-
const isFocused =
|
|
152
|
+
const isFocused = shallowRef(false);
|
|
153
153
|
function onFocusin(e) {
|
|
154
154
|
isFocused.value = true;
|
|
155
155
|
if (!isOverflowing.value || !contentRef.value) return;
|