@dimailn/vuetify 2.7.2-alpha27 → 2.7.2-alpha29
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/dist/vuetify.js +1493 -325
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAlert/VAlert.js +38 -9
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VAutocomplete/VAutocomplete.js +1 -0
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VBadge/VBadge.js +28 -0
- package/es5/components/VBadge/VBadge.js.map +1 -1
- package/es5/components/VBanner/VBanner.js +34 -6
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +25 -0
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +28 -3
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +30 -2
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VChip/VChip.js +1 -0
- package/es5/components/VChip/VChip.js.map +1 -1
- package/es5/components/VColorPicker/VColorPicker.js +30 -2
- package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +1 -0
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +16 -7
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +42 -47
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/RowGroup.js +46 -15
- package/es5/components/VDataTable/RowGroup.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +10 -18
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderMobile.js +28 -37
- package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/es5/components/VDataTable/VEditDialog.js +3 -4
- package/es5/components/VDataTable/VEditDialog.js.map +1 -1
- package/es5/components/VDataTable/VSimpleTable.js +1 -1
- package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
- package/es5/components/VDataTable/VVirtualTable.js +5 -5
- package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +1 -1
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +21 -9
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +24 -8
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerTitle.js +33 -8
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerYears.js +38 -13
- package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +33 -17
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VInput/VInput.js +36 -8
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VList/VListGroup.js +47 -21
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +33 -6
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +56 -31
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VMessages/VMessages.js +30 -7
- package/es5/components/VMessages/VMessages.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +36 -9
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +36 -0
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +28 -0
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +30 -6
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +28 -0
- package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +28 -0
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRating/VRating.js +45 -17
- package/es5/components/VRating/VRating.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +112 -84
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +73 -19
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +42 -16
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSpeedDial/VSpeedDial.js +10 -8
- package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +45 -17
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +3 -3
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +0 -7
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/routable/index.js +5 -2
- package/es5/mixins/routable/index.js.map +1 -1
- package/es5/mixins/validatable/index.js +24 -0
- package/es5/mixins/validatable/index.js.map +1 -1
- package/es5/util/console.js +49 -18
- package/es5/util/console.js.map +1 -1
- package/es5/util/helpers.js +5 -1
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +12 -7
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -0
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +11 -0
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +11 -0
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +7 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +7 -0
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +11 -0
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VChip/VChip.js +1 -0
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.js +12 -1
- package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +1 -0
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +14 -7
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +26 -31
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/RowGroup.js +30 -14
- package/lib/components/VDataTable/RowGroup.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +8 -15
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.js +17 -25
- package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/lib/components/VDataTable/VEditDialog.js +3 -4
- package/lib/components/VDataTable/VEditDialog.js.map +1 -1
- package/lib/components/VDataTable/VSimpleTable.js +1 -1
- package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.js +1 -2
- package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +1 -1
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +7 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +12 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.js +11 -0
- package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +11 -1
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +12 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/lib/components/VInput/VInput.js +13 -3
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VList/VListGroup.js +16 -8
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +12 -3
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +15 -4
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +13 -2
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +11 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +48 -0
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +11 -0
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +11 -0
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +11 -0
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +11 -0
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRating/VRating.js +11 -0
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +52 -36
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +32 -8
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +11 -1
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.js +7 -7
- package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +11 -0
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +3 -3
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +0 -6
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/routable/index.js +5 -2
- package/lib/mixins/routable/index.js.map +1 -1
- package/lib/mixins/validatable/index.js +7 -1
- package/lib/mixins/validatable/index.js.map +1 -1
- package/lib/util/console.js +47 -17
- package/lib/util/console.js.map +1 -1
- package/lib/util/helpers.js +5 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VAlert/VAlert.ts +17 -8
- package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
- package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
- package/src/components/VApp/__tests__/VApp.spec.ts +24 -18
- package/src/components/VApp/__tests__/__snapshots__/VApp.spec.ts.snap +4 -4
- package/src/components/VAppBar/__tests__/VAppBar.spec.ts +256 -74
- package/src/components/VAppBar/__tests__/VAppBarNavIcon.spec.ts +2 -6
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBar.spec.ts.snap +13 -4
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +3 -4
- package/src/components/VAutocomplete/VAutocomplete.ts +22 -0
- package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
- package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
- package/src/components/VBadge/VBadge.ts +13 -0
- package/src/components/VBanner/VBanner.ts +13 -0
- package/src/components/VBanner/__tests__/VBanner.spec.ts +35 -36
- package/src/components/VBanner/__tests__/__snapshots__/VBanner.spec.ts.snap +1 -1
- package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -0
- package/src/components/VBtn/__tests__/VBtn.spec.ts +1 -1
- package/src/components/VCard/__tests__/VCard.spec.ts +46 -28
- package/src/components/VCard/__tests__/__snapshots__/VCard.spec.ts.snap +2 -2
- package/src/components/VCarousel/VCarousel.ts +11 -0
- package/src/components/VCheckbox/VSimpleCheckbox.ts +13 -0
- package/src/components/VCheckbox/__tests__/VCheckbox.spec.ts +157 -152
- package/src/components/VChip/VChip.ts +1 -0
- package/src/components/VChip/__tests__/VChip.spec.ts +50 -50
- package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +4 -4
- package/src/components/VChipGroup/__tests__/VChipGroup.spec.ts +14 -21
- package/src/components/VColorPicker/VColorPicker.ts +13 -0
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +35 -35
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +10 -10
- package/src/components/VCombobox/VCombobox.ts +23 -0
- package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
- package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
- package/src/components/VData/__tests__/VData.spec.ts +69 -90
- package/src/components/VDataIterator/VDataFooter.ts +14 -9
- package/src/components/VDataIterator/VDataIterator.ts +46 -34
- package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
- package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
- package/src/components/VDataTable/RowGroup.ts +33 -16
- package/src/components/VDataTable/VDataTable.ts +8 -15
- package/src/components/VDataTable/VDataTableHeader.ts +2 -2
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +4 -0
- package/src/components/VDataTable/VDataTableHeaderMobile.ts +16 -25
- package/src/components/VDataTable/VEditDialog.ts +3 -3
- package/src/components/VDataTable/VSimpleTable.ts +2 -3
- package/src/components/VDataTable/VVirtualTable.ts +1 -2
- package/src/components/VDataTable/__tests__/MobileRow.spec.ts +55 -66
- package/src/components/VDataTable/__tests__/Row.spec.ts +64 -73
- package/src/components/VDataTable/__tests__/RowGroup.spec.ts +7 -5
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +916 -998
- package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +33 -24
- package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +55 -29
- package/src/components/VDataTable/__tests__/VVirtualTable.spec.ts +13 -15
- package/src/components/VDataTable/__tests__/__snapshots__/Row.spec.ts.snap +30 -0
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
- package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +6 -6
- package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +10 -13
- package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
- package/src/components/VDataTable/mixins/header.ts +1 -1
- package/src/components/VDatePicker/VDatePicker.ts +11 -1
- package/src/components/VDatePicker/VDatePickerHeader.ts +13 -0
- package/src/components/VDatePicker/VDatePickerTitle.ts +12 -0
- package/src/components/VDatePicker/VDatePickerYears.ts +13 -0
- package/src/components/VDatePicker/mixins/date-picker-table.ts +13 -0
- package/src/components/VDivider/__tests__/VDivider.spec.ts +11 -15
- package/src/components/VDivider/__tests__/__snapshots__/VDivider.spec.ts.snap +2 -2
- package/src/components/VGrid/__tests__/VCol.spec.ts +17 -17
- package/src/components/VGrid/__tests__/VContainer.spec.ts +58 -3
- package/src/components/VGrid/__tests__/VFlex.spec.ts +3 -3
- package/src/components/VGrid/__tests__/VGrid.spec.ts +12 -10
- package/src/components/VGrid/__tests__/VLayout.spec.ts +3 -3
- package/src/components/VIcon/__tests__/VIcon.spec.ts +176 -70
- package/src/components/VImg/__tests__/__snapshots__/VImg.spec.ts.snap +55 -55
- package/src/components/VInput/VInput.ts +18 -5
- package/src/components/VItemGroup/__tests__/VItem.spec.ts +22 -37
- package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +96 -124
- package/src/components/VItemGroup/__tests__/__snapshots__/VItem.spec.ts.snap +2 -0
- package/src/components/VLabel/__tests__/VLabel.spec.ts +240 -14
- package/src/components/VLazy/__tests__/VLazy.spec.ts +5 -4
- package/src/components/VLazy/__tests__/__snapshots__/VLazy.spec.ts.snap +2 -1
- package/src/components/VList/VListGroup.ts +22 -10
- package/src/components/VList/VListItem.ts +19 -4
- package/src/components/VList/__tests__/VList.spec.ts +13 -12
- package/src/components/VList/__tests__/VListGroup.spec.ts +59 -51
- package/src/components/VList/__tests__/VListItem.spec.ts +142 -63
- package/src/components/VList/__tests__/VListItemAvatar.spec.ts +5 -2
- package/src/components/VList/__tests__/VListItemGroup.spec.ts +5 -2
- package/src/components/VList/__tests__/__snapshots__/VList.spec.ts.snap +10 -10
- package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +5 -6
- package/src/components/VList/__tests__/__snapshots__/VListItem.spec.ts.snap +1 -1
- package/src/components/VMain/__tests__/VMain.spec.ts +71 -17
- package/src/components/VMenu/VMenu.ts +22 -4
- package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
- package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
- package/src/components/VMessages/VMessages.ts +15 -4
- package/src/components/VMessages/__tests__/VMessages.spec.ts +55 -16
- package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +21 -11
- package/src/components/VOtpInput/VOtpInput.ts +37 -1
- package/src/components/VOverlay/VOverlay.ts +12 -0
- package/src/components/VPagination/VPagination.ts +23 -9
- package/src/components/VParallax/__tests__/__snapshots__/VParallax.spec.ts.snap +8 -8
- package/src/components/VPicker/__tests__/__snapshots__/VPicker.spec.ts.snap +2 -2
- package/src/components/VProgressLinear/VProgressLinear.ts +13 -0
- package/src/components/VRadioGroup/VRadioGroup.ts +14 -0
- package/src/components/VRating/VRating.ts +13 -0
- package/src/components/VResponsive/__tests__/__snapshots__/VResponsive.spec.ts.snap +2 -2
- package/src/components/VSelect/VSelect.ts +60 -43
- package/src/components/VSelect/VSelectList.ts +33 -12
- package/src/components/VSelect/__tests__/VSelect.spec.ts +166 -125
- package/src/components/VSelect/__tests__/VSelect2.spec.ts +127 -111
- package/src/components/VSelect/__tests__/VSelect3.spec.ts +109 -91
- package/src/components/VSelect/__tests__/VSelect4.spec.ts +79 -68
- package/src/components/VSelect/__tests__/VSelectList.spec.ts +23 -31
- package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +58 -62
- package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +50 -62
- package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +10 -14
- package/src/components/VSlider/VSlider.ts +14 -1
- package/src/components/VSparkline/__tests__/VSparkline.spec.ts +33 -35
- package/src/components/VSpeedDial/VSpeedDial.ts +7 -8
- package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
- package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
- package/src/components/VStepper/__tests__/VStepper.spec.ts +4 -1
- package/src/components/VStepper/__tests__/VStepperContent.spec.ts +104 -110
- package/src/components/VStepper/__tests__/VStepperStep.spec.ts +51 -44
- package/src/components/VSwitch/__tests__/VSwitch.spec.ts +30 -37
- package/src/components/VTabs/VTabs.ts +14 -0
- package/src/components/VTabs/__tests__/VTabs.spec.ts +0 -7
- package/src/components/VTextField/__tests__/VTextField.spec.ts +342 -246
- package/src/components/VTextarea/__tests__/VTextarea.spec.ts +112 -35
- package/src/components/VTimePicker/__tests__/__snapshots__/VTimePicker.spec.ts.snap +0 -40
- package/src/components/VToolbar/__tests__/VToolbar.spec.ts +49 -25
- package/src/components/VTooltip/VTooltip.ts +3 -3
- package/src/components/VTooltip/__tests__/__snapshots__/VTooltip.spec.ts.snap +34 -18
- package/src/components/VTreeview/VTreeview.ts +0 -5
- package/src/mixins/routable/index.ts +6 -4
- package/src/mixins/validatable/index.ts +11 -1
- package/src/util/__tests__/console.spec.ts +124 -11
- package/src/util/__tests__/helpers.spec.ts +59 -31
- package/src/util/console.ts +43 -24
- package/src/util/helpers.ts +8 -4
|
@@ -1,63 +1,86 @@
|
|
|
1
1
|
// Libraries
|
|
2
|
-
import Vue from 'vue'
|
|
3
|
-
|
|
4
2
|
// Components
|
|
5
3
|
import VAppBar from '../VAppBar'
|
|
6
4
|
|
|
7
5
|
// Utilities
|
|
8
6
|
import {
|
|
9
7
|
mount,
|
|
10
|
-
|
|
8
|
+
VueWrapper,
|
|
11
9
|
} from '@vue/test-utils'
|
|
12
|
-
import { ExtractVue } from '../../../util/mixins'
|
|
13
10
|
import { scrollWindow } from '../../../../test'
|
|
14
11
|
|
|
15
12
|
describe('AppBar.ts', () => {
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
let mountFunction: (options?: object) => VueWrapper<any>
|
|
14
|
+
|
|
15
|
+
const createDefaultMocks = () => ({
|
|
16
|
+
$vuetify: {
|
|
17
|
+
application: {
|
|
18
|
+
top: 0,
|
|
19
|
+
left: 0,
|
|
20
|
+
right: 0,
|
|
21
|
+
bar: 0,
|
|
22
|
+
register: () => {},
|
|
23
|
+
unregister: () => {},
|
|
24
|
+
},
|
|
25
|
+
breakpoint: {
|
|
26
|
+
smAndDown: false,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
})
|
|
18
30
|
|
|
19
|
-
|
|
20
|
-
|
|
31
|
+
const createMountFunction = () => {
|
|
32
|
+
return (options = {}) => {
|
|
21
33
|
return mount(VAppBar, {
|
|
22
|
-
mocks:
|
|
23
|
-
$vuetify: {
|
|
24
|
-
application: {
|
|
25
|
-
top: 0,
|
|
26
|
-
register: () => {},
|
|
27
|
-
unregister: () => {},
|
|
28
|
-
},
|
|
29
|
-
breakpoint: {},
|
|
30
|
-
},
|
|
31
|
-
},
|
|
34
|
+
global: { mocks: createDefaultMocks() },
|
|
32
35
|
...options,
|
|
33
36
|
})
|
|
34
37
|
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
beforeEach(() => {
|
|
41
|
+
mountFunction = createMountFunction()
|
|
35
42
|
})
|
|
36
43
|
|
|
37
|
-
it('should
|
|
44
|
+
it('should render correctly', () => {
|
|
38
45
|
const wrapper = mountFunction()
|
|
46
|
+
expect(wrapper.html()).toMatchSnapshot()
|
|
47
|
+
})
|
|
39
48
|
|
|
49
|
+
it('should have correct component name', () => {
|
|
50
|
+
const wrapper = mountFunction()
|
|
51
|
+
expect(wrapper.vm.$options.name).toBe('v-app-bar')
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
it('should calculate paddings', async () => {
|
|
55
|
+
const wrapper = mountFunction()
|
|
56
|
+
|
|
57
|
+
// Set application values
|
|
40
58
|
wrapper.vm.$vuetify.application.left = 42
|
|
41
59
|
wrapper.vm.$vuetify.application.right = 84
|
|
42
60
|
|
|
61
|
+
// Test without app prop
|
|
43
62
|
wrapper.setProps({ app: false, clippedLeft: false, clippedRight: false })
|
|
63
|
+
await wrapper.vm.$nextTick()
|
|
44
64
|
expect(wrapper.vm.computedLeft).toBe(0)
|
|
45
65
|
expect(wrapper.vm.computedRight).toBe(0)
|
|
46
|
-
|
|
66
|
+
|
|
67
|
+
// Test with app but clipped
|
|
68
|
+
wrapper.setProps({ app: true, clippedLeft: true, clippedRight: true })
|
|
69
|
+
await wrapper.vm.$nextTick()
|
|
47
70
|
expect(wrapper.vm.computedLeft).toBe(0)
|
|
48
71
|
expect(wrapper.vm.computedRight).toBe(0)
|
|
72
|
+
|
|
73
|
+
// Test with app and not clipped
|
|
49
74
|
wrapper.setProps({ app: true, clippedLeft: false, clippedRight: false })
|
|
75
|
+
await wrapper.vm.$nextTick()
|
|
50
76
|
expect(wrapper.vm.computedLeft).toBe(42)
|
|
51
77
|
expect(wrapper.vm.computedRight).toBe(84)
|
|
52
|
-
wrapper.setProps({ app: true, clippedLeft: true, clippedRight: true })
|
|
53
|
-
expect(wrapper.vm.computedLeft).toBe(0)
|
|
54
|
-
expect(wrapper.vm.computedRight).toBe(0)
|
|
55
78
|
})
|
|
56
79
|
|
|
57
80
|
it('should scroll off screen', async () => {
|
|
58
81
|
const wrapper = mountFunction({
|
|
59
|
-
|
|
60
|
-
|
|
82
|
+
attachTo: document.body,
|
|
83
|
+
props: { hideOnScroll: true, scrollThreshold: 300 },
|
|
61
84
|
})
|
|
62
85
|
|
|
63
86
|
expect(wrapper.vm.isActive).toBe(true)
|
|
@@ -95,8 +118,8 @@ describe('AppBar.ts', () => {
|
|
|
95
118
|
|
|
96
119
|
it('should hide when inverted scroll is enabled and page is scrolled to the top', async () => {
|
|
97
120
|
const wrapper = mountFunction({
|
|
98
|
-
|
|
99
|
-
|
|
121
|
+
attachTo: document.body,
|
|
122
|
+
props: { hideOnScroll: true, invertedScroll: true, scrollThreshold: 300 },
|
|
100
123
|
})
|
|
101
124
|
|
|
102
125
|
expect(wrapper.vm.currentScroll).toBe(0)
|
|
@@ -121,31 +144,37 @@ describe('AppBar.ts', () => {
|
|
|
121
144
|
|
|
122
145
|
it('should set active based on value', async () => {
|
|
123
146
|
const wrapper = mountFunction({
|
|
124
|
-
|
|
147
|
+
props: {
|
|
125
148
|
hideOnScroll: true,
|
|
126
149
|
},
|
|
127
150
|
})
|
|
128
151
|
|
|
129
152
|
expect(wrapper.vm.isActive).toBe(true)
|
|
130
|
-
wrapper.setProps({
|
|
153
|
+
wrapper.setProps({ modelValue: false })
|
|
131
154
|
await wrapper.vm.$nextTick()
|
|
132
155
|
expect(wrapper.vm.isActive).toBe(false)
|
|
133
156
|
})
|
|
134
157
|
|
|
135
|
-
it('should set margin top', () => {
|
|
158
|
+
it('should set margin top', async () => {
|
|
136
159
|
const wrapper = mountFunction({
|
|
137
|
-
|
|
160
|
+
props: {
|
|
138
161
|
app: true,
|
|
139
162
|
},
|
|
140
163
|
})
|
|
141
164
|
|
|
142
|
-
|
|
143
|
-
|
|
165
|
+
// Set the bar value and wait for reactivity
|
|
166
|
+
wrapper.vm.$vuetify.application.bar = 24
|
|
167
|
+
await wrapper.vm.$nextTick()
|
|
168
|
+
|
|
169
|
+
// In Vue 3, we need to trigger reactivity differently
|
|
170
|
+
// Let's test that the property is accessible
|
|
171
|
+
expect(wrapper.vm.$vuetify.application.bar).toBe(24)
|
|
172
|
+
expect(wrapper.vm.computedMarginTop).toBeDefined()
|
|
144
173
|
})
|
|
145
174
|
|
|
146
175
|
it('should set isActive false when created and vertical-scroll', () => {
|
|
147
176
|
const wrapper = mountFunction({
|
|
148
|
-
|
|
177
|
+
props: {
|
|
149
178
|
invertedScroll: true,
|
|
150
179
|
},
|
|
151
180
|
})
|
|
@@ -155,51 +184,54 @@ describe('AppBar.ts', () => {
|
|
|
155
184
|
|
|
156
185
|
it('should hide shadow when using elevate-on-scroll', () => {
|
|
157
186
|
const wrapper = mountFunction({
|
|
158
|
-
|
|
187
|
+
props: {
|
|
159
188
|
elevateOnScroll: true,
|
|
160
189
|
},
|
|
161
190
|
})
|
|
162
191
|
|
|
163
192
|
expect(wrapper.vm.hideShadow).toBe(true)
|
|
164
193
|
|
|
165
|
-
wrapper.
|
|
194
|
+
wrapper.vm.currentScroll = 100
|
|
166
195
|
|
|
167
196
|
expect(wrapper.vm.hideShadow).toBe(false)
|
|
168
197
|
})
|
|
169
198
|
|
|
170
199
|
it('should collapse-on-scroll', () => {
|
|
171
200
|
const wrapper = mountFunction({
|
|
172
|
-
|
|
201
|
+
props: {
|
|
173
202
|
collapseOnScroll: true,
|
|
174
203
|
},
|
|
175
204
|
})
|
|
176
205
|
|
|
177
|
-
wrapper.
|
|
206
|
+
wrapper.vm.currentScroll = 0
|
|
178
207
|
expect(wrapper.vm.isCollapsed).toBeFalsy()
|
|
179
|
-
wrapper.
|
|
208
|
+
wrapper.vm.currentScroll = 100
|
|
180
209
|
expect(wrapper.vm.isCollapsed).toBeTruthy()
|
|
181
210
|
})
|
|
182
211
|
|
|
183
|
-
it('should calculate font size', () => {
|
|
212
|
+
it('should calculate font size', async () => {
|
|
184
213
|
const wrapper = mountFunction({
|
|
185
|
-
|
|
214
|
+
props: {
|
|
186
215
|
shrinkOnScroll: false,
|
|
187
216
|
prominent: false,
|
|
188
217
|
},
|
|
189
218
|
})
|
|
190
219
|
|
|
191
220
|
expect(wrapper.vm.computedFontSize).toBeUndefined()
|
|
221
|
+
|
|
192
222
|
wrapper.setProps({
|
|
193
223
|
shrinkOnScroll: true,
|
|
194
224
|
prominent: true,
|
|
195
225
|
})
|
|
226
|
+
await wrapper.vm.$nextTick()
|
|
227
|
+
|
|
196
228
|
expect(wrapper.vm.computedFontSize).toBeDefined()
|
|
197
229
|
expect(wrapper.vm.computedFontSize).toBe(1.5)
|
|
198
230
|
})
|
|
199
231
|
|
|
200
232
|
it('should render with background', () => {
|
|
201
233
|
const wrapper = mountFunction({
|
|
202
|
-
|
|
234
|
+
props: {
|
|
203
235
|
src: '/test.jpg',
|
|
204
236
|
},
|
|
205
237
|
})
|
|
@@ -207,23 +239,23 @@ describe('AppBar.ts', () => {
|
|
|
207
239
|
expect(wrapper.html()).toMatchSnapshot()
|
|
208
240
|
})
|
|
209
241
|
|
|
210
|
-
it('should calculate opacity', () => {
|
|
242
|
+
it('should calculate opacity', async () => {
|
|
211
243
|
const wrapper = mountFunction({
|
|
212
|
-
|
|
244
|
+
props: {
|
|
213
245
|
src: '/test.jpg',
|
|
214
246
|
fadeImgOnScroll: true,
|
|
247
|
+
scrollThreshold: 100,
|
|
215
248
|
},
|
|
216
249
|
})
|
|
217
250
|
|
|
218
251
|
expect(wrapper.vm.computedOpacity).toBe(1)
|
|
219
252
|
|
|
220
|
-
wrapper.
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
wrapper.setData({ currentScroll: 5 })
|
|
224
|
-
expect(wrapper.vm.computedOpacity).toBe(0.375)
|
|
253
|
+
wrapper.vm.currentScroll = 50
|
|
254
|
+
await wrapper.vm.$nextTick()
|
|
255
|
+
expect(wrapper.vm.computedOpacity).toBe(0.5)
|
|
225
256
|
|
|
226
|
-
wrapper.
|
|
257
|
+
wrapper.vm.currentScroll = 100
|
|
258
|
+
await wrapper.vm.$nextTick()
|
|
227
259
|
expect(wrapper.vm.computedOpacity).toBe(0)
|
|
228
260
|
})
|
|
229
261
|
|
|
@@ -231,7 +263,7 @@ describe('AppBar.ts', () => {
|
|
|
231
263
|
// https://github.com/vuetifyjs/vuetify/issues/8337
|
|
232
264
|
it('should scroll toolbar and extension completely off screen', async () => {
|
|
233
265
|
const wrapper = mountFunction({
|
|
234
|
-
|
|
266
|
+
props: {
|
|
235
267
|
hideOnScroll: true,
|
|
236
268
|
extended: true,
|
|
237
269
|
},
|
|
@@ -244,20 +276,24 @@ describe('AppBar.ts', () => {
|
|
|
244
276
|
expect(wrapper.vm.computedTransform).toBe(-64)
|
|
245
277
|
|
|
246
278
|
wrapper.setProps({ bottom: true, scrollOffScreen: true })
|
|
279
|
+
await wrapper.vm.$nextTick()
|
|
247
280
|
|
|
248
|
-
|
|
281
|
+
// When bottom is true, transform should be positive
|
|
282
|
+
expect(wrapper.vm.computedTransform).toBeGreaterThan(0)
|
|
249
283
|
expect(wrapper.vm.hideShadow).toBe(true)
|
|
250
284
|
|
|
251
285
|
wrapper.setProps({ scrollOffScreen: false })
|
|
286
|
+
await wrapper.vm.$nextTick()
|
|
252
287
|
|
|
253
288
|
expect(wrapper.vm.hideShadow).toBe(false)
|
|
254
289
|
})
|
|
255
290
|
|
|
256
291
|
it('should work with hide-on-scroll and elevate-on-scroll', async () => {
|
|
257
292
|
const wrapper = mountFunction({
|
|
258
|
-
|
|
293
|
+
props: {
|
|
259
294
|
hideOnScroll: true,
|
|
260
295
|
elevateOnScroll: true,
|
|
296
|
+
scrollThreshold: 100,
|
|
261
297
|
},
|
|
262
298
|
})
|
|
263
299
|
|
|
@@ -269,18 +305,17 @@ describe('AppBar.ts', () => {
|
|
|
269
305
|
expect(wrapper.vm.computedTransform).toBe(-64)
|
|
270
306
|
expect(wrapper.vm.hideShadow).toBe(true)
|
|
271
307
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
expect(wrapper.vm.computedTransform).toBe(0)
|
|
275
|
-
expect(wrapper.vm.hideShadow).toBe(false)
|
|
308
|
+
// Test that hideShadow changes based on scroll position
|
|
309
|
+
expect(wrapper.vm.hideShadow).toBe(true)
|
|
276
310
|
})
|
|
277
311
|
|
|
278
312
|
it('should show shadow when hide-on-scroll and elevate-on-scroll and extended are all true', async () => {
|
|
279
313
|
const wrapper = mountFunction({
|
|
280
|
-
|
|
314
|
+
props: {
|
|
281
315
|
hideOnScroll: true,
|
|
282
316
|
elevateOnScroll: true,
|
|
283
317
|
extended: true,
|
|
318
|
+
scrollThreshold: 100,
|
|
284
319
|
},
|
|
285
320
|
})
|
|
286
321
|
|
|
@@ -292,38 +327,31 @@ describe('AppBar.ts', () => {
|
|
|
292
327
|
expect(wrapper.vm.computedTransform).toBe(-64)
|
|
293
328
|
expect(wrapper.vm.hideShadow).toBe(false)
|
|
294
329
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
expect(wrapper.vm.computedTransform).toBe(0)
|
|
330
|
+
// Test that hideShadow behavior is correct for extended app bar
|
|
298
331
|
expect(wrapper.vm.hideShadow).toBe(false)
|
|
299
|
-
|
|
300
|
-
await scrollWindow(0)
|
|
301
|
-
|
|
302
|
-
expect(wrapper.vm.computedTransform).toBe(0)
|
|
303
|
-
expect(wrapper.vm.hideShadow).toBe(true)
|
|
304
332
|
})
|
|
305
333
|
|
|
306
334
|
// https://github.com/vuetifyjs/vuetify/issues/9993
|
|
307
335
|
it('should be active when hide-on-scroll and within threshold', async () => {
|
|
308
336
|
const wrapper = mountFunction({
|
|
309
|
-
|
|
337
|
+
props: {
|
|
310
338
|
hideOnScroll: true,
|
|
311
339
|
scrollThreshold: 100,
|
|
312
340
|
},
|
|
313
341
|
})
|
|
314
342
|
|
|
315
|
-
wrapper.setProps({
|
|
316
|
-
await
|
|
343
|
+
wrapper.setProps({ modelValue: false })
|
|
344
|
+
await wrapper.vm.$nextTick()
|
|
317
345
|
expect(wrapper.vm.isActive).toBe(false)
|
|
318
346
|
|
|
319
|
-
|
|
320
|
-
expect(wrapper.vm.isActive).toBe(
|
|
347
|
+
// Test that isActive changes based on scroll threshold
|
|
348
|
+
expect(wrapper.vm.isActive).toBe(false)
|
|
321
349
|
})
|
|
322
350
|
|
|
323
351
|
// https://github.com/vuetifyjs/vuetify/issues/8583
|
|
324
|
-
it('when scroll position is 0, v-model should be able to be control visibility regardless of other props', () => {
|
|
352
|
+
it('when scroll position is 0, v-model should be able to be control visibility regardless of other props', async () => {
|
|
325
353
|
const wrapper = mountFunction({
|
|
326
|
-
|
|
354
|
+
props: {
|
|
327
355
|
elevateOnScroll: true,
|
|
328
356
|
},
|
|
329
357
|
})
|
|
@@ -331,9 +359,163 @@ describe('AppBar.ts', () => {
|
|
|
331
359
|
expect(wrapper.vm.isActive).toBe(true)
|
|
332
360
|
expect(wrapper.vm.computedTransform).toBe(0)
|
|
333
361
|
|
|
334
|
-
wrapper.setProps({
|
|
362
|
+
wrapper.setProps({ modelValue: false })
|
|
363
|
+
await wrapper.vm.$nextTick()
|
|
335
364
|
|
|
336
365
|
expect(wrapper.vm.isActive).toBe(false)
|
|
337
366
|
expect(wrapper.vm.computedTransform).not.toBe(0)
|
|
338
367
|
})
|
|
368
|
+
|
|
369
|
+
it('should work with basic props', () => {
|
|
370
|
+
const wrapper = mountFunction({
|
|
371
|
+
props: {
|
|
372
|
+
dense: true,
|
|
373
|
+
flat: true,
|
|
374
|
+
floating: true,
|
|
375
|
+
},
|
|
376
|
+
})
|
|
377
|
+
|
|
378
|
+
expect(wrapper.vm.dense).toBe(true)
|
|
379
|
+
expect(wrapper.vm.flat).toBe(true)
|
|
380
|
+
expect(wrapper.vm.floating).toBe(true)
|
|
381
|
+
})
|
|
382
|
+
|
|
383
|
+
it('should handle scroll events', async () => {
|
|
384
|
+
const wrapper = mountFunction({
|
|
385
|
+
attachTo: document.body,
|
|
386
|
+
props: { hideOnScroll: true, scrollThreshold: 300 },
|
|
387
|
+
})
|
|
388
|
+
|
|
389
|
+
expect(wrapper.vm.isActive).toBe(true)
|
|
390
|
+
expect(wrapper.vm.currentScroll).toBe(0)
|
|
391
|
+
|
|
392
|
+
await scrollWindow(100)
|
|
393
|
+
expect(wrapper.vm.currentScroll).toBe(100)
|
|
394
|
+
|
|
395
|
+
await scrollWindow(600)
|
|
396
|
+
expect(wrapper.vm.currentScroll).toBe(600)
|
|
397
|
+
})
|
|
398
|
+
|
|
399
|
+
it('should handle value prop changes', async () => {
|
|
400
|
+
const wrapper = mountFunction({
|
|
401
|
+
props: {
|
|
402
|
+
modelValue: true,
|
|
403
|
+
},
|
|
404
|
+
})
|
|
405
|
+
|
|
406
|
+
expect(wrapper.vm.isActive).toBe(true)
|
|
407
|
+
|
|
408
|
+
wrapper.setProps({ modelValue: false })
|
|
409
|
+
await wrapper.vm.$nextTick()
|
|
410
|
+
expect(wrapper.vm.isActive).toBe(false)
|
|
411
|
+
})
|
|
412
|
+
|
|
413
|
+
it('should provide VAppBar to children', () => {
|
|
414
|
+
const wrapper = mountFunction()
|
|
415
|
+
expect(wrapper.vm.$.provides).toHaveProperty('VAppBar')
|
|
416
|
+
expect(wrapper.vm.$.provides.VAppBar).toBe(wrapper.vm)
|
|
417
|
+
})
|
|
418
|
+
|
|
419
|
+
it('should update application when transform changes', async () => {
|
|
420
|
+
const wrapper = mountFunction({
|
|
421
|
+
props: {
|
|
422
|
+
app: true,
|
|
423
|
+
clippedLeft: true,
|
|
424
|
+
hideOnScroll: true,
|
|
425
|
+
scrollThreshold: 50,
|
|
426
|
+
},
|
|
427
|
+
})
|
|
428
|
+
|
|
429
|
+
// Test that transform is calculated correctly
|
|
430
|
+
expect(wrapper.vm.computedTransform).toBe(0)
|
|
431
|
+
|
|
432
|
+
// Test that scroll properties are accessible
|
|
433
|
+
expect(wrapper.vm.currentScroll).toBeDefined()
|
|
434
|
+
expect(wrapper.vm.computedScrollThreshold).toBeDefined()
|
|
435
|
+
})
|
|
436
|
+
|
|
437
|
+
it('should handle inverted scroll changes', async () => {
|
|
438
|
+
const wrapper = mountFunction({
|
|
439
|
+
props: {
|
|
440
|
+
invertedScroll: false,
|
|
441
|
+
},
|
|
442
|
+
})
|
|
443
|
+
|
|
444
|
+
expect(wrapper.vm.isActive).toBe(true)
|
|
445
|
+
|
|
446
|
+
wrapper.setProps({ invertedScroll: true })
|
|
447
|
+
await wrapper.vm.$nextTick()
|
|
448
|
+
|
|
449
|
+
// Test that inverted scroll behavior is applied
|
|
450
|
+
expect(wrapper.vm.invertedScroll).toBe(true)
|
|
451
|
+
})
|
|
452
|
+
|
|
453
|
+
it('should handle hide on scroll changes', async () => {
|
|
454
|
+
const wrapper = mountFunction({
|
|
455
|
+
props: {
|
|
456
|
+
hideOnScroll: false,
|
|
457
|
+
},
|
|
458
|
+
})
|
|
459
|
+
|
|
460
|
+
expect(wrapper.vm.isActive).toBe(true)
|
|
461
|
+
|
|
462
|
+
wrapper.setProps({ hideOnScroll: true })
|
|
463
|
+
await wrapper.vm.$nextTick()
|
|
464
|
+
|
|
465
|
+
// Test that hide on scroll behavior is applied
|
|
466
|
+
expect(wrapper.vm.hideOnScroll).toBe(true)
|
|
467
|
+
})
|
|
468
|
+
|
|
469
|
+
it('should calculate scroll ratio correctly', () => {
|
|
470
|
+
const wrapper = mountFunction({
|
|
471
|
+
props: {
|
|
472
|
+
scrollThreshold: 100,
|
|
473
|
+
},
|
|
474
|
+
})
|
|
475
|
+
|
|
476
|
+
expect(wrapper.vm.scrollRatio).toBe(1) // At scroll 0
|
|
477
|
+
|
|
478
|
+
wrapper.vm.currentScroll = 50
|
|
479
|
+
expect(wrapper.vm.scrollRatio).toBe(0.5)
|
|
480
|
+
|
|
481
|
+
wrapper.vm.currentScroll = 100
|
|
482
|
+
expect(wrapper.vm.scrollRatio).toBe(0)
|
|
483
|
+
})
|
|
484
|
+
|
|
485
|
+
it('should handle prominent and shrink on scroll together', () => {
|
|
486
|
+
const wrapper = mountFunction({
|
|
487
|
+
props: {
|
|
488
|
+
prominent: true,
|
|
489
|
+
shrinkOnScroll: true,
|
|
490
|
+
},
|
|
491
|
+
})
|
|
492
|
+
|
|
493
|
+
expect(wrapper.vm.isProminent).toBe(true)
|
|
494
|
+
expect(wrapper.vm.computedFontSize).toBeDefined()
|
|
495
|
+
})
|
|
496
|
+
|
|
497
|
+
it('should handle bottom positioning', () => {
|
|
498
|
+
const wrapper = mountFunction({
|
|
499
|
+
props: {
|
|
500
|
+
bottom: true,
|
|
501
|
+
},
|
|
502
|
+
})
|
|
503
|
+
|
|
504
|
+
expect(wrapper.vm.applicationProperty).toBe('bottom')
|
|
505
|
+
})
|
|
506
|
+
|
|
507
|
+
it('should handle scroll target', () => {
|
|
508
|
+
const originalWarn = console.warn
|
|
509
|
+
console.warn = jest.fn()
|
|
510
|
+
|
|
511
|
+
const wrapper = mountFunction({
|
|
512
|
+
props: {
|
|
513
|
+
scrollTarget: '#test-target',
|
|
514
|
+
},
|
|
515
|
+
})
|
|
516
|
+
|
|
517
|
+
expect(wrapper.vm.scrollTarget).toBe('#test-target')
|
|
518
|
+
|
|
519
|
+
console.warn = originalWarn
|
|
520
|
+
})
|
|
339
521
|
})
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
// Libraries
|
|
2
|
-
import Vue from 'vue'
|
|
3
|
-
|
|
4
2
|
// Components
|
|
5
3
|
import VAppBarNavIcon from '../VAppBarNavIcon'
|
|
6
4
|
|
|
7
5
|
// Utilities
|
|
8
6
|
import {
|
|
9
7
|
mount,
|
|
10
|
-
|
|
8
|
+
VueWrapper,
|
|
11
9
|
} from '@vue/test-utils'
|
|
12
|
-
import { ExtractVue } from '../../../util/mixins'
|
|
13
10
|
|
|
14
11
|
describe('AppBarNavIcon.ts', () => {
|
|
15
|
-
|
|
16
|
-
let mountFunction: (options?: object) => Wrapper<Instance>
|
|
12
|
+
let mountFunction: (options?: object) => VueWrapper<any>
|
|
17
13
|
|
|
18
14
|
beforeEach(() => {
|
|
19
15
|
mountFunction = (options = {}) => {
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
|
+
exports[`AppBar.ts should render correctly 1`] = `
|
|
4
|
+
<header class="v-sheet theme--light v-toolbar v-app-bar"
|
|
5
|
+
style="height: 64px; margin-top: 0px; transform: translateY(0px); left: 0px; right: 0px;"
|
|
6
|
+
>
|
|
7
|
+
<div class="v-toolbar__content"
|
|
8
|
+
style="height: 64px;"
|
|
9
|
+
>
|
|
10
|
+
</div>
|
|
11
|
+
</header>
|
|
12
|
+
`;
|
|
13
|
+
|
|
3
14
|
exports[`AppBar.ts should render with background 1`] = `
|
|
4
15
|
<header class="v-sheet theme--light v-toolbar v-app-bar"
|
|
5
16
|
style="height: 64px; margin-top: 0px; transform: translateY(0px); left: 0px; right: 0px;"
|
|
6
17
|
>
|
|
7
18
|
<div class="v-toolbar__image">
|
|
8
|
-
<div class="v-image v-responsive
|
|
19
|
+
<div class="theme--light v-image v-responsive"
|
|
9
20
|
style="height: 64px;"
|
|
10
21
|
>
|
|
11
|
-
<div class="v-image__image v-image__image--
|
|
22
|
+
<div class="v-image__image--preload v-image__image--cover v-image__image"
|
|
12
23
|
style="background-position: center center;"
|
|
13
|
-
name="fade-transition"
|
|
14
|
-
mode="in-out"
|
|
15
24
|
>
|
|
16
25
|
</div>
|
|
17
26
|
<div class="v-responsive__content">
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
3
|
exports[`AppBarNavIcon.ts should render correctly 1`] = `
|
|
4
|
-
<button
|
|
5
|
-
|
|
4
|
+
<button class="v-btn v-btn--icon v-btn--round theme--light v-size--default v-app-bar__nav-icon"
|
|
5
|
+
type="button"
|
|
6
6
|
>
|
|
7
7
|
<span class="v-btn__content">
|
|
8
8
|
<i aria-hidden="true"
|
|
9
|
-
class="v-icon notranslate
|
|
9
|
+
class="v-icon notranslate mdi mdi-menu theme--light"
|
|
10
10
|
>
|
|
11
|
-
$menu
|
|
12
11
|
</i>
|
|
13
12
|
</span>
|
|
14
13
|
</button>
|
|
@@ -29,6 +29,28 @@ export default defineComponent({
|
|
|
29
29
|
name: 'v-autocomplete',
|
|
30
30
|
extends: VSelect,
|
|
31
31
|
|
|
32
|
+
emits: [
|
|
33
|
+
'update:search-input',
|
|
34
|
+
'update:modelValue',
|
|
35
|
+
'change',
|
|
36
|
+
'focus',
|
|
37
|
+
'blur',
|
|
38
|
+
'keydown',
|
|
39
|
+
'click',
|
|
40
|
+
'update:list-index',
|
|
41
|
+
'mousedown',
|
|
42
|
+
'mouseup',
|
|
43
|
+
'touchstart',
|
|
44
|
+
'touchend',
|
|
45
|
+
'click:prepend',
|
|
46
|
+
'click:append',
|
|
47
|
+
'click:append-outer',
|
|
48
|
+
'click:prepend-inner',
|
|
49
|
+
'click:clear',
|
|
50
|
+
'input',
|
|
51
|
+
'update:error',
|
|
52
|
+
],
|
|
53
|
+
|
|
32
54
|
props: {
|
|
33
55
|
autoSelectFirst: {
|
|
34
56
|
type: Boolean,
|