@medway-ui/native 1.6.1 → 1.7.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 (223) hide show
  1. package/README.md +27 -2
  2. package/lib/commonjs/components/Alert.js +3 -1
  3. package/lib/commonjs/components/Alert.js.map +1 -1
  4. package/lib/commonjs/components/AlertDialog.js +5 -2
  5. package/lib/commonjs/components/AlertDialog.js.map +1 -1
  6. package/lib/commonjs/components/Badge.js +37 -2
  7. package/lib/commonjs/components/Badge.js.map +1 -1
  8. package/lib/commonjs/components/Button.js +32 -1
  9. package/lib/commonjs/components/Button.js.map +1 -1
  10. package/lib/commonjs/components/Carousel.js +12 -2
  11. package/lib/commonjs/components/Carousel.js.map +1 -1
  12. package/lib/commonjs/components/Checkbox.js +2 -0
  13. package/lib/commonjs/components/Checkbox.js.map +1 -1
  14. package/lib/commonjs/components/Chip.js +208 -0
  15. package/lib/commonjs/components/Chip.js.map +1 -0
  16. package/lib/commonjs/components/Choice.js +116 -0
  17. package/lib/commonjs/components/Choice.js.map +1 -0
  18. package/lib/commonjs/components/Dialog.js +27 -16
  19. package/lib/commonjs/components/Dialog.js.map +1 -1
  20. package/lib/commonjs/components/DropdownMenu.js +73 -57
  21. package/lib/commonjs/components/DropdownMenu.js.map +1 -1
  22. package/lib/commonjs/components/EmptyState.js +9 -2
  23. package/lib/commonjs/components/EmptyState.js.map +1 -1
  24. package/lib/commonjs/components/Feed.js +7 -3
  25. package/lib/commonjs/components/Feed.js.map +1 -1
  26. package/lib/commonjs/components/Feedback.js +77 -0
  27. package/lib/commonjs/components/Feedback.js.map +1 -0
  28. package/lib/commonjs/components/Filter.js +93 -0
  29. package/lib/commonjs/components/Filter.js.map +1 -0
  30. package/lib/commonjs/components/IndexLevel.js +4 -3
  31. package/lib/commonjs/components/IndexLevel.js.map +1 -1
  32. package/lib/commonjs/components/Input.js +149 -45
  33. package/lib/commonjs/components/Input.js.map +1 -1
  34. package/lib/commonjs/components/InvitePopover.js +4 -1
  35. package/lib/commonjs/components/InvitePopover.js.map +1 -1
  36. package/lib/commonjs/components/MemberRow.js +3 -4
  37. package/lib/commonjs/components/MemberRow.js.map +1 -1
  38. package/lib/commonjs/components/PostForm.js +18 -8
  39. package/lib/commonjs/components/PostForm.js.map +1 -1
  40. package/lib/commonjs/components/PrizeCollection.js +1 -1
  41. package/lib/commonjs/components/RadioGroup.js +7 -0
  42. package/lib/commonjs/components/RadioGroup.js.map +1 -1
  43. package/lib/commonjs/components/Select.js +1 -1
  44. package/lib/commonjs/components/Sheet.js +4 -1
  45. package/lib/commonjs/components/Sheet.js.map +1 -1
  46. package/lib/commonjs/components/Skeleton.js +55 -4
  47. package/lib/commonjs/components/Skeleton.js.map +1 -1
  48. package/lib/commonjs/components/Switch.js +2 -0
  49. package/lib/commonjs/components/Switch.js.map +1 -1
  50. package/lib/commonjs/components/Tabs.js +2 -0
  51. package/lib/commonjs/components/Tabs.js.map +1 -1
  52. package/lib/commonjs/components/Toast.js +355 -79
  53. package/lib/commonjs/components/Toast.js.map +1 -1
  54. package/lib/commonjs/editor/NoteEditor.js +36 -11
  55. package/lib/commonjs/editor/NoteEditor.js.map +1 -1
  56. package/lib/commonjs/editor/editorHtml.generated.js +1 -1
  57. package/lib/commonjs/editor/editorHtml.generated.js.map +1 -1
  58. package/lib/commonjs/hooks/useThemeColor.js +693 -65
  59. package/lib/commonjs/hooks/useThemeColor.js.map +1 -1
  60. package/lib/commonjs/hooks/useTrackedText.js +21 -0
  61. package/lib/commonjs/hooks/useTrackedText.js.map +1 -0
  62. package/lib/commonjs/index.js +46 -0
  63. package/lib/commonjs/index.js.map +1 -1
  64. package/lib/commonjs/lib/optional-deps.js +20 -0
  65. package/lib/commonjs/lib/optional-deps.js.map +1 -0
  66. package/lib/commonjs/lib/touch-target.js +19 -0
  67. package/lib/commonjs/lib/touch-target.js.map +1 -0
  68. package/lib/module/components/Alert.js +3 -1
  69. package/lib/module/components/Alert.js.map +1 -1
  70. package/lib/module/components/AlertDialog.js +5 -2
  71. package/lib/module/components/AlertDialog.js.map +1 -1
  72. package/lib/module/components/Badge.js +36 -2
  73. package/lib/module/components/Badge.js.map +1 -1
  74. package/lib/module/components/Button.js +32 -1
  75. package/lib/module/components/Button.js.map +1 -1
  76. package/lib/module/components/Carousel.js +12 -2
  77. package/lib/module/components/Carousel.js.map +1 -1
  78. package/lib/module/components/Checkbox.js +2 -0
  79. package/lib/module/components/Checkbox.js.map +1 -1
  80. package/lib/module/components/Chip.js +204 -0
  81. package/lib/module/components/Chip.js.map +1 -0
  82. package/lib/module/components/Choice.js +112 -0
  83. package/lib/module/components/Choice.js.map +1 -0
  84. package/lib/module/components/Dialog.js +28 -17
  85. package/lib/module/components/Dialog.js.map +1 -1
  86. package/lib/module/components/DropdownMenu.js +74 -58
  87. package/lib/module/components/DropdownMenu.js.map +1 -1
  88. package/lib/module/components/EmptyState.js +9 -2
  89. package/lib/module/components/EmptyState.js.map +1 -1
  90. package/lib/module/components/Feed.js +7 -3
  91. package/lib/module/components/Feed.js.map +1 -1
  92. package/lib/module/components/Feedback.js +74 -0
  93. package/lib/module/components/Feedback.js.map +1 -0
  94. package/lib/module/components/Filter.js +89 -0
  95. package/lib/module/components/Filter.js.map +1 -0
  96. package/lib/module/components/IndexLevel.js +4 -3
  97. package/lib/module/components/IndexLevel.js.map +1 -1
  98. package/lib/module/components/Input.js +149 -45
  99. package/lib/module/components/Input.js.map +1 -1
  100. package/lib/module/components/InvitePopover.js +4 -1
  101. package/lib/module/components/InvitePopover.js.map +1 -1
  102. package/lib/module/components/MemberRow.js +3 -4
  103. package/lib/module/components/MemberRow.js.map +1 -1
  104. package/lib/module/components/PostForm.js +18 -8
  105. package/lib/module/components/PostForm.js.map +1 -1
  106. package/lib/module/components/PrizeCollection.js +1 -1
  107. package/lib/module/components/RadioGroup.js +7 -0
  108. package/lib/module/components/RadioGroup.js.map +1 -1
  109. package/lib/module/components/Select.js +1 -1
  110. package/lib/module/components/Sheet.js +4 -1
  111. package/lib/module/components/Sheet.js.map +1 -1
  112. package/lib/module/components/Skeleton.js +56 -5
  113. package/lib/module/components/Skeleton.js.map +1 -1
  114. package/lib/module/components/Switch.js +2 -0
  115. package/lib/module/components/Switch.js.map +1 -1
  116. package/lib/module/components/Tabs.js +2 -0
  117. package/lib/module/components/Tabs.js.map +1 -1
  118. package/lib/module/components/Toast.js +360 -84
  119. package/lib/module/components/Toast.js.map +1 -1
  120. package/lib/module/editor/NoteEditor.js +36 -11
  121. package/lib/module/editor/NoteEditor.js.map +1 -1
  122. package/lib/module/editor/editorHtml.generated.js +1 -1
  123. package/lib/module/editor/editorHtml.generated.js.map +1 -1
  124. package/lib/module/hooks/useThemeColor.js +693 -65
  125. package/lib/module/hooks/useThemeColor.js.map +1 -1
  126. package/lib/module/hooks/useTrackedText.js +18 -0
  127. package/lib/module/hooks/useTrackedText.js.map +1 -0
  128. package/lib/module/index.js +8 -0
  129. package/lib/module/index.js.map +1 -1
  130. package/lib/module/lib/optional-deps.js +16 -0
  131. package/lib/module/lib/optional-deps.js.map +1 -0
  132. package/lib/module/lib/touch-target.js +15 -0
  133. package/lib/module/lib/touch-target.js.map +1 -0
  134. package/lib/typescript/components/Alert.d.ts.map +1 -1
  135. package/lib/typescript/components/AlertDialog.d.ts.map +1 -1
  136. package/lib/typescript/components/Badge.d.ts +1 -1
  137. package/lib/typescript/components/Badge.d.ts.map +1 -1
  138. package/lib/typescript/components/Button.d.ts.map +1 -1
  139. package/lib/typescript/components/Carousel.d.ts +1 -1
  140. package/lib/typescript/components/Carousel.d.ts.map +1 -1
  141. package/lib/typescript/components/Checkbox.d.ts.map +1 -1
  142. package/lib/typescript/components/Chip.d.ts +30 -0
  143. package/lib/typescript/components/Chip.d.ts.map +1 -0
  144. package/lib/typescript/components/Choice.d.ts +17 -0
  145. package/lib/typescript/components/Choice.d.ts.map +1 -0
  146. package/lib/typescript/components/Dialog.d.ts.map +1 -1
  147. package/lib/typescript/components/DropdownMenu.d.ts +0 -7
  148. package/lib/typescript/components/DropdownMenu.d.ts.map +1 -1
  149. package/lib/typescript/components/EmptyState.d.ts +3 -2
  150. package/lib/typescript/components/EmptyState.d.ts.map +1 -1
  151. package/lib/typescript/components/Feed.d.ts.map +1 -1
  152. package/lib/typescript/components/Feedback.d.ts +17 -0
  153. package/lib/typescript/components/Feedback.d.ts.map +1 -0
  154. package/lib/typescript/components/Filter.d.ts +17 -0
  155. package/lib/typescript/components/Filter.d.ts.map +1 -0
  156. package/lib/typescript/components/IndexLevel.d.ts.map +1 -1
  157. package/lib/typescript/components/Input.d.ts +3 -3
  158. package/lib/typescript/components/Input.d.ts.map +1 -1
  159. package/lib/typescript/components/InvitePopover.d.ts.map +1 -1
  160. package/lib/typescript/components/MemberRow.d.ts.map +1 -1
  161. package/lib/typescript/components/PostForm.d.ts.map +1 -1
  162. package/lib/typescript/components/RadioGroup.d.ts.map +1 -1
  163. package/lib/typescript/components/Sheet.d.ts.map +1 -1
  164. package/lib/typescript/components/Skeleton.d.ts +1 -1
  165. package/lib/typescript/components/Skeleton.d.ts.map +1 -1
  166. package/lib/typescript/components/Switch.d.ts.map +1 -1
  167. package/lib/typescript/components/Tabs.d.ts.map +1 -1
  168. package/lib/typescript/components/Tag.d.ts +2 -2
  169. package/lib/typescript/components/ThemedIcon.d.ts +1 -1
  170. package/lib/typescript/components/ThemedIcon.d.ts.map +1 -1
  171. package/lib/typescript/components/Toast.d.ts +24 -13
  172. package/lib/typescript/components/Toast.d.ts.map +1 -1
  173. package/lib/typescript/editor/NoteEditor.d.ts.map +1 -1
  174. package/lib/typescript/editor/editorHtml.generated.d.ts.map +1 -1
  175. package/lib/typescript/hooks/useThemeColor.d.ts +0 -10
  176. package/lib/typescript/hooks/useThemeColor.d.ts.map +1 -1
  177. package/lib/typescript/hooks/useTrackedText.d.ts +6 -0
  178. package/lib/typescript/hooks/useTrackedText.d.ts.map +1 -0
  179. package/lib/typescript/index.d.ts +9 -1
  180. package/lib/typescript/index.d.ts.map +1 -1
  181. package/lib/typescript/lib/optional-deps.d.ts +23 -0
  182. package/lib/typescript/lib/optional-deps.d.ts.map +1 -0
  183. package/lib/typescript/lib/touch-target.d.ts +5 -0
  184. package/lib/typescript/lib/touch-target.d.ts.map +1 -0
  185. package/package.json +6 -1
  186. package/setup/createMedwayUiNavigator.tsx +4 -7
  187. package/setup/metro.js +12 -3
  188. package/src/components/Alert.tsx +3 -1
  189. package/src/components/AlertDialog.tsx +8 -3
  190. package/src/components/Badge.tsx +51 -3
  191. package/src/components/Button.tsx +39 -1
  192. package/src/components/Carousel.tsx +17 -3
  193. package/src/components/Checkbox.tsx +2 -0
  194. package/src/components/Chip.tsx +227 -0
  195. package/src/components/Choice.tsx +139 -0
  196. package/src/components/Dialog.tsx +39 -23
  197. package/src/components/DropdownMenu.tsx +99 -87
  198. package/src/components/EmptyState.tsx +18 -3
  199. package/src/components/Feed.tsx +4 -3
  200. package/src/components/Feedback.tsx +111 -0
  201. package/src/components/Filter.tsx +106 -0
  202. package/src/components/IndexLevel.tsx +8 -10
  203. package/src/components/Input.tsx +142 -54
  204. package/src/components/InvitePopover.tsx +5 -1
  205. package/src/components/MemberRow.tsx +3 -5
  206. package/src/components/PostForm.tsx +16 -9
  207. package/src/components/PrizeCollection.tsx +1 -1
  208. package/src/components/RadioGroup.tsx +8 -0
  209. package/src/components/Select.tsx +1 -1
  210. package/src/components/Sheet.tsx +4 -1
  211. package/src/components/Skeleton.tsx +47 -6
  212. package/src/components/Switch.tsx +2 -0
  213. package/src/components/Tabs.tsx +2 -0
  214. package/src/components/ThemedIcon.tsx +1 -1
  215. package/src/components/Toast.tsx +489 -87
  216. package/src/editor/NoteEditor.tsx +47 -10
  217. package/src/editor/editorHtml.generated.ts +1 -1
  218. package/src/hooks/useThemeColor.ts +757 -64
  219. package/src/hooks/useTrackedText.ts +20 -0
  220. package/src/index.ts +36 -1
  221. package/src/lib/optional-deps.ts +27 -0
  222. package/src/lib/touch-target.ts +12 -0
  223. package/setup/index.tsx +0 -42
