UNPKG

@chayns-components/core

Version:

A set of beautiful React components for developing your own applications with chayns.

28 lines (27 loc) 879 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useInitialRenderRef = exports.useCombinedRefs = void 0; var _react = require("react"); const useCombinedRefs = (...refs) => (0, _react.useCallback)(element => { refs.forEach(ref => { if (!ref) return; if (typeof ref === 'function') { ref(element); } else if (typeof ref === 'object' && ref !== null) { ref.current = element; } }); }, [refs]); exports.useCombinedRefs = useCombinedRefs; const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? _react.useLayoutEffect : _react.useEffect; const useInitialRenderRef = initialValue => { const ref = (0, _react.useRef)(initialValue); useIsomorphicLayoutEffect(() => { ref.current = false; }, []); return ref; }; exports.useInitialRenderRef = useInitialRenderRef; //# sourceMappingURL=ref.js.map