rn-iconify 1.0.0 → 2.0.0

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 (657) hide show
  1. package/README.md +47 -235
  2. package/babel.js +14 -0
  3. package/lib/commonjs/IconRenderer.js +91 -4
  4. package/lib/commonjs/IconRenderer.js.map +1 -1
  5. package/lib/commonjs/accessibility/AccessibilityProvider.js +189 -0
  6. package/lib/commonjs/accessibility/AccessibilityProvider.js.map +1 -0
  7. package/lib/commonjs/accessibility/index.js +87 -0
  8. package/lib/commonjs/accessibility/index.js.map +1 -0
  9. package/lib/commonjs/accessibility/types.js +6 -0
  10. package/lib/commonjs/accessibility/types.js.map +1 -0
  11. package/lib/commonjs/accessibility/useAccessibleIcon.js +119 -0
  12. package/lib/commonjs/accessibility/useAccessibleIcon.js.map +1 -0
  13. package/lib/commonjs/accessibility/utils.js +231 -0
  14. package/lib/commonjs/accessibility/utils.js.map +1 -0
  15. package/lib/commonjs/alias/Icon.js +113 -0
  16. package/lib/commonjs/alias/Icon.js.map +1 -0
  17. package/lib/commonjs/alias/IconAliasContext.js +177 -0
  18. package/lib/commonjs/alias/IconAliasContext.js.map +1 -0
  19. package/lib/commonjs/alias/createIconAliases.js +222 -0
  20. package/lib/commonjs/alias/createIconAliases.js.map +1 -0
  21. package/lib/commonjs/alias/index.js +57 -0
  22. package/lib/commonjs/alias/index.js.map +1 -0
  23. package/lib/commonjs/alias/types.js +6 -0
  24. package/lib/commonjs/alias/types.js.map +1 -0
  25. package/lib/commonjs/animated/AnimatedIcon.js +116 -0
  26. package/lib/commonjs/animated/AnimatedIcon.js.map +1 -0
  27. package/lib/commonjs/animated/index.js +76 -0
  28. package/lib/commonjs/animated/index.js.map +1 -0
  29. package/lib/commonjs/animated/presets.js +220 -0
  30. package/lib/commonjs/animated/presets.js.map +1 -0
  31. package/lib/commonjs/animated/types.js +71 -0
  32. package/lib/commonjs/animated/types.js.map +1 -0
  33. package/lib/commonjs/animated/useIconAnimation.js +313 -0
  34. package/lib/commonjs/animated/useIconAnimation.js.map +1 -0
  35. package/lib/commonjs/babel/ast-utils.js +214 -0
  36. package/lib/commonjs/babel/ast-utils.js.map +1 -0
  37. package/lib/commonjs/babel/cache-writer.js +281 -0
  38. package/lib/commonjs/babel/cache-writer.js.map +1 -0
  39. package/lib/commonjs/babel/collector.js +219 -0
  40. package/lib/commonjs/babel/collector.js.map +1 -0
  41. package/lib/commonjs/babel/index.js +104 -0
  42. package/lib/commonjs/babel/index.js.map +1 -0
  43. package/lib/commonjs/babel/plugin.js +226 -0
  44. package/lib/commonjs/babel/plugin.js.map +1 -0
  45. package/lib/commonjs/babel/types.js +485 -0
  46. package/lib/commonjs/babel/types.js.map +1 -0
  47. package/lib/commonjs/bundle/index.js +213 -0
  48. package/lib/commonjs/bundle/index.js.map +1 -0
  49. package/lib/commonjs/cache/CacheManager.js +105 -6
  50. package/lib/commonjs/cache/CacheManager.js.map +1 -1
  51. package/lib/commonjs/cli/commands/analyze.js +171 -0
  52. package/lib/commonjs/cli/commands/analyze.js.map +1 -0
  53. package/lib/commonjs/cli/commands/bundle.js +214 -0
  54. package/lib/commonjs/cli/commands/bundle.js.map +1 -0
  55. package/lib/commonjs/cli/index.js +142 -0
  56. package/lib/commonjs/cli/index.js.map +1 -0
  57. package/lib/commonjs/cli/parser.js +260 -0
  58. package/lib/commonjs/cli/parser.js.map +1 -0
  59. package/lib/commonjs/cli/types.js +42 -0
  60. package/lib/commonjs/cli/types.js.map +1 -0
  61. package/lib/commonjs/config/ConfigManager.js +182 -0
  62. package/lib/commonjs/config/ConfigManager.js.map +1 -0
  63. package/lib/commonjs/config/index.js +44 -0
  64. package/lib/commonjs/config/index.js.map +1 -0
  65. package/lib/commonjs/config/types.js +55 -0
  66. package/lib/commonjs/config/types.js.map +1 -0
  67. package/lib/commonjs/createIconSet.js +49 -11
  68. package/lib/commonjs/createIconSet.js.map +1 -1
  69. package/lib/commonjs/explorer/IconExplorer.js +827 -0
  70. package/lib/commonjs/explorer/IconExplorer.js.map +1 -0
  71. package/lib/commonjs/explorer/iconSets.js +303 -0
  72. package/lib/commonjs/explorer/iconSets.js.map +1 -0
  73. package/lib/commonjs/explorer/index.js +93 -0
  74. package/lib/commonjs/explorer/index.js.map +1 -0
  75. package/lib/commonjs/explorer/types.js +6 -0
  76. package/lib/commonjs/explorer/types.js.map +1 -0
  77. package/lib/commonjs/explorer/useExplorer.js +359 -0
  78. package/lib/commonjs/explorer/useExplorer.js.map +1 -0
  79. package/lib/commonjs/index.js +618 -12
  80. package/lib/commonjs/index.js.map +1 -1
  81. package/lib/commonjs/navigation/createDrawerIcon.js +129 -0
  82. package/lib/commonjs/navigation/createDrawerIcon.js.map +1 -0
  83. package/lib/commonjs/navigation/createHeaderIcon.js +185 -0
  84. package/lib/commonjs/navigation/createHeaderIcon.js.map +1 -0
  85. package/lib/commonjs/navigation/createTabBarIcon.js +178 -0
  86. package/lib/commonjs/navigation/createTabBarIcon.js.map +1 -0
  87. package/lib/commonjs/navigation/index.js +83 -0
  88. package/lib/commonjs/navigation/index.js.map +1 -0
  89. package/lib/commonjs/navigation/types.js +94 -0
  90. package/lib/commonjs/navigation/types.js.map +1 -0
  91. package/lib/commonjs/navigation/useNavigationIcon.js +128 -0
  92. package/lib/commonjs/navigation/useNavigationIcon.js.map +1 -0
  93. package/lib/commonjs/network/IconifyAPI.js +154 -14
  94. package/lib/commonjs/network/IconifyAPI.js.map +1 -1
  95. package/lib/commonjs/network/index.js +18 -0
  96. package/lib/commonjs/network/index.js.map +1 -1
  97. package/lib/commonjs/performance/PerformanceMonitor.js +327 -0
  98. package/lib/commonjs/performance/PerformanceMonitor.js.map +1 -0
  99. package/lib/commonjs/performance/index.js +43 -0
  100. package/lib/commonjs/performance/index.js.map +1 -0
  101. package/lib/commonjs/performance/types.js +2 -0
  102. package/lib/commonjs/performance/types.js.map +1 -0
  103. package/lib/commonjs/placeholder/PlaceholderFactory.js +111 -0
  104. package/lib/commonjs/placeholder/PlaceholderFactory.js.map +1 -0
  105. package/lib/commonjs/placeholder/Pulse.js +77 -0
  106. package/lib/commonjs/placeholder/Pulse.js.map +1 -0
  107. package/lib/commonjs/placeholder/Shimmer.js +95 -0
  108. package/lib/commonjs/placeholder/Shimmer.js.map +1 -0
  109. package/lib/commonjs/placeholder/Skeleton.js +52 -0
  110. package/lib/commonjs/placeholder/Skeleton.js.map +1 -0
  111. package/lib/commonjs/placeholder/index.js +41 -0
  112. package/lib/commonjs/placeholder/index.js.map +1 -0
  113. package/lib/commonjs/placeholder/types.js +40 -0
  114. package/lib/commonjs/placeholder/types.js.map +1 -0
  115. package/lib/commonjs/theme/IconThemeProvider.js +96 -0
  116. package/lib/commonjs/theme/IconThemeProvider.js.map +1 -0
  117. package/lib/commonjs/theme/context.js +53 -0
  118. package/lib/commonjs/theme/context.js.map +1 -0
  119. package/lib/commonjs/theme/index.js +52 -0
  120. package/lib/commonjs/theme/index.js.map +1 -0
  121. package/lib/commonjs/theme/types.js +39 -0
  122. package/lib/commonjs/theme/types.js.map +1 -0
  123. package/lib/commonjs/theme/useIconTheme.js +121 -0
  124. package/lib/commonjs/theme/useIconTheme.js.map +1 -0
  125. package/lib/module/IconRenderer.js +92 -5
  126. package/lib/module/IconRenderer.js.map +1 -1
  127. package/lib/module/accessibility/AccessibilityProvider.js +179 -0
  128. package/lib/module/accessibility/AccessibilityProvider.js.map +1 -0
  129. package/lib/module/accessibility/index.js +42 -0
  130. package/lib/module/accessibility/index.js.map +1 -0
  131. package/lib/module/accessibility/types.js +2 -0
  132. package/lib/module/accessibility/types.js.map +1 -0
  133. package/lib/module/accessibility/useAccessibleIcon.js +112 -0
  134. package/lib/module/accessibility/useAccessibleIcon.js.map +1 -0
  135. package/lib/module/accessibility/utils.js +221 -0
  136. package/lib/module/accessibility/utils.js.map +1 -0
  137. package/lib/module/alias/Icon.js +105 -0
  138. package/lib/module/alias/Icon.js.map +1 -0
  139. package/lib/module/alias/IconAliasContext.js +166 -0
  140. package/lib/module/alias/IconAliasContext.js.map +1 -0
  141. package/lib/module/alias/createIconAliases.js +213 -0
  142. package/lib/module/alias/createIconAliases.js.map +1 -0
  143. package/lib/module/alias/index.js +45 -0
  144. package/lib/module/alias/index.js.map +1 -0
  145. package/lib/module/alias/types.js +2 -0
  146. package/lib/module/alias/types.js.map +1 -0
  147. package/lib/module/animated/AnimatedIcon.js +109 -0
  148. package/lib/module/animated/AnimatedIcon.js.map +1 -0
  149. package/lib/module/animated/index.js +80 -0
  150. package/lib/module/animated/index.js.map +1 -0
  151. package/lib/module/animated/presets.js +209 -0
  152. package/lib/module/animated/presets.js.map +1 -0
  153. package/lib/module/animated/types.js +65 -0
  154. package/lib/module/animated/types.js.map +1 -0
  155. package/lib/module/animated/useIconAnimation.js +306 -0
  156. package/lib/module/animated/useIconAnimation.js.map +1 -0
  157. package/lib/module/babel/ast-utils.js +201 -0
  158. package/lib/module/babel/ast-utils.js.map +1 -0
  159. package/lib/module/babel/cache-writer.js +269 -0
  160. package/lib/module/babel/cache-writer.js.map +1 -0
  161. package/lib/module/babel/collector.js +214 -0
  162. package/lib/module/babel/collector.js.map +1 -0
  163. package/lib/module/babel/index.js +51 -0
  164. package/lib/module/babel/index.js.map +1 -0
  165. package/lib/module/babel/plugin.js +220 -0
  166. package/lib/module/babel/plugin.js.map +1 -0
  167. package/lib/module/babel/types.js +476 -0
  168. package/lib/module/babel/types.js.map +1 -0
  169. package/lib/module/bundle/index.js +205 -0
  170. package/lib/module/bundle/index.js.map +1 -0
  171. package/lib/module/cache/CacheManager.js +106 -6
  172. package/lib/module/cache/CacheManager.js.map +1 -1
  173. package/lib/module/cli/commands/analyze.js +166 -0
  174. package/lib/module/cli/commands/analyze.js.map +1 -0
  175. package/lib/module/cli/commands/bundle.js +208 -0
  176. package/lib/module/cli/commands/bundle.js.map +1 -0
  177. package/lib/module/cli/index.js +140 -0
  178. package/lib/module/cli/index.js.map +1 -0
  179. package/lib/module/cli/parser.js +251 -0
  180. package/lib/module/cli/parser.js.map +1 -0
  181. package/lib/module/cli/types.js +36 -0
  182. package/lib/module/cli/types.js.map +1 -0
  183. package/lib/module/components/index.js +27 -1
  184. package/lib/module/components/index.js.map +1 -1
  185. package/lib/module/config/ConfigManager.js +173 -0
  186. package/lib/module/config/ConfigManager.js.map +1 -0
  187. package/lib/module/config/index.js +28 -0
  188. package/lib/module/config/index.js.map +1 -0
  189. package/lib/module/config/types.js +49 -0
  190. package/lib/module/config/types.js.map +1 -0
  191. package/lib/module/createIconSet.js +49 -11
  192. package/lib/module/createIconSet.js.map +1 -1
  193. package/lib/module/explorer/IconExplorer.js +817 -0
  194. package/lib/module/explorer/IconExplorer.js.map +1 -0
  195. package/lib/module/explorer/iconSets.js +291 -0
  196. package/lib/module/explorer/iconSets.js.map +1 -0
  197. package/lib/module/explorer/index.js +42 -0
  198. package/lib/module/explorer/index.js.map +1 -0
  199. package/lib/module/explorer/types.js +2 -0
  200. package/lib/module/explorer/types.js.map +1 -0
  201. package/lib/module/explorer/useExplorer.js +353 -0
  202. package/lib/module/explorer/useExplorer.js.map +1 -0
  203. package/lib/module/index.js +26 -11
  204. package/lib/module/index.js.map +1 -1
  205. package/lib/module/navigation/createDrawerIcon.js +121 -0
  206. package/lib/module/navigation/createDrawerIcon.js.map +1 -0
  207. package/lib/module/navigation/createHeaderIcon.js +175 -0
  208. package/lib/module/navigation/createHeaderIcon.js.map +1 -0
  209. package/lib/module/navigation/createTabBarIcon.js +168 -0
  210. package/lib/module/navigation/createTabBarIcon.js.map +1 -0
  211. package/lib/module/navigation/index.js +59 -0
  212. package/lib/module/navigation/index.js.map +1 -0
  213. package/lib/module/navigation/types.js +88 -0
  214. package/lib/module/navigation/types.js.map +1 -0
  215. package/lib/module/navigation/useNavigationIcon.js +121 -0
  216. package/lib/module/navigation/useNavigationIcon.js.map +1 -0
  217. package/lib/module/network/IconifyAPI.js +152 -14
  218. package/lib/module/network/IconifyAPI.js.map +1 -1
  219. package/lib/module/network/index.js +1 -1
  220. package/lib/module/network/index.js.map +1 -1
  221. package/lib/module/performance/PerformanceMonitor.js +317 -0
  222. package/lib/module/performance/PerformanceMonitor.js.map +1 -0
  223. package/lib/module/performance/index.js +26 -0
  224. package/lib/module/performance/index.js.map +1 -0
  225. package/lib/module/performance/types.js +2 -0
  226. package/lib/module/performance/types.js.map +1 -0
  227. package/lib/module/placeholder/PlaceholderFactory.js +105 -0
  228. package/lib/module/placeholder/PlaceholderFactory.js.map +1 -0
  229. package/lib/module/placeholder/Pulse.js +70 -0
  230. package/lib/module/placeholder/Pulse.js.map +1 -0
  231. package/lib/module/placeholder/Shimmer.js +88 -0
  232. package/lib/module/placeholder/Shimmer.js.map +1 -0
  233. package/lib/module/placeholder/Skeleton.js +45 -0
  234. package/lib/module/placeholder/Skeleton.js.map +1 -0
  235. package/lib/module/placeholder/index.js +15 -0
  236. package/lib/module/placeholder/index.js.map +1 -0
  237. package/lib/module/placeholder/types.js +34 -0
  238. package/lib/module/placeholder/types.js.map +1 -0
  239. package/lib/module/theme/IconThemeProvider.js +89 -0
  240. package/lib/module/theme/IconThemeProvider.js.map +1 -0
  241. package/lib/module/theme/context.js +47 -0
  242. package/lib/module/theme/context.js.map +1 -0
  243. package/lib/module/theme/index.js +19 -0
  244. package/lib/module/theme/index.js.map +1 -0
  245. package/lib/module/theme/types.js +33 -0
  246. package/lib/module/theme/types.js.map +1 -0
  247. package/lib/module/theme/useIconTheme.js +114 -0
  248. package/lib/module/theme/useIconTheme.js.map +1 -0
  249. package/lib/typescript/IconRenderer.d.ts +1 -1
  250. package/lib/typescript/IconRenderer.d.ts.map +1 -1
  251. package/lib/typescript/accessibility/AccessibilityProvider.d.ts +57 -0
  252. package/lib/typescript/accessibility/AccessibilityProvider.d.ts.map +1 -0
  253. package/lib/typescript/accessibility/index.d.ts +37 -0
  254. package/lib/typescript/accessibility/index.d.ts.map +1 -0
  255. package/lib/typescript/accessibility/types.d.ts +130 -0
  256. package/lib/typescript/accessibility/types.d.ts.map +1 -0
  257. package/lib/typescript/accessibility/useAccessibleIcon.d.ts +111 -0
  258. package/lib/typescript/accessibility/useAccessibleIcon.d.ts.map +1 -0
  259. package/lib/typescript/accessibility/utils.d.ts +29 -0
  260. package/lib/typescript/accessibility/utils.d.ts.map +1 -0
  261. package/lib/typescript/alias/Icon.d.ts +38 -0
  262. package/lib/typescript/alias/Icon.d.ts.map +1 -0
  263. package/lib/typescript/alias/IconAliasContext.d.ts +52 -0
  264. package/lib/typescript/alias/IconAliasContext.d.ts.map +1 -0
  265. package/lib/typescript/alias/createIconAliases.d.ts +77 -0
  266. package/lib/typescript/alias/createIconAliases.d.ts.map +1 -0
  267. package/lib/typescript/alias/index.d.ts +36 -0
  268. package/lib/typescript/alias/index.d.ts.map +1 -0
  269. package/lib/typescript/alias/types.d.ts +115 -0
  270. package/lib/typescript/alias/types.d.ts.map +1 -0
  271. package/lib/typescript/animated/AnimatedIcon.d.ts +45 -0
  272. package/lib/typescript/animated/AnimatedIcon.d.ts.map +1 -0
  273. package/lib/typescript/animated/index.d.ts +70 -0
  274. package/lib/typescript/animated/index.d.ts.map +1 -0
  275. package/lib/typescript/animated/presets.d.ts +35 -0
  276. package/lib/typescript/animated/presets.d.ts.map +1 -0
  277. package/lib/typescript/animated/types.d.ts +196 -0
  278. package/lib/typescript/animated/types.d.ts.map +1 -0
  279. package/lib/typescript/animated/useIconAnimation.d.ts +64 -0
  280. package/lib/typescript/animated/useIconAnimation.d.ts.map +1 -0
  281. package/lib/typescript/babel/ast-utils.d.ts +52 -0
  282. package/lib/typescript/babel/ast-utils.d.ts.map +1 -0
  283. package/lib/typescript/babel/cache-writer.d.ts +56 -0
  284. package/lib/typescript/babel/cache-writer.d.ts.map +1 -0
  285. package/lib/typescript/babel/collector.d.ts +107 -0
  286. package/lib/typescript/babel/collector.d.ts.map +1 -0
  287. package/lib/typescript/babel/index.d.ts +47 -0
  288. package/lib/typescript/babel/index.d.ts.map +1 -0
  289. package/lib/typescript/babel/plugin.d.ts +17 -0
  290. package/lib/typescript/babel/plugin.d.ts.map +1 -0
  291. package/lib/typescript/babel/types.d.ts +129 -0
  292. package/lib/typescript/babel/types.d.ts.map +1 -0
  293. package/lib/typescript/bundle/index.d.ts +161 -0
  294. package/lib/typescript/bundle/index.d.ts.map +1 -0
  295. package/lib/typescript/cache/CacheManager.d.ts +52 -4
  296. package/lib/typescript/cache/CacheManager.d.ts.map +1 -1
  297. package/lib/typescript/cli/commands/analyze.d.ts +10 -0
  298. package/lib/typescript/cli/commands/analyze.d.ts.map +1 -0
  299. package/lib/typescript/cli/commands/bundle.d.ts +10 -0
  300. package/lib/typescript/cli/commands/bundle.d.ts.map +1 -0
  301. package/lib/typescript/cli/index.d.ts +7 -0
  302. package/lib/typescript/cli/index.d.ts.map +1 -0
  303. package/lib/typescript/cli/parser.d.ts +18 -0
  304. package/lib/typescript/cli/parser.d.ts.map +1 -0
  305. package/lib/typescript/cli/types.d.ts +157 -0
  306. package/lib/typescript/cli/types.d.ts.map +1 -0
  307. package/lib/typescript/components/Academicons.d.ts +1 -1
  308. package/lib/typescript/components/AkarIcons.d.ts +1 -1
  309. package/lib/typescript/components/AntDesign.d.ts +1 -1
  310. package/lib/typescript/components/Arcticons.d.ts +1 -1
  311. package/lib/typescript/components/Basil.d.ts +1 -1
  312. package/lib/typescript/components/Bi.d.ts +1 -1
  313. package/lib/typescript/components/BitcoinIcons.d.ts +1 -1
  314. package/lib/typescript/components/Bpmn.d.ts +1 -1
  315. package/lib/typescript/components/Brandico.d.ts +1 -1
  316. package/lib/typescript/components/Bx.d.ts +1 -1
  317. package/lib/typescript/components/Bxl.d.ts +1 -1
  318. package/lib/typescript/components/Bxs.d.ts +1 -1
  319. package/lib/typescript/components/Bytesize.d.ts +1 -1
  320. package/lib/typescript/components/Carbon.d.ts +1 -1
  321. package/lib/typescript/components/Catppuccin.d.ts +1 -1
  322. package/lib/typescript/components/Cbi.d.ts +1 -1
  323. package/lib/typescript/components/Charm.d.ts +1 -1
  324. package/lib/typescript/components/Ci.d.ts +1 -1
  325. package/lib/typescript/components/Cib.d.ts +1 -1
  326. package/lib/typescript/components/Cif.d.ts +1 -1
  327. package/lib/typescript/components/Cil.d.ts +1 -1
  328. package/lib/typescript/components/CircleFlags.d.ts +1 -1
  329. package/lib/typescript/components/Circum.d.ts +1 -1
  330. package/lib/typescript/components/Clarity.d.ts +1 -1
  331. package/lib/typescript/components/Codex.d.ts +1 -1
  332. package/lib/typescript/components/Codicon.d.ts +1 -1
  333. package/lib/typescript/components/Covid.d.ts +1 -1
  334. package/lib/typescript/components/Cryptocurrency.d.ts +1 -1
  335. package/lib/typescript/components/CryptocurrencyColor.d.ts +1 -1
  336. package/lib/typescript/components/Cuida.d.ts +1 -1
  337. package/lib/typescript/components/Dashicons.d.ts +1 -1
  338. package/lib/typescript/components/Devicon.d.ts +1 -1
  339. package/lib/typescript/components/DeviconPlain.d.ts +1 -1
  340. package/lib/typescript/components/DinkieIcons.d.ts +1 -1
  341. package/lib/typescript/components/DuoIcons.d.ts +1 -1
  342. package/lib/typescript/components/Ei.d.ts +1 -1
  343. package/lib/typescript/components/El.d.ts +1 -1
  344. package/lib/typescript/components/EmojioneMonotone.d.ts +1 -1
  345. package/lib/typescript/components/Entypo.d.ts +1 -1
  346. package/lib/typescript/components/EntypoSocial.d.ts +1 -1
  347. package/lib/typescript/components/EosIcons.d.ts +1 -1
  348. package/lib/typescript/components/Ep.d.ts +1 -1
  349. package/lib/typescript/components/Et.d.ts +1 -1
  350. package/lib/typescript/components/Eva.d.ts +1 -1
  351. package/lib/typescript/components/F7.d.ts +1 -1
  352. package/lib/typescript/components/Fa.d.ts +1 -1
  353. package/lib/typescript/components/Fa6Brands.d.ts +1 -1
  354. package/lib/typescript/components/Fa6Regular.d.ts +1 -1
  355. package/lib/typescript/components/Fa6Solid.d.ts +1 -1
  356. package/lib/typescript/components/Fa7Brands.d.ts +1 -1
  357. package/lib/typescript/components/Fa7Regular.d.ts +1 -1
  358. package/lib/typescript/components/Fa7Solid.d.ts +1 -1
  359. package/lib/typescript/components/FaBrands.d.ts +1 -1
  360. package/lib/typescript/components/FaRegular.d.ts +1 -1
  361. package/lib/typescript/components/FaSolid.d.ts +1 -1
  362. package/lib/typescript/components/Fad.d.ts +1 -1
  363. package/lib/typescript/components/Famicons.d.ts +1 -1
  364. package/lib/typescript/components/Fe.d.ts +1 -1
  365. package/lib/typescript/components/Feather.d.ts +1 -1
  366. package/lib/typescript/components/FileIcons.d.ts +1 -1
  367. package/lib/typescript/components/Flag.d.ts +1 -1
  368. package/lib/typescript/components/Flagpack.d.ts +1 -1
  369. package/lib/typescript/components/FlatUi.d.ts +1 -1
  370. package/lib/typescript/components/Flowbite.d.ts +1 -1
  371. package/lib/typescript/components/Fluent.d.ts +1 -1
  372. package/lib/typescript/components/FluentColor.d.ts +1 -1
  373. package/lib/typescript/components/FluentEmoji.d.ts +1 -1
  374. package/lib/typescript/components/FluentEmojiFlat.d.ts +1 -1
  375. package/lib/typescript/components/FluentEmojiHighContrast.d.ts +1 -1
  376. package/lib/typescript/components/FluentMdl2.d.ts +1 -1
  377. package/lib/typescript/components/Fontelico.d.ts +1 -1
  378. package/lib/typescript/components/Fontisto.d.ts +1 -1
  379. package/lib/typescript/components/Formkit.d.ts +1 -1
  380. package/lib/typescript/components/Foundation.d.ts +1 -1
  381. package/lib/typescript/components/Gala.d.ts +1 -1
  382. package/lib/typescript/components/GameIcons.d.ts +1 -1
  383. package/lib/typescript/components/Garden.d.ts +1 -1
  384. package/lib/typescript/components/Geo.d.ts +1 -1
  385. package/lib/typescript/components/Gg.d.ts +1 -1
  386. package/lib/typescript/components/Gis.d.ts +1 -1
  387. package/lib/typescript/components/GravityUi.d.ts +1 -1
  388. package/lib/typescript/components/Gridicons.d.ts +1 -1
  389. package/lib/typescript/components/GrommetIcons.d.ts +1 -1
  390. package/lib/typescript/components/Guidance.d.ts +1 -1
  391. package/lib/typescript/components/Healthicons.d.ts +1 -1
  392. package/lib/typescript/components/Heroicons.d.ts +1 -1
  393. package/lib/typescript/components/HeroiconsOutline.d.ts +1 -1
  394. package/lib/typescript/components/HeroiconsSolid.d.ts +1 -1
  395. package/lib/typescript/components/Hugeicons.d.ts +1 -1
  396. package/lib/typescript/components/Humbleicons.d.ts +1 -1
  397. package/lib/typescript/components/Ic.d.ts +1 -1
  398. package/lib/typescript/components/IcomoonFree.d.ts +1 -1
  399. package/lib/typescript/components/IconPark.d.ts +1 -1
  400. package/lib/typescript/components/IconParkOutline.d.ts +1 -1
  401. package/lib/typescript/components/IconParkSolid.d.ts +1 -1
  402. package/lib/typescript/components/IconParkTwotone.d.ts +1 -1
  403. package/lib/typescript/components/Iconamoon.d.ts +1 -1
  404. package/lib/typescript/components/Iconoir.d.ts +1 -1
  405. package/lib/typescript/components/Icons8.d.ts +1 -1
  406. package/lib/typescript/components/Il.d.ts +1 -1
  407. package/lib/typescript/components/Ion.d.ts +1 -1
  408. package/lib/typescript/components/Iwwa.d.ts +1 -1
  409. package/lib/typescript/components/Ix.d.ts +1 -1
  410. package/lib/typescript/components/Jam.d.ts +1 -1
  411. package/lib/typescript/components/La.d.ts +1 -1
  412. package/lib/typescript/components/LetsIcons.d.ts +1 -1
  413. package/lib/typescript/components/LineMd.d.ts +1 -1
  414. package/lib/typescript/components/Lineicons.d.ts +1 -1
  415. package/lib/typescript/components/Logos.d.ts +1 -1
  416. package/lib/typescript/components/Ls.d.ts +1 -1
  417. package/lib/typescript/components/Lsicon.d.ts +1 -1
  418. package/lib/typescript/components/Lucide.d.ts +1 -1
  419. package/lib/typescript/components/LucideLab.d.ts +1 -1
  420. package/lib/typescript/components/Mage.d.ts +1 -1
  421. package/lib/typescript/components/Majesticons.d.ts +1 -1
  422. package/lib/typescript/components/Maki.d.ts +1 -1
  423. package/lib/typescript/components/Map.d.ts +1 -1
  424. package/lib/typescript/components/Marketeq.d.ts +1 -1
  425. package/lib/typescript/components/MaterialIconTheme.d.ts +1 -1
  426. package/lib/typescript/components/MaterialSymbols.d.ts +1 -1
  427. package/lib/typescript/components/MaterialSymbolsLight.d.ts +1 -1
  428. package/lib/typescript/components/Mdi.d.ts +1 -1
  429. package/lib/typescript/components/MdiLight.d.ts +1 -1
  430. package/lib/typescript/components/MedicalIcon.d.ts +1 -1
  431. package/lib/typescript/components/Memory.d.ts +1 -1
  432. package/lib/typescript/components/Meteocons.d.ts +1 -1
  433. package/lib/typescript/components/MeteorIcons.d.ts +1 -1
  434. package/lib/typescript/components/Mi.d.ts +1 -1
  435. package/lib/typescript/components/Mingcute.d.ts +1 -1
  436. package/lib/typescript/components/MonoIcons.d.ts +1 -1
  437. package/lib/typescript/components/Mynaui.d.ts +1 -1
  438. package/lib/typescript/components/Nimbus.d.ts +1 -1
  439. package/lib/typescript/components/Nonicons.d.ts +1 -1
  440. package/lib/typescript/components/Nrk.d.ts +1 -1
  441. package/lib/typescript/components/Octicon.d.ts +1 -1
  442. package/lib/typescript/components/Oi.d.ts +1 -1
  443. package/lib/typescript/components/Ooui.d.ts +1 -1
  444. package/lib/typescript/components/Oui.d.ts +1 -1
  445. package/lib/typescript/components/Pajamas.d.ts +1 -1
  446. package/lib/typescript/components/Pepicons.d.ts +1 -1
  447. package/lib/typescript/components/PepiconsPencil.d.ts +1 -1
  448. package/lib/typescript/components/PepiconsPop.d.ts +1 -1
  449. package/lib/typescript/components/PepiconsPrint.d.ts +1 -1
  450. package/lib/typescript/components/Ph.d.ts +1 -1
  451. package/lib/typescript/components/Picon.d.ts +1 -1
  452. package/lib/typescript/components/Pixel.d.ts +1 -1
  453. package/lib/typescript/components/Pixelarticons.d.ts +1 -1
  454. package/lib/typescript/components/Prime.d.ts +1 -1
  455. package/lib/typescript/components/Proicons.d.ts +1 -1
  456. package/lib/typescript/components/Ps.d.ts +1 -1
  457. package/lib/typescript/components/QlementineIcons.d.ts +1 -1
  458. package/lib/typescript/components/Quill.d.ts +1 -1
  459. package/lib/typescript/components/RadixIcons.d.ts +1 -1
  460. package/lib/typescript/components/Raphael.d.ts +1 -1
  461. package/lib/typescript/components/Ri.d.ts +1 -1
  462. package/lib/typescript/components/RivetIcons.d.ts +1 -1
  463. package/lib/typescript/components/Roentgen.d.ts +1 -1
  464. package/lib/typescript/components/Si.d.ts +1 -1
  465. package/lib/typescript/components/SiGlyph.d.ts +1 -1
  466. package/lib/typescript/components/Sidekickicons.d.ts +1 -1
  467. package/lib/typescript/components/SimpleIcons.d.ts +1 -1
  468. package/lib/typescript/components/SimpleLineIcons.d.ts +1 -1
  469. package/lib/typescript/components/SkillIcons.d.ts +1 -1
  470. package/lib/typescript/components/Solar.d.ts +1 -1
  471. package/lib/typescript/components/Stash.d.ts +1 -1
  472. package/lib/typescript/components/Streamline.d.ts +1 -1
  473. package/lib/typescript/components/StreamlineBlock.d.ts +1 -1
  474. package/lib/typescript/components/StreamlineColor.d.ts +1 -1
  475. package/lib/typescript/components/StreamlineCyber.d.ts +1 -1
  476. package/lib/typescript/components/StreamlineCyberColor.d.ts +1 -1
  477. package/lib/typescript/components/StreamlineEmojis.d.ts +1 -1
  478. package/lib/typescript/components/StreamlineFlex.d.ts +1 -1
  479. package/lib/typescript/components/StreamlineFlexColor.d.ts +1 -1
  480. package/lib/typescript/components/StreamlineFreehand.d.ts +1 -1
  481. package/lib/typescript/components/StreamlineFreehandColor.d.ts +1 -1
  482. package/lib/typescript/components/StreamlineKameleonColor.d.ts +1 -1
  483. package/lib/typescript/components/StreamlineLogos.d.ts +1 -1
  484. package/lib/typescript/components/StreamlinePixel.d.ts +1 -1
  485. package/lib/typescript/components/StreamlinePlump.d.ts +1 -1
  486. package/lib/typescript/components/StreamlinePlumpColor.d.ts +1 -1
  487. package/lib/typescript/components/StreamlineSharp.d.ts +1 -1
  488. package/lib/typescript/components/StreamlineSharpColor.d.ts +1 -1
  489. package/lib/typescript/components/StreamlineStickiesColor.d.ts +1 -1
  490. package/lib/typescript/components/StreamlineUltimate.d.ts +1 -1
  491. package/lib/typescript/components/StreamlineUltimateColor.d.ts +1 -1
  492. package/lib/typescript/components/Subway.d.ts +1 -1
  493. package/lib/typescript/components/SvgSpinners.d.ts +1 -1
  494. package/lib/typescript/components/SystemUicons.d.ts +1 -1
  495. package/lib/typescript/components/Tabler.d.ts +1 -1
  496. package/lib/typescript/components/Tdesign.d.ts +1 -1
  497. package/lib/typescript/components/Teenyicons.d.ts +1 -1
  498. package/lib/typescript/components/Temaki.d.ts +1 -1
  499. package/lib/typescript/components/Token.d.ts +1 -1
  500. package/lib/typescript/components/TokenBranded.d.ts +1 -1
  501. package/lib/typescript/components/Topcoat.d.ts +1 -1
  502. package/lib/typescript/components/Typcn.d.ts +1 -1
  503. package/lib/typescript/components/Uil.d.ts +1 -1
  504. package/lib/typescript/components/Uim.d.ts +1 -1
  505. package/lib/typescript/components/Uis.d.ts +1 -1
  506. package/lib/typescript/components/Uit.d.ts +1 -1
  507. package/lib/typescript/components/Uiw.d.ts +1 -1
  508. package/lib/typescript/components/Unjs.d.ts +1 -1
  509. package/lib/typescript/components/Vaadin.d.ts +1 -1
  510. package/lib/typescript/components/Vs.d.ts +1 -1
  511. package/lib/typescript/components/VscodeIcons.d.ts +1 -1
  512. package/lib/typescript/components/Websymbol.d.ts +1 -1
  513. package/lib/typescript/components/Weui.d.ts +1 -1
  514. package/lib/typescript/components/Whh.d.ts +1 -1
  515. package/lib/typescript/components/Wi.d.ts +1 -1
  516. package/lib/typescript/components/Wpf.d.ts +1 -1
  517. package/lib/typescript/components/Zmdi.d.ts +1 -1
  518. package/lib/typescript/components/Zondicons.d.ts +1 -1
  519. package/lib/typescript/components/index.d.ts +38 -1
  520. package/lib/typescript/components/index.d.ts.map +1 -1
  521. package/lib/typescript/config/ConfigManager.d.ts +102 -0
  522. package/lib/typescript/config/ConfigManager.d.ts.map +1 -0
  523. package/lib/typescript/config/index.d.ts +22 -0
  524. package/lib/typescript/config/index.d.ts.map +1 -0
  525. package/lib/typescript/config/types.d.ts +112 -0
  526. package/lib/typescript/config/types.d.ts.map +1 -0
  527. package/lib/typescript/createIconSet.d.ts +1 -1
  528. package/lib/typescript/createIconSet.d.ts.map +1 -1
  529. package/lib/typescript/explorer/IconExplorer.d.ts +54 -0
  530. package/lib/typescript/explorer/IconExplorer.d.ts.map +1 -0
  531. package/lib/typescript/explorer/iconSets.d.ts +35 -0
  532. package/lib/typescript/explorer/iconSets.d.ts.map +1 -0
  533. package/lib/typescript/explorer/index.d.ts +33 -0
  534. package/lib/typescript/explorer/index.d.ts.map +1 -0
  535. package/lib/typescript/explorer/types.d.ts +329 -0
  536. package/lib/typescript/explorer/types.d.ts.map +1 -0
  537. package/lib/typescript/explorer/useExplorer.d.ts +18 -0
  538. package/lib/typescript/explorer/useExplorer.d.ts.map +1 -0
  539. package/lib/typescript/index.d.ts +25 -4
  540. package/lib/typescript/index.d.ts.map +1 -1
  541. package/lib/typescript/navigation/createDrawerIcon.d.ts +74 -0
  542. package/lib/typescript/navigation/createDrawerIcon.d.ts.map +1 -0
  543. package/lib/typescript/navigation/createHeaderIcon.d.ts +145 -0
  544. package/lib/typescript/navigation/createHeaderIcon.d.ts.map +1 -0
  545. package/lib/typescript/navigation/createTabBarIcon.d.ts +99 -0
  546. package/lib/typescript/navigation/createTabBarIcon.d.ts.map +1 -0
  547. package/lib/typescript/navigation/index.d.ts +51 -0
  548. package/lib/typescript/navigation/index.d.ts.map +1 -0
  549. package/lib/typescript/navigation/types.d.ts +149 -0
  550. package/lib/typescript/navigation/types.d.ts.map +1 -0
  551. package/lib/typescript/navigation/useNavigationIcon.d.ts +91 -0
  552. package/lib/typescript/navigation/useNavigationIcon.d.ts.map +1 -0
  553. package/lib/typescript/network/IconifyAPI.d.ts +32 -0
  554. package/lib/typescript/network/IconifyAPI.d.ts.map +1 -1
  555. package/lib/typescript/network/index.d.ts +2 -1
  556. package/lib/typescript/network/index.d.ts.map +1 -1
  557. package/lib/typescript/performance/PerformanceMonitor.d.ts +76 -0
  558. package/lib/typescript/performance/PerformanceMonitor.d.ts.map +1 -0
  559. package/lib/typescript/performance/index.d.ts +21 -0
  560. package/lib/typescript/performance/index.d.ts.map +1 -0
  561. package/lib/typescript/performance/types.d.ts +156 -0
  562. package/lib/typescript/performance/types.d.ts.map +1 -0
  563. package/lib/typescript/placeholder/PlaceholderFactory.d.ts +44 -0
  564. package/lib/typescript/placeholder/PlaceholderFactory.d.ts.map +1 -0
  565. package/lib/typescript/placeholder/Pulse.d.ts +18 -0
  566. package/lib/typescript/placeholder/Pulse.d.ts.map +1 -0
  567. package/lib/typescript/placeholder/Shimmer.d.ts +19 -0
  568. package/lib/typescript/placeholder/Shimmer.d.ts.map +1 -0
  569. package/lib/typescript/placeholder/Skeleton.d.ts +18 -0
  570. package/lib/typescript/placeholder/Skeleton.d.ts.map +1 -0
  571. package/lib/typescript/placeholder/index.d.ts +12 -0
  572. package/lib/typescript/placeholder/index.d.ts.map +1 -0
  573. package/lib/typescript/placeholder/types.d.ts +63 -0
  574. package/lib/typescript/placeholder/types.d.ts.map +1 -0
  575. package/lib/typescript/theme/IconThemeProvider.d.ts +64 -0
  576. package/lib/typescript/theme/IconThemeProvider.d.ts.map +1 -0
  577. package/lib/typescript/theme/context.d.ts +24 -0
  578. package/lib/typescript/theme/context.d.ts.map +1 -0
  579. package/lib/typescript/theme/index.d.ts +10 -0
  580. package/lib/typescript/theme/index.d.ts.map +1 -0
  581. package/lib/typescript/theme/types.d.ts +85 -0
  582. package/lib/typescript/theme/types.d.ts.map +1 -0
  583. package/lib/typescript/theme/useIconTheme.d.ts +78 -0
  584. package/lib/typescript/theme/useIconTheme.d.ts.map +1 -0
  585. package/lib/typescript/types/index.d.ts +58 -1
  586. package/lib/typescript/types/index.d.ts.map +1 -1
  587. package/package.json +41 -3
  588. package/src/IconRenderer.tsx +91 -4
  589. package/src/accessibility/AccessibilityProvider.tsx +220 -0
  590. package/src/accessibility/index.ts +63 -0
  591. package/src/accessibility/types.ts +152 -0
  592. package/src/accessibility/useAccessibleIcon.ts +220 -0
  593. package/src/accessibility/utils.ts +180 -0
  594. package/src/alias/Icon.tsx +113 -0
  595. package/src/alias/IconAliasContext.tsx +180 -0
  596. package/src/alias/createIconAliases.tsx +233 -0
  597. package/src/alias/index.ts +59 -0
  598. package/src/alias/types.ts +132 -0
  599. package/src/animated/AnimatedIcon.tsx +116 -0
  600. package/src/animated/index.ts +97 -0
  601. package/src/animated/presets.ts +211 -0
  602. package/src/animated/types.ts +239 -0
  603. package/src/animated/useIconAnimation.ts +383 -0
  604. package/src/babel/ast-utils.ts +219 -0
  605. package/src/babel/cache-writer.ts +323 -0
  606. package/src/babel/collector.ts +224 -0
  607. package/src/babel/index.ts +60 -0
  608. package/src/babel/plugin.ts +254 -0
  609. package/src/babel/types.ts +717 -0
  610. package/src/bundle/index.ts +313 -0
  611. package/src/cache/CacheManager.ts +123 -6
  612. package/src/cli/commands/analyze.ts +195 -0
  613. package/src/cli/commands/bundle.ts +231 -0
  614. package/src/cli/index.ts +153 -0
  615. package/src/cli/parser.ts +275 -0
  616. package/src/cli/types.ts +187 -0
  617. package/src/components/index.ts +52 -1
  618. package/src/config/ConfigManager.ts +196 -0
  619. package/src/config/index.ts +34 -0
  620. package/src/config/types.ts +149 -0
  621. package/src/createIconSet.tsx +48 -9
  622. package/src/explorer/IconExplorer.tsx +844 -0
  623. package/src/explorer/iconSets.ts +334 -0
  624. package/src/explorer/index.ts +64 -0
  625. package/src/explorer/types.ts +392 -0
  626. package/src/explorer/useExplorer.ts +390 -0
  627. package/src/index.ts +218 -9
  628. package/src/navigation/createDrawerIcon.tsx +113 -0
  629. package/src/navigation/createHeaderIcon.tsx +213 -0
  630. package/src/navigation/createTabBarIcon.tsx +180 -0
  631. package/src/navigation/index.ts +80 -0
  632. package/src/navigation/types.ts +155 -0
  633. package/src/navigation/useNavigationIcon.tsx +156 -0
  634. package/src/network/IconifyAPI.ts +182 -14
  635. package/src/network/index.ts +11 -1
  636. package/src/performance/PerformanceMonitor.ts +367 -0
  637. package/src/performance/index.ts +39 -0
  638. package/src/performance/types.ts +185 -0
  639. package/src/placeholder/PlaceholderFactory.tsx +133 -0
  640. package/src/placeholder/Pulse.tsx +86 -0
  641. package/src/placeholder/Shimmer.tsx +104 -0
  642. package/src/placeholder/Skeleton.tsx +52 -0
  643. package/src/placeholder/index.ts +21 -0
  644. package/src/placeholder/types.ts +78 -0
  645. package/src/theme/IconThemeProvider.tsx +94 -0
  646. package/src/theme/context.ts +51 -0
  647. package/src/theme/index.ts +19 -0
  648. package/src/theme/types.ts +108 -0
  649. package/src/theme/useIconTheme.ts +119 -0
  650. package/src/types/index.ts +78 -1
  651. package/lib/commonjs/components/Phosphor.js +0 -493
  652. package/lib/commonjs/components/Phosphor.js.map +0 -1
  653. package/lib/module/components/Phosphor.js +0 -488
  654. package/lib/module/components/Phosphor.js.map +0 -1
  655. package/lib/typescript/components/Phosphor.d.ts +0 -472
  656. package/lib/typescript/components/Phosphor.d.ts.map +0 -1
  657. package/src/components/Phosphor.tsx +0 -506
