@hanzogui/toast 8.3.0 → 8.3.2

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 (400) hide show
  1. package/dist/cjs/Toast.js +122 -0
  2. package/dist/cjs/Toast.js.map +1 -0
  3. package/dist/cjs/ToastAnnounce.js +55 -0
  4. package/dist/cjs/ToastAnnounce.js.map +1 -0
  5. package/dist/cjs/ToastComposable.js +849 -0
  6. package/dist/cjs/ToastComposable.js.map +1 -0
  7. package/dist/cjs/ToastImperative.js +90 -0
  8. package/dist/cjs/ToastImperative.js.map +1 -0
  9. package/dist/cjs/ToastImpl.js +307 -0
  10. package/dist/cjs/ToastImpl.js.map +1 -0
  11. package/dist/cjs/ToastItemFrame.js +121 -0
  12. package/dist/cjs/ToastItemFrame.js.map +1 -0
  13. package/dist/cjs/ToastPortal.js +16 -0
  14. package/dist/cjs/ToastPortal.js.map +1 -0
  15. package/dist/cjs/ToastProvider.js +72 -0
  16. package/dist/cjs/ToastProvider.js.map +1 -0
  17. package/dist/cjs/ToastState.js +284 -0
  18. package/dist/cjs/ToastState.js.map +1 -0
  19. package/dist/cjs/ToastViewport.js +289 -0
  20. package/dist/cjs/ToastViewport.js.map +1 -0
  21. package/dist/cjs/Toaster.js +13 -0
  22. package/dist/cjs/Toaster.js.map +1 -0
  23. package/dist/cjs/constants.js +6 -0
  24. package/dist/cjs/constants.js.map +1 -0
  25. package/dist/cjs/createNativeToast.js +42 -0
  26. package/dist/cjs/createNativeToast.js.map +1 -0
  27. package/dist/cjs/dispatchNativeToast.js +31 -0
  28. package/dist/cjs/dispatchNativeToast.js.map +1 -0
  29. package/dist/cjs/index.js +5 -0
  30. package/dist/cjs/index.js.map +1 -0
  31. package/dist/cjs/package.json +1 -0
  32. package/dist/cjs/types.js +3 -0
  33. package/dist/cjs/types.js.map +1 -0
  34. package/dist/cjs/useAnimatedDragGesture.js +251 -0
  35. package/dist/cjs/useAnimatedDragGesture.js.map +1 -0
  36. package/dist/cjs/useReducedMotion.js +52 -0
  37. package/dist/cjs/useReducedMotion.js.map +1 -0
  38. package/dist/cjs/useToastAnimations.js +252 -0
  39. package/dist/cjs/useToastAnimations.js.map +1 -0
  40. package/dist/cjs/v2.js +17 -0
  41. package/dist/cjs/v2.js.map +1 -0
  42. package/dist/esm/Toast.js +117 -0
  43. package/dist/esm/Toast.js.map +1 -0
  44. package/dist/esm/ToastAnnounce.js +50 -0
  45. package/dist/esm/ToastAnnounce.js.map +1 -0
  46. package/dist/esm/ToastComposable.js +843 -0
  47. package/dist/esm/ToastComposable.js.map +1 -0
  48. package/dist/esm/ToastImperative.js +82 -0
  49. package/dist/esm/ToastImperative.js.map +1 -0
  50. package/dist/esm/ToastImpl.js +301 -0
  51. package/dist/esm/ToastImpl.js.map +1 -0
  52. package/dist/esm/ToastItemFrame.js +117 -0
  53. package/dist/esm/ToastItemFrame.js.map +1 -0
  54. package/dist/esm/ToastPortal.js +13 -0
  55. package/dist/esm/ToastPortal.js.map +1 -0
  56. package/dist/esm/ToastProvider.js +64 -0
  57. package/dist/esm/ToastProvider.js.map +1 -0
  58. package/dist/esm/ToastState.js +281 -0
  59. package/dist/esm/ToastState.js.map +1 -0
  60. package/dist/esm/ToastViewport.js +282 -0
  61. package/dist/esm/ToastViewport.js.map +1 -0
  62. package/dist/esm/Toaster.js +9 -0
  63. package/dist/esm/Toaster.js.map +1 -0
  64. package/dist/esm/constants.js +3 -0
  65. package/dist/esm/constants.js.map +1 -0
  66. package/dist/esm/createNativeToast.js +36 -0
  67. package/dist/esm/createNativeToast.js.map +1 -0
  68. package/dist/esm/dispatchNativeToast.js +28 -0
  69. package/dist/esm/dispatchNativeToast.js.map +1 -0
  70. package/dist/esm/index.js +2 -2
  71. package/dist/esm/index.js.map +1 -1
  72. package/dist/esm/types.js +2 -0
  73. package/dist/esm/types.js.map +1 -0
  74. package/dist/esm/useAnimatedDragGesture.js +247 -0
  75. package/dist/esm/useAnimatedDragGesture.js.map +1 -0
  76. package/dist/esm/useReducedMotion.js +48 -0
  77. package/dist/esm/useReducedMotion.js.map +1 -0
  78. package/dist/esm/useToastAnimations.js +248 -0
  79. package/dist/esm/useToastAnimations.js.map +1 -0
  80. package/dist/esm/v2.js +8 -0
  81. package/dist/esm/v2.js.map +1 -0
  82. package/dist/native/Toast.js +117 -0
  83. package/dist/native/Toast.js.map +1 -0
  84. package/dist/native/ToastAnnounce.js +50 -0
  85. package/dist/native/ToastAnnounce.js.map +1 -0
  86. package/dist/native/ToastComposable.js +843 -0
  87. package/dist/native/ToastComposable.js.map +1 -0
  88. package/dist/native/ToastImperative.js +82 -0
  89. package/dist/native/ToastImperative.js.map +1 -0
  90. package/dist/native/ToastImpl.js +301 -0
  91. package/dist/native/ToastImpl.js.map +1 -0
  92. package/dist/native/ToastItemFrame.js +117 -0
  93. package/dist/native/ToastItemFrame.js.map +1 -0
  94. package/dist/native/ToastPortal.js +13 -0
  95. package/dist/native/ToastPortal.js.map +1 -0
  96. package/dist/native/ToastProvider.js +64 -0
  97. package/dist/native/ToastProvider.js.map +1 -0
  98. package/dist/native/ToastState.js +281 -0
  99. package/dist/native/ToastState.js.map +1 -0
  100. package/dist/native/ToastViewport.js +282 -0
  101. package/dist/native/ToastViewport.js.map +1 -0
  102. package/dist/native/Toaster.js +9 -0
  103. package/dist/native/Toaster.js.map +1 -0
  104. package/dist/native/constants.js +3 -0
  105. package/dist/native/constants.js.map +1 -0
  106. package/dist/native/createNativeToast.js +25 -0
  107. package/dist/native/createNativeToast.js.map +1 -0
  108. package/dist/native/dispatchNativeToast.js +28 -0
  109. package/dist/native/dispatchNativeToast.js.map +1 -0
  110. package/dist/native/index.js +2 -0
  111. package/dist/native/index.js.map +1 -0
  112. package/dist/native/types.js +2 -0
  113. package/dist/native/types.js.map +1 -0
  114. package/dist/native/useAnimatedDragGesture.js +210 -0
  115. package/dist/native/useAnimatedDragGesture.js.map +1 -0
  116. package/dist/native/useReducedMotion.js +48 -0
  117. package/dist/native/useReducedMotion.js.map +1 -0
  118. package/dist/native/useToastAnimations.js +248 -0
  119. package/dist/native/useToastAnimations.js.map +1 -0
  120. package/dist/native/v2.js +8 -0
  121. package/dist/native/v2.js.map +1 -0
  122. package/package.json +44 -45
  123. package/src/Toast.tsx +9 -9
  124. package/src/ToastAnnounce.tsx +2 -2
  125. package/src/ToastComposable.tsx +9 -9
  126. package/src/ToastImperative.tsx +2 -2
  127. package/src/ToastImpl.tsx +5 -5
  128. package/src/ToastPortal.tsx +4 -1
  129. package/src/ToastProvider.tsx +4 -4
  130. package/src/ToastState.ts +1 -1
  131. package/src/ToastViewport.tsx +4 -4
  132. package/src/Toaster.tsx +5 -5
  133. package/src/createNativeToast.native.tsx +1 -1
  134. package/src/createNativeToast.tsx +1 -1
  135. package/src/dispatchNativeToast.ts +3 -3
  136. package/src/index.ts +7 -3
  137. package/src/useAnimatedDragGesture.native.ts +1 -1
  138. package/src/useAnimatedDragGesture.ts +1 -1
  139. package/src/v2.ts +13 -9
  140. package/types/Toast.d.ts +19 -19
  141. package/types/Toast.d.ts.map +1 -1
  142. package/types/ToastAnnounce.d.ts +1 -1
  143. package/types/ToastAnnounce.d.ts.map +1 -1
  144. package/types/ToastComposable.d.ts +14 -14
  145. package/types/ToastComposable.d.ts.map +1 -1
  146. package/types/ToastImperative.d.ts +3 -3
  147. package/types/ToastImperative.d.ts.map +1 -1
  148. package/types/ToastImpl.d.ts +7 -7
  149. package/types/ToastImpl.d.ts.map +1 -1
  150. package/types/ToastItemFrame.d.ts +4 -4
  151. package/types/ToastItemFrame.d.ts.map +1 -1
  152. package/types/ToastPortal.d.ts +2 -2
  153. package/types/ToastPortal.d.ts.map +1 -1
  154. package/types/ToastProvider.d.ts +3 -3
  155. package/types/ToastProvider.d.ts.map +1 -1
  156. package/types/ToastState.d.ts +15 -12
  157. package/types/ToastState.d.ts.map +1 -1
  158. package/types/ToastViewport.d.ts +5 -5
  159. package/types/Toaster.d.ts +4 -4
  160. package/types/Toaster.d.ts.map +1 -1
  161. package/types/createNativeToast.d.ts +1 -1
  162. package/types/createNativeToast.d.ts.map +1 -1
  163. package/types/createNativeToast.native.d.ts +1 -1
  164. package/types/createNativeToast.native.d.ts.map +1 -1
  165. package/types/dispatchNativeToast.d.ts +2 -2
  166. package/types/dispatchNativeToast.d.ts.map +1 -1
  167. package/types/index.d.ts +3 -3
  168. package/types/index.d.ts.map +1 -1
  169. package/types/useAnimatedDragGesture.d.ts +1 -1
  170. package/types/useAnimatedDragGesture.d.ts.map +1 -1
  171. package/types/useAnimatedDragGesture.native.d.ts +1 -1
  172. package/types/useAnimatedDragGesture.native.d.ts.map +1 -1
  173. package/types/v2.d.ts +9 -9
  174. package/types/v2.d.ts.map +1 -1
  175. package/dist/cjs/Toast.cjs +0 -178
  176. package/dist/cjs/Toast.native.js +0 -181
  177. package/dist/cjs/Toast.native.js.map +0 -1
  178. package/dist/cjs/ToastAnnounce.cjs +0 -103
  179. package/dist/cjs/ToastAnnounce.native.js +0 -111
  180. package/dist/cjs/ToastAnnounce.native.js.map +0 -1
  181. package/dist/cjs/ToastComposable.cjs +0 -947
  182. package/dist/cjs/ToastComposable.native.js +0 -1055
  183. package/dist/cjs/ToastComposable.native.js.map +0 -1
  184. package/dist/cjs/ToastImperative.cjs +0 -119
  185. package/dist/cjs/ToastImperative.native.js +0 -130
  186. package/dist/cjs/ToastImperative.native.js.map +0 -1
  187. package/dist/cjs/ToastImpl.cjs +0 -354
  188. package/dist/cjs/ToastImpl.native.js +0 -364
  189. package/dist/cjs/ToastImpl.native.js.map +0 -1
  190. package/dist/cjs/ToastItemFrame.cjs +0 -143
  191. package/dist/cjs/ToastItemFrame.native.js +0 -148
  192. package/dist/cjs/ToastItemFrame.native.js.map +0 -1
  193. package/dist/cjs/ToastPortal.cjs +0 -49
  194. package/dist/cjs/ToastPortal.native.js +0 -52
  195. package/dist/cjs/ToastPortal.native.js.map +0 -1
  196. package/dist/cjs/ToastProvider.cjs +0 -150
  197. package/dist/cjs/ToastProvider.native.js +0 -161
  198. package/dist/cjs/ToastProvider.native.js.map +0 -1
  199. package/dist/cjs/ToastState.cjs +0 -311
  200. package/dist/cjs/ToastState.native.js +0 -324
  201. package/dist/cjs/ToastState.native.js.map +0 -1
  202. package/dist/cjs/ToastViewport.cjs +0 -319
  203. package/dist/cjs/ToastViewport.native.js +0 -343
  204. package/dist/cjs/ToastViewport.native.js.map +0 -1
  205. package/dist/cjs/Toaster.cjs +0 -87
  206. package/dist/cjs/Toaster.native.js +0 -91
  207. package/dist/cjs/Toaster.native.js.map +0 -1
  208. package/dist/cjs/constants.cjs +0 -30
  209. package/dist/cjs/constants.native.js +0 -33
  210. package/dist/cjs/constants.native.js.map +0 -1
  211. package/dist/cjs/createNativeToast.cjs +0 -59
  212. package/dist/cjs/createNativeToast.native.js +0 -60
  213. package/dist/cjs/createNativeToast.native.js.map +0 -1
  214. package/dist/cjs/dispatchNativeToast.cjs +0 -47
  215. package/dist/cjs/dispatchNativeToast.native.js +0 -52
  216. package/dist/cjs/dispatchNativeToast.native.js.map +0 -1
  217. package/dist/cjs/index.cjs +0 -20
  218. package/dist/cjs/index.native.js +0 -23
  219. package/dist/cjs/index.native.js.map +0 -1
  220. package/dist/cjs/types.cjs +0 -18
  221. package/dist/cjs/types.native.js +0 -21
  222. package/dist/cjs/types.native.js.map +0 -1
  223. package/dist/cjs/useAnimatedDragGesture.cjs +0 -214
  224. package/dist/cjs/useAnimatedDragGesture.native.js +0 -224
  225. package/dist/cjs/useAnimatedDragGesture.native.js.map +0 -1
  226. package/dist/cjs/useReducedMotion.cjs +0 -74
  227. package/dist/cjs/useReducedMotion.native.js +0 -83
  228. package/dist/cjs/useReducedMotion.native.js.map +0 -1
  229. package/dist/cjs/useToastAnimations.cjs +0 -292
  230. package/dist/cjs/useToastAnimations.native.js +0 -302
  231. package/dist/cjs/useToastAnimations.native.js.map +0 -1
  232. package/dist/cjs/v2.cjs +0 -36
  233. package/dist/cjs/v2.native.js +0 -39
  234. package/dist/cjs/v2.native.js.map +0 -1
  235. package/dist/esm/Toast.mjs +0 -137
  236. package/dist/esm/Toast.mjs.map +0 -1
  237. package/dist/esm/Toast.native.js +0 -137
  238. package/dist/esm/Toast.native.js.map +0 -1
  239. package/dist/esm/ToastAnnounce.mjs +0 -66
  240. package/dist/esm/ToastAnnounce.mjs.map +0 -1
  241. package/dist/esm/ToastAnnounce.native.js +0 -71
  242. package/dist/esm/ToastAnnounce.native.js.map +0 -1
  243. package/dist/esm/ToastComposable.mjs +0 -909
  244. package/dist/esm/ToastComposable.mjs.map +0 -1
  245. package/dist/esm/ToastComposable.native.js +0 -1014
  246. package/dist/esm/ToastComposable.native.js.map +0 -1
  247. package/dist/esm/ToastImperative.mjs +0 -80
  248. package/dist/esm/ToastImperative.mjs.map +0 -1
  249. package/dist/esm/ToastImperative.native.js +0 -88
  250. package/dist/esm/ToastImperative.native.js.map +0 -1
  251. package/dist/esm/ToastImpl.mjs +0 -316
  252. package/dist/esm/ToastImpl.mjs.map +0 -1
  253. package/dist/esm/ToastImpl.native.js +0 -329
  254. package/dist/esm/ToastImpl.native.js.map +0 -1
  255. package/dist/esm/ToastItemFrame.mjs +0 -114
  256. package/dist/esm/ToastItemFrame.mjs.map +0 -1
  257. package/dist/esm/ToastItemFrame.native.js +0 -116
  258. package/dist/esm/ToastItemFrame.native.js.map +0 -1
  259. package/dist/esm/ToastPortal.mjs +0 -24
  260. package/dist/esm/ToastPortal.mjs.map +0 -1
  261. package/dist/esm/ToastPortal.native.js +0 -24
  262. package/dist/esm/ToastPortal.native.js.map +0 -1
  263. package/dist/esm/ToastProvider.mjs +0 -110
  264. package/dist/esm/ToastProvider.mjs.map +0 -1
  265. package/dist/esm/ToastProvider.native.js +0 -118
  266. package/dist/esm/ToastProvider.native.js.map +0 -1
  267. package/dist/esm/ToastState.mjs +0 -285
  268. package/dist/esm/ToastState.mjs.map +0 -1
  269. package/dist/esm/ToastState.native.js +0 -295
  270. package/dist/esm/ToastState.native.js.map +0 -1
  271. package/dist/esm/ToastViewport.mjs +0 -280
  272. package/dist/esm/ToastViewport.mjs.map +0 -1
  273. package/dist/esm/ToastViewport.native.js +0 -301
  274. package/dist/esm/ToastViewport.native.js.map +0 -1
  275. package/dist/esm/Toaster.mjs +0 -51
  276. package/dist/esm/Toaster.mjs.map +0 -1
  277. package/dist/esm/Toaster.native.js +0 -52
  278. package/dist/esm/Toaster.native.js.map +0 -1
  279. package/dist/esm/constants.mjs +0 -4
  280. package/dist/esm/constants.mjs.map +0 -1
  281. package/dist/esm/constants.native.js +0 -4
  282. package/dist/esm/constants.native.js.map +0 -1
  283. package/dist/esm/createNativeToast.mjs +0 -32
  284. package/dist/esm/createNativeToast.mjs.map +0 -1
  285. package/dist/esm/createNativeToast.native.js +0 -30
  286. package/dist/esm/createNativeToast.native.js.map +0 -1
  287. package/dist/esm/dispatchNativeToast.mjs +0 -22
  288. package/dist/esm/dispatchNativeToast.mjs.map +0 -1
  289. package/dist/esm/dispatchNativeToast.native.js +0 -24
  290. package/dist/esm/dispatchNativeToast.native.js.map +0 -1
  291. package/dist/esm/index.mjs +0 -2
  292. package/dist/esm/index.mjs.map +0 -1
  293. package/dist/esm/index.native.js +0 -2
  294. package/dist/esm/index.native.js.map +0 -1
  295. package/dist/esm/types.mjs +0 -2
  296. package/dist/esm/types.mjs.map +0 -1
  297. package/dist/esm/types.native.js +0 -2
  298. package/dist/esm/types.native.js.map +0 -1
  299. package/dist/esm/useAnimatedDragGesture.mjs +0 -178
  300. package/dist/esm/useAnimatedDragGesture.mjs.map +0 -1
  301. package/dist/esm/useAnimatedDragGesture.native.js +0 -185
  302. package/dist/esm/useAnimatedDragGesture.native.js.map +0 -1
  303. package/dist/esm/useReducedMotion.mjs +0 -38
  304. package/dist/esm/useReducedMotion.mjs.map +0 -1
  305. package/dist/esm/useReducedMotion.native.js +0 -44
  306. package/dist/esm/useReducedMotion.native.js.map +0 -1
  307. package/dist/esm/useToastAnimations.mjs +0 -256
  308. package/dist/esm/useToastAnimations.mjs.map +0 -1
  309. package/dist/esm/useToastAnimations.native.js +0 -263
  310. package/dist/esm/useToastAnimations.native.js.map +0 -1
  311. package/dist/esm/v2.mjs +0 -6
  312. package/dist/esm/v2.mjs.map +0 -1
  313. package/dist/esm/v2.native.js +0 -6
  314. package/dist/esm/v2.native.js.map +0 -1
  315. package/dist/jsx/Toast.mjs +0 -137
  316. package/dist/jsx/Toast.mjs.map +0 -1
  317. package/dist/jsx/Toast.native.js +0 -181
  318. package/dist/jsx/Toast.native.js.map +0 -1
  319. package/dist/jsx/ToastAnnounce.mjs +0 -66
  320. package/dist/jsx/ToastAnnounce.mjs.map +0 -1
  321. package/dist/jsx/ToastAnnounce.native.js +0 -111
  322. package/dist/jsx/ToastAnnounce.native.js.map +0 -1
  323. package/dist/jsx/ToastComposable.mjs +0 -909
  324. package/dist/jsx/ToastComposable.mjs.map +0 -1
  325. package/dist/jsx/ToastComposable.native.js +0 -1055
  326. package/dist/jsx/ToastComposable.native.js.map +0 -1
  327. package/dist/jsx/ToastImperative.mjs +0 -80
  328. package/dist/jsx/ToastImperative.mjs.map +0 -1
  329. package/dist/jsx/ToastImperative.native.js +0 -130
  330. package/dist/jsx/ToastImperative.native.js.map +0 -1
  331. package/dist/jsx/ToastImpl.mjs +0 -316
  332. package/dist/jsx/ToastImpl.mjs.map +0 -1
  333. package/dist/jsx/ToastImpl.native.js +0 -364
  334. package/dist/jsx/ToastImpl.native.js.map +0 -1
  335. package/dist/jsx/ToastItemFrame.mjs +0 -114
  336. package/dist/jsx/ToastItemFrame.mjs.map +0 -1
  337. package/dist/jsx/ToastItemFrame.native.js +0 -148
  338. package/dist/jsx/ToastItemFrame.native.js.map +0 -1
  339. package/dist/jsx/ToastPortal.mjs +0 -24
  340. package/dist/jsx/ToastPortal.mjs.map +0 -1
  341. package/dist/jsx/ToastPortal.native.js +0 -52
  342. package/dist/jsx/ToastPortal.native.js.map +0 -1
  343. package/dist/jsx/ToastProvider.mjs +0 -110
  344. package/dist/jsx/ToastProvider.mjs.map +0 -1
  345. package/dist/jsx/ToastProvider.native.js +0 -161
  346. package/dist/jsx/ToastProvider.native.js.map +0 -1
  347. package/dist/jsx/ToastState.mjs +0 -285
  348. package/dist/jsx/ToastState.mjs.map +0 -1
  349. package/dist/jsx/ToastState.native.js +0 -324
  350. package/dist/jsx/ToastState.native.js.map +0 -1
  351. package/dist/jsx/ToastViewport.mjs +0 -280
  352. package/dist/jsx/ToastViewport.mjs.map +0 -1
  353. package/dist/jsx/ToastViewport.native.js +0 -343
  354. package/dist/jsx/ToastViewport.native.js.map +0 -1
  355. package/dist/jsx/Toaster.mjs +0 -51
  356. package/dist/jsx/Toaster.mjs.map +0 -1
  357. package/dist/jsx/Toaster.native.js +0 -91
  358. package/dist/jsx/Toaster.native.js.map +0 -1
  359. package/dist/jsx/constants.mjs +0 -4
  360. package/dist/jsx/constants.mjs.map +0 -1
  361. package/dist/jsx/constants.native.js +0 -33
  362. package/dist/jsx/constants.native.js.map +0 -1
  363. package/dist/jsx/createNativeToast.mjs +0 -32
  364. package/dist/jsx/createNativeToast.mjs.map +0 -1
  365. package/dist/jsx/createNativeToast.native.js +0 -60
  366. package/dist/jsx/createNativeToast.native.js.map +0 -1
  367. package/dist/jsx/dispatchNativeToast.mjs +0 -22
  368. package/dist/jsx/dispatchNativeToast.mjs.map +0 -1
  369. package/dist/jsx/dispatchNativeToast.native.js +0 -52
  370. package/dist/jsx/dispatchNativeToast.native.js.map +0 -1
  371. package/dist/jsx/index.js +0 -2
  372. package/dist/jsx/index.js.map +0 -1
  373. package/dist/jsx/index.mjs +0 -2
  374. package/dist/jsx/index.mjs.map +0 -1
  375. package/dist/jsx/index.native.js +0 -23
  376. package/dist/jsx/index.native.js.map +0 -1
  377. package/dist/jsx/types.mjs +0 -2
  378. package/dist/jsx/types.mjs.map +0 -1
  379. package/dist/jsx/types.native.js +0 -21
  380. package/dist/jsx/types.native.js.map +0 -1
  381. package/dist/jsx/useAnimatedDragGesture.mjs +0 -178
  382. package/dist/jsx/useAnimatedDragGesture.mjs.map +0 -1
  383. package/dist/jsx/useAnimatedDragGesture.native.js +0 -224
  384. package/dist/jsx/useAnimatedDragGesture.native.js.map +0 -1
  385. package/dist/jsx/useReducedMotion.mjs +0 -38
  386. package/dist/jsx/useReducedMotion.mjs.map +0 -1
  387. package/dist/jsx/useReducedMotion.native.js +0 -83
  388. package/dist/jsx/useReducedMotion.native.js.map +0 -1
  389. package/dist/jsx/useToastAnimations.mjs +0 -256
  390. package/dist/jsx/useToastAnimations.mjs.map +0 -1
  391. package/dist/jsx/useToastAnimations.native.js +0 -302
  392. package/dist/jsx/useToastAnimations.native.js.map +0 -1
  393. package/dist/jsx/v2.mjs +0 -6
  394. package/dist/jsx/v2.mjs.map +0 -1
  395. package/dist/jsx/v2.native.js +0 -39
  396. package/dist/jsx/v2.native.js.map +0 -1
  397. package/v2/index.cjs +0 -2
  398. package/v2/index.js +0 -2
  399. package/v2/index.native.cjs +0 -2
  400. package/v2/index.native.js +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastViewport.js","sourceRoot":"","sources":["../../src/ToastViewport.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { Toast } from './ToastComposable.js';
