@iconify/tools 4.0.0-dev.1 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/lib/colors/attribs.d.cts +27 -0
  2. package/lib/colors/attribs.d.mts +27 -0
  3. package/lib/colors/attribs.d.ts +1 -1
  4. package/lib/colors/detect.cjs +2 -2
  5. package/lib/colors/detect.d.cts +16 -0
  6. package/lib/colors/detect.d.mts +16 -0
  7. package/lib/colors/detect.mjs +3 -3
  8. package/lib/colors/parse.cjs +132 -276
  9. package/lib/colors/parse.d.cts +60 -0
  10. package/lib/colors/parse.d.mts +60 -0
  11. package/lib/colors/parse.d.ts +7 -15
  12. package/lib/colors/parse.mjs +136 -279
  13. package/lib/colors/validate.cjs +2 -11
  14. package/lib/colors/validate.d.cts +20 -0
  15. package/lib/colors/validate.d.mts +20 -0
  16. package/lib/colors/validate.d.ts +4 -11
  17. package/lib/colors/validate.mjs +4 -12
  18. package/lib/css/parse.d.cts +6 -0
  19. package/lib/css/parse.d.mts +6 -0
  20. package/lib/css/parser/error.d.cts +13 -0
  21. package/lib/css/parser/error.d.mts +13 -0
  22. package/lib/css/parser/error.d.ts +1 -1
  23. package/lib/css/parser/export.d.cts +8 -0
  24. package/lib/css/parser/export.d.mts +8 -0
  25. package/lib/css/parser/strings.d.cts +16 -0
  26. package/lib/css/parser/strings.d.mts +16 -0
  27. package/lib/css/parser/text.d.cts +20 -0
  28. package/lib/css/parser/text.d.mts +20 -0
  29. package/lib/css/parser/tokens.d.cts +9 -0
  30. package/lib/css/parser/tokens.d.mts +9 -0
  31. package/lib/css/parser/tree.d.cts +8 -0
  32. package/lib/css/parser/tree.d.mts +8 -0
  33. package/lib/css/parser/types.d.cts +52 -0
  34. package/lib/css/parser/types.d.mts +52 -0
  35. package/lib/css/parser/types.d.ts +1 -1
  36. package/lib/download/api/cache.d.cts +20 -0
  37. package/lib/download/api/cache.d.mts +20 -0
  38. package/lib/download/api/config.cjs +11 -0
  39. package/lib/download/api/config.d.cts +18 -0
  40. package/lib/download/api/config.d.mts +18 -0
  41. package/lib/download/api/config.d.ts +18 -0
  42. package/lib/download/api/config.mjs +8 -0
  43. package/lib/download/api/download.cjs +15 -7
  44. package/lib/download/api/download.d.cts +8 -0
  45. package/lib/download/api/download.d.mts +8 -0
  46. package/lib/download/api/download.mjs +11 -7
  47. package/lib/download/api/index.cjs +23 -7
  48. package/lib/download/api/index.d.cts +8 -0
  49. package/lib/download/api/index.d.mts +8 -0
  50. package/lib/download/api/index.mjs +19 -7
  51. package/lib/download/api/queue.cjs +104 -0
  52. package/lib/download/api/queue.d.cts +32 -0
  53. package/lib/download/api/queue.d.mts +32 -0
  54. package/lib/download/api/queue.d.ts +32 -0
  55. package/lib/download/api/queue.mjs +101 -0
  56. package/lib/download/api/types.d.cts +17 -0
  57. package/lib/download/api/types.d.mts +17 -0
  58. package/lib/download/api/types.d.ts +1 -1
  59. package/lib/download/git/branch.d.cts +8 -0
  60. package/lib/download/git/branch.d.mts +8 -0
  61. package/lib/download/git/hash.d.cts +8 -0
  62. package/lib/download/git/hash.d.mts +8 -0
  63. package/lib/download/git/index.cjs +2 -4
  64. package/lib/download/git/index.d.cts +29 -0
  65. package/lib/download/git/index.d.mts +29 -0
  66. package/lib/download/git/index.d.ts +1 -1
  67. package/lib/download/git/index.mjs +2 -4
  68. package/lib/download/git/reset.cjs +2 -4
  69. package/lib/download/git/reset.d.cts +6 -0
  70. package/lib/download/git/reset.d.mts +6 -0
  71. package/lib/download/git/reset.mjs +2 -4
  72. package/lib/download/github/hash.cjs +2 -0
  73. package/lib/download/github/hash.d.cts +8 -0
  74. package/lib/download/github/hash.d.mts +8 -0
  75. package/lib/download/github/hash.mjs +2 -0
  76. package/lib/download/github/index.cjs +2 -2
  77. package/lib/download/github/index.d.cts +31 -0
  78. package/lib/download/github/index.d.mts +31 -0
  79. package/lib/download/github/index.d.ts +1 -1
  80. package/lib/download/github/index.mjs +2 -2
  81. package/lib/download/github/types.d.cts +11 -0
  82. package/lib/download/github/types.d.mts +11 -0
  83. package/lib/download/github/types.d.ts +1 -1
  84. package/lib/download/gitlab/hash.cjs +2 -0
  85. package/lib/download/gitlab/hash.d.cts +8 -0
  86. package/lib/download/gitlab/hash.d.mts +8 -0
  87. package/lib/download/gitlab/hash.mjs +2 -0
  88. package/lib/download/gitlab/index.cjs +2 -2
  89. package/lib/download/gitlab/index.d.cts +31 -0
  90. package/lib/download/gitlab/index.d.mts +31 -0
  91. package/lib/download/gitlab/index.d.ts +1 -1
  92. package/lib/download/gitlab/index.mjs +2 -2
  93. package/lib/download/gitlab/types.d.cts +15 -0
  94. package/lib/download/gitlab/types.d.mts +15 -0
  95. package/lib/download/gitlab/types.d.ts +1 -1
  96. package/lib/download/helpers/untar.d.cts +6 -0
  97. package/lib/download/helpers/untar.d.mts +6 -0
  98. package/lib/download/helpers/unzip.d.cts +6 -0
  99. package/lib/download/helpers/unzip.d.mts +6 -0
  100. package/lib/download/index.cjs +2 -2
  101. package/lib/download/index.d.cts +48 -0
  102. package/lib/download/index.d.mts +48 -0
  103. package/lib/download/index.d.ts +1 -1
  104. package/lib/download/index.mjs +2 -2
  105. package/lib/download/npm/index.cjs +2 -2
  106. package/lib/download/npm/index.d.cts +30 -0
  107. package/lib/download/npm/index.d.mts +30 -0
  108. package/lib/download/npm/index.d.ts +1 -1
  109. package/lib/download/npm/index.mjs +2 -2
  110. package/lib/download/npm/types.d.cts +9 -0
  111. package/lib/download/npm/types.d.mts +9 -0
  112. package/lib/download/npm/types.d.ts +1 -1
  113. package/lib/download/npm/version.d.cts +16 -0
  114. package/lib/download/npm/version.d.mts +16 -0
  115. package/lib/download/npm/version.d.ts +1 -1
  116. package/lib/download/types/modified.d.cts +6 -0
  117. package/lib/download/types/modified.d.mts +6 -0
  118. package/lib/download/types/modified.d.ts +1 -1
  119. package/lib/download/types/sources.d.cts +12 -0
  120. package/lib/download/types/sources.d.mts +12 -0
  121. package/lib/download/types/sources.d.ts +1 -1
  122. package/lib/export/directory.d.cts +26 -0
  123. package/lib/export/directory.d.mts +26 -0
  124. package/lib/export/directory.d.ts +1 -1
  125. package/lib/export/helpers/custom-files.d.cts +12 -0
  126. package/lib/export/helpers/custom-files.d.mts +12 -0
  127. package/lib/export/helpers/custom-files.d.ts +1 -1
  128. package/lib/export/helpers/prepare.d.cts +19 -0
  129. package/lib/export/helpers/prepare.d.mts +19 -0
  130. package/lib/export/helpers/prepare.d.ts +1 -1
  131. package/lib/export/helpers/types-version.d.cts +6 -0
  132. package/lib/export/helpers/types-version.d.mts +6 -0
  133. package/lib/export/icon-package.d.cts +26 -0
  134. package/lib/export/icon-package.d.mts +26 -0
  135. package/lib/export/icon-package.d.ts +2 -2
  136. package/lib/export/json-package.cjs +1 -0
  137. package/lib/export/json-package.d.cts +25 -0
  138. package/lib/export/json-package.d.mts +25 -0
  139. package/lib/export/json-package.d.ts +2 -1
  140. package/lib/export/json-package.mjs +1 -0
  141. package/lib/icon-set/index.cjs +25 -4
  142. package/lib/icon-set/index.d.cts +162 -0
  143. package/lib/icon-set/index.d.mts +162 -0
  144. package/lib/icon-set/index.mjs +25 -4
  145. package/lib/icon-set/match.d.cts +15 -0
  146. package/lib/icon-set/match.d.mts +15 -0
  147. package/lib/icon-set/merge.d.cts +14 -0
  148. package/lib/icon-set/merge.d.mts +14 -0
  149. package/lib/icon-set/modified.d.cts +16 -0
  150. package/lib/icon-set/modified.d.mts +16 -0
  151. package/lib/icon-set/props.d.cts +13 -0
  152. package/lib/icon-set/props.d.mts +13 -0
  153. package/lib/icon-set/tags.d.cts +23 -0
  154. package/lib/icon-set/tags.d.mts +23 -0
  155. package/lib/icon-set/types.d.cts +75 -0
  156. package/lib/icon-set/types.d.mts +75 -0
  157. package/lib/icon-set/types.d.ts +1 -1
  158. package/lib/import/directory.d.cts +52 -0
  159. package/lib/import/directory.d.mts +52 -0
  160. package/lib/import/directory.d.ts +1 -1
  161. package/lib/import/figma/index.cjs +3 -0
  162. package/lib/import/figma/index.d.cts +20 -0
  163. package/lib/import/figma/index.d.mts +20 -0
  164. package/lib/import/figma/index.mjs +3 -0
  165. package/lib/import/figma/nodes.cjs +1 -1
  166. package/lib/import/figma/nodes.d.cts +18 -0
  167. package/lib/import/figma/nodes.d.mts +18 -0
  168. package/lib/import/figma/nodes.mjs +1 -1
  169. package/lib/import/figma/query.cjs +104 -76
  170. package/lib/import/figma/query.d.cts +42 -0
  171. package/lib/import/figma/query.d.mts +42 -0
  172. package/lib/import/figma/query.d.ts +15 -2
  173. package/lib/import/figma/query.mjs +106 -78
  174. package/lib/import/figma/types/api.d.cts +53 -0
  175. package/lib/import/figma/types/api.d.mts +53 -0
  176. package/lib/import/figma/types/api.d.ts +1 -1
  177. package/lib/import/figma/types/nodes.d.cts +44 -0
  178. package/lib/import/figma/types/nodes.d.mts +44 -0
  179. package/lib/import/figma/types/nodes.d.ts +1 -1
  180. package/lib/import/figma/types/options.d.cts +59 -0
  181. package/lib/import/figma/types/options.d.mts +59 -0
  182. package/lib/import/figma/types/options.d.ts +1 -1
  183. package/lib/import/figma/types/result.d.cts +44 -0
  184. package/lib/import/figma/types/result.d.mts +44 -0
  185. package/lib/import/figma/types/result.d.ts +1 -1
  186. package/lib/index.cjs +15 -13
  187. package/lib/index.d.cts +78 -0
  188. package/lib/index.d.mts +78 -0
  189. package/lib/index.d.ts +8 -5
  190. package/lib/index.mjs +14 -12
  191. package/lib/misc/bump-version.d.cts +6 -0
  192. package/lib/misc/bump-version.d.mts +6 -0
  193. package/lib/misc/cheerio.d.cts +9 -0
  194. package/lib/misc/cheerio.d.mts +9 -0
  195. package/lib/misc/cheerio.d.ts +1 -1
  196. package/lib/misc/compare-dirs.cjs +3 -3
  197. package/lib/misc/compare-dirs.d.cts +11 -0
  198. package/lib/misc/compare-dirs.d.mts +11 -0
  199. package/lib/misc/compare-dirs.d.ts +1 -1
  200. package/lib/misc/compare-dirs.mjs +3 -3
  201. package/lib/misc/exec.d.cts +12 -0
  202. package/lib/misc/exec.d.mts +12 -0
  203. package/lib/misc/exec.d.ts +1 -1
  204. package/lib/misc/keyword.d.cts +6 -0
  205. package/lib/misc/keyword.d.mts +6 -0
  206. package/lib/misc/scan.d.cts +33 -0
  207. package/lib/misc/scan.d.mts +33 -0
  208. package/lib/misc/scan.d.ts +3 -3
  209. package/lib/misc/write-json.d.cts +6 -0
  210. package/lib/misc/write-json.d.mts +6 -0
  211. package/lib/optimise/figma.cjs +55 -33
  212. package/lib/optimise/figma.d.cts +13 -0
  213. package/lib/optimise/figma.d.mts +13 -0
  214. package/lib/optimise/figma.d.ts +3 -1
  215. package/lib/optimise/figma.mjs +55 -33
  216. package/lib/optimise/flags.cjs +3 -3
  217. package/lib/optimise/flags.d.cts +11 -0
  218. package/lib/optimise/flags.d.mts +11 -0
  219. package/lib/optimise/flags.d.ts +1 -1
  220. package/lib/optimise/flags.mjs +3 -3
  221. package/lib/optimise/global-style.cjs +7 -7
  222. package/lib/optimise/global-style.d.cts +11 -0
  223. package/lib/optimise/global-style.d.mts +11 -0
  224. package/lib/optimise/global-style.d.ts +1 -1
  225. package/lib/optimise/global-style.mjs +7 -7
  226. package/lib/optimise/mask.cjs +1 -1
  227. package/lib/optimise/mask.d.cts +24 -0
  228. package/lib/optimise/mask.d.mts +24 -0
  229. package/lib/optimise/mask.mjs +2 -2
  230. package/lib/optimise/origin.d.cts +11 -0
  231. package/lib/optimise/origin.d.mts +11 -0
  232. package/lib/optimise/scale.d.cts +11 -0
  233. package/lib/optimise/scale.d.mts +11 -0
  234. package/lib/optimise/svgo.cjs +1 -1
  235. package/lib/optimise/svgo.d.cts +37 -0
  236. package/lib/optimise/svgo.d.mts +37 -0
  237. package/lib/optimise/svgo.mjs +1 -1
  238. package/lib/optimise/unwrap.cjs +31 -0
  239. package/lib/optimise/unwrap.d.cts +11 -0
  240. package/lib/optimise/unwrap.d.mts +11 -0
  241. package/lib/optimise/unwrap.d.ts +11 -0
  242. package/lib/optimise/unwrap.mjs +29 -0
  243. package/lib/svg/analyse/error.d.cts +10 -0
  244. package/lib/svg/analyse/error.d.mts +10 -0
  245. package/lib/svg/analyse/error.d.ts +1 -0
  246. package/lib/svg/analyse/types.d.cts +92 -0
  247. package/lib/svg/analyse/types.d.mts +92 -0
  248. package/lib/svg/analyse/types.d.ts +4 -3
  249. package/lib/svg/analyse.cjs +2 -2
  250. package/lib/svg/analyse.d.cts +15 -0
  251. package/lib/svg/analyse.d.mts +15 -0
  252. package/lib/svg/analyse.d.ts +1 -0
  253. package/lib/svg/analyse.mjs +4 -4
  254. package/lib/svg/cleanup/attribs.cjs +1 -1
  255. package/lib/svg/cleanup/attribs.d.cts +11 -0
  256. package/lib/svg/cleanup/attribs.d.mts +11 -0
  257. package/lib/svg/cleanup/attribs.mjs +2 -2
  258. package/lib/svg/cleanup/bad-tags.cjs +1 -1
  259. package/lib/svg/cleanup/bad-tags.d.cts +17 -0
  260. package/lib/svg/cleanup/bad-tags.d.mts +17 -0
  261. package/lib/svg/cleanup/bad-tags.d.ts +1 -1
  262. package/lib/svg/cleanup/bad-tags.mjs +2 -2
  263. package/lib/svg/cleanup/inline-style.cjs +1 -1
  264. package/lib/svg/cleanup/inline-style.d.cts +11 -0
  265. package/lib/svg/cleanup/inline-style.d.mts +11 -0
  266. package/lib/svg/cleanup/inline-style.mjs +2 -2
  267. package/lib/svg/cleanup/root-style.cjs +1 -1
  268. package/lib/svg/cleanup/root-style.d.cts +17 -0
  269. package/lib/svg/cleanup/root-style.d.mts +17 -0
  270. package/lib/svg/cleanup/root-style.mjs +2 -2
  271. package/lib/svg/cleanup/root-svg.cjs +3 -3
  272. package/lib/svg/cleanup/root-svg.d.cts +11 -0
  273. package/lib/svg/cleanup/root-svg.d.mts +11 -0
  274. package/lib/svg/cleanup/root-svg.mjs +3 -3
  275. package/lib/svg/cleanup/svgo-style.cjs +2 -2
  276. package/lib/svg/cleanup/svgo-style.d.cts +11 -0
  277. package/lib/svg/cleanup/svgo-style.d.mts +11 -0
  278. package/lib/svg/cleanup/svgo-style.mjs +3 -3
  279. package/lib/svg/cleanup.d.cts +16 -0
  280. package/lib/svg/cleanup.d.mts +16 -0
  281. package/lib/svg/cleanup.d.ts +1 -1
  282. package/lib/svg/data/attributes.d.cts +77 -0
  283. package/lib/svg/data/attributes.d.mts +77 -0
  284. package/lib/svg/data/tags.d.cts +95 -0
  285. package/lib/svg/data/tags.d.mts +95 -0
  286. package/lib/svg/index.cjs +18 -1
  287. package/lib/svg/index.d.cts +52 -0
  288. package/lib/svg/index.d.mts +52 -0
  289. package/lib/svg/index.d.ts +5 -1
  290. package/lib/svg/index.mjs +19 -2
  291. package/lib/svg/parse-style.cjs +178 -235
  292. package/lib/svg/parse-style.d.cts +58 -0
  293. package/lib/svg/parse-style.d.mts +58 -0
  294. package/lib/svg/parse-style.d.ts +3 -9
  295. package/lib/svg/parse-style.mjs +180 -236
  296. package/lib/svg/parse.cjs +27 -59
  297. package/lib/svg/parse.d.cts +30 -0
  298. package/lib/svg/parse.d.mts +30 -0
  299. package/lib/svg/parse.d.ts +3 -10
  300. package/lib/svg/parse.mjs +28 -59
  301. package/package.json +34 -24
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Package options
3
+ */
4
+ interface NPMPackageOptions {
5
+ package: string;
6
+ tag?: string;
7
+ }
8
+
9
+ export type { NPMPackageOptions };
@@ -6,4 +6,4 @@ interface NPMPackageOptions {
6
6
  tag?: string;
7
7
  }
