Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = void 0;

var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));

var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));

var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));

var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));

var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));

var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));

var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));

var _react = _interopRequireWildcard(require("react"));

var _propTypes = _interopRequireDefault(require("prop-types"));

var _components = require("@doodle/components");

var _ic_close = _interopRequireDefault(require("@doodle/components/visuals/Icon/svg/ic_close.svg"));

/**
 * Setting modal component for displaying time warning.
 */
var WarningModal =
/*#__PURE__*/
function (_PureComponent) {
  (0, _inherits2["default"])(WarningModal, _PureComponent);

  function WarningModal() {
    var _getPrototypeOf2;

    var _this;

    (0, _classCallCheck2["default"])(this, WarningModal);

    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }

    _this = (0, _possibleConstructorReturn2["default"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3["default"])(WarningModal)).call.apply(_getPrototypeOf2, [this].concat(args)));
    (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleSubmit", function () {
      var _this$props = _this.props,
          onSubmit = _this$props.onSubmit,
          toggleModal = _this$props.toggleModal;
      toggleModal();
      onSubmit();
    });
    (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDiscard", function () {
      var _this$props2 = _this.props,
          onSkip = _this$props2.onSkip,
          toggleModal = _this$props2.toggleModal;
      toggleModal();
      onSkip();
    });
    return _this;
  }

  (0, _createClass2["default"])(WarningModal, [{
    key: "render",
    value: function render() {
      var _this$props3 = this.props,
          isModalOpen = _this$props3.isModalOpen,
          messages = _this$props3.messages;
      return _react["default"].createElement(_components.Modal, {
        className: "warning-root-modal",
        show: isModalOpen,
        onExit: this.handleDiscard,
        variant: "ink",
        title: messages.modalTitle
      }, _react["default"].createElement(_components.Card, {
        className: "warning-modal",
        content: _react["default"].createElement("div", {
          className: "warning-modal-content"
        }, _react["default"].createElement("div", {
          className: "warning-modal-header"
        }, _react["default"].createElement(_components.Button, {
          className: "warning-modal-close-btn",
          onClick: this.handleDiscard
        }, _react["default"].createElement(_components.ButtonIcon, {
          icon: _ic_close["default"],
          className: "warning-modal-close-icon"
        })), _react["default"].createElement("h2", {
          className: "warning-modal-title"
        }, messages.title)), _react["default"].createElement("p", {
          className: "warning-modal-description"
        }, messages.content), _react["default"].createElement("div", {
          className: "warning-modal-button-panel"
        }, _react["default"].createElement(_components.Button, {
          "aria-label": messages.ariaLabelContinueBtn,
          variant: "blue",
          onClick: this.handleSubmit
        }, messages.continueButton)))
      }));
    }
  }]);
  return WarningModal;
}(_react.PureComponent);

(0, _defineProperty2["default"])(WarningModal, "propTypes", {
  /**
   * A bool flag for showing the modal component.
   */
  isModalOpen: _propTypes["default"].bool,
  toggleModal: _propTypes["default"].func.isRequired,
  onSubmit: _propTypes["default"].func.isRequired,
  onSkip: _propTypes["default"].func.isRequired,
  messages: _propTypes["default"].shape({
    modalTitle: _propTypes["default"].string.isRequired,
    title: _propTypes["default"].string.isRequired,
    content: _propTypes["default"].string.isRequired,
    ariaLabelContinueBtn: _propTypes["default"].string.isRequired,
    continueButton: _propTypes["default"].string.isRequired
  }).isRequired
});
(0, _defineProperty2["default"])(WarningModal, "defaultProps", {
  isModalOpen: false
});
var _default = WarningModal;
exports["default"] = _default;