@iconify/tools 4.0.0-dev.1 → 4.0.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 (295) hide show
  1. package/lib/colors/attribs.d.cts +27 -0
  2. package/lib/colors/attribs.d.mts +27 -0
  3. package/lib/colors/attribs.d.ts +1 -1
  4. package/lib/colors/detect.cjs +2 -2
  5. package/lib/colors/detect.d.cts +16 -0
  6. package/lib/colors/detect.d.mts +16 -0
  7. package/lib/colors/detect.mjs +3 -3
  8. package/lib/colors/parse.cjs +132 -276
  9. package/lib/colors/parse.d.cts +60 -0
  10. package/lib/colors/parse.d.mts +60 -0
  11. package/lib/colors/parse.d.ts +7 -15
  12. package/lib/colors/parse.mjs +136 -279
  13. package/lib/colors/validate.cjs +2 -11
  14. package/lib/colors/validate.d.cts +20 -0
  15. package/lib/colors/validate.d.mts +20 -0
  16. package/lib/colors/validate.d.ts +4 -11
  17. package/lib/colors/validate.mjs +4 -12
  18. package/lib/css/parse.d.cts +6 -0
  19. package/lib/css/parse.d.mts +6 -0
  20. package/lib/css/parser/error.d.cts +13 -0
  21. package/lib/css/parser/error.d.mts +13 -0
  22. package/lib/css/parser/error.d.ts +1 -1
  23. package/lib/css/parser/export.d.cts +8 -0
  24. package/lib/css/parser/export.d.mts +8 -0
  25. package/lib/css/parser/strings.d.cts +16 -0
  26. package/lib/css/parser/strings.d.mts +16 -0
  27. package/lib/css/parser/text.d.cts +20 -0
  28. package/lib/css/parser/text.d.mts +20 -0
  29. package/lib/css/parser/tokens.d.cts +9 -0
  30. package/lib/css/parser/tokens.d.mts +9 -0
  31. package/lib/css/parser/tree.d.cts +8 -0
  32. package/lib/css/parser/tree.d.mts +8 -0
  33. package/lib/css/parser/types.d.cts +52 -0
  34. package/lib/css/parser/types.d.mts +52 -0
  35. package/lib/css/parser/types.d.ts +1 -1
  36. package/lib/download/api/cache.d.cts +20 -0
  37. package/lib/download/api/cache.d.mts +20 -0
  38. package/lib/download/api/config.cjs +11 -0
  39. package/lib/download/api/config.d.cts +18 -0
  40. package/lib/download/api/config.d.mts +18 -0
  41. package/lib/download/api/config.d.ts +18 -0
  42. package/lib/download/api/config.mjs +8 -0
  43. package/lib/download/api/download.cjs +15 -7
  44. package/lib/download/api/download.d.cts +8 -0
  45. package/lib/download/api/download.d.mts +8 -0
  46. package/lib/download/api/download.mjs +11 -7
  47. package/lib/download/api/index.cjs +23 -7
  48. package/lib/download/api/index.d.cts +8 -0
  49. package/lib/download/api/index.d.mts +8 -0
  50. package/lib/download/api/index.mjs +19 -7
  51. package/lib/download/api/queue.cjs +104 -0
  52. package/lib/download/api/queue.d.cts +32 -0
  53. package/lib/download/api/queue.d.mts +32 -0
  54. package/lib/download/api/queue.d.ts +32 -0
  55. package/lib/download/api/queue.mjs +101 -0
  56. package/lib/download/api/types.d.cts +17 -0
  57. package/lib/download/api/types.d.mts +17 -0
  58. package/lib/download/api/types.d.ts +1 -1
  59. package/lib/download/git/branch.d.cts +8 -0
  60. package/lib/download/git/branch.d.mts +8 -0
  61. package/lib/download/git/hash.d.cts +8 -0
  62. package/lib/download/git/hash.d.mts +8 -0
  63. package/lib/download/git/index.cjs +2 -4
  64. package/lib/download/git/index.d.cts +29 -0
  65. package/lib/download/git/index.d.mts +29 -0
  66. package/lib/download/git/index.d.ts +1 -1
  67. package/lib/download/git/index.mjs +2 -4
  68. package/lib/download/git/reset.cjs +2 -4
  69. package/lib/download/git/reset.d.cts +6 -0
  70. package/lib/download/git/reset.d.mts +6 -0
  71. package/lib/download/git/reset.mjs +2 -4
  72. package/lib/download/github/hash.cjs +2 -0
  73. package/lib/download/github/hash.d.cts +8 -0
  74. package/lib/download/github/hash.d.mts +8 -0
  75. package/lib/download/github/hash.mjs +2 -0
  76. package/lib/download/github/index.cjs +2 -2
  77. package/lib/download/github/index.d.cts +31 -0
  78. package/lib/download/github/index.d.mts +31 -0
  79. package/lib/download/github/index.d.ts +1 -1
  80. package/lib/download/github/index.mjs +2 -2
  81. package/lib/download/github/types.d.cts +11 -0
  82. package/lib/download/github/types.d.mts +11 -0
  83. package/lib/download/github/types.d.ts +1 -1
  84. package/lib/download/gitlab/hash.cjs +2 -0
  85. package/lib/download/gitlab/hash.d.cts +8 -0
  86. package/lib/download/gitlab/hash.d.mts +8 -0
  87. package/lib/download/gitlab/hash.mjs +2 -0
  88. package/lib/download/gitlab/index.cjs +2 -2
  89. package/lib/download/gitlab/index.d.cts +31 -0
  90. package/lib/download/gitlab/index.d.mts +31 -0
  91. package/lib/download/gitlab/index.d.ts +1 -1
  92. package/lib/download/gitlab/index.mjs +2 -2
  93. package/lib/download/gitlab/types.d.cts +15 -0
  94. package/lib/download/gitlab/types.d.mts +15 -0
  95. package/lib/download/gitlab/types.d.ts +1 -1
  96. package/lib/download/helpers/untar.d.cts +6 -0
  97. package/lib/download/helpers/untar.d.mts +6 -0
  98. package/lib/download/helpers/unzip.d.cts +6 -0
  99. package/lib/download/helpers/unzip.d.mts +6 -0
  100. package/lib/download/index.cjs +2 -2
  101. package/lib/download/index.d.cts +48 -0
  102. package/lib/download/index.d.mts +48 -0
  103. package/lib/download/index.d.ts +1 -1
  104. package/lib/download/index.mjs +2 -2
  105. package/lib/download/npm/index.cjs +2 -2
  106. package/lib/download/npm/index.d.cts +30 -0
  107. package/lib/download/npm/index.d.mts +30 -0
  108. package/lib/download/npm/index.d.ts +1 -1
  109. package/lib/download/npm/index.mjs +2 -2
  110. package/lib/download/npm/types.d.cts +9 -0
  111. package/lib/download/npm/types.d.mts +9 -0
  112. package/lib/download/npm/types.d.ts +1 -1
  113. package/lib/download/npm/version.d.cts +16 -0
  114. package/lib/download/npm/version.d.mts +16 -0
  115. package/lib/download/npm/version.d.ts +1 -1
  116. package/lib/download/types/modified.d.cts +6 -0
  117. package/lib/download/types/modified.d.mts +6 -0
  118. package/lib/download/types/modified.d.ts +1 -1
  119. package/lib/download/types/sources.d.cts +12 -0
  120. package/lib/download/types/sources.d.mts +12 -0
  121. package/lib/download/types/sources.d.ts +1 -1
  122. package/lib/export/directory.d.cts +26 -0
  123. package/lib/export/directory.d.mts +26 -0
  124. package/lib/export/directory.d.ts +1 -1
  125. package/lib/export/helpers/custom-files.d.cts +12 -0
  126. package/lib/export/helpers/custom-files.d.mts +12 -0
  127. package/lib/export/helpers/custom-files.d.ts +1 -1
  128. package/lib/export/helpers/prepare.d.cts +19 -0
  129. package/lib/export/helpers/prepare.d.mts +19 -0
  130. package/lib/export/helpers/prepare.d.ts +1 -1
  131. package/lib/export/helpers/types-version.d.cts +6 -0
  132. package/lib/export/helpers/types-version.d.mts +6 -0
  133. package/lib/export/icon-package.d.cts +26 -0
  134. package/lib/export/icon-package.d.mts +26 -0
  135. package/lib/export/icon-package.d.ts +2 -2
  136. package/lib/export/json-package.cjs +1 -0
  137. package/lib/export/json-package.d.cts +25 -0
  138. package/lib/export/json-package.d.mts +25 -0
  139. package/lib/export/json-package.d.ts +2 -1
  140. package/lib/export/json-package.mjs +1 -0
  141. package/lib/icon-set/index.cjs +25 -4
  142. package/lib/icon-set/index.d.cts +162 -0
  143. package/lib/icon-set/index.d.mts +162 -0
  144. package/lib/icon-set/index.mjs +25 -4
  145. package/lib/icon-set/match.d.cts +15 -0
  146. package/lib/icon-set/match.d.mts +15 -0
  147. package/lib/icon-set/merge.d.cts +14 -0
  148. package/lib/icon-set/merge.d.mts +14 -0
  149. package/lib/icon-set/modified.d.cts +16 -0
  150. package/lib/icon-set/modified.d.mts +16 -0
  151. package/lib/icon-set/props.d.cts +13 -0
  152. package/lib/icon-set/props.d.mts +13 -0
  153. package/lib/icon-set/tags.d.cts +23 -0
  154. package/lib/icon-set/tags.d.mts +23 -0
  155. package/lib/icon-set/types.d.cts +75 -0
  156. package/lib/icon-set/types.d.mts +75 -0
  157. package/lib/icon-set/types.d.ts +1 -1
  158. package/lib/import/directory.d.cts +52 -0
  159. package/lib/import/directory.d.mts +52 -0
  160. package/lib/import/directory.d.ts +1 -1
  161. package/lib/import/figma/index.cjs +3 -0
  162. package/lib/import/figma/index.d.cts +20 -0
  163. package/lib/import/figma/index.d.mts +20 -0
  164. package/lib/import/figma/index.mjs +3 -0
  165. package/lib/import/figma/nodes.cjs +1 -1
  166. package/lib/import/figma/nodes.d.cts +18 -0
  167. package/lib/import/figma/nodes.d.mts +18 -0
  168. package/lib/import/figma/nodes.mjs +1 -1
  169. package/lib/import/figma/query.cjs +104 -76
  170. package/lib/import/figma/query.d.cts +42 -0
  171. package/lib/import/figma/query.d.mts +42 -0
  172. package/lib/import/figma/query.d.ts +15 -2
  173. package/lib/import/figma/query.mjs +106 -78
  174. package/lib/import/figma/types/api.d.cts +53 -0
  175. package/lib/import/figma/types/api.d.mts +53 -0
  176. package/lib/import/figma/types/api.d.ts +1 -1
  177. package/lib/import/figma/types/nodes.d.cts +44 -0
  178. package/lib/import/figma/types/nodes.d.mts +44 -0
  179. package/lib/import/figma/types/nodes.d.ts +1 -1
  180. package/lib/import/figma/types/options.d.cts +59 -0
  181. package/lib/import/figma/types/options.d.mts +59 -0
  182. package/lib/import/figma/types/options.d.ts +1 -1
  183. package/lib/import/figma/types/result.d.cts +44 -0
  184. package/lib/import/figma/types/result.d.mts +44 -0
  185. package/lib/import/figma/types/result.d.ts +1 -1
  186. package/lib/index.cjs +14 -13
  187. package/lib/index.d.cts +78 -0
  188. package/lib/index.d.mts +78 -0
  189. package/lib/index.d.ts +8 -5
  190. package/lib/index.mjs +13 -12
  191. package/lib/misc/bump-version.d.cts +6 -0
  192. package/lib/misc/bump-version.d.mts +6 -0
  193. package/lib/misc/cheerio.d.cts +9 -0
  194. package/lib/misc/cheerio.d.mts +9 -0
  195. package/lib/misc/cheerio.d.ts +1 -1
  196. package/lib/misc/compare-dirs.cjs +3 -3
  197. package/lib/misc/compare-dirs.d.cts +11 -0
  198. package/lib/misc/compare-dirs.d.mts +11 -0
  199. package/lib/misc/compare-dirs.d.ts +1 -1
  200. package/lib/misc/compare-dirs.mjs +3 -3
  201. package/lib/misc/exec.d.cts +12 -0
  202. package/lib/misc/exec.d.mts +12 -0
  203. package/lib/misc/exec.d.ts +1 -1
  204. package/lib/misc/keyword.d.cts +6 -0
  205. package/lib/misc/keyword.d.mts +6 -0
  206. package/lib/misc/scan.d.cts +33 -0
  207. package/lib/misc/scan.d.mts +33 -0
  208. package/lib/misc/scan.d.ts +1 -1
  209. package/lib/misc/write-json.d.cts +6 -0
  210. package/lib/misc/write-json.d.mts +6 -0
  211. package/lib/optimise/figma.cjs +5 -5
  212. package/lib/optimise/figma.d.cts +11 -0
  213. package/lib/optimise/figma.d.mts +11 -0
  214. package/lib/optimise/figma.mjs +5 -5
  215. package/lib/optimise/flags.cjs +3 -3
  216. package/lib/optimise/flags.d.cts +11 -0
  217. package/lib/optimise/flags.d.mts +11 -0
  218. package/lib/optimise/flags.d.ts +1 -1
  219. package/lib/optimise/flags.mjs +3 -3
  220. package/lib/optimise/global-style.cjs +7 -7
  221. package/lib/optimise/global-style.d.cts +11 -0
  222. package/lib/optimise/global-style.d.mts +11 -0
  223. package/lib/optimise/global-style.d.ts +1 -1
  224. package/lib/optimise/global-style.mjs +7 -7
  225. package/lib/optimise/mask.cjs +1 -1
  226. package/lib/optimise/mask.d.cts +24 -0
  227. package/lib/optimise/mask.d.mts +24 -0
  228. package/lib/optimise/mask.mjs +2 -2
  229. package/lib/optimise/origin.d.cts +11 -0
  230. package/lib/optimise/origin.d.mts +11 -0
  231. package/lib/optimise/scale.d.cts +11 -0
  232. package/lib/optimise/scale.d.mts +11 -0
  233. package/lib/optimise/svgo.cjs +1 -1
  234. package/lib/optimise/svgo.d.cts +37 -0
  235. package/lib/optimise/svgo.d.mts +37 -0
  236. package/lib/optimise/svgo.mjs +1 -1
  237. package/lib/svg/analyse/error.d.cts +10 -0
  238. package/lib/svg/analyse/error.d.mts +10 -0
  239. package/lib/svg/analyse/error.d.ts +1 -0
  240. package/lib/svg/analyse/types.d.cts +92 -0
  241. package/lib/svg/analyse/types.d.mts +92 -0
  242. package/lib/svg/analyse/types.d.ts +4 -3
  243. package/lib/svg/analyse.cjs +2 -2
  244. package/lib/svg/analyse.d.cts +15 -0
  245. package/lib/svg/analyse.d.mts +15 -0
  246. package/lib/svg/analyse.d.ts +1 -0
  247. package/lib/svg/analyse.mjs +4 -4
  248. package/lib/svg/cleanup/attribs.cjs +1 -1
  249. package/lib/svg/cleanup/attribs.d.cts +11 -0
  250. package/lib/svg/cleanup/attribs.d.mts +11 -0
  251. package/lib/svg/cleanup/attribs.mjs +2 -2
  252. package/lib/svg/cleanup/bad-tags.cjs +1 -1
  253. package/lib/svg/cleanup/bad-tags.d.cts +17 -0
  254. package/lib/svg/cleanup/bad-tags.d.mts +17 -0
  255. package/lib/svg/cleanup/bad-tags.d.ts +1 -1
  256. package/lib/svg/cleanup/bad-tags.mjs +2 -2
  257. package/lib/svg/cleanup/inline-style.cjs +1 -1
  258. package/lib/svg/cleanup/inline-style.d.cts +11 -0
  259. package/lib/svg/cleanup/inline-style.d.mts +11 -0
  260. package/lib/svg/cleanup/inline-style.mjs +2 -2
  261. package/lib/svg/cleanup/root-style.cjs +1 -1
  262. package/lib/svg/cleanup/root-style.d.cts +17 -0
  263. package/lib/svg/cleanup/root-style.d.mts +17 -0
  264. package/lib/svg/cleanup/root-style.mjs +2 -2
  265. package/lib/svg/cleanup/root-svg.cjs +3 -3
  266. package/lib/svg/cleanup/root-svg.d.cts +11 -0
  267. package/lib/svg/cleanup/root-svg.d.mts +11 -0
  268. package/lib/svg/cleanup/root-svg.mjs +3 -3
  269. package/lib/svg/cleanup/svgo-style.cjs +2 -2
  270. package/lib/svg/cleanup/svgo-style.d.cts +11 -0
  271. package/lib/svg/cleanup/svgo-style.d.mts +11 -0
  272. package/lib/svg/cleanup/svgo-style.mjs +3 -3
  273. package/lib/svg/cleanup.d.cts +16 -0
  274. package/lib/svg/cleanup.d.mts +16 -0
  275. package/lib/svg/cleanup.d.ts +1 -1
  276. package/lib/svg/data/attributes.d.cts +77 -0
  277. package/lib/svg/data/attributes.d.mts +77 -0
  278. package/lib/svg/data/tags.d.cts +95 -0
  279. package/lib/svg/data/tags.d.mts +95 -0
  280. package/lib/svg/index.cjs +18 -1
  281. package/lib/svg/index.d.cts +52 -0
  282. package/lib/svg/index.d.mts +52 -0
  283. package/lib/svg/index.d.ts +5 -1
  284. package/lib/svg/index.mjs +19 -2
  285. package/lib/svg/parse-style.cjs +178 -235
  286. package/lib/svg/parse-style.d.cts +58 -0
  287. package/lib/svg/parse-style.d.mts +58 -0
  288. package/lib/svg/parse-style.d.ts +3 -9
  289. package/lib/svg/parse-style.mjs +180 -236
  290. package/lib/svg/parse.cjs +27 -59
  291. package/lib/svg/parse.d.cts +30 -0
  292. package/lib/svg/parse.d.mts +30 -0
  293. package/lib/svg/parse.d.ts +3 -10
  294. package/lib/svg/parse.mjs +28 -59
  295. package/package.json +26 -21
