getTransitionEffectTiming method

EffectTiming? getTransitionEffectTiming(
  1. String property
)

Implementation

EffectTiming? getTransitionEffectTiming(String property) {
  final String key = _canonicalTransitionKey(property);
  List? transitionOptions = effectiveTransitions[key] ?? effectiveTransitions[ALL];
  // [duration, function, delay]
  if (transitionOptions != null) {
    final EffectTiming timing = EffectTiming(
      duration: CSSTime.parseNotNegativeTime(transitionOptions[0])!.toDouble(),
      easing: transitionOptions[1],
      delay: CSSTime.parseTime(transitionOptions[2])!.toDouble(),
      // In order for CSS Transitions to be seeked backwards, they need to have their fill mode set to backwards
      // such that the original CSS value applied prior to the transition is used for a negative current time.
      fill: FillMode.backwards,
    );
    if (DebugFlags.shouldLogTransitionForProp(property)) {
      cssLogger.info('[transition][opts] property=$property key=$key duration=${timing.duration} easing=${timing.easing} delay=${timing.delay}');
    }
    return timing;
  }

  return null;
}