4
+ export const Toaster = React.forwardRef(function Toaster(props, ref) {
5
+ const { position = 'bottom-right', expand = false, visibleToasts, gap, duration, offset, hotkey, swipeDirection, swipeThreshold, closeButton, theme, icons, toastOptions, containerAriaLabel = 'Notifications', native, burntOptions, notificationOptions, reducedMotion, } = props;
6
+ return (_jsx(Toast, { position: position, expand: expand, visibleToasts: visibleToasts, gap: gap, duration: toastOptions?.duration ?? duration, swipeDirection: swipeDirection, swipeThreshold: swipeThreshold, closeButton: closeButton, theme: theme, icons: icons, native: native, burntOptions: burntOptions, notificationOptions: notificationOptions, reducedMotion: reducedMotion, children: _jsx(Toast.Viewport, { ref: ref, offset: offset, hotkey: hotkey, label: containerAriaLabel, children: _jsx(Toast.List, {}) }) }));
7
+ });
8
+ Toaster.displayName = 'Toaster';
9
+ //# sourceMappingURL=Toaster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toaster.js","sourceRoot":"","sources":["../../src/Toaster.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAuB,CAAA;AAwH7C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CACrC,SAAS,OAAO,CAAC,KAAK,EAAE,GAAG;IACzB,MAAM,EACJ,QAAQ,GAAG,cAAc,EACzB,MAAM,GAAG,KAAK,EACd,aAAa,EACb,GAAG,EACH,QAAQ,EACR,MAAM,EACN,MAAM,EACN,cAAc,EACd,cAAc,EACd,WAAW,EACX,KAAK,EACL,KAAK,EACL,YAAY,EACZ,kBAAkB,GAAG,eAAe,EACpC,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,aAAa,GACd,GAAG,KAAK,CAAA;IAET,OAAO,CACL,KAAC,KAAK,IACJ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,YAAY,EAAE,QAAQ,IAAI,QAAQ,EAC5C,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,aAAa,YAE5B,KAAC,KAAK,CAAC,QAAQ,IACb,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,kBAAkB,YAEzB,KAAC,KAAK,CAAC,IAAI,KAAG,GACC,GACX,CACT,CAAA;AACH,CAAC,CACF,CAAA;AAED,OAAO,CAAC,WAAW,GAAG,SAAS,CAAA"}
@@ -0,0 +1,3 @@
1
+ export const TOAST_NAME = 'Toast';
2
+ export const TOAST_CONTEXT = 'Toast';
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAA;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { getBurnt } from '@hanzogui/native';
2
+ export const createNativeToast = (title, { message, duration, burntOptions }) => {
3
+ const burnt = getBurnt();
4
+ if (!burnt.isEnabled) {
5
+ console.warn(`Warning: Must call import '@hanzogui/native/setup-burnt' at your app entry point to use native toasts`);
6
+ return false;
7
+ }
8
+ burnt.state.toast({
9
+ title,
10
+ message,
11
+ duration: duration ? duration / 1000 : undefined,
12
+ ...burntOptions,
13
+ });
14
+ return true;
15
+ };
16
+ export const hideNativeToast = () => {
17
+ const burnt = getBurnt();
18
+ if (!burnt.isEnabled)
19
+ return;
20
+ burnt.state.dismissAllAlerts();
21
+ };
22
+ export async function requestNotificationPermission() {
23
+ return null;
24
+ }
25
+ //# sourceMappingURL=createNativeToast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNativeToast.native.js","sourceRoot":"","sources":["../../src/createNativeToast.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAG3C,MAAM,CAAC,MAAM,iBAAiB,GAAyB,CACrD,KAAK,EACL,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EACnC,EAAE;IACF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CACV,uGAAuG,CACxG,CAAA;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAM,CAAC;QACjB,KAAK;QACL,OAAO;QACP,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;QAChD,GAAG,YAAY;KAChB,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAuB,GAAG,EAAE;IACtD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAM;IAC5B,KAAK,CAAC,KAAK,CAAC,gBAAiB,EAAE,CAAA;AACjC,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { createNativeToast } from './createNativeToast.js';
2
+ /**
3
+ * Attempts to dispatch a toast via native platform API (Burnt on mobile, Notification on web).
4
+ * Returns true if the toast was handled natively, false if it should fall through to in-app.
5
+ */
6
+ export function dispatchNativeToast(toast, opts) {
7
+ const titleText = typeof toast.title === 'function' ? toast.title() : toast.title;
8
+ if (typeof titleText !== 'string')
9
+ return false;
10
+ const descText = typeof toast.description === 'function' ? toast.description() : toast.description;
11
+ const toastType = toast.type ?? 'default';
12
+ const preset = toastType === 'error' ? 'error' : toastType === 'success' ? 'done' : 'none';
13
+ const haptic = toastType === 'error'
14
+ ? 'error'
15
+ : toastType === 'success'
16
+ ? 'success'
17
+ : toastType === 'warning'
18
+ ? 'warning'
19
+ : 'none';
20
+ const result = createNativeToast(titleText, {
21
+ message: typeof descText === 'string' ? descText : undefined,
22
+ duration: toast.duration ?? opts.duration,
23
+ burntOptions: { preset, haptic, ...opts.burntOptions },
24
+ notificationOptions: opts.notificationOptions,
25
+ });
26
+ return result !== false;
27
+ }
28
+ //# sourceMappingURL=dispatchNativeToast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatchNativeToast.js","sourceRoot":"","sources":["../../src/dispatchNativeToast.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAA;AAE3D;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,IAIC;IAED,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IACjF,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE/C,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAA;IACnF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAA;IAEzC,MAAM,MAAM,GACV,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IAC7E,MAAM,MAAM,GACV,SAAS,KAAK,OAAO;QACnB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,SAAS,KAAK,SAAS;YACvB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,SAAS,KAAK,SAAS;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,CAAA;IAEhB,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE;QAC1C,OAAO,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC5D,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;QACzC,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;QACtD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;KAC9C,CAAC,CAAA;IAEF,OAAO,MAAM,KAAK,KAAK,CAAA;AACzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './Toast.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Native drag gesture handling for toast swipe-to-dismiss.
3
+ *
4
+ * Uses react-native-gesture-handler (RNGH) when available for proper gesture
5
+ * coordination with ScrollView and navigation. Falls back to PanResponder.
6
+ *
7
+ * Pattern: same as Sheet — RNGH is accessed through @hanzogui/native global
8
+ * registry, never imported directly. The gesture is created in useMemo and
9
+ * returns null when RNGH is not set up.
10
+ */
11
+ import { getGestureHandler } from '@hanzogui/native';
12
+ import * as React from 'react';
13
+ import { PanResponder } from 'react-native';
14
+ const VELOCITY_THRESHOLD = 0.11;
15
+ const GESTURE_GRANT_THRESHOLD = 10;
16
+ function resisted(delta, maxResist = 25) {
17
+ if (delta >= 0)
18
+ return delta;
19
+ const pastBoundary = Math.abs(delta);
20
+ const resistedDistance = Math.sqrt(pastBoundary) * 2;
21
+ return -Math.min(resistedDistance, maxResist);
22
+ }
23
+ const EXIT_DRAG_CAP = 80;
24
+ function cappedExit(delta) {
25
+ if (Math.abs(delta) <= EXIT_DRAG_CAP)
26
+ return delta;
27
+ const sign = delta > 0 ? 1 : -1;
28
+ const overshoot = Math.abs(delta) - EXIT_DRAG_CAP;
29
+ return sign * (EXIT_DRAG_CAP + Math.sqrt(overshoot) * 2);
30
+ }
31
+ function computeOffset(direction, dx, dy) {
32
+ let offsetX = 0;
33
+ let offsetY = 0;
34
+ if (direction === 'right') {
35
+ offsetX = dx > 0 ? cappedExit(dx) : resisted(dx);
36
+ }
37
+ else if (direction === 'left') {
38
+ offsetX = dx < 0 ? cappedExit(dx) : -resisted(-dx);
39
+ }
40
+ else if (direction === 'down') {
41
+ offsetY = dy > 0 ? cappedExit(dy) : resisted(dy);
42
+ }
43
+ else if (direction === 'up') {
44
+ offsetY = dy < 0 ? cappedExit(dy) : -resisted(-dy);
45
+ }
46
+ else if (direction === 'horizontal') {
47
+ offsetX = cappedExit(dx);
48
+ }
49
+ else if (direction === 'vertical') {
50
+ offsetY = cappedExit(dy);
51
+ }
52
+ return { offsetX, offsetY };
53
+ }
54
+ function computeExitDirection(direction, dx, dy) {
55
+ if (direction === 'right' && dx > 0)
56
+ return 'right';
57
+ if (direction === 'left' && dx < 0)
58
+ return 'left';
59
+ if (direction === 'horizontal') {
60
+ if (Math.abs(dx) > Math.abs(dy))
61
+ return dx > 0 ? 'right' : 'left';
62
+ }
63
+ if (direction === 'down' && dy > 0)
64
+ return 'down';
65
+ if (direction === 'up' && dy < 0)
66
+ return 'up';
67
+ if (direction === 'vertical') {
68
+ if (Math.abs(dy) > Math.abs(dx))
69
+ return dy > 0 ? 'down' : 'up';
70
+ }
71
+ return null;
72
+ }
73
+ function shouldGrantGestureMove(dir, dx, dy) {
74
+ const absDx = Math.abs(dx);
75
+ const absDy = Math.abs(dy);
76
+ if ((dir === 'horizontal' || dir === 'left' || dir === 'right') &&
77
+ absDx > GESTURE_GRANT_THRESHOLD &&
78
+ absDx > absDy) {
79
+ return true;
80
+ }
81
+ if ((dir === 'vertical' || dir === 'up' || dir === 'down') &&
82
+ absDy > GESTURE_GRANT_THRESHOLD &&
83
+ absDy > absDx) {
84
+ return true;
85
+ }
86
+ return false;
87
+ }
88
+ /**
89
+ * Single hook — always calls the same hooks in the same order.
90
+ * Creates RNGH gesture in useMemo (returns null if unavailable).
91
+ * Creates PanResponder in useMemo (returns null if RNGH is used).
92
+ * Consumer checks `gesture` to decide whether to wrap with GestureDetector.
93
+ */
94
+ export function useAnimatedDragGesture(options) {
95
+ const { direction, threshold, disabled } = options;
96
+ const [isDragging, setIsDragging] = React.useState(false);
97
+ const isHorizontal = direction === 'left' || direction === 'right' || direction === 'horizontal';
98
+ const gestureRef = React.useRef(null);
99
+ // store callbacks in refs for stable closures
100
+ const onDragMoveRef = React.useRef(options.onDragMove);
101
+ const onDragStartRef = React.useRef(options.onDragStart);
102
+ const onDismissRef = React.useRef(options.onDismiss);
103
+ const onCancelRef = React.useRef(options.onCancel);
104
+ onDragMoveRef.current = options.onDragMove;
105
+ onDragStartRef.current = options.onDragStart;
106
+ onDismissRef.current = options.onDismiss;
107
+ onCancelRef.current = options.onCancel;
108
+ // check once — RNGH availability is set at app init and never changes
109
+ const rnghEnabled = getGestureHandler().isEnabled;
110
+ // RNGH gesture (null if not available)
111
+ const gesture = React.useMemo(() => {
112
+ if (!rnghEnabled || disabled)
113
+ return null;
114
+ const { Gesture } = getGestureHandler().state;
115
+ if (!Gesture)
116
+ return null;
117
+ const pan = Gesture.Pan()
118
+ .withRef(gestureRef)
119
+ .shouldCancelWhenOutside(false)
120
+ .runOnJS(true);
121
+ if (isHorizontal) {
122
+ pan.activeOffsetX([-10, 10]);
123
+ pan.failOffsetY([-20, 20]);
124
+ }
125
+ else {
126
+ pan.activeOffsetY([-10, 10]);
127
+ pan.failOffsetX([-20, 20]);
128
+ }
129
+ pan
130
+ .onStart(() => {
131
+ setIsDragging(true);
132
+ onDragStartRef.current?.();
133
+ })
134
+ .onChange((event) => {
135
+ const { offsetX, offsetY } = computeOffset(direction, event.translationX, event.translationY);
136
+ onDragMoveRef.current(offsetX, offsetY);
137
+ })
138
+ .onEnd((event) => {
139
+ const dx = event.translationX;
140
+ const dy = event.translationY;
141
+ const relevantDelta = isHorizontal ? dx : dy;
142
+ const relevantVelocity = isHorizontal
143
+ ? Math.abs(event.velocityX / 1000)
144
+ : Math.abs(event.velocityY / 1000);
145
+ const passedThreshold = Math.abs(relevantDelta) >= threshold;
146
+ const hasVelocity = relevantVelocity > VELOCITY_THRESHOLD;
147
+ const exitDirection = computeExitDirection(direction, dx, dy);
148
+ const shouldDismiss = exitDirection && (passedThreshold || hasVelocity);
149
+ setIsDragging(false);
150
+ if (shouldDismiss && exitDirection) {
151
+ onDismissRef.current(exitDirection, relevantVelocity);
152
+ }
153
+ else {
154
+ onCancelRef.current();
155
+ }
156
+ })
157
+ .onFinalize(() => {
158
+ setIsDragging(false);
159
+ });
160
+ return pan;
161
+ }, [disabled, direction, threshold, isHorizontal, rnghEnabled]);
162
+ // PanResponder fallback (null if RNGH is used)
163
+ const panResponder = React.useMemo(() => {
164
+ if (rnghEnabled || disabled)
165
+ return null;
166
+ return PanResponder.create({
167
+ onMoveShouldSetPanResponder: (_e, g) => {
168
+ return shouldGrantGestureMove(direction, g.dx, g.dy);
169
+ },
170
+ onMoveShouldSetPanResponderCapture: (_e, g) => {
171
+ return shouldGrantGestureMove(direction, g.dx, g.dy);
172
+ },
173
+ onPanResponderTerminationRequest: () => false,
174
+ onPanResponderGrant: () => {
175
+ setIsDragging(true);
176
+ onDragStartRef.current?.();
177
+ },
178
+ onPanResponderMove: (_e, g) => {
179
+ const { offsetX, offsetY } = computeOffset(direction, g.dx, g.dy);
180
+ onDragMoveRef.current(offsetX, offsetY);
181
+ },
182
+ onPanResponderRelease: (_e, g) => {
183
+ const { dx, dy, vx, vy } = g;
184
+ const relevantDelta = isHorizontal ? dx : dy;
185
+ const relevantVelocity = isHorizontal ? Math.abs(vx) : Math.abs(vy);
186
+ const passedThreshold = Math.abs(relevantDelta) >= threshold;
187
+ const hasVelocity = relevantVelocity > VELOCITY_THRESHOLD;
188
+ const exitDirection = computeExitDirection(direction, dx, dy);
189
+ const shouldDismiss = exitDirection && (passedThreshold || hasVelocity);
190
+ setIsDragging(false);
191
+ if (shouldDismiss && exitDirection) {
192
+ onDismissRef.current(exitDirection, relevantVelocity);
193
+ }
194
+ else {
195
+ onCancelRef.current();
196
+ }
197
+ },
198
+ onPanResponderTerminate: () => {
199
+ setIsDragging(false);
200
+ onCancelRef.current();
201
+ },
202
+ });
203
+ }, [disabled, direction, threshold, isHorizontal, rnghEnabled]);
204
+ return {
205
+ isDragging,
206
+ gestureHandlers: panResponder?.panHandlers ?? {},
207
+ gesture,
208
+ };
209
+ }
210
+ //# sourceMappingURL=useAnimatedDragGesture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAnimatedDragGesture.native.js","sourceRoot":"","sources":["../../src/useAnimatedDragGesture.native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAc3C,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAC/B,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC,SAAS,QAAQ,CAAC,KAAa,EAAE,SAAS,GAAG,EAAE;IAC7C,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IACpD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,aAAa,GAAG,EAAE,CAAA;AAExB,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,aAAa;QAAE,OAAO,KAAK,CAAA;IAClD,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,aAAa,CAAA;IACjD,OAAO,IAAI,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,aAAa,CACpB,SAAyB,EACzB,EAAU,EACV,EAAU;IAEV,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClD,CAAC;SAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAChC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;IACpD,CAAC;SAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAChC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClD,CAAC;SAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;IACpD,CAAC;SAAM,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QACtC,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;SAAM,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAAyB,EACzB,EAAU,EACV,EAAU;IAEV,IAAI,SAAS,KAAK,OAAO,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,OAAO,CAAA;IACnD,IAAI,SAAS,KAAK,MAAM,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,MAAM,CAAA;IACjD,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;IACnE,CAAC;IACD,IAAI,SAAS,KAAK,MAAM,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,MAAM,CAAA;IACjD,IAAI,SAAS,KAAK,IAAI,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC7C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAChE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAmB,EAAE,EAAU,EAAE,EAAU;IACzE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1B,IACE,CAAC,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAAC;QAC3D,KAAK,GAAG,uBAAuB;QAC/B,KAAK,GAAG,KAAK,EACb,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IACE,CAAC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,CAAC;QACtD,KAAK,GAAG,uBAAuB;QAC/B,KAAK,GAAG,KAAK,EACb,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAsC;IAC3E,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAElD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzD,MAAM,YAAY,GAChB,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,YAAY,CAAA;IAE7E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAM,IAAI,CAAC,CAAA;IAE1C,8CAA8C;IAC9C,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACtD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACpD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClD,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAA;IAC1C,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAA;IAC5C,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAA;IACxC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAA;IAEtC,sEAAsE;IACtE,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC,SAAS,CAAA;IAEjD,uCAAuC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,WAAW,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAA;QAEzC,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC,KAAK,CAAA;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAEzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;aACtB,OAAO,CAAC,UAAU,CAAC;aACnB,uBAAuB,CAAC,KAAK,CAAC;aAC9B,OAAO,CAAC,IAAI,CAAC,CAAA;QAEhB,IAAI,YAAY,EAAE,CAAC;YACjB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YAC5B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YAC5B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC5B,CAAC;QAED,GAAG;aACA,OAAO,CAAC,GAAG,EAAE;YACZ,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,cAAc,CAAC,OAAO,EAAE,EAAE,CAAA;QAC5B,CAAC,CAAC;aACD,QAAQ,CAAC,CAAC,KAAU,EAAE,EAAE;YACvB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CACxC,SAAS,EACT,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,CACnB,CAAA;YACD,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACzC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;YACpB,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAA;YAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAA;YAC7B,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC5C,MAAM,gBAAgB,GAAG,YAAY;gBACnC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;YAEpC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAA;YAC5D,MAAM,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,CAAA;YACzD,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;YAC7D,MAAM,aAAa,GAAG,aAAa,IAAI,CAAC,eAAe,IAAI,WAAW,CAAC,CAAA;YAEvE,aAAa,CAAC,KAAK,CAAC,CAAA;YAEpB,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;gBACnC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;YACvD,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,OAAO,EAAE,CAAA;YACvB,CAAC;QACH,CAAC,CAAC;aACD,UAAU,CAAC,GAAG,EAAE;YACf,aAAa,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;QAEJ,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IAE/D,+CAA+C;IAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,WAAW,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAA;QAExC,OAAO,YAAY,CAAC,MAAM,CAAC;YACzB,2BAA2B,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;gBACrC,OAAO,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;YACtD,CAAC;YACD,kCAAkC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC5C,OAAO,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;YACtD,CAAC;YACD,gCAAgC,EAAE,GAAG,EAAE,CAAC,KAAK;YAE7C,mBAAmB,EAAE,GAAG,EAAE;gBACxB,aAAa,CAAC,IAAI,CAAC,CAAA;gBACnB,cAAc,CAAC,OAAO,EAAE,EAAE,CAAA;YAC5B,CAAC;YAED,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAA2B,EAAE,EAAE;gBACtD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;gBACjE,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACzC,CAAC;YAED,qBAAqB,EAAE,CAAC,EAAE,EAAE,CAA2B,EAAE,EAAE;gBACzD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;gBAC5B,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC5C,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAEnE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAA;gBAC5D,MAAM,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,CAAA;gBACzD,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;gBAC7D,MAAM,aAAa,GAAG,aAAa,IAAI,CAAC,eAAe,IAAI,WAAW,CAAC,CAAA;gBAEvE,aAAa,CAAC,KAAK,CAAC,CAAA;gBAEpB,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;oBACnC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;gBACvD,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,OAAO,EAAE,CAAA;gBACvB,CAAC;YACH,CAAC;YAED,uBAAuB,EAAE,GAAG,EAAE;gBAC5B,aAAa,CAAC,KAAK,CAAC,CAAA;gBACpB,WAAW,CAAC,OAAO,EAAE,CAAA;YACvB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IAE/D,OAAO;QACL,UAAU;QACV,eAAe,EAAE,YAAY,EAAE,WAAW,IAAI,EAAE;QAChD,OAAO;KACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Hook to detect reduced motion preference.
3
+ * Returns true if user prefers reduced motion (via system settings or forced).
4
+ */
5
+ import { isWeb } from '@hanzogui/constants';
6
+ import * as React from 'react';
7
+ let cachedResult = null;
8
+ function getReducedMotion() {
9
+ if (cachedResult !== null)
10
+ return cachedResult;
11
+ if (!isWeb) {
12
+ // on native, we could use AccessibilityInfo.isReduceMotionEnabled()
13
+ // but that requires async, so default to false
14
+ cachedResult = false;
15
+ return false;
16
+ }
17
+ if (typeof window === 'undefined') {
18
+ return false;
19
+ }
20
+ cachedResult = window.matchMedia?.('(prefers-reduced-motion: reduce)')?.matches ?? false;
21
+ return cachedResult;
22
+ }
23
+ export function useReducedMotion(forceReducedMotion) {
24
+ const [reducedMotion, setReducedMotion] = React.useState(() => forceReducedMotion ?? getReducedMotion());
25
+ React.useEffect(() => {
26
+ // if forced, use that value
27
+ if (forceReducedMotion !== undefined) {
28
+ setReducedMotion(forceReducedMotion);
29
+ return;
30
+ }
31
+ // listen for changes to system preference
32
+ if (!isWeb || typeof window === 'undefined')
33
+ return;
34
+ const mediaQuery = window.matchMedia?.('(prefers-reduced-motion: reduce)');
35
+ if (!mediaQuery)
36
+ return;
37
+ const handleChange = (e) => {
38
+ cachedResult = e.matches;
39
+ setReducedMotion(e.matches);
40
+ };
41
+ mediaQuery.addEventListener?.('change', handleChange);
42
+ return () => {
43
+ mediaQuery.removeEventListener?.('change', handleChange);
44
+ };
45
+ }, [forceReducedMotion]);
46
+ return reducedMotion;
47
+ }
48
+ //# sourceMappingURL=useReducedMotion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReducedMotion.js","sourceRoot":"","sources":["../../src/useReducedMotion.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,IAAI,YAAY,GAAmB,IAAI,CAAA;AAEvC,SAAS,gBAAgB;IACvB,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,YAAY,CAAA;IAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,oEAAoE;QACpE,+CAA+C;QAC/C,YAAY,GAAG,KAAK,CAAA;QACpB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,kCAAkC,CAAC,EAAE,OAAO,IAAI,KAAK,CAAA;IACxF,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,kBAA4B;IAC3D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACtD,GAAG,EAAE,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAC/C,CAAA;IAED,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,4BAA4B;QAC5B,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;YACpC,OAAM;QACR,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QAEnD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,kCAAkC,CAAC,CAAA;QAC1E,IAAI,CAAC,UAAU;YAAE,OAAM;QAEvB,MAAM,YAAY,GAAG,CAAC,CAAsB,EAAE,EAAE;YAC9C,YAAY,GAAG,CAAC,CAAC,OAAO,CAAA;YACxB,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAC7B,CAAC,CAAA;QAED,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QACrD,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC1D,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAExB,OAAO,aAAa,CAAA;AACtB,CAAC"}
@@ -0,0 +1,248 @@
1
+ /**
2
+ * Hook for cross-animation-driver toast drag animations.
3
+ *
4
+ * Animation strategy (all cross-driver):
5
+ * - AnimatePresence => enter/exit styles
6
+ * - transition prop => non-interactive styles (stacking, scale, opacity)
7
+ * - useAnimatedNumber/Style => interactive styles (drag gestures only)
8
+ *
9
+ * This hook handles ONLY the drag gesture animations.
10
+ * Uses the same pattern as Sheet for universal animation support.
11
+ *
12
+ * NOTE: For CSS driver, we use a ref-based approach with direct DOM manipulation
13
+ * because CSS driver's useAnimatedNumberStyle doesn't reactively update.
14
+ * For Motion/Reanimated drivers, we use the AnimatedView + motionValue pattern.
15
+ */
16
+ import { isWeb } from '@hanzogui/constants';
17
+ import { useConfiguration, useEvent, View as GuiView } from '@hanzogui/core';
18
+ import * as React from 'react';
19
+ // tuned for snappy, premium feel like Sonner
20
+ const SPRING_CONFIG = {
21
+ type: 'spring',
22
+ damping: 30,
23
+ stiffness: 400,
24
+ mass: 0.5,
25
+ };
26
+ const EXIT_DISTANCE = 200;
27
+ // simple spring animation for CSS driver
28
+ function animateSpring(element, fromX, fromY, toX, toY, config, onComplete) {
29
+ const { damping = 30, stiffness = 400, mass = 0.5, initialVelocityX = 0, initialVelocityY = 0, fadeOut = false, } = config;
30
+ let x = fromX;
31
+ let y = fromY;
32
+ // use initial velocity from gesture for smooth continuation
33
+ let velocityX = initialVelocityX;
34
+ let velocityY = initialVelocityY;
35
+ let animationId = null;
36
+ const targetX = toX;
37
+ const targetY = toY;
38
+ // for fade out, track progress based on distance traveled
39
+ const totalDistance = Math.sqrt((toX - fromX) ** 2 + (toY - fromY) ** 2) || 1;
40
+ function step() {
41
+ // spring physics
42
+ const forceX = -stiffness * (x - targetX);
43
+ const forceY = -stiffness * (y - targetY);
44
+ const dampingForceX = -damping * velocityX;
45
+ const dampingForceY = -damping * velocityY;
46
+ const accelerationX = (forceX + dampingForceX) / mass;
47
+ const accelerationY = (forceY + dampingForceY) / mass;
48
+ velocityX += accelerationX * 0.016; // ~60fps
49
+ velocityY += accelerationY * 0.016;
50
+ x += velocityX * 0.016;
51
+ y += velocityY * 0.016;
52
+ element.style.transform = `translate3d(${x}px, ${y}px, 0)`;
53
+ // animate opacity based on progress toward target
54
+ if (fadeOut) {
55
+ const distanceTraveled = Math.sqrt((x - fromX) ** 2 + (y - fromY) ** 2);
56
+ const progress = Math.min(distanceTraveled / totalDistance, 1);
57
+ element.style.opacity = String(1 - progress);
58
+ }
59
+ // check if close enough to target and velocity is low
60
+ const distanceX = Math.abs(x - targetX);
61
+ const distanceY = Math.abs(y - targetY);
62
+ const speed = Math.sqrt(velocityX * velocityX + velocityY * velocityY);
63
+ if (distanceX < 0.5 && distanceY < 0.5 && speed < 0.5) {
64
+ element.style.transform = `translate3d(${targetX}px, ${targetY}px, 0)`;
65
+ if (fadeOut) {
66
+ element.style.opacity = '0';
67
+ }
68
+ onComplete?.();
69
+ return;
70
+ }
71
+ animationId = requestAnimationFrame(step);
72
+ }
73
+ animationId = requestAnimationFrame(step);
74
+ return () => {
75
+ if (animationId) {
76
+ cancelAnimationFrame(animationId);
77
+ }
78
+ };
79
+ }
80
+ export function useToastAnimations(options = {}) {
81
+ const { onExitComplete, reducedMotion, swipeAxis = 'horizontal' } = options;
82
+ const { animationDriver } = useConfiguration();
83
+ if (!animationDriver) {
84
+ throw new Error('Toast requires an animation driver to be set in GuiProvider');
85
+ }
86
+ const { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumbersStyle } = animationDriver;
87
+ const AnimatedView = (animationDriver.View ?? GuiView);
88
+ // ref for direct DOM manipulation (CSS driver fallback)
89
+ const dragRef = React.useRef(null);
90
+ const cancelAnimationRef = React.useRef(null);
91
+ const currentOffsetRef = React.useRef({ x: 0, y: 0 });
92
+ // on web, use direct DOM for drag (CSS driver has no reactive style updates)
93
+ // on native, use the animation driver's AnimatedView + animatedStyle
94
+ const useDirectDom = isWeb;
95
+ // animated values for drag translation
96
+ const translateX = useAnimatedNumber(0);
97
+ const translateY = useAnimatedNumber(0);
98
+ // multi-value: both axes reactive in one animated style (off-thread on Reanimated)
99
+ const animatedStyle = useAnimatedNumbersStyle
100
+ ? useAnimatedNumbersStyle([translateX, translateY], (x, y) => {
101
+ 'worklet';
102
+ return { transform: [{ translateX: x }, { translateY: y }] };
103
+ })
104
+ : useAnimatedNumberStyle(swipeAxis === 'vertical' ? translateY : translateX, (primary) => {
105
+ 'worklet';
106
+ const secondary = swipeAxis === 'vertical' ? translateX.getValue() : translateY.getValue();
107
+ return swipeAxis === 'vertical'
108
+ ? { transform: [{ translateX: secondary }, { translateY: primary }] }
109
+ : { transform: [{ translateX: primary }, { translateY: secondary }] };
110
+ });
111
+ // set drag offset directly (no animation) - used during gesture
112
+ const setDragOffset = useEvent((x, y) => {
113
+ // cancel any running animation (e.g., spring back from previous gesture)
114
+ cancelAnimationRef.current?.();
115
+ cancelAnimationRef.current = null;
116
+ currentOffsetRef.current = { x, y };
117
+ if (useDirectDom && dragRef.current) {
118
+ // direct DOM manipulation for CSS driver
119
+ dragRef.current.style.transform = `translate3d(${x}px, ${y}px, 0)`;
120
+ dragRef.current.style.opacity = '1'; // reset in case previous animation faded it
121
+ }
122
+ else {
123
+ // use animation driver for motion/reanimated
124
+ translateX.setValue(x, { type: 'direct' });
125
+ translateY.setValue(y, { type: 'direct' });
126
+ }
127
+ });
128
+ // spring back to origin after cancelled drag
129
+ const springBack = useEvent((onComplete) => {
130
+ // cancel any running animation
131
+ cancelAnimationRef.current?.();
132
+ if (reducedMotion) {
133
+ // instant for reduced motion
134
+ if (useDirectDom && dragRef.current) {
135
+ dragRef.current.style.transform = 'translate3d(0px, 0px, 0)';
136
+ }
137
+ else {
138
+ translateX.setValue(0, { type: 'direct' });
139
+ translateY.setValue(0, { type: 'direct' });
140
+ }
141
+ currentOffsetRef.current = { x: 0, y: 0 };
142
+ onComplete?.();
143
+ return;
144
+ }
145
+ if (useDirectDom && dragRef.current) {
146
+ // use JS spring animation for CSS driver
147
+ const { x, y } = currentOffsetRef.current;
148
+ cancelAnimationRef.current = animateSpring(dragRef.current, x, y, 0, 0, SPRING_CONFIG, () => {
149
+ currentOffsetRef.current = { x: 0, y: 0 };
150
+ onComplete?.();
151
+ });
152
+ }
153
+ else {
154
+ // use animation driver for motion/reanimated
155
+ translateX.setValue(0, SPRING_CONFIG);
156
+ translateY.setValue(0, SPRING_CONFIG, onComplete);
157
+ }
158
+ });
159
+ // animate out in a direction after successful swipe
160
+ // velocity is in px/ms from gesture, used for smooth momentum continuation
161
+ const animateOut = useEvent((direction, velocity, onComplete) => {
162
+ // cancel any running animation
163
+ cancelAnimationRef.current?.();
164
+ const { x: curX, y: curY } = currentOffsetRef.current;
165
+ // ensure exit target is always further than current drag position
166
+ // (user may have dragged past EXIT_DISTANCE already)
167
+ let exitX = direction === 'left' ? -EXIT_DISTANCE : direction === 'right' ? EXIT_DISTANCE : 0;
168
+ let exitY = direction === 'up' ? -EXIT_DISTANCE : direction === 'down' ? EXIT_DISTANCE : 0;
169
+ if (direction === 'left' && curX < exitX)
170
+ exitX = curX - 50;
171
+ else if (direction === 'right' && curX > exitX)
172
+ exitX = curX + 50;
173
+ if (direction === 'up' && curY < exitY)
174
+ exitY = curY - 50;
175
+ else if (direction === 'down' && curY > exitY)
176
+ exitY = curY + 50;
177
+ if (reducedMotion) {
178
+ // instant for reduced motion
179
+ if (useDirectDom && dragRef.current) {
180
+ dragRef.current.style.transform = `translate3d(${exitX}px, ${exitY}px, 0)`;
181
+ }
182
+ else {
183
+ translateX.setValue(exitX, { type: 'direct' });
184
+ translateY.setValue(exitY, { type: 'direct' });
185
+ }
186
+ onComplete?.();
187
+ onExitComplete?.();
188
+ return;
189
+ }
190
+ // convert velocity from px/ms to px/frame (assuming 60fps = 16.67ms/frame)
191
+ // multiply by ~500 to get a reasonable initial velocity for the spring
192
+ const velocityScale = (velocity ?? 0) * 500;
193
+ const initialVelocityX = direction === 'left' ? -velocityScale : direction === 'right' ? velocityScale : 0;
194
+ const initialVelocityY = direction === 'up' ? -velocityScale : direction === 'down' ? velocityScale : 0;
195
+ // exit animation config - tuned for smooth momentum continuation
196
+ const exitConfig = {
197
+ damping: 25,
198
+ stiffness: 350,
199
+ mass: 0.4,
200
+ initialVelocityX,
201
+ initialVelocityY,
202
+ fadeOut: true,
203
+ };
204
+ if (useDirectDom && dragRef.current) {
205
+ // use JS spring animation for CSS driver
206
+ const { x, y } = currentOffsetRef.current;
207
+ cancelAnimationRef.current = animateSpring(dragRef.current, x, y, exitX, exitY, exitConfig, () => {
208
+ onComplete?.();
209
+ onExitComplete?.();
210
+ });
211
+ }
212
+ else {
213
+ // animation driver path (reanimated/RN)
214
+ const springConfig = {
215
+ type: 'spring',
216
+ damping: 25,
217
+ stiffness: 350,
218
+ mass: 0.4,
219
+ };
220
+ translateX.setValue(exitX, springConfig);
221
+ translateY.setValue(exitY, springConfig, () => {
222
+ onComplete?.();
223
+ onExitComplete?.();
224
+ });
225
+ }
226
+ });
227
+ const stop = useEvent(() => {
228
+ cancelAnimationRef.current?.();
229
+ translateX.stop();
230
+ translateY.stop();
231
+ });
232
+ // cleanup on unmount
233
+ React.useEffect(() => {
234
+ return () => {
235
+ cancelAnimationRef.current?.();
236
+ };
237
+ }, []);
238
+ return {
239
+ setDragOffset,
240
+ springBack,
241
+ animateOut,
242
+ stop,
243
+ animatedStyle,
244
+ AnimatedView,
245
+ dragRef,
246
+ };
247
+ }
248
+ //# sourceMappingURL=useToastAnimations.js.map