vuetify 2.3.14 → 2.3.15
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/json/attributes.json +16 -16
- package/dist/json/web-types.json +131 -61
- package/dist/vuetify.css +0 -2
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +137 -112
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VCalendar/VCalendar.js +1 -1
- package/es5/components/VCalendar/VCalendar.js.map +1 -1
- package/es5/components/VCalendar/util/events.js.map +1 -1
- package/es5/components/VCalendar/util/timestamp.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerEdit.js +36 -42
- package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/es5/components/VData/VData.js +1 -2
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +1 -1
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +1 -3
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VList/VListItem.js +1 -1
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +4 -4
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +6 -7
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +1 -0
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +1 -2
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +12 -4
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +3 -3
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/components/transitions/expand-transition.js.map +1 -1
- package/es5/directives/ripple/index.js +3 -3
- package/es5/directives/ripple/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/install.js +1 -1
- package/es5/install.js.map +1 -1
- package/es5/locale/ca.js +1 -1
- package/es5/locale/ca.js.map +1 -1
- package/es5/locale/fr.js +2 -2
- package/es5/locale/fr.js.map +1 -1
- package/es5/locale/it.js +3 -3
- package/es5/locale/it.js.map +1 -1
- package/es5/mixins/groupable/index.js +1 -1
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/mixins/proxyable/index.js +1 -1
- package/es5/mixins/proxyable/index.js.map +1 -1
- package/es5/mixins/themeable/index.js +9 -10
- package/es5/mixins/themeable/index.js.map +1 -1
- package/es5/mixins/toggleable/index.js +1 -1
- package/es5/mixins/toggleable/index.js.map +1 -1
- package/es5/services/goto/index.js +0 -1
- package/es5/services/goto/index.js.map +1 -1
- package/es5/services/icons/presets/mdi.js +1 -1
- package/es5/services/icons/presets/mdi.js.map +1 -1
- package/es5/services/theme/index.js +3 -2
- package/es5/services/theme/index.js.map +1 -1
- package/es5/util/helpers.js +3 -3
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VCalendar/VCalendar.js +1 -1
- package/lib/components/VCalendar/VCalendar.js.map +1 -1
- package/lib/components/VCalendar/util/events.js.map +1 -1
- package/lib/components/VCalendar/util/timestamp.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js +31 -37
- package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/lib/components/VData/VData.js +1 -2
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +1 -1
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +1 -3
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VList/VListItem.js +1 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +4 -4
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +6 -7
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +1 -0
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +1 -2
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +4 -4
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +3 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/transitions/expand-transition.js.map +1 -1
- package/lib/directives/ripple/index.js +3 -3
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/install.js +4 -1
- package/lib/install.js.map +1 -1
- package/lib/locale/ca.js +1 -1
- package/lib/locale/ca.js.map +1 -1
- package/lib/locale/fr.js +2 -2
- package/lib/locale/fr.js.map +1 -1
- package/lib/locale/it.js +3 -3
- package/lib/locale/it.js.map +1 -1
- package/lib/mixins/groupable/index.js +1 -1
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/mixins/proxyable/index.js +1 -1
- package/lib/mixins/proxyable/index.js.map +1 -1
- package/lib/mixins/themeable/index.js +9 -9
- package/lib/mixins/themeable/index.js.map +1 -1
- package/lib/mixins/toggleable/index.js +1 -1
- package/lib/mixins/toggleable/index.js.map +1 -1
- package/lib/services/goto/index.js +0 -1
- package/lib/services/goto/index.js.map +1 -1
- package/lib/services/icons/presets/mdi.js +1 -1
- package/lib/services/icons/presets/mdi.js.map +1 -1
- package/lib/services/theme/index.js +3 -2
- package/lib/services/theme/index.js.map +1 -1
- package/lib/util/helpers.js +3 -3
- package/lib/util/helpers.js.map +1 -1
- package/package.json +10 -11
- package/src/components/VAppBar/__tests__/VAppBar.spec.ts +1 -1
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +1 -1
- package/src/components/VBanner/__tests__/VBanner.spec.ts +4 -4
- package/src/components/VCalendar/VCalendar.ts +1 -1
- package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +0 -1
- package/src/components/VCalendar/util/__tests__/events.spec.ts +1 -1
- package/src/components/VCalendar/util/__tests__/timestamp.spec.ts +6 -6
- package/src/components/VCalendar/util/events.ts +1 -1
- package/src/components/VCalendar/util/timestamp.ts +2 -2
- package/src/components/VColorPicker/VColorPickerEdit.ts +35 -38
- package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +2 -11
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +0 -154
- package/src/components/VData/VData.ts +1 -3
- package/src/components/VDataIterator/VDataIterator.ts +1 -1
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +1 -1
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +2 -0
- package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +1 -1
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +1 -1
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +238 -0
- package/src/components/VDatePicker/VDatePicker.ts +4 -3
- package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +7 -5
- package/src/components/VDialog/__tests__/VDialog.spec.ts +4 -0
- package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +4 -4
- package/src/components/VForm/__tests__/VForm.spec.ts +12 -62
- package/src/components/VGrid/__tests__/VCol.spec.ts +2 -2
- package/src/components/VHover/__tests__/VHover.spec.ts +7 -13
- package/src/components/VList/VListItem.ts +2 -2
- package/src/components/VMenu/VMenu.ts +5 -5
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +7 -9
- package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +34 -22
- package/src/components/VOverflowBtn/VOverflowBtn.ts +1 -1
- package/src/components/VProgressLinear/VProgressLinear.sass +0 -2
- package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +1 -0
- package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +1 -1
- package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +0 -15
- package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +3 -3
- package/src/components/VRating/__tests__/VRating.spec.ts +1 -1
- package/src/components/VSelect/VSelect.ts +1 -0
- package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +1 -1
- package/src/components/VSlider/VSlider.ts +1 -3
- package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +0 -15
- package/src/components/VTextField/VTextField.ts +4 -4
- package/src/components/VTextField/__tests__/VTextField.spec.ts +1 -0
- package/src/components/VTextarea/__tests__/VTextarea.spec.ts +1 -1
- package/src/components/VTreeview/__tests__/VTreeview.spec.ts +23 -19
- package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +1 -1
- package/src/components/VWindow/VWindow.ts +2 -2
- package/src/components/VWindow/__tests__/VWindow.spec.ts +1 -1
- package/src/components/transitions/expand-transition.ts +4 -4
- package/src/directives/intersect/__tests__/intersect.spec.ts +2 -2
- package/src/directives/ripple/__tests__/ripple.spec.ts +4 -4
- package/src/directives/ripple/index.ts +3 -3
- package/src/directives/touch/__tests__/touch.spec.ts +1 -1
- package/src/install.ts +4 -1
- package/src/locale/ca.ts +1 -1
- package/src/locale/fr.ts +2 -2
- package/src/locale/it.ts +3 -3
- package/src/mixins/activatable/__tests__/activatable.spec.ts +1 -1
- package/src/mixins/detachable/__tests__/detachable.spec.ts +0 -26
- package/src/mixins/groupable/index.ts +1 -2
- package/src/mixins/proxyable/index.ts +1 -2
- package/src/mixins/scrollable/__tests__/scrollable.spec.ts +1 -1
- package/src/mixins/themeable/index.ts +11 -12
- package/src/mixins/toggleable/index.ts +1 -2
- package/src/mixins/validatable/__tests__/validatable.spec.ts +1 -1
- package/src/services/application/__tests__/application.spec.ts +1 -1
- package/src/services/goto/__tests__/goto.spec.ts +1 -1
- package/src/services/goto/index.ts +0 -1
- package/src/services/icons/__tests__/__snapshots__/icons.spec.ts.snap +1 -1
- package/src/services/icons/presets/mdi.ts +1 -1
- package/src/services/theme/__tests__/theme.spec.ts +2 -2
- package/src/services/theme/index.ts +2 -2
- package/src/util/__tests__/helpers.spec.ts +1 -1
- package/src/util/helpers.ts +7 -3
- package/types/index.d.ts +1 -0
- package/src/mixins/groupable/__tests__/groupable.spec.ts +0 -5
|
@@ -89,7 +89,7 @@ describe('layout > col', () => {
|
|
|
89
89
|
expect(wrapper.classes()).toHaveLength(6)
|
|
90
90
|
})
|
|
91
91
|
|
|
92
|
-
it(
|
|
92
|
+
it(`should apply boolean breakpoint classes for 'sm', 'md', 'lg', 'xl' prop`, async () => {
|
|
93
93
|
const wrapper = mount(VCol, {
|
|
94
94
|
propsData: {
|
|
95
95
|
sm: true,
|
|
@@ -108,7 +108,7 @@ describe('layout > col', () => {
|
|
|
108
108
|
expect(wrapper.classes()).toHaveLength(5)
|
|
109
109
|
})
|
|
110
110
|
|
|
111
|
-
it(
|
|
111
|
+
it(`should apply boolean breakpoint classes for 'sm', 'md', 'lg', 'xl' prop set to empty string`, async () => {
|
|
112
112
|
const wrapper = mount(VCol, {
|
|
113
113
|
propsData: {
|
|
114
114
|
sm: '',
|
|
@@ -11,6 +11,12 @@ import {
|
|
|
11
11
|
} from '@vue/test-utils'
|
|
12
12
|
import { wait } from '../../../../test'
|
|
13
13
|
|
|
14
|
+
const vm = new Vue()
|
|
15
|
+
const item = props => vm.$createElement('div', {
|
|
16
|
+
staticClass: 'foobar',
|
|
17
|
+
class: { fizzbuzz: props.hover },
|
|
18
|
+
})
|
|
19
|
+
|
|
14
20
|
describe('VHover.ts', () => {
|
|
15
21
|
let mountFunction: (options?: object) => Wrapper<Vue>
|
|
16
22
|
|
|
@@ -23,12 +29,6 @@ describe('VHover.ts', () => {
|
|
|
23
29
|
})
|
|
24
30
|
|
|
25
31
|
it('should change class when hovered', async () => {
|
|
26
|
-
const vm = new Vue()
|
|
27
|
-
const item = props => vm.$createElement('div', {
|
|
28
|
-
staticClass: 'foobar',
|
|
29
|
-
class: { fizzbuzz: props.hover },
|
|
30
|
-
})
|
|
31
|
-
|
|
32
32
|
const wrapper = mountFunction({
|
|
33
33
|
scopedSlots: {
|
|
34
34
|
default: item,
|
|
@@ -51,13 +51,7 @@ describe('VHover.ts', () => {
|
|
|
51
51
|
expect(div.element.classList.contains('fizzbuzz')).toBe(false)
|
|
52
52
|
})
|
|
53
53
|
|
|
54
|
-
it('should not react to changes when
|
|
55
|
-
const vm = new Vue()
|
|
56
|
-
const item = props => vm.$createElement('div', {
|
|
57
|
-
staticClass: 'foobar',
|
|
58
|
-
class: { fizzbuzz: props.hover },
|
|
59
|
-
})
|
|
60
|
-
|
|
54
|
+
it('should not react to changes when disabled', async () => {
|
|
61
55
|
const wrapper = mountFunction({
|
|
62
56
|
propsData: {
|
|
63
57
|
disabled: true,
|
|
@@ -45,8 +45,6 @@ export default baseMixins.extend<options>().extend({
|
|
|
45
45
|
Ripple,
|
|
46
46
|
},
|
|
47
47
|
|
|
48
|
-
inheritAttrs: false,
|
|
49
|
-
|
|
50
48
|
inject: {
|
|
51
49
|
isInGroup: {
|
|
52
50
|
default: false,
|
|
@@ -62,6 +60,8 @@ export default baseMixins.extend<options>().extend({
|
|
|
62
60
|
},
|
|
63
61
|
},
|
|
64
62
|
|
|
63
|
+
inheritAttrs: false,
|
|
64
|
+
|
|
65
65
|
props: {
|
|
66
66
|
activeClass: {
|
|
67
67
|
type: String,
|
|
@@ -45,6 +45,11 @@ const baseMixins = mixins(
|
|
|
45
45
|
export default baseMixins.extend({
|
|
46
46
|
name: 'v-menu',
|
|
47
47
|
|
|
48
|
+
directives: {
|
|
49
|
+
ClickOutside,
|
|
50
|
+
Resize,
|
|
51
|
+
},
|
|
52
|
+
|
|
48
53
|
provide (): object {
|
|
49
54
|
return {
|
|
50
55
|
isInMenu: true,
|
|
@@ -53,11 +58,6 @@ export default baseMixins.extend({
|
|
|
53
58
|
}
|
|
54
59
|
},
|
|
55
60
|
|
|
56
|
-
directives: {
|
|
57
|
-
ClickOutside,
|
|
58
|
-
Resize,
|
|
59
|
-
},
|
|
60
|
-
|
|
61
61
|
props: {
|
|
62
62
|
auto: Boolean,
|
|
63
63
|
closeOnClick: {
|
|
@@ -49,18 +49,18 @@ const baseMixins = mixins(
|
|
|
49
49
|
export default baseMixins.extend({
|
|
50
50
|
name: 'v-navigation-drawer',
|
|
51
51
|
|
|
52
|
-
provide (): object {
|
|
53
|
-
return {
|
|
54
|
-
isInNav: this.tag === 'nav',
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
|
|
58
52
|
directives: {
|
|
59
53
|
ClickOutside,
|
|
60
54
|
Resize,
|
|
61
55
|
Touch,
|
|
62
56
|
},
|
|
63
57
|
|
|
58
|
+
provide (): object {
|
|
59
|
+
return {
|
|
60
|
+
isInNav: this.tag === 'nav',
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
|
|
64
64
|
props: {
|
|
65
65
|
bottom: Boolean,
|
|
66
66
|
clipped: Boolean,
|
|
@@ -230,7 +230,7 @@ export default baseMixins.extend({
|
|
|
230
230
|
},
|
|
231
231
|
styles (): object {
|
|
232
232
|
const translate = this.isBottom ? 'translateY' : 'translateX'
|
|
233
|
-
|
|
233
|
+
return {
|
|
234
234
|
height: convertToUnit(this.height),
|
|
235
235
|
top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',
|
|
236
236
|
maxHeight: this.computedMaxHeight != null
|
|
@@ -239,8 +239,6 @@ export default baseMixins.extend({
|
|
|
239
239
|
transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,
|
|
240
240
|
width: convertToUnit(this.computedWidth),
|
|
241
241
|
}
|
|
242
|
-
|
|
243
|
-
return styles
|
|
244
242
|
},
|
|
245
243
|
},
|
|
246
244
|
|
|
@@ -70,11 +70,13 @@ describe('VNavigationDrawer', () => { // eslint-disable-line max-statements
|
|
|
70
70
|
})
|
|
71
71
|
|
|
72
72
|
it('should not resize the content when permanent and stateless', async () => {
|
|
73
|
-
const wrapper = mountFunction({
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
const wrapper = mountFunction({
|
|
74
|
+
propsData: {
|
|
75
|
+
app: true,
|
|
76
|
+
permanent: true,
|
|
77
|
+
stateless: true,
|
|
78
|
+
},
|
|
79
|
+
})
|
|
78
80
|
|
|
79
81
|
await wrapper.vm.$nextTick()
|
|
80
82
|
expect(wrapper.vm.$vuetify.application.left).toBe(256)
|
|
@@ -151,9 +153,11 @@ describe('VNavigationDrawer', () => { // eslint-disable-line max-statements
|
|
|
151
153
|
})
|
|
152
154
|
|
|
153
155
|
it('should update content padding when temporary state is changed', async () => {
|
|
154
|
-
const wrapper = mountFunction({
|
|
155
|
-
|
|
156
|
-
|
|
156
|
+
const wrapper = mountFunction({
|
|
157
|
+
propsData: {
|
|
158
|
+
app: true,
|
|
159
|
+
},
|
|
160
|
+
})
|
|
157
161
|
await wrapper.vm.$nextTick()
|
|
158
162
|
|
|
159
163
|
expect(wrapper.vm.$vuetify.application.left).toBe(256)
|
|
@@ -166,9 +170,11 @@ describe('VNavigationDrawer', () => { // eslint-disable-line max-statements
|
|
|
166
170
|
})
|
|
167
171
|
|
|
168
172
|
it('should update content padding when permanent state is changed', async () => {
|
|
169
|
-
const wrapper = mountFunction({
|
|
170
|
-
|
|
171
|
-
|
|
173
|
+
const wrapper = mountFunction({
|
|
174
|
+
propsData: {
|
|
175
|
+
app: true,
|
|
176
|
+
},
|
|
177
|
+
})
|
|
172
178
|
await resizeWindow(800)
|
|
173
179
|
wrapper.vm.$vuetify.breakpoint.width = 800
|
|
174
180
|
await wrapper.vm.$nextTick()
|
|
@@ -183,9 +189,11 @@ describe('VNavigationDrawer', () => { // eslint-disable-line max-statements
|
|
|
183
189
|
})
|
|
184
190
|
|
|
185
191
|
it('should update content padding when miniVariant is changed', async () => {
|
|
186
|
-
const wrapper = mountFunction({
|
|
187
|
-
|
|
188
|
-
|
|
192
|
+
const wrapper = mountFunction({
|
|
193
|
+
propsData: {
|
|
194
|
+
app: true,
|
|
195
|
+
},
|
|
196
|
+
})
|
|
189
197
|
await wrapper.vm.$nextTick()
|
|
190
198
|
|
|
191
199
|
expect(wrapper.vm.$vuetify.application.left).toBe(256)
|
|
@@ -199,9 +207,11 @@ describe('VNavigationDrawer', () => { // eslint-disable-line max-statements
|
|
|
199
207
|
|
|
200
208
|
it('should not remain mobile when temporary is toggled', async () => {
|
|
201
209
|
await resizeWindow(800)
|
|
202
|
-
const wrapper = mountFunction({
|
|
203
|
-
|
|
204
|
-
|
|
210
|
+
const wrapper = mountFunction({
|
|
211
|
+
propsData: {
|
|
212
|
+
temporary: true,
|
|
213
|
+
},
|
|
214
|
+
})
|
|
205
215
|
|
|
206
216
|
await resizeWindow(1920)
|
|
207
217
|
expect(wrapper.vm.isMobile).toBe(false)
|
|
@@ -226,11 +236,13 @@ describe('VNavigationDrawer', () => { // eslint-disable-line max-statements
|
|
|
226
236
|
|
|
227
237
|
it('should update content padding when mobile is toggled', async () => {
|
|
228
238
|
const input = jest.fn()
|
|
229
|
-
const wrapper = mountFunction({
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
239
|
+
const wrapper = mountFunction({
|
|
240
|
+
propsData: {
|
|
241
|
+
app: true,
|
|
242
|
+
fixed: true,
|
|
243
|
+
value: true,
|
|
244
|
+
},
|
|
245
|
+
})
|
|
234
246
|
await wrapper.vm.$nextTick()
|
|
235
247
|
|
|
236
248
|
wrapper.vm.$on('input', input)
|
|
@@ -81,7 +81,7 @@ export default VAutocomplete.extend({
|
|
|
81
81
|
const itemObj = this.computedItems.find(i => this.getValue(i) === itemValue) || item
|
|
82
82
|
|
|
83
83
|
if (!itemObj.text || !itemObj.callback) {
|
|
84
|
-
consoleWarn('When using
|
|
84
|
+
consoleWarn('When using "segmented" prop without a selection slot, items must contain both a text and callback property', this)
|
|
85
85
|
return null
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
top: 0
|
|
20
20
|
transition: inherit
|
|
21
21
|
width: 100%
|
|
22
|
-
z-index: 1
|
|
23
22
|
|
|
24
23
|
.v-progress-linear--reverse
|
|
25
24
|
.v-progress-linear__buffer
|
|
@@ -47,7 +46,6 @@
|
|
|
47
46
|
position: absolute
|
|
48
47
|
top: 0
|
|
49
48
|
width: 100%
|
|
50
|
-
z-index: 2
|
|
51
49
|
|
|
52
50
|
.v-progress-linear--reverse
|
|
53
51
|
.v-progress-linear__content
|
|
@@ -293,7 +293,7 @@ exports[`VProgressLinear.ts should render indeterminate progress with query prop
|
|
|
293
293
|
<div role="progressbar"
|
|
294
294
|
aria-valuemin="0"
|
|
295
295
|
aria-valuemax="100"
|
|
296
|
-
class="v-progress-linear theme--light"
|
|
296
|
+
class="v-progress-linear v-progress-linear--query theme--light"
|
|
297
297
|
style="height: 4px;"
|
|
298
298
|
>
|
|
299
299
|
<div class="v-progress-linear__background primary"
|
|
@@ -90,21 +90,6 @@ describe('VRadio.ts', () => {
|
|
|
90
90
|
expect(change).toHaveBeenCalledTimes(1)
|
|
91
91
|
})
|
|
92
92
|
|
|
93
|
-
it('should not generate own colors when parent is in error', async () => {
|
|
94
|
-
const wrapper = mountFunction({
|
|
95
|
-
provide: {
|
|
96
|
-
radioGroup: {
|
|
97
|
-
register: () => {},
|
|
98
|
-
unregister: () => {},
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
})
|
|
102
|
-
|
|
103
|
-
wrapper.setData({ isActive: true })
|
|
104
|
-
|
|
105
|
-
await wrapper.vm.$nextTick()
|
|
106
|
-
})
|
|
107
|
-
|
|
108
93
|
it('should use custom icons', () => {
|
|
109
94
|
const wrapper = mountFunction({
|
|
110
95
|
propsData: {
|
|
@@ -9,7 +9,7 @@ exports[`VRadio.ts should be render colored radio 1`] = `
|
|
|
9
9
|
$radioOff
|
|
10
10
|
</i>
|
|
11
11
|
<input aria-checked="false"
|
|
12
|
-
id="input-
|
|
12
|
+
id="input-22"
|
|
13
13
|
role="radio"
|
|
14
14
|
type="radio"
|
|
15
15
|
value
|
|
@@ -90,7 +90,7 @@ exports[`VRadio.ts should use custom icons 1`] = `
|
|
|
90
90
|
bar
|
|
91
91
|
</i>
|
|
92
92
|
<input aria-checked="false"
|
|
93
|
-
id="input-
|
|
93
|
+
id="input-13"
|
|
94
94
|
role="radio"
|
|
95
95
|
type="radio"
|
|
96
96
|
value
|
|
@@ -110,7 +110,7 @@ exports[`VRadio.ts should use custom icons 2`] = `
|
|
|
110
110
|
foo
|
|
111
111
|
</i>
|
|
112
112
|
<input aria-checked="true"
|
|
113
|
-
id="input-
|
|
113
|
+
id="input-13"
|
|
114
114
|
role="radio"
|
|
115
115
|
type="radio"
|
|
116
116
|
value
|
|
@@ -229,7 +229,7 @@ describe('VRating.ts', () => {
|
|
|
229
229
|
expect(wrapper.html()).toMatchSnapshot()
|
|
230
230
|
})
|
|
231
231
|
|
|
232
|
-
it('
|
|
232
|
+
it('should bind mousemove listener', () => {
|
|
233
233
|
const onMouseEnter = jest.fn()
|
|
234
234
|
const wrapper = mountFunction({
|
|
235
235
|
propsData: {
|
|
@@ -210,7 +210,7 @@ describe('VSlideGroup.ts', () => {
|
|
|
210
210
|
expect(fn).toHaveBeenCalled()
|
|
211
211
|
})
|
|
212
212
|
|
|
213
|
-
it('
|
|
213
|
+
it('should scroll from affix click', async () => {
|
|
214
214
|
const onClick = jest.fn()
|
|
215
215
|
const scrollTo = jest.fn()
|
|
216
216
|
const setWidths = jest.fn()
|
|
@@ -139,9 +139,7 @@ export default mixins<options &
|
|
|
139
139
|
return this.step > 0 ? parseFloat(this.step) : 0
|
|
140
140
|
},
|
|
141
141
|
inputWidth (): number {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
return value
|
|
142
|
+
return (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100
|
|
145
143
|
},
|
|
146
144
|
trackFillStyles (): Partial<CSSStyleDeclaration> {
|
|
147
145
|
const startDir = this.vertical ? 'bottom' : 'left'
|
|
@@ -103,21 +103,6 @@ describe('VSnackbar.ts', () => {
|
|
|
103
103
|
expect(genTransition.mock.calls.length > 0).toBe(!expected)
|
|
104
104
|
})
|
|
105
105
|
|
|
106
|
-
it.each([
|
|
107
|
-
[undefined, false],
|
|
108
|
-
[false, false],
|
|
109
|
-
[true, true],
|
|
110
|
-
])('should conditionally invoke setTimeout method using %s', (value, expected) => {
|
|
111
|
-
const setTimeout = jest.fn()
|
|
112
|
-
|
|
113
|
-
mountFunction({
|
|
114
|
-
propsData: { value },
|
|
115
|
-
methods: { setTimeout },
|
|
116
|
-
})
|
|
117
|
-
|
|
118
|
-
expect(setTimeout.mock.calls.length > 0).toBe(expected)
|
|
119
|
-
})
|
|
120
|
-
|
|
121
106
|
it.each([
|
|
122
107
|
[undefined, true],
|
|
123
108
|
[100, true],
|
|
@@ -131,7 +131,7 @@ export default baseMixins.extend<options>().extend({
|
|
|
131
131
|
if (typeof this.counterValue === 'function') {
|
|
132
132
|
return this.counterValue(this.internalValue)
|
|
133
133
|
}
|
|
134
|
-
return (this.internalValue || '').
|
|
134
|
+
return [...(this.internalValue || '')].length
|
|
135
135
|
},
|
|
136
136
|
hasCounter (): boolean {
|
|
137
137
|
return this.counter !== false && this.counter != null
|
|
@@ -278,8 +278,8 @@ export default baseMixins.extend<options>().extend({
|
|
|
278
278
|
genIconSlot () {
|
|
279
279
|
const slot = []
|
|
280
280
|
|
|
281
|
-
if (this.$slots
|
|
282
|
-
slot.push(this.$slots
|
|
281
|
+
if (this.$slots.append) {
|
|
282
|
+
slot.push(this.$slots.append as VNode[])
|
|
283
283
|
} else if (this.appendIcon) {
|
|
284
284
|
slot.push(this.genIcon('append'))
|
|
285
285
|
}
|
|
@@ -376,7 +376,7 @@ export default baseMixins.extend<options>().extend({
|
|
|
376
376
|
},
|
|
377
377
|
genInput () {
|
|
378
378
|
const listeners = Object.assign({}, this.listeners$)
|
|
379
|
-
delete listeners
|
|
379
|
+
delete listeners.change // Change should not be bound externally
|
|
380
380
|
|
|
381
381
|
return this.$createElement('input', {
|
|
382
382
|
style: {},
|
|
@@ -330,6 +330,7 @@ describe('VTextField.ts', () => { // eslint-disable-line max-statements
|
|
|
330
330
|
const change = jest.fn()
|
|
331
331
|
let value = 'test'
|
|
332
332
|
const component = {
|
|
333
|
+
// eslint-disable-next-line sonarjs/no-identical-functions
|
|
333
334
|
render (h) {
|
|
334
335
|
return h(VTextField, {
|
|
335
336
|
on: {
|
|
@@ -37,7 +37,7 @@ describe('VTextarea.ts', () => {
|
|
|
37
37
|
|
|
38
38
|
// TODO: switch to e2e, jest doesn't do inline styles
|
|
39
39
|
expect(wrapper.html()).toMatchSnapshot()
|
|
40
|
-
expect(el.element.style.getPropertyValue('height')
|
|
40
|
+
expect(el.element.style.getPropertyValue('height')).not.toHaveLength(0)
|
|
41
41
|
})
|
|
42
42
|
|
|
43
43
|
it('should watch lazy value', async () => {
|
|
@@ -136,8 +136,8 @@ describe('VTreeView.ts', () => { // eslint-disable-line max-statements
|
|
|
136
136
|
await wrapper.vm.$nextTick()
|
|
137
137
|
|
|
138
138
|
expect(wrapper.html()).toMatchSnapshot()
|
|
139
|
-
expect(
|
|
140
|
-
expect(
|
|
139
|
+
expect(`[Vue warn]: Error in created hook: "TypeError: Cannot set property 'vnode' of undefined"`).toHaveBeenWarned()
|
|
140
|
+
expect(`TypeError: Cannot set property 'vnode' of undefined`).toHaveBeenWarned()
|
|
141
141
|
})
|
|
142
142
|
|
|
143
143
|
it('should load children when selecting, but not render', async () => {
|
|
@@ -394,7 +394,7 @@ describe('VTreeView.ts', () => { // eslint-disable-line max-statements
|
|
|
394
394
|
|
|
395
395
|
await wrapper.vm.$nextTick()
|
|
396
396
|
|
|
397
|
-
expect(wrapper.vm.nodes
|
|
397
|
+
expect(wrapper.vm.nodes.Foobar).toBeTruthy()
|
|
398
398
|
|
|
399
399
|
wrapper.setProps({ value: ['Foobar'] })
|
|
400
400
|
|
|
@@ -492,26 +492,30 @@ describe('VTreeView.ts', () => { // eslint-disable-line max-statements
|
|
|
492
492
|
|
|
493
493
|
expect(wrapper.html()).toMatchSnapshot()
|
|
494
494
|
|
|
495
|
-
wrapper.setProps({
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
495
|
+
wrapper.setProps({
|
|
496
|
+
items: [
|
|
497
|
+
{
|
|
498
|
+
id: 1,
|
|
499
|
+
name: 'one',
|
|
500
|
+
},
|
|
501
|
+
],
|
|
502
|
+
})
|
|
501
503
|
|
|
502
504
|
await wrapper.vm.$nextTick()
|
|
503
505
|
expect(wrapper.html()).toMatchSnapshot()
|
|
504
506
|
|
|
505
|
-
wrapper.setProps({
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
507
|
+
wrapper.setProps({
|
|
508
|
+
items: [
|
|
509
|
+
{
|
|
510
|
+
id: 1,
|
|
511
|
+
name: 'one',
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
id: 3,
|
|
515
|
+
name: 'three',
|
|
516
|
+
},
|
|
517
|
+
],
|
|
518
|
+
})
|
|
515
519
|
|
|
516
520
|
await wrapper.vm.$nextTick()
|
|
517
521
|
expect(wrapper.html()).toMatchSnapshot()
|
|
@@ -12,7 +12,7 @@ describe('VVirtualScroll.ts', () => {
|
|
|
12
12
|
let mountFunction: (options?: object) => Wrapper<Instance>
|
|
13
13
|
let propsData: Object
|
|
14
14
|
let mock: jest.SpyInstance
|
|
15
|
-
const elementHeight
|
|
15
|
+
const elementHeight = 100
|
|
16
16
|
|
|
17
17
|
beforeEach(() => {
|
|
18
18
|
mountFunction = (options = {}) => {
|
|
@@ -18,14 +18,14 @@ import { BaseItemGroup } from '../VItemGroup/VItemGroup'
|
|
|
18
18
|
export default BaseItemGroup.extend({
|
|
19
19
|
name: 'v-window',
|
|
20
20
|
|
|
21
|
+
directives: { Touch },
|
|
22
|
+
|
|
21
23
|
provide (): object {
|
|
22
24
|
return {
|
|
23
25
|
windowGroup: this,
|
|
24
26
|
}
|
|
25
27
|
},
|
|
26
28
|
|
|
27
|
-
directives: { Touch },
|
|
28
|
-
|
|
29
29
|
props: {
|
|
30
30
|
activeClass: {
|
|
31
31
|
type: String,
|
|
@@ -30,7 +30,7 @@ describe('VWindow.ts', () => {
|
|
|
30
30
|
}
|
|
31
31
|
})
|
|
32
32
|
|
|
33
|
-
it('
|
|
33
|
+
it('should return the correct transition', async () => {
|
|
34
34
|
const wrapper = mountFunction()
|
|
35
35
|
// Force booted
|
|
36
36
|
wrapper.setData({ isBooted: true })
|
|
@@ -2,7 +2,7 @@ import { upperFirst } from '../../util/helpers'
|
|
|
2
2
|
|
|
3
3
|
interface HTMLExpandElement extends HTMLElement {
|
|
4
4
|
_parent?: (Node & ParentNode & HTMLElement) | null
|
|
5
|
-
_initialStyle
|
|
5
|
+
_initialStyle?: {
|
|
6
6
|
transition: string
|
|
7
7
|
overflow: string
|
|
8
8
|
height?: string | null
|
|
@@ -25,7 +25,7 @@ export default function (expandedParentClass = '', x = false) {
|
|
|
25
25
|
},
|
|
26
26
|
|
|
27
27
|
enter (el: HTMLExpandElement) {
|
|
28
|
-
const initialStyle = el._initialStyle
|
|
28
|
+
const initialStyle = el._initialStyle!
|
|
29
29
|
|
|
30
30
|
el.style.setProperty('transition', 'none', 'important')
|
|
31
31
|
// Hide overflow to account for collapsed margins in the calculated height
|
|
@@ -76,8 +76,8 @@ export default function (expandedParentClass = '', x = false) {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
function resetStyles (el: HTMLExpandElement) {
|
|
79
|
-
const size = el._initialStyle[sizeProperty]
|
|
80
|
-
el.style.overflow = el._initialStyle
|
|
79
|
+
const size = el._initialStyle![sizeProperty]
|
|
80
|
+
el.style.overflow = el._initialStyle!.overflow
|
|
81
81
|
if (size != null) el.style[sizeProperty] = size
|
|
82
82
|
delete el._initialStyle
|
|
83
83
|
}
|
|
@@ -42,7 +42,7 @@ describe('ripple.ts', () => {
|
|
|
42
42
|
const wrapper = mountFunction()
|
|
43
43
|
|
|
44
44
|
const div = wrapper.find('div')
|
|
45
|
-
expect(div.element
|
|
45
|
+
expect(div.element._ripple.enabled).toBe(true)
|
|
46
46
|
})
|
|
47
47
|
|
|
48
48
|
it('should update element property reactively', () => {
|
|
@@ -72,13 +72,13 @@ describe('ripple.ts', () => {
|
|
|
72
72
|
})
|
|
73
73
|
|
|
74
74
|
const div = wrapper.find('div')
|
|
75
|
-
expect(div.element
|
|
75
|
+
expect(div.element._ripple.enabled).toBe(true)
|
|
76
76
|
|
|
77
77
|
wrapper.setProps({ ripple: false })
|
|
78
|
-
expect(div.element
|
|
78
|
+
expect(div.element._ripple.enabled).toBe(false)
|
|
79
79
|
|
|
80
80
|
wrapper.setProps({ ripple: true })
|
|
81
|
-
expect(div.element
|
|
81
|
+
expect(div.element._ripple.enabled).toBe(true)
|
|
82
82
|
})
|
|
83
83
|
|
|
84
84
|
it('should trigger ripple on mousedown', () => {
|
|
@@ -13,12 +13,12 @@ type VuetifyRippleEvent = MouseEvent | TouchEvent | KeyboardEvent
|
|
|
13
13
|
const DELAY_RIPPLE = 80
|
|
14
14
|
|
|
15
15
|
function transform (el: HTMLElement, value: string) {
|
|
16
|
-
el.style
|
|
17
|
-
el.style
|
|
16
|
+
el.style.transform = value
|
|
17
|
+
el.style.webkitTransform = value
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
function opacity (el: HTMLElement, value: number) {
|
|
21
|
-
el.style
|
|
21
|
+
el.style.opacity = value.toString()
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export interface RippleOptions {
|
|
@@ -66,7 +66,7 @@ describe('touch.ts', () => {
|
|
|
66
66
|
expect(down).toHaveBeenCalled()
|
|
67
67
|
})
|
|
68
68
|
|
|
69
|
-
it('should not call directive handlers if distance is too small
|
|
69
|
+
it('should not call directive handlers if distance is too small', async () => {
|
|
70
70
|
const down = jest.fn()
|
|
71
71
|
touch(mountFunction({ down })).start(0, 0).end(0, 10)
|
|
72
72
|
expect(down).not.toHaveBeenCalled()
|
package/src/install.ts
CHANGED
|
@@ -7,7 +7,10 @@ export function install (Vue: VueConstructor, args: VuetifyUseOptions = {}) {
|
|
|
7
7
|
(install as any).installed = true
|
|
8
8
|
|
|
9
9
|
if (OurVue !== Vue) {
|
|
10
|
-
consoleError(
|
|
10
|
+
consoleError(`Multiple instances of Vue detected
|
|
11
|
+
See https://github.com/vuetifyjs/vuetify/issues/4068
|
|
12
|
+
|
|
13
|
+
If you're seeing "$attrs is readonly", it's caused by this`)
|
|
11
14
|
}
|
|
12
15
|
|
|
13
16
|
const components = args.components || {}
|