rn-iconify 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. package/README.md +47 -235
  2. package/babel.js +14 -0
  3. package/lib/commonjs/IconRenderer.js +91 -4
  4. package/lib/commonjs/IconRenderer.js.map +1 -1
  5. package/lib/commonjs/accessibility/AccessibilityProvider.js +189 -0
  6. package/lib/commonjs/accessibility/AccessibilityProvider.js.map +1 -0
  7. package/lib/commonjs/accessibility/index.js +87 -0
  8. package/lib/commonjs/accessibility/index.js.map +1 -0
  9. package/lib/commonjs/accessibility/types.js +6 -0
  10. package/lib/commonjs/accessibility/types.js.map +1 -0
  11. package/lib/commonjs/accessibility/useAccessibleIcon.js +119 -0
  12. package/lib/commonjs/accessibility/useAccessibleIcon.js.map +1 -0
  13. package/lib/commonjs/accessibility/utils.js +231 -0
  14. package/lib/commonjs/accessibility/utils.js.map +1 -0
  15. package/lib/commonjs/alias/Icon.js +113 -0
  16. package/lib/commonjs/alias/Icon.js.map +1 -0
  17. package/lib/commonjs/alias/IconAliasContext.js +177 -0
  18. package/lib/commonjs/alias/IconAliasContext.js.map +1 -0
  19. package/lib/commonjs/alias/createIconAliases.js +222 -0
  20. package/lib/commonjs/alias/createIconAliases.js.map +1 -0
  21. package/lib/commonjs/alias/index.js +57 -0
  22. package/lib/commonjs/alias/index.js.map +1 -0
  23. package/lib/commonjs/alias/types.js +6 -0
  24. package/lib/commonjs/alias/types.js.map +1 -0
  25. package/lib/commonjs/animated/AnimatedIcon.js +116 -0
  26. package/lib/commonjs/animated/AnimatedIcon.js.map +1 -0
  27. package/lib/commonjs/animated/index.js +76 -0
  28. package/lib/commonjs/animated/index.js.map +1 -0
  29. package/lib/commonjs/animated/presets.js +220 -0
  30. package/lib/commonjs/animated/presets.js.map +1 -0
  31. package/lib/commonjs/animated/types.js +71 -0
  32. package/lib/commonjs/animated/types.js.map +1 -0
  33. package/lib/commonjs/animated/useIconAnimation.js +313 -0
  34. package/lib/commonjs/animated/useIconAnimation.js.map +1 -0
  35. package/lib/commonjs/babel/ast-utils.js +214 -0
  36. package/lib/commonjs/babel/ast-utils.js.map +1 -0
  37. package/lib/commonjs/babel/cache-writer.js +281 -0
  38. package/lib/commonjs/babel/cache-writer.js.map +1 -0
  39. package/lib/commonjs/babel/collector.js +219 -0
  40. package/lib/commonjs/babel/collector.js.map +1 -0
  41. package/lib/commonjs/babel/index.js +104 -0
  42. package/lib/commonjs/babel/index.js.map +1 -0
  43. package/lib/commonjs/babel/plugin.js +226 -0
  44. package/lib/commonjs/babel/plugin.js.map +1 -0
  45. package/lib/commonjs/babel/types.js +485 -0
  46. package/lib/commonjs/babel/types.js.map +1 -0
  47. package/lib/commonjs/bundle/index.js +213 -0
  48. package/lib/commonjs/bundle/index.js.map +1 -0
  49. package/lib/commonjs/cache/CacheManager.js +105 -6
  50. package/lib/commonjs/cache/CacheManager.js.map +1 -1
  51. package/lib/commonjs/cli/commands/analyze.js +171 -0
  52. package/lib/commonjs/cli/commands/analyze.js.map +1 -0
  53. package/lib/commonjs/cli/commands/bundle.js +214 -0
  54. package/lib/commonjs/cli/commands/bundle.js.map +1 -0
  55. package/lib/commonjs/cli/index.js +142 -0
  56. package/lib/commonjs/cli/index.js.map +1 -0
  57. package/lib/commonjs/cli/parser.js +260 -0
  58. package/lib/commonjs/cli/parser.js.map +1 -0
  59. package/lib/commonjs/cli/types.js +42 -0
  60. package/lib/commonjs/cli/types.js.map +1 -0
  61. package/lib/commonjs/config/ConfigManager.js +182 -0
  62. package/lib/commonjs/config/ConfigManager.js.map +1 -0
  63. package/lib/commonjs/config/index.js +44 -0
  64. package/lib/commonjs/config/index.js.map +1 -0
  65. package/lib/commonjs/config/types.js +55 -0
  66. package/lib/commonjs/config/types.js.map +1 -0
  67. package/lib/commonjs/createIconSet.js +49 -11
  68. package/lib/commonjs/createIconSet.js.map +1 -1
  69. package/lib/commonjs/explorer/IconExplorer.js +827 -0
  70. package/lib/commonjs/explorer/IconExplorer.js.map +1 -0
  71. package/lib/commonjs/explorer/iconSets.js +303 -0
  72. package/lib/commonjs/explorer/iconSets.js.map +1 -0
  73. package/lib/commonjs/explorer/index.js +93 -0
  74. package/lib/commonjs/explorer/index.js.map +1 -0
  75. package/lib/commonjs/explorer/types.js +6 -0
  76. package/lib/commonjs/explorer/types.js.map +1 -0
  77. package/lib/commonjs/explorer/useExplorer.js +359 -0
  78. package/lib/commonjs/explorer/useExplorer.js.map +1 -0
  79. package/lib/commonjs/index.js +618 -12
  80. package/lib/commonjs/index.js.map +1 -1
  81. package/lib/commonjs/navigation/createDrawerIcon.js +129 -0
  82. package/lib/commonjs/navigation/createDrawerIcon.js.map +1 -0
  83. package/lib/commonjs/navigation/createHeaderIcon.js +185 -0
  84. package/lib/commonjs/navigation/createHeaderIcon.js.map +1 -0
  85. package/lib/commonjs/navigation/createTabBarIcon.js +178 -0
  86. package/lib/commonjs/navigation/createTabBarIcon.js.map +1 -0
  87. package/lib/commonjs/navigation/index.js +83 -0
  88. package/lib/commonjs/navigation/index.js.map +1 -0
  89. package/lib/commonjs/navigation/types.js +94 -0
  90. package/lib/commonjs/navigation/types.js.map +1 -0
  91. package/lib/commonjs/navigation/useNavigationIcon.js +128 -0
  92. package/lib/commonjs/navigation/useNavigationIcon.js.map +1 -0
  93. package/lib/commonjs/network/IconifyAPI.js +154 -14
  94. package/lib/commonjs/network/IconifyAPI.js.map +1 -1
  95. package/lib/commonjs/network/index.js +18 -0
  96. package/lib/commonjs/network/index.js.map +1 -1
  97. package/lib/commonjs/performance/PerformanceMonitor.js +327 -0
  98. package/lib/commonjs/performance/PerformanceMonitor.js.map +1 -0
  99. package/lib/commonjs/performance/index.js +43 -0
  100. package/lib/commonjs/performance/index.js.map +1 -0
  101. package/lib/commonjs/performance/types.js +2 -0
  102. package/lib/commonjs/performance/types.js.map +1 -0
  103. package/lib/commonjs/placeholder/PlaceholderFactory.js +111 -0
  104. package/lib/commonjs/placeholder/PlaceholderFactory.js.map +1 -0
  105. package/lib/commonjs/placeholder/Pulse.js +77 -0
  106. package/lib/commonjs/placeholder/Pulse.js.map +1 -0
  107. package/lib/commonjs/placeholder/Shimmer.js +95 -0
  108. package/lib/commonjs/placeholder/Shimmer.js.map +1 -0
  109. package/lib/commonjs/placeholder/Skeleton.js +52 -0
  110. package/lib/commonjs/placeholder/Skeleton.js.map +1 -0
  111. package/lib/commonjs/placeholder/index.js +41 -0
  112. package/lib/commonjs/placeholder/index.js.map +1 -0
  113. package/lib/commonjs/placeholder/types.js +40 -0
  114. package/lib/commonjs/placeholder/types.js.map +1 -0
  115. package/lib/commonjs/theme/IconThemeProvider.js +96 -0
  116. package/lib/commonjs/theme/IconThemeProvider.js.map +1 -0
  117. package/lib/commonjs/theme/context.js +53 -0
  118. package/lib/commonjs/theme/context.js.map +1 -0
  119. package/lib/commonjs/theme/index.js +52 -0
  120. package/lib/commonjs/theme/index.js.map +1 -0
  121. package/lib/commonjs/theme/types.js +39 -0
  122. package/lib/commonjs/theme/types.js.map +1 -0
  123. package/lib/commonjs/theme/useIconTheme.js +121 -0
  124. package/lib/commonjs/theme/useIconTheme.js.map +1 -0
  125. package/lib/module/IconRenderer.js +92 -5
  126. package/lib/module/IconRenderer.js.map +1 -1
  127. package/lib/module/accessibility/AccessibilityProvider.js +179 -0
  128. package/lib/module/accessibility/AccessibilityProvider.js.map +1 -0
  129. package/lib/module/accessibility/index.js +42 -0
  130. package/lib/module/accessibility/index.js.map +1 -0
  131. package/lib/module/accessibility/types.js +2 -0
  132. package/lib/module/accessibility/types.js.map +1 -0
  133. package/lib/module/accessibility/useAccessibleIcon.js +112 -0
  134. package/lib/module/accessibility/useAccessibleIcon.js.map +1 -0
  135. package/lib/module/accessibility/utils.js +221 -0
  136. package/lib/module/accessibility/utils.js.map +1 -0
  137. package/lib/module/alias/Icon.js +105 -0
  138. package/lib/module/alias/Icon.js.map +1 -0
  139. package/lib/module/alias/IconAliasContext.js +166 -0
  140. package/lib/module/alias/IconAliasContext.js.map +1 -0
  141. package/lib/module/alias/createIconAliases.js +213 -0
  142. package/lib/module/alias/createIconAliases.js.map +1 -0
  143. package/lib/module/alias/index.js +45 -0
  144. package/lib/module/alias/index.js.map +1 -0
  145. package/lib/module/alias/types.js +2 -0
  146. package/lib/module/alias/types.js.map +1 -0
  147. package/lib/module/animated/AnimatedIcon.js +109 -0
  148. package/lib/module/animated/AnimatedIcon.js.map +1 -0
  149. package/lib/module/animated/index.js +80 -0
  150. package/lib/module/animated/index.js.map +1 -0
  151. package/lib/module/animated/presets.js +209 -0
  152. package/lib/module/animated/presets.js.map +1 -0
  153. package/lib/module/animated/types.js +65 -0
  154. package/lib/module/animated/types.js.map +1 -0
  155. package/lib/module/animated/useIconAnimation.js +306 -0
  156. package/lib/module/animated/useIconAnimation.js.map +1 -0
  157. package/lib/module/babel/ast-utils.js +201 -0
  158. package/lib/module/babel/ast-utils.js.map +1 -0
  159. package/lib/module/babel/cache-writer.js +269 -0
  160. package/lib/module/babel/cache-writer.js.map +1 -0
  161. package/lib/module/babel/collector.js +214 -0
  162. package/lib/module/babel/collector.js.map +1 -0
  163. package/lib/module/babel/index.js +51 -0
  164. package/lib/module/babel/index.js.map +1 -0
  165. package/lib/module/babel/plugin.js +220 -0
  166. package/lib/module/babel/plugin.js.map +1 -0
  167. package/lib/module/babel/types.js +476 -0
  168. package/lib/module/babel/types.js.map +1 -0
  169. package/lib/module/bundle/index.js +205 -0
  170. package/lib/module/bundle/index.js.map +1 -0
  171. package/lib/module/cache/CacheManager.js +106 -6
  172. package/lib/module/cache/CacheManager.js.map +1 -1
  173. package/lib/module/cli/commands/analyze.js +166 -0
  174. package/lib/module/cli/commands/analyze.js.map +1 -0
  175. package/lib/module/cli/commands/bundle.js +208 -0
  176. package/lib/module/cli/commands/bundle.js.map +1 -0
  177. package/lib/module/cli/index.js +140 -0
  178. package/lib/module/cli/index.js.map +1 -0
  179. package/lib/module/cli/parser.js +251 -0
  180. package/lib/module/cli/parser.js.map +1 -0
  181. package/lib/module/cli/types.js +36 -0
  182. package/lib/module/cli/types.js.map +1 -0
  183. package/lib/module/components/index.js +27 -1
  184. package/lib/module/components/index.js.map +1 -1
  185. package/lib/module/config/ConfigManager.js +173 -0
  186. package/lib/module/config/ConfigManager.js.map +1 -0
  187. package/lib/module/config/index.js +28 -0
  188. package/lib/module/config/index.js.map +1 -0
  189. package/lib/module/config/types.js +49 -0
  190. package/lib/module/config/types.js.map +1 -0
  191. package/lib/module/createIconSet.js +49 -11
  192. package/lib/module/createIconSet.js.map +1 -1
  193. package/lib/module/explorer/IconExplorer.js +817 -0
  194. package/lib/module/explorer/IconExplorer.js.map +1 -0
  195. package/lib/module/explorer/iconSets.js +291 -0
  196. package/lib/module/explorer/iconSets.js.map +1 -0
  197. package/lib/module/explorer/index.js +42 -0
  198. package/lib/module/explorer/index.js.map +1 -0
  199. package/lib/module/explorer/types.js +2 -0
  200. package/lib/module/explorer/types.js.map +1 -0
  201. package/lib/module/explorer/useExplorer.js +353 -0
  202. package/lib/module/explorer/useExplorer.js.map +1 -0
  203. package/lib/module/index.js +26 -11
  204. package/lib/module/index.js.map +1 -1
  205. package/lib/module/navigation/createDrawerIcon.js +121 -0
  206. package/lib/module/navigation/createDrawerIcon.js.map +1 -0
  207. package/lib/module/navigation/createHeaderIcon.js +175 -0
  208. package/lib/module/navigation/createHeaderIcon.js.map +1 -0
  209. package/lib/module/navigation/createTabBarIcon.js +168 -0
  210. package/lib/module/navigation/createTabBarIcon.js.map +1 -0
  211. package/lib/module/navigation/index.js +59 -0
  212. package/lib/module/navigation/index.js.map +1 -0
  213. package/lib/module/navigation/types.js +88 -0
  214. package/lib/module/navigation/types.js.map +1 -0
  215. package/lib/module/navigation/useNavigationIcon.js +121 -0
  216. package/lib/module/navigation/useNavigationIcon.js.map +1 -0
  217. package/lib/module/network/IconifyAPI.js +152 -14
  218. package/lib/module/network/IconifyAPI.js.map +1 -1
  219. package/lib/module/network/index.js +1 -1
  220. package/lib/module/network/index.js.map +1 -1
  221. package/lib/module/performance/PerformanceMonitor.js +317 -0
  222. package/lib/module/performance/PerformanceMonitor.js.map +1 -0
  223. package/lib/module/performance/index.js +26 -0
  224. package/lib/module/performance/index.js.map +1 -0
  225. package/lib/module/performance/types.js +2 -0
  226. package/lib/module/performance/types.js.map +1 -0
  227. package/lib/module/placeholder/PlaceholderFactory.js +105 -0
  228. package/lib/module/placeholder/PlaceholderFactory.js.map +1 -0
  229. package/lib/module/placeholder/Pulse.js +70 -0
  230. package/lib/module/placeholder/Pulse.js.map +1 -0
  231. package/lib/module/placeholder/Shimmer.js +88 -0
  232. package/lib/module/placeholder/Shimmer.js.map +1 -0
  233. package/lib/module/placeholder/Skeleton.js +45 -0
  234. package/lib/module/placeholder/Skeleton.js.map +1 -0
  235. package/lib/module/placeholder/index.js +15 -0
  236. package/lib/module/placeholder/index.js.map +1 -0
  237. package/lib/module/placeholder/types.js +34 -0
  238. package/lib/module/placeholder/types.js.map +1 -0
  239. package/lib/module/theme/IconThemeProvider.js +89 -0
  240. package/lib/module/theme/IconThemeProvider.js.map +1 -0
  241. package/lib/module/theme/context.js +47 -0
  242. package/lib/module/theme/context.js.map +1 -0
  243. package/lib/module/theme/index.js +19 -0
  244. package/lib/module/theme/index.js.map +1 -0
  245. package/lib/module/theme/types.js +33 -0
  246. package/lib/module/theme/types.js.map +1 -0
  247. package/lib/module/theme/useIconTheme.js +114 -0
  248. package/lib/module/theme/useIconTheme.js.map +1 -0
  249. package/lib/typescript/IconRenderer.d.ts +1 -1
  250. package/lib/typescript/IconRenderer.d.ts.map +1 -1
  251. package/lib/typescript/accessibility/AccessibilityProvider.d.ts +57 -0
  252. package/lib/typescript/accessibility/AccessibilityProvider.d.ts.map +1 -0
  253. package/lib/typescript/accessibility/index.d.ts +37 -0
  254. package/lib/typescript/accessibility/index.d.ts.map +1 -0
  255. package/lib/typescript/accessibility/types.d.ts +130 -0
  256. package/lib/typescript/accessibility/types.d.ts.map +1 -0
  257. package/lib/typescript/accessibility/useAccessibleIcon.d.ts +111 -0
  258. package/lib/typescript/accessibility/useAccessibleIcon.d.ts.map +1 -0
  259. package/lib/typescript/accessibility/utils.d.ts +29 -0
  260. package/lib/typescript/accessibility/utils.d.ts.map +1 -0
  261. package/lib/typescript/alias/Icon.d.ts +38 -0
  262. package/lib/typescript/alias/Icon.d.ts.map +1 -0
  263. package/lib/typescript/alias/IconAliasContext.d.ts +52 -0
  264. package/lib/typescript/alias/IconAliasContext.d.ts.map +1 -0
  265. package/lib/typescript/alias/createIconAliases.d.ts +77 -0
  266. package/lib/typescript/alias/createIconAliases.d.ts.map +1 -0
  267. package/lib/typescript/alias/index.d.ts +36 -0
  268. package/lib/typescript/alias/index.d.ts.map +1 -0
  269. package/lib/typescript/alias/types.d.ts +115 -0
  270. package/lib/typescript/alias/types.d.ts.map +1 -0
  271. package/lib/typescript/animated/AnimatedIcon.d.ts +45 -0
  272. package/lib/typescript/animated/AnimatedIcon.d.ts.map +1 -0
  273. package/lib/typescript/animated/index.d.ts +70 -0
  274. package/lib/typescript/animated/index.d.ts.map +1 -0
  275. package/lib/typescript/animated/presets.d.ts +35 -0
  276. package/lib/typescript/animated/presets.d.ts.map +1 -0
  277. package/lib/typescript/animated/types.d.ts +196 -0
  278. package/lib/typescript/animated/types.d.ts.map +1 -0
  279. package/lib/typescript/animated/useIconAnimation.d.ts +64 -0
  280. package/lib/typescript/animated/useIconAnimation.d.ts.map +1 -0
  281. package/lib/typescript/babel/ast-utils.d.ts +52 -0
  282. package/lib/typescript/babel/ast-utils.d.ts.map +1 -0
  283. package/lib/typescript/babel/cache-writer.d.ts +56 -0
  284. package/lib/typescript/babel/cache-writer.d.ts.map +1 -0
  285. package/lib/typescript/babel/collector.d.ts +107 -0
  286. package/lib/typescript/babel/collector.d.ts.map +1 -0
  287. package/lib/typescript/babel/index.d.ts +47 -0
  288. package/lib/typescript/babel/index.d.ts.map +1 -0
  289. package/lib/typescript/babel/plugin.d.ts +17 -0
  290. package/lib/typescript/babel/plugin.d.ts.map +1 -0
  291. package/lib/typescript/babel/types.d.ts +129 -0
  292. package/lib/typescript/babel/types.d.ts.map +1 -0
  293. package/lib/typescript/bundle/index.d.ts +161 -0
  294. package/lib/typescript/bundle/index.d.ts.map +1 -0
  295. package/lib/typescript/cache/CacheManager.d.ts +52 -4
  296. package/lib/typescript/cache/CacheManager.d.ts.map +1 -1
  297. package/lib/typescript/cli/commands/analyze.d.ts +10 -0
  298. package/lib/typescript/cli/commands/analyze.d.ts.map +1 -0
  299. package/lib/typescript/cli/commands/bundle.d.ts +10 -0
  300. package/lib/typescript/cli/commands/bundle.d.ts.map +1 -0
  301. package/lib/typescript/cli/index.d.ts +7 -0
  302. package/lib/typescript/cli/index.d.ts.map +1 -0
  303. package/lib/typescript/cli/parser.d.ts +18 -0
  304. package/lib/typescript/cli/parser.d.ts.map +1 -0
  305. package/lib/typescript/cli/types.d.ts +157 -0
  306. package/lib/typescript/cli/types.d.ts.map +1 -0
  307. package/lib/typescript/components/Academicons.d.ts +1 -1
  308. package/lib/typescript/components/AkarIcons.d.ts +1 -1
  309. package/lib/typescript/components/AntDesign.d.ts +1 -1
  310. package/lib/typescript/components/Arcticons.d.ts +1 -1
  311. package/lib/typescript/components/Basil.d.ts +1 -1
  312. package/lib/typescript/components/Bi.d.ts +1 -1
  313. package/lib/typescript/components/BitcoinIcons.d.ts +1 -1
  314. package/lib/typescript/components/Bpmn.d.ts +1 -1
  315. package/lib/typescript/components/Brandico.d.ts +1 -1
  316. package/lib/typescript/components/Bx.d.ts +1 -1
  317. package/lib/typescript/components/Bxl.d.ts +1 -1
  318. package/lib/typescript/components/Bxs.d.ts +1 -1
  319. package/lib/typescript/components/Bytesize.d.ts +1 -1
  320. package/lib/typescript/components/Carbon.d.ts +1 -1
  321. package/lib/typescript/components/Catppuccin.d.ts +1 -1
  322. package/lib/typescript/components/Cbi.d.ts +1 -1
  323. package/lib/typescript/components/Charm.d.ts +1 -1
  324. package/lib/typescript/components/Ci.d.ts +1 -1
  325. package/lib/typescript/components/Cib.d.ts +1 -1
  326. package/lib/typescript/components/Cif.d.ts +1 -1
  327. package/lib/typescript/components/Cil.d.ts +1 -1
  328. package/lib/typescript/components/CircleFlags.d.ts +1 -1
  329. package/lib/typescript/components/Circum.d.ts +1 -1
  330. package/lib/typescript/components/Clarity.d.ts +1 -1
  331. package/lib/typescript/components/Codex.d.ts +1 -1
  332. package/lib/typescript/components/Codicon.d.ts +1 -1
  333. package/lib/typescript/components/Covid.d.ts +1 -1
  334. package/lib/typescript/components/Cryptocurrency.d.ts +1 -1
  335. package/lib/typescript/components/CryptocurrencyColor.d.ts +1 -1
  336. package/lib/typescript/components/Cuida.d.ts +1 -1
  337. package/lib/typescript/components/Dashicons.d.ts +1 -1
  338. package/lib/typescript/components/Devicon.d.ts +1 -1
  339. package/lib/typescript/components/DeviconPlain.d.ts +1 -1
  340. package/lib/typescript/components/DinkieIcons.d.ts +1 -1
  341. package/lib/typescript/components/DuoIcons.d.ts +1 -1
  342. package/lib/typescript/components/Ei.d.ts +1 -1
  343. package/lib/typescript/components/El.d.ts +1 -1
  344. package/lib/typescript/components/EmojioneMonotone.d.ts +1 -1
  345. package/lib/typescript/components/Entypo.d.ts +1 -1
  346. package/lib/typescript/components/EntypoSocial.d.ts +1 -1
  347. package/lib/typescript/components/EosIcons.d.ts +1 -1
  348. package/lib/typescript/components/Ep.d.ts +1 -1
  349. package/lib/typescript/components/Et.d.ts +1 -1
  350. package/lib/typescript/components/Eva.d.ts +1 -1
  351. package/lib/typescript/components/F7.d.ts +1 -1
  352. package/lib/typescript/components/Fa.d.ts +1 -1
  353. package/lib/typescript/components/Fa6Brands.d.ts +1 -1
  354. package/lib/typescript/components/Fa6Regular.d.ts +1 -1
  355. package/lib/typescript/components/Fa6Solid.d.ts +1 -1
  356. package/lib/typescript/components/Fa7Brands.d.ts +1 -1
  357. package/lib/typescript/components/Fa7Regular.d.ts +1 -1
  358. package/lib/typescript/components/Fa7Solid.d.ts +1 -1
  359. package/lib/typescript/components/FaBrands.d.ts +1 -1
  360. package/lib/typescript/components/FaRegular.d.ts +1 -1
  361. package/lib/typescript/components/FaSolid.d.ts +1 -1
  362. package/lib/typescript/components/Fad.d.ts +1 -1
  363. package/lib/typescript/components/Famicons.d.ts +1 -1
  364. package/lib/typescript/components/Fe.d.ts +1 -1
  365. package/lib/typescript/components/Feather.d.ts +1 -1
  366. package/lib/typescript/components/FileIcons.d.ts +1 -1
  367. package/lib/typescript/components/Flag.d.ts +1 -1
  368. package/lib/typescript/components/Flagpack.d.ts +1 -1
  369. package/lib/typescript/components/FlatUi.d.ts +1 -1
  370. package/lib/typescript/components/Flowbite.d.ts +1 -1
  371. package/lib/typescript/components/Fluent.d.ts +1 -1
  372. package/lib/typescript/components/FluentColor.d.ts +1 -1
  373. package/lib/typescript/components/FluentEmoji.d.ts +1 -1
  374. package/lib/typescript/components/FluentEmojiFlat.d.ts +1 -1
  375. package/lib/typescript/components/FluentEmojiHighContrast.d.ts +1 -1
  376. package/lib/typescript/components/FluentMdl2.d.ts +1 -1
  377. package/lib/typescript/components/Fontelico.d.ts +1 -1
  378. package/lib/typescript/components/Fontisto.d.ts +1 -1
  379. package/lib/typescript/components/Formkit.d.ts +1 -1
  380. package/lib/typescript/components/Foundation.d.ts +1 -1
  381. package/lib/typescript/components/Gala.d.ts +1 -1
  382. package/lib/typescript/components/GameIcons.d.ts +1 -1
  383. package/lib/typescript/components/Garden.d.ts +1 -1
  384. package/lib/typescript/components/Geo.d.ts +1 -1
  385. package/lib/typescript/components/Gg.d.ts +1 -1
  386. package/lib/typescript/components/Gis.d.ts +1 -1
  387. package/lib/typescript/components/GravityUi.d.ts +1 -1
  388. package/lib/typescript/components/Gridicons.d.ts +1 -1
  389. package/lib/typescript/components/GrommetIcons.d.ts +1 -1
  390. package/lib/typescript/components/Guidance.d.ts +1 -1
  391. package/lib/typescript/components/Healthicons.d.ts +1 -1
  392. package/lib/typescript/components/Heroicons.d.ts +1 -1
  393. package/lib/typescript/components/HeroiconsOutline.d.ts +1 -1
  394. package/lib/typescript/components/HeroiconsSolid.d.ts +1 -1
  395. package/lib/typescript/components/Hugeicons.d.ts +1 -1
  396. package/lib/typescript/components/Humbleicons.d.ts +1 -1
  397. package/lib/typescript/components/Ic.d.ts +1 -1
  398. package/lib/typescript/components/IcomoonFree.d.ts +1 -1
  399. package/lib/typescript/components/IconPark.d.ts +1 -1
  400. package/lib/typescript/components/IconParkOutline.d.ts +1 -1
  401. package/lib/typescript/components/IconParkSolid.d.ts +1 -1
  402. package/lib/typescript/components/IconParkTwotone.d.ts +1 -1
  403. package/lib/typescript/components/Iconamoon.d.ts +1 -1
  404. package/lib/typescript/components/Iconoir.d.ts +1 -1
  405. package/lib/typescript/components/Icons8.d.ts +1 -1
  406. package/lib/typescript/components/Il.d.ts +1 -1
  407. package/lib/typescript/components/Ion.d.ts +1 -1
  408. package/lib/typescript/components/Iwwa.d.ts +1 -1
  409. package/lib/typescript/components/Ix.d.ts +1 -1
  410. package/lib/typescript/components/Jam.d.ts +1 -1
  411. package/lib/typescript/components/La.d.ts +1 -1
  412. package/lib/typescript/components/LetsIcons.d.ts +1 -1
  413. package/lib/typescript/components/LineMd.d.ts +1 -1
  414. package/lib/typescript/components/Lineicons.d.ts +1 -1
  415. package/lib/typescript/components/Logos.d.ts +1 -1
  416. package/lib/typescript/components/Ls.d.ts +1 -1
  417. package/lib/typescript/components/Lsicon.d.ts +1 -1
  418. package/lib/typescript/components/Lucide.d.ts +1 -1
  419. package/lib/typescript/components/LucideLab.d.ts +1 -1
  420. package/lib/typescript/components/Mage.d.ts +1 -1
  421. package/lib/typescript/components/Majesticons.d.ts +1 -1
  422. package/lib/typescript/components/Maki.d.ts +1 -1
  423. package/lib/typescript/components/Map.d.ts +1 -1
  424. package/lib/typescript/components/Marketeq.d.ts +1 -1
  425. package/lib/typescript/components/MaterialIconTheme.d.ts +1 -1
  426. package/lib/typescript/components/MaterialSymbols.d.ts +1 -1
  427. package/lib/typescript/components/MaterialSymbolsLight.d.ts +1 -1
  428. package/lib/typescript/components/Mdi.d.ts +1 -1
  429. package/lib/typescript/components/MdiLight.d.ts +1 -1
  430. package/lib/typescript/components/MedicalIcon.d.ts +1 -1
  431. package/lib/typescript/components/Memory.d.ts +1 -1
  432. package/lib/typescript/components/Meteocons.d.ts +1 -1
  433. package/lib/typescript/components/MeteorIcons.d.ts +1 -1
  434. package/lib/typescript/components/Mi.d.ts +1 -1
  435. package/lib/typescript/components/Mingcute.d.ts +1 -1
  436. package/lib/typescript/components/MonoIcons.d.ts +1 -1
  437. package/lib/typescript/components/Mynaui.d.ts +1 -1
  438. package/lib/typescript/components/Nimbus.d.ts +1 -1
  439. package/lib/typescript/components/Nonicons.d.ts +1 -1
  440. package/lib/typescript/components/Nrk.d.ts +1 -1
  441. package/lib/typescript/components/Octicon.d.ts +1 -1
  442. package/lib/typescript/components/Oi.d.ts +1 -1
  443. package/lib/typescript/components/Ooui.d.ts +1 -1
  444. package/lib/typescript/components/Oui.d.ts +1 -1
  445. package/lib/typescript/components/Pajamas.d.ts +1 -1
  446. package/lib/typescript/components/Pepicons.d.ts +1 -1
  447. package/lib/typescript/components/PepiconsPencil.d.ts +1 -1
  448. package/lib/typescript/components/PepiconsPop.d.ts +1 -1
  449. package/lib/typescript/components/PepiconsPrint.d.ts +1 -1
  450. package/lib/typescript/components/Ph.d.ts +1 -1
  451. package/lib/typescript/components/Picon.d.ts +1 -1
  452. package/lib/typescript/components/Pixel.d.ts +1 -1
  453. package/lib/typescript/components/Pixelarticons.d.ts +1 -1
  454. package/lib/typescript/components/Prime.d.ts +1 -1
  455. package/lib/typescript/components/Proicons.d.ts +1 -1
  456. package/lib/typescript/components/Ps.d.ts +1 -1
  457. package/lib/typescript/components/QlementineIcons.d.ts +1 -1
  458. package/lib/typescript/components/Quill.d.ts +1 -1
  459. package/lib/typescript/components/RadixIcons.d.ts +1 -1
  460. package/lib/typescript/components/Raphael.d.ts +1 -1
  461. package/lib/typescript/components/Ri.d.ts +1 -1
  462. package/lib/typescript/components/RivetIcons.d.ts +1 -1
  463. package/lib/typescript/components/Roentgen.d.ts +1 -1
  464. package/lib/typescript/components/Si.d.ts +1 -1
  465. package/lib/typescript/components/SiGlyph.d.ts +1 -1
  466. package/lib/typescript/components/Sidekickicons.d.ts +1 -1
  467. package/lib/typescript/components/SimpleIcons.d.ts +1 -1
  468. package/lib/typescript/components/SimpleLineIcons.d.ts +1 -1
  469. package/lib/typescript/components/SkillIcons.d.ts +1 -1
  470. package/lib/typescript/components/Solar.d.ts +1 -1
  471. package/lib/typescript/components/Stash.d.ts +1 -1
  472. package/lib/typescript/components/Streamline.d.ts +1 -1
  473. package/lib/typescript/components/StreamlineBlock.d.ts +1 -1
  474. package/lib/typescript/components/StreamlineColor.d.ts +1 -1
  475. package/lib/typescript/components/StreamlineCyber.d.ts +1 -1
  476. package/lib/typescript/components/StreamlineCyberColor.d.ts +1 -1
  477. package/lib/typescript/components/StreamlineEmojis.d.ts +1 -1
  478. package/lib/typescript/components/StreamlineFlex.d.ts +1 -1
  479. package/lib/typescript/components/StreamlineFlexColor.d.ts +1 -1
  480. package/lib/typescript/components/StreamlineFreehand.d.ts +1 -1
  481. package/lib/typescript/components/StreamlineFreehandColor.d.ts +1 -1
  482. package/lib/typescript/components/StreamlineKameleonColor.d.ts +1 -1
  483. package/lib/typescript/components/StreamlineLogos.d.ts +1 -1
  484. package/lib/typescript/components/StreamlinePixel.d.ts +1 -1
  485. package/lib/typescript/components/StreamlinePlump.d.ts +1 -1
  486. package/lib/typescript/components/StreamlinePlumpColor.d.ts +1 -1
  487. package/lib/typescript/components/StreamlineSharp.d.ts +1 -1
  488. package/lib/typescript/components/StreamlineSharpColor.d.ts +1 -1
  489. package/lib/typescript/components/StreamlineStickiesColor.d.ts +1 -1
  490. package/lib/typescript/components/StreamlineUltimate.d.ts +1 -1
  491. package/lib/typescript/components/StreamlineUltimateColor.d.ts +1 -1
  492. package/lib/typescript/components/Subway.d.ts +1 -1
  493. package/lib/typescript/components/SvgSpinners.d.ts +1 -1
  494. package/lib/typescript/components/SystemUicons.d.ts +1 -1
  495. package/lib/typescript/components/Tabler.d.ts +1 -1
  496. package/lib/typescript/components/Tdesign.d.ts +1 -1
  497. package/lib/typescript/components/Teenyicons.d.ts +1 -1
  498. package/lib/typescript/components/Temaki.d.ts +1 -1
  499. package/lib/typescript/components/Token.d.ts +1 -1
  500. package/lib/typescript/components/TokenBranded.d.ts +1 -1
  501. package/lib/typescript/components/Topcoat.d.ts +1 -1
  502. package/lib/typescript/components/Typcn.d.ts +1 -1
  503. package/lib/typescript/components/Uil.d.ts +1 -1
  504. package/lib/typescript/components/Uim.d.ts +1 -1
  505. package/lib/typescript/components/Uis.d.ts +1 -1
  506. package/lib/typescript/components/Uit.d.ts +1 -1
  507. package/lib/typescript/components/Uiw.d.ts +1 -1
  508. package/lib/typescript/components/Unjs.d.ts +1 -1
  509. package/lib/typescript/components/Vaadin.d.ts +1 -1
  510. package/lib/typescript/components/Vs.d.ts +1 -1
  511. package/lib/typescript/components/VscodeIcons.d.ts +1 -1
  512. package/lib/typescript/components/Websymbol.d.ts +1 -1
  513. package/lib/typescript/components/Weui.d.ts +1 -1
  514. package/lib/typescript/components/Whh.d.ts +1 -1
  515. package/lib/typescript/components/Wi.d.ts +1 -1
  516. package/lib/typescript/components/Wpf.d.ts +1 -1
  517. package/lib/typescript/components/Zmdi.d.ts +1 -1
  518. package/lib/typescript/components/Zondicons.d.ts +1 -1
  519. package/lib/typescript/components/index.d.ts +38 -1
  520. package/lib/typescript/components/index.d.ts.map +1 -1
  521. package/lib/typescript/config/ConfigManager.d.ts +102 -0
  522. package/lib/typescript/config/ConfigManager.d.ts.map +1 -0
  523. package/lib/typescript/config/index.d.ts +22 -0
  524. package/lib/typescript/config/index.d.ts.map +1 -0
  525. package/lib/typescript/config/types.d.ts +112 -0
  526. package/lib/typescript/config/types.d.ts.map +1 -0
  527. package/lib/typescript/createIconSet.d.ts +1 -1
  528. package/lib/typescript/createIconSet.d.ts.map +1 -1
  529. package/lib/typescript/explorer/IconExplorer.d.ts +54 -0
  530. package/lib/typescript/explorer/IconExplorer.d.ts.map +1 -0
  531. package/lib/typescript/explorer/iconSets.d.ts +35 -0
  532. package/lib/typescript/explorer/iconSets.d.ts.map +1 -0
  533. package/lib/typescript/explorer/index.d.ts +33 -0
  534. package/lib/typescript/explorer/index.d.ts.map +1 -0
  535. package/lib/typescript/explorer/types.d.ts +329 -0
  536. package/lib/typescript/explorer/types.d.ts.map +1 -0
  537. package/lib/typescript/explorer/useExplorer.d.ts +18 -0
  538. package/lib/typescript/explorer/useExplorer.d.ts.map +1 -0
  539. package/lib/typescript/index.d.ts +25 -4
  540. package/lib/typescript/index.d.ts.map +1 -1
  541. package/lib/typescript/navigation/createDrawerIcon.d.ts +74 -0
  542. package/lib/typescript/navigation/createDrawerIcon.d.ts.map +1 -0
  543. package/lib/typescript/navigation/createHeaderIcon.d.ts +145 -0
  544. package/lib/typescript/navigation/createHeaderIcon.d.ts.map +1 -0
  545. package/lib/typescript/navigation/createTabBarIcon.d.ts +99 -0
  546. package/lib/typescript/navigation/createTabBarIcon.d.ts.map +1 -0
  547. package/lib/typescript/navigation/index.d.ts +51 -0
  548. package/lib/typescript/navigation/index.d.ts.map +1 -0
  549. package/lib/typescript/navigation/types.d.ts +149 -0
  550. package/lib/typescript/navigation/types.d.ts.map +1 -0
  551. package/lib/typescript/navigation/useNavigationIcon.d.ts +91 -0
  552. package/lib/typescript/navigation/useNavigationIcon.d.ts.map +1 -0
  553. package/lib/typescript/network/IconifyAPI.d.ts +32 -0
  554. package/lib/typescript/network/IconifyAPI.d.ts.map +1 -1
  555. package/lib/typescript/network/index.d.ts +2 -1
  556. package/lib/typescript/network/index.d.ts.map +1 -1
  557. package/lib/typescript/performance/PerformanceMonitor.d.ts +76 -0
  558. package/lib/typescript/performance/PerformanceMonitor.d.ts.map +1 -0
  559. package/lib/typescript/performance/index.d.ts +21 -0
  560. package/lib/typescript/performance/index.d.ts.map +1 -0
  561. package/lib/typescript/performance/types.d.ts +156 -0
  562. package/lib/typescript/performance/types.d.ts.map +1 -0
  563. package/lib/typescript/placeholder/PlaceholderFactory.d.ts +44 -0
  564. package/lib/typescript/placeholder/PlaceholderFactory.d.ts.map +1 -0
  565. package/lib/typescript/placeholder/Pulse.d.ts +18 -0
  566. package/lib/typescript/placeholder/Pulse.d.ts.map +1 -0
  567. package/lib/typescript/placeholder/Shimmer.d.ts +19 -0
  568. package/lib/typescript/placeholder/Shimmer.d.ts.map +1 -0
  569. package/lib/typescript/placeholder/Skeleton.d.ts +18 -0
  570. package/lib/typescript/placeholder/Skeleton.d.ts.map +1 -0
  571. package/lib/typescript/placeholder/index.d.ts +12 -0
  572. package/lib/typescript/placeholder/index.d.ts.map +1 -0
  573. package/lib/typescript/placeholder/types.d.ts +63 -0
  574. package/lib/typescript/placeholder/types.d.ts.map +1 -0
  575. package/lib/typescript/theme/IconThemeProvider.d.ts +64 -0
  576. package/lib/typescript/theme/IconThemeProvider.d.ts.map +1 -0
  577. package/lib/typescript/theme/context.d.ts +24 -0
  578. package/lib/typescript/theme/context.d.ts.map +1 -0
  579. package/lib/typescript/theme/index.d.ts +10 -0
  580. package/lib/typescript/theme/index.d.ts.map +1 -0
  581. package/lib/typescript/theme/types.d.ts +85 -0
  582. package/lib/typescript/theme/types.d.ts.map +1 -0
  583. package/lib/typescript/theme/useIconTheme.d.ts +78 -0
  584. package/lib/typescript/theme/useIconTheme.d.ts.map +1 -0
  585. package/lib/typescript/types/index.d.ts +58 -1
  586. package/lib/typescript/types/index.d.ts.map +1 -1
  587. package/package.json +41 -3
  588. package/src/IconRenderer.tsx +91 -4
  589. package/src/accessibility/AccessibilityProvider.tsx +220 -0
  590. package/src/accessibility/index.ts +63 -0
  591. package/src/accessibility/types.ts +152 -0
  592. package/src/accessibility/useAccessibleIcon.ts +220 -0
  593. package/src/accessibility/utils.ts +180 -0
  594. package/src/alias/Icon.tsx +113 -0
  595. package/src/alias/IconAliasContext.tsx +180 -0
  596. package/src/alias/createIconAliases.tsx +233 -0
  597. package/src/alias/index.ts +59 -0
  598. package/src/alias/types.ts +132 -0
  599. package/src/animated/AnimatedIcon.tsx +116 -0
  600. package/src/animated/index.ts +97 -0
  601. package/src/animated/presets.ts +211 -0
  602. package/src/animated/types.ts +239 -0
  603. package/src/animated/useIconAnimation.ts +383 -0
  604. package/src/babel/ast-utils.ts +219 -0
  605. package/src/babel/cache-writer.ts +323 -0
  606. package/src/babel/collector.ts +224 -0
  607. package/src/babel/index.ts +60 -0
  608. package/src/babel/plugin.ts +254 -0
  609. package/src/babel/types.ts +717 -0
  610. package/src/bundle/index.ts +313 -0
  611. package/src/cache/CacheManager.ts +123 -6
  612. package/src/cli/commands/analyze.ts +195 -0
  613. package/src/cli/commands/bundle.ts +231 -0
  614. package/src/cli/index.ts +153 -0
  615. package/src/cli/parser.ts +275 -0
  616. package/src/cli/types.ts +187 -0
  617. package/src/components/index.ts +52 -1
  618. package/src/config/ConfigManager.ts +196 -0
  619. package/src/config/index.ts +34 -0
  620. package/src/config/types.ts +149 -0
  621. package/src/createIconSet.tsx +48 -9
  622. package/src/explorer/IconExplorer.tsx +844 -0
  623. package/src/explorer/iconSets.ts +334 -0
  624. package/src/explorer/index.ts +64 -0
  625. package/src/explorer/types.ts +392 -0
  626. package/src/explorer/useExplorer.ts +390 -0
  627. package/src/index.ts +218 -9
  628. package/src/navigation/createDrawerIcon.tsx +113 -0
  629. package/src/navigation/createHeaderIcon.tsx +213 -0
  630. package/src/navigation/createTabBarIcon.tsx +180 -0
  631. package/src/navigation/index.ts +80 -0
  632. package/src/navigation/types.ts +155 -0
  633. package/src/navigation/useNavigationIcon.tsx +156 -0
  634. package/src/network/IconifyAPI.ts +182 -14
  635. package/src/network/index.ts +11 -1
  636. package/src/performance/PerformanceMonitor.ts +367 -0
  637. package/src/performance/index.ts +39 -0
  638. package/src/performance/types.ts +185 -0
  639. package/src/placeholder/PlaceholderFactory.tsx +133 -0
  640. package/src/placeholder/Pulse.tsx +86 -0
  641. package/src/placeholder/Shimmer.tsx +104 -0
  642. package/src/placeholder/Skeleton.tsx +52 -0
  643. package/src/placeholder/index.ts +21 -0
  644. package/src/placeholder/types.ts +78 -0
  645. package/src/theme/IconThemeProvider.tsx +94 -0
  646. package/src/theme/context.ts +51 -0
  647. package/src/theme/index.ts +19 -0
  648. package/src/theme/types.ts +108 -0
  649. package/src/theme/useIconTheme.ts +119 -0
  650. package/src/types/index.ts +78 -1
  651. package/lib/commonjs/components/Phosphor.js +0 -493
  652. package/lib/commonjs/components/Phosphor.js.map +0 -1
  653. package/lib/module/components/Phosphor.js +0 -488
  654. package/lib/module/components/Phosphor.js.map +0 -1
  655. package/lib/typescript/components/Phosphor.d.ts +0 -472
  656. package/lib/typescript/components/Phosphor.d.ts.map +0 -1
  657. package/src/components/Phosphor.tsx +0 -506
