@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
@@ -1,91 +0,0 @@
1
- import { defaultIconDimensions } from '@iconify/utils/lib/icon/defaults';
2
- import { detectIconSetPalette } from '../colors/detect.mjs';
3
- import '../colors/parse.mjs';
4
- import '@iconify/utils/lib/colors';
5
- import '../svg/data/tags.mjs';
6
- import '../svg/parse-style.mjs';
7
- import '../css/parse.mjs';
8
- import '../css/parser/tokens.mjs';
9
- import '../css/parser/error.mjs';
10
- import '../css/parser/strings.mjs';
11
- import '../css/parser/text.mjs';
12
- import '../css/parser/export.mjs';
13
- import '../css/parser/tree.mjs';
14
- import '../svg/parse.mjs';
15
- import '../colors/attribs.mjs';
16
- import '../svg/data/attributes.mjs';
17
- import '../svg/analyse.mjs';
18
- import '../svg/analyse/error.mjs';
19
-
20
- const paletteTags = {
21
- monotone: "Monotone",
22
- palette: "Has Colors"
23
- };
24
- const sizeTags = {
25
- square: "Square",
26
- gridPrefix: "Grid: ",
27
- heightPrefix: "Height: "
28
- };
29
- function addTagsToIconSet(iconSet, customTags) {
30
- const info = iconSet.info;
31
- const tags = [];
32
- const iconNames = Object.keys(iconSet.entries).filter((key) => {
33
- const item = iconSet.entries[key];
34
- if (item.type !== "icon") {
35
- return false;
36
- }
37
- if (item.props.hidden) {
38
- return false;
39
- }
40
- return true;
41
- });
42
- if (iconNames.length) {
43
- let hasPalette = info?.palette;
44
- if (hasPalette === void 0) {
45
- hasPalette = detectIconSetPalette(iconSet);
46
- }
47
- if (hasPalette === true) {
48
- tags.push(paletteTags.palette);
49
- }
50
- if (hasPalette === false) {
51
- tags.push(paletteTags.monotone);
52
- }
53
- let isSquare = true;
54
- let height;
55
- for (let i = 0; i < iconNames.length; i++) {
56
- const icon = iconSet.entries[iconNames[i]];
57
- if (icon.type !== "icon") {
58
- continue;
59
- }
60
- const iconProps = icon.props;
61
- const iconWidth = iconProps.width || defaultIconDimensions.width;
62
- const iconHeight = iconProps.height || defaultIconDimensions.height;
63
- if (isSquare && iconWidth !== iconHeight) {
64
- isSquare = false;
65
- }
66
- if (height === void 0) {
67
- height = iconHeight;
68
- } else if (height && iconHeight !== height) {
69
- height = null;
70
- }
71
- if (!height && !isSquare) {
72
- break;
73
- }
74
- }
75
- if (height && Math.round(height) === height) {
76
- tags.push(
77
- (isSquare ? sizeTags.gridPrefix : sizeTags.heightPrefix) + height.toString()
78
- );
79
- }
80
- if (isSquare) {
81
- tags.push(sizeTags.square);
82
- }
83
- }
84
- const result = tags.concat(customTags || []);
85
- if (info) {
86
- info.tags = result;
87
- }
88
- return result;
89
- }
90
-
91
- export { addTagsToIconSet, paletteTags, sizeTags };
@@ -1,2 +0,0 @@
1
- 'use strict';
2
-
@@ -1,75 +0,0 @@
1
- import { ExtendedIconifyIcon, ExtendedIconifyAlias, IconifyOptional, IconifyIcon } from '@iconify/types';
2
-
3
- /**
4
- * Category item
5
- */
6
- interface IconCategory {
7
- title: string;
8
- count: number;
9
- }
10
- /**
11
- * Get common properties: IconifyOptional + APIIconAttributes
12
- */
13
- type CommonProps<A, B> = {
14
- [K in keyof A & keyof B]?: A[K] extends B[K] ? A[K] : never;
15
- };
16
- type CommonIconProps = CommonProps<ExtendedIconifyIcon, ExtendedIconifyAlias>;
17
- /**
18
- * Exclude IconifyOptional from CommonIconProps
19
- */
20
- type ExtraIconProps = Omit<CommonIconProps, keyof IconifyOptional>;
21
- /**
22
- * Partials
23
- */
24
- interface IconWithChars {
25
- chars: Set<string>;
26
- }
27
- interface IconWithPropsData extends IconWithChars {
28
- props: CommonIconProps;
29
- }
30
- interface IconWithCategories {
31
- categories: Set<IconCategory>;
32
- }
33
- interface IconParentData {
34
- parent: string;
35
- }
36
- /**
37
- * Icon types
38
- */
39
- interface IconSetIcon extends IconWithPropsData, IconWithCategories {
40
- type: 'icon';
41
- body: string;
42
- }
43
- interface IconSetIconAlias extends IconWithChars, IconParentData {
44
- type: 'alias';
45
- }
46
- interface IconSetIconVariation extends IconWithPropsData, IconParentData {
47
- type: 'variation';
48
- }
49
- /**
50
- * All icon types
51
- */
52
- type IconSetIconEntry = IconSetIcon | IconSetIconAlias | IconSetIconVariation;
53
- type IconSetIconType = IconSetIconEntry['type'];
54
- /**
55
- * Full icon with extra stuff
56
- */
57
- interface ResolvedIconifyIcon extends IconifyIcon, ExtraIconProps {
58
- }
59
- /**
60
- * Result for checking theme: list of names for each theme
61
- */
62
- interface CheckThemeResult {
63
- valid: Record<string, string[]>;
64
- invalid: string[];
65
- }
66
- /**
67
- * Callback for forEach functions
68
- *
69
- * Return false to stop loop
70
- */
71
- type IconSetForEachCallbackResult = void | false;
72
- type IconSetAsyncForEachCallback = (name: string, type: IconSetIconEntry['type']) => Promise<IconSetForEachCallbackResult> | IconSetForEachCallbackResult;
73
- type IconSetSyncForEachCallback = (name: string, type: IconSetIconEntry['type']) => IconSetForEachCallbackResult;
74
-
75
- export type { CheckThemeResult, CommonIconProps, ExtraIconProps, IconCategory, IconParentData, IconSetAsyncForEachCallback, IconSetIcon, IconSetIconAlias, IconSetIconEntry, IconSetIconType, IconSetIconVariation, IconSetSyncForEachCallback, IconWithCategories, IconWithChars, IconWithPropsData, ResolvedIconifyIcon };
@@ -1,75 +0,0 @@
1
- import { ExtendedIconifyIcon, ExtendedIconifyAlias, IconifyOptional, IconifyIcon } from '@iconify/types';
2
-
3
- /**
4
- * Category item
5
- */
6
- interface IconCategory {
7
- title: string;
8
- count: number;
9
- }
10
- /**
11
- * Get common properties: IconifyOptional + APIIconAttributes
12
- */
13
- type CommonProps<A, B> = {
14
- [K in keyof A & keyof B]?: A[K] extends B[K] ? A[K] : never;
15
- };
16
- type CommonIconProps = CommonProps<ExtendedIconifyIcon, ExtendedIconifyAlias>;
17
- /**
18
- * Exclude IconifyOptional from CommonIconProps
19
- */
20
- type ExtraIconProps = Omit<CommonIconProps, keyof IconifyOptional>;
21
- /**
22
- * Partials
23
- */
24
- interface IconWithChars {
25
- chars: Set<string>;
26
- }
27
- interface IconWithPropsData extends IconWithChars {
28
- props: CommonIconProps;
29
- }
30
- interface IconWithCategories {
31
- categories: Set<IconCategory>;
32
- }
33
- interface IconParentData {
34
- parent: string;
35
- }
36
- /**
37
- * Icon types
38
- */
39
- interface IconSetIcon extends IconWithPropsData, IconWithCategories {
40
- type: 'icon';
41
- body: string;
42
- }
43
- interface IconSetIconAlias extends IconWithChars, IconParentData {
44
- type: 'alias';
45
- }
46
- interface IconSetIconVariation extends IconWithPropsData, IconParentData {
47
- type: 'variation';
48
- }
49
- /**
50
- * All icon types
51
- */
52
- type IconSetIconEntry = IconSetIcon | IconSetIconAlias | IconSetIconVariation;
53
- type IconSetIconType = IconSetIconEntry['type'];
54
- /**
55
- * Full icon with extra stuff
56
- */
57
- interface ResolvedIconifyIcon extends IconifyIcon, ExtraIconProps {
58
- }
59
- /**
60
- * Result for checking theme: list of names for each theme
61
- */
62
- interface CheckThemeResult {
63
- valid: Record<string, string[]>;
64
- invalid: string[];
65
- }
66
- /**
67
- * Callback for forEach functions
68
- *
69
- * Return false to stop loop
70
- */
71
- type IconSetForEachCallbackResult = void | false;
72
- type IconSetAsyncForEachCallback = (name: string, type: IconSetIconEntry['type']) => Promise<IconSetForEachCallbackResult> | IconSetForEachCallbackResult;
73
- type IconSetSyncForEachCallback = (name: string, type: IconSetIconEntry['type']) => IconSetForEachCallbackResult;
74
-
75
- export type { CheckThemeResult, CommonIconProps, ExtraIconProps, IconCategory, IconParentData, IconSetAsyncForEachCallback, IconSetIcon, IconSetIconAlias, IconSetIconEntry, IconSetIconType, IconSetIconVariation, IconSetSyncForEachCallback, IconWithCategories, IconWithChars, IconWithPropsData, ResolvedIconifyIcon };
@@ -1 +0,0 @@
1
-
@@ -1,169 +0,0 @@
1
- 'use strict';
2
-
3
- const fs = require('fs');
4
- const iconSet_index = require('../icon-set/index.cjs');
5
- const misc_keyword = require('../misc/keyword.cjs');
6
- const misc_scan = require('../misc/scan.cjs');
7
- const svg_index = require('../svg/index.cjs');
8
- const svg_cleanup = require('../svg/cleanup.cjs');
9
- require('@iconify/utils/lib/icon/defaults');
10
- require('@iconify/utils/lib/svg/build');
11
- require('@iconify/utils/lib/icon-set/minify');
12
- require('@iconify/utils/lib/icon-set/convert-info');
13
- require('../icon-set/props.cjs');
14
- require('@iconify/utils/lib/misc/objects');
15
- require('@iconify/utils');
16
- require('cheerio');
17
- require('../svg/cleanup/attribs.cjs');
18
- require('../svg/data/attributes.cjs');
19
- require('../svg/data/tags.cjs');
20
- require('../svg/parse.cjs');
21
- require('../svg/cleanup/bad-tags.cjs');
22
- require('../svg/cleanup/inline-style.cjs');
23
- require('../css/parse.cjs');
24
- require('../css/parser/tokens.cjs');
25
- require('../css/parser/error.cjs');
26
- require('../css/parser/strings.cjs');
27
- require('../css/parser/text.cjs');
28
- require('../svg/cleanup/root-style.cjs');
29
- require('../svg/parse-style.cjs');
30
- require('../css/parser/export.cjs');
31
- require('../css/parser/tree.cjs');
32
- require('../svg/cleanup/root-svg.cjs');
33
- require('../svg/cleanup/svgo-style.cjs');
34
- require('../optimise/svgo.cjs');
35
- require('svgo');
36
- require('@iconify/utils/lib/svg/id');
37
-
38
- function importDir(iconSet, options, getKeyword, files, readFile, done) {
39
- let i = 0;
40
- const next = () => {
41
- if (i >= files.length) {
42
- return done(iconSet);
43
- }
44
- const file = files[i];
45
- i++;
46
- const defaultKeyword = misc_keyword.cleanupIconKeyword(file.file);
47
- getKeyword([file, defaultKeyword, iconSet], (keyword) => {
48
- if (typeof keyword !== "string" || !keyword.length) {
49
- return next();
50
- }
51
- readFile(
52
- file.path + file.subdir + file.file + file.ext,
53
- (content) => {
54
- try {
55
- const svg = new svg_index.SVG(content);
56
- svg_cleanup.cleanupSVG(svg, options);
57
- iconSet.fromSVG(keyword, svg);
58
- } catch (err) {
59
- const ignore = options.ignoreImportErrors ?? false;
60
- if (ignore === false || ignore === "warn") {
61
- let msg = `Failed to import "${keyword}"`;
62
- if (err instanceof Error) {
63
- msg += `: ${err.message}`;
64
- }
65
- if (ignore === false) {
66
- throw new Error(msg);
67
- } else {
68
- console.warn(msg);
69
- }
70
- }
71
- }
72
- next();
73
- }
74
- );
75
- });
76
- };
77
- next();
78
- }
79
- function isValidFile(item) {
80
- return item.ext.toLowerCase() === ".svg";
81
- }
82
- function importDirectory(path, options = {}) {
83
- return new Promise((fulfill, reject) => {
84
- misc_scan.scanDirectory(
85
- path,
86
- (ext, file, subdir, path2) => {
87
- const result = {
88
- file,
89
- ext,
90
- subdir,
91
- path: path2
92
- };
93
- return isValidFile(result) ? result : false;
94
- },
95
- options.includeSubDirs !== false
96
- ).then((files) => {
97
- const iconSet = iconSet_index.blankIconSet(options.prefix || "");
98
- try {
99
- importDir(
100
- iconSet,
101
- options,
102
- (params, done) => {
103
- if (options.keyword) {
104
- const result = options.keyword(...params);
105
- if (result instanceof Promise) {
106
- result.then(done).catch(reject);
107
- } else {
108
- done(result);
109
- }
110
- } else {
111
- done(params[1]);
112
- }
113
- },
114
- files,
115
- (filename, done) => {
116
- fs.promises.readFile(filename, "utf8").then(done).catch(reject);
117
- },
118
- fulfill
119
- );
120
- } catch (err) {
121
- reject(err);
122
- }
123
- }).catch(reject);
124
- });
125
- }
126
- function importDirectorySync(path, options = {}) {
127
- const files = misc_scan.scanDirectorySync(
128
- path,
129
- (ext, file, subdir, path2) => {
130
- const result = {
131
- file,
132
- ext,
133
- subdir,
134
- path: path2
135
- };
136
- return isValidFile(result) ? result : false;
137
- },
138
- options.includeSubDirs !== false
139
- );
140
- const iconSet = iconSet_index.blankIconSet(options.prefix || "");
141
- let isSync = true;
142
- importDir(
143
- iconSet,
144
- options,
145
- (params, done) => {
146
- if (options.keyword) {
147
- done(options.keyword(...params));
148
- } else {
149
- done(params[1]);
150
- }
151
- },
152
- files,
153
- (filename, done) => {
154
- done(fs.readFileSync(filename, "utf8"));
155
- },
156
- () => {
157
- if (!isSync) {
158
- throw new Error(
159
- "importDirectorySync supposed to be synchronous"
160
- );
161
- }
162
- }
163
- );
164
- isSync = false;
165
- return iconSet;
166
- }
167
-
168
- exports.importDirectory = importDirectory;
169
- exports.importDirectorySync = importDirectorySync;
@@ -1,52 +0,0 @@
1
- import { IconSet } from '../icon-set/index.cjs';
2
- import { CleanupSVGOptions } from '../svg/cleanup.cjs';
3
- import '@iconify/types';
4
- import '@iconify/utils/lib/customisations/defaults';
5
- import '../icon-set/types.cjs';
6
- import '../svg/index.cjs';
7
- import 'cheerio';
8
- import '@iconify/utils/lib/icon-set/tree';
9
- import '../svg/cleanup/bad-tags.cjs';
10
-
11
- /**
12
- * Entry for file
13
- */
14
- interface ImportDirectoryFileEntry {
15
- path: string;
16
- subdir: string;
17
- file: string;
18
- ext: string;
19
- }
20
- /**
21
- * Callback to get keyword for icon based on file name
22
- *
23
- * Returns:
24
- * - string for new keyword
25
- * - undefined to skip icon
26
- *
27
- * Callback can be asynchronous
28
- */
29
- type ImportDirectoryKeywordCallbackResult = string | undefined;
30
- type Callback<T> = (file: ImportDirectoryFileEntry, defaultKeyword: string, iconSet: IconSet) => T;
31
- type AsyncCallback<T> = Callback<T | Promise<T>>;
32
- type ImportDirectoryKeywordCallback = AsyncCallback<ImportDirectoryKeywordCallbackResult>;
33
- type ImportDirectoryKeywordSyncCallback = Callback<ImportDirectoryKeywordCallbackResult>;
34
- /**
35
- * Options
36
- */
37
- interface ImportDirectoryOptions<K> extends CleanupSVGOptions {
38
- prefix?: string;
39
- includeSubDirs?: boolean;
40
- keyword?: K;
41
- ignoreImportErrors?: boolean | 'warn';
42
- }
43
- /**
44
- * Import all icons from directory
45
- */
46
- declare function importDirectory(path: string, options?: ImportDirectoryOptions<ImportDirectoryKeywordCallback>): Promise<IconSet>;
47
- /**
48
- * Import all icons from directory synchronously
49
- */
50
- declare function importDirectorySync(path: string, options?: ImportDirectoryOptions<ImportDirectoryKeywordSyncCallback>): IconSet;
51
-
52
- export { type ImportDirectoryFileEntry, type ImportDirectoryKeywordCallback, type ImportDirectoryKeywordSyncCallback, importDirectory, importDirectorySync };
@@ -1,52 +0,0 @@
1
- import { IconSet } from '../icon-set/index.mjs';
2
- import { CleanupSVGOptions } from '../svg/cleanup.mjs';
3
- import '@iconify/types';
4
- import '@iconify/utils/lib/customisations/defaults';
5
- import '../icon-set/types.mjs';
6
- import '../svg/index.mjs';
7
- import 'cheerio';
8
- import '@iconify/utils/lib/icon-set/tree';
9
- import '../svg/cleanup/bad-tags.mjs';
10
-
11
- /**
12
- * Entry for file
13
- */
14
- interface ImportDirectoryFileEntry {
15
- path: string;
16
- subdir: string;
17
- file: string;
18
- ext: string;
19
- }
20
- /**
21
- * Callback to get keyword for icon based on file name
22
- *
23
- * Returns:
24
- * - string for new keyword
25
- * - undefined to skip icon
26
- *
27
- * Callback can be asynchronous
28
- */
29
- type ImportDirectoryKeywordCallbackResult = string | undefined;
30
- type Callback<T> = (file: ImportDirectoryFileEntry, defaultKeyword: string, iconSet: IconSet) => T;
31
- type AsyncCallback<T> = Callback<T | Promise<T>>;
32
- type ImportDirectoryKeywordCallback = AsyncCallback<ImportDirectoryKeywordCallbackResult>;
33
- type ImportDirectoryKeywordSyncCallback = Callback<ImportDirectoryKeywordCallbackResult>;
34
- /**
35
- * Options
36
- */
37
- interface ImportDirectoryOptions<K> extends CleanupSVGOptions {
38
- prefix?: string;
39
- includeSubDirs?: boolean;
40
- keyword?: K;
41
- ignoreImportErrors?: boolean | 'warn';
42
- }
43
- /**
44
- * Import all icons from directory
45
- */
46
- declare function importDirectory(path: string, options?: ImportDirectoryOptions<ImportDirectoryKeywordCallback>): Promise<IconSet>;
47
- /**
48
- * Import all icons from directory synchronously
49
- */
50
- declare function importDirectorySync(path: string, options?: ImportDirectoryOptions<ImportDirectoryKeywordSyncCallback>): IconSet;
51
-
52
- export { type ImportDirectoryFileEntry, type ImportDirectoryKeywordCallback, type ImportDirectoryKeywordSyncCallback, importDirectory, importDirectorySync };
@@ -1,166 +0,0 @@
1
- import { promises, readFileSync } from 'fs';
2
- import { blankIconSet } from '../icon-set/index.mjs';
3
- import { cleanupIconKeyword } from '../misc/keyword.mjs';
4
- import { scanDirectory, scanDirectorySync } from '../misc/scan.mjs';
5
- import { SVG } from '../svg/index.mjs';
6
- import { cleanupSVG } from '../svg/cleanup.mjs';
7
- import '@iconify/utils/lib/icon/defaults';
8
- import '@iconify/utils/lib/svg/build';
9
- import '@iconify/utils/lib/icon-set/minify';
10
- import '@iconify/utils/lib/icon-set/convert-info';
11
- import '../icon-set/props.mjs';
12
- import '@iconify/utils/lib/misc/objects';
13
- import '@iconify/utils';
14
- import 'cheerio';
15
- import '../svg/cleanup/attribs.mjs';
16
- import '../svg/data/attributes.mjs';
17
- import '../svg/data/tags.mjs';
18
- import '../svg/parse.mjs';
19
- import '../svg/cleanup/bad-tags.mjs';
20
- import '../svg/cleanup/inline-style.mjs';
21
- import '../css/parse.mjs';
22
- import '../css/parser/tokens.mjs';
23
- import '../css/parser/error.mjs';
24
- import '../css/parser/strings.mjs';
25
- import '../css/parser/text.mjs';
26
- import '../svg/cleanup/root-style.mjs';
27
- import '../svg/parse-style.mjs';
28
- import '../css/parser/export.mjs';
29
- import '../css/parser/tree.mjs';
30
- import '../svg/cleanup/root-svg.mjs';
31
- import '../svg/cleanup/svgo-style.mjs';
32
- import '../optimise/svgo.mjs';
33
- import 'svgo';
34
- import '@iconify/utils/lib/svg/id';
35
-
36
- function importDir(iconSet, options, getKeyword, files, readFile, done) {
37
- let i = 0;
38
- const next = () => {
39
- if (i >= files.length) {
40
- return done(iconSet);
41
- }
42
- const file = files[i];
43
- i++;
44
- const defaultKeyword = cleanupIconKeyword(file.file);
45
- getKeyword([file, defaultKeyword, iconSet], (keyword) => {
46
- if (typeof keyword !== "string" || !keyword.length) {
47
- return next();
48
- }
49
- readFile(
50
- file.path + file.subdir + file.file + file.ext,
51
- (content) => {
52
- try {
53
- const svg = new SVG(content);
54
- cleanupSVG(svg, options);
55
- iconSet.fromSVG(keyword, svg);
56
- } catch (err) {
57
- const ignore = options.ignoreImportErrors ?? false;
58
- if (ignore === false || ignore === "warn") {
59
- let msg = `Failed to import "${keyword}"`;
60
- if (err instanceof Error) {
61
- msg += `: ${err.message}`;
62
- }
63
- if (ignore === false) {
64
- throw new Error(msg);
65
- } else {
66
- console.warn(msg);
67
- }
68
- }
69
- }
70
- next();
71
- }
72
- );
73
- });
74
- };
75
- next();
76
- }
77
- function isValidFile(item) {
78
- return item.ext.toLowerCase() === ".svg";
79
- }
80
- function importDirectory(path, options = {}) {
81
- return new Promise((fulfill, reject) => {
82
- scanDirectory(
83
- path,
84
- (ext, file, subdir, path2) => {
85
- const result = {
86
- file,
87
- ext,
88
- subdir,
89
- path: path2
90
- };
91
- return isValidFile(result) ? result : false;
92
- },
93
- options.includeSubDirs !== false
94
- ).then((files) => {
95
- const iconSet = blankIconSet(options.prefix || "");
96
- try {
97
- importDir(
98
- iconSet,
99
- options,
100
- (params, done) => {
101
- if (options.keyword) {
102
- const result = options.keyword(...params);
103
- if (result instanceof Promise) {
104
- result.then(done).catch(reject);
105
- } else {
106
- done(result);
107
- }
108
- } else {
109
- done(params[1]);
110
- }
111
- },
112
- files,
113
- (filename, done) => {
114
- promises.readFile(filename, "utf8").then(done).catch(reject);
115
- },
116
- fulfill
117
- );
118
- } catch (err) {
119
- reject(err);
120
- }
121
- }).catch(reject);
122
- });
123
- }
124
- function importDirectorySync(path, options = {}) {
125
- const files = scanDirectorySync(
126
- path,
127
- (ext, file, subdir, path2) => {
128
- const result = {
129
- file,
130
- ext,
131
- subdir,
132
- path: path2
133
- };
134
- return isValidFile(result) ? result : false;
135
- },
136
- options.includeSubDirs !== false
137
- );
138
- const iconSet = blankIconSet(options.prefix || "");
139
- let isSync = true;
140
- importDir(
141
- iconSet,
142
- options,
143
- (params, done) => {
144
- if (options.keyword) {
145
- done(options.keyword(...params));
146
- } else {
147
- done(params[1]);
148
- }
149
- },
150
- files,
151
- (filename, done) => {
152
- done(readFileSync(filename, "utf8"));
153
- },
154
- () => {
155
- if (!isSync) {
156
- throw new Error(
157
- "importDirectorySync supposed to be synchronous"
158
- );
159
- }
160
- }
161
- );
162
- isSync = false;
163
- return iconSet;
164
- }
165
-
166
- export { importDirectory, importDirectorySync };