UNPKG

847 BJavaScriptView Raw
1import PropTypes from 'prop-types';
2import ReactDOM from 'react-dom';
3import React from 'react';
4import useWaitForDOMRef from './useWaitForDOMRef';
5var propTypes = {
6 /**
7 * A DOM element, Ref to an element, or function that returns either. The `container` will have the Portal children
8 * appended to it.
9 */
10 container: PropTypes.any,
11 onRendered: PropTypes.func
12};
13
14/**
15 * @public
16 */
17var Portal = function Portal(_ref) {
18 var container = _ref.container,
19 children = _ref.children,
20 onRendered = _ref.onRendered;
21 var resolvedContainer = useWaitForDOMRef(container, onRendered);
22 return resolvedContainer ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/ReactDOM.createPortal(children, resolvedContainer)) : null;
23};
24
25Portal.displayName = 'Portal';
26Portal.propTypes = propTypes;
27export default Portal;
\No newline at end of file