@@ -0,0 +1,92 @@
1
+ import { CheerioElement } from '../../misc/cheerio.cjs';
2
+ import 'cheerio';
3
+
4
+ /**
5
+ * Options
6
+ */
7
+ interface AnalyseSVGStructureOptions {
8
+ fixErrors?: boolean;
9
+ }
10
+ /**
11
+ * Extended properties for element
12
+ */
13
+ /**
14
+ * Link to element
15
+ */
16
+ interface LinkToElementWithID {
17
+ id: string;
18
+ usedAsMask: boolean;
19
+ usedByIndex: number;
20
+ }
21
+ /**
22
+ * How element is used by parent elements
23
+ */
24
+ interface ExtendedTagElementUses {
25
+ _usedAsMask: boolean;
26
+ _usedAsPaint: boolean;
27
+ }
28
+ /**
29
+ * Definition: mask, clip path, symbol, etc...
30
+ */
31
+ interface ReusableElement {
32
+ id: string;
33
+ isMask: boolean;
34
+ index: number;
35
+ }
36
+ /**
37
+ * Element with id
38
+ *
39
+ * Similar to ReusableElement, but not necessary a definition - any element with id. Also contains list of child elements
40
+ */
41
+ interface ElementWithID {
42
+ id: string;
43
+ isMask: boolean;
44
+ indexes: Set<number>;
45
+ }
46
+ /**
47
+ * Parent and child elements. Unlike standard tree, this tree is for elements that inherit attributes from parent element
48
+ */
49
+ interface ExtendedTagElementRelations {
50
+ _parentElement?: number;
51
+ _childElements?: number[];
52
+ }
53
+ /**
54
+ * Extended tag
55
+ */
56
+ interface ExtendedTagElement extends CheerioElement, ExtendedTagElementUses, ExtendedTagElementRelations {
57
+ _index: number;
58
+ _id?: string;
59
+ _belongsTo?: ElementWithID[];
60
+ _reusableElement?: ReusableElement;
61
+ _linksTo?: LinkToElementWithID[];
62
+ }
63
+ /**
64
+ * Additional stuff for <svg>
65
+ */
66
+ interface ExtendedRootTagElement extends ExtendedTagElement {
67
+ _parsed?: boolean;
68
+ }
69
+ /**
70
+ * Tree
71
+ */
72
+ interface ElementsTreeItem {
73
+ index: number;
74
+ usedAsMask: boolean;
75
+ parent?: ElementsTreeItem;
76
+ children: ElementsTreeItem[];
77
+ }
78
+ /**
79
+ * Elements map
80
+ */
81
+ type ElementsMap = Map<number, ExtendedTagElement>;
82
+ /**
83
+ * Result
84
+ */
85
+ interface AnalyseSVGStructureResult {
86
+ elements: ElementsMap;
87
+ ids: Record<string, number>;
88
+ links: LinkToElementWithID[];
89
+ tree: ElementsTreeItem;
90
+ }
91
+
92
+ export type { AnalyseSVGStructureOptions, AnalyseSVGStructureResult, ElementWithID, ElementsMap, ElementsTreeItem, ExtendedRootTagElement, ExtendedTagElement, ExtendedTagElementUses, LinkToElementWithID };
@@ -0,0 +1,92 @@
1
+ import { CheerioElement } from '../../misc/cheerio.mjs';
2
+ import 'cheerio';
3
+
4
+ /**
5
+ * Options
6
+ */
7
+ interface AnalyseSVGStructureOptions {
8
+ fixErrors?: boolean;
9
+ }
10
+ /**
11
+ * Extended properties for element
12
+ */
13
+ /**
14
+ * Link to element
15
+ */
16
+ interface LinkToElementWithID {
17
+ id: string;
18
+ usedAsMask: boolean;
19
+ usedByIndex: number;
20
+ }
21
+ /**
22
+ * How element is used by parent elements
23
+ */
24
+ interface ExtendedTagElementUses {
25
+ _usedAsMask: boolean;
26
+ _usedAsPaint: boolean;
27
+ }
28
+ /**
29
+ * Definition: mask, clip path, symbol, etc...
30
+ */
31
+ interface ReusableElement {
32
+ id: string;
33
+ isMask: boolean;
34
+ index: number;
35
+ }
36
+ /**
37
+ * Element with id
38
+ *
39
+ * Similar to ReusableElement, but not necessary a definition - any element with id. Also contains list of child elements
40
+ */
41
+ interface ElementWithID {
42
+ id: string;
43
+ isMask: boolean;
44
+ indexes: Set<number>;
45
+ }
46
+ /**
47
+ * Parent and child elements. Unlike standard tree, this tree is for elements that inherit attributes from parent element
48
+ */
49
+ interface ExtendedTagElementRelations {
50
+ _parentElement?: number;
51
+ _childElements?: number[];
52
+ }
53
+ /**
54
+ * Extended tag
55
+ */
56
+ interface ExtendedTagElement extends CheerioElement, ExtendedTagElementUses, ExtendedTagElementRelations {
57
+ _index: number;
58
+ _id?: string;
59
+ _belongsTo?: ElementWithID[];
60
+ _reusableElement?: ReusableElement;
61
+ _linksTo?: LinkToElementWithID[];
62
+ }
63
+ /**
64
+ * Additional stuff for <svg>
65
+ */
66
+ interface ExtendedRootTagElement extends ExtendedTagElement {
67
+ _parsed?: boolean;
68
+ }
69
+ /**
70
+ * Tree
71
+ */
72
+ interface ElementsTreeItem {
73
+ index: number;
74
+ usedAsMask: boolean;
75
+ parent?: ElementsTreeItem;
76
+ children: ElementsTreeItem[];
77
+ }
78
+ /**
79
+ * Elements map
80
+ */
81
+ type ElementsMap = Map<number, ExtendedTagElement>;
82
+ /**
83
+ * Result
84
+ */
85
+ interface AnalyseSVGStructureResult {
86
+ elements: ElementsMap;
87
+ ids: Record<string, number>;
88
+ links: LinkToElementWithID[];
89
+ tree: ElementsTreeItem;
90
+ }
91
+
92
+ export type { AnalyseSVGStructureOptions, AnalyseSVGStructureResult, ElementWithID, ElementsMap, ElementsTreeItem, ExtendedRootTagElement, ExtendedTagElement, ExtendedTagElementUses, LinkToElementWithID };
@@ -1,4 +1,5 @@
1
- import * as cheerio from 'cheerio';
1
+ import { CheerioElement } from '../../misc/cheerio.js';
2
+ import 'cheerio';
2
3
 
