height-transition
Version:
Simple height transition for collapse elements.
3 lines (2 loc) • 829 B
JavaScript
var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;module.exports=function(e){var r=t.useRef(null),i=function(){r.current.style.height=r.current.scrollHeight+"px",0!==r.current.clientHeight&&(r.current.style.height="0px")};t.useEffect(function(){return r.current.style.height="auto",r.current.style.overflow="hidden",r.current.style.transition="height "+(e.time?e.time:"300ms")+" "+(e.animation?e.animation:"ease"),window.addEventListener("transitionend",c),e.toggle.current.addEventListener("click",i),function(){window.removeEventListener("transitionend",c),e.toggle.current.removeEventListener("click",i)}});var c=function(){0!==r.current.clientHeight&&(r.current.style.height="auto")};return n.createElement("div",{style:e.styles,ref:r},e.children)};
//# sourceMappingURL=heightTransition.js.map