All files / src/transition CollapseTransition.tsx

42.86% Statements 3/7
50% Branches 3/6
100% Functions 1/1
42.86% Lines 3/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                                      1x     1x       1x        
import React from "react";
import { CSSTransition } from "react-transition-group";
import { TransitionProps } from "react-transition-group/Transition";
import { collapse } from "../_util/transition";
 
export interface CollapseTransitionProps extends Partial<TransitionProps> {
  /**
   * 动画元素目标高度
   */
  height?: number;
}
 
export function CollapseTransition({
  height,
  timeout,
  ...rest
}: CollapseTransitionProps) {
  let enterTimeout: number;
  let exitTimeout: number;
  Iif (typeof timeout === "number") {
    enterTimeout = timeout;
    exitTimeout = timeout;
  } else Iif (timeout && typeof timeout === "object") {
    enterTimeout = timeout.enter;
    exitTimeout = timeout.exit;
  }
  return (
    <CSSTransition {...collapse(height, enterTimeout, exitTimeout)} {...rest} />
  );
}