@hanzogui/toast 2.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 +21 -0
- package/dist/cjs/Toast.cjs +170 -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.native.js +105 -0
- package/dist/cjs/ToastAnnounce.native.js.map +1 -0
- package/dist/cjs/ToastImperative.cjs +100 -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.native.js +326 -0
- package/dist/cjs/ToastImpl.native.js.map +1 -0
- package/dist/cjs/ToastPortal.cjs +44 -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.native.js +159 -0
- package/dist/cjs/ToastProvider.native.js.map +1 -0
- package/dist/cjs/ToastViewport.cjs +278 -0
- package/dist/cjs/ToastViewport.native.js +315 -0
- package/dist/cjs/ToastViewport.native.js.map +1 -0
- package/dist/cjs/constants.cjs +28 -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.native.js +48 -0
- package/dist/cjs/createNativeToast.native.js.map +1 -0
- package/dist/cjs/index.cjs +18 -0
- package/dist/cjs/index.native.js +21 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.native.js +19 -0
- package/dist/cjs/types.native.js.map +1 -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.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.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.mjs +256 -0
- package/dist/esm/ToastImpl.mjs.map +1 -0
- package/dist/esm/ToastImpl.native.js +287 -0
- package/dist/esm/ToastImpl.native.js.map +1 -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.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/ToastViewport.mjs +241 -0
- package/dist/esm/ToastViewport.mjs.map +1 -0
- package/dist/esm/ToastViewport.native.js +275 -0
- package/dist/esm/ToastViewport.native.js.map +1 -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.mjs +27 -0
- package/dist/esm/createNativeToast.mjs.map +1 -0
- package/dist/esm/createNativeToast.native.js +21 -0
- package/dist/esm/createNativeToast.native.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +2 -0
- package/dist/esm/index.native.js.map +1 -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/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.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.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.mjs +256 -0
- package/dist/jsx/ToastImpl.mjs.map +1 -0
- package/dist/jsx/ToastImpl.native.js +326 -0
- package/dist/jsx/ToastImpl.native.js.map +1 -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.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/ToastViewport.mjs +241 -0
- package/dist/jsx/ToastViewport.mjs.map +1 -0
- package/dist/jsx/ToastViewport.native.js +315 -0
- package/dist/jsx/ToastViewport.native.js.map +1 -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.mjs +27 -0
- package/dist/jsx/createNativeToast.mjs.map +1 -0
- package/dist/jsx/createNativeToast.native.js +48 -0
- package/dist/jsx/createNativeToast.native.js.map +1 -0
- package/dist/jsx/index.js +2 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/index.mjs +2 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +21 -0
- package/dist/jsx/index.native.js.map +1 -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/package.json +66 -0
- package/src/Toast.tsx +219 -0
- package/src/ToastAnnounce.tsx +103 -0
- package/src/ToastImperative.tsx +192 -0
- package/src/ToastImpl.tsx +502 -0
- package/src/ToastPortal.tsx +19 -0
- package/src/ToastProvider.tsx +197 -0
- package/src/ToastViewport.tsx +429 -0
- package/src/constants.ts +2 -0
- package/src/createNativeToast.native.tsx +29 -0
- package/src/createNativeToast.tsx +48 -0
- package/src/index.ts +3 -0
- package/src/types.ts +71 -0
- package/types/Toast.d.ts +84 -0
- package/types/ToastAnnounce.d.ts +18 -0
- package/types/ToastImperative.d.ts +95 -0
- package/types/ToastImpl.d.ts +109 -0
- package/types/ToastPortal.d.ts +8 -0
- package/types/ToastProvider.d.ts +92 -0
- package/types/ToastViewport.d.ts +75 -0
- package/types/constants.d.ts +3 -0
- package/types/createNativeToast.d.ts +4 -0
- package/types/createNativeToast.native.d.ts +4 -0
- package/types/index.d.ts +4 -0
- package/types/types.d.ts +61 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { AnimatePresence } from "@hanzo/gui-animate-presence";
|
|
2
|
+
import { styled, useEvent } from "@hanzo/gui-core";
|
|
3
|
+
import { composeEventHandlers, withStaticProperties } from "@hanzo/gui-helpers";
|
|
4
|
+
import { YStack } from "@hanzo/gui-stacks";
|
|
5
|
+
import { SizableText } from "@hanzo/gui-text";
|
|
6
|
+
import { useControllableState } from "@hanzo/gui-use-controllable-state";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { ToastAnnounceExclude } from "./ToastAnnounce.mjs";
|
|
9
|
+
import { useToast, useToastController, useToastState } from "./ToastImperative.mjs";
|
|
10
|
+
import { ToastImpl, ToastImplFrame, useToastInteractiveContext } from "./ToastImpl.mjs";
|
|
11
|
+
import { ToastProvider } from "./ToastProvider.mjs";
|
|
12
|
+
import { ToastViewport } from "./ToastViewport.mjs";
|
|
13
|
+
import { jsx } from "react/jsx-runtime";
|
|
14
|
+
const TITLE_NAME = "ToastTitle",
|
|
15
|
+
ToastTitle = styled(SizableText, {
|
|
16
|
+
name: TITLE_NAME,
|
|
17
|
+
variants: {
|
|
18
|
+
unstyled: {
|
|
19
|
+
false: {
|
|
20
|
+
color: "$color",
|
|
21
|
+
size: "$4"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
defaultVariants: {
|
|
26
|
+
unstyled: process.env.HANZO_GUI_HEADLESS === "1"
|
|
27
|
+
}
|
|
28
|
+
}),
|
|
29
|
+
DESCRIPTION_NAME = "ToastDescription",
|
|
30
|
+
ToastDescription = styled(SizableText, {
|
|
31
|
+
name: DESCRIPTION_NAME,
|
|
32
|
+
variants: {
|
|
33
|
+
unstyled: {
|
|
34
|
+
false: {
|
|
35
|
+
color: "$color11",
|
|
36
|
+
size: "$1"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
defaultVariants: {
|
|
41
|
+
unstyled: process.env.HANZO_GUI_HEADLESS === "1"
|
|
42
|
+
}
|
|
43
|
+
}),
|
|
44
|
+
ACTION_NAME = "ToastAction",
|
|
45
|
+
ToastAction = React.forwardRef(function (props, forwardedRef) {
|
|
46
|
+
const {
|
|
47
|
+
altText,
|
|
48
|
+
...actionProps
|
|
49
|
+
} = props;
|
|
50
|
+
return altText ? /* @__PURE__ */jsx(ToastAnnounceExclude, {
|
|
51
|
+
altText,
|
|
52
|
+
asChild: !0,
|
|
53
|
+
children: /* @__PURE__ */jsx(ToastClose, {
|
|
54
|
+
...actionProps,
|
|
55
|
+
ref: forwardedRef
|
|
56
|
+
})
|
|
57
|
+
}) : null;
|
|
58
|
+
});
|
|
59
|
+
ToastAction.propTypes = {
|
|
60
|
+
altText(props) {
|
|
61
|
+
return props.altText ? null : new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const CLOSE_NAME = "ToastClose",
|
|
65
|
+
ToastCloseFrame = styled(YStack, {
|
|
66
|
+
name: CLOSE_NAME,
|
|
67
|
+
render: "button"
|
|
68
|
+
}),
|
|
69
|
+
ToastClose = React.forwardRef(function (props, forwardedRef) {
|
|
70
|
+
const {
|
|
71
|
+
scope,
|
|
72
|
+
...closeProps
|
|
73
|
+
} = props,
|
|
74
|
+
interactiveContext = useToastInteractiveContext(scope);
|
|
75
|
+
return /* @__PURE__ */jsx(ToastAnnounceExclude, {
|
|
76
|
+
asChild: !0,
|
|
77
|
+
children: /* @__PURE__ */jsx(ToastCloseFrame, {
|
|
78
|
+
"aria-label": "Close",
|
|
79
|
+
...closeProps,
|
|
80
|
+
ref: forwardedRef,
|
|
81
|
+
onPress: composeEventHandlers(props.onPress, interactiveContext.onClose)
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
}),
|
|
85
|
+
ToastComponent = ToastImplFrame.styleable(function (props, forwardedRef) {
|
|
86
|
+
const {
|
|
87
|
+
forceMount,
|
|
88
|
+
open: openProp,
|
|
89
|
+
defaultOpen,
|
|
90
|
+
onOpenChange,
|
|
91
|
+
...toastProps
|
|
92
|
+
} = props,
|
|
93
|
+
[open, setOpen] = useControllableState({
|
|
94
|
+
prop: openProp,
|
|
95
|
+
defaultProp: defaultOpen ?? !0,
|
|
96
|
+
onChange: onOpenChange,
|
|
97
|
+
strategy: "most-recent-wins"
|
|
98
|
+
}),
|
|
99
|
+
currentToast = useToastState(),
|
|
100
|
+
{
|
|
101
|
+
hide
|
|
102
|
+
} = useToastController(),
|
|
103
|
+
id = React.useId(),
|
|
104
|
+
onPause = useEvent(props.onPause),
|
|
105
|
+
onResume = useEvent(props.onResume),
|
|
106
|
+
isHide = currentToast?.hide === !0;
|
|
107
|
+
return /* @__PURE__ */jsx(AnimatePresence, {
|
|
108
|
+
children: (forceMount || open) && !isHide ? /* @__PURE__ */jsx(ToastImpl, {
|
|
109
|
+
id,
|
|
110
|
+
open,
|
|
111
|
+
...toastProps,
|
|
112
|
+
ref: forwardedRef,
|
|
113
|
+
onClose: () => {
|
|
114
|
+
setOpen(!1), hide();
|
|
115
|
+
},
|
|
116
|
+
onPause,
|
|
117
|
+
onResume,
|
|
118
|
+
onSwipeEnd: composeEventHandlers(props.onSwipeEnd, event => {
|
|
119
|
+
setOpen(!1);
|
|
120
|
+
})
|
|
121
|
+
}) : null
|
|
122
|
+
}, id);
|
|
123
|
+
}),
|
|
124
|
+
Toast2 = withStaticProperties(ToastComponent, {
|
|
125
|
+
Title: ToastTitle,
|
|
126
|
+
Description: ToastDescription,
|
|
127
|
+
Action: ToastAction,
|
|
128
|
+
Close: ToastClose
|
|
129
|
+
});
|
|
130
|
+
export { Toast2 as Toast, ToastProvider, ToastViewport, useToast, useToastController, useToastState };
|
|
131
|
+
//# sourceMappingURL=Toast.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AnimatePresence","styled","useEvent","composeEventHandlers","withStaticProperties","YStack","SizableText","useControllableState","React","ToastAnnounceExclude","useToast","useToastController","useToastState","ToastImpl","ToastImplFrame","useToastInteractiveContext","ToastProvider","ToastViewport","jsx","TITLE_NAME","ToastTitle","name","variants","unstyled","false","color","size","defaultVariants","process","env","HANZO_GUI_HEADLESS","DESCRIPTION_NAME","ToastDescription","ACTION_NAME","ToastAction","forwardRef","props","forwardedRef","altText","actionProps","asChild","children","ToastClose","ref","propTypes","Error","CLOSE_NAME","ToastCloseFrame","render","scope","closeProps","interactiveContext","onPress","onClose","ToastComponent","styleable","forceMount","open","openProp","defaultOpen","onOpenChange","toastProps","setOpen","prop","defaultProp","onChange","strategy","currentToast","hide","id","useId","onPause","onResume","isHide","onSwipeEnd","event","Toast2","Title","Description","Action","Close"],"sources":["../../src/Toast.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { AnimatePresence } from "@hanzo/gui-animate-presence";
|
|
3
|
+
import { styled, useEvent } from "@hanzo/gui-core";
|
|
4
|
+
import { composeEventHandlers, withStaticProperties } from "@hanzo/gui-helpers";
|
|
5
|
+
import { YStack } from "@hanzo/gui-stacks";
|
|
6
|
+
import { SizableText } from "@hanzo/gui-text";
|
|
7
|
+
import { useControllableState } from "@hanzo/gui-use-controllable-state";
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import { ToastAnnounceExclude } from "./ToastAnnounce.native.js";
|
|
10
|
+
import { useToast, useToastController, useToastState } from "./ToastImperative.native.js";
|
|
11
|
+
import { ToastImpl, ToastImplFrame, useToastInteractiveContext } from "./ToastImpl.native.js";
|
|
12
|
+
import { ToastProvider } from "./ToastProvider.native.js";
|
|
13
|
+
import { ToastViewport } from "./ToastViewport.native.js";
|
|
14
|
+
var TITLE_NAME = "ToastTitle",
|
|
15
|
+
ToastTitle = styled(SizableText, {
|
|
16
|
+
name: TITLE_NAME,
|
|
17
|
+
variants: {
|
|
18
|
+
unstyled: {
|
|
19
|
+
false: {
|
|
20
|
+
color: "$color",
|
|
21
|
+
size: "$4"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
defaultVariants: {
|
|
26
|
+
unstyled: process.env.HANZO_GUI_HEADLESS === "1"
|
|
27
|
+
}
|
|
28
|
+
}),
|
|
29
|
+
DESCRIPTION_NAME = "ToastDescription",
|
|
30
|
+
ToastDescription = styled(SizableText, {
|
|
31
|
+
name: DESCRIPTION_NAME,
|
|
32
|
+
variants: {
|
|
33
|
+
unstyled: {
|
|
34
|
+
false: {
|
|
35
|
+
color: "$color11",
|
|
36
|
+
size: "$1"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
defaultVariants: {
|
|
41
|
+
unstyled: process.env.HANZO_GUI_HEADLESS === "1"
|
|
42
|
+
}
|
|
43
|
+
}),
|
|
44
|
+
ACTION_NAME = "ToastAction",
|
|
45
|
+
ToastAction = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
46
|
+
var {
|
|
47
|
+
altText,
|
|
48
|
+
...actionProps
|
|
49
|
+
} = props;
|
|
50
|
+
return altText ? /* @__PURE__ */_jsx(ToastAnnounceExclude, {
|
|
51
|
+
altText,
|
|
52
|
+
asChild: !0,
|
|
53
|
+
children: /* @__PURE__ */_jsx(ToastClose, {
|
|
54
|
+
...actionProps,
|
|
55
|
+
ref: forwardedRef
|
|
56
|
+
})
|
|
57
|
+
}) : null;
|
|
58
|
+
});
|
|
59
|
+
ToastAction.propTypes = {
|
|
60
|
+
altText(props) {
|
|
61
|
+
return props.altText ? null : new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
var CLOSE_NAME = "ToastClose",
|
|
65
|
+
ToastCloseFrame = styled(YStack, {
|
|
66
|
+
name: CLOSE_NAME,
|
|
67
|
+
render: "button"
|
|
68
|
+
}),
|
|
69
|
+
ToastClose = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
70
|
+
var {
|
|
71
|
+
scope,
|
|
72
|
+
...closeProps
|
|
73
|
+
} = props,
|
|
74
|
+
interactiveContext = useToastInteractiveContext(scope);
|
|
75
|
+
return /* @__PURE__ */_jsx(ToastAnnounceExclude, {
|
|
76
|
+
asChild: !0,
|
|
77
|
+
children: /* @__PURE__ */_jsx(ToastCloseFrame, {
|
|
78
|
+
"aria-label": "Close",
|
|
79
|
+
...closeProps,
|
|
80
|
+
ref: forwardedRef,
|
|
81
|
+
onPress: composeEventHandlers(props.onPress, interactiveContext.onClose)
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
}),
|
|
85
|
+
ToastComponent = ToastImplFrame.styleable(function (props, forwardedRef) {
|
|
86
|
+
var {
|
|
87
|
+
forceMount,
|
|
88
|
+
open: openProp,
|
|
89
|
+
defaultOpen,
|
|
90
|
+
onOpenChange,
|
|
91
|
+
...toastProps
|
|
92
|
+
} = props,
|
|
93
|
+
[open, setOpen] = useControllableState({
|
|
94
|
+
prop: openProp,
|
|
95
|
+
defaultProp: defaultOpen ?? !0,
|
|
96
|
+
onChange: onOpenChange,
|
|
97
|
+
strategy: "most-recent-wins"
|
|
98
|
+
}),
|
|
99
|
+
currentToast = useToastState(),
|
|
100
|
+
{
|
|
101
|
+
hide
|
|
102
|
+
} = useToastController(),
|
|
103
|
+
id = React.useId(),
|
|
104
|
+
onPause = useEvent(props.onPause),
|
|
105
|
+
onResume = useEvent(props.onResume),
|
|
106
|
+
isHide = currentToast?.hide === !0,
|
|
107
|
+
shouldShow = (forceMount || open) && !isHide;
|
|
108
|
+
return /* @__PURE__ */_jsx(AnimatePresence, {
|
|
109
|
+
children: shouldShow ? /* @__PURE__ */_jsx(ToastImpl, {
|
|
110
|
+
id,
|
|
111
|
+
open,
|
|
112
|
+
...toastProps,
|
|
113
|
+
ref: forwardedRef,
|
|
114
|
+
onClose: function () {
|
|
115
|
+
setOpen(!1), hide();
|
|
116
|
+
},
|
|
117
|
+
onPause,
|
|
118
|
+
onResume,
|
|
119
|
+
onSwipeEnd: composeEventHandlers(props.onSwipeEnd, function (event) {
|
|
120
|
+
setOpen(!1);
|
|
121
|
+
})
|
|
122
|
+
}) : null
|
|
123
|
+
}, id);
|
|
124
|
+
}),
|
|
125
|
+
Toast2 = withStaticProperties(ToastComponent, {
|
|
126
|
+
Title: ToastTitle,
|
|
127
|
+
Description: ToastDescription,
|
|
128
|
+
Action: ToastAction,
|
|
129
|
+
Close: ToastClose
|
|
130
|
+
});
|
|
131
|
+
export { Toast2 as Toast, ToastProvider, ToastViewport, useToast, useToastController, useToastState };
|
|
132
|
+
//# sourceMappingURL=Toast.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","AnimatePresence","styled","useEvent","composeEventHandlers","withStaticProperties","YStack","SizableText","useControllableState","React","ToastAnnounceExclude","useToast","useToastController","useToastState","ToastImpl","ToastImplFrame","useToastInteractiveContext","ToastProvider","ToastViewport","TITLE_NAME","ToastTitle","name","variants","unstyled","false","color","size","defaultVariants","process","env","HANZO_GUI_HEADLESS","DESCRIPTION_NAME","ToastDescription","ACTION_NAME","ToastAction","forwardRef","props","forwardedRef","altText","actionProps","asChild","children","ToastClose","ref","propTypes","Error","CLOSE_NAME","ToastCloseFrame","render","scope","closeProps","interactiveContext","onPress","onClose","ToastComponent","styleable","forceMount","open","openProp","defaultOpen","onOpenChange","toastProps","setOpen","prop","defaultProp","onChange","strategy","currentToast","hide","id","useId","onPause","onResume","isHide","shouldShow","onSwipeEnd","event","Toast2","Title","Description","Action","Close"],"sources":["../../src/Toast.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { useIsomorphicLayoutEffect } from "@hanzo/gui-constants";
|
|
2
|
+
import { View, Text, styled, useEvent } from "@hanzo/gui-core";
|
|
3
|
+
import { Portal } from "@hanzo/gui-portal";
|
|
4
|
+
import { startTransition } from "@hanzo/gui-start-transition";
|
|
5
|
+
import { VisuallyHidden } from "@hanzo/gui-visually-hidden";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { useToastProviderContext } from "./ToastProvider.mjs";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
const ToastAnnounceExcludeFrame = styled(View, {
|
|
10
|
+
name: "ToastAnnounceExclude"
|
|
11
|
+
}),
|
|
12
|
+
ToastAnnounceExclude = React.forwardRef((props, forwardedRef) => {
|
|
13
|
+
const {
|
|
14
|
+
altText,
|
|
15
|
+
...announceExcludeProps
|
|
16
|
+
} = props;
|
|
17
|
+
return /* @__PURE__ */jsx(ToastAnnounceExcludeFrame, {
|
|
18
|
+
"data-toast-announce-exclude": "",
|
|
19
|
+
"data-toast-announce-alt": altText || void 0,
|
|
20
|
+
...announceExcludeProps,
|
|
21
|
+
ref: forwardedRef
|
|
22
|
+
});
|
|
23
|
+
}),
|
|
24
|
+
ToastAnnounce = props => {
|
|
25
|
+
const {
|
|
26
|
+
scope,
|
|
27
|
+
children,
|
|
28
|
+
...announceProps
|
|
29
|
+
} = props,
|
|
30
|
+
context = useToastProviderContext(scope),
|
|
31
|
+
[renderAnnounceText, setRenderAnnounceText] = React.useState(!1),
|
|
32
|
+
[isAnnounced, setIsAnnounced] = React.useState(!1);
|
|
33
|
+
return useNextFrame(() => {
|
|
34
|
+
startTransition(() => {
|
|
35
|
+
setRenderAnnounceText(!0);
|
|
36
|
+
});
|
|
37
|
+
}), React.useEffect(() => {
|
|
38
|
+
const timer = setTimeout(() => setIsAnnounced(!0), 1e3);
|
|
39
|
+
return () => clearTimeout(timer);
|
|
40
|
+
}, []), isAnnounced ? null : /* @__PURE__ */jsx(Portal, {
|
|
41
|
+
children: /* @__PURE__ */jsx(VisuallyHidden, {
|
|
42
|
+
...announceProps,
|
|
43
|
+
children: renderAnnounceText && /* @__PURE__ */jsxs(Text, {
|
|
44
|
+
children: [context.label, " ", children]
|
|
45
|
+
})
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
function useNextFrame(callback = () => {}) {
|
|
50
|
+
const fn = useEvent(callback);
|
|
51
|
+
useIsomorphicLayoutEffect(() => {
|
|
52
|
+
let raf1 = 0,
|
|
53
|
+
raf2 = 0;
|
|
54
|
+
return raf1 = requestAnimationFrame(() => {
|
|
55
|
+
raf2 = requestAnimationFrame(fn);
|
|
56
|
+
}), () => {
|
|
57
|
+
cancelAnimationFrame(raf1), cancelAnimationFrame(raf2);
|
|
58
|
+
};
|
|
59
|
+
}, [fn]);
|
|
60
|
+
}
|
|
61
|
+
export { ToastAnnounce, ToastAnnounceExclude };
|
|
62
|
+
//# sourceMappingURL=ToastAnnounce.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useIsomorphicLayoutEffect","View","Text","styled","useEvent","Portal","startTransition","VisuallyHidden","React","useToastProviderContext","jsx","jsxs","ToastAnnounceExcludeFrame","name","ToastAnnounceExclude","forwardRef","props","forwardedRef","altText","announceExcludeProps","ref","ToastAnnounce","scope","children","announceProps","context","renderAnnounceText","setRenderAnnounceText","useState","isAnnounced","setIsAnnounced","useNextFrame","useEffect","timer","setTimeout","clearTimeout","label","callback","fn","raf1","raf2","requestAnimationFrame","cancelAnimationFrame"],"sources":["../../src/ToastAnnounce.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,yBAAA,QAAiC;AAE1C,SAASC,IAAA,EAAMC,IAAA,EAAMC,MAAA,EAAQC,QAAA,QAAgB;AAC7C,SAASC,MAAA,QAAc;AACvB,SAASC,eAAA,QAAuB;AAChC,SAASC,cAAA,QAAsB;AAC/B,YAAYC,KAAA,MAAW;AAGvB,SAASC,uBAAA,QAA+B;AAoBlC,SAAAC,GAAA,EA0CIC,IAAA,QA1CJ;AAlBN,MAAMC,yBAAA,GAA4BT,MAAA,CAAOF,IAAA,EAAM;IAC7CY,IAAA,EAAM;EACR,CAAC;EAWKC,oBAAA,GAAuBN,KAAA,CAAMO,UAAA,CACjC,CAACC,KAAA,EAAOC,YAAA,KAAiB;IACvB,MAAM;MAAEC,OAAA;MAAS,GAAGC;IAAqB,IAAIH,KAAA;IAE7C,OACE,eAAAN,GAAA,CAACE,yBAAA;MACC,+BAA4B;MAC5B,2BAAyBM,OAAA,IAAW;MACnC,GAAGC,oBAAA;MACJC,GAAA,EAAKH;IAAA,CACP;EAEJ,CACF;EASMI,aAAA,GACJL,KAAA,IACG;IACH,MAAM;QAAEM,KAAA;QAAOC,QAAA;QAAU,GAAGC;MAAc,IAAIR,KAAA;MACxCS,OAAA,GAAUhB,uBAAA,CAAwBa,KAAK;MACvC,CAACI,kBAAA,EAAoBC,qBAAqB,IAAInB,KAAA,CAAMoB,QAAA,CAAS,EAAK;MAClE,CAACC,WAAA,EAAaC,cAAc,IAAItB,KAAA,CAAMoB,QAAA,CAAS,EAAK;IAG1D,OAAAG,YAAA,CAAa,MAAM;MACjBzB,eAAA,CAAgB,MAAM;QACpBqB,qBAAA,CAAsB,EAAI;MAC5B,CAAC;IACH,CAAC,GAGDnB,KAAA,CAAMwB,SAAA,CAAU,MAAM;MACpB,MAAMC,KAAA,GAAQC,UAAA,CAAW,MAAMJ,cAAA,CAAe,EAAI,GAAG,GAAI;MACzD,OAAO,MAAMK,YAAA,CAAaF,KAAK;IACjC,GAAG,EAAE,GAEEJ,WAAA,GAAc,OACnB,eAAAnB,GAAA,CAACL,MAAA;MACCkB,QAAA,iBAAAb,GAAA,CAACH,cAAA;QAAgB,GAAGiB,aAAA;QACjBD,QAAA,EAAAG,kBAAA,IACC,eAAAf,IAAA,CAACT,IAAA;UACEqB,QAAA,GAAAE,OAAA,CAAQW,KAAA,EAAM,KAAEb,QAAA;QAAA,CACnB;MAAA,CAEJ;IAAA,CACF;EAEJ;AAIA,SAASQ,aAAaM,QAAA,GAAWA,CAAA,KAAM,CAAC,GAAG;EACzC,MAAMC,EAAA,GAAKlC,QAAA,CAASiC,QAAQ;EAC5BrC,yBAAA,CAA0B,MAAM;IAC9B,IAAIuC,IAAA,GAAO;MACPC,IAAA,GAAO;IACX,OAAAD,IAAA,GAAOE,qBAAA,CAAsB,MAAM;MACjCD,IAAA,GAAOC,qBAAA,CAAsBH,EAAE;IACjC,CAAC,GACM,MAAM;MACXI,oBAAA,CAAqBH,IAAI,GACzBG,oBAAA,CAAqBF,IAAI;IAC3B;EACF,GAAG,CAACF,EAAE,CAAC;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useIsomorphicLayoutEffect } from "@hanzo/gui-constants";
|
|
3
|
+
import { View, Text, styled, useEvent } from "@hanzo/gui-core";
|
|
4
|
+
import { Portal } from "@hanzo/gui-portal";
|
|
5
|
+
import { startTransition } from "@hanzo/gui-start-transition";
|
|
6
|
+
import { VisuallyHidden } from "@hanzo/gui-visually-hidden";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { useToastProviderContext } from "./ToastProvider.native.js";
|
|
9
|
+
var ToastAnnounceExcludeFrame = styled(View, {
|
|
10
|
+
name: "ToastAnnounceExclude"
|
|
11
|
+
}),
|
|
12
|
+
ToastAnnounceExclude = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
13
|
+
var {
|
|
14
|
+
altText,
|
|
15
|
+
...announceExcludeProps
|
|
16
|
+
} = props;
|
|
17
|
+
return /* @__PURE__ */_jsx(ToastAnnounceExcludeFrame, {
|
|
18
|
+
"data-toast-announce-exclude": "",
|
|
19
|
+
"data-toast-announce-alt": altText || void 0,
|
|
20
|
+
...announceExcludeProps,
|
|
21
|
+
ref: forwardedRef
|
|
22
|
+
});
|
|
23
|
+
}),
|
|
24
|
+
ToastAnnounce = function (props) {
|
|
25
|
+
var {
|
|
26
|
+
scope,
|
|
27
|
+
children,
|
|
28
|
+
...announceProps
|
|
29
|
+
} = props,
|
|
30
|
+
context = useToastProviderContext(scope),
|
|
31
|
+
[renderAnnounceText, setRenderAnnounceText] = React.useState(!1),
|
|
32
|
+
[isAnnounced, setIsAnnounced] = React.useState(!1);
|
|
33
|
+
return useNextFrame(function () {
|
|
34
|
+
startTransition(function () {
|
|
35
|
+
setRenderAnnounceText(!0);
|
|
36
|
+
});
|
|
37
|
+
}), React.useEffect(function () {
|
|
38
|
+
var timer = setTimeout(function () {
|
|
39
|
+
return setIsAnnounced(!0);
|
|
40
|
+
}, 1e3);
|
|
41
|
+
return function () {
|
|
42
|
+
return clearTimeout(timer);
|
|
43
|
+
};
|
|
44
|
+
}, []), isAnnounced ? null : /* @__PURE__ */_jsx(Portal, {
|
|
45
|
+
children: /* @__PURE__ */_jsx(VisuallyHidden, {
|
|
46
|
+
...announceProps,
|
|
47
|
+
children: renderAnnounceText && /* @__PURE__ */_jsxs(Text, {
|
|
48
|
+
children: [context.label, " ", children]
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
function useNextFrame() {
|
|
54
|
+
var callback = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function () {},
|
|
55
|
+
fn = useEvent(callback);
|
|
56
|
+
useIsomorphicLayoutEffect(function () {
|
|
57
|
+
var raf1 = 0,
|
|
58
|
+
raf2 = 0;
|
|
59
|
+
return raf1 = requestAnimationFrame(function () {
|
|
60
|
+
raf2 = requestAnimationFrame(fn);
|
|
61
|
+
}), function () {
|
|
62
|
+
cancelAnimationFrame(raf1), cancelAnimationFrame(raf2);
|
|
63
|
+
};
|
|
64
|
+
}, [fn]);
|
|
65
|
+
}
|
|
66
|
+
export { ToastAnnounce, ToastAnnounceExclude };
|
|
67
|
+
//# sourceMappingURL=ToastAnnounce.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useIsomorphicLayoutEffect","View","Text","styled","useEvent","Portal","startTransition","VisuallyHidden","React","useToastProviderContext","ToastAnnounceExcludeFrame","name","ToastAnnounceExclude","forwardRef","props","forwardedRef","altText","announceExcludeProps","ref","ToastAnnounce","scope","children","announceProps","context","renderAnnounceText","setRenderAnnounceText","useState","isAnnounced","setIsAnnounced","useNextFrame","useEffect","timer","setTimeout","clearTimeout","label","callback","arguments","length","fn","raf1","raf2","requestAnimationFrame"],"sources":["../../src/ToastAnnounce.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,QAAiC;AAE1C,SAASC,yBAAoB,8BAAgB;AAC7C,SAASC,IAAA,EAAAC,IAAA,EAAAC,MAAc,EAAAC,QAAA;AACvB,SAASC,MAAA,2BAAuB;AAChC,SAASC,eAAA,QAAsB;AAC/B,SAAAC,cAAuB;AAGvB,YAASC,KAAA;AAoBH,SAAAC,uBAAA;AAlBN,IAAAC,yBAAM,GAAAP,MAA4B,CAAAF,IAAO;IACvCU,IAAA,EAAM;EACR,CAAC;EAWKC,oBAAA,GAAuB,eAAMJ,KAAA,CAAAK,UAAA,WAAAC,KAAA,EAAAC,YAAA;IACjC,IAAC;MAAAC,OAAO;MAAA,GAAAC;IAAiB,IAAAH,KAAA;IACvB,sBAAoBjB,IAAA,CAAAa,yBAAyB;MAE7C,6BACE;MAAA,yBAAC,EAAAM,OAAA;MAAA,GAAAC,oBAAA;MAAAC,GAAA,EACCH;IAA4B;EACQ;EAAAI,aAChC,YAAAA,CAAAL,KAAA;IAAA;QACJM,KAAK;QAAAC,QAAA;QAAA,GAAAC;MAAA,IAAAR,KAAA;MAAAS,OAAA,GAAAd,uBAAA,CAAAW,KAAA;MAAA,CAAAI,kBAAA,EAAAC,qBAAA,IAAAjB,KAAA,CAAAkB,QAAA;MAAA,CAAAC,WAAA,EAAAC,cAAA,IAAApB,KAAA,CAAAkB,QAAA;IAAA,OAAAG,YAAA;MACPvB,eAAA;QAEJmB,qBAAA;MAUI;IAGJ,IAAAjB,KAAQ,CAAAsB,SAAO,aAAa;MAM5B,IAAAC,KAAA,GAAAC,UAAa,aAAM;QACjB,OAAAJ,cAAsB;MACpB;MACF,OAAC;QAIH,OAAMK,YAAU,CAAAF,KAAM;MACpB;IACA,QAAAJ,WAAa,UAAa,eAAK9B,IAAA,CAAAQ,MAAA;MACjCgB,QAEO,iBAAcxB,IACnB,CAAAU,cAAA,EAAC;QAIQ,GAAAe,aAAQ;QAAMD,QAAA,EAAAG,kBAAA,mBAAAzB,KAAA,CAAAG,IAAA;UAAEmB,QAAA,GAGvBE,OACF,CAAAW,KAAA,EAEJ,KAISb,QAAA;QACP;MACA;IACE;EAEA;AACE,SAAAQ,YAAOA,CAAA;EAAwB,IAChCM,QACY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,mBACX;IAAAE,EAAA,GAAAlC,QAAA,CAAA+B,QAAqB;EACInC,yBAC3B;IACF,IAAMuC,IAAC;MAAAC,IAAA;IACT,OAAAD,IAAA,GAAAE,qBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { isAndroid, isIos, isWeb } from "@hanzo/gui-core";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { createNativeToast } from "./createNativeToast.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
const ToastContext = React.createContext({}),
|
|
6
|
+
ToastCurrentContext = React.createContext(null),
|
|
7
|
+
useToastController = () => React.useContext(ToastContext),
|
|
8
|
+
useToastState = () => React.useContext(ToastCurrentContext),
|
|
9
|
+
useToast = () => ({
|
|
10
|
+
...useToastController(),
|
|
11
|
+
currentToast: useToastState()
|
|
12
|
+
}),
|
|
13
|
+
ToastImperativeProvider = ({
|
|
14
|
+
children,
|
|
15
|
+
options
|
|
16
|
+
}) => {
|
|
17
|
+
const counterRef = React.useRef(0),
|
|
18
|
+
[toast, setToast] = React.useState(null),
|
|
19
|
+
[lastNativeToastRef, setLastNativeToastRef] = React.useState(null),
|
|
20
|
+
show = React.useCallback((title, showOptions) => {
|
|
21
|
+
const native = showOptions?.native ?? options.native,
|
|
22
|
+
isWebNative = Array.isArray(native) ? native.includes("web") : native === "web",
|
|
23
|
+
isMobileNative = Array.isArray(native) ? native.includes("mobile") : native === "mobile",
|
|
24
|
+
isAndroidNative = isMobileNative || (Array.isArray(native) ? native.includes("android") : native === "android"),
|
|
25
|
+
isIosNative = isMobileNative || (Array.isArray(native) ? native.includes("ios") : native === "ios"),
|
|
26
|
+
isHandledNatively = native === !0 || isWeb && isWebNative || !isWeb && isMobileNative || isAndroid && isAndroidNative || isIos && isIosNative;
|
|
27
|
+
if (isHandledNatively) {
|
|
28
|
+
const nativeToastResult = createNativeToast(title, showOptions ?? {});
|
|
29
|
+
typeof nativeToastResult == "object" && nativeToastResult.nativeToastRef && setLastNativeToastRef(nativeToastResult.nativeToastRef);
|
|
30
|
+
}
|
|
31
|
+
return counterRef.current++, setToast({
|
|
32
|
+
...showOptions?.customData,
|
|
33
|
+
...showOptions,
|
|
34
|
+
viewportName: showOptions?.viewportName ?? "default",
|
|
35
|
+
title,
|
|
36
|
+
id: counterRef.current.toString(),
|
|
37
|
+
isHandledNatively
|
|
38
|
+
}), !0;
|
|
39
|
+
}, [setToast, JSON.stringify(options.native || null)]),
|
|
40
|
+
hide = React.useCallback(() => {
|
|
41
|
+
lastNativeToastRef?.close(), setToast(prev => prev ? {
|
|
42
|
+
...prev,
|
|
43
|
+
hide: !0
|
|
44
|
+
} : null), setTimeout(() => {
|
|
45
|
+
setToast(null);
|
|
46
|
+
}, 100);
|
|
47
|
+
}, [setToast, lastNativeToastRef]),
|
|
48
|
+
contextValue = React.useMemo(() => ({
|
|
49
|
+
show,
|
|
50
|
+
hide,
|
|
51
|
+
nativeToast: lastNativeToastRef,
|
|
52
|
+
options
|
|
53
|
+
}), [show, hide, lastNativeToastRef, JSON.stringify(options || null)]);
|
|
54
|
+
return /* @__PURE__ */jsx(ToastContext.Provider, {
|
|
55
|
+
value: contextValue,
|
|
56
|
+
children: /* @__PURE__ */jsx(ToastCurrentContext.Provider, {
|
|
57
|
+
value: toast,
|
|
58
|
+
children
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
export { ToastImperativeProvider, useToast, useToastController, useToastState };
|
|
63
|
+
//# sourceMappingURL=ToastImperative.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isAndroid","isIos","isWeb","React","createNativeToast","jsx","ToastContext","createContext","ToastCurrentContext","useToastController","useContext","useToastState","useToast","currentToast","ToastImperativeProvider","children","options","counterRef","useRef","toast","setToast","useState","lastNativeToastRef","setLastNativeToastRef","show","useCallback","title","showOptions","native","isWebNative","Array","isArray","includes","isMobileNative","isAndroidNative","isIosNative","isHandledNatively","nativeToastResult","nativeToastRef","current","customData","viewportName","id","toString","JSON","stringify","hide","close","prev","setTimeout","contextValue","useMemo","nativeToast","Provider","value"],"sources":["../../src/ToastImperative.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { isAndroid, isIos, isWeb } from "@hanzo/gui-core";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { createNativeToast } from "./createNativeToast.native.js";
|
|
5
|
+
function _type_of(obj) {
|
|
6
|
+
"@swc/helpers - typeof";
|
|
7
|
+
|
|
8
|
+
return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
9
|
+
}
|
|
10
|
+
var ToastContext = /* @__PURE__ */React.createContext({}),
|
|
11
|
+
ToastCurrentContext = /* @__PURE__ */React.createContext(null),
|
|
12
|
+
useToastController = function () {
|
|
13
|
+
return React.useContext(ToastContext);
|
|
14
|
+
},
|
|
15
|
+
useToastState = function () {
|
|
16
|
+
return React.useContext(ToastCurrentContext);
|
|
17
|
+
},
|
|
18
|
+
useToast = function () {
|
|
19
|
+
return {
|
|
20
|
+
...useToastController(),
|
|
21
|
+
currentToast: useToastState()
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
ToastImperativeProvider = function (param) {
|
|
25
|
+
var {
|
|
26
|
+
children,
|
|
27
|
+
options
|
|
28
|
+
} = param,
|
|
29
|
+
counterRef = React.useRef(0),
|
|
30
|
+
[toast, setToast] = React.useState(null),
|
|
31
|
+
[lastNativeToastRef, setLastNativeToastRef] = React.useState(null),
|
|
32
|
+
show = React.useCallback(function (title, showOptions) {
|
|
33
|
+
var _showOptions_native,
|
|
34
|
+
native = (_showOptions_native = showOptions?.native) !== null && _showOptions_native !== void 0 ? _showOptions_native : options.native,
|
|
35
|
+
isWebNative = Array.isArray(native) ? native.includes("web") : native === "web",
|
|
36
|
+
isMobileNative = Array.isArray(native) ? native.includes("mobile") : native === "mobile",
|
|
37
|
+
isAndroidNative = isMobileNative || (Array.isArray(native) ? native.includes("android") : native === "android"),
|
|
38
|
+
isIosNative = isMobileNative || (Array.isArray(native) ? native.includes("ios") : native === "ios"),
|
|
39
|
+
isHandledNatively = native === !0 || isWeb && isWebNative || !isWeb && isMobileNative || isAndroid && isAndroidNative || isIos && isIosNative;
|
|
40
|
+
if (isHandledNatively) {
|
|
41
|
+
var nativeToastResult = createNativeToast(title, showOptions ?? {});
|
|
42
|
+
(typeof nativeToastResult > "u" ? "undefined" : _type_of(nativeToastResult)) === "object" && nativeToastResult.nativeToastRef && setLastNativeToastRef(nativeToastResult.nativeToastRef);
|
|
43
|
+
}
|
|
44
|
+
counterRef.current++;
|
|
45
|
+
var _showOptions_viewportName;
|
|
46
|
+
return setToast({
|
|
47
|
+
...showOptions?.customData,
|
|
48
|
+
...showOptions,
|
|
49
|
+
viewportName: (_showOptions_viewportName = showOptions?.viewportName) !== null && _showOptions_viewportName !== void 0 ? _showOptions_viewportName : "default",
|
|
50
|
+
title,
|
|
51
|
+
id: counterRef.current.toString(),
|
|
52
|
+
isHandledNatively
|
|
53
|
+
}), !0;
|
|
54
|
+
}, [setToast, JSON.stringify(options.native || null)]),
|
|
55
|
+
hide = React.useCallback(function () {
|
|
56
|
+
lastNativeToastRef?.close(), setToast(function (prev) {
|
|
57
|
+
return prev ? {
|
|
58
|
+
...prev,
|
|
59
|
+
hide: !0
|
|
60
|
+
} : null;
|
|
61
|
+
}), setTimeout(function () {
|
|
62
|
+
setToast(null);
|
|
63
|
+
}, 100);
|
|
64
|
+
}, [setToast, lastNativeToastRef]),
|
|
65
|
+
contextValue = React.useMemo(function () {
|
|
66
|
+
return {
|
|
67
|
+
show,
|
|
68
|
+
hide,
|
|
69
|
+
nativeToast: lastNativeToastRef,
|
|
70
|
+
options
|
|
71
|
+
};
|
|
72
|
+
}, [show, hide, lastNativeToastRef, JSON.stringify(options || null)]);
|
|
73
|
+
return /* @__PURE__ */_jsx(ToastContext.Provider, {
|
|
74
|
+
value: contextValue,
|
|
75
|
+
children: /* @__PURE__ */_jsx(ToastCurrentContext.Provider, {
|
|
76
|
+
value: toast,
|
|
77
|
+
children
|
|
78
|
+
})
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
export { ToastImperativeProvider, useToast, useToastController, useToastState };
|
|
82
|
+
//# sourceMappingURL=ToastImperative.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","isAndroid","isIos","isWeb","React","createNativeToast","_type_of","obj","Symbol","constructor","ToastContext","createContext","ToastCurrentContext","useToastController","useContext","useToastState","useToast","currentToast","ToastImperativeProvider","param","children","options","counterRef","useRef","toast","setToast","useState","lastNativeToastRef","setLastNativeToastRef","show","useCallback","title","showOptions","_showOptions_native","native","isWebNative","Array","isArray","includes","isMobileNative","isAndroidNative","isIosNative","isHandledNatively","nativeToastResult","nativeToastRef","current","_showOptions_viewportName","customData","viewportName","id","toString","JSON","stringify","hide","close","prev"],"sources":["../../src/ToastImperative.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAW,QAAO,mBAAa;AACxC,SAAOC,SAAW,EAAAC,KAAA,EAAAC,KAAA;AAClB,OAAAC,KAAS;AAqLH,SAAAC,iBAAA;AA3GN,SAAMC,SAAAC,GAAe;EAcjB,uBAAsB;;EACtB,OAAAA,GAAA,IAAc,OAAAC,MAAA,GAAc,OAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAC9B;AAWsC,IACtCG,YAAA,kBAAAN,KAAA,CAAAO,aAAA;EAAAC,mBAAA,kBAAAR,KAAA,CAAAO,aAAA;EAAAE,kBAAA,YAAAA,CAAA;IACA,OAAAT,KAAA,CAAAU,UAAA,CAAAJ,YAAA;EACF;EAAAK,aAAoC,YAAAA,CAAA;IAClC,OAAMX,KAAA,CAAAU,UAAa,CAAAF,mBAEZ,CAAO;EAKK;EAAAI,QAChB,GAAO,SAAAA,CAAA;IACN;MAqBA,GAAAH,kBAAI;MACFI,YAAM,EAAAF,aAAA;IACN;EACwD;EAAAG,uBAE1D,YAAAA,CAAAC,KAAA;IACA;QAAAC,QAAA;QAAAC;MAAW,IAAAF,KACX;MAAAG,UAAS,GAAAlB,KAAA,CAAAmB,MAAA;MAAA,CAAAC,KAAA,EAAAC,QAAA,IAAArB,KAAA,CAAAsB,QAAA;MAAA,CAAAC,kBAAA,EAAAC,qBAAA,IAAAxB,KAAA,CAAAsB,QAAA;MAAAG,IAAA,GAAAzB,KAAA,CAAA0B,WAAA,WAAAC,KAAA,EAAAC,WAAA;QAAA,IACPC,mBAAgB;UAAAC,MAAA,IAAAD,mBAAA,GAAAD,WAAA,EAAAE,MAAA,cAAAD,mBAAA,cAAAA,mBAAA,GAAAZ,OAAA,CAAAa,MAAA;UAAAC,WAAA,GAAAC,KAAA,CAAAC,OAAA,CAAAH,MAAA,IAAAA,MAAA,CAAAI,QAAA,UAAAJ,MAAA;UAAAK,cAAA,GAAAH,KAAA,CAAAC,OAAA,CAAAH,MAAA,IAAAA,MAAA,CAAAI,QAAA,aAAAJ,MAAA;UAAAM,eAAA,GAAAD,cAAA,KAAAH,KAAA,CAAAC,OAAA,CAAAH,MAAA,IAAAA,MAAA,CAAAI,QAAA,cAAAJ,MAAA;UAAAO,WAAA,GAAAF,cAAA,KAAAH,KAAA,CAAAC,OAAA,CAAAH,MAAA,IAAAA,MAAA,CAAAI,QAAA,UAAAJ,MAAA;UAAAQ,iBAAA,GAAAR,MAAA,WAAA/B,KAAA,IAAAgC,WAAA,KAAAhC,KAAA,IAAAoC,cAAA,IAAAtC,SAAA,IAAAuC,eAAA,IAAAtC,KAAA,IAAAuC,WAAA;QAAA,IAChBC,iBAAG;UAAA,IACHC,iBAAc,GAAAtC,iBAAa,CAAA0B,KAAgB,EAAAC,WAAA;UAAA,QAC3CW,iBAAA,uBAAArC,QAAA,CAAAqC,iBAAA,mBAAAA,iBAAA,CAAAC,cAAA,IAAAhB,qBAAA,CAAAe,iBAAA,CAAAC,cAAA;QAAA;QACgCtB,UAChC,CAAAuB,OAAA;QAAA,IACDC,yBACM;QACT,OAAArB,QAAA;UACC,GAAAO,WAAe,EAAAe,UAAU;UAGtB,GAAAf,WAAa;UACjBgB,YAAA,GAAAF,yBACU,GAAAd,WAED,EAAAgB,YAAA,cAAAF,yBAAA,cAAAA,yBAAA;UACLf,KAAG;UACHkB,EAAA,EAAA3B,UAAM,CAAAuB,OAAA,CAAAK,QAAA;UACRR;QAIA;MAAa,GACf,CACFjB,QAAI,EAIA0B,IAAA,CAAAC,SAAA,CAAA/B,OAAA,CAAAa,MAAA,WACA;MAAAmB,IAAA,GAAAjD,KAAA,CAAA0B,WAAA;QACAH,kBAAa,EAAA2B,KAAA,IAAA7B,QAAA,WAAA8B,IAAA;UACb,OAAAA,IAAA;YAEA,GAAAA,IAAM;YAEVF,IACE;UAMJ","ignoreList":[]}
|