UNPKG

@kiwicom/orbit-components

Version:

<div align="center"> <a href="https://orbit.kiwi" target="_blank"> <img alt="orbit-components" src="https://orbit.kiwi/wp-content/uploads/2018/08/orbit-components.png" srcset="https://orbit.kiwi/wp-content/uploads/2018/08/orbit-components@2x.png 2x"

30 lines (23 loc) 665 B
import * as React from "react"; import ReactDOM from "react-dom"; export default class Portal extends React.Component { constructor(...args) { var _temp; return _temp = super(...args), this.node = document.getElementById(this.props.element || "modal"), this.el = document.createElement("div"), _temp; } // eslint-disable-next-line react/sort-comp componentDidMount() { if (this.node) { this.node.appendChild(this.el); } } componentWillUnmount() { if (this.node) { this.node.removeChild(this.el); } } render() { const { children } = this.props; return ReactDOM.createPortal(children, this.el); } }