UNPKG

dott-react-popper

Version:
69 lines (50 loc) 2.29 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = Reference; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _warning = _interopRequireDefault(require("warning")); var _Manager = require("./Manager"); var _utils = require("./utils"); var InnerReference = /*#__PURE__*/ function (_React$Component) { (0, _inheritsLoose2["default"])(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; (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "refHandler", function (node) { (0, _utils.safeInvoke)(_this.props.innerRef, node); (0, _utils.safeInvoke)(_this.props.setReferenceNode, node); }); return _this; } var _proto = InnerReference.prototype; _proto.componentWillUnmount = function componentWillUnmount() { (0, _utils.safeInvoke)(this.props.innerRef, null); }; _proto.render = function render() { (0, _warning["default"])(Boolean(this.props.setReferenceNode), '`Reference` should not be used outside of a `Manager` component.'); return (0, _utils.unwrapArray)(this.props.children)({ ref: this.refHandler }); }; return InnerReference; }(_react["default"].Component); function Reference(props) { return _react["default"].createElement(_Manager.ManagerContext.Consumer, null, function (_ref) { var setReferenceNode = _ref.setReferenceNode; return _react["default"].createElement(InnerReference, (0, _extends2["default"])({ setReferenceNode: setReferenceNode }, props)); }); }