@hanzogui/toast 7.0.0 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/dist/cjs/Toast.cjs +178 -0
  2. package/dist/cjs/Toast.native.js +181 -0
  3. package/dist/cjs/Toast.native.js.map +1 -0
  4. package/dist/cjs/ToastAnnounce.cjs +103 -0
  5. package/dist/cjs/ToastAnnounce.native.js +111 -0
  6. package/dist/cjs/ToastAnnounce.native.js.map +1 -0
  7. package/dist/cjs/ToastComposable.cjs +933 -0
  8. package/dist/cjs/ToastComposable.native.js +1025 -0
  9. package/dist/cjs/ToastComposable.native.js.map +1 -0
  10. package/dist/cjs/ToastImperative.cjs +119 -0
  11. package/dist/cjs/ToastImperative.native.js +130 -0
  12. package/dist/cjs/ToastImperative.native.js.map +1 -0
  13. package/dist/cjs/ToastImpl.cjs +354 -0
  14. package/dist/cjs/ToastImpl.native.js +364 -0
  15. package/dist/cjs/ToastImpl.native.js.map +1 -0
  16. package/dist/cjs/ToastItemFrame.cjs +143 -0
  17. package/dist/cjs/ToastItemFrame.native.js +148 -0
  18. package/dist/cjs/ToastItemFrame.native.js.map +1 -0
  19. package/dist/cjs/ToastPortal.cjs +49 -0
  20. package/dist/cjs/ToastPortal.native.js +52 -0
  21. package/dist/cjs/ToastPortal.native.js.map +1 -0
  22. package/dist/cjs/ToastProvider.cjs +150 -0
  23. package/dist/cjs/ToastProvider.native.js +161 -0
  24. package/dist/cjs/ToastProvider.native.js.map +1 -0
  25. package/dist/cjs/ToastState.cjs +311 -0
  26. package/dist/cjs/ToastState.native.js +324 -0
  27. package/dist/cjs/ToastState.native.js.map +1 -0
  28. package/dist/cjs/ToastViewport.cjs +319 -0
  29. package/dist/cjs/ToastViewport.native.js +343 -0
  30. package/dist/cjs/ToastViewport.native.js.map +1 -0
  31. package/dist/cjs/Toaster.cjs +87 -0
  32. package/dist/cjs/Toaster.native.js +91 -0
  33. package/dist/cjs/Toaster.native.js.map +1 -0
  34. package/dist/cjs/constants.cjs +30 -0
  35. package/dist/cjs/constants.native.js +33 -0
  36. package/dist/cjs/constants.native.js.map +1 -0
  37. package/dist/cjs/createNativeToast.cjs +59 -0
  38. package/dist/cjs/createNativeToast.native.js +60 -0
  39. package/dist/cjs/createNativeToast.native.js.map +1 -0
  40. package/dist/cjs/dispatchNativeToast.cjs +47 -0
  41. package/dist/cjs/dispatchNativeToast.native.js +52 -0
  42. package/dist/cjs/dispatchNativeToast.native.js.map +1 -0
  43. package/dist/cjs/index.cjs +20 -0
  44. package/dist/cjs/index.native.js +23 -0
  45. package/dist/cjs/index.native.js.map +1 -0
  46. package/dist/cjs/types.cjs +18 -0
  47. package/dist/cjs/types.native.js +21 -0
  48. package/dist/cjs/types.native.js.map +1 -0
  49. package/dist/cjs/useAnimatedDragGesture.cjs +214 -0
  50. package/dist/cjs/useAnimatedDragGesture.native.js +224 -0
  51. package/dist/cjs/useAnimatedDragGesture.native.js.map +1 -0
  52. package/dist/cjs/useReducedMotion.cjs +74 -0
  53. package/dist/cjs/useReducedMotion.native.js +83 -0
  54. package/dist/cjs/useReducedMotion.native.js.map +1 -0
  55. package/dist/cjs/useToastAnimations.cjs +294 -0
  56. package/dist/cjs/useToastAnimations.native.js +304 -0
  57. package/dist/cjs/useToastAnimations.native.js.map +1 -0
  58. package/dist/cjs/v2.cjs +36 -0
  59. package/dist/cjs/v2.native.js +39 -0
  60. package/dist/cjs/v2.native.js.map +1 -0
  61. package/dist/esm/Toast.mjs +137 -0
  62. package/dist/esm/Toast.mjs.map +1 -0
  63. package/dist/esm/Toast.native.js +137 -0
  64. package/dist/esm/Toast.native.js.map +1 -0
  65. package/dist/esm/ToastAnnounce.mjs +66 -0
  66. package/dist/esm/ToastAnnounce.mjs.map +1 -0
  67. package/dist/esm/ToastAnnounce.native.js +71 -0
  68. package/dist/esm/ToastAnnounce.native.js.map +1 -0
  69. package/dist/esm/ToastComposable.mjs +895 -0
  70. package/dist/esm/ToastComposable.mjs.map +1 -0
  71. package/dist/esm/ToastComposable.native.js +984 -0
  72. package/dist/esm/ToastComposable.native.js.map +1 -0
  73. package/dist/esm/ToastImperative.mjs +80 -0
  74. package/dist/esm/ToastImperative.mjs.map +1 -0
  75. package/dist/esm/ToastImperative.native.js +88 -0
  76. package/dist/esm/ToastImperative.native.js.map +1 -0
  77. package/dist/esm/ToastImpl.mjs +316 -0
  78. package/dist/esm/ToastImpl.mjs.map +1 -0
  79. package/dist/esm/ToastImpl.native.js +323 -0
  80. package/dist/esm/ToastImpl.native.js.map +1 -0
  81. package/dist/esm/ToastItemFrame.mjs +114 -0
  82. package/dist/esm/ToastItemFrame.mjs.map +1 -0
  83. package/dist/esm/ToastItemFrame.native.js +116 -0
  84. package/dist/esm/ToastItemFrame.native.js.map +1 -0
  85. package/dist/esm/ToastPortal.mjs +24 -0
  86. package/dist/esm/ToastPortal.mjs.map +1 -0
  87. package/dist/esm/ToastPortal.native.js +24 -0
  88. package/dist/esm/ToastPortal.native.js.map +1 -0
  89. package/dist/esm/ToastProvider.mjs +110 -0
  90. package/dist/esm/ToastProvider.mjs.map +1 -0
  91. package/dist/esm/ToastProvider.native.js +118 -0
  92. package/dist/esm/ToastProvider.native.js.map +1 -0
  93. package/dist/esm/ToastState.mjs +285 -0
  94. package/dist/esm/ToastState.mjs.map +1 -0
  95. package/dist/esm/ToastState.native.js +295 -0
  96. package/dist/esm/ToastState.native.js.map +1 -0
  97. package/dist/esm/ToastViewport.mjs +280 -0
  98. package/dist/esm/ToastViewport.mjs.map +1 -0
  99. package/dist/esm/ToastViewport.native.js +301 -0
  100. package/dist/esm/ToastViewport.native.js.map +1 -0
  101. package/dist/esm/Toaster.mjs +51 -0
  102. package/dist/esm/Toaster.mjs.map +1 -0
  103. package/dist/esm/Toaster.native.js +52 -0
  104. package/dist/esm/Toaster.native.js.map +1 -0
  105. package/dist/esm/constants.mjs +4 -0
  106. package/dist/esm/constants.mjs.map +1 -0
  107. package/dist/esm/constants.native.js +4 -0
  108. package/dist/esm/constants.native.js.map +1 -0
  109. package/dist/esm/createNativeToast.mjs +32 -0
  110. package/dist/esm/createNativeToast.mjs.map +1 -0
  111. package/dist/esm/createNativeToast.native.js +30 -0
  112. package/dist/esm/createNativeToast.native.js.map +1 -0
  113. package/dist/esm/dispatchNativeToast.mjs +22 -0
  114. package/dist/esm/dispatchNativeToast.mjs.map +1 -0
  115. package/dist/esm/dispatchNativeToast.native.js +24 -0
  116. package/dist/esm/dispatchNativeToast.native.js.map +1 -0
  117. package/dist/esm/index.js +2 -0
  118. package/dist/esm/index.js.map +1 -0
  119. package/dist/esm/index.mjs +2 -0
  120. package/dist/esm/index.mjs.map +1 -0
  121. package/dist/esm/index.native.js +2 -0
  122. package/dist/esm/index.native.js.map +1 -0
  123. package/dist/esm/types.mjs +2 -0
  124. package/dist/esm/types.mjs.map +1 -0
  125. package/dist/esm/types.native.js +2 -0
  126. package/dist/esm/types.native.js.map +1 -0
  127. package/dist/esm/useAnimatedDragGesture.mjs +178 -0
  128. package/dist/esm/useAnimatedDragGesture.mjs.map +1 -0
  129. package/dist/esm/useAnimatedDragGesture.native.js +185 -0
  130. package/dist/esm/useAnimatedDragGesture.native.js.map +1 -0
  131. package/dist/esm/useReducedMotion.mjs +38 -0
  132. package/dist/esm/useReducedMotion.mjs.map +1 -0
  133. package/dist/esm/useReducedMotion.native.js +44 -0
  134. package/dist/esm/useReducedMotion.native.js.map +1 -0
  135. package/dist/esm/useToastAnimations.mjs +258 -0
  136. package/dist/esm/useToastAnimations.mjs.map +1 -0
  137. package/dist/esm/useToastAnimations.native.js +265 -0
  138. package/dist/esm/useToastAnimations.native.js.map +1 -0
  139. package/dist/esm/v2.mjs +6 -0
  140. package/dist/esm/v2.mjs.map +1 -0
  141. package/dist/esm/v2.native.js +6 -0
  142. package/dist/esm/v2.native.js.map +1 -0
  143. package/dist/jsx/Toast.mjs +137 -0
  144. package/dist/jsx/Toast.mjs.map +1 -0
  145. package/dist/jsx/Toast.native.js +181 -0
  146. package/dist/jsx/Toast.native.js.map +1 -0
  147. package/dist/jsx/ToastAnnounce.mjs +66 -0
  148. package/dist/jsx/ToastAnnounce.mjs.map +1 -0
  149. package/dist/jsx/ToastAnnounce.native.js +111 -0
  150. package/dist/jsx/ToastAnnounce.native.js.map +1 -0
  151. package/dist/jsx/ToastComposable.mjs +895 -0
  152. package/dist/jsx/ToastComposable.mjs.map +1 -0
  153. package/dist/jsx/ToastComposable.native.js +1025 -0
  154. package/dist/jsx/ToastComposable.native.js.map +1 -0
  155. package/dist/jsx/ToastImperative.mjs +80 -0
  156. package/dist/jsx/ToastImperative.mjs.map +1 -0
  157. package/dist/jsx/ToastImperative.native.js +130 -0
  158. package/dist/jsx/ToastImperative.native.js.map +1 -0
  159. package/dist/jsx/ToastImpl.mjs +316 -0
  160. package/dist/jsx/ToastImpl.mjs.map +1 -0
  161. package/dist/jsx/ToastImpl.native.js +364 -0
  162. package/dist/jsx/ToastImpl.native.js.map +1 -0
  163. package/dist/jsx/ToastItemFrame.mjs +114 -0
  164. package/dist/jsx/ToastItemFrame.mjs.map +1 -0
  165. package/dist/jsx/ToastItemFrame.native.js +148 -0
  166. package/dist/jsx/ToastItemFrame.native.js.map +1 -0
  167. package/dist/jsx/ToastPortal.mjs +24 -0
  168. package/dist/jsx/ToastPortal.mjs.map +1 -0
  169. package/dist/jsx/ToastPortal.native.js +52 -0
  170. package/dist/jsx/ToastPortal.native.js.map +1 -0
  171. package/dist/jsx/ToastProvider.mjs +110 -0
  172. package/dist/jsx/ToastProvider.mjs.map +1 -0
  173. package/dist/jsx/ToastProvider.native.js +161 -0
  174. package/dist/jsx/ToastProvider.native.js.map +1 -0
  175. package/dist/jsx/ToastState.mjs +285 -0
  176. package/dist/jsx/ToastState.mjs.map +1 -0
  177. package/dist/jsx/ToastState.native.js +324 -0
  178. package/dist/jsx/ToastState.native.js.map +1 -0
  179. package/dist/jsx/ToastViewport.mjs +280 -0
  180. package/dist/jsx/ToastViewport.mjs.map +1 -0
  181. package/dist/jsx/ToastViewport.native.js +343 -0
  182. package/dist/jsx/ToastViewport.native.js.map +1 -0
  183. package/dist/jsx/Toaster.mjs +51 -0
  184. package/dist/jsx/Toaster.mjs.map +1 -0
  185. package/dist/jsx/Toaster.native.js +91 -0
  186. package/dist/jsx/Toaster.native.js.map +1 -0
  187. package/dist/jsx/constants.mjs +4 -0
  188. package/dist/jsx/constants.mjs.map +1 -0
  189. package/dist/jsx/constants.native.js +33 -0
  190. package/dist/jsx/constants.native.js.map +1 -0
  191. package/dist/jsx/createNativeToast.mjs +32 -0
  192. package/dist/jsx/createNativeToast.mjs.map +1 -0
  193. package/dist/jsx/createNativeToast.native.js +60 -0
  194. package/dist/jsx/createNativeToast.native.js.map +1 -0
  195. package/dist/jsx/dispatchNativeToast.mjs +22 -0
  196. package/dist/jsx/dispatchNativeToast.mjs.map +1 -0
  197. package/dist/jsx/dispatchNativeToast.native.js +52 -0
  198. package/dist/jsx/dispatchNativeToast.native.js.map +1 -0
  199. package/dist/jsx/index.js +2 -0
  200. package/dist/jsx/index.js.map +1 -0
  201. package/dist/jsx/index.mjs +2 -0
  202. package/dist/jsx/index.mjs.map +1 -0
  203. package/dist/jsx/index.native.js +23 -0
  204. package/dist/jsx/index.native.js.map +1 -0
  205. package/dist/jsx/types.mjs +2 -0
  206. package/dist/jsx/types.mjs.map +1 -0
  207. package/dist/jsx/types.native.js +21 -0
  208. package/dist/jsx/types.native.js.map +1 -0
  209. package/dist/jsx/useAnimatedDragGesture.mjs +178 -0
  210. package/dist/jsx/useAnimatedDragGesture.mjs.map +1 -0
  211. package/dist/jsx/useAnimatedDragGesture.native.js +224 -0
  212. package/dist/jsx/useAnimatedDragGesture.native.js.map +1 -0
  213. package/dist/jsx/useReducedMotion.mjs +38 -0
  214. package/dist/jsx/useReducedMotion.mjs.map +1 -0
  215. package/dist/jsx/useReducedMotion.native.js +83 -0
  216. package/dist/jsx/useReducedMotion.native.js.map +1 -0
  217. package/dist/jsx/useToastAnimations.mjs +258 -0
  218. package/dist/jsx/useToastAnimations.mjs.map +1 -0
  219. package/dist/jsx/useToastAnimations.native.js +304 -0
  220. package/dist/jsx/useToastAnimations.native.js.map +1 -0
  221. package/dist/jsx/v2.mjs +6 -0
  222. package/dist/jsx/v2.mjs.map +1 -0
  223. package/dist/jsx/v2.native.js +39 -0
  224. package/dist/jsx/v2.native.js.map +1 -0
  225. package/package.json +26 -24
  226. package/src/Toast.tsx +5 -5
  227. package/src/ToastAnnounce.tsx +2 -2
  228. package/src/ToastComposable.tsx +8 -8
  229. package/src/ToastImpl.tsx +6 -6
  230. package/src/ToastItemFrame.tsx +4 -4
  231. package/src/ToastProvider.tsx +5 -5
  232. package/src/ToastViewport.tsx +7 -7
  233. package/src/Toaster.tsx +2 -2
  234. package/src/useToastAnimations.ts +3 -3
  235. package/types/Toast.d.ts +14 -14
  236. package/types/Toast.d.ts.map +1 -0
  237. package/types/ToastAnnounce.d.ts +3 -3
  238. package/types/ToastAnnounce.d.ts.map +1 -0
  239. package/types/ToastComposable.d.ts +15 -15
  240. package/types/ToastComposable.d.ts.map +1 -0
  241. package/types/ToastImperative.d.ts +1 -1
  242. package/types/ToastImperative.d.ts.map +1 -0
  243. package/types/ToastImpl.d.ts +4 -4
  244. package/types/ToastImpl.d.ts.map +1 -0
  245. package/types/ToastItemFrame.d.ts +5 -5
  246. package/types/ToastItemFrame.d.ts.map +1 -0
  247. package/types/ToastPortal.d.ts +1 -1
  248. package/types/ToastPortal.d.ts.map +1 -0
  249. package/types/ToastProvider.d.ts +7 -7
  250. package/types/ToastProvider.d.ts.map +1 -0
  251. package/types/ToastState.d.ts.map +1 -0
  252. package/types/ToastViewport.d.ts +5 -5
  253. package/types/ToastViewport.d.ts.map +1 -0
  254. package/types/Toaster.d.ts +2 -2
  255. package/types/Toaster.d.ts.map +1 -0
  256. package/types/constants.d.ts.map +1 -0
  257. package/types/createNativeToast.d.ts.map +1 -0
  258. package/types/createNativeToast.native.d.ts.map +1 -0
  259. package/types/dispatchNativeToast.d.ts.map +1 -0
  260. package/types/index.d.ts.map +1 -0
  261. package/types/types.d.ts.map +1 -0
  262. package/types/useAnimatedDragGesture.d.ts.map +1 -0
  263. package/types/useAnimatedDragGesture.native.d.ts.map +1 -0
  264. package/types/useReducedMotion.d.ts.map +1 -0
  265. package/types/useToastAnimations.d.ts.map +1 -0
  266. package/types/v2.d.ts.map +1 -0
  267. package/v2/index.cjs +1 -1
  268. package/v2/index.native.cjs +1 -1
