@lskjs/navbar
Version:
LSK ux subrepo: navbar
25 lines (17 loc) • 1.15 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = useWrappedRefWithWarning;
var _invariant = _interopRequireDefault(require("invariant"));
var _react = require("react");
var _useMergedRefs = _interopRequireDefault(require("@restart/hooks/useMergedRefs"));
function useWrappedRefWithWarning(ref, componentName) {
if (!__DEV__) return ref; // eslint-disable-next-line react-hooks/rules-of-hooks
var warningRef = (0, _react.useCallback)(function (refValue) {
(0, _invariant["default"])(refValue == null || !refValue.isReactComponent, "".concat(componentName, " injected a ref to a provided `as` component that resolved to a component instance instead of a DOM element. ") + 'Use `React.forwardRef` to provide the injected ref to the class component as a prop in order to pass it directly to a DOM element');
}, [componentName]); // eslint-disable-next-line react-hooks/rules-of-hooks
return (0, _useMergedRefs["default"])(warningRef, ref);
}
//# sourceMappingURL=useWrappedRefWithWarning.js.map