rn-iconify 1.0.0 → 2.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 (658) hide show
  1. package/README.md +47 -235
  2. package/assets/logo.gif +0 -0
  3. package/babel.js +14 -0
  4. package/lib/commonjs/IconRenderer.js +91 -4
  5. package/lib/commonjs/IconRenderer.js.map +1 -1
  6. package/lib/commonjs/accessibility/AccessibilityProvider.js +189 -0
  7. package/lib/commonjs/accessibility/AccessibilityProvider.js.map +1 -0
  8. package/lib/commonjs/accessibility/index.js +87 -0
  9. package/lib/commonjs/accessibility/index.js.map +1 -0
  10. package/lib/commonjs/accessibility/types.js +6 -0
  11. package/lib/commonjs/accessibility/types.js.map +1 -0
  12. package/lib/commonjs/accessibility/useAccessibleIcon.js +119 -0
  13. package/lib/commonjs/accessibility/useAccessibleIcon.js.map +1 -0
  14. package/lib/commonjs/accessibility/utils.js +231 -0
  15. package/lib/commonjs/accessibility/utils.js.map +1 -0
  16. package/lib/commonjs/alias/Icon.js +113 -0
  17. package/lib/commonjs/alias/Icon.js.map +1 -0
  18. package/lib/commonjs/alias/IconAliasContext.js +177 -0
  19. package/lib/commonjs/alias/IconAliasContext.js.map +1 -0
  20. package/lib/commonjs/alias/createIconAliases.js +222 -0
  21. package/lib/commonjs/alias/createIconAliases.js.map +1 -0
  22. package/lib/commonjs/alias/index.js +57 -0
  23. package/lib/commonjs/alias/index.js.map +1 -0
  24. package/lib/commonjs/alias/types.js +6 -0
  25. package/lib/commonjs/alias/types.js.map +1 -0
  26. package/lib/commonjs/animated/AnimatedIcon.js +116 -0
  27. package/lib/commonjs/animated/AnimatedIcon.js.map +1 -0
  28. package/lib/commonjs/animated/index.js +76 -0
  29. package/lib/commonjs/animated/index.js.map +1 -0
  30. package/lib/commonjs/animated/presets.js +220 -0
  31. package/lib/commonjs/animated/presets.js.map +1 -0
  32. package/lib/commonjs/animated/types.js +71 -0
  33. package/lib/commonjs/animated/types.js.map +1 -0
  34. package/lib/commonjs/animated/useIconAnimation.js +313 -0
  35. package/lib/commonjs/animated/useIconAnimation.js.map +1 -0
  36. package/lib/commonjs/babel/ast-utils.js +214 -0
  37. package/lib/commonjs/babel/ast-utils.js.map +1 -0
  38. package/lib/commonjs/babel/cache-writer.js +281 -0
  39. package/lib/commonjs/babel/cache-writer.js.map +1 -0
  40. package/lib/commonjs/babel/collector.js +219 -0
  41. package/lib/commonjs/babel/collector.js.map +1 -0
  42. package/lib/commonjs/babel/index.js +104 -0
  43. package/lib/commonjs/babel/index.js.map +1 -0
  44. package/lib/commonjs/babel/plugin.js +226 -0
  45. package/lib/commonjs/babel/plugin.js.map +1 -0
  46. package/lib/commonjs/babel/types.js +485 -0
  47. package/lib/commonjs/babel/types.js.map +1 -0
  48. package/lib/commonjs/bundle/index.js +213 -0
  49. package/lib/commonjs/bundle/index.js.map +1 -0
  50. package/lib/commonjs/cache/CacheManager.js +105 -6
  51. package/lib/commonjs/cache/CacheManager.js.map +1 -1
  52. package/lib/commonjs/cli/commands/analyze.js +171 -0
  53. package/lib/commonjs/cli/commands/analyze.js.map +1 -0
  54. package/lib/commonjs/cli/commands/bundle.js +214 -0
  55. package/lib/commonjs/cli/commands/bundle.js.map +1 -0
  56. package/lib/commonjs/cli/index.js +142 -0
  57. package/lib/commonjs/cli/index.js.map +1 -0
  58. package/lib/commonjs/cli/parser.js +260 -0
  59. package/lib/commonjs/cli/parser.js.map +1 -0
  60. package/lib/commonjs/cli/types.js +42 -0
  61. package/lib/commonjs/cli/types.js.map +1 -0
  62. package/lib/commonjs/config/ConfigManager.js +182 -0
  63. package/lib/commonjs/config/ConfigManager.js.map +1 -0
  64. package/lib/commonjs/config/index.js +44 -0
  65. package/lib/commonjs/config/index.js.map +1 -0
  66. package/lib/commonjs/config/types.js +55 -0
  67. package/lib/commonjs/config/types.js.map +1 -0
  68. package/lib/commonjs/createIconSet.js +49 -11
  69. package/lib/commonjs/createIconSet.js.map +1 -1
  70. package/lib/commonjs/explorer/IconExplorer.js +827 -0
  71. package/lib/commonjs/explorer/IconExplorer.js.map +1 -0
  72. package/lib/commonjs/explorer/iconSets.js +303 -0
  73. package/lib/commonjs/explorer/iconSets.js.map +1 -0
  74. package/lib/commonjs/explorer/index.js +93 -0
  75. package/lib/commonjs/explorer/index.js.map +1 -0
  76. package/lib/commonjs/explorer/types.js +6 -0
  77. package/lib/commonjs/explorer/types.js.map +1 -0
  78. package/lib/commonjs/explorer/useExplorer.js +359 -0
  79. package/lib/commonjs/explorer/useExplorer.js.map +1 -0
  80. package/lib/commonjs/index.js +618 -12
  81. package/lib/commonjs/index.js.map +1 -1
  82. package/lib/commonjs/navigation/createDrawerIcon.js +129 -0
  83. package/lib/commonjs/navigation/createDrawerIcon.js.map +1 -0
  84. package/lib/commonjs/navigation/createHeaderIcon.js +185 -0
  85. package/lib/commonjs/navigation/createHeaderIcon.js.map +1 -0
  86. package/lib/commonjs/navigation/createTabBarIcon.js +178 -0
  87. package/lib/commonjs/navigation/createTabBarIcon.js.map +1 -0
  88. package/lib/commonjs/navigation/index.js +83 -0
  89. package/lib/commonjs/navigation/index.js.map +1 -0
  90. package/lib/commonjs/navigation/types.js +94 -0
  91. package/lib/commonjs/navigation/types.js.map +1 -0
  92. package/lib/commonjs/navigation/useNavigationIcon.js +128 -0
  93. package/lib/commonjs/navigation/useNavigationIcon.js.map +1 -0
  94. package/lib/commonjs/network/IconifyAPI.js +154 -14
  95. package/lib/commonjs/network/IconifyAPI.js.map +1 -1
  96. package/lib/commonjs/network/index.js +18 -0
  97. package/lib/commonjs/network/index.js.map +1 -1
  98. package/lib/commonjs/performance/PerformanceMonitor.js +327 -0
  99. package/lib/commonjs/performance/PerformanceMonitor.js.map +1 -0
  100. package/lib/commonjs/performance/index.js +43 -0
  101. package/lib/commonjs/performance/index.js.map +1 -0
  102. package/lib/commonjs/performance/types.js +2 -0
  103. package/lib/commonjs/performance/types.js.map +1 -0
  104. package/lib/commonjs/placeholder/PlaceholderFactory.js +111 -0
  105. package/lib/commonjs/placeholder/PlaceholderFactory.js.map +1 -0
  106. package/lib/commonjs/placeholder/Pulse.js +77 -0
  107. package/lib/commonjs/placeholder/Pulse.js.map +1 -0
  108. package/lib/commonjs/placeholder/Shimmer.js +95 -0
  109. package/lib/commonjs/placeholder/Shimmer.js.map +1 -0
  110. package/lib/commonjs/placeholder/Skeleton.js +52 -0
  111. package/lib/commonjs/placeholder/Skeleton.js.map +1 -0
  112. package/lib/commonjs/placeholder/index.js +41 -0
  113. package/lib/commonjs/placeholder/index.js.map +1 -0
  114. package/lib/commonjs/placeholder/types.js +40 -0
  115. package/lib/commonjs/placeholder/types.js.map +1 -0
  116. package/lib/commonjs/theme/IconThemeProvider.js +96 -0
  117. package/lib/commonjs/theme/IconThemeProvider.js.map +1 -0
  118. package/lib/commonjs/theme/context.js +53 -0
  119. package/lib/commonjs/theme/context.js.map +1 -0
  120. package/lib/commonjs/theme/index.js +52 -0
  121. package/lib/commonjs/theme/index.js.map +1 -0
  122. package/lib/commonjs/theme/types.js +39 -0
  123. package/lib/commonjs/theme/types.js.map +1 -0
  124. package/lib/commonjs/theme/useIconTheme.js +121 -0
  125. package/lib/commonjs/theme/useIconTheme.js.map +1 -0
  126. package/lib/module/IconRenderer.js +92 -5
  127. package/lib/module/IconRenderer.js.map +1 -1
  128. package/lib/module/accessibility/AccessibilityProvider.js +179 -0
  129. package/lib/module/accessibility/AccessibilityProvider.js.map +1 -0
  130. package/lib/module/accessibility/index.js +42 -0
  131. package/lib/module/accessibility/index.js.map +1 -0
  132. package/lib/module/accessibility/types.js +2 -0
  133. package/lib/module/accessibility/types.js.map +1 -0
  134. package/lib/module/accessibility/useAccessibleIcon.js +112 -0
  135. package/lib/module/accessibility/useAccessibleIcon.js.map +1 -0
  136. package/lib/module/accessibility/utils.js +221 -0
  137. package/lib/module/accessibility/utils.js.map +1 -0
  138. package/lib/module/alias/Icon.js +105 -0
  139. package/lib/module/alias/Icon.js.map +1 -0
  140. package/lib/module/alias/IconAliasContext.js +166 -0
  141. package/lib/module/alias/IconAliasContext.js.map +1 -0
  142. package/lib/module/alias/createIconAliases.js +213 -0
  143. package/lib/module/alias/createIconAliases.js.map +1 -0
  144. package/lib/module/alias/index.js +45 -0
  145. package/lib/module/alias/index.js.map +1 -0
  146. package/lib/module/alias/types.js +2 -0
  147. package/lib/module/alias/types.js.map +1 -0
  148. package/lib/module/animated/AnimatedIcon.js +109 -0
  149. package/lib/module/animated/AnimatedIcon.js.map +1 -0
  150. package/lib/module/animated/index.js +80 -0
  151. package/lib/module/animated/index.js.map +1 -0
  152. package/lib/module/animated/presets.js +209 -0
  153. package/lib/module/animated/presets.js.map +1 -0
  154. package/lib/module/animated/types.js +65 -0
  155. package/lib/module/animated/types.js.map +1 -0
  156. package/lib/module/animated/useIconAnimation.js +306 -0
  157. package/lib/module/animated/useIconAnimation.js.map +1 -0
  158. package/lib/module/babel/ast-utils.js +201 -0
  159. package/lib/module/babel/ast-utils.js.map +1 -0
  160. package/lib/module/babel/cache-writer.js +269 -0
  161. package/lib/module/babel/cache-writer.js.map +1 -0
  162. package/lib/module/babel/collector.js +214 -0
  163. package/lib/module/babel/collector.js.map +1 -0
  164. package/lib/module/babel/index.js +51 -0
  165. package/lib/module/babel/index.js.map +1 -0
  166. package/lib/module/babel/plugin.js +220 -0
  167. package/lib/module/babel/plugin.js.map +1 -0
  168. package/lib/module/babel/types.js +476 -0
  169. package/lib/module/babel/types.js.map +1 -0
  170. package/lib/module/bundle/index.js +205 -0
  171. package/lib/module/bundle/index.js.map +1 -0
  172. package/lib/module/cache/CacheManager.js +106 -6
  173. package/lib/module/cache/CacheManager.js.map +1 -1
  174. package/lib/module/cli/commands/analyze.js +166 -0
  175. package/lib/module/cli/commands/analyze.js.map +1 -0
  176. package/lib/module/cli/commands/bundle.js +208 -0
  177. package/lib/module/cli/commands/bundle.js.map +1 -0
  178. package/lib/module/cli/index.js +140 -0
  179. package/lib/module/cli/index.js.map +1 -0
  180. package/lib/module/cli/parser.js +251 -0
  181. package/lib/module/cli/parser.js.map +1 -0
  182. package/lib/module/cli/types.js +36 -0
  183. package/lib/module/cli/types.js.map +1 -0
  184. package/lib/module/components/index.js +27 -1
  185. package/lib/module/components/index.js.map +1 -1
  186. package/lib/module/config/ConfigManager.js +173 -0
  187. package/lib/module/config/ConfigManager.js.map +1 -0
  188. package/lib/module/config/index.js +28 -0
  189. package/lib/module/config/index.js.map +1 -0
  190. package/lib/module/config/types.js +49 -0
  191. package/lib/module/config/types.js.map +1 -0
  192. package/lib/module/createIconSet.js +49 -11
  193. package/lib/module/createIconSet.js.map +1 -1
  194. package/lib/module/explorer/IconExplorer.js +817 -0
  195. package/lib/module/explorer/IconExplorer.js.map +1 -0
  196. package/lib/module/explorer/iconSets.js +291 -0
  197. package/lib/module/explorer/iconSets.js.map +1 -0
  198. package/lib/module/explorer/index.js +42 -0
  199. package/lib/module/explorer/index.js.map +1 -0
  200. package/lib/module/explorer/types.js +2 -0
  201. package/lib/module/explorer/types.js.map +1 -0
  202. package/lib/module/explorer/useExplorer.js +353 -0
  203. package/lib/module/explorer/useExplorer.js.map +1 -0
  204. package/lib/module/index.js +26 -11
  205. package/lib/module/index.js.map +1 -1
  206. package/lib/module/navigation/createDrawerIcon.js +121 -0
  207. package/lib/module/navigation/createDrawerIcon.js.map +1 -0
  208. package/lib/module/navigation/createHeaderIcon.js +175 -0
  209. package/lib/module/navigation/createHeaderIcon.js.map +1 -0
  210. package/lib/module/navigation/createTabBarIcon.js +168 -0
  211. package/lib/module/navigation/createTabBarIcon.js.map +1 -0
  212. package/lib/module/navigation/index.js +59 -0
  213. package/lib/module/navigation/index.js.map +1 -0
  214. package/lib/module/navigation/types.js +88 -0
  215. package/lib/module/navigation/types.js.map +1 -0
  216. package/lib/module/navigation/useNavigationIcon.js +121 -0
  217. package/lib/module/navigation/useNavigationIcon.js.map +1 -0
  218. package/lib/module/network/IconifyAPI.js +152 -14
  219. package/lib/module/network/IconifyAPI.js.map +1 -1
  220. package/lib/module/network/index.js +1 -1
  221. package/lib/module/network/index.js.map +1 -1
  222. package/lib/module/performance/PerformanceMonitor.js +317 -0
  223. package/lib/module/performance/PerformanceMonitor.js.map +1 -0
  224. package/lib/module/performance/index.js +26 -0
  225. package/lib/module/performance/index.js.map +1 -0
  226. package/lib/module/performance/types.js +2 -0
  227. package/lib/module/performance/types.js.map +1 -0
  228. package/lib/module/placeholder/PlaceholderFactory.js +105 -0
  229. package/lib/module/placeholder/PlaceholderFactory.js.map +1 -0
  230. package/lib/module/placeholder/Pulse.js +70 -0
  231. package/lib/module/placeholder/Pulse.js.map +1 -0
  232. package/lib/module/placeholder/Shimmer.js +88 -0
  233. package/lib/module/placeholder/Shimmer.js.map +1 -0
  234. package/lib/module/placeholder/Skeleton.js +45 -0
  235. package/lib/module/placeholder/Skeleton.js.map +1 -0
  236. package/lib/module/placeholder/index.js +15 -0
  237. package/lib/module/placeholder/index.js.map +1 -0
  238. package/lib/module/placeholder/types.js +34 -0
  239. package/lib/module/placeholder/types.js.map +1 -0
  240. package/lib/module/theme/IconThemeProvider.js +89 -0
  241. package/lib/module/theme/IconThemeProvider.js.map +1 -0
  242. package/lib/module/theme/context.js +47 -0
  243. package/lib/module/theme/context.js.map +1 -0
  244. package/lib/module/theme/index.js +19 -0
  245. package/lib/module/theme/index.js.map +1 -0
  246. package/lib/module/theme/types.js +33 -0
  247. package/lib/module/theme/types.js.map +1 -0
  248. package/lib/module/theme/useIconTheme.js +114 -0
  249. package/lib/module/theme/useIconTheme.js.map +1 -0
  250. package/lib/typescript/IconRenderer.d.ts +1 -1
  251. package/lib/typescript/IconRenderer.d.ts.map +1 -1
  252. package/lib/typescript/accessibility/AccessibilityProvider.d.ts +57 -0
  253. package/lib/typescript/accessibility/AccessibilityProvider.d.ts.map +1 -0
  254. package/lib/typescript/accessibility/index.d.ts +37 -0
  255. package/lib/typescript/accessibility/index.d.ts.map +1 -0
  256. package/lib/typescript/accessibility/types.d.ts +130 -0
  257. package/lib/typescript/accessibility/types.d.ts.map +1 -0
  258. package/lib/typescript/accessibility/useAccessibleIcon.d.ts +111 -0
  259. package/lib/typescript/accessibility/useAccessibleIcon.d.ts.map +1 -0
  260. package/lib/typescript/accessibility/utils.d.ts +29 -0
  261. package/lib/typescript/accessibility/utils.d.ts.map +1 -0
  262. package/lib/typescript/alias/Icon.d.ts +38 -0
  263. package/lib/typescript/alias/Icon.d.ts.map +1 -0
  264. package/lib/typescript/alias/IconAliasContext.d.ts +52 -0
  265. package/lib/typescript/alias/IconAliasContext.d.ts.map +1 -0
  266. package/lib/typescript/alias/createIconAliases.d.ts +77 -0
  267. package/lib/typescript/alias/createIconAliases.d.ts.map +1 -0
  268. package/lib/typescript/alias/index.d.ts +36 -0
  269. package/lib/typescript/alias/index.d.ts.map +1 -0
  270. package/lib/typescript/alias/types.d.ts +115 -0
  271. package/lib/typescript/alias/types.d.ts.map +1 -0
  272. package/lib/typescript/animated/AnimatedIcon.d.ts +45 -0
  273. package/lib/typescript/animated/AnimatedIcon.d.ts.map +1 -0
  274. package/lib/typescript/animated/index.d.ts +70 -0
  275. package/lib/typescript/animated/index.d.ts.map +1 -0
  276. package/lib/typescript/animated/presets.d.ts +35 -0
  277. package/lib/typescript/animated/presets.d.ts.map +1 -0
  278. package/lib/typescript/animated/types.d.ts +196 -0
  279. package/lib/typescript/animated/types.d.ts.map +1 -0
  280. package/lib/typescript/animated/useIconAnimation.d.ts +64 -0
  281. package/lib/typescript/animated/useIconAnimation.d.ts.map +1 -0
  282. package/lib/typescript/babel/ast-utils.d.ts +52 -0
  283. package/lib/typescript/babel/ast-utils.d.ts.map +1 -0
  284. package/lib/typescript/babel/cache-writer.d.ts +56 -0
  285. package/lib/typescript/babel/cache-writer.d.ts.map +1 -0
  286. package/lib/typescript/babel/collector.d.ts +107 -0
  287. package/lib/typescript/babel/collector.d.ts.map +1 -0
  288. package/lib/typescript/babel/index.d.ts +47 -0
  289. package/lib/typescript/babel/index.d.ts.map +1 -0
  290. package/lib/typescript/babel/plugin.d.ts +17 -0
  291. package/lib/typescript/babel/plugin.d.ts.map +1 -0
  292. package/lib/typescript/babel/types.d.ts +129 -0
  293. package/lib/typescript/babel/types.d.ts.map +1 -0
  294. package/lib/typescript/bundle/index.d.ts +161 -0
  295. package/lib/typescript/bundle/index.d.ts.map +1 -0
  296. package/lib/typescript/cache/CacheManager.d.ts +52 -4
  297. package/lib/typescript/cache/CacheManager.d.ts.map +1 -1
  298. package/lib/typescript/cli/commands/analyze.d.ts +10 -0
  299. package/lib/typescript/cli/commands/analyze.d.ts.map +1 -0
  300. package/lib/typescript/cli/commands/bundle.d.ts +10 -0
  301. package/lib/typescript/cli/commands/bundle.d.ts.map +1 -0
  302. package/lib/typescript/cli/index.d.ts +7 -0
  303. package/lib/typescript/cli/index.d.ts.map +1 -0
  304. package/lib/typescript/cli/parser.d.ts +18 -0
  305. package/lib/typescript/cli/parser.d.ts.map +1 -0
  306. package/lib/typescript/cli/types.d.ts +157 -0
  307. package/lib/typescript/cli/types.d.ts.map +1 -0
  308. package/lib/typescript/components/Academicons.d.ts +1 -1
  309. package/lib/typescript/components/AkarIcons.d.ts +1 -1
  310. package/lib/typescript/components/AntDesign.d.ts +1 -1
  311. package/lib/typescript/components/Arcticons.d.ts +1 -1
  312. package/lib/typescript/components/Basil.d.ts +1 -1
  313. package/lib/typescript/components/Bi.d.ts +1 -1
  314. package/lib/typescript/components/BitcoinIcons.d.ts +1 -1
  315. package/lib/typescript/components/Bpmn.d.ts +1 -1
  316. package/lib/typescript/components/Brandico.d.ts +1 -1
  317. package/lib/typescript/components/Bx.d.ts +1 -1
  318. package/lib/typescript/components/Bxl.d.ts +1 -1
  319. package/lib/typescript/components/Bxs.d.ts +1 -1
  320. package/lib/typescript/components/Bytesize.d.ts +1 -1
  321. package/lib/typescript/components/Carbon.d.ts +1 -1
  322. package/lib/typescript/components/Catppuccin.d.ts +1 -1
  323. package/lib/typescript/components/Cbi.d.ts +1 -1
  324. package/lib/typescript/components/Charm.d.ts +1 -1
  325. package/lib/typescript/components/Ci.d.ts +1 -1
  326. package/lib/typescript/components/Cib.d.ts +1 -1
  327. package/lib/typescript/components/Cif.d.ts +1 -1
  328. package/lib/typescript/components/Cil.d.ts +1 -1
  329. package/lib/typescript/components/CircleFlags.d.ts +1 -1
  330. package/lib/typescript/components/Circum.d.ts +1 -1
  331. package/lib/typescript/components/Clarity.d.ts +1 -1
  332. package/lib/typescript/components/Codex.d.ts +1 -1
  333. package/lib/typescript/components/Codicon.d.ts +1 -1
  334. package/lib/typescript/components/Covid.d.ts +1 -1
  335. package/lib/typescript/components/Cryptocurrency.d.ts +1 -1
  336. package/lib/typescript/components/CryptocurrencyColor.d.ts +1 -1
  337. package/lib/typescript/components/Cuida.d.ts +1 -1
  338. package/lib/typescript/components/Dashicons.d.ts +1 -1
  339. package/lib/typescript/components/Devicon.d.ts +1 -1
  340. package/lib/typescript/components/DeviconPlain.d.ts +1 -1
  341. package/lib/typescript/components/DinkieIcons.d.ts +1 -1
  342. package/lib/typescript/components/DuoIcons.d.ts +1 -1
  343. package/lib/typescript/components/Ei.d.ts +1 -1
  344. package/lib/typescript/components/El.d.ts +1 -1
  345. package/lib/typescript/components/EmojioneMonotone.d.ts +1 -1
  346. package/lib/typescript/components/Entypo.d.ts +1 -1
  347. package/lib/typescript/components/EntypoSocial.d.ts +1 -1
  348. package/lib/typescript/components/EosIcons.d.ts +1 -1
  349. package/lib/typescript/components/Ep.d.ts +1 -1
  350. package/lib/typescript/components/Et.d.ts +1 -1
  351. package/lib/typescript/components/Eva.d.ts +1 -1
  352. package/lib/typescript/components/F7.d.ts +1 -1
  353. package/lib/typescript/components/Fa.d.ts +1 -1
  354. package/lib/typescript/components/Fa6Brands.d.ts +1 -1
  355. package/lib/typescript/components/Fa6Regular.d.ts +1 -1
  356. package/lib/typescript/components/Fa6Solid.d.ts +1 -1
  357. package/lib/typescript/components/Fa7Brands.d.ts +1 -1
  358. package/lib/typescript/components/Fa7Regular.d.ts +1 -1
  359. package/lib/typescript/components/Fa7Solid.d.ts +1 -1
  360. package/lib/typescript/components/FaBrands.d.ts +1 -1
  361. package/lib/typescript/components/FaRegular.d.ts +1 -1
  362. package/lib/typescript/components/FaSolid.d.ts +1 -1
  363. package/lib/typescript/components/Fad.d.ts +1 -1
  364. package/lib/typescript/components/Famicons.d.ts +1 -1
  365. package/lib/typescript/components/Fe.d.ts +1 -1
  366. package/lib/typescript/components/Feather.d.ts +1 -1
  367. package/lib/typescript/components/FileIcons.d.ts +1 -1
  368. package/lib/typescript/components/Flag.d.ts +1 -1
  369. package/lib/typescript/components/Flagpack.d.ts +1 -1
  370. package/lib/typescript/components/FlatUi.d.ts +1 -1
  371. package/lib/typescript/components/Flowbite.d.ts +1 -1
  372. package/lib/typescript/components/Fluent.d.ts +1 -1
  373. package/lib/typescript/components/FluentColor.d.ts +1 -1
  374. package/lib/typescript/components/FluentEmoji.d.ts +1 -1
  375. package/lib/typescript/components/FluentEmojiFlat.d.ts +1 -1
  376. package/lib/typescript/components/FluentEmojiHighContrast.d.ts +1 -1
  377. package/lib/typescript/components/FluentMdl2.d.ts +1 -1
  378. package/lib/typescript/components/Fontelico.d.ts +1 -1
  379. package/lib/typescript/components/Fontisto.d.ts +1 -1
  380. package/lib/typescript/components/Formkit.d.ts +1 -1
  381. package/lib/typescript/components/Foundation.d.ts +1 -1
  382. package/lib/typescript/components/Gala.d.ts +1 -1
  383. package/lib/typescript/components/GameIcons.d.ts +1 -1
  384. package/lib/typescript/components/Garden.d.ts +1 -1
  385. package/lib/typescript/components/Geo.d.ts +1 -1
  386. package/lib/typescript/components/Gg.d.ts +1 -1
  387. package/lib/typescript/components/Gis.d.ts +1 -1
  388. package/lib/typescript/components/GravityUi.d.ts +1 -1
  389. package/lib/typescript/components/Gridicons.d.ts +1 -1
  390. package/lib/typescript/components/GrommetIcons.d.ts +1 -1
  391. package/lib/typescript/components/Guidance.d.ts +1 -1
  392. package/lib/typescript/components/Healthicons.d.ts +1 -1
  393. package/lib/typescript/components/Heroicons.d.ts +1 -1
  394. package/lib/typescript/components/HeroiconsOutline.d.ts +1 -1
  395. package/lib/typescript/components/HeroiconsSolid.d.ts +1 -1
  396. package/lib/typescript/components/Hugeicons.d.ts +1 -1
  397. package/lib/typescript/components/Humbleicons.d.ts +1 -1
  398. package/lib/typescript/components/Ic.d.ts +1 -1
  399. package/lib/typescript/components/IcomoonFree.d.ts +1 -1
  400. package/lib/typescript/components/IconPark.d.ts +1 -1
  401. package/lib/typescript/components/IconParkOutline.d.ts +1 -1
  402. package/lib/typescript/components/IconParkSolid.d.ts +1 -1
  403. package/lib/typescript/components/IconParkTwotone.d.ts +1 -1
  404. package/lib/typescript/components/Iconamoon.d.ts +1 -1
  405. package/lib/typescript/components/Iconoir.d.ts +1 -1
  406. package/lib/typescript/components/Icons8.d.ts +1 -1
  407. package/lib/typescript/components/Il.d.ts +1 -1
  408. package/lib/typescript/components/Ion.d.ts +1 -1
  409. package/lib/typescript/components/Iwwa.d.ts +1 -1
  410. package/lib/typescript/components/Ix.d.ts +1 -1
  411. package/lib/typescript/components/Jam.d.ts +1 -1
  412. package/lib/typescript/components/La.d.ts +1 -1
  413. package/lib/typescript/components/LetsIcons.d.ts +1 -1
  414. package/lib/typescript/components/LineMd.d.ts +1 -1
  415. package/lib/typescript/components/Lineicons.d.ts +1 -1
  416. package/lib/typescript/components/Logos.d.ts +1 -1
  417. package/lib/typescript/components/Ls.d.ts +1 -1
  418. package/lib/typescript/components/Lsicon.d.ts +1 -1
  419. package/lib/typescript/components/Lucide.d.ts +1 -1
  420. package/lib/typescript/components/LucideLab.d.ts +1 -1
  421. package/lib/typescript/components/Mage.d.ts +1 -1
  422. package/lib/typescript/components/Majesticons.d.ts +1 -1
  423. package/lib/typescript/components/Maki.d.ts +1 -1
  424. package/lib/typescript/components/Map.d.ts +1 -1
  425. package/lib/typescript/components/Marketeq.d.ts +1 -1
  426. package/lib/typescript/components/MaterialIconTheme.d.ts +1 -1
  427. package/lib/typescript/components/MaterialSymbols.d.ts +1 -1
  428. package/lib/typescript/components/MaterialSymbolsLight.d.ts +1 -1
  429. package/lib/typescript/components/Mdi.d.ts +1 -1
  430. package/lib/typescript/components/MdiLight.d.ts +1 -1
  431. package/lib/typescript/components/MedicalIcon.d.ts +1 -1
  432. package/lib/typescript/components/Memory.d.ts +1 -1
  433. package/lib/typescript/components/Meteocons.d.ts +1 -1
  434. package/lib/typescript/components/MeteorIcons.d.ts +1 -1
  435. package/lib/typescript/components/Mi.d.ts +1 -1
  436. package/lib/typescript/components/Mingcute.d.ts +1 -1
  437. package/lib/typescript/components/MonoIcons.d.ts +1 -1
  438. package/lib/typescript/components/Mynaui.d.ts +1 -1
  439. package/lib/typescript/components/Nimbus.d.ts +1 -1
  440. package/lib/typescript/components/Nonicons.d.ts +1 -1
  441. package/lib/typescript/components/Nrk.d.ts +1 -1
  442. package/lib/typescript/components/Octicon.d.ts +1 -1
  443. package/lib/typescript/components/Oi.d.ts +1 -1
  444. package/lib/typescript/components/Ooui.d.ts +1 -1
  445. package/lib/typescript/components/Oui.d.ts +1 -1
  446. package/lib/typescript/components/Pajamas.d.ts +1 -1
  447. package/lib/typescript/components/Pepicons.d.ts +1 -1
  448. package/lib/typescript/components/PepiconsPencil.d.ts +1 -1
  449. package/lib/typescript/components/PepiconsPop.d.ts +1 -1
  450. package/lib/typescript/components/PepiconsPrint.d.ts +1 -1
  451. package/lib/typescript/components/Ph.d.ts +1 -1
  452. package/lib/typescript/components/Picon.d.ts +1 -1
  453. package/lib/typescript/components/Pixel.d.ts +1 -1
  454. package/lib/typescript/components/Pixelarticons.d.ts +1 -1
  455. package/lib/typescript/components/Prime.d.ts +1 -1
  456. package/lib/typescript/components/Proicons.d.ts +1 -1
  457. package/lib/typescript/components/Ps.d.ts +1 -1
  458. package/lib/typescript/components/QlementineIcons.d.ts +1 -1
  459. package/lib/typescript/components/Quill.d.ts +1 -1
  460. package/lib/typescript/components/RadixIcons.d.ts +1 -1
  461. package/lib/typescript/components/Raphael.d.ts +1 -1
  462. package/lib/typescript/components/Ri.d.ts +1 -1
  463. package/lib/typescript/components/RivetIcons.d.ts +1 -1
  464. package/lib/typescript/components/Roentgen.d.ts +1 -1
  465. package/lib/typescript/components/Si.d.ts +1 -1
  466. package/lib/typescript/components/SiGlyph.d.ts +1 -1
  467. package/lib/typescript/components/Sidekickicons.d.ts +1 -1
  468. package/lib/typescript/components/SimpleIcons.d.ts +1 -1
  469. package/lib/typescript/components/SimpleLineIcons.d.ts +1 -1
  470. package/lib/typescript/components/SkillIcons.d.ts +1 -1
  471. package/lib/typescript/components/Solar.d.ts +1 -1
  472. package/lib/typescript/components/Stash.d.ts +1 -1
  473. package/lib/typescript/components/Streamline.d.ts +1 -1
  474. package/lib/typescript/components/StreamlineBlock.d.ts +1 -1
  475. package/lib/typescript/components/StreamlineColor.d.ts +1 -1
  476. package/lib/typescript/components/StreamlineCyber.d.ts +1 -1
  477. package/lib/typescript/components/StreamlineCyberColor.d.ts +1 -1
  478. package/lib/typescript/components/StreamlineEmojis.d.ts +1 -1
  479. package/lib/typescript/components/StreamlineFlex.d.ts +1 -1
  480. package/lib/typescript/components/StreamlineFlexColor.d.ts +1 -1
  481. package/lib/typescript/components/StreamlineFreehand.d.ts +1 -1
  482. package/lib/typescript/components/StreamlineFreehandColor.d.ts +1 -1
  483. package/lib/typescript/components/StreamlineKameleonColor.d.ts +1 -1
  484. package/lib/typescript/components/StreamlineLogos.d.ts +1 -1
  485. package/lib/typescript/components/StreamlinePixel.d.ts +1 -1
  486. package/lib/typescript/components/StreamlinePlump.d.ts +1 -1
  487. package/lib/typescript/components/StreamlinePlumpColor.d.ts +1 -1
  488. package/lib/typescript/components/StreamlineSharp.d.ts +1 -1
  489. package/lib/typescript/components/StreamlineSharpColor.d.ts +1 -1
  490. package/lib/typescript/components/StreamlineStickiesColor.d.ts +1 -1
  491. package/lib/typescript/components/StreamlineUltimate.d.ts +1 -1
  492. package/lib/typescript/components/StreamlineUltimateColor.d.ts +1 -1
  493. package/lib/typescript/components/Subway.d.ts +1 -1
  494. package/lib/typescript/components/SvgSpinners.d.ts +1 -1
  495. package/lib/typescript/components/SystemUicons.d.ts +1 -1
  496. package/lib/typescript/components/Tabler.d.ts +1 -1
  497. package/lib/typescript/components/Tdesign.d.ts +1 -1
  498. package/lib/typescript/components/Teenyicons.d.ts +1 -1
  499. package/lib/typescript/components/Temaki.d.ts +1 -1
  500. package/lib/typescript/components/Token.d.ts +1 -1
  501. package/lib/typescript/components/TokenBranded.d.ts +1 -1
  502. package/lib/typescript/components/Topcoat.d.ts +1 -1
  503. package/lib/typescript/components/Typcn.d.ts +1 -1
  504. package/lib/typescript/components/Uil.d.ts +1 -1
  505. package/lib/typescript/components/Uim.d.ts +1 -1
  506. package/lib/typescript/components/Uis.d.ts +1 -1
  507. package/lib/typescript/components/Uit.d.ts +1 -1
  508. package/lib/typescript/components/Uiw.d.ts +1 -1
  509. package/lib/typescript/components/Unjs.d.ts +1 -1
  510. package/lib/typescript/components/Vaadin.d.ts +1 -1
  511. package/lib/typescript/components/Vs.d.ts +1 -1
  512. package/lib/typescript/components/VscodeIcons.d.ts +1 -1
  513. package/lib/typescript/components/Websymbol.d.ts +1 -1
  514. package/lib/typescript/components/Weui.d.ts +1 -1
  515. package/lib/typescript/components/Whh.d.ts +1 -1
  516. package/lib/typescript/components/Wi.d.ts +1 -1
  517. package/lib/typescript/components/Wpf.d.ts +1 -1
  518. package/lib/typescript/components/Zmdi.d.ts +1 -1
  519. package/lib/typescript/components/Zondicons.d.ts +1 -1
  520. package/lib/typescript/components/index.d.ts +38 -1
  521. package/lib/typescript/components/index.d.ts.map +1 -1
  522. package/lib/typescript/config/ConfigManager.d.ts +102 -0
  523. package/lib/typescript/config/ConfigManager.d.ts.map +1 -0
  524. package/lib/typescript/config/index.d.ts +22 -0
  525. package/lib/typescript/config/index.d.ts.map +1 -0
  526. package/lib/typescript/config/types.d.ts +112 -0
  527. package/lib/typescript/config/types.d.ts.map +1 -0
  528. package/lib/typescript/createIconSet.d.ts +1 -1
  529. package/lib/typescript/createIconSet.d.ts.map +1 -1
  530. package/lib/typescript/explorer/IconExplorer.d.ts +54 -0
  531. package/lib/typescript/explorer/IconExplorer.d.ts.map +1 -0
  532. package/lib/typescript/explorer/iconSets.d.ts +35 -0
  533. package/lib/typescript/explorer/iconSets.d.ts.map +1 -0
  534. package/lib/typescript/explorer/index.d.ts +33 -0
  535. package/lib/typescript/explorer/index.d.ts.map +1 -0
  536. package/lib/typescript/explorer/types.d.ts +329 -0
  537. package/lib/typescript/explorer/types.d.ts.map +1 -0
  538. package/lib/typescript/explorer/useExplorer.d.ts +18 -0
  539. package/lib/typescript/explorer/useExplorer.d.ts.map +1 -0
  540. package/lib/typescript/index.d.ts +25 -4
  541. package/lib/typescript/index.d.ts.map +1 -1
  542. package/lib/typescript/navigation/createDrawerIcon.d.ts +74 -0
  543. package/lib/typescript/navigation/createDrawerIcon.d.ts.map +1 -0
  544. package/lib/typescript/navigation/createHeaderIcon.d.ts +145 -0
  545. package/lib/typescript/navigation/createHeaderIcon.d.ts.map +1 -0
  546. package/lib/typescript/navigation/createTabBarIcon.d.ts +99 -0
  547. package/lib/typescript/navigation/createTabBarIcon.d.ts.map +1 -0
  548. package/lib/typescript/navigation/index.d.ts +51 -0
  549. package/lib/typescript/navigation/index.d.ts.map +1 -0
  550. package/lib/typescript/navigation/types.d.ts +149 -0
  551. package/lib/typescript/navigation/types.d.ts.map +1 -0
  552. package/lib/typescript/navigation/useNavigationIcon.d.ts +91 -0
  553. package/lib/typescript/navigation/useNavigationIcon.d.ts.map +1 -0
  554. package/lib/typescript/network/IconifyAPI.d.ts +32 -0
  555. package/lib/typescript/network/IconifyAPI.d.ts.map +1 -1
  556. package/lib/typescript/network/index.d.ts +2 -1
  557. package/lib/typescript/network/index.d.ts.map +1 -1
  558. package/lib/typescript/performance/PerformanceMonitor.d.ts +76 -0
  559. package/lib/typescript/performance/PerformanceMonitor.d.ts.map +1 -0
  560. package/lib/typescript/performance/index.d.ts +21 -0
  561. package/lib/typescript/performance/index.d.ts.map +1 -0
  562. package/lib/typescript/performance/types.d.ts +156 -0
  563. package/lib/typescript/performance/types.d.ts.map +1 -0
  564. package/lib/typescript/placeholder/PlaceholderFactory.d.ts +44 -0
  565. package/lib/typescript/placeholder/PlaceholderFactory.d.ts.map +1 -0
  566. package/lib/typescript/placeholder/Pulse.d.ts +18 -0
  567. package/lib/typescript/placeholder/Pulse.d.ts.map +1 -0
  568. package/lib/typescript/placeholder/Shimmer.d.ts +19 -0
  569. package/lib/typescript/placeholder/Shimmer.d.ts.map +1 -0
  570. package/lib/typescript/placeholder/Skeleton.d.ts +18 -0
  571. package/lib/typescript/placeholder/Skeleton.d.ts.map +1 -0
  572. package/lib/typescript/placeholder/index.d.ts +12 -0
  573. package/lib/typescript/placeholder/index.d.ts.map +1 -0
  574. package/lib/typescript/placeholder/types.d.ts +63 -0
  575. package/lib/typescript/placeholder/types.d.ts.map +1 -0
  576. package/lib/typescript/theme/IconThemeProvider.d.ts +64 -0
  577. package/lib/typescript/theme/IconThemeProvider.d.ts.map +1 -0
  578. package/lib/typescript/theme/context.d.ts +24 -0
  579. package/lib/typescript/theme/context.d.ts.map +1 -0
  580. package/lib/typescript/theme/index.d.ts +10 -0
  581. package/lib/typescript/theme/index.d.ts.map +1 -0
  582. package/lib/typescript/theme/types.d.ts +85 -0
  583. package/lib/typescript/theme/types.d.ts.map +1 -0
  584. package/lib/typescript/theme/useIconTheme.d.ts +78 -0
  585. package/lib/typescript/theme/useIconTheme.d.ts.map +1 -0
  586. package/lib/typescript/types/index.d.ts +58 -1
  587. package/lib/typescript/types/index.d.ts.map +1 -1
  588. package/package.json +43 -3
  589. package/src/IconRenderer.tsx +91 -4
  590. package/src/accessibility/AccessibilityProvider.tsx +220 -0
  591. package/src/accessibility/index.ts +63 -0
  592. package/src/accessibility/types.ts +152 -0
  593. package/src/accessibility/useAccessibleIcon.ts +220 -0
  594. package/src/accessibility/utils.ts +180 -0
  595. package/src/alias/Icon.tsx +113 -0
  596. package/src/alias/IconAliasContext.tsx +180 -0
  597. package/src/alias/createIconAliases.tsx +233 -0
  598. package/src/alias/index.ts +59 -0
  599. package/src/alias/types.ts +132 -0
  600. package/src/animated/AnimatedIcon.tsx +116 -0
  601. package/src/animated/index.ts +97 -0
  602. package/src/animated/presets.ts +211 -0
  603. package/src/animated/types.ts +239 -0
  604. package/src/animated/useIconAnimation.ts +383 -0
  605. package/src/babel/ast-utils.ts +219 -0
  606. package/src/babel/cache-writer.ts +323 -0
  607. package/src/babel/collector.ts +224 -0
  608. package/src/babel/index.ts +60 -0
  609. package/src/babel/plugin.ts +254 -0
  610. package/src/babel/types.ts +717 -0
  611. package/src/bundle/index.ts +313 -0
  612. package/src/cache/CacheManager.ts +123 -6
  613. package/src/cli/commands/analyze.ts +195 -0
  614. package/src/cli/commands/bundle.ts +231 -0
  615. package/src/cli/index.ts +153 -0
  616. package/src/cli/parser.ts +275 -0
  617. package/src/cli/types.ts +187 -0
  618. package/src/components/index.ts +52 -1
  619. package/src/config/ConfigManager.ts +196 -0
  620. package/src/config/index.ts +34 -0
  621. package/src/config/types.ts +149 -0
  622. package/src/createIconSet.tsx +48 -9
  623. package/src/explorer/IconExplorer.tsx +844 -0
  624. package/src/explorer/iconSets.ts +334 -0
  625. package/src/explorer/index.ts +64 -0
  626. package/src/explorer/types.ts +392 -0
  627. package/src/explorer/useExplorer.ts +390 -0
  628. package/src/index.ts +218 -9
  629. package/src/navigation/createDrawerIcon.tsx +113 -0
  630. package/src/navigation/createHeaderIcon.tsx +213 -0
  631. package/src/navigation/createTabBarIcon.tsx +180 -0
  632. package/src/navigation/index.ts +80 -0
  633. package/src/navigation/types.ts +155 -0
  634. package/src/navigation/useNavigationIcon.tsx +156 -0
  635. package/src/network/IconifyAPI.ts +182 -14
  636. package/src/network/index.ts +11 -1
  637. package/src/performance/PerformanceMonitor.ts +367 -0
  638. package/src/performance/index.ts +39 -0
  639. package/src/performance/types.ts +185 -0
  640. package/src/placeholder/PlaceholderFactory.tsx +133 -0
  641. package/src/placeholder/Pulse.tsx +86 -0
  642. package/src/placeholder/Shimmer.tsx +104 -0
  643. package/src/placeholder/Skeleton.tsx +52 -0
  644. package/src/placeholder/index.ts +21 -0
  645. package/src/placeholder/types.ts +78 -0
  646. package/src/theme/IconThemeProvider.tsx +94 -0
  647. package/src/theme/context.ts +51 -0
  648. package/src/theme/index.ts +19 -0
  649. package/src/theme/types.ts +108 -0
  650. package/src/theme/useIconTheme.ts +119 -0
  651. package/src/types/index.ts +78 -1
  652. package/lib/commonjs/components/Phosphor.js +0 -493
  653. package/lib/commonjs/components/Phosphor.js.map +0 -1
  654. package/lib/module/components/Phosphor.js +0 -488
  655. package/lib/module/components/Phosphor.js.map +0 -1
  656. package/lib/typescript/components/Phosphor.d.ts +0 -472
  657. package/lib/typescript/components/Phosphor.d.ts.map +0 -1
  658. package/src/components/Phosphor.tsx +0 -506
