@taiga-ui/icons 2.25.0 → 2.28.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.
Files changed (32) hide show
  1. package/all.d.ts +181 -179
  2. package/bundles/taiga-ui-icons-scripts.umd.js +58 -22
  3. package/bundles/taiga-ui-icons-scripts.umd.js.map +1 -1
  4. package/bundles/taiga-ui-icons-scripts.umd.min.js +1 -1
  5. package/bundles/taiga-ui-icons-scripts.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-icons.umd.js +182 -178
  7. package/bundles/taiga-ui-icons.umd.js.map +1 -1
  8. package/bundles/taiga-ui-icons.umd.min.js +1 -1
  9. package/bundles/taiga-ui-icons.umd.min.js.map +1 -1
  10. package/esm2015/all.js +182 -180
  11. package/esm2015/scripts/convert-all-compile-file-to-all-file.js +20 -7
  12. package/esm2015/scripts/delete-all-to-compile-file.js +7 -2
  13. package/esm2015/scripts/rollup-svgo.js +17 -8
  14. package/esm5/all.js +182 -180
  15. package/esm5/scripts/convert-all-compile-file-to-all-file.js +28 -8
  16. package/esm5/scripts/delete-all-to-compile-file.js +7 -2
  17. package/esm5/scripts/rollup-svgo.js +24 -12
  18. package/fesm2015/taiga-ui-icons-scripts.js +41 -14
  19. package/fesm2015/taiga-ui-icons-scripts.js.map +1 -1
  20. package/fesm2015/taiga-ui-icons.js +181 -179
  21. package/fesm2015/taiga-ui-icons.js.map +1 -1
  22. package/fesm5/taiga-ui-icons-scripts.js +55 -18
  23. package/fesm5/taiga-ui-icons-scripts.js.map +1 -1
  24. package/fesm5/taiga-ui-icons.js +181 -179
  25. package/fesm5/taiga-ui-icons.js.map +1 -1
  26. package/package.json +1 -1
  27. package/scripts/convert-all-compile-file-to-all-file.d.ts +2 -1
  28. package/scripts/delete-all-to-compile-file.d.ts +1 -1
  29. package/scripts/rollup-svgo.d.ts +2 -1
  30. package/src/tuiIconClose.svg +14 -0
  31. package/src/tuiIconSortOff.svg +24 -0
  32. package/taiga-ui-icons.metadata.json +1 -1
@@ -1,33 +1,45 @@
1
1
  import { __awaiter, __generator, __assign, __values } from 'tslib';
2
2
  import { rollup } from 'rollup';
3
3
  import typescript from 'rollup-plugin-typescript2';
4
- import svgo from 'svgo';
5
- import { createFilter } from 'rollup-pluginutils';
4
+ import { createFilter } from '@rollup/pluginutils';
5
+ import { optimize } from 'svgo';
6
6
  import { unlinkSync, readFileSync, writeFileSync, readdirSync } from 'fs';
7
7
  import prettier from 'prettier';
8
8
 
