@yandex/ui
Version:
Yandex UI components
27 lines (26 loc) • 657 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useForkRef = void 0;
var react_1 = require("react");
function useForkRef(refA, refB) {
return react_1.useMemo(function () {
if (!refA && !refB) {
return null;
}
return function (refValue) {
if (refA)
setRef(refA, refValue);
if (refB)
setRef(refB, refValue);
};
}, [refA, refB]);
}
exports.useForkRef = useForkRef;
function setRef(ref, value) {
if (typeof ref === 'function') {
ref(value);
}
else if (ref) {
ref.current = value;
}
}