31 lines
919 B
JavaScript
31 lines
919 B
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
Object.defineProperty(exports, "useMergedRefs", {
|
||
|
enumerable: true,
|
||
|
get: function() {
|
||
|
return useMergedRefs;
|
||
|
}
|
||
|
});
|
||
|
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
||
|
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
||
|
function useMergedRefs(...refs) {
|
||
|
'use no memo';
|
||
|
const mergedCallback = _react.useCallback((value)=>{
|
||
|
// Update the "current" prop hanging on the function.
|
||
|
mergedCallback.current = value;
|
||
|
for (const ref of refs){
|
||
|
if (typeof ref === 'function') {
|
||
|
ref(value);
|
||
|
} else if (ref) {
|
||
|
// work around the immutability of the React.Ref type
|
||
|
ref.current = value;
|
||
|
}
|
||
|
}
|
||
|
}, [
|
||
|
...refs
|
||
|
]);
|
||
|
return mergedCallback;
|
||
|
}
|