UNPKG

polaris-glints

Version:

Glints forked polaris react

37 lines (27 loc) 1.09 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var reactDom = require('react-dom'); var nanoid = require('nanoid'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); function Portal({ children, idPrefix = '', onPortalCreated = noop }) { const container = document.getElementById('glints-portal-container'); if (!container) { throw new Error('No element with id `glints-portal-container` found, please add it outside where the root app is rendered'); } const uniqueId = `portal-${nanoid.nanoid()}`; const portalId = idPrefix !== '' ? `${idPrefix}-${uniqueId}` : uniqueId; React.useEffect(() => { onPortalCreated(); }, [onPortalCreated]); return container ? /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement("div", { "data-portal-id": portalId }, children), container) : null; } function noop() {} exports.Portal = Portal;