text: "use strict";
  
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports["default"] = void 0;
  
  var React = _interopRequireWildcard(require("react"));
  
  var _classnames = _interopRequireDefault(require("classnames"));
  
  var _rcNotification = _interopRequireDefault(require("rc-notification"));
  
  var _LoadingOutlined = _interopRequireDefault(require("@ant-design/icons/LoadingOutlined"));
  
  var _ExclamationCircleFilled = _interopRequireDefault(require("@ant-design/icons/ExclamationCircleFilled"));
  
  var _CloseCircleFilled = _interopRequireDefault(require("@ant-design/icons/CloseCircleFilled"));
  
  var _CheckCircleFilled = _interopRequireDefault(require("@ant-design/icons/CheckCircleFilled"));
  
  var _InfoCircleFilled = _interopRequireDefault(require("@ant-design/icons/InfoCircleFilled"));
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
  
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
  
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
  
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  
  var defaultDuration = 3;
  var defaultTop;
  var messageInstance;
  var key = 1;
  var prefixCls = 'ant-message';
  var transitionName = 'move-up';
  var getContainer;
  var maxCount;
  var rtl = false;
  
  function getMessageInstance(callback) {
    if (messageInstance) {
      callback(messageInstance);
      return;
    }
  
    _rcNotification["default"].newInstance({
      prefixCls: prefixCls,
      transitionName: transitionName,
      style: {
        top: defaultTop
      },
      getContainer: getContainer,
      maxCount: maxCount
    }, function (instance) {
      if (messageInstance) {
        callback(messageInstance);
        return;
      }
  
      messageInstance = instance;
      callback(instance);
    });
  }
  
  var iconMap = {
    info: _InfoCircleFilled["default"],
    success: _CheckCircleFilled["default"],
    error: _CloseCircleFilled["default"],
    warning: _ExclamationCircleFilled["default"],
    loading: _LoadingOutlined["default"]
  };
  
  function notice(args) {
    var _classNames;
  
    var duration = args.duration !== undefined ? args.duration : defaultDuration;
    var IconComponent = iconMap[args.type];
    var messageClass = (0, _classnames["default"])("".concat(prefixCls, "-custom-content"), (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-").concat(args.type), args.type), _defineProperty(_classNames, "".concat(prefixCls, "-rtl"), rtl === true), _classNames));
    var target = args.key || key++;
    var closePromise = new Promise(function (resolve) {
      var callback = function callback() {
        if (typeof args.onClose === 'function') {
          args.onClose();
        }
  
        return resolve(true);
      };
  
      getMessageInstance(function (instance) {
        instance.notice({
          key: target,
          duration: duration,
          style: {},
          content: /*#__PURE__*/React.createElement("div", {
            className: messageClass
          }, args.icon || IconComponent && /*#__PURE__*/React.createElement(IconComponent, null), /*#__PURE__*/React.createElement("span", null, args.content)),
          onClose: callback
        });
      });
    });
  
    var result = function result() {
      if (messageInstance) {
        messageInstance.removeNotice(target);
      }
    };
  
    result.then = function (filled, rejected) {
      return closePromise.then(filled, rejected);
    };
  
    result.promise = closePromise;
    return result;
  }
  
  function isArgsProps(content) {
    return Object.prototype.toString.call(content) === '[object Object]' && !!content.content;
  }
  
  var api = {
    open: notice,
    config: function config(options) {
      if (options.top !== undefined) {
        defaultTop = options.top;
        messageInstance = null; // delete messageInstance for new defaultTop
      }
  
      if (options.duration !== undefined) {
        defaultDuration = options.duration;
      }
  
      if (options.prefixCls !== undefined) {
        prefixCls = options.prefixCls;
      }
  
      if (options.getContainer !== undefined) {
        getContainer = options.getContainer;
      }
  
      if (options.transitionName !== undefined) {
        transitionName = options.transitionName;
        messageInstance = null; // delete messageInstance for new transitionName
      }
  
      if (options.maxCount !== undefined) {
        maxCount = options.maxCount;
        messageInstance = null;
      }
  
      if (options.rtl !== undefined) {
        rtl = options.rtl;
      }
    },
    destroy: function destroy() {
      if (messageInstance) {
        messageInstance.destroy();
        messageInstance = null;
      }
    }
  };
  ['success', 'info', 'warning', 'error', 'loading'].forEach(function (type) {
    api[type] = function (content, duration, onClose) {
      if (isArgsProps(content)) {
        return api.open(_extends(_extends({}, content), {
          type: type
        }));
      }
  
      if (typeof duration === 'function') {
        onClose = duration;
        duration = undefined;
      }
  
      return api.open({
        content: content,
        duration: duration,
        type: type,
        onClose: onClose
      });
    };
  });
  api.warn = api.warning;
  var _default = api;
  exports["default"] = _default;