9
9
  function rollupSvgo(_a) {
10
10
  var _b = _a === void 0 ? {} : _a, _c = _b.include, include = _c === void 0 ? '**/*.svg' : _c, exclude = _b.exclude, options = _b.options;
11
11
  var filter = createFilter(include, exclude);
12
- var svgo$1 = new svgo(options);
13
12
  return {
14
13
  name: 'rollupSvgo',
15
14
  transform: function (svgString, id) {
16
15
  return __awaiter(this, void 0, void 0, function () {
17
- var optimizedSvg;
16
+ var skip, optimizedSvg, err_1;
18
17
  return __generator(this, function (_a) {
19
18
  switch (_a.label) {
20
19
  case 0:
21
- if (!filter(id)) {
20
+ skip = !filter(id);
21
+ if (skip) {
22
+ console.info('\x1b[33m%s\x1b[0m', '[skip]', id);
22
23
  return [2 /*return*/];
23
24
  }
24
- return [4 /*yield*/, svgo$1.optimize(svgString)];
25
+ optimizedSvg = null;
26
+ _a.label = 1;
25
27
  case 1:
28
+ _a.trys.push([1, 3, , 4]);
29
+ return [4 /*yield*/, optimize(svgString, __assign({ path: id }, options))];
30
+ case 2:
26
31
  optimizedSvg = _a.sent();
27
- return [2 /*return*/, {
28
- code: "export default " + JSON.stringify(optimizedSvg.data),
29
- map: null,
30
- }];
32
+ console.info('\x1b[32m%s\x1b[0m', '[success]', id);
33
+ return [3 /*break*/, 4];
34
+ case 3:
35
+ err_1 = _a.sent();
36
+ console.error('\x1b[31m%s\x1b[0m', '[error]', id, "\n" + svgString, "\n" + err_1);
37
+ process.exit(1);
38
+ return [3 /*break*/, 4];
39
+ case 4: return [2 /*return*/, {
40
+ code: "export default " + JSON.stringify(optimizedSvg === null || optimizedSvg === void 0 ? void 0 : optimizedSvg.data),
41
+ map: { mappings: '' },
42
+ }];
31
43
  }
32
44
  });
33
45
  });
@@ -38,24 +50,31 @@ function rollupSvgo(_a) {
38
50
  var banner = "\n/**\n * @description:\n * DO NOT CHANGE THIS FILE. AUTOGENERATED\n */\n";
39
51
  function convertAllCompileFileToAllFile(config) {
40
52
  return __awaiter(this, void 0, void 0, function () {
41
- var from, to, cacheRoot, inputOptions, bundle;
53
+ var from, to, prt2Options, inputOptions, bundle;
42
54
  return __generator(this, function (_a) {
43
55
  switch (_a.label) {
44
56
  case 0:
45
- from = config.from, to = config.to, cacheRoot = config.cacheRoot;
57
+ from = config.from, to = config.to, prt2Options = config.prt2Options;
46
58
  inputOptions = {
47
59
  input: from,
48
60
  output: { preferConst: true },
49
61
  plugins: [
50
- typescript({ cacheRoot: cacheRoot !== null && cacheRoot !== void 0 ? cacheRoot : 'node_modules/.cache/.rpt2_cache' }),
62
+ typescript(prt2Options !== null && prt2Options !== void 0 ? prt2Options : { cacheRoot: 'node_modules/.cache/.rpt2_cache' }),
51
63
  rollupSvgo({
52
64
  include: '**/*.svg',
53
65
  options: {
54
66
  plugins: [
55
- { removeViewBox: false },
56
- { collapseGroups: false },
57
- { cleanupIDs: false },
58
- { removeUnknownsAndDefaults: false },
67
+ {
68
+ name: 'preset-default',
69
+ params: {
70
+ overrides: {
71
+ removeViewBox: false,
72
+ collapseGroups: false,
73
+ cleanupIDs: false,
74
+ removeUnknownsAndDefaults: false,
75
+ },
76
+ },
77
+ },
59
78
  ],
60
79
  },
61
80
  }),
@@ -72,6 +91,19 @@ function convertAllCompileFileToAllFile(config) {
72
91
  })];
73
92
  case 2:
74
93
  _a.sent();
94
+ /**
95
+ * @note:
96
+ * The rollup bundle must be closed once `write` is finished to let plugins clean up their external
97
+ * processes or services via the `closeBundle` hook, otherwise it can lead to memory leaks.
98
+ */
99
+ return [4 /*yield*/, bundle.close()];
100
+ case 3:
101
+ /**
102
+ * @note:
103
+ * The rollup bundle must be closed once `write` is finished to let plugins clean up their external
104
+ * processes or services via the `closeBundle` hook, otherwise it can lead to memory leaks.
105
+ */
106
+ _a.sent();
75
107
  return [2 /*return*/];
76
108
  }
77
109
  });
@@ -79,7 +111,12 @@ function convertAllCompileFileToAllFile(config) {
79
111
  }
80
112
 
81
113
  function deleteAllToCompileFile(allToCompilePath) {
82
- unlinkSync(allToCompilePath);
114
+ if (Array.isArray(allToCompilePath)) {
115
+ allToCompilePath.forEach(function (file) { return unlinkSync(file); });
116
+ }
117
+ else {
118
+ unlinkSync(allToCompilePath);
119
+ }
83
120
  }
84
121
 
85
122
  function postPrettierFormat(filePath, prettierConfig) {
@@ -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 {Plugin, TransformSourceDescription} from 'rollup';\nimport {createFilter} from 'rollup-pluginutils';\n\nconst SVGO = require('svgo');\n\nexport interface RollupSvgoConfig {\n readonly include?: string;\n\n readonly exclude?: string;\n\n readonly options?: any;\n}\n\nexport function rollupSvgo({\n include = '**/*.svg',\n exclude,\n options,\n}: RollupSvgoConfig = {}): Plugin {\n const filter = createFilter(include, exclude);\n const svgo = new SVGO(options);\n\n return {\n name: 'rollupSvgo',\n async transform(\n svgString: string,\n id: string,\n ): Promise<TransformSourceDescription | any> {\n if (!filter(id)) {\n return;\n }\n\n const optimizedSvg = await svgo.optimize(svgString); // TODO add path\n\n return {\n code: `export default ${JSON.stringify(optimizedSvg.data)}`,\n map: null as any, // TODO https://github.com/rollup/rollup/wiki/Plugins#conventions\n };\n },\n };\n}\n","import {rollup, RollupOptions} from 'rollup';\nimport typescript 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 cacheRoot?: string;\n from: string;\n to: string;\n}\n\nexport async function convertAllCompileFileToAllFile(config: Options): Promise<void> {\n const {from, to, cacheRoot} = config;\n\n const inputOptions: RollupOptions = {\n input: from,\n output: {preferConst: true},\n plugins: [\n typescript({cacheRoot: cacheRoot ?? 'node_modules/.cache/.rpt2_cache'}),\n rollupSvgo({\n include: '**/*.svg',\n options: {\n plugins: [\n {removeViewBox: false},\n {collapseGroups: false},\n {cleanupIDs: false},\n {removeUnknownsAndDefaults: false},\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","import {unlinkSync} from 'fs';\n\nexport function deleteAllToCompileFile(allToCompilePath: string): void {\n unlinkSync(allToCompilePath);\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":["svgo","SVGO"],"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/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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"}