@tamagui/v2-toast 2.0.0-1769464493958

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 (307) hide show
  1. package/dist/cjs/Toast.cjs +170 -0
  2. package/dist/cjs/Toast.js +119 -0
  3. package/dist/cjs/Toast.js.map +6 -0
  4. package/dist/cjs/Toast.native.js +174 -0
  5. package/dist/cjs/Toast.native.js.map +1 -0
  6. package/dist/cjs/ToastAnnounce.cjs +97 -0
  7. package/dist/cjs/ToastAnnounce.js +72 -0
  8. package/dist/cjs/ToastAnnounce.js.map +6 -0
  9. package/dist/cjs/ToastAnnounce.native.js +105 -0
  10. package/dist/cjs/ToastAnnounce.native.js.map +1 -0
  11. package/dist/cjs/ToastImperative.cjs +100 -0
  12. package/dist/cjs/ToastImperative.js +71 -0
  13. package/dist/cjs/ToastImperative.js.map +6 -0
  14. package/dist/cjs/ToastImperative.native.js +122 -0
  15. package/dist/cjs/ToastImperative.native.js.map +1 -0
  16. package/dist/cjs/ToastImpl.cjs +292 -0
  17. package/dist/cjs/ToastImpl.js +227 -0
  18. package/dist/cjs/ToastImpl.js.map +6 -0
  19. package/dist/cjs/ToastImpl.native.js +327 -0
  20. package/dist/cjs/ToastImpl.native.js.map +1 -0
  21. package/dist/cjs/ToastItem.cjs +466 -0
  22. package/dist/cjs/ToastItem.js +356 -0
  23. package/dist/cjs/ToastItem.js.map +6 -0
  24. package/dist/cjs/ToastItem.native.js +547 -0
  25. package/dist/cjs/ToastItem.native.js.map +1 -0
  26. package/dist/cjs/ToastPortal.cjs +44 -0
  27. package/dist/cjs/ToastPortal.js +26 -0
  28. package/dist/cjs/ToastPortal.js.map +6 -0
  29. package/dist/cjs/ToastPortal.native.js +47 -0
  30. package/dist/cjs/ToastPortal.native.js.map +1 -0
  31. package/dist/cjs/ToastProvider.cjs +146 -0
  32. package/dist/cjs/ToastProvider.js +105 -0
  33. package/dist/cjs/ToastProvider.js.map +6 -0
  34. package/dist/cjs/ToastProvider.native.js +159 -0
  35. package/dist/cjs/ToastProvider.native.js.map +1 -0
  36. package/dist/cjs/ToastState.cjs +248 -0
  37. package/dist/cjs/ToastState.js +160 -0
  38. package/dist/cjs/ToastState.js.map +6 -0
  39. package/dist/cjs/ToastState.native.js +257 -0
  40. package/dist/cjs/ToastState.native.js.map +1 -0
  41. package/dist/cjs/ToastViewport.cjs +278 -0
  42. package/dist/cjs/ToastViewport.js +263 -0
  43. package/dist/cjs/ToastViewport.js.map +6 -0
  44. package/dist/cjs/ToastViewport.native.js +316 -0
  45. package/dist/cjs/ToastViewport.native.js.map +1 -0
  46. package/dist/cjs/Toaster.cjs +219 -0
  47. package/dist/cjs/Toaster.js +177 -0
  48. package/dist/cjs/Toaster.js.map +6 -0
  49. package/dist/cjs/Toaster.native.js +279 -0
  50. package/dist/cjs/Toaster.native.js.map +1 -0
  51. package/dist/cjs/constants.cjs +28 -0
  52. package/dist/cjs/constants.js +22 -0
  53. package/dist/cjs/constants.js.map +6 -0
  54. package/dist/cjs/constants.native.js +31 -0
  55. package/dist/cjs/constants.native.js.map +1 -0
  56. package/dist/cjs/createNativeToast.cjs +51 -0
  57. package/dist/cjs/createNativeToast.js +44 -0
  58. package/dist/cjs/createNativeToast.js.map +6 -0
  59. package/dist/cjs/createNativeToast.native.js +47 -0
  60. package/dist/cjs/createNativeToast.native.js.map +1 -0
  61. package/dist/cjs/index.cjs +28 -0
  62. package/dist/cjs/index.js +22 -0
  63. package/dist/cjs/index.js.map +6 -0
  64. package/dist/cjs/index.native.js +31 -0
  65. package/dist/cjs/index.native.js.map +1 -0
  66. package/dist/cjs/types.cjs +16 -0
  67. package/dist/cjs/types.js +14 -0
  68. package/dist/cjs/types.js.map +6 -0
  69. package/dist/cjs/types.native.js +19 -0
  70. package/dist/cjs/types.native.js.map +1 -0
  71. package/dist/cjs/useDragGesture.cjs +129 -0
  72. package/dist/cjs/useDragGesture.js +100 -0
  73. package/dist/cjs/useDragGesture.js.map +6 -0
  74. package/dist/cjs/useDragGesture.native.js +146 -0
  75. package/dist/cjs/useDragGesture.native.js.map +1 -0
  76. package/dist/esm/Toast.js +107 -0
  77. package/dist/esm/Toast.js.map +6 -0
  78. package/dist/esm/Toast.mjs +131 -0
  79. package/dist/esm/Toast.mjs.map +1 -0
  80. package/dist/esm/Toast.native.js +132 -0
  81. package/dist/esm/Toast.native.js.map +1 -0
  82. package/dist/esm/ToastAnnounce.js +55 -0
  83. package/dist/esm/ToastAnnounce.js.map +6 -0
  84. package/dist/esm/ToastAnnounce.mjs +62 -0
  85. package/dist/esm/ToastAnnounce.mjs.map +1 -0
  86. package/dist/esm/ToastAnnounce.native.js +67 -0
  87. package/dist/esm/ToastAnnounce.native.js.map +1 -0
  88. package/dist/esm/ToastImperative.js +50 -0
  89. package/dist/esm/ToastImperative.js.map +6 -0
  90. package/dist/esm/ToastImperative.mjs +63 -0
  91. package/dist/esm/ToastImperative.mjs.map +1 -0
  92. package/dist/esm/ToastImperative.native.js +82 -0
  93. package/dist/esm/ToastImperative.native.js.map +1 -0
  94. package/dist/esm/ToastImpl.js +225 -0
  95. package/dist/esm/ToastImpl.js.map +6 -0
  96. package/dist/esm/ToastImpl.mjs +256 -0
  97. package/dist/esm/ToastImpl.mjs.map +1 -0
  98. package/dist/esm/ToastImpl.native.js +288 -0
  99. package/dist/esm/ToastImpl.native.js.map +1 -0
  100. package/dist/esm/ToastItem.js +339 -0
  101. package/dist/esm/ToastItem.js.map +6 -0
  102. package/dist/esm/ToastItem.mjs +432 -0
  103. package/dist/esm/ToastItem.mjs.map +1 -0
  104. package/dist/esm/ToastItem.native.js +510 -0
  105. package/dist/esm/ToastItem.native.js.map +1 -0
  106. package/dist/esm/ToastPortal.js +13 -0
  107. package/dist/esm/ToastPortal.js.map +6 -0
  108. package/dist/esm/ToastPortal.mjs +21 -0
  109. package/dist/esm/ToastPortal.mjs.map +1 -0
  110. package/dist/esm/ToastPortal.native.js +21 -0
  111. package/dist/esm/ToastPortal.native.js.map +1 -0
  112. package/dist/esm/ToastProvider.js +87 -0
  113. package/dist/esm/ToastProvider.js.map +6 -0
  114. package/dist/esm/ToastProvider.mjs +108 -0
  115. package/dist/esm/ToastProvider.mjs.map +1 -0
  116. package/dist/esm/ToastProvider.native.js +118 -0
  117. package/dist/esm/ToastProvider.native.js.map +1 -0
  118. package/dist/esm/ToastState.js +144 -0
  119. package/dist/esm/ToastState.js.map +6 -0
  120. package/dist/esm/ToastState.mjs +224 -0
  121. package/dist/esm/ToastState.mjs.map +1 -0
  122. package/dist/esm/ToastState.native.js +230 -0
  123. package/dist/esm/ToastState.native.js.map +1 -0
  124. package/dist/esm/ToastViewport.js +250 -0
  125. package/dist/esm/ToastViewport.js.map +6 -0
  126. package/dist/esm/ToastViewport.mjs +241 -0
  127. package/dist/esm/ToastViewport.mjs.map +1 -0
  128. package/dist/esm/ToastViewport.native.js +276 -0
  129. package/dist/esm/ToastViewport.native.js.map +1 -0
  130. package/dist/esm/Toaster.js +160 -0
  131. package/dist/esm/Toaster.js.map +6 -0
  132. package/dist/esm/Toaster.mjs +185 -0
  133. package/dist/esm/Toaster.mjs.map +1 -0
  134. package/dist/esm/Toaster.native.js +242 -0
  135. package/dist/esm/Toaster.native.js.map +1 -0
  136. package/dist/esm/constants.js +6 -0
  137. package/dist/esm/constants.js.map +6 -0
  138. package/dist/esm/constants.mjs +4 -0
  139. package/dist/esm/constants.mjs.map +1 -0
  140. package/dist/esm/constants.native.js +4 -0
  141. package/dist/esm/constants.native.js.map +1 -0
  142. package/dist/esm/createNativeToast.js +28 -0
  143. package/dist/esm/createNativeToast.js.map +6 -0
  144. package/dist/esm/createNativeToast.mjs +27 -0
  145. package/dist/esm/createNativeToast.mjs.map +1 -0
  146. package/dist/esm/createNativeToast.native.js +20 -0
  147. package/dist/esm/createNativeToast.native.js.map +1 -0
  148. package/dist/esm/index.js +7 -0
  149. package/dist/esm/index.js.map +6 -0
  150. package/dist/esm/index.mjs +4 -0
  151. package/dist/esm/index.mjs.map +1 -0
  152. package/dist/esm/index.native.js +4 -0
  153. package/dist/esm/index.native.js.map +1 -0
  154. package/dist/esm/types.js +1 -0
  155. package/dist/esm/types.js.map +6 -0
  156. package/dist/esm/types.mjs +2 -0
  157. package/dist/esm/types.mjs.map +1 -0
  158. package/dist/esm/types.native.js +2 -0
  159. package/dist/esm/types.native.js.map +1 -0
  160. package/dist/esm/useDragGesture.js +76 -0
  161. package/dist/esm/useDragGesture.js.map +6 -0
  162. package/dist/esm/useDragGesture.mjs +95 -0
  163. package/dist/esm/useDragGesture.mjs.map +1 -0
  164. package/dist/esm/useDragGesture.native.js +109 -0
  165. package/dist/esm/useDragGesture.native.js.map +1 -0
  166. package/dist/jsx/Toast.js +107 -0
  167. package/dist/jsx/Toast.js.map +6 -0
  168. package/dist/jsx/Toast.mjs +131 -0
  169. package/dist/jsx/Toast.mjs.map +1 -0
  170. package/dist/jsx/Toast.native.js +174 -0
  171. package/dist/jsx/Toast.native.js.map +1 -0
  172. package/dist/jsx/ToastAnnounce.js +55 -0
  173. package/dist/jsx/ToastAnnounce.js.map +6 -0
  174. package/dist/jsx/ToastAnnounce.mjs +62 -0
  175. package/dist/jsx/ToastAnnounce.mjs.map +1 -0
  176. package/dist/jsx/ToastAnnounce.native.js +105 -0
  177. package/dist/jsx/ToastAnnounce.native.js.map +1 -0
  178. package/dist/jsx/ToastImperative.js +50 -0
  179. package/dist/jsx/ToastImperative.js.map +6 -0
  180. package/dist/jsx/ToastImperative.mjs +63 -0
  181. package/dist/jsx/ToastImperative.mjs.map +1 -0
  182. package/dist/jsx/ToastImperative.native.js +122 -0
  183. package/dist/jsx/ToastImperative.native.js.map +1 -0
  184. package/dist/jsx/ToastImpl.js +225 -0
  185. package/dist/jsx/ToastImpl.js.map +6 -0
  186. package/dist/jsx/ToastImpl.mjs +256 -0
  187. package/dist/jsx/ToastImpl.mjs.map +1 -0
  188. package/dist/jsx/ToastImpl.native.js +327 -0
  189. package/dist/jsx/ToastImpl.native.js.map +1 -0
  190. package/dist/jsx/ToastItem.js +339 -0
  191. package/dist/jsx/ToastItem.js.map +6 -0
  192. package/dist/jsx/ToastItem.mjs +432 -0
  193. package/dist/jsx/ToastItem.mjs.map +1 -0
  194. package/dist/jsx/ToastItem.native.js +547 -0
  195. package/dist/jsx/ToastItem.native.js.map +1 -0
  196. package/dist/jsx/ToastPortal.js +13 -0
  197. package/dist/jsx/ToastPortal.js.map +6 -0
  198. package/dist/jsx/ToastPortal.mjs +21 -0
  199. package/dist/jsx/ToastPortal.mjs.map +1 -0
  200. package/dist/jsx/ToastPortal.native.js +47 -0
  201. package/dist/jsx/ToastPortal.native.js.map +1 -0
  202. package/dist/jsx/ToastProvider.js +87 -0
  203. package/dist/jsx/ToastProvider.js.map +6 -0
  204. package/dist/jsx/ToastProvider.mjs +108 -0
  205. package/dist/jsx/ToastProvider.mjs.map +1 -0
  206. package/dist/jsx/ToastProvider.native.js +159 -0
  207. package/dist/jsx/ToastProvider.native.js.map +1 -0
  208. package/dist/jsx/ToastState.js +144 -0
  209. package/dist/jsx/ToastState.js.map +6 -0
  210. package/dist/jsx/ToastState.mjs +224 -0
  211. package/dist/jsx/ToastState.mjs.map +1 -0
  212. package/dist/jsx/ToastState.native.js +257 -0
  213. package/dist/jsx/ToastState.native.js.map +1 -0
  214. package/dist/jsx/ToastViewport.js +250 -0
  215. package/dist/jsx/ToastViewport.js.map +6 -0
  216. package/dist/jsx/ToastViewport.mjs +241 -0
  217. package/dist/jsx/ToastViewport.mjs.map +1 -0
  218. package/dist/jsx/ToastViewport.native.js +316 -0
  219. package/dist/jsx/ToastViewport.native.js.map +1 -0
  220. package/dist/jsx/Toaster.js +160 -0
  221. package/dist/jsx/Toaster.js.map +6 -0
  222. package/dist/jsx/Toaster.mjs +185 -0
  223. package/dist/jsx/Toaster.mjs.map +1 -0
  224. package/dist/jsx/Toaster.native.js +279 -0
  225. package/dist/jsx/Toaster.native.js.map +1 -0
  226. package/dist/jsx/constants.js +6 -0
  227. package/dist/jsx/constants.js.map +6 -0
  228. package/dist/jsx/constants.mjs +4 -0
  229. package/dist/jsx/constants.mjs.map +1 -0
  230. package/dist/jsx/constants.native.js +31 -0
  231. package/dist/jsx/constants.native.js.map +1 -0
  232. package/dist/jsx/createNativeToast.js +28 -0
  233. package/dist/jsx/createNativeToast.js.map +6 -0
  234. package/dist/jsx/createNativeToast.mjs +27 -0
  235. package/dist/jsx/createNativeToast.mjs.map +1 -0
  236. package/dist/jsx/createNativeToast.native.js +47 -0
  237. package/dist/jsx/createNativeToast.native.js.map +1 -0
  238. package/dist/jsx/index.js +7 -0
  239. package/dist/jsx/index.js.map +6 -0
  240. package/dist/jsx/index.mjs +4 -0
  241. package/dist/jsx/index.mjs.map +1 -0
  242. package/dist/jsx/index.native.js +31 -0
  243. package/dist/jsx/index.native.js.map +1 -0
  244. package/dist/jsx/types.js +1 -0
  245. package/dist/jsx/types.js.map +6 -0
  246. package/dist/jsx/types.mjs +2 -0
  247. package/dist/jsx/types.mjs.map +1 -0
  248. package/dist/jsx/types.native.js +19 -0
  249. package/dist/jsx/types.native.js.map +1 -0
  250. package/dist/jsx/useDragGesture.js +76 -0
  251. package/dist/jsx/useDragGesture.js.map +6 -0
  252. package/dist/jsx/useDragGesture.mjs +95 -0
  253. package/dist/jsx/useDragGesture.mjs.map +1 -0
  254. package/dist/jsx/useDragGesture.native.js +146 -0
  255. package/dist/jsx/useDragGesture.native.js.map +1 -0
  256. package/package.json +77 -0
  257. package/src/Toast.tsx +219 -0
  258. package/src/ToastAnnounce.tsx +102 -0
  259. package/src/ToastImperative.tsx +190 -0
  260. package/src/ToastImpl.tsx +503 -0
  261. package/src/ToastItem.tsx +694 -0
  262. package/src/ToastPortal.tsx +19 -0
  263. package/src/ToastProvider.tsx +197 -0
  264. package/src/ToastState.ts +397 -0
  265. package/src/ToastViewport.tsx +430 -0
  266. package/src/Toaster.tsx +445 -0
  267. package/src/constants.ts +2 -0
  268. package/src/createNativeToast.native.tsx +22 -0
  269. package/src/createNativeToast.tsx +48 -0
  270. package/src/index.ts +17 -0
  271. package/src/types.ts +71 -0
  272. package/src/useDragGesture.native.ts +199 -0
  273. package/src/useDragGesture.ts +218 -0
  274. package/types/Toast.d.ts +84 -0
  275. package/types/Toast.d.ts.map +1 -0
  276. package/types/ToastAnnounce.d.ts +18 -0
  277. package/types/ToastAnnounce.d.ts.map +1 -0
  278. package/types/ToastImperative.d.ts +95 -0
  279. package/types/ToastImperative.d.ts.map +1 -0
  280. package/types/ToastImpl.d.ts +109 -0
  281. package/types/ToastImpl.d.ts.map +1 -0
  282. package/types/ToastItem.d.ts +34 -0
  283. package/types/ToastItem.d.ts.map +1 -0
  284. package/types/ToastPortal.d.ts +8 -0
  285. package/types/ToastPortal.d.ts.map +1 -0
  286. package/types/ToastProvider.d.ts +92 -0
  287. package/types/ToastProvider.d.ts.map +1 -0
  288. package/types/ToastState.d.ts +177 -0
  289. package/types/ToastState.d.ts.map +1 -0
  290. package/types/ToastViewport.d.ts +75 -0
  291. package/types/ToastViewport.d.ts.map +1 -0
  292. package/types/Toaster.d.ts +120 -0
  293. package/types/Toaster.d.ts.map +1 -0
  294. package/types/constants.d.ts +3 -0
  295. package/types/constants.d.ts.map +1 -0
  296. package/types/createNativeToast.d.ts +4 -0
  297. package/types/createNativeToast.d.ts.map +1 -0
  298. package/types/createNativeToast.native.d.ts +4 -0
  299. package/types/createNativeToast.native.d.ts.map +1 -0
  300. package/types/index.d.ts +7 -0
  301. package/types/index.d.ts.map +1 -0
  302. package/types/types.d.ts +61 -0
  303. package/types/types.d.ts.map +1 -0
  304. package/types/useDragGesture.d.ts +32 -0
  305. package/types/useDragGesture.d.ts.map +1 -0
  306. package/types/useDragGesture.native.d.ts +26 -0
  307. package/types/useDragGesture.native.d.ts.map +1 -0
