Files

23 lines
755 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ensuredForwardRef = void 0;
var react_1 = require("react");
function useEnsuredForwardedRef(forwardedRef) {
var ensuredRef = react_1.useRef(forwardedRef && forwardedRef.current);
react_1.useEffect(function () {
if (!forwardedRef) {
return;
}
forwardedRef.current = ensuredRef.current;
}, [forwardedRef]);
return ensuredRef;
}
exports.default = useEnsuredForwardedRef;
function ensuredForwardRef(Component) {
return react_1.forwardRef(function (props, ref) {
var ensuredRef = useEnsuredForwardedRef(ref);
return Component(props, ensuredRef);
});
}
exports.ensuredForwardRef = ensuredForwardRef;