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
JavaScript
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;
;