@@ -0,0 +1,178 @@
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;
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: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
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: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
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_animate_presence = require("@hanzogui/animate-presence");
45
+ var import_core = require("@hanzogui/core");
46
+ var import_helpers = require("@hanzogui/helpers");
47
+ var import_stacks = require("@hanzogui/stacks");
48
+ var import_text = require("@hanzogui/text");
49
+ var import_use_controllable_state = require("@hanzogui/use-controllable-state");
50
+ var React = __toESM(require("react"), 1);
51
+ var import_ToastAnnounce = require("./ToastAnnounce.cjs");
52
+ var import_ToastImperative = require("./ToastImperative.cjs");
53
+ var import_ToastImpl = require("./ToastImpl.cjs");
54
+ var import_ToastProvider = require("./ToastProvider.cjs");
55
+ var import_ToastViewport = require("./ToastViewport.cjs");
56
+ var import_jsx_runtime = require("react/jsx-runtime");
57
+ const TITLE_NAME = "ToastTitle";
58
+ const 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.GUI_HEADLESS === "1"
70
+ }
71
+ });
72
+ const DESCRIPTION_NAME = "ToastDescription";
73
+ const 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.GUI_HEADLESS === "1"
85
+ }
86
+ });
87
+ const ACTION_NAME = "ToastAction";
88
+ const ToastAction = React.forwardRef(function ToastAction2(props, forwardedRef) {
89
+ const {
90
+ altText,
91
+ ...actionProps
92
+ } = props;
93
+ if (!altText) return null;
94
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastAnnounce.ToastAnnounceExclude, {
95
+ altText,
96
+ asChild: true,
97
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastClose, {
98
+ ...actionProps,
99
+ ref: forwardedRef
100
+ })
101
+ });
102
+ });
103
+ ToastAction.propTypes = {
104
+ altText(props) {
105
+ if (!props.altText) {
106
+ return new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
107
+ }
108
+ return null;
109
+ }
110
+ };
111
+ const CLOSE_NAME = "ToastClose";
112
+ const ToastCloseFrame = (0, import_core.styled)(import_stacks.YStack, {
113
+ name: CLOSE_NAME,
114
+ render: "button"
115
+ });
116
+ const ToastClose = React.forwardRef(function ToastClose2(props, forwardedRef) {
117
+ const {
118
+ scope,
119
+ ...closeProps
120
+ } = props;
121
+ const interactiveContext = (0, import_ToastImpl.useToastInteractiveContext)(scope);
122
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastAnnounce.ToastAnnounceExclude, {
123
+ asChild: true,
124
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastCloseFrame, {
125
+ "aria-label": "Close",
126
+ ...closeProps,
127
+ ref: forwardedRef,
128
+ onPress: (0, import_helpers.composeEventHandlers)(props.onPress, interactiveContext.onClose)
129
+ })
130
+ });
131
+ });
132
+ const ToastComponent = import_ToastImpl.ToastImplFrame.styleable(function Toast(props, forwardedRef) {
133
+ const {
134
+ forceMount,
135
+ open: openProp,
136
+ defaultOpen,
137
+ onOpenChange,
138
+ ...toastProps
139
+ } = props;
140
+ const [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
141
+ prop: openProp,
142
+ defaultProp: defaultOpen ?? true,
143
+ onChange: onOpenChange,
144
+ strategy: "most-recent-wins"
145
+ });
146
+ const currentToast = (0, import_ToastImperative.useToastState)();
147
+ const {
148
+ hide
149
+ } = (0, import_ToastImperative.useToastController)();
150
+ const id = React.useId();
151
+ const onPause = (0, import_core.useEvent)(props.onPause);
152
+ const onResume = (0, import_core.useEvent)(props.onResume);
153
+ const isHide = currentToast?.hide === true;
154
+ const shouldShow = (forceMount || open) && !isHide;
155
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {
156
+ children: shouldShow ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastImpl.ToastImpl, {
157
+ id,
158
+ open,
159
+ ...toastProps,
160
+ ref: forwardedRef,
161
+ onClose: () => {
162
+ setOpen(false);
163
+ hide();
164
+ },
165
+ onPause,
166
+ onResume,
167
+ onSwipeEnd: (0, import_helpers.composeEventHandlers)(props.onSwipeEnd, event => {
168
+ setOpen(false);
169
+ })
170
+ }) : null
171
+ }, id);
172
+ });
173
+ const Toast2 = (0, import_helpers.withStaticProperties)(ToastComponent, {
174
+ Title: ToastTitle,
175
+ Description: ToastDescription,
176
+ Action: ToastAction,
177
+ Close: ToastClose
178
+ });
@@ -0,0 +1,181 @@
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
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var Toast_exports = {};
37
+ __export(Toast_exports, {
38
+ Toast: () => Toast2,
39
+ ToastProvider: () => import_ToastProvider.ToastProvider,
40
+ ToastViewport: () => import_ToastViewport.ToastViewport,
41
+ useToast: () => import_ToastImperative.useToast,
42
+ useToastController: () => import_ToastImperative.useToastController,
43
+ useToastState: () => import_ToastImperative.useToastState
44
+ });
45
+ module.exports = __toCommonJS(Toast_exports);
46
+ var import_jsx_runtime = require("react/jsx-runtime");
47
+ var import_animate_presence = require("@hanzogui/animate-presence");
48
+ var import_core = require("@hanzogui/core");
49
+ var import_helpers = require("@hanzogui/helpers");
50
+ var import_stacks = require("@hanzogui/stacks");
51
+ var import_text = require("@hanzogui/text");
52
+ var import_use_controllable_state = require("@hanzogui/use-controllable-state");
53
+ var React = __toESM(require("react"), 1);
54
+ var import_ToastAnnounce = require("./ToastAnnounce.native.js");
55
+ var import_ToastImperative = require("./ToastImperative.native.js");
56
+ var import_ToastImpl = require("./ToastImpl.native.js");
57
+ var import_ToastProvider = require("./ToastProvider.native.js");
58
+ var import_ToastViewport = require("./ToastViewport.native.js");
59
+ var TITLE_NAME = "ToastTitle";
60
+ var ToastTitle = (0, import_core.styled)(import_text.SizableText, {
61
+ name: TITLE_NAME,
62
+ variants: {
63
+ unstyled: {
64
+ false: {
65
+ color: "$color",
66
+ size: "$4"
67
+ }
68
+ }
69
+ },
70
+ defaultVariants: {
71
+ unstyled: process.env.GUI_HEADLESS === "1"
72
+ }
73
+ });
74
+ var DESCRIPTION_NAME = "ToastDescription";
75
+ var ToastDescription = (0, import_core.styled)(import_text.SizableText, {
76
+ name: DESCRIPTION_NAME,
77
+ variants: {
78
+ unstyled: {
79
+ false: {
80
+ color: "$color11",
81
+ size: "$1"
82
+ }
83
+ }
84
+ },
85
+ defaultVariants: {
86
+ unstyled: process.env.GUI_HEADLESS === "1"
87
+ }
88
+ });
89
+ var ACTION_NAME = "ToastAction";
90
+ var ToastAction = /* @__PURE__ */React.forwardRef(function ToastAction2(props, forwardedRef) {
91
+ var {
92
+ altText,
93
+ ...actionProps
94
+ } = props;
95
+ if (!altText) return null;
96
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastAnnounce.ToastAnnounceExclude, {
97
+ altText,
98
+ asChild: true,
99
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastClose, {
100
+ ...actionProps,
101
+ ref: forwardedRef
102
+ })
103
+ });
104
+ });
105
+ ToastAction.propTypes = {
106
+ altText(props) {
107
+ if (!props.altText) {
108
+ return new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
109
+ }
110
+ return null;
111
+ }
112
+ };
113
+ var CLOSE_NAME = "ToastClose";
114
+ var ToastCloseFrame = (0, import_core.styled)(import_stacks.YStack, {
115
+ name: CLOSE_NAME,
116
+ render: "button"
117
+ });
118
+ var ToastClose = /* @__PURE__ */React.forwardRef(function ToastClose2(props, forwardedRef) {
119
+ var {
120
+ scope,
121
+ ...closeProps
122
+ } = props;
123
+ var interactiveContext = (0, import_ToastImpl.useToastInteractiveContext)(scope);
124
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastAnnounce.ToastAnnounceExclude, {
125
+ asChild: true,
126
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastCloseFrame, {
127
+ "aria-label": "Close",
128
+ ...closeProps,
129
+ ref: forwardedRef,
130
+ onPress: (0, import_helpers.composeEventHandlers)(props.onPress, interactiveContext.onClose)
131
+ })
132
+ });
133
+ });
134
+ var ToastComponent = import_ToastImpl.ToastImplFrame.styleable(function Toast(props, forwardedRef) {
135
+ var {
136
+ forceMount,
137
+ open: openProp,
138
+ defaultOpen,
139
+ onOpenChange,
140
+ ...toastProps
141
+ } = props;
142
+ var [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
143
+ prop: openProp,
144
+ defaultProp: defaultOpen !== null && defaultOpen !== void 0 ? defaultOpen : true,
145
+ onChange: onOpenChange,
146
+ strategy: "most-recent-wins"
147
+ });
148
+ var currentToast = (0, import_ToastImperative.useToastState)();
149
+ var {
150
+ hide
151
+ } = (0, import_ToastImperative.useToastController)();
152
+ var id = React.useId();
153
+ var onPause = (0, import_core.useEvent)(props.onPause);
154
+ var onResume = (0, import_core.useEvent)(props.onResume);
155
+ var isHide = (currentToast === null || currentToast === void 0 ? void 0 : currentToast.hide) === true;
156
+ var shouldShow = (forceMount || open) && !isHide;
157
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {
158
+ children: shouldShow ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastImpl.ToastImpl, {
159
+ id,
160
+ open,
161
+ ...toastProps,
162
+ ref: forwardedRef,
163
+ onClose: function () {
164
+ setOpen(false);
165
+ hide();
166
+ },
167
+ onPause,
168
+ onResume,
169
+ onSwipeEnd: (0, import_helpers.composeEventHandlers)(props.onSwipeEnd, function (event) {
170
+ setOpen(false);
171
+ })
172
+ }) : null
173
+ }, id);
174
+ });
175
+ var Toast2 = (0, import_helpers.withStaticProperties)(ToastComponent, {
176
+ Title: ToastTitle,
177
+ Description: ToastDescription,
178
+ Action: ToastAction,
179
+ Close: ToastClose
180
+ });
181
+ //# sourceMappingURL=Toast.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Toast_exports","__export","Toast","Toast2","ToastProvider","import_ToastProvider","ToastViewport","import_ToastViewport","useToast","import_ToastImperative","useToastController","useToastState","module","exports","import_jsx_runtime","require","import_animate_presence","import_core","import_helpers","import_stacks","import_text","import_use_controllable_state","React","__toESM","import_ToastAnnounce","import_ToastImpl","TITLE_NAME","ToastTitle","styled","SizableText","name","variants","unstyled","false","color","size","defaultVariants","process","env","GUI_HEADLESS","DESCRIPTION_NAME","ToastDescription","ACTION_NAME","ToastAction","forwardRef","ToastAction2","props","forwardedRef","altText","actionProps","jsx","ToastAnnounceExclude","asChild","children","ToastClose","ref","propTypes","Error","CLOSE_NAME","ToastCloseFrame","YStack","render","ToastClose2","scope","closeProps","interactiveContext","useToastInteractiveContext","onPress","composeEventHandlers","onClose","ToastComponent","ToastImplFrame","styleable","forceMount","open","openProp","defaultOpen","onOpenChange","toastProps","setOpen","useControllableState","prop","defaultProp","onChange","strategy","currentToast","hide","id","useId","onPause","useEvent","onResume","isHide","shouldShow","AnimatePresence","ToastImpl","onSwipeEnd","event","withStaticProperties","Title","Description","Action","Close"],"sources":["../../src/Toast.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,103 @@
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;
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: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
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: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
34
+ var ToastAnnounce_exports = {};
35
+ __export(ToastAnnounce_exports, {
36
+ ToastAnnounce: () => ToastAnnounce,
37
+ ToastAnnounceExclude: () => ToastAnnounceExclude
38
+ });
39
+ module.exports = __toCommonJS(ToastAnnounce_exports);
40
+ var import_constants = require("@hanzogui/constants");
41
+ var import_core = require("@hanzogui/core");
42
+ var import_portal = require("@hanzogui/portal");
43
+ var import_start_transition = require("@hanzogui/start-transition");
44
+ var import_visually_hidden = require("@hanzogui/visually-hidden");
45
+ var React = __toESM(require("react"), 1);
46
+ var import_ToastProvider = require("./ToastProvider.cjs");
47
+ var import_jsx_runtime = require("react/jsx-runtime");
48
+ const ToastAnnounceExcludeFrame = (0, import_core.styled)(import_core.View, {
49
+ name: "ToastAnnounceExclude"
50
+ });
51
+ const ToastAnnounceExclude = React.forwardRef((props, forwardedRef) => {
52
+ const {
53
+ altText,
54
+ ...announceExcludeProps
55
+ } = props;
56
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastAnnounceExcludeFrame, {
57
+ "data-toast-announce-exclude": "",
58
+ "data-toast-announce-alt": altText || void 0,
59
+ ...announceExcludeProps,
60
+ ref: forwardedRef
61
+ });
62
+ });
63
+ const ToastAnnounce = props => {
64
+ const {
65
+ scope,
66
+ children,
67
+ ...announceProps
68
+ } = props;
69
+ const context = (0, import_ToastProvider.useToastProviderContext)(scope);
70
+ const [renderAnnounceText, setRenderAnnounceText] = React.useState(false);
71
+ const [isAnnounced, setIsAnnounced] = React.useState(false);
72
+ useNextFrame(() => {
73
+ (0, import_start_transition.startTransition)(() => {
74
+ setRenderAnnounceText(true);
75
+ });
76
+ });
77
+ React.useEffect(() => {
78
+ const timer = setTimeout(() => setIsAnnounced(true), 1e3);
79
+ return () => clearTimeout(timer);
80
+ }, []);
81
+ return isAnnounced ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.Portal, {
82
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_visually_hidden.VisuallyHidden, {
83
+ ...announceProps,
84
+ children: renderAnnounceText && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_core.Text, {
85
+ children: [context.label, " ", children]
86
+ })
87
+ })
88
+ });
89
+ };
90
+ function useNextFrame(callback = () => {}) {
91
+ const fn = (0, import_core.useEvent)(callback);
92
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
93
+ let raf1 = 0;
94
+ let raf2 = 0;
95
+ raf1 = requestAnimationFrame(() => {
96
+ raf2 = requestAnimationFrame(fn);
97
+ });
98
+ return () => {
99
+ cancelAnimationFrame(raf1);
100
+ cancelAnimationFrame(raf2);
101
+ };
102
+ }, [fn]);
103
+ }
@@ -0,0 +1,111 @@
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
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var ToastAnnounce_exports = {};
37
+ __export(ToastAnnounce_exports, {
38
+ ToastAnnounce: () => ToastAnnounce,
39
+ ToastAnnounceExclude: () => ToastAnnounceExclude
40
+ });
41
+ module.exports = __toCommonJS(ToastAnnounce_exports);
42
+ var import_jsx_runtime = require("react/jsx-runtime");
43
+ var import_constants = require("@hanzogui/constants");
44
+ var import_core = require("@hanzogui/core");
45
+ var import_portal = require("@hanzogui/portal");
46
+ var import_start_transition = require("@hanzogui/start-transition");
47
+ var import_visually_hidden = require("@hanzogui/visually-hidden");
48
+ var React = __toESM(require("react"), 1);
49
+ var import_ToastProvider = require("./ToastProvider.native.js");
50
+ var ToastAnnounceExcludeFrame = (0, import_core.styled)(import_core.View, {
51
+ name: "ToastAnnounceExclude"
52
+ });
53
+ var ToastAnnounceExclude = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
54
+ var {
55
+ altText,
56
+ ...announceExcludeProps
57
+ } = props;
58
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastAnnounceExcludeFrame, {
59
+ "data-toast-announce-exclude": "",
60
+ "data-toast-announce-alt": altText || void 0,
61
+ ...announceExcludeProps,
62
+ ref: forwardedRef
63
+ });
64
+ });
65
+ var ToastAnnounce = function (props) {
66
+ var {
67
+ scope,
68
+ children,
69
+ ...announceProps
70
+ } = props;
71
+ var context = (0, import_ToastProvider.useToastProviderContext)(scope);
72
+ var [renderAnnounceText, setRenderAnnounceText] = React.useState(false);
73
+ var [isAnnounced, setIsAnnounced] = React.useState(false);
74
+ useNextFrame(function () {
75
+ (0, import_start_transition.startTransition)(function () {
76
+ setRenderAnnounceText(true);
77
+ });
78
+ });
79
+ React.useEffect(function () {
80
+ var timer = setTimeout(function () {
81
+ return setIsAnnounced(true);
82
+ }, 1e3);
83
+ return function () {
84
+ return clearTimeout(timer);
85
+ };
86
+ }, []);
87
+ return isAnnounced ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.Portal, {
88
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_visually_hidden.VisuallyHidden, {
89
+ ...announceProps,
90
+ children: renderAnnounceText && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_core.Text, {
91
+ children: [context.label, " ", children]
92
+ })
93
+ })
94
+ });
95
+ };
96
+ function useNextFrame() {
97
+ var callback = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function () {};
98
+ var fn = (0, import_core.useEvent)(callback);
99
+ (0, import_constants.useIsomorphicLayoutEffect)(function () {
100
+ var raf1 = 0;
101
+ var raf2 = 0;
102
+ raf1 = requestAnimationFrame(function () {
103
+ raf2 = requestAnimationFrame(fn);
104
+ });
105
+ return function () {
106
+ cancelAnimationFrame(raf1);
107
+ cancelAnimationFrame(raf2);
108
+ };
109
+ }, [fn]);
110
+ }
111
+ //# sourceMappingURL=ToastAnnounce.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","ToastAnnounce_exports","__export","ToastAnnounce","ToastAnnounceExclude","module","exports","import_jsx_runtime","require","import_constants","import_core","import_portal","import_start_transition","import_visually_hidden","React","__toESM","import_ToastProvider","ToastAnnounceExcludeFrame","styled","View","name","forwardRef","props","forwardedRef","altText","announceExcludeProps","jsx","ref","scope","children","announceProps","context","useToastProviderContext","renderAnnounceText","setRenderAnnounceText","useState","isAnnounced","setIsAnnounced","useNextFrame","startTransition","useEffect","timer","setTimeout","clearTimeout","Portal","VisuallyHidden","jsxs","Text","label","callback","arguments","length","fn","useEvent","useIsomorphicLayoutEffect","raf1","raf2","requestAnimationFrame"],"sources":["../../src/ToastAnnounce.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAA0C,CAAAK,qBAAA;AAE1C,IAAAM,kBAA6C,GAAAC,OAAA;AAC7C,IAAAC,gBAAuB,GAAAD,OAAA;AACvB,IAAAE,WAAA,GAAAF,OAAA,iBAAgC;AAChC,IAAAG,aAAA,GAAAH,OAAA,mBAA+B;AAC/B,IAAAI,uBAAuB,GAAAJ,OAAA;AAGvB,IAAAK,sBAAA,GAAwCL,OAAA;AAoBlC,IAAAM,KAAA,GAAAC,OAAA,CAAAP,OAAA;AAlBN,IAAAQ,oBAAM,GAAAR,OAAA,4BAA4B;AAAa,IAC7CS,yBAAM,OAAAP,WAAA,CAAAQ,MAAA,EAAAR,WAAA,CAAAS,IAAA;EACPC,IAAA;AAWD;AAAmC,IAChChB,oBAAO,GAAiB,eAAAU,KAAA,CAAAO,UAAA,WAAAC,KAAA,EAAAC,YAAA;EACvB;IAAAC,OAAQ;IAAA,GAAAC;EAAY,IAAqBH,KAAI;EAE7C,sBACE,IAAAf,kBAAA,CAAAmB,GAAA,EAAAT,yBAAA;IAAA,6BAAC;IAAA,2BAAAO,OAAA;IAAA,GAAAC,oBACC;IAA4BE,GAAA,EAC5BJ;EAAoC;AAChC;AACC,IAAApB,aAAA,YAAAA,CAAAmB,KAAA;EAAA,IACP;IAAAM,KAAA;IAAAC,QAAA;IAAA,GAAAC;EAAA,IAAAR,KAAA;EAEJ,IAAAS,OAAA,OAAAf,oBAAA,CAAAgB,uBAAA,EAAAJ,KAAA;EACF,KAAAK,kBAAA,EAAAC,qBAAA,IAAApB,KAAA,CAAAqB,QAAA;EASA,IAAM,CAAAC,WAAA,EAAAC,cAED,IAAAvB,KAAA,CAAAqB,QAAA;EACHG,YAAQ,aAAO;IACf,IAAM1B,uBAAU,CAAA2B,eAAA;MAChBL,qBAAO,KAAoB;IAC3B;EAGA;EACEpB,KAAA,CAAA0B,SAAA;IACE,IAAAC,KAAA,GAAAC,UAAA,aAA0B;MAC3B,OAAAL,cAAA;IACF;IAGD,OAAM,YAAU;MACd,OAAMM,YAAQ,CAAAF,KAAW;IACzB;EACF,GAAG,EAAE;EAEL,OAAOL,WAAA,GAAc,OACnB,mBAAA7B,kBAAA,CAAAmB,GAAA,EAACf,aAAA,CAAAiC,MAAA;IAIQf,QAAQ,qBAAAtB,kBAAA,CAAAmB,GAAA,EAAAb,sBAAA,CAAAgC,cAAA;MAAM,GAAAf,aAAA;MAAED,QAAA,EAAAI,kBAAA,uBAAA1B,kBAAA,CAAAuC,IAAA,EAAApC,WAAA,CAAAqC,IAAA;QAGvBlB,QACF,GAEJE,OAAA,CAAAiB,KAAA,EAIS,KAAkCnB,QAAA;MAEzC;IACE;EACA;AACA;AACE,SAAAS,YAAOA,CAAA;EAAwB,IAChCW,QAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,mBACD;EACE,IAAAE,EAAA,OAAA1C,WAAA,CAAqB2C,QAAI,EAAAJ,QAAA;EACzB,IAAAxC,gBAAA,CAAA6C,yBAAyB;IAC3B,IAAAC,IAAA;IACF,IAAMC,IAAC;IACTD,IAAA,GAAAE,qBAAA","ignoreList":[]}