3
4
  /**
4
5
  * Options
@@ -52,7 +53,7 @@ interface ExtendedTagElementRelations {
52
53
  /**
53
54
  * Extended tag
54
55
  */
55
- interface ExtendedTagElement extends cheerio.Element, ExtendedTagElementUses, ExtendedTagElementRelations {
56
+ interface ExtendedTagElement extends CheerioElement, ExtendedTagElementUses, ExtendedTagElementRelations {
56
57
  _index: number;
57
58
  _id?: string;
58
59
  _belongsTo?: ElementWithID[];
@@ -88,4 +89,4 @@ interface AnalyseSVGStructureResult {
88
89
  tree: ElementsTreeItem;
89
90
  }
90
91
 
91
- export { AnalyseSVGStructureOptions, AnalyseSVGStructureResult, ElementWithID, ElementsMap, ElementsTreeItem, ExtendedRootTagElement, ExtendedTagElement, ExtendedTagElementUses, LinkToElementWithID };
92
+ export type { AnalyseSVGStructureOptions, AnalyseSVGStructureResult, ElementWithID, ElementsMap, ElementsTreeItem, ExtendedRootTagElement, ExtendedTagElement, ExtendedTagElementUses, LinkToElementWithID };
@@ -83,7 +83,7 @@ function analyseSVGStructure(svg, options = {}) {
83
83
  element._linksTo.push(link);
84
84
  }
85
85
  let index = 0;
86
- svg_parse.parseSVGSync(svg, (item) => {
86
+ svg_parse.parseSVG(svg, (item) => {
87
87
  const { tagName, parents } = item;
88
88
  if (svg_data_tags.styleTag.has(tagName)) {
89
89
  item.testChildren = false;
@@ -263,7 +263,7 @@ function analyseSVGStructure(svg, options = {}) {
263
263
  usedItems = usedItems.slice(0);
264
264
  usedItems.push(element._index);
265
265
  element._childElements?.forEach((childIndex) => {
266
- if (usedItems.indexOf(childIndex) !== -1) {
266
+ if (usedItems.includes(childIndex)) {
267
267
  throw new Error("Recursion");
268
268
  }
269
269
  const childItem = {
@@ -0,0 +1,15 @@
1
+ import { SVG } from './index.cjs';
2
+ import { AnalyseSVGStructureOptions, AnalyseSVGStructureResult } from './analyse/types.cjs';
3
+ import 'cheerio';
4
+ import '@iconify/types';
5
+ import '@iconify/utils/lib/customisations/defaults';
6
+ import '../misc/cheerio.cjs';
7
+
8
+ /**
9
+ * Find all IDs, links, which elements use palette, which items aren't used
10
+ *
11
+ * Before running this function run cleanup functions to change inline style to attributes and fix attributes
12
+ */
13
+ declare function analyseSVGStructure(svg: SVG, options?: AnalyseSVGStructureOptions): AnalyseSVGStructureResult;
14
+
15
+ export { analyseSVGStructure };
@@ -0,0 +1,15 @@
1
+ import { SVG } from './index.mjs';
2
+ import { AnalyseSVGStructureOptions, AnalyseSVGStructureResult } from './analyse/types.mjs';
3
+ import 'cheerio';
4
+ import '@iconify/types';
5
+ import '@iconify/utils/lib/customisations/defaults';
6
+ import '../misc/cheerio.mjs';
7
+
8
+ /**
9
+ * Find all IDs, links, which elements use palette, which items aren't used
10
+ *
11
+ * Before running this function run cleanup functions to change inline style to attributes and fix attributes
12
+ */
13
+ declare function analyseSVGStructure(svg: SVG, options?: AnalyseSVGStructureOptions): AnalyseSVGStructureResult;
14
+
15
+ export { analyseSVGStructure };
@@ -3,6 +3,7 @@ import { AnalyseSVGStructureOptions, AnalyseSVGStructureResult } from './analyse
3
3
  import 'cheerio';
4
4
  import '@iconify/types';
5
5
  import '@iconify/utils/lib/customisations/defaults';
6
+ import '../misc/cheerio.js';
6
7
 
7
8
  /**
8
9
  * Find all IDs, links, which elements use palette, which items aren't used
@@ -1,6 +1,6 @@
1
- import { parseSVGSync } from './parse.mjs';
1
+ import { parseSVG } from './parse.mjs';
2
2
  import { tagSpecificNonPresentationalAttributes, urlPresentationalAttributes, commonColorPresentationalAttributes, markerAttributes } from './data/attributes.mjs';
3
- import { useTag, styleTag, maskTags, reusableElementsWithPalette, defsTag } from './data/tags.mjs';
3
+ import { styleTag, maskTags, reusableElementsWithPalette, defsTag, useTag } from './data/tags.mjs';
4
4
  import { analyseTagError } from './analyse/error.mjs';
5
5
 
6
6
  function analyseSVGStructure(svg, options = {}) {
@@ -81,7 +81,7 @@ function analyseSVGStructure(svg, options = {}) {
81
81
  element._linksTo.push(link);
82
82
  }
83
83
  let index = 0;
84
- parseSVGSync(svg, (item) => {
84
+ parseSVG(svg, (item) => {
85
85
  const { tagName, parents } = item;
86
86
  if (styleTag.has(tagName)) {
87
87
  item.testChildren = false;
@@ -261,7 +261,7 @@ function analyseSVGStructure(svg, options = {}) {
261
261
  usedItems = usedItems.slice(0);
262
262
  usedItems.push(element._index);
263
263
  element._childElements?.forEach((childIndex) => {
264
- if (usedItems.indexOf(childIndex) !== -1) {
264
+ if (usedItems.includes(childIndex)) {
265
265
  throw new Error("Recursion");
266
266
  }
267
267
  const childItem = {
@@ -5,7 +5,7 @@ const svg_data_tags = require('../data/tags.cjs');
5
5
  const svg_parse = require('../parse.cjs');
6
6
 
7
7
  function removeBadAttributes(svg) {
8
- svg_parse.parseSVGSync(svg, (item) => {
8
+ svg_parse.parseSVG(svg, (item) => {
9
9
  const tagName = item.tagName;
10
10
  const attribs = item.element.attribs;
11
11
  const $element = item.$element;
@@ -0,0 +1,11 @@
1
+ import { SVG } from '../index.cjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ /**
7
+ * Remove useless attributes
8
+ */
9
+ declare function removeBadAttributes(svg: SVG): void;
10
+
11
+ export { removeBadAttributes };
@@ -0,0 +1,11 @@
1
+ import { SVG } from '../index.mjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ /**
7
+ * Remove useless attributes
8
+ */
9
+ declare function removeBadAttributes(svg: SVG): void;
10
+
11
+ export { removeBadAttributes };
@@ -1,9 +1,9 @@
1
1
  import { badAttributes, badSoftwareAttributes, badAttributePrefixes, tagSpecificPresentationalAttributes } from '../data/attributes.mjs';
2
2
  import { defsTag } from '../data/tags.mjs';
3
- import { parseSVGSync } from '../parse.mjs';
3
+ import { parseSVG } from '../parse.mjs';
4
4
 
5
5
  function removeBadAttributes(svg) {
6
- parseSVGSync(svg, (item) => {
6
+ parseSVG(svg, (item) => {
7
7
  const tagName = item.tagName;
8
8
  const attribs = item.element.attribs;
9
9
  const $element = item.$element;
@@ -21,7 +21,7 @@ function checkBadTags(svg, options) {
21
21
  ...defaultOptions,
22
22
  ...options
23
23
  };
24
- svg_parse.parseSVGSync(svg, (item) => {
24
+ svg_parse.parseSVG(svg, (item) => {
25
25
  const tagName = item.tagName;
26
26
  const $element = item.$element;
27
27
  if (tagName === "svg") {
@@ -0,0 +1,17 @@
1
+ import { SVG } from '../index.cjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ /**
7
+ * Options
8
+ */
9
+ interface CheckBadTagsOptions {
10
+ keepTitles?: boolean;
11
+ }
12
+ /**
13
+ * Test for bag tags
14
+ */
15
+ declare function checkBadTags(svg: SVG, options?: CheckBadTagsOptions): void;
16
+
17
+ export { type CheckBadTagsOptions, checkBadTags };
@@ -0,0 +1,17 @@
1
+ import { SVG } from '../index.mjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ /**
7
+ * Options
8
+ */
9
+ interface CheckBadTagsOptions {
10
+ keepTitles?: boolean;
11
+ }
12
+ /**
13
+ * Test for bag tags
14
+ */
15
+ declare function checkBadTags(svg: SVG, options?: CheckBadTagsOptions): void;
16
+
17
+ export { type CheckBadTagsOptions, checkBadTags };
@@ -14,4 +14,4 @@ interface CheckBadTagsOptions {
14
14
  */
15
15
  declare function checkBadTags(svg: SVG, options?: CheckBadTagsOptions): void;
16
16
 
17
- export { CheckBadTagsOptions, checkBadTags };
17
+ export { type CheckBadTagsOptions, checkBadTags };
@@ -1,4 +1,4 @@
1
- import { parseSVGSync } from '../parse.mjs';
1
+ import { parseSVG } from '../parse.mjs';
2
2
  import { feComponentTransferChildTag, feMergeChildTags, feLightningTags, feLightningChildTags, filterTag, filterChildTags, gradientTags, gradientChildTags, animateMotionChildTags, unsupportedTags, badTags, allValidTags } from '../data/tags.mjs';
3
3
 
4
4
  const requiredParentTags = /* @__PURE__ */ new Map();
@@ -19,7 +19,7 @@ function checkBadTags(svg, options) {
19
19
  ...defaultOptions,
20
20
  ...options
21
21
  };
22
- parseSVGSync(svg, (item) => {
22
+ parseSVG(svg, (item) => {
23
23
  const tagName = item.tagName;
24
24
  const $element = item.$element;
25
25
  if (tagName === "svg") {
@@ -32,7 +32,7 @@ const knownIgnoredRules = /* @__PURE__ */ new Set([
32
32
  "stop-opacity"
33
33
  ]);
34
34
  function cleanupInlineStyle(svg) {
35
- svg_parse.parseSVGSync(svg, (item) => {
35
+ svg_parse.parseSVG(svg, (item) => {
36
36
  const $element = item.$element;
37
37
  const attribs = item.element.attribs;
38
38
  const tagName = item.tagName;
@@ -0,0 +1,11 @@
1
+ import { SVG } from '../index.cjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ /**
7
+ * Expand inline style
8
+ */
9
+ declare function cleanupInlineStyle(svg: SVG): void;
10
+
11
+ export { cleanupInlineStyle };
@@ -0,0 +1,11 @@
1
+ import { SVG } from '../index.mjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ /**
7
+ * Expand inline style
8
+ */
9
+ declare function cleanupInlineStyle(svg: SVG): void;
10
+
11
+ export { cleanupInlineStyle };
@@ -1,6 +1,6 @@
1
1
  import { parseInlineStyle } from '../../css/parse.mjs';
2
2
  import { badAttributes, tagSpecificNonPresentationalAttributes, tagSpecificAnimatedAttributes, tagSpecificPresentationalAttributes, tagSpecificInlineStyles, insideClipPathAttributes, badSoftwareAttributes, badAttributePrefixes } from '../data/attributes.mjs';
3
- import { parseSVGSync } from '../parse.mjs';
3
+ import { parseSVG } from '../parse.mjs';
4
4
  import '../../css/parser/tokens.mjs';
5
5
  import '../../css/parser/error.mjs';
6
6
  import '../../css/parser/strings.mjs';
@@ -30,7 +30,7 @@ const knownIgnoredRules = /* @__PURE__ */ new Set([
30
30
  "stop-opacity"
31
31
  ]);
32
32
  function cleanupInlineStyle(svg) {
33
- parseSVGSync(svg, (item) => {
33
+ parseSVG(svg, (item) => {
34
34
  const $element = item.$element;
35
35
  const attribs = item.element.attribs;
36
36
  const tagName = item.tagName;
@@ -12,7 +12,7 @@ require('../parse.cjs');
12
12
 
13
13
  function cleanupRootStyle(svg) {
14
14
  const result = {};
15
- svg_parseStyle.parseSVGStyleSync(svg, (item) => {
15
+ svg_parseStyle.parseSVGStyle(svg, (item) => {
16
16
  switch (item.type) {
17
17
  case "inline":
18
18
  return item.value;
@@ -0,0 +1,17 @@
1
+ import { SVG } from '../index.cjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ interface CleanupRootStyleResult {
7
+ animations?: Set<string>;
8
+ removedAtRules?: Set<string>;
9
+ }
10
+ /**
11
+ * Clean up root style
12
+ *
13
+ * This function removes all at-rule tokens, such as `@font-face`, `@media`
14
+ */
15
+ declare function cleanupRootStyle(svg: SVG): CleanupRootStyleResult;
16
+
17
+ export { cleanupRootStyle };
@@ -0,0 +1,17 @@
1
+ import { SVG } from '../index.mjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ interface CleanupRootStyleResult {
7
+ animations?: Set<string>;
8
+ removedAtRules?: Set<string>;
9
+ }
10
+ /**
11
+ * Clean up root style
12
+ *
13
+ * This function removes all at-rule tokens, such as `@font-face`, `@media`
14
+ */
15
+ declare function cleanupRootStyle(svg: SVG): CleanupRootStyleResult;
16
+
17
+ export { cleanupRootStyle };
@@ -1,4 +1,4 @@
1
- import { parseSVGStyleSync } from '../parse-style.mjs';
1
+ import { parseSVGStyle } from '../parse-style.mjs';
2
2
  import '../../css/parse.mjs';
3
3
  import '../../css/parser/tokens.mjs';
4
4
  import '../../css/parser/error.mjs';
@@ -10,7 +10,7 @@ import '../parse.mjs';
10
10
 
11
11
  function cleanupRootStyle(svg) {
12
12
  const result = {};
13
- parseSVGStyleSync(svg, (item) => {
13
+ parseSVGStyle(svg, (item) => {
14
14
  switch (item.type) {
15
15
  case "inline":
16
16
  return item.value;
@@ -4,7 +4,7 @@ const svg_data_attributes = require('../data/attributes.cjs');
4
4
  const svg_data_tags = require('../data/tags.cjs');
5
5
 
6
6
  function cleanupSVGRoot(svg) {
7
- const cheerio2 = svg.$svg;
7
+ const cheerio = svg.$svg;
8
8
  const $root = svg.$svg(":root");
9
9
  const root = $root.get(0);
10
10
  const tagName = "svg";
@@ -61,12 +61,12 @@ function cleanupSVGRoot(svg) {
61
61
  $root.removeAttr(attr);
62
62
  });
63
63
  if (Object.keys(moveToChildren).length) {
64
- const $wrapper = cheerio2("<g />");
64
+ const $wrapper = cheerio("<g />");
65
65
  for (const key in moveToChildren) {
66
66
  $wrapper.attr(key, moveToChildren[key]);
67
67
  }
68
68
  $root.children().each((_index, child) => {
69
- const $child = cheerio2(child);
69
+ const $child = cheerio(child);
70
70
  if (child.type !== "tag") {
71
71
  $child.appendTo($wrapper);
72
72
  return;
@@ -0,0 +1,11 @@
1
+ import { SVG } from '../index.cjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ /**
7
+ * Clean up SVG
8
+ */
9
+ declare function cleanupSVGRoot(svg: SVG): void;
10
+
11
+ export { cleanupSVGRoot };
@@ -0,0 +1,11 @@
1
+ import { SVG } from '../index.mjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ /**
7
+ * Clean up SVG
8
+ */
9
+ declare function cleanupSVGRoot(svg: SVG): void;
10
+
11
+ export { cleanupSVGRoot };
@@ -2,7 +2,7 @@ import { commonAttributes, badAttributes, junkSVGAttributes, badSoftwareAttribut
2
2
  import { reusableElementsWithPalette, maskTags } from '../data/tags.mjs';
3
3
 
4
4
  function cleanupSVGRoot(svg) {
5
- const cheerio2 = svg.$svg;
5
+ const cheerio = svg.$svg;
6
6
  const $root = svg.$svg(":root");
7
7
  const root = $root.get(0);
8
8
  const tagName = "svg";
@@ -59,12 +59,12 @@ function cleanupSVGRoot(svg) {
59
59
  $root.removeAttr(attr);
60
60
  });
61
61
  if (Object.keys(moveToChildren).length) {
62
- const $wrapper = cheerio2("<g />");
62
+ const $wrapper = cheerio("<g />");
63
63
  for (const key in moveToChildren) {
64
64
  $wrapper.attr(key, moveToChildren[key]);
65
65
  }
66
66
  $root.children().each((_index, child) => {
67
- const $child = cheerio2(child);
67
+ const $child = cheerio(child);
68
68
  if (child.type !== "tag") {
69
69
  $child.appendTo($wrapper);
70
70
  return;
@@ -17,7 +17,7 @@ require('@iconify/utils/lib/svg/id');
17
17
 
18
18
  function convertStyleToAttrs(svg) {
19
19
  let hasStyle = false;
20
- svg_parseStyle.parseSVGStyleSync(svg, (item) => {
20
+ svg_parseStyle.parseSVGStyle(svg, (item) => {
21
21
  if (item.type !== "inline" && item.type !== "global") {
22
22
  return item.value;
23
23
  }
@@ -26,7 +26,7 @@ function convertStyleToAttrs(svg) {
26
26
  // Attributes / properties now allowed
27
27
  svg_data_attributes.badAttributes.has(prop) || svg_data_attributes.badSoftwareAttributes.has(prop) || svg_data_attributes.badAttributePrefixes.has(prop.split("-").shift())
28
28
  ) {
29
- return void 0;
29
+ return;
30
30
  }
31
31
  hasStyle = true;
32
32
  return item.value;
@@ -0,0 +1,11 @@
1
+ import { SVG } from '../index.cjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ /**
7
+ * Expand inline style
8
+ */
9
+ declare function convertStyleToAttrs(svg: SVG): void;
10
+
11
+ export { convertStyleToAttrs };
@@ -0,0 +1,11 @@
1
+ import { SVG } from '../index.mjs';
2
+ import 'cheerio';
3
+ import '@iconify/types';
4
+ import '@iconify/utils/lib/customisations/defaults';
5
+
6
+ /**
7
+ * Expand inline style
8
+ */
9
+ declare function convertStyleToAttrs(svg: SVG): void;
10
+
11
+ export { convertStyleToAttrs };