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,313 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.useIconAnimation = useIconAnimation;
8
+ var _react = require("react");
9
+ var _reactNative = require("react-native");
10
+ var _presets = require("./presets");
11
+ /**
12
+ * useIconAnimation - Hook for managing icon animations
13
+ * Handles Animated values, timing, and animation lifecycle
14
+ */
15
+
16
+ /**
17
+ * Hook for managing icon animations
18
+ */
19
+ function useIconAnimation(options = {}) {
20
+ const {
21
+ animation,
22
+ duration,
23
+ loop,
24
+ easing,
25
+ delay = 0,
26
+ autoPlay = true,
27
+ onComplete
28
+ } = options;
29
+
30
+ // Animation state
31
+ const [state, setState] = (0, _react.useState)('idle');
32
+ const animationRef = (0, _react.useRef)(null);
33
+ const mountedRef = (0, _react.useRef)(true);
34
+
35
+ // Animated values
36
+ const rotateValue = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
37
+ const scaleValue = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
38
+ const opacityValue = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
39
+ const translateXValue = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
40
+ const translateYValue = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
41
+
42
+ // Resolve animation config
43
+ const config = (0, _react.useMemo)(() => {
44
+ if (!animation) return null;
45
+ return (0, _presets.resolveAnimation)(animation, {
46
+ duration,
47
+ loop,
48
+ easing,
49
+ delay
50
+ });
51
+ }, [animation, duration, loop, easing, delay]);
52
+
53
+ // Create animation based on config
54
+ const createAnimation = (0, _react.useCallback)(() => {
55
+ if (!config) return null;
56
+ const easingFn = (0, _presets.getEasingFunction)(config.easing);
57
+ const isAlternate = config.direction === 'alternate' || config.direction === 'alternate-reverse';
58
+ const isReverse = config.direction === 'reverse' || config.direction === 'alternate-reverse';
59
+ let fromValue;
60
+ let toValue;
61
+ let animatedValue;
62
+ switch (config.type) {
63
+ case 'rotate':
64
+ animatedValue = rotateValue;
65
+ fromValue = isReverse ? config.to : config.from;
66
+ toValue = isReverse ? config.from : config.to;
67
+ break;
68
+ case 'scale':
69
+ animatedValue = scaleValue;
70
+ fromValue = isReverse ? config.to : config.from;
71
+ toValue = isReverse ? config.from : config.to;
72
+ break;
73
+ case 'opacity':
74
+ animatedValue = opacityValue;
75
+ fromValue = isReverse ? config.to : config.from;
76
+ toValue = isReverse ? config.from : config.to;
77
+ break;
78
+ case 'translate':
79
+ {
80
+ const toT = config.to;
81
+
82
+ // Create sequence for shake effect
83
+ const shakeSequence = _reactNative.Animated.sequence([_reactNative.Animated.timing(translateXValue, {
84
+ toValue: toT.x,
85
+ duration: config.duration / 6,
86
+ easing: easingFn,
87
+ useNativeDriver: true
88
+ }), _reactNative.Animated.timing(translateXValue, {
89
+ toValue: -toT.x,
90
+ duration: config.duration / 6,
91
+ easing: easingFn,
92
+ useNativeDriver: true
93
+ }), _reactNative.Animated.timing(translateXValue, {
94
+ toValue: toT.x * 0.6,
95
+ duration: config.duration / 6,
96
+ easing: easingFn,
97
+ useNativeDriver: true
98
+ }), _reactNative.Animated.timing(translateXValue, {
99
+ toValue: -toT.x * 0.6,
100
+ duration: config.duration / 6,
101
+ easing: easingFn,
102
+ useNativeDriver: true
103
+ }), _reactNative.Animated.timing(translateXValue, {
104
+ toValue: toT.x * 0.3,
105
+ duration: config.duration / 6,
106
+ easing: easingFn,
107
+ useNativeDriver: true
108
+ }), _reactNative.Animated.timing(translateXValue, {
109
+ toValue: 0,
110
+ duration: config.duration / 6,
111
+ easing: easingFn,
112
+ useNativeDriver: true
113
+ })]);
114
+ if (config.loop && config.iterations === -1) {
115
+ return _reactNative.Animated.loop(shakeSequence);
116
+ }
117
+ return shakeSequence;
118
+ }
119
+ case 'sequence':
120
+ // For custom sequences, return null and handle separately
121
+ return null;
122
+ default:
123
+ return null;
124
+ }
125
+
126
+ // Reset to starting value
127
+ animatedValue.setValue(fromValue);
128
+
129
+ // Create the animation
130
+ let anim;
131
+ if (isAlternate) {
132
+ // Alternate: go to target then back
133
+ anim = _reactNative.Animated.sequence([_reactNative.Animated.timing(animatedValue, {
134
+ toValue: toValue,
135
+ duration: config.duration / 2,
136
+ easing: easingFn,
137
+ useNativeDriver: true
138
+ }), _reactNative.Animated.timing(animatedValue, {
139
+ toValue: fromValue,
140
+ duration: config.duration / 2,
141
+ easing: easingFn,
142
+ useNativeDriver: true
143
+ })]);
144
+ } else {
145
+ anim = _reactNative.Animated.timing(animatedValue, {
146
+ toValue: toValue,
147
+ duration: config.duration,
148
+ easing: easingFn,
149
+ useNativeDriver: true
150
+ });
151
+ }
152
+
153
+ // Apply looping
154
+ if (config.loop && config.iterations === -1) {
155
+ return _reactNative.Animated.loop(anim);
156
+ } else if (config.iterations > 1) {
157
+ return _reactNative.Animated.loop(anim, {
158
+ iterations: config.iterations
159
+ });
160
+ }
161
+ return anim;
162
+ }, [config, rotateValue, scaleValue, opacityValue, translateXValue]);
163
+
164
+ // Start animation
165
+ const start = (0, _react.useCallback)(() => {
166
+ if (!config) return;
167
+
168
+ // Stop any existing animation
169
+ if (animationRef.current) {
170
+ animationRef.current.stop();
171
+ }
172
+
173
+ // Apply delay if specified
174
+ const startAnimation = () => {
175
+ const anim = createAnimation();
176
+ if (!anim) return;
177
+ animationRef.current = anim;
178
+ // Use queueMicrotask to defer state update (React 19 compatibility)
179
+ queueMicrotask(() => {
180
+ if (mountedRef.current) {
181
+ setState('running');
182
+ }
183
+ });
184
+ anim.start(({
185
+ finished
186
+ }) => {
187
+ if (mountedRef.current) {
188
+ // Use queueMicrotask to defer state update (React 19 compatibility)
189
+ queueMicrotask(() => {
190
+ if (mountedRef.current) {
191
+ if (finished) {
192
+ setState('completed');
193
+ onComplete?.();
194
+ } else {
195
+ setState('idle');
196
+ }
197
+ }
198
+ });
199
+ }
200
+ });
201
+ };
202
+ if (config.delay > 0) {
203
+ setTimeout(startAnimation, config.delay);
204
+ } else {
205
+ startAnimation();
206
+ }
207
+ }, [config, createAnimation, onComplete]);
208
+
209
+ // Stop animation
210
+ const stop = (0, _react.useCallback)(() => {
211
+ if (animationRef.current) {
212
+ animationRef.current.stop();
213
+ animationRef.current = null;
214
+ }
215
+ // Use queueMicrotask to defer state update (React 19 compatibility)
216
+ queueMicrotask(() => {
217
+ if (mountedRef.current) {
218
+ setState('idle');
219
+ }
220
+ });
221
+ }, []);
222
+
223
+ // Pause animation (not directly supported, we stop it)
224
+ const pause = (0, _react.useCallback)(() => {
225
+ if (animationRef.current) {
226
+ animationRef.current.stop();
227
+ }
228
+ // Use queueMicrotask to defer state update (React 19 compatibility)
229
+ queueMicrotask(() => {
230
+ if (mountedRef.current) {
231
+ setState('paused');
232
+ }
233
+ });
234
+ }, []);
235
+
236
+ // Resume animation
237
+ const resume = (0, _react.useCallback)(() => {
238
+ if (state === 'paused') {
239
+ start();
240
+ }
241
+ }, [state, start]);
242
+
243
+ // Reset animation
244
+ const reset = (0, _react.useCallback)(() => {
245
+ stop();
246
+ rotateValue.setValue(0);
247
+ scaleValue.setValue(1);
248
+ opacityValue.setValue(1);
249
+ translateXValue.setValue(0);
250
+ translateYValue.setValue(0);
251
+ }, [stop, rotateValue, scaleValue, opacityValue, translateXValue, translateYValue]);
252
+
253
+ // Auto-play on mount
254
+ (0, _react.useEffect)(() => {
255
+ mountedRef.current = true;
256
+ if (animation && autoPlay) {
257
+ start();
258
+ }
259
+ return () => {
260
+ mountedRef.current = false;
261
+ stop();
262
+ };
263
+ }, [animation, autoPlay, start, stop]);
264
+
265
+ // Build animated style
266
+ const animatedStyle = (0, _react.useMemo)(() => {
267
+ if (!config) return {};
268
+ switch (config.type) {
269
+ case 'rotate':
270
+ return {
271
+ transform: [{
272
+ rotate: rotateValue.interpolate({
273
+ inputRange: [0, 360],
274
+ outputRange: ['0deg', '360deg']
275
+ })
276
+ }]
277
+ };
278
+ case 'scale':
279
+ return {
280
+ transform: [{
281
+ scale: scaleValue
282
+ }]
283
+ };
284
+ case 'opacity':
285
+ return {
286
+ opacity: opacityValue
287
+ };
288
+ case 'translate':
289
+ return {
290
+ transform: [{
291
+ translateX: translateXValue
292
+ }, {
293
+ translateY: translateYValue
294
+ }]
295
+ };
296
+ default:
297
+ return {};
298
+ }
299
+ }, [config, rotateValue, scaleValue, opacityValue, translateXValue, translateYValue]);
300
+ return {
301
+ animatedStyle,
302
+ hasAnimation: !!animation,
303
+ state,
304
+ isAnimating: state === 'running',
305
+ start,
306
+ stop,
307
+ pause,
308
+ resume,
309
+ reset
310
+ };
311
+ }
312
+ var _default = exports.default = useIconAnimation;
313
+ //# sourceMappingURL=useIconAnimation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_presets","useIconAnimation","options","animation","duration","loop","easing","delay","autoPlay","onComplete","state","setState","useState","animationRef","useRef","mountedRef","rotateValue","Animated","Value","current","scaleValue","opacityValue","translateXValue","translateYValue","config","useMemo","resolveAnimation","createAnimation","useCallback","easingFn","getEasingFunction","isAlternate","direction","isReverse","fromValue","toValue","animatedValue","type","to","from","toT","shakeSequence","sequence","timing","x","useNativeDriver","iterations","setValue","anim","start","stop","startAnimation","queueMicrotask","finished","setTimeout","pause","resume","reset","useEffect","animatedStyle","transform","rotate","interpolate","inputRange","outputRange","scale","opacity","translateX","translateY","hasAnimation","isAnimating","_default","exports","default"],"sourceRoot":"../../../src","sources":["animated/useIconAnimation.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.extractArrayStrings = extractArrayStrings;
7
+ exports.getComponentName = getComponentName;
8
+ exports.getNameAttribute = getNameAttribute;
9
+ exports.getNodeLocation = getNodeLocation;
10
+ exports.isCallTo = isCallTo;
11
+ exports.isValidIconName = isValidIconName;
12
+ exports.matchesPattern = matchesPattern;
13
+ exports.shouldIncludeIcon = shouldIncludeIcon;
14
+ /**
15
+ * AST Utilities
16
+ * Helper functions for working with Babel AST nodes
17
+ */
18
+
19
+ /**
20
+ * Get the component name from a JSX opening element
21
+ * Handles: <Mdi />, <Heroicons />, etc.
22
+ */
23
+ function getComponentName(node, t) {
24
+ const {
25
+ name
26
+ } = node;
27
+
28
+ // Simple identifier: <Mdi />
29
+ if (t.isJSXIdentifier(name)) {
30
+ return name.name;
31
+ }
32
+
33
+ // Member expression: <Icons.Mdi /> - not supported for now
34
+ if (t.isJSXMemberExpression(name)) {
35
+ return null;
36
+ }
37
+ return null;
38
+ }
39
+
40
+ /**
41
+ * Get the value of the 'name' attribute from a JSX element
42
+ * Handles: name="home", name='home'
43
+ * Returns null for dynamic values: name={iconName}
44
+ */
45
+ function getNameAttribute(node, t) {
46
+ for (const attr of node.attributes) {
47
+ // Skip spread attributes: {...props}
48
+ if (t.isJSXSpreadAttribute(attr)) {
49
+ continue;
50
+ }
51
+
52
+ // Check if it's the 'name' attribute
53
+ if (t.isJSXAttribute(attr) && t.isJSXIdentifier(attr.name, {
54
+ name: 'name'
55
+ })) {
56
+ const {
57
+ value
58
+ } = attr;
59
+
60
+ // String literal: name="home"
61
+ if (t.isStringLiteral(value)) {
62
+ return value.value;
63
+ }
64
+
65
+ // JSX expression container: name={"home"} or name={'home'}
66
+ if (t.isJSXExpressionContainer(value)) {
67
+ const {
68
+ expression
69
+ } = value;
70
+
71
+ // String literal inside expression: name={"home"}
72
+ if (t.isStringLiteral(expression)) {
73
+ return expression.value;
74
+ }
75
+
76
+ // Template literal without expressions: name={`home`}
77
+ if (t.isTemplateLiteral(expression) && expression.expressions.length === 0) {
78
+ return expression.quasis[0]?.value.raw || null;
79
+ }
80
+
81
+ // Dynamic value - return null
82
+ return null;
83
+ }
84
+ return null;
85
+ }
86
+ }
87
+ return null;
88
+ }
89
+
90
+ /**
91
+ * Check if a call expression is calling a specific function by name
92
+ * Handles: prefetchIcons([...])
93
+ */
94
+ function isCallTo(path, functionName, t) {
95
+ const {
96
+ callee
97
+ } = path.node;
98
+
99
+ // Direct function call: prefetchIcons()
100
+ if (t.isIdentifier(callee) && callee.name === functionName) {
101
+ return true;
102
+ }
103
+
104
+ // Member expression not supported: something.prefetchIcons()
105
+ return false;
106
+ }
107
+
108
+ /**
109
+ * Extract string values from an array expression
110
+ * Handles: ['mdi:home', 'mdi:settings']
111
+ * Skips dynamic values
112
+ */
113
+ function extractArrayStrings(node, t) {
114
+ if (!node || !t.isArrayExpression(node)) {
115
+ return [];
116
+ }
117
+ const strings = [];
118
+ for (const element of node.elements) {
119
+ if (!element) continue;
120
+
121
+ // String literal
122
+ if (t.isStringLiteral(element)) {
123
+ strings.push(element.value);
124
+ }
125
+
126
+ // Template literal without expressions
127
+ if (t.isTemplateLiteral(element) && element.expressions.length === 0) {
128
+ const value = element.quasis[0]?.value.raw;
129
+ if (value) {
130
+ strings.push(value);
131
+ }
132
+ }
133
+ }
134
+ return strings;
135
+ }
136
+
137
+ /**
138
+ * Get location info from a node
139
+ */
140
+ function getNodeLocation(node) {
141
+ return {
142
+ line: node.loc?.start.line ?? 0,
143
+ column: node.loc?.start.column ?? 0
144
+ };
145
+ }
146
+
147
+ /**
148
+ * Check if an icon name matches a pattern (supports wildcards)
149
+ * @example matchesPattern('mdi:home', 'mdi:*') => true
150
+ * @example matchesPattern('mdi:home', 'mdi:home') => true
151
+ * @example matchesPattern('mdi:home', 'heroicons:*') => false
152
+ */
153
+ function matchesPattern(iconName, pattern) {
154
+ // Exact match
155
+ if (pattern === iconName) {
156
+ return true;
157
+ }
158
+
159
+ // Wildcard pattern
160
+ if (pattern.endsWith(':*')) {
161
+ const prefix = pattern.slice(0, -2);
162
+ return iconName.startsWith(prefix + ':');
163
+ }
164
+
165
+ // Glob-style pattern with * in the middle
166
+ if (pattern.includes('*')) {
167
+ const regex = new RegExp('^' + pattern.replace(/\*/g, '.*') + '$');
168
+ return regex.test(iconName);
169
+ }
170
+ return false;
171
+ }
172
+
173
+ /**
174
+ * Check if an icon should be included based on include/exclude patterns
175
+ */
176
+ function shouldIncludeIcon(iconName, include, exclude) {
177
+ // Check exclude first
178
+ if (exclude?.some(pattern => matchesPattern(iconName, pattern))) {
179
+ return false;
180
+ }
181
+
182
+ // If no include patterns, include everything not excluded
183
+ if (!include || include.length === 0) {
184
+ return true;
185
+ }
186
+
187
+ // Check if matches any include pattern
188
+ return include.some(pattern => matchesPattern(iconName, pattern));
189
+ }
190
+
191
+ /**
192
+ * Validate icon name format
193
+ * Valid format: prefix:name (e.g., mdi:home)
194
+ */
195
+ function isValidIconName(name) {
196
+ if (!name || typeof name !== 'string') {
197
+ return false;
198
+ }
199
+ const parts = name.split(':');
200
+ if (parts.length !== 2) {
201
+ return false;
202
+ }
203
+ const [prefix, iconName] = parts;
204
+
205
+ // Both parts must be non-empty
206
+ if (!prefix || !iconName) {
207
+ return false;
208
+ }
209
+
210
+ // Basic validation: alphanumeric and hyphens
211
+ const validPattern = /^[a-z0-9-]+$/i;
212
+ return validPattern.test(prefix) && validPattern.test(iconName);
213
+ }
214
+ //# sourceMappingURL=ast-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getComponentName","node","t","name","isJSXIdentifier","isJSXMemberExpression","getNameAttribute","attr","attributes","isJSXSpreadAttribute","isJSXAttribute","value","isStringLiteral","isJSXExpressionContainer","expression","isTemplateLiteral","expressions","length","quasis","raw","isCallTo","path","functionName","callee","isIdentifier","extractArrayStrings","isArrayExpression","strings","element","elements","push","getNodeLocation","line","loc","start","column","matchesPattern","iconName","pattern","endsWith","prefix","slice","startsWith","includes","regex","RegExp","replace","test","shouldIncludeIcon","include","exclude","some","isValidIconName","parts","split","validPattern"],"sourceRoot":"../../../src","sources":["babel/ast-utils.ts"],"mappings":"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","ignoreList":[]}