@tamagui/v2-toast 2.0.0-1769464493958
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Toast.cjs +170 -0
- package/dist/cjs/Toast.js +119 -0
- package/dist/cjs/Toast.js.map +6 -0
- package/dist/cjs/Toast.native.js +174 -0
- package/dist/cjs/Toast.native.js.map +1 -0
- package/dist/cjs/ToastAnnounce.cjs +97 -0
- package/dist/cjs/ToastAnnounce.js +72 -0
- package/dist/cjs/ToastAnnounce.js.map +6 -0
- package/dist/cjs/ToastAnnounce.native.js +105 -0
- package/dist/cjs/ToastAnnounce.native.js.map +1 -0
- package/dist/cjs/ToastImperative.cjs +100 -0
- package/dist/cjs/ToastImperative.js +71 -0
- package/dist/cjs/ToastImperative.js.map +6 -0
- package/dist/cjs/ToastImperative.native.js +122 -0
- package/dist/cjs/ToastImperative.native.js.map +1 -0
- package/dist/cjs/ToastImpl.cjs +292 -0
- package/dist/cjs/ToastImpl.js +227 -0
- package/dist/cjs/ToastImpl.js.map +6 -0
- package/dist/cjs/ToastImpl.native.js +327 -0
- package/dist/cjs/ToastImpl.native.js.map +1 -0
- package/dist/cjs/ToastItem.cjs +466 -0
- package/dist/cjs/ToastItem.js +356 -0
- package/dist/cjs/ToastItem.js.map +6 -0
- package/dist/cjs/ToastItem.native.js +547 -0
- package/dist/cjs/ToastItem.native.js.map +1 -0
- package/dist/cjs/ToastPortal.cjs +44 -0
- package/dist/cjs/ToastPortal.js +26 -0
- package/dist/cjs/ToastPortal.js.map +6 -0
- package/dist/cjs/ToastPortal.native.js +47 -0
- package/dist/cjs/ToastPortal.native.js.map +1 -0
- package/dist/cjs/ToastProvider.cjs +146 -0
- package/dist/cjs/ToastProvider.js +105 -0
- package/dist/cjs/ToastProvider.js.map +6 -0
- package/dist/cjs/ToastProvider.native.js +159 -0
- package/dist/cjs/ToastProvider.native.js.map +1 -0
- package/dist/cjs/ToastState.cjs +248 -0
- package/dist/cjs/ToastState.js +160 -0
- package/dist/cjs/ToastState.js.map +6 -0
- package/dist/cjs/ToastState.native.js +257 -0
- package/dist/cjs/ToastState.native.js.map +1 -0
- package/dist/cjs/ToastViewport.cjs +278 -0
- package/dist/cjs/ToastViewport.js +263 -0
- package/dist/cjs/ToastViewport.js.map +6 -0
- package/dist/cjs/ToastViewport.native.js +316 -0
- package/dist/cjs/ToastViewport.native.js.map +1 -0
- package/dist/cjs/Toaster.cjs +219 -0
- package/dist/cjs/Toaster.js +177 -0
- package/dist/cjs/Toaster.js.map +6 -0
- package/dist/cjs/Toaster.native.js +279 -0
- package/dist/cjs/Toaster.native.js.map +1 -0
- package/dist/cjs/constants.cjs +28 -0
- package/dist/cjs/constants.js +22 -0
- package/dist/cjs/constants.js.map +6 -0
- package/dist/cjs/constants.native.js +31 -0
- package/dist/cjs/constants.native.js.map +1 -0
- package/dist/cjs/createNativeToast.cjs +51 -0
- package/dist/cjs/createNativeToast.js +44 -0
- package/dist/cjs/createNativeToast.js.map +6 -0
- package/dist/cjs/createNativeToast.native.js +47 -0
- package/dist/cjs/createNativeToast.native.js.map +1 -0
- package/dist/cjs/index.cjs +28 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +31 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.js +14 -0
- package/dist/cjs/types.js.map +6 -0
- package/dist/cjs/types.native.js +19 -0
- package/dist/cjs/types.native.js.map +1 -0
- package/dist/cjs/useDragGesture.cjs +129 -0
- package/dist/cjs/useDragGesture.js +100 -0
- package/dist/cjs/useDragGesture.js.map +6 -0
- package/dist/cjs/useDragGesture.native.js +146 -0
- package/dist/cjs/useDragGesture.native.js.map +1 -0
- package/dist/esm/Toast.js +107 -0
- package/dist/esm/Toast.js.map +6 -0
- package/dist/esm/Toast.mjs +131 -0
- package/dist/esm/Toast.mjs.map +1 -0
- package/dist/esm/Toast.native.js +132 -0
- package/dist/esm/Toast.native.js.map +1 -0
- package/dist/esm/ToastAnnounce.js +55 -0
- package/dist/esm/ToastAnnounce.js.map +6 -0
- package/dist/esm/ToastAnnounce.mjs +62 -0
- package/dist/esm/ToastAnnounce.mjs.map +1 -0
- package/dist/esm/ToastAnnounce.native.js +67 -0
- package/dist/esm/ToastAnnounce.native.js.map +1 -0
- package/dist/esm/ToastImperative.js +50 -0
- package/dist/esm/ToastImperative.js.map +6 -0
- package/dist/esm/ToastImperative.mjs +63 -0
- package/dist/esm/ToastImperative.mjs.map +1 -0
- package/dist/esm/ToastImperative.native.js +82 -0
- package/dist/esm/ToastImperative.native.js.map +1 -0
- package/dist/esm/ToastImpl.js +225 -0
- package/dist/esm/ToastImpl.js.map +6 -0
- package/dist/esm/ToastImpl.mjs +256 -0
- package/dist/esm/ToastImpl.mjs.map +1 -0
- package/dist/esm/ToastImpl.native.js +288 -0
- package/dist/esm/ToastImpl.native.js.map +1 -0
- package/dist/esm/ToastItem.js +339 -0
- package/dist/esm/ToastItem.js.map +6 -0
- package/dist/esm/ToastItem.mjs +432 -0
- package/dist/esm/ToastItem.mjs.map +1 -0
- package/dist/esm/ToastItem.native.js +510 -0
- package/dist/esm/ToastItem.native.js.map +1 -0
- package/dist/esm/ToastPortal.js +13 -0
- package/dist/esm/ToastPortal.js.map +6 -0
- package/dist/esm/ToastPortal.mjs +21 -0
- package/dist/esm/ToastPortal.mjs.map +1 -0
- package/dist/esm/ToastPortal.native.js +21 -0
- package/dist/esm/ToastPortal.native.js.map +1 -0
- package/dist/esm/ToastProvider.js +87 -0
- package/dist/esm/ToastProvider.js.map +6 -0
- package/dist/esm/ToastProvider.mjs +108 -0
- package/dist/esm/ToastProvider.mjs.map +1 -0
- package/dist/esm/ToastProvider.native.js +118 -0
- package/dist/esm/ToastProvider.native.js.map +1 -0
- package/dist/esm/ToastState.js +144 -0
- package/dist/esm/ToastState.js.map +6 -0
- package/dist/esm/ToastState.mjs +224 -0
- package/dist/esm/ToastState.mjs.map +1 -0
- package/dist/esm/ToastState.native.js +230 -0
- package/dist/esm/ToastState.native.js.map +1 -0
- package/dist/esm/ToastViewport.js +250 -0
- package/dist/esm/ToastViewport.js.map +6 -0
- package/dist/esm/ToastViewport.mjs +241 -0
- package/dist/esm/ToastViewport.mjs.map +1 -0
- package/dist/esm/ToastViewport.native.js +276 -0
- package/dist/esm/ToastViewport.native.js.map +1 -0
- package/dist/esm/Toaster.js +160 -0
- package/dist/esm/Toaster.js.map +6 -0
- package/dist/esm/Toaster.mjs +185 -0
- package/dist/esm/Toaster.mjs.map +1 -0
- package/dist/esm/Toaster.native.js +242 -0
- package/dist/esm/Toaster.native.js.map +1 -0
- package/dist/esm/constants.js +6 -0
- package/dist/esm/constants.js.map +6 -0
- package/dist/esm/constants.mjs +4 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/constants.native.js +4 -0
- package/dist/esm/constants.native.js.map +1 -0
- package/dist/esm/createNativeToast.js +28 -0
- package/dist/esm/createNativeToast.js.map +6 -0
- package/dist/esm/createNativeToast.mjs +27 -0
- package/dist/esm/createNativeToast.mjs.map +1 -0
- package/dist/esm/createNativeToast.native.js +20 -0
- package/dist/esm/createNativeToast.native.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +4 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +4 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +6 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +2 -0
- package/dist/esm/types.native.js.map +1 -0
- package/dist/esm/useDragGesture.js +76 -0
- package/dist/esm/useDragGesture.js.map +6 -0
- package/dist/esm/useDragGesture.mjs +95 -0
- package/dist/esm/useDragGesture.mjs.map +1 -0
- package/dist/esm/useDragGesture.native.js +109 -0
- package/dist/esm/useDragGesture.native.js.map +1 -0
- package/dist/jsx/Toast.js +107 -0
- package/dist/jsx/Toast.js.map +6 -0
- package/dist/jsx/Toast.mjs +131 -0
- package/dist/jsx/Toast.mjs.map +1 -0
- package/dist/jsx/Toast.native.js +174 -0
- package/dist/jsx/Toast.native.js.map +1 -0
- package/dist/jsx/ToastAnnounce.js +55 -0
- package/dist/jsx/ToastAnnounce.js.map +6 -0
- package/dist/jsx/ToastAnnounce.mjs +62 -0
- package/dist/jsx/ToastAnnounce.mjs.map +1 -0
- package/dist/jsx/ToastAnnounce.native.js +105 -0
- package/dist/jsx/ToastAnnounce.native.js.map +1 -0
- package/dist/jsx/ToastImperative.js +50 -0
- package/dist/jsx/ToastImperative.js.map +6 -0
- package/dist/jsx/ToastImperative.mjs +63 -0
- package/dist/jsx/ToastImperative.mjs.map +1 -0
- package/dist/jsx/ToastImperative.native.js +122 -0
- package/dist/jsx/ToastImperative.native.js.map +1 -0
- package/dist/jsx/ToastImpl.js +225 -0
- package/dist/jsx/ToastImpl.js.map +6 -0
- package/dist/jsx/ToastImpl.mjs +256 -0
- package/dist/jsx/ToastImpl.mjs.map +1 -0
- package/dist/jsx/ToastImpl.native.js +327 -0
- package/dist/jsx/ToastImpl.native.js.map +1 -0
- package/dist/jsx/ToastItem.js +339 -0
- package/dist/jsx/ToastItem.js.map +6 -0
- package/dist/jsx/ToastItem.mjs +432 -0
- package/dist/jsx/ToastItem.mjs.map +1 -0
- package/dist/jsx/ToastItem.native.js +547 -0
- package/dist/jsx/ToastItem.native.js.map +1 -0
- package/dist/jsx/ToastPortal.js +13 -0
- package/dist/jsx/ToastPortal.js.map +6 -0
- package/dist/jsx/ToastPortal.mjs +21 -0
- package/dist/jsx/ToastPortal.mjs.map +1 -0
- package/dist/jsx/ToastPortal.native.js +47 -0
- package/dist/jsx/ToastPortal.native.js.map +1 -0
- package/dist/jsx/ToastProvider.js +87 -0
- package/dist/jsx/ToastProvider.js.map +6 -0
- package/dist/jsx/ToastProvider.mjs +108 -0
- package/dist/jsx/ToastProvider.mjs.map +1 -0
- package/dist/jsx/ToastProvider.native.js +159 -0
- package/dist/jsx/ToastProvider.native.js.map +1 -0
- package/dist/jsx/ToastState.js +144 -0
- package/dist/jsx/ToastState.js.map +6 -0
- package/dist/jsx/ToastState.mjs +224 -0
- package/dist/jsx/ToastState.mjs.map +1 -0
- package/dist/jsx/ToastState.native.js +257 -0
- package/dist/jsx/ToastState.native.js.map +1 -0
- package/dist/jsx/ToastViewport.js +250 -0
- package/dist/jsx/ToastViewport.js.map +6 -0
- package/dist/jsx/ToastViewport.mjs +241 -0
- package/dist/jsx/ToastViewport.mjs.map +1 -0
- package/dist/jsx/ToastViewport.native.js +316 -0
- package/dist/jsx/ToastViewport.native.js.map +1 -0
- package/dist/jsx/Toaster.js +160 -0
- package/dist/jsx/Toaster.js.map +6 -0
- package/dist/jsx/Toaster.mjs +185 -0
- package/dist/jsx/Toaster.mjs.map +1 -0
- package/dist/jsx/Toaster.native.js +279 -0
- package/dist/jsx/Toaster.native.js.map +1 -0
- package/dist/jsx/constants.js +6 -0
- package/dist/jsx/constants.js.map +6 -0
- package/dist/jsx/constants.mjs +4 -0
- package/dist/jsx/constants.mjs.map +1 -0
- package/dist/jsx/constants.native.js +31 -0
- package/dist/jsx/constants.native.js.map +1 -0
- package/dist/jsx/createNativeToast.js +28 -0
- package/dist/jsx/createNativeToast.js.map +6 -0
- package/dist/jsx/createNativeToast.mjs +27 -0
- package/dist/jsx/createNativeToast.mjs.map +1 -0
- package/dist/jsx/createNativeToast.native.js +47 -0
- package/dist/jsx/createNativeToast.native.js.map +1 -0
- package/dist/jsx/index.js +7 -0
- package/dist/jsx/index.js.map +6 -0
- package/dist/jsx/index.mjs +4 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +31 -0
- package/dist/jsx/index.native.js.map +1 -0
- package/dist/jsx/types.js +1 -0
- package/dist/jsx/types.js.map +6 -0
- package/dist/jsx/types.mjs +2 -0
- package/dist/jsx/types.mjs.map +1 -0
- package/dist/jsx/types.native.js +19 -0
- package/dist/jsx/types.native.js.map +1 -0
- package/dist/jsx/useDragGesture.js +76 -0
- package/dist/jsx/useDragGesture.js.map +6 -0
- package/dist/jsx/useDragGesture.mjs +95 -0
- package/dist/jsx/useDragGesture.mjs.map +1 -0
- package/dist/jsx/useDragGesture.native.js +146 -0
- package/dist/jsx/useDragGesture.native.js.map +1 -0
- package/package.json +77 -0
- package/src/Toast.tsx +219 -0
- package/src/ToastAnnounce.tsx +102 -0
- package/src/ToastImperative.tsx +190 -0
- package/src/ToastImpl.tsx +503 -0
- package/src/ToastItem.tsx +694 -0
- package/src/ToastPortal.tsx +19 -0
- package/src/ToastProvider.tsx +197 -0
- package/src/ToastState.ts +397 -0
- package/src/ToastViewport.tsx +430 -0
- package/src/Toaster.tsx +445 -0
- package/src/constants.ts +2 -0
- package/src/createNativeToast.native.tsx +22 -0
- package/src/createNativeToast.tsx +48 -0
- package/src/index.ts +17 -0
- package/src/types.ts +71 -0
- package/src/useDragGesture.native.ts +199 -0
- package/src/useDragGesture.ts +218 -0
- package/types/Toast.d.ts +84 -0
- package/types/Toast.d.ts.map +1 -0
- package/types/ToastAnnounce.d.ts +18 -0
- package/types/ToastAnnounce.d.ts.map +1 -0
- package/types/ToastImperative.d.ts +95 -0
- package/types/ToastImperative.d.ts.map +1 -0
- package/types/ToastImpl.d.ts +109 -0
- package/types/ToastImpl.d.ts.map +1 -0
- package/types/ToastItem.d.ts +34 -0
- package/types/ToastItem.d.ts.map +1 -0
- package/types/ToastPortal.d.ts +8 -0
- package/types/ToastPortal.d.ts.map +1 -0
- package/types/ToastProvider.d.ts +92 -0
- package/types/ToastProvider.d.ts.map +1 -0
- package/types/ToastState.d.ts +177 -0
- package/types/ToastState.d.ts.map +1 -0
- package/types/ToastViewport.d.ts +75 -0
- package/types/ToastViewport.d.ts.map +1 -0
- package/types/Toaster.d.ts +120 -0
- package/types/Toaster.d.ts.map +1 -0
- package/types/constants.d.ts +3 -0
- package/types/constants.d.ts.map +1 -0
- package/types/createNativeToast.d.ts +4 -0
- package/types/createNativeToast.d.ts.map +1 -0
- package/types/createNativeToast.native.d.ts +4 -0
- package/types/createNativeToast.native.d.ts.map +1 -0
- package/types/index.d.ts +7 -0
- package/types/index.d.ts.map +1 -0
- package/types/types.d.ts +61 -0
- package/types/types.d.ts.map +1 -0
- package/types/useDragGesture.d.ts +32 -0
- package/types/useDragGesture.d.ts.map +1 -0
- package/types/useDragGesture.native.d.ts +26 -0
- package/types/useDragGesture.native.d.ts.map +1 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import type { GetProps, TamaguiElement } from '@tamagui/core';
|
|
2
|
+
import type { DismissableProps } from '@tamagui/dismissable';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import type { GestureResponderEvent } from 'react-native';
|
|
5
|
+
import type { ScopedProps } from './ToastProvider';
|
|
6
|
+
declare const ToastImplFrame: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {
|
|
7
|
+
elevation?: number | import("@tamagui/core").SizeTokens | undefined;
|
|
8
|
+
fullscreen?: boolean | undefined;
|
|
9
|
+
unstyled?: boolean | undefined;
|
|
10
|
+
}, import("@tamagui/core").StaticConfigPublic>;
|
|
11
|
+
type ToastProps = Omit<ToastImplProps, keyof ToastImplPrivateProps>;
|
|
12
|
+
type SwipeEvent = GestureResponderEvent;
|
|
13
|
+
declare const useToastInteractiveContext: (scope?: string) => {
|
|
14
|
+
onClose(): void;
|
|
15
|
+
};
|
|
16
|
+
type ToastImplPrivateProps = {
|
|
17
|
+
open?: boolean;
|
|
18
|
+
onClose(): void;
|
|
19
|
+
};
|
|
20
|
+
type ToastImplFrameProps = GetProps<typeof ToastImplFrame>;
|
|
21
|
+
export type ToastExtraProps = {
|
|
22
|
+
/**
|
|
23
|
+
* The controlled open state of the dialog. Must be used in conjunction with `onOpenChange`.
|
|
24
|
+
*/
|
|
25
|
+
open?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* The open state of the dialog when it is initially rendered. Use when you do not need to control its open state.
|
|
28
|
+
*/
|
|
29
|
+
defaultOpen?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Event handler called when the open state of the dialog changes.
|
|
32
|
+
*/
|
|
33
|
+
onOpenChange?(open: boolean): void;
|
|
34
|
+
/**
|
|
35
|
+
* Used to force mounting when more control is needed. Useful when
|
|
36
|
+
* controlling animation with React animation libraries.
|
|
37
|
+
*/
|
|
38
|
+
forceMount?: true;
|
|
39
|
+
/**
|
|
40
|
+
* Control the sensitivity of the toast for accessibility purposes.
|
|
41
|
+
* For toasts that are the result of a user action, choose foreground. Toasts generated from background tasks should use background.
|
|
42
|
+
*/
|
|
43
|
+
type?: 'foreground' | 'background';
|
|
44
|
+
/**
|
|
45
|
+
* Time in milliseconds that toast should remain visible for. Overrides value given to `ToastProvider`.
|
|
46
|
+
*/
|
|
47
|
+
duration?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Event handler called when the escape key is down. It can be prevented by calling `event.preventDefault`.
|
|
50
|
+
*/
|
|
51
|
+
onEscapeKeyDown?: DismissableProps['onEscapeKeyDown'];
|
|
52
|
+
/**
|
|
53
|
+
* Event handler called when the dismiss timer is paused.
|
|
54
|
+
* On web, this occurs when the pointer is moved over the viewport, the viewport is focused or when the window is blurred.
|
|
55
|
+
* On mobile, this occurs when the toast is touched.
|
|
56
|
+
*/
|
|
57
|
+
onPause?(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Event handler called when the dismiss timer is resumed.
|
|
60
|
+
* On web, this occurs when the pointer is moved away from the viewport, the viewport is blurred or when the window is focused.
|
|
61
|
+
* On mobile, this occurs when the toast is released.
|
|
62
|
+
*/
|
|
63
|
+
onResume?(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Event handler called when starting a swipe interaction. It can be prevented by calling `event.preventDefault`.
|
|
66
|
+
*/
|
|
67
|
+
onSwipeStart?(event: SwipeEvent): void;
|
|
68
|
+
/**
|
|
69
|
+
* Event handler called during a swipe interaction. It can be prevented by calling `event.preventDefault`.
|
|
70
|
+
*/
|
|
71
|
+
onSwipeMove?(event: SwipeEvent): void;
|
|
72
|
+
/**
|
|
73
|
+
* Event handler called at the cancellation of a swipe interaction. It can be prevented by calling `event.preventDefault`.
|
|
74
|
+
*/
|
|
75
|
+
onSwipeCancel?(event: SwipeEvent): void;
|
|
76
|
+
/**
|
|
77
|
+
* Event handler called at the end of a swipe interaction. It can be prevented by calling `event.preventDefault`.
|
|
78
|
+
*/
|
|
79
|
+
onSwipeEnd?(event: SwipeEvent): void;
|
|
80
|
+
/**
|
|
81
|
+
* The viewport's name to send the toast to. Used when using multiple viewports and want to forward toasts to different ones.
|
|
82
|
+
*
|
|
83
|
+
* @default "default"
|
|
84
|
+
*/
|
|
85
|
+
viewportName?: string;
|
|
86
|
+
/**
|
|
87
|
+
*
|
|
88
|
+
*/
|
|
89
|
+
id?: string;
|
|
90
|
+
};
|
|
91
|
+
type ToastImplProps = ScopedProps<ToastImplPrivateProps & ToastImplFrameProps & ToastExtraProps>;
|
|
92
|
+
declare const ToastImpl: React.ForwardRefExoticComponent<Omit<ToastImplPrivateProps & Omit<import("@tamagui/core").RNTamaguiViewNonStyleProps, "elevation" | keyof import("@tamagui/core").StackStyleBase | "fullscreen" | "unstyled"> & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase> & {
|
|
93
|
+
elevation?: number | import("@tamagui/core").SizeTokens | undefined;
|
|
94
|
+
fullscreen?: boolean | undefined;
|
|
95
|
+
unstyled?: boolean | undefined;
|
|
96
|
+
} & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase>> & import("@tamagui/core").WithPseudoProps<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase> & {
|
|
97
|
+
elevation?: number | import("@tamagui/core").SizeTokens | undefined;
|
|
98
|
+
fullscreen?: boolean | undefined;
|
|
99
|
+
unstyled?: boolean | undefined;
|
|
100
|
+
} & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase>>> & import("@tamagui/core").WithMediaProps<import("@tamagui/core").WithThemeShorthandsAndPseudos<import("@tamagui/core").StackStyleBase, {
|
|
101
|
+
elevation?: number | import("@tamagui/core").SizeTokens | undefined;
|
|
102
|
+
fullscreen?: boolean | undefined;
|
|
103
|
+
unstyled?: boolean | undefined;
|
|
104
|
+
}>> & ToastExtraProps, "scope"> & {
|
|
105
|
+
scope?: import("./ToastProvider").ToastScopes;
|
|
106
|
+
} & React.RefAttributes<TamaguiElement>>;
|
|
107
|
+
export { ToastImpl, ToastImplFrame, useToastInteractiveContext, type ToastImplProps };
|
|
108
|
+
export type { ToastProps };
|
|
109
|
+
//# sourceMappingURL=ToastImpl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastImpl.d.ts","sourceRoot":"","sources":["../src/ToastImpl.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAU7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAK5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAEV,qBAAqB,EAEtB,MAAM,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAA;AAIlE,QAAA,MAAM,cAAc;;;;8CA0BlB,CAAA;AAEF,KAAK,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,qBAAqB,CAAC,CAAA;AAEnE,KAAK,UAAU,GAAG,qBAAqB,CAAA;AAEvC,QAAA,MAEoB,0BAA0B;;CAG5C,CAAA;AAEF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,IAAI,IAAI,CAAA;CAChB,CAAA;AAED,KAAK,mBAAmB,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,YAAY,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAA;IAEjB;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAA;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAA;IACrD;;;;OAIG;IACH,OAAO,CAAC,IAAI,IAAI,CAAA;IAChB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,IAAI,CAAA;IACjB;;OAEG;IACH,YAAY,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACtC;;OAEG;IACH,WAAW,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACrC;;OAEG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACvC;;OAEG;IACH,UAAU,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,KAAK,cAAc,GAAG,WAAW,CAC/B,qBAAqB,GAAG,mBAAmB,GAAG,eAAe,CAC9D,CAAA;AAED,QAAA,MAAM,SAAS;;;;;;;;;;;;;;wCAqPd,CAAA;AAsGD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,0BAA0B,EAAE,KAAK,cAAc,EAAE,CAAA;AACrF,YAAY,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { HeightT, ToasterPosition } from './Toaster';
|
|
3
|
+
import type { ToastT } from './ToastState';
|
|
4
|
+
import type { SwipeDirection } from './ToastProvider';
|
|
5
|
+
import type { BurntToastOptions } from './types';
|
|
6
|
+
export interface ToastItemProps {
|
|
7
|
+
toast: ToastT;
|
|
8
|
+
index: number;
|
|
9
|
+
expanded: boolean;
|
|
10
|
+
interacting: boolean;
|
|
11
|
+
position: ToasterPosition;
|
|
12
|
+
visibleToasts: number;
|
|
13
|
+
removeToast: (toast: ToastT) => void;
|
|
14
|
+
heights: HeightT[];
|
|
15
|
+
setHeights: React.Dispatch<React.SetStateAction<HeightT[]>>;
|
|
16
|
+
duration: number;
|
|
17
|
+
gap: number;
|
|
18
|
+
swipeDirection: SwipeDirection;
|
|
19
|
+
swipeThreshold: number;
|
|
20
|
+
closeButton?: boolean;
|
|
21
|
+
icons?: {
|
|
22
|
+
success?: React.ReactNode;
|
|
23
|
+
error?: React.ReactNode;
|
|
24
|
+
warning?: React.ReactNode;
|
|
25
|
+
info?: React.ReactNode;
|
|
26
|
+
loading?: React.ReactNode;
|
|
27
|
+
close?: React.ReactNode;
|
|
28
|
+
};
|
|
29
|
+
disableNative?: boolean;
|
|
30
|
+
burntOptions?: Omit<BurntToastOptions, 'title' | 'message' | 'duration'>;
|
|
31
|
+
notificationOptions?: NotificationOptions;
|
|
32
|
+
}
|
|
33
|
+
export declare const ToastItem: React.NamedExoticComponent<ToastItemProps>;
|
|
34
|
+
//# sourceMappingURL=ToastItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastItem.d.ts","sourceRoot":"","sources":["../src/ToastItem.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,cAAc,CAAA;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AA6NhD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,eAAe,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC3D,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACzB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KACxB,CAAA;IACD,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC,CAAA;IACxE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AAED,eAAO,MAAM,SAAS,4CA8apB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type ToastProviderContextValue } from './ToastProvider';
|
|
3
|
+
export declare function ToastPortal(props: {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
zIndex?: number;
|
|
6
|
+
context: ToastProviderContextValue;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=ToastPortal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastPortal.d.ts","sourceRoot":"","sources":["../src/ToastPortal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAA4B,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAE1F,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,yBAAyB,CAAA;CACnC,2CASA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { NativeValue, TamaguiElement } from '@tamagui/core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import type { ToastImperativeOptions } from './ToastImperative';
|
|
4
|
+
import type { BurntToastOptions } from './types';
|
|
5
|
+
declare const Collection: {
|
|
6
|
+
readonly Provider: React.FC<{
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
} & {
|
|
9
|
+
scope?: any;
|
|
10
|
+
}>;
|
|
11
|
+
readonly Slot: React.ForwardRefExoticComponent<import("@tamagui/collection").CollectionProps & {
|
|
12
|
+
scope?: any;
|
|
13
|
+
} & React.RefAttributes<TamaguiElement | undefined>>;
|
|
14
|
+
readonly ItemSlot: React.ForwardRefExoticComponent<{
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
} & {
|
|
17
|
+
scope?: any;
|
|
18
|
+
} & React.RefAttributes<TamaguiElement | undefined>>;
|
|
19
|
+
}, useCollection: (scope: string) => () => {
|
|
20
|
+
ref: React.RefObject<TamaguiElement | undefined>;
|
|
21
|
+
}[];
|
|
22
|
+
export type SwipeDirection = 'vertical' | 'up' | 'down' | 'horizontal' | 'left' | 'right';
|
|
23
|
+
export type ToastProviderContextValue = {
|
|
24
|
+
id: string;
|
|
25
|
+
toastScope: string;
|
|
26
|
+
label: string;
|
|
27
|
+
duration: number;
|
|
28
|
+
swipeDirection: SwipeDirection;
|
|
29
|
+
swipeThreshold: number;
|
|
30
|
+
toastCount: number;
|
|
31
|
+
viewports: Record<string, TamaguiElement | null>;
|
|
32
|
+
onViewportChange(name: string, viewport: TamaguiElement): void;
|
|
33
|
+
onToastAdd(): void;
|
|
34
|
+
onToastRemove(): void;
|
|
35
|
+
isFocusedToastEscapeKeyDownRef: React.MutableRefObject<boolean>;
|
|
36
|
+
isClosePausedRef: React.MutableRefObject<boolean>;
|
|
37
|
+
options: ToastImperativeOptions;
|
|
38
|
+
};
|
|
39
|
+
export type ToastScopes = string;
|
|
40
|
+
type ScopedProps<P> = Omit<P, 'scope'> & {
|
|
41
|
+
scope?: ToastScopes;
|
|
42
|
+
};
|
|
43
|
+
declare const useToastProviderContext: (scope?: string) => ToastProviderContextValue;
|
|
44
|
+
interface ToastProviderProps {
|
|
45
|
+
children?: React.ReactNode;
|
|
46
|
+
/**
|
|
47
|
+
* An author-localized label for each toast. Used to help screen reader users
|
|
48
|
+
* associate the interruption with a toast.
|
|
49
|
+
* @defaultValue 'Notification'
|
|
50
|
+
*/
|
|
51
|
+
label?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Time in milliseconds that each toast should remain visible for.
|
|
54
|
+
* @defaultValue 5000
|
|
55
|
+
*/
|
|
56
|
+
duration?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Direction of pointer swipe that should close the toast.
|
|
59
|
+
* @defaultValue 'right'
|
|
60
|
+
*/
|
|
61
|
+
swipeDirection?: SwipeDirection;
|
|
62
|
+
/**
|
|
63
|
+
* Distance in pixels that the swipe must pass before a close is triggered.
|
|
64
|
+
* @defaultValue 50
|
|
65
|
+
*/
|
|
66
|
+
swipeThreshold?: number;
|
|
67
|
+
/**
|
|
68
|
+
* @defaultValue unique generated identifier
|
|
69
|
+
*/
|
|
70
|
+
id?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Will show a native toast if is true or is set to the current platform. On iOS, it wraps `SPIndicator` and `SPAlert`. On Android, it wraps `ToastAndroid`. On web, it wraps Notification API. Mobile's native features are handled by `burnt`.
|
|
73
|
+
* Only works with the imperative `useToast` hook.
|
|
74
|
+
*/
|
|
75
|
+
native?: NativeValue;
|
|
76
|
+
/**
|
|
77
|
+
* Options for the burnt package if you're using native toasts on mobile
|
|
78
|
+
*/
|
|
79
|
+
burntOptions?: Omit<BurntToastOptions, 'title' | 'message' | 'duration'>;
|
|
80
|
+
/**
|
|
81
|
+
* Options for the notification API if you're using native toasts on web
|
|
82
|
+
*/
|
|
83
|
+
notificationOptions?: NotificationOptions;
|
|
84
|
+
}
|
|
85
|
+
declare const ToastProvider: React.FC<ToastProviderProps>;
|
|
86
|
+
export declare function ReprogapateToastProvider(props: {
|
|
87
|
+
children: React.ReactNode;
|
|
88
|
+
context: ToastProviderContextValue;
|
|
89
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
90
|
+
export { Collection, ToastProvider, useCollection, useToastProviderContext };
|
|
91
|
+
export type { ScopedProps, ToastProviderProps };
|
|
92
|
+
//# sourceMappingURL=ToastProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../src/ToastProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAGhE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAQhD,QAAA,MAAO,UAAU;;gBATC,CAAC;;aAClB,CAAC;;;aAEiD,CAAC;;;;;;;GAMjC,aAAa;;GAA6C,CAAA;AAE7E,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,CAAA;AAEzF,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAAA;IAChD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9D,UAAU,IAAI,IAAI,CAAA;IAClB,aAAa,IAAI,IAAI,CAAA;IACrB,8BAA8B,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC/D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO,EAAE,sBAAsB,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,KAAK,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,CAAA;CAAE,CAAA;AAEhE,QAAA,MAA2D,uBAAuB,+CAK/E,CAAA;AAEH,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC,CAAA;IACxE;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AAED,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0E/C,CAAA;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,OAAO,EAAE,yBAAyB,CAAA;CACnC,2CAWA;AAcD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAA;AAC5E,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { CreateNativeToastOptions, NativeToastRef } from './types';
|
|
3
|
+
export type ToastType = 'default' | 'success' | 'error' | 'warning' | 'info' | 'loading';
|
|
4
|
+
export interface ToastT {
|
|
5
|
+
id: string | number;
|
|
6
|
+
title: React.ReactNode | (() => React.ReactNode);
|
|
7
|
+
description?: React.ReactNode | (() => React.ReactNode);
|
|
8
|
+
type?: ToastType;
|
|
9
|
+
icon?: React.ReactNode;
|
|
10
|
+
jsx?: React.ReactElement;
|
|
11
|
+
dismissible?: boolean;
|
|
12
|
+
duration?: number;
|
|
13
|
+
promise?: PromiseT;
|
|
14
|
+
action?: ToastAction;
|
|
15
|
+
cancel?: ToastAction;
|
|
16
|
+
onDismiss?: (toast: ToastT) => void;
|
|
17
|
+
onAutoClose?: (toast: ToastT) => void;
|
|
18
|
+
delete?: boolean;
|
|
19
|
+
style?: React.CSSProperties;
|
|
20
|
+
className?: string;
|
|
21
|
+
burntOptions?: CreateNativeToastOptions['burntOptions'];
|
|
22
|
+
notificationOptions?: CreateNativeToastOptions['notificationOptions'];
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}
|
|
25
|
+
export interface ToastAction {
|
|
26
|
+
label: string;
|
|
27
|
+
onClick?: (event: React.MouseEvent) => void;
|
|
28
|
+
}
|
|
29
|
+
export interface ToastToDismiss {
|
|
30
|
+
id: string | number;
|
|
31
|
+
dismiss: true;
|
|
32
|
+
}
|
|
33
|
+
export type ExternalToast = Omit<ToastT, 'id' | 'title' | 'type' | 'delete' | 'promise'> & {
|
|
34
|
+
id?: string | number;
|
|
35
|
+
};
|
|
36
|
+
export type PromiseT<Data = any> = Promise<Data> | (() => Promise<Data>);
|
|
37
|
+
export interface PromiseData<Data = any> {
|
|
38
|
+
loading?: React.ReactNode | (() => React.ReactNode);
|
|
39
|
+
success?: React.ReactNode | ((data: Data) => React.ReactNode);
|
|
40
|
+
error?: React.ReactNode | ((error: any) => React.ReactNode);
|
|
41
|
+
description?: React.ReactNode | ((data: any) => React.ReactNode);
|
|
42
|
+
finally?: () => void;
|
|
43
|
+
}
|
|
44
|
+
type TitleT = React.ReactNode | (() => React.ReactNode);
|
|
45
|
+
/**
|
|
46
|
+
* Observer class that manages toast state globally.
|
|
47
|
+
* Follows the pattern from Sonner for a clean, decoupled architecture.
|
|
48
|
+
*/
|
|
49
|
+
declare class Observer {
|
|
50
|
+
subscribers: Array<(toast: ToastT | ToastToDismiss) => void>;
|
|
51
|
+
toasts: ToastT[];
|
|
52
|
+
dismissedToasts: Set<string | number>;
|
|
53
|
+
/**
|
|
54
|
+
* Subscribe to toast state changes.
|
|
55
|
+
* Returns an unsubscribe function.
|
|
56
|
+
*/
|
|
57
|
+
subscribe: (subscriber: (toast: ToastT | ToastToDismiss) => void) => () => void;
|
|
58
|
+
/**
|
|
59
|
+
* Publish a toast to all subscribers
|
|
60
|
+
*/
|
|
61
|
+
publish: (data: ToastT) => void;
|
|
62
|
+
/**
|
|
63
|
+
* Add a new toast to the internal array and publish to subscribers
|
|
64
|
+
*/
|
|
65
|
+
addToast: (data: ToastT) => void;
|
|
66
|
+
/**
|
|
67
|
+
* Create or update a toast
|
|
68
|
+
*/
|
|
69
|
+
create: (data: ExternalToast & {
|
|
70
|
+
title?: TitleT;
|
|
71
|
+
type?: ToastType;
|
|
72
|
+
promise?: PromiseT;
|
|
73
|
+
jsx?: React.ReactElement;
|
|
74
|
+
}) => string | number;
|
|
75
|
+
/**
|
|
76
|
+
* Dismiss a toast by id, or all toasts if no id provided
|
|
77
|
+
*/
|
|
78
|
+
dismiss: (id?: string | number) => string | number | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Show a basic toast message
|
|
81
|
+
*/
|
|
82
|
+
message: (title: TitleT, data?: ExternalToast) => string | number;
|
|
83
|
+
/**
|
|
84
|
+
* Show a success toast
|
|
85
|
+
*/
|
|
86
|
+
success: (title: TitleT, data?: ExternalToast) => string | number;
|
|
87
|
+
/**
|
|
88
|
+
* Show an error toast
|
|
89
|
+
*/
|
|
90
|
+
error: (title: TitleT, data?: ExternalToast) => string | number;
|
|
91
|
+
/**
|
|
92
|
+
* Show a warning toast
|
|
93
|
+
*/
|
|
94
|
+
warning: (title: TitleT, data?: ExternalToast) => string | number;
|
|
95
|
+
/**
|
|
96
|
+
* Show an info toast
|
|
97
|
+
*/
|
|
98
|
+
info: (title: TitleT, data?: ExternalToast) => string | number;
|
|
99
|
+
/**
|
|
100
|
+
* Show a loading toast
|
|
101
|
+
*/
|
|
102
|
+
loading: (title: TitleT, data?: ExternalToast) => string | number;
|
|
103
|
+
/**
|
|
104
|
+
* Show a toast for a promise, automatically transitioning through
|
|
105
|
+
* loading -> success/error states
|
|
106
|
+
*/
|
|
107
|
+
promise: <ToastData>(promise: PromiseT<ToastData>, data?: PromiseData<ToastData>) => (string & {
|
|
108
|
+
unwrap: () => Promise<ToastData>;
|
|
109
|
+
}) | (number & {
|
|
110
|
+
unwrap: () => Promise<ToastData>;
|
|
111
|
+
}) | {
|
|
112
|
+
unwrap: () => Promise<ToastData>;
|
|
113
|
+
} | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* Show a custom JSX toast
|
|
116
|
+
*/
|
|
117
|
+
custom: (jsx: (id: string | number) => React.ReactElement, data?: ExternalToast) => string | number;
|
|
118
|
+
/**
|
|
119
|
+
* Get all active (non-dismissed) toasts
|
|
120
|
+
*/
|
|
121
|
+
getActiveToasts: () => ToastT[];
|
|
122
|
+
/**
|
|
123
|
+
* Get full toast history
|
|
124
|
+
*/
|
|
125
|
+
getHistory: () => ToastT[];
|
|
126
|
+
}
|
|
127
|
+
export declare const ToastState: Observer;
|
|
128
|
+
/**
|
|
129
|
+
* Main toast API - call directly or use methods like toast.success()
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* // basic usage
|
|
133
|
+
* toast('Hello world')
|
|
134
|
+
*
|
|
135
|
+
* // with type
|
|
136
|
+
* toast.success('Saved!')
|
|
137
|
+
* toast.error('Something went wrong')
|
|
138
|
+
*
|
|
139
|
+
* // with options
|
|
140
|
+
* toast('Hello', { duration: 5000 })
|
|
141
|
+
*
|
|
142
|
+
* // promise toast
|
|
143
|
+
* toast.promise(fetch('/api'), {
|
|
144
|
+
* loading: 'Loading...',
|
|
145
|
+
* success: 'Done!',
|
|
146
|
+
* error: 'Failed'
|
|
147
|
+
* })
|
|
148
|
+
*
|
|
149
|
+
* // custom JSX
|
|
150
|
+
* toast.custom((id) => <MyToast id={id} />)
|
|
151
|
+
*
|
|
152
|
+
* // dismiss
|
|
153
|
+
* const id = toast('Hello')
|
|
154
|
+
* toast.dismiss(id)
|
|
155
|
+
* toast.dismiss() // dismiss all
|
|
156
|
+
*/
|
|
157
|
+
export declare const toast: ((title: TitleT, data?: ExternalToast) => string | number) & {
|
|
158
|
+
success: (title: TitleT, data?: ExternalToast) => string | number;
|
|
159
|
+
error: (title: TitleT, data?: ExternalToast) => string | number;
|
|
160
|
+
warning: (title: TitleT, data?: ExternalToast) => string | number;
|
|
161
|
+
info: (title: TitleT, data?: ExternalToast) => string | number;
|
|
162
|
+
loading: (title: TitleT, data?: ExternalToast) => string | number;
|
|
163
|
+
promise: <ToastData>(promise: PromiseT<ToastData>, data?: PromiseData<ToastData> | undefined) => (string & {
|
|
164
|
+
unwrap: () => Promise<ToastData>;
|
|
165
|
+
}) | (number & {
|
|
166
|
+
unwrap: () => Promise<ToastData>;
|
|
167
|
+
}) | {
|
|
168
|
+
unwrap: () => Promise<ToastData>;
|
|
169
|
+
} | undefined;
|
|
170
|
+
custom: (jsx: (id: string | number) => React.ReactElement, data?: ExternalToast) => string | number;
|
|
171
|
+
dismiss: (id?: string | number) => string | number | undefined;
|
|
172
|
+
message: (title: TitleT, data?: ExternalToast) => string | number;
|
|
173
|
+
getHistory: () => ToastT[];
|
|
174
|
+
getToasts: () => ToastT[];
|
|
175
|
+
};
|
|
176
|
+
export type { NativeToastRef };
|
|
177
|
+
//# sourceMappingURL=ToastState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastState.d.ts","sourceRoot":"","sources":["../src/ToastState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { GetProps, TamaguiElement } from '@tamagui/core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
declare const VIEWPORT_DEFAULT_HOTKEY: string[];
|
|
4
|
+
declare const VIEWPORT_PAUSE = "toast.viewportPause";
|
|
5
|
+
declare const VIEWPORT_RESUME = "toast.viewportResume";
|
|
6
|
+
declare const ToastViewportFrame: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {
|
|
7
|
+
elevation?: number | import("@tamagui/core").SizeTokens | undefined;
|
|
8
|
+
fullscreen?: boolean | undefined;
|
|
9
|
+
unstyled?: boolean | undefined;
|
|
10
|
+
}, import("@tamagui/core").StaticConfigPublic>;
|
|
11
|
+
type ToastViewportFrameProps = GetProps<typeof ToastViewportFrame>;
|
|
12
|
+
type ToastViewportProps = ToastViewportFrameProps & {
|
|
13
|
+
/**
|
|
14
|
+
* The keys to use as the keyboard shortcut that will move focus to the toast viewport.
|
|
15
|
+
* @defaultValue ['F8']
|
|
16
|
+
*/
|
|
17
|
+
hotkey?: string[];
|
|
18
|
+
/**
|
|
19
|
+
* An author-localized label for the toast viewport to provide context for screen reader users
|
|
20
|
+
* when navigating page landmarks. The available `{hotkey}` placeholder will be replaced for you.
|
|
21
|
+
* @defaultValue 'Notifications ({hotkey})'
|
|
22
|
+
*/
|
|
23
|
+
label?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Used to reference the viewport if you want to have multiple viewports in the same provider.
|
|
26
|
+
*/
|
|
27
|
+
name?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Pass this when you want to have multiple/duplicated toasts.
|
|
30
|
+
*/
|
|
31
|
+
multipleToasts?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* When true, uses a portal to render at the very top of the root TamaguiProvider.
|
|
34
|
+
*/
|
|
35
|
+
portalToRoot?: boolean;
|
|
36
|
+
};
|
|
37
|
+
declare const ToastViewport: React.NamedExoticComponent<Omit<import("@tamagui/core").RNTamaguiViewNonStyleProps, "elevation" | keyof import("@tamagui/core").StackStyleBase | "fullscreen" | "unstyled"> & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase> & {
|
|
38
|
+
elevation?: number | import("@tamagui/core").SizeTokens | undefined;
|
|
39
|
+
fullscreen?: boolean | undefined;
|
|
40
|
+
unstyled?: boolean | undefined;
|
|
41
|
+
} & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase>> & import("@tamagui/core").WithPseudoProps<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase> & {
|
|
42
|
+
elevation?: number | import("@tamagui/core").SizeTokens | undefined;
|
|
43
|
+
fullscreen?: boolean | undefined;
|
|
44
|
+
unstyled?: boolean | undefined;
|
|
45
|
+
} & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStyleBase>>> & import("@tamagui/core").WithMediaProps<import("@tamagui/core").WithThemeShorthandsAndPseudos<import("@tamagui/core").StackStyleBase, {
|
|
46
|
+
elevation?: number | import("@tamagui/core").SizeTokens | undefined;
|
|
47
|
+
fullscreen?: boolean | undefined;
|
|
48
|
+
unstyled?: boolean | undefined;
|
|
49
|
+
}>> & {
|
|
50
|
+
/**
|
|
51
|
+
* The keys to use as the keyboard shortcut that will move focus to the toast viewport.
|
|
52
|
+
* @defaultValue ['F8']
|
|
53
|
+
*/
|
|
54
|
+
hotkey?: string[];
|
|
55
|
+
/**
|
|
56
|
+
* An author-localized label for the toast viewport to provide context for screen reader users
|
|
57
|
+
* when navigating page landmarks. The available `{hotkey}` placeholder will be replaced for you.
|
|
58
|
+
* @defaultValue 'Notifications ({hotkey})'
|
|
59
|
+
*/
|
|
60
|
+
label?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Used to reference the viewport if you want to have multiple viewports in the same provider.
|
|
63
|
+
*/
|
|
64
|
+
name?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Pass this when you want to have multiple/duplicated toasts.
|
|
67
|
+
*/
|
|
68
|
+
multipleToasts?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* When true, uses a portal to render at the very top of the root TamaguiProvider.
|
|
71
|
+
*/
|
|
72
|
+
portalToRoot?: boolean;
|
|
73
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
74
|
+
export { ToastViewport, VIEWPORT_DEFAULT_HOTKEY, VIEWPORT_PAUSE, VIEWPORT_RESUME, type ToastViewportProps, };
|
|
75
|
+
//# sourceMappingURL=ToastViewport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastViewport.d.ts","sourceRoot":"","sources":["../src/ToastViewport.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAK7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,QAAA,MAAM,uBAAuB,UAAS,CAAA;AACtC,QAAA,MAAM,cAAc,wBAAwB,CAAA;AAC5C,QAAA,MAAM,eAAe,yBAAyB,CAAA;AA0B9C,QAAA,MAAM,kBAAkB;;;;8CAgBtB,CAAA;AAEF,KAAK,uBAAuB,GAAG,QAAQ,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAClE,KAAK,kBAAkB,GAAG,uBAAuB,GAAG;IAClD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,QAAA,MAAM,aAAa;;;;;;;;;;;;;IAzBjB;;;OAGG;aACM,MAAM,EAAE;IACjB;;;;OAIG;YACK,MAAM;IACd;;OAEG;WACI,MAAM;IACb;;OAEG;qBACc,OAAO;IACxB;;OAEG;mBACY,OAAO;wCA2PvB,CAAA;AAuFD,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,KAAK,kBAAkB,GACxB,CAAA"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { TamaguiElement } from '@tamagui/core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import type { SwipeDirection } from './ToastProvider';
|
|
4
|
+
import type { ExternalToast } from './ToastState';
|
|
5
|
+
import type { BurntToastOptions } from './types';
|
|
6
|
+
export type ToasterPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
|
|
7
|
+
export interface HeightT {
|
|
8
|
+
toastId: string | number;
|
|
9
|
+
height: number;
|
|
10
|
+
position?: ToasterPosition;
|
|
11
|
+
}
|
|
12
|
+
export interface ToasterProps {
|
|
13
|
+
/**
|
|
14
|
+
* Position of the toasts on screen
|
|
15
|
+
* @default 'bottom-right'
|
|
16
|
+
*/
|
|
17
|
+
position?: ToasterPosition;
|
|
18
|
+
/**
|
|
19
|
+
* Width of toast container in pixels
|
|
20
|
+
* @default 356
|
|
21
|
+
*/
|
|
22
|
+
width?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Expand toasts on hover to show all
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
expand?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Number of toasts visible at once
|
|
30
|
+
* @default 4
|
|
31
|
+
*/
|
|
32
|
+
visibleToasts?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Gap between toasts in pixels
|
|
35
|
+
* @default 14
|
|
36
|
+
*/
|
|
37
|
+
gap?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Default duration for toasts in ms
|
|
40
|
+
* @default 4000
|
|
41
|
+
*/
|
|
42
|
+
duration?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Offset from screen edge in pixels
|
|
45
|
+
* @default 24
|
|
46
|
+
*/
|
|
47
|
+
offset?: number | {
|
|
48
|
+
top?: number;
|
|
49
|
+
right?: number;
|
|
50
|
+
bottom?: number;
|
|
51
|
+
left?: number;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Hotkey to focus toast viewport
|
|
55
|
+
* @default ['altKey', 'KeyT']
|
|
56
|
+
*/
|
|
57
|
+
hotkey?: string[];
|
|
58
|
+
/**
|
|
59
|
+
* Direction(s) toasts can be swiped to dismiss
|
|
60
|
+
* @default 'right'
|
|
61
|
+
*/
|
|
62
|
+
swipeDirection?: SwipeDirection;
|
|
63
|
+
/**
|
|
64
|
+
* Distance in pixels swipe must pass to dismiss
|
|
65
|
+
* @default 50
|
|
66
|
+
*/
|
|
67
|
+
swipeThreshold?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Show close button on toasts
|
|
70
|
+
* @default false
|
|
71
|
+
*/
|
|
72
|
+
closeButton?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Theme for toasts (auto-detected if not set)
|
|
75
|
+
*/
|
|
76
|
+
theme?: 'light' | 'dark' | 'system';
|
|
77
|
+
/**
|
|
78
|
+
* Custom icons for toast types
|
|
79
|
+
*/
|
|
80
|
+
icons?: {
|
|
81
|
+
success?: React.ReactNode;
|
|
82
|
+
error?: React.ReactNode;
|
|
83
|
+
warning?: React.ReactNode;
|
|
84
|
+
info?: React.ReactNode;
|
|
85
|
+
loading?: React.ReactNode;
|
|
86
|
+
close?: React.ReactNode;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Default toast options
|
|
90
|
+
*/
|
|
91
|
+
toastOptions?: ExternalToast;
|
|
92
|
+
/**
|
|
93
|
+
* Container aria label for screen readers
|
|
94
|
+
* @default 'Notifications'
|
|
95
|
+
*/
|
|
96
|
+
containerAriaLabel?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Disable native toast on mobile (uses burnt package)
|
|
99
|
+
* @default false
|
|
100
|
+
*/
|
|
101
|
+
disableNative?: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Options for burnt native toasts on mobile
|
|
104
|
+
*/
|
|
105
|
+
burntOptions?: Omit<BurntToastOptions, 'title' | 'message' | 'duration'>;
|
|
106
|
+
/**
|
|
107
|
+
* Options for web Notification API
|
|
108
|
+
*/
|
|
109
|
+
notificationOptions?: NotificationOptions;
|
|
110
|
+
/**
|
|
111
|
+
* Custom className for the container
|
|
112
|
+
*/
|
|
113
|
+
className?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Custom style for the container
|
|
116
|
+
*/
|
|
117
|
+
style?: React.CSSProperties;
|
|
118
|
+
}
|
|
119
|
+
export declare const Toaster: React.ForwardRefExoticComponent<ToasterProps & React.RefAttributes<TamaguiElement>>;
|
|
120
|
+
//# sourceMappingURL=Toaster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../src/Toaster.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAGnD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,cAAc,CAAA;AAEzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAQhD,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,eAAe,GACf,cAAc,CAAA;AAElB,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B;AA0BD,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAE1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAElF;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;IAEnC;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACzB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KACxB,CAAA;IAED;;OAEG;IACH,YAAY,CAAC,EAAE,aAAa,CAAA;IAE5B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC,CAAA;IAExE;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IAEzC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B;AAED,eAAO,MAAM,OAAO,qFAwQnB,CAAA"}
|