@iconify/tools 4.2.0 → 5.0.0-beta.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 (530) hide show
  1. package/lib/colors/attribs.d.ts +2 -4
  2. package/lib/colors/attribs.js +33 -0
  3. package/lib/colors/detect.d.ts +2 -10
  4. package/lib/colors/detect.js +36 -0
  5. package/lib/colors/parse.d.ts +12 -19
  6. package/lib/colors/parse.js +241 -0
  7. package/lib/colors/validate.d.ts +3 -13
  8. package/lib/colors/validate.js +31 -0
  9. package/lib/css/parse.d.ts +1 -2
  10. package/lib/css/parse.js +18 -0
  11. package/lib/css/parser/error.d.ts +6 -7
  12. package/lib/css/parser/error.js +24 -0
  13. package/lib/css/parser/export.d.ts +2 -4
  14. package/lib/css/parser/export.js +34 -0
  15. package/lib/css/parser/strings.d.ts +2 -4
  16. package/lib/css/parser/strings.js +66 -0
  17. package/lib/css/parser/text.d.ts +2 -4
  18. package/lib/css/parser/text.js +103 -0
  19. package/lib/css/parser/tokens.d.ts +3 -5
  20. package/lib/css/parser/tokens.js +169 -0
  21. package/lib/css/parser/tree.d.ts +2 -4
  22. package/lib/css/parser/tree.js +35 -0
  23. package/lib/css/parser/types.d.ts +21 -22
  24. package/lib/css/parser/types.js +1 -0
  25. package/lib/download/api/cache.d.ts +2 -4
  26. package/lib/download/api/cache.js +84 -0
  27. package/lib/download/api/config.d.ts +6 -8
  28. package/lib/download/api/config.js +10 -0
  29. package/lib/download/api/download.d.ts +2 -4
  30. package/lib/download/api/download.js +26 -0
  31. package/lib/download/api/fetch.d.ts +1 -2
  32. package/lib/download/api/fetch.js +15 -0
  33. package/lib/download/api/index.d.ts +2 -4
  34. package/lib/download/api/index.js +50 -0
  35. package/lib/download/api/queue.d.ts +9 -10
  36. package/lib/download/api/queue.js +94 -0
  37. package/lib/download/api/types.d.ts +6 -7
  38. package/lib/download/api/types.js +1 -0
  39. package/lib/download/git/branch.d.ts +2 -4
  40. package/lib/download/git/branch.js +15 -0
  41. package/lib/download/git/hash.d.ts +2 -4
  42. package/lib/download/git/hash.js +10 -0
  43. package/lib/download/git/index.d.ts +10 -12
  44. package/lib/download/git/index.js +39 -0
  45. package/lib/download/git/reset.d.ts +1 -2
  46. package/lib/download/git/reset.js +12 -0
  47. package/lib/download/github/hash.d.ts +2 -4
  48. package/lib/download/github/hash.js +20 -0
  49. package/lib/download/github/index.d.ts +12 -14
  50. package/lib/download/github/index.js +66 -0
  51. package/lib/download/github/types.d.ts +5 -6
  52. package/lib/download/github/types.js +1 -0
  53. package/lib/download/gitlab/hash.d.ts +2 -4
  54. package/lib/download/gitlab/hash.js +19 -0
  55. package/lib/download/gitlab/index.d.ts +12 -14
  56. package/lib/download/gitlab/index.js +64 -0
  57. package/lib/download/gitlab/types.d.ts +5 -6
  58. package/lib/download/gitlab/types.js +6 -0
  59. package/lib/download/helpers/untar.d.ts +1 -2
  60. package/lib/download/helpers/untar.js +13 -0
  61. package/lib/download/helpers/unzip.d.ts +1 -2
  62. package/lib/download/helpers/unzip.js +39 -0
  63. package/lib/download/index.d.ts +15 -20
  64. package/lib/download/index.js +19 -0
  65. package/lib/download/npm/index.d.ts +11 -13
  66. package/lib/download/npm/index.js +51 -0
  67. package/lib/download/npm/types.d.ts +3 -4
  68. package/lib/download/npm/types.js +1 -0
  69. package/lib/download/npm/version.d.ts +4 -6
  70. package/lib/download/npm/version.js +23 -0
  71. package/lib/download/types/modified.d.ts +1 -2
  72. package/lib/download/types/modified.js +1 -0
  73. package/lib/download/types/sources.d.ts +2 -3
  74. package/lib/download/types/sources.js +1 -0
  75. package/lib/export/directory.d.ts +7 -15
  76. package/lib/export/directory.js +37 -0
  77. package/lib/export/helpers/custom-files.d.ts +2 -3
  78. package/lib/export/helpers/custom-files.js +23 -0
  79. package/lib/export/helpers/prepare.d.ts +3 -4
  80. package/lib/export/helpers/prepare.js +31 -0
  81. package/lib/export/helpers/types-version.d.ts +1 -2
  82. package/lib/export/helpers/types-version.js +19 -0
  83. package/lib/export/icon-package.d.ts +8 -15
  84. package/lib/export/icon-package.js +55 -0
  85. package/lib/export/json-package.d.ts +7 -14
  86. package/lib/export/json-package.js +129 -0
  87. package/lib/icon-set/index.d.ts +144 -147
  88. package/lib/icon-set/index.js +595 -0
  89. package/lib/icon-set/match.d.ts +3 -11
  90. package/lib/icon-set/match.js +45 -0
  91. package/lib/icon-set/merge.d.ts +2 -10
  92. package/lib/icon-set/merge.js +68 -0
  93. package/lib/icon-set/modified.d.ts +2 -10
  94. package/lib/icon-set/modified.js +20 -0
  95. package/lib/icon-set/props.d.ts +2 -5
  96. package/lib/icon-set/props.js +19 -0
  97. package/lib/icon-set/tags.d.ts +7 -15
  98. package/lib/icon-set/tags.js +53 -0
  99. package/lib/icon-set/types.d.ts +16 -21
  100. package/lib/icon-set/types.js +1 -0
  101. package/lib/import/directory.d.ts +11 -20
  102. package/lib/import/directory.js +101 -0
  103. package/lib/import/figma/index.d.ts +4 -15
  104. package/lib/import/figma/index.js +61 -0
  105. package/lib/import/figma/nodes.d.ts +4 -14
  106. package/lib/import/figma/nodes.js +80 -0
  107. package/lib/import/figma/query.d.ts +9 -19
  108. package/lib/import/figma/query.js +183 -0
  109. package/lib/import/figma/types/api.d.ts +23 -35
  110. package/lib/import/figma/types/nodes.d.ts +12 -21
  111. package/lib/import/figma/types/options.d.ts +23 -32
  112. package/lib/import/figma/types/result.d.ts +16 -24
  113. package/lib/index.d.ts +55 -80
  114. package/lib/index.js +56 -0
  115. package/lib/misc/bump-version.d.ts +1 -2
  116. package/lib/misc/bump-version.js +13 -0
  117. package/lib/misc/compare-dirs.d.ts +4 -5
  118. package/lib/misc/compare-dirs.js +65 -0
  119. package/lib/misc/exec.d.ts +4 -6
  120. package/lib/misc/exec.js +23 -0
  121. package/lib/misc/keyword.d.ts +1 -2
  122. package/lib/misc/keyword.js +12 -0
  123. package/lib/misc/scan.d.ts +2 -4
  124. package/lib/misc/scan.js +87 -0
  125. package/lib/misc/write-json.d.ts +1 -2
  126. package/lib/misc/write-json.js +10 -0
  127. package/lib/optimise/figma.d.ts +2 -7
  128. package/lib/optimise/figma.js +189 -0
  129. package/lib/optimise/flags.d.ts +2 -7
  130. package/lib/optimise/flags.js +231 -0
  131. package/lib/optimise/global-style.d.ts +2 -7
  132. package/lib/optimise/global-style.js +114 -0
  133. package/lib/optimise/mask.d.ts +9 -14
  134. package/lib/optimise/mask.js +83 -0
  135. package/lib/optimise/origin.d.ts +2 -7
  136. package/lib/optimise/origin.js +22 -0
  137. package/lib/optimise/scale.d.ts +2 -7
  138. package/lib/optimise/scale.js +24 -0
  139. package/lib/optimise/svgo.d.ts +10 -15
  140. package/lib/optimise/svgo.js +90 -0
  141. package/lib/optimise/unwrap.d.ts +2 -7
  142. package/lib/optimise/unwrap.js +25 -0
  143. package/lib/svg/analyse/error.d.ts +2 -7
  144. package/lib/svg/analyse/error.js +12 -0
  145. package/lib/svg/analyse/types.d.ts +31 -35
  146. package/lib/svg/analyse/types.js +1 -0
  147. package/lib/svg/analyse.d.ts +3 -10
  148. package/lib/svg/analyse.js +256 -0
  149. package/lib/svg/cleanup/attribs.d.ts +2 -7
  150. package/lib/svg/cleanup/attribs.js +37 -0
  151. package/lib/svg/cleanup/bad-tags.d.ts +3 -8
  152. package/lib/svg/cleanup/bad-tags.js +57 -0
  153. package/lib/svg/cleanup/inline-style.d.ts +2 -7
  154. package/lib/svg/cleanup/inline-style.js +80 -0
  155. package/lib/svg/cleanup/root-style.d.ts +4 -9
  156. package/lib/svg/cleanup/root-style.js +27 -0
  157. package/lib/svg/cleanup/root-svg.d.ts +2 -7
  158. package/lib/svg/cleanup/root-svg.js +73 -0
  159. package/lib/svg/cleanup/svgo-style.d.ts +2 -7
  160. package/lib/svg/cleanup/svgo-style.js +24 -0
  161. package/lib/svg/cleanup.d.ts +3 -8
  162. package/lib/svg/cleanup.js +20 -0
  163. package/lib/svg/data/attributes.d.ts +1 -2
  164. package/lib/svg/data/attributes.js +451 -0
  165. package/lib/svg/data/tags.d.ts +1 -2
  166. package/lib/svg/data/tags.js +182 -0
  167. package/lib/svg/index.d.ts +38 -47
  168. package/lib/svg/index.js +117 -0
  169. package/lib/svg/parse-style.d.ts +21 -28
  170. package/lib/svg/parse-style.js +199 -0
  171. package/lib/svg/parse.d.ts +8 -16
  172. package/lib/svg/parse.js +32 -0
  173. package/package.json +116 -222
  174. package/lib/colors/attribs.cjs +0 -33
  175. package/lib/colors/attribs.d.cts +0 -27
  176. package/lib/colors/attribs.d.mts +0 -27
  177. package/lib/colors/attribs.mjs +0 -26
  178. package/lib/colors/detect.cjs +0 -66
  179. package/lib/colors/detect.d.cts +0 -16
  180. package/lib/colors/detect.d.mts +0 -16
  181. package/lib/colors/detect.mjs +0 -64
  182. package/lib/colors/parse.cjs +0 -300
  183. package/lib/colors/parse.d.cts +0 -61
  184. package/lib/colors/parse.d.mts +0 -61
  185. package/lib/colors/parse.mjs +0 -297
  186. package/lib/colors/validate.cjs +0 -56
  187. package/lib/colors/validate.d.cts +0 -21
  188. package/lib/colors/validate.d.mts +0 -21
  189. package/lib/colors/validate.mjs +0 -54
  190. package/lib/css/parse.cjs +0 -24
  191. package/lib/css/parse.d.cts +0 -6
  192. package/lib/css/parse.d.mts +0 -6
  193. package/lib/css/parse.mjs +0 -22
  194. package/lib/css/parser/error.cjs +0 -23
  195. package/lib/css/parser/error.d.cts +0 -13
  196. package/lib/css/parser/error.d.mts +0 -13
  197. package/lib/css/parser/error.mjs +0 -21
  198. package/lib/css/parser/export.cjs +0 -37
  199. package/lib/css/parser/export.d.cts +0 -8
  200. package/lib/css/parser/export.d.mts +0 -8
  201. package/lib/css/parser/export.mjs +0 -35
  202. package/lib/css/parser/strings.cjs +0 -83
  203. package/lib/css/parser/strings.d.cts +0 -16
  204. package/lib/css/parser/strings.d.mts +0 -16
  205. package/lib/css/parser/strings.mjs +0 -80
  206. package/lib/css/parser/text.cjs +0 -114
  207. package/lib/css/parser/text.d.cts +0 -20
  208. package/lib/css/parser/text.d.mts +0 -20
  209. package/lib/css/parser/text.mjs +0 -109
  210. package/lib/css/parser/tokens.cjs +0 -206
  211. package/lib/css/parser/tokens.d.cts +0 -9
  212. package/lib/css/parser/tokens.d.mts +0 -9
  213. package/lib/css/parser/tokens.mjs +0 -204
  214. package/lib/css/parser/tree.cjs +0 -40
  215. package/lib/css/parser/tree.d.cts +0 -8
  216. package/lib/css/parser/tree.d.mts +0 -8
  217. package/lib/css/parser/tree.mjs +0 -38
  218. package/lib/css/parser/types.cjs +0 -2
  219. package/lib/css/parser/types.d.cts +0 -52
  220. package/lib/css/parser/types.d.mts +0 -52
  221. package/lib/css/parser/types.mjs +0 -1
  222. package/lib/download/api/cache.cjs +0 -91
  223. package/lib/download/api/cache.d.cts +0 -20
  224. package/lib/download/api/cache.d.mts +0 -20
  225. package/lib/download/api/cache.mjs +0 -86
  226. package/lib/download/api/config.cjs +0 -11
  227. package/lib/download/api/config.d.cts +0 -18
  228. package/lib/download/api/config.d.mts +0 -18
  229. package/lib/download/api/config.mjs +0 -8
  230. package/lib/download/api/download.cjs +0 -26
  231. package/lib/download/api/download.d.cts +0 -8
  232. package/lib/download/api/download.d.mts +0 -8
  233. package/lib/download/api/download.mjs +0 -24
  234. package/lib/download/api/fetch.cjs +0 -12
  235. package/lib/download/api/fetch.d.cts +0 -10
  236. package/lib/download/api/fetch.d.mts +0 -10
  237. package/lib/download/api/fetch.mjs +0 -9
  238. package/lib/download/api/index.cjs +0 -57
  239. package/lib/download/api/index.d.cts +0 -8
  240. package/lib/download/api/index.d.mts +0 -8
  241. package/lib/download/api/index.mjs +0 -55
  242. package/lib/download/api/queue.cjs +0 -104
  243. package/lib/download/api/queue.d.cts +0 -32
  244. package/lib/download/api/queue.d.mts +0 -32
  245. package/lib/download/api/queue.mjs +0 -101
  246. package/lib/download/api/types.cjs +0 -2
  247. package/lib/download/api/types.d.cts +0 -17
  248. package/lib/download/api/types.d.mts +0 -17
  249. package/lib/download/api/types.mjs +0 -1
  250. package/lib/download/git/branch.cjs +0 -19
  251. package/lib/download/git/branch.d.cts +0 -8
  252. package/lib/download/git/branch.d.mts +0 -8
  253. package/lib/download/git/branch.mjs +0 -17
  254. package/lib/download/git/hash.cjs +0 -14
  255. package/lib/download/git/hash.d.cts +0 -8
  256. package/lib/download/git/hash.d.mts +0 -8
  257. package/lib/download/git/hash.mjs +0 -12
  258. package/lib/download/git/index.cjs +0 -76
  259. package/lib/download/git/index.d.cts +0 -29
  260. package/lib/download/git/index.d.mts +0 -29
  261. package/lib/download/git/index.mjs +0 -74
  262. package/lib/download/git/reset.cjs +0 -36
  263. package/lib/download/git/reset.d.cts +0 -6
  264. package/lib/download/git/reset.d.mts +0 -6
  265. package/lib/download/git/reset.mjs +0 -34
  266. package/lib/download/github/hash.cjs +0 -31
  267. package/lib/download/github/hash.d.cts +0 -8
  268. package/lib/download/github/hash.d.mts +0 -8
  269. package/lib/download/github/hash.mjs +0 -29
  270. package/lib/download/github/index.cjs +0 -105
  271. package/lib/download/github/index.d.cts +0 -31
  272. package/lib/download/github/index.d.mts +0 -31
  273. package/lib/download/github/index.mjs +0 -103
  274. package/lib/download/github/types.cjs +0 -2
  275. package/lib/download/github/types.d.cts +0 -11
  276. package/lib/download/github/types.d.mts +0 -11
  277. package/lib/download/github/types.mjs +0 -1
  278. package/lib/download/gitlab/hash.cjs +0 -33
  279. package/lib/download/gitlab/hash.d.cts +0 -8
  280. package/lib/download/gitlab/hash.d.mts +0 -8
  281. package/lib/download/gitlab/hash.mjs +0 -31
  282. package/lib/download/gitlab/index.cjs +0 -105
  283. package/lib/download/gitlab/index.d.cts +0 -31
  284. package/lib/download/gitlab/index.d.mts +0 -31
  285. package/lib/download/gitlab/index.mjs +0 -103
  286. package/lib/download/gitlab/types.cjs +0 -5
  287. package/lib/download/gitlab/types.d.cts +0 -15
  288. package/lib/download/gitlab/types.d.mts +0 -15
  289. package/lib/download/gitlab/types.mjs +0 -3
  290. package/lib/download/helpers/untar.cjs +0 -12
  291. package/lib/download/helpers/untar.d.cts +0 -6
  292. package/lib/download/helpers/untar.d.mts +0 -6
  293. package/lib/download/helpers/untar.mjs +0 -10
  294. package/lib/download/helpers/unzip.cjs +0 -17
  295. package/lib/download/helpers/unzip.d.cts +0 -6
  296. package/lib/download/helpers/unzip.d.mts +0 -6
  297. package/lib/download/helpers/unzip.mjs +0 -11
  298. package/lib/download/index.cjs +0 -64
  299. package/lib/download/index.d.cts +0 -48
  300. package/lib/download/index.d.mts +0 -48
  301. package/lib/download/index.mjs +0 -62
  302. package/lib/download/npm/index.cjs +0 -85
  303. package/lib/download/npm/index.d.cts +0 -30
  304. package/lib/download/npm/index.d.mts +0 -30
  305. package/lib/download/npm/index.mjs +0 -83
  306. package/lib/download/npm/types.cjs +0 -2
  307. package/lib/download/npm/types.d.cts +0 -9
  308. package/lib/download/npm/types.d.mts +0 -9
  309. package/lib/download/npm/types.mjs +0 -1
  310. package/lib/download/npm/version.cjs +0 -29
  311. package/lib/download/npm/version.d.cts +0 -16
  312. package/lib/download/npm/version.d.mts +0 -16
  313. package/lib/download/npm/version.mjs +0 -26
  314. package/lib/download/types/modified.cjs +0 -2
  315. package/lib/download/types/modified.d.cts +0 -6
  316. package/lib/download/types/modified.d.mts +0 -6
  317. package/lib/download/types/modified.mjs +0 -1
  318. package/lib/download/types/sources.cjs +0 -2
  319. package/lib/download/types/sources.d.cts +0 -12
  320. package/lib/download/types/sources.d.mts +0 -12
  321. package/lib/download/types/sources.mjs +0 -1
  322. package/lib/export/directory.cjs +0 -43
  323. package/lib/export/directory.d.cts +0 -26
  324. package/lib/export/directory.d.mts +0 -26
  325. package/lib/export/directory.mjs +0 -41
  326. package/lib/export/helpers/custom-files.cjs +0 -26
  327. package/lib/export/helpers/custom-files.d.cts +0 -12
  328. package/lib/export/helpers/custom-files.d.mts +0 -12
  329. package/lib/export/helpers/custom-files.mjs +0 -24
  330. package/lib/export/helpers/prepare.cjs +0 -34
  331. package/lib/export/helpers/prepare.d.cts +0 -19
  332. package/lib/export/helpers/prepare.d.mts +0 -19
  333. package/lib/export/helpers/prepare.mjs +0 -31
  334. package/lib/export/helpers/types-version.cjs +0 -12
  335. package/lib/export/helpers/types-version.d.cts +0 -6
  336. package/lib/export/helpers/types-version.d.mts +0 -6
  337. package/lib/export/helpers/types-version.mjs +0 -10
  338. package/lib/export/icon-package.cjs +0 -56
  339. package/lib/export/icon-package.d.cts +0 -26
  340. package/lib/export/icon-package.d.mts +0 -26
  341. package/lib/export/icon-package.mjs +0 -54
  342. package/lib/export/json-package.cjs +0 -144
  343. package/lib/export/json-package.d.cts +0 -25
  344. package/lib/export/json-package.d.mts +0 -25
  345. package/lib/export/json-package.mjs +0 -142
  346. package/lib/icon-set/index.cjs +0 -720
  347. package/lib/icon-set/index.d.cts +0 -162
  348. package/lib/icon-set/index.d.mts +0 -162
  349. package/lib/icon-set/index.mjs +0 -716
  350. package/lib/icon-set/match.cjs +0 -56
  351. package/lib/icon-set/match.d.cts +0 -15
  352. package/lib/icon-set/match.d.mts +0 -15
  353. package/lib/icon-set/match.mjs +0 -54
  354. package/lib/icon-set/merge.cjs +0 -87
  355. package/lib/icon-set/merge.d.cts +0 -14
  356. package/lib/icon-set/merge.d.mts +0 -14
  357. package/lib/icon-set/merge.mjs +0 -85
  358. package/lib/icon-set/modified.cjs +0 -25
  359. package/lib/icon-set/modified.d.cts +0 -16
  360. package/lib/icon-set/modified.d.mts +0 -16
  361. package/lib/icon-set/modified.mjs +0 -23
  362. package/lib/icon-set/props.cjs +0 -16
  363. package/lib/icon-set/props.d.cts +0 -13
  364. package/lib/icon-set/props.d.mts +0 -13
  365. package/lib/icon-set/props.mjs +0 -13
  366. package/lib/icon-set/tags.cjs +0 -95
  367. package/lib/icon-set/tags.d.cts +0 -25
  368. package/lib/icon-set/tags.d.mts +0 -25
  369. package/lib/icon-set/tags.mjs +0 -91
  370. package/lib/icon-set/types.cjs +0 -2
  371. package/lib/icon-set/types.d.cts +0 -75
  372. package/lib/icon-set/types.d.mts +0 -75
  373. package/lib/icon-set/types.mjs +0 -1
  374. package/lib/import/directory.cjs +0 -169
  375. package/lib/import/directory.d.cts +0 -52
  376. package/lib/import/directory.d.mts +0 -52
  377. package/lib/import/directory.mjs +0 -166
  378. package/lib/import/figma/index.cjs +0 -115
  379. package/lib/import/figma/index.d.cts +0 -20
  380. package/lib/import/figma/index.d.mts +0 -20
  381. package/lib/import/figma/index.mjs +0 -113
  382. package/lib/import/figma/nodes.cjs +0 -90
  383. package/lib/import/figma/nodes.d.cts +0 -18
  384. package/lib/import/figma/nodes.d.mts +0 -18
  385. package/lib/import/figma/nodes.mjs +0 -88
  386. package/lib/import/figma/query.cjs +0 -260
  387. package/lib/import/figma/query.d.cts +0 -42
  388. package/lib/import/figma/query.d.mts +0 -42
  389. package/lib/import/figma/query.mjs +0 -256
  390. package/lib/import/figma/types/api.cjs +0 -2
  391. package/lib/import/figma/types/api.d.cts +0 -53
  392. package/lib/import/figma/types/api.d.mts +0 -53
  393. package/lib/import/figma/types/api.mjs +0 -1
  394. package/lib/import/figma/types/nodes.cjs +0 -2
  395. package/lib/import/figma/types/nodes.d.cts +0 -44
  396. package/lib/import/figma/types/nodes.d.mts +0 -44
  397. package/lib/import/figma/types/nodes.mjs +0 -1
  398. package/lib/import/figma/types/options.cjs +0 -2
  399. package/lib/import/figma/types/options.d.cts +0 -59
  400. package/lib/import/figma/types/options.d.mts +0 -59
  401. package/lib/import/figma/types/options.mjs +0 -1
  402. package/lib/import/figma/types/result.cjs +0 -2
  403. package/lib/import/figma/types/result.d.cts +0 -44
  404. package/lib/import/figma/types/result.d.mts +0 -44
  405. package/lib/import/figma/types/result.mjs +0 -1
  406. package/lib/index.cjs +0 -157
  407. package/lib/index.d.cts +0 -80
  408. package/lib/index.d.mts +0 -80
  409. package/lib/index.mjs +0 -91
  410. package/lib/misc/bump-version.cjs +0 -15
  411. package/lib/misc/bump-version.d.cts +0 -6
  412. package/lib/misc/bump-version.d.mts +0 -6
  413. package/lib/misc/bump-version.mjs +0 -13
  414. package/lib/misc/cheerio.cjs +0 -2
  415. package/lib/misc/cheerio.d.cts +0 -10
  416. package/lib/misc/cheerio.d.mts +0 -10
  417. package/lib/misc/cheerio.d.ts +0 -10
  418. package/lib/misc/cheerio.mjs +0 -1
  419. package/lib/misc/compare-dirs.cjs +0 -75
  420. package/lib/misc/compare-dirs.d.cts +0 -11
  421. package/lib/misc/compare-dirs.d.mts +0 -11
  422. package/lib/misc/compare-dirs.mjs +0 -73
  423. package/lib/misc/exec.cjs +0 -27
  424. package/lib/misc/exec.d.cts +0 -12
  425. package/lib/misc/exec.d.mts +0 -12
  426. package/lib/misc/exec.mjs +0 -25
  427. package/lib/misc/keyword.cjs +0 -20
  428. package/lib/misc/keyword.d.cts +0 -6
  429. package/lib/misc/keyword.d.mts +0 -6
  430. package/lib/misc/keyword.mjs +0 -18
  431. package/lib/misc/scan.cjs +0 -114
  432. package/lib/misc/scan.d.cts +0 -33
  433. package/lib/misc/scan.d.mts +0 -33
  434. package/lib/misc/scan.mjs +0 -111
  435. package/lib/misc/write-json.cjs +0 -9
  436. package/lib/misc/write-json.d.cts +0 -6
  437. package/lib/misc/write-json.d.mts +0 -6
  438. package/lib/misc/write-json.mjs +0 -7
  439. package/lib/optimise/figma.cjs +0 -232
  440. package/lib/optimise/figma.d.cts +0 -14
  441. package/lib/optimise/figma.d.mts +0 -14
  442. package/lib/optimise/figma.mjs +0 -230
  443. package/lib/optimise/flags.cjs +0 -256
  444. package/lib/optimise/flags.d.cts +0 -11
  445. package/lib/optimise/flags.d.mts +0 -11
  446. package/lib/optimise/flags.mjs +0 -254
  447. package/lib/optimise/global-style.cjs +0 -158
  448. package/lib/optimise/global-style.d.cts +0 -11
  449. package/lib/optimise/global-style.d.mts +0 -11
  450. package/lib/optimise/global-style.mjs +0 -156
  451. package/lib/optimise/mask.cjs +0 -110
  452. package/lib/optimise/mask.d.cts +0 -24
  453. package/lib/optimise/mask.d.mts +0 -24
  454. package/lib/optimise/mask.mjs +0 -108
  455. package/lib/optimise/origin.cjs +0 -23
  456. package/lib/optimise/origin.d.cts +0 -11
  457. package/lib/optimise/origin.d.mts +0 -11
  458. package/lib/optimise/origin.mjs +0 -21
  459. package/lib/optimise/scale.cjs +0 -27
  460. package/lib/optimise/scale.d.cts +0 -11
  461. package/lib/optimise/scale.d.mts +0 -11
  462. package/lib/optimise/scale.mjs +0 -25
  463. package/lib/optimise/svgo.cjs +0 -107
  464. package/lib/optimise/svgo.d.cts +0 -37
  465. package/lib/optimise/svgo.d.mts +0 -37
  466. package/lib/optimise/svgo.mjs +0 -104
  467. package/lib/optimise/unwrap.cjs +0 -31
  468. package/lib/optimise/unwrap.d.cts +0 -11
  469. package/lib/optimise/unwrap.d.mts +0 -11
  470. package/lib/optimise/unwrap.mjs +0 -29
  471. package/lib/svg/analyse/error.cjs +0 -16
  472. package/lib/svg/analyse/error.d.cts +0 -11
  473. package/lib/svg/analyse/error.d.mts +0 -11
  474. package/lib/svg/analyse/error.mjs +0 -14
  475. package/lib/svg/analyse/types.cjs +0 -2
  476. package/lib/svg/analyse/types.d.cts +0 -93
  477. package/lib/svg/analyse/types.d.mts +0 -93
  478. package/lib/svg/analyse/types.mjs +0 -1
  479. package/lib/svg/analyse.cjs +0 -303
  480. package/lib/svg/analyse.d.cts +0 -16
  481. package/lib/svg/analyse.d.mts +0 -16
  482. package/lib/svg/analyse.mjs +0 -301
  483. package/lib/svg/cleanup/attribs.cjs +0 -39
  484. package/lib/svg/cleanup/attribs.d.cts +0 -11
  485. package/lib/svg/cleanup/attribs.d.mts +0 -11
  486. package/lib/svg/cleanup/attribs.mjs +0 -37
  487. package/lib/svg/cleanup/bad-tags.cjs +0 -69
  488. package/lib/svg/cleanup/bad-tags.d.cts +0 -17
  489. package/lib/svg/cleanup/bad-tags.d.mts +0 -17
  490. package/lib/svg/cleanup/bad-tags.mjs +0 -67
  491. package/lib/svg/cleanup/inline-style.cjs +0 -97
  492. package/lib/svg/cleanup/inline-style.d.cts +0 -11
  493. package/lib/svg/cleanup/inline-style.d.mts +0 -11
  494. package/lib/svg/cleanup/inline-style.mjs +0 -95
  495. package/lib/svg/cleanup/root-style.cjs +0 -34
  496. package/lib/svg/cleanup/root-style.d.cts +0 -17
  497. package/lib/svg/cleanup/root-style.d.mts +0 -17
  498. package/lib/svg/cleanup/root-style.mjs +0 -32
  499. package/lib/svg/cleanup/root-svg.cjs +0 -84
  500. package/lib/svg/cleanup/root-svg.d.cts +0 -11
  501. package/lib/svg/cleanup/root-svg.d.mts +0 -11
  502. package/lib/svg/cleanup/root-svg.mjs +0 -82
  503. package/lib/svg/cleanup/svgo-style.cjs +0 -43
  504. package/lib/svg/cleanup/svgo-style.d.cts +0 -11
  505. package/lib/svg/cleanup/svgo-style.d.mts +0 -11
  506. package/lib/svg/cleanup/svgo-style.mjs +0 -41
  507. package/lib/svg/cleanup.cjs +0 -33
  508. package/lib/svg/cleanup.d.cts +0 -16
  509. package/lib/svg/cleanup.d.mts +0 -16
  510. package/lib/svg/cleanup.mjs +0 -31
  511. package/lib/svg/data/attributes.cjs +0 -373
  512. package/lib/svg/data/attributes.d.cts +0 -77
  513. package/lib/svg/data/attributes.d.mts +0 -77
  514. package/lib/svg/data/attributes.mjs +0 -346
  515. package/lib/svg/data/tags.cjs +0 -141
  516. package/lib/svg/data/tags.d.cts +0 -95
  517. package/lib/svg/data/tags.d.mts +0 -95
  518. package/lib/svg/data/tags.mjs +0 -117
  519. package/lib/svg/index.cjs +0 -178
  520. package/lib/svg/index.d.cts +0 -52
  521. package/lib/svg/index.d.mts +0 -52
  522. package/lib/svg/index.mjs +0 -162
  523. package/lib/svg/parse-style.cjs +0 -243
  524. package/lib/svg/parse-style.d.cts +0 -59
  525. package/lib/svg/parse-style.d.mts +0 -59
  526. package/lib/svg/parse-style.mjs +0 -241
  527. package/lib/svg/parse.cjs +0 -46
  528. package/lib/svg/parse.d.cts +0 -31
  529. package/lib/svg/parse.d.mts +0 -31
  530. package/lib/svg/parse.mjs +0 -44
