'use strict';

var iconsReact = require('@cloudtower/icons-react');
var index = require('../Icon/index.js');
var antd = require('antd');
var cs = require('classnames');
var React = require('react');
var icon = require('../../utils/icon.js');

function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }

var cs__default = /*#__PURE__*/_interopDefault(cs);
var React__default = /*#__PURE__*/_interopDefault(React);

var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
  enumerable: true,
  configurable: true,
  writable: true,
  value
}) : obj[key] = value;
var __spreadValues = (a, b) => {
  for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
  if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {
    if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
  }
  return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
  var target = {};
  for (var prop in source) if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];
  if (source != null && __getOwnPropSymbols) for (var prop of __getOwnPropSymbols(source)) {
    if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) target[prop] = source[prop];
  }
  return target;
};
const MessageWrapperStyle = "E_m74vjol";
const AlertStyle = "E_a1o35uvh";
const Alert = _a => {
  var _b = _a,
    {
      type,
      icon: icon$1,
      showIcon = true,
      className,
      onClose,
      closeText,
      action,
      message,
      closable
    } = _b,
    props = __objRest(_b, ["type", "icon", "showIcon", "className", "onClose", "closeText", "action", "message", "closable"]);
  const _icon = /* @__PURE__ */React__default.default.createElement(index, {
    alt: type,
    src: icon.getAlertIcon(type)
  });
  const _type = type === "normal" ? "info" : type;
  const _closable = closable || Boolean(onClose) || Boolean(closeText);
  return /* @__PURE__ */React__default.default.createElement(antd.Alert, __spreadProps(__spreadValues({}, props), {
    className: cs__default.default(AlertStyle, type ? `alert-${type}` : "", className, {
      action
    }),
    type: _type,
    message: /* @__PURE__ */React__default.default.createElement("div", {
      className: MessageWrapperStyle
    }, /* @__PURE__ */React__default.default.createElement("span", {
      style: {
        flex: 1
      }
    }, message), action ? /* @__PURE__ */React__default.default.createElement("span", {
      className: cs__default.default("action")
    }, action) : null),
    icon: icon$1 || _icon,
    showIcon,
    onClose,
    closeText: closeText || _closable && /* @__PURE__ */React__default.default.createElement(index, {
      src: iconsReact.XmarkRemove16RegularTertiaryCapsOffIcon,
      hoverSrc: iconsReact.XmarkRemove16RegularPrimaryCapsOffIcon
    }),
    closable: _closable
  }));
};
var Alert$1 = Alert;

module.exports = Alert$1;