@@ -0,0 +1,95 @@
1
+ import * as React from "react";
2
+ const VELOCITY_THRESHOLD = 0.11;
3
+ function resisted(delta, maxResist = 25) {
4
+ if (delta >= 0) return delta;
5
+ const pastBoundary = Math.abs(delta),
6
+ resistedDistance = Math.sqrt(pastBoundary) * 2;
7
+ return -Math.min(resistedDistance, maxResist);
8
+ }
9
+ function useDragGesture(options) {
10
+ const {
11
+ direction,
12
+ threshold,
13
+ onDragStart,
14
+ onDragEnd,
15
+ onDragCancel,
16
+ disabled
17
+ } = options,
18
+ [dragState, setDragState] = React.useState({
19
+ isDragging: !1,
20
+ offsetX: 0,
21
+ offsetY: 0,
22
+ velocityX: 0,
23
+ velocityY: 0
24
+ }),
25
+ dragStartRef = React.useRef(null),
26
+ lockedDirectionRef = React.useRef(null),
27
+ isHorizontal = direction === "left" || direction === "right" || direction === "horizontal",
28
+ isVertical = direction === "up" || direction === "down" || direction === "vertical",
29
+ handlePointerDown = React.useCallback(event => {
30
+ disabled || event.button === 0 && (event.target.setPointerCapture(event.pointerId), dragStartRef.current = {
31
+ startX: event.clientX,
32
+ startY: event.clientY,
33
+ startTime: Date.now()
34
+ }, setDragState(prev => ({
35
+ ...prev,
36
+ isDragging: !0
37
+ })), onDragStart?.());
38
+ }, [disabled, onDragStart]),
39
+ handlePointerMove = React.useCallback(event => {
40
+ if (!dragStartRef.current || disabled) return;
41
+ const deltaX = event.clientX - dragStartRef.current.startX,
42
+ deltaY = event.clientY - dragStartRef.current.startY;
43
+ !lockedDirectionRef.current && (Math.abs(deltaX) > 1 || Math.abs(deltaY) > 1) && (lockedDirectionRef.current = Math.abs(deltaX) > Math.abs(deltaY) ? "x" : "y");
44
+ let offsetX = 0,
45
+ offsetY = 0;
46
+ lockedDirectionRef.current === "x" && isHorizontal ? direction === "right" ? offsetX = deltaX > 0 ? deltaX : resisted(deltaX) : direction === "left" ? offsetX = deltaX < 0 ? deltaX : -resisted(-deltaX) : offsetX = deltaX : lockedDirectionRef.current === "y" && isVertical && (direction === "down" ? offsetY = deltaY > 0 ? deltaY : resisted(deltaY) : direction === "up" ? offsetY = deltaY < 0 ? deltaY : -resisted(-deltaY) : offsetY = deltaY), setDragState(prev => ({
47
+ ...prev,
48
+ offsetX,
49
+ offsetY
50
+ }));
51
+ }, [disabled, direction, isHorizontal, isVertical]),
52
+ handlePointerUp = React.useCallback(event => {
53
+ if (!dragStartRef.current || disabled) return;
54
+ const deltaX = event.clientX - dragStartRef.current.startX,
55
+ deltaY = event.clientY - dragStartRef.current.startY,
56
+ timeTaken = Date.now() - dragStartRef.current.startTime,
57
+ velocityX = Math.abs(deltaX) / timeTaken,
58
+ velocityY = Math.abs(deltaY) / timeTaken,
59
+ relevantDelta = isHorizontal ? deltaX : deltaY,
60
+ relevantVelocity = isHorizontal ? velocityX : velocityY,
61
+ passedThreshold = Math.abs(relevantDelta) >= threshold,
62
+ hasVelocity = relevantVelocity > VELOCITY_THRESHOLD;
63
+ let isCorrectDirection = !1;
64
+ (direction === "right" && deltaX > 0 || direction === "left" && deltaX < 0 || direction === "horizontal" && Math.abs(deltaX) > Math.abs(deltaY) || direction === "down" && deltaY > 0 || direction === "up" && deltaY < 0 || direction === "vertical" && Math.abs(deltaY) > Math.abs(deltaX)) && (isCorrectDirection = !0);
65
+ const shouldDismiss = isCorrectDirection && (passedThreshold || hasVelocity);
66
+ dragStartRef.current = null, lockedDirectionRef.current = null, shouldDismiss ? onDragEnd?.(!0) : (setDragState({
67
+ isDragging: !1,
68
+ offsetX: 0,
69
+ offsetY: 0,
70
+ velocityX: 0,
71
+ velocityY: 0
72
+ }), onDragCancel?.());
73
+ }, [disabled, direction, threshold, isHorizontal, onDragEnd, onDragCancel]),
74
+ handlePointerCancel = React.useCallback(() => {
75
+ dragStartRef.current = null, lockedDirectionRef.current = null, setDragState({
76
+ isDragging: !1,
77
+ offsetX: 0,
78
+ offsetY: 0,
79
+ velocityX: 0,
80
+ velocityY: 0
81
+ }), onDragCancel?.();
82
+ }, [onDragCancel]);
83
+ return {
84
+ dragState,
85
+ gestureHandlers: {
86
+ onPointerDown: handlePointerDown,
87
+ onPointerMove: handlePointerMove,
88
+ onPointerUp: handlePointerUp,
89
+ onPointerCancel: handlePointerCancel
90
+ },
91
+ resetDrag: handlePointerCancel
92
+ };
93
+ }
94
+ export { useDragGesture };
95
+ //# sourceMappingURL=useDragGesture.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","VELOCITY_THRESHOLD","resisted","delta","maxResist","pastBoundary","Math","abs","resistedDistance","sqrt","min","useDragGesture","options","direction","threshold","onDragStart","onDragEnd","onDragCancel","disabled","dragState","setDragState","useState","isDragging","offsetX","offsetY","velocityX","velocityY","dragStartRef","useRef","lockedDirectionRef","isHorizontal","isVertical","handlePointerDown","useCallback","event","button","target","setPointerCapture","pointerId","current","startX","clientX","startY","clientY","startTime","Date","now","prev","handlePointerMove","deltaX","deltaY","handlePointerUp","timeTaken","relevantDelta","relevantVelocity","passedThreshold","hasVelocity","isCorrectDirection","shouldDismiss","handlePointerCancel","gestureHandlers","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","resetDrag"],"sources":["../../src/useDragGesture.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,109 @@
1
+ import * as React from "react";
2
+ import { PanResponder } from "react-native";
3
+ var GESTURE_GRANT_THRESHOLD = 10,
4
+ VELOCITY_THRESHOLD = 0.11;
5
+ function getDampening(delta) {
6
+ var factor = Math.abs(delta) / 20;
7
+ return 1 / (1.5 + factor);
8
+ }
9
+ function shouldGrantGestureMove(dir, dx, dy) {
10
+ return (dir === "horizontal" || dir === "left") && dx < -GESTURE_GRANT_THRESHOLD || (dir === "horizontal" || dir === "right") && dx > GESTURE_GRANT_THRESHOLD || (dir === "vertical" || dir === "up") && dy < -GESTURE_GRANT_THRESHOLD || (dir === "vertical" || dir === "down") && dy > GESTURE_GRANT_THRESHOLD;
11
+ }
12
+ function useDragGesture(options) {
13
+ var {
14
+ direction,
15
+ threshold,
16
+ onDragStart,
17
+ onDragEnd,
18
+ onDragCancel,
19
+ disabled
20
+ } = options,
21
+ [dragState, setDragState] = React.useState({
22
+ isDragging: !1,
23
+ offsetX: 0,
24
+ offsetY: 0,
25
+ velocityX: 0,
26
+ velocityY: 0
27
+ }),
28
+ dragStartTimeRef = React.useRef(0),
29
+ isHorizontal = direction === "left" || direction === "right" || direction === "horizontal",
30
+ isVertical = direction === "up" || direction === "down" || direction === "vertical",
31
+ panResponder = React.useMemo(function () {
32
+ return disabled ? null : PanResponder.create({
33
+ onMoveShouldSetPanResponder: function (_e, gesture) {
34
+ return shouldGrantGestureMove(direction, gesture.dx, gesture.dy);
35
+ },
36
+ onPanResponderGrant: function () {
37
+ dragStartTimeRef.current = Date.now(), setDragState(function (prev) {
38
+ return {
39
+ ...prev,
40
+ isDragging: !0
41
+ };
42
+ }), onDragStart?.();
43
+ },
44
+ onPanResponderMove: function (_e, gesture) {
45
+ var {
46
+ dx,
47
+ dy
48
+ } = gesture,
49
+ offsetX = 0,
50
+ offsetY = 0;
51
+ isHorizontal && (direction === "right" && dx > 0 || direction === "left" && dx < 0 || direction === "horizontal" ? offsetX = dx : offsetX = dx * getDampening(dx)), isVertical && (direction === "down" && dy > 0 || direction === "up" && dy < 0 || direction === "vertical" ? offsetY = dy : offsetY = dy * getDampening(dy)), setDragState(function (prev) {
52
+ return {
53
+ ...prev,
54
+ offsetX,
55
+ offsetY
56
+ };
57
+ });
58
+ },
59
+ onPanResponderRelease: function (_e, gesture) {
60
+ var {
61
+ dx,
62
+ dy,
63
+ vx,
64
+ vy
65
+ } = gesture,
66
+ relevantDelta = isHorizontal ? dx : dy,
67
+ relevantVelocity = Math.abs(isHorizontal ? vx : vy),
68
+ passedThreshold = Math.abs(relevantDelta) >= threshold,
69
+ hasVelocity = relevantVelocity > VELOCITY_THRESHOLD,
70
+ isCorrectDirection = !1;
71
+ (direction === "right" && dx > 0 || direction === "left" && dx < 0 || direction === "horizontal" && Math.abs(dx) > Math.abs(dy) || direction === "down" && dy > 0 || direction === "up" && dy < 0 || direction === "vertical" && Math.abs(dy) > Math.abs(dx)) && (isCorrectDirection = !0);
72
+ var shouldDismiss = isCorrectDirection && (passedThreshold || hasVelocity);
73
+ shouldDismiss ? onDragEnd?.(!0) : (setDragState({
74
+ isDragging: !1,
75
+ offsetX: 0,
76
+ offsetY: 0,
77
+ velocityX: 0,
78
+ velocityY: 0
79
+ }), onDragCancel?.());
80
+ },
81
+ onPanResponderTerminate: function () {
82
+ setDragState({
83
+ isDragging: !1,
84
+ offsetX: 0,
85
+ offsetY: 0,
86
+ velocityX: 0,
87
+ velocityY: 0
88
+ }), onDragCancel?.();
89
+ }
90
+ });
91
+ }, [disabled, direction, threshold, isHorizontal, isVertical, onDragStart, onDragEnd, onDragCancel]),
92
+ resetDrag = React.useCallback(function () {
93
+ setDragState({
94
+ isDragging: !1,
95
+ offsetX: 0,
96
+ offsetY: 0,
97
+ velocityX: 0,
98
+ velocityY: 0
99
+ });
100
+ }, []),
101
+ _panResponder_panHandlers;
102
+ return {
103
+ dragState,
104
+ gestureHandlers: (_panResponder_panHandlers = panResponder?.panHandlers) !== null && _panResponder_panHandlers !== void 0 ? _panResponder_panHandlers : {},
105
+ resetDrag
106
+ };
107
+ }
108
+ export { useDragGesture };
109
+ //# sourceMappingURL=useDragGesture.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PanResponder","GESTURE_GRANT_THRESHOLD","VELOCITY_THRESHOLD","getDampening","delta","factor","Math","abs","shouldGrantGestureMove","dir","dx","dy","useDragGesture","options","direction","threshold","onDragStart","onDragEnd","onDragCancel","disabled","dragState","setDragState","useState","isDragging","offsetX","offsetY","velocityX","velocityY","dragStartTimeRef","useRef","isHorizontal","isVertical","panResponder","useMemo","create","onMoveShouldSetPanResponder","_e","gesture","onPanResponderGrant","current","Date","now","prev","onPanResponderMove","onPanResponderRelease","vx","vy","relevantDelta","relevantVelocity","passedThreshold","hasVelocity","isCorrectDirection","shouldDismiss","onPanResponderTerminate","resetDrag","useCallback","_panResponder_panHandlers","gestureHandlers","panHandlers"],"sources":["../../src/useDragGesture.native.ts"],"sourcesContent":[null],"mappings":"AAGI,YAAYA,KAAA,MAAW;AAC3B,SAASC,YAAA,QAAoB;AAC7B,IAAIC,uBAAA,GAA0B;EAC1BC,kBAAA,GAAqB;AACzB,SAASC,aAAaC,KAAA,EAAO;EACzB,IAAIC,MAAA,GAASC,IAAA,CAAKC,GAAA,CAAIH,KAAK,IAAI;EAC/B,OAAO,KAAK,MAAMC,MAAA;AACtB;AACA,SAASG,uBAAuBC,GAAA,EAAKC,EAAA,EAAIC,EAAA,EAAI;EAUzC,QATKF,GAAA,KAAQ,gBAAgBA,GAAA,KAAQ,WAAWC,EAAA,GAAK,CAACT,uBAAA,KAGjDQ,GAAA,KAAQ,gBAAgBA,GAAA,KAAQ,YAAYC,EAAA,GAAKT,uBAAA,KAGjDQ,GAAA,KAAQ,cAAcA,GAAA,KAAQ,SAASE,EAAA,GAAK,CAACV,uBAAA,KAG7CQ,GAAA,KAAQ,cAAcA,GAAA,KAAQ,WAAWE,EAAA,GAAKV,uBAAA;AAIvD;AACO,SAASW,eAAeC,OAAA,EAAS;EACpC,IAAI;MAAEC,SAAA;MAAWC,SAAA;MAAWC,WAAA;MAAaC,SAAA;MAAWC,YAAA;MAAcC;IAAS,IAAIN,OAAA;IAC3E,CAACO,SAAA,EAAWC,YAAY,IAAItB,KAAA,CAAMuB,QAAA,CAAS;MAC3CC,UAAA,EAAY;MACZC,OAAA,EAAS;MACTC,OAAA,EAAS;MACTC,SAAA,EAAW;MACXC,SAAA,EAAW;IACf,CAAC;IACGC,gBAAA,GAAmB7B,KAAA,CAAM8B,MAAA,CAAO,CAAC;IACjCC,YAAA,GAAehB,SAAA,KAAc,UAAUA,SAAA,KAAc,WAAWA,SAAA,KAAc;IAC9EiB,UAAA,GAAajB,SAAA,KAAc,QAAQA,SAAA,KAAc,UAAUA,SAAA,KAAc;IACzEkB,YAAA,GAAejC,KAAA,CAAMkC,OAAA,CAAQ,YAAW;MACxC,OAAId,QAAA,GAAiB,OACdnB,YAAA,CAAakC,MAAA,CAAO;QACvBC,2BAAA,EAA6B,SAAAA,CAASC,EAAA,EAAIC,OAAA,EAAS;UAC/C,OAAO7B,sBAAA,CAAuBM,SAAA,EAAWuB,OAAA,CAAQ3B,EAAA,EAAI2B,OAAA,CAAQ1B,EAAE;QACnE;QACA2B,mBAAA,EAAqB,SAAAA,CAAA,EAAW;UAC5BV,gBAAA,CAAiBW,OAAA,GAAUC,IAAA,CAAKC,GAAA,CAAI,GACpCpB,YAAA,CAAa,UAASqB,IAAA,EAAM;YACxB,OAAO;cACH,GAAGA,IAAA;cACHnB,UAAA,EAAY;YAChB;UACJ,CAAC,GACyDP,WAAA,GAAY;QAC1E;QACA2B,kBAAA,EAAoB,SAAAA,CAASP,EAAA,EAAIC,OAAA,EAAS;UACtC,IAAI;cAAE3B,EAAA;cAAIC;YAAG,IAAI0B,OAAA;YACbb,OAAA,GAAU;YACVC,OAAA,GAAU;UAEVK,YAAA,KACIhB,SAAA,KAAc,WAAWJ,EAAA,GAAK,KAAKI,SAAA,KAAc,UAAUJ,EAAA,GAAK,KAAKI,SAAA,KAAc,eACnFU,OAAA,GAAUd,EAAA,GAGVc,OAAA,GAAUd,EAAA,GAAKP,YAAA,CAAaO,EAAE,IAGlCqB,UAAA,KACIjB,SAAA,KAAc,UAAUH,EAAA,GAAK,KAAKG,SAAA,KAAc,QAAQH,EAAA,GAAK,KAAKG,SAAA,KAAc,aAChFW,OAAA,GAAUd,EAAA,GAGVc,OAAA,GAAUd,EAAA,GAAKR,YAAA,CAAaQ,EAAE,IAGtCU,YAAA,CAAa,UAASqB,IAAA,EAAM;YACxB,OAAO;cACH,GAAGA,IAAA;cACHlB,OAAA;cACAC;YACJ;UACJ,CAAC;QACL;QACAmB,qBAAA,EAAuB,SAAAA,CAASR,EAAA,EAAIC,OAAA,EAAS;UACzC,IAAI;cAAE3B,EAAA;cAAIC,EAAA;cAAIkC,EAAA;cAAIC;YAAG,IAAIT,OAAA;YACrBU,aAAA,GAAgBjB,YAAA,GAAepB,EAAA,GAAKC,EAAA;YACpCqC,gBAAA,GAAkC1C,IAAA,CAAKC,GAAA,CAApBuB,YAAA,GAAwBe,EAAA,GAAeC,EAAb;YAE7CG,eAAA,GAAkB3C,IAAA,CAAKC,GAAA,CAAIwC,aAAa,KAAKhC,SAAA;YAC7CmC,WAAA,GAAcF,gBAAA,GAAmB9C,kBAAA;YAEjCiD,kBAAA,GAAqB;UACzB,CAAIrC,SAAA,KAAc,WAAWJ,EAAA,GAAK,KACzBI,SAAA,KAAc,UAAUJ,EAAA,GAAK,KAC7BI,SAAA,KAAc,gBAAgBR,IAAA,CAAKC,GAAA,CAAIG,EAAE,IAAIJ,IAAA,CAAKC,GAAA,CAAII,EAAE,KACxDG,SAAA,KAAc,UAAUH,EAAA,GAAK,KAC7BG,SAAA,KAAc,QAAQH,EAAA,GAAK,KAC3BG,SAAA,KAAc,cAAcR,IAAA,CAAKC,GAAA,CAAII,EAAE,IAAIL,IAAA,CAAKC,GAAA,CAAIG,EAAE,OAAGyC,kBAAA,GAAqB;UACvF,IAAIC,aAAA,GAAgBD,kBAAA,KAAuBF,eAAA,IAAmBC,WAAA;UAC1DE,aAAA,GACsDnC,SAAA,GAAU,EAAI,KAGpEI,YAAA,CAAa;YACTE,UAAA,EAAY;YACZC,OAAA,EAAS;YACTC,OAAA,EAAS;YACTC,SAAA,EAAW;YACXC,SAAA,EAAW;UACf,CAAC,GAC2DT,YAAA,GAAa;QAEjF;QACAmC,uBAAA,EAAyB,SAAAA,CAAA,EAAW;UAChChC,YAAA,CAAa;YACTE,UAAA,EAAY;YACZC,OAAA,EAAS;YACTC,OAAA,EAAS;YACTC,SAAA,EAAW;YACXC,SAAA,EAAW;UACf,CAAC,GAC2DT,YAAA,GAAa;QAC7E;MACJ,CAAC;IACL,GAAG,CACCC,QAAA,EACAL,SAAA,EACAC,SAAA,EACAe,YAAA,EACAC,UAAA,EACAf,WAAA,EACAC,SAAA,EACAC,YAAA,CACH;IACGoC,SAAA,GAAYvD,KAAA,CAAMwD,WAAA,CAAY,YAAW;MACzClC,YAAA,CAAa;QACTE,UAAA,EAAY;QACZC,OAAA,EAAS;QACTC,OAAA,EAAS;QACTC,SAAA,EAAW;QACXC,SAAA,EAAW;MACf,CAAC;IACL,GAAG,EAAE;IACD6B,yBAAA;EACJ,OAAO;IACHpC,SAAA;IACAqC,eAAA,GAAkBD,yBAAA,GAAwFxB,YAAA,EAAa0B,WAAA,MAAiB,QAAQF,yBAAA,KAA8B,SAASA,yBAAA,GAA4B,CAAC;IACpNF;EACJ;AACJ","ignoreList":[]}
@@ -0,0 +1,107 @@
1
+ import { AnimatePresence } from "@tamagui/animate-presence";
2
+ import { styled, useEvent } from "@tamagui/core";
3
+ import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
4
+ import { YStack } from "@tamagui/stacks";
5
+ import { SizableText } from "@tamagui/text";
6
+ import { useControllableState } from "@tamagui/use-controllable-state";
7
+ import * as React from "react";
8
+ import { ToastAnnounceExclude } from "./ToastAnnounce";
9
+ import { useToast, useToastController, useToastState } from "./ToastImperative";
10
+ import { ToastImpl, ToastImplFrame, useToastInteractiveContext } from "./ToastImpl";
11
+ import { ToastProvider } from "./ToastProvider";
12
+ import { ToastViewport } from "./ToastViewport";
13
+ import { jsx } from "react/jsx-runtime";
14
+ const TITLE_NAME = "ToastTitle", ToastTitle = styled(SizableText, {
15
+ name: TITLE_NAME,
16
+ variants: {
17
+ unstyled: {
18
+ false: {
19
+ color: "$color",
20
+ size: "$4"
21
+ }
22
+ }
23
+ },
24
+ defaultVariants: {
25
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
26
+ }
27
+ }), DESCRIPTION_NAME = "ToastDescription", ToastDescription = styled(SizableText, {
28
+ name: DESCRIPTION_NAME,
29
+ variants: {
30
+ unstyled: {
31
+ false: {
32
+ color: "$color11",
33
+ size: "$1"
34
+ }
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
39
+ }
40
+ }), ACTION_NAME = "ToastAction", ToastAction = React.forwardRef(
41
+ function(props, forwardedRef) {
42
+ const { altText, ...actionProps } = props;
43
+ return altText ? /* @__PURE__ */ jsx(ToastAnnounceExclude, { altText, asChild: !0, children: /* @__PURE__ */ jsx(ToastClose, { ...actionProps, ref: forwardedRef }) }) : null;
44
+ }
45
+ );
46
+ ToastAction.propTypes = {
47
+ altText(props) {
48
+ return props.altText ? null : new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
49
+ }
50
+ };
51
+ const CLOSE_NAME = "ToastClose", ToastCloseFrame = styled(YStack, {
52
+ name: CLOSE_NAME,
53
+ render: "button"
54
+ }), ToastClose = React.forwardRef(
55
+ function(props, forwardedRef) {
56
+ const { scope, ...closeProps } = props, interactiveContext = useToastInteractiveContext(scope);
57
+ return /* @__PURE__ */ jsx(ToastAnnounceExclude, { asChild: !0, children: /* @__PURE__ */ jsx(
58
+ ToastCloseFrame,
59
+ {
60
+ "aria-label": "Close",
61
+ ...closeProps,
62
+ ref: forwardedRef,
63
+ onPress: composeEventHandlers(props.onPress, interactiveContext.onClose)
64
+ }
65
+ ) });
66
+ }
67
+ ), ToastComponent = ToastImplFrame.styleable(
68
+ function(props, forwardedRef) {
69
+ const { forceMount, open: openProp, defaultOpen, onOpenChange, ...toastProps } = props, [open, setOpen] = useControllableState({
70
+ prop: openProp,
71
+ defaultProp: defaultOpen ?? !0,
72
+ onChange: onOpenChange,
73
+ strategy: "most-recent-wins"
74
+ }), currentToast = useToastState(), { hide } = useToastController(), id = React.useId(), onPause = useEvent(props.onPause), onResume = useEvent(props.onResume), isHide = currentToast?.hide === !0;
75
+ return /* @__PURE__ */ jsx(AnimatePresence, { children: (forceMount || open) && !isHide ? /* @__PURE__ */ jsx(
76
+ ToastImpl,
77
+ {
78
+ id,
79
+ open,
80
+ ...toastProps,
81
+ ref: forwardedRef,
82
+ onClose: () => {
83
+ setOpen(!1), hide();
84
+ },
85
+ onPause,
86
+ onResume,
87
+ onSwipeEnd: composeEventHandlers(props.onSwipeEnd, (event) => {
88
+ setOpen(!1);
89
+ })
90
+ }
91
+ ) : null }, id);
92
+ }
93
+ ), Toast2 = withStaticProperties(ToastComponent, {
94
+ Title: ToastTitle,
95
+ Description: ToastDescription,
96
+ Action: ToastAction,
97
+ Close: ToastClose
98
+ });
99
+ export {
100
+ Toast2 as Toast,
101
+ ToastProvider,
102
+ ToastViewport,
103
+ useToast,
104
+ useToastController,
105
+ useToastState
106
+ };
107
+ //# sourceMappingURL=Toast.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Toast.tsx"],
4
+ "mappings": "AAAA,SAAS,uBAAuB;AAEhC,SAAS,QAAQ,gBAAgB;AACjC,SAAS,sBAAsB,4BAA4B;AAC3D,SAAS,cAAc;AACvB,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,YAAY,WAAW;AACvB,SAAS,4BAA4B;AAErC,SAAS,UAAU,oBAAoB,qBAAqB;AAE5D,SAAS,WAAW,gBAAgB,kCAAkC;AAEtE,SAAS,qBAAqB;AAE9B,SAAS,qBAAqB;AA4EtB;AAtER,MAAM,aAAa,cAEb,aAAa,OAAO,aAAa;AAAA,EACrC,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU,QAAQ,IAAI,qBAAqB;AAAA,EAC7C;AACF,CAAC,GAQK,mBAAmB,oBAEnB,mBAAmB,OAAO,aAAa;AAAA,EAC3C,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU,QAAQ,IAAI,qBAAqB;AAAA,EAC7C;AACF,CAAC,GAQK,cAAc,eAcd,cAAc,MAAM;AAAA,EACxB,SAAqB,OAAO,cAAc;AACxC,UAAM,EAAE,SAAS,GAAG,YAAY,IAAI;AACpC,WAAK,UAEH,oBAAC,wBAAqB,SAAkB,SAAO,IAC7C,8BAAC,cAAY,GAAG,aAAa,KAAK,cAAc,GAClD,IAJmB;AAAA,EAMvB;AACF;AAEA,YAAY,YAAY;AAAA,EACtB,QAAQ,OAAO;AACb,WAAK,MAAM,UAGJ,OAFE,IAAI,MAAM,0CAA0C,WAAW,IAAI;AAAA,EAG9E;AACF;AAMA,MAAM,aAAa,cAEb,kBAAkB,OAAO,QAAQ;AAAA,EACrC,MAAM;AAAA,EACN,QAAQ;AACV,CAAC,GAKK,aAAa,MAAM;AAAA,EACvB,SAAoB,OAAO,cAAc;AACvC,UAAM,EAAE,OAAO,GAAG,WAAW,IAAI,OAC3B,qBAAqB,2BAA2B,KAAK;AAE3D,WACE,oBAAC,wBAAqB,SAAO,IAC3B;AAAA,MAAC;AAAA;AAAA,QACC,cAAW;AAAA,QACV,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,SAAS,qBAAqB,MAAM,SAAgB,mBAAmB,OAAO;AAAA;AAAA,IAChF,GACF;AAAA,EAEJ;AACF,GAMM,iBAAiB,eAAe;AAAA,EACpC,SAAe,OAAO,cAAc;AAClC,UAAM,EAAE,YAAY,MAAM,UAAU,aAAa,cAAc,GAAG,WAAW,IAAI,OAC3E,CAAC,MAAM,OAAO,IAAI,qBAAqB;AAAA,MAC3C,MAAM;AAAA,MACN,aAAa,eAAe;AAAA,MAC5B,UAAU;AAAA,MACV,UAAU;AAAA,IACZ,CAAC,GAEK,eAAe,cAAc,GAC7B,EAAE,KAAK,IAAI,mBAAmB,GAE9B,KAAK,MAAM,MAAM,GACjB,UAAU,SAAS,MAAM,OAAO,GAChC,WAAW,SAAS,MAAM,QAAQ,GAClC,SAAS,cAAc,SAAS;AAGtC,WACE,oBAAC,mBACE,WAJe,cAAc,SAAS,CAAC,SAKtC;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACC,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,SAAS,MAAM;AACb,kBAAQ,EAAK,GACb,KAAK;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY,qBAAqB,MAAM,YAAY,CAAC,UAAU;AAC5D,kBAAQ,EAAK;AAAA,QACf,CAAC;AAAA;AAAA,IACH,IACE,QAjBgB,EAkBtB;AAAA,EAEJ;AACF,GAEMA,SAAQ,qBAAqB,gBAAgB;AAAA,EACjD,OAAO;AAAA,EACP,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,OAAO;AACT,CAAC;",
5
+ "names": ["Toast"]
6
+ }
@@ -0,0 +1,131 @@
1
+ import { AnimatePresence } from "@tamagui/animate-presence";
2
+ import { styled, useEvent } from "@tamagui/core";
3
+ import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
4
+ import { YStack } from "@tamagui/stacks";
5
+ import { SizableText } from "@tamagui/text";
6
+ import { useControllableState } from "@tamagui/use-controllable-state";
7
+ import * as React from "react";
8
+ import { ToastAnnounceExclude } from "./ToastAnnounce.mjs";
9
+ import { useToast, useToastController, useToastState } from "./ToastImperative.mjs";
10
+ import { ToastImpl, ToastImplFrame, useToastInteractiveContext } from "./ToastImpl.mjs";
11
+ import { ToastProvider } from "./ToastProvider.mjs";
12
+ import { ToastViewport } from "./ToastViewport.mjs";
13
+ import { jsx } from "react/jsx-runtime";
14
+ const TITLE_NAME = "ToastTitle",
15
+ ToastTitle = styled(SizableText, {
16
+ name: TITLE_NAME,
17
+ variants: {
18
+ unstyled: {
19
+ false: {
20
+ color: "$color",
21
+ size: "$4"
22
+ }
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
27
+ }
28
+ }),
29
+ DESCRIPTION_NAME = "ToastDescription",
30
+ ToastDescription = styled(SizableText, {
31
+ name: DESCRIPTION_NAME,
32
+ variants: {
33
+ unstyled: {
34
+ false: {
35
+ color: "$color11",
36
+ size: "$1"
37
+ }
38
+ }
39
+ },
40
+ defaultVariants: {
41
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
42
+ }
43
+ }),
44
+ ACTION_NAME = "ToastAction",
45
+ ToastAction = React.forwardRef(function (props, forwardedRef) {
46
+ const {
47
+ altText,
48
+ ...actionProps
49
+ } = props;
50
+ return altText ? /* @__PURE__ */jsx(ToastAnnounceExclude, {
51
+ altText,
52
+ asChild: !0,
53
+ children: /* @__PURE__ */jsx(ToastClose, {
54
+ ...actionProps,
55
+ ref: forwardedRef
56
+ })
57
+ }) : null;
58
+ });
59
+ ToastAction.propTypes = {
60
+ altText(props) {
61
+ return props.altText ? null : new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
62
+ }
63
+ };
64
+ const CLOSE_NAME = "ToastClose",
65
+ ToastCloseFrame = styled(YStack, {
66
+ name: CLOSE_NAME,
67
+ render: "button"
68
+ }),
69
+ ToastClose = React.forwardRef(function (props, forwardedRef) {
70
+ const {
71
+ scope,
72
+ ...closeProps
73
+ } = props,
74
+ interactiveContext = useToastInteractiveContext(scope);
75
+ return /* @__PURE__ */jsx(ToastAnnounceExclude, {
76
+ asChild: !0,
77
+ children: /* @__PURE__ */jsx(ToastCloseFrame, {
78
+ "aria-label": "Close",
79
+ ...closeProps,
80
+ ref: forwardedRef,
81
+ onPress: composeEventHandlers(props.onPress, interactiveContext.onClose)
82
+ })
83
+ });
84
+ }),
85
+ ToastComponent = ToastImplFrame.styleable(function (props, forwardedRef) {
86
+ const {
87
+ forceMount,
88
+ open: openProp,
89
+ defaultOpen,
90
+ onOpenChange,
91
+ ...toastProps
92
+ } = props,
93
+ [open, setOpen] = useControllableState({
94
+ prop: openProp,
95
+ defaultProp: defaultOpen ?? !0,
96
+ onChange: onOpenChange,
97
+ strategy: "most-recent-wins"
98
+ }),
99
+ currentToast = useToastState(),
100
+ {
101
+ hide
102
+ } = useToastController(),
103
+ id = React.useId(),
104
+ onPause = useEvent(props.onPause),
105
+ onResume = useEvent(props.onResume),
106
+ isHide = currentToast?.hide === !0;
107
+ return /* @__PURE__ */jsx(AnimatePresence, {
108
+ children: (forceMount || open) && !isHide ? /* @__PURE__ */jsx(ToastImpl, {
109
+ id,
110
+ open,
111
+ ...toastProps,
112
+ ref: forwardedRef,
113
+ onClose: () => {
114
+ setOpen(!1), hide();
115
+ },
116
+ onPause,
117
+ onResume,
118
+ onSwipeEnd: composeEventHandlers(props.onSwipeEnd, event => {
119
+ setOpen(!1);
120
+ })
121
+ }) : null
122
+ }, id);
123
+ }),
124
+ Toast2 = withStaticProperties(ToastComponent, {
125
+ Title: ToastTitle,
126
+ Description: ToastDescription,
127
+ Action: ToastAction,
128
+ Close: ToastClose
129
+ });
130
+ export { Toast2 as Toast, ToastProvider, ToastViewport, useToast, useToastController, useToastState };
131
+ //# sourceMappingURL=Toast.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AnimatePresence","styled","useEvent","composeEventHandlers","withStaticProperties","YStack","SizableText","useControllableState","React","ToastAnnounceExclude","useToast","useToastController","useToastState","ToastImpl","ToastImplFrame","useToastInteractiveContext","ToastProvider","ToastViewport","jsx","TITLE_NAME","ToastTitle","name","variants","unstyled","false","color","size","defaultVariants","process","env","TAMAGUI_HEADLESS","DESCRIPTION_NAME","ToastDescription","ACTION_NAME","ToastAction","forwardRef","props","forwardedRef","altText","actionProps","asChild","children","ToastClose","ref","propTypes","Error","CLOSE_NAME","ToastCloseFrame","render","scope","closeProps","interactiveContext","onPress","onClose","ToastComponent","styleable","forceMount","open","openProp","defaultOpen","onOpenChange","toastProps","setOpen","prop","defaultProp","onChange","strategy","currentToast","hide","id","useId","onPause","onResume","isHide","onSwipeEnd","event","Toast2","Title","Description","Action","Close"],"sources":["../../src/Toast.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAEhC,SAASC,MAAA,EAAQC,QAAA,QAAgB;AACjC,SAASC,oBAAA,EAAsBC,oBAAA,QAA4B;AAC3D,SAASC,MAAA,QAAc;AACvB,SAASC,WAAA,QAAmB;AAC5B,SAASC,oBAAA,QAA4B;AACrC,YAAYC,KAAA,MAAW;AACvB,SAASC,oBAAA,QAA4B;AAErC,SAASC,QAAA,EAAUC,kBAAA,EAAoBC,aAAA,QAAqB;AAE5D,SAASC,SAAA,EAAWC,cAAA,EAAgBC,0BAAA,QAAkC;AAEtE,SAASC,aAAA,QAAqB;AAE9B,SAASC,aAAA,QAAqB;AA4EtB,SAAAC,GAAA;AAtER,MAAMC,UAAA,GAAa;EAEbC,UAAA,GAAanB,MAAA,CAAOK,WAAA,EAAa;IACrCe,IAAA,EAAMF,UAAA;IAENG,QAAA,EAAU;MACRC,QAAA,EAAU;QACRC,KAAA,EAAO;UACLC,KAAA,EAAO;UACPC,IAAA,EAAM;QACR;MACF;IACF;IAEAC,eAAA,EAAiB;MACfJ,QAAA,EAAUK,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;IAC7C;EACF,CAAC;EAQKC,gBAAA,GAAmB;EAEnBC,gBAAA,GAAmB/B,MAAA,CAAOK,WAAA,EAAa;IAC3Ce,IAAA,EAAMU,gBAAA;IAENT,QAAA,EAAU;MACRC,QAAA,EAAU;QACRC,KAAA,EAAO;UACLC,KAAA,EAAO;UACPC,IAAA,EAAM;QACR;MACF;IACF;IAEAC,eAAA,EAAiB;MACfJ,QAAA,EAAUK,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;IAC7C;EACF,CAAC;EAQKG,WAAA,GAAc;EAcdC,WAAA,GAAc1B,KAAA,CAAM2B,UAAA,CACxB,UAAqBC,KAAA,EAAOC,YAAA,EAAc;IACxC,MAAM;MAAEC,OAAA;MAAS,GAAGC;IAAY,IAAIH,KAAA;IACpC,OAAKE,OAAA,GAEH,eAAApB,GAAA,CAACT,oBAAA;MAAqB6B,OAAA;MAAkBE,OAAA,EAAO;MAC7CC,QAAA,iBAAAvB,GAAA,CAACwB,UAAA;QAAY,GAAGH,WAAA;QAAaI,GAAA,EAAKN;MAAA,CAAc;IAAA,CAClD,IAJmB;EAMvB,CACF;AAEAH,WAAA,CAAYU,SAAA,GAAY;EACtBN,QAAQF,KAAA,EAAO;IACb,OAAKA,KAAA,CAAME,OAAA,GAGJ,OAFE,IAAIO,KAAA,CAAM,0CAA0CZ,WAAW,IAAI;EAG9E;AACF;AAMA,MAAMa,UAAA,GAAa;EAEbC,eAAA,GAAkB9C,MAAA,CAAOI,MAAA,EAAQ;IACrCgB,IAAA,EAAMyB,UAAA;IACNE,MAAA,EAAQ;EACV,CAAC;EAKKN,UAAA,GAAalC,KAAA,CAAM2B,UAAA,CACvB,UAAoBC,KAAA,EAAOC,YAAA,EAAc;IACvC,MAAM;QAAEY,KAAA;QAAO,GAAGC;MAAW,IAAId,KAAA;MAC3Be,kBAAA,GAAqBpC,0BAAA,CAA2BkC,KAAK;IAE3D,OACE,eAAA/B,GAAA,CAACT,oBAAA;MAAqB+B,OAAA,EAAO;MAC3BC,QAAA,iBAAAvB,GAAA,CAAC6B,eAAA;QACC,cAAW;QACV,GAAGG,UAAA;QACJP,GAAA,EAAKN,YAAA;QACLe,OAAA,EAASjD,oBAAA,CAAqBiC,KAAA,CAAMgB,OAAA,EAAgBD,kBAAA,CAAmBE,OAAO;MAAA,CAChF;IAAA,CACF;EAEJ,CACF;EAMMC,cAAA,GAAiBxC,cAAA,CAAeyC,SAAA,CACpC,UAAenB,KAAA,EAAOC,YAAA,EAAc;IAClC,MAAM;QAAEmB,UAAA;QAAYC,IAAA,EAAMC,QAAA;QAAUC,WAAA;QAAaC,YAAA;QAAc,GAAGC;MAAW,IAAIzB,KAAA;MAC3E,CAACqB,IAAA,EAAMK,OAAO,IAAIvD,oBAAA,CAAqB;QAC3CwD,IAAA,EAAML,QAAA;QACNM,WAAA,EAAaL,WAAA,IAAe;QAC5BM,QAAA,EAAUL,YAAA;QACVM,QAAA,EAAU;MACZ,CAAC;MAEKC,YAAA,GAAevD,aAAA,CAAc;MAC7B;QAAEwD;MAAK,IAAIzD,kBAAA,CAAmB;MAE9B0D,EAAA,GAAK7D,KAAA,CAAM8D,KAAA,CAAM;MACjBC,OAAA,GAAUrE,QAAA,CAASkC,KAAA,CAAMmC,OAAO;MAChCC,QAAA,GAAWtE,QAAA,CAASkC,KAAA,CAAMoC,QAAQ;MAClCC,MAAA,GAASN,YAAA,EAAcC,IAAA,KAAS;IAGtC,OACE,eAAAlD,GAAA,CAAClB,eAAA;MACEyC,QAAA,GAJee,UAAA,IAAcC,IAAA,KAAS,CAACgB,MAAA,GAKtC,eAAAvD,GAAA,CAACL,SAAA;QACCwD,EAAA;QACAZ,IAAA;QACC,GAAGI,UAAA;QACJlB,GAAA,EAAKN,YAAA;QACLgB,OAAA,EAASA,CAAA,KAAM;UACbS,OAAA,CAAQ,EAAK,GACbM,IAAA,CAAK;QACP;QACAG,OAAA;QACAC,QAAA;QACAE,UAAA,EAAYvE,oBAAA,CAAqBiC,KAAA,CAAMsC,UAAA,EAAaC,KAAA,IAAU;UAC5Db,OAAA,CAAQ,EAAK;QACf,CAAC;MAAA,CACH,IACE;IAAA,GAjBgBO,EAkBtB;EAEJ,CACF;EAEMO,MAAA,GAAQxE,oBAAA,CAAqBkD,cAAA,EAAgB;IACjDuB,KAAA,EAAOzD,UAAA;IACP0D,WAAA,EAAa9C,gBAAA;IACb+C,MAAA,EAAQ7C,WAAA;IACR8C,KAAA,EAAOtC;EACT,CAAC","ignoreList":[]}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf,
8
+ __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: !0
13
+ });
14
+ },
15
+ __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: !0
30
+ }) : target, mod)),
31
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: !0
33
+ }), mod);
34
+ var Toast_exports = {};
35
+ __export(Toast_exports, {
36
+ Toast: () => Toast2,
37
+ ToastProvider: () => import_ToastProvider.ToastProvider,
38
+ ToastViewport: () => import_ToastViewport.ToastViewport,
39
+ useToast: () => import_ToastImperative.useToast,
40
+ useToastController: () => import_ToastImperative.useToastController,
41
+ useToastState: () => import_ToastImperative.useToastState
42
+ });
43
+ module.exports = __toCommonJS(Toast_exports);
44
+ var import_jsx_runtime = require("react/jsx-runtime"),
45
+ import_animate_presence = require("@tamagui/animate-presence"),
46
+ import_core = require("@tamagui/core"),
47
+ import_helpers = require("@tamagui/helpers"),
48
+ import_stacks = require("@tamagui/stacks"),
49
+ import_text = require("@tamagui/text"),
50
+ import_use_controllable_state = require("@tamagui/use-controllable-state"),
51
+ React = __toESM(require("react"), 1),
52
+ import_ToastAnnounce = require("./ToastAnnounce.native.js"),
53
+ import_ToastImperative = require("./ToastImperative.native.js"),
54
+ import_ToastImpl = require("./ToastImpl.native.js"),
55
+ import_ToastProvider = require("./ToastProvider.native.js"),
56
+ import_ToastViewport = require("./ToastViewport.native.js"),
57
+ TITLE_NAME = "ToastTitle",
58
+ ToastTitle = (0, import_core.styled)(import_text.SizableText, {
59
+ name: TITLE_NAME,
60
+ variants: {
61
+ unstyled: {
62
+ false: {
63
+ color: "$color",
64
+ size: "$4"
65
+ }
66
+ }
67
+ },
68
+ defaultVariants: {
69
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
70
+ }
71
+ }),
72
+ DESCRIPTION_NAME = "ToastDescription",
73
+ ToastDescription = (0, import_core.styled)(import_text.SizableText, {
74
+ name: DESCRIPTION_NAME,
75
+ variants: {
76
+ unstyled: {
77
+ false: {
78
+ color: "$color11",
79
+ size: "$1"
80
+ }
81
+ }
82
+ },
83
+ defaultVariants: {
84
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
85
+ }
86
+ }),
87
+ ACTION_NAME = "ToastAction",
88
+ ToastAction = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
89
+ var {
90
+ altText,
91
+ ...actionProps
92
+ } = props;
93
+ return altText ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastAnnounce.ToastAnnounceExclude, {
94
+ altText,
95
+ asChild: !0,
96
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastClose, {
97
+ ...actionProps,
98
+ ref: forwardedRef
99
+ })
100
+ }) : null;
101
+ });
102
+ ToastAction.propTypes = {
103
+ altText(props) {
104
+ return props.altText ? null : new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
105
+ }
106
+ };
107
+ var CLOSE_NAME = "ToastClose",
108
+ ToastCloseFrame = (0, import_core.styled)(import_stacks.YStack, {
109
+ name: CLOSE_NAME,
110
+ render: "button"
111
+ }),
112
+ ToastClose = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
113
+ var {
114
+ scope,
115
+ ...closeProps
116
+ } = props,
117
+ interactiveContext = (0, import_ToastImpl.useToastInteractiveContext)(scope);
118
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastAnnounce.ToastAnnounceExclude, {
119
+ asChild: !0,
120
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastCloseFrame, {
121
+ "aria-label": "Close",
122
+ ...closeProps,
123
+ ref: forwardedRef,
124
+ onPress: (0, import_helpers.composeEventHandlers)(props.onPress, interactiveContext.onClose)
125
+ })
126
+ });
127
+ }),
128
+ ToastComponent = import_ToastImpl.ToastImplFrame.styleable(function (props, forwardedRef) {
129
+ var {
130
+ forceMount,
131
+ open: openProp,
132
+ defaultOpen,
133
+ onOpenChange,
134
+ ...toastProps
135
+ } = props,
136
+ [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
137
+ prop: openProp,
138
+ defaultProp: defaultOpen ?? !0,
139
+ onChange: onOpenChange,
140
+ strategy: "most-recent-wins"
141
+ }),
142
+ currentToast = (0, import_ToastImperative.useToastState)(),
143
+ {
144
+ hide
145
+ } = (0, import_ToastImperative.useToastController)(),
146
+ id = React.useId(),
147
+ onPause = (0, import_core.useEvent)(props.onPause),
148
+ onResume = (0, import_core.useEvent)(props.onResume),
149
+ isHide = currentToast?.hide === !0,
150
+ shouldShow = (forceMount || open) && !isHide;
151
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {
152
+ children: shouldShow ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastImpl.ToastImpl, {
153
+ id,
154
+ open,
155
+ ...toastProps,
156
+ ref: forwardedRef,
157
+ onClose: function () {
158
+ setOpen(!1), hide();
159
+ },
160
+ onPause,
161
+ onResume,
162
+ onSwipeEnd: (0, import_helpers.composeEventHandlers)(props.onSwipeEnd, function (event) {
163
+ setOpen(!1);
164
+ })
165
+ }) : null
166
+ }, id);
167
+ }),
168
+ Toast2 = (0, import_helpers.withStaticProperties)(ToastComponent, {
169
+ Title: ToastTitle,
170
+ Description: ToastDescription,
171
+ Action: ToastAction,
172
+ Close: ToastClose
173
+ });
174
+ //# sourceMappingURL=Toast.native.js.map