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
  9d996f4e_65c0_f804_9740_00c0bf87f3c8["getTransitionInfo()"]
  b0ac5a9d_fe65_cc6b_d3b8_471b476ba8f0["whenTransitionEnds()"]
  b0ac5a9d_fe65_cc6b_d3b8_471b476ba8f0 -->|calls| 9d996f4e_65c0_f804_9740_00c0bf87f3c8
  f577e0b0_7aa9_0c64_bb5a_56d6b805e889["getTimeout()"]
  9d996f4e_65c0_f804_9740_00c0bf87f3c8 -->|calls| f577e0b0_7aa9_0c64_bb5a_56d6b805e889
  style 9d996f4e_65c0_f804_9740_00c0bf87f3c8 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