@vuetify/nightly 3.0.0-beta.0 → 3.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -2
- package/dist/_component-variables.sass +61 -0
- package/dist/json/attributes.json +662 -430
- package/dist/json/importMap.json +222 -198
- package/dist/json/tags.json +184 -96
- package/dist/json/web-types.json +2021 -1152
- package/dist/vuetify.css +1869 -1468
- package/dist/vuetify.d.ts +12840 -9217
- package/dist/vuetify.esm.js +6121 -5104
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +6120 -5103
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +3 -3
- package/dist/vuetify.min.js +1085 -964
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +34 -13
- package/lib/components/VAlert/VAlert.mjs +43 -24
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.sass +26 -8
- package/lib/components/VAlert/VAlertTitle.mjs +1 -0
- package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
- package/lib/components/VAlert/_variables.scss +14 -7
- package/lib/components/VAlert/index.mjs.map +1 -1
- package/lib/components/VApp/VApp.css +1 -0
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/VApp.sass +1 -0
- package/lib/components/VApp/index.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +11 -7
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBar.sass +0 -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 +133 -101
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
- package/lib/components/VAutocomplete/index.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.css +1 -1
- package/lib/components/VAvatar/VAvatar.mjs +17 -15
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.sass +1 -2
- package/lib/components/VAvatar/_mixins.scss +0 -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 -5
- package/lib/components/VBadge/_variables.scss +1 -2
- package/lib/components/VBadge/index.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.css +82 -58
- package/lib/components/VBanner/VBanner.mjs +49 -48
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.sass +61 -55
- package/lib/components/VBanner/VBannerActions.mjs +34 -2
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/VBannerAvatar.mjs +20 -0
- package/lib/components/VBanner/VBannerAvatar.mjs.map +1 -0
- package/lib/components/VBanner/VBannerIcon.mjs +20 -0
- package/lib/components/VBanner/VBannerIcon.mjs.map +1 -0
- package/lib/components/VBanner/VBannerText.mjs.map +1 -1
- package/lib/components/VBanner/_variables.scss +10 -14
- package/lib/components/VBanner/index.mjs +2 -0
- 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 -2
- 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 +5 -2
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +0 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +10 -9
- 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 +56 -11
- package/lib/components/VBtn/VBtn.mjs +51 -20
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +35 -4
- package/lib/components/VBtn/_variables.scss +2 -0
- package/lib/components/VBtn/index.mjs.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +14 -6
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +14 -7
- package/lib/components/VBtnGroup/index.mjs.map +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.sass +0 -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 +23 -20
- package/lib/components/VCard/VCard.mjs +17 -9
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCard.sass +12 -10
- package/lib/components/VCard/VCardActions.mjs +1 -2
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardAvatar.mjs.map +1 -1
- package/lib/components/VCard/VCardContent.mjs +3 -0
- package/lib/components/VCard/VCardContent.mjs.map +1 -0
- 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/_variables.scss +11 -5
- package/lib/components/VCard/index.mjs +1 -0
- package/lib/components/VCard/index.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.mjs +4 -3
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.sass +0 -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 +15 -47
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.sass +0 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
- package/lib/components/VCheckbox/index.mjs +1 -0
- package/lib/components/VCheckbox/index.mjs.map +1 -1
- package/lib/components/VChip/VChip.css +8 -5
- package/lib/components/VChip/VChip.mjs +6 -5
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/VChip.sass +3 -1
- package/lib/components/VChip/_variables.scss +3 -0
- package/lib/components/VChip/index.mjs.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.mjs +1 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.mjs.map +1 -1
- package/lib/components/VCode/VCode.sass +1 -2
- package/lib/components/VCode/_variables.scss +1 -1
- package/lib/components/VCode/index.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -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 +140 -110
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +0 -2
- package/lib/components/VCombobox/index.mjs.map +1 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/VCounter.sass +0 -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 +31 -12
- package/lib/components/VDialog/VDialog.mjs +14 -12
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +27 -12
- package/lib/components/VDialog/_variables.scss +3 -7
- package/lib/components/VDialog/index.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.sass +0 -1
- package/lib/components/VDivider/index.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +8 -6
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +6 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +0 -1
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +9 -6
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -0
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.mjs.map +1 -1
- package/lib/components/VField/VField.css +10 -10
- package/lib/components/VField/VField.mjs +12 -11
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +7 -9
- package/lib/components/VField/VFieldLabel.mjs.map +1 -1
- package/lib/components/VField/_variables.scss +3 -3
- package/lib/components/VField/index.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.mjs +5 -3
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +0 -1
- package/lib/components/VFileInput/index.mjs.map +1 -1
- package/lib/components/VFooter/VFooter.mjs +32 -15
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/VFooter.sass +0 -1
- package/lib/components/VFooter/index.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs +25 -11
- 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.css +27 -12
- package/lib/components/VIcon/VIcon.mjs +18 -17
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.sass +27 -17
- package/lib/components/VIcon/_variables.scss +1 -0
- package/lib/components/VIcon/index.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +0 -1
- package/lib/components/VImg/index.mjs.map +1 -1
- package/lib/components/VInput/VInput.css +3 -1
- package/lib/components/VInput/VInput.mjs +10 -10
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +3 -2
- package/lib/components/VInput/_variables.scss +4 -0
- 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/VItemGroup.sass +0 -1
- package/lib/components/VItemGroup/index.mjs.map +1 -1
- package/lib/components/VKbd/VKbd.sass +0 -1
- package/lib/components/VKbd/_variables.scss +1 -1
- package/lib/components/VKbd/index.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.sass +0 -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 +7 -12
- package/lib/components/VList/VList.mjs +83 -48
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +3 -4
- package/lib/components/VList/VListChildren.mjs +41 -3
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +43 -15
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListImg.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +129 -51
- package/lib/components/VList/VListItem.mjs +49 -44
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +77 -30
- package/lib/components/VList/VListItemAction.mjs +29 -0
- package/lib/components/VList/VListItemAction.mjs.map +1 -0
- package/lib/components/VList/VListItemAvatar.mjs +10 -16
- package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
- package/lib/components/VList/VListItemHeader.mjs.map +1 -1
- package/lib/components/VList/VListItemIcon.mjs +23 -0
- package/lib/components/VList/VListItemIcon.mjs.map +1 -0
- package/lib/components/VList/VListItemMedia.mjs +4 -4
- 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 +12 -4
- package/lib/components/VList/index.mjs +2 -0
- 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/VMain.sass +0 -1
- package/lib/components/VMain/index.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.css +2 -12
- package/lib/components/VMenu/VMenu.mjs +65 -31
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.sass +3 -7
- package/lib/components/VMenu/_variables.scss +0 -1
- package/lib/components/VMenu/index.mjs.map +1 -1
- package/lib/components/VMenu/shared.mjs +2 -0
- package/lib/components/VMenu/shared.mjs.map +1 -0
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.sass +0 -1
- package/lib/components/VMessages/index.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +13 -9
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -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 +7 -0
- package/lib/components/VOverlay/VOverlay.mjs +57 -32
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +8 -1
- package/lib/components/VOverlay/index.mjs.map +1 -1
- package/lib/components/VOverlay/{positionStrategies.mjs → locationStrategies.mjs} +39 -36
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
- package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +11 -2
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +57 -15
- 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 +16 -17
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.sass +0 -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/VProgressCircular.sass +0 -1
- package/lib/components/VProgressCircular/index.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
- package/lib/components/VProgressLinear/index.mjs.map +1 -1
- package/lib/components/VRadio/VRadio.mjs +6 -5
- package/lib/components/VRadio/VRadio.mjs.map +1 -1
- package/lib/components/VRadio/index.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +11 -6
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +5 -2
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.mjs.map +1 -1
- package/lib/components/VRating/VRating.css +2 -2
- package/lib/components/VRating/VRating.mjs +17 -6
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/VRating.sass +2 -3
- 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 +134 -107
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.sass +0 -2
- package/lib/components/VSelect/index.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
- package/lib/components/VSelectionControl/VSelectionControl.mjs +15 -12
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
- package/lib/components/VSelectionControl/index.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +6 -5
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +0 -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/VSheet.sass +0 -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.css +0 -5
- package/lib/components/VSlideGroup/VSlideGroup.mjs +40 -17
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.sass +0 -5
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs +3 -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.css +7 -2
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.sass +11 -7
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.sass +0 -2
- package/lib/components/VSlider/VSliderTrack.css +6 -6
- package/lib/components/VSlider/VSliderTrack.mjs +3 -2
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.sass +7 -9
- package/lib/components/VSlider/_variables.scss +5 -2
- package/lib/components/VSlider/index.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +19 -36
- package/lib/components/VSnackbar/VSnackbar.mjs +38 -19
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +15 -35
- package/lib/components/VSnackbar/_variables.scss +0 -4
- 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 +15 -6
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.sass +0 -1
- package/lib/components/VSwitch/index.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.css +0 -5
- package/lib/components/VSystemBar/VSystemBar.mjs +31 -14
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.sass +0 -6
- package/lib/components/VSystemBar/_variables.scss +0 -3
- package/lib/components/VSystemBar/index.mjs.map +1 -1
- package/lib/components/VTable/VTable.mjs.map +1 -1
- package/lib/components/VTable/VTable.sass +0 -1
- package/lib/components/VTable/index.mjs.map +1 -1
- package/lib/components/VTabs/VTab.css +1 -1
- package/lib/components/VTabs/VTab.mjs +33 -36
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTab.sass +1 -2
- package/lib/components/VTabs/VTabs.css +14 -11
- package/lib/components/VTabs/VTabs.mjs +7 -8
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.sass +10 -7
- package/lib/components/VTabs/_variables.scss +1 -1
- package/lib/components/VTabs/index.mjs.map +1 -1
- package/lib/components/VTabs/shared.mjs +2 -0
- package/lib/components/VTabs/shared.mjs.map +1 -0
- package/lib/components/VTextField/VTextField.css +4 -4
- package/lib/components/VTextField/VTextField.mjs +9 -10
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.sass +5 -6
- package/lib/components/VTextField/index.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.css +7 -4
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.sass +9 -7
- 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.css +187 -48
- package/lib/components/VTimeline/VTimeline.mjs +27 -11
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.sass +196 -52
- package/lib/components/VTimeline/VTimelineDivider.mjs +5 -3
- 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/_variables.scss +2 -1
- package/lib/components/VTimeline/index.mjs.map +1 -1
- package/lib/components/VTimeline/shared.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.css +8 -1
- package/lib/components/VToolbar/VToolbar.mjs +21 -17
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +2 -2
- package/lib/components/VToolbar/VToolbarItems.mjs +1 -2
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
- package/lib/components/VToolbar/_variables.scss +13 -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/VTooltip.sass +0 -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 -10
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.sass +0 -2
- package/lib/components/VWindow/VWindowItem.mjs +9 -3
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.mjs.map +1 -1
- package/lib/components/index.d.ts +13464 -9854
- 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 +2 -2
- 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 +13 -11
- 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 +24 -11
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/forwardRef.mjs +10 -6
- package/lib/composables/forwardRef.mjs.map +1 -1
- package/lib/composables/group.mjs +14 -6
- 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 +84 -0
- package/lib/composables/items.mjs.map +1 -0
- package/lib/composables/layout.mjs +10 -6
- 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 +27 -14
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/openStrategies.mjs +63 -36
- package/lib/composables/nested/openStrategies.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +163 -122
- 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 +1 -9
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/composables/rounded.mjs.map +1 -1
- package/lib/composables/router.mjs +29 -15
- 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 +19 -0
- package/lib/composables/selectLink.mjs.map +1 -0
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/ssrBoot.mjs +3 -2
- package/lib/composables/ssrBoot.mjs.map +1 -1
- package/lib/composables/stack.mjs +27 -23
- 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 +94 -93
- 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 +17 -6
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs +3 -6
- 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/VRipple.sass +0 -1
- package/lib/directives/ripple/index.mjs +15 -3
- 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 +39 -29
- 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 +161 -138
- 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 +9 -9
- 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/generic/_colors.scss +0 -1
- package/lib/styles/main.css +400 -392
- package/lib/styles/settings/_utilities.scss +54 -26
- package/lib/styles/tools/_states.sass +11 -3
- package/lib/styles/tools/_utilities.sass +1 -1
- package/lib/styles/tools/_variant.sass +6 -6
- 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 +37 -6
- 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 +20 -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 -5
- 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 +41 -31
- 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 -30
- package/lib/composables/overlay.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerCanvas.tsx"],"names":["computed","onMounted","ref","watch","clamp","convertToUnit","defineComponent","getEventCoordinates","VColorPickerCanvas","name","props","color","type","Object","disabled","Boolean","dotSize","Number","String","default","height","width","emits","hue","setup","emit","isInteracting","isOutsideUpdate","dotPosition","x","y","dotStyles","value","radius","parseInt","transform","canvasRef","updateDotPosition","rect","left","top","handleClick","e","clientX","clientY","getBoundingClientRect","handleMouseDown","preventDefault","window","addEventListener","handleMouseMove","handleMouseUp","coords","removeEventListener","h","s","v","a","updateCanvas","canvas","ctx","getContext","saturationGradient","createLinearGradient","addColorStop","fillStyle","fillRect","valueGradient","immediate","deep"],"mappings":"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","sourcesContent":["// Styles\nimport './VColorPickerCanvas.sass'\n\n// Utilities\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n\n props: {\n color: {\n type: Object as PropType<HSVA | null>,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n height: {\n type: [Number, String],\n default: 150,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n 'update:position': (hue: any) => true,\n },\n\n setup (props, { emit }) {\n const isInteracting = ref(false)\n const isOutsideUpdate = ref(false)\n const dotPosition = ref({ x: 0, y: 0 })\n\n const dotStyles = computed(() => {\n const { x, y } = dotPosition.value\n const radius = parseInt(props.dotSize, 10) / 2\n\n return {\n width: convertToUnit(props.dotSize),\n height: convertToUnit(props.dotSize),\n transform: `translate(${convertToUnit(x - radius)}, ${convertToUnit(y - radius)})`,\n }\n })\n\n const canvasRef = ref<HTMLCanvasElement | null>()\n\n function updateDotPosition (x: number, y: number, rect: DOMRect) {\n const { left, top, width, height } = rect\n dotPosition.value = {\n x: clamp(x - left, 0, width),\n y: clamp(y - top, 0, height),\n }\n }\n\n function handleClick (e: MouseEvent) {\n if (props.disabled || !canvasRef.value) return\n\n updateDotPosition(e.clientX, e.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseDown (e: MouseEvent | TouchEvent) {\n // To prevent selection while moving cursor\n e.preventDefault()\n\n if (props.disabled) return\n\n isInteracting.value = true\n\n window.addEventListener('mousemove', handleMouseMove)\n window.addEventListener('mouseup', handleMouseUp)\n window.addEventListener('touchmove', handleMouseMove)\n window.addEventListener('touchend', handleMouseUp)\n }\n\n function handleMouseMove (e: MouseEvent | TouchEvent) {\n if (props.disabled || !canvasRef.value) return\n\n isInteracting.value = true\n\n const coords = getEventCoordinates(e)\n\n updateDotPosition(coords.clientX, coords.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseUp () {\n window.removeEventListener('mousemove', handleMouseMove)\n window.removeEventListener('mouseup', handleMouseUp)\n window.removeEventListener('touchmove', handleMouseMove)\n window.removeEventListener('touchend', handleMouseUp)\n }\n\n watch(dotPosition, () => {\n if (isOutsideUpdate.value) {\n isOutsideUpdate.value = false\n return\n }\n\n if (!canvasRef.value) return\n\n const { width, height } = canvasRef.value.getBoundingClientRect()\n const { x, y } = dotPosition.value\n\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, width) / width,\n v: 1 - clamp(y, 0, height) / height,\n a: props.color?.a ?? 1,\n })\n })\n\n function updateCanvas () {\n if (!canvasRef.value) return\n\n const canvas = canvasRef.value\n const ctx = canvas.getContext('2d')\n\n if (!ctx) return\n\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0)\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)') // white\n saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`)\n ctx.fillStyle = saturationGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height)\n valueGradient.addColorStop(0, 'hsla(0, 0%, 100%, 0)') // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)') // black\n ctx.fillStyle = valueGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n }\n\n watch(() => props.color?.h, updateCanvas, { immediate: true })\n\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false\n return\n }\n\n if (!props.color) return\n\n isOutsideUpdate.value = true\n\n dotPosition.value = {\n x: props.color.s * parseInt(props.width, 10),\n y: (1 - props.color.v) * parseInt(props.height, 10),\n }\n }, { deep: true, immediate: true })\n\n onMounted(() => updateCanvas())\n\n return () => (\n <div\n class=\"v-color-picker-canvas\"\n style={{\n width: convertToUnit(props.width),\n height: convertToUnit(props.height),\n }}\n onClick={ handleClick }\n onMousedown={ handleMouseDown }\n onTouchstart={ handleMouseDown }\n >\n <canvas\n ref={ canvasRef }\n width={ props.width }\n height={ props.height }\n />\n <div\n class={[\n 'v-color-picker-canvas__dot',\n {\n 'v-color-picker-canvas__dot--disabled': props.disabled,\n },\n ]}\n style={ dotStyles.value }\n />\n </div>\n )\n },\n})\n"],"file":"VColorPickerCanvas.mjs"}
|
|
1
|
+
{"version":3,"file":"VColorPickerCanvas.mjs","names":["computed","onMounted","ref","watch","clamp","convertToUnit","defineComponent","getEventCoordinates","VColorPickerCanvas","name","props","color","type","Object","disabled","Boolean","dotSize","Number","String","default","height","width","emits","hue","setup","emit","isInteracting","isOutsideUpdate","dotPosition","x","y","dotStyles","value","radius","parseInt","transform","canvasRef","updateDotPosition","rect","left","top","handleClick","e","clientX","clientY","getBoundingClientRect","handleMouseDown","preventDefault","window","addEventListener","handleMouseMove","handleMouseUp","coords","removeEventListener","h","s","v","a","updateCanvas","canvas","ctx","getContext","saturationGradient","createLinearGradient","addColorStop","fillStyle","fillRect","valueGradient","immediate","deep"],"sources":["../../../src/components/VColorPicker/VColorPickerCanvas.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerCanvas.sass'\n\n// Utilities\nimport { computed, onMounted, ref, watch } from 'vue'\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n\n props: {\n color: {\n type: Object as PropType<HSVA | null>,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n height: {\n type: [Number, String],\n default: 150,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n 'update:position': (hue: any) => true,\n },\n\n setup (props, { emit }) {\n const isInteracting = ref(false)\n const isOutsideUpdate = ref(false)\n const dotPosition = ref({ x: 0, y: 0 })\n\n const dotStyles = computed(() => {\n const { x, y } = dotPosition.value\n const radius = parseInt(props.dotSize, 10) / 2\n\n return {\n width: convertToUnit(props.dotSize),\n height: convertToUnit(props.dotSize),\n transform: `translate(${convertToUnit(x - radius)}, ${convertToUnit(y - radius)})`,\n }\n })\n\n const canvasRef = ref<HTMLCanvasElement | null>()\n\n function updateDotPosition (x: number, y: number, rect: DOMRect) {\n const { left, top, width, height } = rect\n dotPosition.value = {\n x: clamp(x - left, 0, width),\n y: clamp(y - top, 0, height),\n }\n }\n\n function handleClick (e: MouseEvent) {\n if (props.disabled || !canvasRef.value) return\n\n updateDotPosition(e.clientX, e.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseDown (e: MouseEvent | TouchEvent) {\n // To prevent selection while moving cursor\n e.preventDefault()\n\n if (props.disabled) return\n\n isInteracting.value = true\n\n window.addEventListener('mousemove', handleMouseMove)\n window.addEventListener('mouseup', handleMouseUp)\n window.addEventListener('touchmove', handleMouseMove)\n window.addEventListener('touchend', handleMouseUp)\n }\n\n function handleMouseMove (e: MouseEvent | TouchEvent) {\n if (props.disabled || !canvasRef.value) return\n\n isInteracting.value = true\n\n const coords = getEventCoordinates(e)\n\n updateDotPosition(coords.clientX, coords.clientY, canvasRef.value.getBoundingClientRect())\n }\n\n function handleMouseUp () {\n window.removeEventListener('mousemove', handleMouseMove)\n window.removeEventListener('mouseup', handleMouseUp)\n window.removeEventListener('touchmove', handleMouseMove)\n window.removeEventListener('touchend', handleMouseUp)\n }\n\n watch(dotPosition, () => {\n if (isOutsideUpdate.value) {\n isOutsideUpdate.value = false\n return\n }\n\n if (!canvasRef.value) return\n\n const { width, height } = canvasRef.value.getBoundingClientRect()\n const { x, y } = dotPosition.value\n\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, width) / width,\n v: 1 - clamp(y, 0, height) / height,\n a: props.color?.a ?? 1,\n })\n })\n\n function updateCanvas () {\n if (!canvasRef.value) return\n\n const canvas = canvasRef.value\n const ctx = canvas.getContext('2d')\n\n if (!ctx) return\n\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0)\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)') // white\n saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`)\n ctx.fillStyle = saturationGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height)\n valueGradient.addColorStop(0, 'hsla(0, 0%, 100%, 0)') // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)') // black\n ctx.fillStyle = valueGradient\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n }\n\n watch(() => props.color?.h, updateCanvas, { immediate: true })\n\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false\n return\n }\n\n if (!props.color) return\n\n isOutsideUpdate.value = true\n\n dotPosition.value = {\n x: props.color.s * parseInt(props.width, 10),\n y: (1 - props.color.v) * parseInt(props.height, 10),\n }\n }, { deep: true, immediate: true })\n\n onMounted(() => updateCanvas())\n\n return () => (\n <div\n class=\"v-color-picker-canvas\"\n style={{\n width: convertToUnit(props.width),\n height: convertToUnit(props.height),\n }}\n onClick={ handleClick }\n onMousedown={ handleMouseDown }\n onTouchstart={ handleMouseDown }\n >\n <canvas\n ref={ canvasRef }\n width={ props.width }\n height={ props.height }\n />\n <div\n class={[\n 'v-color-picker-canvas__dot',\n {\n 'v-color-picker-canvas__dot--disabled': props.disabled,\n },\n ]}\n style={ dotStyles.value }\n />\n </div>\n )\n },\n})\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"VColorPickerEdit.mjs","names":["VBtn","computed","defineComponent","modes","VColorPickerInput","label","rest","VColorPickerEdit","name","props","color","Object","disabled","Boolean","mode","type","String","default","validator","v","keys","includes","Array","isArray","every","m","emits","setup","emit","enabledModes","map","key","inputs","value","find","to","getValue","getColor","inputProps","onChange","e","target","from","length","mi","findIndex"],"sources":["../../../src/components/VColorPicker/VColorPickerEdit.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\nimport { modes } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util/colorUtils'\n\nconst VColorPickerInput = ({ label, ...rest }: any) => {\n return (\n <div\n class=\"v-color-picker-edit__input\"\n >\n <input {...rest} />\n <span>{ label }</span>\n </div>\n )\n}\n\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: {\n color: Object as PropType<HSVA | null>,\n disabled: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<string[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n 'update:mode': (mode: string) => true,\n },\n\n setup (props, { emit }) {\n const enabledModes = computed(() => {\n return props.modes.map(key => ({ ...modes[key], name: key }))\n })\n\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode)\n\n if (!mode) return []\n\n const color = props.color ? mode.to(props.color) : {}\n\n return mode.inputs?.map(({ getValue, getColor, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: getValue(color),\n onChange: (e: InputEvent) => {\n const target = e.target as HTMLInputElement | null\n\n if (!target) return\n\n emit('update:color', mode.from(getColor(color, target.value)))\n },\n }\n })\n })\n\n return () => (\n <div\n class=\"v-color-picker-edit\"\n >\n { inputs.value?.map(props => (\n <VColorPickerInput {...props} />\n )) }\n { enabledModes.value.length > 1 && (\n <VBtn\n icon=\"$unfold\"\n size=\"x-small\"\n variant=\"plain\"\n onClick={ () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode)\n\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name)\n } }\n />\n ) }\n </div>\n )\n },\n})\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"VColorPickerPreview.mjs","names":["VSlider","defineComponent","HSVAtoCSS","nullColor","VColorPickerPreview","name","props","color","type","Object","disabled","Boolean","hideAlpha","emits","setup","emit","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Utilities\nimport { defineComponent, HSVAtoCSS } from '@/util'\nimport { nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: {\n color: {\n type: Object as PropType<HSVA | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n },\n\n setup (props, { emit }) {\n return () => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n ]}\n >\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVAtoCSS(props.color ?? nullColor) }} />\n </div>\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 0 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n ) }\n </div>\n </div>\n )\n },\n})\n"],"mappings":";AAAA;AACA,mC,CAEA;;SACSA,O,gCAET;;SACSC,e,EAAiBC,S;SACjBC,S,4BAET;;AAIA,OAAO,MAAMC,mBAAmB,GAAGH,eAAe,CAAC;EACjDI,IAAI,EAAE,qBAD2C;EAGjDC,KAAK,EAAE;IACLC,KAAK,EAAE;MACLC,IAAI,EAAEC;IADD,CADF;IAILC,QAAQ,EAAEC,OAJL;IAKLC,SAAS,EAAED;EALN,CAH0C;EAWjDE,KAAK,EAAE;IACL,gBAAiBN,KAAD,IAAiB;EAD5B,CAX0C;;EAejDO,KAAK,CAAER,KAAF,QAAmB;IAAA,IAAV;MAAES;IAAF,CAAU;IACtB,OAAO;MAAA;;MAAA;QAAA,SAEI,CACL,wBADK,EAEL;UACE,sCAAsCT,KAAK,CAACM;QAD9C,CAFK;MAFJ;QAAA,SASQ;MATR;QAAA,SAUW;UAAEI,UAAU,EAAEd,SAAS,iBAACI,KAAK,CAACC,KAAP,2BAAgBJ,SAAhB;QAAvB;MAVX;QAAA,SAYQ;MAZR;QAAA,SAcO,2DAdP;QAAA,+BAecG,KAAK,CAACC,KAfpB,qBAec,cAAaU,CAf3B;QAAA,uBAgBuBA,CAAC;UAAA;;UAAA,OAAIF,IAAI,CAAC,cAAD,EAAiB,EAAE,qBAAIT,KAAK,CAACC,KAAV,4BAAmBJ,SAAnB,CAAF;YAAiCc;UAAjC,CAAjB,CAAR;QAAA,CAhBxB;QAAA,QAiBQ,CAjBR;QAAA,OAkBO,CAlBP;QAAA,OAmBO,GAnBP;QAAA,YAoBYX,KAAK,CAACI,QApBlB;QAAA,aAqBa,EArBb;QAAA,aAsBa,CAtBb;QAAA,kBAuBgB,OAvBhB;QAAA;MAAA,UA0BC,CAACJ,KAAK,CAACM,SAAP;QAAA,SAEQ,6DAFR;QAAA,+BAGeN,KAAK,CAACC,KAHrB,qBAGe,cAAaW,CAH5B;QAAA,uBAIwBA,CAAC;UAAA;;UAAA,OAAIH,IAAI,CAAC,cAAD,EAAiB,EAAE,qBAAIT,KAAK,CAACC,KAAV,4BAAmBJ,SAAnB,CAAF;YAAiCe;UAAjC,CAAjB,CAAR;QAAA,CAJzB;QAAA,QAKS,CALT;QAAA,OAMQ,CANR;QAAA,OAOQ,CAPR;QAAA,YAQaZ,KAAK,CAACI,QARnB;QAAA,aASc,EATd;QAAA,aAUc,CAVd;QAAA,kBAWiB,OAXjB;QAAA;MAAA,QA1BD;IAAA,CAAP;EA4CD;;AA5DgD,CAAD,CAA3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"VColorPickerSwatches.mjs","names":["VIcon","convertToUnit","deepEqual","defineComponent","getContrast","colors","parseColor","parseDefaultColors","Object","keys","map","key","color","base","darken4","darken3","darken2","darken1","lighten1","lighten2","lighten3","lighten4","lighten5","black","white","transparent","VColorPickerSwatches","name","props","swatches","type","Array","default","disabled","Boolean","maxHeight","Number","String","emits","setup","emit","swatch","hsva","background","undefined"],"sources":["../../../src/components/VColorPicker/VColorPickerSwatches.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Utilities\nimport { convertToUnit, deepEqual, defineComponent, getContrast } from '@/util'\nimport colors from '@/util/colors'\nimport { parseColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n\n props: {\n swatches: {\n type: Array as PropType<string[][]>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<HSVA | null>,\n maxHeight: [Number, String],\n },\n\n emits: {\n 'update:color': (color: HSVA) => true,\n },\n\n setup (props, { emit }) {\n return () => (\n <div\n class=\"v-color-picker-swatches\"\n style={{\n maxHeight: convertToUnit(props.maxHeight),\n }}\n >\n <div>\n { props.swatches.map(swatch => (\n <div class=\"v-color-picker-swatches__swatch\">\n { swatch.map(color => {\n const hsva = parseColor(color)\n\n return (\n <div\n class=\"v-color-picker-swatches__color\"\n onClick={() => hsva && emit('update:color', hsva)}\n >\n <div style={{ background: color }}>\n { props.color && deepEqual(props.color, hsva)\n ? <VIcon size=\"x-small\" icon=\"$success\" color={getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black' } />\n : undefined\n }\n </div>\n </div>\n )\n }) }\n </div>\n ))}\n </div>\n </div>\n )\n },\n})\n"],"mappings":";AAAA;AACA,oC,CAEA;;SACSA,K,8BAET;;SACSC,a,EAAeC,S,EAAWC,e,EAAiBC,W;OAC7CC,M;SACEC,U,4BAET;;AAIA,SAASC,kBAAT,CAA6BF,MAA7B,EAA6E;EAC3E,OAAOG,MAAM,CAACC,IAAP,CAAYJ,MAAZ,EAAoBK,GAApB,CAAwBC,GAAG,IAAI;IACpC,MAAMC,KAAK,GAAGP,MAAM,CAACM,GAAD,CAApB;IACA,OAAOC,KAAK,CAACC,IAAN,GAAa,CAClBD,KAAK,CAACC,IADY,EAElBD,KAAK,CAACE,OAFY,EAGlBF,KAAK,CAACG,OAHY,EAIlBH,KAAK,CAACI,OAJY,EAKlBJ,KAAK,CAACK,OALY,EAMlBL,KAAK,CAACM,QANY,EAOlBN,KAAK,CAACO,QAPY,EAQlBP,KAAK,CAACQ,QARY,EASlBR,KAAK,CAACS,QATY,EAUlBT,KAAK,CAACU,QAVY,CAAb,GAWH,CACFV,KAAK,CAACW,KADJ,EAEFX,KAAK,CAACY,KAFJ,EAGFZ,KAAK,CAACa,WAHJ,CAXJ;EAgBD,CAlBM,CAAP;AAmBD;;AAED,OAAO,MAAMC,oBAAoB,GAAGvB,eAAe,CAAC;EAClDwB,IAAI,EAAE,sBAD4C;EAGlDC,KAAK,EAAE;IACLC,QAAQ,EAAE;MACRC,IAAI,EAAEC,KADE;MAERC,OAAO,EAAE,MAAMzB,kBAAkB,CAACF,MAAD;IAFzB,CADL;IAKL4B,QAAQ,EAAEC,OALL;IAMLtB,KAAK,EAAEJ,MANF;IAOL2B,SAAS,EAAE,CAACC,MAAD,EAASC,MAAT;EAPN,CAH2C;EAalDC,KAAK,EAAE;IACL,gBAAiB1B,KAAD,IAAiB;EAD5B,CAb2C;;EAiBlD2B,KAAK,CAAEX,KAAF,QAAmB;IAAA,IAAV;MAAEY;IAAF,CAAU;IACtB,OAAO;MAAA,SAEG,yBAFH;MAAA,SAGI;QACLL,SAAS,EAAElC,aAAa,CAAC2B,KAAK,CAACO,SAAP;MADnB;IAHJ,+BAQCP,KAAK,CAACC,QAAN,CAAenB,GAAf,CAAmB+B,MAAM;MAAA,SACd;IADc,IAErBA,MAAM,CAAC/B,GAAP,CAAWE,KAAK,IAAI;MACpB,MAAM8B,IAAI,GAAGpC,UAAU,CAACM,KAAD,CAAvB;MAEA;QAAA,SAEU,gCAFV;QAAA,WAGa,MAAM8B,IAAI,IAAIF,IAAI,CAAC,cAAD,EAAiBE,IAAjB;MAH/B;QAAA,SAKgB;UAAEC,UAAU,EAAE/B;QAAd;MALhB,IAMQgB,KAAK,CAAChB,KAAN,IAAeV,SAAS,CAAC0B,KAAK,CAAChB,KAAP,EAAc8B,IAAd,CAAxB;QAAA,QACc,SADd;QAAA,QAC6B,UAD7B;QAAA,SAC+CtC,WAAW,CAACQ,KAAD,EAAQ,SAAR,CAAX,GAAgC,CAAhC,GAAoC,OAApC,GAA8C;MAD7F,WAEEgC,SARV;IAaD,CAhBC,CAFqB,EAAzB,CARD,IAAP;EAgCD;;AAlDiD,CAAD,CAA5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["VColorPicker"],"sources":["../../../src/components/VColorPicker/index.ts"],"sourcesContent":["export { VColorPicker } from './VColorPicker'\n"],"mappings":"SAASA,Y"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VColorPicker/util/index.ts"],"names":["HexToHSVA","HSLAtoHSVA","HSVAtoHex","HSVAtoHSLA","HSVAtoRGBA","parseHex","RGBAtoHSVA","has","obj","key","every","k","hasOwnProperty","parseColor","color","hsva","hex","a","stripAlpha","rest","extractColor","input","slice","converted","hasAlpha","length","nullColor","h","s","v","rgba","inputProps","type","min","inputs","label","max","step","getValue","c","Math","round","r","getColor","Number","g","b","to","from","rgb","hsla","l","hsl","hexa","modes"],"mappings":"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","sourcesContent":["// Utilities\nimport {\n HexToHSVA,\n HSLAtoHSVA,\n HSVAtoHex,\n HSVAtoHSLA,\n HSVAtoRGBA,\n parseHex,\n RGBAtoHSVA,\n} from '@/util/colorUtils'\n\n// Types\nimport type {\n HSLA,\n HSVA,\n RGBA,\n} from '@/util/colorUtils'\n\nfunction has (obj: object, key: string[]) {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\nexport function parseColor (color: any): HSVA | null {\n if (!color) return null\n\n let hsva: HSVA | null = null\n\n if (typeof color === 'string') {\n const hex = parseHex(color)\n\n hsva = HexToHSVA(hex)\n }\n\n if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n hsva = RGBAtoHSVA(color)\n } else if (has(color, ['h', 's', 'l'])) {\n hsva = HSLAtoHSVA(color)\n } else if (has(color, ['h', 's', 'v'])) {\n hsva = color\n }\n }\n\n return hsva != null ? { ...hsva, a: hsva.a ?? 1 } : null\n}\n\nfunction stripAlpha (color: any, stripAlpha: boolean) {\n if (stripAlpha) {\n const { a, ...rest } = color\n\n return rest\n }\n\n return color\n}\n\nexport function extractColor (color: HSVA, input: any) {\n if (input == null || typeof input === 'string') {\n const hex = HSVAtoHex(color)\n\n if (color.a === 1) return hex.slice(0, 7)\n else return hex\n }\n\n if (typeof input === 'object') {\n let converted\n\n if (has(input, ['r', 'g', 'b'])) converted = HSVAtoRGBA(color)\n else if (has(input, ['h', 's', 'l'])) converted = HSVAtoHSLA(color)\n else if (has(input, ['h', 's', 'v'])) converted = color\n\n return stripAlpha(converted, !has(input, ['a']))\n }\n\n return color\n}\n\nexport function hasAlpha (color: any) {\n if (!color) return false\n\n if (typeof color === 'string') {\n return color.length > 7\n }\n\n if (typeof color === 'object') {\n return has(color, ['a']) || has(color, ['alpha'])\n }\n\n return false\n}\n\nexport const nullColor = { h: 0, s: 0, v: 1, a: 1 }\n\nexport type ColorPickerMode = {\n inputProps: Record<string, unknown>\n inputs: {\n [key: string]: any\n getValue: (color: any) => number | string\n getColor: (color: any, v: string) => any\n }[]\n from: (color: any) => HSVA\n to: (color: HSVA) => any\n}\n\nconst rgba: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'R',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.r),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, r: Number(v) }),\n },\n {\n label: 'G',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.g),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, g: Number(v) }),\n },\n {\n label: 'B',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.b),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, b: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: (c: RGBA) => Math.round(c.a * 100) / 100,\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVAtoRGBA,\n from: RGBAtoHSVA,\n}\n\nconst rgb = {\n ...rgba,\n inputs: rgba.inputs?.slice(0, 3),\n}\n\nconst hsla: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'H',\n max: 360,\n step: 1,\n getValue: (c: HSLA) => Math.round(c.h),\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, h: Number(v) }),\n },\n {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.s * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, s: Number(v) }),\n },\n {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.l * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, l: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.a * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVAtoHSLA,\n from: HSLAtoHSVA,\n}\n\nconst hsl = {\n ...hsla,\n inputs: hsla.inputs.slice(0, 3),\n}\n\nconst hexa: ColorPickerMode = {\n inputProps: {\n type: 'text',\n },\n inputs: [\n {\n label: 'HEXA',\n getValue: (c: string) => c,\n getColor: (c: string, v: string) => v,\n },\n ],\n to: HSVAtoHex,\n from: HexToHSVA,\n}\n\nconst hex = {\n ...hexa,\n inputs: [\n {\n label: 'HEX',\n getValue: (c: string) => c.slice(0, 7),\n getColor: (c: string, v: string) => v,\n },\n ],\n}\n\nexport const modes: Record<string, ColorPickerMode> = {\n rgb,\n rgba,\n hsl,\n hsla,\n hex,\n hexa,\n}\n"],"file":"index.mjs"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["HexToHSVA","HSLAtoHSVA","HSVAtoHex","HSVAtoHSLA","HSVAtoRGBA","parseHex","RGBAtoHSVA","has","obj","key","every","k","hasOwnProperty","parseColor","color","hsva","hex","a","stripAlpha","rest","extractColor","input","slice","converted","hasAlpha","length","nullColor","h","s","v","rgba","inputProps","type","min","inputs","label","max","step","getValue","c","Math","round","r","getColor","Number","g","b","to","from","rgb","hsla","l","hsl","hexa","modes"],"sources":["../../../../src/components/VColorPicker/util/index.ts"],"sourcesContent":["// Utilities\nimport {\n HexToHSVA,\n HSLAtoHSVA,\n HSVAtoHex,\n HSVAtoHSLA,\n HSVAtoRGBA,\n parseHex,\n RGBAtoHSVA,\n} from '@/util/colorUtils'\n\n// Types\nimport type {\n HSLA,\n HSVA,\n RGBA,\n} from '@/util/colorUtils'\n\nfunction has (obj: object, key: string[]) {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\nexport function parseColor (color: any): HSVA | null {\n if (!color) return null\n\n let hsva: HSVA | null = null\n\n if (typeof color === 'string') {\n const hex = parseHex(color)\n\n hsva = HexToHSVA(hex)\n }\n\n if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n hsva = RGBAtoHSVA(color)\n } else if (has(color, ['h', 's', 'l'])) {\n hsva = HSLAtoHSVA(color)\n } else if (has(color, ['h', 's', 'v'])) {\n hsva = color\n }\n }\n\n return hsva != null ? { ...hsva, a: hsva.a ?? 1 } : null\n}\n\nfunction stripAlpha (color: any, stripAlpha: boolean) {\n if (stripAlpha) {\n const { a, ...rest } = color\n\n return rest\n }\n\n return color\n}\n\nexport function extractColor (color: HSVA, input: any) {\n if (input == null || typeof input === 'string') {\n const hex = HSVAtoHex(color)\n\n if (color.a === 1) return hex.slice(0, 7)\n else return hex\n }\n\n if (typeof input === 'object') {\n let converted\n\n if (has(input, ['r', 'g', 'b'])) converted = HSVAtoRGBA(color)\n else if (has(input, ['h', 's', 'l'])) converted = HSVAtoHSLA(color)\n else if (has(input, ['h', 's', 'v'])) converted = color\n\n return stripAlpha(converted, !has(input, ['a']))\n }\n\n return color\n}\n\nexport function hasAlpha (color: any) {\n if (!color) return false\n\n if (typeof color === 'string') {\n return color.length > 7\n }\n\n if (typeof color === 'object') {\n return has(color, ['a']) || has(color, ['alpha'])\n }\n\n return false\n}\n\nexport const nullColor = { h: 0, s: 0, v: 1, a: 1 }\n\nexport type ColorPickerMode = {\n inputProps: Record<string, unknown>\n inputs: {\n [key: string]: any\n getValue: (color: any) => number | string\n getColor: (color: any, v: string) => any\n }[]\n from: (color: any) => HSVA\n to: (color: HSVA) => any\n}\n\nconst rgba: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'R',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.r),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, r: Number(v) }),\n },\n {\n label: 'G',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.g),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, g: Number(v) }),\n },\n {\n label: 'B',\n max: 255,\n step: 1,\n getValue: (c: RGBA) => Math.round(c.b),\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, b: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: (c: RGBA) => Math.round(c.a * 100) / 100,\n getColor: (c: RGBA, v: string): RGBA => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVAtoRGBA,\n from: RGBAtoHSVA,\n}\n\nconst rgb = {\n ...rgba,\n inputs: rgba.inputs?.slice(0, 3),\n}\n\nconst hsla: ColorPickerMode = {\n inputProps: {\n type: 'number',\n min: 0,\n },\n inputs: [\n {\n label: 'H',\n max: 360,\n step: 1,\n getValue: (c: HSLA) => Math.round(c.h),\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, h: Number(v) }),\n },\n {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.s * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, s: Number(v) }),\n },\n {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.l * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, l: Number(v) }),\n },\n {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: (c: HSLA) => Math.round(c.a * 100) / 100,\n getColor: (c: HSLA, v: string): HSLA => ({ ...c, a: Number(v) }),\n },\n ],\n to: HSVAtoHSLA,\n from: HSLAtoHSVA,\n}\n\nconst hsl = {\n ...hsla,\n inputs: hsla.inputs.slice(0, 3),\n}\n\nconst hexa: ColorPickerMode = {\n inputProps: {\n type: 'text',\n },\n inputs: [\n {\n label: 'HEXA',\n getValue: (c: string) => c,\n getColor: (c: string, v: string) => v,\n },\n ],\n to: HSVAtoHex,\n from: HexToHSVA,\n}\n\nconst hex = {\n ...hexa,\n inputs: [\n {\n label: 'HEX',\n getValue: (c: string) => c.slice(0, 7),\n getColor: (c: string, v: string) => v,\n },\n ],\n}\n\nexport const modes: Record<string, ColorPickerMode> = {\n rgb,\n rgba,\n hsl,\n hsla,\n hex,\n hexa,\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { createTextVNode as _createTextVNode, createVNode as _createVNode, Fragment as _Fragment } from "vue";
|
|
1
|
+
import { createTextVNode as _createTextVNode, mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
|
|
2
2
|
// Styles
|
|
3
3
|
import "./VCombobox.css"; // Components
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { makeSelectProps } from "../VSelect/VSelect.mjs";
|
|
6
|
+
import { VCheckboxBtn } from "../VCheckbox/index.mjs";
|
|
6
7
|
import { VChip } from "../VChip/index.mjs";
|
|
7
8
|
import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
|
|
8
9
|
import { VList, VListItem } from "../VList/index.mjs";
|
|
@@ -11,12 +12,13 @@ import { VTextField } from "../VTextField/index.mjs"; // Composables
|
|
|
11
12
|
|
|
12
13
|
import { makeFilterProps, useFilter } from "../../composables/filter.mjs";
|
|
13
14
|
import { makeTransitionProps } from "../../composables/transition.mjs";
|
|
15
|
+
import { transformItem, useItems } from "../../composables/items.mjs";
|
|
14
16
|
import { useForwardRef } from "../../composables/forwardRef.mjs";
|
|
15
17
|
import { useLocale } from "../../composables/locale.mjs";
|
|
16
18
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
|
|
17
19
|
import { useTextColor } from "../../composables/color.mjs"; // Utility
|
|
18
20
|
|
|
19
|
-
import { computed, nextTick, ref, watch } from 'vue';
|
|
21
|
+
import { computed, mergeProps, nextTick, ref, watch } from 'vue';
|
|
20
22
|
import { genericComponent, useRender, wrapInArray } from "../../util/index.mjs"; // Types
|
|
21
23
|
|
|
22
24
|
function highlightResult(text, matches, length) {
|
|
@@ -40,52 +42,72 @@ export const VCombobox = genericComponent()({
|
|
|
40
42
|
filterKeys: ['title']
|
|
41
43
|
}),
|
|
42
44
|
...makeSelectProps({
|
|
43
|
-
hideNoData: true
|
|
45
|
+
hideNoData: true,
|
|
46
|
+
returnObject: true
|
|
44
47
|
}),
|
|
45
48
|
...makeTransitionProps({
|
|
46
49
|
transition: false
|
|
47
50
|
})
|
|
48
51
|
},
|
|
49
52
|
emits: {
|
|
50
|
-
'update:modelValue': val => true
|
|
53
|
+
'update:modelValue': val => true,
|
|
54
|
+
'update:searchInput': val => true,
|
|
55
|
+
'update:menu': val => true
|
|
51
56
|
},
|
|
52
57
|
|
|
53
58
|
setup(props, _ref) {
|
|
54
59
|
let {
|
|
60
|
+
emit,
|
|
55
61
|
slots
|
|
56
62
|
} = _ref;
|
|
57
63
|
const {
|
|
58
64
|
t
|
|
59
65
|
} = useLocale();
|
|
60
66
|
const vTextFieldRef = ref();
|
|
61
|
-
const activator = ref();
|
|
62
67
|
const isFocused = ref(false);
|
|
63
68
|
const isPristine = ref(true);
|
|
64
|
-
const menu =
|
|
69
|
+
const menu = useProxiedModel(props, 'menu');
|
|
65
70
|
const selectionIndex = ref(-1);
|
|
66
71
|
const color = computed(() => {
|
|
67
72
|
var _vTextFieldRef$value;
|
|
68
73
|
|
|
69
74
|
return (_vTextFieldRef$value = vTextFieldRef.value) == null ? void 0 : _vTextFieldRef$value.color;
|
|
70
75
|
});
|
|
71
|
-
const
|
|
76
|
+
const {
|
|
77
|
+
items,
|
|
78
|
+
transformIn,
|
|
79
|
+
transformOut
|
|
80
|
+
} = useItems(props);
|
|
72
81
|
const {
|
|
73
82
|
textColorClasses,
|
|
74
83
|
textColorStyles
|
|
75
84
|
} = useTextColor(color);
|
|
76
|
-
const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v || []), v =>
|
|
85
|
+
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v || [])), v => {
|
|
86
|
+
var _transformed$;
|
|
87
|
+
|
|
88
|
+
const transformed = transformOut(v);
|
|
89
|
+
return props.multiple ? transformed : (_transformed$ = transformed[0]) != null ? _transformed$ : null;
|
|
90
|
+
});
|
|
77
91
|
|
|
78
92
|
const _search = ref('');
|
|
79
93
|
|
|
80
94
|
const search = computed({
|
|
81
|
-
get: () =>
|
|
95
|
+
get: () => {
|
|
96
|
+
if (props.multiple) return _search.value;
|
|
97
|
+
const item = items.value.find(item => {
|
|
98
|
+
var _model$value$;
|
|
99
|
+
|
|
100
|
+
return item.value === ((_model$value$ = model.value[0]) == null ? void 0 : _model$value$.value);
|
|
101
|
+
});
|
|
102
|
+
return item == null ? void 0 : item.value;
|
|
103
|
+
},
|
|
82
104
|
set: val => {
|
|
83
105
|
var _props$delimiters;
|
|
84
106
|
|
|
85
107
|
if (props.multiple) {
|
|
86
108
|
_search.value = val;
|
|
87
109
|
} else {
|
|
88
|
-
model.value = [val];
|
|
110
|
+
model.value = [transformItem(props, val)];
|
|
89
111
|
}
|
|
90
112
|
|
|
91
113
|
if (val && props.multiple && (_props$delimiters = props.delimiters) != null && _props$delimiters.length) {
|
|
@@ -94,9 +116,7 @@ export const VCombobox = genericComponent()({
|
|
|
94
116
|
if (values.length > 1) {
|
|
95
117
|
values.forEach(v => {
|
|
96
118
|
v = v.trim();
|
|
97
|
-
if (v) select(
|
|
98
|
-
value: v
|
|
99
|
-
});
|
|
119
|
+
if (v) select(transformItem(props, v));
|
|
100
120
|
});
|
|
101
121
|
_search.value = '';
|
|
102
122
|
}
|
|
@@ -107,29 +127,18 @@ export const VCombobox = genericComponent()({
|
|
|
107
127
|
isPristine.value = !val;
|
|
108
128
|
}
|
|
109
129
|
});
|
|
130
|
+
watch(_search, value => {
|
|
131
|
+
emit('update:searchInput', value);
|
|
132
|
+
});
|
|
110
133
|
const {
|
|
111
134
|
filteredItems
|
|
112
135
|
} = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value));
|
|
113
136
|
const selections = computed(() => {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
for (const unwrapped of model.value) {
|
|
118
|
-
const item = genItem(unwrapped);
|
|
119
|
-
const found = array.find(selection => selection.value === item.value);
|
|
120
|
-
|
|
121
|
-
if (found == null) {
|
|
122
|
-
array.push({ ...item,
|
|
123
|
-
index,
|
|
124
|
-
selected: index === selectionIndex.value
|
|
125
|
-
});
|
|
126
|
-
index++;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return array;
|
|
137
|
+
return model.value.map(v => {
|
|
138
|
+
return items.value.find(item => item.value === v.value) || v;
|
|
139
|
+
});
|
|
131
140
|
});
|
|
132
|
-
const selected = computed(() => selections.value.map(selection => selection.value));
|
|
141
|
+
const selected = computed(() => selections.value.map(selection => selection.props.value));
|
|
133
142
|
const selection = computed(() => selections.value[selectionIndex.value]);
|
|
134
143
|
|
|
135
144
|
function onClear(e) {
|
|
@@ -202,9 +211,7 @@ export const VCombobox = genericComponent()({
|
|
|
202
211
|
}
|
|
203
212
|
|
|
204
213
|
if (e.key === 'Enter') {
|
|
205
|
-
select(
|
|
206
|
-
value: search.value
|
|
207
|
-
});
|
|
214
|
+
select(transformItem(props, search.value));
|
|
208
215
|
search.value = '';
|
|
209
216
|
}
|
|
210
217
|
}
|
|
@@ -215,12 +222,14 @@ export const VCombobox = genericComponent()({
|
|
|
215
222
|
|
|
216
223
|
function select(item) {
|
|
217
224
|
if (props.multiple) {
|
|
218
|
-
const index =
|
|
225
|
+
const index = selected.value.findIndex(selection => selection === item.value);
|
|
219
226
|
|
|
220
227
|
if (index === -1) {
|
|
221
|
-
model.value.
|
|
228
|
+
model.value = [...model.value, item];
|
|
222
229
|
} else {
|
|
223
|
-
|
|
230
|
+
const value = [...model.value];
|
|
231
|
+
value.splice(index, 1);
|
|
232
|
+
model.value = value;
|
|
224
233
|
}
|
|
225
234
|
|
|
226
235
|
search.value = '';
|
|
@@ -234,9 +243,6 @@ export const VCombobox = genericComponent()({
|
|
|
234
243
|
}
|
|
235
244
|
}
|
|
236
245
|
|
|
237
|
-
watch(() => vTextFieldRef.value, val => {
|
|
238
|
-
activator.value = val.$el.querySelector('.v-input__control');
|
|
239
|
-
});
|
|
240
246
|
watch(filteredItems, val => {
|
|
241
247
|
if (!val.length && props.hideNoData) menu.value = false;
|
|
242
248
|
});
|
|
@@ -246,7 +252,7 @@ export const VCombobox = genericComponent()({
|
|
|
246
252
|
} else {
|
|
247
253
|
menu.value = false;
|
|
248
254
|
if (!props.multiple || !search.value) return;
|
|
249
|
-
model.value.
|
|
255
|
+
model.value = [...model.value, transformItem(props, search.value)];
|
|
250
256
|
search.value = '';
|
|
251
257
|
}
|
|
252
258
|
});
|
|
@@ -255,7 +261,10 @@ export const VCombobox = genericComponent()({
|
|
|
255
261
|
return _createVNode(VTextField, {
|
|
256
262
|
"ref": vTextFieldRef,
|
|
257
263
|
"modelValue": search.value,
|
|
258
|
-
"onUpdate:modelValue": $event => search.value = $event,
|
|
264
|
+
"onUpdate:modelValue": [$event => search.value = $event, v => {
|
|
265
|
+
if (v == null) model.value = [];
|
|
266
|
+
}],
|
|
267
|
+
"validationValue": props.modelValue,
|
|
259
268
|
"class": ['v-combobox', {
|
|
260
269
|
'v-combobox--active-menu': menu.value,
|
|
261
270
|
'v-combobox--chips': !!props.chips,
|
|
@@ -263,7 +272,6 @@ export const VCombobox = genericComponent()({
|
|
|
263
272
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
|
264
273
|
}],
|
|
265
274
|
"appendInnerIcon": props.items.length ? props.menuIcon : undefined,
|
|
266
|
-
"dirty": selected.value.length > 0,
|
|
267
275
|
"onClick:clear": onClear,
|
|
268
276
|
"onClick:control": onClickControl,
|
|
269
277
|
"onClick:input": onClickControl,
|
|
@@ -271,75 +279,97 @@ export const VCombobox = genericComponent()({
|
|
|
271
279
|
"onBlur": () => isFocused.value = false,
|
|
272
280
|
"onKeydown": onKeydown
|
|
273
281
|
}, { ...slots,
|
|
274
|
-
default: () =>
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
"
|
|
286
|
-
"
|
|
287
|
-
}, {
|
|
288
|
-
default: () => [
|
|
289
|
-
"
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
282
|
+
default: () => {
|
|
283
|
+
var _slots$noData, _slots$noData2;
|
|
284
|
+
|
|
285
|
+
return _createVNode(_Fragment, null, [_createVNode(VMenu, _mergeProps({
|
|
286
|
+
"modelValue": menu.value,
|
|
287
|
+
"onUpdate:modelValue": $event => menu.value = $event,
|
|
288
|
+
"activator": "parent",
|
|
289
|
+
"contentClass": "v-combobox__content",
|
|
290
|
+
"eager": props.eager,
|
|
291
|
+
"openOnClick": false,
|
|
292
|
+
"closeOnContentClick": false,
|
|
293
|
+
"transition": props.transition,
|
|
294
|
+
"onAfterLeave": onAfterLeave
|
|
295
|
+
}, props.menuProps), {
|
|
296
|
+
default: () => [_createVNode(VList, {
|
|
297
|
+
"selected": selected.value,
|
|
298
|
+
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
299
|
+
"onMousedown": e => e.preventDefault()
|
|
300
|
+
}, {
|
|
301
|
+
default: () => [!filteredItems.value.length && !props.hideNoData && ((_slots$noData = (_slots$noData2 = slots['no-data']) == null ? void 0 : _slots$noData2.call(slots)) != null ? _slots$noData : _createVNode(VListItem, {
|
|
302
|
+
"title": t(props.noDataText)
|
|
303
|
+
}, null)), filteredItems.value.map(_ref2 => {
|
|
304
|
+
var _slots$item, _slots$item2;
|
|
305
|
+
|
|
306
|
+
let {
|
|
307
|
+
item,
|
|
308
|
+
matches
|
|
309
|
+
} = _ref2;
|
|
310
|
+
return (_slots$item = (_slots$item2 = slots.item) == null ? void 0 : _slots$item2.call(slots, {
|
|
311
|
+
item,
|
|
312
|
+
props: mergeProps(item.props, {
|
|
313
|
+
onClick: () => select(item)
|
|
314
|
+
})
|
|
315
|
+
})) != null ? _slots$item : _createVNode(VListItem, _mergeProps(item.props, {
|
|
316
|
+
"onClick": () => select(item)
|
|
317
|
+
}), {
|
|
318
|
+
prepend: _ref3 => {
|
|
319
|
+
let {
|
|
320
|
+
isSelected
|
|
321
|
+
} = _ref3;
|
|
322
|
+
return props.multiple ? _createVNode(VCheckboxBtn, {
|
|
323
|
+
"modelValue": isSelected,
|
|
324
|
+
"ripple": false
|
|
325
|
+
}, null) : undefined;
|
|
326
|
+
},
|
|
327
|
+
title: () => {
|
|
328
|
+
var _search$value$length, _search$value;
|
|
329
|
+
|
|
330
|
+
return isPristine.value ? item.title : highlightResult(item.title, matches.title, (_search$value$length = (_search$value = search.value) == null ? void 0 : _search$value.length) != null ? _search$value$length : 0);
|
|
331
|
+
}
|
|
332
|
+
});
|
|
333
|
+
})]
|
|
306
334
|
})]
|
|
307
|
-
})
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
}
|
|
335
|
+
}), selections.value.map((item, index) => {
|
|
336
|
+
function onChipClose(e) {
|
|
337
|
+
e.stopPropagation();
|
|
338
|
+
e.preventDefault();
|
|
339
|
+
select(item);
|
|
340
|
+
}
|
|
314
341
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
342
|
+
const slotProps = {
|
|
343
|
+
'onClick:close': onChipClose,
|
|
344
|
+
modelValue: true
|
|
345
|
+
};
|
|
346
|
+
return _createVNode("div", {
|
|
347
|
+
"class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
|
|
348
|
+
"style": index === selectionIndex.value ? textColorStyles.value : {}
|
|
349
|
+
}, [hasChips ? _createVNode(VDefaultsProvider, {
|
|
350
|
+
"defaults": {
|
|
351
|
+
VChip: {
|
|
352
|
+
closable: props.closableChips,
|
|
353
|
+
size: 'small',
|
|
354
|
+
text: item.title
|
|
355
|
+
}
|
|
328
356
|
}
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
"
|
|
341
|
-
|
|
342
|
-
|
|
357
|
+
}, {
|
|
358
|
+
default: () => [slots.chip ? slots.chip({
|
|
359
|
+
props: slotProps,
|
|
360
|
+
item,
|
|
361
|
+
index
|
|
362
|
+
}) : _createVNode(VChip, slotProps, null)]
|
|
363
|
+
}) : slots.selection ? slots.selection({
|
|
364
|
+
item,
|
|
365
|
+
index
|
|
366
|
+
}) : _createVNode("span", {
|
|
367
|
+
"class": "v-combobox__selection-text"
|
|
368
|
+
}, [item.title, props.multiple && index < selections.value.length - 1 && _createVNode("span", {
|
|
369
|
+
"class": "v-combobox__selection-comma"
|
|
370
|
+
}, [_createTextVNode(",")])])]);
|
|
371
|
+
})]);
|
|
372
|
+
}
|
|
343
373
|
});
|
|
344
374
|
});
|
|
345
375
|
return useForwardRef({
|