@animateicons/react 0.8.0 → 0.10.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 (266) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +11 -35
  3. package/THIRD_PARTY_NOTICES.md +81 -0
  4. package/dist/chunk-2B63ADNT.js +1 -0
  5. package/dist/chunk-2PBMI6WC.js +1 -0
  6. package/dist/chunk-34KR2YNK.js +1 -0
  7. package/dist/chunk-4GC6MGPW.js +1 -0
  8. package/dist/chunk-4HFFJUI2.js +1 -0
  9. package/dist/chunk-4VSQO7MZ.js +1 -0
  10. package/dist/chunk-5AXF5O4I.js +1 -0
  11. package/dist/chunk-5GMDWS4G.js +1 -0
  12. package/dist/chunk-6ZQEVKLY.js +1 -0
  13. package/dist/chunk-7ZZSGOOQ.js +1 -0
  14. package/dist/chunk-A6LJREVG.js +1 -0
  15. package/dist/chunk-B6RG2PVD.js +1 -0
  16. package/dist/chunk-B7KTLCGJ.js +1 -0
  17. package/dist/chunk-BCLIOA4X.js +1 -0
  18. package/dist/chunk-BPMH6Z6U.js +1 -0
  19. package/dist/chunk-CBIZXBPZ.js +1 -0
  20. package/dist/chunk-CIQNAMVI.js +1 -0
  21. package/dist/chunk-CNZMDQFO.js +1 -0
  22. package/dist/chunk-CYC4JJ3H.js +1 -0
  23. package/dist/chunk-D22MTORK.js +1 -0
  24. package/dist/chunk-D4XDWI27.js +1 -0
  25. package/dist/chunk-DEIRBH3R.js +1 -0
  26. package/dist/chunk-DPAERZGX.js +1 -0
  27. package/dist/chunk-DPBYGLOZ.js +1 -0
  28. package/dist/chunk-FDF7UO5C.js +1 -0
  29. package/dist/chunk-FH4BEZCL.js +1 -0
  30. package/dist/chunk-FNQVYVHO.js +1 -0
  31. package/dist/chunk-FSKYMF5V.js +1 -0
  32. package/dist/chunk-G5WTDRMQ.js +1 -0
  33. package/dist/chunk-GMA26YZE.js +1 -0
  34. package/dist/chunk-H46NHIHT.js +1 -0
  35. package/dist/chunk-HM3TQBPA.js +1 -0
  36. package/dist/chunk-I4YVLSSG.js +1 -0
  37. package/dist/chunk-ID5UTVKM.js +1 -0
  38. package/dist/chunk-IEBZVWZV.js +1 -0
  39. package/dist/chunk-IXXO4W2V.js +1 -0
  40. package/dist/chunk-J7ZCT3YX.js +1 -0
  41. package/dist/chunk-JKTCD2BP.js +1 -0
  42. package/dist/chunk-JOIR3OFI.js +1 -0
  43. package/dist/chunk-JXDVHR46.js +1 -0
  44. package/dist/chunk-K42AP4QX.js +1 -0
  45. package/dist/chunk-KUXQL3AO.js +1 -0
  46. package/dist/chunk-KYVTVHLI.js +1 -0
  47. package/dist/chunk-LIMZRX3O.js +1 -0
  48. package/dist/chunk-LV3YEOQB.js +1 -0
  49. package/dist/chunk-MIQWWY2G.js +1 -0
  50. package/dist/chunk-ML7VDOD2.js +1 -0
  51. package/dist/chunk-NCCCTPPL.js +1 -0
  52. package/dist/chunk-NK533O4N.js +1 -0
  53. package/dist/chunk-NWSBD5FJ.js +1 -0
  54. package/dist/chunk-OQZOG4BX.js +1 -0
  55. package/dist/chunk-P3UUXR2D.js +1 -0
  56. package/dist/chunk-PAA27YJP.js +1 -0
  57. package/dist/chunk-PFAM6KQJ.js +1 -0
  58. package/dist/chunk-PQYFCUKL.js +1 -0
  59. package/dist/chunk-PWUW7RQW.js +1 -0
  60. package/dist/chunk-QELGXLON.js +1 -0
  61. package/dist/chunk-QTV27ZTL.js +1 -0
  62. package/dist/chunk-QVSHOGVC.js +1 -0
  63. package/dist/chunk-QXLLKOUZ.js +1 -0
  64. package/dist/chunk-QZHYWHFJ.js +1 -0
  65. package/dist/chunk-RVXAWA6K.js +1 -0
  66. package/dist/chunk-T3PHH7GL.js +1 -0
  67. package/dist/chunk-TNDNCP4O.js +1 -0
  68. package/dist/chunk-TV5ZPGQI.js +1 -0
  69. package/dist/chunk-UAH2MM27.js +1 -0
  70. package/dist/chunk-UBI7ZWNP.js +1 -0
  71. package/dist/chunk-UKDZW2G2.js +1 -0
  72. package/dist/chunk-UT25LOMN.js +1 -0
  73. package/dist/chunk-UUUZ3YZB.js +1 -0
  74. package/dist/chunk-VO3NOOU5.js +1 -0
  75. package/dist/chunk-WDYBH5VK.js +1 -0
  76. package/dist/chunk-WRBKTCY7.js +1 -0
  77. package/dist/chunk-WUN377D6.js +1 -0
  78. package/dist/chunk-XCM2QNF3.js +1 -0
  79. package/dist/chunk-XKG4YODV.js +1 -0
  80. package/dist/chunk-YT7UUKX4.js +1 -0
  81. package/dist/chunk-YWMVEAHZ.js +1 -0
  82. package/dist/chunk-Z2SRDIH2.js +3 -0
  83. package/dist/chunk-Z56R3XQL.js +1 -0
  84. package/dist/chunk-ZAP75CW2.js +1 -0
  85. package/dist/chunk-ZBRLENPG.js +1 -0
  86. package/dist/chunk-ZKUOKETE.js +1 -0
  87. package/dist/chunk-ZSPIXAZJ.js +1 -0
  88. package/dist/huge.cjs +2 -2
  89. package/dist/huge.d.cts +289 -1
  90. package/dist/huge.d.ts +289 -1
  91. package/dist/huge.js +1 -1
  92. package/dist/icons/huge/bookmark-check-icon.js +1 -1
  93. package/dist/icons/huge/bookmark-icon.js +1 -1
  94. package/dist/icons/huge/bookmark-minus-icon.js +1 -1
  95. package/dist/icons/huge/bookmark-remove-icon.js +1 -1
  96. package/dist/icons/huge/coffee-0-1-icon.d.ts +1 -0
  97. package/dist/icons/huge/coffee-0-1-icon.js +1 -0
  98. package/dist/icons/huge/coffee-0-2-icon.d.ts +1 -0
  99. package/dist/icons/huge/coffee-0-2-icon.js +1 -0
  100. package/dist/icons/huge/coffee-0-3-icon.d.ts +1 -0
  101. package/dist/icons/huge/coffee-0-3-icon.js +1 -0
  102. package/dist/icons/huge/coffee-beans-icon.d.ts +1 -0
  103. package/dist/icons/huge/coffee-beans-icon.js +1 -0
  104. package/dist/icons/huge/layers-0-1-icon.js +1 -1
  105. package/dist/icons/huge/layout-0-2-icon.d.ts +1 -0
  106. package/dist/icons/huge/layout-0-2-icon.js +1 -0
  107. package/dist/icons/huge/layout-0-3-icon.d.ts +1 -0
  108. package/dist/icons/huge/layout-0-3-icon.js +1 -0
  109. package/dist/icons/huge/layout-0-4-icon.d.ts +1 -0
  110. package/dist/icons/huge/layout-0-4-icon.js +1 -0
  111. package/dist/icons/huge/layout-0-5-icon.d.ts +1 -0
  112. package/dist/icons/huge/layout-0-5-icon.js +1 -0
  113. package/dist/icons/huge/layout-0-6-icon.d.ts +1 -0
  114. package/dist/icons/huge/layout-0-6-icon.js +1 -0
  115. package/dist/icons/huge/layout-0-7-icon.d.ts +1 -0
  116. package/dist/icons/huge/layout-0-7-icon.js +1 -0
  117. package/dist/icons/huge/layout-align-bottom-icon.d.ts +1 -0
  118. package/dist/icons/huge/layout-align-bottom-icon.js +1 -0
  119. package/dist/icons/huge/layout-align-left-icon.d.ts +1 -0
  120. package/dist/icons/huge/layout-align-left-icon.js +1 -0
  121. package/dist/icons/huge/layout-align-right-icon.d.ts +1 -0
  122. package/dist/icons/huge/layout-align-right-icon.js +1 -0
  123. package/dist/icons/huge/layout-align-top-icon.d.ts +1 -0
  124. package/dist/icons/huge/layout-align-top-icon.js +1 -0
  125. package/dist/icons/huge/layout-dashboard-icon.d.ts +1 -0
  126. package/dist/icons/huge/layout-dashboard-icon.js +1 -0
  127. package/dist/icons/huge/layout-grid-icon.d.ts +1 -0
  128. package/dist/icons/huge/layout-grid-icon.js +1 -0
  129. package/dist/icons/huge/layout-list-icon.d.ts +1 -0
  130. package/dist/icons/huge/layout-list-icon.js +1 -0
  131. package/dist/icons/huge/layout-panel-left-icon.d.ts +1 -0
  132. package/dist/icons/huge/layout-panel-left-icon.js +1 -0
  133. package/dist/icons/huge/layout-panel-top-icon.d.ts +1 -0
  134. package/dist/icons/huge/layout-panel-top-icon.js +1 -0
  135. package/dist/icons/huge/layout-template-icon.d.ts +1 -0
  136. package/dist/icons/huge/layout-template-icon.js +1 -0
  137. package/dist/icons/huge/layout-three-column-icon.d.ts +1 -0
  138. package/dist/icons/huge/layout-three-column-icon.js +1 -0
  139. package/dist/icons/huge/layout-three-row-icon.d.ts +1 -0
  140. package/dist/icons/huge/layout-three-row-icon.js +1 -0
  141. package/dist/icons/huge/layout-two-column-icon.d.ts +1 -0
  142. package/dist/icons/huge/layout-two-column-icon.js +1 -0
  143. package/dist/icons/huge/layout-two-row-icon.d.ts +1 -0
  144. package/dist/icons/huge/layout-two-row-icon.js +1 -0
  145. package/dist/icons/huge/rocket-0-1-icon.js +1 -1
  146. package/dist/icons/huge/star-icon.js +1 -1
  147. package/dist/icons/huge/toggle-on-icon.js +1 -1
  148. package/dist/icons/lucide/audio-waveform-icon.js +1 -1
  149. package/dist/icons/lucide/battery-full-icon.js +1 -1
  150. package/dist/icons/lucide/box-icon.js +1 -1
  151. package/dist/icons/lucide/chevron-down-icon.js +1 -1
  152. package/dist/icons/lucide/chevron-left-icon.js +1 -1
  153. package/dist/icons/lucide/chevron-right-icon.js +1 -1
  154. package/dist/icons/lucide/chevron-up-icon.js +1 -1
  155. package/dist/icons/lucide/clipboard-icon.js +1 -1
  156. package/dist/icons/lucide/cloud-check-icon.js +1 -1
  157. package/dist/icons/lucide/file-archive-icon.js +1 -1
  158. package/dist/icons/lucide/file-check-icon.js +1 -1
  159. package/dist/icons/lucide/file-clock-icon.js +1 -1
  160. package/dist/icons/lucide/file-code-icon.js +1 -1
  161. package/dist/icons/lucide/file-down-icon.js +1 -1
  162. package/dist/icons/lucide/file-heart-icon.js +1 -1
  163. package/dist/icons/lucide/file-icon.js +1 -1
  164. package/dist/icons/lucide/file-image-icon.js +1 -1
  165. package/dist/icons/lucide/file-key-icon.js +1 -1
  166. package/dist/icons/lucide/file-lock-icon.js +1 -1
  167. package/dist/icons/lucide/file-minus-icon.js +1 -1
  168. package/dist/icons/lucide/file-music-icon.js +1 -1
  169. package/dist/icons/lucide/file-pen-icon.js +1 -1
  170. package/dist/icons/lucide/file-plus-icon.js +1 -1
  171. package/dist/icons/lucide/file-scan-icon.js +1 -1
  172. package/dist/icons/lucide/file-search-icon.js +1 -1
  173. package/dist/icons/lucide/file-spreadsheet-icon.js +1 -1
  174. package/dist/icons/lucide/file-terminal-icon.js +1 -1
  175. package/dist/icons/lucide/file-text-icon.js +1 -1
  176. package/dist/icons/lucide/file-type-icon.js +1 -1
  177. package/dist/icons/lucide/file-up-icon.js +1 -1
  178. package/dist/icons/lucide/file-x-icon.js +1 -1
  179. package/dist/icons/lucide/gamepad-icon.js +1 -1
  180. package/dist/icons/lucide/headphones-icon.js +1 -1
  181. package/dist/icons/lucide/headset-icon.js +1 -1
  182. package/dist/icons/lucide/laptop-icon.js +1 -1
  183. package/dist/icons/lucide/layers-icon.js +1 -1
  184. package/dist/icons/lucide/map-pin-icon.js +1 -1
  185. package/dist/icons/lucide/message-circle-icon.js +1 -1
  186. package/dist/icons/lucide/message-circle-more-icon.js +1 -1
  187. package/dist/icons/lucide/message-circle-plus-icon.js +1 -1
  188. package/dist/icons/lucide/message-circle-x-icon.js +1 -1
  189. package/dist/icons/lucide/message-square-dot-icon.js +1 -1
  190. package/dist/icons/lucide/message-square-plus-icon.js +1 -1
  191. package/dist/icons/lucide/message-square-text-icon.js +1 -1
  192. package/dist/icons/lucide/message-square-x-icon.js +1 -1
  193. package/dist/icons/lucide/move-diagonal-2-icon.js +1 -1
  194. package/dist/icons/lucide/move-diagonal-icon.js +1 -1
  195. package/dist/icons/lucide/move-horizontal-icon.js +1 -1
  196. package/dist/icons/lucide/move-vertical-icon.js +1 -1
  197. package/dist/icons/lucide/paperclip-icon.js +1 -1
  198. package/dist/icons/lucide/rocket-icon.js +1 -1
  199. package/dist/icons/lucide/video-icon.js +1 -1
  200. package/dist/index.cjs +1 -1
  201. package/dist/index.d.cts +37 -1
  202. package/dist/index.d.ts +37 -1
  203. package/dist/index.js +1 -0
  204. package/dist/lucide.cjs +3 -3
  205. package/dist/lucide.js +1 -1
  206. package/package.json +8 -4
  207. package/dist/chunk-2YE5U3A6.js +0 -1
  208. package/dist/chunk-33U3APAP.js +0 -1
  209. package/dist/chunk-4D2CRHT6.js +0 -1
  210. package/dist/chunk-4RHL2MVZ.js +0 -1
  211. package/dist/chunk-7NLZLZLK.js +0 -1
  212. package/dist/chunk-ASN4X6J3.js +0 -1
  213. package/dist/chunk-BK5YOU3T.js +0 -1
  214. package/dist/chunk-BS3DJQOK.js +0 -1
  215. package/dist/chunk-DLSTXYJH.js +0 -1
  216. package/dist/chunk-E2HL4IHD.js +0 -1
  217. package/dist/chunk-EBQOI2AR.js +0 -1
  218. package/dist/chunk-EMUFHIFR.js +0 -1
  219. package/dist/chunk-ESV4LHVY.js +0 -1
  220. package/dist/chunk-F554MGVU.js +0 -1
  221. package/dist/chunk-F5XE7T53.js +0 -1
  222. package/dist/chunk-GEYNRL7I.js +0 -1
  223. package/dist/chunk-HBRW4H2O.js +0 -1
  224. package/dist/chunk-HZBRJ3PN.js +0 -1
  225. package/dist/chunk-IPZDCGWZ.js +0 -1
  226. package/dist/chunk-IRLTGFS6.js +0 -1
  227. package/dist/chunk-IZQWOTJT.js +0 -1
  228. package/dist/chunk-JPJ5ATEG.js +0 -1
  229. package/dist/chunk-KCDFYHNM.js +0 -1
  230. package/dist/chunk-KEEHB4GN.js +0 -1
  231. package/dist/chunk-KKKSVFRC.js +0 -1
  232. package/dist/chunk-KPDIYWIG.js +0 -1
  233. package/dist/chunk-KY7HLBVC.js +0 -1
  234. package/dist/chunk-L6UVX6NG.js +0 -1
  235. package/dist/chunk-L7ATBZTV.js +0 -1
  236. package/dist/chunk-LLA7XDAS.js +0 -1
  237. package/dist/chunk-LQWFYYK7.js +0 -1
  238. package/dist/chunk-MDTR74K7.js +0 -1
  239. package/dist/chunk-MIA3QRNE.js +0 -1
  240. package/dist/chunk-MSJZ7HPY.js +0 -1
  241. package/dist/chunk-MYDNRYOV.js +0 -1
  242. package/dist/chunk-NAGHQMVS.js +0 -1
  243. package/dist/chunk-NS5QC2OZ.js +0 -1
  244. package/dist/chunk-O6PJCSJQ.js +0 -1
  245. package/dist/chunk-P5OFYXFQ.js +0 -3
  246. package/dist/chunk-PGLITL4V.js +0 -1
  247. package/dist/chunk-PVBI26HU.js +0 -1
  248. package/dist/chunk-QBKRB3AJ.js +0 -1
  249. package/dist/chunk-QG3GXDHK.js +0 -1
  250. package/dist/chunk-QY6QPCP7.js +0 -1
  251. package/dist/chunk-R26JSHXC.js +0 -1
  252. package/dist/chunk-RG3ATZ3L.js +0 -1
  253. package/dist/chunk-RMRI6PJ2.js +0 -1
  254. package/dist/chunk-UGMNONVK.js +0 -1
  255. package/dist/chunk-VKJKYWUL.js +0 -1
  256. package/dist/chunk-VLYNJ5OX.js +0 -1
  257. package/dist/chunk-W4QXFRD7.js +0 -1
  258. package/dist/chunk-W6HXHJQ3.js +0 -1
  259. package/dist/chunk-WN7XIHVZ.js +0 -1
  260. package/dist/chunk-WVYLUL52.js +0 -1
  261. package/dist/chunk-XMRRITCD.js +0 -1
  262. package/dist/chunk-YFLH5ARM.js +0 -1
  263. package/dist/chunk-YJL4U476.js +0 -1
  264. package/dist/chunk-YSMRV37I.js +0 -1
  265. package/dist/chunk-YWFMJBIR.js +0 -1
  266. package/dist/chunk-YXNUBSYC.js +0 -1
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-KY7HLBVC.js";import"../../chunk-VEXIWKDQ.js";export{a as MapPinIcon};
1
+ "use client";import{a}from"../../chunk-NWSBD5FJ.js";import"../../chunk-VEXIWKDQ.js";export{a as MapPinIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-P5OFYXFQ.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageCircleIcon};
1
+ "use client";import{a}from"../../chunk-Z2SRDIH2.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageCircleIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-UGMNONVK.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageCircleMoreIcon};
1
+ "use client";import{a}from"../../chunk-ZAP75CW2.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageCircleMoreIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-MYDNRYOV.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageCirclePlusIcon};
1
+ "use client";import{a}from"../../chunk-KYVTVHLI.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageCirclePlusIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-EBQOI2AR.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageCircleXIcon};
1
+ "use client";import{a}from"../../chunk-OQZOG4BX.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageCircleXIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-33U3APAP.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageSquareDotIcon};
1
+ "use client";import{a}from"../../chunk-4HFFJUI2.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageSquareDotIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-YSMRV37I.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageSquarePlusIcon};
1
+ "use client";import{a}from"../../chunk-CYC4JJ3H.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageSquarePlusIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-GEYNRL7I.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageSquareTextIcon};
1
+ "use client";import{a}from"../../chunk-G5WTDRMQ.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageSquareTextIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-QBKRB3AJ.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageSquareXIcon};
1
+ "use client";import{a}from"../../chunk-ZSPIXAZJ.js";import"../../chunk-VEXIWKDQ.js";export{a as MessageSquareXIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-MDTR74K7.js";import"../../chunk-VEXIWKDQ.js";export{a as MoveDiagonal2Icon};
1
+ "use client";import{a}from"../../chunk-LV3YEOQB.js";import"../../chunk-VEXIWKDQ.js";export{a as MoveDiagonal2Icon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-IRLTGFS6.js";import"../../chunk-VEXIWKDQ.js";export{a as MoveDiagonalIcon};
1
+ "use client";import{a}from"../../chunk-PAA27YJP.js";import"../../chunk-VEXIWKDQ.js";export{a as MoveDiagonalIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-VLYNJ5OX.js";import"../../chunk-VEXIWKDQ.js";export{a as MoveHorizontalIcon};
1
+ "use client";import{a}from"../../chunk-4VSQO7MZ.js";import"../../chunk-VEXIWKDQ.js";export{a as MoveHorizontalIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-YFLH5ARM.js";import"../../chunk-VEXIWKDQ.js";export{a as MoveVerticalIcon};
1
+ "use client";import{a}from"../../chunk-QZHYWHFJ.js";import"../../chunk-VEXIWKDQ.js";export{a as MoveVerticalIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-QY6QPCP7.js";import"../../chunk-VEXIWKDQ.js";export{a as PaperclipIcon};
1
+ "use client";import{a}from"../../chunk-4GC6MGPW.js";import"../../chunk-VEXIWKDQ.js";export{a as PaperclipIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-R26JSHXC.js";import"../../chunk-VEXIWKDQ.js";export{a as RocketIcon};
1
+ "use client";import{a}from"../../chunk-JOIR3OFI.js";import"../../chunk-VEXIWKDQ.js";export{a as RocketIcon};
@@ -1 +1 @@
1
- "use client";import{a}from"../../chunk-KCDFYHNM.js";import"../../chunk-VEXIWKDQ.js";export{a as VideoIcon};
1
+ "use client";import{a}from"../../chunk-RVXAWA6K.js";import"../../chunk-VEXIWKDQ.js";export{a as VideoIcon};
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- 'use strict';
2
+ 'use strict';var react=require('react');var d="data-animateicon",C=["hover","click","both"],S=["trigger"],R=["icon","trigger"],I=e=>typeof e=="string"&&C.includes(e),h=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),f=e=>{if(typeof e=="string")return JSON.stringify(e);try{return String(e)}catch{return Object.prototype.toString.call(e)}},O=e=>{if(!h(e))throw new TypeError(`useIconHover: options must be an object like { trigger: "click" }, received ${f(e)}.`);let t=Object.keys(e).find(n=>!S.includes(n));if(t!==void 0)throw new TypeError(`useIconHover: unknown option "${t}". The only option is "trigger".`);let{trigger:r="hover"}=e;if(I(r))return {list:false,entries:[{icon:"",trigger:r}]};if(!Array.isArray(r))throw new TypeError(`useIconHover: "trigger" must be "hover", "click", "both" or a list like [{ icon: "bell", trigger: "click" }], received ${f(r)}.`);if(r.length===0)throw new RangeError('useIconHover: "trigger" must not be an empty list.');let g=new Set;return {list:true,entries:r.map((n,l)=>{let c=`trigger[${l}]`;if(!h(n))throw new TypeError(`useIconHover: ${c} must be an object like { icon: "bell", trigger: "click" }, received ${f(n)}.`);let s=Object.keys(n).find(o=>!R.includes(o));if(s!==void 0)throw new TypeError(`useIconHover: ${c} has an unknown key "${s}". Valid keys are "icon" and "trigger".`);if(typeof n.icon!="string"||n.icon==="")throw new TypeError(`useIconHover: ${c}.icon must be a non-empty string, received ${f(n.icon)}.`);if(!I(n.trigger))throw new TypeError(`useIconHover: ${c}.trigger must be "hover", "click" or "both", received ${f(n.trigger)}.`);if(g.has(n.icon))throw new TypeError(`useIconHover: the icon ${f(n.icon)} appears more than once in "trigger". Each icon name must be unique.`);return g.add(n.icon),{icon:n.icon,trigger:n.trigger}})}},$=e=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(e):setTimeout(e,0);},A=e=>{let t=e?.currentTarget;return t&&typeof t.querySelectorAll=="function"?t:void 0},x=e=>{let t=new Set,r=e.getAttribute(d);return r&&t.add(r),e.querySelectorAll(`[${d}]`).forEach(g=>{let u=g.getAttribute(d);u&&t.add(u);}),t},m=e=>e!=="click",v=e=>e!=="hover";function M(e={}){let{list:t,entries:r}=O(e),g=react.useId(),u=JSON.stringify(r);return react.useMemo(()=>{let n=JSON.parse(u).map(o=>({...o,marker:`${g}:${o.icon}`,ref:{current:null}})),l=(o,i,a)=>{let y=a?x(a):void 0;n.forEach(({icon:w,marker:T,trigger:E,ref:k})=>{let p=k.current;if(!(!p||!o(E))&&!(y&&!y.has(T))){if(typeof p.startAnimation!="function"||typeof p.stopAnimation!="function")throw new TypeError(`useIconHover: ${t?`icon.${w}`:"ref"} is attached to something that is not an AnimateIcons icon. Pass it to an icon component.`);i(p);}});},c=o=>t?A(o):void 0,s={};return n.some(({trigger:o})=>m(o))&&(s.onMouseEnter=o=>l(m,i=>i.startAnimation(),c(o)),s.onMouseLeave=o=>l(m,i=>i.stopAnimation(),c(o))),n.some(({trigger:o})=>v(o))&&(s.onClick=o=>{let i=c(o);$(()=>l(v,a=>a.startAnimation(),i));}),t?{icon:Object.fromEntries(n.map(({icon:o,marker:i,ref:a})=>[o,{ref:a,[d]:i}])),trigger:s}:{ref:n[0].ref,triggerProps:s}},[u,t,g])}exports.useIconHover=M;
package/dist/index.d.cts CHANGED
@@ -1,3 +1,5 @@
1
+ import { RefObject, SyntheticEvent } from 'react';
2
+
1
3
  /**
2
4
  * Canonical handle exposed by every @animateicons/react icon's
3
5
  * `forwardRef`. Each icon also re-exports its own named alias
@@ -8,4 +10,38 @@ type IconHandle = {
8
10
  stopAnimation: () => void;
9
11
  };
10
12
 
11
- export type { IconHandle };
13
+ type IconTrigger = "hover" | "click" | "both";
14
+ type IconConfig = {
15
+ icon: string;
16
+ trigger: IconTrigger;
17
+ };
18
+ type IconTriggerProps = {
19
+ onMouseEnter?: (event?: SyntheticEvent<HTMLElement>) => void;
20
+ onMouseLeave?: (event?: SyntheticEvent<HTMLElement>) => void;
21
+ onClick?: (event?: SyntheticEvent<HTMLElement>) => void;
22
+ };
23
+ type IconRef = RefObject<IconHandle | null>;
24
+ type IconRefProps = {
25
+ ref: IconRef;
26
+ "data-animateicon": string;
27
+ };
28
+ type SingleOptions = {
29
+ trigger?: IconTrigger;
30
+ };
31
+ type ConfigOptions<C extends readonly IconConfig[]> = {
32
+ trigger: C;
33
+ };
34
+ type SingleResult = {
35
+ ref: IconRef;
36
+ triggerProps: IconTriggerProps;
37
+ };
38
+ type ConfigResult<C extends readonly IconConfig[]> = {
39
+ icon: {
40
+ [K in C[number]["icon"]]: IconRefProps;
41
+ };
42
+ trigger: IconTriggerProps;
43
+ };
44
+ declare function useIconHover(options?: SingleOptions): SingleResult;
45
+ declare function useIconHover<const C extends readonly IconConfig[]>(options: ConfigOptions<C>): ConfigResult<C>;
46
+
47
+ export { type IconConfig, type IconHandle, type IconTrigger, useIconHover };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { RefObject, SyntheticEvent } from 'react';
2
+
1
3
  /**
2
4
  * Canonical handle exposed by every @animateicons/react icon's
3
5
  * `forwardRef`. Each icon also re-exports its own named alias
@@ -8,4 +10,38 @@ type IconHandle = {
8
10
  stopAnimation: () => void;
9
11
  };
10
12
 
11
- export type { IconHandle };
13
+ type IconTrigger = "hover" | "click" | "both";
14
+ type IconConfig = {
15
+ icon: string;
16
+ trigger: IconTrigger;
17
+ };
18
+ type IconTriggerProps = {
19
+ onMouseEnter?: (event?: SyntheticEvent<HTMLElement>) => void;
20
+ onMouseLeave?: (event?: SyntheticEvent<HTMLElement>) => void;
21
+ onClick?: (event?: SyntheticEvent<HTMLElement>) => void;
22
+ };
23
+ type IconRef = RefObject<IconHandle | null>;
24
+ type IconRefProps = {
25
+ ref: IconRef;
26
+ "data-animateicon": string;
27
+ };
28
+ type SingleOptions = {
29
+ trigger?: IconTrigger;
30
+ };
31
+ type ConfigOptions<C extends readonly IconConfig[]> = {
32
+ trigger: C;
33
+ };
34
+ type SingleResult = {
35
+ ref: IconRef;
36
+ triggerProps: IconTriggerProps;
37
+ };
38
+ type ConfigResult<C extends readonly IconConfig[]> = {
39
+ icon: {
40
+ [K in C[number]["icon"]]: IconRefProps;
41
+ };
42
+ trigger: IconTriggerProps;
43
+ };
44
+ declare function useIconHover(options?: SingleOptions): SingleResult;
45
+ declare function useIconHover<const C extends readonly IconConfig[]>(options: ConfigOptions<C>): ConfigResult<C>;
46
+
47
+ export { type IconConfig, type IconHandle, type IconTrigger, useIconHover };
package/dist/index.js CHANGED
@@ -1 +1,2 @@
1
1
  "use client";
2
+ import{useId as b,useMemo as H}from"react";var d="data-animateicon",C=["hover","click","both"],S=["trigger"],R=["icon","trigger"],I=e=>typeof e=="string"&&C.includes(e),h=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),f=e=>{if(typeof e=="string")return JSON.stringify(e);try{return String(e)}catch{return Object.prototype.toString.call(e)}},O=e=>{if(!h(e))throw new TypeError(`useIconHover: options must be an object like { trigger: "click" }, received ${f(e)}.`);let t=Object.keys(e).find(n=>!S.includes(n));if(t!==void 0)throw new TypeError(`useIconHover: unknown option "${t}". The only option is "trigger".`);let{trigger:r="hover"}=e;if(I(r))return{list:!1,entries:[{icon:"",trigger:r}]};if(!Array.isArray(r))throw new TypeError(`useIconHover: "trigger" must be "hover", "click", "both" or a list like [{ icon: "bell", trigger: "click" }], received ${f(r)}.`);if(r.length===0)throw new RangeError('useIconHover: "trigger" must not be an empty list.');let g=new Set;return{list:!0,entries:r.map((n,l)=>{let c=`trigger[${l}]`;if(!h(n))throw new TypeError(`useIconHover: ${c} must be an object like { icon: "bell", trigger: "click" }, received ${f(n)}.`);let s=Object.keys(n).find(o=>!R.includes(o));if(s!==void 0)throw new TypeError(`useIconHover: ${c} has an unknown key "${s}". Valid keys are "icon" and "trigger".`);if(typeof n.icon!="string"||n.icon==="")throw new TypeError(`useIconHover: ${c}.icon must be a non-empty string, received ${f(n.icon)}.`);if(!I(n.trigger))throw new TypeError(`useIconHover: ${c}.trigger must be "hover", "click" or "both", received ${f(n.trigger)}.`);if(g.has(n.icon))throw new TypeError(`useIconHover: the icon ${f(n.icon)} appears more than once in "trigger". Each icon name must be unique.`);return g.add(n.icon),{icon:n.icon,trigger:n.trigger}})}},$=e=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(e):setTimeout(e,0)},A=e=>{let t=e?.currentTarget;return t&&typeof t.querySelectorAll=="function"?t:void 0},x=e=>{let t=new Set,r=e.getAttribute(d);return r&&t.add(r),e.querySelectorAll(`[${d}]`).forEach(g=>{let u=g.getAttribute(d);u&&t.add(u)}),t},m=e=>e!=="click",v=e=>e!=="hover";function M(e={}){let{list:t,entries:r}=O(e),g=b(),u=JSON.stringify(r);return H(()=>{let n=JSON.parse(u).map(o=>({...o,marker:`${g}:${o.icon}`,ref:{current:null}})),l=(o,i,a)=>{let y=a?x(a):void 0;n.forEach(({icon:w,marker:T,trigger:E,ref:k})=>{let p=k.current;if(!(!p||!o(E))&&!(y&&!y.has(T))){if(typeof p.startAnimation!="function"||typeof p.stopAnimation!="function")throw new TypeError(`useIconHover: ${t?`icon.${w}`:"ref"} is attached to something that is not an AnimateIcons icon. Pass it to an icon component.`);i(p)}})},c=o=>t?A(o):void 0,s={};return n.some(({trigger:o})=>m(o))&&(s.onMouseEnter=o=>l(m,i=>i.startAnimation(),c(o)),s.onMouseLeave=o=>l(m,i=>i.stopAnimation(),c(o))),n.some(({trigger:o})=>v(o))&&(s.onClick=o=>{let i=c(o);$(()=>l(v,a=>a.startAnimation(),i))}),t?{icon:Object.fromEntries(n.map(({icon:o,marker:i,ref:a})=>[o,{ref:a,[d]:i}])),trigger:s}:{ref:n[0].ref,triggerProps:s}},[u,t,g])}export{M as useIconHover};