UNPKG

@flexis/ui

Version:

Styleless React Components

201 lines (171 loc) 10.8 kB
import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property"; import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties"; import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors"; import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each"; import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"; import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter"; import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"; import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys"; import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty"; import _Promise from "@babel/runtime-corejs3/core-js-stable/promise"; import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator"; import _asyncToGenerator from "@babel/runtime-corejs3/helpers/asyncToGenerator"; import _extends from "@babel/runtime-corejs3/helpers/extends"; import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/objectWithoutProperties"; import _classCallCheck from "@babel/runtime-corejs3/helpers/classCallCheck"; import _createClass from "@babel/runtime-corejs3/helpers/createClass"; import _possibleConstructorReturn from "@babel/runtime-corejs3/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime-corejs3/helpers/getPrototypeOf"; import _inherits from "@babel/runtime-corejs3/helpers/inherits"; function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty(_context3 = ownKeys(Object(source), true)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context4; _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; } import { __decorate } from "tslib"; import React from 'react'; var _createElement = React.createElement; var PureComponent = React.PureComponent; import { Bind } from '../../helpers'; import Modal from '../Modal'; import { style, classes } from './ConfirmModal.st.css'; var ConfirmModal = /** @class */ function () { var ConfirmModal = /*#__PURE__*/function (_PureComponent) { _inherits(ConfirmModal, _PureComponent); function ConfirmModal() { var _this; _classCallCheck(this, ConfirmModal); _this = _possibleConstructorReturn(this, _getPrototypeOf(ConfirmModal).apply(this, arguments)); _this.state = { active: false }; _this.resolver = null; _this.promise = null; return _this; } _createClass(ConfirmModal, [{ key: "render", value: function render() { var _this$props = this.props, className = _this$props.className, children = _this$props.children, props = _objectWithoutProperties(_this$props, ["className", "children"]); var active = this.state.active; return _createElement(Modal, _extends({}, props, { className: style(classes.root, className), onClose: this.onClose, active: active }), _createElement("form", { className: classes.form, onSubmit: this.onSubmit, onClick: this.onClick }, children)); } }, { key: "onSubmit", value: function () { var _onSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) { return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: event.preventDefault(); event.stopPropagation(); _context.next = 4; return this.setActiveState(false); case 4: this.resolve(true); case 5: case "end": return _context.stop(); } } }, _callee, this); })); function onSubmit(_x) { return _onSubmit.apply(this, arguments); } return onSubmit; }() }, { key: "onClick", value: function onClick(_ref) { var target = _ref.target; if (target.type === 'reset') { this.hide(); } } }, { key: "onClose", value: function onClose() { this.hide(); } }, { key: "resolve", value: function resolve(state) { var resolver = this.resolver; if (typeof resolver === 'function') { resolver(state); this.resolver = null; this.promise = null; } } }, { key: "setActiveState", value: function setActiveState(active) { var _this2 = this; return new _Promise(function (resolve) { _this2.setState(function () { return { active: active }; }, resolve); }); } }, { key: "show", value: function show() { var _this3 = this; if (!this.promise) { this.promise = new _Promise(function (resolve) { _this3.resolver = resolve; _this3.setActiveState(true); }); } return this.promise; } }, { key: "hide", value: function () { var _hide = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() { return _regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return this.setActiveState(false); case 2: this.resolve(false); case 3: case "end": return _context2.stop(); } } }, _callee2, this); })); function hide() { return _hide.apply(this, arguments); } return hide; }() }]); return ConfirmModal; }(PureComponent); process.env.NODE_ENV !== "production" ? ConfirmModal.propTypes = _objectSpread({}, Modal.propTypes) : void 0; ConfirmModal.defaultProps = _objectSpread({}, Modal.defaultProps); __decorate([Bind()], ConfirmModal.prototype, "onSubmit", null); __decorate([Bind()], ConfirmModal.prototype, "onClick", null); __decorate([Bind()], ConfirmModal.prototype, "onClose", null); return ConfirmModal; }(); export default ConfirmModal; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbmZpcm1Nb2RhbC9Db25maXJtTW9kYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQVAsTUFJTyxPQUpQOzs7QUFLQSxTQUNDLElBREQsUUFFTyxlQUZQO0FBR0EsT0FBTyxLQUFQLE1BRU8sVUFGUDtBQUdBLFNBQ0MsS0FERCxFQUVDLE9BRkQsUUFHTyx1QkFIUDs7QUFXQSxJQUFBLFlBQUE7QUFBQTtBQUFBLFlBQUE7QUFBQSxNQUFxQixZQUFyQjtBQUFBOztBQUFBLDRCQUFBO0FBQUE7O0FBQUE7OztBQVVDLFlBQUEsS0FBQSxHQUFRO0FBQ1AsUUFBQSxNQUFNLEVBQUU7QUFERCxPQUFSO0FBSVEsWUFBQSxRQUFBLEdBQXFDLElBQXJDO0FBQ0EsWUFBQSxPQUFBLEdBQTRCLElBQTVCO0FBZlQ7QUEwR0M7O0FBMUdEO0FBQUE7QUFBQSwrQkFpQk87QUFBQSwwQkFNRCxLQUFLLEtBTko7QUFBQSxZQUdKLFNBSEksZUFHSixTQUhJO0FBQUEsWUFJSixRQUpJLGVBSUosUUFKSTtBQUFBLFlBS0QsS0FMQzs7QUFBQSxZQVFKLE1BUkksR0FTRCxLQUFLLEtBVEosQ0FRSixNQVJJO0FBV0wsZUFDQyxlQUFDLEtBQUQsZUFDSyxLQURMO0FBRUMsVUFBQSxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFULEVBQWUsU0FBZixDQUZqQjtBQUdDLFVBQUEsT0FBTyxFQUFFLEtBQUssT0FIZjtBQUlDLFVBQUEsTUFBTSxFQUFFO0FBSlQsWUFNQztBQUNDLFVBQUEsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQURwQjtBQUVDLFVBQUEsUUFBUSxFQUFFLEtBQUssUUFGaEI7QUFHQyxVQUFBLE9BQU8sRUFBRSxLQUFLO0FBSGYsV0FLRSxRQUxGLENBTkQsQ0FERDtBQWdCQTtBQTVDRjtBQUFBO0FBQUE7QUFBQSxrR0ErQ3dCLEtBL0N4QjtBQUFB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