GoScrobble/web/node_modules/react-popper/lib/esm/Reference.js

54 lines
1.8 KiB
JavaScript
Raw Permalink Normal View History

2022-04-25 02:47:15 +00:00
import _extends from "@babel/runtime/helpers/extends";
import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import * as React from 'react';
import warning from 'warning';
import { ManagerReferenceNodeSetterContext } from './Manager';
import { safeInvoke, unwrapArray, setRef } from './utils';
var InnerReference =
/*#__PURE__*/
function (_React$Component) {
_inheritsLoose(InnerReference, _React$Component);
function InnerReference() {
var _this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), "refHandler", function (node) {
setRef(_this.props.innerRef, node);
safeInvoke(_this.props.setReferenceNode, node);
});
return _this;
}
var _proto = InnerReference.prototype;
_proto.componentWillUnmount = function componentWillUnmount() {
setRef(this.props.innerRef, null);
};
_proto.render = function render() {
warning(Boolean(this.props.setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');
return unwrapArray(this.props.children)({
ref: this.refHandler
});
};
return InnerReference;
}(React.Component);
export default function Reference(props) {
return React.createElement(ManagerReferenceNodeSetterContext.Consumer, null, function (setReferenceNode) {
return React.createElement(InnerReference, _extends({
setReferenceNode: setReferenceNode
}, props));
});
}