@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,137 @@
1
+ import { AnimatePresence } from "@hanzogui/animate-presence";
2
+ import { styled, useEvent } from "@hanzogui/core";
3
+ import { composeEventHandlers, withStaticProperties } from "@hanzogui/helpers";
4
+ import { YStack } from "@hanzogui/stacks";
5
+ import { SizableText } from "@hanzogui/text";
6
+ import { useControllableState } from "@hanzogui/use-controllable-state";
7
+ import * as React from "react";
8
+ import { ToastAnnounceExclude } from "./ToastAnnounce.mjs";
9
+ import { useToast, useToastController, useToastState } from "./ToastImperative.mjs";
10
+ import { ToastImpl, ToastImplFrame, useToastInteractiveContext } from "./ToastImpl.mjs";
11
+ import { ToastProvider } from "./ToastProvider.mjs";
12
+ import { ToastViewport } from "./ToastViewport.mjs";
13
+ import { jsx } from "react/jsx-runtime";
14
+ const TITLE_NAME = "ToastTitle";
15
+ const ToastTitle = styled(SizableText, {
16
+ name: TITLE_NAME,
17
+ variants: {
18
+ unstyled: {
19
+ false: {
20
+ color: "$color",
21
+ size: "$4"
22
+ }
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ unstyled: process.env.GUI_HEADLESS === "1"
27
+ }
28
+ });
29
+ const DESCRIPTION_NAME = "ToastDescription";
30
+ const ToastDescription = styled(SizableText, {
31
+ name: DESCRIPTION_NAME,
32
+ variants: {
33
+ unstyled: {
34
+ false: {
35
+ color: "$color11",
36
+ size: "$1"
37
+ }
38
+ }
39
+ },
40
+ defaultVariants: {
41
+ unstyled: process.env.GUI_HEADLESS === "1"
42
+ }
43
+ });
44
+ const ACTION_NAME = "ToastAction";
45
+ const ToastAction = React.forwardRef(function ToastAction2(props, forwardedRef) {
46
+ const {
47
+ altText,
48
+ ...actionProps
49
+ } = props;
50
+ if (!altText) return null;
51
+ return /* @__PURE__ */jsx(ToastAnnounceExclude, {
52
+ altText,
53
+ asChild: true,
54
+ children: /* @__PURE__ */jsx(ToastClose, {
55
+ ...actionProps,
56
+ ref: forwardedRef
57
+ })
58
+ });
59
+ });
60
+ ToastAction.propTypes = {
61
+ altText(props) {
62
+ if (!props.altText) {
63
+ return new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
64
+ }
65
+ return null;
66
+ }
67
+ };
68
+ const CLOSE_NAME = "ToastClose";
69
+ const ToastCloseFrame = styled(YStack, {
70
+ name: CLOSE_NAME,
71
+ render: "button"
72
+ });
73
+ const ToastClose = React.forwardRef(function ToastClose2(props, forwardedRef) {
74
+ const {
75
+ scope,
76
+ ...closeProps
77
+ } = props;
78
+ const interactiveContext = useToastInteractiveContext(scope);
79
+ return /* @__PURE__ */jsx(ToastAnnounceExclude, {
80
+ asChild: true,
81
+ children: /* @__PURE__ */jsx(ToastCloseFrame, {
82
+ "aria-label": "Close",
83
+ ...closeProps,
84
+ ref: forwardedRef,
85
+ onPress: composeEventHandlers(props.onPress, interactiveContext.onClose)
86
+ })
87
+ });
88
+ });
89
+ const ToastComponent = ToastImplFrame.styleable(function Toast(props, forwardedRef) {
90
+ const {
91
+ forceMount,
92
+ open: openProp,
93
+ defaultOpen,
94
+ onOpenChange,
95
+ ...toastProps
96
+ } = props;
97
+ const [open, setOpen] = useControllableState({
98
+ prop: openProp,
99
+ defaultProp: defaultOpen ?? true,
100
+ onChange: onOpenChange,
101
+ strategy: "most-recent-wins"
102
+ });
103
+ const currentToast = useToastState();
104
+ const {
105
+ hide
106
+ } = useToastController();
107
+ const id = React.useId();
108
+ const onPause = useEvent(props.onPause);
109
+ const onResume = useEvent(props.onResume);
110
+ const isHide = currentToast?.hide === true;
111
+ const shouldShow = (forceMount || open) && !isHide;
112
+ return /* @__PURE__ */jsx(AnimatePresence, {
113
+ children: shouldShow ? /* @__PURE__ */jsx(ToastImpl, {
114
+ id,
115
+ open,
116
+ ...toastProps,
117
+ ref: forwardedRef,
118
+ onClose: () => {
119
+ setOpen(false);
120
+ hide();
121
+ },
122
+ onPause,
123
+ onResume,
124
+ onSwipeEnd: composeEventHandlers(props.onSwipeEnd, event => {
125
+ setOpen(false);
126
+ })
127
+ }) : null
128
+ }, id);
129
+ });
130
+ const Toast2 = withStaticProperties(ToastComponent, {
131
+ Title: ToastTitle,
132
+ Description: ToastDescription,
133
+ Action: ToastAction,
134
+ Close: ToastClose
135
+ });
136
+ export { Toast2 as Toast, ToastProvider, ToastViewport, useToast, useToastController, useToastState };
137
+ //# sourceMappingURL=Toast.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AnimatePresence","styled","useEvent","composeEventHandlers","withStaticProperties","YStack","SizableText","useControllableState","React","ToastAnnounceExclude","useToast","useToastController","useToastState","ToastImpl","ToastImplFrame","useToastInteractiveContext","ToastProvider","ToastViewport","jsx","TITLE_NAME","ToastTitle","name","variants","unstyled","false","color","size","defaultVariants","process","env","GUI_HEADLESS","DESCRIPTION_NAME","ToastDescription","ACTION_NAME","ToastAction","forwardRef","props","forwardedRef","altText","actionProps","asChild","children","ToastClose","ref","propTypes","Error","CLOSE_NAME","ToastCloseFrame","render","scope","closeProps","interactiveContext","onPress","onClose","ToastComponent","styleable","Toast","forceMount","open","openProp","defaultOpen","onOpenChange","toastProps","setOpen","prop","defaultProp","onChange","strategy","currentToast","hide","id","useId","onPause","onResume","isHide","shouldShow","onSwipeEnd","event","Title","Description","Action","Close"],"sources":["../../src/Toast.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -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":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","Toast_exports","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","import_ToastAnnounce","import_ToastImpl","TITLE_NAME","ToastTitle","styled","SizableText","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"],"sources":["../../src/Toast.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ import { useIsomorphicLayoutEffect } from "@hanzogui/constants";
2
+ import { View, Text, styled, useEvent } from "@hanzogui/core";
3
+ import { Portal } from "@hanzogui/portal";
4
+ import { startTransition } from "@hanzogui/start-transition";
5
+ import { VisuallyHidden } from "@hanzogui/visually-hidden";
6
+ import * as React from "react";
7
+ import { useToastProviderContext } from "./ToastProvider.mjs";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ const ToastAnnounceExcludeFrame = styled(View, {
10
+ name: "ToastAnnounceExclude"
11
+ });
12
+ const ToastAnnounceExclude = React.forwardRef((props, forwardedRef) => {
13
+ const {
14
+ altText,
15
+ ...announceExcludeProps
16
+ } = props;
17
+ return /* @__PURE__ */jsx(ToastAnnounceExcludeFrame, {
18
+ "data-toast-announce-exclude": "",
19
+ "data-toast-announce-alt": altText || void 0,
20
+ ...announceExcludeProps,
21
+ ref: forwardedRef
22
+ });
23
+ });
24
+ const ToastAnnounce = props => {
25
+ const {
26
+ scope,
27
+ children,
28
+ ...announceProps
29
+ } = props;
30
+ const context = useToastProviderContext(scope);
31
+ const [renderAnnounceText, setRenderAnnounceText] = React.useState(false);
32
+ const [isAnnounced, setIsAnnounced] = React.useState(false);
33
+ useNextFrame(() => {
34
+ startTransition(() => {
35
+ setRenderAnnounceText(true);
36
+ });
37
+ });
38
+ React.useEffect(() => {
39
+ const timer = setTimeout(() => setIsAnnounced(true), 1e3);
40
+ return () => clearTimeout(timer);
41
+ }, []);
42
+ return isAnnounced ? null : /* @__PURE__ */jsx(Portal, {
43
+ children: /* @__PURE__ */jsx(VisuallyHidden, {
44
+ ...announceProps,
45
+ children: renderAnnounceText && /* @__PURE__ */jsxs(Text, {
46
+ children: [context.label, " ", children]
47
+ })
48
+ })
49
+ });
50
+ };
51
+ function useNextFrame(callback = () => {}) {
52
+ const fn = useEvent(callback);
53
+ useIsomorphicLayoutEffect(() => {
54
+ let raf1 = 0;
55
+ let raf2 = 0;
56
+ raf1 = requestAnimationFrame(() => {
57
+ raf2 = requestAnimationFrame(fn);
58
+ });
59
+ return () => {
60
+ cancelAnimationFrame(raf1);
61
+ cancelAnimationFrame(raf2);
62
+ };
63
+ }, [fn]);
64
+ }
65
+ export { ToastAnnounce, ToastAnnounceExclude };
66
+ //# sourceMappingURL=ToastAnnounce.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useIsomorphicLayoutEffect","View","Text","styled","useEvent","Portal","startTransition","VisuallyHidden","React","useToastProviderContext","jsx","jsxs","ToastAnnounceExcludeFrame","name","ToastAnnounceExclude","forwardRef","props","forwardedRef","altText","announceExcludeProps","ref","ToastAnnounce","scope","children","announceProps","context","renderAnnounceText","setRenderAnnounceText","useState","isAnnounced","setIsAnnounced","useNextFrame","useEffect","timer","setTimeout","clearTimeout","label","callback","fn","raf1","raf2","requestAnimationFrame","cancelAnimationFrame"],"sources":["../../src/ToastAnnounce.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,yBAAA,QAAiC;AAE1C,SAASC,IAAA,EAAMC,IAAA,EAAMC,MAAA,EAAQC,QAAA,QAAgB;AAC7C,SAASC,MAAA,QAAc;AACvB,SAASC,eAAA,QAAuB;AAChC,SAASC,cAAA,QAAsB;AAC/B,YAAYC,KAAA,MAAW;AAGvB,SAASC,uBAAA,QAA+B;AAoBlC,SAAAC,GAAA,EA0CIC,IAAA,QA1CJ;AAlBN,MAAMC,yBAAA,GAA4BT,MAAA,CAAOF,IAAA,EAAM;EAC7CY,IAAA,EAAM;AACR,CAAC;AAWD,MAAMC,oBAAA,GAAuBN,KAAA,CAAMO,UAAA,CACjC,CAACC,KAAA,EAAOC,YAAA,KAAiB;EACvB,MAAM;IAAEC,OAAA;IAAS,GAAGC;EAAqB,IAAIH,KAAA;EAE7C,OACE,eAAAN,GAAA,CAACE,yBAAA;IACC,+BAA4B;IAC5B,2BAAyBM,OAAA,IAAW;IACnC,GAAGC,oBAAA;IACJC,GAAA,EAAKH;EAAA,CACP;AAEJ,CACF;AASA,MAAMI,aAAA,GACJL,KAAA,IACG;EACH,MAAM;IAAEM,KAAA;IAAOC,QAAA;IAAU,GAAGC;EAAc,IAAIR,KAAA;EAC9C,MAAMS,OAAA,GAAUhB,uBAAA,CAAwBa,KAAK;EAC7C,MAAM,CAACI,kBAAA,EAAoBC,qBAAqB,IAAInB,KAAA,CAAMoB,QAAA,CAAS,KAAK;EACxE,MAAM,CAACC,WAAA,EAAaC,cAAc,IAAItB,KAAA,CAAMoB,QAAA,CAAS,KAAK;EAG1DG,YAAA,CAAa,MAAM;IACjBzB,eAAA,CAAgB,MAAM;MACpBqB,qBAAA,CAAsB,IAAI;IAC5B,CAAC;EACH,CAAC;EAGDnB,KAAA,CAAMwB,SAAA,CAAU,MAAM;IACpB,MAAMC,KAAA,GAAQC,UAAA,CAAW,MAAMJ,cAAA,CAAe,IAAI,GAAG,GAAI;IACzD,OAAO,MAAMK,YAAA,CAAaF,KAAK;EACjC,GAAG,EAAE;EAEL,OAAOJ,WAAA,GAAc,OACnB,eAAAnB,GAAA,CAACL,MAAA;IACCkB,QAAA,iBAAAb,GAAA,CAACH,cAAA;MAAgB,GAAGiB,aAAA;MACjBD,QAAA,EAAAG,kBAAA,IACC,eAAAf,IAAA,CAACT,IAAA;QACEqB,QAAA,GAAAE,OAAA,CAAQW,KAAA,EAAM,KAAEb,QAAA;MAAA,CACnB;IAAA,CAEJ;EAAA,CACF;AAEJ;AAIA,SAASQ,aAAaM,QAAA,GAAWA,CAAA,KAAM,CAAC,GAAG;EACzC,MAAMC,EAAA,GAAKlC,QAAA,CAASiC,QAAQ;EAC5BrC,yBAAA,CAA0B,MAAM;IAC9B,IAAIuC,IAAA,GAAO;IACX,IAAIC,IAAA,GAAO;IACXD,IAAA,GAAOE,qBAAA,CAAsB,MAAM;MACjCD,IAAA,GAAOC,qBAAA,CAAsBH,EAAE;IACjC,CAAC;IACD,OAAO,MAAM;MACXI,oBAAA,CAAqBH,IAAI;MACzBG,oBAAA,CAAqBF,IAAI;IAC3B;EACF,GAAG,CAACF,EAAE,CAAC;AACT","ignoreList":[]}
@@ -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":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","ToastAnnounce_exports","ToastAnnounce","ToastAnnounceExclude","module","exports","import_jsx_runtime","require","import_constants","import_core","import_portal","import_start_transition","import_visually_hidden","React","import_ToastProvider","ToastAnnounceExcludeFrame","styled","View","forwardRef","props","forwardedRef","altText","announceExcludeProps","jsx","ref","scope","children","announceProps","context","useToastProviderContext","renderAnnounceText","setRenderAnnounceText","useState","isAnnounced","setIsAnnounced","useNextFrame"],"sources":["../../src/ToastAnnounce.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}