23 lines
755 B
JavaScript
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;
|