@vuetify/nightly 3.0.0-beta.2 → 3.0.0-beta.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/CHANGELOG.md +2 -53
- package/dist/json/attributes.json +170 -242
- package/dist/json/tags.json +32 -50
- package/dist/json/web-types.json +596 -570
- package/dist/vuetify.css +338 -356
- package/dist/vuetify.d.ts +5952 -5468
- package/dist/vuetify.esm.js +2272 -2010
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +2271 -2009
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +912 -886
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.mjs +11 -6
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
- package/lib/components/VAlert/index.mjs.map +1 -1
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +4 -4
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +4 -2
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +3 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAppBar/index.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +31 -41
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.mjs +3 -2
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/index.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.css +3 -6
- package/lib/components/VBadge/VBadge.mjs +16 -44
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.sass +2 -4
- package/lib/components/VBadge/_variables.scss +1 -2
- package/lib/components/VBadge/index.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.mjs +10 -5
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/VBannerAvatar.mjs.map +1 -1
- package/lib/components/VBanner/VBannerIcon.mjs.map +1 -1
- package/lib/components/VBanner/VBannerText.mjs.map +1 -1
- package/lib/components/VBanner/index.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -1
- package/lib/components/VBottomNavigation/index.mjs.map +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/components/VBottomSheet/index.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +3 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/shared.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.css +18 -9
- package/lib/components/VBtn/VBtn.mjs +19 -10
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +5 -2
- package/lib/components/VBtn/_variables.scss +0 -1
- package/lib/components/VBtn/index.mjs.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.mjs.map +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
- package/lib/components/VCalendar/index.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
- package/lib/components/VCalendar/modes/column.mjs.map +1 -1
- package/lib/components/VCalendar/modes/common.mjs.map +1 -1
- package/lib/components/VCalendar/modes/index.mjs.map +1 -1
- package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
- package/lib/components/VCalendar/util/events.mjs.map +1 -1
- package/lib/components/VCalendar/util/parser.mjs.map +1 -1
- package/lib/components/VCalendar/util/props.mjs.map +1 -1
- package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
- package/lib/components/VCard/VCard.css +8 -7
- package/lib/components/VCard/VCard.mjs +11 -6
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardAvatar.mjs.map +1 -1
- package/lib/components/VCard/VCardContent.mjs.map +1 -1
- package/lib/components/VCard/VCardHeader.mjs.map +1 -1
- package/lib/components/VCard/VCardHeaderText.mjs.map +1 -1
- package/lib/components/VCard/VCardImg.mjs.map +1 -1
- package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
- package/lib/components/VCard/VCardText.mjs.map +1 -1
- package/lib/components/VCard/VCardTitle.mjs.map +1 -1
- package/lib/components/VCard/index.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.mjs +3 -2
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.mjs +5 -4
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.mjs.map +1 -1
- package/lib/components/VChip/VChip.mjs +5 -4
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.mjs.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.mjs.map +1 -1
- package/lib/components/VCode/index.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/index.mjs.map +1 -1
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +46 -52
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.mjs.map +1 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/index.mjs.map +1 -1
- package/lib/components/VData/VData.mjs.map +1 -1
- package/lib/components/VData/index.mjs.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
- package/lib/components/VDataIterator/index.mjs.map +1 -1
- package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
- package/lib/components/VDataTable/Row.mjs.map +1 -1
- package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
- package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
- package/lib/components/VDataTable/index.mjs.map +1 -1
- package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/components/VDatePicker/index.mjs.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
- package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
- package/lib/components/VDatePicker/util/index.mjs.map +1 -1
- package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
- package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
- package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
- package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.css +0 -1
- package/lib/components/VDialog/VDialog.mjs +8 -3
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +0 -1
- package/lib/components/VDialog/_variables.scss +0 -1
- package/lib/components/VDialog/index.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/index.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +8 -7
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +4 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.mjs.map +1 -1
- package/lib/components/VField/VField.mjs +7 -5
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/index.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.mjs +3 -2
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.mjs.map +1 -1
- package/lib/components/VFooter/VFooter.mjs +1 -1
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.mjs.map +1 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/VSpacer.mjs.map +1 -1
- package/lib/components/VGrid/index.mjs.map +1 -1
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VHover/index.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.mjs +2 -4
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/index.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.mjs.map +1 -1
- package/lib/components/VInput/VInput.mjs +4 -3
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.mjs.map +1 -1
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.mjs.map +1 -1
- package/lib/components/VKbd/index.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/index.mjs.map +1 -1
- 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/VLayout/index.mjs.map +1 -1
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.mjs.map +1 -1
- package/lib/components/VList/VList.css +0 -6
- package/lib/components/VList/VList.mjs +47 -31
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +0 -1
- package/lib/components/VList/VListChildren.mjs +41 -3
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +4 -3
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListImg.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +8 -7
- package/lib/components/VList/VListItem.mjs +6 -5
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
- package/lib/components/VList/VListItemHeader.mjs.map +1 -1
- package/lib/components/VList/VListItemIcon.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
- 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/_variables.scss +0 -1
- package/lib/components/VList/index.mjs.map +1 -1
- package/lib/components/VList/list.mjs.map +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/index.mjs.map +1 -1
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +6 -2
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/_variables.scss +0 -1
- package/lib/components/VMenu/index.mjs.map +1 -1
- package/lib/components/VMenu/shared.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/index.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +7 -7
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VNoSsr/index.mjs.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOtpInput/index.mjs.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
- package/lib/components/VOverflowBtn/index.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +0 -1
- package/lib/components/VOverlay/VOverlay.mjs +45 -21
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +0 -1
- package/lib/components/VOverlay/_variables.scss +0 -1
- package/lib/components/VOverlay/index.mjs.map +1 -1
- package/lib/components/VOverlay/{positionStrategies.mjs → locationStrategies.mjs} +32 -33
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
- package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +7 -1
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VOverlay/util/point.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +6 -5
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.mjs.map +1 -1
- package/lib/components/VPicker/VPicker.mjs.map +1 -1
- package/lib/components/VPicker/index.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/index.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.mjs.map +1 -1
- package/lib/components/VRadio/VRadio.mjs +5 -3
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +5 -3
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.mjs.map +1 -1
- package/lib/components/VRating/VRating.mjs +4 -3
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/index.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +40 -27
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs +7 -6
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +4 -3
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
- package/lib/components/VSheet/VSheet.mjs +7 -3
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +4 -3
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
- package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +2 -1
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +0 -18
- package/lib/components/VSnackbar/VSnackbar.mjs +19 -12
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +0 -18
- package/lib/components/VSnackbar/index.mjs.map +1 -1
- package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
- package/lib/components/VSparkline/index.mjs.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/components/VSpeedDial/index.mjs.map +1 -1
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
- package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
- package/lib/components/VStepper/index.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.mjs +1 -1
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/index.mjs.map +1 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/index.mjs.map +1 -1
- package/lib/components/VTabs/VTab.css +1 -1
- package/lib/components/VTabs/VTab.mjs +5 -4
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTab.sass +1 -1
- package/lib/components/VTabs/VTabs.css +8 -9
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.sass +4 -5
- package/lib/components/VTabs/index.mjs.map +1 -1
- package/lib/components/VTabs/shared.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.mjs +3 -2
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.mjs.map +1 -1
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/index.mjs.map +1 -1
- package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
- package/lib/components/VTimePicker/index.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +3 -2
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +3 -2
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.mjs.map +1 -1
- package/lib/components/VTimeline/shared.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.mjs +16 -9
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/index.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.mjs +12 -7
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.mjs.map +1 -1
- package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
- package/lib/components/VTreeview/index.mjs.map +1 -1
- package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
- package/lib/components/VValidation/VValidation.mjs.map +1 -1
- package/lib/components/VValidation/index.mjs.map +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.mjs +2 -2
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.mjs.map +1 -1
- package/lib/components/index.d.ts +3689 -3205
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs +61 -8
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/expand-transition.mjs.map +1 -1
- package/lib/components/transitions/index.mjs.map +1 -1
- package/lib/composables/border.mjs.map +1 -1
- package/lib/composables/color.mjs.map +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/delay.mjs.map +1 -1
- package/lib/composables/density.mjs.map +1 -1
- package/lib/composables/dimensions.mjs.map +1 -1
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/elevation.mjs.map +1 -1
- package/lib/composables/filter.mjs +33 -13
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/forwardRef.mjs.map +1 -1
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/hydration.mjs.map +1 -1
- package/lib/composables/icons.mjs +15 -3
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/items.mjs +39 -11
- package/lib/composables/items.mjs.map +1 -1
- package/lib/composables/layout.mjs +3 -3
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/lazy.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/locale.mjs +11 -8
- package/lib/composables/locale.mjs.map +1 -1
- package/lib/composables/location.mjs +70 -0
- package/lib/composables/location.mjs.map +1 -0
- package/lib/composables/mutationObserver.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/openStrategies.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/position.mjs +4 -25
- package/lib/composables/position.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/refs.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/composables/rounded.mjs.map +1 -1
- package/lib/composables/router.mjs +25 -23
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/rtl.mjs.map +1 -1
- package/lib/composables/scopeId.mjs +11 -0
- package/lib/composables/scopeId.mjs.map +1 -0
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/selectLink.mjs.map +1 -1
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/ssrBoot.mjs.map +1 -1
- package/lib/composables/stack.mjs +23 -22
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/tag.mjs.map +1 -1
- package/lib/composables/teleport.mjs.map +1 -1
- package/lib/composables/theme.mjs +89 -92
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +18 -0
- package/lib/composables/toggleScope.mjs.map +1 -0
- package/lib/composables/touch.mjs.map +1 -1
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +1 -0
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/directives/click-outside/index.mjs.map +1 -1
- package/lib/directives/color/index.mjs.map +1 -1
- package/lib/directives/index.mjs.map +1 -1
- package/lib/directives/intersect/index.mjs.map +1 -1
- package/lib/directives/mutate/index.mjs.map +1 -1
- package/lib/directives/resize/index.mjs.map +1 -1
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/directives/scroll/index.mjs.map +1 -1
- package/lib/directives/touch/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +10 -22
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa-svg.d.ts +2 -1
- package/lib/iconsets/fa-svg.mjs.map +1 -1
- package/lib/iconsets/fa.d.ts +2 -1
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.d.ts +2 -1
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/iconsets/md.d.ts +2 -1
- package/lib/iconsets/md.mjs.map +1 -1
- package/lib/iconsets/mdi-svg.d.ts +2 -1
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/iconsets/mdi.d.ts +2 -1
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.ts +81 -80
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/adapters/vue-intl.mjs.map +1 -1
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.mjs.map +1 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/presets/default/index.mjs.map +1 -1
- package/lib/services/goto/easing-patterns.mjs.map +1 -1
- package/lib/services/goto/index.mjs.map +1 -1
- package/lib/services/goto/util.mjs.map +1 -1
- package/lib/styles/tools/_states.sass +9 -2
- package/lib/styles/tools/_utilities.sass +1 -1
- package/lib/{components/VOverlay/util → util}/anchor.mjs +0 -0
- package/lib/util/anchor.mjs.map +1 -0
- package/lib/util/animation.mjs.map +1 -1
- package/lib/util/box.mjs.map +1 -1
- package/lib/util/color/APCA.mjs.map +1 -1
- package/lib/util/color/transformCIELAB.mjs.map +1 -1
- package/lib/util/color/transformSRGB.mjs.map +1 -1
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/colors.mjs.map +1 -1
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/dateTimeUtils.mjs.map +1 -1
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/dom.mjs.map +1 -1
- package/lib/util/easing.mjs.map +1 -1
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/getScrollParent.mjs.map +1 -1
- package/lib/util/globals.mjs +0 -3
- package/lib/util/globals.mjs.map +1 -1
- package/lib/util/helpers.mjs +1 -1
- 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/isFixedPosition.mjs.map +1 -1
- package/lib/util/propsFactory.mjs.map +1 -1
- package/lib/util/useRender.mjs.map +1 -1
- package/package.json +22 -22
- package/lib/components/VOverlay/positionStrategies.mjs.map +0 -1
- package/lib/components/VOverlay/util/anchor.mjs.map +0 -1
- package/lib/composables/overlay.mjs +0 -34
- package/lib/composables/overlay.mjs.map +0 -1
|
@@ -2,6 +2,7 @@ import { createTextVNode as _createTextVNode, mergeProps as _mergeProps, createV
|
|
|
2
2
|
// Styles
|
|
3
3
|
import "./VSelect.css"; // Components
|
|
4
4
|
|
|
5
|
+
import { VDialogTransition } from "../transitions/index.mjs";
|
|
5
6
|
import { VChip } from "../VChip/index.mjs";
|
|
6
7
|
import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
|
|
7
8
|
import { VList, VListItem } from "../VList/index.mjs";
|
|
@@ -12,9 +13,10 @@ import { makeItemsProps, useItems } from "../../composables/items.mjs";
|
|
|
12
13
|
import { makeTransitionProps } from "../../composables/transition.mjs";
|
|
13
14
|
import { useForwardRef } from "../../composables/forwardRef.mjs";
|
|
14
15
|
import { useLocale } from "../../composables/locale.mjs";
|
|
15
|
-
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
16
|
+
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
17
|
+
import { IconValue } from "../../composables/icons.mjs"; // Utility
|
|
16
18
|
|
|
17
|
-
import { computed, ref
|
|
19
|
+
import { computed, ref } from 'vue';
|
|
18
20
|
import { genericComponent, propsFactory, useRender, wrapInArray } from "../../util/index.mjs"; // Types
|
|
19
21
|
|
|
20
22
|
export const makeSelectProps = propsFactory({
|
|
@@ -24,11 +26,11 @@ export const makeSelectProps = propsFactory({
|
|
|
24
26
|
hideNoData: Boolean,
|
|
25
27
|
hideSelected: Boolean,
|
|
26
28
|
menuIcon: {
|
|
27
|
-
type:
|
|
29
|
+
type: IconValue,
|
|
28
30
|
default: '$dropdown'
|
|
29
31
|
},
|
|
30
32
|
modelValue: {
|
|
31
|
-
type:
|
|
33
|
+
type: null,
|
|
32
34
|
default: () => []
|
|
33
35
|
},
|
|
34
36
|
multiple: Boolean,
|
|
@@ -37,13 +39,17 @@ export const makeSelectProps = propsFactory({
|
|
|
37
39
|
default: '$vuetify.noDataText'
|
|
38
40
|
},
|
|
39
41
|
openOnClear: Boolean,
|
|
40
|
-
...makeItemsProps(
|
|
42
|
+
...makeItemsProps({
|
|
43
|
+
itemChildren: false
|
|
44
|
+
})
|
|
41
45
|
}, 'select');
|
|
42
46
|
export const VSelect = genericComponent()({
|
|
43
47
|
name: 'VSelect',
|
|
44
48
|
props: { ...makeSelectProps(),
|
|
45
49
|
...makeTransitionProps({
|
|
46
|
-
transition:
|
|
50
|
+
transition: {
|
|
51
|
+
component: VDialogTransition
|
|
52
|
+
}
|
|
47
53
|
})
|
|
48
54
|
},
|
|
49
55
|
emits: {
|
|
@@ -58,14 +64,22 @@ export const VSelect = genericComponent()({
|
|
|
58
64
|
t
|
|
59
65
|
} = useLocale();
|
|
60
66
|
const vTextFieldRef = ref();
|
|
61
|
-
const activator = ref();
|
|
62
67
|
const menu = ref(false);
|
|
63
68
|
const {
|
|
64
|
-
items
|
|
69
|
+
items,
|
|
70
|
+
transformIn,
|
|
71
|
+
transformOut
|
|
65
72
|
} = useItems(props);
|
|
66
|
-
const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v), v =>
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
|
|
74
|
+
const transformed = transformOut(v);
|
|
75
|
+
return props.multiple ? transformed : transformed[0];
|
|
76
|
+
});
|
|
77
|
+
const selections = computed(() => {
|
|
78
|
+
return model.value.map(v => {
|
|
79
|
+
return items.value.find(item => item.value === v.value) || v;
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
const selected = computed(() => selections.value.map(selection => selection.props.value));
|
|
69
83
|
|
|
70
84
|
function onClear(e) {
|
|
71
85
|
model.value = [];
|
|
@@ -95,21 +109,18 @@ export const VSelect = genericComponent()({
|
|
|
95
109
|
const index = selected.value.findIndex(selection => selection === item.value);
|
|
96
110
|
|
|
97
111
|
if (index === -1) {
|
|
98
|
-
model.value = [...model.value, item
|
|
112
|
+
model.value = [...model.value, item];
|
|
99
113
|
} else {
|
|
100
114
|
const value = [...model.value];
|
|
101
115
|
value.splice(index, 1);
|
|
102
116
|
model.value = value;
|
|
103
117
|
}
|
|
104
118
|
} else {
|
|
105
|
-
model.value = [item
|
|
119
|
+
model.value = [item];
|
|
106
120
|
menu.value = false;
|
|
107
121
|
}
|
|
108
122
|
}
|
|
109
123
|
|
|
110
|
-
watch(() => vTextFieldRef.value, val => {
|
|
111
|
-
activator.value = val.$el.querySelector('.v-input__control');
|
|
112
|
-
});
|
|
113
124
|
useRender(() => {
|
|
114
125
|
const hasChips = !!(props.chips || slots.chip);
|
|
115
126
|
return _createVNode(VTextField, {
|
|
@@ -125,16 +136,16 @@ export const VSelect = genericComponent()({
|
|
|
125
136
|
"onClick:input": onClickControl,
|
|
126
137
|
"onClick:control": onClickControl,
|
|
127
138
|
"onBlur": () => menu.value = false,
|
|
128
|
-
"modelValue": model.value.join(', '),
|
|
139
|
+
"modelValue": model.value.map(v => v.props.value).join(', '),
|
|
129
140
|
"onKeydown": onKeydown
|
|
130
141
|
}, { ...slots,
|
|
131
142
|
default: () => {
|
|
132
143
|
var _slots$noData, _slots$noData2;
|
|
133
144
|
|
|
134
|
-
return _createVNode(_Fragment, null, [
|
|
145
|
+
return _createVNode(_Fragment, null, [_createVNode(VMenu, {
|
|
135
146
|
"modelValue": menu.value,
|
|
136
147
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
137
|
-
"activator":
|
|
148
|
+
"activator": "parent",
|
|
138
149
|
"contentClass": "v-select__content",
|
|
139
150
|
"eager": props.eager,
|
|
140
151
|
"openOnClick": false,
|
|
@@ -146,7 +157,7 @@ export const VSelect = genericComponent()({
|
|
|
146
157
|
}, {
|
|
147
158
|
default: () => [!items.value.length && !props.hideNoData && ((_slots$noData = (_slots$noData2 = slots['no-data']) == null ? void 0 : _slots$noData2.call(slots)) != null ? _slots$noData : _createVNode(VListItem, {
|
|
148
159
|
"title": t(props.noDataText)
|
|
149
|
-
}, null)), items.value.map(item => _createVNode(VListItem, _mergeProps(item, {
|
|
160
|
+
}, null)), items.value.map(item => _createVNode(VListItem, _mergeProps(item.props, {
|
|
150
161
|
"onMousedown": e => e.preventDefault(),
|
|
151
162
|
"onClick": () => select(item)
|
|
152
163
|
}), null))]
|
|
@@ -164,26 +175,28 @@ export const VSelect = genericComponent()({
|
|
|
164
175
|
};
|
|
165
176
|
return _createVNode("div", {
|
|
166
177
|
"class": "v-select__selection"
|
|
167
|
-
}, [hasChips
|
|
178
|
+
}, [hasChips ? _createVNode(VDefaultsProvider, {
|
|
168
179
|
"defaults": {
|
|
169
180
|
VChip: {
|
|
170
181
|
closable: props.closableChips,
|
|
171
182
|
size: 'small',
|
|
172
|
-
text: selection.title
|
|
183
|
+
text: selection.props.title
|
|
173
184
|
}
|
|
174
185
|
}
|
|
175
186
|
}, {
|
|
176
187
|
default: () => [slots.chip ? slots.chip({
|
|
177
188
|
props: slotProps,
|
|
178
|
-
selection
|
|
189
|
+
selection,
|
|
190
|
+
index
|
|
179
191
|
}) : _createVNode(VChip, slotProps, null)]
|
|
180
|
-
})
|
|
181
|
-
selection
|
|
192
|
+
}) : slots.selection ? slots.selection({
|
|
193
|
+
item: selection.originalItem,
|
|
194
|
+
index
|
|
182
195
|
}) : _createVNode("span", {
|
|
183
196
|
"class": "v-select__selection-text"
|
|
184
|
-
}, [selection.title, props.multiple && index < selections.value.length - 1 && _createVNode("span", {
|
|
197
|
+
}, [selection.props.title, props.multiple && index < selections.value.length - 1 && _createVNode("span", {
|
|
185
198
|
"class": "v-select__selection-comma"
|
|
186
|
-
}, [_createTextVNode(",")])])
|
|
199
|
+
}, [_createTextVNode(",")])])]);
|
|
187
200
|
})]);
|
|
188
201
|
}
|
|
189
202
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSelect/VSelect.tsx"],"names":["VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","makeItemsProps","useItems","makeTransitionProps","useForwardRef","useLocale","useProxiedModel","computed","ref","watch","genericComponent","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","eager","hideNoData","hideSelected","menuIcon","type","String","default","modelValue","Number","Array","multiple","noDataText","openOnClear","VSelect","name","props","transition","emits","val","setup","slots","t","vTextFieldRef","activator","menu","items","model","v","selections","value","filter","item","includes","selected","map","selection","onClear","e","onClickControl","length","onKeydown","key","select","index","findIndex","splice","$el","querySelector","hasChips","chip","join","preventDefault","onChipClose","stopPropagation","slotProps","closable","size","text","title"],"mappings":"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","sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { makeItemsProps, useItems } from '@/composables/items'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, ref, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { LinkProps } from '@/composables/router'\nimport type { MakeSlots } from '@/util'\n\nexport interface InternalSelectItem {\n title: string\n value: any\n index: number\n}\n\nexport interface DefaultSelectionSlot {\n selection: InternalSelectItem\n}\n\nexport interface DefaultChipSlot extends DefaultSelectionSlot {\n props: {\n 'onClick:close': (e: Event) => void\n modelValue: any\n }\n}\n\nexport type SelectItem = string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | (LinkProps & {\n text: string\n})\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n menuIcon: {\n type: String,\n default: '$dropdown',\n },\n modelValue: {\n type: [Number, String, Array],\n default: () => ([]),\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n\n ...makeItemsProps(),\n}, 'select')\n\nexport const VSelect = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n chip: [DefaultChipSlot]\n default: []\n selection: [DefaultSelectionSlot]\n }>\n}>()({\n name: 'VSelect',\n\n props: {\n ...makeSelectProps(),\n ...makeTransitionProps({ transition: 'scale-transition' }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const activator = ref()\n const menu = ref(false)\n const { items } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v),\n (v: any) => props.multiple ? v : v[0]\n )\n const selections = computed(() => items.value.filter(item => model.value.includes(item.value)))\n const selected = computed(() => selections.value.map(selection => selection.value))\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onClickControl () {\n if (props.hideNoData && !items.value.length) return\n\n menu.value = true\n }\n function onKeydown (e: KeyboardEvent) {\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n }\n function select (item: any) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => selection === item.value)\n\n if (index === -1) {\n model.value = [...model.value, item.value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item.value]\n menu.value = false\n }\n }\n\n watch(() => vTextFieldRef.value, val => {\n activator.value = val.$el.querySelector('.v-input__control')\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly\n onClick:clear={ onClear }\n onClick:input={ onClickControl }\n onClick:control={ onClickControl }\n onBlur={ () => menu.value = false }\n modelValue={ model.value.join(', ') }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n { activator.value && (\n <VMenu\n v-model={ menu.value }\n activator={ activator.value }\n contentClass=\"v-select__content\"\n eager={ props.eager }\n openOnClick={ false }\n transition={ props.transition }\n >\n <VList\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n >\n { !items.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { items.value.map(item => (\n <VListItem\n { ...item }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onClick={ () => select(item) }\n />\n )) }\n </VList>\n </VMenu>\n ) }\n\n { selections.value.map((selection, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(selection)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n }\n\n return (\n <div class=\"v-select__selection\">\n { hasChips && (\n <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: selection.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ props: slotProps, selection })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) }\n\n { !hasChips && (\n slots.selection\n ? slots.selection({ selection })\n : (\n <span class=\"v-select__selection-text\">\n { selection.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n ) }\n </span>\n )\n ) }\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return useForwardRef({}, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"file":"VSelect.mjs"}
|
|
1
|
+
{"version":3,"file":"VSelect.mjs","names":["VDialogTransition","VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","makeItemsProps","useItems","makeTransitionProps","useForwardRef","useLocale","useProxiedModel","IconValue","computed","ref","genericComponent","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","eager","hideNoData","hideSelected","menuIcon","type","default","modelValue","multiple","noDataText","String","openOnClear","itemChildren","VSelect","name","props","transition","component","emits","val","setup","slots","t","vTextFieldRef","menu","items","transformIn","transformOut","model","v","transformed","selections","value","map","find","item","selected","selection","onClear","e","onClickControl","length","onKeydown","includes","key","select","index","findIndex","splice","hasChips","chip","join","preventDefault","onChipClose","stopPropagation","slotProps","closable","size","text","title","originalItem"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { makeItemsProps, useItems } from '@/composables/items'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\n\n// Utility\nimport { computed, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { InternalItem } from '@/composables/items'\nimport type { MakeSlots } from '@/util'\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n modelValue: {\n type: null,\n default: () => ([]),\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n\n ...makeItemsProps({ itemChildren: false }),\n}, 'select')\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = T extends Primitive\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? Val<T, ReturnObject>[]\n : Val<T, ReturnObject>\n\nexport const VSelect = genericComponent<new <\n T,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<T, ReturnObject, Multiple> = Value<T, ReturnObject, Multiple>\n>() => {\n $props: {\n items?: readonly T[]\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: Readonly<V>\n 'onUpdate:modelValue'?: (val: V) => void\n }\n $slots: VInputSlots & VFieldSlots & MakeSlots<{\n chip: [{ item: T, index: number, props: Record<string, unknown> }]\n selection: [{ item: T, index: number }]\n 'no-data': []\n }>\n}>()({\n name: 'VSelect',\n\n props: {\n ...makeSelectProps(),\n ...makeTransitionProps({ transition: { component: VDialogTransition } }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const menu = ref(false)\n const { items, transformIn, transformOut } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : transformed[0]\n }\n )\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => item.value === v.value) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onClickControl () {\n if (props.hideNoData && !items.value.length) return\n\n menu.value = true\n }\n function onKeydown (e: KeyboardEvent) {\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n }\n function select (item: InternalItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => selection === item.value)\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n menu.value = false\n }\n }\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly\n onClick:clear={ onClear }\n onClick:input={ onClickControl }\n onClick:control={ onClickControl }\n onBlur={ () => menu.value = false }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n eager={ props.eager }\n openOnClick={ false }\n transition={ props.transition }\n >\n <VList\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n >\n { !items.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { items.value.map(item => (\n <VListItem\n { ...item.props }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onClick={ () => select(item) }\n />\n )) }\n </VList>\n </VMenu>\n\n { selections.value.map((selection, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(selection)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n }\n\n return (\n <div class=\"v-select__selection\">\n { hasChips ? (\n <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: selection.props.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ props: slotProps, selection, index })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) : (\n slots.selection\n ? slots.selection({ item: selection.originalItem, index })\n : (\n <span class=\"v-select__selection-text\">\n { selection.props.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n ) }\n </span>\n )\n )}\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return useForwardRef({}, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":";AAAA;AACA,uB,CAEA;;SACSA,iB;SACAC,K;SACAC,iB;SACAC,K,EAAOC,S;SACPC,K;SACAC,U,mCAET;;SACSC,c,EAAgBC,Q;SAChBC,mB;SACAC,a;SACAC,S;SACAC,e;SACAC,S,uCAET;;AACA,SAASC,QAAT,EAAmBC,GAAnB,QAA8B,KAA9B;SACSC,gB,EAAkBC,Y,EAAcC,S,EAAWC,W,gCAEpD;;AAMA,OAAO,MAAMC,eAAe,GAAGH,YAAY,CAAC;EAC1CI,KAAK,EAAEC,OADmC;EAE1CC,aAAa,EAAED,OAF2B;EAG1CE,KAAK,EAAEF,OAHmC;EAI1CG,UAAU,EAAEH,OAJ8B;EAK1CI,YAAY,EAAEJ,OAL4B;EAM1CK,QAAQ,EAAE;IACRC,IAAI,EAAEf,SADE;IAERgB,OAAO,EAAE;EAFD,CANgC;EAU1CC,UAAU,EAAE;IACVF,IAAI,EAAE,IADI;IAEVC,OAAO,EAAE,MAAO;EAFN,CAV8B;EAc1CE,QAAQ,EAAET,OAdgC;EAe1CU,UAAU,EAAE;IACVJ,IAAI,EAAEK,MADI;IAEVJ,OAAO,EAAE;EAFC,CAf8B;EAmB1CK,WAAW,EAAEZ,OAnB6B;EAqB1C,GAAGf,cAAc,CAAC;IAAE4B,YAAY,EAAE;EAAhB,CAAD;AArByB,CAAD,EAsBxC,QAtBwC,CAApC;AAmCP,OAAO,MAAMC,OAAO,GAAGpB,gBAAgB,GAkBlC;EACHqB,IAAI,EAAE,SADH;EAGHC,KAAK,EAAE,EACL,GAAGlB,eAAe,EADb;IAEL,GAAGX,mBAAmB,CAAC;MAAE8B,UAAU,EAAE;QAAEC,SAAS,EAAExC;MAAb;IAAd,CAAD;EAFjB,CAHJ;EAQHyC,KAAK,EAAE;IACL,qBAAsBC,GAAD,IAAc;EAD9B,CARJ;;EAYHC,KAAK,CAAEL,KAAF,QAAoB;IAAA,IAAX;MAAEM;IAAF,CAAW;IACvB,MAAM;MAAEC;IAAF,IAAQlC,SAAS,EAAvB;IACA,MAAMmC,aAAa,GAAG/B,GAAG,EAAzB;IACA,MAAMgC,IAAI,GAAGhC,GAAG,CAAC,KAAD,CAAhB;IACA,MAAM;MAAEiC,KAAF;MAASC,WAAT;MAAsBC;IAAtB,IAAuC1C,QAAQ,CAAC8B,KAAD,CAArD;IACA,MAAMa,KAAK,GAAGvC,eAAe,CAC3B0B,KAD2B,EAE3B,YAF2B,EAG3B,EAH2B,EAI3Bc,CAAC,IAAIH,WAAW,CAAC9B,WAAW,CAACiC,CAAD,CAAZ,CAJW,EAK3BA,CAAC,IAAI;MACH,MAAMC,WAAW,GAAGH,YAAY,CAACE,CAAD,CAAhC;MACA,OAAOd,KAAK,CAACP,QAAN,GAAiBsB,WAAjB,GAA+BA,WAAW,CAAC,CAAD,CAAjD;IACD,CAR0B,CAA7B;IAUA,MAAMC,UAAU,GAAGxC,QAAQ,CAAC,MAAM;MAChC,OAAOqC,KAAK,CAACI,KAAN,CAAYC,GAAZ,CAAgBJ,CAAC,IAAI;QAC1B,OAAOJ,KAAK,CAACO,KAAN,CAAYE,IAAZ,CAAiBC,IAAI,IAAIA,IAAI,CAACH,KAAL,KAAeH,CAAC,CAACG,KAA1C,KAAoDH,CAA3D;MACD,CAFM,CAAP;IAGD,CAJ0B,CAA3B;IAKA,MAAMO,QAAQ,GAAG7C,QAAQ,CAAC,MAAMwC,UAAU,CAACC,KAAX,CAAiBC,GAAjB,CAAqBI,SAAS,IAAIA,SAAS,CAACtB,KAAV,CAAgBiB,KAAlD,CAAP,CAAzB;;IAEA,SAASM,OAAT,CAAkBC,CAAlB,EAAiC;MAC/BX,KAAK,CAACI,KAAN,GAAc,EAAd;;MAEA,IAAIjB,KAAK,CAACJ,WAAV,EAAuB;QACrBa,IAAI,CAACQ,KAAL,GAAa,IAAb;MACD;IACF;;IACD,SAASQ,cAAT,GAA2B;MACzB,IAAIzB,KAAK,CAACb,UAAN,IAAoB,CAACuB,KAAK,CAACO,KAAN,CAAYS,MAArC,EAA6C;MAE7CjB,IAAI,CAACQ,KAAL,GAAa,IAAb;IACD;;IACD,SAASU,SAAT,CAAoBH,CAApB,EAAsC;MACpC,IAAI,CAAC,OAAD,EAAU,WAAV,EAAuB,GAAvB,EAA4BI,QAA5B,CAAqCJ,CAAC,CAACK,GAAvC,CAAJ,EAAiD;QAC/CpB,IAAI,CAACQ,KAAL,GAAa,IAAb;MACD;;MAED,IAAI,CAAC,QAAD,EAAW,KAAX,EAAkBW,QAAlB,CAA2BJ,CAAC,CAACK,GAA7B,CAAJ,EAAuC;QACrCpB,IAAI,CAACQ,KAAL,GAAa,KAAb;MACD;IACF;;IACD,SAASa,MAAT,CAAiBV,IAAjB,EAAqC;MACnC,IAAIpB,KAAK,CAACP,QAAV,EAAoB;QAClB,MAAMsC,KAAK,GAAGV,QAAQ,CAACJ,KAAT,CAAee,SAAf,CAAyBV,SAAS,IAAIA,SAAS,KAAKF,IAAI,CAACH,KAAzD,CAAd;;QAEA,IAAIc,KAAK,KAAK,CAAC,CAAf,EAAkB;UAChBlB,KAAK,CAACI,KAAN,GAAc,CAAC,GAAGJ,KAAK,CAACI,KAAV,EAAiBG,IAAjB,CAAd;QACD,CAFD,MAEO;UACL,MAAMH,KAAK,GAAG,CAAC,GAAGJ,KAAK,CAACI,KAAV,CAAd;UACAA,KAAK,CAACgB,MAAN,CAAaF,KAAb,EAAoB,CAApB;UACAlB,KAAK,CAACI,KAAN,GAAcA,KAAd;QACD;MACF,CAVD,MAUO;QACLJ,KAAK,CAACI,KAAN,GAAc,CAACG,IAAD,CAAd;QACAX,IAAI,CAACQ,KAAL,GAAa,KAAb;MACD;IACF;;IAEDrC,SAAS,CAAC,MAAM;MACd,MAAMsD,QAAQ,GAAG,CAAC,EAAElC,KAAK,CAACjB,KAAN,IAAeuB,KAAK,CAAC6B,IAAvB,CAAlB;MAEA;QAAA,OAEU3B,aAFV;QAAA,SAGW,CACL,UADK,EAEL;UACE,yBAAyBC,IAAI,CAACQ,KADhC;UAEE,mBAAmB,CAAC,CAACjB,KAAK,CAACjB,KAF7B;UAGE,CAAE,aAAYiB,KAAK,CAACP,QAAN,GAAiB,UAAjB,GAA8B,QAAS,EAArD,GAAyD;QAH3D,CAFK,CAHX;QAAA,mBAWsBO,KAAK,CAACX,QAX5B;QAAA;QAAA,iBAaoBkC,OAbpB;QAAA,iBAcoBE,cAdpB;QAAA,mBAesBA,cAftB;QAAA,UAgBa,MAAMhB,IAAI,CAACQ,KAAL,GAAa,KAhBhC;QAAA,cAiBiBJ,KAAK,CAACI,KAAN,CAAYC,GAAZ,CAAgBJ,CAAC,IAAIA,CAAC,CAACd,KAAF,CAAQiB,KAA7B,EAAoCmB,IAApC,CAAyC,IAAzC,CAjBjB;QAAA,aAkBgBT;MAlBhB,KAqBM,GAAGrB,KArBT;QAsBMf,OAAO,EAAE;UAAA;;UAAA;YAAA,cAGOkB,IAAI,CAACQ,KAHZ;YAAA,iCAGOR,IAAI,CAACQ,KAHZ;YAAA,aAIO,QAJP;YAAA,gBAKU,mBALV;YAAA,SAMKjB,KAAK,CAACd,KANX;YAAA,eAOW,KAPX;YAAA,cAQUc,KAAK,CAACC;UARhB;YAAA;cAAA,YAWUoB,QAAQ,CAACJ,KAXnB;cAAA,kBAYgBjB,KAAK,CAACP,QAAN,GAAiB,aAAjB,GAAiC;YAZjD;cAAA,gBAcC,CAACiB,KAAK,CAACO,KAAN,CAAYS,MAAb,IAAuB,CAAC1B,KAAK,CAACb,UAA9B,wCAA6CmB,KAAK,CAAC,SAAD,CAAlD,qBAA6C,oBAAAA,KAAK,CAAlD;gBAAA,SACmBC,CAAC,CAACP,KAAK,CAACN,UAAP;cADpB,SAdD,EAkBCgB,KAAK,CAACO,KAAN,CAAYC,GAAZ,CAAgBE,IAAI,wCAEbA,IAAI,CAACpB,KAFQ;gBAAA,eAGHwB,CAAD,IAAmBA,CAAC,CAACa,cAAF,EAHf;gBAAA,WAIR,MAAMP,MAAM,CAACV,IAAD;cAJJ,SAApB,CAlBD;YAAA;UAAA,IA4BHJ,UAAU,CAACC,KAAX,CAAiBC,GAAjB,CAAqB,CAACI,SAAD,EAAYS,KAAZ,KAAsB;YAC3C,SAASO,WAAT,CAAsBd,CAAtB,EAAgC;cAC9BA,CAAC,CAACe,eAAF;cACAf,CAAC,CAACa,cAAF;cAEAP,MAAM,CAACR,SAAD,CAAN;YACD;;YAED,MAAMkB,SAAS,GAAG;cAChB,iBAAiBF,WADD;cAEhB9C,UAAU,EAAE;YAFI,CAAlB;YAKA;cAAA,SACa;YADb,IAEM0C,QAAQ;cAAA,YAEI;gBACRvE,KAAK,EAAE;kBACL8E,QAAQ,EAAEzC,KAAK,CAACf,aADX;kBAELyD,IAAI,EAAE,OAFD;kBAGLC,IAAI,EAAErB,SAAS,CAACtB,KAAV,CAAgB4C;gBAHjB;cADC;YAFJ;cAAA,gBAUJtC,KAAK,CAAC6B,IAAN,GACE7B,KAAK,CAAC6B,IAAN,CAAW;gBAAEnC,KAAK,EAAEwC,SAAT;gBAAoBlB,SAApB;gBAA+BS;cAA/B,CAAX,CADF,uBAEeS,SAFf,OAVI;YAAA,KAgBRlC,KAAK,CAACgB,SAAN,GACIhB,KAAK,CAACgB,SAAN,CAAgB;cAAEF,IAAI,EAAEE,SAAS,CAACuB,YAAlB;cAAgCd;YAAhC,CAAhB,CADJ;cAAA,SAGgB;YAHhB,IAIQT,SAAS,CAACtB,KAAV,CAAgB4C,KAJxB,EAKQ5C,KAAK,CAACP,QAAN,IAAmBsC,KAAK,GAAGf,UAAU,CAACC,KAAX,CAAiBS,MAAjB,GAA0B,CAArD;cAAA,SACY;YADZ,2BALR,EAlBN;UA+BD,CA5CC,CA5BG;QAAA;MAtBf;IAoGD,CAvGQ,CAAT;IAyGA,OAAOtD,aAAa,CAAC,EAAD,EAAKoC,aAAL,CAApB;EACD;;AAlLE,CAlBkC,CAAhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["VSelect"],"sources":["../../../src/components/VSelect/index.ts"],"sourcesContent":["export { VSelect } from './VSelect'\n"],"mappings":"SAASA,O"}
|
|
@@ -9,7 +9,8 @@ import { VSelectionControlGroupSymbol } from "../VSelectionControlGroup/VSelecti
|
|
|
9
9
|
import { makeDensityProps, useDensity } from "../../composables/density.mjs";
|
|
10
10
|
import { makeThemeProps } from "../../composables/theme.mjs";
|
|
11
11
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
12
|
-
import { useTextColor } from "../../composables/color.mjs";
|
|
12
|
+
import { useTextColor } from "../../composables/color.mjs";
|
|
13
|
+
import { IconValue } from "../../composables/icons.mjs"; // Directives
|
|
13
14
|
|
|
14
15
|
import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
|
|
15
16
|
|
|
@@ -23,8 +24,8 @@ export const makeSelectionControlProps = propsFactory({
|
|
|
23
24
|
id: String,
|
|
24
25
|
inline: Boolean,
|
|
25
26
|
label: String,
|
|
26
|
-
falseIcon:
|
|
27
|
-
trueIcon:
|
|
27
|
+
falseIcon: IconValue,
|
|
28
|
+
trueIcon: IconValue,
|
|
28
29
|
ripple: {
|
|
29
30
|
type: Boolean,
|
|
30
31
|
default: true
|
|
@@ -165,10 +166,10 @@ export const VSelectionControl = genericComponent()({
|
|
|
165
166
|
'v-selection-control--inline': (group == null ? void 0 : group.inline.value) || props.inline
|
|
166
167
|
}, densityClasses.value]
|
|
167
168
|
}, [_createVNode("div", {
|
|
168
|
-
"class": ['v-selection-control__wrapper', textColorClasses.value]
|
|
169
|
-
}, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), _withDirectives(_createVNode("div", {
|
|
170
|
-
"class": ['v-selection-control__input'],
|
|
169
|
+
"class": ['v-selection-control__wrapper', textColorClasses.value],
|
|
171
170
|
"style": textColorStyles.value
|
|
171
|
+
}, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), _withDirectives(_createVNode("div", {
|
|
172
|
+
"class": ['v-selection-control__input']
|
|
172
173
|
}, [icon.value && _createVNode(VIcon, {
|
|
173
174
|
"icon": icon.value
|
|
174
175
|
}, null), _withDirectives(_createVNode("input", _mergeProps({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSelectionControl/VSelectionControl.tsx"],"names":["VIcon","VLabel","VSelectionControlGroupSymbol","makeDensityProps","useDensity","makeThemeProps","useProxiedModel","useTextColor","Ripple","computed","inject","ref","deepEqual","genericComponent","getUid","pick","propsFactory","SUPPORTS_FOCUS_VISIBLE","useRender","wrapInArray","makeSelectionControlProps","color","String","disabled","Boolean","error","id","inline","label","falseIcon","trueIcon","ripple","type","default","multiple","name","readonly","trueValue","falseValue","modelValue","value","valueComparator","Function","useSelectionControl","props","group","undefined","densityClasses","isMultiple","Array","isArray","model","get","val","some","v","set","currentValue","newVal","filter","item","textColorClasses","textColorStyles","icon","VSelectionControl","directives","inheritAttrs","emits","setup","attrs","slots","uid","isFocused","isFocusVisible","input","onFocus","e","target","matches","onBlur","for","filterControlProps","Object","keys"],"mappings":";AAAA;AACA,iC,CAEA;;SACSA,K;SACAC,M;SACAC,4B,gEAET;;SACSC,gB,EAAkBC,U;SAClBC,c;SACAC,e;SACAC,Y,uCAET;;SACSC,M,6CAET;;AACA,SAASC,QAAT,EAAmBC,MAAnB,EAA2BC,GAA3B,QAAsC,KAAtC;SAEEC,S,EACAC,gB,EACAC,M,EACAC,I,EACAC,Y,EACAC,sB,EACAC,S,EACAC,W,gCAGF;;AAgBA,OAAO,MAAMC,yBAAyB,GAAGJ,YAAY,CAAC;AACpDK,EAAAA,KAAK,EAAEC,MAD6C;AAEpDC,EAAAA,QAAQ,EAAEC,OAF0C;AAGpDC,EAAAA,KAAK,EAAED,OAH6C;AAIpDE,EAAAA,EAAE,EAAEJ,MAJgD;AAKpDK,EAAAA,MAAM,EAAEH,OAL4C;AAMpDI,EAAAA,KAAK,EAAEN,MAN6C;AAOpDO,EAAAA,SAAS,EAAEP,MAPyC;AAQpDQ,EAAAA,QAAQ,EAAER,MAR0C;AASpDS,EAAAA,MAAM,EAAE;AACNC,IAAAA,IAAI,EAAER,OADA;AAENS,IAAAA,OAAO,EAAE;AAFH,GAT4C;AAapDC,EAAAA,QAAQ,EAAE;AACRF,IAAAA,IAAI,EAAER,OADE;AAERS,IAAAA,OAAO,EAAE;AAFD,GAb0C;AAiBpDE,EAAAA,IAAI,EAAEb,MAjB8C;AAkBpDc,EAAAA,QAAQ,EAAEZ,OAlB0C;AAmBpDa,EAAAA,SAAS,EAAE,IAnByC;AAoBpDC,EAAAA,UAAU,EAAE,IApBwC;AAqBpDC,EAAAA,UAAU,EAAE,IArBwC;AAsBpDP,EAAAA,IAAI,EAAEV,MAtB8C;AAuBpDkB,EAAAA,KAAK,EAAE,IAvB6C;AAwBpDC,EAAAA,eAAe,EAAE;AACfT,IAAAA,IAAI,EAAEU,QADS;AAEfT,IAAAA,OAAO,EAAErB;AAFM,GAxBmC;AA6BpD,KAAGP,cAAc,EA7BmC;AA8BpD,KAAGF,gBAAgB;AA9BiC,CAAD,CAA9C;AAiCP,OAAO,SAASwC,mBAAT,CACLC,KADK,EAIL;AACA,QAAMC,KAAK,GAAGnC,MAAM,CAACR,4BAAD,EAA+B4C,SAA/B,CAApB;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAqB3C,UAAU,CAACwC,KAAD,CAArC;AACA,QAAML,UAAU,GAAGjC,eAAe,CAACsC,KAAD,EAAQ,YAAR,CAAlC;AACA,QAAMP,SAAS,GAAG5B,QAAQ,CAAC,MACzBmC,KAAK,CAACP,SAAN,KAAoBS,SAApB,GAAgCF,KAAK,CAACP,SAAtC,GACEO,KAAK,CAACJ,KAAN,KAAgBM,SAAhB,GAA4BF,KAAK,CAACJ,KAAlC,GACA,IAHsB,CAA1B;AAKA,QAAMF,UAAU,GAAG7B,QAAQ,CAAC,MAAMmC,KAAK,CAACN,UAAN,KAAqBQ,SAArB,GAAiCF,KAAK,CAACN,UAAvC,GAAoD,KAA3D,CAA3B;AACA,QAAMU,UAAU,GAAGvC,QAAQ,CAAC,MAC1B,CAAAoC,KAAK,QAAL,YAAAA,KAAK,CAAEX,QAAP,CAAgBM,KAAhB,KACA,CAAC,CAACI,KAAK,CAACV,QADR,IAECU,KAAK,CAACV,QAAN,IAAkB,IAAlB,IAA0Be,KAAK,CAACC,OAAN,CAAcX,UAAU,CAACC,KAAzB,CAHF,CAA3B;AAKA,QAAMW,KAAK,GAAG1C,QAAQ,CAAC;AACrB2C,IAAAA,GAAG,GAAI;AACL,YAAMC,GAAG,GAAGR,KAAK,GAAGA,KAAK,CAACN,UAAN,CAAiBC,KAApB,GAA4BD,UAAU,CAACC,KAAxD;AAEA,aAAOQ,UAAU,CAACR,KAAX,GACHa,GAAG,CAACC,IAAJ,CAAUC,CAAD,IAAYX,KAAK,CAACH,eAAN,CAAsBc,CAAtB,EAAyBlB,SAAS,CAACG,KAAnC,CAArB,CADG,GAEHI,KAAK,CAACH,eAAN,CAAsBY,GAAtB,EAA2BhB,SAAS,CAACG,KAArC,CAFJ;AAGD,KAPoB;;AAQrBgB,IAAAA,GAAG,CAAEH,GAAF,EAAgB;AACjB,UAAIT,KAAK,CAACR,QAAV,EAAoB;AAEpB,YAAMqB,YAAY,GAAGJ,GAAG,GAAGhB,SAAS,CAACG,KAAb,GAAqBF,UAAU,CAACE,KAAxD;AAEA,UAAIkB,MAAM,GAAGD,YAAb;;AAEA,UAAIT,UAAU,CAACR,KAAf,EAAsB;AACpBkB,QAAAA,MAAM,GAAGL,GAAG,GACR,CAAC,GAAGlC,WAAW,CAACoB,UAAU,CAACC,KAAZ,CAAf,EAAmCiB,YAAnC,CADQ,GAERtC,WAAW,CAACoB,UAAU,CAACC,KAAZ,CAAX,CAA8BmB,MAA9B,CAAsCC,IAAD,IAAe,CAAChB,KAAK,CAACH,eAAN,CAAsBmB,IAAtB,EAA4BvB,SAAS,CAACG,KAAtC,CAArD,CAFJ;AAGD;;AAED,UAAIK,KAAJ,EAAW;AACTA,QAAAA,KAAK,CAACN,UAAN,CAAiBC,KAAjB,GAAyBkB,MAAzB;AACD,OAFD,MAEO;AACLnB,QAAAA,UAAU,CAACC,KAAX,GAAmBkB,MAAnB;AACD;AACF;;AA1BoB,GAAD,CAAtB;AA4BA,QAAM;AAAEG,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MAAwCvD,YAAY,CAACE,QAAQ,CAAC,MAAM;AACxE,WACE0C,KAAK,CAACX,KAAN,IACA,CAACI,KAAK,CAACnB,KADP,IAEA,CAACmB,KAAK,CAACrB,QAHF,GAIHqB,KAAK,CAACvB,KAJH,GAIWyB,SAJlB;AAKD,GANkE,CAAT,CAA1D;AAOA,QAAMiB,IAAI,GAAGtD,QAAQ,CAAC,MAAM;AAAA;;AAC1B,WAAO0C,KAAK,CAACX,KAAN,4BACHK,KADG,oBACHA,KAAK,CAAEf,QAAP,CAAgBU,KADb,oCACsBI,KAAK,CAACd,QAD5B,4BAEHe,KAFG,oBAEHA,KAAK,CAAEhB,SAAP,CAAiBW,KAFd,oCAEuBI,KAAK,CAACf,SAFpC;AAGD,GAJoB,CAArB;AAMA,SAAO;AACLgB,IAAAA,KADK;AAELE,IAAAA,cAFK;AAGLV,IAAAA,SAHK;AAILC,IAAAA,UAJK;AAKLa,IAAAA,KALK;AAMLU,IAAAA,gBANK;AAOLC,IAAAA,eAPK;AAQLC,IAAAA;AARK,GAAP;AAUD;AAED,OAAO,MAAMC,iBAAiB,GAAGnD,gBAAgB,GAS5C;AACHsB,EAAAA,IAAI,EAAE,mBADH;AAGH8B,EAAAA,UAAU,EAAE;AAAEzD,IAAAA;AAAF,GAHT;AAKH0D,EAAAA,YAAY,EAAE,KALX;AAOHtB,EAAAA,KAAK,EAAExB,yBAAyB,EAP7B;AASH+C,EAAAA,KAAK,EAAE;AACL,yBAAsBd,GAAD,IAAc;AAD9B,GATJ;;AAaHe,EAAAA,KAAK,CAAExB,KAAF,QAA2B;AAAA,QAAlB;AAAEyB,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAkB;AAC9B,UAAM;AACJvB,MAAAA,cADI;AAEJF,MAAAA,KAFI;AAGJkB,MAAAA,IAHI;AAIJZ,MAAAA,KAJI;AAKJU,MAAAA,gBALI;AAMJC,MAAAA,eANI;AAOJzB,MAAAA;AAPI,QAQFM,mBAAmB,CAACC,KAAD,CARvB;AASA,UAAM2B,GAAG,GAAGzD,MAAM,EAAlB;AACA,UAAMY,EAAE,GAAGjB,QAAQ,CAAC,MAAMmC,KAAK,CAAClB,EAAN,IAAa,SAAQ6C,GAAI,EAAhC,CAAnB;AACA,UAAMC,SAAS,GAAG7D,GAAG,CAAC,KAAD,CAArB;AACA,UAAM8D,cAAc,GAAG9D,GAAG,CAAC,KAAD,CAA1B;AACA,UAAM+D,KAAK,GAAG/D,GAAG,EAAjB;;AAEA,aAASgE,OAAT,CAAkBC,CAAlB,EAAiC;AAC/BJ,MAAAA,SAAS,CAAChC,KAAV,GAAkB,IAAlB;;AACA,UACE,CAACvB,sBAAD,IACCA,sBAAsB,IAAK2D,CAAC,CAACC,MAAH,CAA0BC,OAA1B,CAAkC,gBAAlC,CAF7B,EAGE;AACAL,QAAAA,cAAc,CAACjC,KAAf,GAAuB,IAAvB;AACD;AACF;;AAED,aAASuC,MAAT,GAAmB;AACjBP,MAAAA,SAAS,CAAChC,KAAV,GAAkB,KAAlB;AACAiC,MAAAA,cAAc,CAACjC,KAAf,GAAuB,KAAvB;AACD;;AAEDtB,IAAAA,SAAS,CAAC,MAAM;AAAA;;AACd,YAAMU,KAAK,GAAG0C,KAAK,CAAC1C,KAAN,GACV0C,KAAK,CAAC1C,KAAN,CAAY;AACZA,QAAAA,KAAK,EAAEgB,KAAK,CAAChB,KADD;AAEZgB,QAAAA,KAAK,EAAE;AAAEoC,UAAAA,GAAG,EAAEtD,EAAE,CAACc;AAAV;AAFK,OAAZ,CADU,GAKVI,KAAK,CAAChB,KALV;AAMA,YAAMI,IAAI,wBAAGa,KAAH,oBAAGA,KAAK,CAAEb,IAAP,CAAYQ,KAAf,gCAAwBI,KAAK,CAACZ,IAAxC;AAEA;AAAA,iBAEW,CACL,qBADK,EAEL;AACE,wCAA8BmB,KAAK,CAACX,KADtC;AAEE,2CAAiCI,KAAK,CAACrB,QAFzC;AAGE,wCAA8BqB,KAAK,CAACnB,KAHtC;AAIE,0CAAgC+C,SAAS,CAAChC,KAJ5C;AAKE,gDAAsCiC,cAAc,CAACjC,KALvD;AAME,yCAA+B,CAAAK,KAAK,QAAL,YAAAA,KAAK,CAAElB,MAAP,CAAca,KAAd,KAAuBI,KAAK,CAACjB;AAN9D,SAFK,EAULoB,cAAc,CAACP,KAVV;AAFX;AAAA,iBAegB,CACV,8BADU,EAEVqB,gBAAgB,CAACrB,KAFP;AAfhB,4BAoBQ8B,KAAK,CAACrC,OApBd,qBAoBQ,oBAAAqC,KAAK,CApBb;AAAA,iBAuBe,CACL,4BADK,CAvBf;AAAA,iBA0BgBR,eAAe,CAACtB;AA1BhC,UAiCUuB,IAAI,CAACvB,KAAL;AAAA,gBAA4BuB,IAAI,CAACvB;AAAjC,cAjCV;AAAA,yCAoCoBW,KAAK,CAACX,KApC1B;AAAA,eAqCgBkC,KArChB;AAAA,oBAsCqB9B,KAAK,CAACrB,QAtC3B;AAAA,cAuCeG,EAAE,CAACc,KAvClB;AAAA,kBAwCmBuC,MAxCnB;AAAA,mBAyCoBJ,OAzCpB;AAAA,yBA0C0B/B,KAAK,CAACR,QA1ChC;AAAA,gBA2CiBJ,IA3CjB;AAAA,iBA4CkBK,SAAS,CAACG,KA5C5B;AAAA,qCA6CiBK,KA7CjB,oBA6CiBA,KAAK,CAAEV,IAAP,CAAYK,KA7C7B,gCA6CsCI,KAAK,CAACT,IA7C5C;AAAA,wBA8CyBH,IAAI,KAAK,UAAT,GAAsBmB,KAAK,CAACX,KAA5B,GAAoCM;AA9C7D,SA+CeuB,KA/Cf,4BAoCoBlB,KAAK,CAACX,KApC1B,qBAkDU8B,KAAK,CAACI,KAlDhB,qBAkDU,kBAAAJ,KAAK,EAAS;AACdnB,QAAAA,KADc;AAEdU,QAAAA,gBAFc;AAGdjB,QAAAA,KAAK,EAAE;AACL+B,UAAAA,OADK;AAELI,UAAAA,MAFK;AAGLrD,UAAAA,EAAE,EAAEA,EAAE,CAACc;AAHF;AAHO,OAAT,CAlDf,mCA2BmBI,KAAK,CAACb,MAAN,IAAgB,CACzB,CAACa,KAAK,CAACrB,QAAP,IAAmB,CAACqB,KAAK,CAACR,QADD,EAEzB,IAFyB,EAGzB,CAAC,QAAD,EAAW,QAAX,CAHyB,CA3BnC;AAAA,eA8DkBV,EAAE,CAACc;AA9DrB;AAAA,wBA+DQZ,KA/DR;AAAA;AAmED,KA5EQ,CAAT;AA8EA,WAAO;AACL4C,MAAAA,SADK;AAELE,MAAAA;AAFK,KAAP;AAID;;AA9HE,CAT4C,CAA1C;AA4IP,OAAO,SAASO,kBAAT,CAA6BrC,KAA7B,EAAoG;AACzG,SAAO7B,IAAI,CAAC6B,KAAD,EAAQsC,MAAM,CAACC,IAAP,CAAYnB,iBAAiB,CAACpB,KAA9B,CAAR,CAAX;AACD","sourcesContent":["// Styles\nimport './VSelectionControl.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport {\n deepEqual,\n genericComponent,\n getUid,\n pick,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref, WritableComputedRef } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n isReadonly: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n textColorClasses: Ref<string[]>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport const makeSelectionControlProps = propsFactory({\n color: String,\n disabled: Boolean,\n error: Boolean,\n id: String,\n inline: Boolean,\n label: String,\n falseIcon: String,\n trueIcon: String,\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 trueValue: null,\n falseValue: null,\n modelValue: null,\n type: String,\n value: null,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeThemeProps(),\n ...makeDensityProps(),\n})\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 group?.multiple.value ||\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(() => {\n return model.value\n ? group?.trueIcon.value ?? props.trueIcon\n : group?.falseIcon.value ?? props.falseIcon\n })\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>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n default: []\n input: [SelectionControlSlot]\n }>\n}>()({\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 densityClasses,\n group,\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 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 useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const type = group?.type.value ?? props.type\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': group?.inline.value || props.inline,\n },\n densityClasses.value,\n ]}\n >\n <div class={[\n 'v-selection-control__wrapper',\n textColorClasses.value,\n ]}\n >\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n style={ textColorStyles.value }\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon icon={ icon.value } /> }\n\n <input\n v-model={ model.value }\n ref={ input }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n aria-readonly={ props.readonly }\n type={ type }\n value={ trueValue.value }\n name={ group?.name.value ?? props.name }\n aria-checked={ type === 'checkbox' ? model.value : undefined }\n { ...attrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n }) }\n </div>\n </div>\n\n <VLabel for={ id.value }>\n { label }\n </VLabel>\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n\nexport function filterControlProps (props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>>) {\n return pick(props, Object.keys(VSelectionControl.props) as any)\n}\n"],"file":"VSelectionControl.mjs"}
|
|
1
|
+
{"version":3,"file":"VSelectionControl.mjs","names":["VIcon","VLabel","VSelectionControlGroupSymbol","makeDensityProps","useDensity","makeThemeProps","useProxiedModel","useTextColor","IconValue","Ripple","computed","inject","ref","deepEqual","genericComponent","getUid","pick","propsFactory","SUPPORTS_FOCUS_VISIBLE","useRender","wrapInArray","makeSelectionControlProps","color","String","disabled","Boolean","error","id","inline","label","falseIcon","trueIcon","ripple","type","default","multiple","name","readonly","trueValue","falseValue","modelValue","value","valueComparator","Function","useSelectionControl","props","group","undefined","densityClasses","isMultiple","Array","isArray","model","get","val","some","v","set","currentValue","newVal","filter","item","textColorClasses","textColorStyles","icon","VSelectionControl","directives","inheritAttrs","emits","setup","attrs","slots","uid","isFocused","isFocusVisible","input","onFocus","e","target","matches","onBlur","for","filterControlProps","Object","keys"],"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 { VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport {\n deepEqual,\n genericComponent,\n getUid,\n pick,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref, WritableComputedRef } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n isReadonly: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n textColorClasses: Ref<string[]>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport const makeSelectionControlProps = propsFactory({\n color: String,\n disabled: Boolean,\n error: Boolean,\n id: String,\n inline: Boolean,\n label: String,\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 trueValue: null,\n falseValue: null,\n modelValue: null,\n type: String,\n value: null,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeThemeProps(),\n ...makeDensityProps(),\n})\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 group?.multiple.value ||\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(() => {\n return model.value\n ? group?.trueIcon.value ?? props.trueIcon\n : group?.falseIcon.value ?? props.falseIcon\n })\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>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n default: []\n input: [SelectionControlSlot]\n }>\n}>()({\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 densityClasses,\n group,\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 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 useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const type = group?.type.value ?? props.type\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': group?.inline.value || props.inline,\n },\n densityClasses.value,\n ]}\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 icon={ icon.value } /> }\n\n <input\n v-model={ model.value }\n ref={ input }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n aria-readonly={ props.readonly }\n type={ type }\n value={ trueValue.value }\n name={ group?.name.value ?? props.name }\n aria-checked={ type === 'checkbox' ? model.value : undefined }\n { ...attrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n }) }\n </div>\n </div>\n\n <VLabel for={ id.value }>\n { label }\n </VLabel>\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n\nexport function filterControlProps (props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>>) {\n return pick(props, Object.keys(VSelectionControl.props) as any)\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["VSelectionControl"],"sources":["../../../src/components/VSelectionControl/index.ts"],"sourcesContent":["export { VSelectionControl } from './VSelectionControl'\n"],"mappings":"SAASA,iB"}
|
|
@@ -2,7 +2,8 @@ import { createVNode as _createVNode } from "vue";
|
|
|
2
2
|
// Styles
|
|
3
3
|
import "./VSelectionControlGroup.css"; // Composables
|
|
4
4
|
|
|
5
|
-
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
5
|
+
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
6
|
+
import { IconValue } from "../../composables/icons.mjs"; // Utilities
|
|
6
7
|
|
|
7
8
|
import { computed, provide, toRef } from 'vue';
|
|
8
9
|
import { defineComponent, getUid, useRender } from "../../util/index.mjs"; // Types
|
|
@@ -15,8 +16,8 @@ export const VSelectionControlGroup = defineComponent({
|
|
|
15
16
|
id: String,
|
|
16
17
|
inline: Boolean,
|
|
17
18
|
name: String,
|
|
18
|
-
falseIcon:
|
|
19
|
-
trueIcon:
|
|
19
|
+
falseIcon: IconValue,
|
|
20
|
+
trueIcon: IconValue,
|
|
20
21
|
multiple: {
|
|
21
22
|
type: Boolean,
|
|
22
23
|
default: null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"VSelectionControlGroup.mjs","names":["useProxiedModel","IconValue","computed","provide","toRef","defineComponent","getUid","useRender","VSelectionControlGroupSymbol","Symbol","for","VSelectionControlGroup","name","props","disabled","Boolean","id","String","inline","falseIcon","trueIcon","multiple","type","default","readonly","modelValue","emits","val","setup","slots","uid","value","Array","isArray","undefined"],"sources":["../../../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx"],"sourcesContent":["// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { defineComponent, getUid, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n disabled: Ref<boolean>\n inline: Ref<boolean>\n name: Ref<string | undefined>\n modelValue: Ref<any>\n multiple: Ref<boolean>\n trueIcon: Ref<IconValue | undefined>\n falseIcon: Ref<IconValue | undefined>\n readonly: Ref<boolean>\n type: Ref<string | undefined>\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const VSelectionControlGroup = defineComponent({\n name: 'VSelectionControlGroup',\n\n props: {\n disabled: Boolean,\n id: String,\n inline: Boolean,\n name: String,\n falseIcon: IconValue,\n trueIcon: IconValue,\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n readonly: Boolean,\n type: String,\n modelValue: null,\n },\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 provide(VSelectionControlGroupSymbol, {\n disabled: toRef(props, 'disabled'),\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 type: toRef(props, 'type'),\n })\n\n useRender(() => {\n return (\n <div\n class=\"v-selection-control-group\"\n aria-labelled-by={ props.type === 'radio' ? id.value : undefined }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots?.default?.() }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n"],"mappings":";AAAA;AACA,sC,CAEA;;SACSA,e;SACAC,S,uCAET;;AACA,SAASC,QAAT,EAAmBC,OAAnB,EAA4BC,KAA5B,QAAyC,KAAzC;SACSC,e,EAAiBC,M,EAAQC,S,gCAElC;;AAeA,OAAO,MAAMC,4BAAkE,GAAGC,MAAM,CAACC,GAAP,CAAW,iCAAX,CAA3E;AAEP,OAAO,MAAMC,sBAAsB,GAAGN,eAAe,CAAC;EACpDO,IAAI,EAAE,wBAD8C;EAGpDC,KAAK,EAAE;IACLC,QAAQ,EAAEC,OADL;IAELC,EAAE,EAAEC,MAFC;IAGLC,MAAM,EAAEH,OAHH;IAILH,IAAI,EAAEK,MAJD;IAKLE,SAAS,EAAElB,SALN;IAMLmB,QAAQ,EAAEnB,SANL;IAOLoB,QAAQ,EAAE;MACRC,IAAI,EAAEP,OADE;MAERQ,OAAO,EAAE;IAFD,CAPL;IAWLC,QAAQ,EAAET,OAXL;IAYLO,IAAI,EAAEL,MAZD;IAaLQ,UAAU,EAAE;EAbP,CAH6C;EAmBpDC,KAAK,EAAE;IACL,qBAAsBC,GAAD,IAAc;EAD9B,CAnB6C;;EAuBpDC,KAAK,CAAEf,KAAF,QAAoB;IAAA,IAAX;MAAEgB;IAAF,CAAW;IACvB,MAAMJ,UAAU,GAAGzB,eAAe,CAACa,KAAD,EAAQ,YAAR,CAAlC;IACA,MAAMiB,GAAG,GAAGxB,MAAM,EAAlB;IACA,MAAMU,EAAE,GAAGd,QAAQ,CAAC,MAAMW,KAAK,CAACG,EAAN,IAAa,6BAA4Bc,GAAI,EAApD,CAAnB;IACA,MAAMlB,IAAI,GAAGV,QAAQ,CAAC,MAAMW,KAAK,CAACD,IAAN,IAAcI,EAAE,CAACe,KAAxB,CAArB;IAEA5B,OAAO,CAACK,4BAAD,EAA+B;MACpCM,QAAQ,EAAEV,KAAK,CAACS,KAAD,EAAQ,UAAR,CADqB;MAEpCK,MAAM,EAAEd,KAAK,CAACS,KAAD,EAAQ,QAAR,CAFuB;MAGpCY,UAHoC;MAIpCJ,QAAQ,EAAEnB,QAAQ,CAAC,MAAM,CAAC,CAACW,KAAK,CAACQ,QAAR,IAAqBR,KAAK,CAACQ,QAAN,IAAkB,IAAlB,IAA0BW,KAAK,CAACC,OAAN,CAAcR,UAAU,CAACM,KAAzB,CAAtD,CAJkB;MAKpCnB,IALoC;MAMpCO,SAAS,EAAEf,KAAK,CAACS,KAAD,EAAQ,WAAR,CANoB;MAOpCO,QAAQ,EAAEhB,KAAK,CAACS,KAAD,EAAQ,UAAR,CAPqB;MAQpCW,QAAQ,EAAEpB,KAAK,CAACS,KAAD,EAAQ,UAAR,CARqB;MASpCS,IAAI,EAAElB,KAAK,CAACS,KAAD,EAAQ,MAAR;IATyB,CAA/B,CAAP;IAYAN,SAAS,CAAC,MAAM;MAAA;;MACd;QAAA,SAEU,2BAFV;QAAA,oBAGuBM,KAAK,CAACS,IAAN,KAAe,OAAf,GAAyBN,EAAE,CAACe,KAA5B,GAAoCG,SAH3D;QAAA,QAIWrB,KAAK,CAACS,IAAN,KAAe,OAAf,GAAyB,YAAzB,GAAwCY;MAJnD,IAMML,KANN,sCAMMA,KAAK,CAAEN,OANb,qBAMM,oBAAAM,KAAK,CANX;IASD,CAVQ,CAAT;IAYA,OAAO,EAAP;EACD;;AAtDmD,CAAD,CAA9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["VSelectionControlGroup"],"sources":["../../../src/components/VSelectionControlGroup/index.ts"],"sourcesContent":["export { VSelectionControlGroup } from './VSelectionControlGroup'\n"],"mappings":"SAASA,sB"}
|
|
@@ -5,6 +5,7 @@ import "./VSheet.css"; // Composables
|
|
|
5
5
|
import { makeBorderProps, useBorder } from "../../composables/border.mjs";
|
|
6
6
|
import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
|
|
7
7
|
import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
|
|
8
|
+
import { makeLocationProps, useLocation } from "../../composables/location.mjs";
|
|
8
9
|
import { makePositionProps, usePosition } from "../../composables/position.mjs";
|
|
9
10
|
import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
|
|
10
11
|
import { makeTagProps } from "../../composables/tag.mjs";
|
|
@@ -20,6 +21,7 @@ export const VSheet = defineComponent({
|
|
|
20
21
|
...makeBorderProps(),
|
|
21
22
|
...makeDimensionProps(),
|
|
22
23
|
...makeElevationProps(),
|
|
24
|
+
...makeLocationProps(),
|
|
23
25
|
...makePositionProps(),
|
|
24
26
|
...makeRoundedProps(),
|
|
25
27
|
...makeTagProps(),
|
|
@@ -47,15 +49,17 @@ export const VSheet = defineComponent({
|
|
|
47
49
|
elevationClasses
|
|
48
50
|
} = useElevation(props);
|
|
49
51
|
const {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
locationStyles
|
|
53
|
+
} = useLocation(props);
|
|
54
|
+
const {
|
|
55
|
+
positionClasses
|
|
52
56
|
} = usePosition(props);
|
|
53
57
|
const {
|
|
54
58
|
roundedClasses
|
|
55
59
|
} = useRounded(props);
|
|
56
60
|
return () => _createVNode(props.tag, {
|
|
57
61
|
"class": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value],
|
|
58
|
-
"style": [backgroundColorStyles.value, dimensionStyles.value,
|
|
62
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value]
|
|
59
63
|
}, slots);
|
|
60
64
|
}
|
|
61
65
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"VSheet.mjs","names":["makeBorderProps","useBorder","makeDimensionProps","useDimension","makeElevationProps","useElevation","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeTagProps","useBackgroundColor","makeThemeProps","provideTheme","toRef","defineComponent","VSheet","name","props","color","String","setup","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","value"],"sources":["../../../src/components/VSheet/VSheet.tsx"],"sourcesContent":["// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\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 { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VSheet = defineComponent({\n name: 'VSheet',\n\n props: {\n color: String,\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\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 return () => (\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 ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n"],"mappings":";AAAA;AACA,sB,CAEA;;SACSA,e,EAAiBC,S;SACjBC,kB,EAAoBC,Y;SACpBC,kB,EAAoBC,Y;SACpBC,iB,EAAmBC,W;SACnBC,iB,EAAmBC,W;SACnBC,gB,EAAkBC,U;SAClBC,Y;SACAC,kB;SACAC,c,EAAgBC,Y,uCAEzB;;AACA,SAASC,KAAT,QAAsB,KAAtB;SACSC,e;AAET,OAAO,MAAMC,MAAM,GAAGD,eAAe,CAAC;EACpCE,IAAI,EAAE,QAD8B;EAGpCC,KAAK,EAAE;IACLC,KAAK,EAAEC,MADF;IAGL,GAAGtB,eAAe,EAHb;IAIL,GAAGE,kBAAkB,EAJhB;IAKL,GAAGE,kBAAkB,EALhB;IAML,GAAGE,iBAAiB,EANf;IAOL,GAAGE,iBAAiB,EAPf;IAQL,GAAGE,gBAAgB,EARd;IASL,GAAGE,YAAY,EATV;IAUL,GAAGE,cAAc;EAVZ,CAH6B;;EAgBpCS,KAAK,CAAEH,KAAF,QAAoB;IAAA,IAAX;MAAEI;IAAF,CAAW;IACvB,MAAM;MAAEC;IAAF,IAAmBV,YAAY,CAACK,KAAD,CAArC;IACA,MAAM;MAAEM,sBAAF;MAA0BC;IAA1B,IAAoDd,kBAAkB,CAACG,KAAK,CAACI,KAAD,EAAQ,OAAR,CAAN,CAA5E;IACA,MAAM;MAAEQ;IAAF,IAAoB3B,SAAS,CAACmB,KAAD,CAAnC;IACA,MAAM;MAAES;IAAF,IAAsB1B,YAAY,CAACiB,KAAD,CAAxC;IACA,MAAM;MAAEU;IAAF,IAAuBzB,YAAY,CAACe,KAAD,CAAzC;IACA,MAAM;MAAEW;IAAF,IAAqBxB,WAAW,CAACa,KAAD,CAAtC;IACA,MAAM;MAAEY;IAAF,IAAsBvB,WAAW,CAACW,KAAD,CAAvC;IACA,MAAM;MAAEa;IAAF,IAAqBtB,UAAU,CAACS,KAAD,CAArC;IAEA,OAAO;MAAA,SAEI,CACL,SADK,EAELK,YAAY,CAACS,KAFR,EAGLR,sBAAsB,CAACQ,KAHlB,EAILN,aAAa,CAACM,KAJT,EAKLJ,gBAAgB,CAACI,KALZ,EAMLF,eAAe,CAACE,KANX,EAOLD,cAAc,CAACC,KAPV,CAFJ;MAAA,SAWI,CACLP,qBAAqB,CAACO,KADjB,EAELL,eAAe,CAACK,KAFX,EAGLH,cAAc,CAACG,KAHV;IAXJ,GAgBOV,KAhBP,CAAP;EAmBD;;AA7CmC,CAAD,CAA9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["VSheet"],"sources":["../../../src/components/VSheet/index.ts"],"sourcesContent":["export { VSheet } from './VSheet'\n"],"mappings":"SAASA,M"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSkeletonLoader/VSkeletonLoader.ts"],"names":["Elevatable","Measurable","Themeable","mixins","getSlot","extend","name","props","boilerplate","Boolean","loading","tile","transition","String","type","types","Object","default","computed","attrs","isLoading","$attrs","role","classes","themeClasses","elevationClasses","$scopedSlots","rootTypes","actions","article","avatar","button","card","chip","heading","image","paragraph","sentences","table","text","methods","genBone","children","$createElement","staticClass","genBones","bone","length","split","generator","genStructure","Array","from","map","indexOf","mapBones","push","genSkeleton","on","afterEnter","resetStyles","beforeEnter","onBeforeEnter","beforeLeave","onBeforeLeave","leaveCancelled","bones","replace","el","_initialStyle","display","style","setProperty","render","h","$listeners","class","measurableStyles","undefined"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VSkeletonLoader.sass'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\nimport { PropValidator } from 'vue/types/options'\n\nexport interface HTMLSkeletonLoaderElement extends HTMLElement {\n _initialStyle?: {\n display: string | null\n transition: string\n }\n}\n\n/* @vue/component */\nexport default mixins(\n Elevatable,\n Measurable,\n Themeable,\n).extend({\n name: 'VSkeletonLoader',\n\n props: {\n boilerplate: Boolean,\n loading: Boolean,\n tile: Boolean,\n transition: String,\n type: String,\n types: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Record<string, string>>,\n },\n\n computed: {\n attrs (): object {\n if (!this.isLoading) return this.$attrs\n\n return !this.boilerplate ? {\n 'aria-busy': true,\n 'aria-live': 'polite',\n role: 'alert',\n ...this.$attrs,\n } : {}\n },\n classes (): object {\n return {\n 'v-skeleton-loader--boilerplate': this.boilerplate,\n 'v-skeleton-loader--is-loading': this.isLoading,\n 'v-skeleton-loader--tile': this.tile,\n ...this.themeClasses,\n ...this.elevationClasses,\n }\n },\n isLoading (): boolean {\n return !('default' in this.$scopedSlots) || this.loading\n },\n rootTypes (): Record<string, string> {\n return {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, card-heading',\n 'card-avatar': 'image, list-item-avatar',\n 'card-heading': 'heading',\n chip: 'chip',\n 'date-picker': 'list-item, card-heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n paragraph: 'text@3',\n sentences: 'text@2',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'heading, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'table-cell@6',\n 'table-cell': 'text',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n ...this.types,\n }\n },\n },\n\n methods: {\n genBone (text: string, children: VNode[]) {\n return this.$createElement('div', {\n staticClass: `v-skeleton-loader__${text} v-skeleton-loader__bone`,\n }, children)\n },\n genBones (bone: string): VNode[] {\n // e.g. 'text@3'\n const [type, length] = bone.split('@') as [string, number]\n const generator = () => this.genStructure(type)\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({ length }).map(generator)\n },\n // Fix type when this is merged\n // https://github.com/microsoft/TypeScript/pull/33050\n genStructure (type?: string): any {\n let children = []\n type = type || this.type || ''\n const bone = this.rootTypes[type] || ''\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.indexOf(',') > -1) return this.mapBones(type)\n // Array of values - e.g. 'paragraph@4'\n else if (type.indexOf('@') > -1) return this.genBones(type)\n // Array of values - e.g. 'card@2'\n else if (bone.indexOf(',') > -1) children = this.mapBones(bone)\n // Array of values - e.g. 'list-item@2'\n else if (bone.indexOf('@') > -1) children = this.genBones(bone)\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(this.genStructure(bone))\n\n return [this.genBone(type, children)]\n },\n genSkeleton () {\n const children = []\n\n if (!this.isLoading) children.push(getSlot(this))\n else children.push(this.genStructure())\n\n /* istanbul ignore else */\n if (!this.transition) return children\n\n /* istanbul ignore next */\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n // Only show transition when\n // content has been loaded\n on: {\n afterEnter: this.resetStyles,\n beforeEnter: this.onBeforeEnter,\n beforeLeave: this.onBeforeLeave,\n leaveCancelled: this.resetStyles,\n },\n }, children)\n },\n mapBones (bones: string) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(this.genStructure)\n },\n onBeforeEnter (el: HTMLSkeletonLoaderElement) {\n this.resetStyles(el)\n\n if (!this.isLoading) return\n\n el._initialStyle = {\n display: el.style.display,\n transition: el.style.transition,\n }\n\n el.style.setProperty('transition', 'none', 'important')\n },\n onBeforeLeave (el: HTMLSkeletonLoaderElement) {\n el.style.setProperty('display', 'none', 'important')\n },\n resetStyles (el: HTMLSkeletonLoaderElement) {\n if (!el._initialStyle) return\n\n el.style.display = el._initialStyle.display || ''\n el.style.transition = el._initialStyle.transition\n\n delete el._initialStyle\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-skeleton-loader',\n attrs: this.attrs,\n on: this.$listeners,\n class: this.classes,\n style: this.isLoading ? this.measurableStyles : undefined,\n }, [this.genSkeleton()])\n },\n})\n"],"file":"VSkeletonLoader.mjs"}
|
|
1
|
+
{"version":3,"file":"VSkeletonLoader.mjs","names":["Elevatable","Measurable","Themeable","mixins","getSlot","extend","name","props","boilerplate","Boolean","loading","tile","transition","String","type","types","Object","default","computed","attrs","isLoading","$attrs","role","classes","themeClasses","elevationClasses","$scopedSlots","rootTypes","actions","article","avatar","button","card","chip","heading","image","paragraph","sentences","table","text","methods","genBone","children","$createElement","staticClass","genBones","bone","length","split","generator","genStructure","Array","from","map","indexOf","mapBones","push","genSkeleton","on","afterEnter","resetStyles","beforeEnter","onBeforeEnter","beforeLeave","onBeforeLeave","leaveCancelled","bones","replace","el","_initialStyle","display","style","setProperty","render","h","$listeners","class","measurableStyles","undefined"],"sources":["../../../src/components/VSkeletonLoader/VSkeletonLoader.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VSkeletonLoader.sass'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\nimport { PropValidator } from 'vue/types/options'\n\nexport interface HTMLSkeletonLoaderElement extends HTMLElement {\n _initialStyle?: {\n display: string | null\n transition: string\n }\n}\n\n/* @vue/component */\nexport default mixins(\n Elevatable,\n Measurable,\n Themeable,\n).extend({\n name: 'VSkeletonLoader',\n\n props: {\n boilerplate: Boolean,\n loading: Boolean,\n tile: Boolean,\n transition: String,\n type: String,\n types: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Record<string, string>>,\n },\n\n computed: {\n attrs (): object {\n if (!this.isLoading) return this.$attrs\n\n return !this.boilerplate ? {\n 'aria-busy': true,\n 'aria-live': 'polite',\n role: 'alert',\n ...this.$attrs,\n } : {}\n },\n classes (): object {\n return {\n 'v-skeleton-loader--boilerplate': this.boilerplate,\n 'v-skeleton-loader--is-loading': this.isLoading,\n 'v-skeleton-loader--tile': this.tile,\n ...this.themeClasses,\n ...this.elevationClasses,\n }\n },\n isLoading (): boolean {\n return !('default' in this.$scopedSlots) || this.loading\n },\n rootTypes (): Record<string, string> {\n return {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, card-heading',\n 'card-avatar': 'image, list-item-avatar',\n 'card-heading': 'heading',\n chip: 'chip',\n 'date-picker': 'list-item, card-heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n paragraph: 'text@3',\n sentences: 'text@2',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'heading, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'table-cell@6',\n 'table-cell': 'text',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n ...this.types,\n }\n },\n },\n\n methods: {\n genBone (text: string, children: VNode[]) {\n return this.$createElement('div', {\n staticClass: `v-skeleton-loader__${text} v-skeleton-loader__bone`,\n }, children)\n },\n genBones (bone: string): VNode[] {\n // e.g. 'text@3'\n const [type, length] = bone.split('@') as [string, number]\n const generator = () => this.genStructure(type)\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({ length }).map(generator)\n },\n // Fix type when this is merged\n // https://github.com/microsoft/TypeScript/pull/33050\n genStructure (type?: string): any {\n let children = []\n type = type || this.type || ''\n const bone = this.rootTypes[type] || ''\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.indexOf(',') > -1) return this.mapBones(type)\n // Array of values - e.g. 'paragraph@4'\n else if (type.indexOf('@') > -1) return this.genBones(type)\n // Array of values - e.g. 'card@2'\n else if (bone.indexOf(',') > -1) children = this.mapBones(bone)\n // Array of values - e.g. 'list-item@2'\n else if (bone.indexOf('@') > -1) children = this.genBones(bone)\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(this.genStructure(bone))\n\n return [this.genBone(type, children)]\n },\n genSkeleton () {\n const children = []\n\n if (!this.isLoading) children.push(getSlot(this))\n else children.push(this.genStructure())\n\n /* istanbul ignore else */\n if (!this.transition) return children\n\n /* istanbul ignore next */\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n // Only show transition when\n // content has been loaded\n on: {\n afterEnter: this.resetStyles,\n beforeEnter: this.onBeforeEnter,\n beforeLeave: this.onBeforeLeave,\n leaveCancelled: this.resetStyles,\n },\n }, children)\n },\n mapBones (bones: string) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(this.genStructure)\n },\n onBeforeEnter (el: HTMLSkeletonLoaderElement) {\n this.resetStyles(el)\n\n if (!this.isLoading) return\n\n el._initialStyle = {\n display: el.style.display,\n transition: el.style.transition,\n }\n\n el.style.setProperty('transition', 'none', 'important')\n },\n onBeforeLeave (el: HTMLSkeletonLoaderElement) {\n el.style.setProperty('display', 'none', 'important')\n },\n resetStyles (el: HTMLSkeletonLoaderElement) {\n if (!el._initialStyle) return\n\n el.style.display = el._initialStyle.display || ''\n el.style.transition = el._initialStyle.transition\n\n delete el._initialStyle\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-skeleton-loader',\n attrs: this.attrs,\n on: this.$listeners,\n class: this.classes,\n style: this.isLoading ? this.measurableStyles : undefined,\n }, [this.genSkeleton()])\n },\n})\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["VSkeletonLoader"],"sources":["../../../src/components/VSkeletonLoader/index.ts"],"sourcesContent":["import VSkeletonLoader from './VSkeletonLoader'\n\nexport { VSkeletonLoader }\nexport default VSkeletonLoader\n"],"mappings":"OAAOA,e;AAEP,SAASA,eAAT;AACA,eAAeA,eAAf"}
|
|
@@ -9,7 +9,8 @@ import { makeGroupProps, useGroup } from "../../composables/group.mjs";
|
|
|
9
9
|
import { makeTagProps } from "../../composables/tag.mjs";
|
|
10
10
|
import { useDisplay } from "../../composables/index.mjs";
|
|
11
11
|
import { useResizeObserver } from "../../composables/resizeObserver.mjs";
|
|
12
|
-
import { useRtl } from "../../composables/rtl.mjs";
|
|
12
|
+
import { useRtl } from "../../composables/rtl.mjs";
|
|
13
|
+
import { IconValue } from "../../composables/icons.mjs"; // Utilities
|
|
13
14
|
|
|
14
15
|
import { bias, calculateCenteredOffset, calculateUpdatedOffset } from "./helpers.mjs";
|
|
15
16
|
import { clamp, defineComponent, useRender } from "../../util/index.mjs";
|
|
@@ -29,11 +30,11 @@ export const VSlideGroup = defineComponent({
|
|
|
29
30
|
default: VSlideGroupSymbol
|
|
30
31
|
},
|
|
31
32
|
nextIcon: {
|
|
32
|
-
type:
|
|
33
|
+
type: IconValue,
|
|
33
34
|
default: '$next'
|
|
34
35
|
},
|
|
35
36
|
prevIcon: {
|
|
36
|
-
type:
|
|
37
|
+
type: IconValue,
|
|
37
38
|
default: '$prev'
|
|
38
39
|
},
|
|
39
40
|
showArrows: {
|