8
8
 
9
- export { NPMPackageOptions };
9
+ export type { NPMPackageOptions };
@@ -0,0 +1,16 @@
1
+ import { NPMPackageOptions } from './types.cjs';
2
+
3
+ interface GetNPMVersionResult {
4
+ version: string;
5
+ file?: string;
6
+ }
7
+ /**
8
+ * Get version of package from NPM registry
9
+ */
10
+ declare function getNPMVersion(options: NPMPackageOptions): Promise<GetNPMVersionResult>;
11
+ /**
12
+ * Get version of package from filename
13
+ */
14
+ declare function getPackageVersion(target: string): Promise<string>;
15
+
16
+ export { type GetNPMVersionResult, getNPMVersion, getPackageVersion };
@@ -0,0 +1,16 @@
1
+ import { NPMPackageOptions } from './types.mjs';
2
+
3
+ interface GetNPMVersionResult {
4
+ version: string;
5
+ file?: string;
6
+ }
7
+ /**
8
+ * Get version of package from NPM registry
9
+ */
10
+ declare function getNPMVersion(options: NPMPackageOptions): Promise<GetNPMVersionResult>;
11
+ /**
12
+ * Get version of package from filename
13
+ */
14
+ declare function getPackageVersion(target: string): Promise<string>;
15
+
16
+ export { type GetNPMVersionResult, getNPMVersion, getPackageVersion };
@@ -13,4 +13,4 @@ declare function getNPMVersion(options: NPMPackageOptions): Promise<GetNPMVersio
13
13
  */
