@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,177 @@
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 Toaster_exports = {};
24
+ __export(Toaster_exports, {
25
+ Toaster: () => Toaster
26
+ });
27
+ module.exports = __toCommonJS(Toaster_exports);
28
+ var import_animate_presence = require("@tamagui/animate-presence"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_portal = require("@tamagui/portal"), React = __toESM(require("react"), 1), import_ToastItem = require("./ToastItem"), import_ToastState = require("./ToastState"), import_jsx_runtime = require("react/jsx-runtime");
29
+ const VISIBLE_TOASTS_AMOUNT = 4, VIEWPORT_OFFSET = 24, TOAST_GAP = 14, TOAST_LIFETIME = 4e3, TOAST_WIDTH = 356, ToasterFrame = (0, import_core.styled)(import_core.View, {
30
+ name: "Toaster",
31
+ variants: {
32
+ unstyled: {
33
+ false: {
34
+ position: "fixed",
35
+ zIndex: 1e5,
36
+ pointerEvents: "box-none",
37
+ maxWidth: "100%",
38
+ // need min-height to contain absolutely positioned toasts
39
+ // toasts will overflow upward/downward from their anchor position
40
+ minHeight: 1
41
+ }
42
+ }
43
+ },
44
+ defaultVariants: {
45
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
46
+ }
47
+ }), Toaster = React.forwardRef(
48
+ function(props, _ref) {
49
+ const {
50
+ position = "bottom-right",
51
+ width = TOAST_WIDTH,
52
+ expand = !1,
53
+ visibleToasts = VISIBLE_TOASTS_AMOUNT,
54
+ gap = TOAST_GAP,
55
+ duration = TOAST_LIFETIME,
56
+ offset = VIEWPORT_OFFSET,
57
+ hotkey = ["altKey", "KeyT"],
58
+ swipeDirection = "right",
59
+ swipeThreshold = 50,
60
+ closeButton = !1,
61
+ theme: themeProp,
62
+ icons,
63
+ toastOptions,
64
+ containerAriaLabel = "Notifications",
65
+ disableNative = !1,
66
+ burntOptions,
67
+ notificationOptions,
68
+ className,
69
+ style
70
+ } = props, [toasts, setToasts] = React.useState([]), [heights, setHeights] = React.useState([]), [expanded, setExpanded] = React.useState(!1), [interacting, setInteracting] = React.useState(!1), listRef = React.useRef(null), lastFocusedElementRef = React.useRef(null), isFocusWithinRef = React.useRef(!1);
71
+ React.useEffect(() => import_ToastState.ToastState.subscribe((toast) => {
72
+ if (toast.dismiss) {
73
+ setToasts(
74
+ (toasts2) => toasts2.map((t) => t.id === toast.id ? { ...t, delete: !0 } : t)
75
+ );
76
+ return;
77
+ }
78
+ setToasts((toasts2) => {
79
+ const indexOfExistingToast = toasts2.findIndex((t) => t.id === toast.id);
80
+ return indexOfExistingToast !== -1 ? [
81
+ ...toasts2.slice(0, indexOfExistingToast),
82
+ { ...toasts2[indexOfExistingToast], ...toast },
83
+ ...toasts2.slice(indexOfExistingToast + 1)
84
+ ] : [toast, ...toasts2];
85
+ });
86
+ }), []), React.useEffect(() => {
87
+ toasts.length <= 1 && setExpanded(!1);
88
+ }, [toasts.length]), React.useEffect(() => {
89
+ if (!import_constants.isWeb) return;
90
+ const handleKeyDown = (event) => {
91
+ hotkey.length > 0 && hotkey.every((key) => event[key] || event.code === key) && (setExpanded(!0), listRef.current?.focus()), event.code === "Escape" && (document.activeElement === listRef.current || listRef.current?.contains(document.activeElement)) && setExpanded(!1);
92
+ };
93
+ return document.addEventListener("keydown", handleKeyDown), () => document.removeEventListener("keydown", handleKeyDown);
94
+ }, [hotkey]), React.useEffect(() => {
95
+ if (!(!import_constants.isWeb || !listRef.current))
96
+ return () => {
97
+ lastFocusedElementRef.current && (lastFocusedElementRef.current.focus({ preventScroll: !0 }), lastFocusedElementRef.current = null, isFocusWithinRef.current = !1);
98
+ };
99
+ }, []);
100
+ const removeToast = React.useCallback((toastToRemove) => {
101
+ setToasts((toasts2) => (toasts2.find((toast) => toast.id === toastToRemove.id)?.delete || import_ToastState.ToastState.dismiss(toastToRemove.id), toasts2.filter(({ id }) => id !== toastToRemove.id)));
102
+ }, []), [yPosition, xPosition] = position.split("-"), offsetStyles = React.useMemo(() => {
103
+ const styles = {}, defaultOffset = typeof offset == "number" ? offset : VIEWPORT_OFFSET, offsetObj = typeof offset == "object" ? offset : {
104
+ top: defaultOffset,
105
+ right: defaultOffset,
106
+ bottom: defaultOffset,
107
+ left: defaultOffset
108
+ };
109
+ return yPosition === "top" ? styles.top = offsetObj.top ?? defaultOffset : styles.bottom = offsetObj.bottom ?? defaultOffset, xPosition === "left" ? styles.left = offsetObj.left ?? defaultOffset : xPosition === "right" ? styles.right = offsetObj.right ?? defaultOffset : (styles.left = "50%", styles.transform = "translateX(-50%)"), styles;
110
+ }, [offset, yPosition, xPosition]), currentTheme = (0, import_core.useThemeName)(), resolvedTheme = themeProp === "system" || !themeProp ? currentTheme?.includes("dark") ? "dark" : "light" : themeProp, hotkeyLabel = hotkey.join("+").replace(/Key/g, "").replace(/Digit/g, "");
111
+ if (toasts.length === 0)
112
+ return null;
113
+ const content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
114
+ ToasterFrame,
115
+ {
116
+ ref: listRef,
117
+ width,
118
+ "aria-label": `${containerAriaLabel} ${hotkeyLabel}`,
119
+ tabIndex: -1,
120
+ "aria-live": "polite",
121
+ "aria-relevant": "additions text",
122
+ "aria-atomic": !1,
123
+ style: { ...offsetStyles, ...style },
124
+ className,
125
+ "data-y-position": yPosition,
126
+ "data-x-position": xPosition,
127
+ onMouseEnter: () => setExpanded(!0),
128
+ onMouseMove: () => setExpanded(!0),
129
+ onMouseLeave: () => {
130
+ interacting || setExpanded(!1);
131
+ },
132
+ onPointerDown: () => setInteracting(!0),
133
+ onPointerUp: () => setInteracting(!1),
134
+ ...import_constants.isWeb && {
135
+ onBlur: (event) => {
136
+ isFocusWithinRef.current && !event.currentTarget.contains(
137
+ event.relatedTarget
138
+ ) && (isFocusWithinRef.current = !1, lastFocusedElementRef.current && (lastFocusedElementRef.current.focus({ preventScroll: !0 }), lastFocusedElementRef.current = null));
139
+ },
140
+ onFocus: (event) => {
141
+ isFocusWithinRef.current || (isFocusWithinRef.current = !0, lastFocusedElementRef.current = event.relatedTarget);
142
+ }
143
+ },
144
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, { children: toasts.map((toast, index) => {
145
+ const isVisible = index < visibleToasts, isFront = index === 0;
146
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
147
+ import_ToastItem.ToastItem,
148
+ {
149
+ toast,
150
+ index,
151
+ expanded: expanded || expand,
152
+ interacting,
153
+ position,
154
+ visibleToasts,
155
+ removeToast,
156
+ heights,
157
+ setHeights,
158
+ duration: toast.duration ?? toastOptions?.duration ?? duration,
159
+ gap,
160
+ swipeDirection,
161
+ swipeThreshold,
162
+ closeButton: toast.closeButton ?? closeButton,
163
+ icons,
164
+ disableNative,
165
+ burntOptions,
166
+ notificationOptions
167
+ },
168
+ toast.id
169
+ );
170
+ }) })
171
+ }
172
+ );
173
+ return import_constants.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.Theme, { name: resolvedTheme, children: content }) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.Theme, { name: resolvedTheme, children: content });
174
+ }
175
+ );
176
+ Toaster.displayName = "Toaster";
177
+ //# sourceMappingURL=Toaster.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Toaster.tsx"],
4
+ "mappings": "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",
5
+ "names": ["toasts"]
6
+ }
@@ -0,0 +1,279 @@
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 Toaster_exports = {};
35
+ __export(Toaster_exports, {
36
+ Toaster: () => Toaster
37
+ });
38
+ module.exports = __toCommonJS(Toaster_exports);
39
+ var import_jsx_runtime = require("react/jsx-runtime"),
40
+ import_animate_presence = require("@tamagui/animate-presence"),
41
+ import_constants = require("@tamagui/constants"),
42
+ import_core = require("@tamagui/core"),
43
+ import_portal = require("@tamagui/portal"),
44
+ React = __toESM(require("react"), 1),
45
+ import_ToastItem = require("./ToastItem.native.js"),
46
+ import_ToastState = require("./ToastState.native.js");
47
+ function _type_of(obj) {
48
+ "@swc/helpers - typeof";
49
+
50
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
51
+ }
52
+ var VISIBLE_TOASTS_AMOUNT = 4,
53
+ VIEWPORT_OFFSET = 24,
54
+ TOAST_GAP = 14,
55
+ TOAST_LIFETIME = 4e3,
56
+ TOAST_WIDTH = 356,
57
+ ToasterFrame = (0, import_core.styled)(import_core.View, {
58
+ name: "Toaster",
59
+ variants: {
60
+ unstyled: {
61
+ false: {
62
+ position: "fixed",
63
+ zIndex: 1e5,
64
+ pointerEvents: "box-none",
65
+ maxWidth: "100%",
66
+ // need min-height to contain absolutely positioned toasts
67
+ // toasts will overflow upward/downward from their anchor position
68
+ minHeight: 1
69
+ }
70
+ }
71
+ },
72
+ defaultVariants: {
73
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
74
+ }
75
+ }),
76
+ Toaster = /* @__PURE__ */React.forwardRef(function (props, _ref) {
77
+ var {
78
+ position = "bottom-right",
79
+ width = TOAST_WIDTH,
80
+ expand = !1,
81
+ visibleToasts = VISIBLE_TOASTS_AMOUNT,
82
+ gap = TOAST_GAP,
83
+ duration = TOAST_LIFETIME,
84
+ offset = VIEWPORT_OFFSET,
85
+ hotkey = ["altKey", "KeyT"],
86
+ swipeDirection = "right",
87
+ swipeThreshold = 50,
88
+ closeButton = !1,
89
+ theme: themeProp,
90
+ icons,
91
+ toastOptions,
92
+ containerAriaLabel = "Notifications",
93
+ disableNative = !1,
94
+ burntOptions,
95
+ notificationOptions,
96
+ className,
97
+ style
98
+ } = props,
99
+ [toasts, setToasts] = React.useState([]),
100
+ [heights, setHeights] = React.useState([]),
101
+ [expanded, setExpanded] = React.useState(!1),
102
+ [interacting, setInteracting] = React.useState(!1),
103
+ listRef = React.useRef(null),
104
+ lastFocusedElementRef = React.useRef(null),
105
+ isFocusWithinRef = React.useRef(!1);
106
+ React.useEffect(function () {
107
+ return import_ToastState.ToastState.subscribe(function (toast) {
108
+ if (toast.dismiss) {
109
+ setToasts(function (toasts2) {
110
+ return toasts2.map(function (t) {
111
+ return t.id === toast.id ? {
112
+ ...t,
113
+ delete: !0
114
+ } : t;
115
+ });
116
+ });
117
+ return;
118
+ }
119
+ setToasts(function (toasts2) {
120
+ var indexOfExistingToast = toasts2.findIndex(function (t) {
121
+ return t.id === toast.id;
122
+ });
123
+ return indexOfExistingToast !== -1 ? [...toasts2.slice(0, indexOfExistingToast), {
124
+ ...toasts2[indexOfExistingToast],
125
+ ...toast
126
+ }, ...toasts2.slice(indexOfExistingToast + 1)] : [toast, ...toasts2];
127
+ });
128
+ });
129
+ }, []), React.useEffect(function () {
130
+ toasts.length <= 1 && setExpanded(!1);
131
+ }, [toasts.length]), React.useEffect(function () {
132
+ if (import_constants.isWeb) {
133
+ var handleKeyDown = function (event) {
134
+ var _listRef_current,
135
+ isHotkeyPressed = hotkey.length > 0 && hotkey.every(function (key) {
136
+ return event[key] || event.code === key;
137
+ });
138
+ if (isHotkeyPressed) {
139
+ var _listRef_current1;
140
+ setExpanded(!0), (_listRef_current1 = listRef.current) === null || _listRef_current1 === void 0 || _listRef_current1.focus();
141
+ }
142
+ event.code === "Escape" && (document.activeElement === listRef.current || !((_listRef_current = listRef.current) === null || _listRef_current === void 0) && _listRef_current.contains(document.activeElement)) && setExpanded(!1);
143
+ };
144
+ return document.addEventListener("keydown", handleKeyDown), function () {
145
+ return document.removeEventListener("keydown", handleKeyDown);
146
+ };
147
+ }
148
+ }, [hotkey]), React.useEffect(function () {
149
+ if (!(!import_constants.isWeb || !listRef.current)) return function () {
150
+ lastFocusedElementRef.current && (lastFocusedElementRef.current.focus({
151
+ preventScroll: !0
152
+ }), lastFocusedElementRef.current = null, isFocusWithinRef.current = !1);
153
+ };
154
+ }, []);
155
+ var removeToast = React.useCallback(function (toastToRemove) {
156
+ setToasts(function (toasts2) {
157
+ var _toasts_find;
158
+ return !((_toasts_find = toasts2.find(function (toast) {
159
+ return toast.id === toastToRemove.id;
160
+ })) === null || _toasts_find === void 0) && _toasts_find.delete || import_ToastState.ToastState.dismiss(toastToRemove.id), toasts2.filter(function (param) {
161
+ var {
162
+ id
163
+ } = param;
164
+ return id !== toastToRemove.id;
165
+ });
166
+ });
167
+ }, []),
168
+ [yPosition, xPosition] = position.split("-"),
169
+ offsetStyles = React.useMemo(function () {
170
+ var styles = {},
171
+ defaultOffset = typeof offset == "number" ? offset : VIEWPORT_OFFSET,
172
+ offsetObj = (typeof offset > "u" ? "undefined" : _type_of(offset)) === "object" ? offset : {
173
+ top: defaultOffset,
174
+ right: defaultOffset,
175
+ bottom: defaultOffset,
176
+ left: defaultOffset
177
+ };
178
+ if (yPosition === "top") {
179
+ var _offsetObj_top;
180
+ styles.top = (_offsetObj_top = offsetObj.top) !== null && _offsetObj_top !== void 0 ? _offsetObj_top : defaultOffset;
181
+ } else {
182
+ var _offsetObj_bottom;
183
+ styles.bottom = (_offsetObj_bottom = offsetObj.bottom) !== null && _offsetObj_bottom !== void 0 ? _offsetObj_bottom : defaultOffset;
184
+ }
185
+ if (xPosition === "left") {
186
+ var _offsetObj_left;
187
+ styles.left = (_offsetObj_left = offsetObj.left) !== null && _offsetObj_left !== void 0 ? _offsetObj_left : defaultOffset;
188
+ } else if (xPosition === "right") {
189
+ var _offsetObj_right;
190
+ styles.right = (_offsetObj_right = offsetObj.right) !== null && _offsetObj_right !== void 0 ? _offsetObj_right : defaultOffset;
191
+ } else styles.left = "50%", styles.transform = "translateX(-50%)";
192
+ return styles;
193
+ }, [offset, yPosition, xPosition]),
194
+ currentTheme = (0, import_core.useThemeName)(),
195
+ resolvedTheme = themeProp === "system" || !themeProp ? currentTheme?.includes("dark") ? "dark" : "light" : themeProp,
196
+ hotkeyLabel = hotkey.join("+").replace(/Key/g, "").replace(/Digit/g, "");
197
+ if (toasts.length === 0) return null;
198
+ var content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToasterFrame, {
199
+ ref: listRef,
200
+ width,
201
+ "aria-label": `${containerAriaLabel} ${hotkeyLabel}`,
202
+ tabIndex: -1,
203
+ "aria-live": "polite",
204
+ "aria-relevant": "additions text",
205
+ "aria-atomic": !1,
206
+ style: {
207
+ ...offsetStyles,
208
+ ...style
209
+ },
210
+ className,
211
+ "data-y-position": yPosition,
212
+ "data-x-position": xPosition,
213
+ onMouseEnter: function () {
214
+ return setExpanded(!0);
215
+ },
216
+ onMouseMove: function () {
217
+ return setExpanded(!0);
218
+ },
219
+ onMouseLeave: function () {
220
+ interacting || setExpanded(!1);
221
+ },
222
+ onPointerDown: function () {
223
+ return setInteracting(!0);
224
+ },
225
+ onPointerUp: function () {
226
+ return setInteracting(!1);
227
+ },
228
+ ...(import_constants.isWeb && {
229
+ onBlur: function (event) {
230
+ isFocusWithinRef.current && !event.currentTarget.contains(event.relatedTarget) && (isFocusWithinRef.current = !1, lastFocusedElementRef.current && (lastFocusedElementRef.current.focus({
231
+ preventScroll: !0
232
+ }), lastFocusedElementRef.current = null));
233
+ },
234
+ onFocus: function (event) {
235
+ isFocusWithinRef.current || (isFocusWithinRef.current = !0, lastFocusedElementRef.current = event.relatedTarget);
236
+ }
237
+ }),
238
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {
239
+ children: toasts.map(function (toast, index) {
240
+ var isVisible = index < visibleToasts,
241
+ isFront = index === 0,
242
+ _toast_duration,
243
+ _ref2,
244
+ _toast_closeButton;
245
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastItem.ToastItem, {
246
+ toast,
247
+ index,
248
+ expanded: expanded || expand,
249
+ interacting,
250
+ position,
251
+ visibleToasts,
252
+ removeToast,
253
+ heights,
254
+ setHeights,
255
+ duration: (_ref2 = (_toast_duration = toast.duration) !== null && _toast_duration !== void 0 ? _toast_duration : toastOptions?.duration) !== null && _ref2 !== void 0 ? _ref2 : duration,
256
+ gap,
257
+ swipeDirection,
258
+ swipeThreshold,
259
+ closeButton: (_toast_closeButton = toast.closeButton) !== null && _toast_closeButton !== void 0 ? _toast_closeButton : closeButton,
260
+ icons,
261
+ disableNative,
262
+ burntOptions,
263
+ notificationOptions
264
+ }, toast.id);
265
+ })
266
+ })
267
+ });
268
+ return import_constants.isWeb ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.Portal, {
269
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_core.Theme, {
270
+ name: resolvedTheme,
271
+ children: content
272
+ })
273
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_core.Theme, {
274
+ name: resolvedTheme,
275
+ children: content
276
+ });
277
+ });
278
+ Toaster.displayName = "Toaster";
279
+ //# sourceMappingURL=Toaster.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Toaster_exports","__export","Toaster","module","exports","import_jsx_runtime","require","import_animate_presence","import_constants","import_core","import_portal","React","__toESM","import_ToastItem","import_ToastState","_type_of","obj","Symbol","constructor","VISIBLE_TOASTS_AMOUNT","VIEWPORT_OFFSET","TOAST_GAP","TOAST_LIFETIME","TOAST_WIDTH","ToasterFrame","styled","View","name","variants","unstyled","false","position","zIndex","pointerEvents","maxWidth","minHeight","defaultVariants","process","env","TAMAGUI_HEADLESS","forwardRef","props","_ref","width","expand","visibleToasts","gap","duration","offset","hotkey","swipeDirection","swipeThreshold","closeButton","theme","themeProp","icons","toastOptions","containerAriaLabel","disableNative","burntOptions","notificationOptions","className","style","toasts","setToasts","useState","heights","setHeights","expanded","setExpanded","interacting","setInteracting","listRef","useRef","lastFocusedElementRef","isFocusWithinRef","useEffect","ToastState","subscribe","toast","dismiss","toasts2","map","t","id","delete","indexOfExistingToast","findIndex","slice","length","isWeb","handleKeyDown","event","_listRef_current","isHotkeyPressed","every","key","code","_listRef_current1","current","focus","document","activeElement","contains","addEventListener","removeEventListener","preventScroll","removeToast","useCallback","toastToRemove","_toasts_find","find","filter","param","yPosition","xPosition","split","offsetStyles","useMemo","styles","defaultOffset","offsetObj","top","right","bottom","left","_offsetObj_top","_offsetObj_bottom","_offsetObj_left","_offsetObj_right","transform","currentTheme","useThemeName","resolvedTheme","includes","hotkeyLabel","join","replace","content","jsx","ref","tabIndex","onMouseEnter","onMouseMove"],"sources":["../../src/Toaster.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var constants_exports = {};
22
+ __export(constants_exports, {
23
+ TOAST_CONTEXT: () => TOAST_CONTEXT,
24
+ TOAST_NAME: () => TOAST_NAME
25
+ });
26
+ module.exports = __toCommonJS(constants_exports);
27
+ const TOAST_NAME = "Toast",
28
+ TOAST_CONTEXT = "Toast";
@@ -0,0 +1,22 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var constants_exports = {};
16
+ __export(constants_exports, {
17
+ TOAST_CONTEXT: () => TOAST_CONTEXT,
18
+ TOAST_NAME: () => TOAST_NAME
19
+ });
20
+ module.exports = __toCommonJS(constants_exports);
21
+ const TOAST_NAME = "Toast", TOAST_CONTEXT = "Toast";
22
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,aAAa,SACb,gBAAgB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
23
+ var constants_exports = {};
24
+ __export(constants_exports, {
25
+ TOAST_CONTEXT: () => TOAST_CONTEXT,
26
+ TOAST_NAME: () => TOAST_NAME
27
+ });
28
+ module.exports = __toCommonJS(constants_exports);
29
+ var TOAST_NAME = "Toast",
30
+ TOAST_CONTEXT = "Toast";
31
+ //# sourceMappingURL=constants.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","constants_exports","__export","TOAST_CONTEXT","TOAST_NAME","module","exports"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,iBAAA;AAAAC,QAAA,CAAAD,iBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,UAAA,EAAAA,CAAA,KAAAA;AAAA;AAAOC,MAAM,CAAAC,OAAA,GAAAV,YACA,CAAAK,iBAAgB","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var createNativeToast_exports = {};
22
+ __export(createNativeToast_exports, {
23
+ createNativeToast: () => createNativeToast,
24
+ hideNativeToast: () => hideNativeToast
25
+ });
26
+ module.exports = __toCommonJS(createNativeToast_exports);
27
+ const createNativeToast = (title, {
28
+ message,
29
+ notificationOptions
30
+ }) => {
31
+ if (!("Notification" in window)) return console.error("This browser does not support notifications"), !1;
32
+ if (Notification.permission === "denied") return !1;
33
+ const showNotification = () => new Notification(title, {
34
+ body: message,
35
+ ...notificationOptions
36
+ });
37
+ return Notification.permission === "granted" ? {
38
+ nativeToastRef: showNotification()
39
+ } : (Notification.requestPermission().then(permission => {
40
+ if (permission === "granted") return {
41
+ nativeToastRef: showNotification()
42
+ };
43
+ }), !0);
44
+ },
45
+ hideNativeToast = ref => {
46
+ if (!("Notification" in window)) {
47
+ console.error("This browser does not support notifications");
48
+ return;
49
+ }
50
+ ref && ref.close();
51
+ };