UNPKG

smart-react-components

Version:

React UI library, wide variety of editable ready to use Styled and React components.

34 lines (29 loc) 1.2 kB
'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); const TransitionSwitch = ({ children, active }) => { const [status, setStatus] = React__default.useState(() => ({ value: active, processing: false })); const statusInit = React__default.useRef(false); const afterHide = React__default.useCallback(() => { setStatus({ value: active, processing: false }); }, [active]); React__default.useEffect(() => { if (!statusInit.current) statusInit.current = true; else if (!status.processing) setStatus({ value: active, processing: true }); }, [active]); return (React__default.createElement(React__default.Fragment, null, children.map((item, index) => React__default.cloneElement(item, { key: item.props.key || index, status: !status.processing && status.value == item.props.value, afterHide })))); }; exports.TransitionSwitch = TransitionSwitch;