'use strict';

var iconsReact = require('@cloudtower/icons-react');
var core = require('@linaria/core');
var react = require('@linaria/react');
var index$2 = require('../Icon/index.js');
var progress_const = require('./progress.const.js');
var progress_style = require('./progress.style.js');
var index$1 = require('../Typo/index.js');
var index = require('../../coreX/OverflowTooltip/index.js');
var cs = require('classnames');
var React = require('react');

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 _exp = /*#__PURE__*/() => ({
  color
}) => color || "";
const IconFieldText = /*#__PURE__*/react.styled('div')({
  name: "IconFieldText",
  class: "E_4100_0_7_i14c7jc8",
  propsAsIs: false,
  vars: {
    "i14c7jc8-0": [_exp()]
  }
});
const StatusIconMap = {
  success: /* @__PURE__ */React__default.default.createElement(iconsReact.CheckmarkDoneSuccessCorrect16GreenIcon, null),
  failed: /* @__PURE__ */React__default.default.createElement(iconsReact.XmarkFailed16RedIcon, null),
  paused: /* @__PURE__ */React__default.default.createElement(iconsReact.NoticeTriangleFill16YellowIcon, null),
  active: /* @__PURE__ */React__default.default.createElement(index$2, {
    src: iconsReact.Loading16GradientBlueIcon,
    isRotate: true
  })
};
const IconFieldWrapper = /*#__PURE__*/react.styled('div')({
  name: "IconFieldWrapper",
  class: "E_4100_0_7_i1ibuolf",
  propsAsIs: false
});
const IconField = _a => {
  var _b = _a,
    {
      src,
      children,
      status,
      className
    } = _b,
    restProps = __objRest(_b, ["src", "children", "status", "className"]);
  const iconNode = status ? StatusIconMap[status] : src ? /* @__PURE__ */React__default.default.createElement(index$2, {
    src
  }) : null;
  const color = status && status !== "active" ? progress_const.StatusColorMap[status] : void 0;
  return /* @__PURE__ */React__default.default.createElement(IconFieldWrapper, __spreadProps(__spreadValues({}, restProps), {
    className: core.cx("progress-status-field", className)
  }), iconNode, /* @__PURE__ */React__default.default.createElement(IconFieldText, {
    color
  }, children));
};
const Info = ({
  children,
  type,
  multiLines
}) => {
  const isTitle = type === "title";
  return /* @__PURE__ */React__default.default.createElement(index, {
    className: cs__default.default({
      "progress-title": isTitle,
      [index$1.Typo.Label.l2_bold]: isTitle,
      "progress-desc": !isTitle,
      [progress_style.DescriptionStyle]: !isTitle
    }),
    multiLines,
    content: children
  });
};

exports.IconField = IconField;
exports.Info = Info;
exports.StatusIconMap = StatusIconMap;