14
14
  declare function getPackageVersion(target: string): Promise<string>;
15
15
 
16
- export { GetNPMVersionResult, getNPMVersion, getPackageVersion };
16
+ export { type GetNPMVersionResult, getNPMVersion, getPackageVersion };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Document wasn't modified
3
+ */
4
+ type DocumentNotModified = 'not_modified';
5
+
6
+ export type { DocumentNotModified };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Document wasn't modified
3
+ */
4
+ type DocumentNotModified = 'not_modified';
5
+
6
+ export type { DocumentNotModified };
@@ -3,4 +3,4 @@
3
3
  */
4
4
  type DocumentNotModified = 'not_modified';
5
5
 
6
- export { DocumentNotModified };
6
+ export type { DocumentNotModified };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Download types
3
+ */
4
+ type DownloadSourceType = 'git' | 'github' | 'gitlab' | 'npm';
5
+ /**
6
+ * Type in other objects
7
+ */
8
+ interface DownloadSourceMixin<T extends DownloadSourceType> {
9
+ downloadType: T;
10
+ }
11
+
12
+ export type { DownloadSourceMixin, DownloadSourceType };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Download types
3
+ */
4
+ type DownloadSourceType = 'git' | 'github' | 'gitlab' | 'npm';
5
+ /**
6
+ * Type in other objects
7
+ */
8
+ interface DownloadSourceMixin<T extends DownloadSourceType> {
9
+ downloadType: T;
10
+ }
11
+
12
+ export type { DownloadSourceMixin, DownloadSourceType };
@@ -9,4 +9,4 @@ interface DownloadSourceMixin<T extends DownloadSourceType> {
9
9
  downloadType: T;
10
10
  }
