"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeRefs = void 0; var assignRef_1 = require("./assignRef"); var createRef_1 = require("./createRef"); /** * Merges two or more refs together providing a single interface to set their value * @param {RefObject|Ref} refs * @returns {MutableRefObject} - a new ref, which translates all changes to {refs} * * @see {@link useMergeRefs} to be used in ReactComponents * @example * const Component = React.forwardRef((props, ref) => { * const ownRef = useRef(); * const domRef = mergeRefs([ref, ownRef]); // 👈 merge together * return
...
* } */ function mergeRefs(refs) { return (0, createRef_1.createCallbackRef)(function (newValue) { return refs.forEach(function (ref) { return (0, assignRef_1.assignRef)(ref, newValue); }); }); } exports.mergeRefs = mergeRefs;