@@ -0,0 +1,187 @@
1
+ /**
2
+ * CLI Types
3
+ * Type definitions for CLI commands and configuration
4
+ */
5
+
6
+ /**
7
+ * Bundle command options
8
+ */
9
+ export interface BundleOptions {
10
+ /**
11
+ * Source directory to analyze for icon usage
12
+ * @default './src'
13
+ */
14
+ src?: string;
15
+
16
+ /**
17
+ * Output file path for the bundle
18
+ * @default './assets/icons.bundle.json'
19
+ */
20
+ output?: string;
21
+
22
+ /**
23
+ * Auto-detect icons from source code
24
+ * @default true
25
+ */
26
+ auto?: boolean;
27
+
28
+ /**
29
+ * Manual list of icons to include (comma-separated or array)
30
+ * @example 'mdi:home,mdi:settings' or ['mdi:home', 'mdi:settings']
31
+ */
32
+ icons?: string | string[];
33
+
34
+ /**
35
+ * Icon patterns to exclude
36
+ */
37
+ exclude?: string[];
38
+
39
+ /**
40
+ * Verbose output
41
+ * @default false
42
+ */
43
+ verbose?: boolean;
44
+
45
+ /**
46
+ * Pretty print JSON output
47
+ * @default false
48
+ */
49
+ pretty?: boolean;
50
+ }
51
+
52
+ /**
53
+ * Analyze command options
54
+ */
55
+ export interface AnalyzeOptions {
56
+ /**
57
+ * Source directory to analyze
58
+ * @default './src'
59
+ */
60
+ src?: string;
61
+
62
+ /**
63
+ * Output format
64
+ * @default 'table'
65
+ */
66
+ format?: 'table' | 'json' | 'markdown';
67
+
68
+ /**
69
+ * Show detailed file locations
70
+ * @default false
71
+ */
72
+ detailed?: boolean;
73
+
74
+ /**
75
+ * Verbose output
76
+ * @default false
77
+ */
78
+ verbose?: boolean;
79
+ }
80
+
81
+ /**
82
+ * Icon usage information from code analysis
83
+ */
84
+ export interface IconUsage {
85
+ /**
86
+ * Full icon name (prefix:name)
87
+ */
88
+ icon: string;
89
+
90
+ /**
91
+ * Number of times used
92
+ */
93
+ count: number;
94
+
95
+ /**
96
+ * File locations where icon is used
97
+ */
98
+ locations: Array<{
99
+ file: string;
100
+ line: number;
101
+ column: number;
102
+ }>;
103
+ }
104
+
105
+ /**
106
+ * Analysis result
107
+ */
108
+ export interface AnalysisResult {
109
+ /**
110
+ * Total number of unique icons
111
+ */
112
+ totalIcons: number;
113
+
114
+ /**
115
+ * Total usage count
116
+ */
117
+ totalUsage: number;
118
+
119
+ /**
120
+ * Icons grouped by prefix (icon set)
121
+ */
122
+ byPrefix: Record<
123
+ string,
124
+ {
125
+ count: number;
126
+ icons: string[];
127
+ }
128
+ >;
129
+
130
+ /**
131
+ * Detailed usage for each icon
132
+ */
133
+ icons: IconUsage[];
134
+
135
+ /**
136
+ * Files analyzed
137
+ */
138
+ filesAnalyzed: number;
139
+
140
+ /**
141
+ * Analysis timestamp
142
+ */
143
+ timestamp: string;
144
+ }
145
+
146
+ /**
147
+ * Bundle file structure
148
+ */
149
+ export interface IconBundle {
150
+ /**
151
+ * Bundle version
152
+ */
153
+ version: string;
154
+
155
+ /**
156
+ * Generation timestamp
157
+ */
158
+ generatedAt: string;
159
+
160
+ /**
161
+ * Icons in the bundle
162
+ */
163
+ icons: Record<
164
+ string,
165
+ {
166
+ svg: string;
167
+ width: number;
168
+ height: number;
169
+ }
170
+ >;
171
+
172
+ /**
173
+ * Total icon count
174
+ */
175
+ count: number;
176
+ }
177
+
178
+ /**
179
+ * CLI exit codes
180
+ */
181
+ export const EXIT_CODES = {
182
+ SUCCESS: 0,
183
+ ERROR: 1,
184
+ INVALID_ARGS: 2,
185
+ FILE_NOT_FOUND: 3,
186
+ NETWORK_ERROR: 4,
187
+ } as const;
@@ -2,7 +2,7 @@
2
2
  * Icon Set Components