11
11
 
12
- export { DownloadSourceMixin, DownloadSourceType };
12
+ export type { DownloadSourceMixin, DownloadSourceType };
@@ -0,0 +1,26 @@
1
+ import { IconSet } from '../icon-set/index.cjs';
2
+ import { ExportTargetOptions } from './helpers/prepare.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
+
10
+ /**
11
+ * Options
12
+ */
13
+ interface ExportToDirectoryOptions extends ExportTargetOptions {
14
+ autoHeight?: boolean;
15
+ includeAliases?: boolean;
16
+ includeChars?: boolean;
17
+ log?: boolean;
18
+ }
19
+ /**
20
+ * Export icon set to directory
21
+ *
22
+ * Returns list of stored files
23
+ */
24
+ declare function exportToDirectory(iconSet: IconSet, options: ExportToDirectoryOptions): Promise<string[]>;
25
+
26
+ export { type ExportToDirectoryOptions, exportToDirectory };
@@ -0,0 +1,26 @@
1
+ import { IconSet } from '../icon-set/index.mjs';
2
+ import { ExportTargetOptions } from './helpers/prepare.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
+
10
+ /**
11
+ * Options
12
+ */
13
+ interface ExportToDirectoryOptions extends ExportTargetOptions {
14
+ autoHeight?: boolean;
15
+ includeAliases?: boolean;
16
+ includeChars?: boolean;
17
+ log?: boolean;
18
+ }
19
+ /**
20
+ * Export icon set to directory
21
+ *
22
+ * Returns list of stored files
23
+ */
24
+ declare function exportToDirectory(iconSet: IconSet, options: ExportToDirectoryOptions): Promise<string[]>;
25
+
26
+ export { type ExportToDirectoryOptions, exportToDirectory };
@@ -23,4 +23,4 @@ interface ExportToDirectoryOptions extends ExportTargetOptions {
23
23
  */
24
24
  declare function exportToDirectory(iconSet: IconSet, options: ExportToDirectoryOptions): Promise<string[]>;
25
25
 
26
- export { ExportToDirectoryOptions, exportToDirectory };
26
+ export { type ExportToDirectoryOptions, exportToDirectory };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Options
3
+ */
4
+ interface ExportOptionsWithCustomFiles {
5
+ customFiles?: Record<string, string | Record<string, unknown> | null>;
6
+ }
7
+ /**
8
+ * Write custom files
9
+ */
10
+ declare function exportCustomFiles(dir: string, options: ExportOptionsWithCustomFiles, result?: Set<string>): Promise<void>;
11
+
12
+ export { type ExportOptionsWithCustomFiles, exportCustomFiles };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Options
3
+ */
4
+ interface ExportOptionsWithCustomFiles {
5
+ customFiles?: Record<string, string | Record<string, unknown> | null>;
6
+ }
7
+ /**
8
+ * Write custom files
9
+ */
10
+ declare function exportCustomFiles(dir: string, options: ExportOptionsWithCustomFiles, result?: Set<string>): Promise<void>;
11
+
12
+ export { type ExportOptionsWithCustomFiles, exportCustomFiles };
@@ -9,4 +9,4 @@ interface ExportOptionsWithCustomFiles {
9
9
  */
10
10
  declare function exportCustomFiles(dir: string, options: ExportOptionsWithCustomFiles, result?: Set<string>): Promise<void>;
11
11
 
12
- export { ExportOptionsWithCustomFiles, exportCustomFiles };
12
+ export { type ExportOptionsWithCustomFiles, exportCustomFiles };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Common options for all functions that export to directory
3
+ */
4
+ interface ExportTargetOptions {
5
+ target: string;
6
+ cleanup?: boolean;
7
+ }
8
+ /**
9
+ * Normalize directory
10
+ */
11
+ declare function normalizeDir(dir: string): string;
12
+ /**
13
+ * Prepare directory for export
14
+ *
15
+ * Also normalizes directory and returns normalized value
16
+ */
17
+ declare function prepareDirectoryForExport(options: ExportTargetOptions): Promise<string>;
18
+
19
+ export { type ExportTargetOptions, normalizeDir, prepareDirectoryForExport };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Common options for all functions that export to directory
3
+ */
4
+ interface ExportTargetOptions {
5
+ target: string;
6
+ cleanup?: boolean;
7
+ }
8
+ /**
9
+ * Normalize directory
10
+ */
11
+ declare function normalizeDir(dir: string): string;
12
+ /**
13
+ * Prepare directory for export
14
+ *
15
+ * Also normalizes directory and returns normalized value
16
+ */
17
+ declare function prepareDirectoryForExport(options: ExportTargetOptions): Promise<string>;
18
+
19
+ export { type ExportTargetOptions, normalizeDir, prepareDirectoryForExport };
@@ -16,4 +16,4 @@ declare function normalizeDir(dir: string): string;
16
16
  */
17
17
  declare function prepareDirectoryForExport(options: ExportTargetOptions): Promise<string>;
18
18
 
19
- export { ExportTargetOptions, normalizeDir, prepareDirectoryForExport };
19
+ export { type ExportTargetOptions, normalizeDir, prepareDirectoryForExport };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Get current version of Iconify Types package
3
+ */
4
+ declare function getTypesVersion(): Promise<string>;
5
+
6
+ export { getTypesVersion };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Get current version of Iconify Types package
3
+ */
4
+ declare function getTypesVersion(): Promise<string>;
5
+
6
+ export { getTypesVersion };
@@ -0,0 +1,26 @@
1
+ import { IconSet } from '../icon-set/index.cjs';
2
+ import { ExportTargetOptions } from './helpers/prepare.cjs';
3
+ import { ExportOptionsWithCustomFiles } from './helpers/custom-files.cjs';
4
+ import '@iconify/types';
5
+ import '@iconify/utils/lib/customisations/defaults';
6
+ import '../icon-set/types.cjs';
7
+ import '../svg/index.cjs';
8
+ import 'cheerio';
9
+ import '@iconify/utils/lib/icon-set/tree';
10
+
11
+ /**
12
+ * Options
13
+ */
14
+ interface ExportIconPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
15
+ package?: Record<string, unknown>;
16
+ module?: boolean;
17
+ typesContent?: string;
18
+ }
19
+ /**
20
+ * Export icon set as single icon packages
21
+ *
22
+ * Was used for exporting `@iconify-icons/{prefix}` packages
23
+ */
24
+ declare function exportIconPackage(iconSet: IconSet, options: ExportIconPackageOptions): Promise<string[]>;
25
+
26
+ export { type ExportIconPackageOptions, exportIconPackage };
@@ -0,0 +1,26 @@
1
+ import { IconSet } from '../icon-set/index.mjs';
2
+ import { ExportTargetOptions } from './helpers/prepare.mjs';
3
+ import { ExportOptionsWithCustomFiles } from './helpers/custom-files.mjs';
4
+ import '@iconify/types';
5
+ import '@iconify/utils/lib/customisations/defaults';
6
+ import '../icon-set/types.mjs';
7
+ import '../svg/index.mjs';
8
+ import 'cheerio';
9
+ import '@iconify/utils/lib/icon-set/tree';
10
+
11
+ /**
12
+ * Options
13
+ */
14
+ interface ExportIconPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
15
+ package?: Record<string, unknown>;
16
+ module?: boolean;
17
+ typesContent?: string;
18
+ }
19
+ /**
20
+ * Export icon set as single icon packages
21
+ *
22
+ * Was used for exporting `@iconify-icons/{prefix}` packages
23
+ */
24
+ declare function exportIconPackage(iconSet: IconSet, options: ExportIconPackageOptions): Promise<string[]>;
25
+
26
+ export { type ExportIconPackageOptions, exportIconPackage };
@@ -19,8 +19,8 @@ interface ExportIconPackageOptions extends ExportTargetOptions, ExportOptionsWit
19
19
  /**
20
20
  * Export icon set as single icon packages
21
21
  *
22
- * Used for exporting `@iconify-icons/{prefix}` packages
22
+ * Was used for exporting `@iconify-icons/{prefix}` packages
23
23
  */