@@ -1,130 +1,353 @@
1
1
  "use strict";
2
2
 
3
- import { useState, useEffect } from "react";
4
- import { View, Pressable } from "react-native";
3
+ import { createContext, useContext, useState, useEffect, useRef } from "react";
4
+ import { View, Pressable, StyleSheet } from "react-native";
5
+ import { useUnstableNativeVariable } from "nativewind";
6
+ import { SafeAreaInsetsContext } from "react-native-safe-area-context";
5
7
  import { Text } from "@/components/Text";
6
8
  import { cva } from "class-variance-authority";
7
- import Animated, { useSharedValue, useAnimatedStyle, withTiming, withDelay, runOnJS } from "react-native-reanimated";
9
+ import Animated, { useSharedValue, useAnimatedStyle, withTiming, runOnJS } from "react-native-reanimated";
8
10
  import { cn } from "@/lib/utils";
9
- import { CircleCheck, CloseMd, Info, OctagonWarning, TriangleWarning } from "@medway-ui/icons/native";
11
+ import { loadLinearGradient } from "@/lib/optional-deps";
12
+ import { CircleCheck, CloseMd, Info, OctagonWarning, Rocket, TriangleWarning } from "@medway-ui/icons/native";
10
13
  import { Button } from "@/components/Button";
