@tamagui/toast 2.0.0-rc.9 → 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 (413) hide show
  1. package/dist/cjs/Toast.cjs +149 -141
  2. package/dist/cjs/Toast.native.js +149 -142
  3. package/dist/cjs/Toast.native.js.map +1 -1
  4. package/dist/cjs/ToastAnnounce.cjs +78 -72
  5. package/dist/cjs/ToastAnnounce.native.js +85 -79
  6. package/dist/cjs/ToastAnnounce.native.js.map +1 -1
  7. package/dist/cjs/ToastComposable.cjs +780 -591
  8. package/dist/cjs/ToastComposable.native.js +863 -706
  9. package/dist/cjs/ToastComposable.native.js.map +1 -1
  10. package/dist/cjs/ToastImperative.cjs +99 -80
  11. package/dist/cjs/ToastImperative.native.js +104 -96
  12. package/dist/cjs/ToastImperative.native.js.map +1 -1
  13. package/dist/cjs/ToastImpl.cjs +300 -238
  14. package/dist/cjs/ToastImpl.native.js +309 -271
  15. package/dist/cjs/ToastImpl.native.js.map +1 -1
  16. package/dist/cjs/ToastItemFrame.cjs +143 -0
  17. package/dist/cjs/ToastItemFrame.native.js +148 -0
  18. package/dist/cjs/ToastItemFrame.native.js.map +1 -0
  19. package/dist/cjs/ToastPortal.cjs +23 -18
  20. package/dist/cjs/ToastPortal.native.js +27 -22
  21. package/dist/cjs/ToastPortal.native.js.map +1 -1
  22. package/dist/cjs/ToastProvider.cjs +102 -98
  23. package/dist/cjs/ToastProvider.native.js +108 -106
  24. package/dist/cjs/ToastProvider.native.js.map +1 -1
  25. package/dist/cjs/ToastState.cjs +218 -155
  26. package/dist/cjs/ToastState.native.js +270 -203
  27. package/dist/cjs/ToastState.native.js.map +1 -1
  28. package/dist/cjs/ToastViewport.cjs +274 -233
  29. package/dist/cjs/ToastViewport.native.js +301 -273
  30. package/dist/cjs/ToastViewport.native.js.map +1 -1
  31. package/dist/cjs/Toaster.cjs +71 -233
  32. package/dist/cjs/Toaster.native.js +72 -289
  33. package/dist/cjs/Toaster.native.js.map +1 -1
  34. package/dist/cjs/constants.cjs +14 -12
  35. package/dist/cjs/constants.native.js +14 -12
  36. package/dist/cjs/constants.native.js.map +1 -1
  37. package/dist/cjs/createNativeToast.cjs +43 -35
  38. package/dist/cjs/createNativeToast.native.js +42 -30
  39. package/dist/cjs/createNativeToast.native.js.map +1 -1
  40. package/dist/cjs/dispatchNativeToast.cjs +47 -0
  41. package/dist/cjs/dispatchNativeToast.native.js +52 -0
  42. package/dist/cjs/dispatchNativeToast.native.js.map +1 -0
  43. package/dist/cjs/index.cjs +7 -5
  44. package/dist/cjs/index.native.js +7 -5
  45. package/dist/cjs/index.native.js.map +1 -1
  46. package/dist/cjs/types.cjs +7 -5
  47. package/dist/cjs/types.native.js +7 -5
  48. package/dist/cjs/types.native.js.map +1 -1
  49. package/dist/cjs/useAnimatedDragGesture.cjs +184 -83
  50. package/dist/cjs/useAnimatedDragGesture.native.js +193 -79
  51. package/dist/cjs/useAnimatedDragGesture.native.js.map +1 -1
  52. package/dist/cjs/useReducedMotion.cjs +44 -30
  53. package/dist/cjs/useReducedMotion.native.js +52 -43
  54. package/dist/cjs/useReducedMotion.native.js.map +1 -1
  55. package/dist/cjs/useToastAnimations.cjs +233 -155
  56. package/dist/cjs/useToastAnimations.native.js +246 -170
  57. package/dist/cjs/useToastAnimations.native.js.map +1 -1
  58. package/dist/cjs/v2.cjs +36 -0
  59. package/dist/cjs/v2.native.js +39 -0
  60. package/dist/cjs/v2.native.js.map +1 -0
  61. package/dist/esm/Toast.mjs +112 -106
  62. package/dist/esm/Toast.mjs.map +1 -1
  63. package/dist/esm/Toast.native.js +112 -107
  64. package/dist/esm/Toast.native.js.map +1 -1
  65. package/dist/esm/ToastAnnounce.mjs +46 -42
  66. package/dist/esm/ToastAnnounce.mjs.map +1 -1
  67. package/dist/esm/ToastAnnounce.native.js +52 -48
  68. package/dist/esm/ToastAnnounce.native.js.map +1 -1
  69. package/dist/esm/ToastComposable.mjs +742 -555
  70. package/dist/esm/ToastComposable.mjs.map +1 -1
  71. package/dist/esm/ToastComposable.native.js +825 -670
  72. package/dist/esm/ToastComposable.native.js.map +1 -1
  73. package/dist/esm/ToastImperative.mjs +71 -54
  74. package/dist/esm/ToastImperative.mjs.map +1 -1
  75. package/dist/esm/ToastImperative.native.js +76 -70
  76. package/dist/esm/ToastImperative.native.js.map +1 -1
  77. package/dist/esm/ToastImpl.mjs +261 -201
  78. package/dist/esm/ToastImpl.mjs.map +1 -1
  79. package/dist/esm/ToastImpl.native.js +270 -234
  80. package/dist/esm/ToastImpl.native.js.map +1 -1
  81. package/dist/esm/ToastItemFrame.mjs +114 -0
  82. package/dist/esm/ToastItemFrame.mjs.map +1 -0
  83. package/dist/esm/ToastItemFrame.native.js +116 -0
  84. package/dist/esm/ToastItemFrame.native.js.map +1 -0
  85. package/dist/esm/ToastPortal.mjs +8 -5
  86. package/dist/esm/ToastPortal.mjs.map +1 -1
  87. package/dist/esm/ToastPortal.native.js +12 -9
  88. package/dist/esm/ToastPortal.native.js.map +1 -1
  89. package/dist/esm/ToastProvider.mjs +71 -69
  90. package/dist/esm/ToastProvider.mjs.map +1 -1
  91. package/dist/esm/ToastProvider.native.js +77 -77
  92. package/dist/esm/ToastProvider.native.js.map +1 -1
  93. package/dist/esm/ToastState.mjs +205 -144
  94. package/dist/esm/ToastState.mjs.map +1 -1
  95. package/dist/esm/ToastState.native.js +258 -193
  96. package/dist/esm/ToastState.native.js.map +1 -1
  97. package/dist/esm/ToastViewport.mjs +238 -199
  98. package/dist/esm/ToastViewport.mjs.map +1 -1
  99. package/dist/esm/ToastViewport.native.js +265 -239
  100. package/dist/esm/ToastViewport.native.js.map +1 -1
  101. package/dist/esm/Toaster.mjs +45 -209
  102. package/dist/esm/Toaster.mjs.map +1 -1
  103. package/dist/esm/Toaster.native.js +46 -265
  104. package/dist/esm/Toaster.native.js.map +1 -1
  105. package/dist/esm/constants.mjs +2 -2
  106. package/dist/esm/constants.mjs.map +1 -1
  107. package/dist/esm/constants.native.js +2 -2
  108. package/dist/esm/constants.native.js.map +1 -1
  109. package/dist/esm/createNativeToast.mjs +29 -24
  110. package/dist/esm/createNativeToast.mjs.map +1 -1
  111. package/dist/esm/createNativeToast.native.js +27 -18
  112. package/dist/esm/createNativeToast.native.js.map +1 -1
  113. package/dist/esm/dispatchNativeToast.mjs +22 -0
  114. package/dist/esm/dispatchNativeToast.mjs.map +1 -0
  115. package/dist/esm/dispatchNativeToast.native.js +24 -0
  116. package/dist/esm/dispatchNativeToast.native.js.map +1 -0
  117. package/dist/esm/index.js +1 -1
  118. package/dist/esm/index.js.map +1 -6
  119. package/dist/esm/useAnimatedDragGesture.mjs +160 -61
  120. package/dist/esm/useAnimatedDragGesture.mjs.map +1 -1
  121. package/dist/esm/useAnimatedDragGesture.native.js +167 -55
  122. package/dist/esm/useAnimatedDragGesture.native.js.map +1 -1
  123. package/dist/esm/useReducedMotion.mjs +18 -6
  124. package/dist/esm/useReducedMotion.mjs.map +1 -1
  125. package/dist/esm/useReducedMotion.native.js +25 -18
  126. package/dist/esm/useReducedMotion.native.js.map +1 -1
  127. package/dist/esm/useToastAnimations.mjs +206 -130
  128. package/dist/esm/useToastAnimations.mjs.map +1 -1
  129. package/dist/esm/useToastAnimations.native.js +218 -144
  130. package/dist/esm/useToastAnimations.native.js.map +1 -1
  131. package/dist/esm/v2.mjs +6 -0
  132. package/dist/esm/v2.mjs.map +1 -0
  133. package/dist/esm/v2.native.js +6 -0
  134. package/dist/esm/v2.native.js.map +1 -0
  135. package/dist/jsx/Toast.mjs +112 -106
  136. package/dist/jsx/Toast.mjs.map +1 -1
  137. package/dist/jsx/Toast.native.js +149 -142
  138. package/dist/jsx/Toast.native.js.map +1 -1
  139. package/dist/jsx/ToastAnnounce.mjs +46 -42
  140. package/dist/jsx/ToastAnnounce.mjs.map +1 -1
  141. package/dist/jsx/ToastAnnounce.native.js +85 -79
  142. package/dist/jsx/ToastAnnounce.native.js.map +1 -1
  143. package/dist/jsx/ToastComposable.mjs +742 -555
  144. package/dist/jsx/ToastComposable.mjs.map +1 -1
  145. package/dist/jsx/ToastComposable.native.js +863 -706
  146. package/dist/jsx/ToastComposable.native.js.map +1 -1
  147. package/dist/jsx/ToastImperative.mjs +71 -54
  148. package/dist/jsx/ToastImperative.mjs.map +1 -1
  149. package/dist/jsx/ToastImperative.native.js +104 -96
  150. package/dist/jsx/ToastImperative.native.js.map +1 -1
  151. package/dist/jsx/ToastImpl.mjs +261 -201
  152. package/dist/jsx/ToastImpl.mjs.map +1 -1
  153. package/dist/jsx/ToastImpl.native.js +309 -271
  154. package/dist/jsx/ToastImpl.native.js.map +1 -1
  155. package/dist/jsx/ToastItemFrame.mjs +114 -0
  156. package/dist/jsx/ToastItemFrame.mjs.map +1 -0
  157. package/dist/jsx/ToastItemFrame.native.js +148 -0
  158. package/dist/jsx/ToastItemFrame.native.js.map +1 -0
  159. package/dist/jsx/ToastPortal.mjs +8 -5
  160. package/dist/jsx/ToastPortal.mjs.map +1 -1
  161. package/dist/jsx/ToastPortal.native.js +27 -22
  162. package/dist/jsx/ToastPortal.native.js.map +1 -1
  163. package/dist/jsx/ToastProvider.mjs +71 -69
  164. package/dist/jsx/ToastProvider.mjs.map +1 -1
  165. package/dist/jsx/ToastProvider.native.js +108 -106
  166. package/dist/jsx/ToastProvider.native.js.map +1 -1
  167. package/dist/jsx/ToastState.mjs +205 -144
  168. package/dist/jsx/ToastState.mjs.map +1 -1
  169. package/dist/jsx/ToastState.native.js +270 -203
  170. package/dist/jsx/ToastState.native.js.map +1 -1
  171. package/dist/jsx/ToastViewport.mjs +238 -199
  172. package/dist/jsx/ToastViewport.mjs.map +1 -1
  173. package/dist/jsx/ToastViewport.native.js +301 -273
  174. package/dist/jsx/ToastViewport.native.js.map +1 -1
  175. package/dist/jsx/Toaster.mjs +45 -209
  176. package/dist/jsx/Toaster.mjs.map +1 -1
  177. package/dist/jsx/Toaster.native.js +72 -289
  178. package/dist/jsx/Toaster.native.js.map +1 -1
  179. package/dist/jsx/constants.mjs +2 -2
  180. package/dist/jsx/constants.mjs.map +1 -1
  181. package/dist/jsx/constants.native.js +14 -12
  182. package/dist/jsx/constants.native.js.map +1 -1
  183. package/dist/jsx/createNativeToast.mjs +29 -24
  184. package/dist/jsx/createNativeToast.mjs.map +1 -1
  185. package/dist/jsx/createNativeToast.native.js +42 -30
  186. package/dist/jsx/createNativeToast.native.js.map +1 -1
  187. package/dist/jsx/dispatchNativeToast.mjs +22 -0
  188. package/dist/jsx/dispatchNativeToast.mjs.map +1 -0
  189. package/dist/jsx/dispatchNativeToast.native.js +52 -0
  190. package/dist/jsx/dispatchNativeToast.native.js.map +1 -0
  191. package/dist/jsx/index.js +1 -1
  192. package/dist/jsx/index.js.map +1 -6
  193. package/dist/jsx/index.native.js +7 -5
  194. package/dist/jsx/types.native.js +7 -5
  195. package/dist/jsx/useAnimatedDragGesture.mjs +160 -61
  196. package/dist/jsx/useAnimatedDragGesture.mjs.map +1 -1
  197. package/dist/jsx/useAnimatedDragGesture.native.js +193 -79
  198. package/dist/jsx/useAnimatedDragGesture.native.js.map +1 -1
  199. package/dist/jsx/useReducedMotion.mjs +18 -6
  200. package/dist/jsx/useReducedMotion.mjs.map +1 -1
  201. package/dist/jsx/useReducedMotion.native.js +52 -43
  202. package/dist/jsx/useReducedMotion.native.js.map +1 -1
  203. package/dist/jsx/useToastAnimations.mjs +206 -130
  204. package/dist/jsx/useToastAnimations.mjs.map +1 -1
  205. package/dist/jsx/useToastAnimations.native.js +246 -170
  206. package/dist/jsx/useToastAnimations.native.js.map +1 -1
  207. package/dist/jsx/v2.mjs +6 -0
  208. package/dist/jsx/v2.mjs.map +1 -0
  209. package/dist/jsx/v2.native.js +39 -0
  210. package/dist/jsx/v2.native.js.map +1 -0
  211. package/package.json +41 -24
  212. package/src/ToastComposable.tsx +1380 -0
  213. package/src/ToastImpl.tsx +14 -2
  214. package/src/ToastItemFrame.tsx +136 -0
  215. package/src/ToastPortal.tsx +2 -2
  216. package/src/ToastProvider.tsx +8 -1
  217. package/src/ToastState.ts +398 -0
  218. package/src/ToastViewport.tsx +4 -3
  219. package/src/Toaster.tsx +181 -0
  220. package/src/createNativeToast.native.tsx +4 -0
  221. package/src/createNativeToast.tsx +18 -24
  222. package/src/dispatchNativeToast.ts +43 -0
  223. package/src/useAnimatedDragGesture.native.ts +255 -0
  224. package/src/useAnimatedDragGesture.ts +319 -0
  225. package/src/useReducedMotion.ts +59 -0
  226. package/src/useToastAnimations.ts +372 -0
  227. package/src/v2.ts +31 -0
  228. package/types/ToastComposable.d.ts +199 -0
  229. package/types/ToastComposable.d.ts.map +1 -1
  230. package/types/ToastImpl.d.ts.map +1 -1
  231. package/types/ToastItemFrame.d.ts +25 -0
  232. package/types/ToastItemFrame.d.ts.map +1 -0
  233. package/types/ToastPortal.d.ts.map +1 -1
  234. package/types/ToastProvider.d.ts +1 -1
  235. package/types/ToastProvider.d.ts.map +1 -1
  236. package/types/ToastState.d.ts +179 -0
  237. package/types/ToastState.d.ts.map +1 -1
  238. package/types/ToastViewport.d.ts.map +1 -1
  239. package/types/Toaster.d.ts +112 -0
  240. package/types/Toaster.d.ts.map +1 -1
  241. package/types/createNativeToast.d.ts +5 -0
  242. package/types/createNativeToast.d.ts.map +1 -1
  243. package/types/createNativeToast.native.d.ts +1 -0
  244. package/types/createNativeToast.native.d.ts.map +1 -1
  245. package/types/dispatchNativeToast.d.ts +12 -0
  246. package/types/dispatchNativeToast.d.ts.map +1 -0
  247. package/types/useAnimatedDragGesture.d.ts +33 -0
  248. package/types/useAnimatedDragGesture.d.ts.map +1 -1
  249. package/types/useAnimatedDragGesture.native.d.ts +33 -0
  250. package/types/useAnimatedDragGesture.native.d.ts.map +1 -1
  251. package/types/useReducedMotion.d.ts +6 -0
  252. package/types/useToastAnimations.d.ts +50 -0
  253. package/types/useToastAnimations.d.ts.map +1 -1
  254. package/types/v2.d.ts +10 -0
  255. package/types/v2.d.ts.map +1 -0
  256. package/v2/index.cjs +2 -0
  257. package/v2/index.js +2 -0
  258. package/v2/index.native.cjs +2 -0
  259. package/v2/index.native.js +2 -0
  260. package/LICENSE +0 -21
  261. package/dist/cjs/Toast.js +0 -119
  262. package/dist/cjs/Toast.js.map +0 -6
  263. package/dist/cjs/ToastAnnounce.js +0 -72
  264. package/dist/cjs/ToastAnnounce.js.map +0 -6
  265. package/dist/cjs/ToastComposable.js +0 -548
  266. package/dist/cjs/ToastComposable.js.map +0 -6
  267. package/dist/cjs/ToastImperative.js +0 -71
  268. package/dist/cjs/ToastImperative.js.map +0 -6
  269. package/dist/cjs/ToastImpl.js +0 -227
  270. package/dist/cjs/ToastImpl.js.map +0 -6
  271. package/dist/cjs/ToastItem.cjs +0 -526
  272. package/dist/cjs/ToastItem.js +0 -409
  273. package/dist/cjs/ToastItem.js.map +0 -6
  274. package/dist/cjs/ToastItem.native.js +0 -614
  275. package/dist/cjs/ToastItem.native.js.map +0 -1
  276. package/dist/cjs/ToastPortal.js +0 -26
  277. package/dist/cjs/ToastPortal.js.map +0 -6
  278. package/dist/cjs/ToastProvider.js +0 -105
  279. package/dist/cjs/ToastProvider.js.map +0 -6
  280. package/dist/cjs/ToastState.js +0 -160
  281. package/dist/cjs/ToastState.js.map +0 -6
  282. package/dist/cjs/ToastViewport.js +0 -263
  283. package/dist/cjs/ToastViewport.js.map +0 -6
  284. package/dist/cjs/Toaster.js +0 -204
  285. package/dist/cjs/Toaster.js.map +0 -6
  286. package/dist/cjs/constants.js +0 -22
  287. package/dist/cjs/constants.js.map +0 -6
  288. package/dist/cjs/createNativeToast.js +0 -44
  289. package/dist/cjs/createNativeToast.js.map +0 -6
  290. package/dist/cjs/index.js +0 -15
  291. package/dist/cjs/index.js.map +0 -6
  292. package/dist/cjs/types.js +0 -14
  293. package/dist/cjs/types.js.map +0 -6
  294. package/dist/cjs/useAnimatedDragGesture.js +0 -97
  295. package/dist/cjs/useAnimatedDragGesture.js.map +0 -6
  296. package/dist/cjs/useDragGesture.cjs +0 -129
  297. package/dist/cjs/useDragGesture.js +0 -100
  298. package/dist/cjs/useDragGesture.js.map +0 -6
  299. package/dist/cjs/useDragGesture.native.js +0 -146
  300. package/dist/cjs/useDragGesture.native.js.map +0 -1
  301. package/dist/cjs/useReducedMotion.js +0 -53
  302. package/dist/cjs/useReducedMotion.js.map +0 -6
  303. package/dist/cjs/useToastAnimations.js +0 -144
  304. package/dist/cjs/useToastAnimations.js.map +0 -6
  305. package/dist/cjs/v1.cjs +0 -31
  306. package/dist/cjs/v1.js +0 -26
  307. package/dist/cjs/v1.js.map +0 -6
  308. package/dist/cjs/v1.native.js +0 -34
  309. package/dist/cjs/v1.native.js.map +0 -1
  310. package/dist/esm/Toast.js +0 -107
  311. package/dist/esm/Toast.js.map +0 -6
  312. package/dist/esm/ToastAnnounce.js +0 -55
  313. package/dist/esm/ToastAnnounce.js.map +0 -6
  314. package/dist/esm/ToastComposable.js +0 -543
  315. package/dist/esm/ToastComposable.js.map +0 -6
  316. package/dist/esm/ToastImperative.js +0 -50
  317. package/dist/esm/ToastImperative.js.map +0 -6
  318. package/dist/esm/ToastImpl.js +0 -225
  319. package/dist/esm/ToastImpl.js.map +0 -6
  320. package/dist/esm/ToastItem.js +0 -393
  321. package/dist/esm/ToastItem.js.map +0 -6
  322. package/dist/esm/ToastItem.mjs +0 -492
  323. package/dist/esm/ToastItem.mjs.map +0 -1
  324. package/dist/esm/ToastItem.native.js +0 -577
  325. package/dist/esm/ToastItem.native.js.map +0 -1
  326. package/dist/esm/ToastPortal.js +0 -13
  327. package/dist/esm/ToastPortal.js.map +0 -6
  328. package/dist/esm/ToastProvider.js +0 -87
  329. package/dist/esm/ToastProvider.js.map +0 -6
  330. package/dist/esm/ToastState.js +0 -144
  331. package/dist/esm/ToastState.js.map +0 -6
  332. package/dist/esm/ToastViewport.js +0 -250
  333. package/dist/esm/ToastViewport.js.map +0 -6
  334. package/dist/esm/Toaster.js +0 -188
  335. package/dist/esm/Toaster.js.map +0 -6
  336. package/dist/esm/constants.js +0 -6
  337. package/dist/esm/constants.js.map +0 -6
  338. package/dist/esm/createNativeToast.js +0 -28
  339. package/dist/esm/createNativeToast.js.map +0 -6
  340. package/dist/esm/types.js +0 -1
  341. package/dist/esm/types.js.map +0 -6
  342. package/dist/esm/useAnimatedDragGesture.js +0 -73
  343. package/dist/esm/useAnimatedDragGesture.js.map +0 -6
  344. package/dist/esm/useDragGesture.js +0 -76
  345. package/dist/esm/useDragGesture.js.map +0 -6
  346. package/dist/esm/useDragGesture.mjs +0 -95
  347. package/dist/esm/useDragGesture.mjs.map +0 -1
  348. package/dist/esm/useDragGesture.native.js +0 -109
  349. package/dist/esm/useDragGesture.native.js.map +0 -1
  350. package/dist/esm/useReducedMotion.js +0 -30
  351. package/dist/esm/useReducedMotion.js.map +0 -6
  352. package/dist/esm/useToastAnimations.js +0 -122
  353. package/dist/esm/useToastAnimations.js.map +0 -6
  354. package/dist/esm/v1.js +0 -17
  355. package/dist/esm/v1.js.map +0 -6
  356. package/dist/esm/v1.mjs +0 -3
  357. package/dist/esm/v1.mjs.map +0 -1
  358. package/dist/esm/v1.native.js +0 -3
  359. package/dist/esm/v1.native.js.map +0 -1
  360. package/dist/jsx/Toast.js +0 -107
  361. package/dist/jsx/Toast.js.map +0 -6
  362. package/dist/jsx/ToastAnnounce.js +0 -55
  363. package/dist/jsx/ToastAnnounce.js.map +0 -6
  364. package/dist/jsx/ToastComposable.js +0 -543
  365. package/dist/jsx/ToastComposable.js.map +0 -6
  366. package/dist/jsx/ToastImperative.js +0 -50
  367. package/dist/jsx/ToastImperative.js.map +0 -6
  368. package/dist/jsx/ToastImpl.js +0 -225
  369. package/dist/jsx/ToastImpl.js.map +0 -6
  370. package/dist/jsx/ToastItem.js +0 -393
  371. package/dist/jsx/ToastItem.js.map +0 -6
  372. package/dist/jsx/ToastItem.mjs +0 -492
  373. package/dist/jsx/ToastItem.mjs.map +0 -1
  374. package/dist/jsx/ToastItem.native.js +0 -614
  375. package/dist/jsx/ToastItem.native.js.map +0 -1
  376. package/dist/jsx/ToastPortal.js +0 -13
  377. package/dist/jsx/ToastPortal.js.map +0 -6
  378. package/dist/jsx/ToastProvider.js +0 -87
  379. package/dist/jsx/ToastProvider.js.map +0 -6
  380. package/dist/jsx/ToastState.js +0 -144
  381. package/dist/jsx/ToastState.js.map +0 -6
  382. package/dist/jsx/ToastViewport.js +0 -250
  383. package/dist/jsx/ToastViewport.js.map +0 -6
  384. package/dist/jsx/Toaster.js +0 -188
  385. package/dist/jsx/Toaster.js.map +0 -6
  386. package/dist/jsx/constants.js +0 -6
  387. package/dist/jsx/constants.js.map +0 -6
  388. package/dist/jsx/createNativeToast.js +0 -28
  389. package/dist/jsx/createNativeToast.js.map +0 -6
  390. package/dist/jsx/types.js +0 -1
  391. package/dist/jsx/types.js.map +0 -6
  392. package/dist/jsx/useAnimatedDragGesture.js +0 -73
  393. package/dist/jsx/useAnimatedDragGesture.js.map +0 -6
  394. package/dist/jsx/useDragGesture.js +0 -76
  395. package/dist/jsx/useDragGesture.js.map +0 -6
  396. package/dist/jsx/useDragGesture.mjs +0 -95
  397. package/dist/jsx/useDragGesture.mjs.map +0 -1
  398. package/dist/jsx/useDragGesture.native.js +0 -146
  399. package/dist/jsx/useDragGesture.native.js.map +0 -1
  400. package/dist/jsx/useReducedMotion.js +0 -30
  401. package/dist/jsx/useReducedMotion.js.map +0 -6
  402. package/dist/jsx/useToastAnimations.js +0 -122
  403. package/dist/jsx/useToastAnimations.js.map +0 -6
  404. package/dist/jsx/v1.js +0 -17
  405. package/dist/jsx/v1.js.map +0 -6
  406. package/dist/jsx/v1.mjs +0 -3
  407. package/dist/jsx/v1.mjs.map +0 -1
  408. package/dist/jsx/v1.native.js +0 -34
  409. package/dist/jsx/v1.native.js.map +0 -1
  410. package/types/ToastItem.d.ts.map +0 -1
  411. package/types/useDragGesture.d.ts.map +0 -1
  412. package/types/useDragGesture.native.d.ts.map +0 -1
  413. package/types/v1.d.ts.map +0 -1