@@ -0,0 +1,717 @@
1
+ /**
2
+ * Babel Plugin Types
3
+ * Type definitions for the rn-iconify Babel plugin
4
+ */
5
+
6
+ import type { NodePath } from '@babel/core';
7
+ import type { JSXOpeningElement, CallExpression } from '@babel/types';
8
+
9
+ /**
10
+ * Plugin options that can be passed in babel.config.js
11
+ */
12
+ export interface BabelPluginOptions {
13
+ /**
14
+ * Patterns for icons to include (supports wildcards)
15
+ * @example ['mdi:*', 'heroicons:user']
16
+ */
17
+ include?: string[];
18
+
19
+ /**
20
+ * Patterns for icons to exclude
21
+ * @example ['mdi:test-*']
22
+ */
23
+ exclude?: string[];
24
+
25
+ /**
26
+ * Output directory for the generated cache
27
+ * @default '.rn-iconify-cache'
28
+ */
29
+ outputPath?: string;
30
+
31
+ /**
32
+ * Enable verbose logging during build
33
+ * @default false
34
+ */
35
+ verbose?: boolean;
36
+
37
+ /**
38
+ * Disable the plugin (useful for debugging)
39
+ * @default false
40
+ */
41
+ disabled?: boolean;
42
+ }
43
+
44
+ /**
45
+ * Babel file object structure (for pre/post hooks)
46
+ */
47
+ export interface BabelFile {
48
+ opts: {
49
+ filename?: string;
50
+ root?: string;
51
+ };
52
+ }
53
+
54
+ /**
55
+ * Plugin state passed between visitors
56
+ * Matches Babel's internal state structure
57
+ * Note: filename and file may not always be present depending on Babel version/config
58
+ */
59
+ export interface BabelPluginState {
60
+ opts: BabelPluginOptions;
61
+ filename?: string;
62
+ file?: BabelFile;
63
+ }
64
+
65
+ /**
66
+ * Type guard to check if an object has opts with filename
67
+ */
68
+ function hasOptsWithFilename(obj: unknown): obj is { opts: { filename: string } } {
69
+ return (
70
+ typeof obj === 'object' &&
71
+ obj !== null &&
72
+ 'opts' in obj &&
73
+ typeof (obj as Record<string, unknown>).opts === 'object' &&
74
+ (obj as Record<string, unknown>).opts !== null &&
75
+ 'filename' in ((obj as Record<string, unknown>).opts as object) &&
76
+ typeof (obj as Record<string, { filename: unknown }>).opts.filename === 'string'
77
+ );
78
+ }
79
+
80
+ /**
81
+ * Type guard to check if an object has a filename property
82
+ */
83
+ function hasFilename(obj: unknown): obj is { filename: string } {
84
+ return (
85
+ typeof obj === 'object' &&
86
+ obj !== null &&
87
+ 'filename' in obj &&
88
+ typeof (obj as Record<string, unknown>).filename === 'string'
89
+ );
90
+ }
91
+
92
+ /**
93
+ * Type guard to check if an object has file.opts.filename
94
+ */
95
+ function hasFileOptsFilename(obj: unknown): obj is { file: { opts: { filename: string } } } {
96
+ return (
97
+ typeof obj === 'object' &&
98
+ obj !== null &&
99
+ 'file' in obj &&
100
+ hasOptsWithFilename((obj as Record<string, unknown>).file)
101
+ );
102
+ }
103
+
104
+ /**
105
+ * Helper to safely extract filename from visitor state
106
+ */
107
+ export function getFilenameFromState(state: BabelPluginState): string {
108
+ // Babel provides filename directly on state
109
+ if (state.filename) {
110
+ return state.filename;
111
+ }
112
+
113
+ // Fallback to file.opts.filename
114
+ if (state.file?.opts?.filename) {
115
+ return state.file.opts.filename;
116
+ }
117
+
118
+ return '';
119
+ }
120
+
121
+ /**
122
+ * Helper to safely extract filename from any object (pre/post hooks or visitor state)
123
+ * Uses type guards to safely access nested properties
124
+ */
125
+ export function getFilename(obj: unknown): string {
126
+ // Check for direct filename property
127
+ if (hasFilename(obj)) {
128
+ return obj.filename;
129
+ }
130
+
131
+ // Check for opts.filename (BabelFile structure)
132
+ if (hasOptsWithFilename(obj)) {
133
+ return obj.opts.filename;
134
+ }
135
+
136
+ // Check for file.opts.filename
137
+ if (hasFileOptsFilename(obj)) {
138
+ return obj.file.opts.filename;
139
+ }
140
+
141
+ return '';
142
+ }
143
+
144
+ /**
145
+ * Alias for getFilename - used in pre/post hooks where file object is passed
146
+ * This is a more descriptive name for when working with BabelFile objects
147
+ */
148
+ export function getFilenameFromFile(file: unknown): string {
149
+ return getFilename(file);
150
+ }
151
+
152
+ /**
153
+ * Collected icon information
154
+ */
155
+ export interface CollectedIcon {
156
+ /**
157
+ * Full icon name (prefix:name)
158
+ */
159
+ name: string;
160
+
161
+ /**
162
+ * Source file where the icon was found
163
+ */
164
+ file: string;
165
+
166
+ /**
167
+ * Line number in source
168
+ */
169
+ line: number;
170
+
171
+ /**
172
+ * Column number in source
173
+ */
174
+ column: number;
175
+ }
176
+
177
+ /**
178
+ * Icon bundle structure (matches CLI output)
179
+ */
180
+ export interface IconBundle {
181
+ version: string;
182
+ generatedAt: string;
183
+ icons: Record<
184
+ string,
185
+ {
186
+ svg: string;
187
+ width: number;
188
+ height: number;
189
+ }
190
+ >;
191
+ count: number;
192
+ }
193
+
194
+ /**
195
+ * JSX visitor function type
196
+ */
197
+ export type JSXVisitor = (path: NodePath<JSXOpeningElement>, state: BabelPluginState) => void;
198
+
199
+ /**
200
+ * Call expression visitor function type
201
+ */
202
+ export type CallVisitor = (path: NodePath<CallExpression>, state: BabelPluginState) => void;
203
+
204
+ /**
205
+ * Complete mapping of React component names to Iconify prefixes
206
+ * This covers all 200+ icon sets available in rn-iconify
207
+ */
208
+ export const COMPONENT_PREFIX_MAP: Record<string, string> = {
209
+ // Popular icon sets
210
+ Mdi: 'mdi',
211
+ MdiLight: 'mdi-light',
212
+ Heroicons: 'heroicons',
213
+ HeroiconsOutline: 'heroicons-outline',
214
+ HeroiconsSolid: 'heroicons-solid',
215
+ Lucide: 'lucide',
216
+ LucideLab: 'lucide-lab',
217
+ Ph: 'ph',
218
+ Feather: 'feather',
219
+ Tabler: 'tabler',
220
+ Bi: 'bi',
221
+ Ri: 'ri',
222
+ Carbon: 'carbon',
223
+ Ion: 'ion',
224
+ Octicon: 'octicon',
225
+ SimpleIcons: 'simple-icons',
226
+ Logos: 'logos',
227
+ Solar: 'solar',
228
+ Iconoir: 'iconoir',
229
+
230
+ // Font Awesome
231
+ Fa: 'fa',
232
+ FaBrands: 'fa-brands',
233
+ FaRegular: 'fa-regular',
234
+ FaSolid: 'fa-solid',
235
+ Fa6Solid: 'fa6-solid',
236
+ Fa6Regular: 'fa6-regular',
237
+ Fa6Brands: 'fa6-brands',
238
+ Fa7Solid: 'fa7-solid',
239
+ Fa7Regular: 'fa7-regular',
240
+ Fa7Brands: 'fa7-brands',
241
+ Fad: 'fad',
242
+
243
+ // Fluent
244
+ Fluent: 'fluent',
245
+ FluentColor: 'fluent-color',
246
+ FluentEmoji: 'fluent-emoji',
247
+ FluentEmojiFlat: 'fluent-emoji-flat',
248
+ FluentEmojiHighContrast: 'fluent-emoji-high-contrast',
249
+ FluentMdl2: 'fluent-mdl2',
250
+
251
+ // Material
252
+ MaterialSymbols: 'material-symbols',
253
+ MaterialSymbolsLight: 'material-symbols-light',
254
+ MaterialIconTheme: 'material-icon-theme',
255
+
256
+ // Ant Design
257
+ AntDesign: 'ant-design',
258
+
259
+ // Academicons
260
+ Academicons: 'academicons',
261
+
262
+ // Akar
263
+ AkarIcons: 'akar-icons',
264
+
265
+ // Arcticons
266
+ Arcticons: 'arcticons',
267
+
268
+ // Basil
269
+ Basil: 'basil',
270
+
271
+ // Bitcoin
272
+ BitcoinIcons: 'bitcoin-icons',
273
+
274
+ // BPMN
275
+ Bpmn: 'bpmn',
276
+
277
+ // Brandico
278
+ Brandico: 'brandico',
279
+
280
+ // BoxIcons
281
+ Bx: 'bx',
282
+ Bxl: 'bxl',
283
+ Bxs: 'bxs',
284
+
285
+ // Bytesize
286
+ Bytesize: 'bytesize',
287
+
288
+ // Catppuccin
289
+ Catppuccin: 'catppuccin',
290
+
291
+ // CBI
292
+ Cbi: 'cbi',
293
+
294
+ // Charm
295
+ Charm: 'charm',
296
+
297
+ // Coolicons
298
+ Ci: 'ci',
299
+
300
+ // CoreUI
301
+ Cib: 'cib',
302
+ Cif: 'cif',
303
+ Cil: 'cil',
304
+
305
+ // Circle Flags
306
+ CircleFlags: 'circle-flags',
307
+
308
+ // Circum
309
+ Circum: 'circum',
310
+
311
+ // Clarity
312
+ Clarity: 'clarity',
313
+
314
+ // Codex
315
+ Codex: 'codex',
316
+
317
+ // Codicon
318
+ Codicon: 'codicon',
319
+
320
+ // Covid
321
+ Covid: 'covid',
322
+
323
+ // Cryptocurrency
324
+ Cryptocurrency: 'cryptocurrency',
325
+ CryptocurrencyColor: 'cryptocurrency-color',
326
+
327
+ // Cuida
328
+ Cuida: 'cuida',
329
+
330
+ // Dashicons
331
+ Dashicons: 'dashicons',
332
+
333
+ // Devicon
334
+ Devicon: 'devicon',
335
+ DeviconPlain: 'devicon-plain',
336
+
337
+ // Dinkie
338
+ DinkieIcons: 'dinkie-icons',
339
+
340
+ // Duo
341
+ DuoIcons: 'duo-icons',
342
+
343
+ // Evil Icons
344
+ Ei: 'ei',
345
+
346
+ // Elusive
347
+ El: 'el',
348
+
349
+ // Emojione
350
+ EmojioneMonotone: 'emojione-monotone',
351
+
352
+ // Entypo
353
+ Entypo: 'entypo',
354
+ EntypoSocial: 'entypo-social',
355
+
356
+ // EOS Icons
357
+ EosIcons: 'eos-icons',
358
+
359
+ // Element Plus
360
+ Ep: 'ep',
361
+
362
+ // Elegant Themes
363
+ Et: 'et',
364
+
365
+ // Eva
366
+ Eva: 'eva',
367
+
368
+ // Framework7
369
+ F7: 'f7',
370
+
371
+ // Famicons
372
+ Famicons: 'famicons',
373
+
374
+ // Feather (alternate)
375
+ Fe: 'fe',
376
+
377
+ // File Icons
378
+ FileIcons: 'file-icons',
379
+
380
+ // Flags
381
+ Flag: 'flag',
382
+ Flagpack: 'flagpack',
383
+
384
+ // Flat UI
385
+ FlatUi: 'flat-ui',
386
+
387
+ // Flowbite
388
+ Flowbite: 'flowbite',
389
+
390
+ // Fontelico
391
+ Fontelico: 'fontelico',
392
+
393
+ // Fontisto
394
+ Fontisto: 'fontisto',
395
+
396
+ // Formkit
397
+ Formkit: 'formkit',
398
+
399
+ // Foundation
400
+ Foundation: 'foundation',
401
+
402
+ // Gala
403
+ Gala: 'gala',
404
+
405
+ // Game Icons
406
+ GameIcons: 'game-icons',
407
+
408
+ // Garden
409
+ Garden: 'garden',
410
+
411
+ // Geo
412
+ Geo: 'geo',
413
+
414
+ // GG
415
+ Gg: 'gg',
416
+
417
+ // GIS
418
+ Gis: 'gis',
419
+
420
+ // Gravity UI
421
+ GravityUi: 'gravity-ui',
422
+
423
+ // Gridicons
424
+ Gridicons: 'gridicons',
425
+
426
+ // Grommet
427
+ GrommetIcons: 'grommet-icons',
428
+
429
+ // Guidance
430
+ Guidance: 'guidance',
431
+
432
+ // Health Icons
433
+ Healthicons: 'healthicons',
434
+
435
+ // Hugeicons
436
+ Hugeicons: 'hugeicons',
437
+
438
+ // Humble
439
+ Humbleicons: 'humbleicons',
440
+
441
+ // Google Material (IC)
442
+ Ic: 'ic',
443
+
444
+ // IcoMoon
445
+ IcomoonFree: 'icomoon-free',
446
+
447
+ // Icon Park
448
+ IconPark: 'icon-park',
449
+ IconParkOutline: 'icon-park-outline',
450
+ IconParkSolid: 'icon-park-solid',
451
+ IconParkTwotone: 'icon-park-twotone',
452
+
453
+ // Iconamoon
454
+ Iconamoon: 'iconamoon',
455
+
456
+ // Icons8
457
+ Icons8: 'icons8',
458
+
459
+ // IL
460
+ Il: 'il',
461
+
462
+ // IWWA
463
+ Iwwa: 'iwwa',
464
+
465
+ // IX
466
+ Ix: 'ix',
467
+
468
+ // Jam
469
+ Jam: 'jam',
470
+
471
+ // Line Awesome
472
+ La: 'la',
473
+
474
+ // Lets Icons
475
+ LetsIcons: 'lets-icons',
476
+
477
+ // Line MD
478
+ LineMd: 'line-md',
479
+
480
+ // Line Icons
481
+ Lineicons: 'lineicons',
482
+
483
+ // LS
484
+ Ls: 'ls',
485
+ Lsicon: 'lsicon',
486
+
487
+ // Mage
488
+ Mage: 'mage',
489
+
490
+ // Majesticons
491
+ Majesticons: 'majesticons',
492
+
493
+ // Maki
494
+ Maki: 'maki',
495
+
496
+ // Map
497
+ Map: 'map',
498
+
499
+ // Marketeq
500
+ Marketeq: 'marketeq',
501
+
502
+ // Medical
503
+ MedicalIcon: 'medical-icon',
504
+
505
+ // Memory
506
+ Memory: 'memory',
507
+
508
+ // Meteocons
509
+ Meteocons: 'meteocons',
510
+
511
+ // Meteor Icons
512
+ MeteorIcons: 'meteor-icons',
513
+
514
+ // MI
515
+ Mi: 'mi',
516
+
517
+ // Mingcute
518
+ Mingcute: 'mingcute',
519
+
520
+ // Mono
521
+ MonoIcons: 'mono-icons',
522
+
523
+ // Mynaui
524
+ Mynaui: 'mynaui',
525
+
526
+ // Nimbus
527
+ Nimbus: 'nimbus',
528
+
529
+ // Nonicons
530
+ Nonicons: 'nonicons',
531
+
532
+ // NRK
533
+ Nrk: 'nrk',
534
+
535
+ // Open Iconic
536
+ Oi: 'oi',
537
+
538
+ // OOUI
539
+ Ooui: 'ooui',
540
+
541
+ // OUI (Elastic)
542
+ Oui: 'oui',
543
+
544
+ // Pajamas (GitLab)
545
+ Pajamas: 'pajamas',
546
+
547
+ // Pepicons
548
+ Pepicons: 'pepicons',
549
+ PepiconsPencil: 'pepicons-pencil',
550
+ PepiconsPop: 'pepicons-pop',
551
+ PepiconsPrint: 'pepicons-print',
552
+
553
+ // Picon
554
+ Picon: 'picon',
555
+
556
+ // Pixel
557
+ Pixel: 'pixel',
558
+ Pixelarticons: 'pixelarticons',
559
+
560
+ // Prime
561
+ Prime: 'prime',
562
+
563
+ // Proicons
564
+ Proicons: 'proicons',
565
+
566
+ // PS
567
+ Ps: 'ps',
568
+
569
+ // Qlementine
570
+ QlementineIcons: 'qlementine-icons',
571
+
572
+ // Quill
573
+ Quill: 'quill',
574
+
575
+ // Radix
576
+ RadixIcons: 'radix-icons',
577
+
578
+ // Raphael
579
+ Raphael: 'raphael',
580
+
581
+ // Rivet
582
+ RivetIcons: 'rivet-icons',
583
+
584
+ // Roentgen
585
+ Roentgen: 'roentgen',
586
+
587
+ // SI
588
+ Si: 'si',
589
+ SiGlyph: 'si-glyph',
590
+
591
+ // Sidekick
592
+ Sidekickicons: 'sidekickicons',
593
+
594
+ // Simple Line
595
+ SimpleLineIcons: 'simple-line-icons',
596
+
597
+ // Skill Icons
598
+ SkillIcons: 'skill-icons',
599
+
600
+ // Stash
601
+ Stash: 'stash',
602
+
603
+ // Streamline
604
+ Streamline: 'streamline',
605
+ StreamlineBlock: 'streamline-block',
606
+ StreamlineColor: 'streamline-color',
607
+ StreamlineCyber: 'streamline-cyber',
608
+ StreamlineCyberColor: 'streamline-cyber-color',
609
+ StreamlineEmojis: 'streamline-emojis',
610
+ StreamlineFlex: 'streamline-flex',
611
+ StreamlineFlexColor: 'streamline-flex-color',
612
+ StreamlineFreehand: 'streamline-freehand',
613
+ StreamlineFreehandColor: 'streamline-freehand-color',
614
+ StreamlineKameleonColor: 'streamline-kameleon-color',
615
+ StreamlineLogos: 'streamline-logos',
616
+ StreamlinePixel: 'streamline-pixel',
617
+ StreamlinePlump: 'streamline-plump',
618
+ StreamlinePlumpColor: 'streamline-plump-color',
619
+ StreamlineSharp: 'streamline-sharp',
620
+ StreamlineSharpColor: 'streamline-sharp-color',
621
+ StreamlineStickiesColor: 'streamline-stickies-color',
622
+ StreamlineUltimate: 'streamline-ultimate',
623
+ StreamlineUltimateColor: 'streamline-ultimate-color',
624
+
625
+ // Subway
626
+ Subway: 'subway',
627
+
628
+ // SVG Spinners
629
+ SvgSpinners: 'svg-spinners',
630
+
631
+ // System UIcons
632
+ SystemUicons: 'system-uicons',
633
+
634
+ // TDesign
635
+ Tdesign: 'tdesign',
636
+
637
+ // Teenyicons
638
+ Teenyicons: 'teenyicons',
639
+
640
+ // Temaki
641
+ Temaki: 'temaki',
642
+
643
+ // Token
644
+ Token: 'token',
645
+ TokenBranded: 'token-branded',
646
+
647
+ // Topcoat
648
+ Topcoat: 'topcoat',
649
+
650
+ // Typicons
651
+ Typcn: 'typcn',
652
+
653
+ // Unicons
654
+ Uil: 'uil',
655
+ Uim: 'uim',
656
+ Uis: 'uis',
657
+ Uit: 'uit',
658
+
659
+ // UIW
660
+ Uiw: 'uiw',
661
+
662
+ // UnJS
663
+ Unjs: 'unjs',
664
+
665
+ // Vaadin
666
+ Vaadin: 'vaadin',
667
+
668
+ // VS
669
+ Vs: 'vs',
670
+
671
+ // VSCode Icons
672
+ VscodeIcons: 'vscode-icons',
673
+
674
+ // Web Symbol
675
+ Websymbol: 'websymbol',
676
+
677
+ // WeUI
678
+ Weui: 'weui',
679
+
680
+ // WHH
681
+ Whh: 'whh',
682
+
683
+ // Weather Icons
684
+ Wi: 'wi',
685
+
686
+ // WPF
687
+ Wpf: 'wpf',
688
+
689
+ // ZMDI
690
+ Zmdi: 'zmdi',
691
+
692
+ // Zondicons
693
+ Zondicons: 'zondicons',
694
+ };
695
+
696
+ /**
697
+ * Reverse map: prefix -> component name
698
+ */
699
+ export const PREFIX_COMPONENT_MAP: Record<string, string> = Object.entries(
700
+ COMPONENT_PREFIX_MAP
701
+ ).reduce(
702
+ (acc, [component, prefix]) => {
703
+ acc[prefix] = component;
704
+ return acc;
705
+ },
706
+ {} as Record<string, string>
707
+ );
708
+
709
+ /**
710
+ * Set of all valid component names for fast lookup
711
+ */
712
+ export const VALID_COMPONENTS = new Set(Object.keys(COMPONENT_PREFIX_MAP));
713
+
714
+ /**
715
+ * Set of all valid prefixes for fast lookup
716
+ */
717
+ export const VALID_PREFIXES = new Set(Object.values(COMPONENT_PREFIX_MAP));