@tamagui/toast 2.0.0-rc.8 → 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 +42 -29
  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
@@ -5,89 +5,89 @@ import { startTransition } from "@tamagui/start-transition";
5
5
  import * as React from "react";
6
6
  import { TOAST_CONTEXT } from "./constants.native.js";
7
7
  import { ToastImperativeProvider } from "./ToastImperative.native.js";
8
- var PROVIDER_NAME = "ToastProvider",
9
- [Collection, useCollection] = createCollection("Toast"),
10
- {
11
- Provider: ToastProviderProvider,
12
- useStyledContext: useToastProviderContext
13
- } = createStyledContext(
14
- // since we always provide this we can avoid setting here
15
- {}, "Toast__"),
16
- ToastProvider = function (props) {
17
- var {
18
- scope = TOAST_CONTEXT,
19
- id: providedId,
20
- burntOptions,
21
- native,
22
- notificationOptions,
23
- label = "Notification",
24
- duration = 5e3,
25
- swipeDirection = "right",
26
- swipeThreshold = 50,
27
- children
28
- } = props,
29
- backupId = React.useId(),
30
- id = providedId ?? backupId,
31
- [viewports, setViewports] = React.useState({}),
32
- [toastCount, setToastCount] = React.useState(0),
33
- isFocusedToastEscapeKeyDownRef = React.useRef(!1),
34
- isClosePausedRef = React.useRef(!1),
35
- handleViewportChange = React.useCallback(function (name, viewport) {
36
- startTransition(function () {
37
- setViewports(function (prev) {
38
- return {
39
- ...prev,
40
- [name]: viewport
41
- };
42
- });
43
- });
44
- }, []),
45
- options = React.useMemo(function () {
8
+ var PROVIDER_NAME = "ToastProvider";
9
+ var [Collection, useCollection] = createCollection("Toast");
10
+ var {
11
+ Provider: ToastProviderProvider,
12
+ useStyledContext: useToastProviderContext
13
+ } = createStyledContext(
14
+ // since we always provide this we can avoid setting here
15
+ {}, "Toast__");
16
+ var ToastProvider = function (props) {
17
+ var {
18
+ scope = TOAST_CONTEXT,
19
+ id: providedId,
20
+ burntOptions,
21
+ native,
22
+ notificationOptions,
23
+ label = "Notification",
24
+ duration = 5e3,
25
+ swipeDirection = "right",
26
+ swipeThreshold = 50,
27
+ children
28
+ } = props;
29
+ var backupId = React.useId();
30
+ var id = providedId !== null && providedId !== void 0 ? providedId : backupId;
31
+ var [viewports, setViewports] = React.useState({});
32
+ var [toastCount, setToastCount] = React.useState(0);
33
+ var isFocusedToastEscapeKeyDownRef = React.useRef(false);
34
+ var isClosePausedRef = React.useRef(false);
35
+ var handleViewportChange = React.useCallback(function (name, viewport) {
36
+ startTransition(function () {
37
+ setViewports(function (prev) {
46
38
  return {
47
- duration,
48
- burntOptions,
49
- native,
50
- notificationOptions
39
+ ...prev,
40
+ [name]: viewport
51
41
  };
52
- },
53
- // nested simple object so JSON.stringify
54
- [JSON.stringify([duration, burntOptions, native, notificationOptions])]);
55
- return /* @__PURE__ */_jsx(Collection.Provider, {
42
+ });
43
+ });
44
+ }, []);
45
+ var options = React.useMemo(function () {
46
+ return {
47
+ duration,
48
+ burntOptions,
49
+ native,
50
+ notificationOptions
51
+ };
52
+ },
53
+ // nested simple object so JSON.stringify
54
+ [JSON.stringify([duration, burntOptions, native, notificationOptions])]);
55
+ return /* @__PURE__ */_jsx(Collection.Provider, {
56
+ scope,
57
+ children: /* @__PURE__ */_jsx(ToastProviderProvider, {
56
58
  scope,
57
- children: /* @__PURE__ */_jsx(ToastProviderProvider, {
58
- scope,
59
- id,
60
- label,
61
- duration,
62
- swipeDirection,
63
- swipeThreshold,
64
- toastCount,
65
- viewports,
66
- onViewportChange: handleViewportChange,
67
- onToastAdd: React.useCallback(function () {
68
- startTransition(function () {
69
- setToastCount(function (prevCount) {
70
- return prevCount + 1;
71
- });
59
+ id,
60
+ label,
61
+ duration,
62
+ swipeDirection,
63
+ swipeThreshold,
64
+ toastCount,
65
+ viewports,
66
+ onViewportChange: handleViewportChange,
67
+ onToastAdd: React.useCallback(function () {
68
+ startTransition(function () {
69
+ setToastCount(function (prevCount) {
70
+ return prevCount + 1;
72
71
  });
73
- }, []),
74
- onToastRemove: React.useCallback(function () {
75
- startTransition(function () {
76
- setToastCount(function (prevCount) {
77
- return prevCount - 1;
78
- });
72
+ });
73
+ }, []),
74
+ onToastRemove: React.useCallback(function () {
75
+ startTransition(function () {
76
+ setToastCount(function (prevCount) {
77
+ return prevCount - 1;
79
78
  });
80
- }, []),
81
- isFocusedToastEscapeKeyDownRef,
82
- isClosePausedRef,
79
+ });
80
+ }, []),
81
+ isFocusedToastEscapeKeyDownRef,
82
+ isClosePausedRef,
83
+ options,
84
+ children: /* @__PURE__ */_jsx(ToastImperativeProvider, {
83
85
  options,
84
- children: /* @__PURE__ */_jsx(ToastImperativeProvider, {
85
- options,
86
- children
87
- })
86
+ children
88
87
  })
89
- });
90
- };
88
+ })
89
+ });
90
+ };
91
91
  function ReprogapateToastProvider(props) {
92
92
  var {
93
93
  children,
@@ -106,7 +106,7 @@ function ReprogapateToastProvider(props) {
106
106
  }
107
107
  ToastProvider.propTypes = {
108
108
  label(props) {
109
- if (props.label && typeof props.label == "string" && !props.label.trim()) {
109
+ if (props.label && typeof props.label === "string" && !props.label.trim()) {
110
110
  var error = `Invalid prop \`label\` supplied to \`${PROVIDER_NAME}\`. Expected non-empty \`string\`.`;
111
111
  return new Error(error);
112
112
  }
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","createCollection","createStyledContext","startTransition","React","TOAST_CONTEXT","ToastImperativeProvider","PROVIDER_NAME","Collection","useCollection","Provider","ToastProviderProvider","useStyledContext","useToastProviderContext","ToastProvider","props","scope","id","providedId","burntOptions","native","notificationOptions","label","duration","swipeDirection","swipeThreshold","children","backupId","useId","viewports","setViewports","useState","toastCount","setToastCount","isFocusedToastEscapeKeyDownRef","useRef","isClosePausedRef","handleViewportChange","useCallback","name","viewport","prev","options","useMemo","JSON","stringify","onViewportChange","onToastAdd","prevCount","onToastRemove","ReprogapateToastProvider","context"],"sources":["../../src/ToastProvider.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,2BAAwB;AAEjC,SAASC,gBAAA,6BAA2B;AACpC,SAASC,mBAAA,QAAuB;AAChC,SAAAC,eAAuB;AAEvB,YAASC,KAAA,aAAqB;AAE9B,SAASC,aAAA,+BAA+B;AAyJhC,SAAAC,uBAAA;AAlJR,IAAAC,aAAM,kBAAgB;EAAA,CAAAC,UAEf,EAAAC,aAAY,IAAaR,gBAAI,QAAiC;EAAO;IAyBtES,QAAE,EAAAC,qBAAU;IAAAC,gBAAuB,EAAAC;EAAkB,IAAwBX,mBACjF;EAAA;EAEE,CAAC,GACD,SACF;EA4CIY,aAAA,GAA8C,SAAAA,CAClDC,KACG;IACH;QAAMC,KAAA,GAAAX,aAAA;QAAAY,EAAA,EAAAC,UAAA;QAAAC,YAAA;QAAAC,MAAA;QAAAC,mBAAA;QAAAC,KAAA;QAAAC,QAAA;QAAAC,cAAA;QAAAC,cAAA;QAAAC;MAAA,IAAAX,KAAA;MAAAY,QAAA,GAAAvB,KAAA,CAAAwB,KAAA;MAAAX,EAAA,GAAAC,UAAA,IAAAS,QAAA;MAAA,CAAAE,SAAA,EAAAC,YAAA,IAAA1B,KAAA,CAAA2B,QAAA;MAAA,CAAAC,UAAA,EAAAC,aAAA,IAAA7B,KAAA,CAAA2B,QAAA;MAAAG,8BAAA,GAAA9B,KAAA,CAAA+B,MAAA;MAAAC,gBAAA,GAAAhC,KAAA,CAAA+B,MAAA;MAAAE,oBAAA,GAAAjC,KAAA,CAAAkC,WAAA,WAAAC,IAAA,EAAAC,QAAA;QACJrC,eAAQ;UACR2B,YAAI,WAAAW,IAAA;YACJ;cACA,GAAAA,IAAA;cACA,CAAAF,IAAA,GAAAC;YACA;UACA;QACA;MAAiB,GACjB;MAAAE,OAAA,GAAAtC,KAAiB,CAAAuC,OAAA,CACjB;QACE,OACE;UAUHpB,QAAc;UACbJ,YAAA;UACEC,MAAA;UACDC;QACH;MACA,CAAC;MACH;MAKI,CACAuB,IAAA,CAAAC,SAAA,EACAtB,QAAA,EACAJ,YAAA,EAGAC,MAAK,EAETC,mBACE,CACG;IACC,OACA,eAAArB,IAAA,CAAAQ,UAAA,CAAAE,QAAA;MAAAM,KACA;MAAAU,QACA,iBAAA1B,IAAA,CAAAW,qBAAA;QACAK,KAAA;QACAC,EAAA;QACAK,KAAA;QACAC,QAAA;QACAC,cAAA;QACAC,cAAY;QACVO,UAAA;QACEH,SAAA;QAA0CiB,gBAC3C,EAAAT,oBAAA;QACHU,UAAK,EAAA3C,KAAA,CAAAkC,WAAA;UACLnC,eAAe,aAAM;YACnB8B,aAAA,CAAgB,UAAMe,SAAA;cACpB,OAAAA,SAAe;YAChB;UACH,CAAG,CAAC;QACJ;QACAC,aAAA,EAAA7C,KAAA,CAAAkC,WAAA;UACAnC,eAAA;YAEA8B,aAAA,WAAAe,SAAC;cAAoD,OAAAA,SAAA;YAEzD;UAEJ;QAEO,GAAS;QAIdd,8BAA8B;QAC9BE,gBACE;QAQJM,OAAA;QAEAhB,QAAc,iBAAY1B,IAAA,CAAAM,uBAAA;UAClBoC,OAAO;UACPhB;QACF;MACA;IAAsB,EACxB;EACA;AAAO,SACTwB,yBAAAnC,KAAA;EACF;IAAAW,QAAA;IAAAyB;EAAA,IAAApC,KAAA;EAEA,sBAAcf,IAAc,CAAAQ,UAAA,CAAAE,QAAA","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","createCollection","createStyledContext","startTransition","React","TOAST_CONTEXT","ToastImperativeProvider","PROVIDER_NAME","Collection","useCollection","Provider","ToastProviderProvider","useStyledContext","useToastProviderContext","ToastProvider","props","scope","id","providedId","burntOptions","native","notificationOptions","label","duration","swipeDirection","swipeThreshold","children","backupId","useId","viewports","setViewports","useState","toastCount","setToastCount","isFocusedToastEscapeKeyDownRef","useRef","isClosePausedRef","handleViewportChange","useCallback","name","viewport","prev","options","useMemo","JSON","stringify","onViewportChange","onToastAdd","prevCount","onToastRemove","ReprogapateToastProvider","context","toastScope"],"sources":["../../src/ToastProvider.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,2BAAwB;AAEjC,SAASC,gBAAA,6BAA2B;AACpC,SAASC,mBAAA,QAAuB;AAChC,SAAAC,eAAuB;AAEvB,YAASC,KAAA,aAAqB;AAE9B,SAASC,aAAA,+BAA+B;AAgKhC,SAAAC,uBAAA;AAzJR,IAAAC,aAAM,kBAAgB;AAEtB,KAAAC,UAAO,EAAAC,aAAY,IAAaR,gBAAI,QAAiC;AAgCrE;EAAMS,QAAE,EAAAC,qBAAU;EAAAC,gBAAuB,EAAAC;AAAkB,IAAwBX,mBACjF;AAAA;AAEE,CAAC,GACD,SACF;AA4CF,IAAAY,aAAM,YAAAA,CACJC,KACG;EACH;IAAMC,KAAA,GAAAX,aAAA;IAAAY,EAAA,EAAAC,UAAA;IAAAC,YAAA;IAAAC,MAAA;IAAAC,mBAAA;IAAAC,KAAA;IAAAC,QAAA;IAAAC,cAAA;IAAAC,cAAA;IAAAC;EAAA,IAAAX,KAAA;EAAA,IACJY,QAAQ,GAAAvB,KAAA,CAAAwB,KAAA;EAAA,IACRX,EAAI,GAAAC,UAAA,aAAAA,UAAA,cAAAA,UAAA,GAAAS,QAAA;EAAA,IACJ,CAAAE,SAAA,EAAAC,YAAA,IAAA1B,KAAA,CAAA2B,QAAA;EAAA,IACA,CAAAC,UAAA,EAAAC,aAAA,IAAA7B,KAAA,CAAA2B,QAAA;EAAA,IACAG,8BAAA,GAAA9B,KAAA,CAAA+B,MAAA;EAAA,IACAC,gBAAQ,GAAAhC,KAAA,CAAA+B,MAAA;EAAA,IACRE,oBAAW,GAAAjC,KAAA,CAAAkC,WAAA,WAAAC,IAAA,EAAAC,QAAA;IACXrC,eAAA,aAAiB;MACjB2B,YAAA,WAAiBW,IAAA;QACjB;UACE,GAAAA,IAAA;UACE,CAAAF,IAAA,GAAAC;QACA;MACN,EAAM;IAGN;EACA,MAAM;EACN,IAAAE,OAAM,GAAAtC,KAAA,CAAAuC,OAAmB,CAEzB,YAAM;IACH,OAAc;MACbpB,QAAA;MACEJ,YAAA;MACDC,MAAA;MACHC;IACC;EACH;EAGA;EACE,CACEuB,IAAA,CAAAC,SAAA,EACAtB,QAAA,EACAJ,YAAA,EACAC,MAAA,EACFC,mBAAA,CAEE,EAIA;EAAC,sBAAArB,IAAA,CAAAQ,UAAA,CAAAE,QAAA;IAAAM,KACC;IAAAU,QACA,iBAAA1B,IAAA,CAAAW,qBAAA;MACAK,KAAA;MACAC,EAAA;MACAK,KAAA;MACAC,QAAA;MACAC,cAAA;MACAC,cAAA;MACAO,UAAA;MACAH,SAAA;MACEiB,gBAAA,EAAgBT,oBAAM;MACpBU,UAAA,EAAA3C,KAAA,CAAckC,WAAC,aAAc;QAC/BnC,eAAC;UACC8B,aAAC,WAAAe,SAAA;YACL,OAAAA,SAAqB;UACnB;QACE;MAA0C,GAC3C;MACHC,aAAK,EAAA7C,KAAA,CAAAkC,WAAA;QACLnC,eAAA;UACA8B,aAAA,WAAAe,SAAA;YACA,OAAAA,SAAA;UAEA;QAAqD;MAEzD;MAEJd,8BAAA;MAEOE,gBAAS;MAIdM,OAAQ;MACRhB,QACE,iBAAC1B,IAAA,CAAAM,uBAA2B;QAQhCoC,OAAA;QAEAhB;MACE;IACE;EACE;AACA;AAAsB,SACxBwB,yBAAAnC,KAAA;EACA;IAAAW,QAAO;IAAAyB;EAAA,IAAApC,KAAA;EACT,sBAAAf,IAAA,CAAAQ,UAAA,CAAAE,QAAA;IACFM,KAAA,EAAAmC,OAAA,CAAAC,UAAA;IAEA1B,QAAA,EAAc,eAAc1B,IAAA,CAAAW,qBAAA","ignoreList":[]}
@@ -7,10 +7,15 @@ class Observer {
7
7
  * Subscribe to toast state changes.
8
8
  * Returns an unsubscribe function.
9
9
  */
10
- subscribe = subscriber => (this.subscribers.push(subscriber), () => {
11
- const index = this.subscribers.indexOf(subscriber);
12
- index > -1 && this.subscribers.splice(index, 1);
13
- });
10
+ subscribe = subscriber => {
11
+ this.subscribers.push(subscriber);
12
+ return () => {
13
+ const index = this.subscribers.indexOf(subscriber);
14
+ if (index > -1) {
15
+ this.subscribers.splice(index, 1);
16
+ }
17
+ };
18
+ };
14
19
  /**
15
20
  * Publish a toast to all subscribers
16
21
  */
@@ -21,204 +26,260 @@ class Observer {
21
26
  * Add a new toast to the internal array and publish to subscribers
22
27
  */
23
28
  addToast = data => {
24
- this.publish(data), this.toasts = [...this.toasts, data];
29
+ this.publish(data);
30
+ this.toasts = [...this.toasts, data];
25
31
  };
26
32
  /**
27
33
  * Create or update a toast
28
34
  */
29
35
  create = data => {
30
36
  const {
31
- title,
32
- ...rest
33
- } = data,
34
- id = typeof data?.id == "number" || typeof data?.id == "string" && data.id.length > 0 ? data.id : toastsCounter++,
35
- alreadyExists = this.toasts.find(toast2 => toast2.id === id),
36
- dismissible = data.dismissible ?? !0;
37
- return this.dismissedToasts.has(id) && this.dismissedToasts.delete(id), alreadyExists ? this.toasts = this.toasts.map(toast2 => toast2.id === id ? (this.publish({
38
- ...toast2,
39
- ...data,
40
- id,
41
37
  title,
42
- dismissible
43
- }), {
44
- ...toast2,
45
- ...data,
46
- id,
47
- title,
48
- dismissible
49
- }) : toast2) : this.addToast({
50
- title,
51
- ...rest,
52
- dismissible,
53
- id
54
- }), id;
38
+ ...rest
39
+ } = data;
40
+ const id = typeof data?.id === "number" || typeof data?.id === "string" && data.id.length > 0 ? data.id : toastsCounter++;
41
+ const alreadyExists = this.toasts.find(toast2 => toast2.id === id);
42
+ const dismissible = data.dismissible ?? true;
43
+ if (this.dismissedToasts.has(id)) {
44
+ this.dismissedToasts.delete(id);
45
+ }
46
+ if (alreadyExists) {
47
+ this.toasts = this.toasts.map(toast2 => {
48
+ if (toast2.id === id) {
49
+ this.publish({
50
+ ...toast2,
51
+ ...data,
52
+ id,
53
+ title,
54
+ dismissible
55
+ });
56
+ return {
57
+ ...toast2,
58
+ ...data,
59
+ id,
60
+ title,
61
+ dismissible
62
+ };
63
+ }
64
+ return toast2;
65
+ });
66
+ } else {
67
+ this.addToast({
68
+ title,
69
+ ...rest,
70
+ dismissible,
71
+ id
72
+ });
73
+ }
74
+ return id;
55
75
  };
56
76
  /**
57
77
  * Dismiss a toast by id, or all toasts if no id provided
58
78
  */
59
- dismiss = id => (id !== void 0 ? (this.dismissedToasts.add(id), requestAnimationFrame(() => {
60
- this.subscribers.forEach(subscriber => subscriber({
61
- id,
62
- dismiss: !0
63
- }));
64
- })) : this.toasts.forEach(toast2 => {
65
- this.subscribers.forEach(subscriber => subscriber({
66
- id: toast2.id,
67
- dismiss: !0
68
- }));
69
- }), id);
79
+ dismiss = id => {
80
+ if (id !== void 0) {
81
+ this.dismissedToasts.add(id);
82
+ requestAnimationFrame(() => {
83
+ this.subscribers.forEach(subscriber => subscriber({
84
+ id,
85
+ dismiss: true
86
+ }));
87
+ });
88
+ } else {
89
+ this.toasts.forEach(toast2 => {
90
+ this.subscribers.forEach(subscriber => subscriber({
91
+ id: toast2.id,
92
+ dismiss: true
93
+ }));
94
+ });
95
+ }
96
+ return id;
97
+ };
70
98
  /**
71
99
  * Show a basic toast message
72
100
  */
73
- message = (title, data) => this.create({
74
- ...data,
75
- title,
76
- type: "default"
77
- });
101
+ message = (title, data) => {
102
+ return this.create({
103
+ ...data,
104
+ title,
105
+ type: "default"
106
+ });
107
+ };
78
108
  /**
79
109
  * Show a success toast
80
110
  */
81
- success = (title, data) => this.create({
82
- ...data,
83
- title,
84
- type: "success"
85
- });
111
+ success = (title, data) => {
112
+ return this.create({
113
+ ...data,
114
+ title,
115
+ type: "success"
116
+ });
117
+ };
86
118
  /**
87
119
  * Show an error toast
88
120
  */
89
- error = (title, data) => this.create({
90
- ...data,
91
- title,
92
- type: "error"
93
- });
121
+ error = (title, data) => {
122
+ return this.create({
123
+ ...data,
124
+ title,
125
+ type: "error"
126
+ });
127
+ };
94
128
  /**
95
129
  * Show a warning toast
96
130
  */
97
- warning = (title, data) => this.create({
98
- ...data,
99
- title,
100
- type: "warning"
101
- });
131
+ warning = (title, data) => {
132
+ return this.create({
133
+ ...data,
134
+ title,
135
+ type: "warning"
136
+ });
137
+ };
102
138
  /**
103
139
  * Show an info toast
104
140
  */
105
- info = (title, data) => this.create({
106
- ...data,
107
- title,
108
- type: "info"
109
- });
141
+ info = (title, data) => {
142
+ return this.create({
143
+ ...data,
144
+ title,
145
+ type: "info"
146
+ });
147
+ };
110
148
  /**
111
149
  * Show a loading toast
112
150
  */
113
- loading = (title, data) => this.create({
114
- ...data,
115
- title,
116
- type: "loading"
117
- });
151
+ loading = (title, data) => {
152
+ return this.create({
153
+ ...data,
154
+ title,
155
+ type: "loading"
156
+ });
157
+ };
118
158
  /**
119
159
  * Show a toast for a promise, automatically transitioning through
120
160
  * loading -> success/error states
121
161
  */
122
162
  promise = (promise, data) => {
123
- if (!data) return;
124
- let id;
125
- data.loading !== void 0 && (id = this.create({
126
- promise,
127
- type: "loading",
128
- title: data.loading,
129
- description: typeof data.description != "function" ? data.description : void 0,
130
- // loading toasts shouldn't auto-dismiss
131
- duration: Number.POSITIVE_INFINITY
132
- }));
163
+ if (!data) {
164
+ return;
165
+ }
166
+ let id = void 0;
167
+ if (data.loading !== void 0) {
168
+ id = this.create({
169
+ promise,
170
+ type: "loading",
171
+ title: data.loading,
172
+ description: typeof data.description !== "function" ? data.description : void 0,
173
+ // loading toasts shouldn't auto-dismiss
174
+ duration: Number.POSITIVE_INFINITY
175
+ });
176
+ }
133
177
  const p = Promise.resolve(promise instanceof Function ? promise() : promise);
134
- let shouldDismiss = id !== void 0,
135
- result;
178
+ let shouldDismiss = id !== void 0;
179
+ let result;
136
180
  const originalPromise = p.then(async response => {
137
- if (result = ["resolve", response], isHttpResponse(response) && !response.ok) {
138
- shouldDismiss = !1;
139
- const errorMsg = typeof data.error == "function" ? await data.error(`HTTP error! status: ${response.status}`) : data.error,
140
- description = typeof data.description == "function" ? await data.description(`HTTP error! status: ${response.status}`) : data.description;
141
- this.create({
142
- id,
143
- type: "error",
144
- title: errorMsg,
145
- description
146
- });
147
- } else if (data.success !== void 0) {
148
- shouldDismiss = !1;
149
- const successMsg = typeof data.success == "function" ? await data.success(response) : data.success,
150
- description = typeof data.description == "function" ? await data.description(response) : data.description;
151
- this.create({
152
- id,
153
- type: "success",
154
- title: successMsg,
155
- description
156
- });
157
- }
158
- }).catch(async error => {
159
- if (result = ["reject", error], data.error !== void 0) {
160
- shouldDismiss = !1;
161
- const errorMsg = typeof data.error == "function" ? await data.error(error) : data.error,
162
- description = typeof data.description == "function" ? await data.description(error) : data.description;
163
- this.create({
164
- id,
165
- type: "error",
166
- title: errorMsg,
167
- description
168
- });
169
- }
170
- }).finally(() => {
171
- shouldDismiss && (this.dismiss(id), id = void 0), data.finally?.();
172
- }),
173
- unwrap = () => new Promise((resolve, reject) => originalPromise.then(() => result[0] === "reject" ? reject(result[1]) : resolve(result[1])).catch(reject));
174
- return typeof id != "string" && typeof id != "number" ? {
175
- unwrap
176
- } : Object.assign(id, {
177
- unwrap
181
+ result = ["resolve", response];
182
+ if (isHttpResponse(response) && !response.ok) {
183
+ shouldDismiss = false;
184
+ const errorMsg = typeof data.error === "function" ? await data.error(`HTTP error! status: ${response.status}`) : data.error;
185
+ const description = typeof data.description === "function" ? await data.description(`HTTP error! status: ${response.status}`) : data.description;
186
+ this.create({
187
+ id,
188
+ type: "error",
189
+ title: errorMsg,
190
+ description
191
+ });
192
+ } else if (data.success !== void 0) {
193
+ shouldDismiss = false;
194
+ const successMsg = typeof data.success === "function" ? await data.success(response) : data.success;
195
+ const description = typeof data.description === "function" ? await data.description(response) : data.description;
196
+ this.create({
197
+ id,
198
+ type: "success",
199
+ title: successMsg,
200
+ description
201
+ });
202
+ }
203
+ }).catch(async error => {
204
+ result = ["reject", error];
205
+ if (data.error !== void 0) {
206
+ shouldDismiss = false;
207
+ const errorMsg = typeof data.error === "function" ? await data.error(error) : data.error;
208
+ const description = typeof data.description === "function" ? await data.description(error) : data.description;
209
+ this.create({
210
+ id,
211
+ type: "error",
212
+ title: errorMsg,
213
+ description
214
+ });
215
+ }
216
+ }).finally(() => {
217
+ if (shouldDismiss) {
218
+ this.dismiss(id);
219
+ id = void 0;
220
+ }
221
+ data.finally?.();
178
222
  });
223
+ const unwrap = () => new Promise((resolve, reject) => originalPromise.then(() => result[0] === "reject" ? reject(result[1]) : resolve(result[1])).catch(reject));
224
+ if (typeof id !== "string" && typeof id !== "number") {
225
+ return {
226
+ unwrap
227
+ };
228
+ } else {
229
+ return Object.assign(id, {
230
+ unwrap
231
+ });
232
+ }
179
233
  };
180
234
  /**
181
235
  * Show a custom JSX toast
182
236
  */
183
237
  custom = (jsx, data) => {
184
238
  const id = data?.id ?? toastsCounter++;
185
- return this.create({
239
+ this.create({
186
240
  jsx: jsx(id),
187
241
  ...data,
188
242
  id
189
- }), id;
243
+ });
244
+ return id;
190
245
  };
191
246
  /**
192
247
  * Get all active (non-dismissed) toasts
193
248
  */
194
- getActiveToasts = () => this.toasts.filter(toast2 => !this.dismissedToasts.has(toast2.id));
249
+ getActiveToasts = () => {
250
+ return this.toasts.filter(toast2 => !this.dismissedToasts.has(toast2.id));
251
+ };
195
252
  /**
196
253
  * Get full toast history
197
254
  */
198
- getHistory = () => this.toasts;
255
+ getHistory = () => {
256
+ return this.toasts;
257
+ };
199
258
  }
200
259
  function isHttpResponse(data) {
201
- return data && typeof data == "object" && "ok" in data && typeof data.ok == "boolean" && "status" in data && typeof data.status == "number";
260
+ return data && typeof data === "object" && "ok" in data && typeof data.ok === "boolean" && "status" in data && typeof data.status === "number";
202
261
  }
203
- const ToastState = new Observer(),
204
- toastFunction = (title, data) => ToastState.create({
262
+ const ToastState = new Observer();
263
+ const toastFunction = (title, data) => {
264
+ return ToastState.create({
205
265
  ...data,
206
266
  title
207
- }),
208
- getHistory = () => ToastState.getHistory(),
209
- getToasts = () => ToastState.getActiveToasts(),
210
- toast = Object.assign(toastFunction, {
211
- success: ToastState.success,
212
- error: ToastState.error,
213
- warning: ToastState.warning,
214
- info: ToastState.info,
215
- loading: ToastState.loading,
216
- promise: ToastState.promise,
217
- custom: ToastState.custom,
218
- dismiss: ToastState.dismiss,
219
- message: ToastState.message,
220
- getHistory,
221
- getToasts
222
267
  });
268
+ };
269
+ const getHistory = () => ToastState.getHistory();
270
+ const getToasts = () => ToastState.getActiveToasts();
271
+ const toast = Object.assign(toastFunction, {
272
+ success: ToastState.success,
273
+ error: ToastState.error,
274
+ warning: ToastState.warning,
275
+ info: ToastState.info,
276
+ loading: ToastState.loading,
277
+ promise: ToastState.promise,
278
+ custom: ToastState.custom,
279
+ dismiss: ToastState.dismiss,
280
+ message: ToastState.message,
281
+ getHistory,
282
+ getToasts
283
+ });
223
284
  export { ToastState, toast };
224
285
  //# sourceMappingURL=ToastState.mjs.map