@iconify/tools 2.1.0-beta.3 → 2.1.0-beta.6

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.
@@ -13,14 +13,13 @@ require('path');
13
13
  require('child_process');
14
14
  require('cheerio');
15
15
  require('@iconify/utils');
16
- require('@iconify/utils/lib/icon/defaults');
17
16
  require('../../svg/data/attributes.cjs');
18
17
  require('../../svg/data/tags.cjs');
19
18
  require('../../svg/cleanup/bad-tags.cjs');
20
19
  require('../../svg/parse.cjs');
21
20
  require('svgo');
21
+ require('@iconify/utils/lib/icon/defaults');
22
22
  require('@iconify/utils/lib/svg/build');
23
- require('@iconify/utils/lib/customisations/defaults');
24
23
  require('@iconify/utils/lib/icon-set/minify');
25
24
  require('@iconify/utils/lib/icon-set/convert-info');
26
25
  require('../../icon-set/props.cjs');
@@ -9,14 +9,13 @@ import 'path';
9
9
  import 'child_process';
10
10
  import 'cheerio';
11
11
  import '@iconify/utils';
12
- import '@iconify/utils/lib/icon/defaults';
13
12
  import '../../svg/data/attributes.mjs';
14
13
  import '../../svg/data/tags.mjs';
15
14
  import '../../svg/cleanup/bad-tags.mjs';
16
15
  import '../../svg/parse.mjs';
17
16
  import 'svgo';
17
+ import '@iconify/utils/lib/icon/defaults';
18
18
  import '@iconify/utils/lib/svg/build';
19
- import '@iconify/utils/lib/customisations/defaults';
20
19
  import '@iconify/utils/lib/icon-set/minify';
21
20
  import '@iconify/utils/lib/icon-set/convert-info';
22
21
  import '../../icon-set/props.mjs';
@@ -4,13 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('cheerio');
6
6
  require('@iconify/utils');
7
- require('@iconify/utils/lib/icon/defaults');
8
7
  require('../../svg/data/attributes.cjs');
9
8
  require('../../svg/data/tags.cjs');
10
9
  require('../../svg/cleanup/bad-tags.cjs');
11
10
  require('svgo');
11
+ require('@iconify/utils/lib/icon/defaults');
12
12
  require('@iconify/utils/lib/svg/build');
13
- require('@iconify/utils/lib/customisations/defaults');
14
13
  require('@iconify/utils/lib/icon-set/minify');
15
14
  require('@iconify/utils/lib/icon-set/convert-info');
16
15
  require('../../icon-set/props.cjs');
@@ -1,12 +1,11 @@
1
1
  import 'cheerio';
2
2
  import '@iconify/utils';
3
- import '@iconify/utils/lib/icon/defaults';
4
3
  import '../../svg/data/attributes.mjs';
5
4
  import '../../svg/data/tags.mjs';
6
5
  import '../../svg/cleanup/bad-tags.mjs';
7
6
  import 'svgo';
7
+ import '@iconify/utils/lib/icon/defaults';
8
8
  import '@iconify/utils/lib/svg/build';
9
- import '@iconify/utils/lib/customisations/defaults';
10
9
  import '@iconify/utils/lib/icon-set/minify';
11
10
  import '@iconify/utils/lib/icon-set/convert-info';
12
11
  import '../../icon-set/props.mjs';
@@ -28,14 +28,13 @@ require('./git/hash.cjs');
28
28
  require('./git/reset.cjs');
29
29
  require('cheerio');
30
30
  require('@iconify/utils');
31
- require('@iconify/utils/lib/icon/defaults');
32
31
  require('../svg/data/attributes.cjs');
33
32
  require('../svg/data/tags.cjs');
34
33
  require('../svg/cleanup/bad-tags.cjs');
35
34
  require('../svg/parse.cjs');
36
35
  require('svgo');
36
+ require('@iconify/utils/lib/icon/defaults');
37
37
  require('@iconify/utils/lib/svg/build');
38
- require('@iconify/utils/lib/customisations/defaults');
39
38
  require('@iconify/utils/lib/icon-set/minify');
40
39
  require('@iconify/utils/lib/icon-set/convert-info');
