@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
@@ -1,720 +0,0 @@
1
- 'use strict';
2
-
3
- const defaults = require('@iconify/utils/lib/icon/defaults');
4
- const build = require('@iconify/utils/lib/svg/build');
5
- const minify = require('@iconify/utils/lib/icon-set/minify');
6
- const convertInfo = require('@iconify/utils/lib/icon-set/convert-info');
7
- const iconSet_props = require('./props.cjs');
8
- const svg_index = require('../svg/index.cjs');
9
- const utils = require('@iconify/utils');
10
- require('@iconify/utils/lib/misc/objects');
11
- require('cheerio');
12
-
13
- var __defProp = Object.defineProperty;
14
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
- var __publicField = (obj, key, value) => {
16
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
17
- return value;
18
- };
19
- const themeKeys = ["prefixes", "suffixes"];
20
- function sortThemeKeys(keys) {
21
- return keys.sort(
22
- (a, b) => a.length === b.length ? a.localeCompare(b) : b.length - a.length
23
- );
24
- }
25
- class IconSet {
26
- /**
27
- * Load icon set
28
- */
29
- constructor(data) {
30
- /**
31
- * Properties. You can write directly to almost any property, but avoid writing to
32
- * 'entries' and 'categories' properties, there are functions for that.
33
- */
34
- // Icon set prefix
35
- __publicField(this, "prefix");
36
- // Last modification time
37
- __publicField(this, "lastModified");
38
- // All icons
39
- __publicField(this, "entries");
40
- // Information block
41
- __publicField(this, "info");
42
- // Categories, using custom type. Use functions to update data
43
- __publicField(this, "categories");
44
- __publicField(this, "prefixes");
45
- __publicField(this, "suffixes");
46
- this.load(data);
47
- }
48
- /**
49
- * Load icon set
50
- */
51
- load(data) {
52
- this.prefix = data.prefix;
53
- const defaultProps = iconSet_props.filterProps(data, defaults.defaultIconDimensions, true);
54
- this.entries = /* @__PURE__ */ Object.create(null);
55
- const entries = this.entries;
56
- for (const name in data.icons) {
57
- const item = data.icons[name];
58
- const entry = {
59
- type: "icon",
60
- body: item.body,
61
- props: iconSet_props.filterProps(
62
- {
63
- ...defaultProps,
64
- ...item
65
- },
66
- iconSet_props.defaultCommonProps,
67
- true
68
- ),
69
- chars: /* @__PURE__ */ new Set(),
70
- categories: /* @__PURE__ */ new Set()
71
- };
72
- entries[name] = entry;
73
- }
74
- if (data.aliases) {
75
- for (const name in data.aliases) {
76
- if (entries[name]) {
77
- continue;
78
- }
79
- const item = data.aliases[name];
80
- const parent = item.parent;
81
- const props = iconSet_props.filterProps(item, iconSet_props.defaultCommonProps, false);
82
- const chars = /* @__PURE__ */ new Set();
83
- if (Object.keys(props).length) {
84
- const entry = {
85
- type: "variation",
86
- parent,
87
- props,
88
- chars
89
- };
90
- entries[name] = entry;
91
- } else {
92
- const entry = {
93
- type: "alias",
94
- parent,
95
- chars
96
- };
97
- entries[name] = entry;
98
- }
99
- }
100
- }
101
- const info = data.info && convertInfo.convertIconSetInfo(data.info);
102
- this.info = info || void 0;
103
- if (data.chars) {
104
- for (const char in data.chars) {
105
- const name = data.chars[char];
106
- const icon = entries[name];
107
- if (icon) {
108
- icon.chars.add(char);
109
- }
110
- }
111
- }
112
- this.categories = /* @__PURE__ */ new Set();
113
- if (data.categories) {
114
- for (const category in data.categories) {
115
- const item = {
116
- title: category,
117
- count: 0
118
- };
119
- data.categories[category].forEach((iconName) => {
120
- const icon = entries[iconName];
121
- switch (icon?.type) {
122
- case "icon":
123
- icon.categories.add(item);
124
- }
125
- });
126
- this.categories.add(item);
127
- this.listCategory(item);
128
- }
129
- }
130
- const prefixes = this.prefixes = /* @__PURE__ */ Object.create(null);
131
- const suffixes = this.suffixes = /* @__PURE__ */ Object.create(null);
132
- if (data.themes) {
133
- for (const key in data.themes) {
134
- const item = data.themes[key];
135
- if (typeof item.prefix === "string") {
136
- const prefix = item.prefix;
137
- if (prefix.slice(-1) === "-") {
138
- prefixes[prefix.slice(0, -1)] = item.title;
139
- }
140
- }
141
- if (typeof item.suffix === "string") {
142
- const suffix = item.suffix;
143
- if (suffix.slice(0, 1) === "-") {
144
- suffixes[suffix.slice(1)] = item.title;
145
- }
146
- }
147
- }
148
- }
149
- themeKeys.forEach((prop) => {
150
- const items = data[prop];
151
- if (items) {
152
- this[prop] = /* @__PURE__ */ Object.create(null);
153
- for (const key in items) {
154
- this[prop][key] = items[key];
155
- }
156
- }
157
- });
158
- this.lastModified = data.lastModified || 0;
159
- }
160
- /**
161
- * Update last modification time
162
- */
163
- updateLastModified(value) {
164
- this.lastModified = value || Math.floor(Date.now() / 1e3);
165
- }
166
- /**
167
- * List icons
168
- */
169
- list(types = ["icon", "variation"]) {
170
- return Object.keys(this.entries).filter(
171
- (name) => types.includes(this.entries[name].type)
172
- );
173
- }
174
- /**
175
- * forEach function to loop through all entries.
176
- * Supports asynchronous callbacks.
177
- *
178
- * Callback should return false to stop loop.
179
- */
180
- async forEach(callback, types = ["icon", "variation", "alias"]) {
181
- const names = this.list(types);
182
- for (let i = 0; i < names.length; i++) {
183
- const name = names[i];
184
- const item = this.entries[name];
185
- if (item) {
186
- let result = callback(name, item.type);
187
- if (result instanceof Promise) {
188
- result = await result;
189
- }
190
- if (result === false) {
191
- return;
192
- }
193
- }
194
- }
195
- }
196
- /**
197
- * Synchronous version of forEach function to loop through all entries.
198
- *
199
- * Callback should return false to stop loop.
200
- */
201
- forEachSync(callback, types = ["icon", "variation", "alias"]) {
202
- const names = this.list(types);
203
- for (let i = 0; i < names.length; i++) {
204
- const name = names[i];
205
- const item = this.entries[name];
206
- if (item) {
207
- const result = callback(name, item.type);
208
- if (result === false) {
209
- return;
210
- }
211
- }
212
- }
213
- }
214
- /**
215
- * Get parent icons tree
216
- *
217
- * Returns parent icons list for each icon, null if failed to resolve.
218
- * In parent icons list, first element is a direct parent, last is icon. Does not include item.
219
- *
220
- * Examples:
221
- * 'alias3': ['alias2', 'alias1', 'icon']
222
- * 'icon': []
223
- * 'bad-icon': null
224
- */
225
- getTree(names) {
226
- const entries = this.entries;
227
- const resolved = /* @__PURE__ */ Object.create(null);
228
- function resolve(name) {
229
- const item = entries[name];
230
- if (!item) {
231
- return resolved[name] = null;
232
- }
233
- if (item.type === "icon") {
234
- return resolved[name] = [];
235
- }
236
- if (resolved[name] === void 0) {
237
- resolved[name] = null;
238
- const parent = item.parent;
239
- const value = parent && resolve(parent);
240
- if (value) {
241
- resolved[name] = [parent].concat(value);
242
- }
243
- }
244
- return resolved[name];
245
- }
246
- (names || Object.keys(entries)).forEach(resolve);
247
- return resolved;
248
- }
249
- resolve(name, full = false) {
250
- const entries = this.entries;
251
- const item = entries[name];
252
- const tree = item && (item.type === "icon" ? [] : this.getTree([name])[name]);
253
- if (!tree) {
254
- return null;
255
- }
256
- let result = {};
257
- function parse(name2) {
258
- const item2 = entries[name2];
259
- if (item2.type === "alias") {
260
- return;
261
- }
262
- result = utils.mergeIconData(item2.props, result);
263
- if (item2.type === "icon") {
264
- result.body = item2.body;
265
- }
266
- }
267
- parse(name);
268
- tree.forEach(parse);
269
- return result && full ? { ...defaults.defaultIconProps, ...result } : result;
270
- }
271
- /**
272
- * Generate HTML
273
- */
274
- toString(name, customisations = {
275
- width: "auto",
276
- height: "auto"
277
- }) {
278
- const item = this.resolve(name);
279
- if (!item) {
280
- return null;
281
- }
282
- const result = build.iconToSVG(item, customisations);
283
- const attributes = Object.keys(result.attributes).map(
284
- (key) => ` ${key}="${result.attributes[key]}"`
285
- ).join("");
286
- return `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"${attributes}>${result.body}</svg>`;
287
- }
288
- /**
289
- * Get SVG instance for icon
290
- */
291
- toSVG(name) {
292
- const html = this.toString(name);
293
- return html ? new svg_index.SVG(html) : null;
294
- }
295
- /**
296
- * Export icon set
297
- */
298
- export(validate = true) {
299
- const icons = /* @__PURE__ */ Object.create(null);
300
- const aliases = /* @__PURE__ */ Object.create(null);
301
- const tree = validate ? this.getTree() : /* @__PURE__ */ Object.create(null);
302
- const names = Object.keys(this.entries);
303
- names.sort((a, b) => a.localeCompare(b));
304
- names.forEach((name) => {
305
- const item = this.entries[name];
306
- switch (item.type) {
307
- case "icon": {
308
- const icon = {
309
- body: item.body,
310
- ...item.props
311
- };
312
- icons[name] = icon;
313
- break;
314
- }
315
- case "alias":
316
- case "variation": {
317
- if (validate && !tree[name]) {
318
- break;
319
- }
320
- const props = item.type === "variation" ? item.props : {};
321
- const alias = {
322
- parent: item.parent,
323
- ...props
324
- };
325
- aliases[name] = alias;
326
- break;
327
- }
328
- }
329
- });
330
- let info;
331
- if (this.info) {
332
- this.info.total = this.count();
333
- info = JSON.parse(JSON.stringify(this.info));
334
- }
335
- const result = {
336
- prefix: this.prefix
337
- };
338
- if (info) {
339
- result.info = info;
340
- }
341
- if (this.lastModified) {
342
- result.lastModified = this.lastModified;
343
- }
344
- result.icons = icons;
345
- if (Object.keys(aliases).length) {
346
- result.aliases = aliases;
347
- }
348
- const chars = this.chars(
349
- Object.keys(icons).concat(Object.keys(aliases))
350
- );
351
- if (Object.keys(chars).length) {
352
- result.chars = chars;
353
- }
354
- const categories = /* @__PURE__ */ Object.create(null);
355
- Array.from(this.categories).sort((a, b) => a.title.localeCompare(b.title)).forEach((item) => {
356
- const names2 = this.listCategory(item);
357
- if (names2) {
358
- names2.sort((a, b) => a.localeCompare(b));
359
- categories[item.title] = names2;
360
- }
361
- });
362
- if (Object.keys(categories).length) {
363
- result.categories = categories;
364
- }
365
- themeKeys.forEach((prop) => {
366
- const items = this[prop];
367
- const keys = Object.keys(items);
368
- if (keys.length) {
369
- const sortedTheme = /* @__PURE__ */ Object.create(null);
370
- const tested = this.checkTheme(prop === "prefixes");
371
- keys.forEach((key) => {
372
- if (tested.valid[key].length) {
373
- sortedTheme[key] = items[key];
374
- }
375
- });
376
- if (Object.keys(sortedTheme).length) {
377
- result[prop] = sortedTheme;
378
- }
379
- }
380
- });
381
- minify.minifyIconSet(result);
382
- return result;
383
- }
384
- /**
385
- * Get characters map
386
- */
387
- chars(names) {
388
- const chars = /* @__PURE__ */ Object.create(null);
389
- if (!names) {
390
- names = Object.keys(this.entries);
391
- }
392
- for (let i = 0; i < names.length; i++) {
393
- const name = names[i];
394
- const item = this.entries[name];
395
- item.chars.forEach((char) => {
396
- chars[char] = name;
397
- });
398
- }
399
- return chars;
400
- }
401
- /**
402
- * Filter icons
403
- */
404
- _filter(callback) {
405
- const names = [];
406
- for (const key in this.entries) {
407
- const item = this.entries[key];
408
- switch (item.type) {
409
- case "icon": {
410
- if (callback(key, item)) {
411
- names.push(key);
412
- }
413
- break;
414
- }
415
- case "variation":
416
- case "alias": {
417
- const icon = this.resolve(key);
418
- if (icon && callback(key, item, icon)) {
419
- names.push(key);
420
- }
421
- break;
422
- }
423
- }
424
- }
425
- return names;
426
- }
427
- /**
428
- * Count icons
429
- */
430
- count() {
431
- return this._filter((_key, item, icon) => {
432
- if (item.type === "alias" || item.props.hidden || icon?.hidden) {
433
- return false;
434
- }
435
- return true;
436
- }).length;
437
- }
438
- /**
439
- * Find category by title
440
- */
441
- findCategory(title, add) {
442
- const categoryItem = Array.from(this.categories).find(
443
- (item) => item.title === title
444
- );
445
- if (categoryItem) {
446
- return categoryItem;
447
- }
448
- if (add) {
449
- const newItem = {
450
- title,
451
- count: 0
452
- };
453
- this.categories.add(newItem);
454
- return newItem;
455
- }
456
- return null;
457
- }
458
- /**
459
- * Count icons in category, remove category if empty
460
- *
461
- * Hidden icons and aliases do not count
462
- */
463
- listCategory(category) {
464
- const categoryItem = typeof category === "string" ? this.findCategory(category, false) : category;
465
- if (!categoryItem) {
466
- return null;
467
- }
468
- const icons = this._filter((_key, item) => {
469
- if (item.type !== "icon" || item.props.hidden) {
470
- return false;
471
- }
472
- return item.categories.has(categoryItem);
473
- });
474
- const count = icons.length;
475
- categoryItem.count = count;
476
- if (!count) {
477
- this.categories.delete(categoryItem);
478
- return null;
479
- }
480
- return icons;
481
- }
482
- /**
483
- * Check if icon exists
484
- */
485
- exists(name) {
486
- return !!this.entries[name];
487
- }
488
- /**
489
- * Remove icons. Returns number of removed icons
490
- *
491
- * If removeDependencies is a string, it represents new parent for all aliases of removed icon. New parent cannot be alias or variation.
492
- */
493
- remove(name, removeDependencies = true) {
494
- const entries = this.entries;
495
- if (typeof removeDependencies === "string") {
496
- const item2 = entries[removeDependencies];
497
- if (name === removeDependencies || item2?.type !== "icon") {
498
- return 0;
499
- }
500
- }
501
- const item = entries[name];
502
- if (!item) {
503
- return 0;
504
- }
505
- this.updateLastModified();
506
- if (typeof removeDependencies === "string") {
507
- for (const key in entries) {
508
- const item2 = entries[key];
509
- if (item2.type !== "icon" && item2.parent === name) {
510
- item2.parent = removeDependencies;
511
- }
512
- }
513
- return 0;
514
- }
515
- delete entries[name];
516
- let count = 1;
517
- function remove(parent) {
518
- const list = Object.keys(entries).filter((name2) => {
519
- const item2 = entries[name2];
520
- return item2.type !== "icon" && item2.parent === parent;
521
- });
522
- list.forEach((name2) => {
523
- if (entries[name2]) {
524
- delete entries[name2];
525
- count++;
526
- remove(name2);
527
- }
528
- });
529
- }
530
- if (removeDependencies === true) {
531
- remove(name);
532
- }
533
- return count;
534
- }
535
- /**
536
- * Rename icon
537
- */
538
- rename(oldName, newName) {
539
- if (oldName === newName) {
540
- return false;
541
- }
542
- const entries = this.entries;
543
- if (entries[newName]) {
544
- if (!this.remove(newName)) {
545
- return false;
546
- }
547
- }
548
- if (!entries[oldName]) {
549
- return false;
550
- }
551
- entries[newName] = entries[oldName];
552
- delete entries[oldName];
553
- for (const key in entries) {
554
- const item = entries[key];
555
- switch (item.type) {
556
- case "icon":
557
- break;
558
- case "alias":
559
- case "variation":
560
- if (item.parent === oldName) {
561
- item.parent = newName;
562
- }
563
- break;
564
- }
565
- }
566
- this.updateLastModified();
567
- return true;
568
- }
569
- /**
570
- * Add/update item
571
- */
572
- setItem(name, item) {
573
- switch (item.type) {
574
- case "alias":
575
- case "variation": {
576
- if (!this.entries[item.parent]) {
577
- return false;
578
- }
579
- }
580
- }
581
- this.entries[name] = item;
582
- this.updateLastModified();
583
- return true;
584
- }
585
- /**
586
- * Add/update icon
587
- */
588
- setIcon(name, icon) {
589
- return this.setItem(name, {
590
- type: "icon",
591
- body: icon.body,
592
- props: iconSet_props.filterProps(icon, iconSet_props.defaultCommonProps, true),
593
- chars: /* @__PURE__ */ new Set(),
594
- categories: /* @__PURE__ */ new Set()
595
- });
596
- }
597
- /**
598
- * Add/update alias without props
599
- */
600
- setAlias(name, parent) {
601
- return this.setItem(name, {
602
- type: "alias",
603
- parent,
604
- chars: /* @__PURE__ */ new Set()
605
- });
606
- }
607
- /**
608
- * Add/update alias with props
609
- */
610
- setVariation(name, parent, props) {
611
- return this.setItem(name, {
612
- type: "variation",
613
- parent,
614
- props,
615
- chars: /* @__PURE__ */ new Set()
616
- });
617
- }
618
- /**
619
- * Icon from SVG. Updates old icon if it exists
620
- */
621
- fromSVG(name, svg) {
622
- const props = { ...svg.viewBox };
623
- const body = svg.getBody();
624
- const item = this.entries[name];
625
- switch (item?.type) {
626
- case "icon":
627
- case "variation": {
628
- return this.setItem(name, {
629
- type: "icon",
630
- body,
631
- props,
632
- chars: item.chars,
633
- categories: item.type === "icon" ? item.categories : /* @__PURE__ */ new Set()
634
- });
635
- }
636
- }
637
- return this.setIcon(name, {
638
- body,
639
- ...props
640
- });
641
- }
642
- /**
643
- * Add or remove character for icon
644
- */
645
- toggleCharacter(iconName, char, add) {
646
- const item = this.entries[iconName];
647
- if (!item) {
648
- return false;
649
- }
650
- if (item.chars.has(char) !== add) {
651
- item.chars[add ? "add" : "delete"](char);
652
- return true;
653
- }
654
- return false;
655
- }
656
- /**
657
- * Add or remove category for icon
658
- */
659
- toggleCategory(iconName, category, add) {
660
- const item = this.entries[iconName];
661
- const categoryItem = this.findCategory(category, add);
662
- if (!item || !categoryItem) {
663
- return false;
664
- }
665
- switch (item.type) {
666
- case "icon":
667
- if (item.categories.has(categoryItem) !== add) {
668
- categoryItem.count += add ? 1 : -1;
669
- item.categories[add ? "add" : "delete"](categoryItem);
670
- return true;
671
- }
672
- }
673
- return false;
674
- }
675
- /**
676
- * Find icons that belong to theme
677
- */
678
- checkTheme(prefix) {
679
- const themes = prefix ? this.prefixes : this.suffixes;
680
- const keys = sortThemeKeys(Object.keys(themes));
681
- const results = {
682
- valid: /* @__PURE__ */ Object.create(null),
683
- invalid: []
684
- };
685
- keys.forEach((key) => {
686
- results.valid[key] = [];
687
- });
688
- results.invalid = this._filter((name, item, icon) => {
689
- if (item.type === "alias" || item.props.hidden || icon?.hidden) {
690
- return false;
691
- }
692
- for (let i = 0; i < keys.length; i++) {
693
- const search = keys[i];
694
- if (search === "") {
695
- results.valid[search].push(name);
696
- return false;
697
- }
698
- const match = prefix ? search + "-" : "-" + search;
699
- const length = match.length;
700
- const test = prefix ? name.slice(0, length) : name.slice(0 - length);
701
- if (test === match) {
702
- results.valid[search].push(name);
703
- return false;
704
- }
705
- }
706
- return true;
707
- });
708
- return results;
709
- }
710
- }
711
- function blankIconSet(prefix) {
712
- return new IconSet({
713
- prefix,
714
- icons: {}
715
- });
716
- }
717
-
718
- exports.IconSet = IconSet;
719
- exports.blankIconSet = blankIconSet;
720
- exports.sortThemeKeys = sortThemeKeys;