Skip to content

Commit aeb2100

Browse files
committed
chore: update vue to v2.7
1 parent b52e48b commit aeb2100

File tree

19 files changed

+156
-111
lines changed

19 files changed

+156
-111
lines changed

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,13 @@
7373
"shelljs": "^0.8.4",
7474
"stylus": "^0.54.5",
7575
"stylus-loader": "^3.0.1",
76-
"typescript": "^4.0.3",
77-
"vue": "^2.6.11",
76+
"typescript": "~4.4.4",
77+
"vue": "^2.7.2",
7878
"vue-analytics": "^5.16.1",
7979
"vue-loader": "^15.7.1",
8080
"vue-meta": "^2.4.0",
8181
"vue-router": "^3.5.1",
82-
"vue-template-compiler": "^2.6.11",
82+
"vue-template-compiler": "^2.7.2",
8383
"vuex": "^3.0.1",
8484
"webpack": "^4.39.1",
8585
"webpack-cli": "^3.3.6",

packages/api-generator/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"dependencies": {
1717
"deepmerge": "^4.0.0",
1818
"rimraf": "^3.0.2",
19-
"vue": "^2.6.11",
19+
"vue": "^2.7.2",
2020
"vuetify": "^2.6.7"
2121
},
2222
"devDependencies": {

packages/docs/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
"vue-gtag": "^1.6.5",
7272
"vue-meta": "^2.4.0",
7373
"vue-prism-component": "^1.2.0",
74-
"vue-server-renderer": "^2.6.11",
74+
"vue-server-renderer": "^2.7.2",
7575
"vuelidate": "^0.7.5",
7676
"vuetify-loader": "^1.3.0",
7777
"vuex-pathify": "^1.4.1",

packages/vuetify/src/components/VDatePicker/VDatePicker.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ export default mixins(
231231
year: { year: 'numeric', timeZone: 'UTC' },
232232
month: { month: 'long', timeZone: 'UTC' },
233233
date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },
234-
}
234+
} as const
235235

