@vuetify/nightly 3.0.0-alpha.8 → 3.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -19
- package/dist/json/attributes.json +5230 -0
- package/dist/json/importMap.json +565 -0
- package/dist/json/tags.json +1871 -0
- package/dist/json/web-types.json +17917 -0
- package/dist/vuetify.css +8044 -6830
- package/dist/vuetify.d.ts +14879 -24
- package/dist/vuetify.esm.js +17091 -0
- package/dist/vuetify.esm.js.map +1 -0
- package/dist/vuetify.js +15613 -14297
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +6 -4
- package/dist/vuetify.min.js +1395 -9104
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +193 -0
- package/lib/components/VAlert/VAlert.mjs +61 -72
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.sass +64 -88
- package/lib/components/VAlert/VAlertTitle.mjs +3 -0
- package/lib/components/VAlert/VAlertTitle.mjs.map +1 -0
- package/lib/components/VAlert/_variables.scss +23 -34
- package/lib/components/VAlert/index.mjs +2 -1
- package/lib/components/VAlert/index.mjs.map +1 -1
- package/lib/components/VApp/VApp.css +28 -0
- package/lib/components/VApp/VApp.mjs +26 -17
- 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 +42 -101
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBar.sass +7 -93
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +9 -9
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +11 -21
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAppBar/_variables.scss +12 -8
- package/lib/components/VAppBar/index.mjs +3 -3
- package/lib/components/VAppBar/index.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.css +57 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +229 -359
- 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 +20 -19
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.sass +7 -22
- package/lib/components/VAvatar/_mixins.scss +10 -4
- package/lib/components/VAvatar/_variables.scss +16 -5
- 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 +35 -25
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.sass +5 -7
- package/lib/components/VBadge/_variables.scss +6 -5
- package/lib/components/VBadge/index.mjs +1 -1
- package/lib/components/VBadge/index.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.css +133 -0
- package/lib/components/VBanner/VBanner.mjs +56 -49
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.sass +18 -29
- package/lib/components/VBanner/VBannerActions.mjs +1 -1
- package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
- package/lib/components/VBanner/VBannerText.mjs +1 -1
- package/lib/components/VBanner/VBannerText.mjs.map +1 -1
- package/lib/components/VBanner/_variables.scss +13 -13
- package/lib/components/VBanner/index.mjs +3 -5
- package/lib/components/VBanner/index.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.css +61 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +53 -34
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.sass +50 -12
- package/lib/components/VBottomNavigation/_variables.scss +25 -5
- package/lib/components/VBottomNavigation/index.mjs +1 -1
- 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 +55 -50
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +5 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +32 -37
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/_variables.scss +7 -4
- package/lib/components/VBreadcrumbs/index.mjs +3 -3
- 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 +300 -0
- package/lib/components/VBtn/VBtn.mjs +36 -30
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +50 -89
- package/lib/components/VBtn/_mixins.scss +14 -7
- package/lib/components/VBtn/_variables.scss +25 -45
- package/lib/components/VBtn/index.mjs +1 -1
- package/lib/components/VBtn/index.mjs.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +49 -0
- package/lib/components/VBtnGroup/VBtnGroup.mjs +67 -0
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -0
- package/lib/components/VBtnGroup/VBtnGroup.sass +44 -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 +8 -4
- package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.mjs +1 -1
- 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 +18 -12
- 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 +19 -0
- 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 +3 -1
- package/lib/components/VCalendar/util/events.mjs.map +1 -1
- package/lib/components/VCalendar/util/timestamp.mjs +19 -7
- package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
- package/lib/components/VCard/VCard.css +268 -0
- package/lib/components/VCard/VCard.mjs +73 -58
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCard.sass +25 -42
- package/lib/components/VCard/VCardActions.mjs +29 -2
- package/lib/components/VCard/VCardActions.mjs.map +1 -1
- package/lib/components/VCard/VCardAvatar.mjs +1 -1
- package/lib/components/VCard/VCardAvatar.mjs.map +1 -1
- package/lib/components/VCard/VCardHeader.mjs +1 -1
- package/lib/components/VCard/VCardHeader.mjs.map +1 -1
- package/lib/components/VCard/VCardHeaderText.mjs +1 -1
- package/lib/components/VCard/VCardHeaderText.mjs.map +1 -1
- package/lib/components/VCard/VCardImg.mjs +1 -1
- package/lib/components/VCard/VCardImg.mjs.map +1 -1
- package/lib/components/VCard/VCardSubtitle.mjs +1 -1
- package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
- package/lib/components/VCard/VCardText.mjs +1 -1
- package/lib/components/VCard/VCardText.mjs.map +1 -1
- package/lib/components/VCard/VCardTitle.mjs +1 -1
- package/lib/components/VCard/VCardTitle.mjs.map +1 -1
- package/lib/components/VCard/_variables.scss +25 -25
- package/lib/components/VCard/index.mjs +9 -11
- package/lib/components/VCard/index.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.css +63 -0
- package/lib/components/VCarousel/VCarousel.mjs +100 -179
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.sass +7 -2
- package/lib/components/VCarousel/VCarouselItem.mjs +23 -58
- 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 +273 -0
- package/lib/components/VChip/VChip.mjs +55 -34
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/VChip.sass +24 -21
- package/lib/components/VChip/_mixins.scss +24 -15
- package/lib/components/VChip/_variables.scss +17 -21
- package/lib/components/VChip/index.mjs +1 -1
- 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 +2 -2
- package/lib/components/VCode/index.mjs +1 -1
- 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 +319 -204
- 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/VDataIterator/VDataFooter.mjs +1 -1
- package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.mjs +19 -7
- package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
- package/lib/components/VDataTable/MobileRow.mjs +6 -5
- package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
- package/lib/components/VDataTable/Row.mjs +19 -11
- 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 +10 -5
- 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/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 +1 -1
- package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +2 -2
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.mjs +4 -4
- package/lib/components/VDatePicker/VDatePickerHeader.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 +3 -3
- package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.mjs +6 -5
- package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +6 -4
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.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/VDefaultsProvider/VDefaultsProvider.mjs +26 -8
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.mjs +1 -1
- package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.css +57 -0
- package/lib/components/VDialog/VDialog.mjs +46 -47
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +20 -2
- package/lib/components/VDialog/_variables.scss +9 -4
- package/lib/components/VDialog/index.mjs +1 -2
- package/lib/components/VDialog/index.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.css +30 -0
- package/lib/components/VDivider/VDivider.mjs +21 -14
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.sass +5 -9
- package/lib/components/VDivider/_variables.scss +4 -2
- package/lib/components/VDivider/index.mjs +1 -1
- package/lib/components/VDivider/index.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +189 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +83 -81
- 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 +77 -0
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -0
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs +42 -60
- 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 +249 -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 +180 -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 +25 -18
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/VFooter.sass +10 -8
- package/lib/components/VFooter/_variables.scss +7 -4
- package/lib/components/VFooter/index.mjs +1 -1
- package/lib/components/VFooter/index.mjs.map +1 -1
- package/lib/components/VForm/VForm.mjs +46 -127
- 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 +10 -9
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VContainer.mjs +10 -10
- 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 +10 -9
- 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 +50 -0
- package/lib/components/VIcon/VIcon.mjs +20 -14
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.sass +16 -42
- package/lib/components/VIcon/_variables.scss +14 -14
- 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 +62 -31
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +11 -16
- package/lib/components/VImg/index.mjs +1 -1
- package/lib/components/VImg/index.mjs.map +1 -1
- package/lib/components/VInput/VInput.css +110 -0
- package/lib/components/VInput/VInput.mjs +103 -280
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +77 -127
- package/lib/components/VInput/_variables.scss +17 -13
- package/lib/components/VInput/index.mjs +1 -3
- package/lib/components/VInput/index.mjs.map +1 -1
- package/lib/components/VItemGroup/VItem.mjs +8 -7
- package/lib/components/VItemGroup/VItem.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.css +6 -0
- package/lib/components/VItemGroup/VItemGroup.mjs +12 -12
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.sass +2 -2
- package/lib/components/VItemGroup/_variables.scss +3 -1
- package/lib/components/VItemGroup/index.mjs +2 -2
- package/lib/components/VItemGroup/index.mjs.map +1 -1
- package/lib/components/VKbd/VKbd.css +9 -0
- package/lib/components/VKbd/VKbd.sass +4 -3
- package/lib/components/VKbd/index.mjs +1 -1
- 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 +15 -11
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayout.sass +1 -4
- package/lib/components/VLayout/VLayoutItem.css +8 -0
- package/lib/components/VLayout/VLayoutItem.mjs +24 -15
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.sass +3 -3
- package/lib/components/VLayout/index.mjs +2 -2
- package/lib/components/VLayout/index.mjs.map +1 -1
- package/lib/components/VLazy/VLazy.mjs +10 -10
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.mjs +1 -1
- package/lib/components/VLazy/index.mjs.map +1 -1
- package/lib/components/VList/VList.css +106 -0
- package/lib/components/VList/VList.mjs +80 -31
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +17 -16
- package/lib/components/VList/VListChildren.mjs +53 -0
- package/lib/components/VList/VListChildren.mjs.map +1 -0
- package/lib/components/VList/VListGroup.mjs +84 -0
- package/lib/components/VList/VListGroup.mjs.map +1 -0
- package/lib/components/VList/VListImg.mjs +1 -1
- package/lib/components/VList/VListImg.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +273 -0
- package/lib/components/VList/VListItem.mjs +98 -41
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +46 -17
- package/lib/components/VList/VListItemAvatar.mjs +9 -9
- package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
- package/lib/components/VList/VListItemHeader.mjs +1 -1
- package/lib/components/VList/VListItemHeader.mjs.map +1 -1
- package/lib/components/VList/VListItemMedia.mjs +9 -9
- package/lib/components/VList/VListItemMedia.mjs.map +1 -1
- package/lib/components/VList/VListItemSubtitle.mjs +1 -1
- package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
- package/lib/components/VList/VListItemTitle.mjs +1 -1
- package/lib/components/VList/VListItemTitle.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +29 -20
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/_variables.scss +25 -19
- package/lib/components/VList/index.mjs +10 -9
- 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 +10 -10
- package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
- 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 +12 -12
- 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 +24 -0
- package/lib/components/VMenu/VMenu.mjs +53 -451
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.sass +20 -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/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 +95 -30
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +36 -21
- package/lib/components/VNavigationDrawer/_variables.scss +9 -6
- 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 +55 -0
- package/lib/components/VOverlay/VOverlay.mjs +120 -193
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +21 -22
- package/lib/components/VOverlay/_variables.scss +0 -2
- package/lib/components/VOverlay/index.mjs +1 -2
- package/lib/components/VOverlay/index.mjs.map +1 -1
- package/lib/components/VOverlay/positionStrategies.mjs +203 -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 +128 -0
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -0
- package/lib/components/VOverlay/useActivator.mjs +205 -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 +48 -51
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.sass +14 -8
- package/lib/components/VPagination/index.mjs +1 -1
- 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 +30 -20
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.sass +6 -4
- package/lib/components/VProgressCircular/_variables.scss +1 -1
- package/lib/components/VProgressCircular/index.mjs +1 -1
- 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 +34 -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 +192 -207
- 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 +34 -28
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/VRating.sass +5 -3
- package/lib/components/VRating/_variables.scss +3 -1
- package/lib/components/VRating/index.mjs +1 -1
- package/lib/components/VRating/index.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.css +23 -0
- package/lib/components/VResponsive/VResponsive.mjs +12 -11
- package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
- package/lib/components/VResponsive/VResponsive.sass +4 -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 +186 -777
- 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 +209 -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 +17 -19
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/VSheet.sass +11 -16
- package/lib/components/VSheet/_variables.scss +6 -7
- package/lib/components/VSheet/index.mjs +1 -1
- package/lib/components/VSheet/index.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +7 -7
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.css +47 -0
- package/lib/components/VSlideGroup/VSlideGroup.mjs +276 -358
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.sass +21 -21
- package/lib/components/VSlideGroup/VSlideGroupItem.mjs +27 -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 +48 -0
- package/lib/components/VSlider/VSlider.mjs +113 -538
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.sass +29 -271
- 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 +19 -13
- 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 +136 -0
- package/lib/components/VSnackbar/VSnackbar.mjs +89 -168
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +34 -69
- package/lib/components/VSnackbar/_variables.scss +20 -21
- package/lib/components/VSnackbar/index.mjs +1 -3
- package/lib/components/VSnackbar/index.mjs.map +1 -1
- package/lib/components/VSparkline/VSparkline.mjs +1 -1
- package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
- package/lib/components/VSparkline/helpers/path.mjs +3 -1
- package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs +2 -2
- 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 +2 -1
- package/lib/components/VSwitch/VSwitch.css +69 -0
- package/lib/components/VSwitch/VSwitch.mjs +100 -111
- 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 +40 -0
- package/lib/components/VSystemBar/VSystemBar.mjs +23 -24
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.sass +16 -23
- package/lib/components/VSystemBar/_variables.scss +30 -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 +114 -70
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTab.sass +30 -0
- package/lib/components/VTabs/VTabs.css +67 -0
- package/lib/components/VTabs/VTabs.mjs +82 -278
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.sass +37 -207
- 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/VTextField/VTextField.css +70 -0
- package/lib/components/VTextField/VTextField.mjs +166 -484
- 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 +34 -0
- package/lib/components/VTextarea/VTextarea.mjs +210 -74
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.sass +32 -76
- 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 +12 -12
- 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 +2 -2
- package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/components/VTimePicker/VTimePickerClock.mjs +3 -3
- 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 +260 -0
- package/lib/components/VTimeline/VTimeline.mjs +18 -18
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.sass +11 -7
- package/lib/components/VTimeline/VTimelineDivider.mjs +9 -8
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +14 -15
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/_mixins.sass +8 -5
- package/lib/components/VTimeline/_variables.scss +3 -1
- package/lib/components/VTimeline/index.mjs +2 -2
- 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 +138 -0
- package/lib/components/VToolbar/VToolbar.mjs +138 -141
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.sass +74 -123
- package/lib/components/VToolbar/VToolbarItems.mjs +33 -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 +53 -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 -198
- 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 +166 -233
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.sass +26 -50
- 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 +12766 -1769
- package/lib/components/index.mjs +64 -57
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/transitions/createTransition.mjs +20 -20
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs +51 -23
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/expand-transition.mjs +3 -1
- 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 +3 -2
- package/lib/composables/border.mjs.map +1 -1
- package/lib/composables/defaults.mjs +29 -5
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/density.mjs +3 -2
- package/lib/composables/density.mjs.map +1 -1
- package/lib/composables/display.mjs +2 -1
- 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 +103 -0
- package/lib/composables/form.mjs.map +1 -0
- package/lib/composables/forwardRef.mjs +42 -0
- package/lib/composables/forwardRef.mjs.map +1 -0
- package/lib/composables/group.mjs +66 -34
- 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 +17 -23
- 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 +21 -16
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/layout.mjs +126 -41
- 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 +10 -6
- 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 +194 -0
- package/lib/composables/nested/nested.mjs.map +1 -0
- package/lib/composables/nested/openStrategies.mjs +49 -0
- package/lib/composables/nested/openStrategies.mjs.map +1 -0
- package/lib/composables/nested/selectStrategies.mjs +157 -0
- package/lib/composables/nested/selectStrategies.mjs.map +1 -0
- package/lib/composables/overlay.mjs +30 -0
- package/lib/composables/overlay.mjs.map +1 -0
- package/lib/composables/position.mjs +3 -2
- package/lib/composables/position.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs +10 -5
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/refs.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs +27 -21
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/composables/rounded.mjs +9 -10
- package/lib/composables/rounded.mjs.map +1 -1
- package/lib/composables/router.mjs +7 -5
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/scroll.mjs +2 -1
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/size.mjs +3 -2
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/stack.mjs +33 -0
- package/lib/composables/stack.mjs.map +1 -0
- package/lib/composables/teleport.mjs +4 -1
- package/lib/composables/teleport.mjs.map +1 -1
- package/lib/composables/theme.mjs +114 -63
- 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 +4 -3
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +116 -0
- package/lib/composables/validation.mjs.map +1 -0
- package/lib/composables/variant.mjs +20 -9
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/directives/click-outside/index.mjs +23 -11
- package/lib/directives/click-outside/index.mjs.map +1 -1
- package/lib/directives/index.d.ts +6 -4
- package/lib/directives/index.mjs +2 -2
- package/lib/directives/index.mjs.map +1 -1
- package/lib/directives/intersect/index.mjs +19 -12
- 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 +8 -5
- 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 +7 -4
- 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 +8 -4
- package/lib/directives/touch/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +8 -4
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +5 -2
- 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 +2 -1
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.ts +434 -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/cs.mjs +3 -3
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/es.mjs +2 -2
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/fr.mjs +1 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/index.d.ts +3111 -0
- 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 +16 -18
- package/lib/services/goto/index.mjs.map +1 -1
- package/lib/styles/elements/_blockquote.sass +5 -3
- package/lib/styles/elements/_global.sass +5 -4
- package/lib/styles/elements/_index.sass +2 -2
- package/lib/styles/generic/_colors.scss +31 -10
- package/lib/styles/generic/_elevation.scss +2 -2
- package/lib/styles/generic/_index.scss +6 -6
- package/lib/styles/generic/_reset.scss +236 -232
- package/lib/styles/generic/_transitions.scss +8 -5
- package/lib/styles/main.css +18612 -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 +486 -472
- package/lib/styles/settings/_variables.scss +51 -52
- package/lib/styles/tools/_absolute.sass +8 -0
- package/lib/styles/tools/_density.sass +3 -1
- package/lib/styles/tools/_display.sass +11 -0
- package/lib/styles/tools/_elevation.sass +4 -2
- package/lib/styles/tools/_functions.sass +30 -25
- package/lib/styles/tools/_index.sass +17 -24
- package/lib/styles/tools/_radius.sass +5 -2
- package/lib/styles/tools/_sheet.sass +7 -4
- package/lib/styles/tools/_states.sass +13 -5
- package/lib/styles/tools/_utilities.sass +24 -20
- package/lib/styles/tools/_variant.sass +10 -2
- package/lib/styles/utilities/_display.sass +3 -1
- package/lib/styles/utilities/_index.sass +25 -22
- package/lib/styles/utilities/_text.sass +3 -1
- 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 +3 -0
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs +2 -1
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/createSimpleFunctional.mjs +11 -8
- 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 +61 -0
- package/lib/util/defineComponent.mjs.map +1 -0
- package/lib/util/getCurrentInstance.mjs +19 -0
- package/lib/util/getCurrentInstance.mjs.map +1 -0
- package/lib/util/getScrollParent.mjs +1 -2
- package/lib/util/getScrollParent.mjs.map +1 -1
- package/lib/util/globals.mjs +1 -0
- package/lib/util/globals.mjs.map +1 -1
- package/lib/util/helpers.mjs +171 -31
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +4 -1
- 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 +102 -52
- package/dist/vuetify.css.map +0 -1
- package/dist/vuetify.min.css.map +0 -1
- package/lib/components/VAlert/_index.scss +0 -2
- package/lib/components/VApp/_index.scss +0 -1
- package/lib/components/VAppBar/VAppBarTitle.sass +0 -10
- package/lib/components/VAppBar/_index.scss +0 -2
- package/lib/components/VAvatar/_index.scss +0 -3
- package/lib/components/VBadge/_index.scss +0 -2
- package/lib/components/VBanner/VBannerAvatar.mjs +0 -29
- package/lib/components/VBanner/VBannerAvatar.mjs.map +0 -1
- package/lib/components/VBanner/VBannerContent.mjs +0 -3
- package/lib/components/VBanner/VBannerContent.mjs.map +0 -1
- package/lib/components/VBanner/_index.scss +0 -2
- package/lib/components/VBottomNavigation/_index.scss +0 -2
- package/lib/components/VBreadcrumbs/_index.scss +0 -2
- package/lib/components/VBtn/_index.scss +0 -3
- package/lib/components/VCard/VCardMedia.mjs +0 -3
- package/lib/components/VCard/VCardMedia.mjs.map +0 -1
- package/lib/components/VCard/_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/VChip/_index.scss +0 -3
- package/lib/components/VCode/_index.scss +0 -2
- 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/VDialog/_index.scss +0 -2
- package/lib/components/VDivider/_index.scss +0 -2
- package/lib/components/VExpansionPanel/VExpansionPanelContent.mjs +0 -61
- 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/VItemGroup/_index.scss +0 -2
- package/lib/components/VKbd/_index.scss +0 -2
- package/lib/components/VLayout/_index.scss +0 -1
- package/lib/components/VList/_index.scss +0 -3
- package/lib/components/VList/_mixins.scss +0 -0
- package/lib/components/VMain/_index.scss +0 -2
- package/lib/components/VNavigationDrawer/_index.scss +0 -2
- package/lib/components/VOverlay/_index.scss +0 -2
- package/lib/components/VPagination/_index.scss +0 -2
- package/lib/components/VParallax/_variables.scss +0 -4
- package/lib/components/VProgressCircular/_index.scss +0 -2
- 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/VRating/_index.scss +0 -2
- 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/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/VTimeline/_index.scss +0 -3
- package/lib/components/VToolbar/_index.scss +0 -2
- package/lib/entry.d.ts +0 -3647
- package/lib/entry.mjs +0 -4
- package/lib/entry.mjs.map +0 -1
- package/lib/framework.d.ts +0 -158
- package/lib/globals.d.mjs +0 -2
- package/lib/globals.d.mjs.map +0 -1
- package/lib/mixins/activatable/index.mjs +0 -199
- 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/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/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 -388
- 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/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 -58
- package/lib/services/application/index.mjs.map +0 -1
- package/lib/services/breakpoint/index.mjs +0 -175
- 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 -73
- package/lib/services/lang/index.mjs.map +0 -1
- package/lib/services/service/index.mjs +0 -13
- 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/settings/_dark.scss +0 -137
- package/lib/styles/settings/_light.scss +0 -118
- package/lib/styles/settings/_theme.scss +0 -1
- package/lib/styles/styles.sass +0 -2
- package/lib/util/makeProps.mjs +0 -53
- package/lib/util/makeProps.mjs.map +0 -1
|
@@ -1,43 +1,49 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Composables
|
|
2
|
+
import { useProxiedModel } from "./proxiedModel.mjs"; // Utilities
|
|
3
|
+
|
|
2
4
|
import { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef } from 'vue';
|
|
3
|
-
import {
|
|
4
|
-
import { consoleWarn, deepEqual, getUid, propsFactory, wrapInArray } from "../util/index.mjs"; // Types
|
|
5
|
+
import { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory, wrapInArray } from "../util/index.mjs"; // Types
|
|
5
6
|
|
|
6
7
|
export const makeGroupProps = propsFactory({
|
|
7
8
|
modelValue: {
|
|
8
|
-
type:
|
|
9
|
+
type: null,
|
|
9
10
|
default: undefined
|
|
10
11
|
},
|
|
11
12
|
multiple: Boolean,
|
|
12
13
|
mandatory: [Boolean, String],
|
|
13
14
|
max: Number,
|
|
14
|
-
selectedClass: String
|
|
15
|
+
selectedClass: String,
|
|
16
|
+
disabled: Boolean
|
|
15
17
|
}, 'group');
|
|
16
18
|
export const makeGroupItemProps = propsFactory({
|
|
17
|
-
value:
|
|
18
|
-
type: [Number, Boolean, String, Object],
|
|
19
|
-
default: undefined
|
|
20
|
-
},
|
|
21
|
-
index: Number,
|
|
19
|
+
value: null,
|
|
22
20
|
disabled: Boolean,
|
|
23
21
|
selectedClass: String
|
|
24
|
-
}, 'group-item');
|
|
25
|
-
|
|
22
|
+
}, 'group-item');
|
|
26
23
|
export function useGroupItem(props, injectKey) {
|
|
24
|
+
let required = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
25
|
+
const vm = getCurrentInstance('useGroupItem');
|
|
26
|
+
|
|
27
|
+
if (!vm) {
|
|
28
|
+
throw new Error('[Vuetify] useGroupItem composable must be used inside a component setup function');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const id = getUid();
|
|
32
|
+
provide(Symbol.for(`${injectKey.description}:id`), id);
|
|
27
33
|
const group = inject(injectKey, null);
|
|
28
34
|
|
|
29
35
|
if (!group) {
|
|
36
|
+
if (!required) return group;
|
|
30
37
|
throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`);
|
|
31
38
|
}
|
|
32
39
|
|
|
33
|
-
const id = getUid();
|
|
34
40
|
const value = toRef(props, 'value');
|
|
35
|
-
const disabled =
|
|
41
|
+
const disabled = computed(() => group.disabled.value || props.disabled);
|
|
36
42
|
group.register({
|
|
37
43
|
id,
|
|
38
44
|
value,
|
|
39
45
|
disabled
|
|
40
|
-
},
|
|
46
|
+
}, vm);
|
|
41
47
|
onBeforeUnmount(() => {
|
|
42
48
|
group.unregister(id);
|
|
43
49
|
});
|
|
@@ -50,12 +56,14 @@ export function useGroupItem(props, injectKey) {
|
|
|
50
56
|
return isSelected.value && ((_group$selectedClass$ = group.selectedClass.value) != null ? _group$selectedClass$ : props.selectedClass);
|
|
51
57
|
});
|
|
52
58
|
return {
|
|
59
|
+
id,
|
|
53
60
|
isSelected,
|
|
54
61
|
toggle: () => group.select(id, !isSelected.value),
|
|
55
62
|
select: value => group.select(id, value),
|
|
56
63
|
selectedClass,
|
|
57
64
|
value,
|
|
58
|
-
disabled
|
|
65
|
+
disabled,
|
|
66
|
+
group
|
|
59
67
|
};
|
|
60
68
|
}
|
|
61
69
|
export function useGroup(props, injectKey) {
|
|
@@ -68,16 +76,27 @@ export function useGroup(props, injectKey) {
|
|
|
68
76
|
const arr = getValues(items, v);
|
|
69
77
|
return props.multiple ? arr : arr[0];
|
|
70
78
|
});
|
|
79
|
+
const groupVm = getCurrentInstance('useGroup');
|
|
71
80
|
|
|
72
|
-
function register(item,
|
|
81
|
+
function register(item, vm) {
|
|
73
82
|
// Is there a better way to fix this typing?
|
|
74
83
|
const unwrapped = item;
|
|
75
|
-
|
|
84
|
+
const key = Symbol.for(`${injectKey.description}:id`);
|
|
85
|
+
const children = findChildrenWithProvide(key, groupVm == null ? void 0 : groupVm.vnode);
|
|
86
|
+
const index = children.indexOf(vm);
|
|
87
|
+
|
|
88
|
+
if (index > -1) {
|
|
89
|
+
items.splice(index, 0, unwrapped);
|
|
90
|
+
} else {
|
|
91
|
+
items.push(unwrapped);
|
|
92
|
+
}
|
|
76
93
|
}
|
|
77
94
|
|
|
78
95
|
function unregister(id) {
|
|
79
|
-
if (isUnmounted) return;
|
|
80
|
-
|
|
96
|
+
if (isUnmounted) return; // TODO: re-evaluate this line's importance in the future
|
|
97
|
+
// should we only modify the model if mandatory is set.
|
|
98
|
+
// selected.value = selected.value.filter(v => v !== id)
|
|
99
|
+
|
|
81
100
|
forceMandatoryValue();
|
|
82
101
|
const index = items.findIndex(item => item.id === id);
|
|
83
102
|
items.splice(index, 1);
|
|
@@ -99,25 +118,32 @@ export function useGroup(props, injectKey) {
|
|
|
99
118
|
isUnmounted = true;
|
|
100
119
|
});
|
|
101
120
|
|
|
102
|
-
function select(id,
|
|
121
|
+
function select(id, value) {
|
|
103
122
|
const item = items.find(item => item.id === id);
|
|
104
|
-
if (
|
|
123
|
+
if (value && item != null && item.disabled) return;
|
|
105
124
|
|
|
106
125
|
if (props.multiple) {
|
|
126
|
+
var _value;
|
|
127
|
+
|
|
107
128
|
const internalValue = selected.value.slice();
|
|
108
|
-
const index = internalValue.findIndex(v => v === id);
|
|
129
|
+
const index = internalValue.findIndex(v => v === id);
|
|
130
|
+
const isSelected = ~index;
|
|
131
|
+
value = (_value = value) != null ? _value : !isSelected; // We can't remove value if group is
|
|
109
132
|
// mandatory, value already exists,
|
|
110
133
|
// and it is the only value
|
|
111
134
|
|
|
112
|
-
if (props.mandatory &&
|
|
135
|
+
if (isSelected && props.mandatory && internalValue.length <= 1) return; // We can't add value if it would
|
|
113
136
|
// cause max limit to be exceeded
|
|
114
137
|
|
|
115
|
-
if (props.max != null &&
|
|
116
|
-
if (index < 0 &&
|
|
138
|
+
if (!isSelected && props.max != null && internalValue.length + 1 > props.max) return;
|
|
139
|
+
if (index < 0 && value) internalValue.push(id);else if (index >= 0 && !value) internalValue.splice(index, 1);
|
|
117
140
|
selected.value = internalValue;
|
|
118
141
|
} else {
|
|
119
|
-
|
|
120
|
-
|
|
142
|
+
var _value2;
|
|
143
|
+
|
|
144
|
+
const isSelected = selected.value.includes(id);
|
|
145
|
+
if (props.mandatory && isSelected) return;
|
|
146
|
+
selected.value = ((_value2 = value) != null ? _value2 : !isSelected) ? [id] : [];
|
|
121
147
|
}
|
|
122
148
|
}
|
|
123
149
|
|
|
@@ -149,10 +175,12 @@ export function useGroup(props, injectKey) {
|
|
|
149
175
|
unregister,
|
|
150
176
|
selected,
|
|
151
177
|
select,
|
|
178
|
+
disabled: toRef(props, 'disabled'),
|
|
152
179
|
prev: () => step(items.length - 1),
|
|
153
180
|
next: () => step(1),
|
|
154
181
|
isSelected: id => selected.value.includes(id),
|
|
155
|
-
selectedClass: computed(() => props.selectedClass)
|
|
182
|
+
selectedClass: computed(() => props.selectedClass),
|
|
183
|
+
items: computed(() => items)
|
|
156
184
|
};
|
|
157
185
|
provide(injectKey, state);
|
|
158
186
|
return state;
|
|
@@ -161,12 +189,14 @@ export function useGroup(props, injectKey) {
|
|
|
161
189
|
function getIds(items, modelValue) {
|
|
162
190
|
const ids = [];
|
|
163
191
|
|
|
164
|
-
for (
|
|
192
|
+
for (let i = 0; i < items.length; i++) {
|
|
193
|
+
const item = items[i];
|
|
194
|
+
|
|
165
195
|
if (item.value != null) {
|
|
166
|
-
if (modelValue.find(value => deepEqual(value, item.value))) {
|
|
196
|
+
if (modelValue.find(value => deepEqual(value, item.value)) != null) {
|
|
167
197
|
ids.push(item.id);
|
|
168
198
|
}
|
|
169
|
-
} else if (modelValue.includes(
|
|
199
|
+
} else if (modelValue.includes(i)) {
|
|
170
200
|
ids.push(item.id);
|
|
171
201
|
}
|
|
172
202
|
}
|
|
@@ -177,9 +207,11 @@ function getIds(items, modelValue) {
|
|
|
177
207
|
function getValues(items, ids) {
|
|
178
208
|
const values = [];
|
|
179
209
|
|
|
180
|
-
for (
|
|
210
|
+
for (let i = 0; i < items.length; i++) {
|
|
211
|
+
const item = items[i];
|
|
212
|
+
|
|
181
213
|
if (ids.includes(item.id)) {
|
|
182
|
-
values.push(item.value != null ? item.value :
|
|
214
|
+
values.push(item.value != null ? item.value : i);
|
|
183
215
|
}
|
|
184
216
|
}
|
|
185
217
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/composables/group.ts"],"names":["computed","inject","onBeforeUnmount","onMounted","provide","reactive","toRef","useProxiedModel","consoleWarn","deepEqual","getUid","propsFactory","wrapInArray","makeGroupProps","modelValue","type","Number","Boolean","String","Array","Object","default","undefined","multiple","mandatory","max","selectedClass","makeGroupItemProps","value","index","disabled","useGroupItem","props","injectKey","group","Error","description","id","register","unregister","isSelected","toggle","select","useGroup","isUnmounted","items","selected","v","getIds","arr","getValues","item","unwrapped","splice","push","filter","forceMandatoryValue","findIndex","find","length","internalValue","slice","includes","step","offset","currentId","currentIndex","i","newIndex","newItem","state","prev","next","ids","values"],"mappings":"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","sourcesContent":["// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef } from 'vue'\nimport { useProxiedModel } from './proxiedModel'\nimport { consoleWarn, deepEqual, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\n\ninterface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n}\n\ninterface GroupProps {\n modelValue?: unknown\n multiple?: boolean\n mandatory?: boolean | 'force'\n max?: number\n selectedClass?: string\n}\n\ninterface GroupProvide {\n register: (item: GroupItem, index?: number) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<any[]>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref<string | undefined>\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: [Number, Boolean, String, Array, Object],\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: {\n type: [Number, Boolean, String, Object],\n default: undefined,\n },\n index: Number,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\n// Composables\nexport function useGroupItem (\n props: { value?: unknown, index?: number, disabled?: boolean, selectedClass?: string },\n injectKey: InjectionKey<GroupProvide>,\n) {\n const group = inject(injectKey, null)\n\n if (!group) {\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const id = getUid()\n const value = toRef(props, 'value')\n const disabled = toRef(props, 'disabled')\n\n group.register({\n id,\n value,\n disabled,\n }, props.index)\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 return {\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\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 function register (item: GroupItem, index?: number) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n if (index != null) items.splice(index, 0, unwrapped)\n else items.push(unwrapped)\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\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, isSelected: boolean) {\n const item = items.find(item => item.id === id)\n if (isSelected && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\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 props.mandatory &&\n index > -1 &&\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 props.max != null &&\n index < 0 &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && isSelected) internalValue.push(id)\n else if (index >= 0 && !isSelected) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n if (props.mandatory && selected.value.includes(id)) return\n\n selected.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 = {\n register,\n unregister,\n selected,\n select,\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids = []\n for (const item of items) {\n if (item.value != null) {\n if (modelValue.find(value => deepEqual(value, item.value))) {\n ids.push(item.id)\n }\n } else if (modelValue.includes(item.id)) {\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 (const item of items) {\n if (ids.includes(item.id)) {\n values.push(item.value != null ? item.value : item.id)\n }\n }\n\n return values\n}\n"],"file":"group.mjs"}
|
|
1
|
+
{"version":3,"sources":["../../src/composables/group.ts"],"names":["useProxiedModel","computed","inject","onBeforeUnmount","onMounted","provide","reactive","toRef","consoleWarn","deepEqual","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","wrapInArray","makeGroupProps","modelValue","type","default","undefined","multiple","Boolean","mandatory","String","max","Number","selectedClass","disabled","makeGroupItemProps","value","useGroupItem","props","injectKey","required","vm","Error","id","Symbol","for","description","group","register","unregister","isSelected","toggle","select","useGroup","isUnmounted","items","selected","v","getIds","arr","getValues","groupVm","item","unwrapped","key","children","vnode","index","indexOf","splice","push","forceMandatoryValue","findIndex","find","length","internalValue","slice","includes","step","offset","currentId","currentIndex","i","newIndex","newItem","state","prev","next","ids","values"],"mappings":"AAAA;SACSA,e,8BAET;;AACA,SAASC,QAAT,EAAmBC,MAAnB,EAA2BC,eAA3B,EAA4CC,SAA5C,EAAuDC,OAAvD,EAAgEC,QAAhE,EAA0EC,KAA1E,QAAuF,KAAvF;SACSC,W,EAAaC,S,EAAWC,uB,EAAyBC,kB,EAAoBC,M,EAAQC,Y,EAAcC,W,6BAEpG;;AA+CA,OAAO,MAAMC,cAAc,GAAGF,YAAY,CAAC;AACzCG,EAAAA,UAAU,EAAE;AACVC,IAAAA,IAAI,EAAE,IADI;AAEVC,IAAAA,OAAO,EAAEC;AAFC,GAD6B;AAKzCC,EAAAA,QAAQ,EAAEC,OAL+B;AAMzCC,EAAAA,SAAS,EAAE,CAACD,OAAD,EAAUE,MAAV,CAN8B;AAOzCC,EAAAA,GAAG,EAAEC,MAPoC;AAQzCC,EAAAA,aAAa,EAAEH,MAR0B;AASzCI,EAAAA,QAAQ,EAAEN;AAT+B,CAAD,EAUvC,OAVuC,CAAnC;AAYP,OAAO,MAAMO,kBAAkB,GAAGf,YAAY,CAAC;AAC7CgB,EAAAA,KAAK,EAAE,IADsC;AAE7CF,EAAAA,QAAQ,EAAEN,OAFmC;AAG7CK,EAAAA,aAAa,EAAEH;AAH8B,CAAD,EAI3C,YAJ2C,CAAvC;AAmBP,OAAO,SAASO,YAAT,CACLC,KADK,EAELC,SAFK,EAIoB;AAAA,MADzBC,QACyB,uEADd,IACc;AACzB,QAAMC,EAAE,GAAGvB,kBAAkB,CAAC,cAAD,CAA7B;;AAEA,MAAI,CAACuB,EAAL,EAAS;AACP,UAAM,IAAIC,KAAJ,CACJ,kFADI,CAAN;AAGD;;AAED,QAAMC,EAAE,GAAGxB,MAAM,EAAjB;AAEAP,EAAAA,OAAO,CAACgC,MAAM,CAACC,GAAP,CAAY,GAAEN,SAAS,CAACO,WAAY,KAApC,CAAD,EAA4CH,EAA5C,CAAP;AAEA,QAAMI,KAAK,GAAGtC,MAAM,CAAC8B,SAAD,EAAY,IAAZ,CAApB;;AAEA,MAAI,CAACQ,KAAL,EAAY;AACV,QAAI,CAACP,QAAL,EAAe,OAAOO,KAAP;AAEf,UAAM,IAAIL,KAAJ,CAAW,2DAA0DH,SAAS,CAACO,WAAY,EAA3F,CAAN;AACD;;AAED,QAAMV,KAAK,GAAGtB,KAAK,CAACwB,KAAD,EAAQ,OAAR,CAAnB;AACA,QAAMJ,QAAQ,GAAG1B,QAAQ,CAAC,MAAMuC,KAAK,CAACb,QAAN,CAAeE,KAAf,IAAwBE,KAAK,CAACJ,QAArC,CAAzB;AAEAa,EAAAA,KAAK,CAACC,QAAN,CAAe;AACbL,IAAAA,EADa;AAEbP,IAAAA,KAFa;AAGbF,IAAAA;AAHa,GAAf,EAIGO,EAJH;AAMA/B,EAAAA,eAAe,CAAC,MAAM;AACpBqC,IAAAA,KAAK,CAACE,UAAN,CAAiBN,EAAjB;AACD,GAFc,CAAf;AAIA,QAAMO,UAAU,GAAG1C,QAAQ,CAAC,MAAM;AAChC,WAAOuC,KAAK,CAACG,UAAN,CAAiBP,EAAjB,CAAP;AACD,GAF0B,CAA3B;AAIA,QAAMV,aAAa,GAAGzB,QAAQ,CAAC;AAAA;;AAAA,WAAM0C,UAAU,CAACd,KAAX,8BAAqBW,KAAK,CAACd,aAAN,CAAoBG,KAAzC,oCAAkDE,KAAK,CAACL,aAAxD,CAAN;AAAA,GAAD,CAA9B;AAEA,SAAO;AACLU,IAAAA,EADK;AAELO,IAAAA,UAFK;AAGLC,IAAAA,MAAM,EAAE,MAAMJ,KAAK,CAACK,MAAN,CAAaT,EAAb,EAAiB,CAACO,UAAU,CAACd,KAA7B,CAHT;AAILgB,IAAAA,MAAM,EAAGhB,KAAD,IAAoBW,KAAK,CAACK,MAAN,CAAaT,EAAb,EAAiBP,KAAjB,CAJvB;AAKLH,IAAAA,aALK;AAMLG,IAAAA,KANK;AAOLF,IAAAA,QAPK;AAQLa,IAAAA;AARK,GAAP;AAUD;AAED,OAAO,SAASM,QAAT,CACLf,KADK,EAELC,SAFK,EAGL;AACA,MAAIe,WAAW,GAAG,KAAlB;AACA,QAAMC,KAAK,GAAG1C,QAAQ,CAAc,EAAd,CAAtB;AACA,QAAM2C,QAAQ,GAAGjD,eAAe,CAC9B+B,KAD8B,EAE9B,YAF8B,EAG9B,EAH8B,EAI9BmB,CAAC,IAAI;AACH,QAAIA,CAAC,IAAI,IAAT,EAAe,OAAO,EAAP;AAEf,WAAOC,MAAM,CAACH,KAAD,EAAQlC,WAAW,CAACoC,CAAD,CAAnB,CAAb;AACD,GAR6B,EAS9BA,CAAC,IAAI;AACH,UAAME,GAAG,GAAGC,SAAS,CAACL,KAAD,EAAQE,CAAR,CAArB;AAEA,WAAOnB,KAAK,CAACX,QAAN,GAAiBgC,GAAjB,GAAuBA,GAAG,CAAC,CAAD,CAAjC;AACD,GAb6B,CAAhC;AAgBA,QAAME,OAAO,GAAG3C,kBAAkB,CAAC,UAAD,CAAlC;;AAEA,WAAS8B,QAAT,CAAmBc,IAAnB,EAAoCrB,EAApC,EAAmE;AACjE;AACA,UAAMsB,SAAS,GAAGD,IAAlB;AAEA,UAAME,GAAG,GAAGpB,MAAM,CAACC,GAAP,CAAY,GAAEN,SAAS,CAACO,WAAY,KAApC,CAAZ;AACA,UAAMmB,QAAQ,GAAGhD,uBAAuB,CAAC+C,GAAD,EAAMH,OAAN,oBAAMA,OAAO,CAAEK,KAAf,CAAxC;AACA,UAAMC,KAAK,GAAGF,QAAQ,CAACG,OAAT,CAAiB3B,EAAjB,CAAd;;AAEA,QAAI0B,KAAK,GAAG,CAAC,CAAb,EAAgB;AACdZ,MAAAA,KAAK,CAACc,MAAN,CAAaF,KAAb,EAAoB,CAApB,EAAuBJ,SAAvB;AACD,KAFD,MAEO;AACLR,MAAAA,KAAK,CAACe,IAAN,CAAWP,SAAX;AACD;AACF;;AAED,WAASd,UAAT,CAAqBN,EAArB,EAAiC;AAC/B,QAAIW,WAAJ,EAAiB,OADc,CAG/B;AACA;AACA;;AAEAiB,IAAAA,mBAAmB;AAEnB,UAAMJ,KAAK,GAAGZ,KAAK,CAACiB,SAAN,CAAgBV,IAAI,IAAIA,IAAI,CAACnB,EAAL,KAAYA,EAApC,CAAd;AACAY,IAAAA,KAAK,CAACc,MAAN,CAAaF,KAAb,EAAoB,CAApB;AACD,GA/CD,CAiDA;;;AACA,WAASI,mBAAT,GAAgC;AAC9B,UAAMT,IAAI,GAAGP,KAAK,CAACkB,IAAN,CAAWX,IAAI,IAAI,CAACA,IAAI,CAAC5B,QAAzB,CAAb;;AACA,QAAI4B,IAAI,IAAIxB,KAAK,CAACT,SAAN,KAAoB,OAA5B,IAAuC,CAAC2B,QAAQ,CAACpB,KAAT,CAAesC,MAA3D,EAAmE;AACjElB,MAAAA,QAAQ,CAACpB,KAAT,GAAiB,CAAC0B,IAAI,CAACnB,EAAN,CAAjB;AACD;AACF;;AAEDhC,EAAAA,SAAS,CAAC,MAAM;AACd4D,IAAAA,mBAAmB;AACpB,GAFQ,CAAT;AAIA7D,EAAAA,eAAe,CAAC,MAAM;AACpB4C,IAAAA,WAAW,GAAG,IAAd;AACD,GAFc,CAAf;;AAIA,WAASF,MAAT,CAAiBT,EAAjB,EAA6BP,KAA7B,EAA8C;AAC5C,UAAM0B,IAAI,GAAGP,KAAK,CAACkB,IAAN,CAAWX,IAAI,IAAIA,IAAI,CAACnB,EAAL,KAAYA,EAA/B,CAAb;AACA,QAAIP,KAAK,IAAI0B,IAAJ,YAAIA,IAAI,CAAE5B,QAAnB,EAA6B;;AAE7B,QAAII,KAAK,CAACX,QAAV,EAAoB;AAAA;;AAClB,YAAMgD,aAAa,GAAGnB,QAAQ,CAACpB,KAAT,CAAewC,KAAf,EAAtB;AACA,YAAMT,KAAK,GAAGQ,aAAa,CAACH,SAAd,CAAwBf,CAAC,IAAIA,CAAC,KAAKd,EAAnC,CAAd;AACA,YAAMO,UAAU,GAAG,CAACiB,KAApB;AACA/B,MAAAA,KAAK,aAAGA,KAAH,qBAAY,CAACc,UAAlB,CAJkB,CAMlB;AACA;AACA;;AACA,UACEA,UAAU,IACVZ,KAAK,CAACT,SADN,IAEA8C,aAAa,CAACD,MAAd,IAAwB,CAH1B,EAIE,OAbgB,CAelB;AACA;;AACA,UACE,CAACxB,UAAD,IACAZ,KAAK,CAACP,GAAN,IAAa,IADb,IAEA4C,aAAa,CAACD,MAAd,GAAuB,CAAvB,GAA2BpC,KAAK,CAACP,GAHnC,EAIE;AAEF,UAAIoC,KAAK,GAAG,CAAR,IAAa/B,KAAjB,EAAwBuC,aAAa,CAACL,IAAd,CAAmB3B,EAAnB,EAAxB,KACK,IAAIwB,KAAK,IAAI,CAAT,IAAc,CAAC/B,KAAnB,EAA0BuC,aAAa,CAACN,MAAd,CAAqBF,KAArB,EAA4B,CAA5B;AAE/BX,MAAAA,QAAQ,CAACpB,KAAT,GAAiBuC,aAAjB;AACD,KA3BD,MA2BO;AAAA;;AACL,YAAMzB,UAAU,GAAGM,QAAQ,CAACpB,KAAT,CAAeyC,QAAf,CAAwBlC,EAAxB,CAAnB;AACA,UAAIL,KAAK,CAACT,SAAN,IAAmBqB,UAAvB,EAAmC;AAEnCM,MAAAA,QAAQ,CAACpB,KAAT,GAAiB,YAACA,KAAD,sBAAU,CAACc,UAAX,IAAyB,CAACP,EAAD,CAAzB,GAAgC,EAAjD;AACD;AACF;;AAED,WAASmC,IAAT,CAAeC,MAAf,EAA+B;AAC7B;AACA,QAAIzC,KAAK,CAACX,QAAV,EAAoBZ,WAAW,CAAC,yDAAD,CAAX;;AAEpB,QAAI,CAACyC,QAAQ,CAACpB,KAAT,CAAesC,MAApB,EAA4B;AAC1B,YAAMZ,IAAI,GAAGP,KAAK,CAACkB,IAAN,CAAWX,IAAI,IAAI,CAACA,IAAI,CAAC5B,QAAzB,CAAb;AACA4B,MAAAA,IAAI,KAAKN,QAAQ,CAACpB,KAAT,GAAiB,CAAC0B,IAAI,CAACnB,EAAN,CAAtB,CAAJ;AACD,KAHD,MAGO;AACL,YAAMqC,SAAS,GAAGxB,QAAQ,CAACpB,KAAT,CAAe,CAAf,CAAlB;AACA,YAAM6C,YAAY,GAAG1B,KAAK,CAACiB,SAAN,CAAgBU,CAAC,IAAIA,CAAC,CAACvC,EAAF,KAASqC,SAA9B,CAArB;AAEA,UAAIG,QAAQ,GAAG,CAACF,YAAY,GAAGF,MAAhB,IAA0BxB,KAAK,CAACmB,MAA/C;AACA,UAAIU,OAAO,GAAG7B,KAAK,CAAC4B,QAAD,CAAnB;;AAEA,aAAOC,OAAO,CAAClD,QAAR,IAAoBiD,QAAQ,KAAKF,YAAxC,EAAsD;AACpDE,QAAAA,QAAQ,GAAG,CAACA,QAAQ,GAAGJ,MAAZ,IAAsBxB,KAAK,CAACmB,MAAvC;AACAU,QAAAA,OAAO,GAAG7B,KAAK,CAAC4B,QAAD,CAAf;AACD;;AAED,UAAIC,OAAO,CAAClD,QAAZ,EAAsB;AAEtBsB,MAAAA,QAAQ,CAACpB,KAAT,GAAiB,CAACmB,KAAK,CAAC4B,QAAD,CAAL,CAAgBxC,EAAjB,CAAjB;AACD;AACF;;AAED,QAAM0C,KAAK,GAAG;AACZrC,IAAAA,QADY;AAEZC,IAAAA,UAFY;AAGZO,IAAAA,QAHY;AAIZJ,IAAAA,MAJY;AAKZlB,IAAAA,QAAQ,EAAEpB,KAAK,CAACwB,KAAD,EAAQ,UAAR,CALH;AAMZgD,IAAAA,IAAI,EAAE,MAAMR,IAAI,CAACvB,KAAK,CAACmB,MAAN,GAAe,CAAhB,CANJ;AAOZa,IAAAA,IAAI,EAAE,MAAMT,IAAI,CAAC,CAAD,CAPJ;AAQZ5B,IAAAA,UAAU,EAAGP,EAAD,IAAgBa,QAAQ,CAACpB,KAAT,CAAeyC,QAAf,CAAwBlC,EAAxB,CARhB;AASZV,IAAAA,aAAa,EAAEzB,QAAQ,CAAC,MAAM8B,KAAK,CAACL,aAAb,CATX;AAUZsB,IAAAA,KAAK,EAAE/C,QAAQ,CAAC,MAAM+C,KAAP;AAVH,GAAd;AAaA3C,EAAAA,OAAO,CAAC2B,SAAD,EAAY8C,KAAZ,CAAP;AAEA,SAAOA,KAAP;AACD;;AAED,SAAS3B,MAAT,CAAiBH,KAAjB,EAAgDhC,UAAhD,EAAmE;AACjE,QAAMiE,GAAG,GAAG,EAAZ;;AACA,OAAK,IAAIN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG3B,KAAK,CAACmB,MAA1B,EAAkCQ,CAAC,EAAnC,EAAuC;AACrC,UAAMpB,IAAI,GAAGP,KAAK,CAAC2B,CAAD,CAAlB;;AAEA,QAAIpB,IAAI,CAAC1B,KAAL,IAAc,IAAlB,EAAwB;AACtB,UAAIb,UAAU,CAACkD,IAAX,CAAgBrC,KAAK,IAAIpB,SAAS,CAACoB,KAAD,EAAQ0B,IAAI,CAAC1B,KAAb,CAAlC,KAA0D,IAA9D,EAAoE;AAClEoD,QAAAA,GAAG,CAAClB,IAAJ,CAASR,IAAI,CAACnB,EAAd;AACD;AACF,KAJD,MAIO,IAAIpB,UAAU,CAACsD,QAAX,CAAoBK,CAApB,CAAJ,EAA4B;AACjCM,MAAAA,GAAG,CAAClB,IAAJ,CAASR,IAAI,CAACnB,EAAd;AACD;AACF;;AAED,SAAO6C,GAAP;AACD;;AAED,SAAS5B,SAAT,CAAoBL,KAApB,EAAmDiC,GAAnD,EAA+D;AAC7D,QAAMC,MAAM,GAAG,EAAf;;AAEA,OAAK,IAAIP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG3B,KAAK,CAACmB,MAA1B,EAAkCQ,CAAC,EAAnC,EAAuC;AACrC,UAAMpB,IAAI,GAAGP,KAAK,CAAC2B,CAAD,CAAlB;;AAEA,QAAIM,GAAG,CAACX,QAAJ,CAAaf,IAAI,CAACnB,EAAlB,CAAJ,EAA2B;AACzB8C,MAAAA,MAAM,CAACnB,IAAP,CAAYR,IAAI,CAAC1B,KAAL,IAAc,IAAd,GAAqB0B,IAAI,CAAC1B,KAA1B,GAAkC8C,CAA9C;AACD;AACF;;AAED,SAAOO,MAAP;AACD","sourcesContent":["// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef } 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<any[]>\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}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<string | false | undefined>\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 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 = {\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 }\n\n provide(injectKey, state)\n\n return state\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"],"file":"group.mjs"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Utilities
|
|
2
|
+
import { getCurrentInstance, IN_BROWSER } from "../util/index.mjs";
|
|
3
|
+
import { onMounted } from 'vue';
|
|
4
|
+
export function useHydration(callback) {
|
|
5
|
+
var _vm$root, _vm$root$appContext, _vm$root$appContext$a;
|
|
6
|
+
|
|
7
|
+
if (!IN_BROWSER) return;
|
|
8
|
+
const vm = getCurrentInstance('useHydration');
|
|
9
|
+
const rootEl = vm == null ? void 0 : (_vm$root = vm.root) == null ? void 0 : (_vm$root$appContext = _vm$root.appContext) == null ? void 0 : (_vm$root$appContext$a = _vm$root$appContext.app) == null ? void 0 : _vm$root$appContext$a._container;
|
|
10
|
+
return rootEl != null && rootEl.__vue_app__ ? callback() : onMounted(callback);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=hydration.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/composables/hydration.ts"],"names":["getCurrentInstance","IN_BROWSER","onMounted","useHydration","callback","vm","rootEl","root","appContext","app","_container","__vue_app__"],"mappings":"AAAA;SACSA,kB,EAAoBC,U;AAC7B,SAASC,SAAT,QAA0B,KAA1B;AAEA,OAAO,SAASC,YAAT,CAAuBC,QAAvB,EAA6C;AAAA;;AAClD,MAAI,CAACH,UAAL,EAAiB;AAEjB,QAAMI,EAAE,GAAGL,kBAAkB,CAAC,cAAD,CAA7B;AACA,QAAMM,MAAM,GAAGD,EAAH,gCAAGA,EAAE,CAAEE,IAAP,4CAAG,SAAUC,UAAb,8CAAG,oBAAsBC,GAAzB,qBAAG,sBAA2BC,UAA1C;AAEA,SAAOJ,MAAM,QAAN,IAAAA,MAAM,CAAEK,WAAR,GAAsBP,QAAQ,EAA9B,GAAmCF,SAAS,CAACE,QAAD,CAAnD;AACD","sourcesContent":["// 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"],"file":"hydration.mjs"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
|
|
2
2
|
// Utilities
|
|
3
|
-
import { computed,
|
|
4
|
-
import {
|
|
5
|
-
import { propsFactory } from "../util/propsFactory.mjs"; // Types
|
|
3
|
+
import { computed, inject, isRef } from 'vue';
|
|
4
|
+
import { defineComponent, propsFactory } from "../util/index.mjs"; // Types
|
|
6
5
|
|
|
7
6
|
export const IconSymbol = Symbol.for('vuetify:icons');
|
|
8
7
|
export const makeIconProps = propsFactory({
|
|
@@ -18,7 +17,7 @@ export const makeIconProps = propsFactory({
|
|
|
18
17
|
}, 'icon');
|
|
19
18
|
export const VComponentIcon = defineComponent({
|
|
20
19
|
name: 'VComponentIcon',
|
|
21
|
-
props:
|
|
20
|
+
props: makeIconProps(),
|
|
22
21
|
|
|
23
22
|
setup(props) {
|
|
24
23
|
return () => {
|
|
@@ -32,11 +31,12 @@ export const VComponentIcon = defineComponent({
|
|
|
32
31
|
export const VSvgIcon = defineComponent({
|
|
33
32
|
name: 'VSvgIcon',
|
|
34
33
|
inheritAttrs: false,
|
|
35
|
-
props:
|
|
34
|
+
props: makeIconProps(),
|
|
36
35
|
|
|
37
|
-
setup(props, {
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
setup(props, _ref) {
|
|
37
|
+
let {
|
|
38
|
+
attrs
|
|
39
|
+
} = _ref;
|
|
40
40
|
return () => {
|
|
41
41
|
return _createVNode(props.tag, _mergeProps(attrs, {
|
|
42
42
|
"style": null
|
|
@@ -49,15 +49,15 @@ export const VSvgIcon = defineComponent({
|
|
|
49
49
|
"aria-hidden": "true"
|
|
50
50
|
}, [_createVNode("path", {
|
|
51
51
|
"d": props.icon
|
|
52
|
-
}, null
|
|
53
|
-
}
|
|
52
|
+
}, null)])]
|
|
53
|
+
});
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
});
|
|
58
58
|
export const VLigatureIcon = defineComponent({
|
|
59
59
|
name: 'VLigatureIcon',
|
|
60
|
-
props:
|
|
60
|
+
props: makeIconProps(),
|
|
61
61
|
|
|
62
62
|
setup(props) {
|
|
63
63
|
return () => {
|
|
@@ -70,13 +70,13 @@ export const VLigatureIcon = defineComponent({
|
|
|
70
70
|
});
|
|
71
71
|
export const VClassIcon = defineComponent({
|
|
72
72
|
name: 'VClassIcon',
|
|
73
|
-
props:
|
|
73
|
+
props: makeIconProps(),
|
|
74
74
|
|
|
75
75
|
setup(props) {
|
|
76
76
|
return () => {
|
|
77
77
|
return _createVNode(props.tag, {
|
|
78
78
|
"class": props.icon
|
|
79
|
-
}, null
|
|
79
|
+
}, null);
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -113,17 +113,11 @@ export const useIcon = props => {
|
|
|
113
113
|
};
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
const
|
|
117
|
-
const
|
|
118
|
-
const
|
|
119
|
-
const set = icons.sets[setName != null ? setName : icons.defaultSet];
|
|
120
|
-
|
|
121
|
-
if (!set) {
|
|
122
|
-
throw new Error(`Could not find icon set "${setName}"`);
|
|
123
|
-
}
|
|
124
|
-
|
|
116
|
+
const iconSetName = Object.keys(icons.sets).find(setName => typeof icon === 'string' && icon.startsWith(`${setName}:`));
|
|
117
|
+
const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon;
|
|
118
|
+
const iconSet = icons.sets[iconSetName != null ? iconSetName : icons.defaultSet];
|
|
125
119
|
return {
|
|
126
|
-
component:
|
|
120
|
+
component: iconSet.component,
|
|
127
121
|
icon: iconName
|
|
128
122
|
};
|
|
129
123
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/composables/icons.tsx"],"names":["computed","
|
|
1
|
+
{"version":3,"sources":["../../src/composables/icons.tsx"],"names":["computed","inject","isRef","defineComponent","propsFactory","IconSymbol","Symbol","for","makeIconProps","icon","type","String","Object","required","tag","VComponentIcon","name","props","setup","VSvgIcon","inheritAttrs","attrs","VLigatureIcon","VClassIcon","defaultSets","svg","component","class","useIcon","icons","Error","iconData","iconAlias","value","includes","aliases","slice","indexOf","iconSetName","keys","sets","find","setName","startsWith","iconName","length","iconSet","defaultSet"],"mappings":";AAAA;AACA,SAASA,QAAT,EAAmBC,MAAnB,EAA2BC,KAA3B,QAAwC,KAAxC;SACSC,e,EAAiBC,Y,6BAE1B;;AAiEA,OAAO,MAAMC,UAAqC,GAAGC,MAAM,CAACC,GAAP,CAAW,eAAX,CAA9C;AAEP,OAAO,MAAMC,aAAa,GAAGJ,YAAY,CAAC;AACxCK,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE,CAACC,MAAD,EAASC,MAAT,CADF;AAEJC,IAAAA,QAAQ,EAAE;AAFN,GADkC;AAKxC;AACAC,EAAAA,GAAG,EAAE;AACHJ,IAAAA,IAAI,EAAEC,MADH;AAEHE,IAAAA,QAAQ,EAAE;AAFP;AANmC,CAAD,EAUtC,MAVsC,CAAlC;AAYP,OAAO,MAAME,cAAc,GAAGZ,eAAe,CAAC;AAC5Ca,EAAAA,IAAI,EAAE,gBADsC;AAG5CC,EAAAA,KAAK,EAAET,aAAa,EAHwB;;AAK5CU,EAAAA,KAAK,CAAED,KAAF,EAAS;AACZ,WAAO,MAAM;AACX;AAAA;AAAA;AAKD,KAND;AAOD;;AAb2C,CAAD,CAAtC;AAgBP,OAAO,MAAME,QAAQ,GAAGhB,eAAe,CAAC;AACtCa,EAAAA,IAAI,EAAE,UADgC;AAGtCI,EAAAA,YAAY,EAAE,KAHwB;AAKtCH,EAAAA,KAAK,EAAET,aAAa,EALkB;;AAOtCU,EAAAA,KAAK,CAAED,KAAF,QAAoB;AAAA,QAAX;AAAEI,MAAAA;AAAF,KAAW;AACvB,WAAO,MAAM;AACX,iDACkBA,KADlB;AAAA,iBACkC;AADlC;AAAA;AAAA,mBAGY,aAHZ;AAAA,mBAIY,4BAJZ;AAAA,qBAKc,WALd;AAAA,kBAMW,KANX;AAAA,yBAOkB;AAPlB;AAAA,eASgBJ,KAAK,CAACR;AATtB;AAAA;AAaD,KAdD;AAeD;;AAvBqC,CAAD,CAAhC;AA0BP,OAAO,MAAMa,aAAa,GAAGnB,eAAe,CAAC;AAC3Ca,EAAAA,IAAI,EAAE,eADqC;AAG3CC,EAAAA,KAAK,EAAET,aAAa,EAHuB;;AAK3CU,EAAAA,KAAK,CAAED,KAAF,EAAS;AACZ,WAAO,MAAM;AACX;AAAA,wBAAoBA,KAAK,CAACR,IAA1B;AAAA;AACD,KAFD;AAGD;;AAT0C,CAAD,CAArC;AAYP,OAAO,MAAMc,UAAU,GAAGpB,eAAe,CAAC;AACxCa,EAAAA,IAAI,EAAE,YADkC;AAGxCC,EAAAA,KAAK,EAAET,aAAa,EAHoB;;AAKxCU,EAAAA,KAAK,CAAED,KAAF,EAAS;AACZ,WAAO,MAAM;AACX;AAAA,iBAA0BA,KAAK,CAACR;AAAhC;AACD,KAFD;AAGD;;AATuC,CAAD,CAAlC;AAYP,OAAO,MAAMe,WAAoC,GAAG;AAClDC,EAAAA,GAAG,EAAE;AACHC,IAAAA,SAAS,EAAEP;AADR,GAD6C;AAIlDQ,EAAAA,KAAK,EAAE;AACLD,IAAAA,SAAS,EAAEH;AADN;AAJ2C,CAA7C,C,CASP;;AACA,OAAO,MAAMK,OAAO,GAAIX,KAAD,IAA2D;AAChF,QAAMY,KAAK,GAAG5B,MAAM,CAACI,UAAD,CAApB;AAEA,MAAI,CAACwB,KAAL,EAAY,MAAM,IAAIC,KAAJ,CAAU,gCAAV,CAAN;AAEZ,QAAMC,QAA2B,GAAG/B,QAAQ,CAAC,MAAM;AACjD,UAAMgC,SAAS,GAAG9B,KAAK,CAACe,KAAD,CAAL,GAAeA,KAAK,CAACgB,KAArB,GAA6BhB,KAAK,CAACR,IAArD;AAEA,QAAI,CAACuB,SAAL,EAAgB,MAAM,IAAIF,KAAJ,CAAU,iCAAV,CAAN;AAEhB,QAAIrB,IAA2B,GAAGuB,SAAlC;;AAEA,QAAI,OAAOA,SAAP,KAAqB,QAArB,IAAiCA,SAAS,CAACE,QAAV,CAAmB,GAAnB,CAArC,EAA8D;AAAA;;AAC5DzB,MAAAA,IAAI,qBAAGoB,KAAK,CAACM,OAAT,qBAAG,eAAgBH,SAAS,CAACI,KAAV,CAAgBJ,SAAS,CAACK,OAAV,CAAkB,GAAlB,IAAyB,CAAzC,CAAhB,CAAP;AACD;;AAED,QAAI,CAAC5B,IAAL,EAAW,MAAM,IAAIqB,KAAJ,CAAW,gCAA+BE,SAAU,GAApD,CAAN;;AAEX,QAAI,OAAOvB,IAAP,KAAgB,QAApB,EAA8B;AAC5B,aAAO;AACLiB,QAAAA,SAAS,EAAEX,cADN;AAELN,QAAAA;AAFK,OAAP;AAID;;AAED,UAAM6B,WAAW,GAAG1B,MAAM,CAAC2B,IAAP,CAAYV,KAAK,CAACW,IAAlB,EAAwBC,IAAxB,CAClBC,OAAO,IAAI,OAAOjC,IAAP,KAAgB,QAAhB,IAA4BA,IAAI,CAACkC,UAAL,CAAiB,GAAED,OAAQ,GAA3B,CADrB,CAApB;AAIA,UAAME,QAAQ,GAAGN,WAAW,GAAG7B,IAAI,CAAC2B,KAAL,CAAWE,WAAW,CAACO,MAAZ,GAAqB,CAAhC,CAAH,GAAwCpC,IAApE;AACA,UAAMqC,OAAO,GAAGjB,KAAK,CAACW,IAAN,CAAWF,WAAX,WAAWA,WAAX,GAA0BT,KAAK,CAACkB,UAAhC,CAAhB;AAEA,WAAO;AACLrB,MAAAA,SAAS,EAAEoB,OAAO,CAACpB,SADd;AAELjB,MAAAA,IAAI,EAAEmC;AAFD,KAAP;AAID,GA/B2C,CAA5C;AAiCA,SAAO;AAAEb,IAAAA;AAAF,GAAP;AACD,CAvCM","sourcesContent":["// 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"],"file":"icons.mjs"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* PUBLIC INTERFACES ONLY
|
|
3
|
+
* Imports in our code should be to the composable directly, not this file
|
|
4
|
+
*/
|
|
5
|
+
export { useDisplay } from "./display.mjs";
|
|
6
|
+
export { useTheme } from "./theme.mjs";
|
|
7
|
+
export { provideRtl, useRtl } from "./rtl.mjs";
|
|
8
|
+
export { useLayout } from "./layout.mjs";
|
|
9
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/composables/index.ts"],"names":["useDisplay","useTheme","provideRtl","useRtl","useLayout"],"mappings":"AAAA;AACA;AACA;AACA;SAESA,U;SACAC,Q;SACAC,U,EAAYC,M;SACZC,S","sourcesContent":["/*\n * PUBLIC INTERFACES ONLY\n * Imports in our code should be to the composable directly, not this file\n */\n\nexport { useDisplay } from './display'\nexport { useTheme } from './theme'\nexport { provideRtl, useRtl } from './rtl'\nexport { useLayout } from './layout'\n\nexport type { DefaultsInstance } from './defaults'\nexport type { DisplayBreakpoint, DisplayInstance, DisplayThresholds } from './display'\nexport type { IconAliases, IconProps, IconSet, IconOptions } from './icons'\nexport type { LocaleAdapter } from './locale'\nexport type { RtlInstance } from './rtl'\nexport type { ThemeDefinition, ThemeInstance } from './theme'\n"],"file":"index.mjs"}
|
|
@@ -1,25 +1,30 @@
|
|
|
1
1
|
// Utilities
|
|
2
2
|
import { onBeforeUnmount, ref, watch } from 'vue';
|
|
3
|
+
import { SUPPORTS_INTERSECTION } from "../util/index.mjs";
|
|
3
4
|
export function useIntersectionObserver(callback) {
|
|
4
5
|
const intersectionRef = ref();
|
|
5
6
|
const isIntersecting = ref(false);
|
|
6
|
-
const observer = new IntersectionObserver(entries => {
|
|
7
|
-
callback == null ? void 0 : callback(entries, observer);
|
|
8
|
-
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
|
9
|
-
});
|
|
10
|
-
onBeforeUnmount(() => {
|
|
11
|
-
observer.disconnect();
|
|
12
|
-
});
|
|
13
|
-
watch(intersectionRef, (newValue, oldValue) => {
|
|
14
|
-
if (oldValue) {
|
|
15
|
-
observer.unobserve(oldValue);
|
|
16
|
-
isIntersecting.value = false;
|
|
17
|
-
}
|
|
18
7
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
8
|
+
if (SUPPORTS_INTERSECTION) {
|
|
9
|
+
const observer = new IntersectionObserver(entries => {
|
|
10
|
+
callback == null ? void 0 : callback(entries, observer);
|
|
11
|
+
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
|
12
|
+
});
|
|
13
|
+
onBeforeUnmount(() => {
|
|
14
|
+
observer.disconnect();
|
|
15
|
+
});
|
|
16
|
+
watch(intersectionRef, (newValue, oldValue) => {
|
|
17
|
+
if (oldValue) {
|
|
18
|
+
observer.unobserve(oldValue);
|
|
19
|
+
isIntersecting.value = false;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (newValue) observer.observe(newValue);
|
|
23
|
+
}, {
|
|
24
|
+
flush: 'post'
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
23
28
|
return {
|
|
24
29
|
intersectionRef,
|
|
25
30
|
isIntersecting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/composables/intersectionObserver.ts"],"names":["onBeforeUnmount","ref","watch","useIntersectionObserver","callback","intersectionRef","isIntersecting","observer","IntersectionObserver","entries","value","find","entry","disconnect","newValue","oldValue","unobserve","observe","flush"],"mappings":"AAAA;AACA,SAASA,eAAT,EAA0BC,GAA1B,EAA+BC,KAA/B,QAA4C,KAA5C;
|
|
1
|
+
{"version":3,"sources":["../../src/composables/intersectionObserver.ts"],"names":["onBeforeUnmount","ref","watch","SUPPORTS_INTERSECTION","useIntersectionObserver","callback","intersectionRef","isIntersecting","observer","IntersectionObserver","entries","value","find","entry","disconnect","newValue","oldValue","unobserve","observe","flush"],"mappings":"AAAA;AACA,SAASA,eAAT,EAA0BC,GAA1B,EAA+BC,KAA/B,QAA4C,KAA5C;SACSC,qB;AAET,OAAO,SAASC,uBAAT,CAAkCC,QAAlC,EAA2E;AAChF,QAAMC,eAAe,GAAGL,GAAG,EAA3B;AACA,QAAMM,cAAc,GAAGN,GAAG,CAAC,KAAD,CAA1B;;AAEA,MAAIE,qBAAJ,EAA2B;AACzB,UAAMK,QAAQ,GAAG,IAAIC,oBAAJ,CAA0BC,OAAD,IAA0C;AAClFL,MAAAA,QAAQ,QAAR,YAAAA,QAAQ,CAAGK,OAAH,EAAYF,QAAZ,CAAR;AAEAD,MAAAA,cAAc,CAACI,KAAf,GAAuB,CAAC,CAACD,OAAO,CAACE,IAAR,CAAaC,KAAK,IAAIA,KAAK,CAACN,cAA5B,CAAzB;AACD,KAJgB,CAAjB;AAMAP,IAAAA,eAAe,CAAC,MAAM;AACpBQ,MAAAA,QAAQ,CAACM,UAAT;AACD,KAFc,CAAf;AAIAZ,IAAAA,KAAK,CAACI,eAAD,EAAkB,CAACS,QAAD,EAAWC,QAAX,KAAwB;AAC7C,UAAIA,QAAJ,EAAc;AACZR,QAAAA,QAAQ,CAACS,SAAT,CAAmBD,QAAnB;AACAT,QAAAA,cAAc,CAACI,KAAf,GAAuB,KAAvB;AACD;;AAED,UAAII,QAAJ,EAAcP,QAAQ,CAACU,OAAT,CAAiBH,QAAjB;AACf,KAPI,EAOF;AACDI,MAAAA,KAAK,EAAE;AADN,KAPE,CAAL;AAUD;;AAED,SAAO;AAAEb,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GAAP;AACD","sourcesContent":["// 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"],"file":"intersectionObserver.mjs"}
|