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
@@ -1,12 +1,25 @@
1
1
  /**
2
2
  * Iconify API Client
3
3
  * Handles fetching icon data from Iconify API
4
+ * Supports custom API servers via ConfigManager
4
5
  */
5
6
 
6
- const ICONIFY_API_BASE = 'https://api.iconify.design';
7
- const DEFAULT_TIMEOUT_MS = 30000; // 30 second timeout
8
- const MAX_RETRIES = 2;
9
- const RETRY_DELAY_MS = 1000;
7
+ import { ConfigManager } from '../config';
8
+
9
+ /**
10
+ * Get current API configuration
11
+ */
12
+ function getAPISettings() {
13
+ const config = ConfigManager.getAPIConfig();
14
+ return {
15
+ baseUrl: config.apiUrl,
16
+ timeout: config.timeout,
17
+ retries: config.retries,
18
+ retryDelay: config.retryDelay,
19
+ headers: config.headers,
20
+ logging: config.logging
21
+ };
22
+ }
10
23
 
11
24
  /**
12
25
  * Request deduplication map
@@ -17,15 +30,24 @@ const pendingRequests = new Map();
17
30
  /**
18
31
  * Fetch with timeout support
19
32
  */
20
- async function fetchWithTimeout(url, options = {}, timeoutMs = DEFAULT_TIMEOUT_MS) {
33
+ async function fetchWithTimeout(url, options = {}, timeoutMs) {
34
+ const settings = getAPISettings();
35
+ const effectiveTimeout = timeoutMs ?? settings.timeout;
21
36
  const controller = new AbortController();
22
- const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
37
+ const timeoutId = setTimeout(() => controller.abort(), effectiveTimeout);
23
38
 
24
39
  // Merge abort signals if one is provided
25
40
  const signal = options.signal ? anySignal([options.signal, controller.signal]) : controller.signal;
41
+
42
+ // Merge headers from config
43
+ const headers = {
44
+ ...settings.headers,
45
+ ...options.headers
46
+ };
26
47
  try {
27
48
  const response = await fetch(url, {
28
49
  ...options,
50
+ headers,
29
51
  signal
30
52
  });
31
53
  return response;
@@ -141,14 +163,18 @@ export async function fetchIcon(iconName, signal) {
141
163
 
142
164
  // Create and store the request promise
143
165
  const requestPromise = (async () => {
166
+ const settings = getAPISettings();
144
167
  let lastError = null;
145
- for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
168
+ for (let attempt = 0; attempt <= settings.retries; attempt++) {
146
169
  try {
147
170
  // Check if already aborted
148
171
  if (signal?.aborted) {
149
172
  throw new DOMException('Aborted', 'AbortError');
150
173
  }
151
- const url = `${ICONIFY_API_BASE}/${prefix}.json?icons=${name}`;
174
+ const url = `${settings.baseUrl}/${prefix}.json?icons=${name}`;
175
+ if (settings.logging) {
176
+ console.log(`[rn-iconify] Fetching: ${url} (attempt ${attempt + 1})`);
177
+ }
152
178
  const response = await fetchWithTimeout(url, {
153
179
  signal
154
180
  });
@@ -190,14 +216,18 @@ export async function fetchIcon(iconName, signal) {
190
216
  lastError = error instanceof Error ? error : new Error(String(error));
191
217
 
192
218
  // Wait before retrying (except on last attempt)
193
- if (attempt < MAX_RETRIES) {
194
- await new Promise(resolve => setTimeout(resolve, RETRY_DELAY_MS * (attempt + 1)));
219
+ if (attempt < settings.retries) {
220
+ const delay = settings.retryDelay * (attempt + 1);
221
+ if (settings.logging) {
222
+ console.log(`[rn-iconify] Retry ${attempt + 1} in ${delay}ms...`);
223
+ }
224
+ await new Promise(resolve => setTimeout(resolve, delay));
195
225
  }
196
226
  }
197
227
  }
198
228
 
199
229
  // All retries exhausted
200
- throw lastError ?? new Error(`Failed to fetch icon "${iconName}" after ${MAX_RETRIES + 1} attempts`);
230
+ throw lastError ?? new Error(`Failed to fetch icon "${iconName}" after ${settings.retries + 1} attempts`);
201
231
  })();
202
232
  pendingRequests.set(iconName, requestPromise);
203
233
  try {
@@ -239,6 +269,7 @@ export async function fetchIconsBatch(iconNames, signal) {
239
269
  }
240
270
 
241
271
  // Fetch each prefix group with error handling per group
272
+ const settings = getAPISettings();
242
273
  const fetchPromises = Array.from(byPrefix.entries()).map(async ([prefix, names]) => {
243
274
  try {
244
275
  // Check if aborted
@@ -252,7 +283,10 @@ export async function fetchIconsBatch(iconNames, signal) {
252
283
 
253
284
  // Sort icon names alphabetically for consistent caching (Iconify best practice)
254
285
  const sortedNames = [...names].sort();
255
- const url = `${ICONIFY_API_BASE}/${prefix}.json?icons=${sortedNames.join(',')}`;
286
+ const url = `${settings.baseUrl}/${prefix}.json?icons=${sortedNames.join(',')}`;
287
+ if (settings.logging) {
288
+ console.log(`[rn-iconify] Batch fetching: ${url}`);
289
+ }
256
290
  const response = await fetchWithTimeout(url, {
257
291
  signal
258
292
  });
@@ -315,13 +349,117 @@ export async function fetchIconsBatch(iconNames, signal) {
315
349
  * Check if Iconify API is reachable
316
350
  */
317
351
  export async function checkAPIHealth() {
352
+ const settings = getAPISettings();
318
353
  try {
319
- const response = await fetch(`${ICONIFY_API_BASE}/collections`, {
320
- method: 'HEAD'
354
+ const response = await fetch(`${settings.baseUrl}/collections`, {
355
+ method: 'HEAD',
356
+ headers: settings.headers
321
357
  });
322
358
  return response.ok;
323
359
  } catch {
324
360
  return false;
325
361
  }
326
362
  }
363
+
364
+ /**
365
+ * Get the current API base URL
366
+ */
367
+ export function getAPIBaseUrl() {
368
+ return getAPISettings().baseUrl;
369
+ }
370
+
371
+ /**
372
+ * Icon collection info from Iconify API
373
+ */
374
+
375
+ /**
376
+ * Fetch all icons for a specific icon set from Iconify API
377
+ * @param prefix Icon set prefix (e.g., "mdi", "heroicons")
378
+ * @param signal Optional AbortSignal for cancellation
379
+ * @returns Collection info including all icon names
380
+ */
381
+ export async function fetchCollection(prefix, signal) {
382
+ // Validate prefix
383
+ if (!SAFE_NAME_PATTERN.test(prefix)) {
384
+ throw new Error(`Invalid icon set prefix: "${prefix}"`);
385
+ }
386
+ const settings = getAPISettings();
387
+ const url = `${settings.baseUrl}/collection?prefix=${prefix}`;
388
+ if (settings.logging) {
389
+ console.log(`[rn-iconify] Fetching collection: ${url}`);
390
+ }
391
+ const response = await fetchWithTimeout(url, {
392
+ signal
393
+ });
394
+ if (!response.ok) {
395
+ throw new Error(`HTTP ${response.status}: Failed to fetch collection "${prefix}"`);
396
+ }
397
+ const data = await response.json();
398
+
399
+ // Validate response structure
400
+ if (!data || typeof data !== 'object') {
401
+ throw new Error(`Invalid API response for collection "${prefix}"`);
402
+ }
403
+
404
+ // Build icons list from uncategorized or categories
405
+ let icons = [];
406
+ if (data.uncategorized && Array.isArray(data.uncategorized)) {
407
+ icons = [...data.uncategorized];
408
+ }
409
+ if (data.categories && typeof data.categories === 'object') {
410
+ for (const category of Object.values(data.categories)) {
411
+ if (Array.isArray(category)) {
412
+ icons.push(...category);
413
+ }
414
+ }
415
+ }
416
+
417
+ // Remove duplicates
418
+ icons = [...new Set(icons)];
419
+ return {
420
+ prefix,
421
+ total: data.total || icons.length,
422
+ title: data.title,
423
+ icons,
424
+ aliases: data.aliases,
425
+ categories: data.categories
426
+ };
427
+ }
428
+
429
+ /**
430
+ * Search icons using Iconify API
431
+ * @param query Search query
432
+ * @param prefixes Optional array of icon set prefixes to search
433
+ * @param limit Maximum number of results
434
+ * @param signal Optional AbortSignal for cancellation
435
+ * @returns Array of icon names
436
+ */
437
+ export async function searchIconsAPI(query, prefixes, limit = 100, signal) {
438
+ const settings = getAPISettings();
439
+
440
+ // Build URL with query parameters
441
+ const params = new URLSearchParams();
442
+ params.set('query', query);
443
+ params.set('limit', String(limit));
444
+ if (prefixes && prefixes.length > 0) {
445
+ params.set('prefixes', prefixes.join(','));
446
+ }
447
+ const url = `${settings.baseUrl}/search?${params.toString()}`;
448
+ if (settings.logging) {
449
+ console.log(`[rn-iconify] Searching icons: ${url}`);
450
+ }
451
+ const response = await fetchWithTimeout(url, {
452
+ signal
453
+ });
454
+ if (!response.ok) {
455
+ throw new Error(`HTTP ${response.status}: Search failed`);
456
+ }
457
+ const data = await response.json();
458
+
459
+ // Response is an array of icon names
460
+ if (Array.isArray(data.icons)) {
461
+ return data.icons;
462
+ }
463
+ return [];
464
+ }
327
465
  //# sourceMappingURL=IconifyAPI.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ICONIFY_API_BASE","DEFAULT_TIMEOUT_MS","MAX_RETRIES","RETRY_DELAY_MS","pendingRequests","Map","fetchWithTimeout","url","options","timeoutMs","controller","AbortController","timeoutId","setTimeout","abort","signal","anySignal","response","fetch","clearTimeout","signals","aborted","addEventListener","once","isValidSvg","content","trim","startsWith","includes","SAFE_NAME_PATTERN","parseIconName","iconName","parts","split","length","prefix","name","test","buildSvg","data","defaultWidth","defaultHeight","width","height","left","top","viewBox","transform","transforms","rotate","rotation","push","hFlip","vFlip","scaleX","scaleY","translateX","translateY","join","body","fetchIcon","pending","get","parsed","Error","requestPromise","lastError","attempt","DOMException","ok","status","json","icons","iconData","svg","error","message","String","Promise","resolve","set","delete","fetchIconsBatch","iconNames","success","failed","byPrefix","names","fetchPromises","Array","from","entries","map","forEach","sortedNames","sort","errorMessage","all","checkAPIHealth","method"],"sourceRoot":"../../../src","sources":["network/IconifyAPI.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ConfigManager","getAPISettings","config","getAPIConfig","baseUrl","apiUrl","timeout","retries","retryDelay","headers","logging","pendingRequests","Map","fetchWithTimeout","url","options","timeoutMs","settings","effectiveTimeout","controller","AbortController","timeoutId","setTimeout","abort","signal","anySignal","response","fetch","clearTimeout","signals","aborted","addEventListener","once","isValidSvg","content","trim","startsWith","includes","SAFE_NAME_PATTERN","parseIconName","iconName","parts","split","length","prefix","name","test","buildSvg","data","defaultWidth","defaultHeight","width","height","left","top","viewBox","transform","transforms","rotate","rotation","push","hFlip","vFlip","scaleX","scaleY","translateX","translateY","join","body","fetchIcon","pending","get","parsed","Error","requestPromise","lastError","attempt","DOMException","console","log","ok","status","json","icons","iconData","svg","error","message","String","delay","Promise","resolve","set","delete","fetchIconsBatch","iconNames","success","failed","byPrefix","names","fetchPromises","Array","from","entries","map","forEach","sortedNames","sort","errorMessage","all","checkAPIHealth","method","getAPIBaseUrl","fetchCollection","uncategorized","isArray","categories","category","Object","values","Set","total","title","aliases","searchIconsAPI","query","prefixes","limit","params","URLSearchParams","toString"],"sourceRoot":"../../../src","sources":["network/IconifyAPI.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export { fetchIcon, fetchIconsBatch, parseIconName, checkAPIHealth } from './IconifyAPI';
1
+ export { fetchIcon, fetchIconsBatch, parseIconName, checkAPIHealth, getAPIBaseUrl, fetchCollection, searchIconsAPI } from './IconifyAPI';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["fetchIcon","fetchIconsBatch","parseIconName","checkAPIHealth"],"sourceRoot":"../../../src","sources":["network/index.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,eAAe,EAAEC,aAAa,EAAEC,cAAc,QAAQ,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["fetchIcon","fetchIconsBatch","parseIconName","checkAPIHealth","getAPIBaseUrl","fetchCollection","searchIconsAPI"],"sourceRoot":"../../../src","sources":["network/index.ts"],"mappings":"AAAA,SACEA,SAAS,EACTC,eAAe,EACfC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,eAAe,EACfC,cAAc,QACT,cAAc","ignoreList":[]}
@@ -0,0 +1,317 @@
1
+ /**
2
+ * PerformanceMonitor - Tracks icon loading performance
3
+ * Provides metrics, statistics, and insights for optimization
4
+ */
5
+
6
+ import { ConfigManager } from '../config';
7
+ /**
8
+ * Performance monitoring state
9
+ */
10
+ let isEnabled = false;
11
+ let startTime = Date.now();
12
+ const events = [];
13
+ const listeners = [];
14
+ const iconLoadCounts = new Map();
15
+ const iconLoadTimes = new Map();
16
+
17
+ /**
18
+ * Counter statistics
19
+ */
20
+ let stats = {
21
+ memoryHits: 0,
22
+ bundledHits: 0,
23
+ diskHits: 0,
24
+ networkFetches: 0,
25
+ errors: 0
26
+ };
27
+
28
+ /**
29
+ * Get max history size from config
30
+ */
31
+ function getMaxHistorySize() {
32
+ return ConfigManager.getPerformanceConfig().maxHistorySize;
33
+ }
34
+
35
+ /**
36
+ * Calculate percentile from sorted array
37
+ */
38
+ function percentile(sortedArr, p) {
39
+ if (sortedArr.length === 0) return 0;
40
+ const index = Math.ceil(p / 100 * sortedArr.length) - 1;
41
+ return sortedArr[Math.max(0, index)];
42
+ }
43
+
44
+ /**
45
+ * Performance Monitor API
46
+ */
47
+ export const PerformanceMonitor = {
48
+ /**
49
+ * Enable performance monitoring
50
+ */
51
+ enable() {
52
+ isEnabled = true;
53
+ startTime = Date.now();
54
+ ConfigManager.setConfig({
55
+ performance: {
56
+ enabled: true
57
+ }
58
+ });
59
+ },
60
+ /**
61
+ * Disable performance monitoring
62
+ */
63
+ disable() {
64
+ isEnabled = false;
65
+ ConfigManager.setConfig({
66
+ performance: {
67
+ enabled: false
68
+ }
69
+ });
70
+ },
71
+ /**
72
+ * Check if monitoring is enabled
73
+ */
74
+ isEnabled() {
75
+ return isEnabled || ConfigManager.getPerformanceConfig().enabled;
76
+ },
77
+ /**
78
+ * Record an icon load event
79
+ */
80
+ recordEvent(iconName, type, duration, error) {
81
+ if (!PerformanceMonitor.isEnabled()) return;
82
+ const event = {
83
+ iconName,
84
+ type,
85
+ duration,
86
+ timestamp: Date.now(),
87
+ error
88
+ };
89
+
90
+ // Update statistics
91
+ switch (type) {
92
+ case 'memory_hit':
93
+ stats.memoryHits++;
94
+ break;
95
+ case 'bundled_hit':
96
+ stats.bundledHits++;
97
+ break;
98
+ case 'disk_hit':
99
+ stats.diskHits++;
100
+ break;
101
+ case 'network_fetch':
102
+ stats.networkFetches++;
103
+ break;
104
+ case 'error':
105
+ stats.errors++;
106
+ break;
107
+ }
108
+
109
+ // Track per-icon stats
110
+ const count = (iconLoadCounts.get(iconName) ?? 0) + 1;
111
+ iconLoadCounts.set(iconName, count);
112
+ const times = iconLoadTimes.get(iconName) ?? [];
113
+ times.push(duration);
114
+ iconLoadTimes.set(iconName, times);
115
+
116
+ // Add to events history
117
+ events.push(event);
118
+
119
+ // Trim history if needed
120
+ const maxSize = getMaxHistorySize();
121
+ while (events.length > maxSize) {
122
+ events.shift();
123
+ }
124
+
125
+ // Notify listeners
126
+ listeners.forEach(listener => {
127
+ try {
128
+ listener(event);
129
+ } catch (e) {
130
+ // Ignore listener errors
131
+ }
132
+ });
133
+ },
134
+ /**
135
+ * Subscribe to performance events
136
+ * Returns unsubscribe function
137
+ */
138
+ subscribe(listener) {
139
+ listeners.push(listener);
140
+ return () => {
141
+ const index = listeners.indexOf(listener);
142
+ if (index > -1) {
143
+ listeners.splice(index, 1);
144
+ }
145
+ };
146
+ },
147
+ /**
148
+ * Get cache statistics
149
+ */
150
+ getCacheStats() {
151
+ const totalRequests = stats.memoryHits + stats.bundledHits + stats.diskHits + stats.networkFetches + stats.errors;
152
+ const hits = stats.memoryHits + stats.bundledHits + stats.diskHits;
153
+ return {
154
+ memoryHits: stats.memoryHits,
155
+ bundledHits: stats.bundledHits,
156
+ diskHits: stats.diskHits,
157
+ networkFetches: stats.networkFetches,
158
+ errors: stats.errors,
159
+ totalRequests,
160
+ hitRate: totalRequests > 0 ? hits / totalRequests : 0
161
+ };
162
+ },
163
+ /**
164
+ * Get performance summary
165
+ */
166
+ getSummary() {
167
+ const durations = events.filter(e => e.type !== 'error').map(e => e.duration).sort((a, b) => a - b);
168
+ const totalLoads = durations.length;
169
+ const totalErrors = events.filter(e => e.type === 'error').length;
170
+ if (totalLoads === 0) {
171
+ return {
172
+ avgLoadTime: 0,
173
+ minLoadTime: 0,
174
+ maxLoadTime: 0,
175
+ p50LoadTime: 0,
176
+ p90LoadTime: 0,
177
+ p99LoadTime: 0,
178
+ totalLoads: 0,
179
+ totalErrors,
180
+ uptime: Date.now() - startTime
181
+ };
182
+ }
183
+ const sum = durations.reduce((a, b) => a + b, 0);
184
+ return {
185
+ avgLoadTime: sum / totalLoads,
186
+ minLoadTime: durations[0],
187
+ maxLoadTime: durations[durations.length - 1],
188
+ p50LoadTime: percentile(durations, 50),
189
+ p90LoadTime: percentile(durations, 90),
190
+ p99LoadTime: percentile(durations, 99),
191
+ totalLoads,
192
+ totalErrors,
193
+ uptime: Date.now() - startTime
194
+ };
195
+ },
196
+ /**
197
+ * Get full performance report
198
+ */
199
+ getReport() {
200
+ const summary = PerformanceMonitor.getSummary();
201
+ const cacheStats = PerformanceMonitor.getCacheStats();
202
+
203
+ // Calculate avg load times by type
204
+ const byType = {
205
+ memory: [],
206
+ bundled: [],
207
+ disk: [],
208
+ network: []
209
+ };
210
+ events.forEach(e => {
211
+ if (e.type === 'memory_hit') byType.memory.push(e.duration);else if (e.type === 'bundled_hit') byType.bundled.push(e.duration);else if (e.type === 'disk_hit') byType.disk.push(e.duration);else if (e.type === 'network_fetch') byType.network.push(e.duration);
212
+ });
213
+ const avg = arr => arr.length ? arr.reduce((a, b) => a + b, 0) / arr.length : 0;
214
+
215
+ // Get slowest icons
216
+ const slowestIcons = Array.from(iconLoadTimes.entries()).map(([iconName, times]) => ({
217
+ iconName,
218
+ avgDuration: avg(times),
219
+ count: times.length
220
+ })).sort((a, b) => b.avgDuration - a.avgDuration).slice(0, 10);
221
+
222
+ // Get most used icons
223
+ const mostUsedIcons = Array.from(iconLoadCounts.entries()).map(([iconName, count]) => ({
224
+ iconName,
225
+ count
226
+ })).sort((a, b) => b.count - a.count).slice(0, 10);
227
+ return {
228
+ summary,
229
+ cacheStats,
230
+ loadTimesByType: {
231
+ memory: avg(byType.memory),
232
+ bundled: avg(byType.bundled),
233
+ disk: avg(byType.disk),
234
+ network: avg(byType.network)
235
+ },
236
+ slowestIcons,
237
+ mostUsedIcons,
238
+ recentEvents: events.slice(-100),
239
+ generatedAt: Date.now()
240
+ };
241
+ },
242
+ /**
243
+ * Reset all performance data
244
+ */
245
+ reset() {
246
+ events.length = 0;
247
+ iconLoadCounts.clear();
248
+ iconLoadTimes.clear();
249
+ stats = {
250
+ memoryHits: 0,
251
+ bundledHits: 0,
252
+ diskHits: 0,
253
+ networkFetches: 0,
254
+ errors: 0
255
+ };
256
+ startTime = Date.now();
257
+ },
258
+ /**
259
+ * Get raw events (for debugging)
260
+ */
261
+ getEvents() {
262
+ return [...events];
263
+ },
264
+ /**
265
+ * Format report as string (for console output)
266
+ */
267
+ formatReport() {
268
+ const report = PerformanceMonitor.getReport();
269
+ const {
270
+ summary,
271
+ cacheStats,
272
+ loadTimesByType
273
+ } = report;
274
+ const lines = ['┌─────────────────────────────────────────────────────┐', '│ rn-iconify Performance Report │', '├─────────────────────────────────────────────────────┤', `│ Total Loads: ${summary.totalLoads.toString().padEnd(10)} │ Errors: ${summary.totalErrors.toString().padEnd(8)} │`, `│ Cache Hit Rate: ${(cacheStats.hitRate * 100).toFixed(1)}% │`, '├─────────────────────────────────────────────────────┤', '│ Load Times │', `│ Average: ${summary.avgLoadTime.toFixed(2)}ms │`, `│ Min: ${summary.minLoadTime.toFixed(2)}ms │ Max: ${summary.maxLoadTime.toFixed(2)}ms │`, `│ P50: ${summary.p50LoadTime.toFixed(2)}ms │ P90: ${summary.p90LoadTime.toFixed(2)}ms │ P99: ${summary.p99LoadTime.toFixed(2)}ms │`, '├─────────────────────────────────────────────────────┤', '│ By Source │', `│ Memory: ${loadTimesByType.memory.toFixed(2)}ms (${cacheStats.memoryHits} hits) │`, `│ Bundled: ${loadTimesByType.bundled.toFixed(2)}ms (${cacheStats.bundledHits} hits) │`, `│ Disk: ${loadTimesByType.disk.toFixed(2)}ms (${cacheStats.diskHits} hits) │`, `│ Network: ${loadTimesByType.network.toFixed(2)}ms (${cacheStats.networkFetches} fetches) │`, '└─────────────────────────────────────────────────────┘'];
275
+ if (report.slowestIcons.length > 0) {
276
+ lines.push('');
277
+ lines.push('🐌 Slowest Icons:');
278
+ report.slowestIcons.slice(0, 5).forEach((icon, i) => {
279
+ lines.push(` ${i + 1}. ${icon.iconName} (${icon.avgDuration.toFixed(2)}ms avg, ${icon.count}x)`);
280
+ });
281
+ }
282
+ return lines.join('\n');
283
+ }
284
+ };
285
+
286
+ /**
287
+ * Enable performance monitoring
288
+ * Alias for PerformanceMonitor.enable()
289
+ */
290
+ export function enablePerformanceMonitoring() {
291
+ PerformanceMonitor.enable();
292
+ }
293
+
294
+ /**
295
+ * Disable performance monitoring
296
+ * Alias for PerformanceMonitor.disable()
297
+ */
298
+ export function disablePerformanceMonitoring() {
299
+ PerformanceMonitor.disable();
300
+ }
301
+
302
+ /**
303
+ * Get performance report
304
+ * Alias for PerformanceMonitor.getReport()
305
+ */
306
+ export function getPerformanceReport() {
307
+ return PerformanceMonitor.getReport();
308
+ }
309
+
310
+ /**
311
+ * Print formatted performance report to console
312
+ */
313
+ export function printPerformanceReport() {
314
+ console.log(PerformanceMonitor.formatReport());
315
+ }
316
+ export default PerformanceMonitor;
317
+ //# sourceMappingURL=PerformanceMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ConfigManager","isEnabled","startTime","Date","now","events","listeners","iconLoadCounts","Map","iconLoadTimes","stats","memoryHits","bundledHits","diskHits","networkFetches","errors","getMaxHistorySize","getPerformanceConfig","maxHistorySize","percentile","sortedArr","p","length","index","Math","ceil","max","PerformanceMonitor","enable","setConfig","performance","enabled","disable","recordEvent","iconName","type","duration","error","event","timestamp","count","get","set","times","push","maxSize","shift","forEach","listener","e","subscribe","indexOf","splice","getCacheStats","totalRequests","hits","hitRate","getSummary","durations","filter","map","sort","a","b","totalLoads","totalErrors","avgLoadTime","minLoadTime","maxLoadTime","p50LoadTime","p90LoadTime","p99LoadTime","uptime","sum","reduce","getReport","summary","cacheStats","byType","memory","bundled","disk","network","avg","arr","slowestIcons","Array","from","entries","avgDuration","slice","mostUsedIcons","loadTimesByType","recentEvents","generatedAt","reset","clear","getEvents","formatReport","report","lines","toString","padEnd","toFixed","icon","i","join","enablePerformanceMonitoring","disablePerformanceMonitoring","getPerformanceReport","printPerformanceReport","console","log"],"sourceRoot":"../../../src","sources":["performance/PerformanceMonitor.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Performance Monitoring Module
3
+ * Track and analyze icon loading performance
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { enablePerformanceMonitoring, getPerformanceReport } from 'rn-iconify';
8
+ *
9
+ * // Enable monitoring
10
+ * enablePerformanceMonitoring();
11
+ *
12
+ * // Later, get the report
13
+ * const report = getPerformanceReport();
14
+ * console.log(`Cache hit rate: ${report.cacheStats.hitRate * 100}%`);
15
+ * console.log(`Avg load time: ${report.summary.avgLoadTime}ms`);
16
+ * ```
17
+ */
18
+
19
+ // Types
20
+
21
+ // PerformanceMonitor
22
+ export { PerformanceMonitor, enablePerformanceMonitoring, disablePerformanceMonitoring, getPerformanceReport, printPerformanceReport } from './PerformanceMonitor';
23
+
24
+ // Default export
25
+ export { PerformanceMonitor as default } from './PerformanceMonitor';
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PerformanceMonitor","enablePerformanceMonitoring","disablePerformanceMonitoring","getPerformanceReport","printPerformanceReport","default"],"sourceRoot":"../../../src","sources":["performance/index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAUA;AACA,SACEA,kBAAkB,EAClBC,2BAA2B,EAC3BC,4BAA4B,EAC5BC,oBAAoB,EACpBC,sBAAsB,QACjB,sBAAsB;;AAE7B;AACA,SAASJ,kBAAkB,IAAIK,OAAO,QAAQ,sBAAsB","ignoreList":[]}