UNPKG

@6thquake/react-material

Version:

React components that implement Google's Material Design.

105 lines (83 loc) 2.48 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireDefault(require("react")); var _reactDom = _interopRequireDefault(require("react-dom")); var _ModalBase = _interopRequireDefault(require("./ModalBase")); var _Confirm = _interopRequireDefault(require("./Confirm")); /** * @ignore - do not document. */ function confirm(config) { var div = document.createElement('div'); document.body.appendChild(div); function onClose() { destroy.apply(void 0, arguments); } function destroy() { var unmountResult = _reactDom.default.unmountComponentAtNode(div); if (unmountResult && div.parentNode) { div.parentNode.removeChild(div); } for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var triggerCancel = args && args.length && args.some(function (param) { return param && param.triggerCancel; }); if (config.onCancel && triggerCancel) { config.onCancel.apply(config, args); } } function render(props) { _reactDom.default.render(_react.default.createElement(_Confirm.default, props), div); } render((0, _extends2.default)({}, config, { open: true, onClose: onClose })); return { destroy: onClose }; } _ModalBase.default.info = function (props) { var config = (0, _extends2.default)({ type: 'info', okCancel: false }, props); return confirm(config); }; _ModalBase.default.success = function (props) { var config = (0, _extends2.default)({ type: 'done', okCancel: false }, props); return confirm(config); }; _ModalBase.default.error = function (props) { var config = (0, _extends2.default)({ type: 'cancel', okCancel: false }, props); return confirm(config); }; _ModalBase.default.warning = _ModalBase.default.warn = function (props) { var config = (0, _extends2.default)({ type: 'error', okCancel: false }, props); return confirm(config); }; _ModalBase.default.confirm = function (props) { var config = (0, _extends2.default)({ type: 'contact_support', okCancel: true }, props); return confirm(config); }; var _default = _ModalBase.default; exports.default = _default;