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,327 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.PerformanceMonitor = void 0;
7
+ exports.disablePerformanceMonitoring = disablePerformanceMonitoring;
8
+ exports.enablePerformanceMonitoring = enablePerformanceMonitoring;
9
+ exports.getPerformanceReport = getPerformanceReport;
10
+ exports.printPerformanceReport = printPerformanceReport;
11
+ var _config = require("../config");
12
+ /**
13
+ * PerformanceMonitor - Tracks icon loading performance
14
+ * Provides metrics, statistics, and insights for optimization
15
+ */
16
+
17
+ /**
18
+ * Performance monitoring state
19
+ */
20
+ let isEnabled = false;
21
+ let startTime = Date.now();
22
+ const events = [];
23
+ const listeners = [];
24
+ const iconLoadCounts = new Map();
25
+ const iconLoadTimes = new Map();
26
+
27
+ /**
28
+ * Counter statistics
29
+ */
30
+ let stats = {
31
+ memoryHits: 0,
32
+ bundledHits: 0,
33
+ diskHits: 0,
34
+ networkFetches: 0,
35
+ errors: 0
36
+ };
37
+
38
+ /**
39
+ * Get max history size from config
40
+ */
41
+ function getMaxHistorySize() {
42
+ return _config.ConfigManager.getPerformanceConfig().maxHistorySize;
43
+ }
44
+
45
+ /**
46
+ * Calculate percentile from sorted array
47
+ */
48
+ function percentile(sortedArr, p) {
49
+ if (sortedArr.length === 0) return 0;
50
+ const index = Math.ceil(p / 100 * sortedArr.length) - 1;
51
+ return sortedArr[Math.max(0, index)];
52
+ }
53
+
54
+ /**
55
+ * Performance Monitor API
56
+ */
57
+ const PerformanceMonitor = exports.PerformanceMonitor = {
58
+ /**
59
+ * Enable performance monitoring
60
+ */
61
+ enable() {
62
+ isEnabled = true;
63
+ startTime = Date.now();
64
+ _config.ConfigManager.setConfig({
65
+ performance: {
66
+ enabled: true
67
+ }
68
+ });
69
+ },
70
+ /**
71
+ * Disable performance monitoring
72
+ */
73
+ disable() {
74
+ isEnabled = false;
75
+ _config.ConfigManager.setConfig({
76
+ performance: {
77
+ enabled: false
78
+ }
79
+ });
80
+ },
81
+ /**
82
+ * Check if monitoring is enabled
83
+ */
84
+ isEnabled() {
85
+ return isEnabled || _config.ConfigManager.getPerformanceConfig().enabled;
86
+ },
87
+ /**
88
+ * Record an icon load event
89
+ */
90
+ recordEvent(iconName, type, duration, error) {
91
+ if (!PerformanceMonitor.isEnabled()) return;
92
+ const event = {
93
+ iconName,
94
+ type,
95
+ duration,
96
+ timestamp: Date.now(),
97
+ error
98
+ };
99
+
100
+ // Update statistics
101
+ switch (type) {
102
+ case 'memory_hit':
103
+ stats.memoryHits++;
104
+ break;
105
+ case 'bundled_hit':
106
+ stats.bundledHits++;
107
+ break;
108
+ case 'disk_hit':
109
+ stats.diskHits++;
110
+ break;
111
+ case 'network_fetch':
112
+ stats.networkFetches++;
113
+ break;
114
+ case 'error':
115
+ stats.errors++;
116
+ break;
117
+ }
118
+
119
+ // Track per-icon stats
120
+ const count = (iconLoadCounts.get(iconName) ?? 0) + 1;
121
+ iconLoadCounts.set(iconName, count);
122
+ const times = iconLoadTimes.get(iconName) ?? [];
123
+ times.push(duration);
124
+ iconLoadTimes.set(iconName, times);
125
+
126
+ // Add to events history
127
+ events.push(event);
128
+
129
+ // Trim history if needed
130
+ const maxSize = getMaxHistorySize();
131
+ while (events.length > maxSize) {
132
+ events.shift();
133
+ }
134
+
135
+ // Notify listeners
136
+ listeners.forEach(listener => {
137
+ try {
138
+ listener(event);
139
+ } catch (e) {
140
+ // Ignore listener errors
141
+ }
142
+ });
143
+ },
144
+ /**
145
+ * Subscribe to performance events
146
+ * Returns unsubscribe function
147
+ */
148
+ subscribe(listener) {
149
+ listeners.push(listener);
150
+ return () => {
151
+ const index = listeners.indexOf(listener);
152
+ if (index > -1) {
153
+ listeners.splice(index, 1);
154
+ }
155
+ };
156
+ },
157
+ /**
158
+ * Get cache statistics
159
+ */
160
+ getCacheStats() {
161
+ const totalRequests = stats.memoryHits + stats.bundledHits + stats.diskHits + stats.networkFetches + stats.errors;
162
+ const hits = stats.memoryHits + stats.bundledHits + stats.diskHits;
163
+ return {
164
+ memoryHits: stats.memoryHits,
165
+ bundledHits: stats.bundledHits,
166
+ diskHits: stats.diskHits,
167
+ networkFetches: stats.networkFetches,
168
+ errors: stats.errors,
169
+ totalRequests,
170
+ hitRate: totalRequests > 0 ? hits / totalRequests : 0
171
+ };
172
+ },
173
+ /**
174
+ * Get performance summary
175
+ */
176
+ getSummary() {
177
+ const durations = events.filter(e => e.type !== 'error').map(e => e.duration).sort((a, b) => a - b);
178
+ const totalLoads = durations.length;
179
+ const totalErrors = events.filter(e => e.type === 'error').length;
180
+ if (totalLoads === 0) {
181
+ return {
182
+ avgLoadTime: 0,
183
+ minLoadTime: 0,
184
+ maxLoadTime: 0,
185
+ p50LoadTime: 0,
186
+ p90LoadTime: 0,
187
+ p99LoadTime: 0,
188
+ totalLoads: 0,
189
+ totalErrors,
190
+ uptime: Date.now() - startTime
191
+ };
192
+ }
193
+ const sum = durations.reduce((a, b) => a + b, 0);
194
+ return {
195
+ avgLoadTime: sum / totalLoads,
196
+ minLoadTime: durations[0],
197
+ maxLoadTime: durations[durations.length - 1],
198
+ p50LoadTime: percentile(durations, 50),
199
+ p90LoadTime: percentile(durations, 90),
200
+ p99LoadTime: percentile(durations, 99),
201
+ totalLoads,
202
+ totalErrors,
203
+ uptime: Date.now() - startTime
204
+ };
205
+ },
206
+ /**
207
+ * Get full performance report
208
+ */
209
+ getReport() {
210
+ const summary = PerformanceMonitor.getSummary();
211
+ const cacheStats = PerformanceMonitor.getCacheStats();
212
+
213
+ // Calculate avg load times by type
214
+ const byType = {
215
+ memory: [],
216
+ bundled: [],
217
+ disk: [],
218
+ network: []
219
+ };
220
+ events.forEach(e => {
221
+ 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);
222
+ });
223
+ const avg = arr => arr.length ? arr.reduce((a, b) => a + b, 0) / arr.length : 0;
224
+
225
+ // Get slowest icons
226
+ const slowestIcons = Array.from(iconLoadTimes.entries()).map(([iconName, times]) => ({
227
+ iconName,
228
+ avgDuration: avg(times),
229
+ count: times.length
230
+ })).sort((a, b) => b.avgDuration - a.avgDuration).slice(0, 10);
231
+
232
+ // Get most used icons
233
+ const mostUsedIcons = Array.from(iconLoadCounts.entries()).map(([iconName, count]) => ({
234
+ iconName,
235
+ count
236
+ })).sort((a, b) => b.count - a.count).slice(0, 10);
237
+ return {
238
+ summary,
239
+ cacheStats,
240
+ loadTimesByType: {
241
+ memory: avg(byType.memory),
242
+ bundled: avg(byType.bundled),
243
+ disk: avg(byType.disk),
244
+ network: avg(byType.network)
245
+ },
246
+ slowestIcons,
247
+ mostUsedIcons,
248
+ recentEvents: events.slice(-100),
249
+ generatedAt: Date.now()
250
+ };
251
+ },
252
+ /**
253
+ * Reset all performance data
254
+ */
255
+ reset() {
256
+ events.length = 0;
257
+ iconLoadCounts.clear();
258
+ iconLoadTimes.clear();
259
+ stats = {
260
+ memoryHits: 0,
261
+ bundledHits: 0,
262
+ diskHits: 0,
263
+ networkFetches: 0,
264
+ errors: 0
265
+ };
266
+ startTime = Date.now();
267
+ },
268
+ /**
269
+ * Get raw events (for debugging)
270
+ */
271
+ getEvents() {
272
+ return [...events];
273
+ },
274
+ /**
275
+ * Format report as string (for console output)
276
+ */
277
+ formatReport() {
278
+ const report = PerformanceMonitor.getReport();
279
+ const {
280
+ summary,
281
+ cacheStats,
282
+ loadTimesByType
283
+ } = report;
284
+ 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) │`, '└─────────────────────────────────────────────────────┘'];
285
+ if (report.slowestIcons.length > 0) {
286
+ lines.push('');
287
+ lines.push('🐌 Slowest Icons:');
288
+ report.slowestIcons.slice(0, 5).forEach((icon, i) => {
289
+ lines.push(` ${i + 1}. ${icon.iconName} (${icon.avgDuration.toFixed(2)}ms avg, ${icon.count}x)`);
290
+ });
291
+ }
292
+ return lines.join('\n');
293
+ }
294
+ };
295
+
296
+ /**
297
+ * Enable performance monitoring
298
+ * Alias for PerformanceMonitor.enable()
299
+ */
300
+ function enablePerformanceMonitoring() {
301
+ PerformanceMonitor.enable();
302
+ }
303
+
304
+ /**
305
+ * Disable performance monitoring
306
+ * Alias for PerformanceMonitor.disable()
307
+ */
308
+ function disablePerformanceMonitoring() {
309
+ PerformanceMonitor.disable();
310
+ }
311
+
312
+ /**
313
+ * Get performance report
314
+ * Alias for PerformanceMonitor.getReport()
315
+ */
316
+ function getPerformanceReport() {
317
+ return PerformanceMonitor.getReport();
318
+ }
319
+
320
+ /**
321
+ * Print formatted performance report to console
322
+ */
323
+ function printPerformanceReport() {
324
+ console.log(PerformanceMonitor.formatReport());
325
+ }
326
+ var _default = exports.default = PerformanceMonitor;
327
+ //# sourceMappingURL=PerformanceMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_config","require","isEnabled","startTime","Date","now","events","listeners","iconLoadCounts","Map","iconLoadTimes","stats","memoryHits","bundledHits","diskHits","networkFetches","errors","getMaxHistorySize","ConfigManager","getPerformanceConfig","maxHistorySize","percentile","sortedArr","p","length","index","Math","ceil","max","PerformanceMonitor","exports","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","_default","default"],"sourceRoot":"../../../src","sources":["performance/PerformanceMonitor.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "PerformanceMonitor", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _PerformanceMonitor.PerformanceMonitor;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "default", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _PerformanceMonitor.PerformanceMonitor;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "disablePerformanceMonitoring", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _PerformanceMonitor.disablePerformanceMonitoring;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "enablePerformanceMonitoring", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _PerformanceMonitor.enablePerformanceMonitoring;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "getPerformanceReport", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _PerformanceMonitor.getPerformanceReport;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "printPerformanceReport", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _PerformanceMonitor.printPerformanceReport;
40
+ }
41
+ });
42
+ var _PerformanceMonitor = require("./PerformanceMonitor");
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_PerformanceMonitor","require"],"sourceRoot":"../../../src","sources":["performance/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAAA,mBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["performance/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PlaceholderFactory = PlaceholderFactory;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _Skeleton = require("./Skeleton");
10
+ var _Pulse = require("./Pulse");
11
+ var _Shimmer = require("./Shimmer");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ /**
14
+ * PlaceholderFactory
15
+ * Creates the appropriate placeholder component based on type
16
+ */
17
+
18
+ /**
19
+ * Props for PlaceholderFactory
20
+ */
21
+
22
+ /**
23
+ * Check if a value is a valid PlaceholderPreset
24
+ */
25
+ function isPlaceholderPreset(value) {
26
+ return typeof value === 'string' && ['skeleton', 'pulse', 'shimmer'].includes(value);
27
+ }
28
+
29
+ /**
30
+ * PlaceholderFactory - renders the appropriate placeholder component
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * // Using preset
35
+ * <PlaceholderFactory type="shimmer" width={24} height={24} />
36
+ *
37
+ * // Using custom component
38
+ * <PlaceholderFactory type={<ActivityIndicator />} width={24} height={24} />
39
+ * ```
40
+ */
41
+ function PlaceholderFactory({
42
+ type,
43
+ width,
44
+ height,
45
+ color,
46
+ highlightColor,
47
+ duration,
48
+ borderRadius,
49
+ testID
50
+ }) {
51
+ // Handle preset strings
52
+ if (isPlaceholderPreset(type)) {
53
+ const props = {
54
+ width,
55
+ height,
56
+ color,
57
+ highlightColor,
58
+ duration,
59
+ borderRadius,
60
+ testID
61
+ };
62
+ switch (type) {
63
+ case 'skeleton':
64
+ return /*#__PURE__*/_react.default.createElement(_Skeleton.Skeleton, props);
65
+ case 'pulse':
66
+ return /*#__PURE__*/_react.default.createElement(_Pulse.Pulse, props);
67
+ case 'shimmer':
68
+ return /*#__PURE__*/_react.default.createElement(_Shimmer.Shimmer, props);
69
+ default:
70
+ // TypeScript exhaustive check
71
+ const _exhaustive = type;
72
+ return _exhaustive;
73
+ }
74
+ }
75
+
76
+ // Handle custom ReactNode
77
+ if (/*#__PURE__*/(0, _react.isValidElement)(type)) {
78
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
79
+ style: [styles.customContainer, {
80
+ width,
81
+ height
82
+ }],
83
+ testID: testID
84
+ }, type);
85
+ }
86
+
87
+ // Handle null/undefined - render nothing
88
+ if (type === null || type === undefined) {
89
+ return null;
90
+ }
91
+
92
+ // Fallback to skeleton for any other value
93
+ if (__DEV__) {
94
+ console.warn(`[rn-iconify] Invalid placeholder type: ${String(type)}. ` + `Expected 'skeleton', 'pulse', 'shimmer', or a ReactNode.`);
95
+ }
96
+ return /*#__PURE__*/_react.default.createElement(_Skeleton.Skeleton, {
97
+ width: width,
98
+ height: height,
99
+ color: color,
100
+ borderRadius: borderRadius,
101
+ testID: testID
102
+ });
103
+ }
104
+ PlaceholderFactory.displayName = 'PlaceholderFactory';
105
+ const styles = _reactNative.StyleSheet.create({
106
+ customContainer: {
107
+ alignItems: 'center',
108
+ justifyContent: 'center'
109
+ }
110
+ });
111
+ //# sourceMappingURL=PlaceholderFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Skeleton","_Pulse","_Shimmer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isPlaceholderPreset","value","includes","PlaceholderFactory","type","width","height","color","highlightColor","duration","borderRadius","testID","props","createElement","Skeleton","Pulse","Shimmer","_exhaustive","isValidElement","View","style","styles","customContainer","undefined","__DEV__","console","warn","String","displayName","StyleSheet","create","alignItems","justifyContent"],"sourceRoot":"../../../src","sources":["placeholder/PlaceholderFactory.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Pulse = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _types = require("./types");
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
+ /**
12
+ * Pulse Placeholder Component
13
+ * Animated opacity fade effect while icon is loading
14
+ */
15
+
16
+ /**
17
+ * Pulse placeholder - animated opacity fade effect
18
+ * Provides subtle visual feedback during loading
19
+ */
20
+ function PulseComponent({
21
+ width,
22
+ height,
23
+ color = _types.DEFAULT_PLACEHOLDER_CONFIG.color,
24
+ duration = _types.DEFAULT_PLACEHOLDER_CONFIG.duration,
25
+ borderRadius = _types.DEFAULT_PLACEHOLDER_CONFIG.borderRadius,
26
+ testID
27
+ }) {
28
+ const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
29
+ const animationRef = (0, _react.useRef)(null);
30
+ (0, _react.useEffect)(() => {
31
+ // Create looping pulse animation
32
+ animationRef.current = _reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.timing(opacity, {
33
+ toValue: 0.4,
34
+ duration: duration / 2,
35
+ easing: _reactNative.Easing.inOut(_reactNative.Easing.ease),
36
+ useNativeDriver: true
37
+ }), _reactNative.Animated.timing(opacity, {
38
+ toValue: 1,
39
+ duration: duration / 2,
40
+ easing: _reactNative.Easing.inOut(_reactNative.Easing.ease),
41
+ useNativeDriver: true
42
+ })]));
43
+ animationRef.current.start();
44
+ return () => {
45
+ // Clean up animation on unmount
46
+ if (animationRef.current) {
47
+ animationRef.current.stop();
48
+ }
49
+ };
50
+ }, [opacity, duration]);
51
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
52
+ style: [styles.pulse, {
53
+ width,
54
+ height,
55
+ backgroundColor: color,
56
+ borderRadius,
57
+ opacity
58
+ }],
59
+ testID: testID,
60
+ accessibilityRole: "none",
61
+ accessibilityElementsHidden: true,
62
+ importantForAccessibility: "no"
63
+ });
64
+ }
65
+ const styles = _reactNative.StyleSheet.create({
66
+ pulse: {
67
+ overflow: 'hidden'
68
+ }
69
+ });
70
+
71
+ /**
72
+ * Memoized Pulse component
73
+ * Animation runs independently of re-renders
74
+ */
75
+ const Pulse = exports.Pulse = /*#__PURE__*/(0, _react.memo)(PulseComponent);
76
+ Pulse.displayName = 'Pulse';
77
+ //# sourceMappingURL=Pulse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_types","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PulseComponent","width","height","color","DEFAULT_PLACEHOLDER_CONFIG","duration","borderRadius","testID","opacity","useRef","Animated","Value","current","animationRef","useEffect","loop","sequence","timing","toValue","easing","Easing","inOut","ease","useNativeDriver","start","stop","createElement","View","style","styles","pulse","backgroundColor","accessibilityRole","accessibilityElementsHidden","importantForAccessibility","StyleSheet","create","overflow","Pulse","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["placeholder/Pulse.tsx"],"mappings":"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","ignoreList":[]}