UNPKG

@vtex/styleguide

Version:

> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))

47 lines (37 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require("react"); var mergeRefs = function mergeRefs() { for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) { refs[_key] = arguments[_key]; } return function (node) { refs.forEach(function (ref) { if (ref == null) { return; } if (typeof ref === 'function') { ref(node); return; } // The typescript definition for a ref // object types the `current` property // as read-only, but we can safely write // to it. // eslint-disable-next-line @typescript-eslint/no-explicit-any ; ref.current = node; }); }; }; var useMergeRefs = function useMergeRefs() { for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { refs[_key2] = arguments[_key2]; } return (0, _react.useMemo)(function () { return mergeRefs.apply(void 0, refs); }, // eslint-disable-next-line react-hooks/exhaustive-deps refs); }; exports.default = useMergeRefs;