@vuetify/nightly 3.0.0-alpha.3 → 3.0.0-beta.2
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 +41 -98
- package/dist/json/attributes.json +5378 -0
- package/dist/json/importMap.json +585 -0
- package/dist/json/tags.json +1933 -0
- package/dist/json/web-types.json +18314 -0
- package/dist/vuetify.css +12154 -8451
- package/dist/vuetify.d.ts +15974 -0
- package/dist/vuetify.esm.js +17658 -0
- package/dist/vuetify.esm.js.map +1 -0
- package/dist/vuetify.js +16972 -9378
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +6 -3
- package/dist/vuetify.min.js +1466 -5252
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +214 -0
- package/lib/components/VAlert/VAlert.mjs +157 -206
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.sass +106 -159
- package/lib/components/VAlert/VAlertTitle.mjs +4 -0
- package/lib/components/VAlert/VAlertTitle.mjs.map +1 -0
- package/lib/components/VAlert/_variables.scss +50 -14
- package/lib/components/VAlert/index.mjs +2 -3
- package/lib/components/VAlert/index.mjs.map +1 -1
- package/lib/components/VApp/VApp.css +29 -0
- package/lib/components/VApp/VApp.mjs +36 -22
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/VApp.sass +1 -4
- package/lib/components/VApp/index.mjs +1 -1
- package/lib/components/VApp/index.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBar.css +10 -0
- package/lib/components/VAppBar/VAppBar.mjs +63 -227
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBar.sass +8 -54
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +24 -25
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +15 -62
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAppBar/_variables.scss +39 -4
- package/lib/components/VAppBar/index.mjs +3 -11
- package/lib/components/VAppBar/index.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.css +57 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +240 -357
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +69 -33
- package/lib/components/VAutocomplete/_variables.scss +7 -4
- package/lib/components/VAutocomplete/index.mjs +1 -3
- package/lib/components/VAutocomplete/index.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.css +43 -0
- package/lib/components/VAvatar/VAvatar.mjs +49 -27
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.sass +9 -13
- package/lib/components/VAvatar/_mixins.scss +32 -0
- package/lib/components/VAvatar/_variables.scss +19 -8
- package/lib/components/VAvatar/index.mjs +1 -1
- package/lib/components/VAvatar/index.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.css +74 -0
- package/lib/components/VBadge/VBadge.mjs +51 -35
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.sass +5 -5
- package/lib/components/VBadge/_variables.scss +11 -3
- package/lib/components/VBadge/index.mjs +1 -1
- package/lib/components/VBadge/index.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.css +157 -0
- package/lib/components/VBanner/VBanner.mjs +75 -46
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.sass +80 -122
- package/lib/components/VBanner/VBannerActions.mjs +35 -0
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -0
- 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 +3 -0
- package/lib/components/VBanner/VBannerText.mjs.map +1 -0
- package/lib/components/VBanner/_variables.scss +37 -45
- package/lib/components/VBanner/index.mjs +5 -1
- package/lib/components/VBanner/index.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.css +61 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +104 -111
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +48 -74
- package/lib/components/VBottomNavigation/_variables.scss +42 -6
- package/lib/components/VBottomNavigation/index.mjs +1 -3
- package/lib/components/VBottomNavigation/index.mjs.map +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +48 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +81 -51
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +26 -30
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +2 -5
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +56 -35
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/_variables.scss +15 -7
- package/lib/components/VBreadcrumbs/index.mjs +3 -11
- package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/shared.mjs +2 -0
- package/lib/components/VBreadcrumbs/shared.mjs.map +1 -0
- package/lib/components/VBtn/VBtn.css +319 -0
- package/lib/components/VBtn/VBtn.mjs +103 -67
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +101 -34
- package/lib/components/VBtn/_mixins.scss +31 -7
- package/lib/components/VBtn/_variables.scss +66 -29
- package/lib/components/VBtn/index.mjs +1 -1
- package/lib/components/VBtn/index.mjs.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +57 -0
- package/lib/components/VBtnGroup/VBtnGroup.mjs +67 -0
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -0
- package/lib/components/VBtnGroup/VBtnGroup.sass +52 -0
- package/lib/components/VBtnGroup/_variables.scss +25 -0
- package/lib/components/VBtnGroup/index.mjs +2 -0
- package/lib/components/VBtnGroup/index.mjs.map +1 -0
- package/lib/components/VBtnToggle/VBtnToggle.css +3 -0
- package/lib/components/VBtnToggle/VBtnToggle.mjs +45 -39
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/VBtnToggle.sass +5 -95
- package/lib/components/VBtnToggle/_variables.scss +3 -10
- package/lib/components/VBtnToggle/index.mjs +1 -3
- package/lib/components/VBtnToggle/index.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendar.mjs +15 -6
- package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.mjs +5 -4
- package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.sass +67 -0
- package/lib/components/VCalendar/VCalendarDaily.mjs +1 -1
- package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarMonthly.mjs +1 -1
- package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.mjs +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
- package/lib/components/VCalendar/_variables.scss +4 -0
- package/lib/components/VCalendar/mixins/calendar-base.mjs +5 -4
- package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs +40 -33
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.sass +7 -1
- package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs +2 -1
- package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.mjs +20 -1
- package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
- package/lib/components/VCalendar/modes/common.mjs +7 -3
- package/lib/components/VCalendar/modes/common.mjs.map +1 -1
- package/lib/components/VCalendar/modes/stack.mjs +2 -1
- package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
- package/lib/components/VCalendar/util/events.mjs +8 -3
- package/lib/components/VCalendar/util/events.mjs.map +1 -1
- package/lib/components/VCalendar/util/parser.mjs +1 -3
- package/lib/components/VCalendar/util/parser.mjs.map +1 -1
- package/lib/components/VCalendar/util/timestamp.mjs +24 -12
- package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
- package/lib/components/VCard/VCard.css +270 -0
- package/lib/components/VCard/VCard.mjs +163 -65
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCard.sass +147 -119
- package/lib/components/VCard/VCardActions.mjs +29 -0
- package/lib/components/VCard/VCardActions.mjs.map +1 -0
- package/lib/components/VCard/VCardAvatar.mjs +3 -0
- package/lib/components/VCard/VCardAvatar.mjs.map +1 -0
- package/lib/components/VCard/VCardContent.mjs +3 -0
- package/lib/components/VCard/VCardContent.mjs.map +1 -0
- package/lib/components/VCard/VCardHeader.mjs +3 -0
- package/lib/components/VCard/VCardHeader.mjs.map +1 -0
- package/lib/components/VCard/VCardHeaderText.mjs +3 -0
- package/lib/components/VCard/VCardHeaderText.mjs.map +1 -0
- package/lib/components/VCard/VCardImg.mjs +3 -0
- package/lib/components/VCard/VCardImg.mjs.map +1 -0
- package/lib/components/VCard/VCardSubtitle.mjs +3 -0
- package/lib/components/VCard/VCardSubtitle.mjs.map +1 -0
- package/lib/components/VCard/VCardText.mjs +3 -0
- package/lib/components/VCard/VCardText.mjs.map +1 -0
- package/lib/components/VCard/VCardTitle.mjs +3 -0
- package/lib/components/VCard/VCardTitle.mjs.map +1 -0
- package/lib/components/VCard/_mixins.scss +13 -0
- package/lib/components/VCard/_variables.scss +106 -26
- package/lib/components/VCard/index.mjs +10 -16
- package/lib/components/VCard/index.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.css +63 -0
- package/lib/components/VCarousel/VCarousel.mjs +99 -185
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.sass +7 -2
- package/lib/components/VCarousel/VCarouselItem.mjs +22 -42
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/_variables.scss +1 -3
- package/lib/components/VCarousel/index.mjs +2 -9
- package/lib/components/VCarousel/index.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.css +3 -0
- package/lib/components/VCheckbox/VCheckbox.mjs +56 -83
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.sass +8 -8
- package/lib/components/VCheckbox/_variables.scss +2 -4
- package/lib/components/VCheckbox/index.mjs +1 -9
- package/lib/components/VCheckbox/index.mjs.map +1 -1
- package/lib/components/VChip/VChip.css +276 -0
- package/lib/components/VChip/VChip.mjs +153 -143
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/VChip.sass +41 -177
- package/lib/components/VChip/_mixins.scss +65 -0
- package/lib/components/VChip/_variables.scss +48 -49
- package/lib/components/VChip/index.mjs +1 -3
- package/lib/components/VChip/index.mjs.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.css +18 -0
- package/lib/components/VChipGroup/VChipGroup.mjs +66 -38
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.sass +11 -17
- package/lib/components/VChipGroup/_variables.scss +3 -5
- package/lib/components/VChipGroup/index.mjs +1 -3
- package/lib/components/VChipGroup/index.mjs.map +1 -1
- package/lib/components/VCode/VCode.css +7 -0
- package/lib/components/VCode/VCode.sass +9 -0
- package/lib/components/VCode/_variables.scss +5 -0
- package/lib/components/VCode/index.mjs +4 -0
- package/lib/components/VCode/index.mjs.map +1 -0
- package/lib/components/VColorPicker/VColorPicker.css +21 -0
- package/lib/components/VColorPicker/VColorPicker.mjs +103 -133
- package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.sass +10 -17
- package/lib/components/VColorPicker/VColorPickerCanvas.css +21 -0
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +139 -121
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.sass +5 -3
- package/lib/components/VColorPicker/VColorPickerEdit.css +31 -0
- package/lib/components/VColorPicker/VColorPickerEdit.mjs +74 -134
- package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.sass +9 -6
- package/lib/components/VColorPicker/VColorPickerPreview.css +67 -0
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +65 -83
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.sass +42 -39
- package/lib/components/VColorPicker/VColorPickerSwatches.css +35 -0
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs +34 -54
- package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.sass +6 -4
- package/lib/components/VColorPicker/_variables.scss +5 -9
- package/lib/components/VColorPicker/index.mjs +1 -5
- package/lib/components/VColorPicker/index.mjs.map +1 -1
- package/lib/components/VColorPicker/util/index.mjs +141 -97
- package/lib/components/VColorPicker/util/index.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.css +66 -0
- package/lib/components/VCombobox/VCombobox.mjs +336 -200
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +91 -0
- package/lib/components/VCombobox/_variables.scss +8 -0
- package/lib/components/VCombobox/index.mjs +1 -3
- package/lib/components/VCombobox/index.mjs.map +1 -1
- package/lib/components/VCounter/VCounter.css +6 -0
- package/lib/components/VCounter/VCounter.mjs +36 -27
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VCounter/VCounter.sass +5 -7
- package/lib/components/VCounter/_variables.scss +3 -2
- package/lib/components/VCounter/index.mjs +1 -3
- package/lib/components/VCounter/index.mjs.map +1 -1
- package/lib/components/VData/VData.mjs +8 -3
- package/lib/components/VData/VData.mjs.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.mjs +1 -1
- package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.mjs +20 -8
- package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
- package/lib/components/VDataIterator/_variables.scss +2 -2
- package/lib/components/VDataTable/MobileRow.mjs +6 -5
- package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
- package/lib/components/VDataTable/Row.mjs +20 -12
- package/lib/components/VDataTable/Row.mjs.map +1 -1
- package/lib/components/VDataTable/RowGroup.mjs +5 -4
- package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTable.mjs +11 -6
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTable.sass +5 -0
- package/lib/components/VDataTable/VDataTableHeader.mjs +7 -6
- package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs +3 -3
- package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.mjs +2 -2
- package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
- package/lib/components/VDataTable/VEditDialog.mjs +7 -6
- package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.mjs +2 -2
- package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
- package/lib/components/VDataTable/_variables.scss +2 -2
- package/lib/components/VDatePicker/VDatePicker.mjs +13 -13
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerDateTable.mjs +5 -5
- package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.mjs +5 -5
- package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonthTable.mjs +2 -2
- package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.mjs +2 -2
- package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -4
- package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.mjs +20 -9
- package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +7 -5
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
- package/lib/components/VDatePicker/util/eventHelpers.mjs +1 -0
- package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
- package/lib/components/VDatePicker/util/monthChange.mjs +3 -3
- package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
- package/lib/components/VDatePicker/util/pad.mjs +4 -1
- package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
- package/lib/components/VDatePicker/util/sanitizeDateString.mjs +1 -1
- package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +38 -0
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -0
- package/lib/components/VDefaultsProvider/index.mjs +2 -0
- package/lib/components/VDefaultsProvider/index.mjs.map +1 -0
- package/lib/components/VDialog/VDialog.css +77 -0
- package/lib/components/VDialog/VDialog.mjs +91 -279
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +53 -81
- package/lib/components/VDialog/_variables.scss +12 -10
- package/lib/components/VDialog/index.mjs +1 -3
- package/lib/components/VDialog/index.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.css +30 -0
- package/lib/components/VDivider/VDivider.mjs +25 -17
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.sass +5 -9
- package/lib/components/VDivider/_variables.scss +9 -11
- package/lib/components/VDivider/index.mjs +1 -1
- package/lib/components/VDivider/index.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +190 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +87 -83
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +91 -129
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +42 -0
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -0
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +79 -0
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -0
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +45 -59
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VExpansionPanel/_variables.scss +13 -7
- package/lib/components/VExpansionPanel/index.mjs +4 -13
- package/lib/components/VExpansionPanel/index.mjs.map +1 -1
- package/lib/components/VField/VField.css +410 -0
- package/lib/components/VField/VField.mjs +248 -0
- package/lib/components/VField/VField.mjs.map +1 -0
- package/lib/components/VField/VField.sass +392 -0
- package/lib/components/VField/VFieldLabel.mjs +27 -0
- package/lib/components/VField/VFieldLabel.mjs.map +1 -0
- package/lib/components/VField/_variables.scss +44 -0
- package/lib/components/VField/index.mjs +3 -0
- package/lib/components/VField/index.mjs.map +1 -0
- package/lib/components/VFileInput/VFileInput.css +8 -0
- package/lib/components/VFileInput/VFileInput.mjs +181 -224
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +3 -51
- package/lib/components/VFileInput/_variables.scss +2 -6
- package/lib/components/VFileInput/index.mjs +1 -3
- package/lib/components/VFileInput/index.mjs.map +1 -1
- package/lib/components/VFooter/VFooter.css +20 -0
- package/lib/components/VFooter/VFooter.mjs +54 -31
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/VFooter.sass +10 -7
- package/lib/components/VFooter/_variables.scss +13 -3
- package/lib/components/VFooter/index.mjs +1 -1
- package/lib/components/VFooter/index.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs +55 -122
- package/lib/components/VForm/VForm.mjs.map +1 -1
- package/lib/components/VForm/index.mjs +1 -3
- package/lib/components/VForm/index.mjs.map +1 -1
- package/lib/components/VGrid/VCol.mjs +23 -18
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +10 -12
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VGrid.css +1002 -0
- package/lib/components/VGrid/VGrid.sass +9 -8
- package/lib/components/VGrid/VRow.mjs +22 -17
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/VSpacer.mjs +1 -1
- package/lib/components/VGrid/VSpacer.mjs.map +1 -1
- package/lib/components/VGrid/_mixins.sass +26 -21
- package/lib/components/VGrid/index.mjs +4 -4
- package/lib/components/VGrid/index.mjs.map +1 -1
- package/lib/components/VHover/VHover.mjs +31 -61
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VHover/index.mjs +1 -3
- package/lib/components/VHover/index.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.css +65 -0
- package/lib/components/VIcon/VIcon.mjs +36 -29
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.sass +31 -49
- package/lib/components/VIcon/_variables.scss +17 -20
- package/lib/components/VIcon/index.mjs +1 -1
- package/lib/components/VIcon/index.mjs.map +1 -1
- package/lib/components/VImg/VImg.css +34 -0
- package/lib/components/VImg/VImg.mjs +121 -71
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +14 -8
- package/lib/components/VImg/_variables.scss +1 -0
- package/lib/components/VImg/index.mjs +1 -1
- package/lib/components/VImg/index.mjs.map +1 -1
- package/lib/components/VInput/VInput.css +112 -0
- package/lib/components/VInput/VInput.mjs +102 -278
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +77 -117
- package/lib/components/VInput/_variables.scss +21 -13
- package/lib/components/VInput/index.mjs +1 -3
- package/lib/components/VInput/index.mjs.map +1 -1
- package/lib/components/VItemGroup/VItem.mjs +33 -62
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.css +6 -0
- package/lib/components/VItemGroup/VItemGroup.mjs +45 -215
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.sass +3 -2
- package/lib/components/VItemGroup/_variables.scss +3 -2
- package/lib/components/VItemGroup/index.mjs +2 -9
- package/lib/components/VItemGroup/index.mjs.map +1 -1
- package/lib/components/VKbd/VKbd.css +9 -0
- package/lib/components/VKbd/VKbd.sass +13 -0
- package/lib/components/VKbd/_variables.scss +6 -0
- package/lib/components/VKbd/index.mjs +4 -0
- package/lib/components/VKbd/index.mjs.map +1 -0
- package/lib/components/VLabel/VLabel.css +12 -0
- package/lib/components/VLabel/VLabel.mjs +18 -56
- package/lib/components/VLabel/VLabel.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.sass +13 -11
- package/lib/components/VLabel/_variables.scss +7 -4
- package/lib/components/VLabel/index.mjs +1 -3
- package/lib/components/VLabel/index.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.css +11 -0
- package/lib/components/VLayout/VLayout.mjs +20 -15
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.sass +5 -3
- package/lib/components/VLayout/VLayoutItem.css +8 -0
- package/lib/components/VLayout/VLayoutItem.mjs +36 -17
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.sass +8 -0
- package/lib/components/VLayout/index.mjs +2 -2
- package/lib/components/VLayout/index.mjs.map +1 -1
- package/lib/components/VLazy/VLazy.mjs +41 -51
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.mjs +1 -3
- package/lib/components/VLazy/index.mjs.map +1 -1
- package/lib/components/VList/VList.css +107 -0
- package/lib/components/VList/VList.mjs +140 -73
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +88 -94
- package/lib/components/VList/VListChildren.mjs +53 -0
- package/lib/components/VList/VListChildren.mjs.map +1 -0
- package/lib/components/VList/VListGroup.mjs +84 -164
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListImg.mjs +3 -0
- package/lib/components/VList/VListImg.mjs.map +1 -0
- package/lib/components/VList/VListItem.css +350 -0
- package/lib/components/VList/VListItem.mjs +184 -141
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +178 -228
- package/lib/components/VList/VListItemAction.mjs +23 -19
- package/lib/components/VList/VListItemAction.mjs.map +1 -1
- package/lib/components/VList/VListItemAvatar.mjs +16 -29
- package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
- package/lib/components/VList/VListItemHeader.mjs +3 -0
- package/lib/components/VList/VListItemHeader.mjs.map +1 -0
- package/lib/components/VList/VListItemIcon.mjs +17 -15
- package/lib/components/VList/VListItemIcon.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +29 -0
- package/lib/components/VList/VListItemMedia.mjs.map +1 -0
- package/lib/components/VList/VListItemSubtitle.mjs +3 -0
- package/lib/components/VList/VListItemSubtitle.mjs.map +1 -0
- package/lib/components/VList/VListItemTitle.mjs +3 -0
- package/lib/components/VList/VListItemTitle.mjs.map +1 -0
- package/lib/components/VList/VListSubheader.mjs +47 -0
- package/lib/components/VList/VListSubheader.mjs.map +1 -0
- package/lib/components/VList/_variables.scss +154 -57
- package/lib/components/VList/index.mjs +12 -28
- package/lib/components/VList/index.mjs.map +1 -1
- package/lib/components/VList/list.mjs +31 -0
- package/lib/components/VList/list.mjs.map +1 -0
- package/lib/components/VLocaleProvider/VLocaleProvider.css +3 -0
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs +19 -10
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- package/lib/components/VLocaleProvider/VLocaleProvider.sass +2 -0
- package/lib/components/VLocaleProvider/index.mjs +1 -1
- package/lib/components/VLocaleProvider/index.mjs.map +1 -1
- package/lib/components/VMain/VMain.css +18 -0
- package/lib/components/VMain/VMain.mjs +23 -19
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/VMain.sass +2 -1
- package/lib/components/VMain/_variables.scss +3 -1
- package/lib/components/VMain/index.mjs +1 -1
- package/lib/components/VMain/index.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.css +14 -0
- package/lib/components/VMenu/VMenu.mjs +78 -447
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.sass +17 -71
- package/lib/components/VMenu/_variables.scss +3 -2
- package/lib/components/VMenu/index.mjs +1 -3
- 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.css +16 -0
- package/lib/components/VMessages/VMessages.mjs +42 -41
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.sass +5 -10
- package/lib/components/VMessages/_variables.scss +3 -2
- package/lib/components/VMessages/index.mjs +1 -3
- package/lib/components/VMessages/index.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +93 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +124 -55
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +36 -23
- package/lib/components/VNavigationDrawer/_variables.scss +16 -9
- package/lib/components/VNavigationDrawer/index.mjs +1 -1
- package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs +139 -0
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -0
- package/lib/components/VNoSsr/VNoSsr.mjs +23 -0
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -0
- package/lib/components/VNoSsr/index.mjs +2 -0
- package/lib/components/VNoSsr/index.mjs.map +1 -0
- package/lib/components/VOtpInput/VOtpInput.mjs +345 -0
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -0
- package/lib/components/VOtpInput/VOtpInput.sass +37 -0
- package/lib/components/VOtpInput/_variables.scss +4 -0
- package/lib/components/VOtpInput/index.mjs +4 -0
- package/lib/components/VOtpInput/index.mjs.map +1 -0
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +63 -0
- package/lib/components/VOverlay/VOverlay.mjs +229 -67
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +39 -19
- package/lib/components/VOverlay/_variables.scss +4 -3
- package/lib/components/VOverlay/index.mjs +1 -3
- package/lib/components/VOverlay/index.mjs.map +1 -1
- package/lib/components/VOverlay/positionStrategies.mjs +207 -0
- package/lib/components/VOverlay/positionStrategies.mjs.map +1 -0
- package/lib/components/VOverlay/requestNewFrame.mjs +28 -0
- package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -0
- package/lib/components/VOverlay/scrollStrategies.mjs +137 -0
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -0
- package/lib/components/VOverlay/useActivator.mjs +241 -0
- package/lib/components/VOverlay/useActivator.mjs.map +1 -0
- package/lib/components/VOverlay/util/anchor.mjs +52 -0
- package/lib/components/VOverlay/util/anchor.mjs.map +1 -0
- package/lib/components/VOverlay/util/point.mjs +56 -0
- package/lib/components/VOverlay/util/point.mjs.map +1 -0
- package/lib/components/VPagination/VPagination.css +9 -0
- package/lib/components/VPagination/VPagination.mjs +261 -176
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.sass +11 -77
- package/lib/components/VPagination/_variables.scss +1 -15
- package/lib/components/VPagination/index.mjs +1 -3
- package/lib/components/VPagination/index.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.css +7 -0
- package/lib/components/VParallax/VParallax.mjs +71 -77
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.sass +1 -32
- package/lib/components/VParallax/index.mjs +1 -3
- package/lib/components/VParallax/index.mjs.map +1 -1
- package/lib/components/VPicker/VPicker.mjs +5 -5
- package/lib/components/VPicker/VPicker.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.css +101 -0
- package/lib/components/VProgressCircular/VProgressCircular.mjs +110 -141
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.sass +57 -36
- package/lib/components/VProgressCircular/_variables.scss +12 -5
- package/lib/components/VProgressCircular/index.mjs +1 -3
- package/lib/components/VProgressCircular/index.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.css +212 -0
- package/lib/components/VProgressLinear/VProgressLinear.mjs +138 -226
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +83 -157
- package/lib/components/VProgressLinear/_variables.scss +11 -3
- package/lib/components/VProgressLinear/index.mjs +1 -3
- package/lib/components/VProgressLinear/index.mjs.map +1 -1
- package/lib/components/VRadio/VRadio.mjs +33 -0
- package/lib/components/VRadio/VRadio.mjs.map +1 -0
- package/lib/components/VRadio/index.mjs +2 -0
- package/lib/components/VRadio/index.mjs.map +1 -0
- package/lib/components/VRadioGroup/VRadioGroup.css +10 -0
- package/lib/components/VRadioGroup/VRadioGroup.mjs +66 -69
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.sass +7 -37
- package/lib/components/VRadioGroup/_variables.scss +3 -3
- package/lib/components/VRadioGroup/index.mjs +1 -9
- package/lib/components/VRadioGroup/index.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +194 -206
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.mjs +1 -3
- package/lib/components/VRangeSlider/index.mjs.map +1 -1
- package/lib/components/VRating/VRating.css +58 -0
- package/lib/components/VRating/VRating.mjs +202 -177
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/VRating.sass +51 -18
- package/lib/components/VRating/_variables.scss +9 -4
- package/lib/components/VRating/index.mjs +1 -3
- package/lib/components/VRating/index.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.css +23 -0
- package/lib/components/VResponsive/VResponsive.mjs +24 -19
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.sass +5 -7
- package/lib/components/VResponsive/index.mjs +1 -1
- package/lib/components/VResponsive/index.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.css +34 -0
- package/lib/components/VSelect/VSelect.mjs +170 -781
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.sass +44 -153
- package/lib/components/VSelect/_variables.scss +7 -21
- package/lib/components/VSelect/index.mjs +1 -3
- package/lib/components/VSelect/index.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.css +97 -0
- package/lib/components/VSelectionControl/VSelectionControl.mjs +210 -0
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -0
- package/lib/components/VSelectionControl/VSelectionControl.sass +96 -0
- package/lib/components/VSelectionControl/_variables.scss +9 -0
- package/lib/components/VSelectionControl/index.mjs +2 -0
- package/lib/components/VSelectionControl/index.mjs.map +1 -0
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +3 -0
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +64 -0
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -0
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +9 -0
- package/lib/components/VSelectionControlGroup/_variables.scss +4 -0
- package/lib/components/VSelectionControlGroup/index.mjs +2 -0
- package/lib/components/VSelectionControlGroup/index.mjs.map +1 -0
- package/lib/components/VSheet/VSheet.css +23 -0
- package/lib/components/VSheet/VSheet.mjs +18 -18
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/VSheet.sass +11 -7
- package/lib/components/VSheet/_variables.scss +15 -4
- package/lib/components/VSheet/index.mjs +1 -1
- package/lib/components/VSheet/index.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +8 -8
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.css +42 -0
- package/lib/components/VSlideGroup/VSlideGroup.mjs +301 -361
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.sass +21 -25
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs +29 -0
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -0
- package/lib/components/VSlideGroup/_variables.scss +4 -1
- package/lib/components/VSlideGroup/helpers.mjs +54 -0
- package/lib/components/VSlideGroup/helpers.mjs.map +1 -0
- package/lib/components/VSlideGroup/index.mjs +2 -9
- package/lib/components/VSlideGroup/index.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.css +53 -0
- package/lib/components/VSlider/VSlider.mjs +113 -538
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.sass +38 -274
- package/lib/components/VSlider/VSliderThumb.css +142 -0
- package/lib/components/VSlider/VSliderThumb.mjs +165 -0
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -0
- package/lib/components/VSlider/VSliderThumb.sass +147 -0
- package/lib/components/VSlider/VSliderTrack.css +150 -0
- package/lib/components/VSlider/VSliderTrack.mjs +121 -0
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -0
- package/lib/components/VSlider/VSliderTrack.sass +159 -0
- package/lib/components/VSlider/_variables.scss +23 -14
- package/lib/components/VSlider/index.mjs +1 -3
- package/lib/components/VSlider/index.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs +300 -0
- package/lib/components/VSlider/slider.mjs.map +1 -0
- package/lib/components/VSnackbar/VSnackbar.css +137 -0
- package/lib/components/VSnackbar/VSnackbar.mjs +101 -168
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +43 -79
- package/lib/components/VSnackbar/_variables.scss +20 -25
- package/lib/components/VSnackbar/index.mjs +1 -3
- package/lib/components/VSnackbar/index.mjs.map +1 -1
- package/lib/components/VSparkline/VSparkline.mjs +13 -13
- package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/path.mjs +7 -5
- package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs +4 -4
- package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/components/VStepper/VStepper.mjs +2 -2
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepper.sass +5 -1
- package/lib/components/VStepper/VStepperStep.mjs +1 -1
- package/lib/components/VStepper/_variables.scss +6 -5
- package/lib/components/VSwitch/VSwitch.css +69 -0
- package/lib/components/VSwitch/VSwitch.mjs +99 -107
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.sass +71 -129
- package/lib/components/VSwitch/_variables.scss +10 -23
- package/lib/components/VSwitch/index.mjs +1 -3
- package/lib/components/VSwitch/index.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.css +35 -0
- package/lib/components/VSystemBar/VSystemBar.mjs +52 -37
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.sass +14 -26
- package/lib/components/VSystemBar/_variables.scss +27 -17
- package/lib/components/VSystemBar/index.mjs +1 -1
- package/lib/components/VSystemBar/index.mjs.map +1 -1
- package/lib/components/VTable/VTable.css +143 -0
- package/lib/components/VTable/VTable.mjs +54 -0
- package/lib/components/VTable/VTable.mjs.map +1 -0
- package/lib/components/VTable/VTable.sass +156 -0
- package/lib/components/VTable/_mixins.scss +25 -0
- package/lib/components/VTable/_variables.scss +21 -0
- package/lib/components/VTable/index.mjs +2 -0
- package/lib/components/VTable/index.mjs.map +1 -0
- package/lib/components/VTabs/VTab.css +29 -0
- package/lib/components/VTabs/VTab.mjs +109 -69
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTab.sass +30 -0
- package/lib/components/VTabs/VTabs.css +71 -0
- package/lib/components/VTabs/VTabs.mjs +86 -283
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.sass +40 -202
- package/lib/components/VTabs/_variables.scss +10 -18
- package/lib/components/VTabs/index.mjs +2 -15
- 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 +70 -0
- package/lib/components/VTextField/VTextField.mjs +162 -483
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.sass +56 -493
- package/lib/components/VTextField/_variables.scss +10 -50
- package/lib/components/VTextField/index.mjs +1 -3
- package/lib/components/VTextField/index.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.css +37 -0
- package/lib/components/VTextarea/VTextarea.mjs +210 -74
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.sass +35 -75
- package/lib/components/VTextarea/_variables.scss +2 -4
- package/lib/components/VTextarea/index.mjs +1 -3
- package/lib/components/VTextarea/index.mjs.map +1 -1
- package/lib/components/VThemeProvider/VThemeProvider.css +4 -0
- package/lib/components/VThemeProvider/VThemeProvider.mjs +23 -18
- package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
- package/lib/components/VThemeProvider/index.mjs +1 -1
- package/lib/components/VThemeProvider/index.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.mjs +4 -4
- package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePickerClock.mjs +9 -9
- package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePickerTitle.mjs +2 -2
- package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.css +399 -0
- package/lib/components/VTimeline/VTimeline.mjs +89 -34
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.sass +347 -115
- package/lib/components/VTimeline/VTimelineDivider.mjs +76 -0
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -0
- package/lib/components/VTimeline/VTimelineItem.mjs +68 -90
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/_mixins.sass +21 -32
- package/lib/components/VTimeline/_variables.scss +28 -15
- package/lib/components/VTimeline/index.mjs +2 -9
- package/lib/components/VTimeline/index.mjs.map +1 -1
- package/lib/components/VTimeline/shared.mjs +2 -0
- package/lib/components/VTimeline/shared.mjs.map +1 -0
- package/lib/components/VToolbar/VToolbar.css +145 -0
- package/lib/components/VToolbar/VToolbar.mjs +135 -141
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +75 -123
- package/lib/components/VToolbar/VToolbarItems.mjs +32 -0
- package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -0
- package/lib/components/VToolbar/VToolbarTitle.mjs +34 -0
- package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -0
- package/lib/components/VToolbar/_variables.scss +65 -15
- package/lib/components/VToolbar/index.mjs +3 -14
- package/lib/components/VToolbar/index.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.css +22 -0
- package/lib/components/VTooltip/VTooltip.mjs +73 -199
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.sass +8 -15
- package/lib/components/VTooltip/_variables.scss +6 -6
- package/lib/components/VTooltip/index.mjs +1 -3
- package/lib/components/VTooltip/index.mjs.map +1 -1
- package/lib/components/VTreeview/VTreeview.mjs +18 -9
- package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.mjs +4 -2
- package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
- package/lib/components/VTreeview/_mixins.sass +3 -3
- package/lib/components/VValidation/VValidation.mjs +26 -0
- package/lib/components/VValidation/VValidation.mjs.map +1 -0
- package/lib/components/VValidation/index.mjs +2 -0
- package/lib/components/VValidation/index.mjs.map +1 -0
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.css +70 -0
- package/lib/components/VWindow/VWindow.mjs +158 -233
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.sass +29 -51
- package/lib/components/VWindow/VWindowItem.mjs +72 -98
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/_variables.scss +2 -3
- package/lib/components/VWindow/index.mjs +2 -9
- package/lib/components/VWindow/index.mjs.map +1 -1
- package/lib/components/index.d.ts +15391 -0
- package/lib/components/index.mjs +75 -65
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/transitions/createTransition.mjs +61 -16
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs +107 -0
- package/lib/components/transitions/dialog-transition.mjs.map +1 -0
- package/lib/components/transitions/expand-transition.mjs +6 -4
- package/lib/components/transitions/expand-transition.mjs.map +1 -1
- package/lib/components/transitions/index.mjs +1 -1
- package/lib/components/transitions/index.mjs.map +1 -1
- package/lib/composables/border.mjs +9 -7
- package/lib/composables/border.mjs.map +1 -1
- package/lib/composables/color.mjs +2 -2
- package/lib/composables/color.mjs.map +1 -1
- package/lib/composables/defaults.mjs +42 -0
- package/lib/composables/defaults.mjs.map +1 -0
- package/lib/composables/density.mjs +5 -4
- package/lib/composables/density.mjs.map +1 -1
- package/lib/composables/display.mjs +4 -3
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/elevation.mjs +4 -3
- package/lib/composables/elevation.mjs.map +1 -1
- package/lib/composables/filter.mjs +87 -0
- package/lib/composables/filter.mjs.map +1 -0
- package/lib/composables/focus.mjs +35 -0
- package/lib/composables/focus.mjs.map +1 -0
- package/lib/composables/form.mjs +116 -0
- package/lib/composables/form.mjs.map +1 -0
- package/lib/composables/forwardRef.mjs +46 -0
- package/lib/composables/forwardRef.mjs.map +1 -0
- package/lib/composables/group.mjs +135 -45
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/hydration.mjs +12 -0
- package/lib/composables/hydration.mjs.map +1 -0
- package/lib/composables/icons.mjs +24 -30
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/index.mjs +9 -0
- package/lib/composables/index.mjs.map +1 -0
- package/lib/composables/intersectionObserver.mjs +33 -0
- package/lib/composables/intersectionObserver.mjs.map +1 -0
- package/lib/composables/items.mjs +56 -0
- package/lib/composables/items.mjs.map +1 -0
- package/lib/composables/layout.mjs +157 -66
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/lazy.mjs +23 -0
- package/lib/composables/lazy.mjs.map +1 -0
- package/lib/composables/loader.mjs +39 -0
- package/lib/composables/loader.mjs.map +1 -0
- package/lib/composables/locale.mjs +25 -13
- package/lib/composables/locale.mjs.map +1 -1
- package/lib/composables/mutationObserver.mjs +43 -0
- package/lib/composables/mutationObserver.mjs.map +1 -0
- package/lib/composables/nested/nested.mjs +207 -0
- package/lib/composables/nested/nested.mjs.map +1 -0
- package/lib/composables/nested/openStrategies.mjs +76 -0
- package/lib/composables/nested/openStrategies.mjs.map +1 -0
- package/lib/composables/nested/selectStrategies.mjs +198 -0
- package/lib/composables/nested/selectStrategies.mjs.map +1 -0
- package/lib/composables/overlay.mjs +34 -0
- package/lib/composables/overlay.mjs.map +1 -0
- package/lib/composables/position.mjs +6 -5
- package/lib/composables/position.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs +13 -8
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/refs.mjs +16 -0
- package/lib/composables/refs.mjs.map +1 -0
- package/lib/composables/resizeObserver.mjs +35 -0
- package/lib/composables/resizeObserver.mjs.map +1 -0
- package/lib/composables/rounded.mjs +10 -8
- package/lib/composables/rounded.mjs.map +1 -1
- package/lib/composables/router.mjs +82 -0
- package/lib/composables/router.mjs.map +1 -0
- package/lib/composables/rtl.mjs +5 -5
- package/lib/composables/rtl.mjs.map +1 -1
- package/lib/composables/scroll.mjs +3 -2
- 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 +4 -3
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/stack.mjs +36 -0
- package/lib/composables/stack.mjs.map +1 -0
- package/lib/composables/teleport.mjs +30 -0
- package/lib/composables/teleport.mjs.map +1 -0
- package/lib/composables/theme.mjs +147 -96
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/touch.mjs +129 -0
- package/lib/composables/touch.mjs.map +1 -0
- package/lib/composables/transition.mjs +20 -0
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +119 -0
- package/lib/composables/validation.mjs.map +1 -0
- package/lib/composables/variant.mjs +50 -0
- package/lib/composables/variant.mjs.map +1 -0
- package/lib/directives/click-outside/index.mjs +23 -11
- package/lib/directives/click-outside/index.mjs.map +1 -1
- package/lib/directives/color/index.mjs +1 -1
- package/lib/directives/color/index.mjs.map +1 -1
- package/lib/directives/index.d.ts +58 -0
- package/lib/directives/index.mjs +2 -2
- package/lib/directives/index.mjs.map +1 -1
- package/lib/directives/intersect/index.mjs +26 -19
- package/lib/directives/intersect/index.mjs.map +1 -1
- package/lib/directives/mutate/index.mjs +33 -34
- package/lib/directives/mutate/index.mjs.map +1 -1
- package/lib/directives/resize/index.mjs +10 -7
- package/lib/directives/resize/index.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.css +34 -0
- package/lib/directives/ripple/VRipple.sass +2 -1
- package/lib/directives/ripple/_variables.scss +4 -4
- package/lib/directives/ripple/index.mjs +35 -20
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/directives/scroll/index.mjs +9 -6
- package/lib/directives/scroll/index.mjs.map +1 -1
- package/lib/directives/touch/index.mjs +17 -7
- package/lib/directives/touch/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +8 -6
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +55 -36
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa-svg.d.ts +54 -0
- package/lib/iconsets/fa.d.ts +54 -0
- package/lib/iconsets/fa.mjs +1 -0
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.d.ts +54 -0
- package/lib/iconsets/fa4.mjs +2 -1
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/iconsets/md.d.ts +54 -0
- package/lib/iconsets/md.mjs +2 -1
- package/lib/iconsets/md.mjs.map +1 -1
- package/lib/iconsets/mdi-svg.d.ts +54 -0
- package/lib/iconsets/mdi-svg.mjs +1 -1
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/iconsets/mdi.d.ts +54 -0
- package/lib/iconsets/mdi.mjs +4 -3
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.ts +450 -0
- package/lib/locale/adapters/vue-i18n.mjs +64 -0
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -0
- package/lib/locale/adapters/vue-intl.mjs +67 -0
- package/lib/locale/adapters/vue-intl.mjs.map +1 -0
- package/lib/locale/af.mjs +5 -3
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +5 -3
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +5 -3
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +5 -3
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +12 -10
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +5 -3
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +6 -4
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +72 -0
- package/lib/locale/da.mjs.map +1 -0
- package/lib/locale/de.mjs +5 -3
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +5 -3
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +5 -3
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +6 -4
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +5 -3
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +5 -3
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +5 -3
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +7 -5
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +5 -3
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +5 -3
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +5 -3
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +5 -3
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.ts +3111 -0
- package/lib/locale/index.mjs +1 -0
- package/lib/locale/index.mjs.map +1 -1
- package/lib/locale/it.mjs +8 -6
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +5 -3
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/ko.mjs +5 -3
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +5 -3
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +5 -3
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +5 -3
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +5 -3
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +5 -3
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +5 -3
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +5 -3
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +5 -3
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +5 -3
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +5 -3
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +5 -3
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +5 -3
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +5 -3
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +5 -3
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +5 -3
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +5 -3
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +5 -3
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +5 -3
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +5 -3
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/presets/default/index.mjs +1 -1
- package/lib/presets/default/index.mjs.map +1 -1
- package/lib/services/goto/easing-patterns.mjs +0 -3
- package/lib/services/goto/easing-patterns.mjs.map +1 -1
- package/lib/services/goto/index.mjs +17 -17
- package/lib/services/goto/index.mjs.map +1 -1
- package/lib/services/goto/util.mjs +2 -2
- package/lib/services/goto/util.mjs.map +1 -1
- package/lib/styles/elements/_blockquote.sass +6 -4
- package/lib/styles/elements/_global.sass +12 -8
- package/lib/styles/elements/_index.sass +2 -6
- package/lib/styles/generic/_colors.scss +31 -11
- package/lib/styles/generic/_elevation.scss +3 -3
- package/lib/styles/generic/_index.scss +6 -6
- package/lib/styles/generic/_reset.scss +236 -226
- package/lib/styles/generic/_transitions.scss +20 -4
- package/lib/styles/main.css +18620 -0
- package/lib/styles/main.sass +4 -5
- package/lib/styles/settings/_colors.scss +431 -7
- package/lib/styles/settings/_elevations.scss +1 -1
- package/lib/styles/settings/_index.sass +4 -10
- package/lib/styles/settings/_utilities.scss +514 -463
- package/lib/styles/settings/_variables.scss +59 -64
- package/lib/styles/tools/_absolute.sass +8 -0
- package/lib/styles/tools/_border.sass +6 -1
- package/lib/styles/tools/_density.sass +5 -9
- package/lib/styles/tools/_display.sass +11 -0
- package/lib/styles/tools/_elevation.sass +4 -2
- package/lib/styles/tools/_functions.sass +32 -24
- package/lib/styles/tools/_index.sass +17 -22
- package/lib/styles/tools/_radius.sass +5 -2
- package/lib/styles/tools/_rtl.sass +2 -0
- package/lib/styles/tools/_sheet.sass +7 -4
- package/lib/styles/tools/_states.sass +18 -8
- package/lib/styles/tools/_theme.sass +3 -5
- package/lib/styles/tools/_typography.sass +6 -0
- package/lib/styles/tools/_utilities.sass +27 -24
- package/lib/styles/tools/_variant.sass +53 -0
- package/lib/styles/utilities/_display.sass +7 -6
- package/lib/styles/utilities/_index.sass +25 -22
- package/lib/styles/utilities/_text.sass +8 -7
- package/lib/styles.scss +4 -0
- package/lib/util/animation.mjs +43 -0
- package/lib/util/animation.mjs.map +1 -0
- package/lib/util/box.mjs +32 -0
- package/lib/util/box.mjs.map +1 -0
- package/lib/util/color/APCA.mjs +85 -0
- package/lib/util/color/APCA.mjs.map +1 -0
- package/lib/util/colorUtils.mjs +10 -7
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs +8 -7
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +18 -11
- package/lib/util/createSimpleFunctional.mjs.map +1 -1
- package/lib/util/dateTimeUtils.mjs +3 -1
- package/lib/util/dateTimeUtils.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +92 -0
- package/lib/util/defineComponent.mjs.map +1 -0
- package/lib/util/easing.mjs +5 -0
- package/lib/util/easing.mjs.map +1 -0
- package/lib/util/getCurrentInstance.mjs +19 -0
- package/lib/util/getCurrentInstance.mjs.map +1 -0
- package/lib/util/getScrollParent.mjs +24 -0
- package/lib/util/getScrollParent.mjs.map +1 -0
- package/lib/util/globals.mjs +1 -0
- package/lib/util/globals.mjs.map +1 -1
- package/lib/util/helpers.mjs +194 -41
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +6 -2
- package/lib/util/isFixedPosition.mjs +12 -0
- package/lib/util/isFixedPosition.mjs.map +1 -0
- package/lib/util/propsFactory.mjs.map +1 -1
- package/lib/util/useRender.mjs +4 -2
- package/lib/util/useRender.mjs.map +1 -1
- package/package.json +109 -42
- package/dist/vuetify.css.map +0 -1
- package/lib/components/VApp/_index.scss +0 -1
- package/lib/components/VAvatar/_index.scss +0 -2
- package/lib/components/VBadge/_index.scss +0 -2
- package/lib/components/VBanner/_index.scss +0 -2
- package/lib/components/VBtn/_index.scss +0 -3
- package/lib/components/VCheckbox/VSimpleCheckbox.mjs +0 -92
- package/lib/components/VCheckbox/VSimpleCheckbox.mjs.map +0 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.sass +0 -16
- package/lib/components/VDataTable/VSimpleTable.mjs +0 -48
- package/lib/components/VDataTable/VSimpleTable.mjs.map +0 -1
- package/lib/components/VDataTable/VSimpleTable.sass +0 -179
- package/lib/components/VDivider/_index.scss +0 -2
- package/lib/components/VExpansionPanel/VExpansionPanelContent.mjs +0 -47
- package/lib/components/VExpansionPanel/VExpansionPanelContent.mjs.map +0 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.mjs +0 -112
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.mjs.map +0 -1
- package/lib/components/VFooter/_index.scss +0 -2
- package/lib/components/VGrid/_index.scss +0 -2
- package/lib/components/VIcon/_index.scss +0 -2
- package/lib/components/VImg/_index.scss +0 -2
- package/lib/components/VLayout/_index.scss +0 -1
- package/lib/components/VList/VListGroup.sass +0 -111
- package/lib/components/VList/VListItemGroup.mjs +0 -41
- package/lib/components/VList/VListItemGroup.mjs.map +0 -1
- package/lib/components/VList/VListItemGroup.sass +0 -5
- package/lib/components/VList/_mixins.sass +0 -18
- package/lib/components/VMain/_index.scss +0 -2
- package/lib/components/VNavigationDrawer/_index.scss +0 -2
- package/lib/components/VParallax/_variables.scss +0 -4
- package/lib/components/VRadioGroup/VRadio.mjs +0 -179
- package/lib/components/VRadioGroup/VRadio.mjs.map +0 -1
- package/lib/components/VRadioGroup/VRadio.sass +0 -25
- package/lib/components/VRangeSlider/VRangeSlider.sass +0 -19
- package/lib/components/VResponsive/_index.scss +0 -1
- package/lib/components/VSelect/VSelectList.mjs +0 -251
- package/lib/components/VSelect/VSelectList.mjs.map +0 -1
- package/lib/components/VSheet/_index.scss +0 -2
- package/lib/components/VSlideGroup/VSlideItem.mjs +0 -14
- package/lib/components/VSlideGroup/VSlideItem.mjs.map +0 -1
- package/lib/components/VSubheader/VSubheader.mjs +0 -31
- package/lib/components/VSubheader/VSubheader.mjs.map +0 -1
- package/lib/components/VSubheader/VSubheader.sass +0 -15
- package/lib/components/VSubheader/_variables.scss +0 -6
- package/lib/components/VSubheader/index.mjs +0 -4
- package/lib/components/VSubheader/index.mjs.map +0 -1
- package/lib/components/VSystemBar/_index.scss +0 -2
- package/lib/components/VTabs/VTabItem.mjs +0 -23
- package/lib/components/VTabs/VTabItem.mjs.map +0 -1
- package/lib/components/VTabs/VTabsBar.mjs +0 -86
- package/lib/components/VTabs/VTabsBar.mjs.map +0 -1
- package/lib/components/VTabs/VTabsItems.mjs +0 -37
- package/lib/components/VTabs/VTabsItems.mjs.map +0 -1
- package/lib/components/VTabs/VTabsSlider.mjs +0 -20
- package/lib/components/VTabs/VTabsSlider.mjs.map +0 -1
- package/lib/components/VTextField/_mixins.sass +0 -18
- package/lib/components/VToolbar/_index.scss +0 -2
- package/lib/entry.mjs +0 -4
- package/lib/entry.mjs.map +0 -1
- package/lib/globals.d.mjs +0 -2
- package/lib/globals.d.mjs.map +0 -1
- package/lib/mixins/activatable/index.mjs +0 -196
- package/lib/mixins/activatable/index.mjs.map +0 -1
- package/lib/mixins/applicationable/index.mjs +0 -72
- package/lib/mixins/applicationable/index.mjs.map +0 -1
- package/lib/mixins/binds-attrs/index.mjs +0 -42
- package/lib/mixins/binds-attrs/index.mjs.map +0 -1
- package/lib/mixins/bootable/index.mjs +0 -54
- package/lib/mixins/bootable/index.mjs.map +0 -1
- package/lib/mixins/button-group/index.mjs +0 -28
- package/lib/mixins/button-group/index.mjs.map +0 -1
- package/lib/mixins/colorable/index.mjs +0 -78
- package/lib/mixins/colorable/index.mjs.map +0 -1
- package/lib/mixins/comparable/index.mjs +0 -15
- package/lib/mixins/comparable/index.mjs.map +0 -1
- package/lib/mixins/dependent/index.mjs +0 -73
- package/lib/mixins/dependent/index.mjs.map +0 -1
- package/lib/mixins/detachable/index.mjs +0 -128
- package/lib/mixins/detachable/index.mjs.map +0 -1
- package/lib/mixins/elevatable/index.mjs +0 -26
- package/lib/mixins/elevatable/index.mjs.map +0 -1
- package/lib/mixins/filterable/index.mjs +0 -16
- package/lib/mixins/filterable/index.mjs.map +0 -1
- package/lib/mixins/intersectable/index.mjs +0 -53
- package/lib/mixins/intersectable/index.mjs.map +0 -1
- package/lib/mixins/loadable/index.mjs +0 -45
- package/lib/mixins/loadable/index.mjs.map +0 -1
- package/lib/mixins/localable/index.mjs +0 -17
- package/lib/mixins/localable/index.mjs.map +0 -1
- package/lib/mixins/menuable/index.mjs +0 -361
- package/lib/mixins/menuable/index.mjs.map +0 -1
- package/lib/mixins/mobile/index.mjs +0 -50
- package/lib/mixins/mobile/index.mjs.map +0 -1
- package/lib/mixins/overlayable/index.mjs +0 -201
- package/lib/mixins/overlayable/index.mjs.map +0 -1
- package/lib/mixins/picker/index.mjs +0 -75
- package/lib/mixins/picker/index.mjs.map +0 -1
- package/lib/mixins/picker-button/index.mjs +0 -35
- package/lib/mixins/picker-button/index.mjs.map +0 -1
- package/lib/mixins/proxyable/index.mjs +0 -50
- package/lib/mixins/proxyable/index.mjs.map +0 -1
- package/lib/mixins/returnable/index.mjs +0 -36
- package/lib/mixins/returnable/index.mjs.map +0 -1
- package/lib/mixins/rippleable/index.mjs +0 -35
- package/lib/mixins/rippleable/index.mjs.map +0 -1
- package/lib/mixins/roundable/index.mjs +0 -37
- package/lib/mixins/roundable/index.mjs.map +0 -1
- package/lib/mixins/routable/index.mjs +0 -146
- package/lib/mixins/routable/index.mjs.map +0 -1
- package/lib/mixins/selectable/index.mjs +0 -167
- package/lib/mixins/selectable/index.mjs.map +0 -1
- package/lib/mixins/stackable/index.mjs +0 -55
- package/lib/mixins/stackable/index.mjs.map +0 -1
- package/lib/mixins/themeable/index.mjs +0 -111
- package/lib/mixins/themeable/index.mjs.map +0 -1
- package/lib/mixins/toggleable/index.mjs +0 -40
- package/lib/mixins/toggleable/index.mjs.map +0 -1
- package/lib/mixins/transitionable/index.mjs +0 -13
- package/lib/mixins/transitionable/index.mjs.map +0 -1
- package/lib/mixins/translatable/index.mjs +0 -59
- package/lib/mixins/translatable/index.mjs.map +0 -1
- package/lib/mixins/validatable/index.mjs +0 -263
- package/lib/mixins/validatable/index.mjs.map +0 -1
- package/lib/services/application/index.mjs +0 -44
- package/lib/services/application/index.mjs.map +0 -1
- package/lib/services/breakpoint/index.mjs +0 -151
- package/lib/services/breakpoint/index.mjs.map +0 -1
- package/lib/services/index.mjs +0 -10
- package/lib/services/index.mjs.map +0 -1
- package/lib/services/lang/index.mjs +0 -69
- package/lib/services/lang/index.mjs.map +0 -1
- package/lib/services/service/index.mjs +0 -8
- package/lib/services/service/index.mjs.map +0 -1
- package/lib/styles/components/_index.sass +0 -1
- package/lib/styles/components/_selection-controls.sass +0 -119
- package/lib/styles/elements/_code.sass +0 -23
- package/lib/styles/elements/_headings.sass +0 -8
- package/lib/styles/elements/_lists.sass +0 -3
- package/lib/styles/elements/_typography.sass +0 -88
- package/lib/styles/settings/_dark.scss +0 -145
- package/lib/styles/settings/_light.scss +0 -126
- package/lib/styles/settings/_theme.scss +0 -1
- package/lib/styles/styles.sass +0 -2
- package/lib/util/makeProps.mjs +0 -52
- package/lib/util/makeProps.mjs.map +0 -1
- package/lib/util/useDirective.mjs +0 -7
- package/lib/util/useDirective.mjs.map +0 -1
- package/types/.npmignore +0 -2
- package/types/alacarte.d.ts +0 -49
- package/types/colors.d.ts +0 -107
- package/types/index.d.ts +0 -300
- package/types/lib.d.ts +0 -380
- package/types/services/application.d.ts +0 -27
- package/types/services/breakpoint.d.ts +0 -45
- package/types/services/goto.d.ts +0 -31
- package/types/services/icons.d.ts +0 -71
- package/types/services/index.d.ts +0 -16
- package/types/services/lang.d.ts +0 -19
- package/types/services/theme.d.ts +0 -83
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vuetify.esm.js","sources":["../src/util/box.ts","../src/util/animation.ts","../src/util/console.ts","../src/util/helpers.ts","../src/util/color/transformSRGB.ts","../src/util/color/transformCIELAB.ts","../src/util/colorUtils.ts","../src/composables/defaults.ts","../src/util/defineComponent.tsx","../src/util/createSimpleFunctional.ts","../src/util/dom.ts","../src/util/easing.ts","../src/util/getCurrentInstance.ts","../src/util/getScrollParent.ts","../src/util/globals.ts","../src/util/isFixedPosition.ts","../src/util/propsFactory.ts","../src/util/useRender.ts","../src/util/color/APCA.ts","../src/composables/theme.ts","../src/composables/resizeObserver.ts","../src/composables/layout.ts","../src/locale/en.ts","../src/locale/index.ts","../src/composables/rtl.ts","../src/components/VApp/VApp.tsx","../src/components/VDefaultsProvider/VDefaultsProvider.tsx","../src/composables/dimensions.ts","../src/components/VResponsive/VResponsive.tsx","../src/directives/intersect/index.ts","../src/composables/transition.ts","../src/components/VImg/VImg.tsx","../src/composables/tag.ts","../src/components/VToolbar/VToolbarTitle.tsx","../src/composables/border.ts","../src/composables/elevation.ts","../src/composables/rounded.ts","../src/composables/color.ts","../src/composables/forwardRef.ts","../src/components/VToolbar/VToolbar.tsx","../src/composables/proxiedModel.ts","../src/components/VAppBar/VAppBar.tsx","../src/composables/density.ts","../src/composables/variant.tsx","../src/components/VBtnGroup/VBtnGroup.tsx","../src/composables/group.ts","../src/components/VBtnToggle/VBtnToggle.tsx","../src/composables/size.ts","../src/composables/icons.tsx","../src/components/VIcon/VIcon.tsx","../src/composables/position.ts","../src/composables/router.tsx","../src/composables/selectLink.ts","../src/directives/ripple/index.ts","../src/components/VBtn/VBtn.tsx","../src/components/VAppBar/VAppBarNavIcon.tsx","../src/components/VToolbar/VToolbarItems.tsx","../src/components/VAppBar/VAppBarTitle.tsx","../src/components/VAlert/VAlertTitle.ts","../src/components/VAlert/VAlert.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VChipGroup/VChipGroup.tsx","../src/components/transitions/createTransition.ts","../src/components/transitions/expand-transition.ts","../src/components/transitions/dialog-transition.tsx","../src/components/transitions/index.ts","../src/components/VChip/VChip.tsx","../src/components/VDivider/VDivider.tsx","../src/components/VList/list.ts","../src/composables/nested/openStrategies.ts","../src/composables/nested/selectStrategies.ts","../src/composables/nested/nested.ts","../src/components/VList/VListGroup.tsx","../src/components/VList/VListItemAvatar.tsx","../src/components/VList/VListItemHeader.ts","../src/components/VList/VListItemIcon.tsx","../src/components/VList/VListItemSubtitle.ts","../src/components/VList/VListItemTitle.ts","../src/components/VList/VListItem.tsx","../src/components/VList/VListSubheader.tsx","../src/components/VList/VListChildren.tsx","../src/components/VList/VList.tsx","../src/components/VList/VListImg.ts","../src/components/VList/VListItemAction.tsx","../src/components/VList/VListItemMedia.tsx","../src/composables/delay.ts","../src/components/VMenu/shared.ts","../src/components/VOverlay/useActivator.tsx","../src/components/VOverlay/util/anchor.ts","../src/components/VOverlay/util/point.ts","../src/components/VOverlay/positionStrategies.ts","../src/components/VOverlay/requestNewFrame.ts","../src/components/VOverlay/scrollStrategies.ts","../src/composables/teleport.ts","../src/composables/lazy.ts","../src/composables/stack.ts","../src/directives/click-outside/index.ts","../src/components/VOverlay/VOverlay.tsx","../src/components/VMenu/VMenu.tsx","../src/components/VMessages/VMessages.tsx","../src/composables/form.ts","../src/composables/validation.ts","../src/components/VInput/VInput.tsx","../src/components/VLabel/VLabel.tsx","../src/components/VField/VFieldLabel.tsx","../src/composables/intersectionObserver.ts","../src/components/VProgressLinear/VProgressLinear.tsx","../src/composables/loader.tsx","../src/composables/focus.ts","../src/components/VField/VField.tsx","../src/components/VCounter/VCounter.tsx","../src/components/VTextField/VTextField.tsx","../src/composables/items.ts","../src/composables/locale.ts","../src/components/VSelect/VSelect.tsx","../src/composables/filter.ts","../src/components/VAutocomplete/VAutocomplete.tsx","../src/components/VBadge/VBadge.tsx","../src/components/VBanner/VBannerActions.tsx","../src/components/VBanner/VBannerAvatar.tsx","../src/components/VBanner/VBannerIcon.tsx","../src/components/VBanner/VBannerText.ts","../src/composables/display.ts","../src/components/VBanner/VBanner.tsx","../src/components/VBottomNavigation/VBottomNavigation.tsx","../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx","../src/components/VBreadcrumbs/VBreadcrumbsDivider.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VCard/VCardActions.tsx","../src/components/VCard/VCardAvatar.ts","../src/components/VCard/VCardContent.ts","../src/components/VCard/VCardHeader.ts","../src/components/VCard/VCardHeaderText.ts","../src/components/VCard/VCardImg.ts","../src/components/VCard/VCardSubtitle.ts","../src/components/VCard/VCardText.ts","../src/components/VCard/VCardTitle.ts","../src/components/VCard/VCard.tsx","../src/directives/touch/index.ts","../src/components/VWindow/VWindow.tsx","../src/components/VWindow/VWindowItem.tsx","../src/components/VCarousel/VCarousel.tsx","../src/components/VCarousel/VCarouselItem.tsx","../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx","../src/components/VSelectionControl/VSelectionControl.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VCode/index.ts","../src/components/VSheet/VSheet.tsx","../src/components/VSlider/slider.ts","../src/components/VSlider/VSliderThumb.tsx","../src/components/VSlider/VSliderTrack.tsx","../src/components/VSlider/VSlider.tsx","../src/components/VColorPicker/util/index.ts","../src/components/VColorPicker/VColorPickerPreview.tsx","../src/components/VColorPicker/VColorPickerCanvas.tsx","../src/components/VColorPicker/VColorPickerEdit.tsx","../src/util/colors.ts","../src/components/VColorPicker/VColorPickerSwatches.tsx","../src/components/VColorPicker/VColorPicker.tsx","../src/components/VCombobox/VCombobox.tsx","../src/components/VDialog/VDialog.tsx","../src/components/VExpansionPanel/VExpansionPanels.tsx","../src/components/VExpansionPanel/VExpansionPanelTitle.tsx","../src/components/VExpansionPanel/VExpansionPanelText.tsx","../src/components/VExpansionPanel/VExpansionPanel.tsx","../src/components/VFileInput/VFileInput.tsx","../src/components/VFooter/VFooter.tsx","../src/components/VForm/VForm.tsx","../src/components/VGrid/VContainer.tsx","../src/components/VGrid/VCol.ts","../src/components/VGrid/VRow.ts","../src/components/VGrid/VSpacer.ts","../src/components/VHover/VHover.tsx","../src/components/VItemGroup/VItemGroup.tsx","../src/components/VItemGroup/VItem.tsx","../src/components/VKbd/index.ts","../src/components/VLayout/VLayout.tsx","../src/components/VLayout/VLayoutItem.tsx","../src/components/VLazy/VLazy.tsx","../src/components/VLocaleProvider/VLocaleProvider.tsx","../src/composables/ssrBoot.ts","../src/components/VMain/VMain.tsx","../src/composables/touch.ts","../src/components/VNavigationDrawer/touch.ts","../src/components/VNavigationDrawer/VNavigationDrawer.tsx","../src/composables/hydration.ts","../src/components/VNoSsr/VNoSsr.tsx","../src/composables/refs.ts","../src/components/VPagination/VPagination.tsx","../src/components/VParallax/VParallax.tsx","../src/components/VProgressCircular/VProgressCircular.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VRangeSlider/VRangeSlider.tsx","../src/components/VRating/VRating.tsx","../src/components/VSlideGroup/helpers.ts","../src/components/VSlideGroup/VSlideGroup.tsx","../src/components/VSlideGroup/VSlideGroupItem.tsx","../src/components/VSnackbar/VSnackbar.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSystemBar/VSystemBar.tsx","../src/components/VTabs/shared.ts","../src/components/VTabs/VTab.tsx","../src/components/VTabs/VTabs.tsx","../src/components/VTable/VTable.tsx","../src/components/VTextarea/VTextarea.tsx","../src/components/VThemeProvider/VThemeProvider.tsx","../src/components/VTimeline/shared.ts","../src/components/VTimeline/VTimeline.tsx","../src/components/VTimeline/VTimelineDivider.tsx","../src/components/VTimeline/VTimelineItem.tsx","../src/components/VTooltip/VTooltip.tsx","../src/components/VValidation/VValidation.tsx","../src/directives/mutate/index.ts","../src/directives/resize/index.ts","../src/directives/scroll/index.ts","../src/iconsets/mdi.ts","../src/framework.ts","../src/entry-bundler.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n","import { Box } from '@/util/box'\n\n/** @see https://stackoverflow.com/a/57876601/2074736 */\nexport function nullifyTransforms (el: HTMLElement): Box {\n const rect = el.getBoundingClientRect()\n const style = getComputedStyle(el)\n const tx = style.transform\n\n if (tx) {\n let ta, sx, sy, dx, dy\n if (tx.startsWith('matrix3d(')) {\n ta = tx.slice(9, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[5]\n dx = +ta[12]\n dy = +ta[13]\n } else if (tx.startsWith('matrix(')) {\n ta = tx.slice(7, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[3]\n dx = +ta[4]\n dy = +ta[5]\n } else {\n return new Box(rect)\n }\n\n const to = style.transformOrigin\n const x = rect.x - dx - (1 - sx) * parseFloat(to)\n const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1))\n const w = sx ? rect.width / sx : el.offsetWidth\n const h = sy ? rect.height / sy : el.offsetHeight\n\n return new Box({ x, y, width: w, height: h })\n } else {\n return new Box(rect)\n }\n}\n","/* eslint-disable no-console */\n// import Vuetify from '../framework'\n\nfunction createMessage (message: string, vm?: any, parent?: any): string | void {\n // if (Vuetify.config.silent) return\n\n if (parent) {\n vm = {\n _isVue: true,\n $parent: parent,\n $options: vm,\n }\n }\n\n if (vm) {\n // Only show each message once per instance\n vm.$_alreadyWarned = vm.$_alreadyWarned || []\n if (vm.$_alreadyWarned.includes(message)) return\n vm.$_alreadyWarned.push(message)\n }\n\n return `[Vuetify] ${message}` + (\n vm ? generateComponentTrace(vm) : ''\n )\n}\n\nexport function consoleInfo (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.info(newMessage)\n}\n\nexport function consoleWarn (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.warn(newMessage)\n}\n\nexport function consoleError (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.error(newMessage)\n}\n\nexport function deprecate (original: string, replacement: string, vm?: any, parent?: any) {\n consoleWarn(`[UPGRADE] '${original}' is deprecated, use '${replacement}' instead.`, vm, parent)\n}\nexport function breaking (original: string, replacement: string, vm?: any, parent?: any) {\n consoleError(`[BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`, vm, parent)\n}\nexport function removed (original: string, vm?: any, parent?: any) {\n consoleWarn(`[REMOVED] '${original}' has been removed. You can safely omit it.`, vm, parent)\n}\n\n/**\n * Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = (str: string) => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nfunction formatComponentName (vm: any, includeFile?: boolean): string {\n if (vm.$root === vm) {\n return '<Root>'\n }\n const options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {}\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match?.[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : `<Anonymous>`) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nfunction generateComponentTrace (vm: any): string {\n if (vm._isVue && vm.$parent) {\n const tree: any[] = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last: any = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : ' '.repeat(5 + i * 2)\n }${\n Array.isArray(vm)\n // eslint-disable-next-line sonarjs/no-nested-template-literals\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","// Utilities\nimport { camelize, Fragment } from 'vue'\n\n// Types\nimport type { ComponentInternalInstance, ComponentPublicInstance, InjectionKey, Ref, Slots, VNode, VNodeChild } from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey = string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace: Record<string, string> = {\n '&': '&',\n '<': '<',\n '>': '>',\n}\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n )\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ninterface ItemGroup<T> {\n name: string\n items: T[]\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v : [v]\n}\n\ntype DataTableCompareFunction<T = any> = (a: T, b: T) => number\nexport function sortItems<T extends any, K extends keyof T> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<K, DataTableCompareFunction<T[K]>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters?.[sortKey as K]) {\n const customResult = customSorters[sortKey as K](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function getUid () {\n return getUid._uid++\n}\ngetUid._uid = 0\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n return str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n}\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n","import type { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n","import type { LAB, XYZ } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n","// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nexport function colorToInt (color: Color): ColorInt {\n let rgb\n\n if (typeof color === 'number') {\n rgb = color\n } else if (typeof color === 'string') {\n let c = color.startsWith('#') ? color.substring(1) : color\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('')\n }\n if (c.length !== 6) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n }\n rgb = parseInt(c, 16)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`)\n rgb = 0\n } else if (rgb > 0xffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n rgb = 0xffffff\n }\n\n return rgb\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\nexport function intToHex (color: ColorInt): string {\n let hexColor: string = color.toString(16)\n\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function HSVAtoCSS (hsva: HSVA): string {\n return RGBAtoCSS(HSVAtoRGBA(hsva))\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n const toHex = (v: number) => {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n }\n\n return `#${[\n toHex(rgba.r),\n toHex(rgba.g),\n toHex(rgba.b),\n toHex(Math.round(rgba.a * 255)),\n ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round((rgba[3] / 255) * 100) / 100,\n }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n const rgb = HexToRGBA(hex)\n return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F')\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\nexport function colorToRGB (color: string) {\n const int = colorToInt(color)\n\n return {\n r: (int & 0xFF0000) >> 16,\n g: (int & 0xFF00) >> 8,\n b: (int & 0xFF),\n }\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n // TODO: why this false positive?\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = colorToInt(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n","// Utilities\nimport { computed, inject, provide, ref, unref } from 'vue'\nimport { mergeDeep } from '@/util/helpers'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface DefaultsInstance {\n [key: string]: undefined | Record<string, unknown>\n global?: Record<string, unknown>\n}\n\nexport type DefaultsOptions = Partial<DefaultsInstance>\n\nexport const DefaultsSymbol: InjectionKey<Ref<DefaultsInstance>> = Symbol.for('vuetify:defaults')\n\nexport function createDefaults (options?: DefaultsInstance): Ref<DefaultsInstance> {\n return ref(options ?? {})\n}\n\nexport function useDefaults () {\n const defaults = inject(DefaultsSymbol)\n\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance')\n\n return defaults\n}\n\nexport function provideDefaults (\n defaults?: MaybeRef<DefaultsInstance | undefined>,\n options?: {\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = useDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const scoped = unref(options?.scoped)\n const reset = unref(options?.reset)\n const root = unref(options?.root)\n\n let properties = mergeDeep(providedDefaults.value, { prev: injectedDefaults.value })\n\n if (scoped) return properties\n\n if (reset || root) {\n const len = Number(reset || Infinity)\n\n for (let i = 0; i <= len; i++) {\n if (!properties.prev) break\n\n properties = properties.prev\n }\n\n return properties\n }\n\n return mergeDeep(properties.prev, properties)\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n","// Utils\nimport {\n defineComponent as _defineComponent,\n effectScope,\n getCurrentInstance,\n shallowReactive,\n shallowRef,\n toRaw,\n watch,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { toKebabCase } from '@/util/helpers'\nimport { provideDefaults, useDefaults } from '@/composables/defaults'\n\n// Types\nimport type {\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EffectScope,\n EmitsOptions,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return vnode.props?.hasOwnProperty(prop) ||\n vnode.props?.hasOwnProperty(toKebabCase(prop))\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.props = options.props ?? {}\n options.props._as = String\n options.setup = function setup (props: Record<string, any>, ctx) {\n const vm = getCurrentInstance()!\n const defaults = useDefaults()\n\n const _subcomponentDefaults = shallowRef()\n const _props = shallowReactive({ ...toRaw(props) })\n watchEffect(() => {\n const globalDefaults = defaults.value.global\n const componentDefaults = defaults.value[props._as ?? options.name!]\n\n if (componentDefaults) {\n const subComponents = Object.entries(componentDefaults).filter(([key]) => key.startsWith('V'))\n if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents)\n }\n\n for (const prop of Object.keys(props)) {\n let newVal\n if (propIsDefined(vm.vnode, prop)) {\n newVal = props[prop]\n } else {\n newVal = componentDefaults?.[prop] ?? globalDefaults?.[prop] ?? props[prop]\n }\n if (_props[prop] !== newVal) {\n _props[prop] = newVal\n }\n }\n })\n\n const setupBindings = options._setup(_props, ctx)\n\n let scope: EffectScope\n watch(_subcomponentDefaults, (val, oldVal) => {\n if (!val && scope) scope.stop()\n else if (val && !oldVal) {\n scope = effectScope()\n scope.run(() => {\n provideDefaults(val)\n })\n }\n }, { immediate: true })\n\n return setupBindings\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\nexport type SlotsToProps<T extends Record<string, Slot>> = {\n $children: () => (T['default'] | VNodeChild | { [K in keyof T]?: T[K] })\n 'v-slots': new () => { [K in keyof T]?: T[K] | false }\n}/* & { // TODO: individual slots are never converted from the constructor type\n [K in keyof T as `v-slot:${K & string}`]?: new () => (T[K] | false)\n} */\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $slots?: Record<string, Slot>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n (I extends Record<'$props', any> ? Omit<PropsOptions, keyof I['$props']> : PropsOptions) & (\n I extends Record<'$slots', any>\n ? SlotsToProps<I['$slots']>\n : {}\n ),\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n","import { camelize, capitalize, h } from 'vue'\nimport { defineComponent } from './defineComponent'\n\nexport function createSimpleFunctional (\n klass: string,\n tag = 'div',\n name?: string\n) {\n return defineComponent({\n name: name ?? capitalize(camelize(klass.replace(/__/g, '-'))),\n\n props: {\n tag: {\n type: String,\n default: tag,\n },\n },\n\n setup (props, { slots }) {\n return () => h(props.tag, {\n class: klass,\n }, slots.default?.())\n },\n })\n}\n","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\n}\n","export const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)'\nexport const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)' // Entering\nexport const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)' // Leaving\n","// Utilities\nimport { getCurrentInstance as _getCurrentInstance } from 'vue'\nimport { toKebabCase } from '@/util/helpers'\n\nexport function getCurrentInstance (name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nexport function getCurrentInstanceName (name = 'composables') {\n return toKebabCase(getCurrentInstance(name).type?.name)\n}\n","export function getScrollParent (el?: HTMLElement) {\n while (el) {\n if (hasScrollbar(el)) return el\n el = el.parentElement!\n }\n\n return document.scrollingElement as HTMLElement\n}\n\nexport function getScrollParents (el?: HTMLElement) {\n const elements: HTMLElement[] = []\n while (el) {\n if (hasScrollbar(el)) elements.push(el)\n el = el.parentElement!\n }\n\n return elements\n}\n\nexport function hasScrollbar (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return style.overflowY === 'scroll' || (style.overflowY === 'auto' && el.scrollHeight > el.clientHeight)\n}\n","export const IS_NODE = typeof process !== 'undefined'\nexport const IN_BROWSER = typeof window !== 'undefined'\nexport const IS_DEBUG = IS_NODE && process.env.DEBUG === 'true'\nexport const IS_PROD = IS_NODE && process.env.NODE_ENV === 'production'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && CSS.supports('selector(:focus-visible)')\n","export function isFixedPosition (el?: HTMLElement) {\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n return true\n }\n el = el.offsetParent as HTMLElement\n }\n return false\n}\n","import type { ComponentObjectPropsOptions, Prop, PropType } from 'vue'\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record<keyof props, any>) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory<\n PropsOptions extends ComponentObjectPropsOptions\n> (props: PropsOptions, source?: string) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults\n ): AppendDefault<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop])\n const definition = isObjectDefinition ? props[prop] : { type: props[prop] }\n\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop],\n }\n } else {\n obj[prop] = definition\n }\n\n if (source) {\n obj[prop].source = source\n }\n\n return obj\n }, {})\n }\n}\n\ntype AppendDefault<T extends ComponentObjectPropsOptions, D extends PartialKeys<T>> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n}\n\ntype MergeDefault<T, D> = unknown extends D ? InferPropType<T> : (NonNullable<InferPropType<T>> | D)\n\n/**\n * Like `Partial<T>` but doesn't care what the value is\n */\ntype PartialKeys<T> = { [P in keyof T]?: unknown }\n\n// Copied from Vue\ntype InferPropType<T> = T extends null\n ? any // null & true would fail to infer\n : T extends { type: null | true }\n ? any // As TS issue https://github.com/Microsoft/TypeScript/issues/14829 // somehow `ObjectConstructor` when inferred from { (): T } becomes `any` // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n : T extends ObjectConstructor | { type: ObjectConstructor }\n ? Record<string, any>\n : T extends BooleanConstructor | { type: BooleanConstructor }\n ? boolean\n : T extends Prop<infer V, infer D> ? (unknown extends V ? D : V) : T\n","// Utilities\nimport { getCurrentInstance } from './getCurrentInstance'\n\n// Types\nimport type { VNode } from 'vue'\n\nexport function useRender (render: () => VNode): void {\n const vm = getCurrentInstance('useRender') as any\n vm.render = render\n}\n","/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4\n\nconst Rco = 0.2126729 // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522 // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750 // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55\nconst normTXT = 0.58\nconst revTXT = 0.57\nconst revBG = 0.62\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03 // Level that triggers the soft black clamp\nconst blkClmp = 1.45 // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005 // Lint trap\nconst scaleBoW = 1.25 // Scaling for dark text on light\nconst scaleWoB = 1.25 // Scaling for light text on dark\nconst loConThresh = 0.078 // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282 // = 1/0.078,\nconst loConOffset = 0.06 // The simple offset\nconst loClip = 0.001 // Output clip (lint trap #2)\n\nexport function APCAcontrast (text: number, background: number) {\n // Linearize sRGB\n const Rtxt = ((text >> 16 & 0xff) / 255) ** mainTRC\n const Gtxt = ((text >> 8 & 0xff) / 255) ** mainTRC\n const Btxt = ((text >> 0 & 0xff) / 255) ** mainTRC\n\n const Rbg = ((background >> 16 & 0xff) / 255) ** mainTRC\n const Gbg = ((background >> 8 & 0xff) / 255) ** mainTRC\n const Bbg = ((background >> 0 & 0xff) / 255) ** mainTRC\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = (Rtxt * Rco) + (Gtxt * Gco) + (Btxt * Bco)\n let Ybg = (Rbg * Rco) + (Gbg * Gco) + (Bbg * Bco)\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0\n\n // SAPC CONTRAST\n\n let outputContrast: number // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = ((Ybg ** normBG) - (Ytxt ** normTXT)) * scaleBoW\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast =\n (SAPC < loClip) ? 0.0\n : (SAPC < loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC - loConOffset\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = ((Ybg ** revBG) - (Ytxt ** revTXT)) * scaleWoB\n\n outputContrast =\n (SAPC > -loClip) ? 0.0\n : (SAPC > -loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC + loConOffset\n }\n\n return outputContrast * 100\n}\n","// Utilities\nimport { computed, inject, provide, ref, watch, watchEffect } from 'vue'\nimport {\n colorToInt,\n colorToRGB,\n createRange,\n darken,\n getCurrentInstance,\n getLuma,\n IN_BROWSER,\n intToHex,\n lighten,\n mergeDeep,\n propsFactory,\n} from '@/util'\nimport { APCAcontrast } from '@/util/color/APCA'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { HeadClient } from '@vueuse/head'\n\ntype DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T\n\ninterface BaseColors {\n background: string\n surface: string\n primary: string\n secondary: string\n success: string\n warning: string\n error: string\n info: string\n}\n\ninterface OnColors {\n 'on-background': string\n 'on-surface': string\n 'on-primary': string\n 'on-secondary': string\n 'on-success': string\n 'on-warning': string\n 'on-error': string\n 'on-info': string\n}\n\nexport interface Colors extends BaseColors, OnColors {\n [key: string]: string\n}\n\ninterface InternalThemeDefinition {\n dark: boolean\n colors: Colors\n variables: Record<string, string | number>\n}\n\ninterface VariationsOptions {\n colors: string[]\n lighten: number\n darken: number\n}\n\ninterface InternalThemeOptions {\n isDisabled: boolean\n defaultTheme: string\n variations: VariationsOptions\n themes: Record<string, InternalThemeDefinition>\n}\n\nexport type ThemeDefinition = DeepPartial<InternalThemeDefinition>\n\nexport type ThemeOptions = false | {\n defaultTheme?: string\n variations?: false | VariationsOptions\n themes?: Record<string, ThemeDefinition>\n}\n\nexport interface ThemeInstance {\n isDisabled: boolean\n themes: Ref<Record<string, InternalThemeDefinition>>\n current: Ref<string>\n themeClasses: Ref<string | undefined>\n setTheme: (key: string, theme: InternalThemeDefinition) => void\n getTheme: (key: string) => InternalThemeDefinition\n styles: Ref<string>\n}\n\nexport const ThemeSymbol: InjectionKey<ThemeInstance> = Symbol.for('vuetify:theme')\n\nexport const makeThemeProps = propsFactory({\n theme: String,\n}, 'theme')\n\nconst defaultThemeOptions: ThemeOptions = {\n defaultTheme: 'light',\n variations: { colors: [], lighten: 0, darken: 0 },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#6200EE',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC6',\n 'secondary-darken-1': '#018786',\n error: '#B00020',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#000000',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.04,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.12,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#C2C2C2',\n },\n },\n dark: {\n dark: true,\n colors: {\n background: '#121212',\n surface: '#212121',\n 'surface-variant': '#BDBDBD',\n 'on-surface-variant': '#424242',\n primary: '#BB86FC',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC5',\n 'secondary-darken-1': '#03DAC5',\n error: '#CF6679',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#FFFFFF',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.10,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.16,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#B7B7B7',\n },\n },\n },\n}\n\nconst parseThemeOptions = (options: ThemeOptions = defaultThemeOptions): InternalThemeOptions => {\n if (!options) return { ...defaultThemeOptions, isDisabled: true } as InternalThemeOptions\n\n const themes = Object.entries(options.themes ?? {}).reduce((obj, [key, theme]) => {\n const defaultTheme = theme.dark ? defaultThemeOptions.themes?.dark : defaultThemeOptions.themes?.light\n obj[key] = mergeDeep(defaultTheme, theme)\n return obj\n }, {} as Record<string, ThemeDefinition>)\n\n return mergeDeep(\n defaultThemeOptions,\n { ...options, themes },\n ) as InternalThemeOptions\n}\n\n// Composables\nexport function createTheme (app: App, options?: ThemeOptions): ThemeInstance {\n const head = app._context.provides.usehead as HeadClient | undefined\n const parsedOptions = parseThemeOptions(options)\n const styleEl = ref<HTMLStyleElement>()\n const current = ref(parsedOptions.defaultTheme)\n const themes = ref(parsedOptions.themes)\n const variations = ref(parsedOptions.variations)\n\n const computedThemes = computed(() => {\n return Object.entries(themes.value).reduce((obj, [name, original]) => {\n const theme: InternalThemeDefinition = {\n ...original,\n colors: {\n ...original.colors,\n ...(parsedOptions.variations.colors ?? []).reduce((obj, color) => {\n return { ...obj, ...genColorVariations(color, original.colors[color]!) }\n }, {}),\n },\n }\n\n for (const color of Object.keys(theme.colors)) {\n if (/on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue\n\n const onColor = `on-${color}` as keyof OnColors\n const colorVal = colorToInt(theme.colors[color]!)\n\n const blackContrast = Math.abs(APCAcontrast(0, colorVal))\n const whiteContrast = Math.abs(APCAcontrast(0xffffff, colorVal))\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n theme.colors[onColor] = whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000'\n }\n\n obj[name] = theme\n\n return obj\n }, {} as Record<string, InternalThemeDefinition>)\n })\n\n function genColorVariations (name: string, color: string) {\n const obj: Record<string, string> = {}\n for (const variation of (['lighten', 'darken'] as const)) {\n const fn = variation === 'lighten' ? lighten : darken\n for (const amount of createRange(variations.value[variation], 1)) {\n obj[`${name}-${variation}-${amount}`] = intToHex(fn(colorToInt(color), amount))\n }\n }\n\n return obj\n }\n\n const styles = computed(() => {\n const lines = []\n\n for (const themeName of Object.keys(computedThemes.value)) {\n const variables = computedThemes.value[themeName].variables\n\n lines.push(...createCssClass(`.v-theme--${themeName}`, [\n ...genCssVariables(themeName),\n ...Object.keys(variables).map(key => {\n const value = variables[key]\n const color = typeof value === 'string' && value.startsWith('#') ? colorToRGB(value) : undefined\n const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined\n\n return `--v-${key}: ${rgb ?? value}`\n }),\n ]))\n }\n\n const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)))\n for (const key of colors) {\n if (/on-[a-z]/.test(key)) {\n lines.push(...createCssClass(`.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]))\n } else {\n lines.push(\n ...createCssClass(`.bg-${key}`, [\n `--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`,\n `background: rgb(var(--v-theme-${key})) !important`,\n `color: rgb(var(--v-theme-on-${key})) !important`,\n ]),\n ...createCssClass(`.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]),\n ...createCssClass(`.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]),\n )\n }\n }\n\n return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('')\n })\n\n function genCssVariables (name: string) {\n const theme = computedThemes.value[name]\n\n if (!theme) throw new Error(`Could not find theme ${name}`)\n\n const lightOverlay = theme.dark ? 2 : 1\n const darkOverlay = theme.dark ? 1 : 2\n\n const variables: string[] = []\n for (const [key, value] of Object.entries(theme.colors)) {\n const rgb = colorToRGB(value!)\n variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`)\n if (!key.startsWith('on-')) {\n variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`)\n }\n }\n\n return variables\n }\n\n function createCssClass (selector: string, content: string[]) {\n return [\n `${selector} {\\n`,\n ...content.map(line => ` ${line};\\n`),\n '}\\n',\n ]\n }\n\n if (head) {\n head.addHeadObjs(computed(() => ({\n style: [{\n children: styles.value,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n }],\n })))\n\n if (IN_BROWSER) {\n watchEffect(() => head.updateDOM())\n }\n } else {\n watch(themes, updateStyles, { deep: true, immediate: true })\n\n function updateStyles () {\n if (parsedOptions.isDisabled) return\n\n genStyleElement()\n\n if (styleEl.value) styleEl.value.innerHTML = styles.value\n }\n\n function genStyleElement () {\n if (typeof document === 'undefined' || styleEl.value) return\n\n const el = document.createElement('style')\n el.type = 'text/css'\n el.id = 'vuetify-theme-stylesheet'\n\n styleEl.value = el\n document.head.appendChild(styleEl.value)\n }\n }\n\n return {\n isDisabled: parsedOptions.isDisabled,\n themes: computedThemes,\n setTheme: (key: string, theme: InternalThemeDefinition) => themes.value[key] = theme,\n getTheme: (key: string) => computedThemes.value[key],\n current,\n themeClasses: computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${current.value}`),\n styles,\n }\n}\n\nexport function provideTheme (props: { theme?: string }) {\n getCurrentInstance('provideTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n const current = computed<string>(() => {\n return props.theme ?? theme?.current.value\n })\n\n const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${current.value}`)\n\n const newTheme: ThemeInstance = {\n ...theme,\n current,\n themeClasses,\n }\n\n provide(ThemeSymbol, newTheme)\n\n return newTheme\n}\n\nexport function useTheme () {\n getCurrentInstance('useTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n return theme\n}\n","// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport type { DeepReadonly, Ref } from 'vue'\n\n// Globals\nimport { IN_BROWSER } from '@/util/globals'\n\ninterface ResizeState {\n resizeRef: Ref<Element | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback): ResizeState {\n const resizeRef = ref<Element>()\n const contentRect = ref<DOMRectReadOnly>()\n\n if (IN_BROWSER) {\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n contentRect.value = entries[0].contentRect\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n contentRect.value = undefined\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n }\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n }\n}\n","// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, inject, onActivated, onBeforeUnmount, onDeactivated, onMounted, provide, reactive, ref } from 'vue'\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ntype LayoutItem = {\n id: string\n top: number\n bottom: number\n left: number\n right: number\n size: number\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n priority: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n }\n ) => {\n layoutItemStyles: Ref<Record<string, unknown>>\n layoutItemScrimStyles: Ref<Record<string, unknown>>\n zIndex: Ref<number>\n }\n unregister: (id: string) => void\n mainStyles: Ref<Record<string, unknown>>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n layoutRect: Ref<DOMRectReadOnly | undefined>\n rootZIndex: Ref<number>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\nexport const VuetifyLayoutItemKey: InjectionKey<{ id: string }> = Symbol.for('vuetify:layout-item')\n\nconst ROOT_ZINDEX = 1000\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n priority: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n return layout\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n priority: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string | undefined>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n const id = options.id ?? `layout-item-${getUid()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n provide(VuetifyLayoutItemKey, { id })\n\n const isKeptAlive = ref(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const {\n layoutItemStyles,\n layoutItemScrimStyles,\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id,\n })\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n) => {\n let previousLayer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n for (const id of layout) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\n const parentLayout = inject(VuetifyLayoutKey, null)\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX)\n const registered = ref<string[]>([])\n const positions = reactive(new Map<string, Ref<Position>>())\n const layoutSizes = reactive(new Map<string, Ref<number | string>>())\n const priorities = reactive(new Map<string, Ref<number>>())\n const activeItems = reactive(new Map<string, Ref<boolean>>())\n const disabledTransitions = reactive(new Map<string, Ref<boolean>>())\n const { resizeRef, contentRect: layoutRect } = useResizeObserver()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b)\n const layout = []\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p)\n layout.push(...items)\n }\n return generateLayers(layout, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainStyles = computed(() => {\n const layer = layers.value[layers.value.length - 1].layer\n\n return {\n position: 'relative',\n paddingLeft: convertToUnit(layer.left),\n paddingRight: convertToUnit(layer.right),\n paddingTop: convertToUnit(layer.top),\n paddingBottom: convertToUnit(layer.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const isMounted = ref(false)\n onMounted(() => {\n isMounted.value = true\n })\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n priority,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\n priorities.set(id, priority)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && disabledTransitions.set(id, disableTransitions)\n\n const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\n const index = computed(() => items.value.findIndex(i => i.id === id))\n const zIndex = computed(() => rootZIndex.value + (layers.value.length * 2) - (index.value * 2))\n\n const layoutItemStyles = computed(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n\n if (!isMounted.value) return styles\n\n if (index.value < 0) throw new Error(`Layout item \"${id}\" is missing`)\n\n const item = items.value[index.value]\n\n if (!item) throw new Error(`Could not find layout item \"${id}`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n return {\n ...styles,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : elementSize.value ? `${elementSize.value}px` : undefined,\n marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,\n marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,\n marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,\n marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : elementSize.value ? `${elementSize.value}px` : undefined,\n }\n })\n\n const layoutItemScrimStyles = computed(() => ({\n zIndex: zIndex.value - 1,\n position: rootZIndex.value === ROOT_ZINDEX ? 'fixed' : 'absolute',\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n disabledTransitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = computed(() => ({\n zIndex: rootZIndex.value,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef,\n }\n}\n","export default {\n badge: 'Badge',\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...',\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.',\n },\n sortBy: 'Sort by',\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}',\n },\n datePicker: {\n itemsSelected: '{0} selected',\n nextMonthAriaLabel: 'Next month',\n nextYearAriaLabel: 'Next year',\n prevMonthAriaLabel: 'Previous month',\n prevYearAriaLabel: 'Previous year',\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} more',\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Goto Page {0}',\n currentPage: 'Page {0}, Current Page',\n first: 'First page',\n last: 'Last page',\n },\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}',\n },\n },\n}\n","export { default as af } from './af'\nexport { default as ar } from './ar'\nexport { default as bg } from './bg'\nexport { default as ca } from './ca'\nexport { default as ckb } from './ckb'\nexport { default as cs } from './cs'\nexport { default as da } from './da'\nexport { default as de } from './de'\nexport { default as el } from './el'\nexport { default as en } from './en'\nexport { default as es } from './es'\nexport { default as et } from './et'\nexport { default as fa } from './fa'\nexport { default as fi } from './fi'\nexport { default as fr } from './fr'\nexport { default as hr } from './hr'\nexport { default as hu } from './hu'\nexport { default as he } from './he'\nexport { default as id } from './id'\nexport { default as it } from './it'\nexport { default as ja } from './ja'\nexport { default as ko } from './ko'\nexport { default as lv } from './lv'\nexport { default as lt } from './lt'\nexport { default as nl } from './nl'\nexport { default as no } from './no'\nexport { default as pl } from './pl'\nexport { default as pt } from './pt'\nexport { default as ro } from './ro'\nexport { default as ru } from './ru'\nexport { default as sk } from './sk'\nexport { default as sl } from './sl'\nexport { default as srCyrl } from './sr-Cyrl'\nexport { default as srLatn } from './sr-Latn'\nexport { default as sv } from './sv'\nexport { default as th } from './th'\nexport { default as tr } from './tr'\nexport { default as az } from './az'\nexport { default as uk } from './uk'\nexport { default as vi } from './vi'\nexport { default as zhHans } from './zh-Hans'\nexport { default as zhHant } from './zh-Hant'\n\nexport const rtl = {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: false,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false,\n}\n","import { computed, inject, provide, ref } from 'vue'\nimport { rtl } from '@/locale'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { LocaleInstance } from './locale'\n\nexport interface RtlOptions {\n defaultRtl?: boolean\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Record<string, boolean>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (localeScope: LocaleInstance, options?: RtlOptions) {\n return createRtlScope({\n rtl: {\n ...rtl,\n ...(options?.rtl ?? {}),\n },\n isRtl: ref(options?.defaultRtl ?? false),\n rtlClasses: ref(''),\n }, localeScope)\n}\n\nexport function createRtlScope (currentScope: RtlInstance, localeScope: LocaleInstance, options?: RtlProps): RtlInstance {\n const isRtl = computed(() => {\n if (typeof options?.rtl === 'boolean') return options.rtl\n if (localeScope.current.value && currentScope.rtl.hasOwnProperty(localeScope.current.value)) {\n return currentScope.rtl[localeScope.current.value]\n }\n\n return currentScope.isRtl.value\n })\n\n return {\n isRtl,\n rtl: currentScope.rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (props: RtlProps, localeScope: LocaleInstance) {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n const newScope = createRtlScope(currentScope, localeScope, props)\n\n provide(RtlSymbol, newScope)\n\n return newScope\n}\n\nexport function useRtl () {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return currentScope\n}\n","// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { useRtl } from '@/composables/rtl'\n\nexport const VApp = defineComponent({\n name: 'VApp',\n\n props: {\n ...makeLayoutProps({ fullHeight: true }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, layoutStyles, getLayoutItem, items, layoutRef } = createLayout(props)\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n ]}\n style={ layoutStyles.value }\n data-app=\"true\"\n >\n <div class=\"v-application__wrap\">\n { slots.default?.() }\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, toRefs } from 'vue'\n\n// Types\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { PropType } from 'vue'\n\nexport const VDefaultsProvider = defineComponent({\n name: 'VDefaultsProvider',\n\n props: {\n defaults: Object as PropType<DefaultsOptions>,\n reset: [Number, String],\n root: Boolean,\n scoped: Boolean,\n },\n\n setup (props, { slots }) {\n const { defaults, reset, root, scoped } = toRefs(props)\n\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n })\n\n return () => slots.default?.()\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, propsFactory } from '@/util'\n\n// Types\nexport interface DimensionProps {\n height?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n width?: number | string\n}\n\n// Composables\nexport const makeDimensionProps = propsFactory({\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String],\n}, 'dimension')\n\nexport function useDimension (props: DimensionProps) {\n const dimensionStyles = computed(() => ({\n height: convertToUnit(props.height),\n maxHeight: convertToUnit(props.maxHeight),\n maxWidth: convertToUnit(props.maxWidth),\n minHeight: convertToUnit(props.minHeight),\n minWidth: convertToUnit(props.minWidth),\n width: convertToUnit(props.width),\n }))\n\n return { dimensionStyles }\n}\n","// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const VResponsive = defineComponent({\n name: 'VResponsive',\n\n props: {\n aspectRatio: [String, Number],\n contentClass: String,\n\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const { aspectStyles } = useAspectStyles(props)\n\n return () => (\n <div class=\"v-responsive\" style={ dimensionStyles.value }>\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n { slots.additional?.() }\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n )\n },\n})\n","// Utils\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype ObserveHandler = (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n) => void\n\nexport interface ObserveDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n if (!SUPPORTS_INTERSECTION) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[binding.instance!.$.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(isIntersecting, entries, observer)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![binding.instance!.$.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unmounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n const observe = el._observe?.[binding.instance!.$.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![binding.instance!.$.uid]\n}\n\nexport const Intersect: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n","// Utilities\nimport { h, mergeProps, Transition } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Component, FunctionalComponent, PropType, TransitionProps } from 'vue'\n\nexport const makeTransitionProps = propsFactory({\n transition: {\n type: [Boolean, String, Object] as PropType<string | boolean | TransitionProps & { component?: Component }>,\n default: 'fade-transition',\n validator: val => val !== true,\n },\n}, 'transition')\n\ninterface MaybeTransitionProps extends TransitionProps {\n transition?: string | boolean | TransitionProps & { component?: any }\n}\n\nexport const MaybeTransition: FunctionalComponent<MaybeTransitionProps> = (props, { slots }) => {\n const { transition, ...rest } = props\n\n if (!transition || typeof transition === 'boolean') return slots.default?.()\n\n const { component = Transition, ...customProps } = typeof transition === 'object' ? transition : {}\n\n return h(\n component,\n mergeProps(typeof transition === 'string' ? { name: transition } : customProps as any, rest as any),\n slots\n )\n}\n","import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n h,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n defineComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport const VImg = defineComponent({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeTransitionProps(),\n },\n\n emits: ['loadstart', 'load', 'error'],\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = computed(() => {\n if (!normalisedSrc.value.src || state.value === 'idle') return\n\n const img = h('img', {\n class: ['v-img__img', containClasses.value],\n src: normalisedSrc.value.src,\n srcset: normalisedSrc.value.srcset,\n sizes: props.sizes,\n ref: image,\n onLoad,\n onError,\n })\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n })\n\n const __preloadImage = computed(() => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt=\"\"\n />\n )}\n </MaybeTransition>\n ))\n\n const __placeholder = computed(() => {\n if (!slots.placeholder) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __error = computed(() => {\n if (!slots.error) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __gradient = computed(() => {\n if (!props.gradient) return\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n })\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n ]}\n style={{ width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) }}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n v-slots={{\n additional: () => [__image.value, __preloadImage.value, __gradient.value, __placeholder.value, __error.value],\n default: slots.default,\n }}\n />\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n","// Utilities\nimport { propsFactory } from '@/util'\n\n// Types\nexport interface TagProps {\n tag: string\n}\n\n// Composables\nexport const makeTagProps = propsFactory({\n tag: {\n type: String,\n default: 'div',\n },\n}, 'tag')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\n\nexport const VToolbarTitle = genericComponent<new () => {\n $slots: MakeSlots<{\n default: []\n text: []\n }>\n}>()({\n name: 'VToolbarTitle',\n\n props: {\n text: String,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => {\n const hasText = !!(slots.default || slots.text || props.text)\n\n return (\n <props.tag class=\"v-toolbar-title\">\n { hasText && (\n <div class=\"v-toolbar-title__placeholder\">\n { slots.text ? slots.text() : props.text }\n\n { slots.default?.() }\n </div>\n ) }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VToolbarTitle = InstanceType<typeof VToolbarTitle>\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface BorderProps {\n border?: boolean | number | string\n}\n\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String],\n}, 'border')\n\nexport function useBorder (\n props: BorderProps,\n name = getCurrentInstanceName(),\n) {\n const borderClasses = computed(() => {\n const classes: string[] = []\n\n if (props.border != null && props.border !== false) {\n classes.push(`${name}--border`)\n }\n\n if (\n (typeof props.border === 'string' && props.border !== '') ||\n props.border === 0\n ) {\n for (const value of String(props.border).split(' ')) {\n classes.push(`border-${value}`)\n }\n }\n\n return classes\n })\n\n return { borderClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nexport interface ElevationProps {\n elevation?: number | string | null\n}\n\n// Composables\nexport const makeElevationProps = propsFactory({\n elevation: {\n type: [Number, String],\n validator (v: any) {\n const value = parseInt(v)\n\n return (\n !isNaN(value) &&\n value >= 0 &&\n // Material Design has a maximum elevation of 24\n // https://material.io/design/environment/elevation.html#default-elevations\n value <= 24\n )\n },\n },\n}, 'elevation')\n\ntype ElevationData = {\n elevationClasses: Ref<string[]>\n}\n\nexport function useElevation (props: ElevationProps | Ref<number | string | undefined>): ElevationData {\n const elevationClasses = computed(() => {\n const elevation = isRef(props) ? props.value : props.elevation\n const classes: string[] = []\n\n if (elevation == null) return classes\n\n classes.push(`elevation-${elevation}`)\n\n return classes\n })\n\n return { elevationClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype RoundedValue = boolean | string | number | null | undefined\n\nexport interface RoundedProps {\n rounded?: RoundedValue\n tile?: boolean\n}\n\ntype RoundedData = {\n roundedClasses: Ref<string[]>\n}\n\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined,\n },\n}, 'rounded')\n\nexport function useRounded (\n props: RoundedProps | Ref<RoundedValue>,\n name = getCurrentInstanceName(),\n): RoundedData {\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded\n const classes: string[] = []\n\n if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`)\n } else if (\n typeof rounded === 'string' ||\n rounded === 0\n ) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`)\n }\n }\n\n return classes\n })\n\n return { roundedClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { isCssColor } from '@/util'\n\n// Types\nimport type { CSSProperties, Ref } from 'vue'\n\ntype ColorValue = string | false | null | undefined\n\nexport interface TextColorData {\n textColorClasses: Ref<string[]>\n textColorStyles: Ref<CSSProperties>\n}\n\nexport interface BackgroundColorData {\n backgroundColorClasses: Ref<string[]>\n backgroundColorStyles: Ref<CSSProperties>\n}\n\n// Composables\nexport function useColor (colors: Ref<{ background?: ColorValue, text?: ColorValue }>) {\n const backgroundIsCssColor = computed(() => isCssColor(colors.value.background))\n const textIsCssColor = computed(() => isCssColor(colors.value.text))\n\n const colorClasses = computed(() => {\n const classes: string[] = []\n\n if (colors.value.background && !backgroundIsCssColor.value) {\n classes.push(`bg-${colors.value.background}`)\n }\n\n if (colors.value.text && !textIsCssColor.value) {\n classes.push(`text-${colors.value.text}`)\n }\n\n return classes\n })\n\n const colorStyles = computed(() => {\n const styles: CSSProperties = {}\n\n if (colors.value.background && backgroundIsCssColor.value) {\n styles.backgroundColor = colors.value.background\n }\n\n if (colors.value.text && textIsCssColor.value) {\n styles.color = colors.value.text\n styles.caretColor = colors.value.text\n }\n\n return styles\n })\n\n return { colorClasses, colorStyles }\n}\n\nexport function useTextColor (color: Ref<ColorValue>): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): TextColorData {\n const colors = computed(() => ({\n text: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: textColorClasses,\n colorStyles: textColorStyles,\n } = useColor(colors)\n\n return { textColorClasses, textColorStyles }\n}\n\nexport function useBackgroundColor (color: Ref<ColorValue>): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): BackgroundColorData {\n const colors = computed(() => ({\n background: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: backgroundColorClasses,\n colorStyles: backgroundColorStyles,\n } = useColor(colors)\n\n return { backgroundColorClasses, backgroundColorStyles }\n}\n","import type { Ref, UnwrapRef } from 'vue'\nimport type { UnionToIntersection } from '@/util'\n\nexport function useForwardRef<T extends {}, U extends Ref<{} | undefined>[]> (\n target: T,\n ...refs: U\n): T & UnwrapRef<UnionToIntersection<U[number]>> {\n return new Proxy(target, {\n get (target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n const val = Reflect.get(ref.value, key)\n return typeof val === 'function'\n ? val.bind(ref.value)\n : val\n }\n }\n },\n getOwnPropertyDescriptor (target, key) {\n const descriptor = Reflect.getOwnPropertyDescriptor(target, key)\n if (descriptor) return descriptor\n\n // Check each ref's own properties\n for (const ref of refs) {\n if (!ref.value) continue\n const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key)\n if (descriptor) return descriptor\n }\n // Recursive search up each ref's prototype\n for (const ref of refs) {\n let obj = ref.value && Object.getPrototypeOf(ref.value)\n while (obj) {\n const descriptor = Reflect.getOwnPropertyDescriptor(obj, key)\n if (descriptor) return descriptor\n obj = Object.getPrototypeOf(obj)\n }\n }\n return undefined\n },\n }) as any\n}\n","// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\nimport { VToolbarTitle } from './VToolbarTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useForwardRef } from '@/composables/forwardRef'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport { provideDefaults } from '@/composables/defaults'\n\nexport type Density = typeof allowedDensities[number]\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 56,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'v-toolbar')\n\nexport const VToolbar = genericComponent<new () => {\n $slots: MakeSlots<{\n default: []\n image: [{ image: string }]\n prepend: []\n append: []\n title: []\n extension: []\n }>\n}>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const isExtended = computed(() => (!!(props.extended || slots.extension)))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n flat: true,\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n ]}\n >\n { hasImage && (\n <div class=\"v-toolbar__image\">\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n scoped\n >\n { slots.image ? slots.image?.() : (<VImg />) }\n </VDefaultsProvider>\n </div>\n ) }\n\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n ) }\n\n { hasTitle && (\n <VToolbarTitle text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n ) }\n </div>\n\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { slots.extension?.() }\n </div>\n ) }\n </props.tag>\n )\n })\n\n return useForwardRef({\n contentHeight,\n extensionHeight,\n })\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n\nexport function filterToolbarProps (props: ExtractPropTypes<ReturnType<typeof makeVToolbarProps>>) {\n return pick(props, Object.keys(VToolbar?.props ?? {}) as any)\n}\n","// Utilities\nimport { computed, ref } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Composables\nexport function useProxiedModel<\n Props extends object & { [key in Prop as `onUpdate:${Prop}`]: ((val: any) => void) | undefined },\n Prop extends Extract<keyof Props, string>,\n Inner = Props[Prop],\n> (\n props: Props,\n prop: Prop,\n defaultValue?: Props[Prop],\n transformIn: (value?: Props[Prop]) => Inner = (v: any) => v,\n transformOut: (value: Inner) => Props[Prop] = (v: any) => v,\n) {\n const vm = getCurrentInstance('useProxiedModel')\n\n const propIsDefined = computed(() => {\n return !!(\n typeof props[prop] !== 'undefined' &&\n (vm?.vnode.props?.hasOwnProperty(prop) || vm?.vnode.props?.hasOwnProperty(toKebabCase(prop)))\n )\n })\n\n const internal = ref(transformIn(props[prop])) as Ref<Inner>\n\n return computed<Inner extends any[] ? Readonly<Inner> : Inner>({\n get (): any {\n if (propIsDefined.value) return transformIn(props[prop])\n else return internal.value\n },\n set (newValue) {\n if ((propIsDefined.value ? transformIn(props[prop]) : internal.value) === newValue) {\n return\n }\n internal.value = newValue\n vm?.emit(`update:${prop}`, transformOut(newValue))\n },\n })\n}\n","// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { filterToolbarProps, makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VAppBar = defineComponent({\n name: 'VAppBar',\n\n props: {\n // TODO: Implement scrolling techniques\n // hideOnScroll: Boolean\n // invertedScroll: Boolean\n // collapseOnScroll: Boolean\n // elevateOnScroll: Boolean\n // shrinkOnScroll: Boolean\n // fadeImageOnScroll: Boolean\n modelValue: {\n type: Boolean,\n default: true,\n },\n position: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref()\n const isActive = useProxiedModel(props, 'modelValue')\n const height = computed(() => {\n const height: number = vToolbarRef.value?.contentHeight ?? 0\n const extensionHeight: number = vToolbarRef.value?.extensionHeight ?? 0\n\n return (height + extensionHeight)\n })\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: toRef(props, 'position'),\n layoutSize: height,\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n return () => {\n const [toolbarProps] = filterToolbarProps(props)\n\n return (\n <VToolbar\n ref={ vToolbarRef }\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.position === 'bottom',\n },\n ]}\n style={{\n ...layoutItemStyles.value,\n height: undefined,\n }}\n { ...toolbarProps }\n v-slots={ slots }\n />\n )\n }\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'default', 'comfortable', 'compact'] as const\n\nexport type Density = typeof allowedDensities[number]\n\nexport interface DensityProps {\n density?: Density\n}\n\n// Composables\nexport const makeDensityProps = propsFactory({\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n}, 'density')\n\nexport function useDensity (\n props: DensityProps,\n name = getCurrentInstanceName(),\n) {\n const densityClasses = computed(() => {\n return `${name}--density-${props.density}`\n })\n\n return { densityClasses }\n}\n","// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = [\n 'outlined',\n 'plain',\n 'text',\n 'contained',\n 'contained-flat',\n 'contained-text',\n] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div class={`${name}__overlay`} /> }\n\n <div class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'contained',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { variant, color } = unref(props)\n return {\n [['contained', 'contained-flat'].includes(variant) ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n","// Styles\nimport './VBtnGroup.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VBtnGroup = defineComponent({\n name: 'VBtnGroup',\n\n props: {\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBtn: {\n height: 'auto',\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n flat: true,\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-btn-group',\n {\n 'v-btn-group--divided': props.divided,\n },\n themeClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n v-slots={ slots }\n />\n )\n })\n },\n})\n","// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef, watch } from 'vue'\nimport { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\n\nexport interface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n}\n\nexport interface GroupProps {\n disabled: boolean\n modelValue: unknown\n multiple?: boolean\n mandatory?: boolean | 'force' | undefined\n max?: number | undefined\n selectedClass: string | undefined\n 'onUpdate:modelValue': ((val: unknown) => void) | undefined\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, cmp: ComponentInternalInstance) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<Readonly<number[]>>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref<string | undefined>\n items: ComputedRef<{\n id: number\n value: unknown\n disabled: boolean | undefined\n }[]>\n disabled: Ref<boolean | undefined>\n getItemIndex: (value: unknown) => number\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<(string | undefined)[] | false>\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n group: GroupProvide\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\nexport type GroupItemProps = ExtractPropTypes<ReturnType<typeof makeGroupItemProps>>\n\n// Composables\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required?: true,\n): GroupItemProvide\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required: false,\n): GroupItemProvide | null\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance('useGroupItem')\n\n if (!vm) {\n throw new Error(\n '[Vuetify] useGroupItem composable must be used inside a component setup function'\n )\n }\n\n const id = getUid()\n\n provide(Symbol.for(`${injectKey.description}:id`), id)\n\n const group = inject(injectKey, null)\n\n if (!group) {\n if (!required) return group\n\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const value = toRef(props, 'value')\n const disabled = computed(() => group.disabled.value || props.disabled)\n\n group.register({\n id,\n value,\n disabled,\n }, vm)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n\n const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass])\n\n watch(isSelected, value => {\n vm.emit('group:selected', { value })\n })\n\n return {\n id,\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>\n) {\n let isUnmounted = false\n const items = reactive<GroupItem[]>([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n const groupVm = getCurrentInstance('useGroup')\n\n function register (item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n\n const key = Symbol.for(`${injectKey.description}:id`)\n const children = findChildrenWithProvide(key, groupVm?.vnode)\n const index = children.indexOf(vm)\n\n if (index > -1) {\n items.splice(index, 0, unwrapped)\n } else {\n items.push(unwrapped)\n }\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue()\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue () {\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id]\n }\n }\n\n onMounted(() => {\n forceMandatoryValue()\n })\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function select (id: number, value?: boolean) {\n const item = items.find(item => item.id === id)\n if (value && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n const isSelected = ~index\n value = value ?? !isSelected\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n isSelected &&\n props.mandatory &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && value) internalValue.push(id)\n else if (index >= 0 && !value) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n const isSelected = selected.value.includes(id)\n if (props.mandatory && isSelected) return\n\n selected.value = (value ?? !isSelected) ? [id] : []\n }\n }\n\n function step (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled)\n item && (selected.value = [item.id])\n } else {\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n\n let newIndex = (currentIndex + offset) % items.length\n let newItem = items[newIndex]\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length\n newItem = items[newIndex]\n }\n\n if (newItem.disabled) return\n\n selected.value = [items[newIndex].id]\n }\n }\n\n const state: GroupProvide = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n getItemIndex: (value: unknown) => getItemIndex(items, value),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getItemIndex (items: UnwrapRef<GroupItem[]>, value: unknown) {\n const ids = getIds(items, [value])\n\n if (!ids.length) return -1\n\n return items.findIndex(item => item.id === ids[0])\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids = []\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n\n if (item.value != null) {\n if (modelValue.find(value => deepEqual(value, item.value)) != null) {\n ids.push(item.id)\n }\n } else if (modelValue.includes(i)) {\n ids.push(item.id)\n }\n }\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n\n if (ids.includes(item.id)) {\n values.push(item.value != null ? item.value : i)\n }\n }\n\n return values\n}\n","// Styles\nimport './VBtnToggle.sass'\n\n// Components\nimport { VBtnGroup } from '@/components/VBtnGroup'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utility\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type BtnToggleSlotProps = 'isSelected' | 'select' | 'selected' | 'next' | 'prev'\nexport interface DefaultBtnToggleSlot extends Pick<GroupProvide, BtnToggleSlotProps> {}\n\nexport const VBtnToggleSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-btn-toggle')\n\nexport const VBtnToggle = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n default: [DefaultBtnToggleSlot]\n }>\n}>()({\n name: 'VBtnToggle',\n\n props: makeGroupProps({ selectedClass: 'v-btn--selected' }),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, next, prev, select, selected } = useGroup(props, VBtnToggleSymbol)\n\n useRender(() => (\n <VBtnGroup class=\"v-btn-toggle\">\n { slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected,\n } as DefaultBtnToggleSlot) }\n </VBtnGroup>\n ))\n\n return {\n next,\n prev,\n select,\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large']\n\nexport interface SizeProps {\n size?: string | number\n}\n\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default',\n },\n}, 'size')\n\nexport function useSize (\n props: SizeProps,\n name = getCurrentInstanceName(),\n) {\n const sizeClasses = computed(() => {\n return predefinedSizes.includes(props.size as string)\n ? `${name}--size-${props.size}`\n : null\n })\n\n const sizeStyles = computed(() => {\n return !predefinedSizes.includes(props.size as string) && props.size\n ? ({\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : null\n })\n\n return { sizeClasses, sizeStyles }\n}\n","// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sort: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: [String, Object] as PropType<IconValue>,\n required: true,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = defineComponent({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return (\n <props.tag>\n <props.icon />\n </props.tag>\n )\n }\n },\n})\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) throw new Error('Icon value is undefined or null')\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof iconAlias === 'string' && iconAlias.includes('$')) {\n icon = icons.aliases?.[iconAlias.slice(iconAlias.indexOf('$') + 1)]\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n","// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useIcon } from '@/composables/icons'\nimport { useTextColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, flattenFragments, propsFactory } from '@/util'\n\n// Types\nimport type { IconValue } from '@/composables/icons'\nimport type { ComputedRef, PropType } from 'vue'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n start: Boolean,\n end: Boolean,\n icon: {\n type: [String, Object] as PropType<IconValue>,\n },\n\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'v-icon')\n\nexport const VIcon = defineComponent({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n let slotIcon: ComputedRef<string | undefined> | undefined\n if (slots.default) {\n slotIcon = computed(() => {\n const slot = slots.default?.()\n if (!slot) return\n\n return flattenFragments(slot).filter(node =>\n node.children && typeof node.children === 'string'\n )[0]?.children as string\n })\n }\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(slotIcon || props)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n sizeClasses.value,\n textColorClasses.value,\n themeClasses.value,\n {\n 'v-icon--clickable': !!attrs.onClick,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n ]}\n aria-hidden=\"true\"\n />\n )\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const\n\ntype Position = typeof positionValues[number]\n\nexport interface PositionProps {\n absolute?: boolean\n bottom?: boolean | number | string\n fixed?: boolean\n left?: boolean | number | string\n position?: Position\n right?: boolean | number | string\n top?: boolean | number | string\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n absolute: Boolean,\n bottom: [Boolean, Number, String],\n fixed: Boolean,\n left: [Boolean, Number, String],\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n right: [Boolean, Number, String],\n top: [Boolean, Number, String],\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const targets = ['top', 'right', 'bottom', 'left'] as const\n\n const positionClasses = computed(() => {\n if (props.fixed) return `${name}--fixed`\n if (props.absolute) return `${name}--absolute`\n\n return props.position ? `position-${props.position}` : undefined\n })\n\n const positionStyles = computed(() => {\n const styles: Partial<Record<typeof targets[number], string>> = {}\n\n for (const target of targets) {\n const prop = props[target]\n\n if (prop == null || prop === false) continue\n\n styles[target] = convertToUnit(prop === true ? '0' : String(prop))\n }\n\n return styles\n })\n\n return { positionClasses, positionStyles }\n}\n","// Utilities\nimport { getCurrentInstance, propsFactory } from '@/util'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\n\n// Types\nimport type { ComputedRef, PropType, Ref, SetupContext } from 'vue'\nimport type {\n RouterLink as _RouterLink,\n useLink as _useLink,\n NavigationGuardNext,\n RouteLocationNormalizedLoaded,\n RouteLocationRaw,\n Router,\n} from 'vue-router'\n\nexport function useRoute (): Ref<RouteLocationNormalizedLoaded | undefined> {\n const vm = getCurrentInstance('useRoute')\n\n return computed(() => vm?.proxy?.$route)\n}\n\nexport function useRouter (): Router | undefined {\n return getCurrentInstance('useRouter')?.proxy?.$router\n}\n\nexport interface LinkProps {\n href?: string\n replace?: boolean\n to?: RouteLocationRaw\n}\n\nexport interface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>\n isClickable: ComputedRef<boolean>\n href: Ref<string | undefined>\n}\n\nexport function useLink (props: LinkProps, attrs: SetupContext['attrs']): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as typeof _RouterLink | string\n\n const isLink = computed(() => !!(props.href || props.to))\n const isClickable = computed(() => {\n return isLink?.value || !!(attrs.onClick || attrs.onClickOnce)\n })\n\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n }\n }\n\n const link = props.to ? RouterLink.useLink(props as Required<LinkProps>) : undefined\n\n return {\n ...link,\n isLink,\n isClickable,\n href: computed(() => props.to ? link?.route.value.href : props.href),\n }\n}\n\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n}, 'router')\n\nlet inTransition = false\nexport function useBackButton (cb: (next: NavigationGuardNext) => void) {\n const router = useRouter()\n let popped = false\n let removeBefore: (() => void) | undefined\n let removeAfter: (() => void) | undefined\n\n onMounted(() => {\n window.addEventListener('popstate', onPopstate)\n removeBefore = router?.beforeEach((to, from, next) => {\n if (!inTransition) {\n setTimeout(() => popped ? cb(next) : next())\n } else {\n popped ? cb(next) : next()\n }\n inTransition = true\n })\n removeAfter = router?.afterEach(() => {\n inTransition = false\n })\n })\n onBeforeUnmount(() => {\n window.removeEventListener('popstate', onPopstate)\n removeBefore?.()\n removeAfter?.()\n })\n\n function onPopstate (e: PopStateEvent) {\n if (e.state?.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n","// Utilities\nimport { nextTick, watch } from 'vue'\n\n// Types\nimport type { UseLink } from './router'\n\nexport function useSelectLink (link: UseLink, select?: (value: boolean, e?: Event) => void) {\n watch(() => link.isExactActive?.value, isExactActive => {\n if (link.isLink.value && isExactActive && select) {\n nextTick(() => {\n select(true)\n })\n }\n }, {\n immediate: true,\n })\n}\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n stop?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.08)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: DirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: DirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple: ObjectDirective = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n","// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { useSelectLink } from '@/composables/selectLink'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBtn = defineComponent({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: {\n active: Boolean,\n symbol: {\n type: null,\n default: VBtnToggleSymbol,\n },\n flat: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n block: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeRoundedProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makePositionProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const group = useGroupItem(props, props.symbol, false)\n const link = useLink(props, attrs)\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'contained' && !(props.disabled || props.flat || props.border)\n })\n\n useSelectLink(link, group?.select)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasColor = !group || group.isSelected.value\n\n return (\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': props.active,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\n v-ripple={[\n !isDisabled.value && props.ripple,\n null,\n props.icon ? ['center'] : null,\n ]}\n onClick={ (e: MouseEvent) => {\n if (isDisabled.value) return\n\n link.navigate?.(e)\n group?.toggle()\n } }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && props.prependIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.prependIcon }\n start\n />\n ) }\n\n { typeof props.icon === 'boolean'\n ? slots.default?.()\n : (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.icon }\n size={ props.size }\n />\n )\n }\n\n { !props.icon && props.appendIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.appendIcon }\n end\n />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n","// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarNavIcon = defineComponent({\n name: 'VAppBarNavIcon',\n\n props: {\n icon: {\n type: String,\n default: '$menu',\n },\n },\n\n setup (props, { slots }) {\n return () => (\n <VBtn class=\"v-app-bar-nav-icon\" icon={ props.icon }>\n { slots.default?.() }\n </VBtn>\n )\n },\n})\n","// Composables\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VToolbarItems = defineComponent({\n name: 'VToolbarItems',\n\n props: {\n ...makeVariantProps({ variant: 'contained-text' }),\n },\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n variant: toRef(props, 'variant'),\n },\n })\n\n return () => slots.default?.()\n },\n})\n\nexport type VToolbarItems = InstanceType<typeof VToolbarItems>\n","// Composables\nimport { VToolbarTitle } from '@/components/VToolbar'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarTitle = defineComponent({\n ...VToolbarTitle,\n\n name: 'VAppBarTitle',\n\n setup (_, { slots }) {\n return () => (\n <VToolbarTitle\n class=\"v-app-bar-title\"\n v-slots={ slots }\n />\n )\n },\n}) as typeof VToolbarTitle\n","// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VAlertTitle = createSimpleFunctional('v-alert-title')\n","// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const VAlert = defineComponent({\n name: 'VAlert',\n\n props: {\n border: {\n type: [Boolean, String],\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String] as PropType<false | string>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained-flat' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = computed(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n const variantProps = computed(() => ({\n color: props.color ?? props.type,\n variant: props.variant,\n }))\n\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'borderColor'))\n\n function onCloseClick (e: MouseEvent) {\n isActive.value = false\n }\n\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n const hasText = !!(props.text || slots.text)\n const hasClose = !!(slots.close || props.closable)\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n ) }\n\n { hasPrepend && (\n <VDefaultsProvider\n defaults={{\n VIcon: {\n density: props.density,\n icon: icon.value,\n size: props.prominent ? 44 : 'default',\n },\n }}\n >\n <div class=\"v-alert__prepend\">\n { slots.prepend\n ? slots.prepend()\n : icon.value && (<VIcon />)\n }\n </div>\n </VDefaultsProvider>\n ) }\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle>\n { slots.title ? slots.title() : props.title }\n </VAlertTitle>\n ) }\n\n { hasText && (\n slots.text ? slots.text() : props.text\n ) }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-alert__append\">\n { slots.append() }\n </div>\n ) }\n\n { hasClose && (\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'small',\n },\n }}\n >\n <div\n class=\"v-alert__close\"\n onClick={ onCloseClick }\n >\n { slots.close\n ? slots.close()\n : (<VIcon />)\n }\n </div>\n </VDefaultsProvider>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n","// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent, propsFactory, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const makeVAvatarProps = propsFactory({\n color: String,\n start: Boolean,\n end: Boolean,\n icon: String,\n image: String,\n\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n})\n\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n\n props: makeVAvatarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--start': props.start,\n 'v-avatar--end': props.end,\n },\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n sizeStyles.value,\n ]}\n >\n\n { props.image\n ? (<VImg src={ props.image } alt=\"\" />)\n : props.icon\n ? (<VIcon icon={ props.icon } />)\n : slots.default?.()\n }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n","// Styles\nimport './VChipGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { deepEqual, defineComponent } from '@/util'\nimport { toRef } from 'vue'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group')\n\nexport const VChipGroup = defineComponent({\n name: 'VChipGroup',\n\n props: {\n column: Boolean,\n filter: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeGroupProps({ selectedClass: 'v-chip--selected' }),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained-text' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VChipGroupSymbol)\n\n provideDefaults({\n VChip: {\n color: toRef(props, 'color'),\n filter: toRef(props, 'filter'),\n variant: toRef(props, 'variant'),\n },\n })\n\n return () => (\n <props.tag\n class={[\n 'v-chip-group',\n {\n 'v-chip-group--column': props.column,\n },\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n }) }\n </props.tag>\n )\n },\n})\n\nexport type VChipGroup = InstanceType<typeof VChipGroup>\n","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { FunctionalComponent, Prop } from 'vue'\n\nexport function createCssTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n) {\n return defineComponent({\n name,\n\n props: {\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n setup (props, { slots }) {\n return () => {\n const tag = props.group ? TransitionGroup : Transition\n\n return h(tag as FunctionalComponent, {\n name,\n mode: props.mode,\n onBeforeEnter (el: HTMLElement) {\n el.style.transformOrigin = props.origin\n },\n onLeave (el: HTMLElement) {\n if (props.leaveAbsolute) {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = `${offsetTop}px`\n el.style.left = `${offsetLeft}px`\n el.style.width = `${offsetWidth}px`\n el.style.height = `${offsetHeight}px`\n }\n\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important')\n }\n },\n onAfterLeave (el: HTMLElement) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n },\n }, slots.default)\n }\n },\n })\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n) {\n return defineComponent({\n name,\n\n props: {\n mode: {\n type: String,\n default: mode,\n } as Prop<'in-out' | 'out-in' | 'default'>,\n },\n\n setup (props, { slots }) {\n return () => {\n return h(Transition, {\n name,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...functions,\n }, slots.default)\n }\n },\n })\n}\n","// Utilities\nimport { camelize } from 'vue'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = camelize(`offset-${sizeProperty}`) as 'offsetHeight' | 'offsetWidth'\n\n return {\n onBeforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n onEnter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n\n onLeave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n onAfterLeave,\n onLeaveCancelled: onAfterLeave,\n }\n\n function onAfterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import type { PropType } from 'vue'\nimport { Transition } from 'vue'\nimport { acceleratedEasing, deceleratedEasing, defineComponent, nullifyTransforms } from '@/util'\n\nexport const VDialogTransition = defineComponent({\n name: 'VDialogTransition',\n\n props: {\n target: Object as PropType<HTMLElement>,\n },\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n { transform: '' },\n ], {\n duration: 225,\n easing: deceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: '' },\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n ], {\n duration: 125,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n <Transition\n name=\"dialog-transition\"\n { ...functions }\n css={ false }\n v-slots={ slots }\n />\n )\n : <Transition name=\"dialog-transition\" v-slots={ slots } />\n }\n },\n})\n\nfunction getDimensions (target: HTMLElement, el: HTMLElement) {\n const targetBox = target.getBoundingClientRect()\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n }\n}\n","import {\n createCssTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createCssTransition('carousel-transition')\nexport const VCarouselReverseTransition = createCssTransition('carousel-reverse-transition')\nexport const VTabTransition = createCssTransition('tab-transition')\nexport const VTabReverseTransition = createCssTransition('tab-reverse-transition')\nexport const VMenuTransition = createCssTransition('menu-transition')\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition')\nexport const VFadeTransition = createCssTransition('fade-transition')\nexport const VScaleTransition = createCssTransition('scale-transition')\nexport const VScrollXTransition = createCssTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createCssTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createCssTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createCssTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport { VDialogTransition } from './dialog-transition'\n","// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n pill: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained-text' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:active': (value: Boolean) => true,\n 'update:modelValue': (value: Boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { elevationClasses } = useElevation(props)\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { densityClasses } = useDensity(props)\n const link = useLink(props, attrs)\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const hasColor = !group || group.isSelected.value\n const isClickable = !props.disabled && (!!group || link.isClickable.value || props.link)\n const onClickFunc = props.link ? props.link : group?.toggle\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n v-ripple={ [isClickable && props.ripple, null] }\n onClick={ isClickable && onClickFunc }\n >\n { genOverlays(isClickable, 'v-chip') }\n\n { hasFilter && (\n <VExpandXTransition>\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { slots.filter\n ? slots.filter()\n : <VIcon icon={ props.filterIcon } />\n }\n </div>\n </VExpandXTransition>\n ) }\n\n { hasPrepend && (\n <div class=\"v-chip__prepend\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n\n { hasAppend && (\n <div class=\"v-chip__append\">\n { slots.append\n ? slots.append()\n : (\n <VAvatar\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { hasClose && (\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close\n ? slots.close({ props: { onClick: onCloseClick } })\n : (\n <VIcon\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n )\n }\n </div>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n","// Styles\nimport './VDivider.sass'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Types\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'maxHeight' | 'maxWidth'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const VDivider = defineComponent({\n name: 'VDivider',\n\n props: {\n color: String,\n inset: Boolean,\n length: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n ...makeThemeProps(),\n },\n\n setup (props, { attrs }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'maxHeight' : 'maxWidth'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n return () => {\n return (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n ]}\n style={[\n dividerStyles.value,\n backgroundColorStyles.value,\n ]}\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={`${attrs.role || 'separator'}`}\n />\n )\n }\n },\n})\n","// Utilities\nimport { computed, inject, provide, ref } from 'vue'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\n// Depth\nexport const DepthKey: InjectionKey<Ref<number>> = Symbol.for('vuetify:depth')\n\nexport function useDepth (hasPrepend?: Ref<boolean>) {\n const parent = inject(DepthKey, ref(-1))\n\n const depth = computed(() => parent.value + 1 + (hasPrepend?.value ? 1 : 0))\n\n provide(DepthKey, depth)\n\n return depth\n}\n\n// List\nexport const ListKey: InjectionKey<{\n hasPrepend: Ref<boolean>\n updateHasPrepend: (value: boolean) => void\n}> = Symbol.for('vuetify:list')\n\nexport function createList () {\n const parent = inject(ListKey, { hasPrepend: ref(false), updateHasPrepend: () => null })\n\n const data = {\n hasPrepend: ref(false),\n updateHasPrepend: (value: boolean) => {\n if (value) data.hasPrepend.value = value\n },\n }\n\n provide(ListKey, data)\n\n return parent\n}\n\nexport function useList () {\n return inject(ListKey, null)\n}\n","export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport type OpenSelectStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string> | null\n\nexport type OpenStrategy = {\n open: OpenStrategyFn\n select: OpenSelectStrategyFn\n}\n\nexport const singleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<string>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n },\n select: () => null,\n}\n\nexport const multipleOpenStrategy: OpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null && parent !== id) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n },\n select: () => null,\n}\n\nexport const listOpenStrategy: OpenStrategy = {\n open: multipleOpenStrategy.open,\n select: ({ id, value, opened, parents }) => {\n if (!value) return opened\n\n const path: string[] = []\n\n let parent = parents.get(id)\n\n while (parent != null) {\n path.push(parent)\n parent = parents.get(parent)\n }\n\n return new Set(path)\n },\n}\n","/* eslint-disable sonarjs/no-identical-functions */\nexport type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>,\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>,\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as string[])\n if (on.length === 1 && on[0] === id) return selected\n }\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n\nexport const independentSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ selected, id, ...rest }) => {\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)!]]) : new Map()\n return parentStrategy.select({ ...rest, id, selected: singleSelected })\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents)\n }\n\n return map\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents)\n },\n }\n\n return strategy\n}\n\nexport const leafSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const leafSingleSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const parentStrategy = independentSingleSelectStrategy(mandatory)\n\n const strategy: SelectStrategy = {\n select: ({ id, selected, children, ...rest }) => {\n if (children.has(id)) return selected\n\n return parentStrategy.select({ id, selected, children, ...rest })\n },\n in: parentStrategy.in,\n out: parentStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy = (mandatory?: boolean): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const original = new Map(selected)\n\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, [key, value]) => value === 'on' ? [...arr, key] : arr, [] as string[])\n if (on.length === 0) return original\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n }\n\n return strategy\n}\n","import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getCurrentInstance, getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n} from './selectStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategy } from './openStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategyProp | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n mandatory: boolean\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | undefined>\n isGroupActivator?: boolean\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | undefined, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nexport const VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nexport const emptyNested: NestedProvide = {\n id: ref(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategyProp>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n mandatory: Boolean,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSingleSelectStrategy(props.mandatory)\n case 'leaf': return leafSelectStrategy(props.mandatory)\n case 'independent': return independentSelectStrategy(props.mandatory)\n case 'single-independent': return independentSingleSelectStrategy(props.mandatory)\n case 'classic':\n default: return classicSelectStrategy(props.mandatory)\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'list': return listOpenStrategy\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function getPath (id: string) {\n const path: string[] = []\n let parent: string | undefined = id\n\n while (parent != null) {\n path.unshift(parent)\n parent = parents.value.get(parent)\n }\n\n return path\n }\n\n const vm = getCurrentInstance('nested')\n\n const nested: NestedProvide = {\n id: ref(),\n root: {\n opened,\n selected,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && id !== parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n },\n open: (id, value, event) => {\n vm.emit('click:open', { id, value, path: getPath(id), event })\n\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n vm.emit('click:select', { id, value, path: getPath(id), event })\n\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newSelected && (selected.value = newSelected)\n\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n newOpened && (opened.value = newOpened)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>, isGroup: boolean) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n open: (open: boolean, e: Event) => parent.root.open(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e?: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator,\n }\n\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup)\n\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value)\n })\n\n isGroup && provide(VNestedSymbol, item)\n\n return item\n}\n\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n provide(VNestedSymbol, { ...parent, isGroupActivator: true })\n}\n","// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { useList } from './list'\nimport { makeTagProps } from '@/composables/tag'\nimport { useNestedGroupActivator, useNestedItem } from '@/composables/nested/nested'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, genericComponent } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { InternalListItem } from './VList'\n\nexport type ListGroupActivatorSlot = {\n props: {\n onClick: (e: Event) => void\n appendIcon: string\n class: string\n color?: string\n }\n}\n\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n\n setup (_, { slots }) {\n useNestedGroupActivator()\n\n return () => slots.default?.()\n },\n})\n\nexport const VListGroup = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n activator: [ListGroupActivatorSlot]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n activeColor: String,\n color: String,\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n expandIcon: {\n type: String,\n default: '$expand',\n },\n value: null,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open } = useNestedItem(toRef(props, 'value'), true)\n const list = useList()\n\n const onClick = (e: Event) => {\n open(!isOpen.value, e)\n }\n\n const activatorProps: Ref<ListGroupActivatorSlot['props']> = computed(() => ({\n onClick,\n active: isOpen.value,\n appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,\n class: 'v-list-group__header',\n color: isOpen.value ? props.activeColor ?? props.color : undefined,\n }))\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n },\n ]}\n >\n { slots.activator && (\n <VDefaultsProvider\n defaults={{\n VListItemIcon: { color: activatorProps.value.color },\n }}\n >\n <VListGroupActivator>\n { slots.activator({ props: activatorProps.value, isOpen }) }\n </VListGroupActivator>\n </VDefaultsProvider>\n ) }\n <VExpandTransition>\n <div class=\"v-list-group__items\" v-show={isOpen.value}>\n { slots.default?.() }\n </div>\n </VExpandTransition>\n </props.tag>\n )\n }\n },\n})\n","// Components\nimport { makeVAvatarProps, VAvatar } from '@/components/VAvatar/VAvatar'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemAvatar = defineComponent({\n name: 'VListItemAvatar',\n\n props: makeVAvatarProps(),\n\n setup (props, { slots }) {\n return () => (\n <VAvatar\n class={[\n 'v-list-item-avatar',\n {\n 'v-list-item-avatar--start': props.start,\n 'v-list-item-avatar--end': props.end,\n },\n ]}\n { ...props }\n v-slots={ slots }\n />\n )\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemHeader = createSimpleFunctional('v-list-item-header')\n","// Components\nimport { makeVIconProps, VIcon } from '@/components/VIcon/VIcon'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemIcon = defineComponent({\n name: 'VListItemIcon',\n\n props: makeVIconProps(),\n\n setup (props, { slots }) {\n return () => (\n <VIcon\n class={[\n 'v-list-item-icon',\n {\n 'v-list-item-icon--start': props.start,\n 'v-list-item-icon--end': props.end,\n },\n ]}\n { ...props }\n v-slots={ slots }\n />\n )\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemTitle = createSimpleFunctional('v-list-item-title')\n","// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VListItemAvatar } from './VListItemAvatar'\nimport { VListItemHeader } from './VListItemHeader'\nimport { VListItemIcon } from './VListItemIcon'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useList } from './list'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onMounted, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\nimport { useNestedItem } from '@/composables/nested/nested'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { PropType } from 'vue'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport type ListItemTitleSlot = {\n title?: string\n}\n\nexport type ListItemSubtitleSlot = {\n subtitle?: string\n}\n\nexport const VListItem = genericComponent<new () => {\n $slots: MakeSlots<{\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: Boolean,\n activeColor: String,\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n lines: String as PropType<'one' | 'two' | 'three'>,\n nav: Boolean,\n prependAvatar: String,\n prependIcon: String,\n subtitle: String,\n title: String,\n value: null,\n link: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { select, isSelected, isIndeterminate, isGroupActivator, root, parent } = useNestedItem(id, false)\n const list = useList()\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value || isSelected.value\n })\n const roundedProps = computed(() => props.rounded || props.nav)\n const variantProps = computed(() => ({\n color: isActive.value ? props.activeColor ?? props.color : props.color,\n variant: props.variant,\n }))\n\n onMounted(() => {\n if (link.isExactActive?.value && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n watch(() => link.isExactActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(roundedProps)\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value,\n }))\n\n useRender(() => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasColor = !list || isSelected.value || isActive.value\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasHeader = !!(hasTitle || hasSubtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const isClickable = !props.disabled && (props.link || link.isClickable.value || (props.value != null && !!list))\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: isActive.value,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable ? 0 : undefined }\n onClick={ isClickable && ((e: MouseEvent) => {\n if (isGroupActivator) return\n\n link.navigate?.(e)\n props.value != null && select(!isSelected.value, e)\n })}\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n <>\n { props.prependAvatar && (\n <VListItemAvatar\n image={ props.prependAvatar }\n start\n />\n ) }\n\n { props.prependIcon && (\n <VListItemIcon\n icon={ props.prependIcon }\n start\n />\n ) }\n\n { slots.prepend?.(slotProps.value) }\n </>\n ) }\n\n { hasHeader && (\n <VListItemHeader>\n { hasTitle && (\n <VListItemTitle>\n { slots.title\n ? slots.title({ title: props.title })\n : props.title\n }\n </VListItemTitle>\n ) }\n\n { hasSubtitle && (\n <VListItemSubtitle>\n { slots.subtitle\n ? slots.subtitle({ subtitle: props.subtitle })\n : props.subtitle\n }\n </VListItemSubtitle>\n ) }\n </VListItemHeader>\n ) }\n\n { slots.default?.(slotProps.value) }\n\n { hasAppend && (\n <>\n { slots.append?.(slotProps.value) }\n\n { props.appendAvatar && (\n <VListItemAvatar\n image={ props.appendAvatar }\n end\n />\n ) }\n\n { props.appendIcon && (\n <VListItemIcon\n icon={ props.appendIcon }\n end\n />\n ) }\n </>\n ) }\n </Tag>\n )\n })\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VListSubheader = defineComponent({\n name: 'VListSubheader',\n\n props: {\n color: String,\n inset: Boolean,\n sticky: Boolean,\n text: String,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n const hasText = !!(slots.default || props.text)\n\n return (\n <props.tag\n class={[\n 'v-list-subheader',\n {\n 'v-list-subheader--inset': props.inset,\n 'v-list-subheader--sticky': props.sticky,\n },\n textColorClasses.value,\n ]}\n style={{ textColorStyles }}\n >\n { hasText && (\n <div class=\"v-list-subheader__text\">\n { slots.default?.() ?? props.text }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n","// Components\nimport { VDivider } from '../VDivider'\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\n\n// Utilities\nimport { genericComponent } from '@/util'\nimport { createList } from './list'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { ListGroupActivatorSlot } from './VListGroup'\nimport type { MakeSlots } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n default: []\n header: [ListGroupActivatorSlot]\n item: [T]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<InternalListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type }) => {\n if (type === 'divider') return <VDivider {...itemProps} />\n\n if (type === 'subheader') return <VListSubheader {...itemProps} v-slots={ slots } />\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ ...itemProps, ...activatorProps })\n : <VListItem { ...itemProps } { ...activatorProps } v-slots={ slots } />,\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(itemProps) : <VListItem { ...itemProps } v-slots={ slots } />\n )\n })\n },\n})\n","// Styles\nimport './VList.sass'\n\n// Components\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\nimport { makeVariantProps } from '@/composables/variant'\nimport { createList } from './list'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { Prop, PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupActivatorSlot } from './VListGroup'\n\nexport type ListItem = {\n [key: string]: any\n $type?: 'item' | 'subheader' | 'divider'\n $children?: (string | ListItem)[]\n}\n\nexport type InternalListItem = {\n type?: 'item' | 'subheader' | 'divider'\n props?: Record<string, any>\n children?: InternalListItem[]\n}\n\nconst parseItems = (items?: (string | ListItem)[]): InternalListItem[] | undefined => {\n if (!items) return undefined\n\n return items.map(item => {\n if (typeof item === 'string') return { type: 'item', value: item, title: item }\n\n const { $type, $children, ...props } = item\n\n if ($type === 'subheader') return { type: 'subheader', props }\n if ($type === 'divider') return { type: 'divider', props }\n\n return { type: 'item', props, children: parseItems($children) }\n })\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n subheader: []\n header: [ListGroupActivatorSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n lines: {\n type: [Boolean, String] as PropType<'one' | 'two' | 'three' | false>,\n default: 'one',\n },\n nav: Boolean,\n items: Array as Prop<ListItem[]>,\n\n ...makeNestedProps({\n selectStrategy: 'single-leaf' as const,\n openStrategy: 'list' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:selected': (val: string[]) => true,\n 'update:opened': (val: string[]) => true,\n 'click:open': (value: { id: string, value: boolean, path: string[] }) => true,\n 'click:select': (value: { id: string, value: boolean, path: string[] }) => true,\n },\n\n setup (props, { slots }) {\n const items = computed(() => parseItems(props.items))\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select } = useNested(props)\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined)\n const activeColor = toRef(props, 'activeColor')\n const color = toRef(props, 'color')\n\n createList()\n\n provideDefaults({\n VListGroup: {\n activeColor,\n color,\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n lineClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n >\n <VListChildren items={ items.value } v-slots={ slots }></VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListImg = createSimpleFunctional('v-list-img')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemAction = defineComponent({\n name: 'VListItemAction',\n\n props: {\n start: Boolean,\n end: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-action',\n {\n 'v-list-item-action--start': props.start,\n 'v-list-item-action--end': props.end,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemMedia = defineComponent({\n name: 'VListItemMedia',\n\n props: {\n start: Boolean,\n end: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-media',\n {\n 'v-list-item-media--start': props.start,\n 'v-list-item-media--end': props.end,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","// Utilities\nimport { IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nexport interface DelayProps {\n closeDelay?: number | string\n openDelay?: number | string\n}\n\n// Composables\nexport const makeDelayProps = propsFactory({\n closeDelay: [Number, String],\n openDelay: [Number, String],\n}, 'delay')\n\nexport function useDelay (props: DelayProps, cb?: (value: boolean) => void) {\n const delays: Partial<Record<keyof DelayProps, number>> = {}\n const runDelayFactory = (prop: keyof DelayProps) => (): Promise<boolean> => {\n // istanbul ignore next\n if (!IN_BROWSER) return Promise.resolve(true)\n\n const active = prop === 'openDelay'\n\n delays.closeDelay && window.clearTimeout(delays.closeDelay)\n delete delays.closeDelay\n\n delays.openDelay && window.clearTimeout(delays.openDelay)\n delete delays.openDelay\n\n return new Promise(resolve => {\n const delay = parseInt(props[prop] ?? 0, 10)\n\n delays[prop] = window.setTimeout(() => {\n cb?.(active)\n resolve(active)\n }, delay)\n })\n }\n\n return {\n runCloseDelay: runDelayFactory('closeDelay'),\n runOpenDelay: runDelayFactory('openDelay'),\n }\n}\n","import type { InjectionKey } from 'vue'\n\ninterface MenuProvide {\n register (): void\n unregister (): void\n closeParents (): void\n}\n\nexport const VMenuSymbol: InjectionKey<MenuProvide> = Symbol.for('vuetify:v-menu')\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER, isComponentInstance, propsFactory, SUPPORTS_FOCUS_VISIBLE } from '@/util'\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { VMenuSymbol } from '@/components/VMenu/shared'\nimport {\n computed,\n effectScope,\n inject,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\n\n// Types\nimport type { DelayProps } from '@/composables/delay'\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n\n closeOnContentClick: boolean\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n})\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop }: { isActive: Ref<boolean>, isTop: Ref<boolean> }\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n isActive.value = value\n }\n })\n\n const availableEvents = {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n mouseenter: (e: MouseEvent) => {\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n mouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n focus: (e: FocusEvent) => {\n if (\n SUPPORTS_FOCUS_VISIBLE &&\n !(e.target as HTMLElement).matches(':focus-visible')\n ) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n blur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.click = availableEvents.click\n }\n if (props.openOnHover) {\n events.mouseenter = availableEvents.mouseenter\n events.mouseleave = availableEvents.mouseleave\n }\n if (openOnFocus.value) {\n events.focus = availableEvents.focus\n events.blur = availableEvents.blur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (props.openOnHover) {\n events.mouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.mouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.click = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && props.openOnHover && !isHovered) {\n isActive.value = false\n }\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n const activator = activatorRef.value\n activatorEl.value = isComponentInstance(activator) ? activator.$el : activator\n })\n })\n\n const vm = getCurrentInstance('useActivator')\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n return { activatorEl, activatorRef, activatorEvents, contentEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick<ReturnType<typeof useActivator>, 'activatorEl' | 'activatorEvents'>\n) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.addEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n if (_props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, _props[k])\n }\n })\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.removeEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n el.removeAttribute(k)\n })\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n activator = vm?.proxy?.$el?.parentNode\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el\n } else {\n // HTMLElement | Element\n activator = selector\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return activatorEl.value\n }\n}\n","const block = ['top', 'bottom'] as const\nconst inline = ['start', 'end'] as const\ntype Tblock = typeof block[number]\ntype Tinline = typeof inline [number]\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`\nexport type ParsedAnchor =\n | { side: 'center', align: 'center' }\n | { side: Tblock, align: Tinline | 'center' }\n | { side: Tinline, align: Tblock | 'center' }\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor (anchor: Anchor) {\n let [side, align] = anchor.split(' ')\n if (!align) {\n align =\n side === 'top' || side === 'bottom' ? 'start'\n : side === 'start' || side === 'end' ? 'top'\n : 'center'\n }\n return {\n side,\n align,\n } as ParsedAnchor\n}\n\n/** Get an anchor directly opposite, with the same alignment */\nexport function oppositeAnchor (anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n start: 'end',\n end: 'start',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor\n}\n\n/** Convert start/end into left/right */\nexport function physicalAnchor (anchor: ParsedAnchor, el: HTMLElement) {\n const { side, align } = anchor\n const { direction } = window.getComputedStyle(el)\n\n const map: Record<string, string | undefined> = direction === 'ltr' ? {\n start: 'left',\n end: 'right',\n } : {\n start: 'right',\n end: 'left',\n }\n\n return (map[side] ?? side) + ' ' + (map[align] ?? align)\n}\n","import type { ParsedAnchor } from './anchor'\nimport type { Box } from '@/util/box'\n\ntype Point = { x: number, y: number }\ndeclare class As<T extends string> {\n private as: T\n}\ntype ElementPoint = Point & As<'element'>\ntype ViewportPoint = Point & As<'viewport'>\ntype Offset = Point & As<'offset'>\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport (point: ElementPoint, offset: Offset | Box) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y,\n } as ViewportPoint\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement (point: ViewportPoint, offset: Offset | Box) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y,\n } as ElementPoint\n}\n\n/** Get the difference between two points */\nexport function getOffset<T extends Point> (a: T, b: T) {\n return {\n x: a.x - b.x,\n y: a.y - b.y,\n } as Offset\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint (anchor: ParsedAnchor, box: Box): ViewportPoint {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const { side, align } = anchor\n\n const x: number =\n align === 'start' ? 0\n : align === 'center' ? box.width / 2\n : align === 'end' ? box.width\n : align\n const y: number =\n side === 'top' ? 0\n : side === 'bottom' ? box.height\n : side\n\n return elementToViewport({ x, y } as ElementPoint, box)\n } else if (anchor.side === 'start' || anchor.side === 'end') {\n const { side, align } = anchor\n\n const x: number =\n side === 'start' ? 0\n : side === 'end' ? box.width\n : side\n const y: number =\n align === 'top' ? 0\n : align === 'center' ? box.height / 2\n : align === 'bottom' ? box.height\n : align\n\n return elementToViewport({ x, y } as ElementPoint, box)\n }\n\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2,\n } as ElementPoint, box)\n}\n","// Utilities\nimport { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'\nimport { convertToUnit, getScrollParent, IN_BROWSER, isFixedPosition, nullifyTransforms, propsFactory } from '@/util'\nimport { oppositeAnchor, parseAnchor, physicalAnchor } from './util/anchor'\nimport { anchorToPoint, getOffset } from './util/point'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\nimport type { Anchor } from './util/anchor'\nimport { Box } from '@/util/box'\n\nexport interface PositionStrategyData {\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n}\n\nconst positionStrategies = {\n static: staticPositionStrategy, // specific viewport position, usually centered\n connected: connectedPositionStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n positionStrategy: keyof typeof positionStrategies | (\n (\n data: PositionStrategyData,\n props: StrategyProps,\n contentStyles: Ref<Record<string, string>>\n ) => undefined | { updatePosition: (e: Event) => void }\n )\n anchor: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makePositionStrategyProps = propsFactory({\n positionStrategy: {\n type: [String, Function] as PropType<StrategyProps['positionStrategy']>,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in positionStrategies,\n },\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'bottom',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n offset: [Number, String],\n})\n\nexport function usePositionStrategies (\n props: StrategyProps,\n data: PositionStrategyData\n) {\n const contentStyles = ref({})\n const updatePosition = ref<(e: Event) => void>()\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n updatePosition.value = undefined\n\n if (!(IN_BROWSER && data.isActive.value && props.positionStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.positionStrategy === 'function') {\n updatePosition.value = props.positionStrategy(data, props, contentStyles)?.updatePosition\n } else {\n updatePosition.value = positionStrategies[props.positionStrategy](data, props, contentStyles)?.updatePosition\n }\n })\n })\n\n IN_BROWSER && window.addEventListener('resize', onResize, { passive: true })\n\n onScopeDispose(() => {\n IN_BROWSER && window.removeEventListener('resize', onResize)\n updatePosition.value = undefined\n scope?.stop()\n })\n\n function onResize (e: Event) {\n updatePosition.value?.(e)\n }\n\n return {\n contentStyles,\n updatePosition,\n }\n}\n\nfunction staticPositionStrategy () {\n // TODO\n}\n\nfunction connectedPositionStrategy (data: PositionStrategyData, props: StrategyProps, contentStyles: Ref<Record<string, string>>) {\n const activatorFixed = isFixedPosition(data.activatorEl.value)\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: 'fixed',\n })\n }\n\n const preferredAnchor = computed(() => parseAnchor(props.anchor))\n const preferredOrigin = computed(() =>\n props.origin === 'overlap' ? preferredAnchor.value\n : props.origin === 'auto' ? oppositeAnchor(preferredAnchor.value)\n : parseAnchor(props.origin)\n )\n const doesOverlap = computed(() => {\n return preferredAnchor.value.side === preferredOrigin.value.side\n })\n\n const configuredMaxHeight = computed(() => {\n const val = parseFloat(props.maxHeight!)\n return isNaN(val) ? Infinity : val\n })\n\n const configuredMinWidth = computed(() => {\n const val = parseFloat(props.minWidth!)\n return isNaN(val) ? Infinity : val\n })\n\n let observe = false\n if (IN_BROWSER) {\n const observer = new ResizeObserver(() => {\n if (observe) updatePosition()\n })\n observer.observe(data.activatorEl.value!)\n observer.observe(data.contentEl.value!)\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n }\n\n // eslint-disable-next-line max-statements\n function updatePosition () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n const targetBox = data.activatorEl.value!.getBoundingClientRect()\n // TODO: offset shouldn't affect width\n if (props.offset) {\n targetBox.x -= +props.offset\n targetBox.y -= +props.offset\n targetBox.width += +props.offset * 2\n targetBox.height += +props.offset * 2\n }\n\n const scrollParent = getScrollParent(data.contentEl.value)\n const viewportWidth = scrollParent.clientWidth\n const viewportHeight = Math.min(scrollParent.clientHeight, window.innerHeight)\n\n let contentBox\n {\n const scrollables = new Map<Element, [number, number]>()\n data.contentEl.value!.querySelectorAll('*').forEach(el => {\n const x = el.scrollLeft\n const y = el.scrollTop\n if (x || y) {\n scrollables.set(el, [x, y])\n }\n })\n\n const initialMaxWidth = data.contentEl.value!.style.maxWidth\n const initialMaxHeight = data.contentEl.value!.style.maxHeight\n data.contentEl.value!.style.removeProperty('max-width')\n data.contentEl.value!.style.removeProperty('max-height')\n\n contentBox = nullifyTransforms(data.contentEl.value!)\n contentBox.x -= parseFloat(data.contentEl.value!.style.left) || 0\n contentBox.y -= parseFloat(data.contentEl.value!.style.top) || 0\n\n data.contentEl.value!.style.maxWidth = initialMaxWidth\n data.contentEl.value!.style.maxHeight = initialMaxHeight\n scrollables.forEach((position, el) => {\n el.scrollTo(...position)\n })\n }\n\n const contentHeight = Math.min(configuredMaxHeight.value, contentBox.height)\n\n // Regard undefined maxWidth as maximally occupying whole remaining space by default\n const maxFreeSpaceWidth = props.maxWidth === undefined ? Number.MAX_VALUE : parseInt(props.maxWidth ?? 0, 10)\n\n const viewportMargin = 12\n const freeSpace = {\n top: targetBox.top - viewportMargin,\n bottom: viewportHeight - targetBox.bottom - viewportMargin,\n left: Math.min(targetBox.left - viewportMargin, maxFreeSpaceWidth),\n right: Math.min(viewportWidth - targetBox.right - viewportMargin, maxFreeSpaceWidth),\n }\n\n const fitsY = (preferredAnchor.value.side === 'bottom' && contentHeight <= freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && contentHeight <= freeSpace.top)\n\n const anchor = fitsY ? preferredAnchor.value\n : (preferredAnchor.value.side === 'bottom' && freeSpace.top > freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && freeSpace.bottom > freeSpace.top) ? oppositeAnchor(preferredAnchor.value)\n : preferredAnchor.value\n const origin = fitsY ? preferredOrigin.value : oppositeAnchor(anchor)\n\n const canFill = doesOverlap.value || ['center', 'top', 'bottom'].includes(anchor.side)\n\n const maxWidth = canFill ? Math.min(viewportWidth, Math.max(targetBox.width, viewportWidth - viewportMargin * 2))\n : anchor.side === 'end' ? freeSpace.right\n : anchor.side === 'start' ? freeSpace.left\n : null\n const minWidth = Math.min(configuredMinWidth.value, maxWidth!, targetBox.width)\n const maxHeight = fitsY ? configuredMaxHeight.value : Math.min(\n configuredMaxHeight.value,\n Math.floor(anchor.side === 'top' ? freeSpace.top : freeSpace.bottom)\n )\n\n const targetPoint = anchorToPoint(anchor, targetBox)\n const contentPoint = anchorToPoint(origin, new Box({\n ...contentBox,\n height: Math.min(contentHeight, maxHeight),\n }))\n\n const { x, y } = getOffset(targetPoint, contentPoint)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': physicalAnchor(anchor, data.activatorEl.value!),\n top: convertToUnit(Math.round(y)),\n left: convertToUnit(Math.round(x)), // TODO: right for origin=\"end\", rtl\n transformOrigin: physicalAnchor(origin, data.activatorEl.value!),\n minWidth: convertToUnit(minWidth),\n maxWidth: convertToUnit(maxWidth),\n maxHeight: convertToUnit(maxHeight),\n })\n }\n\n watch(\n () => [preferredAnchor.value, preferredOrigin.value, props.offset],\n () => updatePosition(),\n { immediate: !activatorFixed }\n )\n\n if (activatorFixed) nextTick(() => updatePosition())\n requestAnimationFrame(() => {\n if (contentStyles.value.maxHeight) updatePosition()\n })\n\n return { updatePosition }\n}\n","let clean = true\nconst frames = [] as any[]\n\n/**\n * Schedule a task to run in an animation frame on its own\n * This is useful for heavy tasks that may cause jank if all ran together\n */\nexport function requestNewFrame (cb: () => void) {\n if (!clean || frames.length) {\n frames.push(cb)\n run()\n } else {\n clean = false\n cb()\n run()\n }\n}\n\nlet raf = -1\nfunction run () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n const frame = frames.shift()\n if (frame) frame()\n\n if (frames.length) run()\n else clean = true\n })\n}\n","// Utilities\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n updatePosition: Ref<((e: Event) => void) | undefined>\n}\n\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\ninterface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ((data: ScrollStrategyData) => void)\n}\n\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) => typeof val === 'function' || val in scrollStrategies,\n },\n})\n\nexport function useScrollStrategies (\n props: StrategyProps,\n data: ScrollStrategyData\n) {\n if (!IN_BROWSER) return\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n\n if (!(data.isActive.value && props.scrollStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data)\n }\n })\n })\n}\n\nfunction closeScrollStrategy (data: ScrollStrategyData) {\n function onScroll (e: Event) {\n data.isActive.value = false\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, onScroll)\n}\n\nfunction blockScrollStrategy (data: ScrollStrategyData) {\n const scrollElements = [...new Set([\n ...getScrollParents(data.activatorEl.value),\n ...getScrollParents(data.contentEl.value),\n ])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'))\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n\n const scrollableParent = (el => hasScrollbar(el) && el)(data.root.value?.offsetParent || document.documentElement)\n if (scrollableParent) {\n data.root.value!.classList.add('v-overlay--scroll-blocked')\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-body-scroll-x', convertToUnit(-el.scrollLeft))\n el.style.setProperty('--v-body-scroll-y', convertToUnit(-el.scrollTop))\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue('--v-body-scroll-x'))\n const y = parseFloat(el.style.getPropertyValue('--v-body-scroll-y'))\n\n el.style.removeProperty('--v-body-scroll-x')\n el.style.removeProperty('--v-body-scroll-y')\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n\n el.scrollLeft = -x\n el.scrollTop = -y\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData) {\n let slow = false\n let raf = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updatePosition.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e)\n })\n })\n } else {\n update(e)\n }\n })\n}\n\n/** @private */\nfunction bindScroll (el: HTMLElement | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)]\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, { passive: true })\n })\n\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll)\n })\n })\n}\n","// Utilities\nimport { computed, warn } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTeleport (target: Ref<boolean | string | Element>) {\n const teleportTarget = computed(() => {\n const _target = target.value\n\n if (_target === true || !IN_BROWSER) return undefined\n\n const targetElement =\n _target === false ? document.body\n : typeof _target === 'string' ? document.querySelector(_target)\n : _target\n\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`)\n return undefined\n }\n\n if (!useTeleport.cache.has(targetElement)) {\n const el = document.createElement('div')\n el.className = 'v-overlay-container'\n targetElement.appendChild(el)\n useTeleport.cache.set(targetElement, el)\n }\n\n return useTeleport.cache.get(targetElement)\n })\n\n return { teleportTarget }\n}\nuseTeleport.cache = new WeakMap<Element, Element>()\n","// Utilities\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = ref(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n","import { effectScope, onScopeDispose, readonly, ref, toRaw, watch, watchEffect } from 'vue'\nimport { getCurrentInstance } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, EffectScope, Ref } from 'vue'\n\nconst stack = ref<ComponentInternalInstance[]>([])\n\nexport function useStack (isActive: Ref<boolean>) {\n const vm = getCurrentInstance('useStack')\n let scope: EffectScope | undefined\n watch(isActive, val => {\n if (val) {\n scope = effectScope()\n scope.run(() => {\n stack.value.push(vm)\n\n onScopeDispose(() => {\n const idx = stack.value.indexOf(vm)\n stack.value.splice(idx, 1)\n })\n })\n } else {\n scope?.stop()\n }\n }, { immediate: true })\n\n const isTop = ref(true)\n watchEffect(() => {\n const _isTop = toRaw(stack.value[stack.value.length - 1]) === vm\n setTimeout(() => isTop.value = _isTop)\n })\n\n return {\n isTop: readonly(isTop),\n }\n}\n","import { attachedRoot } from '@/util'\nimport type { DirectiveBinding } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: MouseEvent) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirectiveBinding extends DirectiveBinding {\n value: ((e: MouseEvent) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: MouseEvent, binding: ClickOutsideDirectiveBinding): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const onClick = (e: Event) => directive(e as MouseEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as MouseEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[binding.instance!.$.uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unmounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[binding.instance!.$.uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[binding.instance!.$.uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[binding.instance!.$.uid]\n },\n}\n\nexport default ClickOutside\n","// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { makePositionStrategyProps, usePositionStrategies } from './positionStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackButton } from '@/composables/router'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useStack } from '@/composables/stack'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n standardEasing,\n useRender,\n} from '@/util'\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toHandlers,\n Transition,\n watch,\n} from 'vue'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { BackgroundColorData } from '@/composables/color'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = MakeSlots<{\n default: [{ isActive: Ref<boolean> }]\n activator: [{ isActive: boolean, props: Record<string, any> }]\n}>\n\nexport const VOverlay = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n contained: Boolean,\n contentClass: null,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n\n ...makeActivatorProps(),\n ...makeDimensionProps(),\n ...makePositionStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n ...makeLazyProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n afterLeave: () => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { hasContent, onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { isTop } = useStack(isActive)\n const { activatorEl, activatorRef, activatorEvents, contentEvents } = useActivator(props, { isActive, isTop })\n const { dimensionStyles } = useDimension(props)\n\n const root = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updatePosition } = usePositionStrategies(props, {\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\n isActive,\n updatePosition,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional () {\n return isActive.value && isTop.value\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && isTop.value) {\n if (!props.persistent) {\n isActive.value = false\n } else animateClick()\n }\n }\n\n useBackButton(next => {\n if (isTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value?.animate([\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n }, toHandlers(activatorEvents.value), props.activatorProps),\n }) }\n\n { IN_BROWSER && (\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n { hasContent.value && (\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n ]}\n style={{\n top: convertToUnit(top.value),\n }}\n ref={ root }\n {...attrs}\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n />\n <MaybeTransition\n appear\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n onAfterLeave={() => { onAfterLeave(); emit('afterLeave') }}\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n { ...toHandlers(contentEvents.value) }\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n )}\n </Teleport>\n ) }\n </>\n ))\n\n return {\n animateClick,\n contentEl,\n activatorEl,\n isTop,\n updatePosition,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\nimport { VDialogTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, ref, watch } from 'vue'\nimport { genericComponent, getUid, useRender } from '@/util'\nimport { VMenuSymbol } from './shared'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport { useForwardRef } from '@/composables/forwardRef'\n\nexport const VMenu = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VMenu',\n\n inheritAttrs: false,\n\n props: {\n // TODO\n // disableKeys: Boolean,\n modelValue: Boolean,\n id: String,\n\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const parent = inject(VMenuSymbol, null)\n let openChildren = 0\n provide(VMenuSymbol, {\n register () {\n ++openChildren\n },\n unregister () {\n --openChildren\n },\n closeParents () {\n setTimeout(() => {\n if (!openChildren) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n watch(isActive, val => {\n val ? parent?.register() : parent?.unregister()\n })\n\n function onClickOutside () {\n parent?.closeParents()\n }\n\n useRender(() => (\n <VOverlay\n ref={ overlay }\n v-model={ isActive.value }\n class={[\n 'v-menu',\n ]}\n transition={ props.transition }\n absolute\n closeOnContentClick\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n scrim={ false }\n openDelay=\"300\"\n closeDelay=\"250\"\n activatorProps={{\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n }}\n onClick:outside={ onClickOutside }\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n ))\n\n return useForwardRef({ id }, overlay)\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n","// Styles\nimport './VMessages.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent, wrapInArray } from '@/util'\nimport { computed } from 'vue'\nimport type { PropType } from 'vue'\n\nexport const VMessages = defineComponent({\n name: 'VMessages',\n\n props: {\n active: Boolean,\n color: String,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition,\n leaveAbsolute: true,\n group: true,\n },\n }),\n },\n\n setup (props, { slots }) {\n const messages = computed(() => wrapInArray(props.messages))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n\n return () => (\n <MaybeTransition\n transition={ props.transition }\n tag=\"div\"\n class={[\n 'v-messages',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { props.active && (\n messages.value.map((message, i) => (\n <div\n class=\"v-messages__message\"\n key={ `${i}-${messages.value}` }\n >\n { slots.message ? slots.message({ message }) : message }\n </div>\n ))\n ) }\n </MaybeTransition>\n )\n },\n})\n","// Utilities\nimport { computed, inject, provide, ref, watch } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\n\nexport interface FormProvide {\n register: (\n id: number | string,\n validate: () => Promise<string[]>,\n reset: () => void,\n resetValidation: () => void,\n isValid: Ref<boolean | null>,\n ) => void\n unregister: (id: number | string) => void\n items: Ref<FormField[]>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isValidating: Ref<boolean>\n}\n\ninterface FormField {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n isValid: boolean | null\n}\n\ninterface FormValidationResult {\n id: number | string\n errorMessages: string[]\n}\n\nexport interface SubmitEventPromise extends SubmitEvent, Promise<{ valid: boolean, errorMessages: FormValidationResult[] }> {}\n\nexport const FormKey: InjectionKey<FormProvide> = Symbol.for('vuetify:form')\n\nexport interface FormProps {\n disabled: boolean\n fastFail: boolean\n lazyValidation: boolean\n readonly: boolean\n modelValue: boolean | null\n 'onUpdate:modelValue': ((val: boolean | null) => void) | undefined\n}\n\nexport const makeFormProps = propsFactory({\n disabled: Boolean,\n fastFail: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n})\n\nexport function createForm (props: FormProps) {\n const model = useProxiedModel(props, 'modelValue')\n\n const isDisabled = computed(() => props.disabled)\n const isReadonly = computed(() => props.readonly)\n const isValidating = ref(false)\n const items = ref<FormField[]>([])\n const errorMessages = ref<FormValidationResult[]>([])\n\n async function validate () {\n const results = []\n let valid = true\n\n errorMessages.value = []\n isValidating.value = true\n\n for (const item of items.value) {\n const itemErrorMessages = await item.validate()\n\n if (itemErrorMessages.length > 0) {\n valid = false\n\n results.push({\n id: item.id,\n errorMessages: itemErrorMessages,\n })\n }\n\n if (!valid && props.fastFail) break\n }\n\n errorMessages.value = results\n isValidating.value = false\n\n return { valid, errorMessages: errorMessages.value }\n }\n\n function reset () {\n items.value.forEach(item => item.reset())\n model.value = null\n }\n\n function resetValidation () {\n items.value.forEach(item => item.resetValidation())\n errorMessages.value = []\n model.value = null\n }\n\n watch(items, () => {\n let valid = null\n\n if (items.value.some(item => item.isValid === false)) {\n valid = false\n } else if (items.value.every(item => item.isValid === true)) {\n valid = true\n }\n\n model.value = valid\n }, {\n deep: true,\n })\n\n provide(FormKey, {\n register: (id, validate, reset, resetValidation, isValid) => {\n if (items.value.some(item => item.id === id)) {\n consoleWarn(`Duplicate input name \"${id}\"`)\n }\n\n items.value.push({\n id,\n validate,\n reset,\n resetValidation,\n isValid: isValid as unknown as boolean | null, // TODO: Better way to type this unwrapping?\n })\n },\n unregister: id => {\n items.value = items.value.filter(item => {\n return item.id !== id\n })\n },\n isDisabled,\n isReadonly,\n isValidating,\n items,\n })\n\n return {\n errorMessages,\n isDisabled,\n isReadonly,\n isValidating,\n items,\n validate,\n reset,\n resetValidation,\n }\n}\n\nexport function useForm () {\n return inject(FormKey, null)\n}\n","// Composables\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, onBeforeMount, onBeforeUnmount, ref, watch } from 'vue'\nimport { getCurrentInstanceName, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type ValidationResult = string | true\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\nexport interface ValidationProps {\n disabled: boolean\n error: boolean\n errorMessages: string | string[]\n maxErrors: string | number\n name: string | undefined\n readonly: boolean\n rules: ValidationRule[]\n modelValue: any\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n readonly: Boolean,\n rules: {\n type: Array as PropType<ValidationRule[]>,\n default: () => ([]),\n },\n modelValue: null,\n})\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const form = useForm()\n const internalErrorMessages = ref<string[]>([])\n const isPristine = ref(true)\n const isDirty = computed(() => wrapInArray(model.value === '' ? null : model.value).length > 0)\n const isDisabled = computed(() => !!(props.disabled || form?.isDisabled.value))\n const isReadonly = computed(() => !!(props.readonly || form?.isReadonly.value))\n const errorMessages = computed(() => {\n return props.errorMessages.length\n ? wrapInArray(props.errorMessages)\n : internalErrorMessages.value\n })\n const isValid = computed(() => {\n if (props.error || errorMessages.value.length) return false\n\n return isPristine.value ? null : true\n })\n const isValidating = ref(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value,\n }\n })\n\n const uid = computed(() => props.name ?? getUid())\n\n onBeforeMount(() => {\n form?.register(uid.value, validate, reset, resetValidation, isValid)\n })\n\n onBeforeUnmount(() => {\n form?.unregister(uid.value)\n })\n\n watch(model, () => {\n if (model.value != null) validate()\n })\n\n function reset () {\n resetValidation()\n model.value = null\n }\n\n function resetValidation () {\n isPristine.value = true\n internalErrorMessages.value = []\n }\n\n async function validate () {\n const results = []\n\n isValidating.value = true\n\n for (const rule of props.rules) {\n if (results.length >= (props.maxErrors || 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(model.value)\n\n if (result === true) continue\n\n if (typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result)\n }\n\n internalErrorMessages.value = results\n isValidating.value = false\n isPristine.value = false\n\n return internalErrorMessages.value\n }\n\n return {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n isDirty: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: String,\n prependIcon: String,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n})\n\nexport type VInputSlots = MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n}>\n\nexport const VInput = genericComponent<new <T>() => {\n $slots: VInputSlots\n}>()({\n name: 'VInput',\n\n props: {\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots, emit }) {\n const { densityClasses } = useDensity(props)\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon)\n const hasAppend = !!(slots.append || props.appendIcon)\n const hasMessages = !!(\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n hasMessages\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div\n class=\"v-input__prepend\"\n >\n { slots?.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <VIcon\n onClick={ attrs['onClick:prepend'] }\n icon={ props.prependIcon }\n />\n ) }\n </div>\n ) }\n\n { slots.default && (\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n ) }\n\n { hasAppend && (\n <div\n class=\"v-input__append\"\n >\n { slots?.append?.(slotProps.value) }\n\n { props.appendIcon && (\n <VIcon\n onClick={ attrs['onClick:append'] }\n icon={ props.appendIcon }\n />\n ) }\n </div>\n ) }\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n active={ hasMessages }\n messages={ errorMessages.value.length > 0\n ? errorMessages.value\n : props.messages\n }\n v-slots={{ message: slots.message }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n ) }\n </div>\n )\n })\n\n return {\n reset,\n resetValidation,\n validate,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: ExtractPropTypes<ReturnType<typeof makeVInputProps>>) {\n return pick(props, Object.keys(VInput.props) as any)\n}\n","// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLabel = defineComponent({\n name: 'VLabel',\n\n props: {\n text: String,\n\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <label class=\"v-label\">\n { props.text }\n\n { slots.default?.() }\n </label>\n )\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n","// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VFieldLabel = defineComponent({\n name: 'VFieldLabel',\n\n props: {\n floating: Boolean,\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n ]}\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n )\n }\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n","// Utilities\nimport { onBeforeUnmount, ref, watch } from 'vue'\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\nexport function useIntersectionObserver (callback?: IntersectionObserverCallback) {\n const intersectionRef = ref<HTMLElement>()\n const isIntersecting = ref(false)\n\n if (SUPPORTS_INTERSECTION) {\n const observer = new IntersectionObserver((entries: IntersectionObserverEntry[]) => {\n callback?.(entries, observer)\n\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n isIntersecting.value = false\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n }\n\n return { intersectionRef, isIntersecting }\n}\n","// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { computed, Transition } from 'vue'\n\nexport const VProgressLinear = defineComponent({\n name: 'VProgressLinear',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(props, 'color')\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor || props.color))\n const { backgroundColorClasses: barColorClasses, backgroundColorStyles: barColorStyles } = useBackgroundColor(props, 'color')\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseInt(props.max, 10))\n const height = computed(() => parseInt(props.height, 10))\n const normalizedBuffer = computed(() => parseFloat(props.bufferValue) / max.value * 100)\n const normalizedValue = computed(() => parseFloat(progress.value) / max.value * 100)\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const opacity = computed(() => {\n return props.bgOpacity == null\n ? props.bgOpacity\n : parseFloat(props.bgOpacity)\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n return () => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={{\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: opacity.value,\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n ) }\n\n <div\n class={[\n 'v-progress-linear__background',\n backgroundColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: opacity.value,\n width: convertToUnit((!props.stream ? 100 : normalizedBuffer.value), '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n barColorClasses.value,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(normalizedValue.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n { ['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n barColorClasses.value,\n ]}\n style={ barColorStyles.value }\n />\n )) }\n </div>\n ) }\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\nimport type { SetupContext } from '@vue/runtime-core'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading: boolean | string\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: Boolean,\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={`${props.name}__loader`}>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n","// Components\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface FocusProps {\n focused: boolean\n 'onUpdate:focused': ((val: boolean) => void) | undefined\n}\n\n// Composables\nexport const makeFocusProps = propsFactory({\n focused: Boolean,\n}, 'focus')\n\nexport function useFocus (\n props: FocusProps,\n name = getCurrentInstanceName()\n) {\n const isFocused = useProxiedModel(props, 'focused')\n const focusClasses = computed(() => {\n return ({\n [`${name}--focused`]: isFocused.value,\n })\n })\n\n function focus () {\n isFocused.value = true\n }\n\n function blur () {\n isFocused.value = false\n }\n\n return { focusClasses, isFocused, focus, blur }\n}\n","// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getUid,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { VInputSlot } from '@/components/VInput/VInput'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'contained', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: String,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n active: Boolean,\n color: String,\n dirty: Boolean,\n disabled: Boolean,\n error: Boolean,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: String,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n ...makeThemeProps(),\n ...makeLoaderProps(),\n}, 'v-field')\n\nexport type VFieldSlots = MakeSlots<{\n clear: []\n prependInner: [DefaultInputSlot & VInputSlot]\n appendInner: [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n}>\n\nexport const VField = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: VFieldSlots\n}>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n\n const isActive = computed(() => props.dirty || props.active)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n isActive.value &&\n isFocused.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const duration = parseFloat(getComputedStyle(el).transitionDuration) * 1000\n const scale = parseFloat(getComputedStyle(targetEl).getPropertyValue('--v-field-label-scale'))\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n el.animate([\n { transform: 'translate(0)' },\n { transform: `translate(${x}px, ${y}px) scale(${scale})`, ...width },\n ], {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n\n emit('click:control', e)\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots.prependInner || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots.appendInner || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--has-label': !!label,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ props.loading }\n color={ props.error ? 'error' : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div\n class=\"v-field__prepend-inner\"\n >\n { props.prependInnerIcon && (\n <VIcon\n onClick={ attrs['onClick:prependInner'] }\n icon={ props.prependInnerIcon }\n />\n ) }\n\n { slots?.prependInner?.(slotProps.value) }\n </div>\n ) }\n\n <div class=\"v-field__field\">\n { ['contained', 'filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n >\n { label }\n </VFieldLabel>\n ) }\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n },\n focus,\n blur,\n } as VFieldSlot) }\n </div>\n\n { hasClear && (\n <VExpandXTransition>\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n >\n { slots.clear\n ? slots.clear()\n : (\n <VIcon\n onClick={ (e: MouseEvent) => emit('click:clear', e) }\n icon={ props.clearIcon }\n />\n )\n }\n </div>\n </VExpandXTransition>\n ) }\n\n { hasAppend && (\n <div\n class=\"v-field__append-inner\"\n >\n { slots?.appendInner?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <VIcon\n onClick={ attrs['onClick:appendInner'] }\n icon={ props.appendInnerIcon }\n />\n ) }\n </div>\n ) }\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n </div>\n ) }\n\n <div class=\"v-field__outline__end\" />\n </>\n ) }\n\n { ['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n ) }\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n return pick(attrs, Object.keys(VField.props))\n}\n","// Styles\nimport './VCounter.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Utilities\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VCounter = defineComponent({\n name: 'VCounter',\n\n functional: true,\n\n props: {\n active: Boolean,\n max: [Number, String],\n value: {\n type: [Number, String],\n default: 0,\n },\n\n ...makeTransitionProps({\n transition: { component: VSlideYTransition },\n }),\n },\n\n setup (props, { slots }) {\n const counter = computed(() => {\n return props.max ? `${props.value} / ${props.max}` : String(props.value)\n })\n\n return () => {\n return (\n <MaybeTransition transition={ props.transition }>\n <div\n v-show={ props.active }\n class=\"v-counter\"\n >\n { slots.default\n ? slots.default({\n counter: counter.value,\n max: props.max,\n value: props.value,\n })\n : counter.value\n }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n","// Styles\nimport './VTextField.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\n\n// Composables\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, ref } from 'vue'\nimport { filterInputAttrs, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VFieldSlots } from '@/components/VField/VField'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const VTextField = genericComponent<new <T>() => {\n $slots: VInputSlots & VFieldSlots\n}>()({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'click:input': (e: MouseEvent) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value\n ))\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isFocused.value || props.persistentHint) ? props.hint : ''\n })\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) isFocused.value = true\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n emit('click:clear', e)\n })\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant),\n },\n ]}\n onClick:prepend={ attrs['onClick:prepend'] }\n onClick:append={ attrs['onClick:append'] }\n { ...rootAttrs }\n { ...inputProps }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ (e: MouseEvent) => {\n if (e.target === inputRef.value) return\n\n e.preventDefault()\n }}\n onClick:control={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ attrs['onClick:prependInner'] }\n onClick:appendInner={ attrs['onClick:prependInner'] }\n role=\"textbox\"\n { ...fieldProps }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n ) }\n\n <div\n class={ fieldClass }\n onClick={ e => emit('click:input', e) }\n >\n { slots.default?.() }\n\n <input\n ref={ inputRef }\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ props.name }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n </div>\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n","// Utilities\nimport { computed } from 'vue'\nimport { getObjectValueByPath, getPropertyFromItem, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { SelectItemKey } from '@/util'\n\nexport interface InternalItem {\n [key: string]: any\n title: string\n value: any\n children?: InternalItem[]\n}\n\nexport interface ItemProps {\n items: (string | Partial<InternalItem>)[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: string\n itemProps: (item: any) => Partial<InternalItem>\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemProps: {\n type: Function as PropType<ItemProps['itemProps']>,\n default: (item: any) => ({}),\n },\n}, 'item')\n\nexport function transformItem (props: ItemProps, item: any) {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getObjectValueByPath(item, props.itemChildren)\n\n return {\n title,\n value,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n ...props.itemProps?.(item),\n }\n}\n\nexport function transformItems (props: ItemProps, items: ItemProps['items']) {\n const array: InternalItem[] = []\n\n for (const item of items) {\n array.push(transformItem(props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n\n return { items }\n}\n","import { computed, inject, provide, ref } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = ref(options.current)\n const fallback = ref(options.fallback)\n const messages = ref(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n","// 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","/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\nimport { computed, unref } from 'vue'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport type FilterFunction = (value: string, query: string, item?: any) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMatch = number | [number, number] | [number, number][] | boolean\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n\n return value.toString().toLocaleLowerCase().indexOf(query.toString().toLocaleLowerCase())\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems<T = Record<string, any>> (\n items: T[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n const array: { item: T, matches: Record<string, FilterMatch> }[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n loop:\n for (const item of items) {\n const customMatches: Record<string, FilterMatch> = {}\n const defaultMatches: Record<string, FilterMatch> = {}\n let match: FilterMatch = -1\n\n if (query && typeof item === 'object' && !options?.noFilter) {\n const filterKeys = keys || Object.keys(item)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(item as any, key, item)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = match\n else defaultMatches[key] = match\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n array.push({ item, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter<T> (\n props: FilterProps,\n items: MaybeRef<T[]>,\n query?: Ref<string | undefined>,\n) {\n const strQuery = computed(() => (\n typeof query?.value !== 'string' &&\n typeof query?.value !== 'number'\n ) ? '' : String(query.value))\n\n const filteredItems = computed(() => {\n return filterItems(\n unref(items),\n strQuery.value,\n {\n customKeyFilter: props.customKeyFilter,\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n })\n\n return { filteredItems }\n}\n","// Styles\nimport './VAutocomplete.sass'\n\n// Components\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\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 { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { transformItem, useItems } from '@/composables/items'\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { genericComponent, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { FilterMatch } from '@/composables/filter'\nimport type { DefaultChipSlot, InternalSelectItem } from '@/components/VSelect/VSelect'\nimport type { MakeSlots } from '@/util'\n\nexport interface InternalAutocompleteItem extends InternalSelectItem {\n\n}\n\nexport interface DefaultAutocompleteSlot {\n selection: InternalAutocompleteItem\n}\n\nfunction highlightResult (text: string, matches: FilterMatch, length: number) {\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-autocomplete__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-autocomplete__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-autocomplete__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\nexport const VAutocomplete = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n chip: [DefaultChipSlot]\n default: []\n selection: [DefaultAutocompleteSlot]\n }>\n}>()({\n name: 'VAutocomplete',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'update:search': (val: any) => true,\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 isFocused = ref(false)\n const isPristine = ref(true)\n const menu = ref(false)\n const { items } = useItems(props)\n const search = useProxiedModel(props, 'search', '')\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v || []),\n (v: any) => props.multiple ? v : v[0]\n )\n const { filteredItems } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\n const selections = computed(() => {\n const array: InternalSelectItem[] = []\n let index = 0\n for (const unwrapped of model.value) {\n const item = transformItem(props, unwrapped)\n\n const found = array.find(selection => selection.value === item.value)\n\n if (found == null) {\n array.push({\n ...item,\n index,\n })\n\n index++\n }\n }\n\n return array\n })\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 search.value = ''\n }\n function onClickControl () {\n if (props.hideNoData && !filteredItems.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'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n isPristine.value = true\n }\n }\n function onInput (e: InputEvent) {\n search.value = (e.target as HTMLInputElement).value\n }\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\n }\n const isSelecting = ref(false)\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\n isSelecting.value = true\n\n search.value = item.title\n menu.value = false\n isPristine.value = true\n\n nextTick(() => (isSelecting.value = false))\n }\n }\n\n watch(() => vTextFieldRef.value, val => {\n activator.value = val.$el.querySelector('.v-input__control')\n })\n\n watch(isFocused, val => {\n if (val) {\n isSelecting.value = true\n search.value = props.multiple ? '' : String(model.value ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n menu.value = false\n search.value = ''\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n modelValue={ search.value }\n onInput={ onInput }\n class={[\n 'v-autocomplete',\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n [`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n dirty={ selected.value.length > 0 }\n onClick:clear={ onClear }\n onClick:control={ onClickControl }\n onClick:input={ onClickControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\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-autocomplete__content\"\n eager={ props.eager }\n openOnClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n >\n <VList\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n >\n { !filteredItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { filteredItems.value.map(({ item, matches }) => (\n <VListItem\n value={ item.value }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onClick={ () => select(item) }\n >\n {{\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, matches.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\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-autocomplete__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-autocomplete__selection-text\">\n { selection.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-autocomplete__selection-comma\">,</span>\n ) }\n </span>\n )\n ) }\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return useForwardRef({\n filteredItems,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, pick } from '@/util'\n\nexport const VBadge = defineComponent({\n name: 'VBadge',\n\n inheritAttrs: false,\n\n props: {\n bordered: Boolean,\n color: String,\n content: [Number, String],\n dot: Boolean,\n floating: Boolean,\n icon: String,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n location: {\n type: String,\n default: 'top-end',\n validator: (value: string) => {\n const [vertical, horizontal] = (value ?? '').split('-')\n\n return (\n ['top', 'bottom'].includes(vertical) &&\n ['start', 'end'].includes(horizontal)\n )\n },\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true,\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeTransitionProps({ transition: 'scale-rotate-transition' }),\n },\n\n setup (props, ctx) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { isRtl } = useRtl()\n const { roundedClasses } = useRounded(props)\n const { t } = useLocale()\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'textColor'))\n const { themeClasses } = useTheme()\n\n const position = computed(() => {\n return props.floating\n ? (props.dot ? 2 : 4)\n : (props.dot ? 8 : 12)\n })\n\n function calculatePosition (offset?: number | string) {\n return `calc(100% - ${convertToUnit(position.value + parseInt(offset ?? 0, 10))})`\n }\n\n const locationStyles = computed(() => {\n const [vertical, horizontal] = (props.location ?? '').split('-')\n\n const styles = {\n bottom: 'auto',\n left: 'auto',\n right: 'auto',\n top: 'auto',\n }\n\n if (!props.inline) {\n const isRight = (isRtl.value && horizontal === 'end') || (!isRtl.value && horizontal === 'start')\n\n styles[isRight ? 'right' : 'left'] = calculatePosition(props.offsetX)\n styles[vertical === 'top' ? 'bottom' : 'top'] = calculatePosition(props.offsetY)\n }\n\n return styles\n })\n\n return () => {\n const value = Number(props.content)\n const content = (!props.max || isNaN(value)) ? props.content\n : value <= props.max ? value\n : `${props.max}+`\n\n const [badgeAttrs, attrs] = pick(ctx.attrs as Record<string, any>, [\n 'aria-atomic',\n 'aria-label',\n 'aria-live',\n 'role',\n 'title',\n ])\n\n return (\n <props.tag\n class={[\n 'v-badge',\n {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline,\n },\n ]}\n { ...attrs }\n >\n <div class=\"v-badge__wrapper\">\n { ctx.slots.default?.() }\n\n <MaybeTransition transition={ props.transition }>\n <span\n v-show={ props.modelValue }\n class={[\n 'v-badge__badge',\n backgroundColorClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n locationStyles.value,\n textColorStyles.value,\n ]}\n aria-atomic=\"true\"\n aria-label={ t(props.label, value) }\n aria-live=\"polite\"\n role=\"status\"\n { ...badgeAttrs }\n >\n {\n props.dot ? undefined\n : ctx.slots.badge ? ctx.slots.badge?.()\n : props.icon ? <VIcon icon={props.icon} />\n : <span class=\"v-badge__content\">{content}</span>\n }\n </span>\n </MaybeTransition>\n </div>\n </props.tag>\n )\n }\n },\n})\n\nexport type VBadge = InstanceType<typeof VBadge>\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\n\nexport const VBannerActions = defineComponent({\n name: 'VBannerActions',\n\n props: {\n color: String,\n density: String,\n },\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: props.color,\n density: props.density,\n variant: 'text',\n },\n })\n\n useRender(() => (\n <div class=\"v-banner-actions\">\n { slots?.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n","// Components\nimport { makeVAvatarProps, VAvatar } from '@/components/VAvatar/VAvatar'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VBannerAvatar = defineComponent({\n name: 'VBannerAvatar',\n\n props: makeVAvatarProps(),\n\n setup (props, { slots }) {\n return () => (\n <VAvatar\n class=\"v-banner-avatar\"\n { ...props }\n v-slots={ slots }\n />\n )\n },\n})\n","// Components\nimport { makeVAvatarProps, VAvatar } from '@/components/VAvatar/VAvatar'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VBannerIcon = defineComponent({\n name: 'VBannerIcon',\n\n props: makeVAvatarProps(),\n\n setup (props, { slots }) {\n return () => (\n <VAvatar\n class=\"v-banner-icon\"\n { ...props }\n v-slots={ slots }\n />\n )\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerText = createSimpleFunctional('v-banner-text')\n","// Utilities\nimport { inject, reactive, ref, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Globals\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, ToRefs } from 'vue'\n\nexport type DisplayBreakpoint = keyof DisplayThresholds\n\nexport interface DisplayThresholds {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n xxl: number\n}\n\nexport interface DisplayOptions {\n mobileBreakpoint?: number | DisplayBreakpoint\n thresholds?: Partial<DisplayThresholds>\n}\n\nexport interface InternalDisplayOptions {\n mobileBreakpoint: number | DisplayBreakpoint\n thresholds: DisplayThresholds\n}\n\nexport interface DisplayPlatform {\n android: boolean\n ios: boolean\n cordova: boolean\n electron: boolean\n chrome: boolean\n edge: boolean\n firefox: boolean\n opera: boolean\n win: boolean\n mac: boolean\n linux: boolean\n touch: boolean\n ssr: boolean\n}\n\nexport interface DisplayInstance {\n xs: boolean\n sm: boolean\n md: boolean\n lg: boolean\n xl: boolean\n xxl: boolean\n smAndUp: boolean\n mdAndUp: boolean\n lgAndUp: boolean\n xlAndUp: boolean\n smAndDown: boolean\n mdAndDown: boolean\n lgAndDown: boolean\n xlAndDown: boolean\n name: DisplayBreakpoint\n height: number\n width: number\n mobile: boolean\n mobileBreakpoint: number | DisplayBreakpoint\n platform: DisplayPlatform\n thresholds: DisplayThresholds\n}\n\nexport const DisplaySymbol: InjectionKey<ToRefs<DisplayInstance>> = Symbol.for('vuetify:display')\n\nconst defaultDisplayOptions: DisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560,\n },\n}\n\nconst parseDisplayOptions = (options: DisplayOptions = defaultDisplayOptions) => {\n return mergeDeep(defaultDisplayOptions, options) as InternalDisplayOptions\n}\n\n// Cross-browser support as described in:\n// https://stackoverflow.com/questions/1248081\nfunction getClientWidth () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth\n ) : 0 // SSR\n}\n\nfunction getClientHeight () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight\n ) : 0 // SSR\n}\n\nfunction getPlatform (): DisplayPlatform {\n const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr'\n\n function match (regexp: RegExp) {\n return Boolean(userAgent.match(regexp))\n }\n\n const android = match(/android/i)\n const ios = match(/iphone|ipad|ipod/i)\n const cordova = match(/cordova/i)\n const electron = match(/electron/i)\n const chrome = match(/chrome/i)\n const edge = match(/edge/i)\n const firefox = match(/firefox/i)\n const opera = match(/opera/i)\n const win = match(/win/i)\n const mac = match(/mac/i)\n const linux = match(/linux/i)\n const ssr = match(/ssr/i)\n\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr,\n }\n}\n\nexport function createDisplay (options?: DisplayOptions): ToRefs<DisplayInstance> {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = ref(getClientHeight())\n const platform = getPlatform()\n const state = reactive({} as DisplayInstance)\n const width = ref(getClientWidth())\n\n function onResize () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm\n const sm = width.value < thresholds.md && !xs\n const md = width.value < thresholds.lg && !(sm || xs)\n const lg = width.value < thresholds.xl && !(md || sm || xs)\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.xxl\n const name =\n xs ? 'xs'\n : sm ? 'sm'\n : md ? 'md'\n : lg ? 'lg'\n : xl ? 'xl'\n : 'xxl'\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint]\n const mobile = !platform.ssr\n ? width.value < breakpointValue\n : platform.android || platform.ios || platform.opera\n\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.smAndUp = !xs\n state.mdAndUp = !(xs || sm)\n state.lgAndUp = !(xs || sm || md)\n state.xlAndUp = !(xs || sm || md || lg)\n state.smAndDown = !(md || lg || xl || xxl)\n state.mdAndDown = !(lg || xl || xxl)\n state.lgAndDown = !(xl || xxl)\n state.xlAndDown = !xxl\n state.name = name\n state.height = height.value\n state.width = width.value\n state.mobile = mobile\n state.mobileBreakpoint = mobileBreakpoint\n state.platform = platform\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', onResize, { passive: true })\n }\n\n return toRefs(state)\n}\n\nexport function useDisplay () {\n const display = inject(DisplaySymbol)\n\n if (!display) throw new Error('Could not find Vuetify display injection')\n\n return display\n}\n","// Styles\nimport './VBanner.sass'\n\n// Components\nimport { VBannerActions } from './VBannerActions'\nimport { VBannerAvatar } from './VBannerAvatar'\nimport { VBannerIcon } from './VBannerIcon'\nimport { VBannerText } from './VBannerText'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useDisplay } from '@/composables/display'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VBanner = defineComponent({\n name: 'VBanner',\n\n props: {\n avatar: String,\n color: String,\n icon: String,\n lines: String as PropType<'one' | 'two' | 'three'>,\n stacked: Boolean,\n sticky: Boolean,\n text: String,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { mobile } = useDisplay()\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n const { themeClasses } = provideTheme(props)\n\n const color = toRef(props, 'color')\n const density = toRef(props, 'density')\n\n provideDefaults({\n VBannerActions: { color, density },\n VBannerAvatar: { density, image: toRef(props, 'avatar') },\n VBannerIcon: { color, density, icon: toRef(props, 'icon') },\n })\n\n useRender(() => {\n const hasText = !!(props.text || slots.text)\n const hasPrepend = !!(slots.prepend || props.avatar || props.icon)\n\n return (\n <props.tag\n class={[\n 'v-banner',\n {\n 'v-banner--stacked': props.stacked || mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: !!props.lines,\n },\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={[\n dimensionStyles.value,\n positionStyles.value,\n ]}\n role=\"banner\"\n >\n { hasPrepend && (\n <>\n { slots.prepend\n ? (\n <div class=\"v-banner__prepend\">\n { slots.prepend() }\n </div>\n )\n : props.avatar ? (<VBannerAvatar />)\n : props.icon ? (<VBannerIcon />)\n : undefined\n }\n </>\n ) }\n\n { hasText && (\n <VBannerText>\n { slots.text ? slots.text() : props.text }\n </VBannerText>\n ) }\n\n { slots.default?.() }\n\n { slots.actions && (\n <VBannerActions>\n { slots.actions() }\n </VBannerActions>\n ) }\n </props.tag>\n )\n })\n },\n})\n\nexport type VBanner = InstanceType<typeof VBanner>\n","// Styles\nimport './VBottomNavigation.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport { VBtnToggleSymbol } from '../VBtnToggle/VBtnToggle'\n\nexport const VBottomNavigation = defineComponent({\n name: 'VBottomNavigation',\n\n props: {\n bgColor: String,\n color: String,\n grow: Boolean,\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({ name: 'bottom-navigation' }),\n ...makeTagProps({ tag: 'header' }),\n ...makeGroupProps({\n modelValue: true,\n selectedClass: 'v-btn--selected',\n }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = useTheme()\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: computed(() => 'bottom'),\n layoutSize: computed(() => isActive.value ? height.value : 0),\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useGroup(props, VBtnToggleSymbol)\n\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n stacked: computed(() => props.mode !== 'horizontal'),\n variant: 'text',\n },\n }, { scoped: true })\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--active': isActive.value,\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n","// Composables\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VBreadcrumbsItem = defineComponent({\n name: 'VBreadcrumbsItem',\n\n props: {\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n text: String,\n\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n },\n\n setup (props, { slots, attrs }) {\n const link = useLink(props, attrs)\n const isActive = computed(() => props.active || link.isExactActive?.value)\n const color = computed(() => isActive.value ? props.activeColor : props.color)\n\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n useRender(() => {\n const Tag = link.isLink.value ? 'a' : props.tag\n const hasText = !!(slots.default || props.text)\n\n return (\n <Tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled,\n 'v-breadcrumbs-item--link': link.isLink.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n ]}\n style={[\n textColorStyles.value,\n ]}\n href={ link.href.value }\n aria-current={ isActive.value ? 'page' : undefined }\n onClick={ link.navigate }\n v-slots={{\n default: hasText ? () => slots.default?.() ?? props.text : undefined,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VBreadcrumbsItem = InstanceType<typeof VBreadcrumbsItem>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBreadcrumbsDivider = createSimpleFunctional('v-breadcrumbs-divider', 'li')\n","// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\n\nexport type BreadcrumbItem = string | (LinkProps & {\n text: string\n disabled?: boolean\n})\n\nexport const VBreadcrumbs = defineComponent({\n name: 'VBreadcrumbs',\n\n props: {\n activeClass: String,\n activeColor: String,\n bgColor: String,\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: String,\n items: {\n type: Array as PropType<BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n },\n\n setup (props, { slots }) {\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n\n provideDefaults({\n VBreadcrumbsItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor: toRef(props, 'activeColor'),\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-breadcrumbs',\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { props.icon && (\n <VIcon icon={ props.icon } left />\n ) }\n\n { props.items.map((item, index, array) => (\n <>\n <VBreadcrumbsItem\n key={ index }\n disabled={ index >= array.length - 1 }\n { ...(typeof item === 'string' ? { text: item } : item) }\n v-slots={{\n default: slots.text ? () => slots.text?.({ item, index }) : undefined,\n }}\n />\n\n { index < array.length - 1 && (\n <VBreadcrumbsDivider>\n { slots.divider?.({ item, index }) ?? props.divider }\n </VBreadcrumbsDivider>\n ) }\n </>\n )) }\n\n { slots.default?.() }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\n\nexport const VCardActions = defineComponent({\n name: 'VCardActions',\n\n setup (_, { slots }) {\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => (\n <div class=\"v-card-actions\">\n { slots?.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardAvatar = createSimpleFunctional('v-card-avatar')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardContent = createSimpleFunctional('v-card-content')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeader = createSimpleFunctional('v-card-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeaderText = createSimpleFunctional('v-card-header-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardImg = createSimpleFunctional('v-card-img')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardSubtitle = createSimpleFunctional('v-card-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardText = createSimpleFunctional('v-card-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardTitle = createSimpleFunctional('v-card-title')\n","/* eslint-disable complexity */\n\n// Styles\nimport './VCard.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VImg } from '@/components/VImg'\nimport { VCardActions } from './VCardActions'\nimport { VCardAvatar } from './VCardAvatar'\nimport { VCardContent } from './VCardContent'\nimport { VCardHeader } from './VCardHeader'\nimport { VCardHeaderText } from './VCardHeaderText'\nimport { VCardImg } from './VCardImg'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardText } from './VCardText'\nimport { VCardTitle } from './VCardTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { VDefaultsProvider } from '../VDefaultsProvider'\n\nexport const VCard = defineComponent({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: {\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: Boolean,\n subtitle: String,\n text: String,\n title: String,\n\n ...makeThemeProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title)\n const hasSubtitle = !!(slots.subtitle || props.subtitle)\n const hasHeaderText = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasHeader = hasHeaderText || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n href={ link.href.value }\n onClick={ isClickable && link.navigate }\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable, 'v-card') }\n\n { hasImage && (\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n >\n <VCardImg>\n { slots.image ? slots.image?.() : (<VImg alt=\"\" />) }\n </VCardImg>\n </VDefaultsProvider>\n ) }\n\n { slots.media?.() }\n\n { hasHeader && (\n <VCardHeader>\n { hasPrepend && (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.prependIcon,\n image: props.prependAvatar,\n },\n }}\n >\n <VCardAvatar>\n { slots.prepend ? slots.prepend() : (<VAvatar />) }\n </VCardAvatar>\n </VDefaultsProvider>\n ) }\n\n { hasHeaderText && (\n <VCardHeaderText>\n { hasTitle && (\n <VCardTitle>\n { slots.title ? slots.title() : props.title}\n </VCardTitle>\n ) }\n\n { hasSubtitle && (\n <VCardSubtitle>\n { slots.subtitle ? slots.subtitle() : props.subtitle }\n </VCardSubtitle>\n ) }\n\n { slots.headerText?.() }\n </VCardHeaderText>\n ) }\n\n { hasAppend && (\n <VDefaultsProvider\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.appendIcon,\n image: props.appendAvatar,\n },\n }}\n >\n <VCardAvatar>\n { slots.append ? slots.append() : (<VAvatar />) }\n </VCardAvatar>\n </VDefaultsProvider>\n ) }\n </VCardHeader>\n ) }\n\n { hasText && (\n <VCardText>\n { slots.text ? slots.text() : props.text }\n </VCardText>\n ) }\n\n { slots.content && (\n <VCardContent v-slots={{ default: slots.content }} />\n ) }\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n","// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n end?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n move?: (wrapperEvent: { originalEvent: TouchEvent } & TouchWrapper) => void\n left?: (wrapper: TouchWrapper) => void\n right?: (wrapper: TouchWrapper) => void\n up?: (wrapper: TouchWrapper) => void\n down?: (wrapper: TouchWrapper) => void\n}\n\nexport interface TouchWrapper extends TouchHandlers {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nexport interface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ originalEvent: event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ originalEvent: event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ originalEvent: event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n","// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useGroup } from '@/composables/group'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\n\n// Directives\nimport { Touch } from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { MakeSlots } from '@/util'\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: string\n class: string\n onClick: () => void\n ariaLabel: string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const VWindow = genericComponent<new () => {\n $slots: MakeSlots<{\n default: [{ group: GroupProvide }]\n additional: [{ group: GroupProvide }]\n prev: [{ props: ControlProps }]\n next: [{ props: ControlProps }]\n }>\n}>()({\n name: 'VWindow',\n\n directives: {\n Touch,\n },\n\n props: {\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n default: 'force' as const,\n },\n\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (v: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = ref(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = ref(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = computed(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = computed(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n ariaLabel: t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n ariaLabel: t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n end: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n },\n themeClasses.value,\n ]}\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport Touch from '@/directives/touch'\n\n// Utilities\nimport { computed, inject, nextTick, ref } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VWindowGroupSymbol, VWindowSymbol } from './VWindow'\n\nexport const VWindowItem = defineComponent({\n name: 'VWindowItem',\n\n directives: {\n Touch,\n },\n\n props: {\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n ...makeLazyProps(),\n ...makeGroupItemProps(),\n },\n\n setup (props, { slots }) {\n const window = inject(VWindowSymbol)\n const groupItem = useGroupItem(props, VWindowGroupSymbol)\n\n if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow')\n\n const isTransitioning = ref(false)\n const hasTransition = computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false)\n\n function onAfterTransition () {\n if (!isTransitioning.value || !window) {\n return\n }\n\n // Finalize transition state.\n isTransitioning.value = false\n if (window.transitionCount.value > 0) {\n window.transitionCount.value -= 1\n\n // Remove container height if we are out of transition.\n if (window.transitionCount.value === 0) {\n window.transitionHeight.value = undefined\n }\n }\n }\n\n function onBeforeTransition () {\n if (isTransitioning.value || !window) {\n return\n }\n\n // Initialize transition state here.\n isTransitioning.value = true\n\n if (window.transitionCount.value === 0) {\n // Set initial height for height transition.\n window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight)\n }\n\n window.transitionCount.value += 1\n }\n\n function onTransitionCancelled () {\n onAfterTransition() // This should have the same path as normal transition end.\n }\n\n function onEnterTransition (el: Element) {\n if (!isTransitioning.value) {\n return\n }\n\n nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!hasTransition.value || !isTransitioning.value || !window) {\n return\n }\n\n // Set transition target height.\n window.transitionHeight.value = convertToUnit(el.clientHeight)\n })\n }\n\n const transition = computed(() => {\n const name = window.isReversed.value\n ? props.reverseTransition\n : props.transition\n\n return !hasTransition.value ? false : {\n name: typeof name !== 'string' ? window.transition.value : name,\n onBeforeEnter: onBeforeTransition,\n onAfterEnter: onAfterTransition,\n onEnterCancelled: onTransitionCancelled,\n onBeforeLeave: onBeforeTransition,\n onAfterLeave: onAfterTransition,\n onLeaveCancelled: onTransitionCancelled,\n onEnter: onEnterTransition,\n }\n })\n\n const { hasContent } = useLazy(props, groupItem.isSelected)\n\n return () => {\n return (\n <MaybeTransition transition={ transition.value } >\n <div\n class={[\n 'v-window-item',\n groupItem.selectedClass.value,\n ]}\n v-show={ groupItem.isSelected.value }\n >\n { slots.default && hasContent.value && slots.default() }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n\nexport type VWindowItem = InstanceType<typeof VWindowItem>\n","// Styles\nimport './VCarousel.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VProgressLinear } from '@/components/VProgressLinear'\nimport { VWindow } from '@/components/VWindow'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { convertToUnit, defineComponent, useRender } from '@/util'\nimport { onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VCarousel = defineComponent({\n name: 'VCarousel',\n\n props: {\n color: String,\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => value > 0,\n },\n modelValue: null,\n progress: [Boolean, String],\n showArrows: {\n type: [Boolean, String],\n default: true,\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n verticalDelimiters: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { t } = useLocale()\n const windowRef = ref<typeof VWindow>()\n\n let slideTimeout = -1\n watch(model, restartTimeout)\n watch(() => props.interval, restartTimeout)\n watch(() => props.cycle, val => {\n if (val) restartTimeout()\n else window.clearTimeout(slideTimeout)\n })\n\n onMounted(startTimeout)\n\n function startTimeout () {\n if (!props.cycle || !windowRef.value) return\n\n slideTimeout = window.setTimeout(windowRef.value.group.next, +props.interval > 0 ? +props.interval : 6000)\n }\n\n function restartTimeout () {\n window.clearTimeout(slideTimeout)\n window.requestAnimationFrame(startTimeout)\n }\n\n useRender(() => (\n <VWindow\n ref={ windowRef }\n v-model={ model.value }\n class={[\n 'v-carousel',\n {\n 'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': props.verticalDelimiters,\n },\n ]}\n style={{ height: convertToUnit(props.height) }}\n continuous\n showArrows={ props.showArrows }\n mandatory=\"force\"\n >\n {{\n default: slots.default,\n additional: ({ group }: { group: GroupProvide }) => (\n <>\n { !props.hideDelimiters && (\n <div\n class=\"v-carousel__controls\"\n style={{\n left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',\n right: props.verticalDelimiters === 'right' ? 0 : 'auto',\n }}\n >\n { group.items.value.length > 0 && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n color: props.color,\n icon: props.delimiterIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n scoped\n >\n { group.items.value.map((item: any) => {\n const props = {\n 'aria-label': t('$vuetify.carousel.ariaLabel.delimiter'),\n class: [group.isSelected(item.id) && 'v-btn--selected'],\n onClick: () => group.select(item.id, true),\n }\n\n return slots.item\n ? slots.item({ props, item })\n : (<VBtn { ...item } { ...props } />)\n }) }\n </VDefaultsProvider>\n ) }\n </div>\n )}\n\n { props.progress && (\n <VProgressLinear\n class=\"v-carousel__progress\"\n color={ typeof props.progress === 'string' ? props.progress : undefined }\n modelValue={ (group.getItemIndex(model.value) + 1) / group.items.value.length * 100 }\n />\n )}\n </>\n ),\n prev: slots.prev,\n next: slots.next,\n }}\n </VWindow>\n ))\n },\n})\n","// Components\nimport { VImg } from '@/components/VImg'\nimport { VWindowItem } from '@/components/VWindow'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\nexport const VCarouselItem = defineComponent({\n name: 'VCarouselItem',\n\n inheritAttrs: false,\n\n props: {\n value: null,\n },\n\n setup (props, { slots, attrs }) {\n useRender(() => (\n <VWindowItem class=\"v-carousel-item\" value={ props.value }>\n <VImg\n { ...attrs }\n v-slots={ slots }\n />\n </VWindowItem>\n ))\n },\n})\n\nexport type VCarouselItem = InstanceType<typeof VCarouselItem>\n","// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\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<string | undefined>\n falseIcon: Ref<string | 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: String,\n trueIcon: String,\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","// 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","// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed } from 'vue'\nimport { defineComponent, filterInputAttrs, useRender } from '@/util'\n\nexport const VCheckbox = defineComponent({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n falseIcon: {\n type: String,\n default: '$checkboxOff',\n },\n trueIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const falseIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.falseIcon\n })\n const trueIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n\n return (\n <VInput\n class=\"v-checkbox\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n }) => (\n <VSelectionControl\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-slots={ slots }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n","import './VCode.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCode = createSimpleFunctional('v-code')\n","// 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 { 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 ...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 { positionClasses, positionStyles } = 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 positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","/* eslint-disable max-statements */\n// Composables\nimport { useRtl } from '@/composables/rtl'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeElevationProps } from '@/composables/elevation'\n\n// Utilities\nimport { computed, provide, ref, toRef } from 'vue'\nimport { clamp, createRange, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\ntype Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n activeThumbRef: Ref<HTMLElement | undefined>\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | undefined>\n elevation: Ref<number | string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n horizontalDirection: Ref<'ltr' | 'rtl'>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n readonly: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n ticks: {\n type: [Array, Object] as PropType<number[] | Record<number, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\nexport const useSlider = ({\n props,\n handleSliderMouseUp,\n handleMouseMove,\n getActiveThumb,\n}: {\n props: SliderProps\n handleSliderMouseUp: (v: number) => void\n handleMouseMove: (v: number) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const horizontalDirection = computed(() => {\n let hd: 'ltr' | 'rtl' = isRtl.value ? 'rtl' : 'ltr'\n\n if (props.reverse) {\n hd = hd === 'rtl' ? 'ltr' : 'rtl'\n }\n\n return hd\n })\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => {\n const trimmedStep = step.value.toString().trim()\n return trimmedStep.includes('.')\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n })\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n const vertical = computed(() => props.direction === 'vertical')\n\n const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = ref(false)\n\n const startOffset = ref(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n const activeThumbRef = ref<HTMLElement | undefined>()\n\n function roundValue (value: number) {\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical || isReversed.value) clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n let thumbMoved = false\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n if (!thumbMoved) {\n startOffset.value = 0\n handleSliderMouseUp(parseMouseMove(e))\n }\n\n mousePressed.value = false\n thumbMoved = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n activeThumbRef.value = getActiveThumb(e)\n\n if (!activeThumbRef.value) return\n\n activeThumbRef.value.focus()\n mousePressed.value = true\n\n if (activeThumbRef.value.contains(e.target as Node)) {\n thumbMoved = true\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction)\n } else {\n startOffset.value = 0\n handleMouseMove(parseMouseMove(e))\n }\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n thumbMoved = true\n handleMouseMove(parseMouseMove(e))\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.removeEventListener('touchend', onSliderTouchend)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.addEventListener('touchend', onSliderTouchend, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const parsedTicks = computed<Tick[]>(() => {\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseInt(key, 10),\n position: position(parseInt(key, 10)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n activeThumbRef,\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n horizontalDirection,\n isReversed,\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTicks: toRef(props, 'showTicks'),\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n","// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VScaleTransition } from '../transitions'\nimport { VSliderSymbol } from './slider'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, keyValues } from '@/util'\n\nexport const VSliderThumb = defineComponent({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: {\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n decimals,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = isReversed.value ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n return () => {\n const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%')\n const inset = vertical.value ? 'block' : 'inline'\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n ]}\n style={{\n [`inset-${inset}-start`]: `calc(${positionPercentage} - var(--v-slider-thumb-size) / 2)`,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ !readonly.value ? onKeydown : undefined }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[true, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n }\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n","// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VSliderTrack = defineComponent({\n name: 'VSliderTrack',\n\n props: {\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n },\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n trackColor,\n trackFillColor,\n vertical,\n tickSize,\n showTicks,\n trackSize,\n color,\n rounded,\n parsedTicks,\n horizontalDirection,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start'\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n },\n ]}\n style={{\n [directionProperty]: (tick.position > 0 && tick.position < 100) && convertToUnit(tick.position, '%'),\n }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n return () => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n ]}\n style={{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n ) }\n </div>\n )\n }\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n","// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Helpers\nimport { defineComponent } from '@/util'\n\n// Types\nimport { computed, ref } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { attrs, slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n","// 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","// 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","// 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","// 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","const red = Object.freeze({\n base: '#f44336',\n lighten5: '#ffebee',\n lighten4: '#ffcdd2',\n lighten3: '#ef9a9a',\n lighten2: '#e57373',\n lighten1: '#ef5350',\n darken1: '#e53935',\n darken2: '#d32f2f',\n darken3: '#c62828',\n darken4: '#b71c1c',\n accent1: '#ff8a80',\n accent2: '#ff5252',\n accent3: '#ff1744',\n accent4: '#d50000',\n})\n\nconst pink = Object.freeze({\n base: '#e91e63',\n lighten5: '#fce4ec',\n lighten4: '#f8bbd0',\n lighten3: '#f48fb1',\n lighten2: '#f06292',\n lighten1: '#ec407a',\n darken1: '#d81b60',\n darken2: '#c2185b',\n darken3: '#ad1457',\n darken4: '#880e4f',\n accent1: '#ff80ab',\n accent2: '#ff4081',\n accent3: '#f50057',\n accent4: '#c51162',\n})\n\nconst purple = Object.freeze({\n base: '#9c27b0',\n lighten5: '#f3e5f5',\n lighten4: '#e1bee7',\n lighten3: '#ce93d8',\n lighten2: '#ba68c8',\n lighten1: '#ab47bc',\n darken1: '#8e24aa',\n darken2: '#7b1fa2',\n darken3: '#6a1b9a',\n darken4: '#4a148c',\n accent1: '#ea80fc',\n accent2: '#e040fb',\n accent3: '#d500f9',\n accent4: '#aa00ff',\n})\n\nconst deepPurple = Object.freeze({\n base: '#673ab7',\n lighten5: '#ede7f6',\n lighten4: '#d1c4e9',\n lighten3: '#b39ddb',\n lighten2: '#9575cd',\n lighten1: '#7e57c2',\n darken1: '#5e35b1',\n darken2: '#512da8',\n darken3: '#4527a0',\n darken4: '#311b92',\n accent1: '#b388ff',\n accent2: '#7c4dff',\n accent3: '#651fff',\n accent4: '#6200ea',\n})\n\nconst indigo = Object.freeze({\n base: '#3f51b5',\n lighten5: '#e8eaf6',\n lighten4: '#c5cae9',\n lighten3: '#9fa8da',\n lighten2: '#7986cb',\n lighten1: '#5c6bc0',\n darken1: '#3949ab',\n darken2: '#303f9f',\n darken3: '#283593',\n darken4: '#1a237e',\n accent1: '#8c9eff',\n accent2: '#536dfe',\n accent3: '#3d5afe',\n accent4: '#304ffe',\n})\n\nconst blue = Object.freeze({\n base: '#2196f3',\n lighten5: '#e3f2fd',\n lighten4: '#bbdefb',\n lighten3: '#90caf9',\n lighten2: '#64b5f6',\n lighten1: '#42a5f5',\n darken1: '#1e88e5',\n darken2: '#1976d2',\n darken3: '#1565c0',\n darken4: '#0d47a1',\n accent1: '#82b1ff',\n accent2: '#448aff',\n accent3: '#2979ff',\n accent4: '#2962ff',\n})\n\nconst lightBlue = Object.freeze({\n base: '#03a9f4',\n lighten5: '#e1f5fe',\n lighten4: '#b3e5fc',\n lighten3: '#81d4fa',\n lighten2: '#4fc3f7',\n lighten1: '#29b6f6',\n darken1: '#039be5',\n darken2: '#0288d1',\n darken3: '#0277bd',\n darken4: '#01579b',\n accent1: '#80d8ff',\n accent2: '#40c4ff',\n accent3: '#00b0ff',\n accent4: '#0091ea',\n})\n\nconst cyan = Object.freeze({\n base: '#00bcd4',\n lighten5: '#e0f7fa',\n lighten4: '#b2ebf2',\n lighten3: '#80deea',\n lighten2: '#4dd0e1',\n lighten1: '#26c6da',\n darken1: '#00acc1',\n darken2: '#0097a7',\n darken3: '#00838f',\n darken4: '#006064',\n accent1: '#84ffff',\n accent2: '#18ffff',\n accent3: '#00e5ff',\n accent4: '#00b8d4',\n})\n\nconst teal = Object.freeze({\n base: '#009688',\n lighten5: '#e0f2f1',\n lighten4: '#b2dfdb',\n lighten3: '#80cbc4',\n lighten2: '#4db6ac',\n lighten1: '#26a69a',\n darken1: '#00897b',\n darken2: '#00796b',\n darken3: '#00695c',\n darken4: '#004d40',\n accent1: '#a7ffeb',\n accent2: '#64ffda',\n accent3: '#1de9b6',\n accent4: '#00bfa5',\n})\n\nconst green = Object.freeze({\n base: '#4caf50',\n lighten5: '#e8f5e9',\n lighten4: '#c8e6c9',\n lighten3: '#a5d6a7',\n lighten2: '#81c784',\n lighten1: '#66bb6a',\n darken1: '#43a047',\n darken2: '#388e3c',\n darken3: '#2e7d32',\n darken4: '#1b5e20',\n accent1: '#b9f6ca',\n accent2: '#69f0ae',\n accent3: '#00e676',\n accent4: '#00c853',\n})\n\nconst lightGreen = Object.freeze({\n base: '#8bc34a',\n lighten5: '#f1f8e9',\n lighten4: '#dcedc8',\n lighten3: '#c5e1a5',\n lighten2: '#aed581',\n lighten1: '#9ccc65',\n darken1: '#7cb342',\n darken2: '#689f38',\n darken3: '#558b2f',\n darken4: '#33691e',\n accent1: '#ccff90',\n accent2: '#b2ff59',\n accent3: '#76ff03',\n accent4: '#64dd17',\n})\n\nconst lime = Object.freeze({\n base: '#cddc39',\n lighten5: '#f9fbe7',\n lighten4: '#f0f4c3',\n lighten3: '#e6ee9c',\n lighten2: '#dce775',\n lighten1: '#d4e157',\n darken1: '#c0ca33',\n darken2: '#afb42b',\n darken3: '#9e9d24',\n darken4: '#827717',\n accent1: '#f4ff81',\n accent2: '#eeff41',\n accent3: '#c6ff00',\n accent4: '#aeea00',\n})\n\nconst yellow = Object.freeze({\n base: '#ffeb3b',\n lighten5: '#fffde7',\n lighten4: '#fff9c4',\n lighten3: '#fff59d',\n lighten2: '#fff176',\n lighten1: '#ffee58',\n darken1: '#fdd835',\n darken2: '#fbc02d',\n darken3: '#f9a825',\n darken4: '#f57f17',\n accent1: '#ffff8d',\n accent2: '#ffff00',\n accent3: '#ffea00',\n accent4: '#ffd600',\n})\n\nconst amber = Object.freeze({\n base: '#ffc107',\n lighten5: '#fff8e1',\n lighten4: '#ffecb3',\n lighten3: '#ffe082',\n lighten2: '#ffd54f',\n lighten1: '#ffca28',\n darken1: '#ffb300',\n darken2: '#ffa000',\n darken3: '#ff8f00',\n darken4: '#ff6f00',\n accent1: '#ffe57f',\n accent2: '#ffd740',\n accent3: '#ffc400',\n accent4: '#ffab00',\n})\n\nconst orange = Object.freeze({\n base: '#ff9800',\n lighten5: '#fff3e0',\n lighten4: '#ffe0b2',\n lighten3: '#ffcc80',\n lighten2: '#ffb74d',\n lighten1: '#ffa726',\n darken1: '#fb8c00',\n darken2: '#f57c00',\n darken3: '#ef6c00',\n darken4: '#e65100',\n accent1: '#ffd180',\n accent2: '#ffab40',\n accent3: '#ff9100',\n accent4: '#ff6d00',\n})\n\nconst deepOrange = Object.freeze({\n base: '#ff5722',\n lighten5: '#fbe9e7',\n lighten4: '#ffccbc',\n lighten3: '#ffab91',\n lighten2: '#ff8a65',\n lighten1: '#ff7043',\n darken1: '#f4511e',\n darken2: '#e64a19',\n darken3: '#d84315',\n darken4: '#bf360c',\n accent1: '#ff9e80',\n accent2: '#ff6e40',\n accent3: '#ff3d00',\n accent4: '#dd2c00',\n})\n\nconst brown = Object.freeze({\n base: '#795548',\n lighten5: '#efebe9',\n lighten4: '#d7ccc8',\n lighten3: '#bcaaa4',\n lighten2: '#a1887f',\n lighten1: '#8d6e63',\n darken1: '#6d4c41',\n darken2: '#5d4037',\n darken3: '#4e342e',\n darken4: '#3e2723',\n})\n\nconst blueGrey = Object.freeze({\n base: '#607d8b',\n lighten5: '#eceff1',\n lighten4: '#cfd8dc',\n lighten3: '#b0bec5',\n lighten2: '#90a4ae',\n lighten1: '#78909c',\n darken1: '#546e7a',\n darken2: '#455a64',\n darken3: '#37474f',\n darken4: '#263238',\n})\n\nconst grey = Object.freeze({\n base: '#9e9e9e',\n lighten5: '#fafafa',\n lighten4: '#f5f5f5',\n lighten3: '#eeeeee',\n lighten2: '#e0e0e0',\n lighten1: '#bdbdbd',\n darken1: '#757575',\n darken2: '#616161',\n darken3: '#424242',\n darken4: '#212121',\n})\n\nconst shades = Object.freeze({\n black: '#000000',\n white: '#ffffff',\n transparent: 'transparent',\n})\n\nexport default Object.freeze({\n red,\n pink,\n purple,\n deepPurple,\n indigo,\n blue,\n lightBlue,\n cyan,\n teal,\n green,\n lightGreen,\n lime,\n yellow,\n amber,\n orange,\n deepOrange,\n brown,\n blueGrey,\n grey,\n shades,\n})\n","// 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","// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport { VSheet } from '@/components/VSheet'\nimport { VColorPickerPreview } from './VColorPickerPreview'\nimport { VColorPickerCanvas } from './VColorPickerCanvas'\nimport { VColorPickerEdit } from './VColorPickerEdit'\nimport { VColorPickerSwatches } from './VColorPickerSwatches'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { onMounted, ref } from 'vue'\nimport { defineComponent, HSVAtoCSS } from '@/util'\nimport { extractColor, modes, nullColor, parseColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSVA } from '@/util'\n\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n\n inheritAttrs: false,\n\n props: {\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: 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 showSwatches: Boolean,\n swatches: Array as PropType<string[][]>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String] as PropType<Record<string, unknown> | string | undefined | null>,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (color: any) => true,\n 'update:mode': (mode: string) => true,\n },\n\n setup (props) {\n const mode = useProxiedModel(props, 'mode')\n const lastPickedColor = ref<HSVA | null>(null)\n const currentColor = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n let c = parseColor(v)\n\n if (!c) return null\n\n if (lastPickedColor.value) {\n c = { ...c, h: lastPickedColor.value.h }\n lastPickedColor.value = null\n }\n\n return c\n },\n v => {\n if (!v) return null\n\n return extractColor(v, props.modelValue)\n }\n )\n\n const updateColor = (hsva: HSVA) => {\n currentColor.value = hsva\n lastPickedColor.value = hsva\n }\n\n onMounted(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0]\n })\n\n return () => (\n <VSheet\n rounded={ props.rounded }\n elevation={ props.elevation }\n theme={ props.theme }\n class={[\n 'v-color-picker',\n ]}\n style={{\n '--v-color-picker-color-hsv': HSVAtoCSS({ ...(currentColor.value ?? nullColor), a: 1 }),\n }}\n maxWidth={ props.width }\n >\n { !props.hideCanvas && (\n <VColorPickerCanvas\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n dotSize={ props.dotSize }\n width={ props.width }\n height={ props.canvasHeight }\n />\n ) }\n { (!props.hideSliders || !props.hideInputs) && (\n <div class=\"v-color-picker__controls\">\n { !props.hideSliders && (\n <VColorPickerPreview\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n hideAlpha={ !mode.value.endsWith('a') }\n disabled={ props.disabled }\n />\n ) }\n { !props.hideInputs && (\n <VColorPickerEdit\n modes={ props.modes }\n mode={ mode.value }\n onUpdate:mode={ m => mode.value = m }\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n />\n ) }\n </div>\n ) }\n { props.showSwatches && (\n <VColorPickerSwatches\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n maxHeight={ props.swatchesMaxHeight }\n swatches={ props.swatches }\n disabled={ props.disabled }\n />\n ) }\n </VSheet>\n )\n },\n})\n\nexport type VColorPicker = InstanceType<typeof VColorPicker>\n","// Styles\nimport './VCombobox.sass'\n\n// Components\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\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 { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { transformItem, useItems } from '@/composables/items'\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utility\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { genericComponent, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { FilterMatch } from '@/composables/filter'\nimport type { DefaultChipSlot, InternalSelectItem } from '@/components/VSelect/VSelect'\nimport type { MakeSlots } from '@/util'\nimport type { PropType } from 'vue'\n\nexport interface InternalComboboxItem extends InternalSelectItem {\n selected: boolean\n}\n\nexport interface DefaultComboboxSlot {\n selection: InternalComboboxItem\n}\n\nfunction highlightResult (text: string, matches: FilterMatch, length: number) {\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-combobox__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-combobox__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-combobox__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\nexport const VCombobox = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n chip: [DefaultChipSlot]\n default: []\n selection: [DefaultComboboxSlot]\n }>\n}>()({\n name: 'VCombobox',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n delimiters: Array as PropType<string[]>,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps({ hideNoData: true }),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'update:searchInput': (val: string) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const activator = ref()\n const isFocused = ref(false)\n const isPristine = ref(true)\n const menu = ref(false)\n const selectionIndex = ref(-1)\n const color = computed(() => vTextFieldRef.value?.color)\n const { items } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v || []),\n (v: any) => props.multiple ? v : v[0]\n )\n const _search = ref('')\n const search = computed<string>({\n get: () => props.multiple ? _search.value : transformItem(props, model.value[0]).value,\n set: val => {\n if (props.multiple) {\n _search.value = val\n } else {\n model.value = [val]\n }\n\n if (val && props.multiple && props.delimiters?.length) {\n const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`))\n if (values.length > 1) {\n values.forEach(v => {\n v = v.trim()\n if (v) select({ value: v })\n })\n _search.value = ''\n }\n }\n\n if (!val) selectionIndex.value = -1\n if (isFocused.value) menu.value = true\n\n isPristine.value = !val\n },\n })\n watch(_search, value => {\n emit('update:searchInput', value)\n })\n\n const { filteredItems } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\n\n const selections = computed(() => {\n const array: InternalComboboxItem[] = []\n let index = 0\n for (const unwrapped of model.value) {\n const item = transformItem(props, unwrapped)\n\n const found = array.find(selection => selection.value === item.value)\n\n if (found == null) {\n array.push({\n ...item,\n index,\n selected: index === selectionIndex.value,\n })\n\n index++\n }\n }\n\n return array\n })\n const selected = computed(() => selections.value.map(selection => selection.value))\n const selection = computed(() => selections.value[selectionIndex.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 && !filteredItems.value.length) return\n\n menu.value = true\n }\n function onKeydown (e: KeyboardEvent) {\n const selectionStart = vTextFieldRef.value.selectionStart\n const length = selected.value.length\n\n if (selectionIndex.value > -1) e.preventDefault()\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n isPristine.value = true\n }\n\n if (!props.multiple) return\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (selectionIndex.value < 0) {\n if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n select(selection.value)\n\n nextTick(() => !selection.value && (selectionIndex.value = length - 2))\n }\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (selections.value[prev]) {\n selectionIndex.value = prev\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length)\n }\n }\n\n if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (selections.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value.setSelectionRange(0, 0)\n }\n }\n\n if (e.key === 'Enter') {\n select({ value: search.value })\n search.value = ''\n }\n }\n function onInput (e: InputEvent) {\n search.value = (e.target as HTMLInputElement).value\n }\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\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\n search.value = ''\n } else {\n search.value = item.title\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n watch(() => vTextFieldRef.value, val => {\n activator.value = val.$el.querySelector('.v-input__control')\n })\n\n watch(filteredItems, val => {\n if (!val.length && props.hideNoData) menu.value = false\n })\n\n watch(isFocused, val => {\n if (val) {\n selectionIndex.value = -1\n } else {\n menu.value = false\n\n if (!props.multiple || !search.value) return\n\n model.value = [...model.value, search.value]\n search.value = ''\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n modelValue={ search.value }\n onInput={ onInput }\n class={[\n 'v-combobox',\n {\n 'v-combobox--active-menu': menu.value,\n 'v-combobox--chips': !!props.chips,\n 'v-combobox--selecting-index': selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true,\n },\n ]}\n appendInnerIcon={ props.items.length ? props.menuIcon : undefined }\n dirty={ selected.value.length > 0 }\n onClick:clear={ onClear }\n onClick:control={ onClickControl }\n onClick:input={ onClickControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\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-combobox__content\"\n eager={ props.eager }\n openOnClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n >\n <VList\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n >\n { !filteredItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { filteredItems.value.map(({ item, matches }) => (\n <VListItem\n value={ item.value }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onClick={ () => select(item) }\n >\n {{\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, matches.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\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\n class={[\n 'v-combobox__selection',\n selection.selected && [\n 'v-combobox__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ selection.selected ? textColorStyles.value : {} }\n >\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-combobox__selection-text\">\n { selection.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-combobox__selection-comma\">,</span>\n ) }\n </span>\n )\n ) }\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return useForwardRef({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VCombobox = InstanceType<typeof VCombobox>\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { nextTick, ref, watch } from 'vue'\nimport { genericComponent, IN_BROWSER } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VDialog = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VDialog',\n\n inheritAttrs: false,\n\n props: {\n fullscreen: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n modelValue: Boolean,\n\n ...makeDimensionProps({ width: 'auto' }),\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { dimensionStyles } = useDimension(props)\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost dialog\n overlay.value?.isTop &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = [...overlay.value.contentEl.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n watch(isActive, async val => {\n await nextTick()\n if (val) {\n overlay.value!.contentEl?.focus({ preventScroll: true })\n } else {\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n 'v-dialog--scrollable': props.scrollable,\n },\n ]}\n style={ dimensionStyles.value }\n transition={ props.transition }\n ref={ overlay }\n aria-role=\"dialog\"\n aria-modal=\"true\"\n activatorProps={{\n 'aria-haspopup': 'dialog',\n 'aria-expanded': String(isActive.value),\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n","// Styles\nimport './VExpansionPanel.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VExpansionPanelSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-expansion-panel')\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\n\ntype Variant = typeof allowedVariants[number]\n\nexport const VExpansionPanels = defineComponent({\n name: 'VExpansionPanels',\n\n props: {\n color: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n readonly: Boolean,\n\n ...makeGroupProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n useGroup(props, VExpansionPanelSymbol)\n\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n provideDefaults({\n VExpansionPanel: {\n color: toRef(props, 'color'),\n },\n VExpansionPanelTitle: {\n readonly: toRef(props, 'readonly'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n themeClasses.value,\n variantClass.value,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n readonly: Boolean,\n})\n\nexport const VExpansionPanelTitle = defineComponent({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: {\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <div class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <div class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </div>\n ) }\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { inject } from 'vue'\n\nexport const VExpansionPanelText = defineComponent({\n name: 'VExpansionPanelText',\n\n props: {\n ...makeLazyProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel')\n\n const { hasContent, onAfterLeave } = useLazy(props, expansionPanel.isSelected)\n\n useRender(() => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n class=\"v-expansion-panel-text\"\n v-show={ expansionPanel.isSelected.value }\n >\n { slots.default && hasContent.value && (\n <div class=\"v-expansion-panel-text__wrapper\">\n { slots.default?.() }\n </div>\n ) }\n </div>\n </VExpandTransition>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelText = InstanceType<typeof VExpansionPanelText>\n","// Components\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\nimport { VExpansionPanelText } from './VExpansionPanelText'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeLazyProps } from '@/composables/lazy'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VExpansionPanel = defineComponent({\n name: 'VExpansionPanel',\n\n props: {\n title: String,\n text: String,\n bgColor: String,\n\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLazyProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const isDisabled = computed(() => groupItem?.disabled.value || props.disabled)\n\n const selectedIndices = computed(() => groupItem.group.items.value.reduce<number[]>((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index)\n return arr\n }, []))\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === -1)\n })\n\n provide(VExpansionPanelSymbol, groupItem)\n\n useRender(() => {\n const hasText = !!(slots.text || props.text)\n const hasTitle = !!(slots.title || props.title)\n\n return (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': isDisabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n aria-expanded={ groupItem.isSelected.value }\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n { hasTitle && (\n <VExpansionPanelTitle\n collapseIcon={ props.collapseIcon }\n color={ props.color }\n expandIcon={ props.expandIcon }\n hideActions={ props.hideActions }\n ripple={ props.ripple }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n ) }\n\n { hasText && (\n <VExpansionPanelText eager={ props.eager }>\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n ) }\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n","// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, humanReadableFileSize, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\nexport const VFileInput = defineComponent({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: {\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n multiple: Boolean,\n hint: String,\n persistentHint: Boolean,\n placeholder: String,\n showSize: {\n type: [Boolean, Number] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n },\n\n ...makeVInputProps(),\n\n prependIcon: {\n type: String,\n default: '$file',\n },\n modelValue: {\n type: Array as PropType<File[]>,\n default: () => ([]),\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(props, 'modelValue')\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, { size = 0 }) => bytes + size, 0))\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value))\n\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const { name = '', size = 0 } = file\n\n return !props.showSize\n ? name\n : `${name} (${humanReadableFileSize(size, base.value)})`\n }))\n\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value)\n else return t(props.counterString, fileCount)\n })\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (props.persistentHint) ? props.hint : ''\n })\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) {\n isFocused.value = true\n }\n }\n function onControlClick (e: MouseEvent) {\n inputRef.value?.click()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = []\n\n if (inputRef?.value) {\n inputRef.value.value = ''\n }\n\n emit('click:clear', e)\n })\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class=\"v-file-input\"\n { ...rootAttrs }\n { ...inputProps }\n onClick:prepend={ onControlClick }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n prepend-icon={ props.prependIcon }\n onClick:control={ onControlClick }\n onClick:clear={ onClear }\n { ...fieldProps }\n active={ isDirty.value || isFocused.value }\n dirty={ isDirty.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n multiple={ props.multiple }\n name={ props.name }\n onClick={ e => {\n e.stopPropagation()\n\n onFocus()\n } }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n } }\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { model.value.length > 0 && (\n <div class={ fieldClass }>\n { slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value,\n })\n : props.chips ? fileNames.value.map(text => (\n <VChip\n key={ text }\n size=\"small\"\n color={ props.color }\n >{ text }</VChip>\n ))\n : fileNames.value.join(', ') }\n </div>\n ) }\n </>\n ),\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n active={ !!model.value.length }\n value={ counterValue.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n","// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VFooter = defineComponent({\n name: 'VFooter',\n\n props: {\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\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 { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = ref(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: computed(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: computed(() => props.app),\n absolute: toRef(props, 'absolute'),\n })\n\n return () => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles,\n props.app ? layoutItemStyles.value : undefined,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Composables\nimport { createForm, makeFormProps } from '@/composables/form'\n\n// Utilities\nimport { ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\nimport { useForwardRef } from '@/composables/forwardRef'\n\n// Types\nimport type { SubmitEventPromise } from '@/composables/form'\n\nexport const VForm = defineComponent({\n name: 'VForm',\n\n props: {\n ...makeFormProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: SubmitEventPromise) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref<HTMLFormElement>()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (_e: Event) {\n const e = _e as SubmitEventPromise\n\n const ready = form.validate()\n e.then = ready.then.bind(ready)\n e.catch = ready.catch.bind(ready)\n e.finally = ready.finally.bind(ready)\n\n emit('submit', e)\n\n if (!e.defaultPrevented) {\n ready.then(({ valid }) => {\n if (valid) {\n formRef.value?.submit()\n }\n })\n }\n\n e.preventDefault()\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class=\"v-form\"\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.(form) }\n </form>\n )))\n\n return useForwardRef(form, formRef)\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VContainer = defineComponent({\n name: 'VContainer',\n\n props: {\n fluid: {\n type: Boolean,\n default: false,\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <props.tag\n class={[\n 'v-container',\n { 'v-container--fluid': props.fluid },\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Record<string, Prop<boolean | string | number, false>>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className: string = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n if (type === 'col') {\n className = 'v-' + className\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .v-col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VCol = defineComponent({\n name: 'VCol',\n\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('v-col-'))\n\n classList.push({\n // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.\n 'v-col': !hasColClasses || !props.cols,\n [`v-col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: classes.value,\n }, slots.default?.())\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst ALIGNMENT = ['start', 'end', 'center'] as const\n\nfunction makeRowProps (prefix: string, def: () => Prop<string, null>) {\n return breakpoints.reduce((props, val) => {\n props[prefix + capitalize(val)] = def()\n return props\n }, {} as Record<string, Prop<string, null>>)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeRowProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeRowProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeRowProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VRow = defineComponent({\n name: 'VRow',\n\n props: {\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'v-row--no-gutters': props.noGutters,\n 'v-row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: ['v-row', classes.value],\n }, slots.default?.())\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VSpacer = createSimpleFunctional('flex-grow-1', 'div', 'VSpacer')\n","// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VHover = defineComponent({\n name: 'VHover',\n\n props: {\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isHovering = useProxiedModel(props, 'modelValue')\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => !props.disabled && (isHovering.value = value))\n\n return () => slots.default?.({\n isHovering: isHovering.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay,\n },\n })\n },\n})\n","// Styles\nimport './VItemGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VItemGroupSymbol = Symbol.for('vuetify:v-item-group')\n\nexport const VItemGroup = defineComponent({\n name: 'VItemGroup',\n\n props: {\n ...makeGroupProps({\n selectedClass: 'v-item--selected',\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VItemGroupSymbol)\n\n return () => (\n <props.tag\n class={[\n 'v-item-group',\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n }) }\n </props.tag>\n )\n },\n})\n\nexport type VItemGroup = InstanceType<typeof VItemGroup>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VItemGroupSymbol } from './VItemGroup'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VItem = genericComponent<new () => {\n $slots: MakeSlots<{\n default: [GroupItemProvide]\n }>\n}>()({\n name: 'VItem',\n\n props: makeGroupItemProps(),\n\n setup (props, { slots }) {\n const { isSelected, select, toggle, selectedClass, value, disabled } = useGroupItem(props, VItemGroupSymbol)\n return () => slots.default?.({\n isSelected: isSelected.value,\n selectedClass: selectedClass.value,\n select,\n toggle,\n value: value.value,\n disabled: disabled.value,\n })\n },\n})\n\nexport type VItem = InstanceType<typeof VItem>\n","import './VKbd.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VKbd = createSimpleFunctional('v-kbd')\n","// Styles\nimport './VLayout.sass'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Composables\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\nexport const VLayout = defineComponent({\n name: 'VLayout',\n\n props: makeLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, layoutStyles, getLayoutItem, items, layoutRef } = createLayout(props)\n\n useRender(() => (\n <div ref={ layoutRef } class={ layoutClasses.value } style={ layoutStyles.value }>\n { slots.default?.() }\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n }\n },\n})\n\nexport type VLayout = InstanceType<typeof VLayout>\n","// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VLayoutItem = defineComponent({\n name: 'VLayoutItem',\n\n props: {\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n ...makeLayoutItemProps(),\n },\n\n setup (props, { slots }) {\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: toRef(props, 'position'),\n elementSize: toRef(props, 'size'),\n layoutSize: toRef(props, 'size'),\n active: toRef(props, 'modelValue'),\n absolute: toRef(props, 'absolute'),\n })\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n ]}\n style={ layoutItemStyles.value }\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport type { PropType } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VLazy = defineComponent({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n modelValue: Boolean,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const isActive = useProxiedModel(props, 'modelValue')\n\n function onIntersect (isIntersecting: boolean) {\n if (isActive.value) return\n\n isActive.value = isIntersecting\n }\n\n return () => (\n <props.tag\n class=\"v-lazy\"\n v-intersect={[\n onIntersect,\n props.options,\n isActive.value ? [] : ['once'],\n ]}\n style={ dimensionStyles.value }\n >\n { isActive.value && (\n <MaybeTransition transition={ props.transition }>\n { slots.default?.() }\n </MaybeTransition>\n )}\n </props.tag>\n )\n },\n})\n","import './VLocaleProvider.sass'\n\n// Composables\nimport { provideLocale } from '@/composables/locale'\nimport { provideRtl } from '@/composables/rtl'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLocaleProvider = defineComponent({\n name: 'VLocaleProvider',\n\n props: {\n locale: String,\n fallbackLocale: String,\n messages: Object,\n rtl: {\n type: Boolean,\n default: undefined,\n },\n },\n\n setup (props, { slots }) {\n const localeInstance = provideLocale(props)\n const { rtlClasses } = provideRtl(props, localeInstance)\n\n return () => (\n <div\n class={[\n 'v-locale-provider',\n rtlClasses.value,\n ]}\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Utilities\nimport { computed, onMounted, ref } from 'vue'\n\n// Composables\nexport function useSsrBoot () {\n const isBooted = ref(false)\n\n onMounted(() => {\n window.requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n\n const ssrBootStyles = computed(() => !isBooted.value ? ({\n transition: 'none !important',\n }) : undefined)\n\n return { ssrBootStyles }\n}\n","// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VMain = defineComponent({\n name: 'VMain',\n\n props: makeTagProps({ tag: 'main' }),\n\n setup (props, { slots }) {\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n return () => (\n <props.tag\n class=\"v-main\"\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n ]}\n >\n <div class=\"v-main__wrap\">\n { slots.default?.() }\n </div>\n </props.tag>\n )\n },\n})\n","import { CircularBuffer } from '@/util'\n\nconst HORIZON = 100 // ms\nconst HISTORY = 20 // number of samples to keep\n\nexport interface Sample {\n t: number\n d: number\n}\n\n/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */\nfunction kineticEnergyToVelocity (work: number) {\n const sqrt2 = 1.41421356237\n return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2\n}\n\n/**\n * Returns pointer velocity in px/s\n */\nexport function calculateImpulseVelocity (samples: Sample[]) {\n // The input should be in reversed time order (most recent sample at index i=0)\n if (samples.length < 2) {\n // if 0 or 1 points, velocity is zero\n return 0\n }\n // if (samples[1].t > samples[0].t) {\n // // Algorithm will still work, but not perfectly\n // consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')\n // }\n if (samples.length === 2) {\n // if 2 points, basic linear calculation\n if (samples[1].t === samples[0].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)\n return 0\n }\n return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t)\n }\n // Guaranteed to have at least 3 points here\n // start with the oldest sample and go forward in time\n let work = 0\n for (let i = samples.length - 1; i > 0; i--) {\n if (samples[i].t === samples[i - 1].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)\n continue\n }\n const vprev = kineticEnergyToVelocity(work) // v[i-1]\n const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t) // v[i]\n work += (vcurr - vprev) * Math.abs(vcurr)\n if (i === samples.length - 1) {\n work *= 0.5\n }\n }\n return kineticEnergyToVelocity(work) * 1000\n}\n\nexport function useVelocity () {\n const touches: Record<number, CircularBuffer<[number, Touch]> | undefined> = {}\n\n function addMovement (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY))\n samples.push([e.timeStamp, touch])\n })\n }\n\n function endTouch (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n delete touches[touch.identifier]\n })\n }\n\n function getVelocity (id: number) {\n const samples = touches[id]?.values().reverse()\n\n if (!samples) {\n throw new Error(`No samples for touch id ${id}`)\n }\n\n const newest = samples[0]\n const x: Sample[] = []\n const y: Sample[] = []\n for (const val of samples) {\n if (newest[0] - val[0] > HORIZON) break\n\n x.push({ t: val[0], d: val[1].clientX })\n y.push({ t: val[0], d: val[1].clientY })\n }\n\n return {\n x: calculateImpulseVelocity(x),\n y: calculateImpulseVelocity(y),\n get direction () {\n const { x, y } = this\n const [absX, absY] = [Math.abs(x), Math.abs(y)]\n\n return absX > absY && x >= 0 ? 'right'\n : absX > absY && x <= 0 ? 'left'\n : absY > absX && y >= 0 ? 'down'\n : absY > absX && y <= 0 ? 'up'\n : oops()\n },\n }\n }\n\n return { addMovement, endTouch, getVelocity }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","import { useVelocity } from '@/composables/touch'\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useTouch ({ isActive, isTemporary, width, touchless, position }: {\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => position.value !== 'bottom')\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = ref(false)\n const dragProgress = ref(0)\n const offset = ref(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n maybeDragging = true\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRouter } from '@/composables/router'\nimport { useTouch } from './touch'\n\n// Utilities\nimport { computed, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VNavigationDrawer = defineComponent({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n permanent: Boolean,\n rail: Boolean,\n railWidth: {\n type: [Number, String],\n default: 72,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n position: {\n type: String as PropType<'left' | 'right' | 'bottom'>,\n default: 'left',\n validator: (value: any) => ['left', 'right', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v)\n const isHovering = ref(false)\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (isActive.value = !val))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const rootEl = ref<HTMLElement>()\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: toRef(props, 'position'),\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n const { layoutItemStyles, layoutRect, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: toRef(props, 'position'),\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: toRef(props, 'absolute'),\n })\n\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutRect.value ? {\n left: convertToUnit(layoutRect.value.left),\n right: convertToUnit(layoutRect.value.right),\n top: convertToUnit(layoutRect.value.top),\n bottom: convertToUnit(layoutRect.value.bottom),\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n return () => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ () => (isHovering.value = true) }\n onMouseleave={ () => (isHovering.value = false) }\n class={[\n 'v-navigation-drawer',\n {\n 'v-navigation-drawer--bottom': props.position === 'bottom',\n 'v-navigation-drawer--end': props.position === 'right',\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--start': props.position === 'left',\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && (\n <div\n class=\"v-navigation-drawer__scrim\"\n style={ scrimStyles.value }\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER } from '@/util'\nimport { onMounted } from 'vue'\n\nexport function useHydration (callback: () => void) {\n if (!IN_BROWSER) return\n\n const vm = getCurrentInstance('useHydration')\n const rootEl = vm?.root?.appContext?.app?._container\n\n return rootEl?.__vue_app__ ? callback() : onMounted(callback)\n}\n","// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { ref } from 'vue'\n\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = ref(false)\n\n useHydration(() => (show.value = true))\n\n return () => show.value && slots.default?.()\n },\n\n})\n","// Imports\nimport { onBeforeUpdate, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useRefs <T extends {}> () {\n const refs = ref<(T | undefined)[]>([]) as Ref<(T | undefined)[]>\n\n onBeforeUpdate(() => (refs.value = []))\n\n function updateRef (e: any, i: number) {\n refs.value[i] = e\n }\n\n return { refs, updateRef }\n}\n","import './VPagination.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeBorderProps } from '@/composables/border'\nimport { useRefs } from '@/composables/refs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, nextTick, ref, toRef } from 'vue'\nimport { createRange, defineComponent, keyValues } from '@/util'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\nimport { makeRoundedProps } from '@/composables/rounded'\n\nexport const VPagination = defineComponent({\n name: 'VPagination',\n\n props: {\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n firstIcon: {\n type: String,\n default: '$first',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n ariaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.root',\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n firstAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.first',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n lastAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.last',\n },\n ellipsis: {\n type: String,\n default: '...',\n },\n showFirstLastPage: Boolean,\n\n ...makeRoundedProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n first: (value: number) => true,\n prev: (value: number) => true,\n next: (value: number) => true,\n last: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const page = useProxiedModel(props, 'modelValue')\n const { t, n } = useLocale()\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const maxButtons = ref(-1)\n\n provideDefaults(undefined, { scoped: true })\n\n const { resizeRef } = useResizeObserver((entries: ResizeObserverEntry[]) => {\n if (!entries.length) return\n\n const { target, contentRect } = entries[0]\n\n const firstItem = target.querySelector('.v-pagination__list > *')\n\n if (!firstItem) return\n\n const totalWidth = contentRect.width\n const itemWidth = firstItem.getBoundingClientRect().width + 10\n\n maxButtons.value = Math.max(0, Math.floor((totalWidth - 96) / itemWidth))\n })\n\n const length = computed(() => parseInt(props.length, 10))\n const start = computed(() => parseInt(props.start, 10))\n\n const totalVisible = computed(() => {\n if (props.totalVisible) return Math.min(parseInt(props.totalVisible ?? '', 10), length.value)\n else if (maxButtons.value >= 0) return maxButtons.value\n return length.value\n })\n\n const range = computed(() => {\n if (length.value <= 0) return []\n\n if (totalVisible.value <= 2) return [page.value]\n\n if (length.value <= totalVisible.value) {\n return createRange(length.value, start.value)\n }\n\n const even = totalVisible.value % 2 === 0\n const middle = even ? totalVisible.value / 2 : Math.floor(totalVisible.value / 2)\n const left = even ? middle : middle + 1\n const right = length.value - middle\n\n if (left - page.value >= 0) {\n return [...createRange(Math.max(1, totalVisible.value - 1), start.value), props.ellipsis, length.value]\n } else if (page.value - right >= 0) {\n const rangeLength = totalVisible.value - 1\n const rangeStart = length.value - rangeLength + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)]\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 3)\n const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value]\n }\n })\n\n // TODO: 'first' | 'prev' | 'next' | 'last' does not work here?\n function setValue (e: Event, value: number, event?: any) {\n e.preventDefault()\n page.value = value\n event && emit(event, value)\n }\n\n const { refs, updateRef } = useRefs<ComponentPublicInstance>()\n\n provideDefaults({\n VBtn: {\n border: toRef(props, 'border'),\n density: toRef(props, 'density'),\n size: toRef(props, 'size'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const items = computed(() => {\n return range.value.map((item, index) => {\n const ref = (e: any) => updateRef(e, index)\n\n if (typeof item === 'string') {\n return {\n isActive: false,\n page: item,\n props: {\n ref,\n ellipsis: true,\n icon: true,\n disabled: true,\n },\n }\n } else {\n const isActive = item === page.value\n return {\n isActive,\n page: n(item),\n props: {\n ref,\n ellipsis: false,\n icon: true,\n disabled: !!props.disabled || props.length < 2,\n elevation: props.elevation,\n rounded: props.rounded,\n color: isActive ? props.color : undefined,\n ariaCurrent: isActive,\n ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),\n onClick: (e: Event) => setValue(e, item),\n },\n }\n }\n })\n })\n\n const controls = computed(() => {\n const prevDisabled = !!props.disabled || page.value <= start.value\n const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1\n\n return {\n first: props.showFirstLastPage ? {\n icon: isRtl.value ? props.lastIcon : props.firstIcon,\n onClick: (e: Event) => setValue(e, start.value, 'first'),\n disabled: prevDisabled,\n ariaLabel: t(props.firstAriaLabel),\n ariaDisabled: prevDisabled,\n } : undefined,\n prev: {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n onClick: (e: Event) => setValue(e, page.value - 1, 'prev'),\n disabled: prevDisabled,\n ariaLabel: t(props.previousAriaLabel),\n ariaDisabled: prevDisabled,\n },\n next: {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n onClick: (e: Event) => setValue(e, page.value + 1, 'next'),\n disabled: nextDisabled,\n ariaLabel: t(props.nextAriaLabel),\n ariaDisabled: nextDisabled,\n },\n last: props.showFirstLastPage ? {\n icon: isRtl.value ? props.firstIcon : props.lastIcon,\n onClick: (e: Event) => setValue(e, start.value + length.value - 1, 'last'),\n disabled: nextDisabled,\n ariaLabel: t(props.lastAriaLabel),\n ariaDisabled: nextDisabled,\n } : undefined,\n }\n })\n\n function updateFocus () {\n const currentIndex = page.value - start.value\n refs.value[currentIndex]?.$el.focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === keyValues.left && !props.disabled && page.value > props.start) {\n page.value = page.value - 1\n nextTick(updateFocus)\n } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {\n page.value = page.value + 1\n nextTick(updateFocus)\n }\n }\n\n return () => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-pagination',\n themeClasses.value,\n ]}\n role=\"navigation\"\n aria-label={ t(props.ariaLabel) }\n onKeydown={ onKeydown }\n data-test=\"v-pagination-root\"\n >\n <ul class=\"v-pagination__list\">\n { props.showFirstLastPage && (\n <li class=\"v-pagination__first\" data-test=\"v-pagination-first\">\n { slots.first ? slots.first(controls.value.first) : (\n <VBtn {...controls.value.first} />\n ) }\n </li>\n ) }\n\n <li class=\"v-pagination__prev\" data-test=\"v-pagination-prev\">\n { slots.prev ? slots.prev(controls.value.prev) : (\n <VBtn {...controls.value.prev} />\n ) }\n </li>\n\n { items.value.map((item, index) => (\n <li\n key={ `${index}_${item.page}` }\n class={[\n 'v-pagination__item',\n {\n 'v-pagination__item--is-active': item.isActive,\n },\n ]}\n data-test=\"v-pagination-item\"\n >\n { slots.item ? slots.item(item) : (\n <VBtn {...item.props}>{ item.page }</VBtn>\n ) }\n </li>\n )) }\n\n <li class=\"v-pagination__next\" data-test=\"v-pagination-next\">\n { slots.next ? slots.next(controls.value.next) : (\n <VBtn {...controls.value.next} />\n ) }\n </li>\n\n { props.showFirstLastPage && (\n <li class=\"v-pagination__last\" data-test=\"v-pagination-last\">\n { slots.last ? slots.last(controls.value.last) : (\n <VBtn {...controls.value.last} />\n ) }\n </li>\n ) }\n </ul>\n </props.tag>\n )\n },\n})\n\nexport type VPagination = InstanceType<typeof VPagination>\n","// Styles\nimport './VParallax.sass'\n\n// Components\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\n\n// Utilities\nimport { onBeforeUnmount, ref, watch, watchEffect } from 'vue'\nimport { defineComponent, getScrollParent } from '@/util'\n\nfunction floor (val: number) {\n return Math.floor(Math.abs(val)) * Math.sign(val)\n}\n\nexport const VParallax = defineComponent({\n name: 'VParallax',\n\n props: {\n scale: {\n type: [Number, String],\n default: 1.3,\n },\n },\n\n setup (props, { attrs, slots }) {\n const root = ref<VImg>()\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n watchEffect(() => {\n intersectionRef.value = root.value?.$el\n })\n\n let scrollParent: Element\n watch(isIntersecting, val => {\n if (val) {\n scrollParent = getScrollParent(intersectionRef.value)\n scrollParent = scrollParent === document.scrollingElement ? document as any : scrollParent\n scrollParent.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n } else {\n scrollParent.removeEventListener('scroll', onScroll)\n }\n })\n\n onBeforeUnmount(() => {\n scrollParent?.removeEventListener('scroll', onScroll)\n })\n\n let frame = -1\n function onScroll () {\n if (!isIntersecting.value) return\n\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n const el: HTMLElement | null = (root.value?.$el as Element).querySelector('.v-img__img')\n if (!el) return\n\n const rect = intersectionRef.value!.getBoundingClientRect()\n const scrollHeight = scrollParent.clientHeight ?? window.innerHeight\n const scrollPos = scrollParent.scrollTop ?? window.scrollY\n const top = rect.top + scrollPos\n const progress = (scrollPos + scrollHeight - top) / (rect.height + scrollHeight)\n const translate = floor((rect.height * +props.scale - rect.height) * (-progress + 0.5))\n\n el.style.setProperty('transform', `translateY(${translate}px) scale(${props.scale})`)\n })\n }\n\n return () => (\n <VImg\n class={[\n 'v-parallax',\n { 'v-parallax--active': isIntersecting.value },\n ]}\n ref={ root }\n cover\n onLoadstart={ onScroll }\n onLoad={ onScroll }\n v-slots={ slots }\n />\n )\n },\n})\n\nexport type VParallax = InstanceType<typeof VParallax>\n","// Styles\nimport './VProgressCircular.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useTextColor } from '@/composables/color'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, ref, toRef, watchEffect } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VProgressCircular = defineComponent({\n name: 'VProgressCircular',\n\n props: {\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String] as PropType<boolean | 'disable-shrink'>,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n rotate: {\n type: [Number, String],\n default: 0,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'div' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const MAGIC_RADIUS_CONSTANT = 20\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT\n\n const root = ref<HTMLElement>()\n\n const { themeClasses } = provideTheme(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { textColorClasses: underlayColorClasses, textColorStyles: underlayColorStyles } = useTextColor(toRef(props, 'bgColor'))\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n const { resizeRef, contentRect } = useResizeObserver()\n\n const normalizedValue = computed(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))))\n const width = computed(() => Number(props.width))\n const size = computed(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value\n ? Number(props.size)\n : contentRect.value\n ? contentRect.value.width\n : Math.max(width.value, 32)\n })\n const diameter = computed(() => (MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value)) * 2)\n const strokeWidth = computed(() => width.value / size.value * diameter.value)\n const strokeDashOffset = computed(() => convertToUnit(((100 - normalizedValue.value) / 100) * CIRCUMFERENCE))\n\n watchEffect(() => {\n intersectionRef.value = root.value\n resizeRef.value = root.value\n })\n\n return () => (\n <props.tag\n ref={ root }\n class={[\n 'v-progress-circular',\n {\n 'v-progress-circular--indeterminate': !!props.indeterminate,\n 'v-progress-circular--visible': isIntersecting.value,\n 'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink',\n },\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n ]}\n style={[\n sizeStyles.value,\n textColorStyles.value,\n ]}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n >\n <svg\n style={{\n transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`,\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={ `0 0 ${diameter.value} ${diameter.value}` }\n >\n <circle\n class={[\n 'v-progress-circular__underlay',\n underlayColorClasses.value,\n ]}\n style={ underlayColorStyles.value }\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ 0 }\n />\n\n <circle\n class=\"v-progress-circular__overlay\"\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ strokeDashOffset.value }\n />\n </svg>\n { slots.default && (\n <div class=\"v-progress-circular__content\">\n { slots.default({ value: normalizedValue.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VSelectionControl } from '@/components/VSelectionControl'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\n\nexport const VRadio = defineComponent({\n name: 'VRadio',\n\n props: {\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <VSelectionControl\n class=\"v-radio\"\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type=\"radio\"\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VRadio = InstanceType<typeof VRadio>\n","// Styles\nimport './VRadioGroup.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroup } from '@/components/VSelectionControlGroup'\nimport { filterControlProps, makeSelectionControlProps } from '@/components/VSelectionControl/VSelectionControl'\n\n// Utility\nimport { computed } from 'vue'\nimport { defineComponent, filterInputAttrs, getUid, useRender } from '@/util'\n\nexport const VRadioGroup = defineComponent({\n name: 'VRadioGroup',\n\n inheritAttrs: false,\n\n props: {\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n type: {\n type: String,\n default: 'radio',\n },\n },\n\n setup (props, { attrs, slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `radio-group-${uid}`)\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <VInput\n class=\"v-radio-group\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n }) => (\n <>\n { label && (\n <VLabel for={ id.value }>\n { label }\n </VLabel>\n ) }\n\n <VSelectionControlGroup\n { ...controlProps }\n id={ id.value }\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type={ props.type }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-slots={ slots }\n />\n </>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n","// Styles\nimport '../VSlider/VSlider.sass'\n\n// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from '../VSlider/VSliderThumb'\nimport { VSliderTrack } from '../VSlider/VSliderTrack'\n\n// Composables\nimport { getOffset, makeSliderProps, useSlider } from '../VSlider/slider'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VRangeSlider = defineComponent({\n name: 'VRangeSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n strict: Boolean,\n modelValue: {\n type: Array as PropType<number[]>,\n default: () => ([0, 0]),\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (value: [number, number]) => true,\n },\n\n setup (props, { slots, attrs }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const inputRef = ref<VInput>()\n\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value.$el : stopThumbRef.value.$el\n }\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n activeThumbRef,\n } = useSlider({\n /* eslint-disable @typescript-eslint/no-use-before-define */\n props,\n handleSliderMouseUp: newValue => {\n model.value = activeThumbRef.value === startThumbRef.value?.$el ? [newValue, model.value[1]] : [model.value[0], newValue]\n },\n handleMouseMove: newValue => {\n const [start, stop] = model.value\n\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = newValue > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el\n activeThumbRef.value?.focus()\n }\n\n if (activeThumbRef.value === startThumbRef.value?.$el) {\n model.value = [Math.min(newValue, stop), stop]\n } else {\n model.value = [start, Math.max(start, newValue)]\n }\n },\n getActiveThumb,\n /* eslint-enable @typescript-eslint/no-use-before-define */\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n if (!arr || !arr.length) return [0, 0]\n\n return arr.map(value => roundValue(value))\n },\n ) as WritableComputedRef<[number, number]>\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n focused={ isFocused && activeThumbRef.value === startThumbRef.value?.$el }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = startThumbRef.value?.$el\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.blur()\n stopThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n } }\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n focused={ isFocused && activeThumbRef.value === stopThumbRef.value?.$el }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = stopThumbRef.value?.$el\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n stopThumbRef.value?.$el.blur()\n startThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n } }\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n","// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { createRange, genericComponent, getUid } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { Variant } from '@/composables/variant'\n\ntype VRatingItemSlot = {\n value: number\n index: number\n isFilled: boolean\n isHovered: boolean\n icon: string\n color?: string\n props: Record<string, unknown>\n}\n\ntype VRatingItemLabelSlot = {\n value: number\n index: number\n label?: string\n}\n\nexport const VRating = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n item: [VRatingItemSlot]\n 'item-label': [VRatingItemLabelSlot]\n }>\n}>()({\n name: 'VRating',\n\n props: {\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item',\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n modelValue: {\n type: Number,\n default: 0,\n },\n itemLabels: Array as Prop<string[]>,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: (v: any) => ['top', 'bottom'].includes(v),\n },\n ripple: Boolean,\n\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n\n const range = computed(() => createRange(Number(props.length), 1))\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]))\n const hoverIndex = ref(-1)\n const focusIndex = ref(-1)\n const firstRef = ref<HTMLElement>()\n let isClicking = false\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = rating.value >= value\n const isHovered = hoverIndex.value >= value\n const isFullIcon = isHovering ? isHovered : isFilled\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon\n const activeColor = props.activeColor ?? props.color\n const color = (isFilled || isHovered) ? activeColor : props.color\n\n return { isFilled, isHovered, icon, color }\n }))\n\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter () {\n hoverIndex.value = value\n }\n\n function onMouseleave () {\n hoverIndex.value = -1\n }\n\n function onFocus () {\n if (value === 0 && rating.value === 0) {\n firstRef.value?.focus()\n } else {\n focusIndex.value = value\n }\n }\n\n function onBlur () {\n if (!isClicking) focusIndex.value = -1\n }\n\n function onClick () {\n if (props.disabled || props.readonly) return\n rating.value = rating.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onFocus,\n onBlur,\n onClick,\n }\n }))\n\n function onMousedown () {\n isClicking = true\n }\n\n function onMouseup () {\n isClicking = false\n }\n\n const name = computed(() => props.name ?? `v-rating-${getUid()}`)\n\n function VRatingItem ({ value, index, showStar = true }: { value: number, index: number, showStar?: boolean }) {\n const { onMouseenter, onMouseleave, onFocus, onBlur, onClick } = eventState.value[index + 1]\n const id = `${name.value}-${String(value).replace('.', '-')}`\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n tag: 'span',\n variant: 'plain' as Variant,\n }\n\n return (\n <>\n <label\n for={ id }\n class={{\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0,\n }}\n onMousedown={ onMousedown }\n onMouseup={ onMouseup }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n >\n <span class=\"v-rating__hidden\">{ t(props.itemAriaLabel, value, props.length) }</span>\n {\n !showStar ? undefined\n : slots.item ? slots.item({\n ...itemState.value[index],\n props: btnProps,\n value,\n index,\n })\n : (\n <VBtn { ...btnProps } />\n )\n }\n </label>\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ rating.value === value }\n onClick={ onClick }\n onFocus={ onFocus }\n onBlur={ onBlur }\n ref={ index === 0 ? firstRef : undefined }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n function createLabel (labelProps: { value: number, index: number, label?: string }) {\n if (slots['item-label']) return slots['item-label'](labelProps)\n\n if (labelProps.label) return <span>{ labelProps.label }</span>\n\n return <span> </span>\n }\n\n return () => {\n const hasLabels = !!props.itemLabels?.length || slots['item-label']\n\n return (\n <props.tag\n class={[\n 'v-rating',\n {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly,\n },\n themeClasses.value,\n ]}\n >\n <VRatingItem value={ 0 } index={ -1 } showStar={ false } />\n\n { range.value.map((value, i) => (\n <div class=\"v-rating__wrapper\">\n {\n hasLabels && props.itemLabelPosition === 'top'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n <div\n class={[\n 'v-rating__item',\n {\n 'v-rating__item--focused': Math.ceil(focusIndex.value) === value,\n },\n ]}\n >\n { props.halfIncrements ? (\n <>\n <VRatingItem value={ value - 0.5 } index={ i * 2 } />\n <VRatingItem value={ value } index={ (i * 2) + 1 } />\n </>\n ) : (\n <VRatingItem value={ value } index={ i } />\n ) }\n </div>\n {\n hasLabels && props.itemLabelPosition === 'bottom'\n ? createLabel({ value, index: i, label: props.itemLabels?.[i] })\n : undefined\n }\n </div>\n )) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n","export function bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset ({\n selectedElement,\n containerSize,\n contentSize,\n isRtl,\n currentScrollOffset,\n isHorizontal,\n}: {\n selectedElement: HTMLElement\n containerSize: number\n contentSize: number\n isRtl: boolean\n currentScrollOffset: number\n isHorizontal: boolean\n}): number {\n const clientSize = isHorizontal ? selectedElement.clientWidth : selectedElement.clientHeight\n const offsetStart = isHorizontal ? selectedElement.offsetLeft : selectedElement.offsetTop\n const adjustedOffsetStart = isRtl ? (contentSize - offsetStart - clientSize) : offsetStart\n\n if (isRtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalSize = containerSize + currentScrollOffset\n const itemOffset = clientSize + adjustedOffsetStart\n const additionalOffset = clientSize * 0.4\n\n if (adjustedOffsetStart <= currentScrollOffset) {\n currentScrollOffset = Math.max(adjustedOffsetStart - additionalOffset, 0)\n } else if (totalSize <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalSize - itemOffset - additionalOffset), contentSize - containerSize)\n }\n\n return isRtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset ({\n selectedElement,\n containerSize,\n contentSize,\n isRtl,\n isHorizontal,\n}: {\n selectedElement: HTMLElement\n containerSize: number\n contentSize: number\n isRtl: boolean\n isHorizontal: boolean\n}): number {\n const clientSize = isHorizontal ? selectedElement.clientWidth : selectedElement.clientHeight\n const offsetStart = isHorizontal ? selectedElement.offsetLeft : selectedElement.offsetTop\n\n if (isRtl) {\n const offsetCentered = contentSize - offsetStart - clientSize / 2 - containerSize / 2\n return -Math.min(contentSize - containerSize, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetStart + clientSize / 2 - containerSize / 2\n return Math.min(contentSize - containerSize, Math.max(0, offsetCentered))\n }\n}\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport { VFadeTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { bias, calculateCenteredOffset, calculateUpdatedOffset } from './helpers'\nimport { clamp, defineComponent, useRender } from '@/util'\nimport { computed, ref, watch, watchEffect } from 'vue'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\n\nexport const VSlideGroupSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-slide-group')\n\nexport const VSlideGroup = defineComponent({\n name: 'VSlideGroup',\n\n props: {\n centerActive: Boolean,\n direction: {\n type: String,\n default: 'horizontal',\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active',\n }),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isRtl } = useRtl()\n const { mobile } = useDisplay()\n const group = useGroup(props, props.symbol)\n const isOverflowing = ref(false)\n const scrollOffset = ref(0)\n const containerSize = ref(0)\n const contentSize = ref(0)\n const isHorizontal = computed(() => props.direction === 'horizontal')\n\n const { resizeRef: containerRef, contentRect: containerRect } = useResizeObserver()\n const { resizeRef: contentRef, contentRect } = useResizeObserver()\n\n watchEffect(() => {\n if (!containerRect.value || !contentRect.value) return\n\n const sizeProperty = isHorizontal.value ? 'width' : 'height'\n\n containerSize.value = containerRect.value[sizeProperty]\n contentSize.value = contentRect.value[sizeProperty]\n\n isOverflowing.value = containerSize.value + 1 < contentSize.value\n })\n\n const firstSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[0])\n })\n\n const lastSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1\n\n return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1])\n })\n\n watch(group.selected, () => {\n if (firstSelectedIndex.value < 0 || !contentRef.value) return\n\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[lastSelectedIndex.value] as HTMLElement\n\n if (firstSelectedIndex.value === 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (props.centerActive) {\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n } else if (isOverflowing.value) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n }\n })\n\n let firstOverflow = true\n watch(isOverflowing, () => {\n if (!firstOverflow || !contentRef.value || firstSelectedIndex.value < 0) return\n\n firstOverflow = false\n\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.value.children[firstSelectedIndex.value] as HTMLElement\n\n scrollOffset.value = calculateCenteredOffset({\n selectedElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n isHorizontal: isHorizontal.value,\n })\n })\n\n const disableTransition = ref(false)\n\n let startTouch = 0\n let startOffset = 0\n\n function onTouchstart (e: TouchEvent) {\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n startOffset = scrollOffset.value\n startTouch = e.touches[0][sizeProperty]\n disableTransition.value = true\n }\n\n function onTouchmove (e: TouchEvent) {\n if (!isOverflowing.value) return\n\n const sizeProperty = isHorizontal.value ? 'clientX' : 'clientY'\n scrollOffset.value = startOffset + startTouch - e.touches[0][sizeProperty]\n }\n\n function onTouchend (e: TouchEvent) {\n const maxScrollOffset = contentSize.value - containerSize.value\n\n if (isRtl.value) {\n if (scrollOffset.value > 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value <= -maxScrollOffset) {\n scrollOffset.value = -maxScrollOffset\n }\n } else {\n if (scrollOffset.value < 0 || !isOverflowing.value) {\n scrollOffset.value = 0\n } else if (scrollOffset.value >= maxScrollOffset) {\n scrollOffset.value = maxScrollOffset\n }\n }\n\n disableTransition.value = false\n }\n\n function onScroll () {\n containerRef.value && (containerRef.value.scrollLeft = 0)\n }\n\n const isFocused = ref(false)\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n\n if (!isOverflowing.value || !contentRef.value) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of e.composedPath()) {\n for (const item of contentRef.value.children) {\n if (item === el) {\n scrollOffset.value = calculateUpdatedOffset({\n selectedElement: item as HTMLElement,\n containerSize: containerSize.value,\n contentSize: contentSize.value,\n isRtl: isRtl.value,\n currentScrollOffset: scrollOffset.value,\n isHorizontal: isHorizontal.value,\n })\n return\n }\n }\n }\n }\n\n function onFocusout (e: FocusEvent) {\n isFocused.value = false\n }\n\n function onFocus (e: FocusEvent) {\n if (\n !isFocused.value &&\n !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget as Node))\n ) focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!contentRef.value) return\n\n if (e.key === (isHorizontal.value ? 'ArrowRight' : 'ArrowDown')) {\n focus('next')\n } else if (e.key === (isHorizontal.value ? 'ArrowLeft' : 'ArrowUp')) {\n focus('prev')\n } else if (e.key === 'Home') {\n focus('first')\n } else if (e.key === 'End') {\n focus('last')\n }\n }\n\n function focus (location?: 'next' | 'prev' | 'first' | 'last') {\n if (!contentRef.value) return\n\n if (!location) {\n contentRef.value.querySelector('[tabindex]')\n const focusable = [...contentRef.value.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n focusable[0]?.focus()\n } else if (location === 'next') {\n const el = contentRef.value.querySelector(':focus')?.nextElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('first')\n } else if (location === 'prev') {\n const el = contentRef.value.querySelector(':focus')?.previousElementSibling as HTMLElement | undefined\n if (el) el.focus()\n else focus('last')\n } else if (location === 'first') {\n (contentRef.value.firstElementChild as HTMLElement)?.focus()\n } else if (location === 'last') {\n (contentRef.value.lastElementChild as HTMLElement)?.focus()\n }\n }\n\n function scrollTo (location: 'prev' | 'next') {\n const sign = isRtl.value ? -1 : 1\n const newAbosluteOffset = sign * scrollOffset.value +\n (location === 'prev' ? -1 : 1) * containerSize.value\n\n scrollOffset.value = sign * clamp(newAbosluteOffset, 0, contentSize.value - containerSize.value)\n }\n\n const contentStyles = computed(() => {\n const scrollAmount = scrollOffset.value <= 0\n ? bias(-scrollOffset.value)\n : scrollOffset.value > contentSize.value - containerSize.value\n ? -(contentSize.value - containerSize.value) + bias(contentSize.value - containerSize.value - scrollOffset.value)\n : -scrollOffset.value\n\n return {\n transform: `translate${isHorizontal.value ? 'X' : 'Y'}(${scrollAmount}px)`,\n transition: disableTransition.value ? 'none' : '',\n willChange: disableTransition.value ? 'transform' : '',\n }\n })\n\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected,\n }))\n\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !mobile.value\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return isOverflowing.value || Math.abs(scrollOffset.value) > 0\n\n // Always show on mobile\n case 'mobile': return (\n mobile.value ||\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !mobile.value &&\n (isOverflowing.value || Math.abs(scrollOffset.value) > 0)\n )\n }\n })\n\n const hasPrev = computed(() => {\n return hasAffixes.value && scrollOffset.value > 0\n })\n\n const hasNext = computed(() => {\n if (!hasAffixes.value) return false\n\n // Check one scroll ahead to know the width of right-most item\n return contentSize.value > Math.abs(scrollOffset.value) + containerSize.value\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-slide-group',\n {\n 'v-slide-group--vertical': !isHorizontal.value,\n 'v-slide-group--has-affixes': hasAffixes.value,\n 'v-slide-group--is-overflowing': isOverflowing.value,\n },\n ]}\n tabindex={ (isFocused.value || group.selected.value.length) ? -1 : 0 }\n onFocus={ onFocus }\n >\n { hasAffixes.value && (\n <div\n class={[\n 'v-slide-group__prev',\n { 'v-slide-group__prev--disabled': !hasPrev.value },\n ]}\n onClick={ () => scrollTo('prev') }\n >\n { slots.prev?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.prevIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n\n <div\n ref={ containerRef }\n class=\"v-slide-group__container\"\n onScroll={ onScroll }\n >\n <div\n ref={ contentRef }\n class=\"v-slide-group__content\"\n style={ contentStyles.value }\n onTouchstartPassive={ onTouchstart }\n onTouchmovePassive={ onTouchmove }\n onTouchendPassive={ onTouchend }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n onKeydown={ onKeydown }\n >\n { slots.default?.(slotProps.value) }\n </div>\n </div>\n\n { hasAffixes.value && (\n <div\n class={[\n 'v-slide-group__next',\n { 'v-slide-group__next--disabled': !hasNext.value },\n ]}\n onClick={ () => scrollTo('next') }\n >\n { slots.next?.(slotProps.value) ?? (\n <VFadeTransition>\n <VIcon icon={ props.nextIcon }></VIcon>\n </VFadeTransition>\n ) }\n </div>\n ) }\n </props.tag>\n ))\n\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n }\n },\n})\n\nexport type VSlideGroup = InstanceType<typeof VSlideGroup>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VSlideGroupSymbol } from './VSlideGroup'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VSlideGroupItem = defineComponent({\n name: 'VSlideGroupItem',\n\n props: {\n ...makeGroupItemProps(),\n },\n\n setup (props, { slots }) {\n const slideGroupItem = useGroupItem(props, VSlideGroupSymbol)\n\n return () => slots.default?.({\n isSelected: slideGroupItem.isSelected.value,\n select: slideGroupItem.select,\n toggle: slideGroupItem.toggle,\n selectedClass: slideGroupItem.selectedClass.value,\n })\n },\n})\n","// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { onMounted, watch } from 'vue'\nimport { defineComponent, useRender } from '@/util'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\n\nexport const VSnackbar = defineComponent({\n name: 'VSnackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n vertical: Boolean,\n\n modelValue: Boolean,\n\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeVariantProps(),\n ...makeTransitionProps({ transition: 'v-snackbar-transition' }),\n },\n\n emits: {\n 'update:modelValue': (v: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { positionClasses, positionStyles } = usePosition(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { roundedClasses } = useRounded(props)\n\n watch(isActive, startTimeout)\n watch(() => props.timeout, startTimeout)\n\n onMounted(() => {\n if (isActive.value) startTimeout()\n })\n\n let activeTimeout = -1\n function startTimeout () {\n window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function onPointerenter () {\n window.clearTimeout(activeTimeout)\n }\n\n useRender(() => (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-snackbar',\n {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--bottom': props.bottom || !props.top,\n 'v-snackbar--centered': props.centered,\n 'v-snackbar--end': props.right,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--start': props.left,\n 'v-snackbar--top': props.top,\n 'v-snackbar--vertical': props.vertical,\n },\n positionClasses.value,\n ]}\n style={[\n colorStyles.value,\n positionStyles.value,\n ]}\n persistent\n noClickAnimation\n scrim={ false }\n scrollStrategy=\"none\"\n transition={ props.transition }\n v-slots={{ activator: slots.activator }}\n >\n <div\n class={[\n 'v-snackbar__wrapper',\n colorClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n onPointerenter={ onPointerenter }\n onPointerleave={ startTimeout }\n >\n { genOverlays(false, 'v-snackbar') }\n\n { slots.default && (\n <div\n class={[\n 'v-snackbar__content',\n props.contentClass,\n ]}\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.default?.() }\n </div>\n ) }\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\n },\n }}\n >\n <div class=\"v-snackbar__actions\">\n { slots.actions?.() }\n </div>\n </VDefaultsProvider>\n ) }\n </div>\n </VOverlay>\n ))\n },\n})\n\nexport type VSnackbar = InstanceType<typeof VSnackbar>\n","// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n","// Styles\nimport './VSystemBar.sass'\n\n// Composables\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VSystemBar = defineComponent({\n name: 'VSystemBar',\n\n props: {\n color: String,\n height: [Number, String],\n window: Boolean,\n\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\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 { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const height = computed(() => props.height ?? props.window ? 32 : 24)\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n priority: computed(() => parseInt(props.priority, 10)),\n position: ref('top'),\n layoutSize: height,\n elementSize: height,\n active: computed(() => true),\n absolute: toRef(props, 'absolute'),\n })\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n density: 'compact',\n },\n }, { scoped: true })\n\n return () => (\n <props.tag\n class={[\n 'v-system-bar',\n { 'v-system-bar--window': props.window },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","import type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VTabsSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-tabs')\n","// Styles\nimport './VTab.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeGroupItemProps } from '@/composables/group'\nimport { makeRouterProps } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, pick, standardEasing, useRender } from '@/util'\nimport { VTabsSymbol } from './shared'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VTab = defineComponent({\n name: 'VTab',\n\n props: {\n fixed: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n stacked: Boolean,\n title: String,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n color: String,\n sliderColor: String,\n hideSlider: Boolean,\n\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n ...makeTagProps(),\n ...makeRouterProps(),\n ...makeGroupItemProps({\n selectedClass: 'v-tab--selected',\n }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots, attrs }) {\n const { textColorClasses: sliderColorClasses, textColorStyles: sliderColorStyles } = useTextColor(props, 'sliderColor')\n const isHorizontal = computed(() => props.direction === 'horizontal')\n const isSelected = ref(false)\n\n const rootEl = ref<VBtn>()\n const sliderEl = ref<HTMLElement>()\n\n function updateSlider ({ value }: { value: boolean }) {\n isSelected.value = value\n\n if (value) {\n const prevEl: HTMLElement | undefined = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider')\n const nextEl = sliderEl.value\n\n if (!prevEl || !nextEl) return\n\n const color = getComputedStyle(prevEl).color\n\n const prevBox = prevEl.getBoundingClientRect()\n const nextBox = nextEl.getBoundingClientRect()\n\n const xy = isHorizontal.value ? 'x' : 'y'\n const XY = isHorizontal.value ? 'X' : 'Y'\n const rightBottom = isHorizontal.value ? 'right' : 'bottom'\n const widthHeight = isHorizontal.value ? 'width' : 'height'\n\n const prevPos = prevBox[xy]\n const nextPos = nextBox[xy]\n const delta = prevPos > nextPos\n ? prevBox[rightBottom] - nextBox[rightBottom]\n : prevBox[xy] - nextBox[xy]\n const origin =\n Math.sign(delta) > 0 ? (isHorizontal.value ? 'right' : 'bottom')\n : Math.sign(delta) < 0 ? (isHorizontal.value ? 'left' : 'top')\n : 'center'\n const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight])\n const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight])\n const initialScale = prevBox[widthHeight] / nextBox[widthHeight]\n\n const sigma = 1.5\n nextEl.animate({\n backgroundColor: [color, ''],\n transform: [\n `translate${XY}(${delta}px) scale${XY}(${initialScale})`,\n `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`,\n '',\n ],\n transformOrigin: Array(3).fill(origin),\n }, {\n duration: 225,\n easing: standardEasing,\n })\n }\n }\n\n useRender(() => {\n const [btnProps] = pick(props, [\n 'href',\n 'to',\n 'replace',\n 'icon',\n 'stacked',\n 'prependIcon',\n 'appendIcon',\n 'ripple',\n 'theme',\n 'disabled',\n 'selectedClass',\n 'value',\n 'color',\n ])\n\n return (\n <VBtn\n _as=\"VTab\"\n symbol={ VTabsSymbol }\n ref={ rootEl }\n class={[\n 'v-tab',\n ]}\n tabindex={ isSelected.value ? 0 : -1 }\n role=\"tab\"\n aria-selected={ String(isSelected.value) }\n block={ props.fixed }\n maxWidth={ props.fixed ? 300 : undefined }\n variant=\"text\"\n rounded={ 0 }\n { ...btnProps }\n { ...attrs }\n onGroup:selected={ updateSlider }\n >\n { slots.default ? slots.default() : props.title }\n { !props.hideSlider && (\n <div\n ref={ sliderEl }\n class={[\n 'v-tab__slider',\n sliderColorClasses.value,\n ]}\n style={ sliderColorStyles.value }\n />\n ) }\n </VBtn>\n )\n })\n\n return {}\n },\n})\n\nexport type VTab = InstanceType<typeof VTab>\n","// Styles\nimport './VTabs.sass'\n\n// Components\nimport { VSlideGroup } from '@/components/VSlideGroup'\nimport { VTab } from './VTab'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\nimport { VTabsSymbol } from './shared'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type TabItem = string | Record<string, any>\n\nfunction parseItems (items: TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (typeof item === 'string') return { title: item, value: item }\n\n return item\n })\n}\n\nexport const VTabs = defineComponent({\n name: 'VTabs',\n\n props: {\n alignWithTitle: Boolean,\n color: String,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n backgroundColor: String,\n centered: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n optional: Boolean,\n end: Boolean,\n sliderColor: String,\n modelValue: null,\n\n ...makeDensityProps(),\n ...makeTagProps(),\n },\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots, emit }) {\n const parsedItems = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'backgroundColor'))\n\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n sliderColor: toRef(props, 'sliderColor'),\n hideSlider: toRef(props, 'hideSlider'),\n },\n })\n\n return () => (\n <VSlideGroup\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n {\n 'v-tabs--align-with-title': props.alignWithTitle,\n 'v-tabs--centered': props.centered,\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--end': props.end,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n ]}\n style={backgroundColorStyles.value}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n mandatory=\"force\"\n direction={ props.direction }\n modelValue={ props.modelValue }\n onUpdate:modelValue={ v => emit('update:modelValue', v) }\n >\n { slots.default ? slots.default() : parsedItems.value.map(item => (\n <VTab { ...item } key={ item.title } />\n )) }\n </VSlideGroup>\n )\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n","// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDensityProps, useDensity } from '@/composables/density'\n\nexport const VTable = defineComponent({\n name: 'VTable',\n\n props: {\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n\n ...makeDensityProps(),\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n return () => (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n },\n themeClasses.value,\n densityClasses.value,\n ]}\n >\n { slots.top?.() }\n\n { slots.default && (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default?.() }\n </table>\n </div>\n ) }\n\n { slots.bottom?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const controlHeight = ref('auto')\n const textareaRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n isFocused.value ||\n props.persistentPlaceholder\n ))\n\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isActive.value || props.persistentHint) ? props.hint : ''\n })\n\n function onFocus () {\n if (textareaRef.value !== document.activeElement) {\n textareaRef.value?.focus()\n }\n\n if (!isFocused.value) isFocused.value = true\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n emit('click:clear', e)\n })\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = parseFloat(props.rows) * lineHeight + padding\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n\n controlHeight.value = convertToUnit(Math.min(maxHeight, Math.max(minHeight, height ?? 0)))\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class={[\n 'v-textarea',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n },\n ]}\n { ...rootAttrs }\n { ...inputProps }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n style={{\n '--v-input-control-height': controlHeight.value,\n }}\n onClick:control={ onControlClick }\n onClick:clear={ onClear }\n role=\"textbox\"\n { ...fieldProps }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n ) }\n\n <textarea\n ref={ textareaRef }\n class={ fieldClass }\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n name={ props.name }\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n ) }\n </>\n ),\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({}, vInputRef, vFieldRef, textareaRef)\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n","// Styles\nimport './VThemeProvider.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VThemeProvider = defineComponent({\n name: 'VThemeProvider',\n\n props: {\n withBackground: Boolean,\n\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n\n return () => {\n if (!props.withBackground) return slots.default?.()\n\n return (\n <props.tag class={['v-theme-provider', themeClasses.value]}>\n { slots.default?.() }\n </props.tag>\n )\n }\n },\n})\n","import type { InjectionKey, Ref } from 'vue'\nimport type { Density } from '@/composables/density'\n\nexport interface TimelineInstance {\n density: Ref<Density>\n lineColor: Ref<string>\n}\n\nexport const VTimelineSymbol: InjectionKey<TimelineInstance> = Symbol.for('vuetify:timeline')\n","// Styles\nimport './VTimeline.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Helpers\nimport { computed, provide, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VTimelineSymbol } from './shared'\n\n// Types\nimport type { Prop } from 'vue'\n\nexport type TimelineDirection = 'vertical' | 'horizontal'\nexport type TimelineSide = 'start' | 'end' | undefined\nexport type TimelineAlign = 'center' | 'start'\nexport type TimelineTruncateLine = 'start' | 'end' | 'both' | undefined\n\nexport const VTimeline = defineComponent({\n name: 'VTimeline',\n\n props: {\n align: {\n type: String,\n default: 'center',\n validator: (v: any) => ['center', 'start'].includes(v),\n } as Prop<TimelineAlign>,\n direction: {\n type: String,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n } as Prop<TimelineDirection>,\n side: {\n type: String,\n validator: (v: any) => v == null || ['start', 'end'].includes(v),\n } as Prop<TimelineSide>,\n lineInset: {\n type: [String, Number],\n default: 0,\n },\n lineThickness: {\n type: [String, Number],\n default: 2,\n },\n lineColor: String,\n truncateLine: {\n type: String,\n validator: (v: any) => ['start', 'end', 'both'].includes(v),\n } as Prop<TimelineTruncateLine>,\n\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n provide(VTimelineSymbol, {\n density: toRef(props, 'density'),\n lineColor: toRef(props, 'lineColor'),\n })\n\n const sideClass = computed(() => {\n const side = props.side ? props.side : props.density !== 'default' ? 'end' : null\n\n return side && `v-timeline--side-${side}`\n })\n\n const truncateClasses = computed(() => {\n const classes = [\n 'v-timeline--truncate-line-start',\n 'v-timeline--truncate-line-end',\n ]\n\n switch (props.truncateLine) {\n case 'both': return classes\n case 'start': return classes[0]\n case 'end': return classes[1]\n default: return null\n }\n })\n\n return () => (\n <props.tag\n class={[\n 'v-timeline',\n `v-timeline--${props.direction}`,\n `v-timeline--align-${props.align}`,\n !props.lineInset && truncateClasses.value,\n {\n 'v-timeline--inset-line': !!props.lineInset,\n },\n themeClasses.value,\n densityClasses.value,\n sideClass.value,\n ]}\n style={{\n '--v-timeline-line-thickness': convertToUnit(props.lineThickness),\n '--v-timeline-line-inset': convertToUnit(props.lineInset),\n }}\n >\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VTimelineSymbol } from './shared'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { inject, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n hideDot: Boolean,\n lineColor: String,\n icon: String,\n iconColor: String,\n fillDot: Boolean,\n dotColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { backgroundColorStyles: lineColorStyles, backgroundColorClasses: lineColorClasses } = useBackgroundColor(timeline.lineColor)\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n\n return () => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n { !props.hideDot && (\n <div\n class={[\n 'v-timeline-divider__dot',\n roundedClasses.value,\n sizeClasses.value,\n elevationClasses.value,\n ]}\n // @ts-expect-error: null\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n {\n slots.default ? slots.default({ icon: props.icon, iconColor: props.iconColor, size: props.size })\n : props.icon ? <VIcon icon={ props.icon } color={ props.iconColor } size={ props.size } />\n : undefined\n }\n </div>\n </div>\n ) }\n <div\n class={[\n 'v-timeline-divider__line',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n )\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n","// Components\nimport { VTimelineSymbol } from './shared'\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\n\n// Utilities\nimport { inject, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nexport const VTimelineItem = defineComponent({\n name: 'VTimelineItem',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: String,\n iconColor: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = ref(0)\n const dotRef = ref<VTimelineDivider>()\n watch(dotRef, newValue => {\n if (!newValue) return\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0\n }, {\n flush: 'post',\n })\n\n return () => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n ]}\n style={{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n }}\n >\n <div\n class=\"v-timeline-item__body\"\n style={ dimensionStyles.value }\n >\n { slots.default?.() }\n </div>\n\n <VTimelineDivider\n ref={ dotRef }\n hideDot={ props.hideDot }\n icon={ props.icon }\n iconColor={ props.iconColor }\n size={ props.size }\n elevation={ props.elevation }\n dotColor={ props.dotColor }\n fillDot={ props.fillDot }\n rounded={ props.rounded }\n v-slots={{ default: slots.icon }}\n />\n\n { timeline.density.value !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n ) }\n </div>\n )\n },\n})\n","// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport type { StrategyProps } from '@/components/VOverlay/positionStrategies'\n\nexport const VTooltip = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VTooltip',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n modelValue: Boolean,\n text: String,\n\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'end',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n\n ...makeTransitionProps({\n transition: false,\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-tooltip-${uid}`)\n\n const anchor = computed(() => {\n return props.anchor.split(' ').length > 1\n ? props.anchor\n : props.anchor + ' center' as StrategyProps['anchor']\n })\n\n const origin = computed(() => {\n return (\n props.origin === 'auto' ||\n props.origin === 'overlap' ||\n props.origin.split(' ').length > 1 ||\n props.anchor.split(' ').length > 1\n ) ? props.origin\n : props.origin + ' center' as StrategyProps['origin']\n })\n\n const transition = computed(() => {\n if (props.transition) return props.transition\n return isActive.value ? 'scale-transition' : 'fade-transition'\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-tooltip',\n ]}\n id={ id.value }\n transition={ transition.value }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n anchor={ anchor.value }\n origin={ origin.value }\n min-width={ 0 }\n offset={ 10 }\n scrim={ false }\n persistent\n open-on-click={ false }\n open-on-hover\n role=\"tooltip\"\n eager\n activatorProps={{\n 'aria-describedby': id.value,\n }}\n { ...attrs }\n >\n {{\n activator: slots.activator,\n default: (...args) => slots.default?.(...args) ?? props.text,\n }}\n </VOverlay>\n )\n }\n },\n})\n\nexport type VTooltip = InstanceType<typeof VTooltip>\n","// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VValidation = defineComponent({\n name: 'VValidation',\n\n props: {\n ...makeValidationProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const validation = useValidation(props, 'validation')\n\n return () => slots.default?.(validation)\n },\n})\n","// Types\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { MutationOptions } from '@/composables/mutationObserver'\n\nexport interface MutationDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value: MutationCallback | { handler: MutationCallback, options?: MutationObserverInit }\n modifiers: MutationOptions\n}\n\nfunction mounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { once, immediate, ...modifierKeys } = modifiers\n const defaultValue = !Object.keys(modifierKeys).length\n\n const { handler, options } = typeof value === 'object'\n ? value\n : {\n handler: value,\n options: {\n attributes: modifierKeys?.attr ?? defaultValue,\n characterData: modifierKeys?.char ?? defaultValue,\n childList: modifierKeys?.child ?? defaultValue,\n subtree: modifierKeys?.sub ?? defaultValue,\n },\n }\n\n const observer = new MutationObserver((\n mutations: MutationRecord[] = [],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (once) unmounted(el, binding)\n })\n\n if (immediate) handler?.([], observer)\n\n el._mutate = Object(el._mutate)\n el._mutate![binding.instance!.$.uid] = { observer }\n\n observer.observe(el, options)\n}\n\nfunction unmounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n if (!el._mutate?.[binding.instance!.$.uid]) return\n\n el._mutate[binding.instance!.$.uid]!.observer.disconnect()\n delete el._mutate[binding.instance!.$.uid]\n}\n\nexport const Mutate: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n","import type { DirectiveBinding } from 'vue'\n\ninterface ResizeDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: () => void\n modifiers?: {\n active?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n const handler = binding.value\n const options: AddEventListenerOptions = {\n passive: !binding.modifiers?.active,\n }\n\n window.addEventListener('resize', handler, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![binding.instance!.$.uid] = {\n handler,\n options,\n }\n\n if (!binding.modifiers?.quiet) {\n handler()\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n if (!el._onResize?.[binding.instance!.$.uid]) return\n\n const { handler, options } = el._onResize[binding.instance!.$.uid]!\n\n window.removeEventListener('resize', handler, options)\n\n delete el._onResize[binding.instance!.$.uid]\n}\n\nexport const Resize = {\n mounted,\n unmounted,\n}\n\nexport default Resize\n","import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n","// Utilities\nimport { h } from 'vue'\n\n// Components\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'mdi-chevron-up',\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close-circle',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-alert-circle',\n error: 'mdi-close-circle',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n}\n\nconst mdi: IconSet = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: (props: any) => h(VClassIcon, { ...props, class: 'mdi' }),\n}\n\nexport { aliases, mdi }\n","import { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { defaultSets, IconSymbol } from '@/composables/icons'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createLocaleAdapter, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createRtl, RtlSymbol } from '@/composables/rtl'\nimport { aliases as iconAliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { reactive } from 'vue'\nimport { defineComponent, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { ThemeOptions } from '@/composables/theme'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { DefaultsOptions } from '@/composables/defaults'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const {\n aliases = {},\n components = {},\n directives = {},\n icons = {},\n } = options\n\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n }))\n }\n\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases: iconAliases,\n }, icons))\n const { adapter, rootInstance } = createLocaleAdapter(app, options?.locale)\n app.provide(LocaleAdapterSymbol, adapter)\n app.provide(RtlSymbol, createRtl(rootInstance, options?.locale))\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n","import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"names":["Box","constructor","x","y","width","height","top","bottom","left","right","nullifyTransforms","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","ta","sx","sy","dx","dy","startsWith","slice","split","to","transformOrigin","parseFloat","indexOf","w","offsetWidth","h","offsetHeight","createMessage","message","vm","parent","_isVue","$parent","$options","$_alreadyWarned","includes","push","generateComponentTrace","consoleWarn","newMessage","console","warn","consoleError","error","classifyRE","classify","str","replace","c","toUpperCase","formatComponentName","includeFile","$root","options","cid","name","_componentTag","file","__file","match","tree","currentRecursiveSequence","length","last","map","i","repeat","Array","isArray","join","getNestedValue","obj","path","fallback","undefined","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","getPropertyFromItem","item","property","value","createRange","start","from","v","k","convertToUnit","unit","isNaN","String","isFinite","Number","isObject","isComponentInstance","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","pick","paths","found","create","rest","key","some","RegExp","test","filterInputAttrs","attrs","wrapInArray","clamp","min","max","Math","padEnd","char","chunk","size","chunked","index","substr","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","getUid","_uid","flattenFragments","nodes","node","type","Fragment","children","flat","toKebabCase","toLowerCase","findChildrenWithProvide","vnode","child","component","getOwnPropertySymbols","provides","subTree","CircularBuffer","val","values","concat","getEventCoordinates","e","clientX","touches","clientY","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","matrix","round","toXYZ","r","g","delta","cielabForwardTransform","t","cbrt","cielabReverseTransform","transformedY","lab","Ln","isCssColor","color","colorToInt","substring","parseInt","TypeError","intToHex","hexColor","toString","HSVAtoRGBA","hsva","s","f","n","RGBAtoHSVA","rgba","hsv","HSVAtoHSLA","l","sprime","HSLAtoHSVA","hsl","RGBAtoCSS","HSVAtoCSS","RGBAtoHex","toHex","HexToRGBA","hex","HexToHSVA","HSVAtoHex","parseHex","colorToRGB","int","lighten","amount","CIELAB","sRGB","darken","getLuma","getContrast","first","second","l1","l2","light","dark","DefaultsSymbol","Symbol","for","createDefaults","ref","useDefaults","defaults","inject","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","computed","scoped","unref","reset","root","properties","prev","len","Infinity","provide","propIsDefined","prop","hasOwnProperty","defineComponent","_setup","setup","_as","ctx","getCurrentInstance","_subcomponentDefaults","shallowRef","_props","shallowReactive","toRaw","watchEffect","globalDefaults","global","componentDefaults","subComponents","entries","filter","fromEntries","newVal","setupBindings","scope","watch","oldVal","stop","effectScope","run","immediate","genericComponent","exposeDefaults","_defineComponent","createSimpleFunctional","klass","tag","capitalize","camelize","default","slots","class","attachedRoot","getRootNode","parentNode","document","composed","standardEasing","deceleratedEasing","acceleratedEasing","_getCurrentInstance","getCurrentInstanceName","getScrollParent","hasScrollbar","parentElement","scrollingElement","getScrollParents","elements","nodeType","Node","ELEMENT_NODE","window","overflowY","scrollHeight","clientHeight","IS_NODE","process","IN_BROWSER","env","DEBUG","NODE_ENV","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_FOCUS_VISIBLE","CSS","supports","isFixedPosition","position","offsetParent","propsFactory","reduce","isObjectDefinition","definition","useRender","render","mainTRC","Rco","Gco","Bco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","deltaYmin","scaleBoW","scaleWoB","loConThresh","loConFactor","loConOffset","loClip","APCAcontrast","text","background","Rtxt","Gtxt","Btxt","Rbg","Gbg","Bbg","Ytxt","Ybg","outputContrast","SAPC","ThemeSymbol","makeThemeProps","theme","defaultThemeOptions","defaultTheme","variations","colors","themes","surface","primary","secondary","info","success","warning","variables","parseThemeOptions","isDisabled","createTheme","app","head","_context","usehead","parsedOptions","styleEl","current","computedThemes","original","genColorVariations","onColor","colorVal","blackContrast","whiteContrast","variation","fn","styles","lines","themeName","createCssClass","genCssVariables","Set","flatMap","lightOverlay","darkOverlay","selector","content","line","addHeadObjs","id","updateDOM","updateStyles","deep","genStyleElement","innerHTML","createElement","appendChild","setTheme","getTheme","themeClasses","provideTheme","newTheme","useTheme","useResizeObserver","callback","resizeRef","contentRect","observer","ResizeObserver","onBeforeUnmount","disconnect","newValue","oldValue","unobserve","observe","flush","readonly","VuetifyLayoutKey","VuetifyLayoutItemKey","ROOT_ZINDEX","makeLayoutProps","overlaps","fullHeight","Boolean","makeLayoutItemProps","priority","absolute","useLayout","layout","useLayoutItem","isKeptAlive","onDeactivated","onActivated","layoutItemStyles","layoutItemScrimStyles","register","active","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","layers","layer","get","createLayout","parentLayout","rootZIndex","registered","reactive","Map","priorities","disabledTransitions","computedOverlaps","overlap","topPosition","bottomPosition","topAmount","bottomAmount","set","uniquePriorities","sort","items","transitionsEnabled","mainStyles","paddingLeft","paddingRight","paddingTop","paddingBottom","transition","getLayoutItem","find","rootVm","isMounted","onMounted","layoutSize","elementSize","disableTransitions","instances","instanceIndex","splice","findIndex","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","marginLeft","marginRight","marginTop","marginBottom","layoutClasses","layoutStyles","layoutRef","badge","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","noDataText","carousel","next","delimiter","calendar","moreEvents","fileInput","counter","counterSize","timePicker","am","pm","pagination","previous","page","currentPage","rating","rtl","af","ar","bg","ca","ckb","cs","de","en","es","et","fa","fi","fr","hr","hu","he","it","ja","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","RtlSymbol","createRtl","localeScope","createRtlScope","isRtl","defaultRtl","rtlClasses","currentScope","provideRtl","newScope","useRtl","VApp","_createVNode","VDefaultsProvider","toRefs","makeDimensionProps","maxHeight","maxWidth","minHeight","minWidth","useDimension","dimensionStyles","useAspectStyles","aspectStyles","ratio","aspectRatio","VResponsive","contentClass","additional","mounted","binding","modifiers","handler","IntersectionObserver","_observe","instance","$","uid","isIntersecting","entry","quiet","init","once","unmounted","Intersect","makeTransitionProps","validator","MaybeTransition","Transition","customProps","mergeProps","VImg","directives","intersect","alt","cover","eager","gradient","lazySrc","rootMargin","threshold","sizes","src","srcset","emits","emit","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","onBeforeMount","lazyImg","Image","pollForSize","nextTick","complete","onError","onLoad","getSrc","img","timeout","poll","imgHeight","imgWidth","setTimeout","endsWith","containClasses","__image","sources","withDirectives","vShow","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","requestAnimationFrame","_withDirectives","_resolveDirective","makeTagProps","VToolbarTitle","hasText","makeBorderProps","border","useBorder","borderClasses","classes","makeElevationProps","elevation","useElevation","elevationClasses","isRef","makeRoundedProps","rounded","useRounded","roundedClasses","useColor","backgroundIsCssColor","textIsCssColor","colorClasses","colorStyles","backgroundColor","caretColor","useTextColor","textColorClasses","textColorStyles","useBackgroundColor","backgroundColorClasses","backgroundColorStyles","useForwardRef","refs","Proxy","Reflect","has","bind","getOwnPropertyDescriptor","descriptor","getPrototypeOf","allowedDensities","makeVToolbarProps","collapse","density","extended","extensionHeight","floating","title","VToolbar","toRef","isExtended","extension","contentHeight","VBtn","variant","hasTitle","hasImage","prepend","append","filterToolbarProps","useProxiedModel","defaultValue","transformIn","transformOut","internal","VAppBar","modelValue","vToolbarRef","isActive","toolbarProps","_mergeProps","makeDensityProps","useDensity","densityClasses","allowedVariants","genOverlays","isClickable","_Fragment","makeVariantProps","useVariant","variantClasses","VBtnGroup","divided","makeGroupProps","multiple","mandatory","selectedClass","disabled","makeGroupItemProps","useGroupItem","injectKey","required","description","group","isSelected","toggle","select","useGroup","isUnmounted","selected","getIds","arr","getValues","groupVm","unwrapped","forceMandatoryValue","internalValue","step","offset","currentId","currentIndex","newIndex","newItem","getItemIndex","ids","VBtnToggleSymbol","VBtnToggle","predefinedSizes","makeSizeProps","useSize","sizeClasses","sizeStyles","IconSymbol","makeIconProps","icon","VComponentIcon","VSvgIcon","inheritAttrs","VLigatureIcon","VClassIcon","defaultSets","svg","useIcon","icons","iconData","iconAlias","aliases","iconSetName","sets","setName","iconName","iconSet","defaultSet","makeVIconProps","VIcon","slotIcon","slot","onClick","fontSize","positionValues","makePositionProps","fixed","usePosition","targets","positionClasses","positionStyles","useRouter","proxy","$router","useLink","RouterLink","resolveDynamicComponent","isLink","href","onClickOnce","link","route","makeRouterProps","inTransition","useBackButton","cb","router","popped","removeBefore","removeAfter","addEventListener","onPopstate","beforeEach","afterEach","removeEventListener","replaced","useSelectLink","isExactActive","stopSymbol","DELAY_RIPPLE","webkitTransform","opacity","isTouchEvent","isKeyboardEvent","calculate","localX","localY","radius","scale","_ripple","circle","clientWidth","center","sqrt","centerX","centerY","ripples","show","enabled","container","animation","className","dataset","previousPosition","classList","add","activated","performance","now","remove","hide","getElementsByClassName","isHiding","diff","delay","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","clearTimeout","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","passive","removeListeners","updated","Ripple","symbol","prependIcon","appendIcon","block","stacked","ripple","isElevated","Tag","hasColor","navigate","VAppBarNavIcon","VToolbarItems","VAppBarTitle","_","VAlertTitle","allowedTypes","VAlert","borderColor","closable","closeIcon","closeLabel","prominent","variantProps","onCloseClick","hasPrepend","hasClose","makeVAvatarProps","VAvatar","VChipGroupSymbol","VChipGroup","column","valueComparator","Function","VChip","createCssTransition","origin","mode","hideOnLeave","leaveAbsolute","TransitionGroup","onBeforeEnter","onLeave","offsetTop","offsetLeft","_transitionInitialStyles","setProperty","onAfterLeave","createJavascriptTransition","functions","expandedParentClass","sizeProperty","offsetProperty","_parent","_initialStyle","overflow","onEnter","initialStyle","onAfterEnter","resetStyles","onEnterCancelled","onLeaveCancelled","VDialogTransition","pointerEvents","done","Promise","resolve","getDimensions","animate","duration","easing","finished","then","removeProperty","onBeforeLeave","targetBox","elBox","originX","originY","anchorSide","anchorOffset","getPropertyValue","offsetX","offsetY","VCarouselTransition","VCarouselReverseTransition","VTabTransition","VTabReverseTransition","VMenuTransition","VFabTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","ExpandTransitionGenerator","VExpandXTransition","activeClass","appendAvatar","draggable","filterIcon","label","pill","prependAvatar","hasAppend","hasFilter","onClickFunc","VDivider","inset","thickness","vertical","dividerStyles","role","ListKey","createList","updateHasPrepend","data","useList","singleOpenStrategy","open","opened","parents","newOpened","multipleOpenStrategy","listOpenStrategy","independentSelectStrategy","strategy","on","in","independentSingleSelectStrategy","parentStrategy","singleSelected","leafSelectStrategy","leafSingleSelectStrategy","classicSelectStrategy","childrenIds","everySelected","noneSelected","VNestedSymbol","emptyNested","selectedValues","makeNestedProps","selectStrategy","openStrategy","useNested","getPath","unshift","nested","parentId","isGroup","list","event","newSelected","useNestedItem","computedId","isOpen","isIndeterminate","isLeaf","isGroupActivator","useNestedGroupActivator","VListGroupActivator","VListGroup","activeColor","collapseIcon","expandIcon","activatorProps","activator","VListItemIcon","_vShow","VListItemAvatar","VListItemHeader","VListItemSubtitle","VListItemTitle","VListItem","nav","subtitle","roundedProps","lineClasses","slotProps","hasSubtitle","hasHeader","VListSubheader","sticky","VListChildren","itemProps","header","parseItems","$type","$children","VList","bgColor","VListImg","VListItemAction","VListItemMedia","makeDelayProps","closeDelay","openDelay","useDelay","delays","runDelayFactory","runCloseDelay","runOpenDelay","VMenuSymbol","makeActivatorProps","openOnClick","openOnHover","openOnFocus","closeOnContentClick","useActivator","isTop","activatorEl","isHovered","isFocused","availableEvents","click","stopPropagation","mouseenter","mouseleave","focus","matches","blur","activatorEvents","events","contentEvents","menu","closeParents","activatorRef","_useActivator","getActivator","unbindActivatorProps","bindActivatorProps","onScopeDispose","forEach","removeAttribute","setAttribute","querySelector","parseAnchor","anchor","side","align","oppositeAnchor","physicalAnchor","direction","elementToViewport","point","getOffset","anchorToPoint","box","positionStrategies","static","staticPositionStrategy","connected","connectedPositionStrategy","makePositionStrategyProps","positionStrategy","usePositionStrategies","contentStyles","updatePosition","onResize","activatorFixed","assign","preferredAnchor","preferredOrigin","doesOverlap","configuredMaxHeight","configuredMinWidth","contentEl","scrollParent","viewportWidth","viewportHeight","innerHeight","contentBox","scrollables","querySelectorAll","scrollLeft","scrollTop","initialMaxWidth","initialMaxHeight","scrollTo","maxFreeSpaceWidth","MAX_VALUE","viewportMargin","freeSpace","fitsY","canFill","floor","targetPoint","contentPoint","clean","frames","requestNewFrame","raf","cancelAnimationFrame","frame","scrollStrategies","none","closeScrollStrategy","blockScrollStrategy","reposition","repositionScrollStrategy","makeScrollStrategyProps","scrollStrategy","useScrollStrategies","onScroll","bindScroll","scrollElements","contains","scrollbarWidth","innerWidth","documentElement","scrollableParent","slow","update","time","useTeleport","teleportTarget","_target","targetElement","body","cache","WeakMap","makeLazyProps","useLazy","hasContent","stack","useStack","idx","_isTop","defaultConditional","checkEvent","checkIsActive","ShadowRoot","host","include","closeConditional","directive","_clickOutside","lastMousedownWasOutside","handleShadow","ClickOutside","onMousedown","Scrim","VOverlay","attach","contained","noClickAnimation","persistent","scrim","afterLeave","scrimColor","onClickOutside","animateClick","onKeydown","toHandlers","VMenu","overlay","openChildren","VMessages","messages","FormKey","makeFormProps","fastFail","lazyValidation","createForm","model","isReadonly","isValidating","errorMessages","validate","results","valid","itemErrorMessages","resetValidation","isValid","useForm","makeValidationProps","maxErrors","rules","useValidation","form","internalErrorMessages","isPristine","isDirty","validationClasses","rule","result","makeVInputProps","hideDetails","VInput","hasMessages","hasDetails","details","filterInputProps","VLabel","VFieldLabel","useIntersectionObserver","intersectionRef","VProgressLinear","bgOpacity","bufferValue","clickable","indeterminate","reverse","stream","striped","roundedBar","progress","barColorClasses","barColorStyles","normalizedBuffer","normalizedValue","isReversed","handleClick","borderTop","bar","buffer","makeLoaderProps","loading","useLoader","loaderClasses","LoaderSlot","makeFocusProps","focused","useFocus","focusClasses","makeVFieldProps","appendInnerIcon","clearable","clearIcon","dirty","persistentClear","prependInnerIcon","singleLine","VField","hasLabel","labelRef","floatingLabelRef","controlRef","targetEl","targetRect","targetWidth","transitionDuration","visibility","activeElement","preventDefault","isOutlined","prependInner","hasClear","clear","appendInner","loader","filterFieldProps","VCounter","functional","activeTypes","VTextField","autofocus","counterValue","hint","persistentHint","persistentPlaceholder","persistentCounter","suffix","maxlength","onIntersect","vInputRef","vFieldRef","inputRef","onFocus","onControlClick","onClear","hasCounter","rootAttrs","inputAttrs","inputProps","fieldProps","fieldClass","makeItemsProps","itemTitle","itemValue","itemChildren","transformItem","transformItems","array","useItems","LocaleAdapterSymbol","VuetifyLocaleSymbol","provideLocale","adapter","createScope","useLocale","getScope","isLocaleAdapter","createLocaleAdapter","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","params","createTranslateFunction","shortKey","currentLocale","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","rootScope","defaultLocale","locale","makeSelectProps","chips","closableChips","hideNoData","hideSelected","menuIcon","openOnClear","VSelect","vTextFieldRef","selections","selection","onClickControl","hasChips","chip","onChipClose","_createTextVNode","defaultFilter","query","toLocaleLowerCase","makeFilterProps","customFilter","customKeyFilter","filterKeys","filterMode","noFilter","filterItems","customFiltersLength","loop","customMatches","defaultMatches","keyFilter","defaultMatchesLength","customMatchesLength","useFilter","strQuery","filteredItems","highlightResult","VAutocomplete","search","onInput","isSelecting","VBadge","bordered","dot","inline","location","horizontal","textColor","calculatePosition","locationStyles","isRight","badgeAttrs","VBannerActions","VBannerAvatar","VBannerIcon","VBannerText","DisplaySymbol","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","getClientWidth","getClientHeight","getPlatform","userAgent","regexp","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","ssr","touch","createDisplay","platform","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","useDisplay","display","VBanner","avatar","actions","VBottomNavigation","grow","VBreadcrumbsItem","VBreadcrumbsDivider","VBreadcrumbs","divider","VCardActions","VCardAvatar","VCardContent","VCardHeader","VCardHeaderText","VCardImg","VCardSubtitle","VCardText","VCardTitle","VCard","hover","hasHeaderText","media","headerText","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","touchstart","changedTouches","originalEvent","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","handlers","_touchHandlers","eventName","Touch","VWindowSymbol","VWindowGroupSymbol","VWindow","continuous","nextIcon","prevIcon","showArrows","rootRef","isRtlReverse","axis","transitionCount","transitionHeight","activeIndex","itemsLength","lastIndex","canMoveBack","canMoveForward","arrows","prevProps","nextProps","touchOptions","VWindowItem","reverseTransition","groupItem","isTransitioning","hasTransition","onAfterTransition","onBeforeTransition","onTransitionCancelled","onEnterTransition","VCarousel","cycle","delimiterIcon","hideDelimiters","hideDelimiterBackground","interval","verticalDelimiters","windowRef","slideTimeout","restartTimeout","startTimeout","VCarouselItem","VSelectionControlGroupSymbol","VSelectionControlGroup","falseIcon","trueIcon","makeSelectionControlProps","trueValue","falseValue","useSelectionControl","isMultiple","currentValue","VSelectionControl","isFocusVisible","input","onBlur","_vModelDynamic","filterControlProps","VCheckbox","indeterminateIcon","onChange","controlAttrs","_1","controlProps","_2","VCode","VSheet","VSliderSymbol","getPosition","makeSliderProps","thumbColor","thumbLabel","thumbSize","showTicks","ticks","tickSize","trackColor","trackFillColor","trackSize","useSlider","handleSliderMouseUp","handleMouseMove","getActiveThumb","horizontalDirection","hd","decimals","trimmedStep","trim","numTicks","mousePressed","startOffset","trackContainerRef","activeThumbRef","roundValue","clamped","parseMouseMove","trackStart","trackLength","clickOffset","clickPos","thumbMoved","handleStop","handleStart","moveListenerOptions","capture","onMouseMove","onSliderMouseUp","onSliderTouchend","onSliderTouchstart","onSliderMousedown","percentage","parsedTicks","hasLabels","VSliderThumb","slider","relevantKeys","multipliers","parseKeydown","_step","steps","increase","multiplier","shiftKey","ctrlKey","positionPercentage","VSliderTrack","trackFillColorClasses","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","tick","directionProperty","VSlider","thumbContainerRef","trackStop","parseColor","stripAlpha","extractColor","converted","nullColor","inputs","getValue","getColor","hsla","hexa","modes","VColorPickerPreview","hideAlpha","VColorPickerCanvas","dotSize","hue","isInteracting","isOutsideUpdate","dotPosition","dotStyles","canvasRef","updateDotPosition","handleMouseDown","handleMouseUp","coords","updateCanvas","canvas","getContext","saturationGradient","createLinearGradient","addColorStop","fillStyle","fillRect","valueGradient","VColorPickerInput","VColorPickerEdit","m","enabledModes","mi","red","lighten5","lighten4","lighten3","lighten2","lighten1","darken1","darken2","darken3","darken4","accent1","accent2","accent3","accent4","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","grey","shades","black","white","transparent","parseDefaultColors","VColorPickerSwatches","swatches","swatch","VColorPicker","canvasHeight","hideCanvas","hideSliders","hideInputs","showSwatches","swatchesMaxHeight","lastPickedColor","currentColor","updateColor","VCombobox","delimiters","selectionIndex","_search","selectionStart","setSelectionRange","VDialog","fullscreen","retainFocus","scrollable","onFocusin","before","relatedTarget","after","focusable","hasAttribute","firstElement","lastElement","preventScroll","VExpansionPanelSymbol","VExpansionPanels","variantClass","VExpansionPanel","VExpansionPanelTitle","makeVExpansionPanelTitleProps","hideActions","expansionPanel","expanded","VExpansionPanelText","selectedIndices","isBeforeSelected","selectedIndex","isAfterSelected","VFileInput","counterSizeString","counterString","showSize","files","totalBytes","totalBytesReadable","fileNames","fileCount","VFooter","autoHeight","VForm","submit","formRef","onReset","onSubmit","_e","ready","catch","finally","defaultPrevented","VContainer","fluid","breakpoints","breakpointProps","offsetProps","orderProps","propMap","col","order","breakpointClass","breakpoint","VCol","cols","alignSelf","hasColClasses","ALIGNMENT","makeRowProps","def","alignValidator","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","justify","alignContent","classMap","VRow","dense","noGutters","VSpacer","VHover","isHovering","onMouseenter","onMouseleave","VItemGroupSymbol","VItemGroup","VItem","VKbd","VLayout","VLayoutItem","VLazy","VLocaleProvider","localeInstance","useSsrBoot","ssrBootStyles","VMain","HORIZON","HISTORY","kineticEnergyToVelocity","work","sqrt2","calculateImpulseVelocity","samples","d","vprev","vcurr","useVelocity","addMovement","identifier","timeStamp","endTouch","getVelocity","newest","absX","absY","oops","useTouch","isTemporary","touchless","onTouchstart","onTouchmove","onTouchend","maybeDragging","isDragging","dragProgress","pos","getProgress","limit","touchX","touchY","touchZone","inTouchZone","inElement","cancelable","thresholdMet","velocity","vx","vy","dragStyles","VNavigationDrawer","disableResizeWatcher","disableRouteWatcher","expandOnHover","permanent","rail","railWidth","temporary","currentRoute","rootEl","scrimStyles","useHydration","appContext","_container","__vue_app__","VNoSsr","useRefs","onBeforeUpdate","updateRef","VPagination","totalVisible","firstIcon","lastIcon","pageAriaLabel","currentPageAriaLabel","firstAriaLabel","previousAriaLabel","nextAriaLabel","lastAriaLabel","ellipsis","showFirstLastPage","maxButtons","firstItem","totalWidth","itemWidth","range","even","middle","rangeLength","rangeStart","ceil","setValue","ariaCurrent","controls","prevDisabled","nextDisabled","ariaDisabled","updateFocus","sign","VParallax","scrollPos","scrollY","translate","VProgressCircular","rotate","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","PI","underlayColorClasses","underlayColorStyles","diameter","strokeWidth","strokeDashOffset","VRadio","VRadioGroup","VRangeSlider","strict","startThumbRef","stopThumbRef","stopOffset","VRating","itemAriaLabel","emptyIcon","fullIcon","halfIncrements","itemLabels","itemLabelPosition","increments","hoverIndex","focusIndex","firstRef","isClicking","itemState","isFilled","isFullIcon","eventState","onMouseup","VRatingItem","showStar","btnProps","createLabel","labelProps","bias","calculateUpdatedOffset","selectedElement","containerSize","contentSize","currentScrollOffset","clientSize","offsetStart","adjustedOffsetStart","totalSize","itemOffset","additionalOffset","calculateCenteredOffset","offsetCentered","VSlideGroupSymbol","VSlideGroup","centerActive","isOverflowing","scrollOffset","containerRef","containerRect","contentRef","firstSelectedIndex","lastSelectedIndex","firstOverflow","disableTransition","startTouch","maxScrollOffset","composedPath","onFocusout","nextElementSibling","previousElementSibling","firstElementChild","lastElementChild","newAbosluteOffset","scrollAmount","willChange","hasAffixes","hasPrev","hasNext","VSlideGroupItem","slideGroupItem","VSnackbar","multiLine","activeTimeout","onPointerenter","VSwitch","loaderColor","control","VSystemBar","VTabsSymbol","VTab","sliderColor","hideSlider","sliderColorClasses","sliderColorStyles","sliderEl","updateSlider","prevEl","nextEl","prevBox","nextBox","xy","XY","rightBottom","widthHeight","prevPos","nextPos","initialScale","sigma","fill","VTabs","alignWithTitle","fixedTabs","optional","parsedItems","VTable","fixedHeader","fixedFooter","VTextarea","autoGrow","noResize","rows","maxRows","controlHeight","textareaRef","sizerRef","calculateInputHeight","padding","lineHeight","_vModelText","VThemeProvider","withBackground","VTimelineSymbol","VTimeline","lineInset","lineThickness","lineColor","truncateLine","sideClass","truncateClasses","VTimelineDivider","hideDot","iconColor","fillDot","dotColor","timeline","lineColorStyles","lineColorClasses","VTimelineItem","hideOpposite","dotRef","opposite","VTooltip","args","VValidation","validation","modifierKeys","attributes","attr","characterData","childList","subtree","sub","MutationObserver","mutations","_mutate","Mutate","_onResize","Resize","self","arg","_onScroll","Scroll","cancel","checkboxOn","checkboxOff","checkboxIndeterminate","expand","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","unfold","plus","minus","mdi","createVuetify","install","components","iconAliases","mixin","$vuetify","call","_createVuetify","version"],"mappings":"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"}
|