@@ -0,0 +1,353 @@
1
+ /**
2
+ * Hook for managing Icon Explorer state
3
+ */
4
+
5
+ import { useState, useCallback, useMemo, useEffect, useRef } from 'react';
6
+ import { Clipboard, Alert, Platform } from 'react-native';
7
+ import { getAllIconSets, generateImportStatement, generateIconJSX } from './iconSets';
8
+ import { fetchCollection, searchIconsAPI } from '../network/IconifyAPI';
9
+
10
+ /**
11
+ * Default preview configuration
12
+ */
13
+ export const DEFAULT_PREVIEW_CONFIG = {
14
+ sizes: [16, 24, 32, 48, 64],
15
+ colors: ['#000000', '#6366F1', '#EF4444', '#10B981', '#F59E0B', '#8B5CF6'],
16
+ showName: true,
17
+ showCode: true,
18
+ backgroundColor: '#FFFFFF'
19
+ };
20
+
21
+ /**
22
+ * Default explorer configuration
23
+ */
24
+ export const DEFAULT_EXPLORER_CONFIG = {
25
+ iconSets: [],
26
+ initialQuery: '',
27
+ maxResults: 100,
28
+ preview: DEFAULT_PREVIEW_CONFIG,
29
+ keyboardShortcuts: true
30
+ };
31
+
32
+ /**
33
+ * Initial explorer state
34
+ */
35
+ const initialState = {
36
+ query: '',
37
+ results: [],
38
+ selectedIcon: null,
39
+ activeIconSet: null,
40
+ isLoading: false,
41
+ error: null,
42
+ previewSize: 24,
43
+ previewColor: '#000000'
44
+ };
45
+
46
+ /**
47
+ * Cache for fetched collection icons
48
+ */
49
+ const collectionCache = new Map();
50
+
51
+ /**
52
+ * Search icons locally from cached collections
53
+ */
54
+ function searchIconsLocally(query, cachedIcons, iconSetPrefix, maxResults) {
55
+ const results = [];
56
+ const lowerQuery = query.toLowerCase();
57
+
58
+ // Get prefixes to search
59
+ const prefixesToSearch = iconSetPrefix ? [iconSetPrefix] : Array.from(cachedIcons.keys());
60
+ for (const prefix of prefixesToSearch) {
61
+ const icons = cachedIcons.get(prefix) || [];
62
+ for (const iconName of icons) {
63
+ const fullName = `${prefix}:${iconName}`;
64
+
65
+ // If query is empty, show all icons
66
+ // If query exists, filter by query
67
+ const matchesQuery = !query || iconName.toLowerCase().includes(lowerQuery);
68
+ if (matchesQuery) {
69
+ // Calculate relevance score
70
+ let score = 0.5;
71
+ if (query) {
72
+ if (iconName.toLowerCase() === lowerQuery) {
73
+ score = 1;
74
+ } else if (iconName.toLowerCase().startsWith(lowerQuery)) {
75
+ score = 0.8;
76
+ }
77
+ }
78
+ results.push({
79
+ fullName,
80
+ prefix,
81
+ name: iconName,
82
+ score
83
+ });
84
+ }
85
+ if (results.length >= maxResults) break;
86
+ }
87
+ if (results.length >= maxResults) break;
88
+ }
89
+
90
+ // Sort by score (for searches) or keep order (for initial load)
91
+ if (query) {
92
+ results.sort((a, b) => b.score - a.score);
93
+ }
94
+ return results.slice(0, maxResults);
95
+ }
96
+
97
+ /**
98
+ * Hook for Icon Explorer functionality
99
+ */
100
+ export function useExplorer(config) {
101
+ // Resolve configuration
102
+ const resolvedConfig = useMemo(() => ({
103
+ ...DEFAULT_EXPLORER_CONFIG,
104
+ ...config,
105
+ preview: {
106
+ ...DEFAULT_PREVIEW_CONFIG,
107
+ ...config?.preview
108
+ }
109
+ }), [config]);
110
+
111
+ // State
112
+ const [state, setState] = useState(() => ({
113
+ ...initialState,
114
+ query: resolvedConfig.initialQuery,
115
+ previewSize: resolvedConfig.preview.sizes[1] || 24,
116
+ previewColor: resolvedConfig.preview.colors[0] || '#000000'
117
+ }));
118
+
119
+ // Cached icons from API
120
+ const [cachedIcons, setCachedIcons] = useState(new Map());
121
+ const [collectionsLoaded, setCollectionsLoaded] = useState(false);
122
+ const [totalIcons, setTotalIcons] = useState(0);
123
+ const abortControllerRef = useRef(null);
124
+
125
+ // Get available icon sets
126
+ const iconSets = useMemo(() => {
127
+ const allSets = getAllIconSets();
128
+ if (resolvedConfig.iconSets.length === 0) {
129
+ return allSets;
130
+ }
131
+ return allSets.filter(set => resolvedConfig.iconSets.includes(set.prefix));
132
+ }, [resolvedConfig.iconSets]);
133
+
134
+ // Fetch all collections on mount
135
+ useEffect(() => {
136
+ let cancelled = false;
137
+ const controller = new AbortController();
138
+ abortControllerRef.current = controller;
139
+ const fetchAllCollections = async () => {
140
+ setState(prev => ({
141
+ ...prev,
142
+ isLoading: true,
143
+ error: null
144
+ }));
145
+ const newCache = new Map();
146
+ let total = 0;
147
+ const prefixesToFetch = iconSets.map(set => set.prefix);
148
+
149
+ // Fetch collections in parallel
150
+ const results = await Promise.allSettled(prefixesToFetch.map(async prefix => {
151
+ // Check global cache first
152
+ if (collectionCache.has(prefix)) {
153
+ return {
154
+ prefix,
155
+ icons: collectionCache.get(prefix)
156
+ };
157
+ }
158
+ try {
159
+ const collection = await fetchCollection(prefix, controller.signal);
160
+ // Store in global cache
161
+ collectionCache.set(prefix, collection.icons);
162
+ return {
163
+ prefix,
164
+ icons: collection.icons
165
+ };
166
+ } catch (error) {
167
+ console.warn(`Failed to fetch collection ${prefix}:`, error);
168
+ return {
169
+ prefix,
170
+ icons: []
171
+ };
172
+ }
173
+ }));
174
+ if (cancelled) return;
175
+
176
+ // Process results
177
+ for (const result of results) {
178
+ if (result.status === 'fulfilled') {
179
+ const {
180
+ prefix,
181
+ icons
182
+ } = result.value;
183
+ newCache.set(prefix, icons);
184
+ total += icons.length;
185
+ }
186
+ }
187
+ setCachedIcons(newCache);
188
+ setTotalIcons(total);
189
+ setCollectionsLoaded(true);
190
+ setState(prev => ({
191
+ ...prev,
192
+ isLoading: false
193
+ }));
194
+ };
195
+ fetchAllCollections();
196
+ return () => {
197
+ cancelled = true;
198
+ controller.abort();
199
+ };
200
+ }, [iconSets]);
201
+
202
+ // Search when query or filter changes
203
+ useEffect(() => {
204
+ if (!collectionsLoaded) return;
205
+ let cancelled = false;
206
+ const performSearch = async () => {
207
+ setState(prev => ({
208
+ ...prev,
209
+ isLoading: true,
210
+ error: null
211
+ }));
212
+ try {
213
+ let results;
214
+
215
+ // Use API search for queries, local search for browsing
216
+ if (state.query && state.query.length >= 2) {
217
+ // Use Iconify search API for better results
218
+ const prefixes = state.activeIconSet ? [state.activeIconSet] : iconSets.map(s => s.prefix);
219
+ try {
220
+ const apiResults = await searchIconsAPI(state.query, prefixes, resolvedConfig.maxResults);
221
+ results = apiResults.map(fullName => {
222
+ const [prefix, name] = fullName.split(':');
223
+ return {
224
+ fullName,
225
+ prefix,
226
+ name,
227
+ score: 1
228
+ };
229
+ });
230
+ } catch {
231
+ // Fallback to local search if API fails
232
+ results = searchIconsLocally(state.query, cachedIcons, state.activeIconSet, resolvedConfig.maxResults);
233
+ }
234
+ } else {
235
+ // Local search for browsing (no query or short query)
236
+ results = searchIconsLocally(state.query, cachedIcons, state.activeIconSet, resolvedConfig.maxResults);
237
+ }
238
+ if (!cancelled) {
239
+ setState(prev => ({
240
+ ...prev,
241
+ results,
242
+ isLoading: false
243
+ }));
244
+ }
245
+ } catch (error) {
246
+ if (!cancelled) {
247
+ setState(prev => ({
248
+ ...prev,
249
+ isLoading: false,
250
+ error: error instanceof Error ? error.message : 'Search failed'
251
+ }));
252
+ }
253
+ }
254
+ };
255
+
256
+ // Debounce search only if there's a query, otherwise load immediately
257
+ const delay = state.query ? 300 : 0;
258
+ const timeoutId = setTimeout(performSearch, delay);
259
+ return () => {
260
+ cancelled = true;
261
+ clearTimeout(timeoutId);
262
+ };
263
+ }, [state.query, state.activeIconSet, resolvedConfig.maxResults, collectionsLoaded, cachedIcons, iconSets]);
264
+
265
+ // Destructure callbacks for stable dependencies
266
+ const {
267
+ onIconSelect,
268
+ onCopyCode,
269
+ preview
270
+ } = resolvedConfig;
271
+
272
+ // Actions
273
+ const setQuery = useCallback(query => {
274
+ setState(prev => ({
275
+ ...prev,
276
+ query
277
+ }));
278
+ }, []);
279
+ const selectIcon = useCallback(iconName => {
280
+ setState(prev => ({
281
+ ...prev,
282
+ selectedIcon: iconName
283
+ }));
284
+ if (iconName && onIconSelect) {
285
+ onIconSelect(iconName);
286
+ }
287
+ }, [onIconSelect]);
288
+ const filterByIconSet = useCallback(prefix => {
289
+ setState(prev => ({
290
+ ...prev,
291
+ activeIconSet: prefix
292
+ }));
293
+ }, []);
294
+ const setPreviewSize = useCallback(size => {
295
+ setState(prev => ({
296
+ ...prev,
297
+ previewSize: size
298
+ }));
299
+ }, []);
300
+ const setPreviewColor = useCallback(color => {
301
+ setState(prev => ({
302
+ ...prev,
303
+ previewColor: color
304
+ }));
305
+ }, []);
306
+ const copyIconCode = useCallback((iconName, format = 'jsx') => {
307
+ const code = format === 'import' ? `${generateImportStatement(iconName)}\n\n${generateIconJSX(iconName, state.previewSize, state.previewColor)}` : generateIconJSX(iconName, state.previewSize, state.previewColor);
308
+
309
+ // Copy to clipboard
310
+ if (Platform.OS === 'web' && typeof navigator !== 'undefined' && 'clipboard' in navigator) {
311
+ navigator.clipboard.writeText(code).then(() => {
312
+ if (onCopyCode) {
313
+ onCopyCode(code);
314
+ }
315
+ });
316
+ } else {
317
+ Clipboard.setString(code);
318
+ if (onCopyCode) {
319
+ onCopyCode(code);
320
+ } else {
321
+ Alert.alert('Copied!', 'Icon code copied to clipboard');
322
+ }
323
+ }
324
+ }, [state.previewSize, state.previewColor, onCopyCode]);
325
+ const reset = useCallback(() => {
326
+ setState({
327
+ ...initialState,
328
+ previewSize: preview.sizes[1] || 24,
329
+ previewColor: preview.colors[0] || '#000000'
330
+ });
331
+ }, [preview]);
332
+
333
+ // Build context value
334
+ const actions = {
335
+ setQuery,
336
+ selectIcon,
337
+ filterByIconSet,
338
+ setPreviewSize,
339
+ setPreviewColor,
340
+ copyIconCode,
341
+ reset
342
+ };
343
+ return {
344
+ ...state,
345
+ ...actions,
346
+ config: resolvedConfig,
347
+ iconSets,
348
+ totalIcons,
349
+ collectionsLoaded
350
+ };
351
+ }
352
+ export default useExplorer;
353
+ //# sourceMappingURL=useExplorer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useCallback","useMemo","useEffect","useRef","Clipboard","Alert","Platform","getAllIconSets","generateImportStatement","generateIconJSX","fetchCollection","searchIconsAPI","DEFAULT_PREVIEW_CONFIG","sizes","colors","showName","showCode","backgroundColor","DEFAULT_EXPLORER_CONFIG","iconSets","initialQuery","maxResults","preview","keyboardShortcuts","initialState","query","results","selectedIcon","activeIconSet","isLoading","error","previewSize","previewColor","collectionCache","Map","searchIconsLocally","cachedIcons","iconSetPrefix","lowerQuery","toLowerCase","prefixesToSearch","Array","from","keys","prefix","icons","get","iconName","fullName","matchesQuery","includes","score","startsWith","push","name","length","sort","a","b","slice","useExplorer","config","resolvedConfig","state","setState","setCachedIcons","collectionsLoaded","setCollectionsLoaded","totalIcons","setTotalIcons","abortControllerRef","allSets","filter","set","cancelled","controller","AbortController","current","fetchAllCollections","prev","newCache","total","prefixesToFetch","map","Promise","allSettled","has","collection","signal","console","warn","result","status","value","abort","performSearch","prefixes","s","apiResults","split","Error","message","delay","timeoutId","setTimeout","clearTimeout","onIconSelect","onCopyCode","setQuery","selectIcon","filterByIconSet","setPreviewSize","size","setPreviewColor","color","copyIconCode","format","code","OS","navigator","clipboard","writeText","then","setString","alert","reset","actions"],"sourceRoot":"../../../src","sources":["explorer/useExplorer.ts"],"mappings":"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","ignoreList":[]}
@@ -13,21 +13,42 @@
13
13
  * ```
14
14
  */
15
15
 
16
- // Icon Set Components (212 sets, 268,000+ icons)
16
+ // Icon Set Components (200+ sets, 268,000+ icons)
17
17
  export * from './components';
18
18
 
19
19
  // Core Types
20
20
 
21
+ // Placeholder Components
22
+ export { Skeleton, Pulse, Shimmer, PlaceholderFactory, DEFAULT_PLACEHOLDER_CONFIG } from './placeholder';
23
+ // Theme System
24
+ export { IconThemeProvider, IconThemeContext, useIconTheme, useIconThemeValue, useMergedIconProps, DEFAULT_ICON_THEME, mergeWithDefaults } from './theme';
25
+ // Icon Alias System
26
+ export { Icon, IconAliasProvider, IconAliasContext, useIconAliasContext, useResolveIcon, createIconAliases, defineAliases } from './alias';
21
27
  // Factory Function (for creating custom icon sets)
22
28
  export { createIconSet } from './createIconSet';
29
+ // Animation System
30
+ export { AnimatedIcon, useIconAnimation, ANIMATION_PRESETS, resolveAnimation, isAnimationPreset, getEasingFunction, getDefaultDuration, getDefaultLoop, DEFAULT_ANIMATION_DURATIONS, DEFAULT_ANIMATION_LOOPS } from './animated';
31
+ // React Navigation Integration
32
+ export { createTabBarIcon, createTabBarIcons, tabIcon, createDrawerIcon, createDrawerIcons, createHeaderIcon, createBackIcon, createCloseIcon, createMenuIcon, useNavigationIcon, DEFAULT_NAVIGATION_PRESETS } from './navigation';
23
33
  // Cache Management - import for internal use and re-export
24
34
  import { CacheManager } from './cache/CacheManager';
25
35
  export { CacheManager };
26
36
 
27
- // Network Utilities
28
- export { fetchIcon, fetchIconsBatch, parseIconName, checkAPIHealth } from './network/IconifyAPI';
37
+ // Configuration
38
+ export { configure, resetConfiguration, getConfiguration, ConfigManager, DEFAULT_CONFIG } from './config';
39
+ // Network Utilities - import fetchIcon for internal use
40
+ import { fetchIcon } from './network/IconifyAPI';
41
+ export { fetchIcon, fetchIconsBatch, parseIconName, checkAPIHealth, getAPIBaseUrl, fetchCollection, searchIconsAPI } from './network/IconifyAPI';
29
42
  // Native Module Utilities
30
43
  export { getNativeIconify, isNativeModuleAvailable } from './native';
44
+ // Offline Bundle
45
+ export { loadOfflineBundle, loadOfflineBundleAsync, isBundleCompatible, getBundleStats } from './bundle';
46
+ // Performance Monitoring
47
+ export { PerformanceMonitor, enablePerformanceMonitoring, disablePerformanceMonitoring, getPerformanceReport, printPerformanceReport } from './performance';
48
+ // Accessibility
49
+ export { AccessibilityProvider, AccessibilityContext, useAccessibilityContext, useAccessibility, useAccessibleIcon, withAccessibility, defaultLabelGenerator, adjustForHighContrast, meetsContrastRequirement, getHighContrastAlternative, calculateTouchTargetPadding, DEFAULT_ACCESSIBILITY_CONFIG } from './accessibility';
50
+ // Icon Explorer (Dev Mode)
51
+ export { IconExplorer, ExplorerContext, useExplorerContext, useExplorer, getAllIconSets, getIconSetByPrefix, getIconSetsByCategory, searchIconSets, generateImportStatement, generateIconJSX, POPULAR_ICON_SETS, DEFAULT_PREVIEW_CONFIG, DEFAULT_EXPLORER_CONFIG } from './explorer';
31
52
  /**
32
53
  * Prefetch multiple icons into cache
33
54
  * Useful for preloading icons before they're needed
@@ -41,13 +62,7 @@ export { getNativeIconify, isNativeModuleAvailable } from './native';
41
62
  * ```
