react-native-sooner 1.0.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.
- package/LICENSE +20 -0
- package/README.md +376 -0
- package/lib/module/constants.js +40 -0
- package/lib/module/constants.js.map +1 -0
- package/lib/module/context.js +25 -0
- package/lib/module/context.js.map +1 -0
- package/lib/module/easings.js +9 -0
- package/lib/module/easings.js.map +1 -0
- package/lib/module/gestures.js +119 -0
- package/lib/module/gestures.js.map +1 -0
- package/lib/module/hooks.js +9 -0
- package/lib/module/hooks.js.map +1 -0
- package/lib/module/icons.js +332 -0
- package/lib/module/icons.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/state.js +200 -0
- package/lib/module/state.js.map +1 -0
- package/lib/module/theme.js +189 -0
- package/lib/module/theme.js.map +1 -0
- package/lib/module/toast.js +362 -0
- package/lib/module/toast.js.map +1 -0
- package/lib/module/toaster.js +198 -0
- package/lib/module/toaster.js.map +1 -0
- package/lib/module/types.js +4 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/use-app-state.js +13 -0
- package/lib/module/use-app-state.js.map +1 -0
- package/lib/module/use-pauseable-timer.js +18 -0
- package/lib/module/use-pauseable-timer.js.map +1 -0
- package/lib/module/use-toast-state.js +37 -0
- package/lib/module/use-toast-state.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/constants.d.ts +32 -0
- package/lib/typescript/src/constants.d.ts.map +1 -0
- package/lib/typescript/src/context.d.ts +20 -0
- package/lib/typescript/src/context.d.ts.map +1 -0
- package/lib/typescript/src/easings.d.ts +6 -0
- package/lib/typescript/src/easings.d.ts.map +1 -0
- package/lib/typescript/src/gestures.d.ts +17 -0
- package/lib/typescript/src/gestures.d.ts.map +1 -0
- package/lib/typescript/src/hooks.d.ts +5 -0
- package/lib/typescript/src/hooks.d.ts.map +1 -0
- package/lib/typescript/src/icons.d.ts +15 -0
- package/lib/typescript/src/icons.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +12 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/state.d.ts +66 -0
- package/lib/typescript/src/state.d.ts.map +1 -0
- package/lib/typescript/src/theme.d.ts +163 -0
- package/lib/typescript/src/theme.d.ts.map +1 -0
- package/lib/typescript/src/toast.d.ts +3 -0
- package/lib/typescript/src/toast.d.ts.map +1 -0
- package/lib/typescript/src/toaster.d.ts +3 -0
- package/lib/typescript/src/toaster.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +264 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/use-app-state.d.ts +3 -0
- package/lib/typescript/src/use-app-state.d.ts.map +1 -0
- package/lib/typescript/src/use-pauseable-timer.d.ts +2 -0
- package/lib/typescript/src/use-pauseable-timer.d.ts.map +1 -0
- package/lib/typescript/src/use-toast-state.d.ts +7 -0
- package/lib/typescript/src/use-toast-state.d.ts.map +1 -0
- package/package.json +152 -0
- package/src/constants.ts +44 -0
- package/src/context.tsx +38 -0
- package/src/easings.ts +7 -0
- package/src/gestures.tsx +135 -0
- package/src/hooks.ts +3 -0
- package/src/icons.tsx +227 -0
- package/src/index.tsx +48 -0
- package/src/state.ts +262 -0
- package/src/theme.ts +170 -0
- package/src/toast.tsx +429 -0
- package/src/toaster.tsx +221 -0
- package/src/types.ts +311 -0
- package/src/use-app-state.ts +15 -0
- package/src/use-pauseable-timer.ts +24 -0
- package/src/use-toast-state.ts +43 -0
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { ActivityIndicator, StyleSheet, View } from "react-native";
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
// Try to import react-native-svg, fall back to simple views if not available
|
|
7
|
+
let Svg = null;
|
|
8
|
+
let Circle = null;
|
|
9
|
+
let Path = null;
|
|
10
|
+
try {
|
|
11
|
+
const svg = require("react-native-svg");
|
|
12
|
+
Svg = svg.default || svg.Svg;
|
|
13
|
+
Circle = svg.Circle;
|
|
14
|
+
Path = svg.Path;
|
|
15
|
+
} catch {
|
|
16
|
+
// react-native-svg not installed, will use fallback icons
|
|
17
|
+
}
|
|
18
|
+
const DEFAULT_SIZE = 20;
|
|
19
|
+
export function SuccessIcon({
|
|
20
|
+
size = DEFAULT_SIZE,
|
|
21
|
+
color = "#22c55e"
|
|
22
|
+
}) {
|
|
23
|
+
if (Svg && Circle && Path) {
|
|
24
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
25
|
+
width: size,
|
|
26
|
+
height: size,
|
|
27
|
+
viewBox: "0 0 20 20",
|
|
28
|
+
fill: "none",
|
|
29
|
+
children: [/*#__PURE__*/_jsx(Circle, {
|
|
30
|
+
cx: "10",
|
|
31
|
+
cy: "10",
|
|
32
|
+
r: "9",
|
|
33
|
+
stroke: color,
|
|
34
|
+
strokeWidth: "1.5"
|
|
35
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
36
|
+
d: "M6 10.5L8.5 13L14 7",
|
|
37
|
+
stroke: color,
|
|
38
|
+
strokeWidth: "1.5",
|
|
39
|
+
strokeLinecap: "round",
|
|
40
|
+
strokeLinejoin: "round"
|
|
41
|
+
})]
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return /*#__PURE__*/_jsx(View, {
|
|
45
|
+
style: [styles.fallbackIcon, {
|
|
46
|
+
width: size,
|
|
47
|
+
height: size,
|
|
48
|
+
borderColor: color
|
|
49
|
+
}],
|
|
50
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
51
|
+
style: [styles.checkmark, {
|
|
52
|
+
borderColor: color
|
|
53
|
+
}]
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
export function ErrorIcon({
|
|
58
|
+
size = DEFAULT_SIZE,
|
|
59
|
+
color = "#ef4444"
|
|
60
|
+
}) {
|
|
61
|
+
if (Svg && Circle && Path) {
|
|
62
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
63
|
+
width: size,
|
|
64
|
+
height: size,
|
|
65
|
+
viewBox: "0 0 20 20",
|
|
66
|
+
fill: "none",
|
|
67
|
+
children: [/*#__PURE__*/_jsx(Circle, {
|
|
68
|
+
cx: "10",
|
|
69
|
+
cy: "10",
|
|
70
|
+
r: "9",
|
|
71
|
+
stroke: color,
|
|
72
|
+
strokeWidth: "1.5"
|
|
73
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
74
|
+
d: "M7 7L13 13M13 7L7 13",
|
|
75
|
+
stroke: color,
|
|
76
|
+
strokeWidth: "1.5",
|
|
77
|
+
strokeLinecap: "round"
|
|
78
|
+
})]
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
82
|
+
style: [styles.fallbackIcon, {
|
|
83
|
+
width: size,
|
|
84
|
+
height: size,
|
|
85
|
+
borderColor: color
|
|
86
|
+
}],
|
|
87
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
88
|
+
style: [styles.xMark, {
|
|
89
|
+
backgroundColor: color
|
|
90
|
+
}]
|
|
91
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
92
|
+
style: [styles.xMark, styles.xMarkRotated, {
|
|
93
|
+
backgroundColor: color
|
|
94
|
+
}]
|
|
95
|
+
})]
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
export function WarningIcon({
|
|
99
|
+
size = DEFAULT_SIZE,
|
|
100
|
+
color = "#f59e0b"
|
|
101
|
+
}) {
|
|
102
|
+
if (Svg && Path && Circle) {
|
|
103
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
104
|
+
width: size,
|
|
105
|
+
height: size,
|
|
106
|
+
viewBox: "0 0 20 20",
|
|
107
|
+
fill: "none",
|
|
108
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
109
|
+
d: "M10 2L19 18H1L10 2Z",
|
|
110
|
+
stroke: color,
|
|
111
|
+
strokeWidth: "1.5",
|
|
112
|
+
strokeLinejoin: "round"
|
|
113
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
114
|
+
d: "M10 8V11",
|
|
115
|
+
stroke: color,
|
|
116
|
+
strokeWidth: "1.5",
|
|
117
|
+
strokeLinecap: "round"
|
|
118
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
119
|
+
cx: "10",
|
|
120
|
+
cy: "14",
|
|
121
|
+
r: "0.75",
|
|
122
|
+
fill: color
|
|
123
|
+
})]
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return /*#__PURE__*/_jsx(View, {
|
|
127
|
+
style: [styles.triangleContainer, {
|
|
128
|
+
width: size,
|
|
129
|
+
height: size
|
|
130
|
+
}],
|
|
131
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
132
|
+
style: [styles.triangle, {
|
|
133
|
+
borderBottomColor: color
|
|
134
|
+
}]
|
|
135
|
+
})
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
export function InfoIcon({
|
|
139
|
+
size = DEFAULT_SIZE,
|
|
140
|
+
color = "#3b82f6"
|
|
141
|
+
}) {
|
|
142
|
+
if (Svg && Circle && Path) {
|
|
143
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
144
|
+
width: size,
|
|
145
|
+
height: size,
|
|
146
|
+
viewBox: "0 0 20 20",
|
|
147
|
+
fill: "none",
|
|
148
|
+
children: [/*#__PURE__*/_jsx(Circle, {
|
|
149
|
+
cx: "10",
|
|
150
|
+
cy: "10",
|
|
151
|
+
r: "9",
|
|
152
|
+
stroke: color,
|
|
153
|
+
strokeWidth: "1.5"
|
|
154
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
155
|
+
d: "M10 9V14",
|
|
156
|
+
stroke: color,
|
|
157
|
+
strokeWidth: "1.5",
|
|
158
|
+
strokeLinecap: "round"
|
|
159
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
160
|
+
cx: "10",
|
|
161
|
+
cy: "6.5",
|
|
162
|
+
r: "0.75",
|
|
163
|
+
fill: color
|
|
164
|
+
})]
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
168
|
+
style: [styles.fallbackIcon, {
|
|
169
|
+
width: size,
|
|
170
|
+
height: size,
|
|
171
|
+
borderColor: color
|
|
172
|
+
}],
|
|
173
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
174
|
+
style: [styles.infoLine, {
|
|
175
|
+
backgroundColor: color
|
|
176
|
+
}]
|
|
177
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
178
|
+
style: [styles.infoDot, {
|
|
179
|
+
backgroundColor: color
|
|
180
|
+
}]
|
|
181
|
+
})]
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
export function LoadingIcon({
|
|
185
|
+
size = DEFAULT_SIZE,
|
|
186
|
+
color = "#6b7280"
|
|
187
|
+
}) {
|
|
188
|
+
return /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
189
|
+
size: "small",
|
|
190
|
+
color: color,
|
|
191
|
+
style: {
|
|
192
|
+
width: size,
|
|
193
|
+
height: size
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
export function CloseIcon({
|
|
198
|
+
size = 12,
|
|
199
|
+
color = "#9ca3af"
|
|
200
|
+
}) {
|
|
201
|
+
if (Svg && Path) {
|
|
202
|
+
return /*#__PURE__*/_jsx(Svg, {
|
|
203
|
+
width: size,
|
|
204
|
+
height: size,
|
|
205
|
+
viewBox: "0 0 12 12",
|
|
206
|
+
fill: "none",
|
|
207
|
+
children: /*#__PURE__*/_jsx(Path, {
|
|
208
|
+
d: "M2 2L10 10M10 2L2 10",
|
|
209
|
+
stroke: color,
|
|
210
|
+
strokeWidth: "1.5",
|
|
211
|
+
strokeLinecap: "round"
|
|
212
|
+
})
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
216
|
+
style: {
|
|
217
|
+
width: size,
|
|
218
|
+
height: size,
|
|
219
|
+
justifyContent: "center",
|
|
220
|
+
alignItems: "center"
|
|
221
|
+
},
|
|
222
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
223
|
+
style: [styles.closeX, {
|
|
224
|
+
backgroundColor: color
|
|
225
|
+
}]
|
|
226
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
227
|
+
style: [styles.closeX, styles.closeXRotated, {
|
|
228
|
+
backgroundColor: color
|
|
229
|
+
}]
|
|
230
|
+
})]
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
export function getIcon(type, color) {
|
|
234
|
+
switch (type) {
|
|
235
|
+
case "success":
|
|
236
|
+
return /*#__PURE__*/_jsx(SuccessIcon, {
|
|
237
|
+
color: color
|
|
238
|
+
});
|
|
239
|
+
case "error":
|
|
240
|
+
return /*#__PURE__*/_jsx(ErrorIcon, {
|
|
241
|
+
color: color
|
|
242
|
+
});
|
|
243
|
+
case "warning":
|
|
244
|
+
return /*#__PURE__*/_jsx(WarningIcon, {
|
|
245
|
+
color: color
|
|
246
|
+
});
|
|
247
|
+
case "info":
|
|
248
|
+
return /*#__PURE__*/_jsx(InfoIcon, {
|
|
249
|
+
color: color
|
|
250
|
+
});
|
|
251
|
+
case "loading":
|
|
252
|
+
return /*#__PURE__*/_jsx(LoadingIcon, {
|
|
253
|
+
color: color
|
|
254
|
+
});
|
|
255
|
+
default:
|
|
256
|
+
return null;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
const styles = StyleSheet.create({
|
|
260
|
+
fallbackIcon: {
|
|
261
|
+
borderWidth: 1.5,
|
|
262
|
+
borderRadius: 100,
|
|
263
|
+
justifyContent: "center",
|
|
264
|
+
alignItems: "center"
|
|
265
|
+
},
|
|
266
|
+
checkmark: {
|
|
267
|
+
width: 6,
|
|
268
|
+
height: 10,
|
|
269
|
+
borderBottomWidth: 1.5,
|
|
270
|
+
borderRightWidth: 1.5,
|
|
271
|
+
transform: [{
|
|
272
|
+
rotate: "45deg"
|
|
273
|
+
}, {
|
|
274
|
+
translateY: -1
|
|
275
|
+
}]
|
|
276
|
+
},
|
|
277
|
+
xMark: {
|
|
278
|
+
position: "absolute",
|
|
279
|
+
width: 8,
|
|
280
|
+
height: 1.5,
|
|
281
|
+
borderRadius: 1,
|
|
282
|
+
transform: [{
|
|
283
|
+
rotate: "45deg"
|
|
284
|
+
}]
|
|
285
|
+
},
|
|
286
|
+
xMarkRotated: {
|
|
287
|
+
transform: [{
|
|
288
|
+
rotate: "-45deg"
|
|
289
|
+
}]
|
|
290
|
+
},
|
|
291
|
+
triangleContainer: {
|
|
292
|
+
justifyContent: "center",
|
|
293
|
+
alignItems: "center"
|
|
294
|
+
},
|
|
295
|
+
triangle: {
|
|
296
|
+
width: 0,
|
|
297
|
+
height: 0,
|
|
298
|
+
borderLeftWidth: 8,
|
|
299
|
+
borderRightWidth: 8,
|
|
300
|
+
borderBottomWidth: 14,
|
|
301
|
+
borderLeftColor: "transparent",
|
|
302
|
+
borderRightColor: "transparent"
|
|
303
|
+
},
|
|
304
|
+
infoLine: {
|
|
305
|
+
width: 1.5,
|
|
306
|
+
height: 6,
|
|
307
|
+
borderRadius: 1,
|
|
308
|
+
marginTop: 2
|
|
309
|
+
},
|
|
310
|
+
infoDot: {
|
|
311
|
+
width: 2,
|
|
312
|
+
height: 2,
|
|
313
|
+
borderRadius: 1,
|
|
314
|
+
position: "absolute",
|
|
315
|
+
top: 4
|
|
316
|
+
},
|
|
317
|
+
closeX: {
|
|
318
|
+
position: "absolute",
|
|
319
|
+
width: 10,
|
|
320
|
+
height: 1.5,
|
|
321
|
+
borderRadius: 1,
|
|
322
|
+
transform: [{
|
|
323
|
+
rotate: "45deg"
|
|
324
|
+
}]
|
|
325
|
+
},
|
|
326
|
+
closeXRotated: {
|
|
327
|
+
transform: [{
|
|
328
|
+
rotate: "-45deg"
|
|
329
|
+
}]
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","ActivityIndicator","StyleSheet","View","jsx","_jsx","jsxs","_jsxs","Svg","Circle","Path","svg","require","default","DEFAULT_SIZE","SuccessIcon","size","color","width","height","viewBox","fill","children","cx","cy","r","stroke","strokeWidth","d","strokeLinecap","strokeLinejoin","style","styles","fallbackIcon","borderColor","checkmark","ErrorIcon","xMark","backgroundColor","xMarkRotated","WarningIcon","triangleContainer","triangle","borderBottomColor","InfoIcon","infoLine","infoDot","LoadingIcon","CloseIcon","justifyContent","alignItems","closeX","closeXRotated","getIcon","type","create","borderWidth","borderRadius","borderBottomWidth","borderRightWidth","transform","rotate","translateY","position","borderLeftWidth","borderLeftColor","borderRightColor","marginTop","top"],"sourceRoot":"..\\..\\src","sources":["icons.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export { Toaster } from "./toaster.js";
|
|
4
|
+
export { Toast } from "./toast.js";
|
|
5
|
+
export { toast, ToastState } from "./state.js";
|
|
6
|
+
export { useSooner, useToastState, useAppState, usePauseableTimer } from "./hooks.js";
|
|
7
|
+
export { ToasterProvider, useToasterContext, useToasterContextOptional } from "./context.js";
|
|
8
|
+
export { CloseIcon, ErrorIcon, InfoIcon, LoadingIcon, SuccessIcon, WarningIcon, getIcon } from "./icons.js";
|
|
9
|
+
export { colors, richColors, getToastColors, getIconColor, resolveTheme, baseStyles } from "./theme.js";
|
|
10
|
+
export { ANIMATION_DEFAULTS, ENTRY_OFFSET, SWIPE_THRESHOLD, VELOCITY_THRESHOLD, toastDefaults } from "./constants.js";
|
|
11
|
+
export { easeOutQuad, easeOutCubic, easeInOutCubic, easeOutCirc, easeOutExpo } from "./easings.js";
|
|
12
|
+
export { SwipeHandler, useSwipeGesture } from "./gestures.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Toaster","Toast","toast","ToastState","useSooner","useToastState","useAppState","usePauseableTimer","ToasterProvider","useToasterContext","useToasterContextOptional","CloseIcon","ErrorIcon","InfoIcon","LoadingIcon","SuccessIcon","WarningIcon","getIcon","colors","richColors","getToastColors","getIconColor","resolveTheme","baseStyles","ANIMATION_DEFAULTS","ENTRY_OFFSET","SWIPE_THRESHOLD","VELOCITY_THRESHOLD","toastDefaults","easeOutQuad","easeOutCubic","easeInOutCubic","easeOutCirc","easeOutExpo","SwipeHandler","useSwipeGesture"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,cAAW;AACnC,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,KAAK,EAAEC,UAAU,QAAQ,YAAS;AAC3C,SAASC,SAAS,EAAEC,aAAa,EAAEC,WAAW,EAAEC,iBAAiB,QAAQ,YAAS;AAClF,SAASC,eAAe,EAAEC,iBAAiB,EAAEC,yBAAyB,QAAQ,cAAW;AAsBzF,SACEC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,WAAW,EACXC,WAAW,EACXC,OAAO,QACF,YAAS;AAEhB,SAASC,MAAM,EAAEC,UAAU,EAAEC,cAAc,EAAEC,YAAY,EAAEC,YAAY,EAAEC,UAAU,QAAQ,YAAS;AAEpG,SACEC,kBAAkB,EAClBC,YAAY,EACZC,eAAe,EACfC,kBAAkB,EAClBC,aAAa,QACR,gBAAa;AAEpB,SAASC,WAAW,EAAEC,YAAY,EAAEC,cAAc,EAAEC,WAAW,EAAEC,WAAW,QAAQ,cAAW;AAC/F,SAASC,YAAY,EAAEC,eAAe,QAAQ,eAAY","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { DISMISSED_CACHE_CLEANUP_THRESHOLD, DISMISSED_CACHE_MAX_SIZE } from "./constants.js";
|
|
4
|
+
let toastCount = 0;
|
|
5
|
+
function generateId() {
|
|
6
|
+
toastCount = (toastCount + 1) % Number.MAX_SAFE_INTEGER;
|
|
7
|
+
return `sooner-${toastCount}-${Date.now()}`;
|
|
8
|
+
}
|
|
9
|
+
class ToastStateManager {
|
|
10
|
+
toasts = [];
|
|
11
|
+
subscribers = new Set();
|
|
12
|
+
dismissSubscribers = new Set();
|
|
13
|
+
updateSubscribers = new Set();
|
|
14
|
+
dismissedToasts = new Map();
|
|
15
|
+
subscribe(callback) {
|
|
16
|
+
this.subscribers.add(callback);
|
|
17
|
+
return () => this.subscribers.delete(callback);
|
|
18
|
+
}
|
|
19
|
+
subscribeToDismiss(callback) {
|
|
20
|
+
this.dismissSubscribers.add(callback);
|
|
21
|
+
return () => this.dismissSubscribers.delete(callback);
|
|
22
|
+
}
|
|
23
|
+
subscribeToUpdate(callback) {
|
|
24
|
+
this.updateSubscribers.add(callback);
|
|
25
|
+
return () => this.updateSubscribers.delete(callback);
|
|
26
|
+
}
|
|
27
|
+
publish(toast) {
|
|
28
|
+
this.subscribers.forEach(subscriber => subscriber(toast));
|
|
29
|
+
}
|
|
30
|
+
publishDismiss(toastId) {
|
|
31
|
+
this.dismissSubscribers.forEach(subscriber => subscriber(toastId));
|
|
32
|
+
}
|
|
33
|
+
publishUpdate(toast) {
|
|
34
|
+
this.updateSubscribers.forEach(subscriber => subscriber(toast));
|
|
35
|
+
}
|
|
36
|
+
cleanupDismissedCache() {
|
|
37
|
+
if (this.dismissedToasts.size <= DISMISSED_CACHE_MAX_SIZE) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Sort by timestamp (oldest first) and remove oldest entries
|
|
42
|
+
const entries = Array.from(this.dismissedToasts.entries());
|
|
43
|
+
entries.sort((a, b) => a[1] - b[1]);
|
|
44
|
+
const toRemove = entries.slice(0, DISMISSED_CACHE_CLEANUP_THRESHOLD);
|
|
45
|
+
toRemove.forEach(([id]) => this.dismissedToasts.delete(id));
|
|
46
|
+
}
|
|
47
|
+
create(title, type = "default", options) {
|
|
48
|
+
const id = options?.id ?? generateId();
|
|
49
|
+
|
|
50
|
+
// Skip if this toast was recently dismissed (prevents re-creation loops)
|
|
51
|
+
if (this.dismissedToasts.has(id)) {
|
|
52
|
+
return id;
|
|
53
|
+
}
|
|
54
|
+
const toast = {
|
|
55
|
+
...options,
|
|
56
|
+
id,
|
|
57
|
+
type,
|
|
58
|
+
title,
|
|
59
|
+
createdAt: Date.now()
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// Update existing toast or add new one
|
|
63
|
+
const existingIndex = this.toasts.findIndex(t => t.id === id);
|
|
64
|
+
if (existingIndex > -1) {
|
|
65
|
+
this.toasts[existingIndex] = toast;
|
|
66
|
+
this.publishUpdate(toast);
|
|
67
|
+
} else {
|
|
68
|
+
this.toasts.push(toast);
|
|
69
|
+
this.publish(toast);
|
|
70
|
+
}
|
|
71
|
+
return id;
|
|
72
|
+
}
|
|
73
|
+
update(toastId, options) {
|
|
74
|
+
const index = this.toasts.findIndex(t => t.id === toastId);
|
|
75
|
+
if (index === -1) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
const existingToast = this.toasts[index];
|
|
79
|
+
const updatedToast = {
|
|
80
|
+
...existingToast,
|
|
81
|
+
...options,
|
|
82
|
+
id: toastId,
|
|
83
|
+
// Ensure ID isn't changed
|
|
84
|
+
type: options.type ?? existingToast.type,
|
|
85
|
+
// Ensure type is always defined
|
|
86
|
+
title: options.title ?? existingToast.title,
|
|
87
|
+
// Ensure title is always defined
|
|
88
|
+
createdAt: existingToast.createdAt // Preserve original timestamp
|
|
89
|
+
};
|
|
90
|
+
this.toasts[index] = updatedToast;
|
|
91
|
+
this.publishUpdate(updatedToast);
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
dismiss(toastId) {
|
|
95
|
+
const now = Date.now();
|
|
96
|
+
if (toastId === undefined) {
|
|
97
|
+
for (const toast of this.toasts) {
|
|
98
|
+
this.dismissedToasts.set(toast.id, now);
|
|
99
|
+
toast.onDismiss?.(toast);
|
|
100
|
+
}
|
|
101
|
+
this.toasts = [];
|
|
102
|
+
} else {
|
|
103
|
+
const toast = this.toasts.find(t => t.id === toastId);
|
|
104
|
+
if (toast) {
|
|
105
|
+
toast.onDismiss?.(toast);
|
|
106
|
+
}
|
|
107
|
+
this.dismissedToasts.set(toastId, now);
|
|
108
|
+
this.toasts = this.toasts.filter(t => t.id !== toastId);
|
|
109
|
+
}
|
|
110
|
+
this.publishDismiss(toastId);
|
|
111
|
+
this.cleanupDismissedCache();
|
|
112
|
+
}
|
|
113
|
+
getToasts() {
|
|
114
|
+
return [...this.toasts];
|
|
115
|
+
}
|
|
116
|
+
getToast(toastId) {
|
|
117
|
+
return this.toasts.find(t => t.id === toastId);
|
|
118
|
+
}
|
|
119
|
+
isActive(toastId) {
|
|
120
|
+
return this.toasts.some(t => t.id === toastId);
|
|
121
|
+
}
|
|
122
|
+
async promise(promise, data, options) {
|
|
123
|
+
const id = this.create(data.loading, "loading", {
|
|
124
|
+
...options,
|
|
125
|
+
duration: Number.POSITIVE_INFINITY,
|
|
126
|
+
dismissible: false
|
|
127
|
+
});
|
|
128
|
+
const promiseToExecute = typeof promise === "function" ? promise() : promise;
|
|
129
|
+
try {
|
|
130
|
+
const result = await promiseToExecute;
|
|
131
|
+
const successMessage = typeof data.success === "function" ? data.success(result) : data.success;
|
|
132
|
+
this.update(id, {
|
|
133
|
+
type: "success",
|
|
134
|
+
title: successMessage,
|
|
135
|
+
dismissible: true,
|
|
136
|
+
duration: options?.duration
|
|
137
|
+
});
|
|
138
|
+
return result;
|
|
139
|
+
} catch (error) {
|
|
140
|
+
const errorMessage = typeof data.error === "function" ? data.error(error) : data.error;
|
|
141
|
+
this.update(id, {
|
|
142
|
+
type: "error",
|
|
143
|
+
title: errorMessage,
|
|
144
|
+
dismissible: true,
|
|
145
|
+
duration: options?.duration
|
|
146
|
+
});
|
|
147
|
+
throw error;
|
|
148
|
+
} finally {
|
|
149
|
+
data.finally?.();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
clearDismissedHistory() {
|
|
153
|
+
this.dismissedToasts.clear();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
export const ToastState = new ToastStateManager();
|
|
157
|
+
function createToast(type) {
|
|
158
|
+
return (title, options) => ToastState.create(title, type, options);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Main toast API
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* // Basic usage
|
|
166
|
+
* toast('Hello World');
|
|
167
|
+
*
|
|
168
|
+
* // With variants
|
|
169
|
+
* toast.success('Success!');
|
|
170
|
+
* toast.error('Error!');
|
|
171
|
+
*
|
|
172
|
+
* // With options
|
|
173
|
+
* toast('Message', { duration: 5000 });
|
|
174
|
+
*
|
|
175
|
+
* // Update existing toast
|
|
176
|
+
* const id = toast.loading('Loading...');
|
|
177
|
+
* toast.update(id, { title: 'Done!', type: 'success' });
|
|
178
|
+
*
|
|
179
|
+
* // Promise toast
|
|
180
|
+
* toast.promise(fetchData(), {
|
|
181
|
+
* loading: 'Loading...',
|
|
182
|
+
* success: 'Loaded!',
|
|
183
|
+
* error: 'Failed',
|
|
184
|
+
* });
|
|
185
|
+
*/
|
|
186
|
+
export const toast = Object.assign((title, options) => ToastState.create(title, "default", options), {
|
|
187
|
+
success: createToast("success"),
|
|
188
|
+
error: createToast("error"),
|
|
189
|
+
warning: createToast("warning"),
|
|
190
|
+
info: createToast("info"),
|
|
191
|
+
loading: createToast("loading"),
|
|
192
|
+
promise: (promise, data, options) => ToastState.promise(promise, data, options),
|
|
193
|
+
update: (toastId, options) => ToastState.update(toastId, options),
|
|
194
|
+
dismiss: toastId => ToastState.dismiss(toastId),
|
|
195
|
+
getToasts: () => ToastState.getToasts(),
|
|
196
|
+
getToast: toastId => ToastState.getToast(toastId),
|
|
197
|
+
isActive: toastId => ToastState.isActive(toastId),
|
|
198
|
+
custom: (title, options) => ToastState.create(title, "default", options)
|
|
199
|
+
});
|
|
200
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DISMISSED_CACHE_CLEANUP_THRESHOLD","DISMISSED_CACHE_MAX_SIZE","toastCount","generateId","Number","MAX_SAFE_INTEGER","Date","now","ToastStateManager","toasts","subscribers","Set","dismissSubscribers","updateSubscribers","dismissedToasts","Map","subscribe","callback","add","delete","subscribeToDismiss","subscribeToUpdate","publish","toast","forEach","subscriber","publishDismiss","toastId","publishUpdate","cleanupDismissedCache","size","entries","Array","from","sort","a","b","toRemove","slice","id","create","title","type","options","has","createdAt","existingIndex","findIndex","t","push","update","index","existingToast","updatedToast","dismiss","undefined","set","onDismiss","find","filter","getToasts","getToast","isActive","some","promise","data","loading","duration","POSITIVE_INFINITY","dismissible","promiseToExecute","result","successMessage","success","error","errorMessage","finally","clearDismissedHistory","clear","ToastState","createToast","Object","assign","warning","info","custom"],"sourceRoot":"..\\..\\src","sources":["state.ts"],"mappings":"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","ignoreList":[]}
|