@taiga-ui/icons 2.29.0 → 2.33.0
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/bundles/taiga-ui-icons-scripts.umd.js +95 -25
- package/bundles/taiga-ui-icons-scripts.umd.js.map +1 -1
- package/bundles/taiga-ui-icons-scripts.umd.min.js +1 -1
- package/bundles/taiga-ui-icons-scripts.umd.min.js.map +1 -1
- package/esm2015/scripts/index.js +2 -1
- package/esm2015/scripts/prepare-all-to-compile-file.js +3 -3
- package/esm2015/scripts/process-icons.js +58 -0
- package/esm2015/scripts/rollup-svgo.js +16 -9
- package/esm5/scripts/index.js +2 -1
- package/esm5/scripts/prepare-all-to-compile-file.js +3 -3
- package/esm5/scripts/process-icons.js +65 -0
- package/esm5/scripts/rollup-svgo.js +26 -20
- package/fesm2015/taiga-ui-icons-scripts.js +76 -12
- package/fesm2015/taiga-ui-icons-scripts.js.map +1 -1
- package/fesm5/taiga-ui-icons-scripts.js +92 -23
- package/fesm5/taiga-ui-icons-scripts.js.map +1 -1
- package/package.json +1 -1
- package/scripts/index.d.ts +1 -0
- package/scripts/prepare-all-to-compile-file.d.ts +1 -1
- package/scripts/process-icons.d.ts +3 -0
- package/scripts/taiga-ui-icons-scripts.metadata.json +1 -1
- package/svg.d.ts +9 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import { parse } from 'path';
|
|
3
|
+
const START = '<svg';
|
|
4
|
+
const WIDTH_SEARCH = 'width="';
|
|
5
|
+
const HEIGHT_SEARCH = 'height="';
|
|
6
|
+
export function processIcons(files, interceptor) {
|
|
7
|
+
for (const file of files) {
|
|
8
|
+
const baseContent = String(fs.readFileSync(file));
|
|
9
|
+
const src = interceptor ? interceptor(baseContent) : baseContent;
|
|
10
|
+
const name = parse(file).base.replace('.svg', '');
|
|
11
|
+
if (src.includes(`id="${name}"`)) {
|
|
12
|
+
console.info('\x1b[33m%s\x1b[0m', `[skip]:`, file);
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
const wrapped = wrapIcon(src, name);
|
|
16
|
+
const final = typeof wrapped === 'string'
|
|
17
|
+
? wrapped.replace(START, `<svg xmlns="http://www.w3.org/2000/svg"><g id="${name}" xmlns="http://www.w3.org/2000/svg"><svg`) + '</g></svg>'
|
|
18
|
+
: `<svg xmlns="http://www.w3.org/2000/svg" width="${wrapped.width}" height="${wrapped.height}">${wrapped.src}</svg>`;
|
|
19
|
+
fs.writeFileSync(file, final);
|
|
20
|
+
console.info('\x1b[32m%s\x1b[0m', `[preprocessed]:`, file);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function wrapIcon(source, name) {
|
|
24
|
+
const src = source.substring(source.indexOf(START));
|
|
25
|
+
const attributes = src.substring(0, src.indexOf('>'));
|
|
26
|
+
if (!attributes ||
|
|
27
|
+
!attributes.includes(WIDTH_SEARCH) ||
|
|
28
|
+
!attributes.includes(HEIGHT_SEARCH)) {
|
|
29
|
+
return src;
|
|
30
|
+
}
|
|
31
|
+
const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);
|
|
32
|
+
const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);
|
|
33
|
+
const widthOffset = indexOfWidth + WIDTH_SEARCH.length;
|
|
34
|
+
const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;
|
|
35
|
+
const widthString = attributes.substring(widthOffset, attributes.indexOf('"', widthOffset));
|
|
36
|
+
const heightString = attributes.substring(heightOffset, attributes.indexOf('"', heightOffset));
|
|
37
|
+
if (!heightString ||
|
|
38
|
+
!widthString ||
|
|
39
|
+
widthString.includes('%') ||
|
|
40
|
+
heightString.includes('%')) {
|
|
41
|
+
return src.replace(START, `<svg id="${name}"`);
|
|
42
|
+
}
|
|
43
|
+
const width = parseInt(widthString, 10);
|
|
44
|
+
const height = parseInt(heightString, 10);
|
|
45
|
+
const emWidth = width / 16;
|
|
46
|
+
const emHeight = height / 16;
|
|
47
|
+
return {
|
|
48
|
+
width: `${emWidth}em`,
|
|
49
|
+
height: `${emHeight}em`,
|
|
50
|
+
src: `
|
|
51
|
+
<g id="${name}" xmlns="http://www.w3.org/2000/svg">
|
|
52
|
+
<svg x="50%" y="50%" width="${emWidth}em" height="${emHeight}em" overflow="visible" viewBox="0 0 ${width} ${height}">
|
|
53
|
+
<svg x="${-width / 2}" y="${-height / 2}">${src}</svg>
|
|
54
|
+
</svg>
|
|
55
|
+
</g>`.trim(),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9pY29ucy9zY3JpcHRzLyIsInNvdXJjZXMiOlsicHJvY2Vzcy1pY29ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUzQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDckIsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBQy9CLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQVVqQyxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWUsRUFBRSxXQUFnQztJQUMxRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtRQUN0QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFFakUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkQsU0FBUztTQUNaO1FBRUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVwQyxNQUFNLEtBQUssR0FDUCxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUNYLEtBQUssRUFDTCxrREFBa0QsSUFBSSwyQ0FBMkMsQ0FDcEcsR0FBRyxZQUFZO1lBQ2xCLENBQUMsQ0FBQyxrREFBa0QsT0FBTyxDQUFDLEtBQUssYUFBYSxPQUFPLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUU3SCxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU5QixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzlEO0FBQ0wsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLE1BQWMsRUFBRSxJQUFZO0lBQzFDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUV0RCxJQUNJLENBQUMsVUFBVTtRQUNYLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDbEMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUNyQztRQUNFLE9BQU8sR0FBRyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsTUFBTSxXQUFXLEdBQUcsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQUcsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDMUQsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FDcEMsV0FBVyxFQUNYLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUN2QyxDQUFDO0lBQ0YsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FDckMsWUFBWSxFQUNaLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUN4QyxDQUFDO0lBRUYsSUFDSSxDQUFDLFlBQVk7UUFDYixDQUFDLFdBQVc7UUFDWixXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUN6QixZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUM1QjtRQUNFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sT0FBTyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDM0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUU3QixPQUFPO1FBQ0gsS0FBSyxFQUFFLEdBQUcsT0FBTyxJQUFJO1FBQ3JCLE1BQU0sRUFBRSxHQUFHLFFBQVEsSUFBSTtRQUN2QixHQUFHLEVBQUU7aUJBQ0ksSUFBSTswQ0FDcUIsT0FBTyxlQUFlLFFBQVEsdUNBQXVDLEtBQUssSUFBSSxNQUFNOzBCQUNwRyxDQUFDLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLEdBQUc7O2FBRWxELENBQUMsSUFBSSxFQUFFO0tBQ2YsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHtwYXJzZX0gZnJvbSAncGF0aCc7XG5cbmNvbnN0IFNUQVJUID0gJzxzdmcnO1xuY29uc3QgV0lEVEhfU0VBUkNIID0gJ3dpZHRoPVwiJztcbmNvbnN0IEhFSUdIVF9TRUFSQ0ggPSAnaGVpZ2h0PVwiJztcblxuaW50ZXJmYWNlIFdyYXBwZWRDb250ZW50IHtcbiAgICBoZWlnaHQ6IHN0cmluZztcbiAgICB3aWR0aDogc3RyaW5nO1xuICAgIHNyYzogc3RyaW5nO1xufVxuXG50eXBlIENvbnRlbnRJbnRlcmNlcHRvciA9IChzcmM6IHN0cmluZykgPT4gc3RyaW5nO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0ljb25zKGZpbGVzOiBzdHJpbmdbXSwgaW50ZXJjZXB0b3I/OiBDb250ZW50SW50ZXJjZXB0b3IpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgY29uc3QgYmFzZUNvbnRlbnQgPSBTdHJpbmcoZnMucmVhZEZpbGVTeW5jKGZpbGUpKTtcbiAgICAgICAgY29uc3Qgc3JjID0gaW50ZXJjZXB0b3IgPyBpbnRlcmNlcHRvcihiYXNlQ29udGVudCkgOiBiYXNlQ29udGVudDtcblxuICAgICAgICBjb25zdCBuYW1lID0gcGFyc2UoZmlsZSkuYmFzZS5yZXBsYWNlKCcuc3ZnJywgJycpO1xuXG4gICAgICAgIGlmIChzcmMuaW5jbHVkZXMoYGlkPVwiJHtuYW1lfVwiYCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnXFx4MWJbMzNtJXNcXHgxYlswbScsIGBbc2tpcF06YCwgZmlsZSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdyYXBwZWQgPSB3cmFwSWNvbihzcmMsIG5hbWUpO1xuXG4gICAgICAgIGNvbnN0IGZpbmFsID1cbiAgICAgICAgICAgIHR5cGVvZiB3cmFwcGVkID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgID8gd3JhcHBlZC5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgICAgIFNUQVJULFxuICAgICAgICAgICAgICAgICAgICAgIGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyBpZD1cIiR7bmFtZX1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHN2Z2AsXG4gICAgICAgICAgICAgICAgICApICsgJzwvZz48L3N2Zz4nXG4gICAgICAgICAgICAgICAgOiBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIke3dyYXBwZWQud2lkdGh9XCIgaGVpZ2h0PVwiJHt3cmFwcGVkLmhlaWdodH1cIj4ke3dyYXBwZWQuc3JjfTwvc3ZnPmA7XG5cbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlLCBmaW5hbCk7XG5cbiAgICAgICAgY29uc29sZS5pbmZvKCdcXHgxYlszMm0lc1xceDFiWzBtJywgYFtwcmVwcm9jZXNzZWRdOmAsIGZpbGUpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gd3JhcEljb24oc291cmNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IFdyYXBwZWRDb250ZW50IHtcbiAgICBjb25zdCBzcmMgPSBzb3VyY2Uuc3Vic3RyaW5nKHNvdXJjZS5pbmRleE9mKFNUQVJUKSk7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHNyYy5zdWJzdHJpbmcoMCwgc3JjLmluZGV4T2YoJz4nKSk7XG5cbiAgICBpZiAoXG4gICAgICAgICFhdHRyaWJ1dGVzIHx8XG4gICAgICAgICFhdHRyaWJ1dGVzLmluY2x1ZGVzKFdJRFRIX1NFQVJDSCkgfHxcbiAgICAgICAgIWF0dHJpYnV0ZXMuaW5jbHVkZXMoSEVJR0hUX1NFQVJDSClcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIHNyYztcbiAgICB9XG5cbiAgICBjb25zdCBpbmRleE9mV2lkdGggPSBhdHRyaWJ1dGVzLmluZGV4T2YoV0lEVEhfU0VBUkNIKTtcbiAgICBjb25zdCBpbmRleE9mSGVpZ2h0ID0gYXR0cmlidXRlcy5pbmRleE9mKEhFSUdIVF9TRUFSQ0gpO1xuICAgIGNvbnN0IHdpZHRoT2Zmc2V0ID0gaW5kZXhPZldpZHRoICsgV0lEVEhfU0VBUkNILmxlbmd0aDtcbiAgICBjb25zdCBoZWlnaHRPZmZzZXQgPSBpbmRleE9mSGVpZ2h0ICsgSEVJR0hUX1NFQVJDSC5sZW5ndGg7XG4gICAgY29uc3Qgd2lkdGhTdHJpbmcgPSBhdHRyaWJ1dGVzLnN1YnN0cmluZyhcbiAgICAgICAgd2lkdGhPZmZzZXQsXG4gICAgICAgIGF0dHJpYnV0ZXMuaW5kZXhPZignXCInLCB3aWR0aE9mZnNldCksXG4gICAgKTtcbiAgICBjb25zdCBoZWlnaHRTdHJpbmcgPSBhdHRyaWJ1dGVzLnN1YnN0cmluZyhcbiAgICAgICAgaGVpZ2h0T2Zmc2V0LFxuICAgICAgICBhdHRyaWJ1dGVzLmluZGV4T2YoJ1wiJywgaGVpZ2h0T2Zmc2V0KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgICAhaGVpZ2h0U3RyaW5nIHx8XG4gICAgICAgICF3aWR0aFN0cmluZyB8fFxuICAgICAgICB3aWR0aFN0cmluZy5pbmNsdWRlcygnJScpIHx8XG4gICAgICAgIGhlaWdodFN0cmluZy5pbmNsdWRlcygnJScpXG4gICAgKSB7XG4gICAgICAgIHJldHVybiBzcmMucmVwbGFjZShTVEFSVCwgYDxzdmcgaWQ9XCIke25hbWV9XCJgKTtcbiAgICB9XG5cbiAgICBjb25zdCB3aWR0aCA9IHBhcnNlSW50KHdpZHRoU3RyaW5nLCAxMCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gcGFyc2VJbnQoaGVpZ2h0U3RyaW5nLCAxMCk7XG4gICAgY29uc3QgZW1XaWR0aCA9IHdpZHRoIC8gMTY7XG4gICAgY29uc3QgZW1IZWlnaHQgPSBoZWlnaHQgLyAxNjtcblxuICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRoOiBgJHtlbVdpZHRofWVtYCxcbiAgICAgICAgaGVpZ2h0OiBgJHtlbUhlaWdodH1lbWAsXG4gICAgICAgIHNyYzogYFxuICAgICAgICA8ZyBpZD1cIiR7bmFtZX1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8c3ZnIHg9XCI1MCVcIiB5PVwiNTAlXCIgd2lkdGg9XCIke2VtV2lkdGh9ZW1cIiBoZWlnaHQ9XCIke2VtSGVpZ2h0fWVtXCIgb3ZlcmZsb3c9XCJ2aXNpYmxlXCIgdmlld0JveD1cIjAgMCAke3dpZHRofSAke2hlaWdodH1cIj5cbiAgICAgICAgICAgICAgICA8c3ZnIHg9XCIkey13aWR0aCAvIDJ9XCIgeT1cIiR7LWhlaWdodCAvIDJ9XCI+JHtzcmN9PC9zdmc+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9nPmAudHJpbSgpLFxuICAgIH07XG59XG4iXX0=
|
|
@@ -5,28 +5,35 @@ export function rollupSvgo({ include = '**/*.svg', exclude, options, } = {}) {
|
|
|
5
5
|
const filter = createFilter(include, exclude);
|
|
6
6
|
return {
|
|
7
7
|
name: 'rollupSvgo',
|
|
8
|
-
transform(svgString,
|
|
8
|
+
transform(svgString, path) {
|
|
9
|
+
var _a;
|
|
9
10
|
return __awaiter(this, void 0, void 0, function* () {
|
|
10
|
-
const skip = !filter(
|
|
11
|
+
const skip = !filter(path);
|
|
11
12
|
if (skip) {
|
|
12
|
-
console.info('\x1b[33m%s\x1b[0m', '[skip]',
|
|
13
|
+
console.info('\x1b[33m%s\x1b[0m', '[skip]', path);
|
|
13
14
|
return;
|
|
14
15
|
}
|
|
15
|
-
let
|
|
16
|
+
let data;
|
|
17
|
+
let error;
|
|
16
18
|
try {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
const result = yield optimize(svgString, Object.assign({ path }, options));
|
|
20
|
+
data = ((_a = result) === null || _a === void 0 ? void 0 : _a.data) || {};
|
|
21
|
+
error = result.error;
|
|
19
22
|
}
|
|
20
23
|
catch (err) {
|
|
21
|
-
|
|
24
|
+
error = err.message;
|
|
25
|
+
}
|
|
26
|
+
if (error) {
|
|
27
|
+
console.error('\x1b[31m%s\x1b[0m', '[error]', path, `\n${svgString}`, `\n${error}`);
|
|
22
28
|
process.exit(1);
|
|
23
29
|
}
|
|
30
|
+
console.info('\x1b[32m%s\x1b[0m', '[success]', path);
|
|
24
31
|
return {
|
|
25
|
-
code: `export default ${JSON.stringify(
|
|
32
|
+
code: `export default ${JSON.stringify(data)}`,
|
|
26
33
|
map: { mappings: '' },
|
|
27
34
|
};
|
|
28
35
|
});
|
|
29
36
|
},
|
|
30
37
|
};
|
|
31
38
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLXN2Z28uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvaWNvbnMvc2NyaXB0cy8iLCJzb3VyY2VzIjpbInJvbGx1cC1zdmdvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFDLFFBQVEsRUFBZ0QsTUFBTSxNQUFNLENBQUM7QUFZN0UsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUN2QixPQUFPLEdBQUcsVUFBVSxFQUNwQixPQUFPLEVBQ1AsT0FBTyxNQUNXLEVBQUU7SUFDcEIsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU5QyxPQUFPO1FBQ0gsSUFBSSxFQUFFLFlBQVk7UUFDWixTQUFTLENBQUMsU0FBaUIsRUFBRSxJQUFZOzs7Z0JBQzNDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUUzQixJQUFJLElBQUksRUFBRTtvQkFDTixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFFbEQsT0FBTztpQkFDVjtnQkFFRCxJQUFJLElBQWEsQ0FBQztnQkFDbEIsSUFBSSxLQUFjLENBQUM7Z0JBRW5CLElBQUk7b0JBQ0EsTUFBTSxNQUFNLEdBQWUsTUFBTSxRQUFRLENBQUMsU0FBUyxrQkFBRyxJQUFJLElBQUssT0FBTyxFQUFFLENBQUM7b0JBRXpFLElBQUksR0FBRyxPQUFDLE1BQXVCLDBDQUFFLElBQUksS0FBSSxFQUFFLENBQUM7b0JBQzVDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO2lCQUN4QjtnQkFBQyxPQUFPLEdBQUcsRUFBRTtvQkFDVixLQUFLLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztpQkFDdkI7Z0JBRUQsSUFBSSxLQUFLLEVBQUU7b0JBQ1AsT0FBTyxDQUFDLEtBQUssQ0FDVCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULElBQUksRUFDSixLQUFLLFNBQVMsRUFBRSxFQUNoQixLQUFLLEtBQUssRUFBRSxDQUNmLENBQUM7b0JBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbkI7Z0JBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBRXJELE9BQU87b0JBQ0gsSUFBSSxFQUFFLGtCQUFrQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUM5QyxHQUFHLEVBQUUsRUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFDO2lCQUN0QixDQUFDOztTQUNMO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUZpbHRlcn0gZnJvbSAnQHJvbGx1cC9wbHVnaW51dGlscyc7XG5pbXBvcnQge1BsdWdpbiwgVHJhbnNmb3JtUmVzdWx0fSBmcm9tICdyb2xsdXAnO1xuaW1wb3J0IHtvcHRpbWl6ZSwgT3B0aW1pemVkRXJyb3IsIE9wdGltaXplZFN2ZywgT3B0aW1pemVPcHRpb25zfSBmcm9tICdzdmdvJztcblxudHlwZSBTdmdvUmVzdWx0ID0gT3B0aW1pemVkU3ZnIHwgT3B0aW1pemVkRXJyb3I7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sbHVwU3Znb0NvbmZpZyB7XG4gICAgcmVhZG9ubHkgaW5jbHVkZT86IHN0cmluZztcblxuICAgIHJlYWRvbmx5IGV4Y2x1ZGU/OiBzdHJpbmc7XG5cbiAgICByZWFkb25seSBvcHRpb25zPzogT3B0aW1pemVPcHRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcm9sbHVwU3Znbyh7XG4gICAgaW5jbHVkZSA9ICcqKi8qLnN2ZycsXG4gICAgZXhjbHVkZSxcbiAgICBvcHRpb25zLFxufTogUm9sbHVwU3Znb0NvbmZpZyA9IHt9KTogUGx1Z2luIHtcbiAgICBjb25zdCBmaWx0ZXIgPSBjcmVhdGVGaWx0ZXIoaW5jbHVkZSwgZXhjbHVkZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiAncm9sbHVwU3ZnbycsXG4gICAgICAgIGFzeW5jIHRyYW5zZm9ybShzdmdTdHJpbmc6IHN0cmluZywgcGF0aDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2Zvcm1SZXN1bHQ+IHtcbiAgICAgICAgICAgIGNvbnN0IHNraXAgPSAhZmlsdGVyKHBhdGgpO1xuXG4gICAgICAgICAgICBpZiAoc2tpcCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnXFx4MWJbMzNtJXNcXHgxYlswbScsICdbc2tpcF0nLCBwYXRoKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGRhdGE6IHVua25vd247XG4gICAgICAgICAgICBsZXQgZXJyb3I6IHVua25vd247XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTdmdvUmVzdWx0ID0gYXdhaXQgb3B0aW1pemUoc3ZnU3RyaW5nLCB7cGF0aCwgLi4ub3B0aW9uc30pO1xuXG4gICAgICAgICAgICAgICAgZGF0YSA9IChyZXN1bHQgYXMgT3B0aW1pemVkU3ZnKT8uZGF0YSB8fCB7fTtcbiAgICAgICAgICAgICAgICBlcnJvciA9IHJlc3VsdC5lcnJvcjtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGVycm9yID0gZXJyLm1lc3NhZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICdcXHgxYlszMW0lc1xceDFiWzBtJyxcbiAgICAgICAgICAgICAgICAgICAgJ1tlcnJvcl0nLFxuICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICBgXFxuJHtzdmdTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICAgICAgYFxcbiR7ZXJyb3J9YCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdcXHgxYlszMm0lc1xceDFiWzBtJywgJ1tzdWNjZXNzXScsIHBhdGgpO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGNvZGU6IGBleHBvcnQgZGVmYXVsdCAke0pTT04uc3RyaW5naWZ5KGRhdGEpfWAsXG4gICAgICAgICAgICAgICAgbWFwOiB7bWFwcGluZ3M6ICcnfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ==
|
package/esm5/scripts/index.js
CHANGED
|
@@ -2,5 +2,6 @@ export * from './convert-all-compile-file-to-all-file';
|
|
|
2
2
|
export * from './delete-all-to-compile-file';
|
|
3
3
|
export * from './post-prettier-format';
|
|
4
4
|
export * from './prepare-all-to-compile-file';
|
|
5
|
+
export * from './process-icons';
|
|
5
6
|
export * from './rollup-svgo';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvaWNvbnMvc2NyaXB0cy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29udmVydC1hbGwtY29tcGlsZS1maWxlLXRvLWFsbC1maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGVsZXRlLWFsbC10by1jb21waWxlLWZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wb3N0LXByZXR0aWVyLWZvcm1hdCc7XG5leHBvcnQgKiBmcm9tICcuL3ByZXBhcmUtYWxsLXRvLWNvbXBpbGUtZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2Nlc3MtaWNvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9yb2xsdXAtc3Znbyc7XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __values } from "tslib";
|
|
2
2
|
import { readdirSync, writeFileSync } from 'fs';
|
|
3
|
-
export function prepareAllToCompileFile(iconsSrc,
|
|
3
|
+
export function prepareAllToCompileFile(iconsSrc, entryPointTs) {
|
|
4
4
|
var e_1, _a;
|
|
5
5
|
var icons = readdirSync(iconsSrc).filter(function (file) { return file.split('.').pop() === 'svg'; });
|
|
6
6
|
var importDeclarations = '';
|
|
@@ -20,6 +20,6 @@ export function prepareAllToCompileFile(iconsSrc, allToCompilePath) {
|
|
|
20
20
|
}
|
|
21
21
|
finally { if (e_1) throw e_1.error; }
|
|
22
22
|
}
|
|
23
|
-
writeFileSync(
|
|
23
|
+
writeFileSync(entryPointTs, importDeclarations + " \n export { " + exportDeclarations + " }");
|
|
24
24
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS1hbGwtdG8tY29tcGlsZS1maWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2ljb25zL3NjcmlwdHMvIiwic291cmNlcyI6WyJwcmVwYXJlLWFsbC10by1jb21waWxlLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQUUsYUFBYSxFQUFDLE1BQU0sSUFBSSxDQUFDO0FBRTlDLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxRQUFnQixFQUFFLFlBQW9COztJQUMxRSxJQUFNLEtBQUssR0FBYSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUNoRCxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssS0FBSyxFQUEvQixDQUErQixDQUMxQyxDQUFDO0lBRUYsSUFBSSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7SUFDNUIsSUFBSSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7O1FBRTVCLEtBQXVCLElBQUEsVUFBQSxTQUFBLEtBQUssQ0FBQSw0QkFBQSwrQ0FBRTtZQUF6QixJQUFNLFFBQVEsa0JBQUE7WUFDZixJQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRTdDLGtCQUFrQixJQUFJLFlBQVUsUUFBUSxxQkFBZ0IsUUFBUSxhQUFVLENBQUM7WUFDM0Usa0JBQWtCLElBQU8sUUFBUSxPQUFJLENBQUM7U0FDekM7Ozs7Ozs7OztJQUVELGFBQWEsQ0FDVCxZQUFZLEVBQ1Qsa0JBQWtCLHFCQUFnQixrQkFBa0IsT0FBSSxDQUM5RCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cmVhZGRpclN5bmMsIHdyaXRlRmlsZVN5bmN9IGZyb20gJ2ZzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVBbGxUb0NvbXBpbGVGaWxlKGljb25zU3JjOiBzdHJpbmcsIGVudHJ5UG9pbnRUczogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaWNvbnM6IHN0cmluZ1tdID0gcmVhZGRpclN5bmMoaWNvbnNTcmMpLmZpbHRlcihcbiAgICAgICAgZmlsZSA9PiBmaWxlLnNwbGl0KCcuJykucG9wKCkgPT09ICdzdmcnLFxuICAgICk7XG5cbiAgICBsZXQgaW1wb3J0RGVjbGFyYXRpb25zID0gJyc7XG4gICAgbGV0IGV4cG9ydERlY2xhcmF0aW9ucyA9ICcnO1xuXG4gICAgZm9yIChjb25zdCBpY29uUGF0aCBvZiBpY29ucykge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGljb25QYXRoLnNwbGl0KCcuJykuc2hpZnQoKTtcblxuICAgICAgICBpbXBvcnREZWNsYXJhdGlvbnMgKz0gYGltcG9ydCAke2ZpbGVOYW1lfSBmcm9tICcuL3NyYy8ke2ZpbGVOYW1lfS5zdmcnO1xcbmA7XG4gICAgICAgIGV4cG9ydERlY2xhcmF0aW9ucyArPSBgJHtmaWxlTmFtZX0sIGA7XG4gICAgfVxuXG4gICAgd3JpdGVGaWxlU3luYyhcbiAgICAgICAgZW50cnlQb2ludFRzLFxuICAgICAgICBgJHtpbXBvcnREZWNsYXJhdGlvbnN9IFxcbiBleHBvcnQgeyAke2V4cG9ydERlY2xhcmF0aW9uc30gfWAsXG4gICAgKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { __values } from "tslib";
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import { parse } from 'path';
|
|
4
|
+
var START = '<svg';
|
|
5
|
+
var WIDTH_SEARCH = 'width="';
|
|
6
|
+
var HEIGHT_SEARCH = 'height="';
|
|
7
|
+
export function processIcons(files, interceptor) {
|
|
8
|
+
var e_1, _a;
|
|
9
|
+
try {
|
|
10
|
+
for (var files_1 = __values(files), files_1_1 = files_1.next(); !files_1_1.done; files_1_1 = files_1.next()) {
|
|
11
|
+
var file = files_1_1.value;
|
|
12
|
+
var baseContent = String(fs.readFileSync(file));
|
|
13
|
+
var src = interceptor ? interceptor(baseContent) : baseContent;
|
|
14
|
+
var name_1 = parse(file).base.replace('.svg', '');
|
|
15
|
+
if (src.includes("id=\"" + name_1 + "\"")) {
|
|
16
|
+
console.info('\x1b[33m%s\x1b[0m', "[skip]:", file);
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
var wrapped = wrapIcon(src, name_1);
|
|
20
|
+
var final = typeof wrapped === 'string'
|
|
21
|
+
? wrapped.replace(START, "<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"" + name_1 + "\" xmlns=\"http://www.w3.org/2000/svg\"><svg") + '</g></svg>'
|
|
22
|
+
: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"" + wrapped.width + "\" height=\"" + wrapped.height + "\">" + wrapped.src + "</svg>";
|
|
23
|
+
fs.writeFileSync(file, final);
|
|
24
|
+
console.info('\x1b[32m%s\x1b[0m', "[preprocessed]:", file);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
28
|
+
finally {
|
|
29
|
+
try {
|
|
30
|
+
if (files_1_1 && !files_1_1.done && (_a = files_1.return)) _a.call(files_1);
|
|
31
|
+
}
|
|
32
|
+
finally { if (e_1) throw e_1.error; }
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function wrapIcon(source, name) {
|
|
36
|
+
var src = source.substring(source.indexOf(START));
|
|
37
|
+
var attributes = src.substring(0, src.indexOf('>'));
|
|
38
|
+
if (!attributes ||
|
|
39
|
+
!attributes.includes(WIDTH_SEARCH) ||
|
|
40
|
+
!attributes.includes(HEIGHT_SEARCH)) {
|
|
41
|
+
return src;
|
|
42
|
+
}
|
|
43
|
+
var indexOfWidth = attributes.indexOf(WIDTH_SEARCH);
|
|
44
|
+
var indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);
|
|
45
|
+
var widthOffset = indexOfWidth + WIDTH_SEARCH.length;
|
|
46
|
+
var heightOffset = indexOfHeight + HEIGHT_SEARCH.length;
|
|
47
|
+
var widthString = attributes.substring(widthOffset, attributes.indexOf('"', widthOffset));
|
|
48
|
+
var heightString = attributes.substring(heightOffset, attributes.indexOf('"', heightOffset));
|
|
49
|
+
if (!heightString ||
|
|
50
|
+
!widthString ||
|
|
51
|
+
widthString.includes('%') ||
|
|
52
|
+
heightString.includes('%')) {
|
|
53
|
+
return src.replace(START, "<svg id=\"" + name + "\"");
|
|
54
|
+
}
|
|
55
|
+
var width = parseInt(widthString, 10);
|
|
56
|
+
var height = parseInt(heightString, 10);
|
|
57
|
+
var emWidth = width / 16;
|
|
58
|
+
var emHeight = height / 16;
|
|
59
|
+
return {
|
|
60
|
+
width: emWidth + "em",
|
|
61
|
+
height: emHeight + "em",
|
|
62
|
+
src: ("\n <g id=\"" + name + "\" xmlns=\"http://www.w3.org/2000/svg\">\n <svg x=\"50%\" y=\"50%\" width=\"" + emWidth + "em\" height=\"" + emHeight + "em\" overflow=\"visible\" viewBox=\"0 0 " + width + " " + height + "\">\n <svg x=\"" + -width / 2 + "\" y=\"" + -height / 2 + "\">" + src + "</svg>\n </svg>\n </g>").trim(),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9pY29ucy9zY3JpcHRzLyIsInNvdXJjZXMiOlsicHJvY2Vzcy1pY29ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFM0IsSUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBQ3JCLElBQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztBQUMvQixJQUFNLGFBQWEsR0FBRyxVQUFVLENBQUM7QUFVakMsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFlLEVBQUUsV0FBZ0M7OztRQUMxRSxLQUFtQixJQUFBLFVBQUEsU0FBQSxLQUFLLENBQUEsNEJBQUEsK0NBQUU7WUFBckIsSUFBTSxJQUFJLGtCQUFBO1lBQ1gsSUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsRCxJQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBRWpFLElBQU0sTUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUVsRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBTyxNQUFJLE9BQUcsQ0FBQyxFQUFFO2dCQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbkQsU0FBUzthQUNaO1lBRUQsSUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxNQUFJLENBQUMsQ0FBQztZQUVwQyxJQUFNLEtBQUssR0FDUCxPQUFPLE9BQU8sS0FBSyxRQUFRO2dCQUN2QixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDWCxLQUFLLEVBQ0wsdURBQWtELE1BQUksaURBQTJDLENBQ3BHLEdBQUcsWUFBWTtnQkFDbEIsQ0FBQyxDQUFDLHVEQUFrRCxPQUFPLENBQUMsS0FBSyxvQkFBYSxPQUFPLENBQUMsTUFBTSxXQUFLLE9BQU8sQ0FBQyxHQUFHLFdBQVEsQ0FBQztZQUU3SCxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUU5QixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzlEOzs7Ozs7Ozs7QUFDTCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsTUFBYyxFQUFFLElBQVk7SUFDMUMsSUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsSUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXRELElBQ0ksQ0FBQyxVQUFVO1FBQ1gsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNsQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQ3JDO1FBQ0UsT0FBTyxHQUFHLENBQUM7S0FDZDtJQUVELElBQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEQsSUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RCxJQUFNLFdBQVcsR0FBRyxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUN2RCxJQUFNLFlBQVksR0FBRyxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUMxRCxJQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUNwQyxXQUFXLEVBQ1gsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQ3ZDLENBQUM7SUFDRixJQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsU0FBUyxDQUNyQyxZQUFZLEVBQ1osVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQ3hDLENBQUM7SUFFRixJQUNJLENBQUMsWUFBWTtRQUNiLENBQUMsV0FBVztRQUNaLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3pCLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQzVCO1FBQ0UsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxlQUFZLElBQUksT0FBRyxDQUFDLENBQUM7S0FDbEQ7SUFFRCxJQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLElBQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUMsSUFBTSxPQUFPLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMzQixJQUFNLFFBQVEsR0FBRyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBRTdCLE9BQU87UUFDSCxLQUFLLEVBQUssT0FBTyxPQUFJO1FBQ3JCLE1BQU0sRUFBSyxRQUFRLE9BQUk7UUFDdkIsR0FBRyxFQUFFLENBQUEsdUJBQ0ksSUFBSSwrRkFDcUIsT0FBTyxzQkFBZSxRQUFRLGdEQUF1QyxLQUFLLFNBQUksTUFBTSxzQ0FDcEcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxlQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsV0FBSyxHQUFHLDZDQUVsRCxDQUFBLENBQUMsSUFBSSxFQUFFO0tBQ2YsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHtwYXJzZX0gZnJvbSAncGF0aCc7XG5cbmNvbnN0IFNUQVJUID0gJzxzdmcnO1xuY29uc3QgV0lEVEhfU0VBUkNIID0gJ3dpZHRoPVwiJztcbmNvbnN0IEhFSUdIVF9TRUFSQ0ggPSAnaGVpZ2h0PVwiJztcblxuaW50ZXJmYWNlIFdyYXBwZWRDb250ZW50IHtcbiAgICBoZWlnaHQ6IHN0cmluZztcbiAgICB3aWR0aDogc3RyaW5nO1xuICAgIHNyYzogc3RyaW5nO1xufVxuXG50eXBlIENvbnRlbnRJbnRlcmNlcHRvciA9IChzcmM6IHN0cmluZykgPT4gc3RyaW5nO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0ljb25zKGZpbGVzOiBzdHJpbmdbXSwgaW50ZXJjZXB0b3I/OiBDb250ZW50SW50ZXJjZXB0b3IpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgY29uc3QgYmFzZUNvbnRlbnQgPSBTdHJpbmcoZnMucmVhZEZpbGVTeW5jKGZpbGUpKTtcbiAgICAgICAgY29uc3Qgc3JjID0gaW50ZXJjZXB0b3IgPyBpbnRlcmNlcHRvcihiYXNlQ29udGVudCkgOiBiYXNlQ29udGVudDtcblxuICAgICAgICBjb25zdCBuYW1lID0gcGFyc2UoZmlsZSkuYmFzZS5yZXBsYWNlKCcuc3ZnJywgJycpO1xuXG4gICAgICAgIGlmIChzcmMuaW5jbHVkZXMoYGlkPVwiJHtuYW1lfVwiYCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnXFx4MWJbMzNtJXNcXHgxYlswbScsIGBbc2tpcF06YCwgZmlsZSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdyYXBwZWQgPSB3cmFwSWNvbihzcmMsIG5hbWUpO1xuXG4gICAgICAgIGNvbnN0IGZpbmFsID1cbiAgICAgICAgICAgIHR5cGVvZiB3cmFwcGVkID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgID8gd3JhcHBlZC5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgICAgIFNUQVJULFxuICAgICAgICAgICAgICAgICAgICAgIGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyBpZD1cIiR7bmFtZX1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHN2Z2AsXG4gICAgICAgICAgICAgICAgICApICsgJzwvZz48L3N2Zz4nXG4gICAgICAgICAgICAgICAgOiBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIke3dyYXBwZWQud2lkdGh9XCIgaGVpZ2h0PVwiJHt3cmFwcGVkLmhlaWdodH1cIj4ke3dyYXBwZWQuc3JjfTwvc3ZnPmA7XG5cbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlLCBmaW5hbCk7XG5cbiAgICAgICAgY29uc29sZS5pbmZvKCdcXHgxYlszMm0lc1xceDFiWzBtJywgYFtwcmVwcm9jZXNzZWRdOmAsIGZpbGUpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gd3JhcEljb24oc291cmNlOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IFdyYXBwZWRDb250ZW50IHtcbiAgICBjb25zdCBzcmMgPSBzb3VyY2Uuc3Vic3RyaW5nKHNvdXJjZS5pbmRleE9mKFNUQVJUKSk7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHNyYy5zdWJzdHJpbmcoMCwgc3JjLmluZGV4T2YoJz4nKSk7XG5cbiAgICBpZiAoXG4gICAgICAgICFhdHRyaWJ1dGVzIHx8XG4gICAgICAgICFhdHRyaWJ1dGVzLmluY2x1ZGVzKFdJRFRIX1NFQVJDSCkgfHxcbiAgICAgICAgIWF0dHJpYnV0ZXMuaW5jbHVkZXMoSEVJR0hUX1NFQVJDSClcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIHNyYztcbiAgICB9XG5cbiAgICBjb25zdCBpbmRleE9mV2lkdGggPSBhdHRyaWJ1dGVzLmluZGV4T2YoV0lEVEhfU0VBUkNIKTtcbiAgICBjb25zdCBpbmRleE9mSGVpZ2h0ID0gYXR0cmlidXRlcy5pbmRleE9mKEhFSUdIVF9TRUFSQ0gpO1xuICAgIGNvbnN0IHdpZHRoT2Zmc2V0ID0gaW5kZXhPZldpZHRoICsgV0lEVEhfU0VBUkNILmxlbmd0aDtcbiAgICBjb25zdCBoZWlnaHRPZmZzZXQgPSBpbmRleE9mSGVpZ2h0ICsgSEVJR0hUX1NFQVJDSC5sZW5ndGg7XG4gICAgY29uc3Qgd2lkdGhTdHJpbmcgPSBhdHRyaWJ1dGVzLnN1YnN0cmluZyhcbiAgICAgICAgd2lkdGhPZmZzZXQsXG4gICAgICAgIGF0dHJpYnV0ZXMuaW5kZXhPZignXCInLCB3aWR0aE9mZnNldCksXG4gICAgKTtcbiAgICBjb25zdCBoZWlnaHRTdHJpbmcgPSBhdHRyaWJ1dGVzLnN1YnN0cmluZyhcbiAgICAgICAgaGVpZ2h0T2Zmc2V0LFxuICAgICAgICBhdHRyaWJ1dGVzLmluZGV4T2YoJ1wiJywgaGVpZ2h0T2Zmc2V0KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgICAhaGVpZ2h0U3RyaW5nIHx8XG4gICAgICAgICF3aWR0aFN0cmluZyB8fFxuICAgICAgICB3aWR0aFN0cmluZy5pbmNsdWRlcygnJScpIHx8XG4gICAgICAgIGhlaWdodFN0cmluZy5pbmNsdWRlcygnJScpXG4gICAgKSB7XG4gICAgICAgIHJldHVybiBzcmMucmVwbGFjZShTVEFSVCwgYDxzdmcgaWQ9XCIke25hbWV9XCJgKTtcbiAgICB9XG5cbiAgICBjb25zdCB3aWR0aCA9IHBhcnNlSW50KHdpZHRoU3RyaW5nLCAxMCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gcGFyc2VJbnQoaGVpZ2h0U3RyaW5nLCAxMCk7XG4gICAgY29uc3QgZW1XaWR0aCA9IHdpZHRoIC8gMTY7XG4gICAgY29uc3QgZW1IZWlnaHQgPSBoZWlnaHQgLyAxNjtcblxuICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRoOiBgJHtlbVdpZHRofWVtYCxcbiAgICAgICAgaGVpZ2h0OiBgJHtlbUhlaWdodH1lbWAsXG4gICAgICAgIHNyYzogYFxuICAgICAgICA8ZyBpZD1cIiR7bmFtZX1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8c3ZnIHg9XCI1MCVcIiB5PVwiNTAlXCIgd2lkdGg9XCIke2VtV2lkdGh9ZW1cIiBoZWlnaHQ9XCIke2VtSGVpZ2h0fWVtXCIgb3ZlcmZsb3c9XCJ2aXNpYmxlXCIgdmlld0JveD1cIjAgMCAke3dpZHRofSAke2hlaWdodH1cIj5cbiAgICAgICAgICAgICAgICA8c3ZnIHg9XCIkey13aWR0aCAvIDJ9XCIgeT1cIiR7LWhlaWdodCAvIDJ9XCI+JHtzcmN9PC9zdmc+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9nPmAudHJpbSgpLFxuICAgIH07XG59XG4iXX0=
|
|
@@ -6,39 +6,45 @@ export function rollupSvgo(_a) {
|
|
|
6
6
|
var filter = createFilter(include, exclude);
|
|
7
7
|
return {
|
|
8
8
|
name: 'rollupSvgo',
|
|
9
|
-
transform: function (svgString,
|
|
9
|
+
transform: function (svgString, path) {
|
|
10
|
+
var _a;
|
|
10
11
|
return __awaiter(this, void 0, void 0, function () {
|
|
11
|
-
var skip,
|
|
12
|
-
return __generator(this, function (
|
|
13
|
-
switch (
|
|
12
|
+
var skip, data, error, result, err_1;
|
|
13
|
+
return __generator(this, function (_b) {
|
|
14
|
+
switch (_b.label) {
|
|
14
15
|
case 0:
|
|
15
|
-
skip = !filter(
|
|
16
|
+
skip = !filter(path);
|
|
16
17
|
if (skip) {
|
|
17
|
-
console.info('\x1b[33m%s\x1b[0m', '[skip]',
|
|
18
|
+
console.info('\x1b[33m%s\x1b[0m', '[skip]', path);
|
|
18
19
|
return [2 /*return*/];
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
_a.label = 1;
|
|
21
|
+
_b.label = 1;
|
|
22
22
|
case 1:
|
|
23
|
-
|
|
24
|
-
return [4 /*yield*/, optimize(svgString, __assign({ path:
|
|
23
|
+
_b.trys.push([1, 3, , 4]);
|
|
24
|
+
return [4 /*yield*/, optimize(svgString, __assign({ path: path }, options))];
|
|
25
25
|
case 2:
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
result = _b.sent();
|
|
27
|
+
data = ((_a = result) === null || _a === void 0 ? void 0 : _a.data) || {};
|
|
28
|
+
error = result.error;
|
|
28
29
|
return [3 /*break*/, 4];
|
|
29
30
|
case 3:
|
|
30
|
-
err_1 =
|
|
31
|
-
|
|
32
|
-
process.exit(1);
|
|
31
|
+
err_1 = _b.sent();
|
|
32
|
+
error = err_1.message;
|
|
33
33
|
return [3 /*break*/, 4];
|
|
34
|
-
case 4:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
case 4:
|
|
35
|
+
if (error) {
|
|
36
|
+
console.error('\x1b[31m%s\x1b[0m', '[error]', path, "\n" + svgString, "\n" + error);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
console.info('\x1b[32m%s\x1b[0m', '[success]', path);
|
|
40
|
+
return [2 /*return*/, {
|
|
41
|
+
code: "export default " + JSON.stringify(data),
|
|
42
|
+
map: { mappings: '' },
|
|
43
|
+
}];
|
|
38
44
|
}
|
|
39
45
|
});
|
|
40
46
|
});
|
|
41
47
|
},
|
|
42
48
|
};
|
|
43
49
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLXN2Z28uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvaWNvbnMvc2NyaXB0cy8iLCJzb3VyY2VzIjpbInJvbGx1cC1zdmdvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFDLFFBQVEsRUFBZ0QsTUFBTSxNQUFNLENBQUM7QUFZN0UsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUlIO1FBSkcsNEJBSUgsRUFIcEIsZUFBb0IsRUFBcEIseUNBQW9CLEVBQ3BCLG9CQUFPLEVBQ1Asb0JBQU87SUFFUCxJQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTlDLE9BQU87UUFDSCxJQUFJLEVBQUUsWUFBWTtRQUNaLFNBQVMsRUFBZixVQUFnQixTQUFpQixFQUFFLElBQVk7Ozs7Ozs7NEJBQ3JDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFFM0IsSUFBSSxJQUFJLEVBQUU7Z0NBQ04sT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0NBRWxELHNCQUFPOzZCQUNWOzs7OzRCQU04QixxQkFBTSxRQUFRLENBQUMsU0FBUyxhQUFHLElBQUksTUFBQSxJQUFLLE9BQU8sRUFBRSxFQUFBOzs0QkFBbEUsTUFBTSxHQUFlLFNBQTZDOzRCQUV4RSxJQUFJLEdBQUcsT0FBQyxNQUF1QiwwQ0FBRSxJQUFJLEtBQUksRUFBRSxDQUFDOzRCQUM1QyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQzs7Ozs0QkFFckIsS0FBSyxHQUFHLEtBQUcsQ0FBQyxPQUFPLENBQUM7Ozs0QkFHeEIsSUFBSSxLQUFLLEVBQUU7Z0NBQ1AsT0FBTyxDQUFDLEtBQUssQ0FDVCxtQkFBbUIsRUFDbkIsU0FBUyxFQUNULElBQUksRUFDSixPQUFLLFNBQVcsRUFDaEIsT0FBSyxLQUFPLENBQ2YsQ0FBQztnQ0FDRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDOzZCQUNuQjs0QkFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQzs0QkFFckQsc0JBQU87b0NBQ0gsSUFBSSxFQUFFLG9CQUFrQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBRztvQ0FDOUMsR0FBRyxFQUFFLEVBQUMsUUFBUSxFQUFFLEVBQUUsRUFBQztpQ0FDdEIsRUFBQzs7OztTQUNMO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUZpbHRlcn0gZnJvbSAnQHJvbGx1cC9wbHVnaW51dGlscyc7XG5pbXBvcnQge1BsdWdpbiwgVHJhbnNmb3JtUmVzdWx0fSBmcm9tICdyb2xsdXAnO1xuaW1wb3J0IHtvcHRpbWl6ZSwgT3B0aW1pemVkRXJyb3IsIE9wdGltaXplZFN2ZywgT3B0aW1pemVPcHRpb25zfSBmcm9tICdzdmdvJztcblxudHlwZSBTdmdvUmVzdWx0ID0gT3B0aW1pemVkU3ZnIHwgT3B0aW1pemVkRXJyb3I7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sbHVwU3Znb0NvbmZpZyB7XG4gICAgcmVhZG9ubHkgaW5jbHVkZT86IHN0cmluZztcblxuICAgIHJlYWRvbmx5IGV4Y2x1ZGU/OiBzdHJpbmc7XG5cbiAgICByZWFkb25seSBvcHRpb25zPzogT3B0aW1pemVPcHRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcm9sbHVwU3Znbyh7XG4gICAgaW5jbHVkZSA9ICcqKi8qLnN2ZycsXG4gICAgZXhjbHVkZSxcbiAgICBvcHRpb25zLFxufTogUm9sbHVwU3Znb0NvbmZpZyA9IHt9KTogUGx1Z2luIHtcbiAgICBjb25zdCBmaWx0ZXIgPSBjcmVhdGVGaWx0ZXIoaW5jbHVkZSwgZXhjbHVkZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiAncm9sbHVwU3ZnbycsXG4gICAgICAgIGFzeW5jIHRyYW5zZm9ybShzdmdTdHJpbmc6IHN0cmluZywgcGF0aDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2Zvcm1SZXN1bHQ+IHtcbiAgICAgICAgICAgIGNvbnN0IHNraXAgPSAhZmlsdGVyKHBhdGgpO1xuXG4gICAgICAgICAgICBpZiAoc2tpcCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnXFx4MWJbMzNtJXNcXHgxYlswbScsICdbc2tpcF0nLCBwYXRoKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGRhdGE6IHVua25vd247XG4gICAgICAgICAgICBsZXQgZXJyb3I6IHVua25vd247XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTdmdvUmVzdWx0ID0gYXdhaXQgb3B0aW1pemUoc3ZnU3RyaW5nLCB7cGF0aCwgLi4ub3B0aW9uc30pO1xuXG4gICAgICAgICAgICAgICAgZGF0YSA9IChyZXN1bHQgYXMgT3B0aW1pemVkU3ZnKT8uZGF0YSB8fCB7fTtcbiAgICAgICAgICAgICAgICBlcnJvciA9IHJlc3VsdC5lcnJvcjtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGVycm9yID0gZXJyLm1lc3NhZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICdcXHgxYlszMW0lc1xceDFiWzBtJyxcbiAgICAgICAgICAgICAgICAgICAgJ1tlcnJvcl0nLFxuICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICBgXFxuJHtzdmdTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICAgICAgYFxcbiR7ZXJyb3J9YCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdcXHgxYlszMm0lc1xceDFiWzBtJywgJ1tzdWNjZXNzXScsIHBhdGgpO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGNvZGU6IGBleHBvcnQgZGVmYXVsdCAke0pTT04uc3RyaW5naWZ5KGRhdGEpfWAsXG4gICAgICAgICAgICAgICAgbWFwOiB7bWFwcGluZ3M6ICcnfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -3,31 +3,39 @@ import { rollup } from 'rollup';
|
|
|
3
3
|
import typescript from 'rollup-plugin-typescript2';
|
|
4
4
|
import { createFilter } from '@rollup/pluginutils';
|
|
5
5
|
import { optimize } from 'svgo';
|
|
6
|
-
import { unlinkSync, readFileSync, writeFileSync, readdirSync } from 'fs';
|
|
6
|
+
import fs, { unlinkSync, readFileSync, writeFileSync, readdirSync } from 'fs';
|
|
7
7
|
import prettier from 'prettier';
|
|
8
|
+
import { parse } from 'path';
|
|
8
9
|
|
|
9
10
|
function rollupSvgo({ include = '**/*.svg', exclude, options, } = {}) {
|
|
10
11
|
const filter = createFilter(include, exclude);
|
|
11
12
|
return {
|
|
12
13
|
name: 'rollupSvgo',
|
|
13
|
-
transform(svgString,
|
|
14
|
+
transform(svgString, path) {
|
|
15
|
+
var _a;
|
|
14
16
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
const skip = !filter(
|
|
17
|
+
const skip = !filter(path);
|
|
16
18
|
if (skip) {
|
|
17
|
-
console.info('\x1b[33m%s\x1b[0m', '[skip]',
|
|
19
|
+
console.info('\x1b[33m%s\x1b[0m', '[skip]', path);
|
|
18
20
|
return;
|
|
19
21
|
}
|
|
20
|
-
let
|
|
22
|
+
let data;
|
|
23
|
+
let error;
|
|
21
24
|
try {
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
const result = yield optimize(svgString, Object.assign({ path }, options));
|
|
26
|
+
data = ((_a = result) === null || _a === void 0 ? void 0 : _a.data) || {};
|
|
27
|
+
error = result.error;
|
|
24
28
|
}
|
|
25
29
|
catch (err) {
|
|
26
|
-
|
|
30
|
+
error = err.message;
|
|
31
|
+
}
|
|
32
|
+
if (error) {
|
|
33
|
+
console.error('\x1b[31m%s\x1b[0m', '[error]', path, `\n${svgString}`, `\n${error}`);
|
|
27
34
|
process.exit(1);
|
|
28
35
|
}
|
|
36
|
+
console.info('\x1b[32m%s\x1b[0m', '[success]', path);
|
|
29
37
|
return {
|
|
30
|
-
code: `export default ${JSON.stringify(
|
|
38
|
+
code: `export default ${JSON.stringify(data)}`,
|
|
31
39
|
map: { mappings: '' },
|
|
32
40
|
};
|
|
33
41
|
});
|
|
@@ -101,7 +109,7 @@ function postPrettierFormat(filePath, prettierConfig) {
|
|
|
101
109
|
writeFileSync(filePath, formatted);
|
|
102
110
|
}
|
|
103
111
|
|
|
104
|
-
function prepareAllToCompileFile(iconsSrc,
|
|
112
|
+
function prepareAllToCompileFile(iconsSrc, entryPointTs) {
|
|
105
113
|
const icons = readdirSync(iconsSrc).filter(file => file.split('.').pop() === 'svg');
|
|
106
114
|
let importDeclarations = '';
|
|
107
115
|
let exportDeclarations = '';
|
|
@@ -110,12 +118,68 @@ function prepareAllToCompileFile(iconsSrc, allToCompilePath) {
|
|
|
110
118
|
importDeclarations += `import ${fileName} from './src/${fileName}.svg';\n`;
|
|
111
119
|
exportDeclarations += `${fileName}, `;
|
|
112
120
|
}
|
|
113
|
-
writeFileSync(
|
|
121
|
+
writeFileSync(entryPointTs, `${importDeclarations} \n export { ${exportDeclarations} }`);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const START = '<svg';
|
|
125
|
+
const WIDTH_SEARCH = 'width="';
|
|
126
|
+
const HEIGHT_SEARCH = 'height="';
|
|
127
|
+
function processIcons(files, interceptor) {
|
|
128
|
+
for (const file of files) {
|
|
129
|
+
const baseContent = String(fs.readFileSync(file));
|
|
130
|
+
const src = interceptor ? interceptor(baseContent) : baseContent;
|
|
131
|
+
const name = parse(file).base.replace('.svg', '');
|
|
132
|
+
if (src.includes(`id="${name}"`)) {
|
|
133
|
+
console.info('\x1b[33m%s\x1b[0m', `[skip]:`, file);
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
const wrapped = wrapIcon(src, name);
|
|
137
|
+
const final = typeof wrapped === 'string'
|
|
138
|
+
? wrapped.replace(START, `<svg xmlns="http://www.w3.org/2000/svg"><g id="${name}" xmlns="http://www.w3.org/2000/svg"><svg`) + '</g></svg>'
|
|
139
|
+
: `<svg xmlns="http://www.w3.org/2000/svg" width="${wrapped.width}" height="${wrapped.height}">${wrapped.src}</svg>`;
|
|
140
|
+
fs.writeFileSync(file, final);
|
|
141
|
+
console.info('\x1b[32m%s\x1b[0m', `[preprocessed]:`, file);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function wrapIcon(source, name) {
|
|
145
|
+
const src = source.substring(source.indexOf(START));
|
|
146
|
+
const attributes = src.substring(0, src.indexOf('>'));
|
|
147
|
+
if (!attributes ||
|
|
148
|
+
!attributes.includes(WIDTH_SEARCH) ||
|
|
149
|
+
!attributes.includes(HEIGHT_SEARCH)) {
|
|
150
|
+
return src;
|
|
151
|
+
}
|
|
152
|
+
const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);
|
|
153
|
+
const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);
|
|
154
|
+
const widthOffset = indexOfWidth + WIDTH_SEARCH.length;
|
|
155
|
+
const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;
|
|
156
|
+
const widthString = attributes.substring(widthOffset, attributes.indexOf('"', widthOffset));
|
|
157
|
+
const heightString = attributes.substring(heightOffset, attributes.indexOf('"', heightOffset));
|
|
158
|
+
if (!heightString ||
|
|
159
|
+
!widthString ||
|
|
160
|
+
widthString.includes('%') ||
|
|
161
|
+
heightString.includes('%')) {
|
|
162
|
+
return src.replace(START, `<svg id="${name}"`);
|
|
163
|
+
}
|
|
164
|
+
const width = parseInt(widthString, 10);
|
|
165
|
+
const height = parseInt(heightString, 10);
|
|
166
|
+
const emWidth = width / 16;
|
|
167
|
+
const emHeight = height / 16;
|
|
168
|
+
return {
|
|
169
|
+
width: `${emWidth}em`,
|
|
170
|
+
height: `${emHeight}em`,
|
|
171
|
+
src: `
|
|
172
|
+
<g id="${name}" xmlns="http://www.w3.org/2000/svg">
|
|
173
|
+
<svg x="50%" y="50%" width="${emWidth}em" height="${emHeight}em" overflow="visible" viewBox="0 0 ${width} ${height}">
|
|
174
|
+
<svg x="${-width / 2}" y="${-height / 2}">${src}</svg>
|
|
175
|
+
</svg>
|
|
176
|
+
</g>`.trim(),
|
|
177
|
+
};
|
|
114
178
|
}
|
|
115
179
|
|
|
116
180
|
/**
|
|
117
181
|
* Generated bundle index. Do not edit.
|
|
118
182
|
*/
|
|
119
183
|
|
|
120
|
-
export { convertAllCompileFileToAllFile, deleteAllToCompileFile, postPrettierFormat, prepareAllToCompileFile, rollupSvgo };
|
|
184
|
+
export { convertAllCompileFileToAllFile, deleteAllToCompileFile, postPrettierFormat, prepareAllToCompileFile, processIcons, rollupSvgo };
|
|
121
185
|
//# sourceMappingURL=taiga-ui-icons-scripts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-icons-scripts.js","sources":["ng://@taiga-ui/icons/scripts/rollup-svgo.ts","ng://@taiga-ui/icons/scripts/convert-all-compile-file-to-all-file.ts","ng://@taiga-ui/icons/scripts/delete-all-to-compile-file.ts","ng://@taiga-ui/icons/scripts/post-prettier-format.ts","ng://@taiga-ui/icons/scripts/prepare-all-to-compile-file.ts","ng://@taiga-ui/icons/scripts/taiga-ui-icons-scripts.ts"],"sourcesContent":["import {createFilter} from '@rollup/pluginutils';\nimport {Plugin, TransformResult} from 'rollup';\nimport {optimize, OptimizedSvg, OptimizeOptions} from 'svgo';\n\nexport interface RollupSvgoConfig {\n readonly include?: string;\n\n readonly exclude?: string;\n\n readonly options?: OptimizeOptions;\n}\n\nexport function rollupSvgo({\n include = '**/*.svg',\n exclude,\n options,\n}: RollupSvgoConfig = {}): Plugin {\n const filter = createFilter(include, exclude);\n\n return {\n name: 'rollupSvgo',\n async transform(svgString: string, id: string): Promise<TransformResult> {\n const skip: boolean = !filter(id);\n\n if (skip) {\n console.info('\\x1b[33m%s\\x1b[0m', '[skip]', id);\n\n return;\n }\n\n let optimizedSvg: OptimizedSvg | null = null;\n\n try {\n optimizedSvg = await optimize(svgString, {path: id, ...options});\n\n console.info('\\x1b[32m%s\\x1b[0m', '[success]', id);\n } catch (err) {\n console.error(\n '\\x1b[31m%s\\x1b[0m',\n '[error]',\n id,\n `\\n${svgString}`,\n `\\n${err}`,\n );\n\n process.exit(1);\n }\n\n return {\n code: `export default ${JSON.stringify(optimizedSvg?.data)}`,\n map: {mappings: ''},\n };\n },\n };\n}\n","import {rollup, RollupOptions} from 'rollup';\nimport typescript, {RPT2Options} from 'rollup-plugin-typescript2';\n\nimport {rollupSvgo} from './rollup-svgo';\n\nconst banner = `\n/**\n * @description:\n * DO NOT CHANGE THIS FILE. AUTOGENERATED\n */\n`;\n\ninterface Options {\n prt2Options?: RPT2Options;\n from: string;\n to: string;\n}\n\nexport async function convertAllCompileFileToAllFile(config: Options): Promise<void> {\n const {from, to, prt2Options} = config;\n\n const inputOptions: RollupOptions = {\n input: from,\n output: {preferConst: true},\n plugins: [\n typescript(prt2Options ?? {cacheRoot: 'node_modules/.cache/.rpt2_cache'}),\n rollupSvgo({\n include: '**/*.svg',\n options: {\n plugins: [\n {\n name: 'preset-default',\n params: {\n overrides: {\n removeViewBox: false,\n collapseGroups: false,\n cleanupIDs: false,\n removeUnknownsAndDefaults: false,\n },\n },\n },\n ],\n },\n }),\n ],\n };\n\n const bundle = await rollup(inputOptions);\n\n await bundle.write({\n banner,\n file: to,\n format: 'es',\n preferConst: true,\n });\n\n /**\n * @note:\n * The rollup bundle must be closed once `write` is finished to let plugins clean up their external\n * processes or services via the `closeBundle` hook, otherwise it can lead to memory leaks.\n */\n await bundle.close();\n}\n","import {unlinkSync} from 'fs';\n\nexport function deleteAllToCompileFile(allToCompilePath: string | string[]): void {\n if (Array.isArray(allToCompilePath)) {\n allToCompilePath.forEach(file => unlinkSync(file));\n } else {\n unlinkSync(allToCompilePath);\n }\n}\n","import {readFileSync, writeFileSync} from 'fs';\nimport prettier from 'prettier';\n\nexport function postPrettierFormat(filePath: string, prettierConfig?: string): void {\n const bundledBody = readFileSync(filePath, 'utf8');\n const options = prettier.resolveConfig.sync(prettierConfig ?? 'prettier.config.js');\n const formatted = prettier.format(bundledBody, {...options, parser: 'typescript'});\n\n writeFileSync(filePath, formatted);\n}\n","import {readdirSync, writeFileSync} from 'fs';\n\nexport function prepareAllToCompileFile(\n iconsSrc: string,\n allToCompilePath: string,\n): void {\n const icons: string[] = readdirSync(iconsSrc).filter(\n file => file.split('.').pop() === 'svg',\n );\n\n let importDeclarations = '';\n let exportDeclarations = '';\n\n for (const iconPath of icons) {\n const fileName = iconPath.split('.').shift();\n\n importDeclarations += `import ${fileName} from './src/${fileName}.svg';\\n`;\n exportDeclarations += `${fileName}, `;\n }\n\n writeFileSync(\n allToCompilePath,\n `${importDeclarations} \\n export { ${exportDeclarations} }`,\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-icons-scripts.js","sources":["ng://@taiga-ui/icons/scripts/rollup-svgo.ts","ng://@taiga-ui/icons/scripts/convert-all-compile-file-to-all-file.ts","ng://@taiga-ui/icons/scripts/delete-all-to-compile-file.ts","ng://@taiga-ui/icons/scripts/post-prettier-format.ts","ng://@taiga-ui/icons/scripts/prepare-all-to-compile-file.ts","ng://@taiga-ui/icons/scripts/process-icons.ts","ng://@taiga-ui/icons/scripts/taiga-ui-icons-scripts.ts"],"sourcesContent":["import {createFilter} from '@rollup/pluginutils';\nimport {Plugin, TransformResult} from 'rollup';\nimport {optimize, OptimizedError, OptimizedSvg, OptimizeOptions} from 'svgo';\n\ntype SvgoResult = OptimizedSvg | OptimizedError;\n\nexport interface RollupSvgoConfig {\n readonly include?: string;\n\n readonly exclude?: string;\n\n readonly options?: OptimizeOptions;\n}\n\nexport function rollupSvgo({\n include = '**/*.svg',\n exclude,\n options,\n}: RollupSvgoConfig = {}): Plugin {\n const filter = createFilter(include, exclude);\n\n return {\n name: 'rollupSvgo',\n async transform(svgString: string, path: string): Promise<TransformResult> {\n const skip = !filter(path);\n\n if (skip) {\n console.info('\\x1b[33m%s\\x1b[0m', '[skip]', path);\n\n return;\n }\n\n let data: unknown;\n let error: unknown;\n\n try {\n const result: SvgoResult = await optimize(svgString, {path, ...options});\n\n data = (result as OptimizedSvg)?.data || {};\n error = result.error;\n } catch (err) {\n error = err.message;\n }\n\n if (error) {\n console.error(\n '\\x1b[31m%s\\x1b[0m',\n '[error]',\n path,\n `\\n${svgString}`,\n `\\n${error}`,\n );\n process.exit(1);\n }\n\n console.info('\\x1b[32m%s\\x1b[0m', '[success]', path);\n\n return {\n code: `export default ${JSON.stringify(data)}`,\n map: {mappings: ''},\n };\n },\n };\n}\n","import {rollup, RollupOptions} from 'rollup';\nimport typescript, {RPT2Options} from 'rollup-plugin-typescript2';\n\nimport {rollupSvgo} from './rollup-svgo';\n\nconst banner = `\n/**\n * @description:\n * DO NOT CHANGE THIS FILE. AUTOGENERATED\n */\n`;\n\ninterface Options {\n prt2Options?: RPT2Options;\n from: string;\n to: string;\n}\n\nexport async function convertAllCompileFileToAllFile(config: Options): Promise<void> {\n const {from, to, prt2Options} = config;\n\n const inputOptions: RollupOptions = {\n input: from,\n output: {preferConst: true},\n plugins: [\n typescript(prt2Options ?? {cacheRoot: 'node_modules/.cache/.rpt2_cache'}),\n rollupSvgo({\n include: '**/*.svg',\n options: {\n plugins: [\n {\n name: 'preset-default',\n params: {\n overrides: {\n removeViewBox: false,\n collapseGroups: false,\n cleanupIDs: false,\n removeUnknownsAndDefaults: false,\n },\n },\n },\n ],\n },\n }),\n ],\n };\n\n const bundle = await rollup(inputOptions);\n\n await bundle.write({\n banner,\n file: to,\n format: 'es',\n preferConst: true,\n });\n\n /**\n * @note:\n * The rollup bundle must be closed once `write` is finished to let plugins clean up their external\n * processes or services via the `closeBundle` hook, otherwise it can lead to memory leaks.\n */\n await bundle.close();\n}\n","import {unlinkSync} from 'fs';\n\nexport function deleteAllToCompileFile(allToCompilePath: string | string[]): void {\n if (Array.isArray(allToCompilePath)) {\n allToCompilePath.forEach(file => unlinkSync(file));\n } else {\n unlinkSync(allToCompilePath);\n }\n}\n","import {readFileSync, writeFileSync} from 'fs';\nimport prettier from 'prettier';\n\nexport function postPrettierFormat(filePath: string, prettierConfig?: string): void {\n const bundledBody = readFileSync(filePath, 'utf8');\n const options = prettier.resolveConfig.sync(prettierConfig ?? 'prettier.config.js');\n const formatted = prettier.format(bundledBody, {...options, parser: 'typescript'});\n\n writeFileSync(filePath, formatted);\n}\n","import {readdirSync, writeFileSync} from 'fs';\n\nexport function prepareAllToCompileFile(iconsSrc: string, entryPointTs: string): void {\n const icons: string[] = readdirSync(iconsSrc).filter(\n file => file.split('.').pop() === 'svg',\n );\n\n let importDeclarations = '';\n let exportDeclarations = '';\n\n for (const iconPath of icons) {\n const fileName = iconPath.split('.').shift();\n\n importDeclarations += `import ${fileName} from './src/${fileName}.svg';\\n`;\n exportDeclarations += `${fileName}, `;\n }\n\n writeFileSync(\n entryPointTs,\n `${importDeclarations} \\n export { ${exportDeclarations} }`,\n );\n}\n","import fs from 'fs';\nimport {parse} from 'path';\n\nconst START = '<svg';\nconst WIDTH_SEARCH = 'width=\"';\nconst HEIGHT_SEARCH = 'height=\"';\n\ninterface WrappedContent {\n height: string;\n width: string;\n src: string;\n}\n\ntype ContentInterceptor = (src: string) => string;\n\nexport function processIcons(files: string[], interceptor?: ContentInterceptor): void {\n for (const file of files) {\n const baseContent = String(fs.readFileSync(file));\n const src = interceptor ? interceptor(baseContent) : baseContent;\n\n const name = parse(file).base.replace('.svg', '');\n\n if (src.includes(`id=\"${name}\"`)) {\n console.info('\\x1b[33m%s\\x1b[0m', `[skip]:`, file);\n continue;\n }\n\n const wrapped = wrapIcon(src, name);\n\n const final =\n typeof wrapped === 'string'\n ? wrapped.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n ) + '</g></svg>'\n : `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${wrapped.width}\" height=\"${wrapped.height}\">${wrapped.src}</svg>`;\n\n fs.writeFileSync(file, final);\n\n console.info('\\x1b[32m%s\\x1b[0m', `[preprocessed]:`, file);\n }\n}\n\nfunction wrapIcon(source: string, name: string): string | WrappedContent {\n const src = source.substring(source.indexOf(START));\n const attributes = src.substring(0, src.indexOf('>'));\n\n if (\n !attributes ||\n !attributes.includes(WIDTH_SEARCH) ||\n !attributes.includes(HEIGHT_SEARCH)\n ) {\n return src;\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.substring(\n widthOffset,\n attributes.indexOf('\"', widthOffset),\n );\n const heightString = attributes.substring(\n heightOffset,\n attributes.indexOf('\"', heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes('%') ||\n heightString.includes('%')\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n const emWidth = width / 16;\n const emHeight = height / 16;\n\n return {\n width: `${emWidth}em`,\n height: `${emHeight}em`,\n src: `\n <g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\">\n <svg x=\"50%\" y=\"50%\" width=\"${emWidth}em\" height=\"${emHeight}em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\">\n <svg x=\"${-width / 2}\" y=\"${-height / 2}\">${src}</svg>\n </svg>\n </g>`.trim(),\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|