UNPKG

react-component-transition

Version:
21 lines (20 loc) 866 B
import { useLayoutEffect, useRef } from "react"; import { TransitionState } from "./types"; export var useContainerRectangle = function (props) { var prevClientRect = useRef(null); var nextClientRect = useRef(null); var transitionState = props.transitionState, getElement = props.getElement, onFinish = props.onFinish; if (getElement() && transitionState === TransitionState.Exit) { prevClientRect.current = getElement().getBoundingClientRect(); } useLayoutEffect(function () { if (getElement() && transitionState === TransitionState.ContainerRect) { nextClientRect.current = getElement().getBoundingClientRect(); onFinish(); } }, [transitionState]); return { prevClientRect: prevClientRect.current, nextClientRect: nextClientRect.current, }; };