@iconify/tools 4.0.0-dev.1 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) 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 +15 -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 +14 -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 +3 -3
  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 +55 -33
  212. package/lib/optimise/figma.d.cts +13 -0
  213. package/lib/optimise/figma.d.mts +13 -0
  214. package/lib/optimise/figma.d.ts +3 -1
  215. package/lib/optimise/figma.mjs +55 -33
  216. package/lib/optimise/flags.cjs +3 -3
  217. package/lib/optimise/flags.d.cts +11 -0
  218. package/lib/optimise/flags.d.mts +11 -0
  219. package/lib/optimise/flags.d.ts +1 -1
  220. package/lib/optimise/flags.mjs +3 -3
  221. package/lib/optimise/global-style.cjs +7 -7
  222. package/lib/optimise/global-style.d.cts +11 -0
  223. package/lib/optimise/global-style.d.mts +11 -0
  224. package/lib/optimise/global-style.d.ts +1 -1
  225. package/lib/optimise/global-style.mjs +7 -7
  226. package/lib/optimise/mask.cjs +1 -1
  227. package/lib/optimise/mask.d.cts +24 -0
  228. package/lib/optimise/mask.d.mts +24 -0
  229. package/lib/optimise/mask.mjs +2 -2
  230. package/lib/optimise/origin.d.cts +11 -0
  231. package/lib/optimise/origin.d.mts +11 -0
  232. package/lib/optimise/scale.d.cts +11 -0
  233. package/lib/optimise/scale.d.mts +11 -0
  234. package/lib/optimise/svgo.cjs +1 -1
  235. package/lib/optimise/svgo.d.cts +37 -0
  236. package/lib/optimise/svgo.d.mts +37 -0
  237. package/lib/optimise/svgo.mjs +1 -1
  238. package/lib/optimise/unwrap.cjs +31 -0
  239. package/lib/optimise/unwrap.d.cts +11 -0
  240. package/lib/optimise/unwrap.d.mts +11 -0
  241. package/lib/optimise/unwrap.d.ts +11 -0
  242. package/lib/optimise/unwrap.mjs +29 -0
  243. package/lib/svg/analyse/error.d.cts +10 -0
  244. package/lib/svg/analyse/error.d.mts +10 -0
  245. package/lib/svg/analyse/error.d.ts +1 -0
  246. package/lib/svg/analyse/types.d.cts +92 -0
  247. package/lib/svg/analyse/types.d.mts +92 -0
  248. package/lib/svg/analyse/types.d.ts +4 -3
  249. package/lib/svg/analyse.cjs +2 -2
  250. package/lib/svg/analyse.d.cts +15 -0
  251. package/lib/svg/analyse.d.mts +15 -0
  252. package/lib/svg/analyse.d.ts +1 -0
  253. package/lib/svg/analyse.mjs +4 -4
  254. package/lib/svg/cleanup/attribs.cjs +1 -1
  255. package/lib/svg/cleanup/attribs.d.cts +11 -0
  256. package/lib/svg/cleanup/attribs.d.mts +11 -0
  257. package/lib/svg/cleanup/attribs.mjs +2 -2
  258. package/lib/svg/cleanup/bad-tags.cjs +1 -1
  259. package/lib/svg/cleanup/bad-tags.d.cts +17 -0
  260. package/lib/svg/cleanup/bad-tags.d.mts +17 -0
  261. package/lib/svg/cleanup/bad-tags.d.ts +1 -1
  262. package/lib/svg/cleanup/bad-tags.mjs +2 -2
  263. package/lib/svg/cleanup/inline-style.cjs +1 -1
  264. package/lib/svg/cleanup/inline-style.d.cts +11 -0
  265. package/lib/svg/cleanup/inline-style.d.mts +11 -0
  266. package/lib/svg/cleanup/inline-style.mjs +2 -2
  267. package/lib/svg/cleanup/root-style.cjs +1 -1
  268. package/lib/svg/cleanup/root-style.d.cts +17 -0
  269. package/lib/svg/cleanup/root-style.d.mts +17 -0
  270. package/lib/svg/cleanup/root-style.mjs +2 -2
  271. package/lib/svg/cleanup/root-svg.cjs +3 -3
  272. package/lib/svg/cleanup/root-svg.d.cts +11 -0
  273. package/lib/svg/cleanup/root-svg.d.mts +11 -0
  274. package/lib/svg/cleanup/root-svg.mjs +3 -3
  275. package/lib/svg/cleanup/svgo-style.cjs +2 -2
  276. package/lib/svg/cleanup/svgo-style.d.cts +11 -0
  277. package/lib/svg/cleanup/svgo-style.d.mts +11 -0
  278. package/lib/svg/cleanup/svgo-style.mjs +3 -3
  279. package/lib/svg/cleanup.d.cts +16 -0
  280. package/lib/svg/cleanup.d.mts +16 -0
  281. package/lib/svg/cleanup.d.ts +1 -1
  282. package/lib/svg/data/attributes.d.cts +77 -0
  283. package/lib/svg/data/attributes.d.mts +77 -0
  284. package/lib/svg/data/tags.d.cts +95 -0
  285. package/lib/svg/data/tags.d.mts +95 -0
  286. package/lib/svg/index.cjs +18 -1
  287. package/lib/svg/index.d.cts +52 -0
  288. package/lib/svg/index.d.mts +52 -0
  289. package/lib/svg/index.d.ts +5 -1
  290. package/lib/svg/index.mjs +19 -2
  291. package/lib/svg/parse-style.cjs +178 -235
  292. package/lib/svg/parse-style.d.cts +58 -0
  293. package/lib/svg/parse-style.d.mts +58 -0
  294. package/lib/svg/parse-style.d.ts +3 -9
  295. package/lib/svg/parse-style.mjs +180 -236
  296. package/lib/svg/parse.cjs +27 -59
  297. package/lib/svg/parse.d.cts +30 -0
  298. package/lib/svg/parse.d.mts +30 -0
  299. package/lib/svg/parse.d.ts +3 -10
  300. package/lib/svg/parse.mjs +28 -59
  301. package/package.json +34 -24
