@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,8 +1,11 @@
|
|
|
1
|
-
//
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
// Composables
|
|
2
|
+
import { useResizeObserver } from "./resizeObserver.mjs"; // Utilities
|
|
3
|
+
|
|
4
|
+
import { computed, inject, onActivated, onBeforeUnmount, onDeactivated, onMounted, provide, reactive, ref } from 'vue';
|
|
5
|
+
import { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from "../util/index.mjs"; // Types
|
|
4
6
|
|
|
5
7
|
export const VuetifyLayoutKey = Symbol.for('vuetify:layout');
|
|
8
|
+
const ROOT_ZINDEX = 1000;
|
|
6
9
|
export const makeLayoutProps = propsFactory({
|
|
7
10
|
overlaps: {
|
|
8
11
|
type: Array,
|
|
@@ -16,26 +19,42 @@ export const makeLayoutItemProps = propsFactory({
|
|
|
16
19
|
type: String
|
|
17
20
|
},
|
|
18
21
|
priority: {
|
|
19
|
-
type: Number,
|
|
22
|
+
type: [Number, String],
|
|
20
23
|
default: 0
|
|
21
24
|
},
|
|
22
25
|
absolute: Boolean
|
|
23
26
|
}, 'layout-item');
|
|
24
|
-
export function
|
|
27
|
+
export function useLayout() {
|
|
25
28
|
const layout = inject(VuetifyLayoutKey);
|
|
26
29
|
if (!layout) throw new Error('Could not find injected Vuetify layout');
|
|
27
30
|
return layout;
|
|
28
31
|
}
|
|
29
|
-
export function useLayoutItem(
|
|
32
|
+
export function useLayoutItem(options) {
|
|
33
|
+
var _options$id;
|
|
34
|
+
|
|
30
35
|
const layout = inject(VuetifyLayoutKey);
|
|
31
36
|
if (!layout) throw new Error('Could not find injected Vuetify layout');
|
|
32
|
-
const id =
|
|
33
|
-
const
|
|
37
|
+
const id = (_options$id = options.id) != null ? _options$id : `layout-item-${getUid()}`;
|
|
38
|
+
const vm = getCurrentInstance('useLayoutItem');
|
|
39
|
+
const isKeptAlive = ref(false);
|
|
40
|
+
onDeactivated(() => isKeptAlive.value = true);
|
|
41
|
+
onActivated(() => isKeptAlive.value = false);
|
|
42
|
+
const {
|
|
43
|
+
layoutItemStyles,
|
|
44
|
+
layoutItemScrimStyles
|
|
45
|
+
} = layout.register(vm, { ...options,
|
|
46
|
+
active: computed(() => isKeptAlive.value ? false : options.active.value),
|
|
47
|
+
id
|
|
48
|
+
});
|
|
34
49
|
onBeforeUnmount(() => layout.unregister(id));
|
|
35
|
-
return
|
|
50
|
+
return {
|
|
51
|
+
layoutItemStyles,
|
|
52
|
+
layoutRect: layout.layoutRect,
|
|
53
|
+
layoutItemScrimStyles
|
|
54
|
+
};
|
|
36
55
|
}
|
|
37
56
|
|
|
38
|
-
const generateLayers = (layout,
|
|
57
|
+
const generateLayers = (layout, positions, layoutSizes, activeItems) => {
|
|
39
58
|
let previousLayer = {
|
|
40
59
|
top: 0,
|
|
41
60
|
left: 0,
|
|
@@ -47,9 +66,8 @@ const generateLayers = (layout, registered, positions, layoutSizes, activeItems)
|
|
|
47
66
|
layer: { ...previousLayer
|
|
48
67
|
}
|
|
49
68
|
}];
|
|
50
|
-
const ids = !layout.length ? registered : layout.map(l => l.split(':')[0]).filter(l => registered.includes(l));
|
|
51
69
|
|
|
52
|
-
for (const id of
|
|
70
|
+
for (const id of layout) {
|
|
53
71
|
const position = positions.get(id);
|
|
54
72
|
const amount = layoutSizes.get(id);
|
|
55
73
|
const active = activeItems.get(id);
|
|
@@ -65,15 +83,21 @@ const generateLayers = (layout, registered, positions, layoutSizes, activeItems)
|
|
|
65
83
|
}
|
|
66
84
|
|
|
67
85
|
return layers;
|
|
68
|
-
};
|
|
69
|
-
|
|
86
|
+
};
|
|
70
87
|
|
|
71
88
|
export function createLayout(props) {
|
|
89
|
+
const parentLayout = inject(VuetifyLayoutKey, null);
|
|
90
|
+
const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX);
|
|
72
91
|
const registered = ref([]);
|
|
73
|
-
const positions = new Map();
|
|
74
|
-
const layoutSizes = new Map();
|
|
75
|
-
const priorities = new Map();
|
|
76
|
-
const activeItems = new Map();
|
|
92
|
+
const positions = reactive(new Map());
|
|
93
|
+
const layoutSizes = reactive(new Map());
|
|
94
|
+
const priorities = reactive(new Map());
|
|
95
|
+
const activeItems = reactive(new Map());
|
|
96
|
+
const disabledTransitions = reactive(new Map());
|
|
97
|
+
const {
|
|
98
|
+
resizeRef,
|
|
99
|
+
contentRect: layoutRect
|
|
100
|
+
} = useResizeObserver();
|
|
77
101
|
const computedOverlaps = computed(() => {
|
|
78
102
|
var _props$overlaps;
|
|
79
103
|
|
|
@@ -101,9 +125,22 @@ export function createLayout(props) {
|
|
|
101
125
|
return map;
|
|
102
126
|
});
|
|
103
127
|
const layers = computed(() => {
|
|
104
|
-
const
|
|
105
|
-
const
|
|
106
|
-
|
|
128
|
+
const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b);
|
|
129
|
+
const layout = [];
|
|
130
|
+
|
|
131
|
+
for (const p of uniquePriorities) {
|
|
132
|
+
const items = registered.value.filter(id => {
|
|
133
|
+
var _priorities$get;
|
|
134
|
+
|
|
135
|
+
return ((_priorities$get = priorities.get(id)) == null ? void 0 : _priorities$get.value) === p;
|
|
136
|
+
});
|
|
137
|
+
layout.push(...items);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return generateLayers(layout, positions, layoutSizes, activeItems);
|
|
141
|
+
});
|
|
142
|
+
const transitionsEnabled = computed(() => {
|
|
143
|
+
return !Array.from(disabledTransitions.values()).some(ref => ref.value);
|
|
107
144
|
});
|
|
108
145
|
const mainStyles = computed(() => {
|
|
109
146
|
const layer = layers.value[layers.value.length - 1].layer;
|
|
@@ -112,13 +149,17 @@ export function createLayout(props) {
|
|
|
112
149
|
paddingLeft: convertToUnit(layer.left),
|
|
113
150
|
paddingRight: convertToUnit(layer.right),
|
|
114
151
|
paddingTop: convertToUnit(layer.top),
|
|
115
|
-
paddingBottom: convertToUnit(layer.bottom)
|
|
152
|
+
paddingBottom: convertToUnit(layer.bottom),
|
|
153
|
+
...(transitionsEnabled.value ? undefined : {
|
|
154
|
+
transition: 'none'
|
|
155
|
+
})
|
|
116
156
|
};
|
|
117
157
|
});
|
|
118
158
|
const items = computed(() => {
|
|
119
|
-
return layers.value.slice(1).map(({
|
|
120
|
-
|
|
121
|
-
|
|
159
|
+
return layers.value.slice(1).map((_ref, index) => {
|
|
160
|
+
let {
|
|
161
|
+
id
|
|
162
|
+
} = _ref;
|
|
122
163
|
const {
|
|
123
164
|
layer
|
|
124
165
|
} = layers.value[index];
|
|
@@ -135,17 +176,49 @@ export function createLayout(props) {
|
|
|
135
176
|
return items.value.find(item => item.id === id);
|
|
136
177
|
};
|
|
137
178
|
|
|
179
|
+
const rootVm = getCurrentInstance('createLayout');
|
|
180
|
+
const isMounted = ref(false);
|
|
181
|
+
onMounted(() => {
|
|
182
|
+
isMounted.value = true;
|
|
183
|
+
});
|
|
138
184
|
provide(VuetifyLayoutKey, {
|
|
139
|
-
register: (
|
|
185
|
+
register: (vm, _ref2) => {
|
|
186
|
+
let {
|
|
187
|
+
id,
|
|
188
|
+
priority,
|
|
189
|
+
position,
|
|
190
|
+
layoutSize,
|
|
191
|
+
elementSize,
|
|
192
|
+
active,
|
|
193
|
+
disableTransitions,
|
|
194
|
+
absolute
|
|
195
|
+
} = _ref2;
|
|
140
196
|
priorities.set(id, priority);
|
|
141
197
|
positions.set(id, position);
|
|
142
198
|
layoutSizes.set(id, layoutSize);
|
|
143
199
|
activeItems.set(id, active);
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
200
|
+
disableTransitions && disabledTransitions.set(id, disableTransitions);
|
|
201
|
+
const instances = findChildrenWithProvide(VuetifyLayoutKey, rootVm == null ? void 0 : rootVm.vnode);
|
|
202
|
+
const instanceIndex = instances.indexOf(vm);
|
|
203
|
+
if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id);else registered.value.push(id);
|
|
204
|
+
const index = computed(() => items.value.findIndex(i => i.id === id));
|
|
205
|
+
const zIndex = computed(() => rootZIndex.value + layers.value.length * 2 - index.value * 2);
|
|
206
|
+
const layoutItemStyles = computed(() => {
|
|
207
|
+
const isHorizontal = position.value === 'left' || position.value === 'right';
|
|
208
|
+
const isOppositeHorizontal = position.value === 'right';
|
|
209
|
+
const isOppositeVertical = position.value === 'bottom';
|
|
210
|
+
const styles = {
|
|
211
|
+
[position.value]: 0,
|
|
212
|
+
zIndex: zIndex.value,
|
|
213
|
+
transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,
|
|
214
|
+
position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',
|
|
215
|
+
...(transitionsEnabled.value ? undefined : {
|
|
216
|
+
transition: 'none'
|
|
217
|
+
})
|
|
218
|
+
};
|
|
219
|
+
if (!isMounted.value) return styles;
|
|
220
|
+
if (index.value < 0) throw new Error(`Layout item "${id}" is missing`);
|
|
221
|
+
const item = items.value[index.value];
|
|
149
222
|
if (!item) throw new Error(`Could not find layout item "${id}`);
|
|
150
223
|
const overlap = computedOverlaps.value.get(id);
|
|
151
224
|
|
|
@@ -153,40 +226,52 @@ export function createLayout(props) {
|
|
|
153
226
|
item[overlap.position] += overlap.amount;
|
|
154
227
|
}
|
|
155
228
|
|
|
156
|
-
|
|
157
|
-
const isOppositeHorizontal = position.value === 'right';
|
|
158
|
-
const isOppositeVertical = position.value === 'bottom';
|
|
159
|
-
return {
|
|
160
|
-
[position.value]: 0,
|
|
229
|
+
return { ...styles,
|
|
161
230
|
height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : `${elementSize.value}px`,
|
|
162
231
|
marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,
|
|
163
232
|
marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,
|
|
164
233
|
marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,
|
|
165
234
|
marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,
|
|
166
|
-
width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px
|
|
167
|
-
zIndex: layers.value.length - index,
|
|
168
|
-
transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`
|
|
235
|
+
width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px`
|
|
169
236
|
};
|
|
170
237
|
});
|
|
238
|
+
const layoutItemScrimStyles = computed(() => ({
|
|
239
|
+
zIndex: zIndex.value - 1,
|
|
240
|
+
position: rootZIndex.value === ROOT_ZINDEX ? 'fixed' : 'absolute'
|
|
241
|
+
}));
|
|
242
|
+
return {
|
|
243
|
+
layoutItemStyles,
|
|
244
|
+
layoutItemScrimStyles,
|
|
245
|
+
zIndex
|
|
246
|
+
};
|
|
171
247
|
},
|
|
172
248
|
unregister: id => {
|
|
173
249
|
priorities.delete(id);
|
|
174
250
|
positions.delete(id);
|
|
175
251
|
layoutSizes.delete(id);
|
|
176
252
|
activeItems.delete(id);
|
|
253
|
+
disabledTransitions.delete(id);
|
|
177
254
|
registered.value = registered.value.filter(v => v !== id);
|
|
178
255
|
},
|
|
179
256
|
mainStyles,
|
|
180
257
|
getLayoutItem,
|
|
181
|
-
items
|
|
258
|
+
items,
|
|
259
|
+
layoutRect,
|
|
260
|
+
rootZIndex
|
|
182
261
|
});
|
|
183
262
|
const layoutClasses = computed(() => ['v-layout', {
|
|
184
263
|
'v-layout--full-height': props.fullHeight
|
|
185
264
|
}]);
|
|
265
|
+
const layoutStyles = computed(() => ({
|
|
266
|
+
zIndex: rootZIndex.value
|
|
267
|
+
}));
|
|
186
268
|
return {
|
|
187
269
|
layoutClasses,
|
|
270
|
+
layoutStyles,
|
|
188
271
|
getLayoutItem,
|
|
189
|
-
items
|
|
272
|
+
items,
|
|
273
|
+
layoutRect,
|
|
274
|
+
layoutRef: resizeRef
|
|
190
275
|
};
|
|
191
276
|
}
|
|
192
277
|
//# sourceMappingURL=layout.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/composables/layout.ts"],"names":["computed","inject","onBeforeUnmount","provide","ref","convertToUnit","getUid","propsFactory","VuetifyLayoutKey","Symbol","for","makeLayoutProps","overlaps","type","Array","default","fullHeight","Boolean","makeLayoutItemProps","name","String","priority","Number","absolute","useMain","layout","Error","useLayoutItem","position","layoutSize","elementSize","active","id","styles","register","unregister","generateLayers","registered","positions","layoutSizes","activeItems","previousLayer","top","left","right","bottom","layers","layer","ids","length","map","l","split","filter","includes","get","amount","value","parseInt","push","createLayout","props","Map","priorities","computedOverlaps","overlap","item","topPosition","bottomPosition","topAmount","bottomAmount","set","entries","sortedEntries","sort","a","b","mainStyles","paddingLeft","paddingRight","paddingTop","paddingBottom","items","slice","index","size","getLayoutItem","find","findIndex","i","isHorizontal","isOppositeHorizontal","isOppositeVertical","height","marginLeft","undefined","marginRight","marginTop","marginBottom","width","zIndex","transform","delete","v","layoutClasses"],"mappings":"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","sourcesContent":["// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { convertToUnit, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ntype LayoutItem = {\n id: string\n top: number\n bottom: number\n left: number\n right: number\n size: number\n}\n\ninterface LayoutProvide {\n register: (\n id: string,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>\n ) => Ref<Record<string, unknown>>\n unregister: (id: string) => void\n mainStyles: Ref<Record<string, unknown>>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n priority: {\n type: Number,\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useMain () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n return layout\n}\n\nexport function useLayoutItem (\n name: string | undefined,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n const id = name ?? `layout-item-${getUid()}`\n\n const styles = layout.register(id, priority, position, layoutSize, elementSize, active)\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return styles\n}\n\nconst generateLayers = (\n layout: string[],\n registered: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n) => {\n let previousLayer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n const ids = !layout.length ? registered : layout.map(l => l.split(':')[0]).filter(l => registered.includes(l))\n for (const id of ids) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\n// TODO: Remove undefined from layout and overlaps when vue typing for required: true prop is fixed\nexport function createLayout (props: { layout?: string[], overlaps?: string[], fullHeight?: boolean }) {\n const registered = ref<string[]>([])\n const positions = new Map<string, Ref<Position>>()\n const layoutSizes = new Map<string, Ref<number | string>>()\n const priorities = new Map<string, Ref<number>>()\n const activeItems = new Map<string, Ref<boolean>>()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const entries = [...priorities.entries()]\n const sortedEntries = entries.sort(([, a], [, b]) => a.value - b.value).map(([id]) => id)\n return generateLayers(sortedEntries, registered.value, positions, layoutSizes, activeItems)\n })\n\n const mainStyles = computed(() => {\n const layer = layers.value[layers.value.length - 1].layer\n\n return {\n position: 'relative',\n paddingLeft: convertToUnit(layer.left),\n paddingRight: convertToUnit(layer.right),\n paddingTop: convertToUnit(layer.top),\n paddingBottom: convertToUnit(layer.bottom),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n provide(VuetifyLayoutKey, {\n register: (\n id: string,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>\n ) => {\n priorities.set(id, priority)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n registered.value.push(id)\n\n return computed(() => {\n const index = items.value.findIndex(i => i.id === id)\n\n if (index < 0) throw new Error(`Layout item \"${id}\" is missing from layout prop`)\n\n const item = items.value[index]\n\n if (!item) throw new Error(`Could not find layout item \"${id}`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n return {\n [position.value]: 0,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : `${elementSize.value}px`,\n marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,\n marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,\n marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,\n marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px`,\n zIndex: layers.value.length - index,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n }\n })\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainStyles,\n getLayoutItem,\n items,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n return {\n layoutClasses,\n getLayoutItem,\n items,\n }\n}\n"],"file":"layout.mjs"}
|
|
1
|
+
{"version":3,"sources":["../../src/composables/layout.ts"],"names":["useResizeObserver","computed","inject","onActivated","onBeforeUnmount","onDeactivated","onMounted","provide","reactive","ref","convertToUnit","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","VuetifyLayoutKey","Symbol","for","ROOT_ZINDEX","makeLayoutProps","overlaps","type","Array","default","fullHeight","Boolean","makeLayoutItemProps","name","String","priority","Number","absolute","useLayout","layout","Error","useLayoutItem","options","id","vm","isKeptAlive","value","layoutItemStyles","layoutItemScrimStyles","register","active","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","top","left","right","bottom","layers","layer","position","get","amount","parseInt","push","createLayout","props","parentLayout","rootZIndex","registered","Map","priorities","disabledTransitions","resizeRef","contentRect","computedOverlaps","map","overlap","filter","item","includes","split","topPosition","bottomPosition","topAmount","bottomAmount","set","uniquePriorities","Set","values","p","sort","a","b","items","transitionsEnabled","from","some","mainStyles","length","paddingLeft","paddingRight","paddingTop","paddingBottom","undefined","transition","slice","index","size","getLayoutItem","find","rootVm","isMounted","layoutSize","elementSize","disableTransitions","instances","vnode","instanceIndex","indexOf","splice","findIndex","i","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","styles","transform","height","marginLeft","marginRight","marginTop","marginBottom","width","delete","v","layoutClasses","layoutStyles","layoutRef"],"mappings":"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","sourcesContent":["// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, inject, onActivated, onBeforeUnmount, onDeactivated, onMounted, provide, reactive, ref } from 'vue'\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ntype LayoutItem = {\n id: string\n top: number\n bottom: number\n left: number\n right: number\n size: number\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n priority: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n }\n ) => {\n layoutItemStyles: Ref<Record<string, unknown>>\n layoutItemScrimStyles: Ref<Record<string, unknown>>\n zIndex: Ref<number>\n }\n unregister: (id: string) => void\n mainStyles: Ref<Record<string, unknown>>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n layoutRect: Ref<DOMRectReadOnly | undefined>\n rootZIndex: Ref<number>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\n\nconst ROOT_ZINDEX = 1000\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n priority: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n return layout\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n priority: Ref<number>\n position: Ref<Position>\n layoutSize: Ref<number | string>\n elementSize: Ref<number | string>\n active: Ref<boolean>\n disableTransitions?: Ref<boolean>\n absolute: Ref<boolean | undefined>\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n const id = options.id ?? `layout-item-${getUid()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n const isKeptAlive = ref(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const {\n layoutItemStyles,\n layoutItemScrimStyles,\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id,\n })\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n) => {\n let previousLayer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n for (const id of layout) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\n const parentLayout = inject(VuetifyLayoutKey, null)\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX)\n const registered = ref<string[]>([])\n const positions = reactive(new Map<string, Ref<Position>>())\n const layoutSizes = reactive(new Map<string, Ref<number | string>>())\n const priorities = reactive(new Map<string, Ref<number>>())\n const activeItems = reactive(new Map<string, Ref<boolean>>())\n const disabledTransitions = reactive(new Map<string, Ref<boolean>>())\n const { resizeRef, contentRect: layoutRect } = useResizeObserver()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b)\n const layout = []\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p)\n layout.push(...items)\n }\n return generateLayers(layout, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainStyles = computed(() => {\n const layer = layers.value[layers.value.length - 1].layer\n\n return {\n position: 'relative',\n paddingLeft: convertToUnit(layer.left),\n paddingRight: convertToUnit(layer.right),\n paddingTop: convertToUnit(layer.top),\n paddingBottom: convertToUnit(layer.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const isMounted = ref(false)\n onMounted(() => {\n isMounted.value = true\n })\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n priority,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\n priorities.set(id, priority)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && disabledTransitions.set(id, disableTransitions)\n\n const instances = findChildrenWithProvide(VuetifyLayoutKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\n const index = computed(() => items.value.findIndex(i => i.id === id))\n const zIndex = computed(() => rootZIndex.value + (layers.value.length * 2) - (index.value * 2))\n\n const layoutItemStyles = computed(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n\n if (!isMounted.value) return styles\n\n if (index.value < 0) throw new Error(`Layout item \"${id}\" is missing`)\n\n const item = items.value[index.value]\n\n if (!item) throw new Error(`Could not find layout item \"${id}`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n return {\n ...styles,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : `${elementSize.value}px`,\n marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,\n marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,\n marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,\n marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px`,\n }\n })\n\n const layoutItemScrimStyles = computed(() => ({\n zIndex: zIndex.value - 1,\n position: rootZIndex.value === ROOT_ZINDEX ? 'fixed' : 'absolute',\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n disabledTransitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = computed(() => ({\n zIndex: rootZIndex.value,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef,\n }\n}\n"],"file":"layout.mjs"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Utilities
|
|
2
|
+
import { computed, ref, watch } from 'vue'; // Types
|
|
3
|
+
|
|
4
|
+
import { propsFactory } from "../util/index.mjs";
|
|
5
|
+
export const makeLazyProps = propsFactory({
|
|
6
|
+
eager: Boolean
|
|
7
|
+
}, 'lazy');
|
|
8
|
+
export function useLazy(props, active) {
|
|
9
|
+
const isBooted = ref(false);
|
|
10
|
+
const hasContent = computed(() => isBooted.value || props.eager || active.value);
|
|
11
|
+
watch(active, () => isBooted.value = true);
|
|
12
|
+
|
|
13
|
+
function onAfterLeave() {
|
|
14
|
+
if (!props.eager) isBooted.value = false;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return {
|
|
18
|
+
isBooted,
|
|
19
|
+
hasContent,
|
|
20
|
+
onAfterLeave
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=lazy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/composables/lazy.ts"],"names":["computed","ref","watch","propsFactory","makeLazyProps","eager","Boolean","useLazy","props","active","isBooted","hasContent","value","onAfterLeave"],"mappings":"AAAA;AACA,SAASA,QAAT,EAAmBC,GAAnB,EAAwBC,KAAxB,QAAqC,KAArC,C,CAEA;;SAESC,Y;AAET,OAAO,MAAMC,aAAa,GAAGD,YAAY,CAAC;AACxCE,EAAAA,KAAK,EAAEC;AADiC,CAAD,EAEtC,MAFsC,CAAlC;AAIP,OAAO,SAASC,OAAT,CAAkBC,KAAlB,EAA6CC,MAA7C,EAAmE;AACxE,QAAMC,QAAQ,GAAGT,GAAG,CAAC,KAAD,CAApB;AACA,QAAMU,UAAU,GAAGX,QAAQ,CAAC,MAAMU,QAAQ,CAACE,KAAT,IAAkBJ,KAAK,CAACH,KAAxB,IAAiCI,MAAM,CAACG,KAA/C,CAA3B;AAEAV,EAAAA,KAAK,CAACO,MAAD,EAAS,MAAMC,QAAQ,CAACE,KAAT,GAAiB,IAAhC,CAAL;;AAEA,WAASC,YAAT,GAAyB;AACvB,QAAI,CAACL,KAAK,CAACH,KAAX,EAAkBK,QAAQ,CAACE,KAAT,GAAiB,KAAjB;AACnB;;AAED,SAAO;AAAEF,IAAAA,QAAF;AAAYC,IAAAA,UAAZ;AAAwBE,IAAAA;AAAxB,GAAP;AACD","sourcesContent":["// Utilities\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = ref(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n"],"file":"lazy.mjs"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createVNode as _createVNode } from "vue";
|
|
2
|
+
// Components
|
|
3
|
+
import { VProgressLinear } from "../components/VProgressLinear/index.mjs"; // Utilities
|
|
4
|
+
|
|
5
|
+
import { computed } from 'vue';
|
|
6
|
+
import { getCurrentInstanceName, propsFactory } from "../util/index.mjs"; // Types
|
|
7
|
+
|
|
8
|
+
// Composables
|
|
9
|
+
export const makeLoaderProps = propsFactory({
|
|
10
|
+
loading: Boolean
|
|
11
|
+
}, 'loader');
|
|
12
|
+
export function useLoader(props) {
|
|
13
|
+
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
14
|
+
const loaderClasses = computed(() => ({
|
|
15
|
+
[`${name}--loading`]: props.loading
|
|
16
|
+
}));
|
|
17
|
+
return {
|
|
18
|
+
loaderClasses
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function LoaderSlot(props, _ref) {
|
|
22
|
+
var _slots$default;
|
|
23
|
+
|
|
24
|
+
let {
|
|
25
|
+
slots
|
|
26
|
+
} = _ref;
|
|
27
|
+
return _createVNode("div", {
|
|
28
|
+
"class": `${props.name}__loader`
|
|
29
|
+
}, [((_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, {
|
|
30
|
+
color: props.color,
|
|
31
|
+
isActive: props.active
|
|
32
|
+
})) || _createVNode(VProgressLinear, {
|
|
33
|
+
"active": props.active,
|
|
34
|
+
"color": props.color,
|
|
35
|
+
"height": "2",
|
|
36
|
+
"indeterminate": true
|
|
37
|
+
}, null)]);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=loader.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/composables/loader.tsx"],"names":["VProgressLinear","computed","getCurrentInstanceName","propsFactory","makeLoaderProps","loading","Boolean","useLoader","props","name","loaderClasses","LoaderSlot","slots","default","color","isActive","active"],"mappings":";AAAA;SACSA,e,mDAET;;AACA,SAASC,QAAT,QAAyB,KAAzB;SACSC,sB,EAAwBC,Y,6BAEjC;;AAcA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;AAC1CE,EAAAA,OAAO,EAAEC;AADiC,CAAD,EAExC,QAFwC,CAApC;AAIP,OAAO,SAASC,SAAT,CACLC,KADK,EAGL;AAAA,MADAC,IACA,uEADOP,sBAAsB,EAC7B;AACA,QAAMQ,aAAa,GAAGT,QAAQ,CAAC,OAAO;AACpC,KAAE,GAAEQ,IAAK,WAAT,GAAsBD,KAAK,CAACH;AADQ,GAAP,CAAD,CAA9B;AAIA,SAAO;AAAEK,IAAAA;AAAF,GAAP;AACD;AAED,OAAO,SAASC,UAAT,CACLH,KADK,QASL;AAAA;;AAAA,MADA;AAAEI,IAAAA;AAAF,GACA;AACA;AAAA,aACe,GAAEJ,KAAK,CAACC,IAAK;AAD5B,MAEM,mBAAAG,KAAK,CAACC,OAAN,yCAAAD,KAAK,EAAW;AAChBE,IAAAA,KAAK,EAAEN,KAAK,CAACM,KADG;AAEhBC,IAAAA,QAAQ,EAAEP,KAAK,CAACQ;AAFA,GAAX,CAAL;AAAA,cAKWR,KAAK,CAACQ,MALjB;AAAA,aAMUR,KAAK,CAACM,KANhB;AAAA,cAOS,GAPT;AAAA;AAAA,UAFN;AAeD","sourcesContent":["// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\nimport type { SetupContext } from '@vue/runtime-core'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading: boolean\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: Boolean,\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={`${props.name}__loader`}>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n"],"file":"loader.mjs"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { computed, inject, provide } from 'vue';
|
|
2
|
-
import { consoleError, consoleWarn, getObjectValueByPath
|
|
1
|
+
import { computed, inject, provide, ref } from 'vue';
|
|
2
|
+
import { consoleError, consoleWarn, getObjectValueByPath } from "../util/index.mjs";
|
|
3
3
|
import en from "../locale/en.mjs"; // Types
|
|
4
4
|
|
|
5
5
|
export const LocaleAdapterSymbol = Symbol.for('vuetify:locale-adapter');
|
|
@@ -37,7 +37,11 @@ const replace = (str, params) => {
|
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
const createTranslateFunction = (current, fallback, messages) => {
|
|
40
|
-
return (key
|
|
40
|
+
return function (key) {
|
|
41
|
+
for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
42
|
+
params[_key - 1] = arguments[_key];
|
|
43
|
+
}
|
|
44
|
+
|
|
41
45
|
if (!key.startsWith(LANG_PREFIX)) {
|
|
42
46
|
return replace(key, params);
|
|
43
47
|
}
|
|
@@ -75,9 +79,9 @@ function createNumberFunction(current, fallback) {
|
|
|
75
79
|
|
|
76
80
|
export function createDefaultLocaleAdapter(options) {
|
|
77
81
|
const createScope = options => {
|
|
78
|
-
const current =
|
|
79
|
-
const fallback =
|
|
80
|
-
const messages =
|
|
82
|
+
const current = ref(options.current);
|
|
83
|
+
const fallback = ref(options.fallback);
|
|
84
|
+
const messages = ref(options.messages);
|
|
81
85
|
return {
|
|
82
86
|
current,
|
|
83
87
|
fallback,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/composables/locale.ts"],"names":["computed","inject","provide","consoleError","consoleWarn","getObjectValueByPath","wrapInRef","en","LocaleAdapterSymbol","Symbol","for","VuetifyLocaleSymbol","provideLocale","props","adapter","Error","createScope","useLocale","getScope","isLocaleAdapter","x","hasOwnProperty","createLocaleAdapter","app","options","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","replace","str","params","match","index","String","createTranslateFunction","current","fallback","messages","key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","t","n","rootScope","defaultLocale","currentScope","newScope","locale"],"mappings":"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","sourcesContent":["import { computed, inject, provide } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath, wrapInRef } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = wrapInRef(options.current)\n const fallback = wrapInRef(options.fallback)\n const messages = wrapInRef(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n"],"file":"locale.mjs"}
|
|
1
|
+
{"version":3,"sources":["../../src/composables/locale.ts"],"names":["computed","inject","provide","ref","consoleError","consoleWarn","getObjectValueByPath","en","LocaleAdapterSymbol","Symbol","for","VuetifyLocaleSymbol","provideLocale","props","adapter","Error","createScope","useLocale","getScope","isLocaleAdapter","x","hasOwnProperty","createLocaleAdapter","app","options","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","replace","str","params","match","index","String","createTranslateFunction","current","fallback","messages","key","startsWith","shortKey","currentLocale","value","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","t","n","rootScope","defaultLocale","currentScope","newScope","locale"],"mappings":"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","sourcesContent":["import { computed, inject, provide, ref } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = ref(options.current)\n const fallback = ref(options.fallback)\n const messages = ref(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n"],"file":"locale.mjs"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Utilities
|
|
2
|
+
import { isComponentInstance } from "../util/index.mjs";
|
|
3
|
+
import { onBeforeUnmount, onMounted, ref, watch } from 'vue'; // Types
|
|
4
|
+
|
|
5
|
+
export function useMutationObserver(handler, options) {
|
|
6
|
+
const mutationRef = ref();
|
|
7
|
+
const {
|
|
8
|
+
once,
|
|
9
|
+
immediate,
|
|
10
|
+
...optionKeys
|
|
11
|
+
} = options || {};
|
|
12
|
+
const defaultValue = !Object.keys(optionKeys).length;
|
|
13
|
+
const observer = new MutationObserver((mutations, observer) => {
|
|
14
|
+
handler == null ? void 0 : handler(mutations, observer);
|
|
15
|
+
if (options != null && options.once) observer.disconnect();
|
|
16
|
+
});
|
|
17
|
+
onMounted(() => {
|
|
18
|
+
if (!(options != null && options.immediate)) return;
|
|
19
|
+
handler == null ? void 0 : handler([], observer);
|
|
20
|
+
});
|
|
21
|
+
onBeforeUnmount(() => {
|
|
22
|
+
observer.disconnect();
|
|
23
|
+
});
|
|
24
|
+
watch(mutationRef, (newValue, oldValue) => {
|
|
25
|
+
var _options$attr, _options$char, _options$child, _options$sub;
|
|
26
|
+
|
|
27
|
+
if (oldValue) observer.disconnect();
|
|
28
|
+
const el = isComponentInstance(newValue) ? newValue.$el : newValue;
|
|
29
|
+
if (!el) return;
|
|
30
|
+
observer.observe(el, {
|
|
31
|
+
attributes: (_options$attr = options == null ? void 0 : options.attr) != null ? _options$attr : defaultValue,
|
|
32
|
+
characterData: (_options$char = options == null ? void 0 : options.char) != null ? _options$char : defaultValue,
|
|
33
|
+
childList: (_options$child = options == null ? void 0 : options.child) != null ? _options$child : defaultValue,
|
|
34
|
+
subtree: (_options$sub = options == null ? void 0 : options.sub) != null ? _options$sub : defaultValue
|
|
35
|
+
});
|
|
36
|
+
}, {
|
|
37
|
+
flush: 'post'
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
mutationRef
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=mutationObserver.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/composables/mutationObserver.ts"],"names":["isComponentInstance","onBeforeUnmount","onMounted","ref","watch","useMutationObserver","handler","options","mutationRef","once","immediate","optionKeys","defaultValue","Object","keys","length","observer","MutationObserver","mutations","disconnect","newValue","oldValue","el","$el","observe","attributes","attr","characterData","char","childList","child","subtree","sub","flush"],"mappings":"AAAA;SACSA,mB;AACT,SAASC,eAAT,EAA0BC,SAA1B,EAAqCC,GAArC,EAA0CC,KAA1C,QAAuD,KAAvD,C,CAEA;;AAYA,OAAO,SAASC,mBAAT,CACLC,OADK,EAELC,OAFK,EAGL;AACA,QAAMC,WAAW,GAAGL,GAAG,EAAvB;AACA,QAAM;AAAEM,IAAAA,IAAF;AAAQC,IAAAA,SAAR;AAAmB,OAAGC;AAAtB,MAAqCJ,OAAO,IAAI,EAAtD;AACA,QAAMK,YAAY,GAAG,CAACC,MAAM,CAACC,IAAP,CAAYH,UAAZ,EAAwBI,MAA9C;AAEA,QAAMC,QAAQ,GAAG,IAAIC,gBAAJ,CAAqB,CACpCC,SADoC,EAEpCF,QAFoC,KAGjC;AACHV,IAAAA,OAAO,QAAP,YAAAA,OAAO,CAAGY,SAAH,EAAcF,QAAd,CAAP;AAEA,QAAIT,OAAJ,YAAIA,OAAO,CAAEE,IAAb,EAAmBO,QAAQ,CAACG,UAAT;AACpB,GAPgB,CAAjB;AASAjB,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,EAACK,OAAD,YAACA,OAAO,CAAEG,SAAV,CAAJ,EAAyB;AAEzBJ,IAAAA,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOU,QAAP,CAAP;AACD,GAJQ,CAAT;AAMAf,EAAAA,eAAe,CAAC,MAAM;AACpBe,IAAAA,QAAQ,CAACG,UAAT;AACD,GAFc,CAAf;AAIAf,EAAAA,KAAK,CAACI,WAAD,EAAc,CAACY,QAAD,EAAWC,QAAX,KAAwB;AAAA;;AACzC,QAAIA,QAAJ,EAAcL,QAAQ,CAACG,UAAT;AAEd,UAAMG,EAAE,GAAGtB,mBAAmB,CAACoB,QAAD,CAAnB,GAAgCA,QAAQ,CAACG,GAAzC,GAA+CH,QAA1D;AAEA,QAAI,CAACE,EAAL,EAAS;AAETN,IAAAA,QAAQ,CAACQ,OAAT,CAAiBF,EAAjB,EAAqB;AACnBG,MAAAA,UAAU,mBAAElB,OAAF,oBAAEA,OAAO,CAAEmB,IAAX,4BAAmBd,YADV;AAEnBe,MAAAA,aAAa,mBAAEpB,OAAF,oBAAEA,OAAO,CAAEqB,IAAX,4BAAmBhB,YAFb;AAGnBiB,MAAAA,SAAS,oBAAEtB,OAAF,oBAAEA,OAAO,CAAEuB,KAAX,6BAAoBlB,YAHV;AAInBmB,MAAAA,OAAO,kBAAExB,OAAF,oBAAEA,OAAO,CAAEyB,GAAX,2BAAkBpB;AAJN,KAArB;AAMD,GAbI,EAaF;AACDqB,IAAAA,KAAK,EAAE;AADN,GAbE,CAAL;AAiBA,SAAO;AAAEzB,IAAAA;AAAF,GAAP;AACD","sourcesContent":["// Utilities\nimport { isComponentInstance } from '@/util'\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport interface MutationOptions {\n attr?: boolean\n char?: boolean\n child?: boolean\n sub?: boolean\n once?: boolean\n immediate?: boolean\n}\n\nexport function useMutationObserver (\n handler?: MutationCallback,\n options?: MutationOptions,\n) {\n const mutationRef = ref<ComponentPublicInstance | HTMLElement>()\n const { once, immediate, ...optionKeys } = options || {}\n const defaultValue = !Object.keys(optionKeys).length\n\n const observer = new MutationObserver((\n mutations: MutationRecord[],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (options?.once) observer.disconnect()\n })\n\n onMounted(() => {\n if (!options?.immediate) return\n\n handler?.([], observer)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(mutationRef, (newValue, oldValue) => {\n if (oldValue) observer.disconnect()\n\n const el = isComponentInstance(newValue) ? newValue.$el : newValue\n\n if (!el) return\n\n observer.observe(el, {\n attributes: options?.attr ?? defaultValue,\n characterData: options?.char ?? defaultValue,\n childList: options?.child ?? defaultValue,\n subtree: options?.sub ?? defaultValue,\n })\n }, {\n flush: 'post',\n })\n\n return { mutationRef }\n}\n"],"file":"mutationObserver.mjs"}
|