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)); }); }