"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.components = exports.componentList = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _meta = _interopRequireDefault(require("./button/meta"));
var _meta2 = _interopRequireDefault(require("./card/meta"));
var _meta3 = _interopRequireDefault(require("./carousel-box/meta"));
var _meta4 = _interopRequireDefault(require("./carousel/meta"));
var _meta5 = _interopRequireDefault(require("./chat/meta"));
var _meta6 = _interopRequireDefault(require("./collapse.pane/meta"));
var _meta7 = _interopRequireDefault(require("./collapse/meta"));
var _meta8 = _interopRequireDefault(require("./connector-pro/meta"));
var _meta9 = _interopRequireDefault(require("./drawer/meta"));
var _meta10 = _interopRequireDefault(require("./engine-rule-pro/meta"));
var _meta11 = _interopRequireDefault(require("./engine-rule-ultra/meta"));
var _meta12 = _interopRequireDefault(require("./form.item/meta"));
var _meta13 = _interopRequireDefault(require("./form.list/meta"));
var _meta14 = _interopRequireDefault(require("./from-pro/meta"));
var _meta15 = _interopRequireDefault(require("./governance/meta"));
var _meta16 = _interopRequireDefault(require("./grid.col/meta"));
var _meta17 = _interopRequireDefault(require("./grid.row/meta"));
var _meta18 = _interopRequireDefault(require("./hidden-box/meta"));
var _meta19 = _interopRequireDefault(require("./image/meta"));
var _meta20 = _interopRequireDefault(require("./input-number/meta"));
var _meta21 = _interopRequireDefault(require("./input.group/meta"));
var _meta22 = _interopRequireDefault(require("./input.password/meta"));
var _meta23 = _interopRequireDefault(require("./input.search/meta"));
var _meta24 = _interopRequireDefault(require("./input.text-area/meta"));
var _meta25 = _interopRequireDefault(require("./input/meta"));
var _meta26 = _interopRequireDefault(require("./lang-pro/meta"));
var _meta27 = _interopRequireDefault(require("./lang/meta"));
var _meta28 = _interopRequireDefault(require("./loop-box/meta"));
var _meta29 = _interopRequireDefault(require("./market/meta"));
var _meta30 = _interopRequireDefault(require("./modal-default/meta"));
var _meta31 = _interopRequireDefault(require("./modal/meta"));
var _meta32 = _interopRequireDefault(require("./news/meta"));
var _meta33 = _interopRequireDefault(require("./notice/meta"));
var _meta34 = _interopRequireDefault(require("./page-pro/meta"));
var _meta35 = _interopRequireDefault(require("./pagination/meta"));
var _meta36 = _interopRequireDefault(require("./post/meta"));
var _meta37 = _interopRequireDefault(require("./profile/meta"));
var _meta38 = _interopRequireDefault(require("./progress/meta"));
var _meta39 = _interopRequireDefault(require("./relation-tree/meta"));
var _meta40 = _interopRequireDefault(require("./remark/meta"));
var _meta41 = _interopRequireDefault(require("./roadmap/meta"));
var _meta42 = _interopRequireDefault(require("./rotation-wheel/meta"));
var _meta43 = _interopRequireDefault(require("./select/meta"));
var _meta44 = _interopRequireDefault(require("./slot/meta"));
var _meta45 = _interopRequireDefault(require("./swap/meta"));
var _meta46 = _interopRequireDefault(require("./switch/meta"));
var _meta47 = _interopRequireDefault(require("./token-pool/meta"));
var _meta48 = _interopRequireDefault(require("./token-stat/meta"));
var _meta49 = _interopRequireDefault(require("./tool-iframe/meta"));
var _meta50 = _interopRequireDefault(require("./tool-video/meta"));
var _meta51 = _interopRequireDefault(require("./typography.text/meta"));
var _meta52 = _interopRequireDefault(require("./web-renderder/meta"));
var componentCategorySort = {};
["基础元素", "布局容器类", "表格类", "表单详情类", "帮助类", "对话框类", "业务类", "通用", "引导", "信息输入", "信息展示", "信息反馈"].reverse().forEach(function (item, index) {
  componentCategorySort[item] = ++index;
});
function generateComponentList(components) {
  var componentList = [{
    title: '常用',
    icon: '',
    children: []
  }, {
    title: '容器',
    icon: '',
    children: []
  }, {
    title: '导航',
    icon: '',
    children: []
  }, {
    title: '内容',
    icon: '',
    children: []
  }, {
    title: 'Feedback 反馈',
    icon: '',
    children: []
  }];
  var groupMap = {
    原子组件: true
  };
  var compGroup = {};
  components.forEach(function (comp) {
    var category = comp.category || '其他';
    if (comp.group && !compGroup[comp.componentName]) {
      compGroup[comp.componentName] = comp.group;
    }
    if (comp.group && !groupMap[comp.group]) {
      groupMap[comp.group] = true;
    }
    var target = componentList.find(function (item) {
      return item.title === category;
    });
    if (!target) {
      target = {
        title: category,
        icon: '',
        children: []
      };
      componentList.push(target);
    }
    if (comp.snippets && comp.snippets.length) {
      target.children.push({
        componentName: comp.componentName,
        title: comp.title || comp.componentName,
        sort: {
          category: target.title,
          group: compGroup[comp.componentName] || '原子组件',
          priority: componentCategorySort[target.title] || 0
        },
        icon: '',
        "package": comp.npm.pkg,
        snippets: comp.snippets || []
      });
    }
  });
  return componentList;
}
function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
  if (packageName === void 0) {
    packageName = '@cverse/core-ide-plugin-pro-beta';
  }
  if (version === void 0) {
    version = '0.0.1';
  }
  if (basicLibraryVersion === void 0) {
    basicLibraryVersion = {
      "@alifd/next": "1.25.23",
      "@alifd/meet": "2.6.3",
      "antd": "4.17.3"
    };
  }
  if (!meta || !version) {
    return meta;
  }
  var npm = meta.npm;
  if (!npm) {
    return meta;
  }
  if (typeof basicLibraryVersion === 'object' && basicLibraryVersion[npm["package"]]) {
    meta.npm = (0, _extends2["default"])({}, npm, {
      version: basicLibraryVersion[npm["package"]]
    });
  } else if (npm["package"] === packageName) {
    meta.npm = (0, _extends2["default"])({}, npm, {
      version: version
    });
  }
  return meta;
}
var componentMetas = [_meta["default"], _meta2["default"], _meta3["default"], _meta4["default"], _meta5["default"], _meta6["default"], _meta7["default"], _meta8["default"], _meta9["default"], _meta10["default"], _meta11["default"], _meta12["default"], _meta13["default"], _meta14["default"], _meta15["default"], _meta16["default"], _meta17["default"], _meta18["default"], _meta19["default"], _meta20["default"], _meta21["default"], _meta22["default"], _meta23["default"], _meta24["default"], _meta25["default"], _meta26["default"], _meta27["default"], _meta28["default"], _meta29["default"], _meta30["default"], _meta31["default"], _meta32["default"], _meta33["default"], _meta34["default"], _meta35["default"], _meta36["default"], _meta37["default"], _meta38["default"], _meta39["default"], _meta40["default"], _meta41["default"], _meta42["default"], _meta43["default"], _meta44["default"], _meta45["default"], _meta46["default"], _meta47["default"], _meta48["default"], _meta49["default"], _meta50["default"], _meta51["default"], _meta52["default"]];
var components = exports.components = [];
var npmInfo = {
  "package": "@cverse/core-ide-plugin-pro-beta",
  "version": "0.0.1"
};
componentMetas.forEach(function (meta) {
  if (Array.isArray(meta)) {
    components.push.apply(components, meta.map(function (item) {
      if (!item.npm) {
        var componentName = item.componentName;
        var names = componentName.split('.');
        var exportName = names[0],
          subName = names[1];
        item.npm = {
          exportName: exportName,
          main: '',
          destructuring: true,
          subName: names.length > 1 ? componentName.slice(componentName.indexOf('.') + 1) : subName
        };
      }
      item.npm = (0, _extends2["default"])({}, npmInfo, item.npm || {});
      return fillRealVersion(item);
    }));
  } else if (meta.components) {
    components.push.apply(components, meta.components.map(function (item) {
      if (!item.npm) {
        var componentName = item.componentName;
        var names = componentName.split('.');
        var exportName = names[0],
          subName = names[1];
        item.npm = {
          exportName: exportName,
          main: '',
          destructuring: true,
          subName: names.length > 1 ? componentName.slice(componentName.indexOf('.') + 1) : subName
        };
      }
      item.npm = (0, _extends2["default"])({}, npmInfo, item.npm || {});
      return fillRealVersion(item);
    }));
  } else {
    if (!meta.npm) {
      var componentName = meta.componentName;
      var names = componentName.split('.');
      var exportName = names[0],
        subName = names[1];
      meta.npm = {
        exportName: exportName,
        main: '',
        destructuring: true,
        subName: names.length > 1 ? componentName.slice(componentName.indexOf('.') + 1) : subName
      };
    }
    meta.npm = (0, _extends2["default"])({}, npmInfo, meta.npm || {});
    components.push(fillRealVersion(meta));
  }
});
var componentList = exports.componentList = generateComponentList(components);
var execCompile = !!true;
if (!execCompile) {
  window.CverseCoreIdePluginProBetaMeta = {
    components: components,
    componentList: componentList
  };
}