41
40
  require('../icon-set/props.cjs');
@@ -24,14 +24,13 @@ import './git/hash.mjs';
24
24
  import './git/reset.mjs';
25
25
  import 'cheerio';
26
26
  import '@iconify/utils';
27
- import '@iconify/utils/lib/icon/defaults';
28
27
  import '../svg/data/attributes.mjs';
29
28
  import '../svg/data/tags.mjs';
30
29
  import '../svg/cleanup/bad-tags.mjs';
31
30
  import '../svg/parse.mjs';
32
31
  import 'svgo';
32
+ import '@iconify/utils/lib/icon/defaults';
33
33
  import '@iconify/utils/lib/svg/build';
34
- import '@iconify/utils/lib/customisations/defaults';
35
34
  import '@iconify/utils/lib/icon-set/minify';
36
35
  import '@iconify/utils/lib/icon-set/convert-info';
37
36
  import '../icon-set/props.mjs';
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const defaults = require('@iconify/utils/lib/icon/defaults');
6
6
  const build = require('@iconify/utils/lib/svg/build');
7
- const defaults$1 = require('@iconify/utils/lib/customisations/defaults');
8
7
  const minify = require('@iconify/utils/lib/icon-set/minify');
9
8
  const convertInfo = require('@iconify/utils/lib/icon-set/convert-info');
10
9
  const iconSet_props = require('./props.cjs');
@@ -201,14 +200,11 @@ class IconSet {
201
200
  width: "auto",
202
201
  height: "auto"
203
202
  }) {
204
- const item = this.resolve(name, true);
203
+ const item = this.resolve(name);
205
204
  if (!item) {
206
205
  return null;
207
206
  }
208
- const result = build.iconToSVG(item, {
209
- ...defaults$1.defaultIconCustomisations,
210
- ...customisations
211
- });
207
+ const result = build.iconToSVG(item, customisations);
212
208
  const attributes = Object.keys(result.attributes).map((key) => ` ${key}="${result.attributes[key]}"`).join("");
213
209
  return `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"${attributes}>${result.body}</svg>`;
214
210
  }
@@ -1,6 +1,5 @@
1
1
  import { defaultIconDimensions, defaultIconProps } from '@iconify/utils/lib/icon/defaults';
2
2
  import { iconToSVG } from '@iconify/utils/lib/svg/build';
3
- import { defaultIconCustomisations } from '@iconify/utils/lib/customisations/defaults';
4
3
  import { minifyIconSet } from '@iconify/utils/lib/icon-set/minify';
5
4
  import { convertIconSetInfo } from '@iconify/utils/lib/icon-set/convert-info';
6
5
  import { filterProps, defaultCommonProps } from './props.mjs';
@@ -197,14 +196,11 @@ class IconSet {
197
196
  width: "auto",
198
197
  height: "auto"
199
198
  }) {
200
- const item = this.resolve(name, true);
199
+ const item = this.resolve(name);
201
200
  if (!item) {
202
201
  return null;
203
202
  }
204
- const result = iconToSVG(item, {
205
- ...defaultIconCustomisations,
206
- ...customisations
207
- });
203
+ const result = iconToSVG(item, customisations);
208
204
  const attributes = Object.keys(result.attributes).map((key) => ` ${key}="${result.attributes[key]}"`).join("");
209
205
  return `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"${attributes}>${result.body}</svg>`;
210
206
  }
@@ -7,7 +7,6 @@ const iconSet_match = require('./match.cjs');
7
7
  const iconSet_modified = require('./modified.cjs');
8
8
  require('@iconify/utils/lib/icon/defaults');
9
9
  require('@iconify/utils/lib/svg/build');
10
- require('@iconify/utils/lib/customisations/defaults');
11
10
  require('@iconify/utils/lib/icon-set/minify');
12
11
  require('@iconify/utils/lib/icon-set/convert-info');
13
12
  require('./props.cjs');
