@sj-distributor/react-iconfont-cli 2.3.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/commands/createIcon.js +38 -8
- package/commands/types.d.ts +17 -0
- package/commands/types.js +2 -0
- package/libs/copyTemplate.js +4 -2
- package/libs/generateComponent.d.ts +1 -1
- package/libs/generateComponent.js +36 -34
- package/libs/getConfig.js +3 -1
- package/libs/getTemplate.js +4 -2
- package/libs/replace.js +24 -13
- package/libs/whitespace.js +3 -1
- package/package.json +9 -7
- package/templates/helper.js.template +8 -7
- package/templates/helper.ts.template +8 -7
package/README.md
CHANGED
package/commands/createIcon.js
CHANGED
|
@@ -4,12 +4,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var colors_1 = tslib_1.__importDefault(require("colors"));
|
|
6
6
|
var getConfig_1 = require("../libs/getConfig");
|
|
7
|
-
var iconfont_parser_1 = require("iconfont-parser");
|
|
8
7
|
var generateComponent_1 = require("../libs/generateComponent");
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
var axios_1 = tslib_1.__importDefault(require("axios"));
|
|
9
|
+
var xml2js_1 = require("xml2js");
|
|
10
|
+
var config = (0, getConfig_1.getConfig)();
|
|
11
|
+
var fetchXmlAndGenerateComponent = function (url) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
12
|
+
var data, matches_1, result, e_1, errorText;
|
|
13
|
+
return tslib_1.__generator(this, function (_a) {
|
|
14
|
+
switch (_a.label) {
|
|
15
|
+
case 0:
|
|
16
|
+
console.log('Fetching iconfont data...');
|
|
17
|
+
_a.label = 1;
|
|
18
|
+
case 1:
|
|
19
|
+
_a.trys.push([1, 4, , 5]);
|
|
20
|
+
return [4 /*yield*/, axios_1.default.get(url)];
|
|
21
|
+
case 2:
|
|
22
|
+
data = (_a.sent()).data;
|
|
23
|
+
matches_1 = String(data).match(/'<svg>(.+?)<\/svg>'/);
|
|
24
|
+
if (!matches_1)
|
|
25
|
+
throw new Error('You provide a wrong symbol url');
|
|
26
|
+
return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
27
|
+
(0, xml2js_1.parseString)("<svg>".concat(matches_1[1], "</svg>"), { rootName: 'svg' }, function (err, result) {
|
|
28
|
+
err ? reject(err) : resolve(result);
|
|
29
|
+
});
|
|
30
|
+
})];
|
|
31
|
+
case 3:
|
|
32
|
+
result = _a.sent();
|
|
33
|
+
(0, generateComponent_1.generateComponent)(result, config);
|
|
34
|
+
return [3 /*break*/, 5];
|
|
35
|
+
case 4:
|
|
36
|
+
e_1 = _a.sent();
|
|
37
|
+
errorText = e_1 instanceof Error ? e_1.message : 'Unknown Error';
|
|
38
|
+
console.error(colors_1.default.red(errorText));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
return [3 /*break*/, 5];
|
|
41
|
+
case 5: return [2 /*return*/];
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}); };
|
|
45
|
+
fetchXmlAndGenerateComponent(config.symbol_url);
|
package/libs/copyTemplate.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.copyTemplate = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var fs_1 = tslib_1.__importDefault(require("fs"));
|
|
5
6
|
var path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
-
|
|
7
|
-
return fs_1.default.copyFileSync(path_1.default.join(__dirname, "../templates/"
|
|
7
|
+
var copyTemplate = function (fromFile, toFile) {
|
|
8
|
+
return fs_1.default.copyFileSync(path_1.default.join(__dirname, "../templates/".concat(fromFile, ".template")), toFile);
|
|
8
9
|
};
|
|
10
|
+
exports.copyTemplate = copyTemplate;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateComponent = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var fs_1 = tslib_1.__importDefault(require("fs"));
|
|
5
6
|
var path_1 = tslib_1.__importDefault(require("path"));
|
|
@@ -12,7 +13,7 @@ var replace_1 = require("./replace");
|
|
|
12
13
|
var whitespace_1 = require("./whitespace");
|
|
13
14
|
var copyTemplate_1 = require("./copyTemplate");
|
|
14
15
|
var ATTRIBUTE_FILL_MAP = ["path"];
|
|
15
|
-
|
|
16
|
+
var generateComponent = function (data, config) {
|
|
16
17
|
var names = [];
|
|
17
18
|
var imports = [];
|
|
18
19
|
var saveDir = path_1.default.resolve(config.save_dir);
|
|
@@ -21,64 +22,65 @@ exports.generateComponent = function (data, config) {
|
|
|
21
22
|
var cases = "";
|
|
22
23
|
mkdirp_1.default.sync(saveDir);
|
|
23
24
|
glob_1.default.sync(path_1.default.join(saveDir, "*")).forEach(function (file) { return fs_1.default.unlinkSync(file); });
|
|
24
|
-
copyTemplate_1.copyTemplate("helper"
|
|
25
|
+
(0, copyTemplate_1.copyTemplate)("helper".concat(jsExtension), path_1.default.join(saveDir, "helper".concat(jsExtension)));
|
|
25
26
|
if (!config.use_typescript) {
|
|
26
|
-
copyTemplate_1.copyTemplate("helper.d.ts", path_1.default.join(saveDir, "helper.d.ts"));
|
|
27
|
+
(0, copyTemplate_1.copyTemplate)("helper.d.ts", path_1.default.join(saveDir, "helper.d.ts"));
|
|
27
28
|
}
|
|
28
29
|
data.svg.symbol.forEach(function (item) {
|
|
29
30
|
var singleFile;
|
|
30
31
|
var iconId = item.$.id;
|
|
31
32
|
var iconIdAfterTrim = config.trim_icon_prefix
|
|
32
|
-
? iconId.replace(new RegExp("^"
|
|
33
|
+
? iconId.replace(new RegExp("^".concat(config.trim_icon_prefix, "(.+?)$")), function (_, value) { return value.replace(/^[-_.=+#@!~*]+(.+?)$/, "$1"); })
|
|
33
34
|
: iconId;
|
|
34
|
-
var componentName = lodash_1.upperFirst(lodash_1.camelCase(iconId));
|
|
35
|
+
var componentName = (0, lodash_1.upperFirst)((0, lodash_1.camelCase)(iconId));
|
|
35
36
|
names.push(iconIdAfterTrim);
|
|
36
|
-
cases += whitespace_1.whitespace(4)
|
|
37
|
+
cases += "".concat((0, whitespace_1.whitespace)(4), "case '").concat(iconIdAfterTrim, "':\n");
|
|
37
38
|
imports.push(componentName);
|
|
38
|
-
cases += whitespace_1.whitespace(6)
|
|
39
|
-
singleFile = getTemplate_1.getTemplate("SingleIcon" + jsxExtension);
|
|
40
|
-
singleFile = replace_1.replaceSize(singleFile, config.default_icon_size);
|
|
39
|
+
cases += "".concat((0, whitespace_1.whitespace)(6), "return <").concat(componentName, " {...rest} />;\n");
|
|
40
|
+
singleFile = (0, getTemplate_1.getTemplate)("SingleIcon" + jsxExtension);
|
|
41
|
+
singleFile = (0, replace_1.replaceSize)(singleFile, config.default_icon_size);
|
|
41
42
|
if (jsxExtension === ".tsx") {
|
|
42
|
-
singleFile = replace_1.replaceReactName(singleFile, config.can_import_react);
|
|
43
|
+
singleFile = (0, replace_1.replaceReactName)(singleFile, config.can_import_react);
|
|
43
44
|
}
|
|
44
|
-
singleFile = replace_1.replaceComponentName(singleFile, componentName);
|
|
45
|
-
singleFile = replace_1.replaceSingleIconContent(singleFile, generateCase(item, 4));
|
|
46
|
-
singleFile = replace_1.replaceSizeUnit(singleFile, config.unit);
|
|
45
|
+
singleFile = (0, replace_1.replaceComponentName)(singleFile, componentName);
|
|
46
|
+
singleFile = (0, replace_1.replaceSingleIconContent)(singleFile, generateCase(item, 4));
|
|
47
|
+
singleFile = (0, replace_1.replaceSizeUnit)(singleFile, config.unit);
|
|
47
48
|
fs_1.default.writeFileSync(path_1.default.join(saveDir, componentName + jsxExtension), singleFile);
|
|
48
49
|
if (!config.use_typescript) {
|
|
49
|
-
var typeDefinitionFile = getTemplate_1.getTemplate("SingleIcon.d.ts");
|
|
50
|
-
typeDefinitionFile = replace_1.replaceComponentName(typeDefinitionFile, componentName);
|
|
50
|
+
var typeDefinitionFile = (0, getTemplate_1.getTemplate)("SingleIcon.d.ts");
|
|
51
|
+
typeDefinitionFile = (0, replace_1.replaceComponentName)(typeDefinitionFile, componentName);
|
|
51
52
|
fs_1.default.writeFileSync(path_1.default.join(saveDir, componentName + ".d.ts"), typeDefinitionFile);
|
|
52
53
|
}
|
|
53
|
-
console.log(colors_1.default.green("√")
|
|
54
|
+
console.log("".concat(colors_1.default.green("√"), " Generated icon \"").concat(colors_1.default.yellow(iconId), "\""));
|
|
54
55
|
});
|
|
55
|
-
var iconFile = getTemplate_1.getTemplate("Icon" + jsxExtension);
|
|
56
|
-
iconFile = replace_1.replaceCases(iconFile, cases);
|
|
57
|
-
iconFile = replace_1.replaceImports(iconFile, imports);
|
|
58
|
-
iconFile = replace_1.replaceExports(iconFile, imports);
|
|
59
|
-
iconFile = replace_1.replaceReactName(iconFile, config.can_import_react);
|
|
56
|
+
var iconFile = (0, getTemplate_1.getTemplate)("Icon" + jsxExtension);
|
|
57
|
+
iconFile = (0, replace_1.replaceCases)(iconFile, cases);
|
|
58
|
+
iconFile = (0, replace_1.replaceImports)(iconFile, imports);
|
|
59
|
+
iconFile = (0, replace_1.replaceExports)(iconFile, imports);
|
|
60
|
+
iconFile = (0, replace_1.replaceReactName)(iconFile, config.can_import_react);
|
|
60
61
|
if (config.use_typescript) {
|
|
61
|
-
iconFile = replace_1.replaceNames(iconFile, names);
|
|
62
|
+
iconFile = (0, replace_1.replaceNames)(iconFile, names);
|
|
62
63
|
}
|
|
63
64
|
else {
|
|
64
|
-
iconFile = replace_1.replaceNamesArray(iconFile, names);
|
|
65
|
-
var typeDefinitionFile = getTemplate_1.getTemplate("Icon.d.ts");
|
|
66
|
-
typeDefinitionFile = replace_1.replaceExports(typeDefinitionFile, imports);
|
|
67
|
-
typeDefinitionFile = replace_1.replaceNames(typeDefinitionFile, names);
|
|
65
|
+
iconFile = (0, replace_1.replaceNamesArray)(iconFile, names);
|
|
66
|
+
var typeDefinitionFile = (0, getTemplate_1.getTemplate)("Icon.d.ts");
|
|
67
|
+
typeDefinitionFile = (0, replace_1.replaceExports)(typeDefinitionFile, imports);
|
|
68
|
+
typeDefinitionFile = (0, replace_1.replaceNames)(typeDefinitionFile, names);
|
|
68
69
|
fs_1.default.writeFileSync(path_1.default.join(saveDir, "index.d.ts"), typeDefinitionFile);
|
|
69
70
|
}
|
|
70
71
|
fs_1.default.writeFileSync(path_1.default.join(saveDir, "index" + jsxExtension), iconFile);
|
|
71
|
-
console.log("\n"
|
|
72
|
+
console.log("\n".concat(colors_1.default.green("√"), " All icons have putted into dir: ").concat(colors_1.default.green(config.save_dir), "\n"));
|
|
72
73
|
};
|
|
74
|
+
exports.generateComponent = generateComponent;
|
|
73
75
|
var generateCase = function (data, baseIdent) {
|
|
74
76
|
var e_1, _a;
|
|
75
|
-
var template = "\n"
|
|
77
|
+
var template = "\n".concat((0, whitespace_1.whitespace)(baseIdent), "<svg viewBox=\"").concat(data.$.viewBox, "\" width={size} height={size} style={style} {...rest}>\n");
|
|
76
78
|
var _loop_1 = function (domName) {
|
|
77
79
|
if (domName === "$") {
|
|
78
80
|
return "continue";
|
|
79
81
|
}
|
|
80
82
|
if (!domName) {
|
|
81
|
-
console.error(colors_1.default.red("Unable to transform dom \""
|
|
83
|
+
console.error(colors_1.default.red("Unable to transform dom \"".concat(domName, "\"")));
|
|
82
84
|
process.exit(1);
|
|
83
85
|
}
|
|
84
86
|
var counter = {
|
|
@@ -86,11 +88,11 @@ var generateCase = function (data, baseIdent) {
|
|
|
86
88
|
baseIdent: baseIdent,
|
|
87
89
|
};
|
|
88
90
|
if (data[domName].$) {
|
|
89
|
-
template += whitespace_1.whitespace(baseIdent + 2)
|
|
91
|
+
template += "".concat((0, whitespace_1.whitespace)(baseIdent + 2), "<").concat(domName).concat(addAttribute(domName, data[domName], counter), "\n").concat((0, whitespace_1.whitespace)(baseIdent + 2), "/>\n");
|
|
90
92
|
}
|
|
91
93
|
else if (Array.isArray(data[domName])) {
|
|
92
94
|
data[domName].forEach(function (sub) {
|
|
93
|
-
template += whitespace_1.whitespace(baseIdent + 2)
|
|
95
|
+
template += "".concat((0, whitespace_1.whitespace)(baseIdent + 2), "<").concat(domName).concat(addAttribute(domName, sub, counter), "\n").concat((0, whitespace_1.whitespace)(baseIdent + 2), "/>\n");
|
|
94
96
|
});
|
|
95
97
|
}
|
|
96
98
|
};
|
|
@@ -107,7 +109,7 @@ var generateCase = function (data, baseIdent) {
|
|
|
107
109
|
}
|
|
108
110
|
finally { if (e_1) throw e_1.error; }
|
|
109
111
|
}
|
|
110
|
-
template += whitespace_1.whitespace(baseIdent)
|
|
112
|
+
template += "".concat((0, whitespace_1.whitespace)(baseIdent), "</svg>\n");
|
|
111
113
|
return template;
|
|
112
114
|
};
|
|
113
115
|
var addAttribute = function (domName, sub, counter) {
|
|
@@ -123,11 +125,11 @@ var addAttribute = function (domName, sub, counter) {
|
|
|
123
125
|
for (var _b = tslib_1.__values(Object.keys(sub.$)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
124
126
|
var attributeName = _c.value;
|
|
125
127
|
if (attributeName === "fill") {
|
|
126
|
-
template += "\n"
|
|
128
|
+
template += "\n".concat((0, whitespace_1.whitespace)(counter.baseIdent + 4)).concat((0, lodash_1.camelCase)(attributeName), "={getIconColor(color, ").concat(counter.colorIndex, ", '").concat(sub.$[attributeName], "')}");
|
|
127
129
|
counter.colorIndex += 1;
|
|
128
130
|
}
|
|
129
131
|
else {
|
|
130
|
-
template += "\n"
|
|
132
|
+
template += "\n".concat((0, whitespace_1.whitespace)(counter.baseIdent + 4)).concat((0, lodash_1.camelCase)(attributeName), "=\"").concat(sub.$[attributeName], "\"");
|
|
131
133
|
}
|
|
132
134
|
}
|
|
133
135
|
}
|
package/libs/getConfig.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getConfig = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var path_1 = tslib_1.__importDefault(require("path"));
|
|
5
6
|
var fs_1 = tslib_1.__importDefault(require("fs"));
|
|
6
7
|
var colors_1 = tslib_1.__importDefault(require("colors"));
|
|
7
8
|
var iconfont_json_1 = tslib_1.__importDefault(require("./iconfont.json"));
|
|
8
9
|
var cacheConfig;
|
|
9
|
-
|
|
10
|
+
var getConfig = function () {
|
|
10
11
|
if (cacheConfig) {
|
|
11
12
|
return cacheConfig;
|
|
12
13
|
}
|
|
@@ -30,3 +31,4 @@ exports.getConfig = function () {
|
|
|
30
31
|
cacheConfig = config;
|
|
31
32
|
return config;
|
|
32
33
|
};
|
|
34
|
+
exports.getConfig = getConfig;
|
package/libs/getTemplate.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTemplate = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var fs_1 = tslib_1.__importDefault(require("fs"));
|
|
5
6
|
var path_1 = tslib_1.__importDefault(require("path"));
|
|
6
|
-
|
|
7
|
-
return fs_1.default.readFileSync(path_1.default.join(__dirname, "../templates/"
|
|
7
|
+
var getTemplate = function (fileName) {
|
|
8
|
+
return fs_1.default.readFileSync(path_1.default.join(__dirname, "../templates/".concat(fileName, ".template"))).toString();
|
|
8
9
|
};
|
|
10
|
+
exports.getTemplate = getTemplate;
|
package/libs/replace.js
CHANGED
|
@@ -1,34 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.replaceExports = exports.replaceSizeUnit = exports.replaceImports = exports.replaceSingleIconContent = exports.replaceReactName = exports.replaceComponentName = exports.replaceNamesArray = exports.replaceNames = exports.replaceCases = exports.replaceSize = void 0;
|
|
4
|
+
var replaceSize = function (content, size) {
|
|
4
5
|
return content.replace(/#size#/g, String(size));
|
|
5
6
|
};
|
|
6
|
-
exports.
|
|
7
|
+
exports.replaceSize = replaceSize;
|
|
8
|
+
var replaceCases = function (content, cases) {
|
|
7
9
|
return content.replace(/#cases#/g, cases);
|
|
8
10
|
};
|
|
9
|
-
exports.
|
|
11
|
+
exports.replaceCases = replaceCases;
|
|
12
|
+
var replaceNames = function (content, names) {
|
|
10
13
|
return content.replace(/#names#/g, names.join("' | '"));
|
|
11
14
|
};
|
|
12
|
-
exports.
|
|
15
|
+
exports.replaceNames = replaceNames;
|
|
16
|
+
var replaceNamesArray = function (content, names) {
|
|
13
17
|
return content.replace(/#namesArray#/g, JSON.stringify(names).replace(/"/g, "'").replace(/','/g, "', '"));
|
|
14
18
|
};
|
|
15
|
-
exports.
|
|
19
|
+
exports.replaceNamesArray = replaceNamesArray;
|
|
20
|
+
var replaceComponentName = function (content, name) {
|
|
16
21
|
return content.replace(/#componentName#/g, name);
|
|
17
22
|
};
|
|
18
|
-
exports.
|
|
23
|
+
exports.replaceComponentName = replaceComponentName;
|
|
24
|
+
var replaceReactName = function (content, canImport) {
|
|
19
25
|
return content.replace(/#reactName#/g, canImport ? "React, " : "");
|
|
20
26
|
};
|
|
21
|
-
exports.
|
|
27
|
+
exports.replaceReactName = replaceReactName;
|
|
28
|
+
var replaceSingleIconContent = function (content, render) {
|
|
22
29
|
return content.replace(/#iconContent#/g, render);
|
|
23
30
|
};
|
|
24
|
-
exports.
|
|
25
|
-
|
|
31
|
+
exports.replaceSingleIconContent = replaceSingleIconContent;
|
|
32
|
+
var replaceImports = function (content, imports) {
|
|
33
|
+
return content.replace(/#imports#/g, imports.map(function (item) { return "import ".concat(item, " from './").concat(item, "';"); }).join("\n"));
|
|
26
34
|
};
|
|
27
|
-
exports.
|
|
28
|
-
|
|
35
|
+
exports.replaceImports = replaceImports;
|
|
36
|
+
var replaceSizeUnit = function (content, unit) {
|
|
37
|
+
return content.replace(/\{size\}/g, "{size + '".concat(unit, "'}"));
|
|
29
38
|
};
|
|
30
|
-
exports.
|
|
39
|
+
exports.replaceSizeUnit = replaceSizeUnit;
|
|
40
|
+
var replaceExports = function (content, exports) {
|
|
31
41
|
return content.replace(/#exports#/g, exports
|
|
32
|
-
.map(function (item) { return "export { default as "
|
|
42
|
+
.map(function (item) { return "export { default as ".concat(item, " } from './").concat(item, "';"); })
|
|
33
43
|
.join("\n"));
|
|
34
44
|
};
|
|
45
|
+
exports.replaceExports = replaceExports;
|
package/libs/whitespace.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sj-distributor/react-iconfont-cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.1",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iconfont",
|
|
@@ -15,20 +15,21 @@
|
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"bin": {
|
|
17
17
|
"sj-iconfont": "./commands/help.js",
|
|
18
|
-
"sj-iconfont-
|
|
19
|
-
"sj-iconfont-
|
|
18
|
+
"sj-iconfont-h5": "./commands/createIcon.js",
|
|
19
|
+
"sj-iconfont-init": "./commands/createJson.js"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"react": "*"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"
|
|
25
|
+
"axios": "^0.21.1",
|
|
26
|
+
"colors": "1.4.0",
|
|
26
27
|
"glob": "^7.1.4",
|
|
27
|
-
"iconfont-parser": "^1.0.0",
|
|
28
28
|
"lodash": "^4.17.15",
|
|
29
29
|
"minimist": "^1.2.5",
|
|
30
30
|
"mkdirp": "^0.5.1",
|
|
31
|
-
"tslib": "^1.10.0"
|
|
31
|
+
"tslib": "^1.10.0",
|
|
32
|
+
"xml2js": "0.4.22"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
35
|
"@types/fs-extra": "^8.0.0",
|
|
@@ -38,8 +39,9 @@
|
|
|
38
39
|
"@types/mkdirp": "^0.5.2",
|
|
39
40
|
"@types/node": "^12.7.2",
|
|
40
41
|
"@types/react": "^16.9.2",
|
|
42
|
+
"@types/xml2js": "0.4.5",
|
|
41
43
|
"react": "^16.9.0",
|
|
42
44
|
"ts-node": "^8.3.0",
|
|
43
|
-
"typescript": "^
|
|
45
|
+
"typescript": "^4.0.0"
|
|
44
46
|
}
|
|
45
47
|
}
|
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
* @return {string}
|
|
8
8
|
*/
|
|
9
9
|
export const getIconColor = (color, index, defaultColor) => {
|
|
10
|
-
return
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
if (!color) return defaultColor;
|
|
11
|
+
|
|
12
|
+
// When color is a single value, only tint the first path.
|
|
13
|
+
if (typeof color === 'string') {
|
|
14
|
+
return index === 0 ? color : defaultColor;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return color[index] || defaultColor;
|
|
17
18
|
};
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
|
|
4
4
|
export const getIconColor = (color: string | string[] | undefined, index: number, defaultColor: string) => {
|
|
5
|
-
return
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
if (!color) return defaultColor;
|
|
6
|
+
|
|
7
|
+
// When color is a single value, only tint the first path.
|
|
8
|
+
if (typeof color === 'string') {
|
|
9
|
+
return index === 0 ? color : defaultColor;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return color[index] || defaultColor;
|
|
12
13
|
};
|