@iconify/tools 4.2.0 → 5.0.0-beta.2

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 (534) 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 +26 -27
  110. package/lib/import/figma/types/api.js +1 -0
  111. package/lib/import/figma/types/nodes.d.ts +12 -21
  112. package/lib/import/figma/types/nodes.js +1 -0
  113. package/lib/import/figma/types/options.d.ts +23 -32
  114. package/lib/import/figma/types/options.js +1 -0
  115. package/lib/import/figma/types/result.d.ts +16 -24
  116. package/lib/import/figma/types/result.js +1 -0
  117. package/lib/index.d.ts +55 -80
  118. package/lib/index.js +56 -0
  119. package/lib/misc/bump-version.d.ts +1 -2
  120. package/lib/misc/bump-version.js +13 -0
  121. package/lib/misc/compare-dirs.d.ts +4 -5
  122. package/lib/misc/compare-dirs.js +65 -0
  123. package/lib/misc/exec.d.ts +4 -6
  124. package/lib/misc/exec.js +23 -0
  125. package/lib/misc/keyword.d.ts +1 -2
  126. package/lib/misc/keyword.js +12 -0
  127. package/lib/misc/scan.d.ts +2 -4
  128. package/lib/misc/scan.js +87 -0
  129. package/lib/misc/write-json.d.ts +1 -2
  130. package/lib/misc/write-json.js +10 -0
  131. package/lib/optimise/figma.d.ts +2 -7
  132. package/lib/optimise/figma.js +189 -0
  133. package/lib/optimise/flags.d.ts +2 -7
  134. package/lib/optimise/flags.js +231 -0
  135. package/lib/optimise/global-style.d.ts +2 -7
  136. package/lib/optimise/global-style.js +114 -0
  137. package/lib/optimise/mask.d.ts +9 -14
  138. package/lib/optimise/mask.js +83 -0
  139. package/lib/optimise/origin.d.ts +2 -7
  140. package/lib/optimise/origin.js +22 -0
  141. package/lib/optimise/scale.d.ts +2 -7
  142. package/lib/optimise/scale.js +24 -0
  143. package/lib/optimise/svgo.d.ts +10 -15
  144. package/lib/optimise/svgo.js +90 -0
  145. package/lib/optimise/unwrap.d.ts +2 -7
  146. package/lib/optimise/unwrap.js +25 -0
  147. package/lib/svg/analyse/error.d.ts +2 -7
  148. package/lib/svg/analyse/error.js +12 -0
  149. package/lib/svg/analyse/types.d.ts +31 -35
  150. package/lib/svg/analyse/types.js +1 -0
  151. package/lib/svg/analyse.d.ts +3 -10
  152. package/lib/svg/analyse.js +256 -0
  153. package/lib/svg/cleanup/attribs.d.ts +2 -7
  154. package/lib/svg/cleanup/attribs.js +37 -0
  155. package/lib/svg/cleanup/bad-tags.d.ts +3 -8
  156. package/lib/svg/cleanup/bad-tags.js +57 -0
  157. package/lib/svg/cleanup/inline-style.d.ts +2 -7
  158. package/lib/svg/cleanup/inline-style.js +80 -0
  159. package/lib/svg/cleanup/root-style.d.ts +4 -9
  160. package/lib/svg/cleanup/root-style.js +27 -0
  161. package/lib/svg/cleanup/root-svg.d.ts +2 -7
  162. package/lib/svg/cleanup/root-svg.js +73 -0
  163. package/lib/svg/cleanup/svgo-style.d.ts +2 -7
  164. package/lib/svg/cleanup/svgo-style.js +24 -0
  165. package/lib/svg/cleanup.d.ts +3 -8
  166. package/lib/svg/cleanup.js +20 -0
  167. package/lib/svg/data/attributes.d.ts +1 -2
  168. package/lib/svg/data/attributes.js +451 -0
  169. package/lib/svg/data/tags.d.ts +1 -2
  170. package/lib/svg/data/tags.js +182 -0
  171. package/lib/svg/index.d.ts +38 -47
  172. package/lib/svg/index.js +117 -0
  173. package/lib/svg/parse-style.d.ts +21 -28
  174. package/lib/svg/parse-style.js +199 -0
  175. package/lib/svg/parse.d.ts +8 -16
  176. package/lib/svg/parse.js +32 -0
  177. package/package.json +116 -222
  178. package/lib/colors/attribs.cjs +0 -33
  179. package/lib/colors/attribs.d.cts +0 -27
  180. package/lib/colors/attribs.d.mts +0 -27
  181. package/lib/colors/attribs.mjs +0 -26
  182. package/lib/colors/detect.cjs +0 -66
  183. package/lib/colors/detect.d.cts +0 -16
  184. package/lib/colors/detect.d.mts +0 -16
  185. package/lib/colors/detect.mjs +0 -64
  186. package/lib/colors/parse.cjs +0 -300
  187. package/lib/colors/parse.d.cts +0 -61
  188. package/lib/colors/parse.d.mts +0 -61
  189. package/lib/colors/parse.mjs +0 -297
  190. package/lib/colors/validate.cjs +0 -56
  191. package/lib/colors/validate.d.cts +0 -21
  192. package/lib/colors/validate.d.mts +0 -21
  193. package/lib/colors/validate.mjs +0 -54
  194. package/lib/css/parse.cjs +0 -24
  195. package/lib/css/parse.d.cts +0 -6
  196. package/lib/css/parse.d.mts +0 -6
  197. package/lib/css/parse.mjs +0 -22
  198. package/lib/css/parser/error.cjs +0 -23
  199. package/lib/css/parser/error.d.cts +0 -13
  200. package/lib/css/parser/error.d.mts +0 -13
  201. package/lib/css/parser/error.mjs +0 -21
  202. package/lib/css/parser/export.cjs +0 -37
  203. package/lib/css/parser/export.d.cts +0 -8
  204. package/lib/css/parser/export.d.mts +0 -8
  205. package/lib/css/parser/export.mjs +0 -35
  206. package/lib/css/parser/strings.cjs +0 -83
  207. package/lib/css/parser/strings.d.cts +0 -16
  208. package/lib/css/parser/strings.d.mts +0 -16
  209. package/lib/css/parser/strings.mjs +0 -80
  210. package/lib/css/parser/text.cjs +0 -114
  211. package/lib/css/parser/text.d.cts +0 -20
  212. package/lib/css/parser/text.d.mts +0 -20
  213. package/lib/css/parser/text.mjs +0 -109
  214. package/lib/css/parser/tokens.cjs +0 -206
  215. package/lib/css/parser/tokens.d.cts +0 -9
  216. package/lib/css/parser/tokens.d.mts +0 -9
  217. package/lib/css/parser/tokens.mjs +0 -204
  218. package/lib/css/parser/tree.cjs +0 -40
  219. package/lib/css/parser/tree.d.cts +0 -8
  220. package/lib/css/parser/tree.d.mts +0 -8
  221. package/lib/css/parser/tree.mjs +0 -38
  222. package/lib/css/parser/types.cjs +0 -2
  223. package/lib/css/parser/types.d.cts +0 -52
  224. package/lib/css/parser/types.d.mts +0 -52
  225. package/lib/css/parser/types.mjs +0 -1
  226. package/lib/download/api/cache.cjs +0 -91
  227. package/lib/download/api/cache.d.cts +0 -20
  228. package/lib/download/api/cache.d.mts +0 -20
  229. package/lib/download/api/cache.mjs +0 -86
  230. package/lib/download/api/config.cjs +0 -11
  231. package/lib/download/api/config.d.cts +0 -18
  232. package/lib/download/api/config.d.mts +0 -18
  233. package/lib/download/api/config.mjs +0 -8
  234. package/lib/download/api/download.cjs +0 -26
  235. package/lib/download/api/download.d.cts +0 -8
  236. package/lib/download/api/download.d.mts +0 -8
  237. package/lib/download/api/download.mjs +0 -24
  238. package/lib/download/api/fetch.cjs +0 -12
  239. package/lib/download/api/fetch.d.cts +0 -10
  240. package/lib/download/api/fetch.d.mts +0 -10
  241. package/lib/download/api/fetch.mjs +0 -9
  242. package/lib/download/api/index.cjs +0 -57
  243. package/lib/download/api/index.d.cts +0 -8
  244. package/lib/download/api/index.d.mts +0 -8
  245. package/lib/download/api/index.mjs +0 -55
  246. package/lib/download/api/queue.cjs +0 -104
  247. package/lib/download/api/queue.d.cts +0 -32
  248. package/lib/download/api/queue.d.mts +0 -32
  249. package/lib/download/api/queue.mjs +0 -101
  250. package/lib/download/api/types.cjs +0 -2
  251. package/lib/download/api/types.d.cts +0 -17
  252. package/lib/download/api/types.d.mts +0 -17
  253. package/lib/download/api/types.mjs +0 -1
  254. package/lib/download/git/branch.cjs +0 -19
  255. package/lib/download/git/branch.d.cts +0 -8
  256. package/lib/download/git/branch.d.mts +0 -8
  257. package/lib/download/git/branch.mjs +0 -17
  258. package/lib/download/git/hash.cjs +0 -14
  259. package/lib/download/git/hash.d.cts +0 -8
  260. package/lib/download/git/hash.d.mts +0 -8
  261. package/lib/download/git/hash.mjs +0 -12
  262. package/lib/download/git/index.cjs +0 -76
  263. package/lib/download/git/index.d.cts +0 -29
  264. package/lib/download/git/index.d.mts +0 -29
  265. package/lib/download/git/index.mjs +0 -74
  266. package/lib/download/git/reset.cjs +0 -36
  267. package/lib/download/git/reset.d.cts +0 -6
  268. package/lib/download/git/reset.d.mts +0 -6
  269. package/lib/download/git/reset.mjs +0 -34
  270. package/lib/download/github/hash.cjs +0 -31
  271. package/lib/download/github/hash.d.cts +0 -8
  272. package/lib/download/github/hash.d.mts +0 -8
  273. package/lib/download/github/hash.mjs +0 -29
  274. package/lib/download/github/index.cjs +0 -105
  275. package/lib/download/github/index.d.cts +0 -31
  276. package/lib/download/github/index.d.mts +0 -31
  277. package/lib/download/github/index.mjs +0 -103
  278. package/lib/download/github/types.cjs +0 -2
  279. package/lib/download/github/types.d.cts +0 -11
  280. package/lib/download/github/types.d.mts +0 -11
  281. package/lib/download/github/types.mjs +0 -1
  282. package/lib/download/gitlab/hash.cjs +0 -33
  283. package/lib/download/gitlab/hash.d.cts +0 -8
  284. package/lib/download/gitlab/hash.d.mts +0 -8
  285. package/lib/download/gitlab/hash.mjs +0 -31
  286. package/lib/download/gitlab/index.cjs +0 -105
  287. package/lib/download/gitlab/index.d.cts +0 -31
  288. package/lib/download/gitlab/index.d.mts +0 -31
  289. package/lib/download/gitlab/index.mjs +0 -103
  290. package/lib/download/gitlab/types.cjs +0 -5
  291. package/lib/download/gitlab/types.d.cts +0 -15
  292. package/lib/download/gitlab/types.d.mts +0 -15
  293. package/lib/download/gitlab/types.mjs +0 -3
  294. package/lib/download/helpers/untar.cjs +0 -12
  295. package/lib/download/helpers/untar.d.cts +0 -6
  296. package/lib/download/helpers/untar.d.mts +0 -6
  297. package/lib/download/helpers/untar.mjs +0 -10
  298. package/lib/download/helpers/unzip.cjs +0 -17
  299. package/lib/download/helpers/unzip.d.cts +0 -6
  300. package/lib/download/helpers/unzip.d.mts +0 -6
  301. package/lib/download/helpers/unzip.mjs +0 -11
  302. package/lib/download/index.cjs +0 -64
  303. package/lib/download/index.d.cts +0 -48
  304. package/lib/download/index.d.mts +0 -48
  305. package/lib/download/index.mjs +0 -62
  306. package/lib/download/npm/index.cjs +0 -85
  307. package/lib/download/npm/index.d.cts +0 -30
  308. package/lib/download/npm/index.d.mts +0 -30
  309. package/lib/download/npm/index.mjs +0 -83
  310. package/lib/download/npm/types.cjs +0 -2
  311. package/lib/download/npm/types.d.cts +0 -9
  312. package/lib/download/npm/types.d.mts +0 -9
  313. package/lib/download/npm/types.mjs +0 -1
  314. package/lib/download/npm/version.cjs +0 -29
  315. package/lib/download/npm/version.d.cts +0 -16
  316. package/lib/download/npm/version.d.mts +0 -16
  317. package/lib/download/npm/version.mjs +0 -26
  318. package/lib/download/types/modified.cjs +0 -2
  319. package/lib/download/types/modified.d.cts +0 -6
  320. package/lib/download/types/modified.d.mts +0 -6
  321. package/lib/download/types/modified.mjs +0 -1
  322. package/lib/download/types/sources.cjs +0 -2
  323. package/lib/download/types/sources.d.cts +0 -12
  324. package/lib/download/types/sources.d.mts +0 -12
  325. package/lib/download/types/sources.mjs +0 -1
  326. package/lib/export/directory.cjs +0 -43
  327. package/lib/export/directory.d.cts +0 -26
  328. package/lib/export/directory.d.mts +0 -26
  329. package/lib/export/directory.mjs +0 -41
  330. package/lib/export/helpers/custom-files.cjs +0 -26
  331. package/lib/export/helpers/custom-files.d.cts +0 -12
  332. package/lib/export/helpers/custom-files.d.mts +0 -12
  333. package/lib/export/helpers/custom-files.mjs +0 -24
  334. package/lib/export/helpers/prepare.cjs +0 -34
  335. package/lib/export/helpers/prepare.d.cts +0 -19
  336. package/lib/export/helpers/prepare.d.mts +0 -19
  337. package/lib/export/helpers/prepare.mjs +0 -31
  338. package/lib/export/helpers/types-version.cjs +0 -12
  339. package/lib/export/helpers/types-version.d.cts +0 -6
  340. package/lib/export/helpers/types-version.d.mts +0 -6
  341. package/lib/export/helpers/types-version.mjs +0 -10
  342. package/lib/export/icon-package.cjs +0 -56
  343. package/lib/export/icon-package.d.cts +0 -26
  344. package/lib/export/icon-package.d.mts +0 -26
  345. package/lib/export/icon-package.mjs +0 -54
  346. package/lib/export/json-package.cjs +0 -144
  347. package/lib/export/json-package.d.cts +0 -25
  348. package/lib/export/json-package.d.mts +0 -25
  349. package/lib/export/json-package.mjs +0 -142
  350. package/lib/icon-set/index.cjs +0 -720
  351. package/lib/icon-set/index.d.cts +0 -162
  352. package/lib/icon-set/index.d.mts +0 -162
  353. package/lib/icon-set/index.mjs +0 -716
  354. package/lib/icon-set/match.cjs +0 -56
  355. package/lib/icon-set/match.d.cts +0 -15
  356. package/lib/icon-set/match.d.mts +0 -15
  357. package/lib/icon-set/match.mjs +0 -54
  358. package/lib/icon-set/merge.cjs +0 -87
  359. package/lib/icon-set/merge.d.cts +0 -14
  360. package/lib/icon-set/merge.d.mts +0 -14
  361. package/lib/icon-set/merge.mjs +0 -85
  362. package/lib/icon-set/modified.cjs +0 -25
  363. package/lib/icon-set/modified.d.cts +0 -16
  364. package/lib/icon-set/modified.d.mts +0 -16
  365. package/lib/icon-set/modified.mjs +0 -23
  366. package/lib/icon-set/props.cjs +0 -16
  367. package/lib/icon-set/props.d.cts +0 -13
  368. package/lib/icon-set/props.d.mts +0 -13
  369. package/lib/icon-set/props.mjs +0 -13
  370. package/lib/icon-set/tags.cjs +0 -95
  371. package/lib/icon-set/tags.d.cts +0 -25
  372. package/lib/icon-set/tags.d.mts +0 -25
  373. package/lib/icon-set/tags.mjs +0 -91
  374. package/lib/icon-set/types.cjs +0 -2
  375. package/lib/icon-set/types.d.cts +0 -75
  376. package/lib/icon-set/types.d.mts +0 -75
  377. package/lib/icon-set/types.mjs +0 -1
  378. package/lib/import/directory.cjs +0 -169
  379. package/lib/import/directory.d.cts +0 -52
  380. package/lib/import/directory.d.mts +0 -52
  381. package/lib/import/directory.mjs +0 -166
  382. package/lib/import/figma/index.cjs +0 -115
  383. package/lib/import/figma/index.d.cts +0 -20
  384. package/lib/import/figma/index.d.mts +0 -20
  385. package/lib/import/figma/index.mjs +0 -113
  386. package/lib/import/figma/nodes.cjs +0 -90
  387. package/lib/import/figma/nodes.d.cts +0 -18
  388. package/lib/import/figma/nodes.d.mts +0 -18
  389. package/lib/import/figma/nodes.mjs +0 -88
  390. package/lib/import/figma/query.cjs +0 -260
  391. package/lib/import/figma/query.d.cts +0 -42
  392. package/lib/import/figma/query.d.mts +0 -42
  393. package/lib/import/figma/query.mjs +0 -256
  394. package/lib/import/figma/types/api.cjs +0 -2
  395. package/lib/import/figma/types/api.d.cts +0 -53
  396. package/lib/import/figma/types/api.d.mts +0 -53
  397. package/lib/import/figma/types/api.mjs +0 -1
  398. package/lib/import/figma/types/nodes.cjs +0 -2
  399. package/lib/import/figma/types/nodes.d.cts +0 -44
  400. package/lib/import/figma/types/nodes.d.mts +0 -44
  401. package/lib/import/figma/types/nodes.mjs +0 -1
  402. package/lib/import/figma/types/options.cjs +0 -2
  403. package/lib/import/figma/types/options.d.cts +0 -59
  404. package/lib/import/figma/types/options.d.mts +0 -59
  405. package/lib/import/figma/types/options.mjs +0 -1
  406. package/lib/import/figma/types/result.cjs +0 -2
  407. package/lib/import/figma/types/result.d.cts +0 -44
  408. package/lib/import/figma/types/result.d.mts +0 -44
  409. package/lib/import/figma/types/result.mjs +0 -1
  410. package/lib/index.cjs +0 -157
  411. package/lib/index.d.cts +0 -80
  412. package/lib/index.d.mts +0 -80
  413. package/lib/index.mjs +0 -91
  414. package/lib/misc/bump-version.cjs +0 -15
  415. package/lib/misc/bump-version.d.cts +0 -6
  416. package/lib/misc/bump-version.d.mts +0 -6
  417. package/lib/misc/bump-version.mjs +0 -13
  418. package/lib/misc/cheerio.cjs +0 -2
  419. package/lib/misc/cheerio.d.cts +0 -10
  420. package/lib/misc/cheerio.d.mts +0 -10
  421. package/lib/misc/cheerio.d.ts +0 -10
  422. package/lib/misc/cheerio.mjs +0 -1
  423. package/lib/misc/compare-dirs.cjs +0 -75
  424. package/lib/misc/compare-dirs.d.cts +0 -11
  425. package/lib/misc/compare-dirs.d.mts +0 -11
  426. package/lib/misc/compare-dirs.mjs +0 -73
  427. package/lib/misc/exec.cjs +0 -27
  428. package/lib/misc/exec.d.cts +0 -12
  429. package/lib/misc/exec.d.mts +0 -12
  430. package/lib/misc/exec.mjs +0 -25
  431. package/lib/misc/keyword.cjs +0 -20
  432. package/lib/misc/keyword.d.cts +0 -6
  433. package/lib/misc/keyword.d.mts +0 -6
  434. package/lib/misc/keyword.mjs +0 -18
  435. package/lib/misc/scan.cjs +0 -114
  436. package/lib/misc/scan.d.cts +0 -33
  437. package/lib/misc/scan.d.mts +0 -33
  438. package/lib/misc/scan.mjs +0 -111
  439. package/lib/misc/write-json.cjs +0 -9
  440. package/lib/misc/write-json.d.cts +0 -6
  441. package/lib/misc/write-json.d.mts +0 -6
  442. package/lib/misc/write-json.mjs +0 -7
  443. package/lib/optimise/figma.cjs +0 -232
  444. package/lib/optimise/figma.d.cts +0 -14
  445. package/lib/optimise/figma.d.mts +0 -14
  446. package/lib/optimise/figma.mjs +0 -230
  447. package/lib/optimise/flags.cjs +0 -256
  448. package/lib/optimise/flags.d.cts +0 -11
  449. package/lib/optimise/flags.d.mts +0 -11
  450. package/lib/optimise/flags.mjs +0 -254
  451. package/lib/optimise/global-style.cjs +0 -158
  452. package/lib/optimise/global-style.d.cts +0 -11
  453. package/lib/optimise/global-style.d.mts +0 -11
  454. package/lib/optimise/global-style.mjs +0 -156
  455. package/lib/optimise/mask.cjs +0 -110
  456. package/lib/optimise/mask.d.cts +0 -24
  457. package/lib/optimise/mask.d.mts +0 -24
  458. package/lib/optimise/mask.mjs +0 -108
  459. package/lib/optimise/origin.cjs +0 -23
  460. package/lib/optimise/origin.d.cts +0 -11
  461. package/lib/optimise/origin.d.mts +0 -11
  462. package/lib/optimise/origin.mjs +0 -21
  463. package/lib/optimise/scale.cjs +0 -27
  464. package/lib/optimise/scale.d.cts +0 -11
  465. package/lib/optimise/scale.d.mts +0 -11
  466. package/lib/optimise/scale.mjs +0 -25
  467. package/lib/optimise/svgo.cjs +0 -107
  468. package/lib/optimise/svgo.d.cts +0 -37
  469. package/lib/optimise/svgo.d.mts +0 -37
  470. package/lib/optimise/svgo.mjs +0 -104
  471. package/lib/optimise/unwrap.cjs +0 -31
  472. package/lib/optimise/unwrap.d.cts +0 -11
  473. package/lib/optimise/unwrap.d.mts +0 -11
  474. package/lib/optimise/unwrap.mjs +0 -29
  475. package/lib/svg/analyse/error.cjs +0 -16
  476. package/lib/svg/analyse/error.d.cts +0 -11
  477. package/lib/svg/analyse/error.d.mts +0 -11
  478. package/lib/svg/analyse/error.mjs +0 -14
  479. package/lib/svg/analyse/types.cjs +0 -2
  480. package/lib/svg/analyse/types.d.cts +0 -93
  481. package/lib/svg/analyse/types.d.mts +0 -93
  482. package/lib/svg/analyse/types.mjs +0 -1
  483. package/lib/svg/analyse.cjs +0 -303
  484. package/lib/svg/analyse.d.cts +0 -16
  485. package/lib/svg/analyse.d.mts +0 -16
  486. package/lib/svg/analyse.mjs +0 -301
  487. package/lib/svg/cleanup/attribs.cjs +0 -39
  488. package/lib/svg/cleanup/attribs.d.cts +0 -11
  489. package/lib/svg/cleanup/attribs.d.mts +0 -11
  490. package/lib/svg/cleanup/attribs.mjs +0 -37
  491. package/lib/svg/cleanup/bad-tags.cjs +0 -69
  492. package/lib/svg/cleanup/bad-tags.d.cts +0 -17
  493. package/lib/svg/cleanup/bad-tags.d.mts +0 -17
  494. package/lib/svg/cleanup/bad-tags.mjs +0 -67
  495. package/lib/svg/cleanup/inline-style.cjs +0 -97
  496. package/lib/svg/cleanup/inline-style.d.cts +0 -11
  497. package/lib/svg/cleanup/inline-style.d.mts +0 -11
  498. package/lib/svg/cleanup/inline-style.mjs +0 -95
  499. package/lib/svg/cleanup/root-style.cjs +0 -34
  500. package/lib/svg/cleanup/root-style.d.cts +0 -17
  501. package/lib/svg/cleanup/root-style.d.mts +0 -17
  502. package/lib/svg/cleanup/root-style.mjs +0 -32
  503. package/lib/svg/cleanup/root-svg.cjs +0 -84
  504. package/lib/svg/cleanup/root-svg.d.cts +0 -11
  505. package/lib/svg/cleanup/root-svg.d.mts +0 -11
  506. package/lib/svg/cleanup/root-svg.mjs +0 -82
  507. package/lib/svg/cleanup/svgo-style.cjs +0 -43
  508. package/lib/svg/cleanup/svgo-style.d.cts +0 -11
  509. package/lib/svg/cleanup/svgo-style.d.mts +0 -11
  510. package/lib/svg/cleanup/svgo-style.mjs +0 -41
  511. package/lib/svg/cleanup.cjs +0 -33
  512. package/lib/svg/cleanup.d.cts +0 -16
  513. package/lib/svg/cleanup.d.mts +0 -16
  514. package/lib/svg/cleanup.mjs +0 -31
  515. package/lib/svg/data/attributes.cjs +0 -373
  516. package/lib/svg/data/attributes.d.cts +0 -77
  517. package/lib/svg/data/attributes.d.mts +0 -77
  518. package/lib/svg/data/attributes.mjs +0 -346
  519. package/lib/svg/data/tags.cjs +0 -141
  520. package/lib/svg/data/tags.d.cts +0 -95
  521. package/lib/svg/data/tags.d.mts +0 -95
  522. package/lib/svg/data/tags.mjs +0 -117
  523. package/lib/svg/index.cjs +0 -178
  524. package/lib/svg/index.d.cts +0 -52
  525. package/lib/svg/index.d.mts +0 -52
  526. package/lib/svg/index.mjs +0 -162
  527. package/lib/svg/parse-style.cjs +0 -243
  528. package/lib/svg/parse-style.d.cts +0 -59
  529. package/lib/svg/parse-style.d.mts +0 -59
  530. package/lib/svg/parse-style.mjs +0 -241
  531. package/lib/svg/parse.cjs +0 -46
  532. package/lib/svg/parse.d.cts +0 -31
  533. package/lib/svg/parse.d.mts +0 -31
  534. 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 };