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,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["performance/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * PlaceholderFactory
3
+ * Creates the appropriate placeholder component based on type
4
+ */
5
+
6
+ import React, { isValidElement } from 'react';
7
+ import { View, StyleSheet } from 'react-native';
8
+ import { Skeleton } from './Skeleton';
9
+ import { Pulse } from './Pulse';
10
+ import { Shimmer } from './Shimmer';
11
+
12
+ /**
13
+ * Props for PlaceholderFactory
14
+ */
15
+
16
+ /**
17
+ * Check if a value is a valid PlaceholderPreset
18
+ */
19
+ function isPlaceholderPreset(value) {
20
+ return typeof value === 'string' && ['skeleton', 'pulse', 'shimmer'].includes(value);
21
+ }
22
+
23
+ /**
24
+ * PlaceholderFactory - renders the appropriate placeholder component
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * // Using preset
29
+ * <PlaceholderFactory type="shimmer" width={24} height={24} />
30
+ *
31
+ * // Using custom component
32
+ * <PlaceholderFactory type={<ActivityIndicator />} width={24} height={24} />
33
+ * ```
34
+ */
35
+ export function PlaceholderFactory({
36
+ type,
37
+ width,
38
+ height,
39
+ color,
40
+ highlightColor,
41
+ duration,
42
+ borderRadius,
43
+ testID
44
+ }) {
45
+ // Handle preset strings
46
+ if (isPlaceholderPreset(type)) {
47
+ const props = {
48
+ width,
49
+ height,
50
+ color,
51
+ highlightColor,
52
+ duration,
53
+ borderRadius,
54
+ testID
55
+ };
56
+ switch (type) {
57
+ case 'skeleton':
58
+ return /*#__PURE__*/React.createElement(Skeleton, props);
59
+ case 'pulse':
60
+ return /*#__PURE__*/React.createElement(Pulse, props);
61
+ case 'shimmer':
62
+ return /*#__PURE__*/React.createElement(Shimmer, props);
63
+ default:
64
+ // TypeScript exhaustive check
65
+ const _exhaustive = type;
66
+ return _exhaustive;
67
+ }
68
+ }
69
+
70
+ // Handle custom ReactNode
71
+ if (/*#__PURE__*/isValidElement(type)) {
72
+ return /*#__PURE__*/React.createElement(View, {
73
+ style: [styles.customContainer, {
74
+ width,
75
+ height
76
+ }],
77
+ testID: testID
78
+ }, type);
79
+ }
80
+
81
+ // Handle null/undefined - render nothing
82
+ if (type === null || type === undefined) {
83
+ return null;
84
+ }
85
+
86
+ // Fallback to skeleton for any other value
87
+ if (__DEV__) {
88
+ console.warn(`[rn-iconify] Invalid placeholder type: ${String(type)}. ` + `Expected 'skeleton', 'pulse', 'shimmer', or a ReactNode.`);
89
+ }
90
+ return /*#__PURE__*/React.createElement(Skeleton, {
91
+ width: width,
92
+ height: height,
93
+ color: color,
94
+ borderRadius: borderRadius,
95
+ testID: testID
96
+ });
97
+ }
98
+ PlaceholderFactory.displayName = 'PlaceholderFactory';
99
+ const styles = StyleSheet.create({
100
+ customContainer: {
101
+ alignItems: 'center',
102
+ justifyContent: 'center'
103
+ }
104
+ });
105
+ //# sourceMappingURL=PlaceholderFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","isValidElement","View","StyleSheet","Skeleton","Pulse","Shimmer","isPlaceholderPreset","value","includes","PlaceholderFactory","type","width","height","color","highlightColor","duration","borderRadius","testID","props","createElement","_exhaustive","style","styles","customContainer","undefined","__DEV__","console","warn","String","displayName","create","alignItems","justifyContent"],"sourceRoot":"../../../src","sources":["placeholder/PlaceholderFactory.tsx"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,cAAc,QAAQ,OAAO;AAC7C,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,OAAO,QAAQ,WAAW;;AAGnC;AACA;AACA;;AAuBA;AACA;AACA;AACA,SAASC,mBAAmBA,CAACC,KAAc,EAA8B;EACvE,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAACC,QAAQ,CAACD,KAAK,CAAC;AACtF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,kBAAkBA,CAAC;EACjCC,IAAI;EACJC,KAAK;EACLC,MAAM;EACNC,KAAK;EACLC,cAAc;EACdC,QAAQ;EACRC,YAAY;EACZC;AACuB,CAAC,EAA6B;EACrD;EACA,IAAIX,mBAAmB,CAACI,IAAI,CAAC,EAAE;IAC7B,MAAMQ,KAAK,GAAG;MACZP,KAAK;MACLC,MAAM;MACNC,KAAK;MACLC,cAAc;MACdC,QAAQ;MACRC,YAAY;MACZC;IACF,CAAC;IAED,QAAQP,IAAI;MACV,KAAK,UAAU;QACb,oBAAOX,KAAA,CAAAoB,aAAA,CAAChB,QAAQ,EAAKe,KAAQ,CAAC;MAChC,KAAK,OAAO;QACV,oBAAOnB,KAAA,CAAAoB,aAAA,CAACf,KAAK,EAAKc,KAAQ,CAAC;MAC7B,KAAK,SAAS;QACZ,oBAAOnB,KAAA,CAAAoB,aAAA,CAACd,OAAO,EAAKa,KAAQ,CAAC;MAC/B;QACE;QACA,MAAME,WAAkB,GAAGV,IAAI;QAC/B,OAAOU,WAAW;IACtB;EACF;;EAEA;EACA,iBAAIpB,cAAc,CAACU,IAAI,CAAC,EAAE;IACxB,oBACEX,KAAA,CAAAoB,aAAA,CAAClB,IAAI;MAACoB,KAAK,EAAE,CAACC,MAAM,CAACC,eAAe,EAAE;QAAEZ,KAAK;QAAEC;MAAO,CAAC,CAAE;MAACK,MAAM,EAAEA;IAAO,GACtEP,IACG,CAAC;EAEX;;EAEA;EACA,IAAIA,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAKc,SAAS,EAAE;IACvC,OAAO,IAAI;EACb;;EAEA;EACA,IAAIC,OAAO,EAAE;IACXC,OAAO,CAACC,IAAI,CACV,0CAA0CC,MAAM,CAAClB,IAAI,CAAC,IAAI,GACxD,0DACJ,CAAC;EACH;EAEA,oBACEX,KAAA,CAAAoB,aAAA,CAAChB,QAAQ;IACPQ,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbG,YAAY,EAAEA,YAAa;IAC3BC,MAAM,EAAEA;EAAO,CAChB,CAAC;AAEN;AAEAR,kBAAkB,CAACoB,WAAW,GAAG,oBAAoB;AAErD,MAAMP,MAAM,GAAGpB,UAAU,CAAC4B,MAAM,CAAC;EAC/BP,eAAe,EAAE;IACfQ,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Pulse Placeholder Component
3
+ * Animated opacity fade effect while icon is loading
4
+ */
5
+
6
+ import React, { memo, useEffect, useRef } from 'react';
7
+ import { Animated, StyleSheet, Easing } from 'react-native';
8
+ import { DEFAULT_PLACEHOLDER_CONFIG } from './types';
9
+ /**
10
+ * Pulse placeholder - animated opacity fade effect
11
+ * Provides subtle visual feedback during loading
12
+ */
13
+ function PulseComponent({
14
+ width,
15
+ height,
16
+ color = DEFAULT_PLACEHOLDER_CONFIG.color,
17
+ duration = DEFAULT_PLACEHOLDER_CONFIG.duration,
18
+ borderRadius = DEFAULT_PLACEHOLDER_CONFIG.borderRadius,
19
+ testID
20
+ }) {
21
+ const opacity = useRef(new Animated.Value(1)).current;
22
+ const animationRef = useRef(null);
23
+ useEffect(() => {
24
+ // Create looping pulse animation
25
+ animationRef.current = Animated.loop(Animated.sequence([Animated.timing(opacity, {
26
+ toValue: 0.4,
27
+ duration: duration / 2,
28
+ easing: Easing.inOut(Easing.ease),
29
+ useNativeDriver: true
30
+ }), Animated.timing(opacity, {
31
+ toValue: 1,
32
+ duration: duration / 2,
33
+ easing: Easing.inOut(Easing.ease),
34
+ useNativeDriver: true
35
+ })]));
36
+ animationRef.current.start();
37
+ return () => {
38
+ // Clean up animation on unmount
39
+ if (animationRef.current) {
40
+ animationRef.current.stop();
41
+ }
42
+ };
43
+ }, [opacity, duration]);
44
+ return /*#__PURE__*/React.createElement(Animated.View, {
45
+ style: [styles.pulse, {
46
+ width,
47
+ height,
48
+ backgroundColor: color,
49
+ borderRadius,
50
+ opacity
51
+ }],
52
+ testID: testID,
53
+ accessibilityRole: "none",
54
+ accessibilityElementsHidden: true,
55
+ importantForAccessibility: "no"
56
+ });
57
+ }
58
+ const styles = StyleSheet.create({
59
+ pulse: {
60
+ overflow: 'hidden'
61
+ }
62
+ });
63
+
64
+ /**
65
+ * Memoized Pulse component
66
+ * Animation runs independently of re-renders
67
+ */
68
+ export const Pulse = /*#__PURE__*/memo(PulseComponent);
69
+ Pulse.displayName = 'Pulse';
70
+ //# sourceMappingURL=Pulse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","memo","useEffect","useRef","Animated","StyleSheet","Easing","DEFAULT_PLACEHOLDER_CONFIG","PulseComponent","width","height","color","duration","borderRadius","testID","opacity","Value","current","animationRef","loop","sequence","timing","toValue","easing","inOut","ease","useNativeDriver","start","stop","createElement","View","style","styles","pulse","backgroundColor","accessibilityRole","accessibilityElementsHidden","importantForAccessibility","create","overflow","Pulse","displayName"],"sourceRoot":"../../../src","sources":["placeholder/Pulse.tsx"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtD,SAASC,QAAQ,EAAEC,UAAU,EAAEC,MAAM,QAAQ,cAAc;AAC3D,SAASC,0BAA0B,QAAQ,SAAS;AAGpD;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAAC;EACtBC,KAAK;EACLC,MAAM;EACNC,KAAK,GAAGJ,0BAA0B,CAACI,KAAK;EACxCC,QAAQ,GAAGL,0BAA0B,CAACK,QAAQ;EAC9CC,YAAY,GAAGN,0BAA0B,CAACM,YAAY;EACtDC;AACgB,CAAC,EAAsB;EACvC,MAAMC,OAAO,GAAGZ,MAAM,CAAC,IAAIC,QAAQ,CAACY,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EACrD,MAAMC,YAAY,GAAGf,MAAM,CAAqC,IAAI,CAAC;EAErED,SAAS,CAAC,MAAM;IACd;IACAgB,YAAY,CAACD,OAAO,GAAGb,QAAQ,CAACe,IAAI,CAClCf,QAAQ,CAACgB,QAAQ,CAAC,CAChBhB,QAAQ,CAACiB,MAAM,CAACN,OAAO,EAAE;MACvBO,OAAO,EAAE,GAAG;MACZV,QAAQ,EAAEA,QAAQ,GAAG,CAAC;MACtBW,MAAM,EAAEjB,MAAM,CAACkB,KAAK,CAAClB,MAAM,CAACmB,IAAI,CAAC;MACjCC,eAAe,EAAE;IACnB,CAAC,CAAC,EACFtB,QAAQ,CAACiB,MAAM,CAACN,OAAO,EAAE;MACvBO,OAAO,EAAE,CAAC;MACVV,QAAQ,EAAEA,QAAQ,GAAG,CAAC;MACtBW,MAAM,EAAEjB,MAAM,CAACkB,KAAK,CAAClB,MAAM,CAACmB,IAAI,CAAC;MACjCC,eAAe,EAAE;IACnB,CAAC,CAAC,CACH,CACH,CAAC;IAEDR,YAAY,CAACD,OAAO,CAACU,KAAK,CAAC,CAAC;IAE5B,OAAO,MAAM;MACX;MACA,IAAIT,YAAY,CAACD,OAAO,EAAE;QACxBC,YAAY,CAACD,OAAO,CAACW,IAAI,CAAC,CAAC;MAC7B;IACF,CAAC;EACH,CAAC,EAAE,CAACb,OAAO,EAAEH,QAAQ,CAAC,CAAC;EAEvB,oBACEZ,KAAA,CAAA6B,aAAA,CAACzB,QAAQ,CAAC0B,IAAI;IACZC,KAAK,EAAE,CACLC,MAAM,CAACC,KAAK,EACZ;MACExB,KAAK;MACLC,MAAM;MACNwB,eAAe,EAAEvB,KAAK;MACtBE,YAAY;MACZE;IACF,CAAC,CACD;IACFD,MAAM,EAAEA,MAAO;IACfqB,iBAAiB,EAAC,MAAM;IACxBC,2BAA2B;IAC3BC,yBAAyB,EAAC;EAAI,CAC/B,CAAC;AAEN;AAEA,MAAML,MAAM,GAAG3B,UAAU,CAACiC,MAAM,CAAC;EAC/BL,KAAK,EAAE;IACLM,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA,OAAO,MAAMC,KAAK,gBAAGvC,IAAI,CAACO,cAAc,CAAC;AACzCgC,KAAK,CAACC,WAAW,GAAG,OAAO","ignoreList":[]}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Shimmer Placeholder Component
3
+ * Animated gradient sweep effect while icon is loading
4
+ */
5
+
6
+ import React, { memo, useEffect, useRef } from 'react';
7
+ import { Animated, StyleSheet, View, Easing } from 'react-native';
8
+ import { DEFAULT_PLACEHOLDER_CONFIG } from './types';
9
+ /**
10
+ * Shimmer placeholder - animated light sweep effect
11
+ * Provides prominent visual feedback during loading
12
+ * Uses translateX animation for smooth performance
13
+ */
14
+ function ShimmerComponent({
15
+ width,
16
+ height,
17
+ color = DEFAULT_PLACEHOLDER_CONFIG.color,
18
+ highlightColor = DEFAULT_PLACEHOLDER_CONFIG.highlightColor,
19
+ duration = DEFAULT_PLACEHOLDER_CONFIG.duration,
20
+ borderRadius = DEFAULT_PLACEHOLDER_CONFIG.borderRadius,
21
+ testID
22
+ }) {
23
+ const translateX = useRef(new Animated.Value(-width)).current;
24
+ const animationRef = useRef(null);
25
+ useEffect(() => {
26
+ // Reset animation when width changes
27
+ translateX.setValue(-width);
28
+
29
+ // Create looping shimmer animation
30
+ animationRef.current = Animated.loop(Animated.timing(translateX, {
31
+ toValue: width,
32
+ duration: duration,
33
+ easing: Easing.linear,
34
+ useNativeDriver: true
35
+ }));
36
+ animationRef.current.start();
37
+ return () => {
38
+ // Clean up animation on unmount
39
+ if (animationRef.current) {
40
+ animationRef.current.stop();
41
+ }
42
+ };
43
+ }, [translateX, width, duration]);
44
+
45
+ // Calculate shimmer bar width (30% of container width)
46
+ const shimmerWidth = Math.max(width * 0.3, 20);
47
+ return /*#__PURE__*/React.createElement(View, {
48
+ style: [styles.container, {
49
+ width,
50
+ height,
51
+ backgroundColor: color,
52
+ borderRadius
53
+ }],
54
+ testID: testID,
55
+ accessibilityRole: "none",
56
+ accessibilityElementsHidden: true,
57
+ importantForAccessibility: "no"
58
+ }, /*#__PURE__*/React.createElement(Animated.View, {
59
+ style: [styles.shimmer, {
60
+ width: shimmerWidth,
61
+ height,
62
+ backgroundColor: highlightColor,
63
+ transform: [{
64
+ translateX
65
+ }]
66
+ }]
67
+ }));
68
+ }
69
+ const styles = StyleSheet.create({
70
+ container: {
71
+ overflow: 'hidden',
72
+ position: 'relative'
73
+ },
74
+ shimmer: {
75
+ position: 'absolute',
76
+ top: 0,
77
+ left: 0,
78
+ opacity: 0.5
79
+ }
80
+ });
81
+
82
+ /**
83
+ * Memoized Shimmer component
84
+ * Animation runs independently of re-renders
85
+ */
86
+ export const Shimmer = /*#__PURE__*/memo(ShimmerComponent);
87
+ Shimmer.displayName = 'Shimmer';
88
+ //# sourceMappingURL=Shimmer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","memo","useEffect","useRef","Animated","StyleSheet","View","Easing","DEFAULT_PLACEHOLDER_CONFIG","ShimmerComponent","width","height","color","highlightColor","duration","borderRadius","testID","translateX","Value","current","animationRef","setValue","loop","timing","toValue","easing","linear","useNativeDriver","start","stop","shimmerWidth","Math","max","createElement","style","styles","container","backgroundColor","accessibilityRole","accessibilityElementsHidden","importantForAccessibility","shimmer","transform","create","overflow","position","top","left","opacity","Shimmer","displayName"],"sourceRoot":"../../../src","sources":["placeholder/Shimmer.tsx"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtD,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,QAAQ,cAAc;AACjE,SAASC,0BAA0B,QAAQ,SAAS;AAGpD;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAAC;EACxBC,KAAK;EACLC,MAAM;EACNC,KAAK,GAAGJ,0BAA0B,CAACI,KAAK;EACxCC,cAAc,GAAGL,0BAA0B,CAACK,cAAc;EAC1DC,QAAQ,GAAGN,0BAA0B,CAACM,QAAQ;EAC9CC,YAAY,GAAGP,0BAA0B,CAACO,YAAY;EACtDC;AACgB,CAAC,EAAsB;EACvC,MAAMC,UAAU,GAAGd,MAAM,CAAC,IAAIC,QAAQ,CAACc,KAAK,CAAC,CAACR,KAAK,CAAC,CAAC,CAACS,OAAO;EAC7D,MAAMC,YAAY,GAAGjB,MAAM,CAAqC,IAAI,CAAC;EAErED,SAAS,CAAC,MAAM;IACd;IACAe,UAAU,CAACI,QAAQ,CAAC,CAACX,KAAK,CAAC;;IAE3B;IACAU,YAAY,CAACD,OAAO,GAAGf,QAAQ,CAACkB,IAAI,CAClClB,QAAQ,CAACmB,MAAM,CAACN,UAAU,EAAE;MAC1BO,OAAO,EAAEd,KAAK;MACdI,QAAQ,EAAEA,QAAQ;MAClBW,MAAM,EAAElB,MAAM,CAACmB,MAAM;MACrBC,eAAe,EAAE;IACnB,CAAC,CACH,CAAC;IAEDP,YAAY,CAACD,OAAO,CAACS,KAAK,CAAC,CAAC;IAE5B,OAAO,MAAM;MACX;MACA,IAAIR,YAAY,CAACD,OAAO,EAAE;QACxBC,YAAY,CAACD,OAAO,CAACU,IAAI,CAAC,CAAC;MAC7B;IACF,CAAC;EACH,CAAC,EAAE,CAACZ,UAAU,EAAEP,KAAK,EAAEI,QAAQ,CAAC,CAAC;;EAEjC;EACA,MAAMgB,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACtB,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC;EAE9C,oBACEV,KAAA,CAAAiC,aAAA,CAAC3B,IAAI;IACH4B,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MACE1B,KAAK;MACLC,MAAM;MACN0B,eAAe,EAAEzB,KAAK;MACtBG;IACF,CAAC,CACD;IACFC,MAAM,EAAEA,MAAO;IACfsB,iBAAiB,EAAC,MAAM;IACxBC,2BAA2B;IAC3BC,yBAAyB,EAAC;EAAI,gBAE9BxC,KAAA,CAAAiC,aAAA,CAAC7B,QAAQ,CAACE,IAAI;IACZ4B,KAAK,EAAE,CACLC,MAAM,CAACM,OAAO,EACd;MACE/B,KAAK,EAAEoB,YAAY;MACnBnB,MAAM;MACN0B,eAAe,EAAExB,cAAc;MAC/B6B,SAAS,EAAE,CAAC;QAAEzB;MAAW,CAAC;IAC5B,CAAC;EACD,CACH,CACG,CAAC;AAEX;AAEA,MAAMkB,MAAM,GAAG9B,UAAU,CAACsC,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE;EACZ,CAAC;EACDJ,OAAO,EAAE;IACPI,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,OAAO,EAAE;EACX;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA,OAAO,MAAMC,OAAO,gBAAGhD,IAAI,CAACQ,gBAAgB,CAAC;AAC7CwC,OAAO,CAACC,WAAW,GAAG,SAAS","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Skeleton Placeholder Component
3
+ * Static gray box shown while icon is loading
4
+ */
5
+
6
+ import React, { memo } from 'react';
7
+ import { View, StyleSheet } from 'react-native';
8
+ import { DEFAULT_PLACEHOLDER_CONFIG } from './types';
9
+ /**
10
+ * Skeleton placeholder - a simple static colored box
11
+ * Lightweight alternative when animation is not needed
12
+ */
13
+ function SkeletonComponent({
14
+ width,
15
+ height,
16
+ color = DEFAULT_PLACEHOLDER_CONFIG.color,
17
+ borderRadius = DEFAULT_PLACEHOLDER_CONFIG.borderRadius,
18
+ testID
19
+ }) {
20
+ return /*#__PURE__*/React.createElement(View, {
21
+ style: [styles.skeleton, {
22
+ width,
23
+ height,
24
+ backgroundColor: color,
25
+ borderRadius
26
+ }],
27
+ testID: testID,
28
+ accessibilityRole: "none",
29
+ accessibilityElementsHidden: true,
30
+ importantForAccessibility: "no"
31
+ });
32
+ }
33
+ const styles = StyleSheet.create({
34
+ skeleton: {
35
+ overflow: 'hidden'
36
+ }
37
+ });
38
+
39
+ /**
40
+ * Memoized Skeleton component
41
+ * Only re-renders when dimensions or styling change
42
+ */
43
+ export const Skeleton = /*#__PURE__*/memo(SkeletonComponent);
44
+ Skeleton.displayName = 'Skeleton';
45
+ //# sourceMappingURL=Skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","memo","View","StyleSheet","DEFAULT_PLACEHOLDER_CONFIG","SkeletonComponent","width","height","color","borderRadius","testID","createElement","style","styles","skeleton","backgroundColor","accessibilityRole","accessibilityElementsHidden","importantForAccessibility","create","overflow","Skeleton","displayName"],"sourceRoot":"../../../src","sources":["placeholder/Skeleton.tsx"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,0BAA0B,QAAQ,SAAS;AAGpD;AACA;AACA;AACA;AACA,SAASC,iBAAiBA,CAAC;EACzBC,KAAK;EACLC,MAAM;EACNC,KAAK,GAAGJ,0BAA0B,CAACI,KAAK;EACxCC,YAAY,GAAGL,0BAA0B,CAACK,YAAY;EACtDC;AACgB,CAAC,EAAsB;EACvC,oBACEV,KAAA,CAAAW,aAAA,CAACT,IAAI;IACHU,KAAK,EAAE,CACLC,MAAM,CAACC,QAAQ,EACf;MACER,KAAK;MACLC,MAAM;MACNQ,eAAe,EAAEP,KAAK;MACtBC;IACF,CAAC,CACD;IACFC,MAAM,EAAEA,MAAO;IACfM,iBAAiB,EAAC,MAAM;IACxBC,2BAA2B;IAC3BC,yBAAyB,EAAC;EAAI,CAC/B,CAAC;AAEN;AAEA,MAAML,MAAM,GAAGV,UAAU,CAACgB,MAAM,CAAC;EAC/BL,QAAQ,EAAE;IACRM,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA,OAAO,MAAMC,QAAQ,gBAAGpB,IAAI,CAACI,iBAAiB,CAAC;AAC/CgB,QAAQ,CAACC,WAAW,GAAG,UAAU","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Placeholder System
3
+ * Provides visual feedback while icons are loading
4
+ */
5
+
6
+ // Types
7
+
8
+ export { DEFAULT_PLACEHOLDER_CONFIG } from './types';
9
+
10
+ // Components
11
+ export { Skeleton } from './Skeleton';
12
+ export { Pulse } from './Pulse';
13
+ export { Shimmer } from './Shimmer';
14
+ export { PlaceholderFactory } from './PlaceholderFactory';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_PLACEHOLDER_CONFIG","Skeleton","Pulse","Shimmer","PlaceholderFactory"],"sourceRoot":"../../../src","sources":["placeholder/index.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA;;AAQA,SAASA,0BAA0B,QAAQ,SAAS;;AAEpD;AACA,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,kBAAkB,QAAQ,sBAAsB","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Placeholder System Types
3
+ * Provides type definitions for icon loading placeholders
4
+ */
5
+
6
+ /**
7
+ * Built-in placeholder animation types
8
+ * - skeleton: Static gray box (no animation)
9
+ * - pulse: Opacity fade animation
10
+ * - shimmer: Gradient sweep animation
11
+ */
12
+
13
+ /**
14
+ * Placeholder type - can be a preset string or custom ReactNode
15
+ */
16
+
17
+ /**
18
+ * Configuration for placeholder appearance
19
+ */
20
+
21
+ /**
22
+ * Props for placeholder components
23
+ */
24
+
25
+ /**
26
+ * Default placeholder configuration values
27
+ */
28
+ export const DEFAULT_PLACEHOLDER_CONFIG = {
29
+ color: '#E1E1E1',
30
+ highlightColor: '#F5F5F5',
31
+ duration: 1000,
32
+ borderRadius: 4
33
+ };
34
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_PLACEHOLDER_CONFIG","color","highlightColor","duration","borderRadius"],"sourceRoot":"../../../src","sources":["placeholder/types.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AA2BA;AACA;AACA;;AAkBA;AACA;AACA;AACA,OAAO,MAAMA,0BAAuD,GAAG;EACrEC,KAAK,EAAE,SAAS;EAChBC,cAAc,EAAE,SAAS;EACzBC,QAAQ,EAAE,IAAI;EACdC,YAAY,EAAE;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * IconThemeProvider
3
+ * Provides global theme configuration for all icon components
4
+ */
5
+
6
+ import React, { useState, useMemo, useCallback, memo } from 'react';
7
+ import { IconThemeContext, mergeWithDefaults } from './context';
8
+ /**
9
+ * IconThemeProvider
10
+ *
11
+ * Wraps your app to provide global icon theming.
12
+ * All descendant icon components will inherit these defaults.
13
+ *
14
+ * @example Basic usage
15
+ * ```tsx
16
+ * import { IconThemeProvider } from 'rn-iconify';
17
+ *
18
+ * export default function App() {
19
+ * return (
20
+ * <IconThemeProvider theme={{ size: 20, color: '#333' }}>
21
+ * <YourApp />
22
+ * </IconThemeProvider>
23
+ * );
24
+ * }
25
+ * ```
26
+ *
27
+ * @example With placeholder defaults
28
+ * ```tsx
29
+ * <IconThemeProvider
30
+ * theme={{
31
+ * size: 24,
32
+ * color: '#1a1a1a',
33
+ * placeholder: 'shimmer',
34
+ * placeholderColor: '#f0f0f0',
35
+ * }}
36
+ * >
37
+ * <YourApp />
38
+ * </IconThemeProvider>
39
+ * ```
40
+ *
41
+ * @example Dynamic theme switching
42
+ * ```tsx
43
+ * function App() {
44
+ * const [isDark, setIsDark] = useState(false);
45
+ *
46
+ * return (
47
+ * <IconThemeProvider
48
+ * theme={{
49
+ * color: isDark ? '#ffffff' : '#000000',
50
+ * placeholderColor: isDark ? '#333333' : '#e1e1e1',
51
+ * }}
52
+ * >
53
+ * <YourApp />
54
+ * </IconThemeProvider>
55
+ * );
56
+ * }
57
+ * ```
58
+ */
59
+ function IconThemeProviderComponent({
60
+ theme: initialTheme,
61
+ children
62
+ }) {
63
+ const [theme, setThemeState] = useState(() => mergeWithDefaults(initialTheme));
64
+
65
+ // Memoized setTheme that supports both direct value and updater function
66
+ const setTheme = useCallback(newTheme => {
67
+ setThemeState(prevTheme => {
68
+ const nextTheme = typeof newTheme === 'function' ? newTheme(prevTheme) : newTheme;
69
+ return mergeWithDefaults(nextTheme);
70
+ });
71
+ }, []);
72
+
73
+ // Update internal state when prop changes
74
+ React.useEffect(() => {
75
+ setThemeState(mergeWithDefaults(initialTheme));
76
+ }, [initialTheme]);
77
+
78
+ // Memoize context value to prevent unnecessary re-renders
79
+ const contextValue = useMemo(() => ({
80
+ theme,
81
+ setTheme
82
+ }), [theme, setTheme]);
83
+ return /*#__PURE__*/React.createElement(IconThemeContext.Provider, {
84
+ value: contextValue
85
+ }, children);
86
+ }
87
+ IconThemeProviderComponent.displayName = 'IconThemeProvider';
88
+ export const IconThemeProvider = /*#__PURE__*/memo(IconThemeProviderComponent);
89
+ //# sourceMappingURL=IconThemeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useMemo","useCallback","memo","IconThemeContext","mergeWithDefaults","IconThemeProviderComponent","theme","initialTheme","children","setThemeState","setTheme","newTheme","prevTheme","nextTheme","useEffect","contextValue","createElement","Provider","value","displayName","IconThemeProvider"],"sourceRoot":"../../../src","sources":["theme/IconThemeProvider.tsx"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,EAAEC,IAAI,QAAQ,OAAO;AACnE,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,WAAW;AAG/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,0BAA0BA,CAAC;EAClCC,KAAK,EAAEC,YAAY;EACnBC;AACsB,CAAC,EAAsB;EAC7C,MAAM,CAACF,KAAK,EAAEG,aAAa,CAAC,GAAGV,QAAQ,CAAY,MAAMK,iBAAiB,CAACG,YAAY,CAAC,CAAC;;EAEzF;EACA,MAAMG,QAAQ,GAAGT,WAAW,CAAEU,QAAsD,IAAK;IACvFF,aAAa,CAAEG,SAAS,IAAK;MAC3B,MAAMC,SAAS,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAACC,SAAS,CAAC,GAAGD,QAAQ;MACjF,OAAOP,iBAAiB,CAACS,SAAS,CAAC;IACrC,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;;EAEN;EACAf,KAAK,CAACgB,SAAS,CAAC,MAAM;IACpBL,aAAa,CAACL,iBAAiB,CAACG,YAAY,CAAC,CAAC;EAChD,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;;EAElB;EACA,MAAMQ,YAAY,GAAGf,OAAO,CAC1B,OAAO;IACLM,KAAK;IACLI;EACF,CAAC,CAAC,EACF,CAACJ,KAAK,EAAEI,QAAQ,CAClB,CAAC;EAED,oBAAOZ,KAAA,CAAAkB,aAAA,CAACb,gBAAgB,CAACc,QAAQ;IAACC,KAAK,EAAEH;EAAa,GAAEP,QAAoC,CAAC;AAC/F;AAEAH,0BAA0B,CAACc,WAAW,GAAG,mBAAmB;AAE5D,OAAO,MAAMC,iBAAiB,gBAAGlB,IAAI,CAACG,0BAA0B,CAAC","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * IconThemeContext
3
+ * React Context for icon theming
4
+ */
5
+
6
+ import { createContext } from 'react';
7
+ import { DEFAULT_ICON_THEME } from './types';
8
+
9
+ /**
10
+ * Default context value when no provider is present
11
+ * setTheme is a no-op by default
12
+ */
13
+ const defaultContextValue = {
14
+ theme: DEFAULT_ICON_THEME,
15
+ setTheme: () => {
16
+ if (__DEV__) {
17
+ console.warn('[rn-iconify] setTheme called without IconThemeProvider. ' + 'Wrap your app with <IconThemeProvider> to enable theme updates.');
18
+ }
19
+ }
20
+ };
21
+
22
+ /**
23
+ * IconThemeContext
24
+ *
25
+ * Provides icon theme configuration to all descendant icon components.
26
+ * Use with IconThemeProvider for proper functionality.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * // Access theme directly (prefer useIconTheme hook instead)
31
+ * const { theme, setTheme } = useContext(IconThemeContext);
32
+ * ```
33
+ */
34
+ export const IconThemeContext = /*#__PURE__*/createContext(defaultContextValue);
35
+ IconThemeContext.displayName = 'IconThemeContext';
36
+
37
+ /**
38
+ * Helper to merge theme with defaults
39
+ * Ensures all required properties have values
40
+ */
41
+ export function mergeWithDefaults(theme) {
42
+ return {
43
+ ...DEFAULT_ICON_THEME,
44
+ ...theme
45
+ };
46
+ }
47
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","DEFAULT_ICON_THEME","defaultContextValue","theme","setTheme","__DEV__","console","warn","IconThemeContext","displayName","mergeWithDefaults"],"sourceRoot":"../../../src","sources":["theme/context.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,QAAQ,OAAO;AAErC,SAASC,kBAAkB,QAAQ,SAAS;;AAE5C;AACA;AACA;AACA;AACA,MAAMC,mBAA0C,GAAG;EACjDC,KAAK,EAAEF,kBAAkB;EACzBG,QAAQ,EAAEA,CAAA,KAAM;IACd,IAAIC,OAAO,EAAE;MACXC,OAAO,CAACC,IAAI,CACV,0DAA0D,GACxD,iEACJ,CAAC;IACH;EACF;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,gBAAGR,aAAa,CAAwBE,mBAAmB,CAAC;AAEzFM,gBAAgB,CAACC,WAAW,GAAG,kBAAkB;;AAEjD;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACP,KAAgB,EAAa;EAC7D,OAAO;IACL,GAAGF,kBAAkB;IACrB,GAAGE;EACL,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Theme System
3
+ * Global icon theming and configuration
4
+ */
5
+
6
+ // Components
7
+ export { IconThemeProvider } from './IconThemeProvider';
8
+
9
+ // Context
10
+ export { IconThemeContext, mergeWithDefaults } from './context';
11
+
12
+ // Hooks
13
+ export { useIconTheme, useIconThemeValue, useMergedIconProps } from './useIconTheme';
14
+
15
+ // Types
16
+
17
+ // Constants
18
+ export { DEFAULT_ICON_THEME } from './types';
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IconThemeProvider","IconThemeContext","mergeWithDefaults","useIconTheme","useIconThemeValue","useMergedIconProps","DEFAULT_ICON_THEME"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA;AACA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAEvD;AACA,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,WAAW;;AAE/D;AACA,SAASC,YAAY,EAAEC,iBAAiB,EAAEC,kBAAkB,QAAQ,gBAAgB;;AAEpF;;AAGA;AACA,SAASC,kBAAkB,QAAQ,SAAS","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Theme System Types
3
+ * Defines types for global icon theming and configuration
4
+ */
5
+
6
+ /**
7
+ * Icon theme configuration
8
+ * All properties are optional - components will use their own defaults if not provided
9
+ */
10
+
11
+ /**
12
+ * Props for IconThemeProvider component
13
+ */
14
+
15
+ /**
16
+ * Context value for icon theme
17
+ */
18
+
19
+ /**
20
+ * Default theme values
21
+ * Used when no theme is provided or for missing properties
22
+ */
23
+ export const DEFAULT_ICON_THEME = {
24
+ size: 24,
25
+ color: '#000000',
26
+ placeholder: undefined,
27
+ placeholderColor: '#E1E1E1',
28
+ placeholderDuration: 1000,
29
+ rotate: 0,
30
+ flip: undefined,
31
+ fallbackDelay: 0
32
+ };
33
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_ICON_THEME","size","color","placeholder","undefined","placeholderColor","placeholderDuration","rotate","flip","fallbackDelay"],"sourceRoot":"../../../src","sources":["theme/types.ts"],"mappings":"AAAA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAkDA;AACA;AACA;;AAaA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA,OAAO,MAAMA,kBAC4B,GAAG;EAC1CC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,SAAS;EAChBC,WAAW,EAAEC,SAAS;EACtBC,gBAAgB,EAAE,SAAS;EAC3BC,mBAAmB,EAAE,IAAI;EACzBC,MAAM,EAAE,CAAC;EACTC,IAAI,EAAEJ,SAAS;EACfK,aAAa,EAAE;AACjB,CAAC","ignoreList":[]}