@@ -1,87 +0,0 @@
1
- import { createCollection } from "@tamagui/collection";
2
- import { createStyledContext } from "@tamagui/core";
3
- import { startTransition } from "@tamagui/start-transition";
4
- import * as React from "react";
5
- import { TOAST_CONTEXT } from "./constants";
6
- import { ToastImperativeProvider } from "./ToastImperative";
7
- import { jsx } from "react/jsx-runtime";
8
- const PROVIDER_NAME = "ToastProvider", [Collection, useCollection] = createCollection("Toast"), { Provider: ToastProviderProvider, useStyledContext: useToastProviderContext } = createStyledContext(
9
- // since we always provide this we can avoid setting here
10
- {},
11
- "Toast__"
12
- ), ToastProvider = (props) => {
13
- const {
14
- scope = TOAST_CONTEXT,
15
- id: providedId,
16
- burntOptions,
17
- native,
18
- notificationOptions,
19
- label = "Notification",
20
- duration = 5e3,
21
- swipeDirection = "right",
22
- swipeThreshold = 50,
23
- children
24
- } = props, backupId = React.useId(), id = providedId ?? backupId, [viewports, setViewports] = React.useState({}), [toastCount, setToastCount] = React.useState(0), isFocusedToastEscapeKeyDownRef = React.useRef(!1), isClosePausedRef = React.useRef(!1), handleViewportChange = React.useCallback(
25
- (name, viewport) => {
26
- startTransition(() => {
27
- setViewports((prev) => ({ ...prev, [name]: viewport }));
28
- });
29
- },
30
- []
31
- ), options = React.useMemo(() => ({
32
- duration,
33
- burntOptions,
34
- native,
35
- notificationOptions
36
- }), [JSON.stringify([duration, burntOptions, native, notificationOptions])]);
37
- return /* @__PURE__ */ jsx(Collection.Provider, { scope, children: /* @__PURE__ */ jsx(
38
- ToastProviderProvider,
39
- {
40
- scope,
41
- id,
42
- label,
43
- duration,
44
- swipeDirection,
45
- swipeThreshold,
46
- toastCount,
47
- viewports,
48
- onViewportChange: handleViewportChange,
49
- onToastAdd: React.useCallback(() => {
50
- startTransition(() => {
51
- setToastCount((prevCount) => prevCount + 1);
52
- });
53
- }, []),
54
- onToastRemove: React.useCallback(() => {
55
- startTransition(() => {
56
- setToastCount((prevCount) => prevCount - 1);
57
- });
58
- }, []),
59
- isFocusedToastEscapeKeyDownRef,
60
- isClosePausedRef,
61
- options,
62
- children: /* @__PURE__ */ jsx(ToastImperativeProvider, { options, children })
63
- }
64
- ) });
65
- };
66
- function ReprogapateToastProvider(props) {
67
- const { children, context } = props;
68
- return /* @__PURE__ */ jsx(Collection.Provider, { scope: context.toastScope, children: /* @__PURE__ */ jsx(ToastProviderProvider, { ...context, children: /* @__PURE__ */ jsx(ToastImperativeProvider, { options: context.options, children }) }) });
69
- }
70
- ToastProvider.propTypes = {
71
- label(props) {
72
- if (props.label && typeof props.label == "string" && !props.label.trim()) {
73
- const error = `Invalid prop \`label\` supplied to \`${PROVIDER_NAME}\`. Expected non-empty \`string\`.`;
74
- return new Error(error);
75
- }
76
- return null;
77
- }
78
- };
79
- ToastProvider.displayName = PROVIDER_NAME;
80
- export {
81
- Collection,
82
- ReprogapateToastProvider,
83
- ToastProvider,
84
- useCollection,
85
- useToastProviderContext
86
- };
87
- //# sourceMappingURL=ToastProvider.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ToastProvider.tsx"],
4
- "mappings": "AAAA,SAAS,wBAAwB;AAEjC,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAChC,YAAY,WAAW;AAEvB,SAAS,qBAAqB;AAE9B,SAAS,+BAA+B;AAyJhC;AAlJR,MAAM,gBAAgB,iBAEhB,CAAC,YAAY,aAAa,IAAI,iBAAiC,OAAO,GAyBtE,EAAE,UAAU,uBAAuB,kBAAkB,wBAAwB,IACjF;AAAA;AAAA,EAEE,CAAC;AAAA,EACD;AACF,GA4CI,gBAA8C,CAClD,UACG;AACH,QAAM;AAAA,IACJ,QAAQ;AAAA,IACR,IAAI;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB;AAAA,EACF,IAAI,OACE,WAAW,MAAM,MAAM,GACvB,KAAK,cAAc,UACnB,CAAC,WAAW,YAAY,IAAI,MAAM,SAEtC,CAAC,CAAC,GACE,CAAC,YAAY,aAAa,IAAI,MAAM,SAAS,CAAC,GAC9C,iCAAiC,MAAM,OAAO,EAAK,GACnD,mBAAmB,MAAM,OAAO,EAAK,GAErC,uBAAuB,MAAM;AAAA,IACjC,CAAC,MAAc,aAAoC;AACjD,sBAAgB,MAAM;AACpB,qBAAa,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE;AAAA,MACxD,CAAC;AAAA,IACH;AAAA,IACA,CAAC;AAAA,EACH,GAGM,UAAU,MAAM,QAAQ,OACrB;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAEC,CAAC,KAAK,UAAU,CAAC,UAAU,cAAc,QAAQ,mBAAmB,CAAC,CAAC,CAAC;AAE1E,SACE,oBAAC,WAAW,UAAX,EAAoB,OACnB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBAAkB;AAAA,MAClB,YAAY,MAAM,YAAY,MAAM;AAClC,wBAAgB,MAAM;AACpB,wBAAc,CAAC,cAAc,YAAY,CAAC;AAAA,QAC5C,CAAC;AAAA,MACH,GAAG,CAAC,CAAC;AAAA,MACL,eAAe,MAAM,YAAY,MAAM;AACrC,wBAAgB,MAAM;AACpB,wBAAc,CAAC,cAAc,YAAY,CAAC;AAAA,QAC5C,CAAC;AAAA,MACH,GAAG,CAAC,CAAC;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MAEA,8BAAC,2BAAwB,SAAmB,UAAS;AAAA;AAAA,EACvD,GACF;AAEJ;AAEO,SAAS,yBAAyB,OAGtC;AACD,QAAM,EAAE,UAAU,QAAQ,IAAI;AAC9B,SACE,oBAAC,WAAW,UAAX,EAAoB,OAAO,QAAQ,YAClC,8BAAC,yBAAuB,GAAG,SACzB,8BAAC,2BAAwB,SAAS,QAAQ,SACvC,UACH,GACF,GACF;AAEJ;AAEA,cAAc,YAAY;AAAA,EACxB,MAAM,OAAO;AACX,QAAI,MAAM,SAAS,OAAO,MAAM,SAAU,YAAY,CAAC,MAAM,MAAM,KAAK,GAAG;AACzE,YAAM,QAAQ,wCAAwC,aAAa;AACnE,aAAO,IAAI,MAAM,KAAK;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AACF;AAEA,cAAc,cAAc;",
5
- "names": []
6
- }
@@ -1,144 +0,0 @@
1
- let toastsCounter = 1;
2
- class Observer {
3
- subscribers = [];
4
- toasts = [];
5
- dismissedToasts = /* @__PURE__ */ new Set();
6
- /**
7
- * Subscribe to toast state changes.
8
- * Returns an unsubscribe function.
9
- */
10
- subscribe = (subscriber) => (this.subscribers.push(subscriber), () => {
11
- const index = this.subscribers.indexOf(subscriber);
12
- index > -1 && this.subscribers.splice(index, 1);
13
- });
14
- /**
15
- * Publish a toast to all subscribers
16
- */
17
- publish = (data) => {
18
- this.subscribers.forEach((subscriber) => subscriber(data));
19
- };
20
- /**
21
- * Add a new toast to the internal array and publish to subscribers
22
- */
23
- addToast = (data) => {
24
- this.publish(data), this.toasts = [...this.toasts, data];
25
- };
26
- /**
27
- * Create or update a toast
28
- */
29
- create = (data) => {
30
- const { title, ...rest } = data, id = typeof data?.id == "number" || typeof data?.id == "string" && data.id.length > 0 ? data.id : toastsCounter++, alreadyExists = this.toasts.find((toast2) => toast2.id === id), dismissible = data.dismissible ?? !0;
31
- return this.dismissedToasts.has(id) && this.dismissedToasts.delete(id), alreadyExists ? this.toasts = this.toasts.map((toast2) => toast2.id === id ? (this.publish({ ...toast2, ...data, id, title, dismissible }), { ...toast2, ...data, id, title, dismissible }) : toast2) : this.addToast({ title, ...rest, dismissible, id }), id;
32
- };
33
- /**
34
- * Dismiss a toast by id, or all toasts if no id provided
35
- */
36
- dismiss = (id) => (id !== void 0 ? (this.dismissedToasts.add(id), requestAnimationFrame(() => {
37
- this.subscribers.forEach((subscriber) => subscriber({ id, dismiss: !0 }));
38
- })) : this.toasts.forEach((toast2) => {
39
- this.subscribers.forEach(
40
- (subscriber) => subscriber({ id: toast2.id, dismiss: !0 })
41
- );
42
- }), id);
43
- /**
44
- * Show a basic toast message
45
- */
46
- message = (title, data) => this.create({ ...data, title, type: "default" });
47
- /**
48
- * Show a success toast
49
- */
50
- success = (title, data) => this.create({ ...data, title, type: "success" });
51
- /**
52
- * Show an error toast
53
- */
54
- error = (title, data) => this.create({ ...data, title, type: "error" });
55
- /**
56
- * Show a warning toast
57
- */
58
- warning = (title, data) => this.create({ ...data, title, type: "warning" });
59
- /**
60
- * Show an info toast
61
- */
62
- info = (title, data) => this.create({ ...data, title, type: "info" });
63
- /**
64
- * Show a loading toast
65
- */
66
- loading = (title, data) => this.create({ ...data, title, type: "loading" });
67
- /**
68
- * Show a toast for a promise, automatically transitioning through
69
- * loading -> success/error states
70
- */
71
- promise = (promise, data) => {
72
- if (!data)
73
- return;
74
- let id;
75
- data.loading !== void 0 && (id = this.create({
76
- promise,
77
- type: "loading",
78
- title: data.loading,
79
- description: typeof data.description != "function" ? data.description : void 0,
80
- // loading toasts shouldn't auto-dismiss
81
- duration: Number.POSITIVE_INFINITY
82
- }));
83
- const p = Promise.resolve(promise instanceof Function ? promise() : promise);
84
- let shouldDismiss = id !== void 0, result;
85
- const originalPromise = p.then(async (response) => {
86
- if (result = ["resolve", response], isHttpResponse(response) && !response.ok) {
87
- shouldDismiss = !1;
88
- const errorMsg = typeof data.error == "function" ? await data.error(`HTTP error! status: ${response.status}`) : data.error, description = typeof data.description == "function" ? await data.description(`HTTP error! status: ${response.status}`) : data.description;
89
- this.create({ id, type: "error", title: errorMsg, description });
90
- } else if (data.success !== void 0) {
91
- shouldDismiss = !1;
92
- const successMsg = typeof data.success == "function" ? await data.success(response) : data.success, description = typeof data.description == "function" ? await data.description(response) : data.description;
93
- this.create({ id, type: "success", title: successMsg, description });
94
- }
95
- }).catch(async (error) => {
96
- if (result = ["reject", error], data.error !== void 0) {
97
- shouldDismiss = !1;
98
- const errorMsg = typeof data.error == "function" ? await data.error(error) : data.error, description = typeof data.description == "function" ? await data.description(error) : data.description;
99
- this.create({ id, type: "error", title: errorMsg, description });
100
- }
101
- }).finally(() => {
102
- shouldDismiss && (this.dismiss(id), id = void 0), data.finally?.();
103
- }), unwrap = () => new Promise(
104
- (resolve, reject) => originalPromise.then(() => result[0] === "reject" ? reject(result[1]) : resolve(result[1])).catch(reject)
105
- );
106
- return typeof id != "string" && typeof id != "number" ? { unwrap } : Object.assign(id, { unwrap });
107
- };
108
- /**
109
- * Show a custom JSX toast
110
- */
111
- custom = (jsx, data) => {
112
- const id = data?.id ?? toastsCounter++;
113
- return this.create({ jsx: jsx(id), ...data, id }), id;
114
- };
115
- /**
116
- * Get all active (non-dismissed) toasts
117
- */
118
- getActiveToasts = () => this.toasts.filter((toast2) => !this.dismissedToasts.has(toast2.id));
119
- /**
120
- * Get full toast history
121
- */
122
- getHistory = () => this.toasts;
123
- }
124
- function isHttpResponse(data) {
125
- return data && typeof data == "object" && "ok" in data && typeof data.ok == "boolean" && "status" in data && typeof data.status == "number";
126
- }
127
- const ToastState = new Observer(), toastFunction = (title, data) => ToastState.create({ ...data, title }), getHistory = () => ToastState.getHistory(), getToasts = () => ToastState.getActiveToasts(), toast = Object.assign(toastFunction, {
128
- success: ToastState.success,
129
- error: ToastState.error,
130
- warning: ToastState.warning,
131
- info: ToastState.info,
132
- loading: ToastState.loading,
133
- promise: ToastState.promise,
134
- custom: ToastState.custom,
135
- dismiss: ToastState.dismiss,
136
- message: ToastState.message,
137
- getHistory,
138
- getToasts
139
- });
140
- export {
141
- ToastState,
142
- toast
143
- };
144
- //# sourceMappingURL=ToastState.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ToastState.ts"],
4
- "mappings": "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",
5
- "names": ["toast"]
6
- }
@@ -1,250 +0,0 @@
1
- import { AnimatePresence } from "@tamagui/animate-presence";
2
- import { useComposedRefs } from "@tamagui/compose-refs";
3
- import { isWeb } from "@tamagui/constants";
4
- import { styled } from "@tamagui/core";
5
- import { PortalHost } from "@tamagui/portal";
6
- import { YStack } from "@tamagui/stacks";
7
- import { VisuallyHidden } from "@tamagui/visually-hidden";
8
- import * as React from "react";
9
- import { TOAST_CONTEXT } from "./constants";
10
- import { ToastPortal } from "./ToastPortal";
11
- import { Collection, useCollection, useToastProviderContext } from "./ToastProvider";
12
- import { jsx, jsxs } from "react/jsx-runtime";
13
- const VIEWPORT_NAME = "ToastViewport", VIEWPORT_DEFAULT_HOTKEY = ["F8"], VIEWPORT_PAUSE = "toast.viewportPause", VIEWPORT_RESUME = "toast.viewportResume", ToastViewportWrapperFrame = styled(YStack, {
14
- name: "ViewportWrapper",
15
- variants: {
16
- unstyled: {
17
- false: {
18
- pointerEvents: "box-none",
19
- top: 0,
20
- bottom: 0,
21
- left: 0,
22
- right: 0,
23
- position: "fixed",
24
- maxWidth: "100%",
25
- tabIndex: 0,
26
- zIndex: 1e5
27
- }
28
- }
29
- },
30
- defaultVariants: {
31
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
32
- }
33
- }), ToastViewportFrame = styled(YStack, {
34
- name: VIEWPORT_NAME,
35
- variants: {
36
- unstyled: {
37
- false: {
38
- pointerEvents: "box-none",
39
- position: "fixed",
40
- maxWidth: "100%"
41
- }
42
- }
43
- },
44
- defaultVariants: {
45
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
46
- }
47
- }), ToastViewport = React.memo(
48
- React.forwardRef(
49
- (props, forwardedRef) => {
50
- const {
51
- scope,
52
- hotkey = VIEWPORT_DEFAULT_HOTKEY,
53
- label = "Notifications ({hotkey})",
54
- name = "default",
55
- multipleToasts,
56
- zIndex,
57
- portalToRoot,
58
- ...viewportProps
59
- } = props, context = useToastProviderContext(scope), getItems = useCollection(scope || TOAST_CONTEXT), headFocusProxyRef = React.useRef(null), tailFocusProxyRef = React.useRef(null), wrapperRef = React.useRef(null), ref = React.useRef(null), onViewportChange = React.useCallback(
60
- (el) => {
61
- context.viewports[name] !== el && context.onViewportChange(name, el);
62
- },
63
- [name, context.viewports]
64
- ), composedRefs = useComposedRefs(forwardedRef, ref, onViewportChange), hotkeyLabel = hotkey.join("+").replace(/Key/g, "").replace(/Digit/g, ""), hasToasts = context.toastCount > 0;
65
- React.useEffect(() => {
66
- if (!isWeb || context.toastCount === 0) return;
67
- const handleKeyDown = (event) => {
68
- hotkey.every(
69
- (key) => event[key] || event.code === key
70
- ) && ref.current?.focus();
71
- };
72
- return document.addEventListener("keydown", handleKeyDown), () => {
73
- document.removeEventListener("keydown", handleKeyDown);
74
- };
75
- }, [hotkey, context.toastCount]), React.useEffect(() => {
76
- if (!isWeb || context.toastCount === 0) return;
77
- const wrapper = wrapperRef.current, viewport = ref.current;
78
- if (hasToasts && wrapper && viewport) {
79
- const handlePause = () => {
80
- if (!context.isClosePausedRef.current) {
81
- const pauseEvent = new CustomEvent(VIEWPORT_PAUSE);
82
- viewport.dispatchEvent(pauseEvent), context.isClosePausedRef.current = !0;
83
- }
84
- }, handleResume = () => {
85
- if (context.isClosePausedRef.current) {
86
- const resumeEvent = new CustomEvent(VIEWPORT_RESUME);
87
- viewport.dispatchEvent(resumeEvent), context.isClosePausedRef.current = !1;
88
- }
89
- }, handleFocusOutResume = (event) => {
90
- !wrapper.contains(
91
- event.relatedTarget
92
- ) && handleResume();
93
- }, handlePointerLeaveResume = () => {
94
- wrapper.contains(document.activeElement) || handleResume();
95
- };
96
- return wrapper.addEventListener("focusin", handlePause), wrapper.addEventListener("focusout", handleFocusOutResume), wrapper.addEventListener("pointermove", handlePause), wrapper.addEventListener("pointerleave", handlePointerLeaveResume), window.addEventListener("blur", handlePause), window.addEventListener("focus", handleResume), () => {
97
- wrapper.removeEventListener("focusin", handlePause), wrapper.removeEventListener("focusout", handleFocusOutResume), wrapper.removeEventListener("pointermove", handlePause), wrapper.removeEventListener("pointerleave", handlePointerLeaveResume), window.removeEventListener("blur", handlePause), window.removeEventListener("focus", handleResume);
98
- };
99
- }
100
- }, [hasToasts, context.isClosePausedRef, context.toastCount]);
101
- const getSortedTabbableCandidates = React.useCallback(
102
- ({ tabbingDirection }) => {
103
- const tabbableCandidates = getItems().map((toastItem) => {
104
- const toastNode = toastItem.ref.current, toastTabbableCandidates = [
105
- toastNode,
106
- ...getTabbableCandidates(toastNode)
107
- ];
108
- return tabbingDirection === "forwards" ? toastTabbableCandidates : toastTabbableCandidates.reverse();
109
- });
110
- return (tabbingDirection === "forwards" ? tabbableCandidates.reverse() : tabbableCandidates).flat();
111
- },
112
- [getItems]
113
- );
114
- React.useEffect(() => {
115
- if (!isWeb || context.toastCount === 0) return;
116
- const viewport = ref.current;
117
- if (viewport) {
118
- const handleKeyDown = (event) => {
119
- const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;
120
- if (event.key === "Tab" && !isMetaKey) {
121
- const focusedElement = document.activeElement, isTabbingBackwards = event.shiftKey;
122
- if (event.target === viewport && isTabbingBackwards) {
123
- headFocusProxyRef.current?.focus();
124
- return;
125
- }
126
- const sortedCandidates = getSortedTabbableCandidates({ tabbingDirection: isTabbingBackwards ? "backwards" : "forwards" }), index = sortedCandidates.findIndex(
127
- (candidate) => candidate === focusedElement
128
- );
129
- focusFirst(sortedCandidates.slice(index + 1)) ? event.preventDefault() : isTabbingBackwards ? (
130
- // @ts-ignore ali TODO type
131
- headFocusProxyRef.current?.focus()
132
- ) : (
133
- // @ts-ignore ali TODO type
134
- tailFocusProxyRef.current?.focus()
135
- );
136
- }
137
- };
138
- return viewport.addEventListener("keydown", handleKeyDown), () => viewport.removeEventListener("keydown", handleKeyDown);
139
- }
140
- }, [getItems, getSortedTabbableCandidates, context.toastCount]);
141
- const contents = /* @__PURE__ */ jsxs(
142
- ToastViewportWrapperFrame,
143
- {
144
- ref: wrapperRef,
145
- role: "region",
146
- "aria-label": label.replace("{hotkey}", hotkeyLabel),
147
- tabIndex: -1,
148
- children: [
149
- hasToasts && /* @__PURE__ */ jsx(
150
- FocusProxy,
151
- {
152
- context,
153
- viewportName: name,
154
- ref: headFocusProxyRef,
155
- onFocusFromOutsideViewport: () => {
156
- const tabbableCandidates = getSortedTabbableCandidates({
157
- tabbingDirection: "forwards"
158
- });
159
- focusFirst(tabbableCandidates);
160
- }
161
- }
162
- ),
163
- /* @__PURE__ */ jsx(Collection.Slot, { scope: context.toastScope, children: /* @__PURE__ */ jsx(
164
- ToastViewportFrame,
165
- {
166
- focusable: context.toastCount > 0,
167
- ref: composedRefs,
168
- ...viewportProps,
169
- children: /* @__PURE__ */ jsx(
170
- PortalHost,
171
- {
172
- render: (children) => /* @__PURE__ */ jsx(AnimatePresence, { exitBeforeEnter: !multipleToasts, children }),
173
- name: name ?? "default"
174
- }
175
- )
176
- }
177
- ) }),
178
- hasToasts && /* @__PURE__ */ jsx(
179
- FocusProxy,
180
- {
181
- context,
182
- viewportName: name,
183
- ref: tailFocusProxyRef,
184
- onFocusFromOutsideViewport: () => {
185
- const tabbableCandidates = getSortedTabbableCandidates({
186
- tabbingDirection: "backwards"
187
- });
188
- focusFirst(tabbableCandidates);
189
- }
190
- }
191
- )
192
- ]
193
- }
194
- );
195
- return portalToRoot ? /* @__PURE__ */ jsx(
196
- ToastPortal,
197
- {
198
- context,
199
- ...typeof zIndex == "number" ? { zIndex } : {},
200
- children: contents
201
- }
202
- ) : contents;
203
- }
204
- )
205
- );
206
- ToastViewport.displayName = VIEWPORT_NAME;
207
- const FOCUS_PROXY_NAME = "ToastFocusProxy", FocusProxy = React.forwardRef(
208
- (props, forwardedRef) => {
209
- const { onFocusFromOutsideViewport, viewportName, context, ...proxyProps } = props, viewport = context.viewports[viewportName];
210
- return /* @__PURE__ */ jsx(
211
- VisuallyHidden,
212
- {
213
- "aria-hidden": !0,
214
- tabIndex: 0,
215
- ...proxyProps,
216
- ref: forwardedRef,
217
- position: "fixed",
218
- onFocus: (event) => {
219
- if (!isWeb) return;
220
- const prevFocusedElement = event.relatedTarget;
221
- !viewport?.contains(prevFocusedElement) && onFocusFromOutsideViewport();
222
- }
223
- }
224
- );
225
- }
226
- );
227
- FocusProxy.displayName = FOCUS_PROXY_NAME;
228
- function focusFirst(candidates) {
229
- if (!isWeb) return;
230
- const previouslyFocusedElement = document.activeElement;
231
- return candidates.some((candidate) => candidate === previouslyFocusedElement ? !0 : (candidate.focus(), document.activeElement !== previouslyFocusedElement));
232
- }
233
- function getTabbableCandidates(container) {
234
- if (!isWeb) return [];
235
- const containerHtml = container, nodes = [], walker = document.createTreeWalker(containerHtml, NodeFilter.SHOW_ELEMENT, {
236
- acceptNode: (node) => {
237
- const isHiddenInput = node.tagName === "INPUT" && node.type === "hidden";
238
- return node.disabled || node.hidden || isHiddenInput ? NodeFilter.FILTER_SKIP : node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
239
- }
240
- });
241
- for (; walker.nextNode(); ) nodes.push(walker.currentNode);
242
- return nodes;
243
- }
244
- export {
245
- ToastViewport,
246
- VIEWPORT_DEFAULT_HOTKEY,
247
- VIEWPORT_PAUSE,
248
- VIEWPORT_RESUME
249
- };
250
- //# sourceMappingURL=ToastViewport.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ToastViewport.tsx"],
4
- "mappings": "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",
5
- "names": []
6
- }