14
+ import { Loading } from "@/components/Loading";
11
15
  import { useToast } from "@/hooks/use-toast";
12
16
  import { useThemeColor } from "@/hooks/useThemeColor";
13
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- const toastVariants = cva("flex-row items-center gap-3 w-full rounded-md bg-surface-elevated p-3 shadow-lg", {
15
- variants: {
16
- variant: {
17
- primary: "border-l-4 border-primary-foreground",
18
- secondary: "border-l-4 border-secondary-foreground",
19
- success: "border-l-4 border-feedback-success-foreground",
20
- warning: "border-l-4 border-feedback-warning-foreground",
21
- error: "border-l-4 border-feedback-error-foreground"
22
- }
17
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
18
+ const GRADIENT_VARIANTS = ["green-gradient", "gold-gradient", "silver-gradient", "bronze-gradient"];
19
+ /** Podium / green gradient visuals — stops & angles match `@medway-ui/core` Toast. */
20
+ const GRADIENT_STYLES = {
21
+ "green-gradient": {
22
+ colorTokens: ["secondary", "secondary-12"],
23
+ locations: [0.29, 1],
24
+ angleDeg: 124,
25
+ textClassName: "text-secondary-darken-4",
26
+ pressedClassName: "active:bg-black-8",
27
+ iconToken: "secondary-darken-4",
28
+ solidFallbackClassName: "bg-secondary",
29
+ underlayClassName: "bg-white"
23
30
  },
24
- defaultVariants: {
25
- variant: "primary"
31
+ "gold-gradient": {
32
+ // Literal hex from Figma replaced by podium tokens on web (#72)
33
+ colorTokens: ["gold", "gold-lighten-6"],
34
+ locations: [0.29, 1],
35
+ angleDeg: 124,
36
+ textClassName: "text-gold-foreground-onfill",
37
+ pressedClassName: "active:bg-black-8",
38
+ iconToken: "gold-foreground-onfill",
39
+ solidFallbackClassName: "bg-gold"
40
+ },
41
+ "silver-gradient": {
42
+ colorTokens: ["silver-darken-4", "silver"],
43
+ locations: [0.05, 1],
44
+ angleDeg: 100,
45
+ textClassName: "text-white",
46
+ pressedClassName: "active:bg-white-16",
47
+ iconToken: "white",
48
+ solidFallbackClassName: "bg-silver-darken-4"
49
+ },
50
+ "bronze-gradient": {
51
+ colorTokens: ["bronze-darken-2", "bronze"],
52
+ locations: [0.02, 1],
53
+ angleDeg: 100,
54
+ textClassName: "text-white",
55
+ pressedClassName: "active:bg-white-16",
56
+ iconToken: "white",
57
+ solidFallbackClassName: "bg-bronze"
26
58
  }
59
+ };
60
+ const ToastContext = /*#__PURE__*/createContext({
61
+ variant: "primary"
27
62
  });
28
- const toastIconVariants = cva("shrink-0", {
63
+ function useToastContext(override) {
64
+ const ctx = useContext(ToastContext);
65
+ return {
66
+ variant: override ?? ctx.variant,
67
+ onOpenChange: ctx.onOpenChange
68
+ };
69
+ }
70
+ const isGradientVariant = v => GRADIENT_VARIANTS.includes(v);
71
+
72
+ /** CSS angle (0deg = up, clockwise) → expo-linear-gradient start/end. */
73
+ function cssAngleToPoints(angleDeg) {
74
+ const rad = angleDeg * Math.PI / 180;
75
+ const dx = Math.sin(rad);
76
+ const dy = -Math.cos(rad);
77
+ return {
78
+ start: {
79
+ x: 0.5 - dx / 2,
80
+ y: 0.5 - dy / 2
81
+ },
82
+ end: {
83
+ x: 0.5 + dx / 2,
84
+ y: 0.5 + dy / 2
85
+ }
86
+ };
87
+ }
88
+ const RADIUS_LG_FALLBACK = 16;
89
+ function useRadiusLg() {
90
+ const value = useUnstableNativeVariable("--radius-lg");
91
+ if (typeof value === "number" && Number.isFinite(value)) return value;
92
+ if (typeof value === "string") {
93
+ const parsed = Number.parseFloat(value);
94
+ if (Number.isFinite(parsed)) return parsed;
95
+ }
96
+ return RADIUS_LG_FALLBACK;
97
+ }
98
+
99
+ /** Mirrors web `toastVariants` solid/gradient chrome (minus Radix animation attrs). */
100
+ const toastVariants = cva("flex-row items-center justify-between gap-4 w-full overflow-hidden shadow-lg", {
29
101
  variants: {
102
+ appearance: {
103
+ solid: "rounded-md bg-surface-elevated p-2 pl-4",
104
+ gradient: "rounded-lg p-4"
105
+ },
30
106
  variant: {
31
- primary: "text-primary-foreground",
32
- secondary: "text-secondary-foreground",
33
- success: "text-feedback-success-foreground",
34
- warning: "text-feedback-warning-foreground",
35
- error: "text-feedback-error-foreground"
107
+ primary: "",
108
+ secondary: "",
109
+ success: "",
110
+ warning: "",
111
+ error: "",
112
+ "green-gradient": "",
113
+ "gold-gradient": "",
114
+ "silver-gradient": "",
115
+ "bronze-gradient": ""
36
116
  }
37
117
  },
38
118
  defaultVariants: {
119
+ appearance: "solid",
39
120
  variant: "primary"
40
121
  }
41
122
  });
123
+
124
+ /** Solid title/description colors — web inherits from the root; RN Text does not. */
125
+ const toastSolidTextClassName = {
126
+ primary: "text-primary-foreground",
127
+ secondary: "text-secondary-foreground",
128
+ success: "text-feedback-success-foreground",
129
+ warning: "text-feedback-warning-foreground",
130
+ error: "text-feedback-error-foreground"
131
+ };
132
+
133
+ /** Soft fills for solid icons — approximates web `fill-*-background-soft` on SVG. */
134
+ const toastIconSoftFillClassName = {
135
+ primary: "bg-primary-background-soft",
136
+ secondary: "bg-secondary-background-soft",
137
+ success: "bg-feedback-success-background-soft",
138
+ warning: "bg-feedback-warning-background-soft",
139
+ error: "bg-feedback-error-background-soft"
140
+ };
42
141
  const toastActionButtonVariantMap = {
43
142
  primary: "regular-soft",
44
143
  secondary: "emphasis-soft",
45
144
  success: "success-soft",
46
145
  warning: "warning-soft",
47
- error: "error-soft"
146
+ error: "error-soft",
147
+ "green-gradient": "regular-basic",
148
+ "gold-gradient": "regular-basic",
149
+ "silver-gradient": "regular-basic",
150
+ "bronze-gradient": "regular-basic"
48
151
  };
49
152
  const toastIconColorTokens = {
50
153
  primary: "primary-foreground",
51
154
  secondary: "secondary-foreground",
52
155
  success: "feedback-success-foreground",
53
156
  warning: "feedback-warning-foreground",
54
- error: "feedback-error-foreground"
157
+ error: "feedback-error-foreground",
158
+ "green-gradient": GRADIENT_STYLES["green-gradient"].iconToken,
159
+ "gold-gradient": GRADIENT_STYLES["gold-gradient"].iconToken,
160
+ "silver-gradient": GRADIENT_STYLES["silver-gradient"].iconToken,
161
+ "bronze-gradient": GRADIENT_STYLES["bronze-gradient"].iconToken
55
162
  };
56
163
  const variantIcons = {
57
164
  primary: Info,
58
165
  secondary: Info,
59
166
  success: CircleCheck,
60
167
  warning: TriangleWarning,
61
- error: OctagonWarning
168
+ error: OctagonWarning,
169
+ "green-gradient": Rocket,
170
+ "gold-gradient": Rocket,
171
+ "silver-gradient": Rocket,
172
+ "bronze-gradient": Rocket
62
173
  };
174
+ const ACTION_SIZE_CLASSES = {
175
+ sm: "min-h-8 min-w-8 px-3 py-1",
176
+ md: "min-h-10 min-w-10 px-3.5 py-2",
177
+ lg: "min-h-12 min-w-12 px-4 py-3",
178
+ xl: "min-h-14 min-w-14 px-[18px] py-3.5"
179
+ };
180
+ const ACTION_TEXT_SIZE = {
181
+ sm: "text-xs",
182
+ md: "text-sm",
183
+ lg: "text-md",
184
+ xl: "text-lg"
185
+ };
186
+ const DEFAULT_TOAST_DURATION = 5000;
187
+ const TOAST_ENTER_MS = 300;
188
+ const TOAST_EXIT_MS = 400;
189
+ function ToastClose({
190
+ className,
191
+ onPress,
192
+ label = "Fechar",
193
+ variant: variantProp,
194
+ ...props
195
+ }) {
196
+ const {
197
+ variant,
198
+ onOpenChange
199
+ } = useToastContext(variantProp);
200
+ const gradient = isGradientVariant(variant) ? GRADIENT_STYLES[variant] : null;
201
+ // Web solid close uses `regular-basic` → primary-foreground (not gray).
202
+ const closeIconColor = useThemeColor(gradient ? gradient.iconToken : "primary-foreground");
203
+ return /*#__PURE__*/_jsx(Button, {
204
+ onPress: onPress ?? (() => onOpenChange?.(false)),
205
+ accessibilityLabel: label,
206
+ size: "sm",
207
+ variant: "regular-basic",
208
+ iconLeft: closeIconColor ? /*#__PURE__*/_jsx(CloseMd, {
209
+ width: 16,
210
+ height: 16,
211
+ color: closeIconColor
212
+ }) : undefined,
213
+ className: cn("shrink-0",
214
+ // Match web `gradientActionClassName` (fixed text + pressed bg on gradients).
215
+ gradient?.textClassName, gradient?.pressedClassName, className),
216
+ ...props
217
+ });
218
+ }
219
+ function ToastGradientFill({
220
+ variant
221
+ }) {
222
+ const style = GRADIENT_STYLES[variant];
223
+ const LinearGradient = loadLinearGradient();
224
+ const borderRadius = useRadiusLg();
225
+ const color0 = useThemeColor(style.colorTokens[0]);
226
+ const color1 = useThemeColor(style.colorTokens[1]);
227
+ const {
228
+ start,
229
+ end
230
+ } = cssAngleToPoints(style.angleDeg);
231
+ if (!LinearGradient || !color0 || !color1) {
232
+ return /*#__PURE__*/_jsx(View, {
233
+ pointerEvents: "none",
234
+ className: style.solidFallbackClassName,
235
+ style: [StyleSheet.absoluteFill, {
236
+ borderRadius
237
+ }]
238
+ });
239
+ }
240
+ return /*#__PURE__*/_jsxs(_Fragment, {
241
+ children: [style.underlayClassName ? /*#__PURE__*/_jsx(View, {
242
+ pointerEvents: "none",
243
+ className: style.underlayClassName,
244
+ style: [StyleSheet.absoluteFill, {
245
+ borderRadius
246
+ }]
247
+ }) : null, /*#__PURE__*/_jsx(LinearGradient, {
248
+ colors: [color0, color1],
249
+ locations: style.locations,
250
+ start: start,
251
+ end: end,
252
+ pointerEvents: "none",
253
+ style: [StyleSheet.absoluteFill, {
254
+ borderRadius
255
+ }]
256
+ })]
257
+ });
258
+ }
259
+ function ToastDefaultIcon({
260
+ variant
261
+ }) {
262
+ const IconComponent = variantIcons[variant];
263
+ const iconColor = useThemeColor(toastIconColorTokens[variant]);
264
+ if (!iconColor) return null;
265
+ const softFill = !isGradientVariant(variant) ? toastIconSoftFillClassName[variant] : null;
266
+ return /*#__PURE__*/_jsxs(View, {
267
+ className: "size-6 shrink-0 items-center justify-center",
268
+ children: [softFill ? /*#__PURE__*/_jsx(View, {
269
+ className: cn("absolute h-[18px] w-[18px] rounded-full", softFill)
270
+ }) : null, /*#__PURE__*/_jsx(IconComponent, {
271
+ width: 24,
272
+ height: 24,
273
+ color: iconColor
274
+ })]
275
+ });
276
+ }
63
277
  function ToastItem({
64
278
  className,
65
279
  variant = "primary",
66
280
  showIcon = true,
281
+ duration = DEFAULT_TOAST_DURATION,
67
282
  open = true,
68
283
  onOpenChange,
284
+ icon,
69
285
  children,
70
286
  ...props
71
287
  }) {
72
288
  const [visible, setVisible] = useState(open);
289
+ const onOpenChangeRef = useRef(onOpenChange);
290
+ onOpenChangeRef.current = onOpenChange;
73
291
  const translateY = useSharedValue(open ? 0 : -80);
74
292
  const opacity = useSharedValue(open ? 1 : 0);
293
+ const gradient = isGradientVariant(variant);
75
294
  const animatedStyle = useAnimatedStyle(() => ({
76
295
  transform: [{
77
296
  translateY: translateY.value
78
297
  }],
79
298
  opacity: opacity.value
80
299
  }));
81
- const iconColor = useThemeColor(toastIconColorTokens[variant]);
82
- const closeIconColor = useThemeColor("gray-foreground");
83
300
  useEffect(() => {
84
301
  if (open) {
85
302
  setVisible(true);
86
303
  translateY.value = withTiming(0, {
87
- duration: 300
304
+ duration: TOAST_ENTER_MS
88
305
  });
89
306
  opacity.value = withTiming(1, {
90
- duration: 300
307
+ duration: TOAST_ENTER_MS
91
308
  });
92
309
  } else {
93
- translateY.value = withDelay(50, withTiming(-80, {
94
- duration: 200
95
- }));
310
+ translateY.value = withTiming(-80, {
311
+ duration: TOAST_EXIT_MS
312
+ });
96
313
  opacity.value = withTiming(0, {
97
- duration: 200
314
+ duration: TOAST_EXIT_MS
98
315
  }, finished => {
99
316
  if (finished) runOnJS(setVisible)(false);
100
317
  });
101
318
  }
102
319
  }, [open]);
320
+ useEffect(() => {
321
+ if (!open || !Number.isFinite(duration) || duration <= 0) return;
322
+ const timeout = setTimeout(() => onOpenChangeRef.current?.(false), duration);
323
+ return () => clearTimeout(timeout);
324
+ }, [open, duration]);
103
325
  if (!visible) return null;
104
- const IconComponent = variantIcons[variant];
326
+ const resolvedIcon = icon ?? /*#__PURE__*/_jsx(ToastDefaultIcon, {
327
+ variant: variant
328
+ });
329
+ const appearance = gradient ? "gradient" : "solid";
330
+ const containerClassName = cn(toastVariants({
331
+ appearance,
332
+ variant
333
+ }), className);
105
334
  return /*#__PURE__*/_jsx(Animated.View, {
106
335
  style: animatedStyle,
107
- children: /*#__PURE__*/_jsxs(View, {
108
- className: cn(toastVariants({
109
- variant
110
- }), className),
111
- ...props,
112
- children: [showIcon && iconColor && /*#__PURE__*/_jsx(IconComponent, {
113
- width: 20,
114
- height: 20,
115
- color: iconColor
116
- }), /*#__PURE__*/_jsx(View, {
117
- className: "flex-1 flex-row items-center justify-between gap-3",
118
- children: children
119
- }), /*#__PURE__*/_jsx(Pressable, {
120
- onPress: () => onOpenChange?.(false),
121
- className: "rounded-pill p-1 active:bg-gray-background-soft",
122
- children: closeIconColor && /*#__PURE__*/_jsx(CloseMd, {
123
- width: 16,
124
- height: 16,
125
- color: closeIconColor
126
- })
127
- })]
336
+ children: /*#__PURE__*/_jsx(ToastContext.Provider, {
337
+ value: {
338
+ variant,
339
+ onOpenChange
340
+ },
341
+ children: /*#__PURE__*/_jsxs(View, {
342
+ className: containerClassName,
343
+ ...props,
344
+ children: [gradient ? /*#__PURE__*/_jsx(ToastGradientFill, {
345
+ variant: variant
346
+ }) : null, showIcon && resolvedIcon, /*#__PURE__*/_jsx(View, {
347
+ className: "min-w-0 flex-1 flex-row items-center justify-between gap-4",
348
+ children: children
349
+ })]
350
+ })
128
351
  })
129
352
  });
130
353
  }
@@ -134,6 +357,7 @@ function Toast({
134
357
  duration,
135
358
  open,
136
359
  onOpenChange,
360
+ icon,
137
361
  children,
138
362
  ...props
139
363
  }) {
@@ -143,22 +367,62 @@ function Toast({
143
367
  duration: duration,
144
368
  open: open,
145
369
  onOpenChange: onOpenChange,
370
+ icon: icon,
146
371
  ...props,
147
372
  children: children
148
373
  });
149
374
  }
150
375
  function ToastAction({
151
376
  className,
152
- variant = "primary",
377
+ variant: variantProp,
153
378
  size = "sm",
154
- altText,
379
+ altText = "Toast action",
155
380
  children,
381
+ loading,
382
+ iconLeft,
383
+ iconRight,
384
+ disabled,
385
+ containerStyle: _containerStyle,
386
+ badge: _badge,
387
+ alert: _alert,
156
388
  ...props
157
389
  }) {
390
+ const {
391
+ variant
392
+ } = useToastContext(variantProp);
393
+ const resolvedSize = size ?? "sm";
394
+ if (isGradientVariant(variant)) {
395
+ const gradient = GRADIENT_STYLES[variant];
396
+ const isDisabled = Boolean(disabled || loading);
397
+ return /*#__PURE__*/_jsx(Pressable, {
398
+ accessibilityLabel: altText,
399
+ accessibilityRole: "button",
400
+ accessibilityState: {
401
+ disabled: isDisabled,
402
+ busy: Boolean(loading)
403
+ },
404
+ disabled: isDisabled,
405
+ className: cn("flex-row items-center justify-center gap-2 rounded-pill", ACTION_SIZE_CLASSES[resolvedSize], gradient.pressedClassName, className),
406
+ ...props,
407
+ children: loading ? /*#__PURE__*/_jsx(Loading, {
408
+ size: resolvedSize === "sm" ? 16 : 20
409
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
410
+ children: [iconLeft, children != null && /*#__PURE__*/_jsx(Text, {
411
+ className: cn("font-semibold shrink-0", ACTION_TEXT_SIZE[resolvedSize], gradient.textClassName),
412
+ children: children
413
+ }), iconRight]
414
+ })
415
+ });
416
+ }
158
417
  return /*#__PURE__*/_jsx(Button, {
159
418
  size: size,
160
419
  variant: toastActionButtonVariantMap[variant],
161
420
  className: cn(className),
421
+ loading: loading,
422
+ iconLeft: iconLeft,
423
+ iconRight: iconRight,
424
+ disabled: disabled,
425
+ accessibilityLabel: altText,
162
426
  ...props,
163
427
  children: children
164
428
  });
@@ -167,8 +431,12 @@ function ToastTitle({
167
431
  className,
168
432
  children
169
433
  }) {
434
+ const {
435
+ variant
436
+ } = useToastContext();
437
+ const textClassName = isGradientVariant(variant) ? GRADIENT_STYLES[variant].textClassName : toastSolidTextClassName[variant];
170
438
  return /*#__PURE__*/_jsx(Text, {
171
- className: cn("text-md font-medium text-content-title flex-1", className),
439
+ className: cn("text-md font-semibold flex-1", textClassName, className),
172
440
  children: children
173
441
  });
174
442
  }
@@ -176,11 +444,18 @@ function ToastDescription({
176
444
  className,
177
445
  children
178
446
  }) {
447
+ const {
448
+ variant
449
+ } = useToastContext();
450
+ const textClassName = isGradientVariant(variant) ? GRADIENT_STYLES[variant].textClassName : toastSolidTextClassName[variant];
179
451
  return /*#__PURE__*/_jsx(Text, {
180
- className: cn("text-xs text-content-paragraph", className),
452
+ className: cn("text-xs font-medium", textClassName, className),
181
453
  children: children
182
454
  });
183
455
  }
456
+ const TOAST_VIEWPORT_EXTRA_TOP_GAP = 8;
457
+ /** Matches previous `pt-12` (48) when SafeAreaProvider is absent: 40 + 8. */
458
+ const TOAST_VIEWPORT_FALLBACK_TOP = 40;
184
459
  function ToastViewport({
185
460
  className,
186
461
  children,
@@ -188,57 +463,58 @@ function ToastViewport({
188
463
  }) {
189
464
  return /*#__PURE__*/_jsx(View, {
190
465
  pointerEvents: "box-none",
191
- className: cn("absolute top-0 left-0 right-0 z-50 px-4 pt-12 gap-2", className),
466
+ className: cn("absolute top-0 left-0 right-0 z-50 px-4 gap-2", className),
192
467
  ...props,
193
468
  children: children
194
469
  });
195
470
  }
196
- function ToastClose({
197
- className,
198
- onPress,
199
- label = "Close",
200
- ...props
201
- }) {
202
- const closeIconColor = useThemeColor("gray-foreground");
203
- return /*#__PURE__*/_jsx(Pressable, {
204
- onPress: onPress,
205
- accessibilityLabel: label,
206
- className: cn("rounded-pill p-1 active:bg-gray-background-soft", className),
207
- ...props,
208
- children: closeIconColor && /*#__PURE__*/_jsx(CloseMd, {
209
- width: 16,
210
- height: 16,
211
- color: closeIconColor
212
- })
213
- });
214
- }
215
- function ToastProvider() {
471
+ function ToastProvider({
472
+ topOffset = TOAST_VIEWPORT_EXTRA_TOP_GAP,
473
+ style,
474
+ className
475
+ } = {}) {
216
476
  const {
217
477
  toasts,
218
478
  dismiss
219
479
  } = useToast();
480
+ // Soft read: does not throw without SafeAreaProvider (keeps prior pt-12 fallback).
481
+ const insets = useContext(SafeAreaInsetsContext);
482
+ const paddingTop = (insets?.top ?? TOAST_VIEWPORT_FALLBACK_TOP) + topOffset;
220
483
  return /*#__PURE__*/_jsx(ToastViewport, {
484
+ className: className,
485
+ style: [{
486
+ paddingTop
487
+ }, style],
221
488
  children: toasts.map(({
222
489
  id,
223
490
  title,
224
491
  description,
225
492
  action,
226
493
  open = true,
227
- variant,
228
- showIcon
494
+ variant = "primary",
495
+ showIcon,
496
+ icon,
497
+ duration
229
498
  }) => /*#__PURE__*/_jsxs(Toast, {
230
499
  variant: variant,
231
500
  showIcon: showIcon,
501
+ icon: icon,
502
+ duration: duration,
232
503
  open: open,
233
504
  onOpenChange: isOpen => !isOpen && dismiss(id),
234
505
  children: [/*#__PURE__*/_jsxs(View, {
235
- className: "flex-col gap-0.5",
506
+ className: "min-w-0 flex-1 flex-col",
236
507
  children: [title && /*#__PURE__*/_jsx(ToastTitle, {
237
508
  children: title
238
509
  }), description && /*#__PURE__*/_jsx(ToastDescription, {
239
510
  children: description
240
511
  })]
241
- }), action]
512
+ }), /*#__PURE__*/_jsxs(View, {
513
+ className: "flex-row items-center gap-2",
514
+ children: [action, /*#__PURE__*/_jsx(ToastClose, {
515
+ variant: variant
516
+ })]
517
+ })]
242
518
  }, id))
243
519
  });
244
520
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","View","Pressable","Text","cva","Animated","useSharedValue","useAnimatedStyle","withTiming","withDelay","runOnJS","cn","CircleCheck","CloseMd","Info","OctagonWarning","TriangleWarning","Button","useToast","useThemeColor","jsx","_jsx","jsxs","_jsxs","toastVariants","variants","variant","primary","secondary","success","warning","error","defaultVariants","toastIconVariants","toastActionButtonVariantMap","toastIconColorTokens","variantIcons","ToastItem","className","showIcon","open","onOpenChange","children","props","visible","setVisible","translateY","opacity","animatedStyle","transform","value","iconColor","closeIconColor","duration","finished","IconComponent","style","width","height","color","onPress","Toast","ToastAction","size","altText","ToastTitle","ToastDescription","ToastViewport","pointerEvents","ToastClose","label","accessibilityLabel","ToastProvider","toasts","dismiss","map","id","title","description","action","isOpen"],"sourceRoot":"../../../src","sources":["components/Toast.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,SAAS,QAA2C,OAAO;AAC9E,SAASC,IAAI,EAAEC,SAAS,QAAwB,cAAc;AAE9D,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,GAAG,QAAQ,0BAA0B;AAC9C,OAAOC,QAAQ,IACbC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,SAAS,EACTC,OAAO,QACF,yBAAyB;AAChC,SAASC,EAAE,QAAQ,aAAa;AAChC,SACEC,WAAW,EACXC,OAAO,EACPC,IAAI,EACJC,cAAc,EACdC,eAAe,QACV,yBAAyB;AAChC,SAASC,MAAM,QAA0B,qBAAqB;AAC9D,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,aAAa,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA2BtD,MAAMC,aAAa,GAAGpB,GAAG,CACvB,iFAAiF,EACjF;EACEqB,QAAQ,EAAE;IACRC,OAAO,EAAE;MACPC,OAAO,EAAE,sCAAsC;MAC/CC,SAAS,EAAE,wCAAwC;MACnDC,OAAO,EAAE,+CAA+C;MACxDC,OAAO,EAAE,+CAA+C;MACxDC,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IAAEN,OAAO,EAAE;EAAU;AACxC,CACF,CAAC;AAED,MAAMO,iBAAiB,GAAG7B,GAAG,CAAC,UAAU,EAAE;EACxCqB,QAAQ,EAAE;IACRC,OAAO,EAAE;MACPC,OAAO,EAAE,yBAAyB;MAClCC,SAAS,EAAE,2BAA2B;MACtCC,OAAO,EAAE,kCAAkC;MAC3CC,OAAO,EAAE,kCAAkC;MAC3CC,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IAAEN,OAAO,EAAE;EAAU;AACxC,CAAC,CAAC;AAEF,MAAMQ,2BAA+E,GAAG;EACtFP,OAAO,EAAE,cAAc;EACvBC,SAAS,EAAE,eAAe;EAC1BC,OAAO,EAAE,cAAc;EACvBC,OAAO,EAAE,cAAc;EACvBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMI,oBAAkD,GAAG;EACzDR,OAAO,EAAE,oBAAoB;EAC7BC,SAAS,EAAE,sBAAsB;EACjCC,OAAO,EAAE,6BAA6B;EACtCC,OAAO,EAAE,6BAA6B;EACtCC,KAAK,EAAE;AACT,CAAC;AAED,MAAMK,YAAY,GAAG;EACnBT,OAAO,EAAEb,IAAI;EACbc,SAAS,EAAEd,IAAI;EACfe,OAAO,EAAEjB,WAAW;EACpBkB,OAAO,EAAEd,eAAe;EACxBe,KAAK,EAAEhB;AACT,CAAU;AAEV,SAASsB,SAASA,CAAC;EACjBC,SAAS;EACTZ,OAAO,GAAG,SAAS;EACnBa,QAAQ,GAAG,IAAI;EACfC,IAAI,GAAG,IAAI;EACXC,YAAY;EACZC,QAAQ;EACR,GAAGC;AACO,CAAC,EAAE;EACb,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG9C,QAAQ,CAACyC,IAAI,CAAC;EAC5C,MAAMM,UAAU,GAAGxC,cAAc,CAACkC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;EACjD,MAAMO,OAAO,GAAGzC,cAAc,CAACkC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;EAE5C,MAAMQ,aAAa,GAAGzC,gBAAgB,CAAC,OAAO;IAC5C0C,SAAS,EAAE,CAAC;MAAEH,UAAU,EAAEA,UAAU,CAACI;IAAM,CAAC,CAAC;IAC7CH,OAAO,EAAEA,OAAO,CAACG;EACnB,CAAC,CAAC,CAAC;EACH,MAAMC,SAAS,GAAGhC,aAAa,CAACgB,oBAAoB,CAACT,OAAO,CAAC,CAAC;EAC9D,MAAM0B,cAAc,GAAGjC,aAAa,CAAC,iBAAiB,CAAC;EAEvDnB,SAAS,CAAC,MAAM;IACd,IAAIwC,IAAI,EAAE;MACRK,UAAU,CAAC,IAAI,CAAC;MAChBC,UAAU,CAACI,KAAK,GAAG1C,UAAU,CAAC,CAAC,EAAE;QAAE6C,QAAQ,EAAE;MAAI,CAAC,CAAC;MACnDN,OAAO,CAACG,KAAK,GAAG1C,UAAU,CAAC,CAAC,EAAE;QAAE6C,QAAQ,EAAE;MAAI,CAAC,CAAC;IAClD,CAAC,MAAM;MACLP,UAAU,CAACI,KAAK,GAAGzC,SAAS,CAAC,EAAE,EAAED,UAAU,CAAC,CAAC,EAAE,EAAE;QAAE6C,QAAQ,EAAE;MAAI,CAAC,CAAC,CAAC;MACpEN,OAAO,CAACG,KAAK,GAAG1C,UAAU,CAAC,CAAC,EAAE;QAAE6C,QAAQ,EAAE;MAAI,CAAC,EAAGC,QAAQ,IAAK;QAC7D,IAAIA,QAAQ,EAAE5C,OAAO,CAACmC,UAAU,CAAC,CAAC,KAAK,CAAC;MAC1C,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACL,IAAI,CAAC,CAAC;EAEV,IAAI,CAACI,OAAO,EAAE,OAAO,IAAI;EAEzB,MAAMW,aAAa,GAAGnB,YAAY,CAACV,OAAO,CAAC;EAE3C,oBACEL,IAAA,CAAChB,QAAQ,CAACJ,IAAI;IAACuD,KAAK,EAAER,aAAc;IAAAN,QAAA,eAClCnB,KAAA,CAACtB,IAAI;MAACqC,SAAS,EAAE3B,EAAE,CAACa,aAAa,CAAC;QAAEE;MAAQ,CAAC,CAAC,EAAEY,SAAS,CAAE;MAAA,GAAKK,KAAK;MAAAD,QAAA,GAClEH,QAAQ,IAAIY,SAAS,iBACpB9B,IAAA,CAACkC,aAAa;QAACE,KAAK,EAAE,EAAG;QAACC,MAAM,EAAE,EAAG;QAACC,KAAK,EAAER;MAAU,CAAE,CAC1D,eACD9B,IAAA,CAACpB,IAAI;QAACqC,SAAS,EAAC,oDAAoD;QAAAI,QAAA,EACjEA;MAAQ,CACL,CAAC,eACPrB,IAAA,CAACnB,SAAS;QACR0D,OAAO,EAAEA,CAAA,KAAMnB,YAAY,GAAG,KAAK,CAAE;QACrCH,SAAS,EAAC,iDAAiD;QAAAI,QAAA,EAE1DU,cAAc,iBAAI/B,IAAA,CAACR,OAAO;UAAC4C,KAAK,EAAE,EAAG;UAACC,MAAM,EAAE,EAAG;UAACC,KAAK,EAAEP;QAAe,CAAE;MAAC,CACnE,CAAC;IAAA,CACR;EAAC,CACM,CAAC;AAEpB;AAEA,SAASS,KAAKA,CAAC;EACbnC,OAAO,GAAG,SAAS;EACnBa,QAAQ,GAAG,IAAI;EACfc,QAAQ;EACRb,IAAI;EACJC,YAAY;EACZC,QAAQ;EACR,GAAGC;AACO,CAAC,EAAE;EACb,oBACEtB,IAAA,CAACgB,SAAS;IACRX,OAAO,EAAEA,OAAQ;IACjBa,QAAQ,EAAEA,QAAS;IACnBc,QAAQ,EAAEA,QAAS;IACnBb,IAAI,EAAEA,IAAK;IACXC,YAAY,EAAEA,YAAa;IAAA,GACvBE,KAAK;IAAAD,QAAA,EAERA;EAAQ,CACA,CAAC;AAEhB;AAEA,SAASoB,WAAWA,CAAC;EACnBxB,SAAS;EACTZ,OAAO,GAAG,SAAS;EACnBqC,IAAI,GAAG,IAAI;EACXC,OAAO;EACPtB,QAAQ;EACR,GAAGC;AACa,CAAC,EAAE;EACnB,oBACEtB,IAAA,CAACJ,MAAM;IACL8C,IAAI,EAAEA,IAAK;IACXrC,OAAO,EAAEQ,2BAA2B,CAACR,OAAO,CAAE;IAC9CY,SAAS,EAAE3B,EAAE,CAAC2B,SAAS,CAAE;IAAA,GACrBK,KAAK;IAAAD,QAAA,EAERA;EAAQ,CACH,CAAC;AAEb;AAEA,SAASuB,UAAUA,CAAC;EAAE3B,SAAS;EAAEI;AAA+C,CAAC,EAAE;EACjF,oBACErB,IAAA,CAAClB,IAAI;IAACmC,SAAS,EAAE3B,EAAE,CAAC,+CAA+C,EAAE2B,SAAS,CAAE;IAAAI,QAAA,EAC7EA;EAAQ,CACL,CAAC;AAEX;AAEA,SAASwB,gBAAgBA,CAAC;EAAE5B,SAAS;EAAEI;AAA+C,CAAC,EAAE;EACvF,oBACErB,IAAA,CAAClB,IAAI;IAACmC,SAAS,EAAE3B,EAAE,CAAC,gCAAgC,EAAE2B,SAAS,CAAE;IAAAI,QAAA,EAC9DA;EAAQ,CACL,CAAC;AAEX;AAEA,SAASyB,aAAaA,CAAC;EAAE7B,SAAS;EAAEI,QAAQ;EAAE,GAAGC;AAA4C,CAAC,EAAE;EAC9F,oBACEtB,IAAA,CAACpB,IAAI;IACHmE,aAAa,EAAC,UAAU;IACxB9B,SAAS,EAAE3B,EAAE,CAAC,qDAAqD,EAAE2B,SAAS,CAAE;IAAA,GAC5EK,KAAK;IAAAD,QAAA,EAERA;EAAQ,CACL,CAAC;AAEX;AAEA,SAAS2B,UAAUA,CAAC;EAAE/B,SAAS;EAAEsB,OAAO;EAAEU,KAAK,GAAG,OAAO;EAAE,GAAG3B;AAAuB,CAAC,EAAE;EACtF,MAAMS,cAAc,GAAGjC,aAAa,CAAC,iBAAiB,CAAC;EAEvD,oBACEE,IAAA,CAACnB,SAAS;IACR0D,OAAO,EAAEA,OAAQ;IACjBW,kBAAkB,EAAED,KAAM;IAC1BhC,SAAS,EAAE3B,EAAE,CAAC,iDAAiD,EAAE2B,SAAS,CAAE;IAAA,GACxEK,KAAK;IAAAD,QAAA,EAERU,cAAc,iBAAI/B,IAAA,CAACR,OAAO;MAAC4C,KAAK,EAAE,EAAG;MAACC,MAAM,EAAE,EAAG;MAACC,KAAK,EAAEP;IAAe,CAAE;EAAC,CACnE,CAAC;AAEhB;AAEA,SAASoB,aAAaA,CAAA,EAAG;EACvB,MAAM;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGxD,QAAQ,CAAC,CAAC;EAEtC,oBACEG,IAAA,CAAC8C,aAAa;IAAAzB,QAAA,EACX+B,MAAM,CAACE,GAAG,CAAC,CAAC;MAAEC,EAAE;MAAEC,KAAK;MAAEC,WAAW;MAAEC,MAAM;MAAEvC,IAAI,GAAG,IAAI;MAAEd,OAAO;MAAEa;IAAS,CAAC,kBAC7EhB,KAAA,CAACsC,KAAK;MAEJnC,OAAO,EAAEA,OAAQ;MACjBa,QAAQ,EAAEA,QAAS;MACnBC,IAAI,EAAEA,IAAK;MACXC,YAAY,EAAGuC,MAAM,IAAK,CAACA,MAAM,IAAIN,OAAO,CAACE,EAAE,CAAE;MAAAlC,QAAA,gBAEjDnB,KAAA,CAACtB,IAAI;QAACqC,SAAS,EAAC,kBAAkB;QAAAI,QAAA,GAC/BmC,KAAK,iBAAIxD,IAAA,CAAC4C,UAAU;UAAAvB,QAAA,EAAEmC;QAAK,CAAa,CAAC,EACzCC,WAAW,iBAAIzD,IAAA,CAAC6C,gBAAgB;UAAAxB,QAAA,EAAEoC;QAAW,CAAmB,CAAC;MAAA,CAC9D,CAAC,EACNC,MAAM;IAAA,GAVFH,EAWA,CACR;EAAC,CACW,CAAC;AAEpB;AAEA,SACEf,KAAK,EACLC,WAAW,EACXO,UAAU,EACVH,gBAAgB,EAChBM,aAAa,EACbP,UAAU,EACVE,aAAa,EACb3C,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","useState","useEffect","useRef","View","Pressable","StyleSheet","useUnstableNativeVariable","SafeAreaInsetsContext","Text","cva","Animated","useSharedValue","useAnimatedStyle","withTiming","runOnJS","cn","loadLinearGradient","CircleCheck","CloseMd","Info","OctagonWarning","Rocket","TriangleWarning","Button","Loading","useToast","useThemeColor","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","GRADIENT_VARIANTS","GRADIENT_STYLES","colorTokens","locations","angleDeg","textClassName","pressedClassName","iconToken","solidFallbackClassName","underlayClassName","ToastContext","variant","useToastContext","override","ctx","onOpenChange","isGradientVariant","v","includes","cssAngleToPoints","rad","Math","PI","dx","sin","dy","cos","start","x","y","end","RADIUS_LG_FALLBACK","useRadiusLg","value","Number","isFinite","parsed","parseFloat","toastVariants","variants","appearance","solid","gradient","primary","secondary","success","warning","error","defaultVariants","toastSolidTextClassName","toastIconSoftFillClassName","toastActionButtonVariantMap","toastIconColorTokens","variantIcons","ACTION_SIZE_CLASSES","sm","md","lg","xl","ACTION_TEXT_SIZE","DEFAULT_TOAST_DURATION","TOAST_ENTER_MS","TOAST_EXIT_MS","ToastClose","className","onPress","label","variantProp","props","closeIconColor","accessibilityLabel","size","iconLeft","width","height","color","undefined","ToastGradientFill","style","LinearGradient","borderRadius","color0","color1","pointerEvents","absoluteFill","children","colors","ToastDefaultIcon","IconComponent","iconColor","softFill","ToastItem","showIcon","duration","open","icon","visible","setVisible","onOpenChangeRef","current","translateY","opacity","animatedStyle","transform","finished","timeout","setTimeout","clearTimeout","resolvedIcon","containerClassName","Provider","Toast","ToastAction","altText","loading","iconRight","disabled","containerStyle","_containerStyle","badge","_badge","alert","_alert","resolvedSize","isDisabled","Boolean","accessibilityRole","accessibilityState","busy","ToastTitle","ToastDescription","TOAST_VIEWPORT_EXTRA_TOP_GAP","TOAST_VIEWPORT_FALLBACK_TOP","ToastViewport","ToastProvider","topOffset","toasts","dismiss","insets","paddingTop","top","map","id","title","description","action","isOpen"],"sourceRoot":"../../../src","sources":["components/Toast.tsx"],"mappings":"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","ignoreList":[]}