@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,356 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
+ // If the importer is in node compatibility mode or this is not an ESM
17
+ // file that has been converted to a CommonJS file using a Babel-
18
+ // compatible transform (i.e. "__esModule" has not been set), then set
19
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
+ mod
22
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
+ var ToastItem_exports = {};
24
+ __export(ToastItem_exports, {
25
+ ToastItem: () => ToastItem
26
+ });
27
+ module.exports = __toCommonJS(ToastItem_exports);
28
+ var import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_stacks = require("@tamagui/stacks"), import_text = require("@tamagui/text"), React = __toESM(require("react"), 1), import_useDragGesture = require("./useDragGesture"), import_createNativeToast = require("./createNativeToast"), import_jsx_runtime = require("react/jsx-runtime");
29
+ const TIME_BEFORE_UNMOUNT = 200, ToastItemFrame = (0, import_core.styled)(import_stacks.YStack, {
30
+ name: "ToastItem",
31
+ focusable: !0,
32
+ pointerEvents: "auto",
33
+ position: "absolute",
34
+ left: 0,
35
+ right: 0,
36
+ // for stacking animation - default visible state
37
+ opacity: 1,
38
+ scale: 1,
39
+ y: 0,
40
+ x: 0,
41
+ variants: {
42
+ unstyled: {
43
+ false: {
44
+ backgroundColor: "$background",
45
+ borderRadius: "$4",
46
+ paddingHorizontal: "$4",
47
+ paddingVertical: "$3",
48
+ // shadow using elevation for cross-platform
49
+ elevation: "$4",
50
+ shadowColor: "$shadowColor",
51
+ shadowOffset: { width: 0, height: 4 },
52
+ shadowOpacity: 0.15,
53
+ shadowRadius: 12,
54
+ borderWidth: 1,
55
+ borderColor: "$borderColor",
56
+ // only show focus outline on keyboard navigation, not on click/tap
57
+ focusVisibleStyle: {
58
+ outlineStyle: "solid",
59
+ outlineWidth: 2,
60
+ outlineColor: "$outlineColor"
61
+ }
62
+ }
63
+ }
64
+ },
65
+ defaultVariants: {
66
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
67
+ }
68
+ }), ToastItemTitle = (0, import_core.styled)(import_text.SizableText, {
69
+ name: "ToastItemTitle",
70
+ variants: {
71
+ unstyled: {
72
+ false: {
73
+ fontWeight: "600",
74
+ color: "$color",
75
+ size: "$4"
76
+ }
77
+ }
78
+ },
79
+ defaultVariants: {
80
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
81
+ }
82
+ }), ToastItemDescription = (0, import_core.styled)(import_text.SizableText, {
83
+ name: "ToastItemDescription",
84
+ variants: {
85
+ unstyled: {
86
+ false: {
87
+ color: "$color11",
88
+ size: "$2",
89
+ marginTop: "$1"
90
+ }
91
+ }
92
+ },
93
+ defaultVariants: {
94
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
95
+ }
96
+ }), ToastCloseButton = (0, import_core.styled)(import_stacks.XStack, {
97
+ name: "ToastCloseButton",
98
+ render: "button",
99
+ alignItems: "center",
100
+ justifyContent: "center",
101
+ cursor: "pointer",
102
+ variants: {
103
+ unstyled: {
104
+ false: {
105
+ width: 20,
106
+ height: 20,
107
+ borderRadius: "$10",
108
+ backgroundColor: "$color5",
109
+ hoverStyle: {
110
+ backgroundColor: "$color6"
111
+ },
112
+ pressStyle: {
113
+ backgroundColor: "$color7"
114
+ }
115
+ }
116
+ }
117
+ },
118
+ defaultVariants: {
119
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
120
+ }
121
+ }), ToastActionButton = (0, import_core.styled)(import_stacks.XStack, {
122
+ name: "ToastActionButton",
123
+ render: "button",
124
+ alignItems: "center",
125
+ justifyContent: "center",
126
+ cursor: "pointer",
127
+ variants: {
128
+ unstyled: {
129
+ false: {
130
+ borderRadius: "$2",
131
+ paddingHorizontal: "$2",
132
+ height: 24,
133
+ backgroundColor: "$color5",
134
+ hoverStyle: {
135
+ backgroundColor: "$color6"
136
+ },
137
+ pressStyle: {
138
+ backgroundColor: "$color7"
139
+ }
140
+ }
141
+ },
142
+ // primary action button style
143
+ primary: {
144
+ true: {
145
+ backgroundColor: "$color12",
146
+ hoverStyle: {
147
+ backgroundColor: "$color11"
148
+ },
149
+ pressStyle: {
150
+ backgroundColor: "$color10"
151
+ }
152
+ }
153
+ }
154
+ },
155
+ defaultVariants: {
156
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
157
+ }
158
+ }), DefaultCloseIcon = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.SizableText, { size: "$1", color: "$color11", children: "\u2715" }), DefaultSuccessIcon = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.SizableText, { size: "$5", color: "$green10", children: "\u2713" }), DefaultErrorIcon = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.SizableText, { size: "$5", color: "$red10", children: "\u2715" }), DefaultWarningIcon = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.SizableText, { size: "$5", color: "$yellow10", children: "\u26A0" }), DefaultInfoIcon = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.SizableText, { size: "$5", color: "$blue10", children: "\u2139" }), DefaultLoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.SizableText, { size: "$5", color: "$color11", children: "\u27F3" }), ToastItem = React.memo(function(props) {
159
+ const {
160
+ toast,
161
+ index,
162
+ expanded,
163
+ interacting,
164
+ position,
165
+ visibleToasts,
166
+ removeToast,
167
+ heights,
168
+ setHeights,
169
+ duration,
170
+ gap,
171
+ swipeDirection,
172
+ swipeThreshold,
173
+ closeButton,
174
+ icons,
175
+ disableNative,
176
+ burntOptions,
177
+ notificationOptions
178
+ } = props, [mounted, setMounted] = React.useState(!1), [removed, setRemoved] = React.useState(!1), [swipeOut, setSwipeOut] = React.useState(!1), toastRef = React.useRef(null), closeTimerRef = React.useRef(null), closeTimerStartRef = React.useRef(0), lastPauseTimeRef = React.useRef(0), remainingTimeRef = React.useRef(duration), isFront = index === 0, isVisible = index < visibleToasts, toastType = toast.type ?? "default", dismissible = toast.dismissible !== !1, heightIndex = React.useMemo(
179
+ () => heights.findIndex((h) => h.toastId === toast.id) || 0,
180
+ [heights, toast.id]
181
+ ), toastsHeightBefore = React.useMemo(() => heights.reduce((prev, curr, reducerIndex) => reducerIndex >= heightIndex ? prev : prev + curr.height, 0), [heights, heightIndex]), offset = heightIndex * gap + toastsHeightBefore, [yPosition] = position.split("-"), isTop = yPosition === "top";
182
+ React.useEffect(() => {
183
+ if (!disableNative && !import_constants.isWeb) {
184
+ const titleText = typeof toast.title == "function" ? toast.title() : toast.title, descText = typeof toast.description == "function" ? toast.description() : toast.description;
185
+ typeof titleText == "string" && (0, import_createNativeToast.createNativeToast)(titleText, {
186
+ message: typeof descText == "string" ? descText : void 0,
187
+ duration,
188
+ burntOptions,
189
+ notificationOptions
190
+ });
191
+ }
192
+ }, []), React.useEffect(() => {
193
+ setMounted(!0);
194
+ }, []), React.useEffect(() => {
195
+ toast.delete && (setRemoved(!0), setTimeout(() => {
196
+ removeToast(toast);
197
+ }, TIME_BEFORE_UNMOUNT));
198
+ }, [toast.delete, toast, removeToast]);
199
+ const startTimer = React.useCallback(() => {
200
+ duration === Number.POSITIVE_INFINITY || toastType === "loading" || (closeTimerStartRef.current = Date.now(), closeTimerRef.current = setTimeout(() => {
201
+ toast.onAutoClose?.(toast), setRemoved(!0), setTimeout(() => {
202
+ removeToast(toast);
203
+ }, TIME_BEFORE_UNMOUNT);
204
+ }, remainingTimeRef.current));
205
+ }, [duration, toastType, toast, removeToast]), pauseTimer = (0, import_core.useEvent)(() => {
206
+ if (closeTimerRef.current && clearTimeout(closeTimerRef.current), lastPauseTimeRef.current < closeTimerStartRef.current) {
207
+ const elapsed = Date.now() - closeTimerStartRef.current;
208
+ remainingTimeRef.current = Math.max(0, remainingTimeRef.current - elapsed);
209
+ }
210
+ lastPauseTimeRef.current = Date.now();
211
+ }), resumeTimer = (0, import_core.useEvent)(() => {
212
+ startTimer();
213
+ });
214
+ React.useEffect(() => (expanded || interacting ? pauseTimer() : startTimer(), () => {
215
+ closeTimerRef.current && clearTimeout(closeTimerRef.current);
216
+ }), [expanded, interacting, startTimer]), React.useEffect(() => {
217
+ remainingTimeRef.current = duration;
218
+ }, [duration]);
219
+ const { dragState, gestureHandlers } = (0, import_useDragGesture.useDragGesture)({
220
+ direction: swipeDirection,
221
+ threshold: swipeThreshold,
222
+ disabled: !dismissible || toastType === "loading",
223
+ onDragStart: pauseTimer,
224
+ onDragEnd: (dismissed) => {
225
+ dismissed && (setSwipeOut(!0), toast.onDismiss?.(toast), setRemoved(!0), setTimeout(() => {
226
+ removeToast(toast);
227
+ }, TIME_BEFORE_UNMOUNT));
228
+ },
229
+ onDragCancel: resumeTimer
230
+ }), handleLayout = React.useCallback(
231
+ (event) => {
232
+ const { height } = event.nativeEvent.layout;
233
+ setHeights((prev) => prev.find((h) => h.toastId === toast.id) ? prev.map((h) => h.toastId === toast.id ? { ...h, height } : h) : [{ toastId: toast.id, height, position }, ...prev]);
234
+ },
235
+ [toast.id, position, setHeights]
236
+ );
237
+ React.useEffect(() => () => {
238
+ setHeights((prev) => prev.filter((h) => h.toastId !== toast.id));
239
+ }, [toast.id, setHeights]);
240
+ const handleClose = React.useCallback(() => {
241
+ dismissible && (toast.onDismiss?.(toast), setRemoved(!0), setTimeout(() => {
242
+ removeToast(toast);
243
+ }, TIME_BEFORE_UNMOUNT));
244
+ }, [dismissible, toast, removeToast]), icon = toast.icon !== void 0 ? toast.icon : {
245
+ default: null,
246
+ success: icons?.success ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DefaultSuccessIcon, {}),
247
+ error: icons?.error ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DefaultErrorIcon, {}),
248
+ warning: icons?.warning ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DefaultWarningIcon, {}),
249
+ info: icons?.info ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DefaultInfoIcon, {}),
250
+ loading: icons?.loading ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DefaultLoadingIcon, {})
251
+ }[toastType], isHorizontalSwipe = swipeDirection === "left" || swipeDirection === "right" || swipeDirection === "horizontal", isVerticalSwipe = swipeDirection === "up" || swipeDirection === "down" || swipeDirection === "vertical", dragOffsetX = isHorizontalSwipe ? dragState.offsetX : 0, dragOffsetY = isVerticalSwipe ? dragState.offsetY : 0, stackScale = !expanded && !isFront ? 1 - index * 0.05 : 1, frontToastHeight = heights.length > 0 ? heights[0]?.height ?? 55 : 55, baseOffset = isTop ? offset : -offset, liftPerToast = 10, computedY = (expanded ? baseOffset : isFront ? 0 : isTop ? liftPerToast * index : -liftPerToast * index) + dragOffsetY, computedX = dragOffsetX, computedScale = stackScale;
252
+ let computedOpacity = 1;
253
+ index >= visibleToasts ? computedOpacity = 0 : !expanded && index === visibleToasts - 1 && (computedOpacity = 0.5);
254
+ const computedZIndex = visibleToasts - index, computedHeight = !expanded && !isFront ? frontToastHeight : void 0, computedPointerEvents = index >= visibleToasts ? "none" : "auto";
255
+ if (toast.jsx)
256
+ return toast.jsx;
257
+ const title = typeof toast.title == "function" ? toast.title() : toast.title, description = typeof toast.description == "function" ? toast.description() : toast.description, dataSet = {
258
+ mounted: mounted ? "true" : "false",
259
+ removed: removed ? "true" : "false",
260
+ swipeOut: swipeOut ? "true" : "false",
261
+ visible: isVisible ? "true" : "false",
262
+ front: isFront ? "true" : "false",
263
+ index: String(index),
264
+ type: toastType,
265
+ expanded: expanded ? "true" : "false"
266
+ }, gapFillerHeight = expanded ? gap + 1 : 0;
267
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
268
+ ToastItemFrame,
269
+ {
270
+ ref: toastRef,
271
+ role: "status",
272
+ "aria-live": "polite",
273
+ "aria-atomic": !0,
274
+ tabIndex: 0,
275
+ dataSet,
276
+ "data-expanded": expanded ? "true" : "false",
277
+ onLayout: handleLayout,
278
+ transition: dragState.isDragging ? void 0 : "quick",
279
+ y: computedY,
280
+ x: computedX,
281
+ scale: computedScale,
282
+ opacity: computedOpacity,
283
+ zIndex: computedZIndex,
284
+ height: computedHeight,
285
+ overflow: computedHeight ? "hidden" : void 0,
286
+ pointerEvents: computedPointerEvents,
287
+ top: isTop ? 0 : void 0,
288
+ bottom: isTop ? void 0 : 0,
289
+ ...import_constants.isWeb && !isFront && !expanded && {
290
+ style: { transformOrigin: isTop ? "top center" : "bottom center" }
291
+ },
292
+ enterStyle: {
293
+ opacity: 0,
294
+ y: isTop ? -10 : 10,
295
+ scale: 0.95
296
+ },
297
+ exitStyle: {
298
+ opacity: 0,
299
+ // for swipe dismissal, continue in swipe direction with subtle movement
300
+ x: isHorizontalSwipe && swipeOut ? swipeDirection === "left" ? -30 : 30 : 0,
301
+ y: isVerticalSwipe && swipeOut ? swipeDirection === "up" ? -30 : 30 : isTop ? -10 : 10,
302
+ scale: 0.95
303
+ },
304
+ ...gestureHandlers,
305
+ ...import_constants.isWeb && {
306
+ onKeyDown: (event) => {
307
+ event.key === "Escape" && dismissible && handleClose();
308
+ }
309
+ },
310
+ children: [
311
+ expanded && gapFillerHeight > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
312
+ import_core.View,
313
+ {
314
+ position: "absolute",
315
+ left: 0,
316
+ right: 0,
317
+ height: gapFillerHeight,
318
+ pointerEvents: "auto",
319
+ ...isTop ? { top: "100%" } : { bottom: "100%" }
320
+ }
321
+ ),
322
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_stacks.XStack, { alignItems: "flex-start", gap: "$3", children: [
323
+ icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, { flexShrink: 0, marginTop: "$0.5", children: icon }),
324
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_stacks.YStack, { flex: 1, gap: "$1", children: [
325
+ title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToastItemTitle, { children: title }),
326
+ description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToastItemDescription, { children: description })
327
+ ] }),
328
+ closeButton && dismissible && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToastCloseButton, { onPress: handleClose, "aria-label": "Close toast", children: icons?.close ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DefaultCloseIcon, {}) })
329
+ ] }),
330
+ (toast.action || toast.cancel) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_stacks.XStack, { marginTop: "$3", gap: "$2", justifyContent: "flex-end", children: [
331
+ toast.cancel && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
332
+ ToastActionButton,
333
+ {
334
+ onPress: (event) => {
335
+ toast.cancel?.onClick?.(event), handleClose();
336
+ },
337
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.SizableText, { size: "$2", children: toast.cancel.label })
338
+ }
339
+ ),
340
+ toast.action && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
341
+ ToastActionButton,
342
+ {
343
+ primary: !0,
344
+ onPress: (event) => {
345
+ toast.action?.onClick?.(event), event.defaultPrevented || handleClose();
346
+ },
347
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.SizableText, { size: "$2", fontWeight: "600", color: "$background", children: toast.action.label })
348
+ }
349
+ )
350
+ ] })
351
+ ]
352
+ }
353
+ );
354
+ });
355
+ ToastItem.displayName = "ToastItem";
356
+ //# sourceMappingURL=ToastItem.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/ToastItem.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }