UNPKG

react-confirm

Version:

Small library which makes your Dialog component callable

42 lines (33 loc) 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createDomTreeMounter = createDomTreeMounter; var _react = _interopRequireDefault(require("react")); var _client = require("react-dom/client"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function createDomTreeMounter(defaultMountNode) { var confirms = {}; var callbacks = {}; function mount(Component, props, mountNode) { var key = Math.floor(Math.random() * (1 << 30)).toString(16); var wrapper = (mountNode || defaultMountNode || document.body).appendChild(document.createElement('div')); confirms[key] = wrapper; var root = (0, _client.createRoot)(wrapper); root.render( /*#__PURE__*/_react["default"].createElement(Component, props)); callbacks.mounted && callbacks.mounted(); return key; } function unmount(key) { var wrapper = confirms[key]; delete confirms[key]; if (wrapper && wrapper.parentNode) { wrapper.parentNode.removeChild(wrapper); } } return { mount: mount, unmount: unmount, options: {} }; }