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,114 @@
1
+ /**
2
+ * useIconTheme Hook
3
+ * Access and modify icon theme from any component
4
+ */
5
+
6
+ import { useContext, useMemo } from 'react';
7
+ import { IconThemeContext } from './context';
8
+ import { DEFAULT_ICON_THEME } from './types';
9
+
10
+ /**
11
+ * useIconTheme
12
+ *
13
+ * Hook to access and modify the icon theme.
14
+ * Must be used within an IconThemeProvider.
15
+ *
16
+ * @returns Current theme and setTheme function
17
+ *
18
+ * @example Access current theme
19
+ * ```tsx
20
+ * function MyComponent() {
21
+ * const { theme } = useIconTheme();
22
+ * console.log('Current icon size:', theme.size);
23
+ * return <Text>Icon color: {theme.color}</Text>;
24
+ * }
25
+ * ```
26
+ *
27
+ * @example Update theme dynamically
28
+ * ```tsx
29
+ * function ThemeToggle() {
30
+ * const { theme, setTheme } = useIconTheme();
31
+ *
32
+ * const toggleDarkMode = () => {
33
+ * setTheme(prev => ({
34
+ * ...prev,
35
+ * color: prev.color === '#000000' ? '#ffffff' : '#000000',
36
+ * }));
37
+ * };
38
+ *
39
+ * return <Button onPress={toggleDarkMode} title="Toggle Dark Mode" />;
40
+ * }
41
+ * ```
42
+ */
43
+ export function useIconTheme() {
44
+ const context = useContext(IconThemeContext);
45
+ return context;
46
+ }
47
+
48
+ /**
49
+ * useIconThemeValue
50
+ *
51
+ * Get a specific theme value with automatic fallback to default.
52
+ * Useful when you need just one property.
53
+ *
54
+ * @param key - Theme property key
55
+ * @returns The theme value or default
56
+ *
57
+ * @example
58
+ * ```tsx
59
+ * function MyIcon() {
60
+ * const defaultSize = useIconThemeValue('size');
61
+ * const defaultColor = useIconThemeValue('color');
62
+ * return <Text>Default: {defaultSize}px, {defaultColor}</Text>;
63
+ * }
64
+ * ```
65
+ */
66
+ export function useIconThemeValue(key) {
67
+ const {
68
+ theme
69
+ } = useIconTheme();
70
+ const value = theme[key];
71
+ if (value !== undefined) {
72
+ return value;
73
+ }
74
+ const defaultValue = DEFAULT_ICON_THEME[key];
75
+ return defaultValue;
76
+ }
77
+
78
+ /**
79
+ * useMergedIconProps
80
+ *
81
+ * Merges component props with theme defaults.
82
+ * Props take precedence over theme values.
83
+ *
84
+ * @param props - Component props
85
+ * @returns Merged props with theme defaults
86
+ *
87
+ * @example
88
+ * ```tsx
89
+ * function CustomIcon({ size, color, ...rest }: IconProps) {
90
+ * const mergedProps = useMergedIconProps({ size, color });
91
+ * // mergedProps.size = props.size ?? theme.size ?? 24
92
+ * // mergedProps.color = props.color ?? theme.color ?? '#000000'
93
+ * }
94
+ * ```
95
+ */
96
+ export function useMergedIconProps(props) {
97
+ const {
98
+ theme
99
+ } = useIconTheme();
100
+ return useMemo(() => {
101
+ return {
102
+ ...props,
103
+ size: props.size ?? theme.size ?? DEFAULT_ICON_THEME.size,
104
+ color: props.color ?? theme.color ?? DEFAULT_ICON_THEME.color,
105
+ placeholder: props.placeholder ?? theme.placeholder,
106
+ placeholderColor: props.placeholderColor ?? theme.placeholderColor ?? DEFAULT_ICON_THEME.placeholderColor,
107
+ placeholderDuration: props.placeholderDuration ?? theme.placeholderDuration ?? DEFAULT_ICON_THEME.placeholderDuration,
108
+ rotate: props.rotate ?? theme.rotate ?? DEFAULT_ICON_THEME.rotate,
109
+ flip: props.flip ?? theme.flip,
110
+ fallbackDelay: props.fallbackDelay ?? theme.fallbackDelay ?? DEFAULT_ICON_THEME.fallbackDelay
111
+ };
112
+ }, [props, theme]);
113
+ }
114
+ //# sourceMappingURL=useIconTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useContext","useMemo","IconThemeContext","DEFAULT_ICON_THEME","useIconTheme","context","useIconThemeValue","key","theme","value","undefined","defaultValue","useMergedIconProps","props","size","color","placeholder","placeholderColor","placeholderDuration","rotate","flip","fallbackDelay"],"sourceRoot":"../../../src","sources":["theme/useIconTheme.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC3C,SAASC,gBAAgB,QAAQ,WAAW;AAE5C,SAASC,kBAAkB,QAAQ,SAAS;;AAE5C;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,SAASC,YAAYA,CAAA,EAA0B;EACpD,MAAMC,OAAO,GAAGL,UAAU,CAACE,gBAAgB,CAAC;EAC5C,OAAOG,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAC/BC,GAAM,EACiC;EACvC,MAAM;IAAEC;EAAM,CAAC,GAAGJ,YAAY,CAAC,CAAC;EAChC,MAAMK,KAAK,GAAGD,KAAK,CAACD,GAAG,CAAC;EACxB,IAAIE,KAAK,KAAKC,SAAS,EAAE;IACvB,OAAOD,KAAK;EACd;EACA,MAAME,YAAY,GAAGR,kBAAkB,CAACI,GAAG,CAAoC;EAC/E,OAAOI,YAAY;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,KAAQ,EAC6E;EACrF,MAAM;IAAEL;EAAM,CAAC,GAAGJ,YAAY,CAAC,CAAC;EAEhC,OAAOH,OAAO,CAAC,MAAM;IACnB,OAAO;MACL,GAAGY,KAAK;MACRC,IAAI,EAAED,KAAK,CAACC,IAAI,IAAIN,KAAK,CAACM,IAAI,IAAIX,kBAAkB,CAACW,IAAI;MACzDC,KAAK,EAAEF,KAAK,CAACE,KAAK,IAAIP,KAAK,CAACO,KAAK,IAAIZ,kBAAkB,CAACY,KAAK;MAC7DC,WAAW,EAAEH,KAAK,CAACG,WAAW,IAAIR,KAAK,CAACQ,WAAW;MACnDC,gBAAgB,EACdJ,KAAK,CAACI,gBAAgB,IAAIT,KAAK,CAACS,gBAAgB,IAAId,kBAAkB,CAACc,gBAAgB;MACzFC,mBAAmB,EACjBL,KAAK,CAACK,mBAAmB,IACzBV,KAAK,CAACU,mBAAmB,IACzBf,kBAAkB,CAACe,mBAAmB;MACxCC,MAAM,EAAEN,KAAK,CAACM,MAAM,IAAIX,KAAK,CAACW,MAAM,IAAIhB,kBAAkB,CAACgB,MAAM;MACjEC,IAAI,EAAEP,KAAK,CAACO,IAAI,IAAIZ,KAAK,CAACY,IAAI;MAC9BC,aAAa,EAAER,KAAK,CAACQ,aAAa,IAAIb,KAAK,CAACa,aAAa,IAAIlB,kBAAkB,CAACkB;IAClF,CAAC;EACH,CAAC,EAAE,CAACR,KAAK,EAAEL,KAAK,CAAC,CAAC;AACpB","ignoreList":[]}
@@ -4,5 +4,5 @@
4
4
  */
