types: fix class module transition class typing

This commit is contained in:
Evan You 2019-11-29 11:53:54 -05:00
parent 800b0f0e7a
commit 52239d137c

View File

@ -2,20 +2,17 @@ import { ElementWithTransition } from '../components/Transition'
// compiler should normalize class + :class bindings on the same element
// into a single binding ['staticClass', dynamic]
export function patchClass(
el: ElementWithTransition,
value: string,
isSVG: boolean
) {
// if this is an element during a transition, take the temporary transition
// classes into account.
if (el._vtc) {
value = [value, ...el._vtc].join(' ')
}
export function patchClass(el: Element, value: string, isSVG: boolean) {
// directly setting className should be faster than setAttribute in theory
if (isSVG) {
el.setAttribute('class', value)
} else {
// if this is an element during a transition, take the temporary transition
// classes into account.
const transtionClasses = (el as ElementWithTransition)._vtc
if (transtionClasses) {
value = [value, ...transtionClasses].join(' ')
}
el.className = value
}
}