File: //home/arjun/projects/propbase/propbase_website/node_modules/@restart/ui/esm/NoopTransition.js
import useEventCallback from '@restart/hooks/useEventCallback';
import useMergedRefs from '@restart/hooks/useMergedRefs';
import { cloneElement, useEffect, useRef } from 'react';
function NoopTransition({
children,
in: inProp,
onExited,
mountOnEnter,
unmountOnExit
}) {
const ref = useRef(null);
const hasEnteredRef = useRef(inProp);
const handleExited = useEventCallback(onExited);
useEffect(() => {
if (inProp) hasEnteredRef.current = true;else {
handleExited(ref.current);
}
}, [inProp, handleExited]);
const combinedRef = useMergedRefs(ref, children.ref);
const child = /*#__PURE__*/cloneElement(children, {
ref: combinedRef
});
if (inProp) return child;
if (unmountOnExit) {
return null;
}
if (!hasEnteredRef.current && mountOnEnter) {
return null;
}
return child;
}
export default NoopTransition;