236236
const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {
237237
start: 0,

packages/vuetify/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap

+14-10
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ exports[`VOverflowBtn.js should show label with persistentPlaceholder property s
66
<div role="combobox"
77
aria-haspopup="listbox"
88
aria-expanded="false"
9-
aria-owns="list-14"
9+
aria-owns="list-15"
1010
class="v-input__slot"
1111
>
1212
<div class="v-select__slot">
13-
<label for="input-14"
13+
<label for="input-15"
1414
class="v-label theme--light"
1515
>
1616
Some label
1717
</label>
1818
<div class="v-select__selections">
19-
<input id="input-14"
19+
<input id="input-15"
2020
readonly="readonly"
2121
type="text"
2222
>
@@ -54,17 +54,17 @@ exports[`VOverflowBtn.js should show label with persistentPlaceholder property s
5454
<div role="combobox"
5555
aria-haspopup="listbox"
5656
aria-expanded="true"
57-
aria-owns="list-14"
57+
aria-owns="list-15"
5858
class="v-input__slot"
5959
>
6060
<div class="v-select__slot">
61-
<label for="input-14"
61+
<label for="input-15"
6262
class="v-label theme--light"
6363
>
6464
Some label
6565
</label>
6666
<div class="v-select__selections">
67-
<input id="input-14"
67+
<input id="input-15"
6868
readonly="readonly"
6969
type="text"
7070
>
@@ -145,7 +145,7 @@ exports[`VOverflowBtn.js should use default autocomplete selections 1`] = `
145145
`;
146146
147147
exports[`VOverflowBtn.js should use default autocomplete selections 2`] = `
148-
<div class="v-input v-input--is-label-active v-input--is-dirty theme--light v-text-field v-text-field--single-line v-select v-select--is-multi v-autocomplete v-overflow-btn">
148+
<div class="v-input v-input--is-label-active v-input--is-dirty theme--light v-text-field v-text-field--single-line v-select v-autocomplete v-overflow-btn v-overflow-btn--segmented">
149149
<div class="v-input__control">
150150
<div role="combobox"
151151
aria-haspopup="listbox"
@@ -155,9 +155,13 @@ exports[`VOverflowBtn.js should use default autocomplete selections 2`] = `
155155
>
156156
<div class="v-select__slot">
157157
<div class="v-select__selections">
158-
<div class="v-select__selection v-select__selection--comma">
159-
foo
160-
</div>
158+
<button type="button"
159+
class="v-btn v-btn--text theme--light v-size--default"
160+
>
161+
<span class="v-btn__content">
162+
foo
163+
</span>
164+
</button>
161165
<input id="input-1"
162166
readonly="readonly"
163167
type="text"

packages/vuetify/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
Wrapper,
66
} from '@vue/test-utils'
77

8-
describe('VRangeSlider.ts', () => {
8+
describe('VRangeSlider', () => {
99
type Instance = InstanceType<typeof VRangeSlider>
1010
let mountFunction: (options?: MountOptions<Instance>) => Wrapper<Instance>
1111

@@ -33,7 +33,7 @@ describe('VRangeSlider.ts', () => {
3333
document.body.removeChild(el)
3434
})
3535

36-
it('should provide a default value if non provided', async () => {
36+
it('should provide a default value if none provided', async () => {
3737
const wrapper = mountFunction()
3838

3939
expect(wrapper.vm.lazyValue).toEqual([0, 0])

packages/vuetify/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`VRangeSlider.ts should render a vertical slider 1`] = `
3+
exports[`VRangeSlider should render a vertical slider 1`] = `
44
<div class="v-input v-input--is-label-active v-input--is-dirty theme--light v-input__slider v-input__slider--vertical v-input--range-slider">
55
<div class="v-input__control">
66
<div class="v-input__slot">
@@ -64,7 +64,7 @@ exports[`VRangeSlider.ts should render a vertical slider 1`] = `
6464
</div>
6565
`;
6666
67-
exports[`VRangeSlider.ts should render disabled slider 1`] = `
67+
exports[`VRangeSlider should render disabled slider 1`] = `
6868
<div class="v-input v-input--is-label-active v-input--is-dirty v-input--is-disabled theme--light v-input__slider v-input--range-slider">
6969
<div class="v-input__control">
7070
<div class="v-input__slot">

packages/vuetify/src/components/VSlideGroup/VSlideGroup.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ export const BaseSlideGroup = mixins<options &
127127
},
128128
showArrows: {
129129
type: [Boolean, String],
130-
validator: v => (
130+
validator: (v: any) => (
131131
typeof v === 'boolean' || [
132132
'always',
133133
'desktop',

packages/vuetify/src/components/VSlider/VSlider.ts

+1-7
Original file line numberDiff line numberDiff line change
@@ -221,16 +221,10 @@ export default mixins<options &
221221
handler (v: number) {
222222
this.internalValue = v
223223
},
224+
immediate: true,
224225
},
225226
},
226227

227-
// If done in as immediate in
228-
// value watcher, causes issues
229-
// with vue-test-utils
230-
beforeMount () {
231-
this.internalValue = this.value
232-
},
233-
234228
mounted () {
235229
// Without a v-app, iOS does not work with body selectors
236230
this.app = document.querySelector('[data-app]') ||

packages/vuetify/src/components/VSlider/__tests__/VSlider.spec.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ describe('VSlider.ts', () => {
559559

560560
it('should set value to min value if given a NaN value', () => {
561561
const input = jest.fn()
562-
const wrapper = mountFunction({
562+
mountFunction({
563563
propsData: {
564564
min: -20,
565565
max: 20,
@@ -570,7 +570,8 @@ describe('VSlider.ts', () => {
570570
},
571571
})
572572

573-
expect(wrapper.vm.internalValue).toBe(-20)
573+
expect(input).toHaveBeenCalledTimes(1)
574+
expect(input).toHaveBeenCalledWith(-20)
574575
})
575576

576577
it('should correctly handle initial value of zero (#7320)', () => {

packages/vuetify/src/components/VTimePicker/VTimePicker.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export default mixins(
4040
format: {
4141
type: String as PropType<'ampm' | '24hr'>,
4242
default: 'ampm',
43-
validator (val) {
43+
validator (val: any) {
4444
return ['ampm', '24hr'].includes(val)
4545
},
4646
},

packages/vuetify/src/globals.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ declare module 'vue/types/options' {
105105
}
106106

107107
declare module 'vue/types/vue' {
108-
export type OptionsVue<Instance extends Vue, Data, Methods, Computed, Props, Options = {}> = VueConstructor<
109-
CombinedVueInstance<Instance, Data, Methods, Computed, Props> & Vue,
108+
export type OptionsVue<Instance extends Vue, Data, Methods, Computed, Props, SetupBindings, Options = {}> = VueConstructor<
109+
CombinedVueInstance<Instance, Data, Methods, Computed, Props, SetupBindings> & Vue,
110110
Options
111111
>
112112

@@ -154,10 +154,10 @@ declare module 'vue/types/vue' {
154154
$_vuetify_installed?: true
155155
options: Options
156156

157-
extend<Data, Methods, Computed, Options, PropNames extends string = never> (options?: ThisTypedComponentOptionsWithArrayProps<V, Data, Methods, Computed, PropNames> & Options): OptionsVue<V, Data, Methods, Computed, Record<PropNames, any>, Options>
158-
extend<Data, Methods, Computed, Props, Options> (options?: ThisTypedComponentOptionsWithRecordProps<V, Data, Methods, Computed, Props> & Options): OptionsVue<V, Data, Methods, Computed, Props, Options>
159-
extend<Options, PropNames extends string = never> (definition: FunctionalComponentOptions<Record<PropNames, any>, PropNames[]> & Options): OptionsVue<V, {}, {}, {}, Record<PropNames, any>, Options>
157+
extend<Data, Methods, Computed, Options, SetupBindings, PropNames extends string = never> (options?: ThisTypedComponentOptionsWithArrayProps<V, Data, Methods, Computed, PropNames, SetupBindings> & Options): OptionsVue<V, Data, Methods, Computed, Record<PropNames, any>, SetupBindings, Options>
158+
extend<Data, Methods, Computed, Props, Options, SetupBindings> (options?: ThisTypedComponentOptionsWithRecordProps<V, Data, Methods, Computed, Props, SetupBindings> & Options): OptionsVue<V, Data, Methods, Computed, Props, SetupBindings, Options>
159+
extend<Options, SetupBindings, PropNames extends string = never> (definition: FunctionalComponentOptions<Record<PropNames, any>, PropNames[]> & Options): OptionsVue<V, {}, {}, {}, Record<PropNames, any>, SetupBindings, Options>
160160
extend<Props, Options> (definition: FunctionalComponentOptions<Props, RecordPropsDefinition<Props>> & Options): OptionsVue<V, {}, {}, {}, Props, Options>
161-
extend<V extends Vue = Vue> (options?: ComponentOptions<V> & Options): OptionsVue<V, {}, {}, {}, {}, Options>
161+
extend<V extends Vue = Vue> (options?: ComponentOptions<V> & Options): OptionsVue<V, {}, {}, {}, {}, {}, Options>
162162
}
163163
}

packages/vuetify/src/mixins/applicationable/__tests__/applicationable.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ describe('applicationable.js', () => {
6868
mixins: [Applicationable(null, ['foo', 'bar'])],
6969
})
7070

71-
expect(wrapper.vm._watchers).toHaveLength(6)
71+
expect(wrapper.vm._scope.effects).toHaveLength(6)
7272
})
7373

7474
it('should call to remove application on destroy', async () => {

packages/vuetify/src/mixins/binds-attrs/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import Vue, { WatchHandler } from 'vue'
1+
import Vue from 'vue'
22

33
/**
44
* This mixin provides `attrs$` and `listeners$` to work around
55
* vue bug https://github.com/vuejs/vue/issues/10115
66
*/
77

8-
function makeWatcher (property: string): ThisType<Vue> & WatchHandler<any> {
8+
function makeWatcher (property: string): ThisType<Vue> & ((val: any, oldVal: any) => void) {
99
return function (this: Vue, val, oldVal) {
1010
for (const attr in oldVal) {
1111
if (!Object.prototype.hasOwnProperty.call(val, attr)) {

packages/vuetify/src/mixins/overlayable/index.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,8 @@ export default Vue.extend<Vue & Toggleable & Stackable & options>().extend({
128128

129129
showScroll && this.showScroll()
130130
},
131-
scrollListener (e: WheelEvent & KeyboardEvent) {
132-
if (e.type === 'keydown') {
131+
scrollListener (e: WheelEvent | KeyboardEvent) {
132+
if ('key' in e) {
133133
if (
134134
['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||
135135
// https://github.com/vuetifyjs/vuetify/issues/4715
@@ -150,7 +150,7 @@ export default Vue.extend<Vue & Toggleable & Stackable & options>().extend({
150150

151151
if (e.target === this.overlay ||
152152
(e.type !== 'keydown' && e.target === document.body) ||
153-
this.checkPath(e)) e.preventDefault()
153+
this.checkPath(e as WheelEvent)) e.preventDefault()
154154
},
155155
hasScrollbar (el?: Element) {
156156
if (!el || el.nodeType !== Node.ELEMENT_NODE) return false
@@ -224,14 +224,14 @@ export default Vue.extend<Vue & Toggleable & Stackable & options>().extend({
224224
if (this.$vuetify.breakpoint.smAndDown) {
225225
document.documentElement!.classList.add('overflow-y-hidden')
226226
} else {
227-
addPassiveEventListener(window, 'wheel', this.scrollListener as EventHandlerNonNull, { passive: false })
228-
window.addEventListener('keydown', this.scrollListener as EventHandlerNonNull)
227+
addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })
228+
window.addEventListener('keydown', this.scrollListener)
229229
}
230230
},
231231
showScroll () {
232232
document.documentElement!.classList.remove('overflow-y-hidden')
233-
window.removeEventListener('wheel', this.scrollListener as EventHandlerNonNull)
234-
window.removeEventListener('keydown', this.scrollListener as EventHandlerNonNull)
233+
window.removeEventListener('wheel', this.scrollListener)
234+
window.removeEventListener('keydown', this.scrollListener)
235235
},
236236
},
237237
})

packages/vuetify/src/util/component.ts

-21
This file was deleted.

packages/vuetify/src/util/helpers.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ try {
5959
get: () => {
6060
passiveSupported = true
6161
},
62-
})
62+
}) as EventListener & EventListenerOptions
6363

6464
window.addEventListener('testListener', testListenerOpts, testListenerOpts)
6565
window.removeEventListener('testListener', testListenerOpts, testListenerOpts)
@@ -70,7 +70,7 @@ export { passiveSupported }
7070
export function addPassiveEventListener (
7171
el: EventTarget,
7272
event: string,
73-
cb: EventHandlerNonNull | (() => void),
73+
cb: (event: any) => void,
7474
options: {}
7575
): void {
7676
el.addEventListener(event, cb, passiveSupported ? options : false)

packages/vuetify/tsconfig.dist.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"extends": "./tsconfig.json",
33
"compilerOptions": {
4-
"target": "ESNext",
4+
"target": "es2018",
55
"module": "ESNext",
66
"outDir": "./lib-temp",
77
"sourceMap": false,

0 commit comments

Comments
 (0)