Skip to content

useTransition

Animation state machine hook. Manages CSS enter/leave transitions with a 6-state lifecycle.

Usage

ts
import { ref } from 'vue'
import { useTransition } from 'see-u-ui'

const show = ref(false)
const { isVisible, transitionClass, enter, leave } = useTransition({
  show,
  duration: 300,
  name: 'fade',
  onAfterEnter: () => console.log('entered'),
  onAfterLeave: () => console.log('left')
})

State Flow

enter → entering → entered  (enter animation)
leave → leaving  → left     (leave animation)

API

useTransition(options)

ParamTypeDefaultDescription
options.showRef<boolean>Show/hide control
options.durationnumber300Animation duration (ms)
options.namestring'see'CSS class prefix
options.onBeforeEnter() => void-Before enter callback
options.onAfterEnter() => void-After enter callback
options.onBeforeLeave() => void-Before leave callback
options.onAfterLeave() => void-After leave callback

Returns:

PropertyTypeDescription
isVisibleRef<boolean>Visibility state
isAnimatingRef<boolean>Animation in progress
stateRef<TransitionState>Current state
transitionClassComputedRef<string>CSS class names
enter() => voidTrigger enter
leave() => voidTrigger leave
cleanup() => voidCleanup timers

Liao ICP No. 2025070134