3
3
  * Auto-generated - do not edit manually
4
4
  *
5
- * 212 icon sets available
5
+ * 200+ icon sets available
6
6
  */
7
7
 
8
8
  export { Mdi, type MdiIconName } from './Mdi';
@@ -232,3 +232,54 @@ export { Wi, type WiIconName } from './Wi';
232
232
  export { Wpf, type WpfIconName } from './Wpf';
233
233
  export { Zmdi, type ZmdiIconName } from './Zmdi';
234
234
  export { Zondicons, type ZondiconsIconName } from './Zondicons';
235
+
236
+ // Props type aliases for popular icon sets (convenience types)
237
+ import type { IconProps } from '../types';
238
+ import type { MdiIconName } from './Mdi';
239
+ import type { HeroiconsIconName } from './Heroicons';
240
+ import type { LucideIconName } from './Lucide';
241
+ import type { PhIconName } from './Ph';
242
+ import type { TablerIconName } from './Tabler';
243
+ import type { FeatherIconName } from './Feather';
244
+ import type { BiIconName } from './Bi';
245
+ import type { Fa6SolidIconName } from './Fa6Solid';
246
+ import type { Fa6RegularIconName } from './Fa6Regular';
247
+ import type { Fa6BrandsIconName } from './Fa6Brands';
248
+ import type { IonIconName } from './Ion';
249
+ import type { RiIconName } from './Ri';
250
+
251
+ /** Props for Mdi icon component */
252
+ export type MdiProps = IconProps<MdiIconName>;
253
+
254
+ /** Props for Heroicons icon component */
255
+ export type HeroiconsProps = IconProps<HeroiconsIconName>;
256
+
257
+ /** Props for Lucide icon component */
258
+ export type LucideProps = IconProps<LucideIconName>;
259
+
260
+ /** Props for Ph (Phosphor) icon component */
261
+ export type PhProps = IconProps<PhIconName>;
262
+
263
+ /** Props for Tabler icon component */
264
+ export type TablerProps = IconProps<TablerIconName>;
265
+
266
+ /** Props for Feather icon component */
267
+ export type FeatherProps = IconProps<FeatherIconName>;
268
+
269
+ /** Props for Bi (Bootstrap Icons) icon component */
270
+ export type BiProps = IconProps<BiIconName>;
271
+
272
+ /** Props for Fa6Solid icon component */
273
+ export type Fa6SolidProps = IconProps<Fa6SolidIconName>;
274
+
275
+ /** Props for Fa6Regular icon component */
276
+ export type Fa6RegularProps = IconProps<Fa6RegularIconName>;
277
+
278
+ /** Props for Fa6Brands icon component */
279
+ export type Fa6BrandsProps = IconProps<Fa6BrandsIconName>;
280
+
281
+ /** Props for Ion (Ionicons) icon component */
282
+ export type IonProps = IconProps<IonIconName>;
283
+
284
+ /** Props for Ri (Remix Icon) icon component */
285
+ export type RiProps = IconProps<RiIconName>;
@@ -0,0 +1,196 @@
1
+ /**
2
+ * ConfigManager - Global configuration manager for rn-iconify
3
+ * Handles API settings, cache configuration, and performance options
4
+ */
5
+
6
+ import type {
7
+ IconifyConfig,
8
+ IconifyAPIConfig,
9
+ CacheConfig,
10
+ PerformanceConfig,
11
+ ResolvedConfig,
12
+ } from './types';
13
+ import { DEFAULT_CONFIG } from './types';
14
+
15
+ /**
16
+ * Deep merge two objects
17
+ */
18
+ function deepMerge<T extends Record<string, unknown>>(target: T, source: Partial<T>): T {
19
+ const result = { ...target };
20
+
21
+ for (const key in source) {
22
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
23
+ const sourceValue = source[key];
24
+ const targetValue = result[key];
25
+
26
+ if (
27
+ sourceValue !== undefined &&
28
+ typeof sourceValue === 'object' &&
29
+ sourceValue !== null &&
30
+ !Array.isArray(sourceValue) &&
31
+ typeof targetValue === 'object' &&
32
+ targetValue !== null &&
33
+ !Array.isArray(targetValue)
34
+ ) {
35
+ result[key] = deepMerge(
36
+ targetValue as Record<string, unknown>,
37
+ sourceValue as Record<string, unknown>
38
+ ) as T[Extract<keyof T, string>];
39
+ } else if (sourceValue !== undefined) {
40
+ result[key] = sourceValue as T[Extract<keyof T, string>];
41
+ }
42
+ }
43
+ }
44
+
45
+ return result;
46
+ }
47
+
48
+ /**
49
+ * Global configuration state
50
+ */
51
+ let currentConfig: ResolvedConfig = { ...DEFAULT_CONFIG };
52
+ let configChangeListeners: Array<(config: ResolvedConfig) => void> = [];
53
+
54
+ /**
55
+ * ConfigManager class for managing rn-iconify configuration
56
+ */
57
+ export const ConfigManager = {
58
+ /**
59
+ * Get the current configuration
60
+ */
61
+ getConfig(): ResolvedConfig {
62
+ return currentConfig;
63
+ },
64
+
65
+ /**
66
+ * Get API configuration
67
+ */
68
+ getAPIConfig(): Required<IconifyAPIConfig> {
69
+ return currentConfig.api;
70
+ },
71
+
72
+ /**
73
+ * Get cache configuration
74
+ */
75
+ getCacheConfig(): Required<CacheConfig> {
76
+ return currentConfig.cache;
77
+ },
78
+
79
+ /**
80
+ * Get performance configuration
81
+ */
82
+ getPerformanceConfig(): Required<PerformanceConfig> {
83
+ return currentConfig.performance;
84
+ },
85
+
86
+ /**
87
+ * Update configuration
88
+ * Merges with existing configuration
89
+ */
90
+ setConfig(config: IconifyConfig): void {
91
+ currentConfig = {
92
+ api: deepMerge(currentConfig.api, config.api ?? {}),
93
+ cache: deepMerge(currentConfig.cache, config.cache ?? {}),
94
+ performance: deepMerge(currentConfig.performance, config.performance ?? {}),
95
+ };
96
+
97
+ // Notify listeners
98
+ configChangeListeners.forEach((listener) => listener(currentConfig));
99
+ },
100
+
101
+ /**
102
+ * Reset configuration to defaults
103
+ */
104
+ resetConfig(): void {
105
+ currentConfig = { ...DEFAULT_CONFIG };
106
+ configChangeListeners.forEach((listener) => listener(currentConfig));
107
+ },
108
+
109
+ /**
110
+ * Subscribe to configuration changes
111
+ * Returns unsubscribe function
112
+ */
113
+ onConfigChange(listener: (config: ResolvedConfig) => void): () => void {
114
+ configChangeListeners.push(listener);
115
+ return () => {
116
+ configChangeListeners = configChangeListeners.filter((l) => l !== listener);
117
+ };
118
+ },
119
+
120
+ /**
121
+ * Check if using custom API server
122
+ */
123
+ isCustomServer(): boolean {
124
+ return currentConfig.api.apiUrl !== DEFAULT_CONFIG.api.apiUrl;
125
+ },
126
+
127
+ /**
128
+ * Get the API base URL
129
+ */
130
+ getAPIUrl(): string {
131
+ return currentConfig.api.apiUrl;
132
+ },
133
+ };
134
+
135
+ /**
136
+ * Configure rn-iconify globally
137
+ *
138
+ * @example Basic usage
139
+ * ```tsx
140
+ * import { configure } from 'rn-iconify';
141
+ *
142
+ * configure({
143
+ * api: {
144
+ * apiUrl: 'https://icons.mycompany.com',
145
+ * timeout: 10000,
146
+ * },
147
+ * });
148
+ * ```
149
+ *
150
+ * @example With authentication
151
+ * ```tsx
152
+ * configure({
153
+ * api: {
154
+ * apiUrl: 'https://api.mycompany.com/icons',
155
+ * headers: {
156
+ * 'Authorization': 'Bearer your-token',
157
+ * 'X-API-Key': 'your-api-key',
158
+ * },
159
+ * },
160
+ * });
161
+ * ```
162
+ *
163
+ * @example Self-hosted Iconify server
164
+ * ```tsx
165
+ * configure({
166
+ * api: {
167
+ * // Self-hosted Iconify API
168
+ * apiUrl: 'https://iconify.mycompany.com',
169
+ * timeout: 5000,
170
+ * retries: 3,
171
+ * },
172
+ * performance: {
173
+ * enabled: true,
174
+ * },
175
+ * });
176
+ * ```
177
+ */
178
+ export function configure(config: IconifyConfig): void {
179
+ ConfigManager.setConfig(config);
180
+ }
181
+
182
+ /**
183
+ * Reset configuration to defaults
184
+ */
185
+ export function resetConfiguration(): void {
186
+ ConfigManager.resetConfig();
187
+ }
188
+
189
+ /**
190
+ * Get current configuration
191
+ */
192
+ export function getConfiguration(): ResolvedConfig {
193
+ return ConfigManager.getConfig();
194
+ }
195
+
196
+ export default ConfigManager;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Configuration Module
3
+ * Provides global configuration for rn-iconify
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { configure } from 'rn-iconify';
8
+ *
9
+ * // Configure custom API server
10
+ * configure({
11
+ * api: {
12
+ * apiUrl: 'https://icons.mycompany.com',
13
+ * headers: { 'Authorization': 'Bearer token' },
14
+ * },
15
+ * });
16
+ * ```
17
+ */
18
+
19
+ // Types
20
+ export type {
21
+ IconifyConfig,
22
+ IconifyAPIConfig,
23
+ CacheConfig,
24
+ PerformanceConfig,
25
+ ResolvedConfig,
26
+ } from './types';
27
+
28
+ export { DEFAULT_CONFIG } from './types';
29
+
30
+ // ConfigManager
31
+ export { ConfigManager, configure, resetConfiguration, getConfiguration } from './ConfigManager';
32
+
33
+ // Default export
34
+ export { configure as default } from './ConfigManager';
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Configuration types for rn-iconify
3
+ */
4
+
5
+ /**
6
+ * API configuration options
7
+ */
8
+ export interface IconifyAPIConfig {
9
+ /**
10
+ * Base URL for the Iconify API
11
+ * @default 'https://api.iconify.design'
12
+ */
13
+ apiUrl?: string;
14
+
15
+ /**
16
+ * Request timeout in milliseconds
17
+ * @default 30000
18
+ */
19
+ timeout?: number;
20
+
21
+ /**
22
+ * Number of retry attempts on failure
23
+ * @default 2
24
+ */
25
+ retries?: number;
26
+
27
+ /**
28
+ * Delay between retries in milliseconds
29
+ * @default 1000
30
+ */
31
+ retryDelay?: number;
32
+
33
+ /**
34
+ * Custom headers to include in API requests
35
+ */
36
+ headers?: Record<string, string>;
37
+
38
+ /**
39
+ * Enable/disable request logging
40
+ * @default false
41
+ */
42
+ logging?: boolean;
43
+ }
44
+
45
+ /**
46
+ * Cache configuration options
47
+ */
48
+ export interface CacheConfig {
49
+ /**
50
+ * Maximum number of icons in memory cache
51
+ * @default 500
52
+ */
53
+ maxMemoryItems?: number;
54
+
55
+ /**
56
+ * Enable/disable disk cache (MMKV)
57
+ * @default true
58
+ */
59
+ enableDiskCache?: boolean;
60
+
61
+ /**
62
+ * Disk cache key prefix
63
+ * @default 'rn-iconify:'
64
+ */
65
+ diskCachePrefix?: string;
66
+ }
67
+
68
+ /**
69
+ * Performance monitoring configuration
70
+ */
71
+ export interface PerformanceConfig {
72
+ /**
73
+ * Enable performance monitoring
74
+ * @default false
75
+ */
76
+ enabled?: boolean;
77
+
78
+ /**
79
+ * Track individual icon load times
80
+ * @default true
81
+ */
82
+ trackLoadTimes?: boolean;
83
+
84
+ /**
85
+ * Track cache hit/miss rates
86
+ * @default true
87
+ */
88
+ trackCacheStats?: boolean;
89
+
90
+ /**
91
+ * Maximum number of entries to keep in history
92
+ * @default 1000
93
+ */
94
+ maxHistorySize?: number;
95
+ }
96
+
97
+ /**
98
+ * Complete configuration object
99
+ */
100
+ export interface IconifyConfig {
101
+ /**
102
+ * API configuration
103
+ */
104
+ api?: IconifyAPIConfig;
105
+
106
+ /**
107
+ * Cache configuration
108
+ */
109
+ cache?: CacheConfig;
110
+
111
+ /**
112
+ * Performance monitoring configuration
113
+ */
114
+ performance?: PerformanceConfig;
115
+ }
116
+
117
+ /**
118
+ * Resolved configuration with all defaults applied
119
+ */
120
+ export interface ResolvedConfig {
121
+ api: Required<IconifyAPIConfig>;
122
+ cache: Required<CacheConfig>;
123
+ performance: Required<PerformanceConfig>;
124
+ }
125
+
126
+ /**
127
+ * Default configuration values
128
+ */
129
+ export const DEFAULT_CONFIG: ResolvedConfig = {
130
+ api: {
131
+ apiUrl: 'https://api.iconify.design',
132
+ timeout: 30000,
133
+ retries: 2,
134
+ retryDelay: 1000,
135
+ headers: {},
136
+ logging: false,
137
+ },
138
+ cache: {
139
+ maxMemoryItems: 500,
140
+ enableDiskCache: true,
141
+ diskCachePrefix: 'rn-iconify:',
142
+ },
143
+ performance: {
144
+ enabled: false,
145
+ trackLoadTimes: true,
146
+ trackCacheStats: true,
147
+ maxHistorySize: 1000,
148
+ },
149
+ };
@@ -4,6 +4,8 @@
4
4
 
5
5
  import React from 'react';
6
6
  import { IconRenderer } from './IconRenderer';
7
+ import { useIconTheme } from './theme';
8
+ import { DEFAULT_ICON_THEME } from './theme/types';
7
9
  import type { IconProps } from './types';
8
10
 
9
11
  /**
@@ -54,20 +56,47 @@ export function createIconSet<T extends string>(
54
56
  */
55
57
  function IconComponent({
56
58
  name,
57
- size = 24,
58
- color = '#000000',
59
+ size,
60
+ color,
59
61
  width,
60
62
  height,
61
63
  style,
62
- rotate = 0,
64
+ rotate,
63
65
  flip,
64
66
  fallback,
65
- fallbackDelay = 0,
67
+ fallbackDelay,
68
+ placeholder,
69
+ placeholderColor,
70
+ placeholderDuration,
66
71
  onLoad,
67
72
  onError,
68
73
  accessibilityLabel,
69
74
  testID,
75
+ // Animation props
76
+ animate,
77
+ animationDuration,
78
+ animationLoop,
79
+ animationEasing,
80
+ animationDelay,
81
+ autoPlay,
82
+ onAnimationComplete,
70
83
  }: IconProps<T>) {
84
+ // Get theme defaults
85
+ const { theme } = useIconTheme();
86
+
87
+ // Merge props with theme defaults (props take precedence)
88
+ const mergedSize = size ?? theme.size ?? DEFAULT_ICON_THEME.size;
89
+ const mergedColor = color ?? theme.color ?? DEFAULT_ICON_THEME.color;
90
+ const mergedRotate = rotate ?? theme.rotate ?? DEFAULT_ICON_THEME.rotate;
91
+ const mergedFlip = flip ?? theme.flip;
92
+ const mergedFallbackDelay =
93
+ fallbackDelay ?? theme.fallbackDelay ?? DEFAULT_ICON_THEME.fallbackDelay;
94
+ const mergedPlaceholder = placeholder ?? theme.placeholder;
95
+ const mergedPlaceholderColor =
96
+ placeholderColor ?? theme.placeholderColor ?? DEFAULT_ICON_THEME.placeholderColor;
97
+ const mergedPlaceholderDuration =
98
+ placeholderDuration ?? theme.placeholderDuration ?? DEFAULT_ICON_THEME.placeholderDuration;
99
+
71
100
  // Runtime validation for icon name
72
101
  if (__DEV__ && !(name in iconNames)) {
73
102
  console.warn(
@@ -83,19 +112,29 @@ export function createIconSet<T extends string>(
83
112
  return (
84
113
  <IconRenderer
85
114
  iconName={iconName}
86
- size={size}
87
- color={color}
115
+ size={mergedSize}
116
+ color={mergedColor}
88
117
  width={width}
89
118
  height={height}
90
119
  style={style}
91
- rotate={rotate}
92
- flip={flip}
120
+ rotate={mergedRotate}
121
+ flip={mergedFlip}
93
122
  fallback={fallback}
94
- fallbackDelay={fallbackDelay}
123
+ fallbackDelay={mergedFallbackDelay}
124
+ placeholder={mergedPlaceholder}
125
+ placeholderColor={mergedPlaceholderColor}
126
+ placeholderDuration={mergedPlaceholderDuration}
95
127
  onLoad={onLoad}
96
128
  onError={onError}
97
129
  accessibilityLabel={accessibilityLabel ?? name}
98
130
  testID={testID}
131
+ animate={animate}
132
+ animationDuration={animationDuration}
133
+ animationLoop={animationLoop}
134
+ animationEasing={animationEasing}
135
+ animationDelay={animationDelay}
136
+ autoPlay={autoPlay}
137
+ onAnimationComplete={onAnimationComplete}
99
138
  />
100
139
  );
101
140
  }