5
5
  import React from 'react';
6
6
  import type { IconRendererProps } from './types';
7
- export declare function IconRenderer({ iconName, size, color, width: propWidth, height: propHeight, style, rotate, flip, fallback, fallbackDelay, onLoad, onError, accessibilityLabel, testID, }: IconRendererProps): React.JSX.Element;
7
+ export declare function IconRenderer({ iconName, size, color, width: propWidth, height: propHeight, style, rotate, flip, fallback, fallbackDelay, placeholder, placeholderColor, placeholderDuration, onLoad, onError, accessibilityLabel, testID, animate, animationDuration, animationLoop, animationEasing, animationDelay, autoPlay, onAnimationComplete, }: IconRendererProps): React.JSX.Element;
8
8
  //# sourceMappingURL=IconRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconRenderer.d.ts","sourceRoot":"","sources":["../../src/IconRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAKjF,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,SAAS,CAAC;AAenE,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,IAAS,EACT,KAAiB,EACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,EAClB,KAAK,EACL,MAAU,EACV,IAAI,EACJ,QAAQ,EACR,aAAiB,EACjB,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,MAAM,GACP,EAAE,iBAAiB,qBA0KnB"}
1
+ {"version":3,"file":"IconRenderer.d.ts","sourceRoot":"","sources":["../../src/IconRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAOjF,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,SAAS,CAAC;AAenE,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,IAAS,EACT,KAAiB,EACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,EAClB,KAAK,EACL,MAAU,EACV,IAAI,EACJ,QAAQ,EACR,aAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,MAAM,EAEN,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAe,EACf,mBAAmB,GACpB,EAAE,iBAAiB,qBAoPnB"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Accessibility Provider for rn-iconify
3
+ * Provides accessibility context to all icon components
4
+ */
5
+ import React from 'react';
6
+ import type { AccessibilityConfig, ResolvedAccessibilityConfig, AccessibilityContextValue } from './types';
7
+ /**
8
+ * Default accessibility configuration
9
+ */
10
+ export declare const DEFAULT_ACCESSIBILITY_CONFIG: ResolvedAccessibilityConfig;
11
+ /**
12
+ * Accessibility context
13
+ */
14
+ export declare const AccessibilityContext: React.Context<AccessibilityContextValue | null>;
15
+ /**
16
+ * Props for AccessibilityProvider
17
+ */
18
+ export interface AccessibilityProviderProps {
19
+ /**
20
+ * Initial accessibility configuration
21
+ */
22
+ config?: AccessibilityConfig;
23
+ /**
24
+ * Children components
25
+ */
26
+ children: React.ReactNode;
27
+ }
28
+ /**
29
+ * Accessibility Provider Component
30
+ * Wraps your app to provide accessibility features to all icons
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * import { AccessibilityProvider } from 'rn-iconify';
35
+ *
36
+ * function App() {
37
+ * return (
38
+ * <AccessibilityProvider config={{ autoLabels: true }}>
39
+ * <MyApp />
40
+ * </AccessibilityProvider>
41
+ * );
42
+ * }
43
+ * ```
44
+ */
45
+ export declare function AccessibilityProvider({ config: initialConfig, children, }: AccessibilityProviderProps): React.ReactElement;
46
+ /**
47
+ * Hook to access accessibility context
48
+ * Throws if used outside AccessibilityProvider
49
+ */
50
+ export declare function useAccessibilityContext(): AccessibilityContextValue;
51
+ /**
52
+ * Hook to safely access accessibility context
53
+ * Returns null if used outside AccessibilityProvider
54
+ */
55
+ export declare function useAccessibility(): AccessibilityContextValue | null;
56
+ export default AccessibilityProvider;
57
+ //# sourceMappingURL=AccessibilityProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessibilityProvider.d.ts","sourceRoot":"","sources":["../../../src/accessibility/AccessibilityProvider.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA+E,MAAM,OAAO,CAAC;AAGpG,OAAO,KAAK,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,2BAQ1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,iDAAwD,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EAAE,aAAa,EACrB,QAAQ,GACT,EAAE,0BAA0B,GAAG,KAAK,CAAC,YAAY,CAiIjD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,yBAAyB,CAMnE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,yBAAyB,GAAG,IAAI,CAEnE;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Accessibility Module for rn-iconify
3
+ * Provides accessibility features for icon components
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { AccessibilityProvider, useAccessibleIcon } from 'rn-iconify';
8
+ *
9
+ * // Wrap your app with AccessibilityProvider
10
+ * function App() {
11
+ * return (
12
+ * <AccessibilityProvider config={{ autoLabels: true, highContrast: false }}>
13
+ * <MyApp />
14
+ * </AccessibilityProvider>
15
+ * );
16
+ * }
17
+ *
18
+ * // Use the hook in your components
19
+ * function MyIcon({ name, size, color }) {
20
+ * const { accessibilityProps, adjustedColor } = useAccessibleIcon({
21
+ * iconName: name,
22
+ * size,
23
+ * color,
24
+ * });
25
+ *
26
+ * return <Icon name={name} size={size} color={adjustedColor} {...accessibilityProps} />;
27
+ * }
28
+ * ```
29
+ */
30
+ export type { AccessibilityConfig, ResolvedAccessibilityConfig, AccessibilityContextValue, AccessibleIconProps, } from './types';
31
+ export { AccessibilityProvider, AccessibilityContext, useAccessibilityContext, useAccessibility, DEFAULT_ACCESSIBILITY_CONFIG, } from './AccessibilityProvider';
32
+ export type { AccessibilityProviderProps } from './AccessibilityProvider';
33
+ export { useAccessibleIcon, withAccessibility } from './useAccessibleIcon';
34
+ export type { UseAccessibleIconInput, UseAccessibleIconOutput } from './useAccessibleIcon';
35
+ export { defaultLabelGenerator, adjustForHighContrast, meetsContrastRequirement, getHighContrastAlternative, calculateTouchTargetPadding, } from './utils';
36
+ export { AccessibilityProvider as default } from './AccessibilityProvider';
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/accessibility/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,YAAY,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAG1E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG3F,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Accessibility types for rn-iconify
3
+ */
4
+ import type { AccessibilityRole } from 'react-native';
5
+ /**
6
+ * Accessibility configuration
7
+ */
8
+ export interface AccessibilityConfig {
9
+ /**
10
+ * Enable auto-generated accessibility labels
11
+ * @default true
12
+ */
13
+ autoLabels?: boolean;
14
+ /**
15
+ * Custom label generator function
16
+ */
17
+ labelGenerator?: (iconName: string) => string;
18
+ /**
19
+ * Enable high contrast mode
20
+ * @default false (auto-detect from system)
21
+ */
22
+ highContrast?: boolean;
23
+ /**
24
+ * Respect reduced motion preference
25
+ * @default true
26
+ */
27
+ respectReducedMotion?: boolean;
28
+ /**
29
+ * Default accessibility role for icons
30
+ * @default 'image'
31
+ */
32
+ defaultRole?: AccessibilityRole;
33
+ /**
34
+ * Enable focus indicators
35
+ * @default true
36
+ */
37
+ showFocusIndicators?: boolean;
38
+ /**
39
+ * Minimum touch target size (for pressable icons)
40
+ * @default 44
41
+ */
42
+ minTouchTargetSize?: number;
43
+ }
44
+ /**
45
+ * Resolved accessibility config with defaults applied
46
+ */
47
+ export interface ResolvedAccessibilityConfig {
48
+ autoLabels: boolean;
49
+ labelGenerator: (iconName: string) => string;
50
+ highContrast: boolean;
51
+ respectReducedMotion: boolean;
52
+ defaultRole: AccessibilityRole;
53
+ showFocusIndicators: boolean;
54
+ minTouchTargetSize: number;
55
+ }
56
+ /**
57
+ * Accessibility context value
58
+ */
59
+ export interface AccessibilityContextValue {
60
+ /**
61
+ * Current accessibility configuration
62
+ */
63
+ config: ResolvedAccessibilityConfig;
64
+ /**
65
+ * System prefers reduced motion
66
+ */
67
+ prefersReducedMotion: boolean;
68
+ /**
69
+ * System high contrast mode enabled
70
+ */
71
+ isHighContrast: boolean;
72
+ /**
73
+ * Update accessibility configuration
74
+ */
75
+ setConfig: (config: Partial<AccessibilityConfig>) => void;
76
+ /**
77
+ * Generate label for icon
78
+ */
79
+ getLabel: (iconName: string, customLabel?: string) => string | undefined;
80
+ /**
81
+ * Get color adjusted for high contrast
82
+ */
83
+ getContrastColor: (color: string) => string;
84
+ /**
85
+ * Check if animations should be disabled
86
+ */
87
+ shouldDisableAnimations: () => boolean;
88
+ }
89
+ /**
90
+ * Props for accessibility-enhanced icons
91
+ */
92
+ export interface AccessibleIconProps {
93
+ /**
94
+ * Accessibility label (auto-generated if not provided)
95
+ */
96
+ accessibilityLabel?: string;
97
+ /**
98
+ * Accessibility hint
99
+ */
100
+ accessibilityHint?: string;
101
+ /**
102
+ * Accessibility role
103
+ * @default 'image'
104
+ */
105
+ accessibilityRole?: AccessibilityRole;
106
+ /**
107
+ * Whether the icon is part of a button or pressable
108
+ */
109
+ accessibilityState?: {
110
+ disabled?: boolean;
111
+ selected?: boolean;
112
+ checked?: boolean | 'mixed';
113
+ busy?: boolean;
114
+ expanded?: boolean;
115
+ };
116
+ /**
117
+ * Override high contrast mode for this icon
118
+ */
119
+ highContrast?: boolean;
120
+ /**
121
+ * Whether this icon should be hidden from screen readers
122
+ * Useful for decorative icons
123
+ */
124
+ accessibilityElementsHidden?: boolean;
125
+ /**
126
+ * Import for Android accessibility
127
+ */
128
+ importantForAccessibility?: 'auto' | 'yes' | 'no' | 'no-hide-descendants';
129
+ }
130
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/accessibility/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAE9C;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,MAAM,EAAE,2BAA2B,CAAC;IAEpC;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAE1D;;OAEG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAEzE;;OAEG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAE5C;;OAEG;IACH,uBAAuB,EAAE,MAAM,OAAO,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;OAEG;IACH,kBAAkB,CAAC,EAAE;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,qBAAqB,CAAC;CAC3E"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Hook for creating accessible icon props
3
+ */
4
+ import type { AccessibilityRole } from 'react-native';
5
+ import type { AccessibleIconProps } from './types';
6
+ /**
7
+ * Input props for useAccessibleIcon hook
8
+ */
9
+ export interface UseAccessibleIconInput {
10
+ /**
11
+ * Icon name for auto-label generation
12
+ */
13
+ iconName: string;
14
+ /**
15
+ * Icon size for touch target calculation
16
+ */
17
+ size?: number;
18
+ /**
19
+ * Custom accessibility label
20
+ */
21
+ accessibilityLabel?: string;
22
+ /**
23
+ * Custom accessibility hint
24
+ */
25
+ accessibilityHint?: string;
26
+ /**
27
+ * Custom accessibility role
28
+ */
29
+ accessibilityRole?: AccessibilityRole;
30
+ /**
31
+ * Override high contrast for this icon
32
+ */
33
+ highContrast?: boolean;
34
+ /**
35
+ * Hide from screen readers (decorative icon)
36
+ */
37
+ accessibilityElementsHidden?: boolean;
38
+ /**
39
+ * Android importantForAccessibility
40
+ */
41
+ importantForAccessibility?: 'auto' | 'yes' | 'no' | 'no-hide-descendants';
42
+ /**
43
+ * Icon color for contrast adjustment
44
+ */
45
+ color?: string;
46
+ /**
47
+ * Whether the icon is interactive (button, etc.)
48
+ */
49
+ isInteractive?: boolean;
50
+ }
51
+ /**
52
+ * Output props from useAccessibleIcon hook
53
+ */
54
+ export interface UseAccessibleIconOutput {
55
+ /**
56
+ * Props to spread on the icon component
57
+ */
58
+ accessibilityProps: {
59
+ accessible: boolean;
60
+ accessibilityLabel?: string;
61
+ accessibilityHint?: string;
62
+ accessibilityRole: AccessibilityRole;
63
+ accessibilityElementsHidden?: boolean;
64
+ importantForAccessibility?: 'auto' | 'yes' | 'no' | 'no-hide-descendants';
65
+ };
66
+ /**
67
+ * Adjusted color for high contrast
68
+ */
69
+ adjustedColor?: string;
70
+ /**
71
+ * Padding needed to meet minimum touch target
72
+ */
73
+ touchTargetPadding: number;
74
+ /**
75
+ * Whether animations should be disabled
76
+ */
77
+ shouldDisableAnimations: boolean;
78
+ /**
79
+ * Whether high contrast mode is active
80
+ */
81
+ isHighContrast: boolean;
82
+ }
83
+ /**
84
+ * Hook for creating accessible icon props
85
+ * Automatically generates labels, adjusts colors, and calculates touch targets
86
+ *
87
+ * @example
88
+ * ```tsx
89
+ * function MyIcon({ name, size, color }) {
90
+ * const { accessibilityProps, adjustedColor, touchTargetPadding } = useAccessibleIcon({
91
+ * iconName: name,
92
+ * size,
93
+ * color,
94
+ * });
95
+ *
96
+ * return (
97
+ * <View style={{ padding: touchTargetPadding }} {...accessibilityProps}>
98
+ * <Icon name={name} size={size} color={adjustedColor} />
99
+ * </View>
100
+ * );
101
+ * }
102
+ * ```
103
+ */
104
+ export declare function useAccessibleIcon(input: UseAccessibleIconInput): UseAccessibleIconOutput;
105
+ /**
106
+ * Higher-order component props enhancer
107
+ * Use this to add accessibility to existing icon components
108
+ */
109
+ export declare function withAccessibility<P extends AccessibleIconProps>(props: P & UseAccessibleIconInput): P & UseAccessibleIconOutput['accessibilityProps'];
110
+ export default useAccessibleIcon;
111
+ //# sourceMappingURL=useAccessibleIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAccessibleIcon.d.ts","sourceRoot":"","sources":["../../../src/accessibility/useAccessibleIcon.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGnD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,qBAAqB,CAAC;IAE1E;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,kBAAkB,EAAE;QAClB,UAAU,EAAE,OAAO,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,2BAA2B,CAAC,EAAE,OAAO,CAAC;QACtC,yBAAyB,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,qBAAqB,CAAC;KAC3E,CAAC;IAEF;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,uBAAuB,CA+ExF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,EAC7D,KAAK,EAAE,CAAC,GAAG,sBAAsB,GAChC,CAAC,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,CAOnD;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Accessibility utility functions for rn-iconify
3
+ */
4
+ /**
5
+ * Default label generator - converts icon names to readable labels
6
+ * Examples:
7
+ * - "mdi:home" -> "home icon"
8
+ * - "heroicons:user-circle" -> "user circle icon"
9
+ * - "lucide:arrow-left" -> "arrow left icon"
10
+ */
11
+ export declare function defaultLabelGenerator(iconName: string): string;
12
+ /**
13
+ * Adjust color for high contrast mode
14
+ * Increases contrast by pushing colors toward black or white
15
+ */
16
+ export declare function adjustForHighContrast(color: string): string;
17
+ /**
18
+ * Check if a color meets WCAG contrast requirements against a background
19
+ */
20
+ export declare function meetsContrastRequirement(foreground: string, background: string, level?: 'AA' | 'AAA'): boolean;
21
+ /**
22
+ * Generate a high contrast alternative for a color
23
+ */
24
+ export declare function getHighContrastAlternative(color: string, background?: string): string;
25
+ /**
26
+ * Calculate minimum touch target padding needed
27
+ */
28
+ export declare function calculateTouchTargetPadding(iconSize: number, minTargetSize: number): number;
29
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/accessibility/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkB9D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgB3D;AA6DD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,IAAI,GAAG,KAAY,GACzB,OAAO,CAkBT;AAiBD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAkB,GAAG,MAAM,CAchG;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAG3F"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Generic Icon Component
3
+ * Renders any icon by full name (prefix:name) or alias
4
+ */
5
+ import React from 'react';
6
+ import type { GenericIconProps } from './types';
7
+ /**
8
+ * Generic Icon component that accepts any icon name or alias
9
+ *
10
+ * @example With full icon name
11
+ * ```tsx
12
+ * import { Icon } from 'rn-iconify';
13
+ *
14
+ * <Icon name="mdi:home" size={24} color="blue" />
15
+ * <Icon name="heroicons:user" size={24} />
16
+ * ```
17
+ *
18
+ * @example With aliases (requires IconAliasProvider)
19
+ * ```tsx
20
+ * import { Icon, IconAliasProvider } from 'rn-iconify';
21
+ *
22
+ * const aliases = {
23
+ * back: 'mdi:arrow-left',
24
+ * menu: 'heroicons:bars-3',
25
+ * };
26
+ *
27
+ * <IconAliasProvider aliases={aliases}>
28
+ * <Icon name="back" size={24} />
29
+ * <Icon name="menu" size={24} />
30
+ * </IconAliasProvider>
31
+ * ```
32
+ */
33
+ export declare function Icon({ name, size, color, width, height, style, rotate, flip, fallback, fallbackDelay, placeholder, placeholderColor, placeholderDuration, onLoad, onError, accessibilityLabel, testID, }: GenericIconProps): React.JSX.Element;
34
+ export declare namespace Icon {
35
+ var displayName: string;
36
+ }
37
+ export default Icon;
38
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/alias/Icon.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,MAAM,GACP,EAAE,gBAAgB,qBAoDlB;yBAtEe,IAAI;;;AA0EpB,eAAe,IAAI,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Icon Alias Context
3
+ * Provides alias resolution throughout the component tree
4
+ */
5
+ import React from 'react';
6
+ import type { IconAliasContextValue, IconAliasProviderProps } from './types';
7
+ /**
8
+ * Icon Alias Context
9
+ */
10
+ export declare const IconAliasContext: React.Context<IconAliasContextValue>;
11
+ /**
12
+ * Hook to access icon alias context
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * const { resolveIcon, isAlias } = useIconAliasContext();
17
+ * const fullName = resolveIcon('back'); // 'mdi:arrow-left'
18
+ * ```
19
+ */
20
+ export declare function useIconAliasContext(): IconAliasContextValue;
21
+ /**
22
+ * Hook to resolve an icon name (alias or full name)
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * const resolvedName = useResolveIcon('back'); // 'mdi:arrow-left'
27
+ * const resolvedName2 = useResolveIcon('mdi:home'); // 'mdi:home'
28
+ * ```
29
+ */
30
+ export declare function useResolveIcon(name: string): string;
31
+ /**
32
+ * Icon Alias Provider
33
+ * Provides alias resolution to all child components
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * const aliases = {
38
+ * back: 'mdi:arrow-left',
39
+ * menu: 'heroicons:bars-3',
40
+ * };
41
+ *
42
+ * <IconAliasProvider aliases={aliases}>
43
+ * <App />
44
+ * </IconAliasProvider>
45
+ * ```
46
+ */
47
+ export declare function IconAliasProvider({ aliases: initialAliases, extend, children, }: IconAliasProviderProps): React.JSX.Element;
48
+ /**
49
+ * Default export for convenience
50
+ */
51
+ export default IconAliasProvider;
52
+ //# sourceMappingURL=IconAliasContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconAliasContext.d.ts","sourceRoot":"","sources":["../../../src/alias/IconAliasContext.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAoE,MAAM,OAAO,CAAC;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAgB,MAAM,SAAS,CAAC;AAY3F;;GAEG;AACH,eAAO,MAAM,gBAAgB,sCAA4D,CAAC;AAE1F;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,qBAAqB,CAE3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AAyBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EAAE,cAAc,EACvB,MAAa,EACb,QAAQ,GACT,EAAE,sBAAsB,qBAiFxB;AAED;;GAEG;AACH,eAAe,iBAAiB,CAAC"}