UNPKG

wix-style-react

Version:
29 lines 1.13 kB
import React from 'react'; import PropTypes from 'prop-types'; import { useCollapse } from '../../providers/useCollapse'; /** Toggle is a component to solve ReactTransitionGroup bug with lagging collapse and expand transitions. */ const Toggle = ({ children, dataHook, mountOnEnter, show, timeout, unmountOnExit, onEnd, onStart, }) => { const { getCollapseProps, exitAnimationEnded } = useCollapse({ isExpanded: show, duration: process.env.NODE_ENV === 'test' ? 0 : timeout, onCollapseStart: onEnd, onExpandStart: onStart, }); return (React.createElement("div", { "data-hook": dataHook, ...getCollapseProps() }, !show && (unmountOnExit || (mountOnEnter && unmountOnExit === false)) && exitAnimationEnded ? null : children)); }; Toggle.displayName = 'Toggle'; Toggle.propTypes = { children: PropTypes.node, dataHook: PropTypes.string, mountOnEnter: PropTypes.bool, onStart: PropTypes.func, onEnd: PropTypes.func, show: PropTypes.bool, unmountOnExit: PropTypes.bool, }; export default Toggle; //# sourceMappingURL=Toggle.js.map