24
24
  declare function exportIconPackage(iconSet: IconSet, options: ExportIconPackageOptions): Promise<string[]>;
25
25
 
26
- export { ExportIconPackageOptions, exportIconPackage };
26
+ export { type ExportIconPackageOptions, exportIconPackage };
@@ -135,6 +135,7 @@ async function exportJSONPackage(iconSet, options) {
135
135
  );
136
136
  files.add("index.d.ts");
137
137
  await export_helpers_customFiles.exportCustomFiles(dir, options, files);
138
+ options.customisePackage?.(packageJSON);
138
139
  await misc_writeJson.writeJSONFile(dir + "/package.json", packageJSON);
139
140
  files.add("package.json");
140
141
  return Array.from(files);
@@ -0,0 +1,25 @@
1
+ import { IconSet } from '../icon-set/index.cjs';
2
+ import { ExportTargetOptions } from './helpers/prepare.cjs';
3
+ import { ExportOptionsWithCustomFiles } from './helpers/custom-files.cjs';
4
+ import '@iconify/types';
5
+ import '@iconify/utils/lib/customisations/defaults';
6
+ import '../icon-set/types.cjs';
7
+ import '../svg/index.cjs';
8
+ import 'cheerio';
9
+ import '@iconify/utils/lib/icon-set/tree';
10
+
11
+ /**
12
+ * Options
13
+ */
14
+ interface ExportJSONPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
15
+ package?: Record<string, unknown>;
16
+ customisePackage?: (contents: Record<string, unknown>) => void;
17
+ }
18
+ /**
19
+ * Export icon set as JSON package
20
+ *
21
+ * Used for exporting `@iconify-json/{prefix}` packages
22
+ */
23
+ declare function exportJSONPackage(iconSet: IconSet, options: ExportJSONPackageOptions): Promise<string[]>;
24
+
25
+ export { type ExportJSONPackageOptions, exportJSONPackage };
@@ -0,0 +1,25 @@
1
+ import { IconSet } from '../icon-set/index.mjs';
2
+ import { ExportTargetOptions } from './helpers/prepare.mjs';
3
+ import { ExportOptionsWithCustomFiles } from './helpers/custom-files.mjs';
4
+ import '@iconify/types';
5
+ import '@iconify/utils/lib/customisations/defaults';
6
+ import '../icon-set/types.mjs';
7
+ import '../svg/index.mjs';
8
+ import 'cheerio';
9
+ import '@iconify/utils/lib/icon-set/tree';
10
+
11
+ /**
12
+ * Options
13
+ */
14
+ interface ExportJSONPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
15
+ package?: Record<string, unknown>;
16
+ customisePackage?: (contents: Record<string, unknown>) => void;
17
+ }
18
+ /**
19
+ * Export icon set as JSON package
20
+ *
21
+ * Used for exporting `@iconify-json/{prefix}` packages
22
+ */
23
+ declare function exportJSONPackage(iconSet: IconSet, options: ExportJSONPackageOptions): Promise<string[]>;
24
+
25
+ export { type ExportJSONPackageOptions, exportJSONPackage };
@@ -13,6 +13,7 @@ import '@iconify/utils/lib/icon-set/tree';
13
13
  */