42
63
  */
43
64
  export async function prefetchIcons(iconNames) {
44
- const {
45
- CacheManager: cache
46
- } = await import('./cache/CacheManager');
47
- const {
48
- fetchIcon: fetch
49
- } = await import('./network/IconifyAPI');
50
- return cache.prefetch(iconNames, fetch);
65
+ return CacheManager.prefetch(iconNames, fetchIcon);
51
66
  }
52
67
 
53
68
  /**
@@ -73,7 +88,7 @@ export async function clearCache() {
73
88
  * import { getCacheStats } from 'rn-iconify';
74
89
  *
75
90
  * const stats = getCacheStats();
76
- * console.log(`Cached: ${stats.memoryCount} in memory, ${stats.diskCount} on disk`);
91
+ * console.log(`Cached: ${stats.memoryCount} in memory, ${stats.bundledCount} bundled, ${stats.diskCount} on disk`);
77
92
  * ```
78
93
  */
79
94
  export function getCacheStats() {
@@ -1 +1 @@
1
- {"version":3,"names":["createIconSet","CacheManager","fetchIcon","fetchIconsBatch","parseIconName","checkAPIHealth","getNativeIconify","isNativeModuleAvailable","prefetchIcons","iconNames","cache","fetch","prefetch","clearCache","clear","clearNative","getCacheStats","getStats"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,cAAc;;AAE5B;;AAUA;AACA,SAASA,aAAa,QAAQ,iBAAiB;AAG/C;AACA,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASA,YAAY;;AAErB;AACA,SAASC,SAAS,EAAEC,eAAe,EAAEC,aAAa,EAAEC,cAAc,QAAQ,sBAAsB;AAGhG;AACA,SAASC,gBAAgB,EAAEC,uBAAuB,QAAQ,UAAU;AAGpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,aAAaA,CACjCC,SAAmB,EAC+B;EAClD,MAAM;IAAER,YAAY,EAAES;EAAM,CAAC,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC;EACpE,MAAM;IAAER,SAAS,EAAES;EAAM,CAAC,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC;EAEjE,OAAOD,KAAK,CAACE,QAAQ,CAACH,SAAS,EAAEE,KAAK,CAAC;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeE,UAAUA,CAAA,EAAkB;EAChDZ,YAAY,CAACa,KAAK,CAAC,CAAC;EACpB,MAAMb,YAAY,CAACc,WAAW,CAAC,CAAC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAA,EAI3B;EACA,OAAOf,YAAY,CAACgB,QAAQ,CAAC,CAAC;AAChC","ignoreList":[]}
1
+ {"version":3,"names":["Skeleton","Pulse","Shimmer","PlaceholderFactory","DEFAULT_PLACEHOLDER_CONFIG","IconThemeProvider","IconThemeContext","useIconTheme","useIconThemeValue","useMergedIconProps","DEFAULT_ICON_THEME","mergeWithDefaults","Icon","IconAliasProvider","IconAliasContext","useIconAliasContext","useResolveIcon","createIconAliases","defineAliases","createIconSet","AnimatedIcon","useIconAnimation","ANIMATION_PRESETS","resolveAnimation","isAnimationPreset","getEasingFunction","getDefaultDuration","getDefaultLoop","DEFAULT_ANIMATION_DURATIONS","DEFAULT_ANIMATION_LOOPS","createTabBarIcon","createTabBarIcons","tabIcon","createDrawerIcon","createDrawerIcons","createHeaderIcon","createBackIcon","createCloseIcon","createMenuIcon","useNavigationIcon","DEFAULT_NAVIGATION_PRESETS","CacheManager","configure","resetConfiguration","getConfiguration","ConfigManager","DEFAULT_CONFIG","fetchIcon","fetchIconsBatch","parseIconName","checkAPIHealth","getAPIBaseUrl","fetchCollection","searchIconsAPI","getNativeIconify","isNativeModuleAvailable","loadOfflineBundle","loadOfflineBundleAsync","isBundleCompatible","getBundleStats","PerformanceMonitor","enablePerformanceMonitoring","disablePerformanceMonitoring","getPerformanceReport","printPerformanceReport","AccessibilityProvider","AccessibilityContext","useAccessibilityContext","useAccessibility","useAccessibleIcon","withAccessibility","defaultLabelGenerator","adjustForHighContrast","meetsContrastRequirement","getHighContrastAlternative","calculateTouchTargetPadding","DEFAULT_ACCESSIBILITY_CONFIG","IconExplorer","ExplorerContext","useExplorerContext","useExplorer","getAllIconSets","getIconSetByPrefix","getIconSetsByCategory","searchIconSets","generateImportStatement","generateIconJSX","POPULAR_ICON_SETS","DEFAULT_PREVIEW_CONFIG","DEFAULT_EXPLORER_CONFIG","prefetchIcons","iconNames","prefetch","clearCache","clear","clearNative","getCacheStats","getStats"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * createDrawerIcon - Helper for React Navigation drawer icons
3
+ * Creates a drawerIcon function for drawer navigation items
4
+ */
5
+
6
+ import React from 'react';
7
+ import { Icon } from '../alias';
8
+
9
+ // IconSpec is just a type alias for string (icon name)
10
+
11
+ /**
12
+ * Normalize config to full DrawerIconConfig
13
+ */
14
+ function normalizeConfig(config) {
15
+ if (typeof config === 'string') {
16
+ return {
17
+ icon: config
18
+ };
19
+ }
20
+ return config;
21
+ }
22
+
23
+ /**
24
+ * Create a drawer icon function for React Navigation
25
+ *
26
+ * @example Simple usage
27
+ * ```tsx
28
+ * import { createDrawerIcon } from 'rn-iconify/navigation';
29
+ *
30
+ * <Drawer.Screen
31
+ * name="Home"
32
+ * component={HomeScreen}
33
+ * options={{
34
+ * drawerIcon: createDrawerIcon('mdi:home'),
35
+ * }}
36
+ * />
37
+ * ```
38
+ *
39
+ * @example Different icons for focused/unfocused
40
+ * ```tsx
41
+ * <Drawer.Screen
42
+ * options={{
43
+ * drawerIcon: createDrawerIcon({
44
+ * icon: 'mdi:home-outline',
45
+ * focusedIcon: 'mdi:home',
46
+ * }),
47
+ * }}
48
+ * />
49
+ * ```
50
+ *
51
+ * @example With custom size
52
+ * ```tsx
53
+ * <Drawer.Screen
54
+ * options={{
55
+ * drawerIcon: createDrawerIcon({
56
+ * icon: 'mdi:settings',
57
+ * size: 28,
58
+ * }),
59
+ * }}
60
+ * />
61
+ * ```
62
+ */
63
+ export function createDrawerIcon(config) {
64
+ const normalizedConfig = normalizeConfig(config);
65
+ return function DrawerIcon({
66
+ focused,
67
+ color,
68
+ size
69
+ }) {
70
+ const {
71
+ icon,
72
+ focusedIcon,
73
+ size: customSize,
74
+ style
75
+ } = normalizedConfig;
76
+
77
+ // Determine which icon to show
78
+ const iconName = focused && focusedIcon ? focusedIcon : icon;
79
+
80
+ // Determine size
81
+ const iconSize = customSize ?? size;
82
+ return /*#__PURE__*/React.createElement(Icon, {
83
+ name: iconName,
84
+ size: iconSize,
85
+ color: color,
86
+ style: style
87
+ });
88
+ };
89
+ }
90
+
91
+ /**
92
+ * Create multiple drawer icons at once
93
+ *
94
+ * @example
95
+ * ```tsx
96
+ * import { createDrawerIcons } from 'rn-iconify/navigation';
97
+ *
98
+ * const drawerIcons = createDrawerIcons({
99
+ * Home: 'mdi:home',
100
+ * Profile: 'mdi:account',
101
+ * Settings: {
102
+ * icon: 'mdi:cog-outline',
103
+ * focusedIcon: 'mdi:cog',
104
+ * },
105
+ * });
106
+ *
107
+ * <Drawer.Screen
108
+ * name="Home"
109
+ * options={{ drawerIcon: drawerIcons.Home }}
110
+ * />
111
+ * ```
112
+ */
113
+ export function createDrawerIcons(configs) {
114
+ const result = {};
115
+ for (const [key, config] of Object.entries(configs)) {
116
+ result[key] = createDrawerIcon(config);
117
+ }
118
+ return result;
119
+ }
120
+ export default createDrawerIcon;
121
+ //# sourceMappingURL=createDrawerIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Icon","normalizeConfig","config","icon","createDrawerIcon","normalizedConfig","DrawerIcon","focused","color","size","focusedIcon","customSize","style","iconName","iconSize","createElement","name","createDrawerIcons","configs","result","key","Object","entries"],"sourceRoot":"../../../src","sources":["navigation/createDrawerIcon.tsx"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,UAAU;;AAG/B;;AAGA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,MAAmC,EAAoB;EAC9E,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAO;MAAEC,IAAI,EAAED;IAAO,CAAC;EACzB;EACA,OAAOA,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,gBAAgBA,CAACF,MAAmC,EAAsB;EACxF,MAAMG,gBAAgB,GAAGJ,eAAe,CAACC,MAAM,CAAC;EAEhD,OAAO,SAASI,UAAUA,CAAC;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAsB,CAAC,EAAE;IACpE,MAAM;MAAEN,IAAI;MAAEO,WAAW;MAAED,IAAI,EAAEE,UAAU;MAAEC;IAAM,CAAC,GAAGP,gBAAgB;;IAEvE;IACA,MAAMQ,QAAQ,GAAGN,OAAO,IAAIG,WAAW,GAAGA,WAAW,GAAGP,IAAI;;IAE5D;IACA,MAAMW,QAAQ,GAAGH,UAAU,IAAIF,IAAI;IAEnC,oBAAOV,KAAA,CAAAgB,aAAA,CAACf,IAAI;MAACgB,IAAI,EAAEH,QAAS;MAACJ,IAAI,EAAEK,QAAS;MAACN,KAAK,EAAEA,KAAM;MAACI,KAAK,EAAEA;IAAM,CAAE,CAAC;EAC7E,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,iBAAiBA,CAC/BC,OAAU,EAC8B;EACxC,MAAMC,MAAM,GAAG,CAAC,CAA2C;EAE3D,KAAK,MAAM,CAACC,GAAG,EAAElB,MAAM,CAAC,IAAImB,MAAM,CAACC,OAAO,CAACJ,OAAO,CAAC,EAAE;IACnDC,MAAM,CAACC,GAAG,CAAY,GAAGhB,gBAAgB,CAACF,MAAM,CAAC;EACnD;EAEA,OAAOiB,MAAM;AACf;AAEA,eAAef,gBAAgB","ignoreList":[]}