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
  37071741_ccab_90b6_f6d5_400706dc8ca0["getTransitionInfo()"]
  09de2133_5913_40ae_d30e_b3f99608f41b["transition-util.ts"]
  37071741_ccab_90b6_f6d5_400706dc8ca0 -->|defined in| 09de2133_5913_40ae_d30e_b3f99608f41b
  e0b7b972_87d1_2608_0aad_7c5f68d209d5["whenTransitionEnds()"]
  e0b7b972_87d1_2608_0aad_7c5f68d209d5 -->|calls| 37071741_ccab_90b6_f6d5_400706dc8ca0
  0467d21e_42d5_84ab_135c_01301aa392f3["getTimeout()"]
  37071741_ccab_90b6_f6d5_400706dc8ca0 -->|calls| 0467d21e_42d5_84ab_135c_01301aa392f3
  style 37071741_ccab_90b6_f6d5_400706dc8ca0 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, defined in src/platforms/web/runtime/transition-util.ts.
Where is getTransitionInfo() defined?
getTransitionInfo() is defined in src/platforms/web/runtime/transition-util.ts at line 123.
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