14
14
  interface ExportJSONPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
15
15
  package?: Record<string, unknown>;
16
+ customisePackage?: (contents: Record<string, unknown>) => void;
16
17
  }
17
18
  /**
18
19
  * Export icon set as JSON package
@@ -21,4 +22,4 @@ interface ExportJSONPackageOptions extends ExportTargetOptions, ExportOptionsWit
21
22
  */
22
23
  declare function exportJSONPackage(iconSet: IconSet, options: ExportJSONPackageOptions): Promise<string[]>;
23
24
 
24
- export { ExportJSONPackageOptions, exportJSONPackage };
25
+ export { type ExportJSONPackageOptions, exportJSONPackage };
@@ -133,6 +133,7 @@ async function exportJSONPackage(iconSet, options) {
133
133
  );
134
134
  files.add("index.d.ts");
135
135
  await exportCustomFiles(dir, options, files);
136
+ options.customisePackage?.(packageJSON);
136
137
  await writeJSONFile(dir + "/package.json", packageJSON);
137
138
  files.add("package.json");
138
139
  return Array.from(files);
@@ -10,6 +10,12 @@ const utils = require('@iconify/utils');
10
10
  require('@iconify/utils/lib/misc/objects');
11
11
  require('cheerio');
12
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
+ };
13
19
  const themeKeys = ["prefixes", "suffixes"];
