Home / Function/ getTransitionInfo() — vue Function Reference

getTransitionInfo() — vue Function Reference

Architecture documentation for the getTransitionInfo() function in transition-util.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  1fc2e044_c7b6_1a3e_78f8_060e569094c2["getTransitionInfo()"]
  88c9bcbe_8cab_8911_ad5d_6a848e3ff126["whenTransitionEnds()"]
  88c9bcbe_8cab_8911_ad5d_6a848e3ff126 -->|calls| 1fc2e044_c7b6_1a3e_78f8_060e569094c2
  eab9ccc4_9416_9106_aaf1_25c057817285["getTimeout()"]
  1fc2e044_c7b6_1a3e_78f8_060e569094c2 -->|calls| eab9ccc4_9416_9106_aaf1_25c057817285
  style 1fc2e044_c7b6_1a3e_78f8_060e569094c2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/platforms/web/runtime/transition-util.ts lines 123–193

export function getTransitionInfo(
  el: Element,
  expectedType?: string
): {
  type?: string | null
  propCount: number
  timeout: number
  hasTransform: boolean
} {
  const styles: any = window.getComputedStyle(el)
  // JSDOM may return undefined for transition properties
  const transitionDelays: Array<string> = (
    styles[transitionProp + 'Delay'] || ''
  ).split(', ')
  const transitionDurations: Array<string> = (
    styles[transitionProp + 'Duration'] || ''
  ).split(', ')
  const transitionTimeout: number = getTimeout(
    transitionDelays,
    transitionDurations
  )
  const animationDelays: Array<string> = (
    styles[animationProp + 'Delay'] || ''
  ).split(', ')
  const animationDurations: Array<string> = (
    styles[animationProp + 'Duration'] || ''
  ).split(', ')
  const animationTimeout: number = getTimeout(
    animationDelays,
    animationDurations
  )

  let type: string | undefined | null
  let timeout = 0
  let propCount = 0
  /* istanbul ignore if */
  if (expectedType === TRANSITION) {
    if (transitionTimeout > 0) {
      type = TRANSITION
      timeout = transitionTimeout
      propCount = transitionDurations.length
    }
  } else if (expectedType === ANIMATION) {
    if (animationTimeout > 0) {
      type = ANIMATION
      timeout = animationTimeout
      propCount = animationDurations.length
    }
  } else {
    timeout = Math.max(transitionTimeout, animationTimeout)
    type =
      timeout > 0
        ? transitionTimeout > animationTimeout
          ? TRANSITION
          : ANIMATION
        : null
    propCount = type
      ? type === TRANSITION
        ? transitionDurations.length
        : animationDurations.length
      : 0
  }
  const hasTransform: boolean =
    type === TRANSITION && transformRE.test(styles[transitionProp + 'Property'])
  return {
    type,
    timeout,
    propCount,
    hasTransform
  }
}

Domain

Subdomains

Calls

Frequently Asked Questions

What does getTransitionInfo() do?
getTransitionInfo() is a function in the vue codebase.
What does getTransitionInfo() call?
getTransitionInfo() calls 1 function(s): getTimeout.
What calls getTransitionInfo()?
getTransitionInfo() is called by 1 function(s): whenTransitionEnds.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free