@dimailn/vuetify 2.7.2-alpha28 → 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 +1416 -304
- 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 -8
- 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/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 +29 -4
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +55 -30
- 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/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 +58 -17
- 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/framework.js +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 -6
- 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/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 +8 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +14 -3
- 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/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 +21 -3
- 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/framework.js +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 -7
- 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/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/VBottomNavigation/VBottomNavigation.ts +10 -0
- package/src/components/VCarousel/VCarousel.ts +11 -0
- package/src/components/VCheckbox/VSimpleCheckbox.ts +13 -0
- package/src/components/VColorPicker/VColorPicker.ts +13 -0
- 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/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__/VDataTable.spec.ts +18 -22
- package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +7 -2
- package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +11 -16
- 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 +4 -12
- package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +9 -12
- 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/VInput/VInput.ts +18 -5
- package/src/components/VList/VListGroup.ts +22 -10
- package/src/components/VList/VListItem.ts +10 -1
- package/src/components/VMenu/VMenu.ts +21 -3
- 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 +43 -5
- package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +21 -11
- package/src/components/VOverlay/VOverlay.ts +12 -0
- package/src/components/VPagination/VPagination.ts +23 -9
- 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/VSelect/VSelect.ts +60 -43
- package/src/components/VSelect/VSelectList.ts +29 -8
- package/src/components/VSlider/VSlider.ts +14 -1
- 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/VTabs/VTabs.ts +14 -0
- 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,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', {
|
|
@@ -5,6 +5,7 @@ import VMessages from '../VMessages'
|
|
|
5
5
|
import {
|
|
6
6
|
mount,
|
|
7
7
|
VueWrapper,
|
|
8
|
+
enableAutoUnmount,
|
|
8
9
|
} from '@vue/test-utils'
|
|
9
10
|
import { h } from 'vue'
|
|
10
11
|
|
|
@@ -15,9 +16,24 @@ describe('VMessages.ts', () => {
|
|
|
15
16
|
type Instance = ComponentPublicInstance
|
|
16
17
|
let mountFunction: (options?: object) => VueWrapper<Instance>
|
|
17
18
|
|
|
19
|
+
enableAutoUnmount(afterEach)
|
|
20
|
+
|
|
18
21
|
beforeEach(() => {
|
|
19
22
|
mountFunction = (options = {}) => {
|
|
20
23
|
return mount(VMessages, {
|
|
24
|
+
global: {
|
|
25
|
+
mocks: {
|
|
26
|
+
$vuetify: {
|
|
27
|
+
rtl: false,
|
|
28
|
+
icons: {
|
|
29
|
+
component: null
|
|
30
|
+
},
|
|
31
|
+
lang: {
|
|
32
|
+
t: (val: string) => val,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
21
37
|
...options,
|
|
22
38
|
})
|
|
23
39
|
}
|
|
@@ -33,13 +49,13 @@ describe('VMessages.ts', () => {
|
|
|
33
49
|
it('should show messages', async () => {
|
|
34
50
|
const wrapper = mountFunction({
|
|
35
51
|
props: {
|
|
36
|
-
|
|
52
|
+
modelValue: ['foo', 'bar'],
|
|
37
53
|
},
|
|
38
54
|
})
|
|
39
55
|
|
|
40
56
|
expect(wrapper.html()).toMatchSnapshot()
|
|
41
57
|
|
|
42
|
-
await wrapper.setProps({
|
|
58
|
+
await wrapper.setProps({ modelValue: [] })
|
|
43
59
|
|
|
44
60
|
expect(wrapper.html()).toMatchSnapshot()
|
|
45
61
|
})
|
|
@@ -47,7 +63,7 @@ describe('VMessages.ts', () => {
|
|
|
47
63
|
it('should allow HTML', () => {
|
|
48
64
|
const wrapper = mountFunction({
|
|
49
65
|
props: {
|
|
50
|
-
|
|
66
|
+
modelValue: ['<a href="#">a link</a>'],
|
|
51
67
|
},
|
|
52
68
|
})
|
|
53
69
|
expect(wrapper.html()).toMatchSnapshot()
|
|
@@ -56,8 +72,19 @@ describe('VMessages.ts', () => {
|
|
|
56
72
|
// https://github.com/vuetifyjs/vuetify/issues/9491
|
|
57
73
|
it('should not allow HTML', () => {
|
|
58
74
|
const wrapper = mount(VMessages, {
|
|
75
|
+
global: {
|
|
76
|
+
mocks: {
|
|
77
|
+
$vuetify: {
|
|
78
|
+
rtl: false,
|
|
79
|
+
icons: {},
|
|
80
|
+
lang: {
|
|
81
|
+
t: (val: string) => val,
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
},
|
|
59
86
|
props: {
|
|
60
|
-
|
|
87
|
+
modelValue: ['<a href="#">a link</a>'],
|
|
61
88
|
},
|
|
62
89
|
})
|
|
63
90
|
|
|
@@ -66,7 +93,18 @@ describe('VMessages.ts', () => {
|
|
|
66
93
|
|
|
67
94
|
it('should accept a scoped slot', () => {
|
|
68
95
|
const wrapper = mount(VMessages, {
|
|
69
|
-
|
|
96
|
+
global: {
|
|
97
|
+
mocks: {
|
|
98
|
+
$vuetify: {
|
|
99
|
+
rtl: false,
|
|
100
|
+
icons: {},
|
|
101
|
+
lang: {
|
|
102
|
+
t: (val: string) => val,
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
props: { modelValue: ['Foo'] },
|
|
70
108
|
slots: {
|
|
71
109
|
default (props: any) {
|
|
72
110
|
return h('div', props.message)
|
|
@@ -2,67 +2,58 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`VMessages.ts should accept a scoped slot 1`] = `
|
|
4
4
|
<div class="v-messages theme--light">
|
|
5
|
-
<
|
|
6
|
-
tag="div"
|
|
7
|
-
class="v-messages__wrapper"
|
|
8
|
-
>
|
|
5
|
+
<div class="v-messages__wrapper">
|
|
9
6
|
<div class="v-messages__message">
|
|
10
7
|
<div>
|
|
11
8
|
Foo
|
|
12
9
|
</div>
|
|
13
10
|
</div>
|
|
14
|
-
</
|
|
11
|
+
</div>
|
|
15
12
|
</div>
|
|
16
13
|
`;
|
|
17
14
|
|
|
18
15
|
exports[`VMessages.ts should allow HTML 1`] = `
|
|
19
16
|
<div class="v-messages theme--light">
|
|
20
|
-
<
|
|
21
|
-
tag="div"
|
|
22
|
-
class="v-messages__wrapper"
|
|
23
|
-
>
|
|
17
|
+
<div class="v-messages__wrapper">
|
|
24
18
|
<div class="v-messages__message">
|
|
25
19
|
<a href="#">a link</a>
|
|
26
20
|
</div>
|
|
27
|
-
</
|
|
21
|
+
</div>
|
|
28
22
|
</div>
|
|
29
23
|
`;
|
|
30
24
|
|
|
31
25
|
exports[`VMessages.ts should not allow HTML 1`] = `
|
|
32
26
|
<div class="v-messages theme--light">
|
|
33
|
-
<
|
|
34
|
-
tag="div"
|
|
35
|
-
class="v-messages__wrapper"
|
|
36
|
-
>
|
|
27
|
+
<div class="v-messages__wrapper">
|
|
37
28
|
<div class="v-messages__message">
|
|
38
29
|
<a href="#">a link</a>
|
|
39
30
|
</div>
|
|
40
|
-
</
|
|
31
|
+
</div>
|
|
41
32
|
</div>
|
|
42
33
|
`;
|
|
43
34
|
|
|
44
35
|
exports[`VMessages.ts should show messages 1`] = `
|
|
45
36
|
<div class="v-messages theme--light">
|
|
46
|
-
<
|
|
47
|
-
tag="div"
|
|
48
|
-
class="v-messages__wrapper"
|
|
49
|
-
>
|
|
37
|
+
<div class="v-messages__wrapper">
|
|
50
38
|
<div class="v-messages__message">
|
|
51
39
|
foo
|
|
52
40
|
</div>
|
|
53
41
|
<div class="v-messages__message">
|
|
54
42
|
bar
|
|
55
43
|
</div>
|
|
56
|
-
</
|
|
44
|
+
</div>
|
|
57
45
|
</div>
|
|
58
46
|
`;
|
|
59
47
|
|
|
60
48
|
exports[`VMessages.ts should show messages 2`] = `
|
|
61
49
|
<div class="v-messages theme--light">
|
|
62
|
-
<
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
50
|
+
<div class="v-messages__wrapper">
|
|
51
|
+
<div class="v-messages__message message-transition-leave-from message-transition-leave-active">
|
|
52
|
+
foo
|
|
53
|
+
</div>
|
|
54
|
+
<div class="v-messages__message message-transition-leave-from message-transition-leave-active">
|
|
55
|
+
bar
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
67
58
|
</div>
|
|
68
59
|
`;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {h, withDirectives} from 'vue'
|
|
1
|
+
import { h, withDirectives } from 'vue'
|
|
2
2
|
// Styles
|
|
3
3
|
import './VNavigationDrawer.sass'
|
|
4
4
|
|
|
@@ -21,6 +21,7 @@ import Touch from '../../directives/touch'
|
|
|
21
21
|
|
|
22
22
|
// Utilities
|
|
23
23
|
import { convertToUnit, getSlot } from '../../util/helpers'
|
|
24
|
+
import { breaking } from '../../util/console'
|
|
24
25
|
import mixins from '../../util/mixins'
|
|
25
26
|
|
|
26
27
|
// Types
|
|
@@ -50,7 +51,6 @@ const baseMixins = mixins(
|
|
|
50
51
|
export default baseMixins.extend({
|
|
51
52
|
name: 'v-navigation-drawer',
|
|
52
53
|
|
|
53
|
-
|
|
54
54
|
provide (): object {
|
|
55
55
|
return {
|
|
56
56
|
isInNav: this.$tag === 'nav',
|
|
@@ -80,7 +80,7 @@ export default baseMixins.extend({
|
|
|
80
80
|
},
|
|
81
81
|
stateless: Boolean,
|
|
82
82
|
tag: {
|
|
83
|
-
type: String
|
|
83
|
+
type: String,
|
|
84
84
|
},
|
|
85
85
|
temporary: Boolean,
|
|
86
86
|
touchless: Boolean,
|
|
@@ -103,10 +103,10 @@ export default baseMixins.extend({
|
|
|
103
103
|
}),
|
|
104
104
|
|
|
105
105
|
computed: {
|
|
106
|
-
$tag() {
|
|
106
|
+
$tag () {
|
|
107
107
|
return this.tag || this.app ? 'nav' : 'aside'
|
|
108
108
|
},
|
|
109
|
-
$height() {
|
|
109
|
+
$height () {
|
|
110
110
|
return this.height || (this.app ? '100vh' : '100%')
|
|
111
111
|
},
|
|
112
112
|
/**
|
|
@@ -286,6 +286,18 @@ export default baseMixins.extend({
|
|
|
286
286
|
},
|
|
287
287
|
},
|
|
288
288
|
|
|
289
|
+
created () {
|
|
290
|
+
const breakingProps = [
|
|
291
|
+
['value', 'modelValue'],
|
|
292
|
+
['onInput', 'onUpdate:modelValue'],
|
|
293
|
+
]
|
|
294
|
+
|
|
295
|
+
/* istanbul ignore next */
|
|
296
|
+
breakingProps.forEach(([original, replacement]) => {
|
|
297
|
+
if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)
|
|
298
|
+
})
|
|
299
|
+
},
|
|
300
|
+
|
|
289
301
|
beforeMount () {
|
|
290
302
|
this.init()
|
|
291
303
|
},
|
|
@@ -325,14 +337,14 @@ export default baseMixins.extend({
|
|
|
325
337
|
}, [image])
|
|
326
338
|
},
|
|
327
339
|
genDirectives (): VNodeDirective[] {
|
|
328
|
-
|
|
340
|
+
return [
|
|
329
341
|
[
|
|
330
342
|
ClickOutside,
|
|
331
343
|
{
|
|
332
344
|
handler: () => { this.isActive = false },
|
|
333
345
|
closeConditional: this.closeConditional,
|
|
334
346
|
include: this.getOpenDependentElements,
|
|
335
|
-
}
|
|
347
|
+
},
|
|
336
348
|
],
|
|
337
349
|
[
|
|
338
350
|
Touch,
|
|
@@ -340,12 +352,10 @@ export default baseMixins.extend({
|
|
|
340
352
|
parent: true,
|
|
341
353
|
left: this.swipeLeft,
|
|
342
354
|
right: this.swipeRight,
|
|
343
|
-
isDirActive: !this.touchless && !this.stateless
|
|
355
|
+
isDirActive: !this.touchless && !this.stateless,
|
|
344
356
|
},
|
|
345
|
-
]
|
|
357
|
+
],
|
|
346
358
|
]
|
|
347
|
-
|
|
348
|
-
return directives
|
|
349
359
|
},
|
|
350
360
|
genListeners () {
|
|
351
361
|
const on: Record<string, (e: Event) => void> = {
|