14
20
  function sortThemeKeys(keys) {
15
21
  return keys.sort(
@@ -21,6 +27,22 @@ class IconSet {
21
27
  * Load icon set
22
28
  */
23
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");
24
46
  this.load(data);
25
47
  }
26
48
  /**
@@ -145,10 +167,9 @@ class IconSet {
145
167
  * List icons
146
168
  */
147
169
  list(types = ["icon", "variation"]) {
148
- return Object.keys(this.entries).filter((name) => {
149
- const type = this.entries[name].type;
150
- return types.indexOf(type) !== -1;
151
- });
170
+ return Object.keys(this.entries).filter(
171
+ (name) => types.includes(this.entries[name].type)
172
+ );
152
173
  }
153
174
  /**
154
175
  * forEach function to loop through all entries.
@@ -0,0 +1,162 @@
1
+ import { IconifyInfo, IconifyJSON } from '@iconify/types';
2
+ import { IconifyIconCustomisations } from '@iconify/utils/lib/customisations/defaults';
3
+ import { IconSetIconEntry, IconCategory, IconSetIconType, IconSetAsyncForEachCallback, IconSetSyncForEachCallback, ResolvedIconifyIcon, CommonIconProps, CheckThemeResult } from './types.cjs';
4
+ import { SVG } from '../svg/index.cjs';
5
+ import { ParentIconsTree } from '@iconify/utils/lib/icon-set/tree';
6
+ import 'cheerio';
7
+
8
+ /**
9
+ * Sort theme keys: long keys first
10
+ *
11
+ * Applies changes to parameter, but also returns it
12
+ */
13
+ declare function sortThemeKeys(keys: string[]): string[];
14
+ /**
15
+ * Export icon set
16
+ */
17
+ declare class IconSet {
18
+ /**
19
+ * Properties. You can write directly to almost any property, but avoid writing to
20
+ * 'entries' and 'categories' properties, there are functions for that.
21
+ */
22
+ prefix: string;
23
+ lastModified: number;
24
+ entries: Record<string, IconSetIconEntry>;
25
+ info: IconifyInfo | undefined;
26
+ categories: Set<IconCategory>;
27
+ prefixes: Record<string, string>;
28
+ suffixes: Record<string, string>;
29
+ /**
30
+ * Load icon set
31
+ */
32
+ constructor(data: IconifyJSON);
33
+ /**
34
+ * Load icon set
35
+ */
36
+ load(data: IconifyJSON): void;
37
+ /**
38
+ * Update last modification time
39
+ */
40
+ updateLastModified(value?: number): void;
41
+ /**
42
+ * List icons
43
+ */
44
+ list(types?: IconSetIconType[]): string[];
45
+ /**
46
+ * forEach function to loop through all entries.
47
+ * Supports asynchronous callbacks.
48
+ *
49
+ * Callback should return false to stop loop.
50
+ */
51
+ forEach(callback: IconSetAsyncForEachCallback, types?: IconSetIconType[]): Promise<void>;
52
+ /**
53
+ * Synchronous version of forEach function to loop through all entries.
54
+ *
55
+ * Callback should return false to stop loop.
56
+ */
57
+ forEachSync(callback: IconSetSyncForEachCallback, types?: IconSetIconType[]): void;
58
+ /**
59
+ * Get parent icons tree
60
+ *
61
+ * Returns parent icons list for each icon, null if failed to resolve.
62
+ * In parent icons list, first element is a direct parent, last is icon. Does not include item.
63
+ *
64
+ * Examples:
65
+ * 'alias3': ['alias2', 'alias1', 'icon']
66
+ * 'icon': []
67
+ * 'bad-icon': null
68
+ */
69
+ getTree(names?: string[]): ParentIconsTree;
70
+ /**
71
+ * Resolve icon
72
+ */
73
+ resolve(name: string, full: false): ResolvedIconifyIcon | null;
74
+ resolve(name: string): ResolvedIconifyIcon | null;
75
+ resolve(name: string, full: true): Required<ResolvedIconifyIcon> | null;
76
+ /**
77
+ * Generate HTML
78
+ */
79
+ toString(name: string, customisations?: IconifyIconCustomisations): string | null;
80
+ /**
81
+ * Get SVG instance for icon
82
+ */
83
+ toSVG(name: string): SVG | null;
84
+ /**
85
+ * Export icon set
86
+ */
87
+ export(validate?: boolean): IconifyJSON;
88
+ /**
89
+ * Get characters map
90
+ */
91
+ chars(names?: string[]): Record<string, string>;
92
+ /**
93
+ * Filter icons
94
+ */
95
+ _filter(callback: (name: string, item: IconSetIconEntry, icon?: ResolvedIconifyIcon) => boolean): string[];
96
+ /**
97
+ * Count icons
98
+ */
99
+ count(): number;
100
+ /**
101
+ * Find category by title
102
+ */
103
+ findCategory(title: string, add: boolean): IconCategory | null;
104
+ /**
105
+ * Count icons in category, remove category if empty
106
+ *
107
+ * Hidden icons and aliases do not count
108
+ */
109
+ listCategory(category: IconCategory | string): string[] | null;
110
+ /**
111
+ * Check if icon exists
112
+ */
113
+ exists(name: string): boolean;
114
+ /**
115
+ * Remove icons. Returns number of removed icons
116
+ *
117
+ * If removeDependencies is a string, it represents new parent for all aliases of removed icon. New parent cannot be alias or variation.
118
+ */
119
+ remove(name: string, removeDependencies?: boolean | string): number;
120
+ /**
121
+ * Rename icon
122
+ */
123
+ rename(oldName: string, newName: string): boolean;
124
+ /**
125
+ * Add/update item
126
+ */
127
+ setItem(name: string, item: IconSetIconEntry): boolean;
128
+ /**
129
+ * Add/update icon
130
+ */
131
+ setIcon(name: string, icon: ResolvedIconifyIcon): boolean;
132
+ /**
133
+ * Add/update alias without props
134
+ */
135
+ setAlias(name: string, parent: string): boolean;
136
+ /**
137
+ * Add/update alias with props
138
+ */
139
+ setVariation(name: string, parent: string, props: CommonIconProps): boolean;
140
+ /**
141
+ * Icon from SVG. Updates old icon if it exists
142
+ */
143
+ fromSVG(name: string, svg: SVG): boolean;
144
+ /**
145
+ * Add or remove character for icon
146
+ */
147
+ toggleCharacter(iconName: string, char: string, add: boolean): boolean;
148
+ /**
149
+ * Add or remove category for icon
150
+ */
151
+ toggleCategory(iconName: string, category: string, add: boolean): boolean;
152
+ /**
153
+ * Find icons that belong to theme
154
+ */
155
+ checkTheme(prefix: boolean): CheckThemeResult;
156
+ }
157
+ /**
158
+ * Create blank icon set
159
+ */
160
+ declare function blankIconSet(prefix: string): IconSet;
161
+
162
+ export { IconSet, blankIconSet, sortThemeKeys };