@@ -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 };
@@ -1,5 +1,5 @@
1
1
  import { badAttributes, badSoftwareAttributes, badAttributePrefixes } from '../data/attributes.mjs';
2
- import { parseSVGStyleSync } from '../parse-style.mjs';
2
+ import { parseSVGStyle } from '../parse-style.mjs';
3
3
  import { runSVGO } from '../../optimise/svgo.mjs';
4
4
  import '../data/tags.mjs';
5
5
  import '../../css/parse.mjs';
@@ -15,7 +15,7 @@ import '@iconify/utils/lib/svg/id';
15
15
 
16
16
  function convertStyleToAttrs(svg) {
17
17
  let hasStyle = false;
18
- parseSVGStyleSync(svg, (item) => {
18
+ parseSVGStyle(svg, (item) => {
19
19
  if (item.type !== "inline" && item.type !== "global") {
20
20
  return item.value;
21
21
  }
@@ -24,7 +24,7 @@ function convertStyleToAttrs(svg) {
24
24
  // Attributes / properties now allowed
25
25
  badAttributes.has(prop) || badSoftwareAttributes.has(prop) || badAttributePrefixes.has(prop.split("-").shift())
26
26
  ) {
27
- return void 0;
27
+ return;
28
28
  }
29
29
  hasStyle = true;
30
30
  return item.value;
@@ -0,0 +1,16 @@
1
+ import { SVG } from './index.cjs';
2
+ import { CheckBadTagsOptions } from './cleanup/bad-tags.cjs';
3
+ import 'cheerio';
4
+ import '@iconify/types';
5
+ import '@iconify/utils/lib/customisations/defaults';
6
+
7
+ /**
8
+ * Options
9
+ */
10
+ type CleanupSVGOptions = CheckBadTagsOptions;
11
+ /**
12
+ * Clean up SVG before parsing/optimising it
13
+ */
14
+ declare function cleanupSVG(svg: SVG, options?: CleanupSVGOptions): void;
15
+
16
+ export { type CleanupSVGOptions, cleanupSVG };
@@ -0,0 +1,16 @@
1
+ import { SVG } from './index.mjs';
2
+ import { CheckBadTagsOptions } from './cleanup/bad-tags.mjs';
3
+ import 'cheerio';
4
+ import '@iconify/types';
5
+ import '@iconify/utils/lib/customisations/defaults';
6
+
7
+ /**
8
+ * Options
9
+ */
10
+ type CleanupSVGOptions = CheckBadTagsOptions;
11
+ /**
12
+ * Clean up SVG before parsing/optimising it
13
+ */
14
+ declare function cleanupSVG(svg: SVG, options?: CleanupSVGOptions): void;
15
+
16
+ export { type CleanupSVGOptions, cleanupSVG };
@@ -13,4 +13,4 @@ type CleanupSVGOptions = CheckBadTagsOptions;
13
13
  */
14
14
  declare function cleanupSVG(svg: SVG, options?: CleanupSVGOptions): void;
15
15
 
16
- export { CleanupSVGOptions, cleanupSVG };
16
+ export { type CleanupSVGOptions, cleanupSVG };
@@ -0,0 +1,77 @@
1
+ /**
2
+ * This list is highly opinionated. It is designed to handle icons that can be safely embedded in HTML and linked as external source.
3
+ * Icons cannot have anything that requires external resources, anything that renders inconsistently.
4
+ */
5
+ /***** Attributes that are not part of tag specific stuff *****/
6
+ /**
7
+ * Attributes that icons should not mess with or that are irrelevant. They should be removed
8
+ */
9
+ declare const badAttributes: Set<string>;
10
+ /**
11
+ * Attributes for SVG element that should be removed
12
+ */
13
+ declare const junkSVGAttributes: Set<string>;
14
+ /**
15
+ * Attributes and styles often added by bad software to wrong tags, such as Adobe Illustrator and Inkscape
16
+ */
17
+ declare const badSoftwareAttributes: Set<string>;
18
+ declare const badAttributePrefixes: Set<string>;
19
+ /**
20
+ * Common attributes that can exist on any element
21
+ */
22
+ declare const commonAttributes: Set<string>;
23
+ declare const stylingAttributes: Set<string>;
24
+ /**
25
+ * Attributes that exist only on child elements of <clipPath>
26
+ */
27
+ declare const insideClipPathAttributes: Set<string>;
28
+ /***** Other attributes, added to tagSpecificAttributes variable below *****/
29
+ /**
30
+ * Presentational attributes
31
+ */
32
+ declare const fillPresentationalAttributes: Set<string>;
33
+ declare const strokePresentationalAttributes: Set<string>;
34
+ declare const urlPresentationalAttributes: Set<string>;
35
+ declare const visibilityPresentationalAttributes: Set<string>;
36
+ declare const commonColorPresentationalAttributes: Set<string>;
37
+ declare const otherPresentationalAttributes: Set<string>;
38
+ declare const presentationalAttributes: Set<string>;
39
+ /**
40
+ * Markers
41
+ *
42
+ * Presentational attributes
43
+ */
44
+ declare const markerAttributes: Set<string>;
45
+ /**
46
+ * Shapes
47
+ *
48
+ * Not presentational
49
+ */
50
+ declare const otherShapeAttributes: Set<string>;
51
+ /**
52
+ * Animations
53
+ */
54
+ declare const animationTimingAttributes: Set<string>;
55
+ declare const animationValueAttributes: Set<string>;
56
+ declare const otherAnimationAttributes: Set<string>;
57
+ /**
58
+ * Gradients
59
+ */
60
+ declare const commonGradientAttributes: Set<string>;
61
+ /**
62
+ * Filters
63
+ */
64
+ declare const commonFeAttributes: Set<string>;
65
+ declare const feFuncAttributes: Set<string>;
66
+ /**
67
+ * Tag specific attributes
68
+ */
69
+ declare const tagSpecificAnimatedAttributes: Record<string, Set<string>>;
70
+ declare const tagSpecificPresentationalAttributes: Record<string, Set<string>>;
71
+ declare const tagSpecificNonPresentationalAttributes: Record<string, Set<string>>;
72
+ /**
73
+ * Styles to keep in tags
74
+ */
75
+ declare const tagSpecificInlineStyles: Record<string, Set<string>>;
76
+
77
+ export { animationTimingAttributes, animationValueAttributes, badAttributePrefixes, badAttributes, badSoftwareAttributes, commonAttributes, commonColorPresentationalAttributes, commonFeAttributes, commonGradientAttributes, feFuncAttributes, fillPresentationalAttributes, insideClipPathAttributes, junkSVGAttributes, markerAttributes, otherAnimationAttributes, otherPresentationalAttributes, otherShapeAttributes, presentationalAttributes, strokePresentationalAttributes, stylingAttributes, tagSpecificAnimatedAttributes, tagSpecificInlineStyles, tagSpecificNonPresentationalAttributes, tagSpecificPresentationalAttributes, urlPresentationalAttributes, visibilityPresentationalAttributes };
@@ -0,0 +1,77 @@
1
+ /**
2
+ * This list is highly opinionated. It is designed to handle icons that can be safely embedded in HTML and linked as external source.
3
+ * Icons cannot have anything that requires external resources, anything that renders inconsistently.
4
+ */
5
+ /***** Attributes that are not part of tag specific stuff *****/
6
+ /**
7
+ * Attributes that icons should not mess with or that are irrelevant. They should be removed
8
+ */
9
+ declare const badAttributes: Set<string>;
10
+ /**
11
+ * Attributes for SVG element that should be removed
12
+ */
13
+ declare const junkSVGAttributes: Set<string>;
14
+ /**
15
+ * Attributes and styles often added by bad software to wrong tags, such as Adobe Illustrator and Inkscape
16
+ */
17
+ declare const badSoftwareAttributes: Set<string>;
18
+ declare const badAttributePrefixes: Set<string>;
19
+ /**
20
+ * Common attributes that can exist on any element
21
+ */
22
+ declare const commonAttributes: Set<string>;
23
+ declare const stylingAttributes: Set<string>;
24
+ /**
25
+ * Attributes that exist only on child elements of <clipPath>
26
+ */
27
+ declare const insideClipPathAttributes: Set<string>;
28
+ /***** Other attributes, added to tagSpecificAttributes variable below *****/
29
+ /**
30
+ * Presentational attributes
31
+ */
32
+ declare const fillPresentationalAttributes: Set<string>;
33
+ declare const strokePresentationalAttributes: Set<string>;
34
+ declare const urlPresentationalAttributes: Set<string>;
35
+ declare const visibilityPresentationalAttributes: Set<string>;
36
+ declare const commonColorPresentationalAttributes: Set<string>;
37
+ declare const otherPresentationalAttributes: Set<string>;
38
+ declare const presentationalAttributes: Set<string>;
39
+ /**
40
+ * Markers
41
+ *
42
+ * Presentational attributes
43
+ */
44
+ declare const markerAttributes: Set<string>;
45
+ /**
46
+ * Shapes
47
+ *
48
+ * Not presentational
49
+ */
50
+ declare const otherShapeAttributes: Set<string>;
51
+ /**
52
+ * Animations
53
+ */
54
+ declare const animationTimingAttributes: Set<string>;
55
+ declare const animationValueAttributes: Set<string>;
56
+ declare const otherAnimationAttributes: Set<string>;
57
+ /**
58
+ * Gradients
59
+ */
60
+ declare const commonGradientAttributes: Set<string>;
61
+ /**
62
+ * Filters
63
+ */
64
+ declare const commonFeAttributes: Set<string>;
65
+ declare const feFuncAttributes: Set<string>;
66
+ /**
67
+ * Tag specific attributes
68
+ */
69
+ declare const tagSpecificAnimatedAttributes: Record<string, Set<string>>;
70
+ declare const tagSpecificPresentationalAttributes: Record<string, Set<string>>;
71
+ declare const tagSpecificNonPresentationalAttributes: Record<string, Set<string>>;
72
+ /**
73
+ * Styles to keep in tags
74
+ */
75
+ declare const tagSpecificInlineStyles: Record<string, Set<string>>;
76
+
77
+ export { animationTimingAttributes, animationValueAttributes, badAttributePrefixes, badAttributes, badSoftwareAttributes, commonAttributes, commonColorPresentationalAttributes, commonFeAttributes, commonGradientAttributes, feFuncAttributes, fillPresentationalAttributes, insideClipPathAttributes, junkSVGAttributes, markerAttributes, otherAnimationAttributes, otherPresentationalAttributes, otherShapeAttributes, presentationalAttributes, strokePresentationalAttributes, stylingAttributes, tagSpecificAnimatedAttributes, tagSpecificInlineStyles, tagSpecificNonPresentationalAttributes, tagSpecificPresentationalAttributes, urlPresentationalAttributes, visibilityPresentationalAttributes };
@@ -0,0 +1,95 @@
1
+ /**
2
+ * This list is highly opinionated. It is designed to handle icons that can be safely embedded in HTML and linked as external source.
3
+ * Icons cannot have anything that requires external resources, anything that renders inconsistently.
4
+ */
5
+ /**
6
+ * Bad tags
7
+ *
8
+ * Parser should throw error if one of these tags is found
9
+ *
10
+ * List includes text tags because:
11
+ * - it usuaully uses custom font, which makes things much more complex
12
+ * - it renders differently on different operating systems and browsers
13
+ *
14
+ * View tag is not allowed because it requires targeting view by id from external source, making it unusable in embedded icons.
15
+ */
16
+ declare const badTags: Set<string>;
17
+ /**
18
+ * Deprecated or irrelevant tags
19
+ *
20
+ * Tags that are quietly removed
21
+ */
22
+ declare const unsupportedTags: Set<string>;
23
+ /**
24
+ * Style
25
+ */
26
+ declare const styleTag: Set<string>;
27
+ /**
28
+ * Definitions: reusable elements inside
29
+ */
30
+ declare const defsTag: Set<string>;
31
+ /**
32
+ * Masks: colors are ignored, elements must have id
33
+ */
34
+ declare const maskTags: Set<string>;
35
+ /**
36
+ * Symbol
37
+ */
38
+ declare const symbolTag: Set<string>;
39
+ /**
40
+ * SVG shapes
41
+ */
42
+ declare const shapeTags: Set<string>;
43
+ /**
44
+ * Use
45
+ */
46
+ declare const useTag: Set<string>;
47
+ /**
48
+ * Groups
49
+ */
50
+ declare const groupTag: Set<string>;
51
+ /**
52
+ * Marker, should be inside <defs>
53
+ */
54
+ declare const markerTag: Set<string>;
55
+ /**
56
+ * SVG animations
57
+ */
58
+ declare const animateTags: Set<string>;
59
+ declare const animateMotionChildTags: Set<string>;
60
+ /**
61
+ * Gradients, should be inside <defs>
62
+ */
63
+ declare const gradientTags: Set<string>;
64
+ /**
65
+ * Gradient color, must be inside one of gradientTags
66
+ */
67
+ declare const gradientChildTags: Set<string>;
68
+ /**
69
+ * Pattern, should be inside <defs>
70
+ */
71
+ declare const patternTag: Set<string>;
72
+ /**
73
+ * Filters
74
+ */
75
+ declare const filterTag: Set<string>;
76
+ declare const feLightningTags: Set<string>;
77
+ declare const filterChildTags: Set<string>;
78
+ declare const feComponentTransferChildTag: Set<string>;
79
+ declare const feLightningChildTags: Set<string>;
80
+ declare const feMergeChildTags: Set<string>;
81
+ /***** Combination of tags *****/
82
+ /**
83
+ * Reusable elements that use colors
84
+ *
85
+ * Most are used via color attributes like `fill`
86
+ * Some are used via custom attributes like `marker-start`
87
+ * Filter is used via `filter`
88
+ */
89
+ declare const reusableElementsWithPalette: Set<string>;
90
+ /**
91
+ * All supported tags
92
+ */
93
+ declare const allValidTags: Set<string>;
94
+
95
+ export { allValidTags, animateMotionChildTags, animateTags, badTags, defsTag, feComponentTransferChildTag, feLightningChildTags, feLightningTags, feMergeChildTags, filterChildTags, filterTag, gradientChildTags, gradientTags, groupTag, markerTag, maskTags, patternTag, reusableElementsWithPalette, shapeTags, styleTag, symbolTag, unsupportedTags, useTag };
@@ -0,0 +1,95 @@
1
+ /**
2
+ * This list is highly opinionated. It is designed to handle icons that can be safely embedded in HTML and linked as external source.
3
+ * Icons cannot have anything that requires external resources, anything that renders inconsistently.
4
+ */
5
+ /**
6
+ * Bad tags
7
+ *
8
+ * Parser should throw error if one of these tags is found
9
+ *
10
+ * List includes text tags because:
11
+ * - it usuaully uses custom font, which makes things much more complex
12
+ * - it renders differently on different operating systems and browsers
13
+ *
14
+ * View tag is not allowed because it requires targeting view by id from external source, making it unusable in embedded icons.
15
+ */
16
+ declare const badTags: Set<string>;
17
+ /**
18
+ * Deprecated or irrelevant tags
19
+ *
20
+ * Tags that are quietly removed
21
+ */
22
+ declare const unsupportedTags: Set<string>;
23
+ /**
24
+ * Style
25
+ */
26
+ declare const styleTag: Set<string>;
27
+ /**
28
+ * Definitions: reusable elements inside
29
+ */
30
+ declare const defsTag: Set<string>;
31
+ /**
32
+ * Masks: colors are ignored, elements must have id
33
+ */
34
+ declare const maskTags: Set<string>;
35
+ /**
36
+ * Symbol
37
+ */
38
+ declare const symbolTag: Set<string>;
39
+ /**
40
+ * SVG shapes
41
+ */
42
+ declare const shapeTags: Set<string>;
43
+ /**
44
+ * Use
45
+ */
46
+ declare const useTag: Set<string>;
47
+ /**
48
+ * Groups
49
+ */
50
+ declare const groupTag: Set<string>;
51
+ /**
52
+ * Marker, should be inside <defs>
53
+ */
54
+ declare const markerTag: Set<string>;
55
+ /**
56
+ * SVG animations
57
+ */
58
+ declare const animateTags: Set<string>;
59
+ declare const animateMotionChildTags: Set<string>;
60
+ /**
61
+ * Gradients, should be inside <defs>
62
+ */
63
+ declare const gradientTags: Set<string>;
64
+ /**
65
+ * Gradient color, must be inside one of gradientTags
66
+ */
67
+ declare const gradientChildTags: Set<string>;
68
+ /**
69
+ * Pattern, should be inside <defs>
70
+ */
71
+ declare const patternTag: Set<string>;
72
+ /**
73
+ * Filters
74
+ */
75
+ declare const filterTag: Set<string>;
76
+ declare const feLightningTags: Set<string>;
77
+ declare const filterChildTags: Set<string>;
78
+ declare const feComponentTransferChildTag: Set<string>;
79
+ declare const feLightningChildTags: Set<string>;
80
+ declare const feMergeChildTags: Set<string>;
81
+ /***** Combination of tags *****/
82
+ /**
83
+ * Reusable elements that use colors
84
+ *
85
+ * Most are used via color attributes like `fill`
86
+ * Some are used via custom attributes like `marker-start`
87
+ * Filter is used via `filter`
88
+ */
89
+ declare const reusableElementsWithPalette: Set<string>;
90
+ /**
91
+ * All supported tags
92
+ */
93
+ declare const allValidTags: Set<string>;
94
+
95
+ export { allValidTags, animateMotionChildTags, animateTags, badTags, defsTag, feComponentTransferChildTag, feLightningChildTags, feLightningTags, feMergeChildTags, filterChildTags, filterTag, gradientChildTags, gradientTags, groupTag, markerTag, maskTags, patternTag, reusableElementsWithPalette, shapeTags, styleTag, symbolTag, unsupportedTags, useTag };