mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-24 17:35:16 +00:00
70 lines
2.3 KiB
JavaScript
70 lines
2.3 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
||
|
|
||
|
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 _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
||
|
|
||
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
||
|
|
||
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
||
|
|
||
|
var React = _interopRequireWildcard(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)((0, _assertThisInitialized2.default)(_this)), "refHandler", function (node) {
|
||
|
(0, _utils.setRef)(_this.props.innerRef, node);
|
||
|
(0, _utils.safeInvoke)(_this.props.setReferenceNode, node);
|
||
|
});
|
||
|
return _this;
|
||
|
}
|
||
|
|
||
|
var _proto = InnerReference.prototype;
|
||
|
|
||
|
_proto.componentWillUnmount = function componentWillUnmount() {
|
||
|
(0, _utils.setRef)(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.Component);
|
||
|
|
||
|
function Reference(props) {
|
||
|
return React.createElement(_Manager.ManagerReferenceNodeSetterContext.Consumer, null, function (setReferenceNode) {
|
||
|
return React.createElement(InnerReference, (0, _extends2.default)({
|
||
|
setReferenceNode: setReferenceNode
|
||
|
}, props));
|
||
|
});
|
||
|
}
|