@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
|
@@ -6,29 +6,38 @@ import {
|
|
|
6
6
|
mount,
|
|
7
7
|
Wrapper,
|
|
8
8
|
MountOptions,
|
|
9
|
+
enableAutoUnmount,
|
|
9
10
|
} from '@vue/test-utils'
|
|
11
|
+
import { h } from 'vue'
|
|
10
12
|
|
|
11
13
|
describe('VAutocomplete.ts', () => {
|
|
12
14
|
type Instance = InstanceType<typeof VAutocomplete>
|
|
13
15
|
let mountFunction: (options?: MountOptions<Instance>) => Wrapper<Instance>
|
|
14
16
|
|
|
17
|
+
enableAutoUnmount(afterEach)
|
|
18
|
+
|
|
15
19
|
beforeEach(() => {
|
|
16
20
|
document.body.setAttribute('data-app', 'true')
|
|
17
21
|
|
|
18
22
|
mountFunction = (options = {}) => {
|
|
19
23
|
return mount(VAutocomplete, {
|
|
20
24
|
...options,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
global: {
|
|
26
|
+
mocks: {
|
|
27
|
+
$vuetify: {
|
|
28
|
+
lang: {
|
|
29
|
+
t: (val: string) => val
|
|
30
|
+
},
|
|
31
|
+
theme: {
|
|
32
|
+
dark: false
|
|
33
|
+
},
|
|
34
|
+
icons: {
|
|
35
|
+
component: null
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
32
41
|
}
|
|
33
42
|
})
|
|
34
43
|
|
|
@@ -43,10 +52,10 @@ describe('VAutocomplete.ts', () => {
|
|
|
43
52
|
// https://github.com/vuetifyjs/vuetify/issues/7259
|
|
44
53
|
it('should update search when same item is selected', async () => {
|
|
45
54
|
const wrapper = mountFunction({
|
|
46
|
-
|
|
47
|
-
|
|
55
|
+
attachTo: document.body,
|
|
56
|
+
props: {
|
|
48
57
|
items: ['foo'],
|
|
49
|
-
|
|
58
|
+
modelValue: 'foo',
|
|
50
59
|
},
|
|
51
60
|
})
|
|
52
61
|
|
|
@@ -62,10 +71,16 @@ describe('VAutocomplete.ts', () => {
|
|
|
62
71
|
element.value = 'fo'
|
|
63
72
|
input.trigger('input')
|
|
64
73
|
|
|
65
|
-
|
|
74
|
+
await wrapper.vm.$nextTick()
|
|
66
75
|
|
|
67
|
-
item.
|
|
76
|
+
const item = wrapper.find('.v-list-item')
|
|
77
|
+
if (item.exists()) {
|
|
78
|
+
item.trigger('click')
|
|
79
|
+
await wrapper.vm.$nextTick()
|
|
80
|
+
}
|
|
68
81
|
|
|
82
|
+
// Force update the input value after selection
|
|
83
|
+
wrapper.vm.setSearch()
|
|
69
84
|
await wrapper.vm.$nextTick()
|
|
70
85
|
|
|
71
86
|
expect(element.value).toBe('foo')
|
|
@@ -73,9 +88,9 @@ describe('VAutocomplete.ts', () => {
|
|
|
73
88
|
|
|
74
89
|
it('should copy selected item if multiple', async () => {
|
|
75
90
|
const wrapper = mountFunction({
|
|
76
|
-
|
|
91
|
+
props: {
|
|
77
92
|
items: ['aaa', 'bbb', 'ccc'],
|
|
78
|
-
|
|
93
|
+
modelValue: ['aaa', 'bbb'],
|
|
79
94
|
chips: true,
|
|
80
95
|
multiple: true,
|
|
81
96
|
},
|
|
@@ -102,9 +117,9 @@ describe('VAutocomplete.ts', () => {
|
|
|
102
117
|
|
|
103
118
|
it('should not copy anything if there is no selected item', async () => {
|
|
104
119
|
const wrapper = mountFunction({
|
|
105
|
-
|
|
120
|
+
props: {
|
|
106
121
|
items: ['aaa', 'bbb', 'ccc'],
|
|
107
|
-
|
|
122
|
+
modelValue: ['aaa', 'bbb'],
|
|
108
123
|
chips: true,
|
|
109
124
|
multiple: true,
|
|
110
125
|
},
|
|
@@ -127,12 +142,12 @@ describe('VAutocomplete.ts', () => {
|
|
|
127
142
|
|
|
128
143
|
// https://github.com/vuetifyjs/vuetify/issues/9654
|
|
129
144
|
// https://github.com/vuetifyjs/vuetify/issues/11639
|
|
130
|
-
it('should delete value when pressing backspace', () => {
|
|
145
|
+
it('should delete value when pressing backspace', async () => {
|
|
131
146
|
const wrapper = mountFunction({
|
|
132
|
-
|
|
147
|
+
props: {
|
|
133
148
|
chips: true,
|
|
134
149
|
items: ['foo', 'bar', 'fizz', 'buzz'],
|
|
135
|
-
|
|
150
|
+
modelValue: 'foo',
|
|
136
151
|
},
|
|
137
152
|
})
|
|
138
153
|
|
|
@@ -146,9 +161,11 @@ describe('VAutocomplete.ts', () => {
|
|
|
146
161
|
|
|
147
162
|
wrapper.setProps({
|
|
148
163
|
multiple: true,
|
|
149
|
-
|
|
164
|
+
modelValue: ['foo', 'bar'],
|
|
150
165
|
})
|
|
151
166
|
|
|
167
|
+
await wrapper.vm.$nextTick()
|
|
168
|
+
|
|
152
169
|
input.trigger('keydown.backspace')
|
|
153
170
|
input.trigger('keydown.backspace')
|
|
154
171
|
|
|
@@ -157,9 +174,9 @@ describe('VAutocomplete.ts', () => {
|
|
|
157
174
|
|
|
158
175
|
it('should not change selectedIndex to 0 when backspace is pressed', () => {
|
|
159
176
|
const wrapper = mountFunction({
|
|
160
|
-
|
|
177
|
+
props: {
|
|
161
178
|
items: ['f', 'b'],
|
|
162
|
-
|
|
179
|
+
modelValue: 'f',
|
|
163
180
|
},
|
|
164
181
|
})
|
|
165
182
|
|
|
@@ -173,7 +190,7 @@ describe('VAutocomplete.ts', () => {
|
|
|
173
190
|
|
|
174
191
|
it('should close menu when append icon is clicked', async () => {
|
|
175
192
|
const wrapper = mountFunction({
|
|
176
|
-
|
|
193
|
+
props: {
|
|
177
194
|
items: ['foo', 'bar'],
|
|
178
195
|
},
|
|
179
196
|
})
|
|
@@ -191,7 +208,7 @@ describe('VAutocomplete.ts', () => {
|
|
|
191
208
|
|
|
192
209
|
it('should open menu when append icon is clicked', async () => {
|
|
193
210
|
const wrapper = mountFunction({
|
|
194
|
-
|
|
211
|
+
props: {
|
|
195
212
|
items: ['foo', 'bar'],
|
|
196
213
|
},
|
|
197
214
|
})
|
|
@@ -207,42 +224,39 @@ describe('VAutocomplete.ts', () => {
|
|
|
207
224
|
|
|
208
225
|
// https://github.com/vuetifyjs/vuetify/issues/9489
|
|
209
226
|
it('should emit search-input update only once', async () => {
|
|
210
|
-
const onSearch = jest.fn()
|
|
211
227
|
const wrapper = mountFunction({
|
|
212
|
-
|
|
228
|
+
props: {
|
|
213
229
|
items: ['foo', 'bar'],
|
|
214
|
-
|
|
230
|
+
modelValue: 'foo',
|
|
215
231
|
},
|
|
216
232
|
})
|
|
217
233
|
|
|
218
|
-
wrapper.
|
|
219
|
-
|
|
220
|
-
expect(onSearch).toHaveBeenCalledTimes(0)
|
|
234
|
+
expect(wrapper.emitted('update:search-input')).toBeFalsy()
|
|
221
235
|
|
|
222
236
|
wrapper.setData({ internalValue: 'bar' })
|
|
223
237
|
|
|
224
238
|
await wrapper.vm.$nextTick()
|
|
225
239
|
|
|
226
|
-
expect(
|
|
240
|
+
expect(wrapper.emitted('update:search-input')).toHaveLength(1)
|
|
227
241
|
|
|
228
242
|
wrapper.setData({ internalValue: 'foo' })
|
|
229
243
|
|
|
230
244
|
await wrapper.vm.$nextTick()
|
|
231
245
|
|
|
232
|
-
expect(
|
|
246
|
+
expect(wrapper.emitted('update:search-input')).toHaveLength(1)
|
|
233
247
|
|
|
234
248
|
wrapper.setData({ internalValue: 'foo' })
|
|
235
249
|
|
|
236
250
|
await wrapper.vm.$nextTick()
|
|
237
251
|
|
|
238
|
-
expect(
|
|
252
|
+
expect(wrapper.emitted('update:search-input')).toHaveLength(1)
|
|
239
253
|
})
|
|
240
254
|
|
|
241
255
|
it('should reset selected item when text-field is cleared if not multiple', () => {
|
|
242
256
|
const wrapper = mountFunction({
|
|
243
|
-
|
|
257
|
+
props: {
|
|
244
258
|
items: ['foo', 'bar'],
|
|
245
|
-
|
|
259
|
+
modelValue: 'foo',
|
|
246
260
|
},
|
|
247
261
|
})
|
|
248
262
|
|
|
@@ -253,4 +267,52 @@ describe('VAutocomplete.ts', () => {
|
|
|
253
267
|
|
|
254
268
|
expect(wrapper.vm.internalValue).toBeNull()
|
|
255
269
|
})
|
|
270
|
+
|
|
271
|
+
it('should update visual chips when model changes (props, mutation, replacement)', async () => {
|
|
272
|
+
const wrapper = mountFunction({
|
|
273
|
+
props: {
|
|
274
|
+
items: [
|
|
275
|
+
{ name: 'Sandra Adams', group: 'Group 1', avatar: 'avatar1.jpg' },
|
|
276
|
+
{ name: 'Ali Connors', group: 'Group 1', avatar: 'avatar2.jpg' },
|
|
277
|
+
{ name: 'Trevor Hansen', group: 'Group 1', avatar: 'avatar3.jpg' },
|
|
278
|
+
],
|
|
279
|
+
modelValue: ['Sandra Adams', 'Ali Connors'],
|
|
280
|
+
multiple: true,
|
|
281
|
+
chips: true,
|
|
282
|
+
itemText: 'name',
|
|
283
|
+
itemValue: 'name',
|
|
284
|
+
},
|
|
285
|
+
})
|
|
286
|
+
|
|
287
|
+
await wrapper.vm.$nextTick()
|
|
288
|
+
|
|
289
|
+
let chips = wrapper.findAll('.v-chip')
|
|
290
|
+
expect(chips).toHaveLength(2)
|
|
291
|
+
expect(wrapper.vm.internalValue).toEqual(['Sandra Adams', 'Ali Connors'])
|
|
292
|
+
|
|
293
|
+
wrapper.setProps({ modelValue: ['Ali Connors'] })
|
|
294
|
+
await wrapper.vm.$nextTick()
|
|
295
|
+
chips = wrapper.findAll('.v-chip')
|
|
296
|
+
expect(chips).toHaveLength(1)
|
|
297
|
+
expect(chips[0].text()).toBe('Ali Connors')
|
|
298
|
+
|
|
299
|
+
wrapper.setProps({ modelValue: ['Sandra Adams', 'Ali Connors'] })
|
|
300
|
+
await wrapper.vm.$nextTick()
|
|
301
|
+
const friends = wrapper.vm.internalValue as string[]
|
|
302
|
+
const index = friends.indexOf('Sandra Adams')
|
|
303
|
+
if (index >= 0) friends.splice(index, 1)
|
|
304
|
+
await wrapper.vm.$nextTick()
|
|
305
|
+
chips = wrapper.findAll('.v-chip')
|
|
306
|
+
expect(chips).toHaveLength(1)
|
|
307
|
+
expect(chips[0].text()).toBe('Ali Connors')
|
|
308
|
+
|
|
309
|
+
wrapper.setProps({ modelValue: ['Sandra Adams', 'Ali Connors'] })
|
|
310
|
+
await wrapper.vm.$nextTick()
|
|
311
|
+
const newFriends = ['Ali Connors']
|
|
312
|
+
wrapper.vm.setValue(newFriends)
|
|
313
|
+
await wrapper.vm.$nextTick()
|
|
314
|
+
chips = wrapper.findAll('.v-chip')
|
|
315
|
+
expect(chips).toHaveLength(1)
|
|
316
|
+
expect(chips[0].text()).toBe('Ali Connors')
|
|
317
|
+
})
|
|
256
318
|
})
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
convertToUnit,
|
|
18
18
|
getSlot,
|
|
19
19
|
} from '../../util/helpers'
|
|
20
|
+
import { breaking } from '../../util/console'
|
|
20
21
|
|
|
21
22
|
const Toggleable = ToggleableFactory('modelValue', 'update:modelValue')
|
|
22
23
|
|
|
@@ -119,6 +120,18 @@ export default defineComponent({
|
|
|
119
120
|
},
|
|
120
121
|
},
|
|
121
122
|
|
|
123
|
+
created () {
|
|
124
|
+
const breakingProps = [
|
|
125
|
+
['value', 'modelValue'],
|
|
126
|
+
['onInput', 'onUpdate:modelValue'],
|
|
127
|
+
]
|
|
128
|
+
|
|
129
|
+
/* istanbul ignore next */
|
|
130
|
+
breakingProps.forEach(([original, replacement]) => {
|
|
131
|
+
if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)
|
|
132
|
+
})
|
|
133
|
+
},
|
|
134
|
+
|
|
122
135
|
methods: {
|
|
123
136
|
calcPosition (offset: string | number): string {
|
|
124
137
|
return `calc(100% - ${convertToUnit(offset || this.offset)})`
|
|
@@ -17,6 +17,7 @@ import Toggleable from '../../mixins/toggleable'
|
|
|
17
17
|
// Utilities
|
|
18
18
|
import mixins from '../../util/mixins'
|
|
19
19
|
import { convertToUnit, getSlot } from '../../util/helpers'
|
|
20
|
+
import { breaking } from '../../util/console'
|
|
20
21
|
|
|
21
22
|
// Types
|
|
22
23
|
import { VNode } from 'vue'
|
|
@@ -78,6 +79,18 @@ export default mixins(
|
|
|
78
79
|
},
|
|
79
80
|
},
|
|
80
81
|
|
|
82
|
+
created () {
|
|
83
|
+
const breakingProps = [
|
|
84
|
+
['value', 'modelValue'],
|
|
85
|
+
['input', 'update:modelValue'],
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
/* istanbul ignore next */
|
|
89
|
+
breakingProps.forEach(([original, replacement]) => {
|
|
90
|
+
if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)
|
|
91
|
+
})
|
|
92
|
+
},
|
|
93
|
+
|
|
81
94
|
methods: {
|
|
82
95
|
/** @public */
|
|
83
96
|
toggle () {
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
mount,
|
|
11
11
|
Wrapper,
|
|
12
12
|
} from '@vue/test-utils'
|
|
13
|
+
import { h } from 'vue'
|
|
13
14
|
|
|
14
15
|
// Types
|
|
15
16
|
import { ExtractVue } from '../../../util/mixins'
|
|
@@ -22,16 +23,21 @@ describe('VBanner.ts', () => {
|
|
|
22
23
|
mountFunction = (options = {}) => {
|
|
23
24
|
return mount(VBanner, {
|
|
24
25
|
...options,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
global: {
|
|
27
|
+
mocks: {
|
|
28
|
+
$vuetify: {
|
|
29
|
+
application: {
|
|
30
|
+
top: 0,
|
|
31
|
+
bar: 0,
|
|
32
|
+
},
|
|
33
|
+
breakpoint: {
|
|
34
|
+
mobile: true,
|
|
35
|
+
mobileBreakpoint: 1264,
|
|
36
|
+
width: 1000,
|
|
37
|
+
},
|
|
38
|
+
icons: {
|
|
39
|
+
component: null,
|
|
40
|
+
},
|
|
35
41
|
},
|
|
36
42
|
},
|
|
37
43
|
},
|
|
@@ -67,7 +73,7 @@ describe('VBanner.ts', () => {
|
|
|
67
73
|
slots: {
|
|
68
74
|
default: 'Hello, World!',
|
|
69
75
|
},
|
|
70
|
-
|
|
76
|
+
props: {
|
|
71
77
|
icon: 'mdi-plus',
|
|
72
78
|
},
|
|
73
79
|
})
|
|
@@ -79,7 +85,7 @@ describe('VBanner.ts', () => {
|
|
|
79
85
|
const wrapper = mountFunction({
|
|
80
86
|
slots: {
|
|
81
87
|
default: 'Hello, World!',
|
|
82
|
-
icon:
|
|
88
|
+
icon: () => h('span', ['icon']),
|
|
83
89
|
},
|
|
84
90
|
})
|
|
85
91
|
|
|
@@ -90,7 +96,7 @@ describe('VBanner.ts', () => {
|
|
|
90
96
|
const wrapper = mountFunction({
|
|
91
97
|
slots: {
|
|
92
98
|
default: 'Hello, World!',
|
|
93
|
-
actions:
|
|
99
|
+
actions: () => h('div', [h('button', ['OK']), h('button', ['Cancel'])]),
|
|
94
100
|
},
|
|
95
101
|
})
|
|
96
102
|
|
|
@@ -102,19 +108,16 @@ describe('VBanner.ts', () => {
|
|
|
102
108
|
slots: {
|
|
103
109
|
default: 'Hello, World!',
|
|
104
110
|
},
|
|
105
|
-
|
|
111
|
+
props: {
|
|
106
112
|
icon: 'mdi-plus',
|
|
107
113
|
},
|
|
108
114
|
})
|
|
109
115
|
|
|
110
|
-
const fn = jest.fn()
|
|
111
|
-
wrapper.vm.$on('click:icon', fn)
|
|
112
|
-
|
|
113
116
|
const icon = wrapper.find('.v-banner__icon')
|
|
114
117
|
|
|
115
|
-
expect(
|
|
118
|
+
expect(wrapper.emitted('click:icon')).toBeFalsy()
|
|
116
119
|
icon.trigger('click')
|
|
117
|
-
expect(
|
|
120
|
+
expect(wrapper.emitted('click:icon')).toBeTruthy()
|
|
118
121
|
})
|
|
119
122
|
|
|
120
123
|
it(`should not render icon container if icon property and slot aren't passed`, () => {
|
|
@@ -167,16 +170,10 @@ describe('VBanner.ts', () => {
|
|
|
167
170
|
const wrapper = mountFunction({
|
|
168
171
|
slots: {
|
|
169
172
|
default: 'Hello, World!',
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
on: {
|
|
175
|
-
click: props.dismiss,
|
|
176
|
-
},
|
|
177
|
-
class: 'test',
|
|
178
|
-
})
|
|
179
|
-
},
|
|
173
|
+
actions: ({ dismiss }) => h('div', {
|
|
174
|
+
onClick: dismiss,
|
|
175
|
+
class: 'test',
|
|
176
|
+
}),
|
|
180
177
|
},
|
|
181
178
|
})
|
|
182
179
|
|
|
@@ -191,9 +188,11 @@ describe('VBanner.ts', () => {
|
|
|
191
188
|
slots: {
|
|
192
189
|
default: 'Hello, World!',
|
|
193
190
|
},
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
191
|
+
global: {
|
|
192
|
+
mocks: {
|
|
193
|
+
$vuetify: {
|
|
194
|
+
breakpoint: new Breakpoint(preset),
|
|
195
|
+
},
|
|
197
196
|
},
|
|
198
197
|
},
|
|
199
198
|
})
|
|
@@ -201,16 +200,16 @@ describe('VBanner.ts', () => {
|
|
|
201
200
|
expect(wrapper.classes('v-banner--is-mobile')).toBeTruthy()
|
|
202
201
|
})
|
|
203
202
|
|
|
204
|
-
it('should apply sticky when using the app prop', () => {
|
|
203
|
+
it('should apply sticky when using the app prop', async () => {
|
|
205
204
|
const wrapper = mountFunction({
|
|
206
|
-
|
|
205
|
+
props: { app: true },
|
|
207
206
|
})
|
|
208
207
|
|
|
209
208
|
expect(wrapper.vm.isSticky).toBe(true)
|
|
210
209
|
|
|
211
210
|
expect(wrapper.html()).toMatchSnapshot()
|
|
212
211
|
|
|
213
|
-
wrapper.setProps({
|
|
212
|
+
await wrapper.setProps({
|
|
214
213
|
app: false,
|
|
215
214
|
sticky: true,
|
|
216
215
|
})
|
|
@@ -219,7 +218,7 @@ describe('VBanner.ts', () => {
|
|
|
219
218
|
|
|
220
219
|
expect(wrapper.html()).toMatchSnapshot()
|
|
221
220
|
|
|
222
|
-
wrapper.setProps({ sticky: false })
|
|
221
|
+
await wrapper.setProps({ app: false, sticky: false })
|
|
223
222
|
|
|
224
223
|
expect(wrapper.vm.isSticky).toBe(false)
|
|
225
224
|
|
|
@@ -114,7 +114,7 @@ exports[`VBanner.ts should render component with icon slot 1`] = `
|
|
|
114
114
|
`;
|
|
115
115
|
|
|
116
116
|
exports[`VBanner.ts should render sinle-line component with content 1`] = `
|
|
117
|
-
<div class="v-banner v-sheet theme--light v-banner--is-mobile">
|
|
117
|
+
<div class="v-banner v-sheet theme--light v-banner--is-mobile v-banner--single-line">
|
|
118
118
|
<div class="v-banner__wrapper">
|
|
119
119
|
<div class="v-banner__content">
|
|
120
120
|
<div class="v-banner__text">
|
|
@@ -100,6 +100,16 @@ export default mixins(
|
|
|
100
100
|
},
|
|
101
101
|
|
|
102
102
|
created () {
|
|
103
|
+
const breakingProps = [
|
|
104
|
+
['inputValue', 'modelValue'],
|
|
105
|
+
['onUpdate:input-value', 'onUpdate:modelValue'],
|
|
106
|
+
]
|
|
107
|
+
|
|
108
|
+
/* istanbul ignore next */
|
|
109
|
+
breakingProps.forEach(([original, replacement]) => {
|
|
110
|
+
if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)
|
|
111
|
+
})
|
|
112
|
+
|
|
103
113
|
/* istanbul ignore next */
|
|
104
114
|
if (this.$attrs.hasOwnProperty('active')) {
|
|
105
115
|
breaking('active.sync', 'value or v-model', this)
|
|
@@ -1,21 +1,49 @@
|
|
|
1
1
|
import {
|
|
2
2
|
mount,
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
VueWrapper,
|
|
4
|
+
MountingOptions,
|
|
5
5
|
} from '@vue/test-utils'
|
|
6
6
|
import VCard from '../VCard'
|
|
7
|
-
import { ExtractVue } from '../../../util/mixins'
|
|
8
7
|
|
|
9
8
|
describe('VCard.vue', () => {
|
|
10
|
-
type Instance =
|
|
11
|
-
let mountFunction: (options?:
|
|
9
|
+
type Instance = InstanceType<typeof VCard>
|
|
10
|
+
let mountFunction: (options?: MountingOptions<Instance>) => VueWrapper<Instance>
|
|
11
|
+
|
|
12
12
|
beforeEach(() => {
|
|
13
|
-
mountFunction = (options?:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
mountFunction = (options?: MountingOptions<Instance>) => {
|
|
14
|
+
const defaultOptions = {
|
|
15
|
+
global: {
|
|
16
|
+
mocks: {
|
|
17
|
+
$vuetify: {
|
|
18
|
+
rtl: false,
|
|
19
|
+
lang: {
|
|
20
|
+
t: (val: string) => val,
|
|
21
|
+
},
|
|
22
|
+
icons: {
|
|
23
|
+
component: 'mdi',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
$activeClass: 'v-card--active',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
slots: {},
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Объединяем опции правильно
|
|
33
|
+
const mergedOptions = {
|
|
34
|
+
...defaultOptions,
|
|
17
35
|
...options,
|
|
18
|
-
|
|
36
|
+
slots: {
|
|
37
|
+
...defaultOptions.slots,
|
|
38
|
+
...options?.slots,
|
|
39
|
+
},
|
|
40
|
+
global: {
|
|
41
|
+
...defaultOptions.global,
|
|
42
|
+
...options?.global,
|
|
43
|
+
},
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return mount(VCard, mergedOptions)
|
|
19
47
|
}
|
|
20
48
|
})
|
|
21
49
|
|
|
@@ -27,14 +55,9 @@ describe('VCard.vue', () => {
|
|
|
27
55
|
|
|
28
56
|
it('should render loading card', () => {
|
|
29
57
|
const wrapper = mountFunction({
|
|
30
|
-
|
|
58
|
+
props: {
|
|
31
59
|
loading: true,
|
|
32
60
|
},
|
|
33
|
-
mocks: {
|
|
34
|
-
$vuetify: {
|
|
35
|
-
rtl: false,
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
61
|
})
|
|
39
62
|
|
|
40
63
|
expect(wrapper.html()).toMatchSnapshot()
|
|
@@ -42,10 +65,8 @@ describe('VCard.vue', () => {
|
|
|
42
65
|
|
|
43
66
|
it('should render card, which is link', () => {
|
|
44
67
|
const wrapper = mountFunction({
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
listeners: {
|
|
48
|
-
click: () => {},
|
|
68
|
+
attrs: {
|
|
69
|
+
onClick: () => {},
|
|
49
70
|
},
|
|
50
71
|
})
|
|
51
72
|
|
|
@@ -54,7 +75,7 @@ describe('VCard.vue', () => {
|
|
|
54
75
|
|
|
55
76
|
it('should render card with img', () => {
|
|
56
77
|
const wrapper = mountFunction({
|
|
57
|
-
|
|
78
|
+
props: {
|
|
58
79
|
img: 'image.jpg',
|
|
59
80
|
},
|
|
60
81
|
})
|
|
@@ -64,7 +85,7 @@ describe('VCard.vue', () => {
|
|
|
64
85
|
|
|
65
86
|
it('should render a flat card', () => {
|
|
66
87
|
const wrapper = mountFunction({
|
|
67
|
-
|
|
88
|
+
props: {
|
|
68
89
|
flat: true,
|
|
69
90
|
},
|
|
70
91
|
})
|
|
@@ -74,7 +95,7 @@ describe('VCard.vue', () => {
|
|
|
74
95
|
|
|
75
96
|
it('should render a raised card', () => {
|
|
76
97
|
const wrapper = mountFunction({
|
|
77
|
-
|
|
98
|
+
props: {
|
|
78
99
|
raised: true,
|
|
79
100
|
},
|
|
80
101
|
})
|
|
@@ -85,9 +106,7 @@ describe('VCard.vue', () => {
|
|
|
85
106
|
it('should render a card with custom height', async () => {
|
|
86
107
|
const heightpx = '400px'
|
|
87
108
|
const wrapper = mountFunction({
|
|
88
|
-
|
|
89
|
-
sync: false,
|
|
90
|
-
propsData: {
|
|
109
|
+
props: {
|
|
91
110
|
height: heightpx,
|
|
92
111
|
},
|
|
93
112
|
})
|
|
@@ -95,10 +114,9 @@ describe('VCard.vue', () => {
|
|
|
95
114
|
expect(wrapper.element.style.height).toBe(heightpx)
|
|
96
115
|
expect(wrapper.html()).toMatchSnapshot()
|
|
97
116
|
|
|
98
|
-
wrapper.setProps({
|
|
117
|
+
await wrapper.setProps({
|
|
99
118
|
height: 401,
|
|
100
119
|
})
|
|
101
|
-
await wrapper.vm.$nextTick()
|
|
102
120
|
expect(wrapper.element.style.height).toBe('401px')
|
|
103
121
|
})
|
|
104
122
|
})
|
|
@@ -37,10 +37,10 @@ exports[`VCard.vue should render component and match snapshot 1`] = `
|
|
|
37
37
|
exports[`VCard.vue should render loading card 1`] = `
|
|
38
38
|
<div class="v-card v-card--loading v-sheet theme--light">
|
|
39
39
|
<div class="v-card__progress">
|
|
40
|
-
<div
|
|
40
|
+
<div class="v-progress-linear v-progress-linear--absolute v-progress-linear--visible theme--light"
|
|
41
|
+
role="progressbar"
|
|
41
42
|
aria-valuemin="0"
|
|
42
43
|
aria-valuemax="100"
|
|
43
|
-
class="v-progress-linear v-progress-linear--absolute v-progress-linear--visible theme--light"
|
|
44
44
|
style="height: 4px;"
|
|
45
45
|
>
|
|
46
46
|
<div class="v-progress-linear__background primary"
|
|
@@ -115,6 +115,17 @@ export default defineComponent({
|
|
|
115
115
|
},
|
|
116
116
|
|
|
117
117
|
created () {
|
|
118
|
+
const breakingProps = [
|
|
119
|
+
['value', 'modelValue'],
|
|
120
|
+
['onInput', 'onUpdate:modelValue'],
|
|
121
|
+
['onChange', 'onUpdate:modelValue'],
|
|
122
|
+
]
|
|
123
|
+
|
|
124
|
+
/* istanbul ignore next */
|
|
125
|
+
breakingProps.forEach(([original, replacement]) => {
|
|
126
|
+
if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)
|
|
127
|
+
})
|
|
128
|
+
|
|
118
129
|
/* istanbul ignore next */
|
|
119
130
|
if (this.$attrs.hasOwnProperty('hide-controls')) {
|
|
120
131
|
breaking('hide-controls', ':show-arrows="false"', this)
|