vapor-chamber API reference - v1.16.0
    Preparing search index...

    Type Alias TransitionHooks

    type TransitionHooks = {
        onBeforeEnter: (el: Element) => void;
        onEnter: (el: Element, done: () => void) => void;
        onAfterEnter: (el: Element) => void;
        onEnterCancelled: (el: Element) => void;
        onBeforeLeave: (el: Element) => void;
        onLeave: (el: Element, done: () => void) => void;
        onAfterLeave: (el: Element) => void;
        onLeaveCancelled: (el: Element) => void;
        onMove: (el: Element) => void;
    }
    Index
    onBeforeEnter: (el: Element) => void
    onEnter: (el: Element, done: () => void) => void
    onAfterEnter: (el: Element) => void
    onEnterCancelled: (el: Element) => void
    onBeforeLeave: (el: Element) => void
    onLeave: (el: Element, done: () => void) => void

    Dispatches <namespace>Leave and awaits an async handler before done().

    Vue 3.6.0-beta.16: now fires when a non-v-show root is structurally removed after a v-show branch was shown. Previously a latched persisted flag leaked onto the non-v-show root, so Vapor skipped the leave and this hook (and its *Leave command) never ran. The runtime now gates the carry-forward on an actual v-show marker, so the dispatch is no longer dropped in that sequence.

    onAfterLeave: (el: Element) => void
    onLeaveCancelled: (el: Element) => void
    onMove: (el: Element) => void

    TransitionGroup-only: called when an element moves due to reorder.

    Vue 3.6.0-beta.15: a move that was skipped (e.g. for a v-show-hidden child) no longer permanently drops the element's move hooks — they are restored, so a later genuine reorder of that same child dispatches *Move as normal. You do not need to re-register the *Move handler after a hidden item reappears.

    Vue 3.6.0-beta.14: NOT called for elements hidden by v-show (display:none). Vue's runtime skips the hook for v-show-hidden children, so the *Move command is never dispatched for invisible list items. Handlers that were guarding against spurious move events on hidden elements can remove that check.

    Vue 3.6.0-beta.13: fires correctly for both Vapor and VDOM component moves inside a Vapor TransitionGroup. Guaranteed to be called after all child updates have flushed — el is in its pre-move position, ready for the CSS move class to be applied. No done() callback; moves are CSS-only.