"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _index = _interopRequireDefault(require("../../SpecIcon/index"));
var _react = _interopRequireDefault(require("react"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// 渲染图标展示
/**
 *  @params { String,Array,ReactNode } icon: 图标支持传值为字符串，
 *    @value {String} 当表示为String,单个名称字符串 如'plus' ==> 结果渲染为'speci-plus'
 *                    说明1.当数据里面包含','则将区分两个参数,第一个参数代表图标类名前缀，第二个参数代表当前图标类名 ‘speci,plus’ ==> 结果SVG渲染名称为 'speci-plus'
 *                    说明2.当数据里面包含','第一个参数为空或者为noPrefix，结构渲染为最后一个作为图标的名称，即',plus'或'noPrefix,plus' ==》 结果SVG渲染名称为 'plus'
 *    @value {Array} 当表示为Array时，必须包含两个参数['speci','plus']，
 *                   说明1.第一个参数代表图标类名前缀，第二个参数代表当前图标类名 => 结果渲染'speci-plus'
 *                   说明2.如果第一个参数为'noPrefix'或空，则将不显示前缀值,即：['', 'spec-plus]或 ['noPrefix', 'spec-plus] => 结果渲染'speci-plus'
 *    @value {ReactNode} 当表示为ReactNode时，则直接渲染
 */

var IconNode = function IconNode(props) {
  var icon = props.icon,
    style = props.style;
  if (!icon) return null;
  if (typeof icon === 'string') {
    var iconArr = icon.split(',');
    return /*#__PURE__*/_react.default.createElement(_index.default, {
      prefix: iconArr.length > 1 ? iconArr[0] : 'speci',
      noPrefix: !iconArr[0] || iconArr[0] === 'noPrefix',
      name: iconArr.length > 1 ? iconArr[1] : icon,
      style: style
    });
  }
  if (Array.isArray(icon) && icon.length > 1) {
    // @ts-ignore
    return /*#__PURE__*/_react.default.createElement(_index.default, {
      prefix: icon[0],
      name: icon[1],
      style: style
    }); // 预留 Array ['speci','plus']
  }
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon);
};
var _default = exports.default = IconNode;