12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- "use strict";
-
- exports.__esModule = true;
- exports.default = void 0;
-
- var _propTypes = _interopRequireDefault(require("prop-types"));
-
- var _componentOrElement = _interopRequireDefault(require("prop-types-extra/lib/componentOrElement"));
-
- var _react = _interopRequireDefault(require("react"));
-
- var _reactDom = _interopRequireDefault(require("react-dom"));
-
- var _WaitForContainer = _interopRequireDefault(require("./WaitForContainer"));
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
-
- /**
- * The `<Portal/>` component renders its children into a new "subtree" outside of current component hierarchy.
- * You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`.
- * The children of `<Portal/>` component will be appended to the `container` specified.
- */
- var Portal =
- /*#__PURE__*/
- function (_React$Component) {
- _inheritsLoose(Portal, _React$Component);
-
- function Portal() {
- return _React$Component.apply(this, arguments) || this;
- }
-
- var _proto = Portal.prototype;
-
- _proto.render = function render() {
- var _this = this;
-
- return this.props.children ? _react.default.createElement(_WaitForContainer.default, {
- container: this.props.container,
- onContainerResolved: this.props.onRendered
- }, function (container) {
- return _reactDom.default.createPortal(_this.props.children, container);
- }) : null;
- };
-
- return Portal;
- }(_react.default.Component);
-
- Portal.displayName = 'Portal';
- Portal.propTypes = {
- /**
- * A Node, Component instance, or function that returns either. The `container` will have the Portal children
- * appended to it.
- */
- container: _propTypes.default.oneOfType([_componentOrElement.default, _propTypes.default.func]),
- onRendered: _propTypes.default.func
- };
- var _default = Portal;
- exports.default = _default;
- module.exports = exports.default;
|