@@ -0,0 +1,451 @@
1
+ import { filterChildTags, shapeTags } from "./tags.js";
2
+
3
+ /**
4
+ * This list is highly opinionated. It is designed to handle icons that can be safely embedded in HTML and linked as external source.
5
+ * Icons cannot have anything that requires external resources, anything that renders inconsistently.
6
+ */
7
+ /***** Attributes that are not part of tag specific stuff *****/
8
+ /**
9
+ * Attributes that icons should not mess with or that are irrelevant. They should be removed
10
+ */
11
+ const badAttributes = new Set([
12
+ "cursor",
13
+ "pointer-events",
14
+ "shape-rendering",
15
+ "tabindex",
16
+ "requiredExtensions",
17
+ "requiredFeatures",
18
+ "systemLanguage",
19
+ "role",
20
+ "title"
21
+ ]);
22
+ /**
23
+ * Attributes for SVG element that should be removed
24
+ */
25
+ const junkSVGAttributes = new Set([
26
+ "xmlns:xlink",
27
+ "baseProfile",
28
+ "contentScriptType",
29
+ "contentStyleType",
30
+ "version",
31
+ "x",
32
+ "y",
33
+ "zoomAndPan"
34
+ ]);
35
+ /**
36
+ * Attributes and styles often added by bad software to wrong tags, such as Adobe Illustrator and Inkscape
37
+ */
38
+ const badSoftwareAttributes = new Set([
39
+ "isolation",
40
+ "enable-background",
41
+ "overflow",
42
+ "marker",
43
+ "white-space",
44
+ "direction"
45
+ ]);
46
+ const badAttributePrefixes = new Set([
47
+ "image",
48
+ "mix",
49
+ "block",
50
+ "data",
51
+ "aria",
52
+ "text",
53
+ "font",
54
+ "letter",
55
+ "baseline",
56
+ "word",
57
+ "line",
58
+ "writing",
59
+ ""
60
+ ]);
61
+ /**
62
+ * Common attributes that can exist on any element
63
+ */
64
+ const commonAttributes = new Set(["id"]);
65
+ const stylingAttributes = new Set(["class", "style"]);
66
+ /**
67
+ * Attributes that exist only on child elements of <clipPath>
68
+ */
69
+ const insideClipPathAttributes = new Set(["clip-rule"]);
70
+ /***** Other attributes, added to tagSpecificAttributes variable below *****/
71
+ /**
72
+ * Presentational attributes
73
+ */
74
+ const fillPresentationalAttributes = new Set(["fill-opacity", "fill-rule"]);
75
+ const strokePresentationalAttributes = new Set([
76
+ "stroke-dasharray",
77
+ "stroke-dashoffset",
78
+ "stroke-linecap",
79
+ "stroke-linejoin",
80
+ "stroke-miterlimit",
81
+ "stroke-opacity",
82
+ "stroke-width"
83
+ ]);
84
+ const urlPresentationalAttributes = new Set([
85
+ "clip-path",
86
+ "filter",
87
+ "mask"
88
+ ]);
89
+ const visibilityPresentationalAttributes = new Set([
90
+ "display",
91
+ "opacity",
92
+ "visibility"
93
+ ]);
94
+ const commonColorPresentationalAttributes = new Set([
95
+ "color",
96
+ "fill",
97
+ "stroke"
98
+ ]);
99
+ const otherPresentationalAttributes = new Set([
100
+ "color-interpolation",
101
+ "color-rendering",
102
+ "transform",
103
+ "vector-effect"
104
+ ]);
105
+ const presentationalAttributes = new Set([
106
+ ...fillPresentationalAttributes,
107
+ ...strokePresentationalAttributes,
108
+ ...urlPresentationalAttributes,
109
+ ...visibilityPresentationalAttributes,
110
+ ...commonColorPresentationalAttributes,
111
+ ...otherPresentationalAttributes
112
+ ]);
113
+ /**
114
+ * Markers
115
+ *
116
+ * Presentational attributes
117
+ */
118
+ const markerAttributes = new Set([
119
+ "marker-start",
120
+ "marker-mid",
121
+ "marker-end"
122
+ ]);
123
+ /**
124
+ * Shapes
125
+ *
126
+ * Not presentational
127
+ */
128
+ const otherShapeAttributes = new Set(["pathLength"]);
129
+ /**
130
+ * Animations
131
+ */
132
+ const animationTimingAttributes = new Set([
133
+ "begin",
134
+ "dur",
135
+ "end",
136
+ "min",
137
+ "max",
138
+ "restart",
139
+ "repeatCount",
140
+ "repeatDur",
141
+ "fill"
142
+ ]);
143
+ const animationValueAttributes = new Set([
144
+ "calcMode",
145
+ "values",
146
+ "keyTimes",
147
+ "keySplines",
148
+ "from",
149
+ "to",
150
+ "by"
151
+ ]);
152
+ const otherAnimationAttributes = new Set([
153
+ "attributeName",
154
+ "additive",
155
+ "accumulate"
156
+ ]);
157
+ /**
158
+ * Gradients
159
+ */
160
+ const commonGradientAttributes = new Set([
161
+ "gradientUnits",
162
+ "gradientTransform",
163
+ "href",
164
+ "spreadMethod"
165
+ ]);
166
+ /**
167
+ * Filters
168
+ */
169
+ const commonFeAttributes = new Set([
170
+ "x",
171
+ "y",
172
+ "width",
173
+ "height",
174
+ "color-interpolation-filters"
175
+ ]);
176
+ const feFuncAttributes = new Set([
177
+ "type",
178
+ "tableValues",
179
+ "slope",
180
+ "intercept",
181
+ "amplitude",
182
+ "exponent",
183
+ "offset",
184
+ ...commonFeAttributes
185
+ ]);
186
+ /**
187
+ * Tag specific attributes
188
+ */
189
+ const tagSpecificAnimatedAttributes = {
190
+ circle: new Set([
191
+ "cx",
192
+ "cy",
193
+ "r"
194
+ ]),
195
+ ellipse: new Set([
196
+ "cx",
197
+ "cy",
198
+ "rx",
199
+ "ry"
200
+ ]),
201
+ line: new Set([
202
+ "x1",
203
+ "x2",
204
+ "y1",
205
+ "y2"
206
+ ]),
207
+ path: new Set(["d"]),
208
+ polygon: new Set(["points"]),
209
+ polyline: new Set(["points"]),
210
+ rect: new Set([
211
+ "x",
212
+ "y",
213
+ "width",
214
+ "height",
215
+ "rx",
216
+ "ry"
217
+ ])
218
+ };
219
+ const tagSpecificPresentationalAttributes = {
220
+ svg: new Set([
221
+ "width",
222
+ "height",
223
+ ...presentationalAttributes
224
+ ]),
225
+ clipPath: new Set([...presentationalAttributes]),
226
+ defs: /* @__PURE__ */ new Set([]),
227
+ g: new Set([...presentationalAttributes]),
228
+ mask: new Set([
229
+ "x",
230
+ "y",
231
+ "width",
232
+ "height",
233
+ ...presentationalAttributes
234
+ ]),
235
+ symbol: new Set([
236
+ "x",
237
+ "y",
238
+ "width",
239
+ "height",
240
+ ...presentationalAttributes
241
+ ]),
242
+ use: new Set([
243
+ "x",
244
+ "y",
245
+ "width",
246
+ "height",
247
+ "refX",
248
+ "refY",
249
+ ...presentationalAttributes
250
+ ]),
251
+ marker: new Set([...presentationalAttributes]),
252
+ linearGradient: new Set([
253
+ "x1",
254
+ "x2",
255
+ "y1",
256
+ "y2",
257
+ ...presentationalAttributes
258
+ ]),
259
+ radialGradient: new Set([
260
+ "cx",
261
+ "cy",
262
+ "fr",
263
+ "fx",
264
+ "fy",
265
+ "r",
266
+ ...presentationalAttributes
267
+ ]),
268
+ stop: new Set([
269
+ "offset",
270
+ "stop-color",
271
+ "stop-opacity"
272
+ ]),
273
+ feFlood: new Set(["flood-color", "flood-opacity"]),
274
+ feDropShadow: new Set(["flood-color", "flood-opacity"])
275
+ };
276
+ shapeTags.forEach((tag) => {
277
+ tagSpecificPresentationalAttributes[tag] = new Set([
278
+ ...presentationalAttributes,
279
+ ...markerAttributes,
280
+ ...tagSpecificPresentationalAttributes[tag] || []
281
+ ]);
282
+ });
283
+ filterChildTags.forEach((tag) => {
284
+ tagSpecificPresentationalAttributes[tag] = new Set([...commonFeAttributes, ...tagSpecificPresentationalAttributes[tag] || []]);
285
+ });
286
+ const tagSpecificNonPresentationalAttributes = {
287
+ svg: new Set([
288
+ "xmlns",
289
+ "viewBox",
290
+ "preserveAspectRatio"
291
+ ]),
292
+ clipPath: new Set(["clipPathUnits"]),
293
+ mask: new Set(["maskContentUnits", "maskUnits"]),
294
+ symbol: new Set(["viewBox", "preserveAspectRatio"]),
295
+ circle: new Set([...otherShapeAttributes]),
296
+ ellipse: new Set([...otherShapeAttributes]),
297
+ line: new Set([...otherShapeAttributes]),
298
+ path: new Set([...otherShapeAttributes]),
299
+ polygon: new Set([...otherShapeAttributes]),
300
+ polyline: new Set([...otherShapeAttributes]),
301
+ rect: new Set([...otherShapeAttributes]),
302
+ use: new Set(["href"]),
303
+ marker: new Set([
304
+ "markerHeight",
305
+ "markerUnits",
306
+ "markerWidth",
307
+ "orient",
308
+ "preserveAspectRatio",
309
+ "refX",
310
+ "refY",
311
+ "viewBox"
312
+ ]),
313
+ animate: new Set([
314
+ ...animationTimingAttributes,
315
+ ...animationValueAttributes,
316
+ ...otherAnimationAttributes
317
+ ]),
318
+ animateMotion: new Set([
319
+ "keyPoints",
320
+ "path",
321
+ "rotate",
322
+ ...animationTimingAttributes,
323
+ ...animationValueAttributes,
324
+ ...otherAnimationAttributes
325
+ ]),
326
+ animateTransform: new Set([
327
+ "by",
328
+ "from",
329
+ "to",
330
+ "type",
331
+ ...animationTimingAttributes,
332
+ ...animationValueAttributes,
333
+ ...otherAnimationAttributes
334
+ ]),
335
+ discard: new Set(["begin", "href"]),
336
+ set: new Set([
337
+ "to",
338
+ ...animationTimingAttributes,
339
+ ...otherAnimationAttributes
340
+ ]),
341
+ mpath: new Set(["href"]),
342
+ linearGradient: new Set([...commonGradientAttributes]),
343
+ radialGradient: new Set([...commonGradientAttributes]),
344
+ feSpotLight: new Set([
345
+ "x",
346
+ "y",
347
+ "z",
348
+ "pointsAtX",
349
+ "pointsAtY",
350
+ "pointsAtZ",
351
+ "specularExponent",
352
+ "limitingConeAngle"
353
+ ]),
354
+ feBlend: new Set([
355
+ "in",
356
+ "in2",
357
+ "mode"
358
+ ]),
359
+ feColorMatrix: new Set([
360
+ "in",
361
+ "type",
362
+ "values"
363
+ ]),
364
+ feComponentTransfer: new Set(["in"]),
365
+ feComposite: new Set([
366
+ "in",
367
+ "in2",
368
+ "operator",
369
+ "k1",
370
+ "k2",
371
+ "k3",
372
+ "k4"
373
+ ]),
374
+ feConvolveMatrix: new Set([
375
+ "in",
376
+ "order",
377
+ "kernelMatrix",
378
+ "divisor",
379
+ "bias",
380
+ "targetX",
381
+ "targetY",
382
+ "edgeMode",
383
+ "kernelUnitLength",
384
+ "preserveAlpha"
385
+ ]),
386
+ feDiffuseLighting: new Set([
387
+ "in",
388
+ "surfaceScale",
389
+ "diffuseConstant",
390
+ "kernelUnitLength"
391
+ ]),
392
+ feDisplacementMap: new Set([
393
+ "in",
394
+ "in2",
395
+ "scale",
396
+ "xChannelSelector",
397
+ "yChannelSelector"
398
+ ]),
399
+ feDistantLight: new Set(["azimuth", "elevation"]),
400
+ feDropShadow: new Set([
401
+ "dx",
402
+ "dy",
403
+ "stdDeviation"
404
+ ]),
405
+ feGaussianBlur: new Set([
406
+ "in",
407
+ "stdDeviation",
408
+ "edgeMode"
409
+ ]),
410
+ feFuncA: feFuncAttributes,
411
+ feFuncR: feFuncAttributes,
412
+ feFuncG: feFuncAttributes,
413
+ feFuncB: feFuncAttributes,
414
+ feMergeNode: new Set(["in"]),
415
+ feMorphology: new Set([
416
+ "in",
417
+ "operator",
418
+ "radius"
419
+ ]),
420
+ feOffset: new Set([
421
+ "in",
422
+ "dx",
423
+ "dy"
424
+ ]),
425
+ fePointLight: new Set([
426
+ "x",
427
+ "y",
428
+ "z"
429
+ ]),
430
+ feSpecularLighting: new Set([
431
+ "in",
432
+ "surfaceScale",
433
+ "specularConstant",
434
+ "specularExponent",
435
+ "kernelUnitLength"
436
+ ]),
437
+ feTile: new Set(["in"]),
438
+ feTurbulence: new Set([
439
+ "baseFrequency",
440
+ "numOctaves",
441
+ "seed",
442
+ "stitchTiles",
443
+ "type"
444
+ ])
445
+ };
446
+ /**
447
+ * Styles to keep in tags
448
+ */
449
+ const tagSpecificInlineStyles = { mask: new Set(["mask-type"]) };
450
+
451
+ 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 };
@@ -91,5 +91,4 @@ declare const reusableElementsWithPalette: Set<string>;
91
91
  * All supported tags
