Jesus sucks
This commit is contained in:
39
backend/frontend/node_modules/@restart/hooks/cjs/useMergedRefs.js
generated
vendored
Normal file
39
backend/frontend/node_modules/@restart/hooks/cjs/useMergedRefs.js
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
exports.mergeRefs = mergeRefs;
|
||||
var _react = require("react");
|
||||
const toFnRef = ref => !ref || typeof ref === 'function' ? ref : value => {
|
||||
ref.current = value;
|
||||
};
|
||||
function mergeRefs(refA, refB) {
|
||||
const a = toFnRef(refA);
|
||||
const b = toFnRef(refB);
|
||||
return value => {
|
||||
if (a) a(value);
|
||||
if (b) b(value);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Create and returns a single callback ref composed from two other Refs.
|
||||
*
|
||||
* ```tsx
|
||||
* const Button = React.forwardRef((props, ref) => {
|
||||
* const [element, attachRef] = useCallbackRef<HTMLButtonElement>();
|
||||
* const mergedRef = useMergedRefs(ref, attachRef);
|
||||
*
|
||||
* return <button ref={mergedRef} {...props}/>
|
||||
* })
|
||||
* ```
|
||||
*
|
||||
* @param refA A Callback or mutable Ref
|
||||
* @param refB A Callback or mutable Ref
|
||||
* @category refs
|
||||
*/
|
||||
function useMergedRefs(refA, refB) {
|
||||
return (0, _react.useMemo)(() => mergeRefs(refA, refB), [refA, refB]);
|
||||
}
|
||||
var _default = useMergedRefs;
|
||||
exports.default = _default;
|
||||
Reference in New Issue
Block a user