onLeaveCancelled?: (el: HostElement) => void // only fired in persisted mode
}
-export interface TransitionHooks {
+export interface TransitionHooks<HostElement = RendererElement> {
persisted: boolean
- beforeEnter(el: RendererElement): void
- enter(el: RendererElement): void
- leave(el: RendererElement, remove: () => void): void
+ beforeEnter(el: HostElement): void
+ enter(el: HostElement): void
+ leave(el: HostElement, remove: () => void): void
afterLeave?(): void
delayLeave?(
- el: RendererElement,
+ el: HostElement,
earlyRemove: () => void,
delayedLeave: () => void
): void
)
}
- const hooks: TransitionHooks = {
+ const hooks: TransitionHooks<TransitionElement> = {
persisted,
- beforeEnter(el: TransitionElement) {
+ beforeEnter(el) {
if (!appear && !state.isMounted) {
return
}
callHook(onBeforeEnter, [el])
},
- enter(el: TransitionElement) {
+ enter(el) {
if (!appear && !state.isMounted) {
return
}
}
},
- leave(el: TransitionElement, remove) {
+ leave(el, remove) {
const key = String(vnode.key)
if (el._enterCb) {
el._enterCb(true /* cancelled */)
component: ComponentInternalInstance | null
suspense: SuspenseBoundary | null
dirs: DirectiveBinding[] | null
- transition: TransitionHooks | null
+ transition: TransitionHooks<HostElement> | null
// DOM
el: HostNode | null