const child = findTransitionBlock(block)
if (!child) {
// set transition hooks on fragment for reusing during it's updating
- if (isFrag) setTransitionHooksToFragment(block, hooks)
+ if (isFrag) setTransitionHooksOnFragment(block, hooks)
return hooks
}
)
resolvedHooks.delayedLeave = delayedLeave
setTransitionHooks(child, resolvedHooks)
- if (isFrag) setTransitionHooksToFragment(block, resolvedHooks)
+ if (isFrag) setTransitionHooksOnFragment(block, resolvedHooks)
// fallthrough attrs
if (fallthroughAttrs && instance.hasFallthrough) {
return child
}
-export function setTransitionToInstance(
- block: VaporComponentInstance,
- hooks: VaporTransitionHooks,
-): void {
- const child = findTransitionBlock(block.block)
- if (!child) return
-
- setTransitionHooks(child, hooks)
-}
-
-export function setTransitionHooksToFragment(
+export function setTransitionHooksOnFragment(
block: Block,
hooks: VaporTransitionHooks,
): void {
setTransitionHooks(block, hooks)
} else if (isArray(block)) {
for (let i = 0; i < block.length; i++) {
- setTransitionHooksToFragment(block[i], hooks)
+ setTransitionHooksOnFragment(block[i], hooks)
}
}
}
export function setTransitionHooks(
- block: TransitionBlock,
+ block: TransitionBlock | VaporComponentInstance,
hooks: VaporTransitionHooks,
): void {
+ if (isVaporComponent(block)) {
+ block = findTransitionBlock(block.block) as TransitionBlock
+ if (!block) return
+ }
block.$transition = hooks
}
import {
resolveTransitionHooks,
setTransitionHooks,
- setTransitionHooksToFragment,
+ setTransitionHooksOnFragment,
} from './Transition'
import {
type ObjectVaporComponent,
slottedBlock = slots.default && slots.default()
// store props and state on fragment for reusing during insert new items
- setTransitionHooksToFragment(slottedBlock, {
+ setTransitionHooksOnFragment(slottedBlock, {
props: cssTransitionProps,
state,
} as VaporTransitionHooks)
import { renderEffect } from './renderEffect'
import { createTextNode } from './dom/node'
import { optimizePropertyLookup } from './dom/prop'
-import { setTransitionToInstance } from './components/Transition'
+import { setTransitionHooks as setVaporTransitionHooks } from './components/Transition'
// mounting vapor components and slots in vdom
const vaporInteropImpl: Omit<
instance.rawPropsRef = propsRef
instance.rawSlotsRef = slotsRef
if (vnode.transition) {
- setTransitionToInstance(
+ setVaporTransitionHooks(
instance,
vnode.transition as VaporTransitionHooks,
)
},
setTransitionHooks(component, hooks) {
- setTransitionToInstance(component as any, hooks as VaporTransitionHooks)
+ setVaporTransitionHooks(component as any, hooks as VaporTransitionHooks)
},
}