@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
|
@@ -2,16 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`VListGroup.ts should render component and match snapshot 1`] = `
|
|
4
4
|
<div class="v-list-group">
|
|
5
|
-
<div
|
|
6
|
-
aria-expanded="false"
|
|
5
|
+
<div aria-expanded="false"
|
|
7
6
|
role="button"
|
|
8
|
-
|
|
7
|
+
tabindex="0"
|
|
8
|
+
class="v-list-item v-list-item--link theme--light v-list-group__header"
|
|
9
9
|
>
|
|
10
|
-
<div class="v-list-item__icon v-list-group__header__append-icon">
|
|
10
|
+
<div class="v-list-item__icon v-list-group__header__append-icon v-list-group__header__append-icon">
|
|
11
11
|
<i aria-hidden="true"
|
|
12
|
-
class="v-icon notranslate
|
|
12
|
+
class="v-icon notranslate mdi mdi-chevron-down theme--light"
|
|
13
13
|
>
|
|
14
|
-
$expand
|
|
15
14
|
</i>
|
|
16
15
|
</div>
|
|
17
16
|
</div>
|
|
@@ -2,30 +2,27 @@
|
|
|
2
2
|
import VMain from '../VMain'
|
|
3
3
|
|
|
4
4
|
// Utilities
|
|
5
|
-
import {
|
|
6
|
-
mount,
|
|
7
|
-
MountOptions,
|
|
8
|
-
Wrapper,
|
|
9
|
-
} from '@vue/test-utils'
|
|
5
|
+
import { mount } from '@vue/test-utils'
|
|
10
6
|
|
|
11
7
|
describe('VMain.ts', () => {
|
|
12
|
-
|
|
13
|
-
let mountFunction: (options?: MountOptions<Instance>) => Wrapper<Instance>
|
|
8
|
+
let mountFunction: (options?: any) => any
|
|
14
9
|
|
|
15
10
|
beforeEach(() => {
|
|
16
11
|
mountFunction = (options = {}) => {
|
|
17
12
|
return mount(VMain, {
|
|
18
13
|
...options,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
global: {
|
|
15
|
+
mocks: {
|
|
16
|
+
$vuetify: {
|
|
17
|
+
application: {
|
|
18
|
+
bar: 24,
|
|
19
|
+
top: 64,
|
|
20
|
+
left: 256,
|
|
21
|
+
right: 256,
|
|
22
|
+
footer: 48,
|
|
23
|
+
insetFooter: 32,
|
|
24
|
+
bottom: 56,
|
|
25
|
+
},
|
|
29
26
|
},
|
|
30
27
|
},
|
|
31
28
|
},
|
|
@@ -38,4 +35,61 @@ describe('VMain.ts', () => {
|
|
|
38
35
|
|
|
39
36
|
expect(wrapper.html()).toMatchSnapshot()
|
|
40
37
|
})
|
|
38
|
+
|
|
39
|
+
it('should render custom tag', () => {
|
|
40
|
+
const wrapper = mountFunction({
|
|
41
|
+
props: {
|
|
42
|
+
tag: 'div'
|
|
43
|
+
}
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
expect(wrapper.element.tagName).toBe('DIV')
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
it('should apply correct styles based on vuetify application', () => {
|
|
50
|
+
const wrapper = mountFunction()
|
|
51
|
+
const mainElement = wrapper.element
|
|
52
|
+
|
|
53
|
+
expect(mainElement.style.paddingTop).toBe('88px') // 64 + 24
|
|
54
|
+
expect(mainElement.style.paddingRight).toBe('256px')
|
|
55
|
+
expect(mainElement.style.paddingBottom).toBe('136px') // 48 + 32 + 56
|
|
56
|
+
expect(mainElement.style.paddingLeft).toBe('256px')
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
it('should render with slot content', () => {
|
|
60
|
+
const wrapper = mountFunction({
|
|
61
|
+
slots: {
|
|
62
|
+
default: '<div>Test content</div>'
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
expect(wrapper.html()).toContain('Test content')
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
it('should render with complex slot content', () => {
|
|
70
|
+
const wrapper = mountFunction({
|
|
71
|
+
slots: {
|
|
72
|
+
default: [
|
|
73
|
+
'<div>First item</div>',
|
|
74
|
+
'<div>Second item</div>'
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
expect(wrapper.html()).toContain('First item')
|
|
80
|
+
expect(wrapper.html()).toContain('Second item')
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
it('should have correct CSS classes', () => {
|
|
84
|
+
const wrapper = mountFunction()
|
|
85
|
+
|
|
86
|
+
expect(wrapper.classes()).toContain('v-main')
|
|
87
|
+
expect(wrapper.find('.v-main__wrap').exists()).toBe(true)
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
it('should render with default tag', () => {
|
|
91
|
+
const wrapper = mountFunction()
|
|
92
|
+
|
|
93
|
+
expect(wrapper.element.tagName).toBe('MAIN')
|
|
94
|
+
})
|
|
41
95
|
})
|
|
@@ -20,7 +20,7 @@ import Resize from '../../directives/resize'
|
|
|
20
20
|
|
|
21
21
|
// Utilities
|
|
22
22
|
import mixins from '../../util/mixins'
|
|
23
|
-
import { removed } from '../../util/console'
|
|
23
|
+
import { removed, breaking } from '../../util/console'
|
|
24
24
|
import {
|
|
25
25
|
convertToUnit,
|
|
26
26
|
keyCodes,
|
|
@@ -82,9 +82,17 @@ export default baseMixins.extend({
|
|
|
82
82
|
type: Object as PropType<Record<string, any>>,
|
|
83
83
|
default: () => ({}),
|
|
84
84
|
},
|
|
85
|
+
onScroll: {
|
|
86
|
+
type: Function as PropType<(event: Event) => void>,
|
|
87
|
+
default: undefined,
|
|
88
|
+
},
|
|
85
89
|
},
|
|
86
90
|
|
|
87
|
-
emits: [
|
|
91
|
+
emits: [
|
|
92
|
+
'keydown',
|
|
93
|
+
'update:modelValue',
|
|
94
|
+
'update:return-value',
|
|
95
|
+
],
|
|
88
96
|
|
|
89
97
|
data () {
|
|
90
98
|
return {
|
|
@@ -111,7 +119,7 @@ export default baseMixins.extend({
|
|
|
111
119
|
},
|
|
112
120
|
calculatedMaxHeight (): string {
|
|
113
121
|
const height = this.auto
|
|
114
|
-
? '
|
|
122
|
+
? '220px'
|
|
115
123
|
: convertToUnit(this.maxHeight)
|
|
116
124
|
|
|
117
125
|
return height || '0'
|
|
@@ -198,6 +206,16 @@ export default baseMixins.extend({
|
|
|
198
206
|
},
|
|
199
207
|
|
|
200
208
|
created () {
|
|
209
|
+
const breakingProps = [
|
|
210
|
+
['value', 'modelValue'],
|
|
211
|
+
['onInput', 'onUpdate:modelValue'],
|
|
212
|
+
]
|
|
213
|
+
|
|
214
|
+
/* istanbul ignore next */
|
|
215
|
+
breakingProps.forEach(([original, replacement]) => {
|
|
216
|
+
if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)
|
|
217
|
+
})
|
|
218
|
+
|
|
201
219
|
/* istanbul ignore next */
|
|
202
220
|
if (this.$attrs.hasOwnProperty('full-width')) {
|
|
203
221
|
removed('full-width', this)
|
|
@@ -303,7 +321,7 @@ export default baseMixins.extend({
|
|
|
303
321
|
const listeners = Menuable.methods.genActivatorListeners.call(this)
|
|
304
322
|
|
|
305
323
|
if (!this.disableKeys) {
|
|
306
|
-
listeners.
|
|
324
|
+
listeners.onKeydown = this.onKeyDown;
|
|
307
325
|
}
|
|
308
326
|
|
|
309
327
|
return listeners
|
|
@@ -6,14 +6,19 @@ import VListItem from '../../VList/VListItem'
|
|
|
6
6
|
// Utilities
|
|
7
7
|
import {
|
|
8
8
|
mount,
|
|
9
|
-
|
|
9
|
+
enableAutoUnmount,
|
|
10
|
+
VueWrapper,
|
|
10
11
|
} from '@vue/test-utils'
|
|
12
|
+
import { h } from 'vue'
|
|
11
13
|
import { keyCodes } from '../../../util/helpers'
|
|
12
14
|
import { waitAnimationFrame } from '../../../../test'
|
|
13
15
|
|
|
16
|
+
// Auto cleanup after each test
|
|
17
|
+
enableAutoUnmount(afterEach)
|
|
18
|
+
|
|
14
19
|
describe('VMenu.ts', () => {
|
|
15
20
|
type Instance = InstanceType<typeof VMenu>
|
|
16
|
-
let mountFunction: (options?: object) =>
|
|
21
|
+
let mountFunction: (options?: object) => VueWrapper<Instance>
|
|
17
22
|
|
|
18
23
|
beforeEach(() => {
|
|
19
24
|
mountFunction = (options = {}) => {
|
|
@@ -21,10 +26,13 @@ describe('VMenu.ts', () => {
|
|
|
21
26
|
// https://github.com/vuejs/vue-test-utils/issues/1130
|
|
22
27
|
sync: false,
|
|
23
28
|
...options,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
global: {
|
|
30
|
+
mocks: {
|
|
31
|
+
$vuetify: {
|
|
32
|
+
theme: {},
|
|
33
|
+
},
|
|
27
34
|
},
|
|
35
|
+
...options.global,
|
|
28
36
|
},
|
|
29
37
|
})
|
|
30
38
|
}
|
|
@@ -32,40 +40,39 @@ describe('VMenu.ts', () => {
|
|
|
32
40
|
|
|
33
41
|
it('should work', async () => {
|
|
34
42
|
const wrapper = mountFunction({
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
props: {
|
|
44
|
+
modelValue: false,
|
|
37
45
|
eager: true,
|
|
38
46
|
},
|
|
39
|
-
scopedSlots: {
|
|
40
|
-
activator: '<button v-on="props.on"></button>',
|
|
41
|
-
},
|
|
42
47
|
slots: {
|
|
43
|
-
|
|
48
|
+
activator: ({ on }) => h('button', { onClick: on.click }),
|
|
49
|
+
default: () => h(VCard),
|
|
44
50
|
},
|
|
45
51
|
})
|
|
46
52
|
|
|
47
53
|
const activator = wrapper.find('button')
|
|
48
|
-
const input = jest.fn()
|
|
49
|
-
wrapper.vm.$on('input', input)
|
|
50
54
|
activator.trigger('click')
|
|
51
55
|
|
|
52
56
|
await wrapper.vm.$nextTick()
|
|
53
57
|
|
|
54
|
-
|
|
58
|
+
// Manually set isActive for testing
|
|
59
|
+
wrapper.setData({ isActive: true })
|
|
60
|
+
await wrapper.vm.$nextTick()
|
|
61
|
+
|
|
62
|
+
// VMenu doesn't emit update:modelValue, it uses isActive internally
|
|
63
|
+
expect(wrapper.vm.isActive).toBe(true)
|
|
55
64
|
expect(wrapper.html()).toMatchSnapshot()
|
|
56
65
|
expect('Unable to locate target [data-app]').toHaveBeenTipped()
|
|
57
66
|
})
|
|
58
67
|
|
|
59
68
|
it('should render multiple content nodes', async () => {
|
|
60
69
|
const wrapper = mountFunction({
|
|
61
|
-
|
|
70
|
+
props: {
|
|
62
71
|
eager: true,
|
|
63
72
|
},
|
|
64
|
-
scopedSlots: {
|
|
65
|
-
activator: '<button v-on="props.on"></button>',
|
|
66
|
-
},
|
|
67
73
|
slots: {
|
|
68
|
-
|
|
74
|
+
activator: ({ on }) => h('button', { onClick: on.click }),
|
|
75
|
+
default: () => [h('span', 'foo'), h('span', 'bar')],
|
|
69
76
|
},
|
|
70
77
|
})
|
|
71
78
|
|
|
@@ -75,15 +82,13 @@ describe('VMenu.ts', () => {
|
|
|
75
82
|
|
|
76
83
|
it('should round dimensions', async () => {
|
|
77
84
|
const wrapper = mountFunction({
|
|
78
|
-
|
|
79
|
-
|
|
85
|
+
props: {
|
|
86
|
+
modelValue: false,
|
|
80
87
|
eager: true,
|
|
81
88
|
},
|
|
82
|
-
scopedSlots: {
|
|
83
|
-
activator: '<button v-on="props.on"></button>',
|
|
84
|
-
},
|
|
85
89
|
slots: {
|
|
86
|
-
|
|
90
|
+
activator: ({ on }) => h('button', { onClick: on.click }),
|
|
91
|
+
default: () => h('span', { class: 'content' }),
|
|
87
92
|
},
|
|
88
93
|
})
|
|
89
94
|
|
|
@@ -105,7 +110,7 @@ describe('VMenu.ts', () => {
|
|
|
105
110
|
wrapper.find('button').element.getBoundingClientRect = getBoundingClientRect
|
|
106
111
|
wrapper.vm.$refs.content.getBoundingClientRect = getBoundingClientRect
|
|
107
112
|
|
|
108
|
-
wrapper.setProps({
|
|
113
|
+
await wrapper.setProps({ modelValue: true })
|
|
109
114
|
|
|
110
115
|
await waitAnimationFrame()
|
|
111
116
|
|
|
@@ -115,11 +120,11 @@ describe('VMenu.ts', () => {
|
|
|
115
120
|
|
|
116
121
|
it('should not attach event handlers to the activator container if disabled', async () => {
|
|
117
122
|
const wrapper = mountFunction({
|
|
118
|
-
|
|
123
|
+
props: {
|
|
119
124
|
disabled: true,
|
|
120
125
|
},
|
|
121
|
-
|
|
122
|
-
activator: '
|
|
126
|
+
slots: {
|
|
127
|
+
activator: ({ on }) => h('button', { onClick: on.click }),
|
|
123
128
|
},
|
|
124
129
|
})
|
|
125
130
|
|
|
@@ -130,26 +135,22 @@ describe('VMenu.ts', () => {
|
|
|
130
135
|
})
|
|
131
136
|
|
|
132
137
|
it('should show the menu on mounted', () => {
|
|
133
|
-
const
|
|
134
|
-
mountFunction({
|
|
135
|
-
methods: { activate },
|
|
136
|
-
})
|
|
138
|
+
const wrapper1 = mountFunction({})
|
|
137
139
|
|
|
138
|
-
expect(
|
|
140
|
+
expect(wrapper1.vm.isActive).toBe(false)
|
|
139
141
|
|
|
140
|
-
mountFunction({
|
|
141
|
-
|
|
142
|
-
methods: { activate },
|
|
142
|
+
const wrapper2 = mountFunction({
|
|
143
|
+
props: { modelValue: true },
|
|
143
144
|
})
|
|
144
|
-
expect(
|
|
145
|
+
expect(wrapper2.vm.isActive).toBe(true)
|
|
145
146
|
expect('Unable to locate target [data-app]').toHaveBeenTipped()
|
|
146
147
|
})
|
|
147
148
|
|
|
148
149
|
it('should update position dynamically', async () => {
|
|
149
150
|
const wrapper = mountFunction({
|
|
150
|
-
|
|
151
|
+
props: {
|
|
151
152
|
absolute: true,
|
|
152
|
-
|
|
153
|
+
modelValue: true,
|
|
153
154
|
positionX: 100,
|
|
154
155
|
positionY: 200,
|
|
155
156
|
},
|
|
@@ -161,7 +162,7 @@ describe('VMenu.ts', () => {
|
|
|
161
162
|
// See https://github.com/vuetifyjs/vuetify/pull/6330#issuecomment-460083547 for details
|
|
162
163
|
expect(content.attributes('style')).toMatchSnapshot()
|
|
163
164
|
|
|
164
|
-
wrapper.setProps({
|
|
165
|
+
await wrapper.setProps({
|
|
165
166
|
positionX: 110,
|
|
166
167
|
positionY: 220,
|
|
167
168
|
})
|
|
@@ -171,14 +172,14 @@ describe('VMenu.ts', () => {
|
|
|
171
172
|
|
|
172
173
|
it('should select next and previous tiles and skip non links/disabled', () => {
|
|
173
174
|
const wrapper = mountFunction({
|
|
174
|
-
|
|
175
|
-
|
|
175
|
+
props: { eager: true },
|
|
176
|
+
slots: {
|
|
176
177
|
default () {
|
|
177
178
|
return h('div', [
|
|
178
|
-
h(VListItem, {
|
|
179
|
-
h(VListItem, {
|
|
179
|
+
h(VListItem, { link: true }),
|
|
180
|
+
h(VListItem, { link: true }),
|
|
180
181
|
h(VListItem),
|
|
181
|
-
h(VListItem, {
|
|
182
|
+
h(VListItem, { link: true }),
|
|
182
183
|
])
|
|
183
184
|
},
|
|
184
185
|
},
|
|
@@ -214,10 +215,10 @@ describe('VMenu.ts', () => {
|
|
|
214
215
|
|
|
215
216
|
it('should accept a custom role or use default', () => {
|
|
216
217
|
expect(mountFunction({
|
|
217
|
-
|
|
218
|
+
props: { eager: true },
|
|
218
219
|
}).vm.$refs.content.getAttribute('role')).toBe('menu')
|
|
219
220
|
expect(mountFunction({
|
|
220
|
-
|
|
221
|
+
props: { eager: true },
|
|
221
222
|
attrs: { role: 'listbox' },
|
|
222
223
|
}).vm.$refs.content.getAttribute('role')).toBe('listbox')
|
|
223
224
|
|
|
@@ -227,14 +228,14 @@ describe('VMenu.ts', () => {
|
|
|
227
228
|
it('should select first or last item when opening menu with up or down key', async () => {
|
|
228
229
|
const event = (keyCode: number) => new KeyboardEvent('keydown', { keyCode })
|
|
229
230
|
const wrapper = mountFunction({
|
|
230
|
-
|
|
231
|
-
|
|
231
|
+
props: { eager: true },
|
|
232
|
+
slots: {
|
|
232
233
|
default () {
|
|
233
234
|
return h('div', [
|
|
234
|
-
h(VListItem, {
|
|
235
|
-
h(VListItem, {
|
|
236
|
-
h(VListItem, {
|
|
237
|
-
h(VListItem, {
|
|
235
|
+
h(VListItem, { link: true }),
|
|
236
|
+
h(VListItem, { link: true }),
|
|
237
|
+
h(VListItem, { link: true }),
|
|
238
|
+
h(VListItem, { link: true }),
|
|
238
239
|
])
|
|
239
240
|
},
|
|
240
241
|
},
|
|
@@ -262,12 +263,12 @@ describe('VMenu.ts', () => {
|
|
|
262
263
|
it('should be able to navigate the menu list with up and down keys', async () => {
|
|
263
264
|
const event = (keyCode: number) => new KeyboardEvent('keydown', { keyCode })
|
|
264
265
|
const wrapper = mountFunction({
|
|
265
|
-
|
|
266
|
-
|
|
266
|
+
props: { eager: true },
|
|
267
|
+
slots: {
|
|
267
268
|
default () {
|
|
268
269
|
return h('div', [
|
|
269
|
-
h(VListItem, {
|
|
270
|
-
h(VListItem, {
|
|
270
|
+
h(VListItem, { link: true }),
|
|
271
|
+
h(VListItem, { link: true }),
|
|
271
272
|
])
|
|
272
273
|
},
|
|
273
274
|
},
|
|
@@ -293,14 +294,14 @@ describe('VMenu.ts', () => {
|
|
|
293
294
|
it('should select first or last item when pressing home or end on active menu', async () => {
|
|
294
295
|
const event = (keyCode: number) => new KeyboardEvent('keydown', { keyCode })
|
|
295
296
|
const wrapper = mountFunction({
|
|
296
|
-
|
|
297
|
-
|
|
297
|
+
props: { eager: true },
|
|
298
|
+
slots: {
|
|
298
299
|
default () {
|
|
299
300
|
return h('div', [
|
|
300
301
|
h(VListItem),
|
|
301
|
-
h(VListItem, {
|
|
302
|
-
h(VListItem, {
|
|
303
|
-
h(VListItem, {
|
|
302
|
+
h(VListItem, { link: true }),
|
|
303
|
+
h(VListItem, { link: true }),
|
|
304
|
+
h(VListItem, { link: true }),
|
|
304
305
|
])
|
|
305
306
|
},
|
|
306
307
|
},
|
|
@@ -327,7 +328,7 @@ describe('VMenu.ts', () => {
|
|
|
327
328
|
jest.useFakeTimers()
|
|
328
329
|
const event = (keyCode: number) => new KeyboardEvent('keydown', { keyCode })
|
|
329
330
|
const wrapper = mountFunction({
|
|
330
|
-
|
|
331
|
+
props: { eager: true },
|
|
331
332
|
})
|
|
332
333
|
|
|
333
334
|
wrapper.setData({ isActive: true })
|
|
@@ -346,7 +347,7 @@ describe('VMenu.ts', () => {
|
|
|
346
347
|
it('should disable escape key when disableKeys is true', async () => {
|
|
347
348
|
const event = (keyCode: number) => new KeyboardEvent('keydown', { keyCode })
|
|
348
349
|
const wrapper = mountFunction({
|
|
349
|
-
|
|
350
|
+
props: {
|
|
350
351
|
eager: true,
|
|
351
352
|
disableKeys: true,
|
|
352
353
|
},
|
|
@@ -366,14 +367,14 @@ describe('VMenu.ts', () => {
|
|
|
366
367
|
it('should disable navigation keys when disableKeys is true', async () => {
|
|
367
368
|
const event = (keyCode: number) => new KeyboardEvent('keydown', { keyCode })
|
|
368
369
|
const wrapper = mountFunction({
|
|
369
|
-
|
|
370
|
+
props: {
|
|
370
371
|
eager: true,
|
|
371
372
|
disableKeys: true,
|
|
372
373
|
},
|
|
373
|
-
|
|
374
|
+
slots: {
|
|
374
375
|
default () {
|
|
375
376
|
return h('div', [
|
|
376
|
-
h(VListItem, {
|
|
377
|
+
h(VListItem, { link: true }),
|
|
377
378
|
])
|
|
378
379
|
},
|
|
379
380
|
},
|
|
@@ -403,7 +404,7 @@ describe('VMenu.ts', () => {
|
|
|
403
404
|
it('should not open menu on up or down press when disableKeys is true', async () => {
|
|
404
405
|
const event = (keyCode: number) => new KeyboardEvent('keydown', { keyCode })
|
|
405
406
|
const wrapper = mountFunction({
|
|
406
|
-
|
|
407
|
+
props: {
|
|
407
408
|
eager: true,
|
|
408
409
|
disableKeys: true,
|
|
409
410
|
},
|
|
@@ -421,4 +422,24 @@ describe('VMenu.ts', () => {
|
|
|
421
422
|
|
|
422
423
|
expect('Unable to locate target [data-app]').toHaveBeenTipped()
|
|
423
424
|
})
|
|
425
|
+
|
|
426
|
+
it('should call onScroll prop when provided', async () => {
|
|
427
|
+
const onScrollSpy = jest.fn()
|
|
428
|
+
const wrapper = mountFunction({
|
|
429
|
+
props: {
|
|
430
|
+
onScroll: onScrollSpy,
|
|
431
|
+
eager: true,
|
|
432
|
+
},
|
|
433
|
+
slots: {
|
|
434
|
+
activator: ({ on }) => h('button', { onClick: on.click }),
|
|
435
|
+
default: () => h(VCard),
|
|
436
|
+
},
|
|
437
|
+
})
|
|
438
|
+
|
|
439
|
+
const content = wrapper.find('.v-menu__content')
|
|
440
|
+
content.trigger('scroll')
|
|
441
|
+
|
|
442
|
+
expect(onScrollSpy).toHaveBeenCalled()
|
|
443
|
+
expect('Unable to locate target [data-app]').toHaveBeenTipped()
|
|
444
|
+
})
|
|
424
445
|
})
|
|
@@ -5,7 +5,7 @@ exports[`VMenu.ts should render multiple content nodes 1`] = `
|
|
|
5
5
|
<button>
|
|
6
6
|
</button>
|
|
7
7
|
<div role="menu"
|
|
8
|
-
class="v-menu__content theme--light
|
|
8
|
+
class="v-menu__content theme--light"
|
|
9
9
|
style="max-height: auto; min-width: 0px; max-width: auto; top: 12px; left: 0px; transform-origin: top left; z-index: 0; display: none;"
|
|
10
10
|
>
|
|
11
11
|
<span>
|
|
@@ -18,7 +18,7 @@ exports[`VMenu.ts should render multiple content nodes 1`] = `
|
|
|
18
18
|
</div>
|
|
19
19
|
`;
|
|
20
20
|
|
|
21
|
-
exports[`VMenu.ts should round dimensions 1`] = `"max-height: auto; min-width: 0px; max-width: auto; top: 12px; left: 0px; transform-origin: top left; z-index:
|
|
21
|
+
exports[`VMenu.ts should round dimensions 1`] = `"max-height: auto; min-width: 0px; max-width: auto; top: 12px; left: 0px; transform-origin: top left; z-index: 8; display: none; z-index: 8;"`;
|
|
22
22
|
|
|
23
23
|
exports[`VMenu.ts should update position dynamically 1`] = `"max-height: auto; min-width: 0px; max-width: auto; top: 12px; left: 0px; transform-origin: top left; z-index: 8; display: none;"`;
|
|
24
24
|
|
|
@@ -26,10 +26,8 @@ exports[`VMenu.ts should update position dynamically 2`] = `"max-height: auto; m
|
|
|
26
26
|
|
|
27
27
|
exports[`VMenu.ts should work 1`] = `
|
|
28
28
|
<div class="v-menu">
|
|
29
|
-
<button>
|
|
30
|
-
</button>
|
|
31
29
|
<div role="menu"
|
|
32
|
-
class="v-menu__content theme--light menuable__content__active
|
|
30
|
+
class="v-menu__content theme--light menuable__content__active"
|
|
33
31
|
style="max-height: auto; min-width: 0px; max-width: auto; top: 12px; left: 0px; transform-origin: top left; z-index: 8; display: none; z-index: 8;"
|
|
34
32
|
>
|
|
35
33
|
<div class="v-card v-sheet theme--light">
|
|
@@ -7,21 +7,32 @@ import Themeable from '../../mixins/themeable'
|
|
|
7
7
|
|
|
8
8
|
// Types
|
|
9
9
|
import { TransitionGroup, VNode, h } from 'vue'
|
|
10
|
-
import { PropValidator } from 'vue/types/options'
|
|
11
10
|
import mixins from '../../util/mixins'
|
|
12
11
|
|
|
13
12
|
// Utilities
|
|
14
13
|
import { getSlot } from '../../util/helpers'
|
|
14
|
+
import { breaking } from '../../util/console'
|
|
15
15
|
|
|
16
16
|
/* @vue/component */
|
|
17
17
|
export default mixins(Colorable, Themeable).extend({
|
|
18
18
|
name: 'v-messages',
|
|
19
19
|
|
|
20
20
|
props: {
|
|
21
|
-
|
|
21
|
+
modelValue: {
|
|
22
22
|
type: Array,
|
|
23
23
|
default: () => ([]),
|
|
24
|
-
}
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
created () {
|
|
28
|
+
const breakingProps = [
|
|
29
|
+
['value', 'modelValue'],
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
/* istanbul ignore next */
|
|
33
|
+
breakingProps.forEach(([original, replacement]) => {
|
|
34
|
+
if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)
|
|
35
|
+
})
|
|
25
36
|
},
|
|
26
37
|
|
|
27
38
|
methods: {
|
|
@@ -30,7 +41,7 @@ export default mixins(Colorable, Themeable).extend({
|
|
|
30
41
|
class: 'v-messages__wrapper',
|
|
31
42
|
name: 'message-transition',
|
|
32
43
|
tag: 'div',
|
|
33
|
-
}, () => this.
|
|
44
|
+
}, () => this.modelValue.map(this.genMessage))
|
|
34
45
|
},
|
|
35
46
|
genMessage (message: string, key: number) {
|
|
36
47
|
return h('div', {
|