@@ -79,10 +78,10 @@ function mergeIconSets(oldIcons, newIcons) {
79
78
  for (const name in oldEntries) {
80
79
  add(name);
81
80
  }
82
- const lastModified1 = oldIcons.lastModified;
83
- const lastModified2 = newIcons.lastModified;
84
- if ((lastModified1 || lastModified2) && !iconSet_modified.hasIconDataBeenModified(oldIcons, newIcons)) {
85
- mergedIcons.updateLastModified(lastModified2 ? lastModified1 ? Math.min(lastModified1, lastModified2) : lastModified2 : lastModified1);
81
+ if (oldIcons.lastModified && !iconSet_modified.hasIconDataBeenModified(oldIcons, mergedIcons)) {
82
+ mergedIcons.updateLastModified(oldIcons.lastModified);
83
+ } else if (newIcons.lastModified && !iconSet_modified.hasIconDataBeenModified(newIcons, mergedIcons)) {
84
+ mergedIcons.updateLastModified(newIcons.lastModified);
86
85
  }
87
86
  return mergedIcons;
88
87
  }
@@ -3,7 +3,6 @@ import { findMatchingIcon } from './match.mjs';
3
3
  import { hasIconDataBeenModified } from './modified.mjs';
4
4
  import '@iconify/utils/lib/icon/defaults';
5
5
  import '@iconify/utils/lib/svg/build';
6
- import '@iconify/utils/lib/customisations/defaults';
7
6
  import '@iconify/utils/lib/icon-set/minify';
8
7
  import '@iconify/utils/lib/icon-set/convert-info';
9
8
  import './props.mjs';
@@ -75,10 +74,10 @@ function mergeIconSets(oldIcons, newIcons) {
75
74
  for (const name in oldEntries) {
76
75
  add(name);
77
76
  }
78
- const lastModified1 = oldIcons.lastModified;
79
- const lastModified2 = newIcons.lastModified;
80
- if ((lastModified1 || lastModified2) && !hasIconDataBeenModified(oldIcons, newIcons)) {
81
- mergedIcons.updateLastModified(lastModified2 ? lastModified1 ? Math.min(lastModified1, lastModified2) : lastModified2 : lastModified1);
77
+ if (oldIcons.lastModified && !hasIconDataBeenModified(oldIcons, mergedIcons)) {
78
+ mergedIcons.updateLastModified(oldIcons.lastModified);
79
+ } else if (newIcons.lastModified && !hasIconDataBeenModified(newIcons, mergedIcons)) {
80
+ mergedIcons.updateLastModified(newIcons.lastModified);
82
81
  }
83
82
  return mergedIcons;
84
83
  }
@@ -10,7 +10,6 @@ const svg_index = require('../svg/index.cjs');
10
10
  const svg_cleanup = require('../svg/cleanup.cjs');
11
11
  require('@iconify/utils/lib/icon/defaults');
12
12
  require('@iconify/utils/lib/svg/build');
13
- require('@iconify/utils/lib/customisations/defaults');
14
13
  require('@iconify/utils/lib/icon-set/minify');
15
14
  require('@iconify/utils/lib/icon-set/convert-info');
16
15
  require('../icon-set/props.cjs');
@@ -28,11 +27,12 @@ require('../css/parser/tokens.cjs');
28
27
  require('../css/parser/error.cjs');
29
28
  require('../css/parser/strings.cjs');
30
29
  require('../css/parser/text.cjs');
31
- require('../svg/cleanup/root-svg.cjs');
32
- require('../svg/cleanup/svgo-style.cjs');
30
+ require('../svg/cleanup/root-style.cjs');
33
31
  require('../svg/parse-style.cjs');
34
32
  require('../css/parser/export.cjs');
35
33
  require('../css/parser/tree.cjs');
34
+ require('../svg/cleanup/root-svg.cjs');
35
+ require('../svg/cleanup/svgo-style.cjs');
36
36
  require('../optimise/svgo.cjs');
37
37
  require('svgo');
38
38
 
@@ -6,7 +6,6 @@ import { SVG } from '../svg/index.mjs';
6
6
  import { cleanupSVG } from '../svg/cleanup.mjs';
7
7
  import '@iconify/utils/lib/icon/defaults';
8
8
  import '@iconify/utils/lib/svg/build';
9
- import '@iconify/utils/lib/customisations/defaults';
10
9
  import '@iconify/utils/lib/icon-set/minify';
11
10
  import '@iconify/utils/lib/icon-set/convert-info';
12
11
  import '../icon-set/props.mjs';
@@ -24,11 +23,12 @@ import '../css/parser/tokens.mjs';
24
23
  import '../css/parser/error.mjs';
25
24
  import '../css/parser/strings.mjs';
26
25
  import '../css/parser/text.mjs';
27
- import '../svg/cleanup/root-svg.mjs';
28
- import '../svg/cleanup/svgo-style.mjs';
26
+ import '../svg/cleanup/root-style.mjs';
29
27
  import '../svg/parse-style.mjs';
30
28
  import '../css/parser/export.mjs';
31
29
  import '../css/parser/tree.mjs';
30
+ import '../svg/cleanup/root-svg.mjs';
31
+ import '../svg/cleanup/svgo-style.mjs';
32
32
  import '../optimise/svgo.mjs';
33
33
  import 'svgo';
34
34
 
@@ -9,7 +9,6 @@ const import_figma_nodes = require('./nodes.cjs');
9
9
  const import_figma_query = require('./query.cjs');
10
10
  require('@iconify/utils/lib/icon/defaults');
11
11
  require('@iconify/utils/lib/svg/build');
12
- require('@iconify/utils/lib/customisations/defaults');
13
12
  require('@iconify/utils/lib/icon-set/minify');
14
13
  require('@iconify/utils/lib/icon-set/convert-info');
15
14
  require('../../icon-set/props.cjs');
@@ -27,11 +26,12 @@ require('../../css/parser/tokens.cjs');
27
26
  require('../../css/parser/error.cjs');
28
27
  require('../../css/parser/strings.cjs');
29
28
  require('../../css/parser/text.cjs');
30
- require('../../svg/cleanup/root-svg.cjs');
31
- require('../../svg/cleanup/svgo-style.cjs');
29
+ require('../../svg/cleanup/root-style.cjs');
32
30
  require('../../svg/parse-style.cjs');
33
31
  require('../../css/parser/export.cjs');
34
32
  require('../../css/parser/tree.cjs');
33
+ require('../../svg/cleanup/root-svg.cjs');
34
+ require('../../svg/cleanup/svgo-style.cjs');
35
35
  require('../../optimise/svgo.cjs');
36
36
  require('svgo');
37
37
  require('../../download/api/index.cjs');
@@ -5,7 +5,6 @@ import { getFigmaIconNodes } from './nodes.mjs';
5
5
  import { figmaFilesQuery, figmaImagesQuery, figmaDownloadImages } from './query.mjs';
6
6
  import '@iconify/utils/lib/icon/defaults';
7
7
  import '@iconify/utils/lib/svg/build';
8
- import '@iconify/utils/lib/customisations/defaults';
9
8
  import '@iconify/utils/lib/icon-set/minify';
10
9
  import '@iconify/utils/lib/icon-set/convert-info';
11
10
  import '../../icon-set/props.mjs';
@@ -23,11 +22,12 @@ import '../../css/parser/tokens.mjs';
23
22
  import '../../css/parser/error.mjs';
24
23
  import '../../css/parser/strings.mjs';
25
24
  import '../../css/parser/text.mjs';
26
- import '../../svg/cleanup/root-svg.mjs';
27
- import '../../svg/cleanup/svgo-style.mjs';
25
+ import '../../svg/cleanup/root-style.mjs';
28
26
  import '../../svg/parse-style.mjs';
29
27
  import '../../css/parser/export.mjs';
30
28
  import '../../css/parser/tree.mjs';
29
+ import '../../svg/cleanup/root-svg.mjs';
30
+ import '../../svg/cleanup/svgo-style.mjs';
31
31
  import '../../optimise/svgo.mjs';
32
32
  import 'svgo';
33
33
  import '../../download/api/index.mjs';
package/lib/index.cjs CHANGED
@@ -9,6 +9,7 @@ const svg_analyse = require('./svg/analyse.cjs');
9
9
  const svg_cleanup = require('./svg/cleanup.cjs');
10
10
  const svg_cleanup_attribs = require('./svg/cleanup/attribs.cjs');
11
11
  const svg_cleanup_badTags = require('./svg/cleanup/bad-tags.cjs');
12
+ const svg_cleanup_rootStyle = require('./svg/cleanup/root-style.cjs');
12
13
  const svg_cleanup_inlineStyle = require('./svg/cleanup/inline-style.cjs');
13
14
  const svg_cleanup_rootSvg = require('./svg/cleanup/root-svg.cjs');
14
15
  const svg_cleanup_svgoStyle = require('./svg/cleanup/svgo-style.cjs');
@@ -49,7 +50,6 @@ const misc_bumpVersion = require('./misc/bump-version.cjs');
49
50
  const download_api_index = require('./download/api/index.cjs');
50
51
  require('cheerio');
51
52
  require('@iconify/utils');
52
- require('@iconify/utils/lib/icon/defaults');
53
53
  require('./css/parse.cjs');
54
54
  require('./css/parser/tokens.cjs');
55
55
  require('./css/parser/error.cjs');
@@ -61,8 +61,8 @@ require('./svg/data/attributes.cjs');
61
61
  require('./svg/data/tags.cjs');
62
62
  require('./svg/analyse/error.cjs');
63
63
  require('svgo');
64
+ require('@iconify/utils/lib/icon/defaults');
64
65
  require('@iconify/utils/lib/svg/build');
65
- require('@iconify/utils/lib/customisations/defaults');
66
66
  require('@iconify/utils/lib/icon-set/minify');
67
67
  require('@iconify/utils/lib/icon-set/convert-info');
68
68
  require('./icon-set/props.cjs');
@@ -96,6 +96,7 @@ exports.analyseSVGStructure = svg_analyse.analyseSVGStructure;
96
96
  exports.cleanupSVG = svg_cleanup.cleanupSVG;
97
97
  exports.removeBadAttributes = svg_cleanup_attribs.removeBadAttributes;
98
98
  exports.checkBadTags = svg_cleanup_badTags.checkBadTags;
99
+ exports.cleanupRootStyle = svg_cleanup_rootStyle.cleanupRootStyle;
99
100
  exports.cleanupInlineStyle = svg_cleanup_inlineStyle.cleanupInlineStyle;
100
101
  exports.cleanupSVGRoot = svg_cleanup_rootSvg.cleanupSVGRoot;
101
102
  exports.convertStyleToAttrs = svg_cleanup_svgoStyle.convertStyleToAttrs;
package/lib/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export { analyseSVGStructure } from './svg/analyse.js';
5
5
  export { cleanupSVG } from './svg/cleanup.js';
6
6
  export { removeBadAttributes } from './svg/cleanup/attribs.js';
7
7
  export { checkBadTags } from './svg/cleanup/bad-tags.js';
8
+ export { cleanupRootStyle } from './svg/cleanup/root-style.js';
8
9
  export { cleanupInlineStyle } from './svg/cleanup/inline-style.js';
9
10
  export { cleanupSVGRoot } from './svg/cleanup/root-svg.js';
10
11
  export { convertStyleToAttrs } from './svg/cleanup/svgo-style.js';
package/lib/index.mjs CHANGED
@@ -5,6 +5,7 @@ export { analyseSVGStructure } from './svg/analyse.mjs';
5
5
  export { cleanupSVG } from './svg/cleanup.mjs';
6
6
  export { removeBadAttributes } from './svg/cleanup/attribs.mjs';
7
7
  export { checkBadTags } from './svg/cleanup/bad-tags.mjs';
8
+ export { cleanupRootStyle } from './svg/cleanup/root-style.mjs';
8
9
  export { cleanupInlineStyle } from './svg/cleanup/inline-style.mjs';
9
10
  export { cleanupSVGRoot } from './svg/cleanup/root-svg.mjs';
10
11
  export { convertStyleToAttrs } from './svg/cleanup/svgo-style.mjs';
@@ -45,7 +46,6 @@ export { bumpVersion } from './misc/bump-version.mjs';
45
46
  export { sendAPIQuery } from './download/api/index.mjs';
46
47
  import 'cheerio';
47
48
  import '@iconify/utils';
48
- import '@iconify/utils/lib/icon/defaults';
49
49
  import './css/parse.mjs';
50
50
  import './css/parser/tokens.mjs';
51
51
  import './css/parser/error.mjs';
@@ -57,8 +57,8 @@ import './svg/data/attributes.mjs';
57
57
  import './svg/data/tags.mjs';
58
58
  import './svg/analyse/error.mjs';
59
59
  import 'svgo';
60
+ import '@iconify/utils/lib/icon/defaults';
60
61
  import '@iconify/utils/lib/svg/build';
61
- import '@iconify/utils/lib/customisations/defaults';
62
62
  import '@iconify/utils/lib/icon-set/minify';
63
63
  import '@iconify/utils/lib/icon-set/convert-info';
64
64
  import './icon-set/props.mjs';
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const svg_parseStyle = require('../parse-style.cjs');
6
+ require('../../css/parse.cjs');
7
+ require('../../css/parser/tokens.cjs');
8
+ require('../../css/parser/error.cjs');
9
+ require('../../css/parser/strings.cjs');
10
+ require('../../css/parser/text.cjs');
11
+ require('../../css/parser/export.cjs');
12
+ require('../../css/parser/tree.cjs');
13
+ require('../parse.cjs');
14
+
15
+ function cleanupRootStyle(svg) {
16
+ return svg_parseStyle.parseSVGStyle(svg, (item) => {
17
+ if (item.type === "global" && item.selectorTokens.find((token) => token.type === "at-rule")) {
18
+ return;
19
+ }
20
+ return item.value;
21
+ });
22
+ }
23
+
24
+ exports.cleanupRootStyle = cleanupRootStyle;
@@ -0,0 +1,16 @@
1
+ import { SVG } from '../index.js';
2
+ import { parseSVGStyle } from '../parse-style.js';
3
+ import '../../types-f0980297.js';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+ import '../../css/parser/types.js';
6
+ import '../parse.js';
7
+ import '../../misc/cheerio.js';
8
+
9
+ /**
10
+ * Clean up root style
11
+ *
12
+ * This function removes all at-rule tokens, such as `@font-face`, `@media`
13
+ */
14
+ declare function cleanupRootStyle(svg: SVG): ReturnType<typeof parseSVGStyle>;
15
+
16
+ export { cleanupRootStyle };
@@ -0,0 +1,20 @@
1
+ import { parseSVGStyle } from '../parse-style.mjs';
2
+ import '../../css/parse.mjs';
3
+ import '../../css/parser/tokens.mjs';
4
+ import '../../css/parser/error.mjs';
5
+ import '../../css/parser/strings.mjs';
6
+ import '../../css/parser/text.mjs';
7
+ import '../../css/parser/export.mjs';
8
+ import '../../css/parser/tree.mjs';
9
+ import '../parse.mjs';
10
+
11
+ function cleanupRootStyle(svg) {
12
+ return parseSVGStyle(svg, (item) => {
13
+ if (item.type === "global" && item.selectorTokens.find((token) => token.type === "at-rule")) {
14
+ return;
15
+ }
16
+ return item.value;
17
+ });
18
+ }
19
+
20
+ export { cleanupRootStyle };
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const svg_data_attributes = require('../data/attributes.cjs');
6
6
  const svg_data_tags = require('../data/tags.cjs');
7
7
 
8
- async function cleanupSVGRoot(svg) {
8
+ function cleanupSVGRoot(svg) {
9
9
  const cheerio = svg.$svg;
10
10
  const $root = svg.$svg(":root");
11
11
  const root = $root.get(0);
@@ -26,7 +26,7 @@ async function cleanupSVGRoot(svg) {
26
26
  case "height":
27
27
  if (value.slice(-2) === "px") {
28
28
  const num = value.replace("px", "");
29
- if (parseFloat(num) + "" === num) {
29
+ if (parseFloat(num).toString() === num) {
30
30
  $root.attr(attr, num);
31
31
  }
32
32
  }
@@ -5,6 +5,6 @@ import '@iconify/utils/lib/customisations/defaults';
5
5
  /**
6
6
  * Clean up SVG
7
7
  */
8
- declare function cleanupSVGRoot(svg: SVG): Promise<void>;
8
+ declare function cleanupSVGRoot(svg: SVG): void;
9
9
 
10
10
  export { cleanupSVGRoot };
@@ -1,7 +1,7 @@
1
1
  import { commonAttributes, badAttributes, junkSVGAttributes, badSoftwareAttributes, badAttributePrefixes, tagSpecificNonPresentationalAttributes, tagSpecificPresentationalAttributes, stylingAttributes } from '../data/attributes.mjs';
2
2
  import { reusableElementsWithPalette, maskTags } from '../data/tags.mjs';
3
3
 
4
- async function cleanupSVGRoot(svg) {
4
+ function cleanupSVGRoot(svg) {
5
5
  const cheerio = svg.$svg;
6
6
  const $root = svg.$svg(":root");
7
7
  const root = $root.get(0);
@@ -22,7 +22,7 @@ async function cleanupSVGRoot(svg) {
22
22
  case "height":
23
23
  if (value.slice(-2) === "px") {
24
24
  const num = value.replace("px", "");
25
- if (parseFloat(num) + "" === num) {
25
+ if (parseFloat(num).toString() === num) {
26
26
  $root.attr(attr, num);
27
27
  }
28
28
  }
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const svg_cleanup_attribs = require('./cleanup/attribs.cjs');
6
6
  const svg_cleanup_badTags = require('./cleanup/bad-tags.cjs');
7
7
  const svg_cleanup_inlineStyle = require('./cleanup/inline-style.cjs');
8
+ const svg_cleanup_rootStyle = require('./cleanup/root-style.cjs');
8
9
  const svg_cleanup_rootSvg = require('./cleanup/root-svg.cjs');
9
10
  const svg_cleanup_svgoStyle = require('./cleanup/svgo-style.cjs');
10
11
  require('./data/attributes.cjs');
@@ -24,9 +25,10 @@ require('svgo');
24
25
  async function cleanupSVG(svg) {
25
26
  await svg_cleanup_inlineStyle.cleanupInlineStyle(svg);
26
27
  await svg_cleanup_svgoStyle.convertStyleToAttrs(svg);
27
- await svg_cleanup_rootSvg.cleanupSVGRoot(svg);
28
+ svg_cleanup_rootSvg.cleanupSVGRoot(svg);
28
29
  await svg_cleanup_badTags.checkBadTags(svg);
29
30
  await svg_cleanup_attribs.removeBadAttributes(svg);
31
+ await svg_cleanup_rootStyle.cleanupRootStyle(svg);
30
32
  }
31
33
 
32
34
  exports.cleanupSVG = cleanupSVG;
@@ -1,6 +1,7 @@
1
1
  import { removeBadAttributes } from './cleanup/attribs.mjs';
2
2
  import { checkBadTags } from './cleanup/bad-tags.mjs';
3
3
  import { cleanupInlineStyle } from './cleanup/inline-style.mjs';
4
+ import { cleanupRootStyle } from './cleanup/root-style.mjs';
4
5
  import { cleanupSVGRoot } from './cleanup/root-svg.mjs';
5
6
  import { convertStyleToAttrs } from './cleanup/svgo-style.mjs';
6
7
  import './data/attributes.mjs';
@@ -20,9 +21,10 @@ import 'svgo';
20
21
  async function cleanupSVG(svg) {
21
22
  await cleanupInlineStyle(svg);
22
23
  await convertStyleToAttrs(svg);
23
- await cleanupSVGRoot(svg);
24
+ cleanupSVGRoot(svg);
24
25
  await checkBadTags(svg);
25
26
  await removeBadAttributes(svg);
27
+ await cleanupRootStyle(svg);
26
28
  }
27
29
 
28
30
  export { cleanupSVG };
package/lib/svg/index.cjs CHANGED
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const cheerio = require('cheerio');
6
6
  const utils = require('@iconify/utils');
7
- const defaults = require('@iconify/utils/lib/icon/defaults');
8
7
 
9
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
10
9
 
@@ -16,13 +15,7 @@ class SVG {
16
15
  }
17
16
  toString(customisations) {
18
17
  if (customisations) {
19
- const data = utils.iconToSVG({
20
- ...defaults.defaultIconProps,
21
- ...this.getIcon()
22
- }, {
23
- ...utils.defaultIconCustomisations,
24
- ...customisations
25
- });
18
+ const data = utils.iconToSVG(this.getIcon(), customisations);
26
19
  let svgAttributes = ' xmlns="http://www.w3.org/2000/svg"';
27
20
  if (data.body.indexOf("xlink:") !== -1) {
28
21
  svgAttributes += ' xmlns:xlink="http://www.w3.org/1999/xlink"';
package/lib/svg/index.mjs CHANGED
@@ -1,6 +1,5 @@
1
1
  import cheerio from 'cheerio';
2
- import { iconToSVG, defaultIconCustomisations, trimSVG } from '@iconify/utils';
3
- import { defaultIconProps } from '@iconify/utils/lib/icon/defaults';
2
+ import { iconToSVG, trimSVG } from '@iconify/utils';
4
3
 
5
4
  class SVG {
6
5
  constructor(content) {
@@ -8,13 +7,7 @@ class SVG {
8
7
  }
9
8
  toString(customisations) {
10
9
  if (customisations) {
11
- const data = iconToSVG({
12
- ...defaultIconProps,
13
- ...this.getIcon()
14
- }, {
15
- ...defaultIconCustomisations,
16
- ...customisations
17
- });
10
+ const data = iconToSVG(this.getIcon(), customisations);
18
11
  let svgAttributes = ' xmlns="http://www.w3.org/2000/svg"';
19
12
  if (data.body.indexOf("xlink:") !== -1) {
20
13
  svgAttributes += ' xmlns:xlink="http://www.w3.org/1999/xlink"';
@@ -16,7 +16,7 @@ async function parseSVGStyle(svg, callback) {
16
16
  const tagName = item.tagName;
17
17
  const $element = item.$element;
18
18
  if (tagName === "style") {
19
- const content = $element.html();
19
+ const content = $element.text();
20
20
  if (typeof content !== "string") {
21
21
  $element.remove();
22
22
  return;
@@ -12,7 +12,7 @@ async function parseSVGStyle(svg, callback) {
12
12
  const tagName = item.tagName;
13
13
  const $element = item.$element;
14
14
  if (tagName === "style") {
15
- const content = $element.html();
15
+ const content = $element.text();
16
16
  if (typeof content !== "string") {
17
17
  $element.remove();
18
18
  return;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "type": "module",
4
4
  "description": "Collection of functions for cleaning up and parsing SVG for Iconify project",
5
5
  "author": "Vjacheslav Trushkin",
6
- "version": "2.1.0-beta.3",
6
+ "version": "2.1.0-beta.6",
7
7
  "license": "MIT",
8
8
  "bugs": "https://github.com/iconify/tools/issues",
9
9
  "homepage": "https://github.com/iconify/tools",
@@ -25,7 +25,7 @@
25
25
  "test": "npm run test:jest-cjs && npm run test:jest-esm && npm run test:jasmine"
26
26
  },
27
27
  "dependencies": {
28
- "@iconify/utils": "^2.0.0-beta.3",
28
+ "@iconify/utils": "^2.0.0-beta.4",
29
29
  "@types/cheerio": "^0.22.30",
30
30
  "@types/node-fetch": "^2.5.12",
31
31
  "@types/svgo": "^2.6.0",
@@ -368,6 +368,10 @@
368
368
  "require": "./lib/svg/cleanup/inline-style.cjs",
369
369
  "import": "./lib/svg/cleanup/inline-style.mjs"
370
370
  },
371
+ "./lib/svg/cleanup/root-style": {
372
+ "require": "./lib/svg/cleanup/root-style.cjs",
373
+ "import": "./lib/svg/cleanup/root-style.mjs"
374
+ },
371
375
  "./lib/svg/cleanup/root-svg": {
372
376
  "require": "./lib/svg/cleanup/root-svg.cjs",
373
377
  "import": "./lib/svg/cleanup/root-svg.mjs"