92
92
  */
93
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 };
94
+ 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,182 @@
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
+ const badTags = new Set([
17
+ "foreignObject",
18
+ "script",
19
+ "image",
20
+ "feImage",
21
+ "animateColor",
22
+ "altGlyph",
23
+ "text",
24
+ "tspan",
25
+ "switch",
26
+ "textPath",
27
+ "font",
28
+ "font-face",
29
+ "glyph",
30
+ "missing-glyph",
31
+ "hkern",
32
+ "vhern",
33
+ "view",
34
+ "a"
35
+ ]);
36
+ /**
37
+ * Deprecated or irrelevant tags
38
+ *
39
+ * Tags that are quietly removed
40
+ */
41
+ const unsupportedTags = new Set([
42
+ "metadata",
43
+ "desc",
44
+ "title"
45
+ ]);
46
+ /**
47
+ * Style
48
+ */
49
+ const styleTag = new Set(["style"]);
50
+ /**
51
+ * Definitions: reusable elements inside
52
+ */
53
+ const defsTag = new Set(["defs"]);
54
+ /**
55
+ * Masks: colors are ignored, elements must have id
56
+ */
57
+ const maskTags = new Set(["clipPath", "mask"]);
58
+ /**
59
+ * Symbol
60
+ */
61
+ const symbolTag = new Set(["symbol"]);
62
+ /**
63
+ * SVG shapes
64
+ */
65
+ const shapeTags = new Set([
66
+ "circle",
67
+ "ellipse",
68
+ "line",
69
+ "path",
70
+ "polygon",
71
+ "polyline",
72
+ "rect"
73
+ ]);
74
+ /**
75
+ * Use
76
+ */
77
+ const useTag = new Set(["use"]);
78
+ /**
79
+ * Groups
80
+ */
81
+ const groupTag = new Set(["g"]);
82
+ /**
83
+ * Marker, should be inside <defs>
84
+ */
85
+ const markerTag = new Set(["marker"]);
86
+ /**
87
+ * SVG animations
88
+ */
89
+ const animateTags = new Set([
90
+ "animate",
91
+ "animateMotion",
92
+ "animateTransform",
93
+ "discard",
94
+ "set"
95
+ ]);
96
+ const animateMotionChildTags = new Set(["mpath"]);
97
+ /**
98
+ * Gradients, should be inside <defs>
99
+ */
100
+ const gradientTags = new Set(["linearGradient", "radialGradient"]);
101
+ /**
102
+ * Gradient color, must be inside one of gradientTags
103
+ */
104
+ const gradientChildTags = new Set(["stop"]);
105
+ /**
106
+ * Pattern, should be inside <defs>
107
+ */
108
+ const patternTag = new Set(["pattern"]);
109
+ /**
110
+ * Filters
111
+ */
112
+ const filterTag = new Set(["filter"]);
113
+ const feLightningTags = new Set(["feDiffuseLighting", "feSpecularLighting"]);
114
+ const filterChildTags = new Set([
115
+ "feBlend",
116
+ "feColorMatrix",
117
+ "feComponentTransfer",
118
+ "feComposite",
119
+ "feConvolveMatrix",
120
+ "feDisplacementMap",
121
+ "feDropShadow",
122
+ "feFlood",
123
+ "feGaussianBlur",
124
+ "feMerge",
125
+ "feMorphology",
126
+ "feOffset",
127
+ "feTile",
128
+ "feTurbulence",
129
+ ...feLightningTags
130
+ ]);
131
+ const feComponentTransferChildTag = new Set([
132
+ "feFuncR",
133
+ "feFuncG",
134
+ "feFuncB",
135
+ "feFuncA"
136
+ ]);
137
+ const feLightningChildTags = new Set([
138
+ "feSpotLight",
139
+ "fePointLight",
140
+ "feDistantLight"
141
+ ]);
142
+ const feMergeChildTags = new Set(["feMergeNode"]);
143
+ /***** Combination of tags *****/
144
+ /**
145
+ * Reusable elements that use colors
146
+ *
147
+ * Most are used via color attributes like `fill`
148
+ * Some are used via custom attributes like `marker-start`
149
+ * Filter is used via `filter`
150
+ */
151
+ const reusableElementsWithPalette = new Set([
152
+ ...gradientTags,
153
+ ...patternTag,
154
+ ...markerTag,
155
+ ...symbolTag,
156
+ ...filterTag
157
+ ]);
158
+ /**
159
+ * All supported tags
160
+ */
161
+ const allValidTags = new Set([
162
+ ...styleTag,
163
+ ...defsTag,
164
+ ...maskTags,
165
+ ...symbolTag,
166
+ ...shapeTags,
167
+ ...useTag,
168
+ ...groupTag,
169
+ ...markerTag,
170
+ ...animateTags,
171
+ ...animateMotionChildTags,
172
+ ...gradientTags,
173
+ ...gradientChildTags,
174
+ ...patternTag,
175
+ ...filterTag,
176
+ ...filterChildTags,
177
+ ...feComponentTransferChildTag,
178
+ ...feLightningChildTags,
179
+ ...feMergeChildTags
180
+ ]);
181
+
182
+ export { allValidTags, animateMotionChildTags, animateTags, badTags, defsTag, feComponentTransferChildTag, feLightningChildTags, feLightningTags, feMergeChildTags, filterChildTags, filterTag, gradientChildTags, gradientTags, groupTag, markerTag, maskTags, patternTag, reusableElementsWithPalette, shapeTags, styleTag, symbolTag, unsupportedTags, useTag };